キャッシング技術に 関する考察

セキュリティを
ビジネスの力に
キャッシング技術に
関する考察
ブルーコートシステムズ合同会社
ホワイトペーパー
キャッシング技術に
関する考察
この10年間で、ビジネスプロセスを実現するためのアプリケーションの利用は著しく進化しました。かつてはあればよいという
程度だったものが、今ではビジネスや教育といった世界中の活動の中心に当然存在する必需品となっています。アプリケー
ションの利用の増加に伴い、レスポンスタイムの重要性はますます高まりつつあります。その理由は明白です。データ待ちの
ために時間を無駄にすることはすなわち、お金を無駄にし生産性を低下させていることに他ならないのです。今日のレスポン
スタイムに影響を与える要因としては、混雑したWANリンク、非効率的でトラフィック量の多いプロトコル、ユーザーとデータの
間の距離が長いことに起因する遅延などがあります。アプリケーションとデータリソースの統合、集中化、またはアウトソーシ
ングによって、このような要因のすべてが増幅します。多くの場合において、遅延はユーザーの苛立ちを招きます。
概要
キャッシング: 実証されたその概念
データ取得に関連するパフォーマンスの問題に対処するために、WAN上のアプリケ
ーショントラフィックの伝送を最適化することが、戦略的なソリューションとして世界
中の企業によって選択されています。WANを流れるデータ量を最適化するという、
多くのWAN最適化ソリューションの中核にある戦略は素晴らしい解決策ですが、解
決策はそれしかないというわけではありません。データ取得時のレスポンスタイムに
影響を与える最大の要因の1つは、データとユーザーの間の距離です。WANトラフ
ィックの最適化によって確かに状況は改善されますが、WANを介してデータを取得
する必要をまったくなくすことができるならば、それが最も理想的な解決策であるこ
とは明らかです。さまざまな形態のキャッシングによって、これを実現することができ
ます。レスポンスタイムの短縮は非常に重要であるため、プロトコル最適化、帯域幅
管理、圧縮といった最もよく使用されるWAN最適化技術だけでなく、オブジェクトキ
ャッシングとバイトキャッシングという2種類のキャッシングを取り入れた、包括的な
WAN最適化ソリューションが必要です。WAN最適化ソリューションにおいてより多く
採用されているのはバイトキャッシングの方で、オブジェクトキャッシングはほとんど
のソリューションにおいて現在、主要コンポーネントとして組み込まれていません。
キャッシングを導入すれば、WANを介したデータ伝送を低減し、データを直ちに提供
できるため、キャッシング技術はレスポンスタイムの短縮と使用帯域幅の削減に直
接つながります。
キャッシングという語を初めて目にする読者もいるかもしれませんが、実際にはかな
り以前からコンピュータやネットワーク業界のさまざまな分野で採用されている技術
です。キャッシングには多様な実装方法がありますが、キャッシング技術の概念は
きわめてシンプルです。キャッシングとは、頻繁に使用されるデータを容易にアクセ
スできる場所に保存し、データを元の場所から取得する必要をなくすことによって、
時間とリソースを節約する技術です。コンピュータとネットワーク業界において、時間
とリソースは常に非常に重要であるため、キャッシュはあらゆる部分に存在し、すべ
ての高性能システムにおいて使用されています。実際、すべてのネットワークデバ
イス(ルーター、スイッチ、PC)のCPUにおいて、メモリアクセスを高速化するために
キャッシングが利用されています。何億台ものPCのプロセッサにおいてキャッシュ
技術が利用されていることは、キャッシングがハードウェアレベルにおいても重要で
あることをはっきりと表しています。ほとんどすべてのPCに採用されている非常に一
般的なもう1つのキャッシュとして、Webブラウザキャッシュがあります。例えば、最も
広く使用されているブラウザであるInternet ExplorerとFirefoxには、要求されたオブ
ジェクトを保存するためのWebキャッシュがあり、同じオブジェクトをWebサーバーか
ら何度も取得せずに済むようになっています。このプロセスがオブジェクトキャッシン
グと呼ばれるものです。
このホワイトペーパーでは、キャッシングの役割と、オブジェクトキャッシングとバイト
キャッシングの詳細な動作方法について説明し、これら2つのキャッシング技術を組
み合わせることによって他のソリューションとは一線を画す真のパフォーマンス向上
が実現されることを示します。
キャッシングの種類
実装方法にかかわらず、すべてのキャッシングの目的は同じです。つまり、既に取
得済みのデータの再取得を回避することで、レスポンスタイムを短縮し、使用帯域
幅を削減することです。ここで詳説するキャッシング技術は、データをローカルにキ
ャッシングし、そのデータが要求された場合に直ちにそれを提供することによって、
その目的を達成するよう設計されています。この機能によって、以下に述べるように
パフォーマンスを大幅に改善できます。
1
ホワイトペーパー
セキュリティを
ビジネスの力に
オブジェクトキャッシング
オブジェクトキャッシングは何年も前から存在し、従来はHTTPコンテンツへのアク
セスの高速化に利用されてきました。HTTPコンテンツのオブジェクトキャッシング
に加えて、一部のベンダーは、HTTPSコンテンツ、ストリーミングメディアオブジェク
ト、FTP、CIFSファイルをサポートするようにオブジェクトキャッシングを拡張していま
す。オブジェクトキャッシングは、特定のプロトコル(HTTP、HTTPS、FTP、CIFS、また
はRTSP/RTPなど)に対するプロキシを用いて実装されるため、「プロキシキャッシン
グ」と呼ばれることもあります。
オブジェクトキャッシングの動作方法
オブジェクトキャッシングのメカニズムは非常に単純で、設定は必要ありません。クラ
イアントがサーバーにオブジェクト(ファイル、ドキュメント、イメージなど)要求を送信
すると、その要求がクライアントと要求先サーバーの間のプロキシによって傍受され
ます。要求を受信したプロキシは、要求されたオブジェクトのコピーがキャッシュに存
在するかどうかを確認します。存在すれば、キャッシュされたオブジェクトをクライアン
トに送信することによって、プロキシが要求に応答します。存在しない場合は、その
要求をサーバーに送信します。サーバーにオブジェクトを要求する場合、プロキシは
そのオブジェクトデータをキャッシュします。これによって、その後同じオブジェクトが
要求された場合は、再びサーバーから取得することなく要求に対応できます。キャッ
シュされたオブジェクトを返すことにより、そのコンテンツに関してサーバー側の帯域
幅は使用されず、エンドユーザーに対するレスポンスタイムは大幅に短縮されます。
キャッシングの利点は明白で、プロキシのメカニズムは単純ですが、ここにはいくつ
かの課題があります。最大の課題は、コンテンツの最新性の維持と、ストレージの実
装方法です。
コンテンツの最新性
キャッシング技術に
関する考察
ブルーコートシステムズ合同会社
データの一貫性を維持するために、キャッシュされたオブジェクトを最新の状態に保
つ必要があります。サーバー上のコンテンツは変化するため、オブジェクトキャッシュ
では、一時的に保存されているコンテンツを最新の状態に維持しなければなりませ
ん。コンテンツの正当性を維持するための方法としては、何らかの方法で定期的に
最新性を確認するか、キャッシュオブジェクトを返す前に必ずサーバーにコンテンツ
の正当性を確認するかという2つの方法があります。従来は、HTTPプロキシがエンド
ユーザーにコンテンツを送信する際に、確実に最新データを提供するためには、「更
新チェック」を要求先サーバーに送信する必要がありました。しかし、コンテンツを迅
速に提供するには、ユーザーがコンテンツを要求する前にこの更新チェックを実行す
る必要があります。Webページの構造(多数の埋め込みオブジェクトが距離的に分散
した多数のサーバーにリンクされていることが多い)により、ユーザーがコンテンツを
要求した場合のみ更新チェックを行うとすれば、データ取得に時間がかかっていたそ
もそもの原因と同じラウンドトリップ遅延がユーザーに生じてしまいます。各Webオブ
ジェクトに対して、正当性確認が行われるためです。これでは、アプリケーションのレ
スポンスタイムを大幅に改善することはできません。インテリジェントなオブジェクトキ
ャッシング技術は、不要な更新チェックによってネットワークに悪影響を及ぼすことな
く、古いデータを回避できる必要があります。あるベンダーは、更新チェックによって
パフォーマンスに悪影響を及ぼすことなくコンテンツの最新性を保証するインテリジェ
ントな適応型更新アルゴリズムを採用して、オブジェクトキャッシングを実装していま
す。CIFSファイルサービスに対するオブジェクトキャッシングでは、キャッシュされた
CIFSオブジェクトを返す前にサーバーに正当性を確認することが必ず行われます。
ファイルが変更されていないことと、ユーザー権限を確認するためにこれが必要にな
ります。しかし、CIFSプロトコルは全体的に効率が低いため、そのオーバーヘッドは
無視できます。データの最新性とユーザー権限を確認するための1回のラウンドトリ
ップは、ファイル全体を送信するよりもはるかに効率的となります。
ストレージ
オブジェクトキャッシングに付随することの多いもう1つの課題はストレージです。膨
大な数のアプリケーションオブジェクトを汎用のファイルシステムに保存していたの
では効率が低く、ディスク読み出しによって遅延が増大する可能性があるためです。
そのため、オブジェクトのディスク上での保存方法が、パフォーマンスとスケーラビリ
ティの両方を向上させるために重要となります。これによって、(1)クライアントによる
要求時にどれだけ迅速にキャッシュオブジェクトにアクセスできるか、(2)どれだけ迅
速に新しいオブジェクトを取得してディスクに保存できるか、(3)ディスクドライブあた
りどれだけの速度でクライアント要求に対応できるかが決まります。オブジェクトキャ
ッシングの実装には一般的にファイルシステムが使用されますが、ファイルシステム
は空き容量がなくなると性能が低下する恐れがあります。より高速なオブジェクトキ
ャッシングの実装には、真のオブジェクトキャッシュであるオブジェクトストレージシス
テムが使用されます。ディレクトリや一般的に使用されるファイルシステムの代わり
に、RAM内のハッシュテーブルを介してオブジェクトアクセスを行うことにより、任意
のオブジェクトが単一のディスク読み出しで必ず取得できます。空き容量がなくなると
パフォーマンスが低下するファイルシステムとは異なり、オブジェクトキャッシュは空
き容量がない場合でも最大のパフォーマンスが得られます。理想的なオブジェクトキ
ャッシュでは、新しいオブジェクトを格納するスペースを空けるために、あまり使用さ
れなくなった古いオブジェクトが継続的に削除されます。ディスク上の配置と置換の
ためのアルゴリズムではこのプロセスを実現し、新しいオブジェクトをディスクに書き
込む速度を最適化する必要があります。
2
ホワイトペーパー
セキュリティを
ビジネスの力に
オブジェクトキャッシングが最も有効となるケース
オブジェクトキャッシングは、以下の種類のコンテンツに対して非常に効果的な技術
です。
•• イメージ、ロゴ、一部のドキュメントなど、あまり頻繁に変更されないコンテンツ
•• ユーザーによるアクセスの前にアプライアンスにプリロード可能なコンテンツ(eラ
ーニング、マルチメディアアプリケーション)
•• 頻繁に変更されることがなく、複数のユーザーによってアクセスする必要のある
ファイル
バイトキャッシング
オブジェクトキャッシングは、レスポンスタイムと使用帯域幅の観点において最も効
果的なキャッシング方法ですが、この方法にはかなり大きな制約が3つ存在します。
最も明白な制約は、本稿で既に説明したように特定のプロトコルに限定されることで
す。次に、オブジェクトの1バイトのみが変更した場合でも、オブジェクトが変更したこ
とになるため、オブジェクト全体を再度取得する必要が生じます。また、オブジェクト
キャッシングはクライアントが要求したファイルのみに適用され、クライアントがファ
イルをサーバーに保存または投稿する場合には適用されません。このような欠点を
解消するためのキャッシングの自然な拡張として、オブジェクトの反復的な部分をキ
ャッシュすることが行われるようになりました。これがバイトキャッシングです。バイト
キャッシングは、プロトコル、ポート、IPアドレスに依存しない双方向のキャッシング
技術で、TCPレイヤーにおいてデータの共通シーケンスを検出することによって機
能します。バイトキャッシングは、メッシュ型や階層型といった任意のネットワーク設
計に対して動作し、企業ネットワークの設計に何の制約も課しません。
バイトキャッシングの動作方法
キャッシング技術に
関する考察
ブルーコートシステムズ合同会社
バイトキャッシングは、2つのエンドポイント間に対称的に実装する必要があります。
そのため、バイトキャッシングは、支社と中央拠点またはデータセンターの両方に1
つ以上のアプライアンスが実装されるWAN最適化ネットワークに対する、一般的な
改善手段となっています。WANで接続された両拠点のアプライアンスは互いに通信
するため、両者はWANを介して送受信されるすべてのTCPトラフィックのキャッシュ
を維持します。データを送信する必要が生じると必ず、キャッシュ内に重複セグメン
トが存在するかどうかを確認するためのスキャンが行われます。重複が検出された
場合、重複データはバイトシーケンスから削除され、その位置にトークンが挿入され
ます。他方のアプライアンスがデータを受信すると、バイトシーケンスからトークンが
削除され、元のデータが再挿入されます。バイトキャッシングを適用することにより、
元のコンテンツを失うことなく、WANを流れるデータ量をできる限り小さくすることが
できます。
バイトキャッシングが有効である理由
バイトキャッシングが非常に有効なキャッシング技術であるのは、WANトラフィックの
最大90%が反復的だからです。WANトラフィックが反復的となるのは、ほとんどのエ
ンタープライズトラフィックが以下の要素で構成されているためです。
•• Webアプリケーショントラフィック:支社のユーザーは通常、同一または類似の
Webアプリケーションを使用します。これらのアプリケーションとの個々の相互作
用によるWANトラフィックは、それまでの相互作用によるトラフィックとほとんど変
わらず、同じバイトが再送信されることになります。
•• ファイルサーバートラフィック:ユーザーがあるファイルに対して作業する場合、フ
ァイルトラフィックがWAN上を複数回行き来することになります。一般的なオフィス
アプリケーションは、ファイルのコピーを短い時間間隔で保存するため、同一ドキ
ュメントの少しだけ変更されたバージョンがWANリンクを介して再送信されること
になります。バイトキャッシングは双方向であるため、ファイルの要求時と保存時
の両方に対して適用できます。
•• 電子メールトラフィック:企業電子メールは複数のユーザーに宛てて送信される場
合が多くあります。支社のそれぞれの受信者に対し、電子メールのコピーがWAN
上を流れることになります。また、電子メールに対する返信には反復的なデータ
が含まれるため、WANを介した冗長なトラフィックがさらに生じることになります。
バイトキャッシングを実装するWAN最適化ソリューションでは、冗長なトラフィックを
排除することによって、アプリケーションによってはWAN容量を実質的に最大100倍
にまで増加できます。バイトキャッシングはトランスポートレイヤーで機能し、トラフィ
ックをキャッシュするためにアプリケーションの知識を一切必要としません。そのた
め、すべてのアプリケーションのトラフィックに適用できます。バイトキャッシングはト
ランスポートレイヤーで機能するため、これを実装するためにアプリケーションその
ものやアプリケーション構成を変更する必要はまったくありません。つまり、アプリケ
ーションとユーザーにとって透過的であるべきという要件を満たします。バイトキャッ
シングを本当に柔軟な形で実装するには、データを特定のアプリケーションとユー
ザーに関連付けられるようにして、どのデータをキャッシングし、どのデータをブロッ
クするのかを制御できるようにすることが必要です。これによって管理者は、ネット
ワークの使用とアクセスに関するポリシーを作成し、設定することができます。
3
ホワイトペーパー
セキュリティを
ビジネスの力に
バイトキャッシングはすべてのTCPトラフィックを高速化しますが、オブジェクトキャッ
シュを使用する以下のような特定のアプリケーションプロトコルは、特に高速化が期
待できます。
•• Web:HTTP、HTTPS (SSL)
キャッシングソリューションを選択する際には、いくつかの主要要素によって効果的
で包括的なソリューションが構成されることに留意してください。以下に、このホワイ
トペーパーで取り上げた主要要素を参考までにリストアップします。
•• ストリーミングメディア:プログレッシブダウンロード
•• オブジェクトキャッシングとバイトキャッシングを実行する能力
•• 電子メール:MAPI
•• HTTP、HTTPS、CIFS、FTP、ストリーミングオブジェクトをキャッシュする能力
•• ファイルサービス:CIFS
•• ファイルシステムやディレクトリ構造ではなく真のオブジェクトキャッシュを使用す
ること
互いを補完するオブジェクトキャッシングとバイトキャッシング
オブジェクトキャッシングとバイトキャッシングにはそれぞれ独自の利点があり、両
者は異なる状況に適しています。しかし、両者を組み合わせることによって、さらに
強力なキャッシングソリューションを実現することができます。オブジェクトキャッシン
グとバイトキャッシングを組み合わせれば、エンタープライズアプリケーションに対す
る比類のない著しい高速化を実現するとともにWAN帯域幅の使用を削減し、今日
の企業が直面する広範囲にわたるWANの課題に対するソリューションの根幹を形
成できます。広範囲のアプリケーションに対応することに加え、2つのキャッシング手
法の相乗効果によって、全体的なシステムは、個々の要素の単なる合計以上の効
果を発揮することになります。オブジェクトキャッシングが、帯域幅を使用することな
くLAN速度での迅速なオブジェクト取得を実現する一方で、バイトキャッシングは、
データ取得のためにWAN上で伝送されるデータ量を最小限に抑えます。例えば、す
べての企業ドキュメントに使用される企業ロゴを考えてみましょう。バイトキャッシン
グは、本質的に異なる複数のファイルにこの共通の要素が存在することを認識し、
ドキュメントそのものはそれまでに要求されたことのないものであった場合でも、共
通データがWAN上で伝送されないようにします。
キャッシング技術に
関する考察
ソリューションチェックリスト
オブジェクトキャッシングに関する見落とされがちな利点として、サーバー負荷の軽
減があります。バイトキャッシングのみを実装するソリューションでもWAN使用率は
低下しますが、要求ごとにサーバーからの取得がやはり必要となるため、サーバー
には膨大で不要な過負荷が生じます。オブジェクトキャッシングとバイトキャッシン
グを相乗的に組み合わせたソリューションは、WANとサーバーの両方に対して効果
があります。さらに、バイトキャッシングの機能を利用することで、オブジェクトキャッ
シングサブシステムを、ローカルコンテンツを最新状態に保つ適応型更新アルゴリ
ズムを採用するアグレッシブなものとし、支社におけるレスポンス遅延を改善できま
す。同様に、オブジェクトキャッシュに最新コンテンツが維持されることから、要求に
対するローカルでの対応が可能となり、バイトキャッシングサブシステムによるTCP
ラウンドトリップ回数が減少します。
•• キャッシング機能に対するポリシーに基づく制御
•• 動的にデータを更新する能力
•• キャッシングを実行するための設定が最小限またはまったく不要であること
まとめ
キャッシングは、ユーザーレスポンスタイムを短縮し使用帯域幅を削減する技術とし
て、業界で認められ、広く用いられています。今日、サーバー統合、集中化、アウト
ソーシングに起因するエンタープライズWANトラフィックの急激な増加に対応するた
めに、この要件を満たすことが不可欠となっています。WAN最適化ソリューションは
もはや、オブジェクトキャッシングとバイトキャッシングの両方を組み込まない限り、
完全とはいえません。レスポンスタイムを大幅に短縮し、使用帯域幅を削減し、必
要に応じてサーバー負荷を軽減するためには、これら2つのキャッシング技術が必
須です。ブルーコートシステムズはキャッシングの重要性を認識し、1998年に出荷
した当社初の製品から、プロキシアプライアンスにオブジェクトキャッシングを実装し
てきました。キャッシング技術の進歩に伴い、ブルーコートはそのキャッシング専門
技術をバイトキャッシングにまで拡大し、包括的なWAN最適化ソリューションの構築
に必要となるすべての必須コンポーネントを組み込んだWAN最適化ソリューション
を提供しています。キャッシングを利用するためにアプリケーションの変更がまった
く不要で、実質的に何の設定も必要としないため、ブルーコートのキャッシング技術
は、多様な企業ネットワークアーキテクチャにおいて容易に導入可能なWAN最適化
ソリューションの実現に必要なコンポーネントを提供します。これによって、エンドユ
ーザーのレスポンスタイムと使用帯域幅の両方を大幅に改善します。
ブルーコートシステムズ合同会社
4
ホワイトペーパー
セキュリティを
ビジネスの力に
Blue Coat
Systems Inc.
www.bluecoat.com
ブルーコートシステムズ合同会社
www.bluecoat.co.jp
03-6251-9111
© 2013 Blue Coat Systems, Inc.All rights reserved.ブルーコートシステムズから書面
による同意を得ることなしに、このドキュメントの一部または全部を何らかの方法で複
製することや、電子メディアに変換することを禁じます。このドキュメントに記載した情
報は、発行日の時点で正確であり信頼できると判断したものですが、ブルーコートは
これを確約するものではありません。また、ブルーコートは発行日以降に提示される
いかなる情報の正確性も保証いたしません。このドキュメントは情報提供のみを目的
としています。ブルーコートは、このドキュメントに記載した情報について一切の明示
的、暗黙的、または法的な保証をいたしません。このドキュメントに記載した情報は、
米国向けに提供される製品とサービスに適用されます。ブルーコートは、このドキュメ
ントに記載した製品、サービス、または機能を他の国に提供しない場合があります。
ご利用になれる製品とサービスについては、国内のブルーコート販売代理店にお問
い合わせください。このドキュメントに記載したブルーコートの製品、技術サービス、そ
の他の技術データは、米国の輸出規制と制裁規定、法令と要件の適用対象です。ま
た、それ以外の国の輸出/輸入規制の適用対象となる場合があります。ユーザーは、
これらの法律、法令、要件を厳格に遵守することに同意し、ブルーコートからの提供
物の輸出、再輸出、国内での移譲、または輸入を行うために必要とされる場合はライ
センス、許可、またはその他の承認を得る責務を負うことに同意するものとします。ブ
ルーコートは、このドキュメントに記載した対象物に特許を保有する場合または特許
を出願中の場合があります。このドキュメントの提供によって、これらの特許のライセ
ンスが与えられるものではありません。Blue Coat、ProxySG、PacketShaper、Cache
Flow、IntelligenceCenter、BlueTouchは、Blue Coat Systems, Inc.の米国およびその
他の国の登録商標です。このドキュメントで言及するすべての商標は、それぞれの所
有者のものです。
v.WP-WEBPULSE-A4-EN-v2a-0413
5