JP4294494B2 - 複数のキャッシュサーバによる共有ストレージの使用を管理するデバイスおよび方法 - Google Patents
複数のキャッシュサーバによる共有ストレージの使用を管理するデバイスおよび方法 Download PDFInfo
- Publication number
- JP4294494B2 JP4294494B2 JP2003582676A JP2003582676A JP4294494B2 JP 4294494 B2 JP4294494 B2 JP 4294494B2 JP 2003582676 A JP2003582676 A JP 2003582676A JP 2003582676 A JP2003582676 A JP 2003582676A JP 4294494 B2 JP4294494 B2 JP 4294494B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- cache
- shared
- request
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 42
- 230000004044 response Effects 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 description 24
- 239000004820 Pressure-sensitive adhesive Substances 0.000 description 5
- 239000000835 fiber Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- MRDAXWGGWWDUKL-VKJPNVGWSA-N 3-O-Caffeoylshikimic acid Chemical compound O[C@H]1[C@H](O)CC(C(O)=O)=C[C@H]1OC(=O)\C=C\C1=CC=C(O)C(O)=C1 MRDAXWGGWWDUKL-VKJPNVGWSA-N 0.000 description 1
- 208000011038 Cold agglutinin disease Diseases 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 208000020345 childhood apraxia of speech Diseases 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 208000014155 speech-language disorder-1 Diseases 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Description
リモート中央サーバに依存するウェブのストリーミングメディアクライアントに対して帯域幅を高くし、待ち時間を短くすることは、キャッシュサーバをネットワークのより多くのローカルポイントに設けて、これらのローカルポイントが、リモートサーバから事前に検索されたファイルのコピーを、このローカルクライアントによるその後の繰り返しアクセスに備えて保持することにより達成されうる。
複数のキャッシュサーバは、オブジェクトの共通のキャッシュを共有する階層的な方法で配置されることができ、実際には、それぞれのサーバの第1レベルのキャッシュから入手できなかったファイルに対する集約された要求に応じて、オブジェクトの第2レベルの共有キャッシュを形成する。
「キャッシュ」の基礎を成す理論は、同じファイルは2回以上使用されることがあるので、2回目には、リモート源からファイルを検索するのではなく、ローカルにコピーを保持するほうが(速度および資源利用の双方の観点から)効率的であるということである。
通常、各キャッシュサーバは、小さな1組の最近アクセスされた「ホット」なオブジェクトを、その内部バスに取り付けられた高速で比較的高価なランダムアクセスメモリにキャッシュし、幾分大きな1組のこのようなオブジェクトを、磁気ディスクや光ディスク等の低速で安価なランダムアクセス周辺ストレージデバイスにキャッシュする。
このネットワーク接続されたストレージ媒体は、リモートサーバから入手する場合よりも高帯域幅、かつ、短い待ち時間を提供する光ファイバケーブル等の比較的短距離で高速な伝送媒体を介して、キャッシュサーバ(ならびに他のローカルクライアントおよび/またはサーバによっても)によりアクセス可能である。
それによって、待ち時間(要求と応答との間の遅延)だけでなくネットワーク輻輳が削減される。
異なる点は、焦点が、すでに検索または更新されたファイルのローカルコピーを保持するかどうか(これは、主に、利用可能なローカルストレージ容量をどれだけ最善に使用するかという課題である)にあるのではなく、現時点でローカルに利用可能でなく、かつ、現時点でどの保留要求の対象でもないファイルをリモートサーバから取得するかどうか(これは、主に、リモートサーバへの利用可能な伝送容量をどれだけ最善に使用するかという課題である)にあるという点である。
本発明者らは、新しい専用機器(SPA(special-purpose appliance))を提案する。
このSPAは、複数のキャッシュサーバ機器(CSA)から成るサーバファームと共に動作して、ローカルストレージ媒体を管理する。
このローカルストレージ媒体は、すべてのCSAによってアクセス可能であり、ウェブページおよび当該ウェブページの組み込みオブジェクトならびに/またはストリーミングメディアオブジェクト等のリモートオブジェクトの少なくともいくつかを記憶する。
これらのオブジェクトは、CSAの1つまたは複数のものによってその各クライアントにサーブされたことがあり、かつ/または、サーブされることになる。
SPAは、他のあらゆる役割に加えて、キャッシュされた単一のオブジェクトが複数のCSAによって共有されることを容易にし、特定のオブジェクトが、サーバファーム全体に対してより大きな可能性のある値を有する別のオブジェクトといつ取り替えられるべきかを確定する。
本発明者らの高度に拡張性のあるSPAベースのアーキテクチャは、共有外部ストレージとともにクラスタリングされた複数のキャッシュサーバ機器を提供する。
このアーキテクチャでは、キャッシュ機器の個数は、ユーザのニーズに合わせられることができ、キャッシュ用のストレージ量も、ユーザのニーズに合わせられることができる。
このプリフェッチするリモートオブジェクトは、現時点では、共有キャッシュに記憶されていない一方、CSAの各クライアントの1つまたは複数に代わって、CSAの1つまたは複数により今後要求される可能性があると、SPAが判断する。
このような共有されたプリフェッチ機能を含むように強化されたSPAを、以下では、プリフェッチサーバ機器(PSA(Prefetching Server Appliance))と呼ぶ。
この監視および集約は、例えば、各CSAのアクセスログを監視し、そのデータを使用して、1つまたは複数のリモートサーバから共有キャッシュにプリフェッチすべきものと、まだ価値のあるものおよび更新される必要のあるものと、もはや価値がなく取り替えられうるものとを決定することによって行われる。
SPAまたはPSAがプリフェッチするものは、例えば、すでに要求されたウェブページに存在するリンクと、ウェブページおよびストリーミングメディアオブジェクトへの最近のアクセスパターンと、ユーザプロファイルと、過去の傾向とに基づくことができる。
各CSAは、自身のクライアントの1つからファイル要求を受信するごとに、必ずしも共有キャッシュにアクセスするとは限らない。
同様に、共有キャッシュの各アクセスも、必ずしもリモートサーバへの対応する要求に反映されるとは限らない。
しかし、本発明者らのPSAは、個々のCSAのそれぞれの個々のアクセスログにアクセスできるか、それ以外に、個々のクライアントの個々の要求を監視できる。
したがって、このPSAは、リモートオブジェクトに関する自身のローカル使用予測を次のものに基づくことができる。
すなわち、PSAは、CSAからリモートサーバへのそのオブジェクトに対する要求および/またはCSAから共有ローカルキャッシュへの要求を監視することから入手できる限られたデータだけでなく、CSAがサービスを提供するクライアントからの同じオブジェクトに対する個々の要求であって、CSAのローカルキャッシュから満たされる個々の要求にも基づくことができる。
また、PSAは、すでにキャッシュされたファイル内のメタデータ(他のファイルへのリンク、タイトル、著者、最後に編集またはアクセスされた日付、作成日、有効期限等)にアクセスすることもできる。
また、PSAは、関係したファイル(またはそのファイルの更新版)が今後要求される程度を予測する際に、そのメタデータを使用することもできる。
また、取り替え手順を起動して、リモートサーバから入力するオブジェクト用に、共有キャッシュのスペースを解放する必要がある際に、PSAは、好ましくは、それらの同じ結合されたアクセスログ(および、場合によっては、その同じメタデータも)を使用して、共有キャッシュから取り替えるものも決定する。
次に、トラフィックディレクタ機器は、いずれかのCSAが、その同じ(または近い関係の)オブジェクトに対する要求を最近ハンドリングしたかどうか判断する。
そして、ハンドリングしている場合には、トラフィックディレクタ機器は、経験および利用可能な資源の双方の観点から、要求を最善にハンドリングできるCSAに当該要求をルーティングすることを試みる。
さらに、このようなTDAの機能が、提案されたSPA/PSAと一体化されている場合には、SPA/PSAは、すべてのクライアントの要求を統合した自身のアクセスログを、個々のCSAによって保持されたあらゆるアクセスログとは独立して、保持できる場合がある。
これによって、各CSAは、各CSAのクライアントを専用ローカルキャッシュからサーブするように、最適化されうる。
また、各CSAは、一定の要求されたオブジェクトがその専用キャッシュに存在しない場合には、それらのオブジェクトのコピーであって、すでにキャッシュおよびプリフェッチされたコピーを共有キャッシュからサーブするように、最適化されうる。
それによって、ピーク負荷時の期間中において、リモートサーバからオブジェクトを得るのに必要な計算サイクルおよびアイドルサイクルが削減される。
しかし、基礎を成す概念の多くは、他のアーキテクチャおよび機能にも適用されうる。
特に、検索されるオブジェクトは、URLで特定されるファイルでなくてもよい。
共有ストレージは、WANによってのみアクセス可能な遠隔の場所にあってもよく、かつ/または、このような他の遠隔の場所にある他のクライアントおよびサーバと共有されてもよい。
複数のサーバの機能および管理者の機能は、単一のハードウェアユニット内に組み合わされてもよい。
単一のサーバの機能または管理者の機能は、2つの以上のハードウェアユニット間に分散されてもよいし、複製されてもよい。
さらに、当業者は、思うに現在または将来のいずれかにおいて、検索されたどのオブジェクトがいつどこにキャッシュされるべきか、たとえ要求される前であっても、どの未キャッシュのオブジェクトが検索されるべきか、キャッシュされたどのオブジェクトが取り替えられるべきか、および、どのサーバがどの要求に応答すべきかを判断する他の適切な手順に気付くだろう。
図1に示すように、キャッシュサーバ複合体(CSC(Caching Server Complex))は、好ましくは、複数のキャッシュサーバ機器(CSA(caching server appliance))ならびに共有プリフェッチサーバ機器(PSA(prefetch server appliance))およびトラフィックディレクタ機器(TDA(Traffic Director Appliance))を含む。
TDAは、CSAと外部ネットワークNETとの間の透過的なインタフェースおよび負荷分散機能を提供する。
他の実施の形態では、PSAは、ストレージと物理的に同じ場所に置かれてもよいし、他の或る場所に置かれることもでき、かつ/または、TDAの機能は、外部ネットワークNETへの個別の交換接続(switched connection)または非交換接続(unswitched connection)と取り替えられることができる。
いずれにしても、PSAおよび各CSAの双方は、スイッチングルータ(FCまたはSW1)を通じて、共有ローカルストレージ(SANまたはNAS)に、ローバストな高速接続(光ファイバネットワークの専用チャネルが好ましいが、場合によっては、イーサネット(登録商標)等のデマンドベースのネットワーク)を介して、物理的に接続される。
それによって、迂回接続が提供されない場合にTDAによって課される可能性があるあらゆる遅延が回避される。
特に、これらの迂回された接続によって、大量のプリフェッチされたオブジェクトを、NASの共有ローカルキャッシュへダウンロードすることが容易になる。
また、図示しないが、CSAのそれぞれは、TDAを通過することなくオリジンサーバSからダウンロードするためのSW2への直接接続を有することもできる。
しかし、いずれか1つのCSAが故障した場合であっても、PSAが継続して機能し、かつ、PSAが故障した場合であっても、各CSAが(たとえ低い性能レベルであっても)継続して機能するように、PSAは、CSAのいずれとも物理的かつ論理的に独立していることが好ましい。
しかしながら、本発明の原理および利点のいくつかは、PSAおよびCSAの機能が単一のハードウェアユニットに共に配置される他の実施の形態、または、PSAの機能が2つ以上のハードウェアユニットに分散もしくは複製される他の実施の形態にも適用可能である。
少なくとも論理的には、SANベースのPSAは、通常、図1の上部に図示するように接続される。
図示した実施の形態では、いくつかのCSAは、ファイバーチャネルスイッチFCを通じてSANに接続されることが好ましく、PSAも、その同じファイバーチャネルスイッチを通じてSANに接続される。
PSAと個々のCSAとの間では、限られた量のネットワークトラフィックしか流れないので、そのPSA/CSAトラフィックは、通常、ファイバーチャネルスイッチFCを通じてルーティングされることはなく、オプションスイッチSW1(NASがない場合であっても存在し得る)を介して、または、TDAおよび関連したスイッチSW2を介してルーティングされる。
上述したように、TDAおよびSW2は、外部の従来のローカルエリアネットワーク(LAN)および/またはワイドエリアネットワーク(WAN)NETにも接続される。
このローカルエリアネットワークおよび/またはワイドエリアネットワークNETは、個々のCSAをそのそれぞれのクライアント(C1、C2)に接続し、1つまたは複数のリモートオリジンサーバ(S)に接続する。
特に、従来のローカルエリアネットワークは、イーサネット(登録商標)ネットワークであってもよく、従来のワイドエリアネットワークは、インターネットであってもよいし、インターネットベースの仮想プライベートネットワークであってもよい。
他の物理的な場所の他のCSAは、実質的には無制限で瞬時に、同じ共有ストレージ(SANまたはNAS)にアクセスでき、したがって、実際よりもはるかに大きなキャッシュにアクセスできることが当業者には理解されよう。
しかしながら、少なくとも個々のCSAからどの共有ローカルストレージ(SANまたはNAS)への接続も、高帯域幅で短い待ち時間の接続であることが好ましい。
図1の下部に示すように、すべてのCSAおよびPSAは、高速LANおよび関連したスイッチングルータSW1を介して、NASに接続されてもよい。
あるいは、既存のLANが使用されて、CASを互いに接続してもよく、また、CSAをそれらの共有ローカルサーバに接続してもよい。
しかしながら、各CSAとそれらの共有ローカルストレージとの間に専用高速伝送媒体がないと、結果として、このような共有LANが他のトラフィックで飽和状態になった場合に、性能が劣化しうる。
図2は、一般的なキャッシュサーバ複合体機器のアーキテクチャブロック図である。
このキャッシュサーバ複合体機器は、プロセッサCPUと、高速ランダムアクセスストレージRAMと、図1のSW1およびTDA/SW2にそれぞれ接続するための一対のネットワークインタフェース(NI1およびNI2)と、第1のI/Oインタフェース(IO1)とを含む。
高速ランダムアクセスストレージRAMは、(少なくともCSA用に)第1レベルのローカルキャッシュストアCS1を含むことが好ましい。
第1のI/Oインタフェース(IO1)は、ローカルストレージHD(通常は1つまたは複数の専用ハードディスク)に接続される。
このローカルストレージHDは、CPUを制御するサーバソフトウェア用に使用され、かつ、通常は、利用可能なRAM内に含まれうるよりも大きく安価であるが低速である第2レベルのローカルキャッシュストレージ(CS2)用に使用される。
簡略化された2つのレベルのキャッシュアーキテクチャ(RAMおよび1つの取り付けられたローカルドライブHD)が図示されるが、CSAに利用可能な専用ローカルキャッシュは、より多くのレベルまたはより少ないレベルを有することもでき、CSAの直接制御下にあるプロセッサキャッシュ(SRAM)、メモリ(DRAM)、およびディスクドライブ(内部ディスクドライブおよび外部ディスクドライブの双方)に存在するあらゆるキャッシュ可能なコンテンツを含むことができることが当業者には理解されよう。
特に、共有キャッシュは、通常、SANまたはNASのいずれかであり、1つの共有キャッシュインタフェース(NI1またはIO2)のみがCSAに必要とされる。
同様に、CSAのみが、通常、ローカルRAMキャッシュCS1およびローカルディスクキャッシュCS2の双方を有し、他のCSC機器は、個別のIOインタフェースを介した専用外部ストレージを必要とすることなく済ますことができる。
最後に、CSC機器(TDA等)のいくつかは、外部共有キャッシュ(SANおよび/またはNAS)との直接的なインタフェースを何ら必要としない場合がある。
次に表1を参照すべきである。
オリジンサーバへの当該クライアントの要求は、CSAによってプロキシされており、かつ、その専用ローカルキャッシュ、共有ローカルキャッシュまたはオリジンサーバのいずれかからサーブされている。
各要求に対して、さまざまな詳細がログに配置される。
このさまざまな詳細は、要求されたURL、そのURLがメモリまたはストレージにすでに存在した(キャッシュヒット)かどうか、アクセスの日付および時刻、転送バイト数、クライアントからの要求のタイプ等である。
このログは、CSAメモリに収集された要求の詳細を、アクセスログ記憶用の現時点のファイルに追加することによって生成されうる。
異なる時間窓に対しては、その特定の期間中のCSAのアクセスログを記憶するのに、異なるファイル(または、表に示すように、同じファイルの異なる部分)が使用されることが好ましい。
ディレクトリ構造体およびファイル名は、PSAがすべてのCSAのアクセスログを読み出すことを可能にする規則に従う。
その結果、PSAは、個々のCSAアクセスログを、同様にフォーマットされた統合ログ内に結合することができる。
さらに、PSAは、前の時間、前の日、前の週等の異なる時間窓のアクセスデータを処理して、毎日、毎月曜日、月の第1営業日等の同じ時刻において繰り返すアクセスパターンを検出することもできる。
特に、CSAは、そのクライアントの1つによって要求されたファイルが共有キャッシュから入手できないと判断すると、リモートオリジンサーバからそのローカル専用キャッシュへそのファイルのダウンロードを開始して、次いで、低優先度のバックグラウンド機能として、共有キャッシュにそのキャッシュされたファイルのコピーを転送できる。
しかしながら、待ち時間が比較的長く、帯域幅が比較的低いインターネットまたは他のWANネットワークNETを介して、遠方のサーバSに要求されたファイルをダウンロードすることは、LANまたはファイバーチャネルを介して、ローカルストレージファーム(SANまたはNAS)から同じファイルを検索することよりも遅く、計算資源をより浪費する。
したがって、キャッシュ機能のこの態様であっても、PSAが管理することが好ましい。
このような集中化されたダウンロード機能は、異なるCSAからの同じファイルの複数の要求をチェックすることが好ましく、したがって、限られた利用可能帯域幅が、さらに効率的に利用される。
潜在的に、2種類の情報が、この目的のために、PSAに利用可能である。
PSAは、キャッシュの各オブジェクトのアクセス頻度や、各オブジェクトがどれくらい近時にアクセスされたか等の履歴使用データとして、前述した統合アクセスログを解析できる。
その使用データは、共有キャッシュにおけるファイルのコピーのアクセスだけでなく、キャッシュサーバのそれぞれによって保持された専用キャッシュにおけるその同じファイルの他のコピーのアクセスも反映する。
他の入力は、アクセスされた各オブジェクトのメタデータとされうる。
このメタデータは、オブジェクトのサイズ、コンテンツタイプまたは有効時間等である。
この有効時間は、当該有効時間を過ぎると、クライアントへサーブされる前に、キャッシュオブジェクトの有効性の検証をオリジンサーバから受けなければならない時間である。
しかしながら、アクセスログは、CSAと共有キャッシュとの間の伝送を単に監視することによっては得ることができないさらに有用な情報も提供する。
例えば、CSAが、ウェブページを共有キャッシュからそのメモリに転送すると、CSAは、複数のクライアントの要求を自身のメモリからサーブできる。
PSAがそのウェブページへのアクセス回数について知るための最も簡単な方法は、各CSAによって保持されたアクセスログを処理することによる。
あるいは、CSAのアクセスログまたはその或るサブセットに書き込まれる情報も、影響を受けたCSAによって、適切なメッセージフォーマットで、PSAに同時に送信されうる。
履歴アクセスデータの解析に基づいて、PSAは、近い将来に、おそらく頻繁にアクセスされるコンテンツを予測できる。
例えば、アクセスログにデータマイニング技法を適用することによって、過去の日のニュースのウェブページ、オーディオおよびビデオのアーカイブが、午前7時から9時の間に、news.comウェブサイトから多くアクセスされることが明らかにされうる。
これらのアクセスを高速にハンドリングするために、PSAは、午前6時から7時の間に、このコンテンツのプリフェッチを発行できる。
これらのプリフェッチは、ウェブクローラ内に生成されうる。
このウェブクローラは、news.comからトップレベルのページをプリフェッチし、それらトップレベルのページのハイパーリンクに従って、ハイパーリンクごとにプリフェッチを発行する。
同様に、12時から午後1時の間では、waiter.comにおいて利用可能なレストランメニューへのアクセスが、頻繁に行われうる。
したがって、これらのページは、午前11:30から正午までの間に、プリフェッチされうる。
大きなストリーミングメディアファイルの場合、ファイル全体をプリフェッチすることは妥当でない場合がある。
その場合には、最初の数秒の再生時間に対応するファイルのプリフィックス部分をプリフェッチされうる。
これによって、クライアントの要求に対する応答の待ち時間は、非常に短くなりうる。
同様に、PSAが、ビデオに対する今後のほとんどの要求は特定のフォーマットおよび解像度であると判断すると、PSAは、そのインスタンスのみをプリフェッチしてもよい。
これらは、「経験ベース」のプリフェッチと以下で呼ばれる例である。
PSAまたは要求を行っているCSAが、その時、リモートオリジンサーバ(または下流側のプロキシまたはミラー等の他の情報源)へファイルを要求する役割を負うかどうかにかかわらず、PSAは、この情報にアクセスできる。
このようなデマンドミスの結果、外部ネットワーク上の帯域幅は、さらに利用される。
したがって、デマンドミスの個数(より適切には、共有キャッシュに現時点で記憶されていない要求ファイルをダウンロードするのに必要なダウンロード帯域幅)が増加するに伴い、PSAは、そのプリフェッチアクティビティを低減することによって対応することが好ましい。
したがって、プリフェッチオペレーションは、デマンドミスに応じて、リモートサーバから要求ファイルを検索することよりも低い優先度を与えられるべきであり、利用可能なシステム資源は、より効率的に(かつ適応して)使用される。
逆に、十分な帯域幅が、さらなるプリフェッチを実行するのに利用可能であっても、すでにキャッシュされたファイルを、さらなるプリフェッチによって得られた他のファイルと取り替えることは、必ずしもそれらの資源の効率的な使用であるとは限らない。
例えば、現時点のデマンドミスが比較的少ない(一定のしきい値未満)場合に、プリフェッチされたオブジェクト数(あるいは、割り当てられたネットワーク帯域幅)は、さらに削減されうる。
その理由は、追加されたあらゆるプリフェッチが、労力の追加を正当化するのに十分な性能の改善を生み出す見込みがなく、現時点のキャッシュの有効性を劣化させる可能性さえあるからである。
履歴アクセスデータのレビューに基づいて、PSAは、特定のオブジェクトの要求に続いて、他の一定の関係オブジェクトに高い確率でアクセスが行われると判断できる。
そして、それらの関係オブジェクトが共有キャッシュにまだ存在しない場合には、PSAは、それらのオブジェクトのプリフェッチを発行する。
場合によっては、このような関係ファイルは、アクセスログから収集された履歴情報を事前に解析することによって、前もって決定されうる。
他の場合には、これらの他の関係オブジェクトは、現時点の要求の結果のみから確認されることができ、例えば、他のウェブページへのハイパーリンクが使用されて、それら他のページに対するプリフェッチを開始できる。
後者の可能性は、現時点の使用にのみ基づき、そのために、PSAがそれ以上介入することなく、CSAが現時点の要求をハンドリングすることによって実行されうる、純粋な「ジャストインタイム」のプリフェッチの一例である。
しかしながら、ハイパーリンクされたファイルは、別のCSAによってすでにキャッシュされ、かつ/または、共有キャッシュにすでにキャッシュされている可能性があり、そのために、PSAによる何らかの調整が依然として望ましい。
履歴使用データは、一定の間隔(例えば、各トラックの開始)のみのプリフェッチに優先順位を付けることができ、現時点の使用データは、最初の間隔が実際に要求された後にのみ、その後の間隔のプリフェッチをトリガする。
このトリガは、おそらく、オリジンサーバがそのトラックの残りを送信する低優先度のバックグラウンドタスクとして行われる。
このような手法は、待ち時間を何ら増加させることなく、プリフェッチされるデータ量および必要とされる関連したローカルストレージを削減するだけでなく、ネットワーク性能も改善する。
同様に、大きなオブジェクトの場合、そのオブジェクトの小さなフラクション(「チャンク」)のみがプリフェッチ(プリフィックスキャッシュ(prefix caching))されることが好ましい。
プリフェッチされた量は、キャッシュサーバのストレージの容量、クライアント側の消費率およびオリジンサーバへのネットワーク帯域幅に基づいてもよい。
また、プリフェッチするオブジェクト数も、予測されたヒット率によって決定されてもよい。
予測されたヒット率が大きい場合には、大きなチャンクサイズを有する少数のオブジェクトがプリフェッチされる。
他方、予測されたヒット率が小さい場合には、小さなチャンクサイズを有する多くのオブジェクトがプリフェッチされる。
ステップ1
OLAP、データマイニング、関係データベースに対する標準的なSQLクエリー等の技法を用いて、(プロキシキャッシュおよびストリーミングメディアサーバの双方からの)CSAによって書き込まれたアクセスログを解析する。
この解析は、アクセスログからのコンテンツを、これらの技法に必要なフォーマットに変換することを必要とする。
例えば、関係データベースに対するSQLクエリーは、アクセスログのコンテンツがデータベースの適切な関係表に追加されることを必要とする。
CSAのアクセスログデータを使用して、平日または土曜日もしくは日曜日の時間帯別のコンテンツのアクセス変化を与える表を作成する。
この表を平日について作成するために、前の週、前の月、または前の数ヵ月の間の平日のアクセスログの全エントリが、考慮されうる。
前の週を考慮するのか、それとも前の月を考慮するのかは、それぞれの場合にプリフェッチがどれだけ正確であるかのフィードバックに依存する。
CSAアクセスログデータが使用されて、以下のようなフォーマットでありうる相関ルールを特定することもできる。
・A,B,C,D→E このルールによれば、クライアントがURL A、B、CおよびDを要求している場合には、次の要求は、Eに対する可能性が高い。
したがって、Eは、プリフェッチの好適な候補である。
・(W,X)(U,V,X,Z) このクラスタリングルールによれば、WへのアクセスとXへのアクセスとの間に強い相関がある。
したがって、いずれかがクライアントによって要求される場合には、プロキシは、他方をプリフェッチの候補とみなすべきである。
同様に、U、V、Y、およびZのいずれか1つがクライアントによってアクセスされる場合には、プロキシは、他の3つをプリフェッチの候補とみなすべきである。
これらのルールは、包括的ではない。
ステップ1で述べた技術分野の当業者には、それ以外のルールが明らかであろう。
当日の異なる時間の間のアクティビティを示す表を作成する。
各時間間隔について、毎秒の要求数の平均が得られる。
この平均は、その領域におけるクライアントからのトラフィックの見積もりを与える。
ステップ4からのアクティビティレベル表が使用されて、毎秒の要求が少ないのでネットワークトラフィックが低い、午前4時から午前7時等の時間間隔の間のプリフェッチをスケジューリングできる。
プリフェッチされるコンテンツは、ステップ2の使用表によって決定される。
このプリフェッチは、コンテンツがSANにもNASにもまだ存在しない場合にのみ発行される。
PSAおよび取り付けられたSANデバイスまたはNASデバイスのストレージ容量に応じて、その時間間隔のURLのサブセットのみが、場合によっては、プリフェッチされうる。
その場合、URLは、そのURLのオリジンサーバの平均予測待ち時間等の判断基準に基づいて、優先順位を設けられうる。
この判断基準は、アクセスログに基づいて評価されうるし、オリジンサーバへのネットワークホップ数に基づいて見積もられうる。
より多くのネットワークホップ数は、より長い待ち時間を意味する。
スケジューリングされたプリフェッチに加えて、ステップ3で導出されたルールを使用して、ジャストインタイムのプリフェッチが行われうる。
これらのルールがPSAによってCSAに伝えられると、このプリフェッチは、より効率的に行われうる。
その場合に、CSAがURL Xに対する要求を取得すると、CSAは、ステップ3のクラスタリングルールに従って、関連したURL Wがストレージの階層のどこかに存在するかどうかをチェックできる。
存在しない場合には、CSAは、Wのオリジンサーバに要求を送信できる。
CSAからオリジンサーバへの往復待ち時間がAミリ秒であり、クライアントからのWの要求がBミリ秒後にCSAに達するとすると、A>Bの場合には、クライアントは、この待ち時間のうち(A−B)ミリ秒のみに立ち会うことになり、B≧Aの場合には、待ち時間に立ち会うことはない。
ステップ5またはステップ6のいずれかにおいて、プリフェッチされるURLが静的コンテンツ(組み込み画像を有するHTMLテキスト)ではなくストリーミングメディア(MPEGファイル等)である場合、そのURLは、ユーザ経験が異なることから、特別な場合として取り扱われるべきである。
静的コンテンツの場合、コンテンツ全体がダウンロードされ、単一のページビューとしてユーザに提示される。
ストリーミングメディアの場合、ユーザは、一時停止、中断、停止、または早送りを行うことができる。
これらのVCRのような制御は、CSA上で実行するストリーミングメディアサーバに伝えられる。
このサーバはアクセスログを生成する。
ステップ1の技法を使用して、ストリーミングメディアのどのセグメントが頻繁に視聴されるかが特定されうる。
例えば、人々は、ニュース放送の最初の数分を視聴してヘッドラインを取得し、次いで、そのニュースのビジネス部分またはスポーツ部分に、早送りまたはインデックスすることがある。
したがって、最初の数分、ならびにビジネス部分およびスポーツ部分がキャッシュされうる。
クライアントが最初の数分を超えて視聴するように思われる場合、そのクライアントは続けて視聴する可能性がある。
その場合には、クライアントが継続して視聴するに伴い、ジャストインタイムのプリフェッチは、ニュース放送のその後のセグメントのために、CSAにより発行されうる。
ステップ6または7のいずれかにおけるジャストインタイムのプリフェッチの場合、クライアントがサービスを受けている間、コンテンツは、CSAによりプリフェッチされて、そのローカルディスクに最初に配置されることが好ましい。
その後、バックグラウンドにおいて、CSAは、すでにプリフェッチされたコンテンツをPSAに登録し、PSAは、すでにプリフェッチされたコンテンツをCSAがコピー(「ライトバック」)すべきSANストレージデバイスまたはNASストレージデバイスの場所を示すことによって応答する。
PSAは、SANデバイスおよび/またはNASデバイスの共有キャッシュからコンテンツを定期的に追い出す。
この取り替え手順は、以下のいくつかの調整可能なパラメータを有することが好ましい。
・Hは、共有キャッシュによるディスクスペース使用の上位しきい値である。
・Lは、共有キャッシュによるディスクスペース使用の下位しきい値である。
・Vは、URLの値である。
このアイデアは、より有用なコンテンツをキャッシュに保持することであり、アクセス頻度、最も近時のアクセス時刻、有効期間に対して残された時間(オリジンサーバによって設定される)、および/またはGDSF等のハイブリッドパラメータに基づくことができる。
また、このアイデアは、CSAのアクセスログの定期的なアクセス(または、後述するTDAの機能が実施される場合には、TDAのURL表)によって決定されることが好ましい。
共有キャッシュの占有度が95%に達するとすぐに、この取り替え手順は実行され、キャッシュの占有度が利用可能なスペースの85%未満となるまで、共有キャッシュからコンテンツを追い出し続ける。
HおよびLを調整することによって、取り替え手順が実行される頻度、および、各実行において行われる作業量を制御されうる。
その結果、取り替えの可能性のある候補が、高速に選択されうる。
ロックは、ネットワークトラフィックが少なくなった時(午前5時から7時の間等)にスケジューリングされたプリフェッチと共に行われ、予測可能なその後の繁忙期間(午前7時から10時)の間に、コンテンツが多く利用されることが予想されることに備える。
スケジューリングされたプリフェッチは、予想された使用の多い期間の終了(午前10時)までURLをロックできる。
あるいは、URLは、予想された使用の多い期間の開始直後(例えば、午前8時)までロックされうる。
その場合、プリフェッチ予測が正確であると、午前8時までに十分なアクセスがあり、そのURLは、多くアクセスされている限り、取り替えられないことが保証される。
一方、プリフェッチが予測ミスという結果になると、午前8時の後、そのURLは追い出されることになる。
取り替え手順が、ロックされたURLをスキップしなければならないので、それらのロックされたURLは、リストPとは別のリストに保持されることが好ましい。
ロックされたURLは、ロックが解除された後にのみリストPに追加され、可能な追い出し候補となる。
すなわち、最小値のVを有するリストPのURLから開始して、ディスクスペース使用が下位しきい値Lに下がるまで、URLが1つずつキャッシュから削除される。
上記手順は、SANデバイスおよび/またはNASデバイスにおいて、スペースがPSAによってどのように解放されるかを説明している。
このスペースのいくつかは、PSAがスケジューリングされたプリフェッチを行う際に、PSAによって使用される。
一方で、ジャストインタイムのカテゴリーおよびキャッシュミスにおいていくつかのプリフェッチが追加されることを想起されたい。
これらのカテゴリーの双方では、PSAではなくCSAが、オリジンサーバと接触して、自身のローカルディスクおよびメモリにコンテンツを運び込むことが好ましい場合がある。
しかしながら、そのプリフェッチされたコンテンツの少なくとも一部は、共有キャッシュ(SAN/NAS)に保存する価値があり、それによって、サーバ複合体の他のCSAが、キャッシュミスの問題なく、かつ、オリジンサーバにアクセスすることなく同じコンテンツをサーブでき、かつ/または、要求を行っているCSAが、「よりホット」な(より高いVの)URL用に自身の限られたローカルキャッシュストレージを解放できる。
これは、ライトバック手順によって行われる。
簡単なライトバック手順は、以下以下の通りである。
CSAは、時に、自身のキャッシュのコンテンツの表をキャッシュ間で交換する。
CSA Aがクライアントから或るURLの要求を受信し、そのURLがCSA Aのキャッシュに存在しないが、別のCSA Bのキャッシュに存在する場合、CSA Aは、コンテンツが或るオリジンサーバに要求されたのと同様に、CSA Bにコンテンツを要求できる。
CSA Bは、短い待ち時間でCSA Aにコンテンツを送信できる。
CSA Bは、CSA Aにコンテンツを送信した後、URL、自身のローカルディスクにおけるURLの場所およびコンテンツのサイズを、表に入力する。
定期的に、CSA Bは、この表をPSAに送信する。
PSAは、表のサイズの列を合計し、必要なストレージ量が、共有キャッシュに確実に存在するようにする。
これは、そのスケジューリングされた時刻に先立って、取り替え手順の実行を必要としうる。
次いで、PSAは、共有キャッシュにおいて、各URLをファイル名にマッピングし、URLをファイル名にマッピングした表を、CSA Bに返信する。
次いで、CSA Bは、共有キャッシュ(SAN/NAS)において、各URLのコンテンツをその対応するファイル名にコピーできる。
共有キャッシュのコンテンツの更新された表は、PSAによってすべてのCSAに定期的に送信され、それによって、その後のクライアントによるあらゆるCSAへの共有コンテンツの要求は、オリジンサーバにも他のCSAにもメッセージを送信することなく、CSAによって共有キャッシュから満たすことができる。
複数のCSAおよびPSAから成るサーバファームは、負荷分散装置またはトラフィックディレクタ機器(TDA)として一般に知られている別のサーバ機器も有することができる。
このサーバ機器は、CSAを、一定の割り当てられたクライアントに専用の各CSAとしてではなく、プールとして編成し、所定の割り当て手順(通常、単純なラウンドロビン割り当てまたはランダム割り当て)を使用して、すべてのクライアントからの要求を、このプール内において、CSAに送信する。
それによって、CSAの負荷は、分散される。
TDAは、PSAに組み込まれることが好ましく、各URLを最近サーブしたことがあるCSAに対する、そのURLの事前に知られたあらゆる親和性を利用することが好ましい。
このような親和性ベースのTDAは、以下のように実施されうる。
PSAは、URLの高速参照を可能にするハッシュ表等の大きな表を保持し、それによって、いずれかのクライアントが以前にそのURLを要求したかどうかを判断し、いずれかのクライアントが以前にそのURLを要求している場合には、CSAのいずれにその要求が転送されたかを判断する。
このような転送に含まれる最近のN個の異なるCSAが、この表に記憶されうる。
ここで、Nは、通常、小さく、例えば3である。
TDAは、クライアントの要求を受信すると、URLを使用して表を探索する。
エントリが存在する場合には、その同じURLについて、少なくとも1つ、場合によってはN個以上の以前の要求が、TDAによってCSAに転送されたことを意味する。
これらのCSAが、転送された要求の時刻によってソートされていると仮定すると、TDAは、現時点の要求を、同じURLについて最も近時の以前の要求を取得したCSAに転送できる。
このCSAは、自身のローカルキャッシュに、そのURLのコンテンツをまだ有している可能性が最も高い。
しかしながら、このCSAが、現時点で、平均負荷より高い負荷を有する場合には、その応答時間が遅くなる可能性がある。
その場合には、TDAは、多くともN個の関連したCSAのリストを用いて、最も近時に含まれたCSAから、最も過去に含まれたCSAに順番に配列し、そして、現時点の要求を受け付けうる現時点の負荷である最初のCSAを選択できる。
適切なCSAが見つからない場合、または、表がこのURLのエントリを有しない場合には、ラウンドロビン割り当てやランダム割り当て等のデフォルトのTDA手順に従う。
表が更新される。
そのURL用のエントリが存在しない場合には、新たなエントリがそのURL用に作成される。
また、現時点の要求用に選択されたCSAも、このURLに対して最も近時に要求されたとして加えられる(または、その既存のエントリが更新される)。
他のN個のCSAがリストにすでに存在する場合には、最も過去に要求されたCSAがリストから廃棄される。
これは、CSAの変化する負荷状況の下において可能な範囲で、同じCSAまたは同じ小さな1組のCSAが同じURLについてのすべてのクライアント要求にサービスを提供することを、トラフィック方向手順が確保しようとするからである。
CSAのローカルキャッシュからサーブされるどの要求も、別のCSAまたは共有ストレージ(SAN/NAS)からデータをフェッチすることを必要とする要求よりも、要する時間が短い。
したがって、このTDA手順は、ローカルキャッシュがより頻繁にコンテンツを有することを確実にする傾向がある。
既存のプロキシキャッシュと同様に、CSCも、共有アプリケーションプログラマインタフェース(API)を有することが好ましい。
このAPIは、CSCの振る舞い(特に、複数のユーザによる同じキャッシュファイルへの繰り返しアクセス、または、まだ要求されていないファイルのダウンロード)が、キャッシュデータのコンテンツを所有する機構によって制御されることを可能にする。
この共有APIの機能は、PSA/TDAに含まれることが好ましい。
そして、共有APIの機能は、図3に示すように、ネットワーク(NET)、オリジンサーバ(S)、およびクライアント(C1、C2)に、従来の拡張性のない単一のCSA構成に含まれる同様のAPI機能を透過的に取り替えたAPIを提供する。
しかし、PSAベースのCSCは、共有キャッシュ(NASまたはSAN)から複数のCSAにサービスを提供するので、APIの機能の追加が意図される。
例えば、news.comウェブサイトのオーナとの同意により、午前7時から9時の予測されたピーク負荷に備えて、一定のタイプのコンテンツのみが、PSAのAPIを通じてSANまたはNASにプッシュされうる場合がある。
異なるSANストレージデバイスまたはNASストレージデバイスに取り付けられた複数のPSAは、オリジンサーバに向かうことなく、相互にコンテンツを要求することを許可される場合もあるし、許可されない場合もある。
このAPIは、他のコンテンツがたとえ使用されない場合であっても、一定のクライアントが他のコンテンツについてのプリフェッチされた要求をバックグラウンドで発行することを可能にすることができ、そして、プリフェッチされたコンテンツのダウンロード(および支払い)を強制されることなく、当該他のコンテンツの要求および監視をPSAによって行わせることを可能にすることができる。
PSAは、CSAのアクセスログを解析するので、APIは、CSAファームのアクセス統計情報を要求するネットワーク監視エンティティのサポートを提供するように設計されてもよい。
このアクセス統計情報は、CSAアクセスログの単純なダウンロード形式、または、PSAによって生成された情報をフィルタリングして集約した形式のいずれかである。
また、APIは、このネットワーク監視エンティティが、ネットワークの他の場所で現時点にダウンロードまたはプリフェッチされた「ホット」なコンテンツに関する情報に加えて、複製されたオリジンサーバの異なるインスタンスに対する検知された負荷および/または異なるネットワークパスの検知された待ち時間に関する情報もPSAに送信することを可能にする。
それによって、PSAの性能が向上される。
複数のローカルキャッシュサーバ(CSA)を、好ましくはプリフェッチ機能(PSA)、負荷管理(TDA)および透過的な外部インタフェース(API)を有する共有管理(SPA)によって補完することにより、CSAのみによって可能な場合よりも、さらに大きな帯域幅、短い待ち時間、および利用可能なストレージのより効率的な使用を提供できる。
特に、SPA/PSAが、各CSAクライアントからのすべての要求に関する情報へのアクセスを提供される場合に、これら大きな帯域幅等は提供されうる。
C2・・・無線クライアント
RBS・・・無線
NET・・・LANまたはWANもしくはインターネット
S・・・オリジンサーバ
MGR・・・ネットワークマネージャ
NI1、NI2・・・ネットワークインタフェース1、2
CS1・・・ローカルキャッシュ
IO1、IO2・・・I/Oインタフェース1、2
CSC・・・キャッシュサーバ複合体
C・・・無線または有線クライアント
Claims (27)
- 共有ローカルサーバと、1つ以上のキャッシュサーバと、共有プリフェッチサーバとを有し、1つ以上のリモートオリジンサーバが記憶するオブジェクトを、クライアントサーバからの要求に応じて、ローカルに記憶するキャッシュシステムであって、
前記共有ローカルサーバは、
前記1つ以上のキャッシュサーバからアクセスされ得る共有のローカルキャッシュ領域を有し、
前記クライアントサーバからの要求に応じて、前記リモートオリジンサーバから前記オブジェクトを取得して、取得したオブジェクトを、前記共有のローカルキャッシュ領域に記憶し、
前記1つ以上のキャッシュサーバそれぞれは、
専用のローカルキャッシュ領域を有し、
前記クライアントサーバからの要求に応じて、他の前記キャッシュサーバの専用のローカルキャッシュ領域、前記共有のローカルキャッシュ領域および前記リモートオリジンサーバ、またはこれらのいずれかから前記オブジェクトを取得して、取得したオブジェクトを、前記専用のローカルキャッシュ領域に記憶し、
前記共有プリフェッチサーバは、
前記専用のローカルキャッシュ領域および前記共有のローカルキャッシュ領域またはこれらのいずれかに記憶された前記オブジェクトのアクセス情報を監視して、アクセス情報に基づいて、前記記憶されたオブジェクトを、前記専用のローカルキャッシュ領域および前記共有のローカルキャッシュ領域またはこれらのいずれかから削除するタイミングを判定する
システム。 - 前記共有プリフェッチサーバは、
前記クライアントサーバから今後要求され得るオブジェクトを予測し、
前記判定されたタイミングにおいて、前記削除されるオブジェクトを、前記予測されたオブジェクトに置き換える
請求項1に記載のシステム。 - 前記共有プリフェッチサーバは、前記クライアントサーバからの過去の要求すべてを監視することにより、前記今後要求され得るオブジェクトを予測する
請求項2に記載のシステム。 - 前記共有プリフェッチサーバは、前記共有ローカルサーバに記憶されたオブジェクトの所定の有効期限を監視することにより、前記今後要求され得るオブジェクトを予測する
請求項2に記載のシステム。 - 前記共有プリフェッチサーバは、前記共有ローカルサーバに記憶されたオブジェクトと、他のオブジェクトとの相関関係を検査することにより、前記今後要求され得るオブジェクトを予測する
請求項2に記載のシステム。 - 前記共有プリフェッチサーバは、前記キャッシュサーバそれぞれが、前記クライアントサーバから受け取る前記共有ローカルサーバに記憶された要求頻度の低いオブジェクトの要求を監視する
請求項2に記載のシステム。 - 前記共有プリフェッチサーバは、前記要求頻度の低いオブジェクトを、要求頻度の高い他のオブジェクトと置き換える
請求項2に記載のシステム。 - 前記共有プリフェッチサーバは、前記キャッシュサーバの1つに統合されている
請求項2に記載のシステム。 - トラフィック指示装置をさらに含む
請求項2に記載のシステム。 - 前記トラフィック指示装置は、前記クライアントサーバからの前記オブジェクトの要求を、前記要求されたオブジェクトと同一のオブジェクトの要求を以前に受け取った別の前記キャッシュサーバのいずれかに送る
請求項9に記載のシステム。 - 前記共有プリフェッチサーバは、前記トラフィック指示装置から受け取った情報に基づいて、前記要求を監視する
請求項9に記載のシステム。 - 単一の従来のオリジンサーバAPIは、前記リモートオリジンサーバそれぞれと前記キャッシュシステムとの間に供給されて、前記リモートオリジンサーバに、単一の仮想キャッシュ装置を供給する
請求項1に記載のシステム。 - 単一の従来のクライアントAPIは、前記クライアントサーバそれぞれと前記キャッシュシステムとの間に供給されて、前記クライアントサーバに、単一の仮想キャッシュ装置を供給する
請求項1に記載のシステム。 - 単一の従来のネットワークマネージャAPIは、外部のネットワークマネージャと前記キャッシュシステムとの間に供給されて、前記ネットワークマネージャに、単一の仮想キャッシュ装置を供給する
請求項1に記載のシステム。 - 前記共有のローカルキャッシュ領域は、ストレージエリアネットワークの一部である
請求項1に記載のシステム。 - 前記共有ローカルサーバは、ローカルエリアネットワークにより、前記キャッシュサーバに接続されるネットワークストレージである
請求項1に記載のシステム。 - 共有ローカルサーバと、1つ以上のキャッシュサーバと、共有プリフェッチサーバとを有し、1つ以上のリモートオリジンサーバが記憶するオブジェクトを、クライアントサーバからの要求に応じて、ローカルに記憶するキャッシュシステムにおいて、
前記共有ローカルサーバが、前記クライアントサーバからの要求に応じて、前記リモートオリジンサーバから前記オブジェクトを取得して、取得したオブジェクトを、前記1つ以上のキャッシュサーバからアクセスされ得る共有のローカルキャッシュ領域に記憶するステップをコンピュータに実行させ、
前記1つ以上のキャッシュサーバそれぞれは、前記クライアントサーバからの要求に応じて、他の前記キャッシュサーバの専用のローカルキャッシュ領域、前記共有のローカルキャッシュ領域および前記リモートオリジンサーバ、またはこれらのいずれかから前記オブジェクトを取得して、取得したオブジェクトを、前記キャッシュサーバの専用のローカルキャッシュ領域に記憶するステップをコンピュータに実行させ、
前記共有プリフェッチサーバは、前記専用のローカルキャッシュ領域および前記共有のローカルキャッシュ領域またはこれらのいずれかに記憶された前記オブジェクトのアクセス情報を監視して、アクセス情報に基づいて、前記記憶されたオブジェクトを、前記専用のローカルキャッシュ領域および前記共有のローカルキャッシュ領域またはこれらのいずれかから削除するタイミングを判定するステップをコンピュータに実行させる
方法。 - 前記キャッシュサーバは、前記専用のローカルキャッシュ領域に記憶された前記オブジェクトを、定期的にライトバックするとき、前記記憶されたオブジェクトを、前記共有のローカルキャッシュ領域にコピーするステップを、さらにコンピュータに実行させる
請求項17に記載の方法。 - 前記共有プリフェッチサーバは、前記クライアントサーバからの過去の要求に基づいて、前記クライアントサーバから今後要求され得るオブジェクトを予測するステップと、
前記判定されたタイミングにおいて、前記削除されるオブジェクトを、前記予測されたオブジェクトに置き換えるステップと
をさらにコンピュータに実行させる
請求項17に記載の方法。 - 前記共有プリフェッチサーバは、前記クライアントサーバからの前記過去の要求すべてを監視するステップを、コンピュータに実行させる
請求項19に記載の方法。 - 前記共有プリフェッチサーバは、前記共有ローカルサーバに記憶されたオブジェクトの所定の有効期限を監視するステップを、コンピュータに実行させる
請求項17に記載の方法。 - 前記共有プリフェッチサーバは、前記共有ローカルサーバに記憶された前記オブジェクトと、他のオブジェクトとの相関関係を検査するステップを、コンピュータに実行させる
請求項17に記載の方法。 - 前記共有プリフェッチサーバは、前記キャッシュサーバそれぞれが、前記クライアントサーバから受け取る前記共有ローカルサーバに記憶された要求頻度の低いオブジェクトの要求を監視するステップを、コンピュータに実行させる
請求項17に記載の方法。 - 前記共有プリフェッチサーバは、前記要求頻度の低いオブジェクトを、要求頻度の高い他のオブジェクトに置き換えるステップを、コンピュータに実行させる
請求項23に記載の方法。 - トラフィック指示装置をさらに含む前記キャッシュシステムにおいて、
前記トラフィック指示装置は、前記クライアントサーバからの前記オブジェクトの要求を、前記要求されたオブジェクトと同一のオブジェクトの要求を以前に受け取った前記キャッシュサーバのいずれかに送るステップを、コンピュータに実行させる
請求項17に記載の方法。 - 単一の共通のオリジンサーバAPIは、前記リモートオリジンサーバへの前記要求すべてのために使われる
請求項17に記載の方法。 - 単一の共通のクライアントAPIは、前記クライアントサーバからの要求すべてのために使われる
請求項17に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/117,506 US6868439B2 (en) | 2002-04-04 | 2002-04-04 | System and method for supervising use of shared storage by multiple caching servers physically connected through a switching router to said shared storage via a robust high speed connection |
PCT/US2003/009171 WO2003085560A1 (en) | 2002-04-04 | 2003-03-25 | Device and method for supervising use of shared storage by multiple caching servers |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006501535A JP2006501535A (ja) | 2006-01-12 |
JP2006501535A5 JP2006501535A5 (ja) | 2009-04-30 |
JP4294494B2 true JP4294494B2 (ja) | 2009-07-15 |
Family
ID=28789857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003582676A Expired - Fee Related JP4294494B2 (ja) | 2002-04-04 | 2003-03-25 | 複数のキャッシュサーバによる共有ストレージの使用を管理するデバイスおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6868439B2 (ja) |
EP (1) | EP1490797A1 (ja) |
JP (1) | JP4294494B2 (ja) |
AU (1) | AU2003222074A1 (ja) |
WO (1) | WO2003085560A1 (ja) |
Families Citing this family (247)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0014414D0 (en) * | 2000-06-12 | 2000-08-09 | Business Information Publicati | Electronic deposit box system |
US7827136B1 (en) | 2001-09-20 | 2010-11-02 | Emc Corporation | Management for replication of data stored in a data storage environment including a system and method for failover protection of software agents operating in the environment |
US7539745B1 (en) * | 2001-12-11 | 2009-05-26 | Emc Corporation | Network management for replication of data stored in a data storage environment |
US20030115469A1 (en) * | 2001-12-14 | 2003-06-19 | Intel Corporation | Systems and methods for detecting and deterring rollback attacks |
US20030200247A1 (en) * | 2002-02-02 | 2003-10-23 | International Business Machines Corporation | Server computer and a method for accessing resources from virtual machines of a server computer via a fibre channel |
US8516114B2 (en) * | 2002-03-29 | 2013-08-20 | International Business Machines Corporation | Method and apparatus for content pre-fetching and preparation |
US20030204602A1 (en) * | 2002-04-26 | 2003-10-30 | Hudson Michael D. | Mediated multi-source peer content delivery network architecture |
US7103642B1 (en) * | 2002-04-30 | 2006-09-05 | Sprint Communications Company L.P. | System and method for personalizing a home page |
US7603449B1 (en) * | 2002-06-10 | 2009-10-13 | Crossroads Systems, Inc. | System and method for inquiry caching |
US7900147B2 (en) * | 2002-07-22 | 2011-03-01 | International Business Machines Corporation | System and method for enabling disconnected web access |
GB2392518B (en) * | 2002-09-02 | 2004-09-22 | 3Com Corp | Computer network and method of operating same to preload content of selected web pages |
US7953820B2 (en) * | 2002-09-11 | 2011-05-31 | Hughes Network Systems, Llc | Method and system for providing enhanced performance of web browsing |
WO2004043045A2 (de) * | 2002-11-06 | 2004-05-21 | Tellique Kommunikationstechnik Gmbh | Verfahren zum vorabübertragen strukturierter datenmengen zwischen einer cliente-einrichtung und einer servereinrichtung |
US20110126255A1 (en) * | 2002-12-10 | 2011-05-26 | Onlive, Inc. | System and method for remote-hosted video effects |
US8549574B2 (en) | 2002-12-10 | 2013-10-01 | Ol2, Inc. | Method of combining linear content and interactive content compressed together as streaming interactive video |
US9032465B2 (en) * | 2002-12-10 | 2015-05-12 | Ol2, Inc. | Method for multicasting views of real-time streaming interactive video |
US8387099B2 (en) | 2002-12-10 | 2013-02-26 | Ol2, Inc. | System for acceleration of web page delivery |
US8949922B2 (en) * | 2002-12-10 | 2015-02-03 | Ol2, Inc. | System for collaborative conferencing using streaming interactive video |
US9108107B2 (en) | 2002-12-10 | 2015-08-18 | Sony Computer Entertainment America Llc | Hosting and broadcasting virtual events using streaming interactive video |
US8661496B2 (en) | 2002-12-10 | 2014-02-25 | Ol2, Inc. | System for combining a plurality of views of real-time streaming interactive video |
US8893207B2 (en) | 2002-12-10 | 2014-11-18 | Ol2, Inc. | System and method for compressing streaming interactive video |
US8468575B2 (en) | 2002-12-10 | 2013-06-18 | Ol2, Inc. | System for recursive recombination of streaming interactive video |
US8495678B2 (en) | 2002-12-10 | 2013-07-23 | Ol2, Inc. | System for reporting recorded video preceding system failures |
US8832772B2 (en) | 2002-12-10 | 2014-09-09 | Ol2, Inc. | System for combining recorded application state with application streaming interactive video output |
US20090118019A1 (en) | 2002-12-10 | 2009-05-07 | Onlive, Inc. | System for streaming databases serving real-time applications used through streaming interactive video |
US9003461B2 (en) | 2002-12-10 | 2015-04-07 | Ol2, Inc. | Streaming interactive video integrated with recorded video segments |
US8840475B2 (en) | 2002-12-10 | 2014-09-23 | Ol2, Inc. | Method for user session transitioning among streaming interactive video servers |
JP2004192493A (ja) * | 2002-12-13 | 2004-07-08 | Hitachi Ltd | 記憶デバイス制御装置、情報処理装置、およびプログラム |
US7865536B1 (en) * | 2003-02-14 | 2011-01-04 | Google Inc. | Garbage collecting systems and methods |
JP4288978B2 (ja) | 2003-03-27 | 2009-07-01 | 株式会社日立製作所 | データ先読み方法 |
US8001088B2 (en) * | 2003-04-04 | 2011-08-16 | Avid Technology, Inc. | Indexing media files in a distributed, multi-user system for managing and editing digital media |
US7680897B1 (en) * | 2003-04-08 | 2010-03-16 | Novell, Inc. | Methods and systems for managing network traffic |
JP4073819B2 (ja) * | 2003-04-10 | 2008-04-09 | エボリウム・エス・アー・エス | 携帯電話への動画情報のプッシュ型配信方法 |
JP4131514B2 (ja) * | 2003-04-21 | 2008-08-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワークシステム、サーバ、データ処理方法及びプログラム |
US7310707B2 (en) * | 2003-05-15 | 2007-12-18 | Seagate Technology Llc | Adaptive resource controlled write-back aging for a data storage device |
US7631310B1 (en) * | 2003-11-14 | 2009-12-08 | Google Inc. | Loadbalancing multiple files across computing devices |
US7627644B2 (en) * | 2003-11-28 | 2009-12-01 | Canon Kabushiki Kaisha | Recipient-centred proactive caching in a peer-to-peer system |
ATE475949T1 (de) * | 2003-12-09 | 2010-08-15 | Sap Ag | Industrielles steuerungssystem und datenverarbeitungsverfahren dafür |
US8195761B2 (en) * | 2004-01-13 | 2012-06-05 | International Business Machines Corporation | Prefetching web resources based on proxy triggers |
US7483941B2 (en) * | 2004-01-13 | 2009-01-27 | International Business Machines Corporation | System and method for dynamically inserting prefetch tags by the web server |
US7546367B2 (en) | 2004-01-15 | 2009-06-09 | Novell, Inc. | Methods and systems for managing network traffic by multiple constraints |
JP4477365B2 (ja) * | 2004-01-29 | 2010-06-09 | 株式会社日立製作所 | 複数インタフェースを有する記憶装置、および、その記憶装置の制御方法 |
US7263579B2 (en) * | 2004-03-24 | 2007-08-28 | Intel Corporation | Integrated circuit capable of pre-fetching data |
US8234414B2 (en) | 2004-03-31 | 2012-07-31 | Qurio Holdings, Inc. | Proxy caching in a photosharing peer-to-peer network to improve guest image viewing performance |
US20050262246A1 (en) * | 2004-04-19 | 2005-11-24 | Satish Menon | Systems and methods for load balancing storage and streaming media requests in a scalable, cluster-based architecture for real-time streaming |
US9002778B2 (en) * | 2004-06-22 | 2015-04-07 | International Business Machines Corporation | Designing aggregates based on access patterns in dimensions |
JP4131862B2 (ja) * | 2004-07-01 | 2008-08-13 | Dts株式会社 | 3.5インチ定形型ディスク形状を持ったデータトランスミッション装置 |
JP4873653B2 (ja) * | 2004-10-06 | 2012-02-08 | トムソン ライセンシング | データをキャッシングする方法およびシステム |
US7698386B2 (en) * | 2004-11-16 | 2010-04-13 | Qurio Holdings, Inc. | Serving content from an off-line peer server in a photosharing peer-to-peer network in response to a guest request |
US7516239B2 (en) * | 2004-12-30 | 2009-04-07 | Sap, Aktiengesellschaft | Tool for optimizing system performance and methods relating to same |
US8438297B1 (en) | 2005-01-31 | 2013-05-07 | At&T Intellectual Property Ii, L.P. | Method and system for supplying media over communication networks |
US7567565B2 (en) | 2005-02-01 | 2009-07-28 | Time Warner Cable Inc. | Method and apparatus for network bandwidth conservation |
US7640292B1 (en) * | 2005-04-29 | 2009-12-29 | Netapp, Inc. | Physical server to virtual server migration |
US20060253658A1 (en) * | 2005-05-04 | 2006-11-09 | International Business Machines Corporation | Provisioning or de-provisioning shared or reusable storage volumes |
US20060277271A1 (en) * | 2005-06-07 | 2006-12-07 | Yahoo! Inc. | Prefetching content based on a mobile user profile |
US8732234B2 (en) * | 2005-06-07 | 2014-05-20 | Yahoo! Inc. | Providing relevant non-requested content to a mobile device |
US8688801B2 (en) * | 2005-07-25 | 2014-04-01 | Qurio Holdings, Inc. | Syndication feeds for peer computer devices and peer networks |
GB2430507A (en) * | 2005-09-21 | 2007-03-28 | Stephen Robert Ives | System for managing the display of sponsored links together with search results on a mobile/wireless device |
US20070130121A1 (en) * | 2005-12-01 | 2007-06-07 | Dolph Blaine H | System and method of displaying a document including an embedded link |
US8788572B1 (en) * | 2005-12-27 | 2014-07-22 | Qurio Holdings, Inc. | Caching proxy server for a peer-to-peer photosharing system |
JP4722724B2 (ja) * | 2006-02-16 | 2011-07-13 | 三菱電機株式会社 | 監視制御システム |
US7659905B2 (en) * | 2006-02-22 | 2010-02-09 | Ebay Inc. | Method and system to pre-fetch data in a network |
US8170065B2 (en) | 2006-02-27 | 2012-05-01 | Time Warner Cable Inc. | Methods and apparatus for selecting digital access technology for programming and data delivery |
US8718100B2 (en) | 2006-02-27 | 2014-05-06 | Time Warner Cable Enterprises Llc | Methods and apparatus for selecting digital interface technology for programming and data delivery |
US8458753B2 (en) | 2006-02-27 | 2013-06-04 | Time Warner Cable Enterprises Llc | Methods and apparatus for device capabilities discovery and utilization within a content-based network |
US7761659B2 (en) * | 2006-06-30 | 2010-07-20 | Seagate Technology Llc | Wave flushing of cached writeback data to a storage array |
US7743216B2 (en) * | 2006-06-30 | 2010-06-22 | Seagate Technology Llc | Predicting accesses to non-requested data |
US8234457B2 (en) * | 2006-06-30 | 2012-07-31 | Seagate Technology Llc | Dynamic adaptive flushing of cached data |
US8363519B2 (en) * | 2006-06-30 | 2013-01-29 | Seagate Technology Llc | Hot data zones |
US7590800B2 (en) * | 2006-06-30 | 2009-09-15 | Seagate Technology Llc | 2D dynamic adaptive data caching |
US8225192B2 (en) * | 2006-10-31 | 2012-07-17 | Microsoft Corporation | Extensible cache-safe links to files in a web page |
US7934058B2 (en) * | 2006-12-14 | 2011-04-26 | Microsoft Corporation | Predictive caching of assets to improve level load time on a game console |
US8006281B2 (en) | 2006-12-21 | 2011-08-23 | Microsoft Corporation | Network accessible trusted code |
US7941609B2 (en) * | 2007-02-23 | 2011-05-10 | Microsoft Corporation | HTTP acceleration by prediction and pre-fetching |
JP2008225914A (ja) * | 2007-03-13 | 2008-09-25 | Fujitsu Ltd | プリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法 |
US20080235746A1 (en) | 2007-03-20 | 2008-09-25 | Michael James Peters | Methods and apparatus for content delivery and replacement in a network |
US8782075B2 (en) * | 2007-05-08 | 2014-07-15 | Paraccel Llc | Query handling in databases with replicated data |
US8682916B2 (en) | 2007-05-25 | 2014-03-25 | F5 Networks, Inc. | Remote file virtualization in a switched file system |
US7802006B2 (en) * | 2007-06-13 | 2010-09-21 | Microsoft Corporation | Multi-location buffering of streaming media data |
US8370424B2 (en) | 2007-06-22 | 2013-02-05 | Aol Inc. | Systems and methods for caching and serving dynamic content |
US8028090B2 (en) | 2008-11-17 | 2011-09-27 | Amazon Technologies, Inc. | Request routing utilizing client location information |
US7991910B2 (en) | 2008-11-17 | 2011-08-02 | Amazon Technologies, Inc. | Updating routing information based on client location |
US9071859B2 (en) | 2007-09-26 | 2015-06-30 | Time Warner Cable Enterprises Llc | Methods and apparatus for user-based targeted content delivery |
US8561116B2 (en) | 2007-09-26 | 2013-10-15 | Charles A. Hasek | Methods and apparatus for content caching in a video network |
US8099757B2 (en) | 2007-10-15 | 2012-01-17 | Time Warner Cable Inc. | Methods and apparatus for revenue-optimized delivery of content in a network |
US8301776B2 (en) * | 2007-11-19 | 2012-10-30 | Arris Solutions, Inc. | Switched stream server architecture |
US20090172290A1 (en) * | 2007-12-31 | 2009-07-02 | Wang Jason H | Replacing stored content to make room for additional content |
US8813143B2 (en) | 2008-02-26 | 2014-08-19 | Time Warner Enterprises LLC | Methods and apparatus for business-based network resource allocation |
US8447831B1 (en) | 2008-03-31 | 2013-05-21 | Amazon Technologies, Inc. | Incentive driven content delivery |
US7970820B1 (en) | 2008-03-31 | 2011-06-28 | Amazon Technologies, Inc. | Locality based content distribution |
US8601090B1 (en) | 2008-03-31 | 2013-12-03 | Amazon Technologies, Inc. | Network resource identification |
US8321568B2 (en) * | 2008-03-31 | 2012-11-27 | Amazon Technologies, Inc. | Content management |
US7962597B2 (en) | 2008-03-31 | 2011-06-14 | Amazon Technologies, Inc. | Request routing based on class |
US8533293B1 (en) | 2008-03-31 | 2013-09-10 | Amazon Technologies, Inc. | Client side cache management |
US8606996B2 (en) | 2008-03-31 | 2013-12-10 | Amazon Technologies, Inc. | Cache optimization |
US8682853B2 (en) | 2008-05-16 | 2014-03-25 | Paraccel Llc | System and method for enhancing storage performance in analytical database applications |
US8019939B2 (en) * | 2008-06-02 | 2011-09-13 | Intel Corporation | Detecting data mining processes to increase caching efficiency |
US8458170B2 (en) * | 2008-06-30 | 2013-06-04 | Yahoo! Inc. | Prefetching data for document ranking |
US9912740B2 (en) | 2008-06-30 | 2018-03-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US9407681B1 (en) | 2010-09-28 | 2016-08-02 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US8126862B2 (en) * | 2008-08-11 | 2012-02-28 | Mcdermott Matt | System for enhanced customer service |
US8732309B1 (en) | 2008-11-17 | 2014-05-20 | Amazon Technologies, Inc. | Request routing utilizing cost information |
US8122098B1 (en) | 2008-11-17 | 2012-02-21 | Amazon Technologies, Inc. | Managing content delivery network service providers by a content broker |
US8073940B1 (en) | 2008-11-17 | 2011-12-06 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US8260877B2 (en) | 2008-12-31 | 2012-09-04 | Apple Inc. | Variant streams for real-time or near real-time streaming to provide failover protection |
US8156089B2 (en) | 2008-12-31 | 2012-04-10 | Apple, Inc. | Real-time or near real-time streaming with compressed playlists |
US8099476B2 (en) | 2008-12-31 | 2012-01-17 | Apple Inc. | Updatable real-time or near real-time streaming |
US20100191725A1 (en) * | 2009-01-23 | 2010-07-29 | Mehmet Kivanc Ozonat | A system and method for discovering providers |
US20100191724A1 (en) * | 2009-01-23 | 2010-07-29 | Mehmet Kivanc Ozonat | Method and system to identify providers in web documents |
US8694734B2 (en) | 2009-01-31 | 2014-04-08 | International Business Machines Corporation | Expiring virtual content from a cache in a virtual universe |
US20120044887A1 (en) * | 2009-02-13 | 2012-02-23 | Nec Europe Ltd. | Communication network and method for operating a communication network |
US9348842B2 (en) * | 2009-03-23 | 2016-05-24 | Riverbed Technology, Inc. | Virtualized data storage system optimizations |
US8412823B1 (en) | 2009-03-27 | 2013-04-02 | Amazon Technologies, Inc. | Managing tracking information entries in resource cache components |
US8756341B1 (en) | 2009-03-27 | 2014-06-17 | Amazon Technologies, Inc. | Request routing utilizing popularity information |
US8521851B1 (en) | 2009-03-27 | 2013-08-27 | Amazon Technologies, Inc. | DNS query processing using resource identifiers specifying an application broker |
US8688837B1 (en) | 2009-03-27 | 2014-04-01 | Amazon Technologies, Inc. | Dynamically translating resource identifiers for request routing using popularity information |
EP2704402B1 (en) * | 2009-06-03 | 2015-08-12 | Telefonaktiebolaget L M Ericsson (publ) | Method and node for distributing electronic content in a content distribution network |
US9866609B2 (en) | 2009-06-08 | 2018-01-09 | Time Warner Cable Enterprises Llc | Methods and apparatus for premises content distribution |
US8782236B1 (en) | 2009-06-16 | 2014-07-15 | Amazon Technologies, Inc. | Managing resources using resource expiration data |
US8886760B2 (en) * | 2009-06-30 | 2014-11-11 | Sandisk Technologies Inc. | System and method of predictive data acquisition |
US8397073B1 (en) | 2009-09-04 | 2013-03-12 | Amazon Technologies, Inc. | Managing secure content in a content delivery network |
US8433771B1 (en) | 2009-10-02 | 2013-04-30 | Amazon Technologies, Inc. | Distribution network with forward resource propagation |
WO2011072178A1 (en) * | 2009-12-09 | 2011-06-16 | Bizanga Ltd. | Probabilistic offload engine for distributed hierarchical object storage devices |
US8819183B2 (en) * | 2009-12-15 | 2014-08-26 | International Business Machines Corporation | Concurrent execution of request processing and analytics of requests |
US8892762B2 (en) * | 2009-12-15 | 2014-11-18 | International Business Machines Corporation | Multi-granular stream processing |
US8874638B2 (en) * | 2009-12-15 | 2014-10-28 | International Business Machines Corporation | Interactive analytics processing |
US9495338B1 (en) | 2010-01-28 | 2016-11-15 | Amazon Technologies, Inc. | Content distribution network |
US9195500B1 (en) | 2010-02-09 | 2015-11-24 | F5 Networks, Inc. | Methods for seamless storage importing and devices thereof |
JP5192506B2 (ja) * | 2010-03-12 | 2013-05-08 | 株式会社日立製作所 | ファイルキャッシュの管理方法、装置、及び、プログラム |
US8805963B2 (en) | 2010-04-01 | 2014-08-12 | Apple Inc. | Real-time or near real-time streaming |
GB201105502D0 (en) * | 2010-04-01 | 2011-05-18 | Apple Inc | Real time or near real time streaming |
TWI451279B (zh) | 2010-04-07 | 2014-09-01 | Apple Inc | 即時或接近即時串流傳輸之內容存取控制 |
CN102331985B (zh) | 2010-07-12 | 2013-09-25 | 阿里巴巴集团控股有限公司 | 网页页面的分片嵌套缓存的处理方法和装置 |
US9712484B1 (en) | 2010-09-28 | 2017-07-18 | Amazon Technologies, Inc. | Managing request routing information utilizing client identifiers |
US9003035B1 (en) | 2010-09-28 | 2015-04-07 | Amazon Technologies, Inc. | Point of presence management in request routing |
US8819283B2 (en) | 2010-09-28 | 2014-08-26 | Amazon Technologies, Inc. | Request routing in a networked environment |
US10958501B1 (en) | 2010-09-28 | 2021-03-23 | Amazon Technologies, Inc. | Request routing information based on client IP groupings |
US8577992B1 (en) | 2010-09-28 | 2013-11-05 | Amazon Technologies, Inc. | Request routing management based on network components |
US8468247B1 (en) | 2010-09-28 | 2013-06-18 | Amazon Technologies, Inc. | Point of presence management in request routing |
US10097398B1 (en) | 2010-09-28 | 2018-10-09 | Amazon Technologies, Inc. | Point of presence management in request routing |
US9286298B1 (en) | 2010-10-14 | 2016-03-15 | F5 Networks, Inc. | Methods for enhancing management of backup data sets and devices thereof |
US20120102134A1 (en) * | 2010-10-21 | 2012-04-26 | International Business Machines Corporation | Cache sharing among branch proxy servers via a master proxy server at a data center |
US8782335B2 (en) * | 2010-11-08 | 2014-07-15 | Lsi Corporation | Latency reduction associated with a response to a request in a storage system |
US8452874B2 (en) | 2010-11-22 | 2013-05-28 | Amazon Technologies, Inc. | Request routing processing |
US20120167122A1 (en) * | 2010-12-27 | 2012-06-28 | Nokia Corporation | Method and apparatus for pre-initializing application rendering processes |
WO2012092602A2 (en) * | 2010-12-30 | 2012-07-05 | Peerapp Ltd. | Methods and systems for caching data communications over computer networks |
WO2012092586A2 (en) | 2010-12-30 | 2012-07-05 | Peerapp Ltd. | Methods and systems for transmission of data over computer networks |
WO2012094330A1 (en) * | 2011-01-03 | 2012-07-12 | Planetary Data LLC | Community internet drive |
US9311135B2 (en) | 2011-01-18 | 2016-04-12 | Scality, S.A. | Method for generating universal objects identifiers in distributed multi-purpose storage systems |
US10467042B1 (en) | 2011-04-27 | 2019-11-05 | Amazon Technologies, Inc. | Optimized deployment based upon customer locality |
US8856283B2 (en) | 2011-06-03 | 2014-10-07 | Apple Inc. | Playlists for real-time or near real-time streaming |
US8843586B2 (en) | 2011-06-03 | 2014-09-23 | Apple Inc. | Playlists for real-time or near real-time streaming |
US9769285B2 (en) | 2011-06-14 | 2017-09-19 | Google Inc. | Access to network content |
US8788711B2 (en) | 2011-06-14 | 2014-07-22 | Google Inc. | Redacting content and inserting hypertext transfer protocol (HTTP) error codes in place thereof |
US8650139B2 (en) | 2011-07-01 | 2014-02-11 | Google Inc. | Predicting user navigation events |
WO2013004268A1 (en) * | 2011-07-01 | 2013-01-10 | Nokia Siemens Networks Oy | Caching content |
US9733983B2 (en) * | 2011-09-27 | 2017-08-15 | Oracle International Corporation | System and method for surge protection and rate acceleration in a traffic director environment |
WO2013060367A1 (en) * | 2011-10-27 | 2013-05-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Caching in wireless communication networks |
KR101593344B1 (ko) | 2011-11-10 | 2016-02-18 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 이력 플레이어 데이터를 이용한 추론적인 렌더링 |
US10681394B2 (en) | 2011-11-28 | 2020-06-09 | Comcast Cable Communications, Llc | Cache eviction during off-peak transaction time period |
US9313083B2 (en) | 2011-12-09 | 2016-04-12 | Empire Technology Development Llc | Predictive caching of game content data |
US8977704B2 (en) | 2011-12-29 | 2015-03-10 | Nokia Corporation | Method and apparatus for flexible caching of delivered media |
US9401968B2 (en) * | 2012-01-20 | 2016-07-26 | Nokia Techologies Oy | Method and apparatus for enabling pre-fetching of media |
US9020912B1 (en) | 2012-02-20 | 2015-04-28 | F5 Networks, Inc. | Methods for accessing data in a compressed file system and devices thereof |
US10021179B1 (en) | 2012-02-21 | 2018-07-10 | Amazon Technologies, Inc. | Local resource delivery network |
US10623408B1 (en) | 2012-04-02 | 2020-04-14 | Amazon Technologies, Inc. | Context sensitive object management |
US9946792B2 (en) * | 2012-05-15 | 2018-04-17 | Google Llc | Access to network content |
US9154551B1 (en) | 2012-06-11 | 2015-10-06 | Amazon Technologies, Inc. | Processing DNS queries to identify pre-processing information |
US9088461B2 (en) * | 2012-06-21 | 2015-07-21 | International Business Machines Corporation | Common web accessible data store for client side page processing |
GB2503266A (en) | 2012-06-21 | 2013-12-25 | Ibm | Sharing aggregated cache hit and miss data in a storage area network |
US9854280B2 (en) | 2012-07-10 | 2017-12-26 | Time Warner Cable Enterprises Llc | Apparatus and methods for selective enforcement of secondary content viewing |
US9122766B2 (en) * | 2012-09-06 | 2015-09-01 | Microsoft Technology Licensing, Llc | Replacement time based caching for providing server-hosted content |
US9323577B2 (en) | 2012-09-20 | 2016-04-26 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US9519501B1 (en) | 2012-09-30 | 2016-12-13 | F5 Networks, Inc. | Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system |
US9131283B2 (en) | 2012-12-14 | 2015-09-08 | Time Warner Cable Enterprises Llc | Apparatus and methods for multimedia coordination |
US10205698B1 (en) | 2012-12-19 | 2019-02-12 | Amazon Technologies, Inc. | Source-dependent address resolution |
JP2014130420A (ja) * | 2012-12-28 | 2014-07-10 | Hitachi Ltd | 計算機システム及び計算機の制御方法 |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US9554418B1 (en) | 2013-02-28 | 2017-01-24 | F5 Networks, Inc. | Device for topology hiding of a visited network |
US10705854B2 (en) * | 2013-03-14 | 2020-07-07 | Comcast Cable Communications, Llc | Optimized user interface delivery |
US9294391B1 (en) | 2013-06-04 | 2016-03-22 | Amazon Technologies, Inc. | Managing network computing components utilizing request routing |
CN104348852B (zh) | 2013-07-26 | 2019-06-14 | 南京中兴新软件有限责任公司 | 一种实现电信能力群发的方法、装置及系统 |
US9614925B2 (en) * | 2014-03-31 | 2017-04-04 | Futurewei Technologies, Inc. | Intelligent file pre-fetch based on access patterns |
WO2015157646A1 (en) * | 2014-04-11 | 2015-10-15 | Ensighten, Inc. | Url prefetching |
US11095743B2 (en) | 2014-07-16 | 2021-08-17 | Tensera Networks Ltd. | Optimized content-delivery network (CDN) for the wireless last mile |
KR102260177B1 (ko) * | 2014-07-16 | 2021-06-04 | 텐세라 네트워크스 리미티드 | 선택된 시각에서 개런티 프리페칭을 사용하는 무선 네트워크를 통한 효과적인 콘텐트 전달 |
US9979796B1 (en) | 2014-07-16 | 2018-05-22 | Tensera Networks Ltd. | Efficient pre-fetching notifications |
US10432748B2 (en) * | 2014-07-16 | 2019-10-01 | Tensera Networks Ltd. | Efficient content delivery over wireless networks using guaranteed prefetching at selected times-of-day |
US10097448B1 (en) | 2014-12-18 | 2018-10-09 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10091096B1 (en) | 2014-12-18 | 2018-10-02 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10033627B1 (en) | 2014-12-18 | 2018-07-24 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US9942398B2 (en) * | 2015-02-03 | 2018-04-10 | At&T Intellectual Property I, L.P. | Just-in time data positioning for customer service interactions |
US10225326B1 (en) | 2015-03-23 | 2019-03-05 | Amazon Technologies, Inc. | Point of presence based data uploading |
US9819567B1 (en) | 2015-03-30 | 2017-11-14 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9887931B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9887932B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US9832141B1 (en) | 2015-05-13 | 2017-11-28 | Amazon Technologies, Inc. | Routing based request correlation |
US11070608B2 (en) * | 2015-06-17 | 2021-07-20 | Fastly, Inc. | Expedited sub-resource loading |
US10616179B1 (en) | 2015-06-25 | 2020-04-07 | Amazon Technologies, Inc. | Selective routing of domain name system (DNS) requests |
US10097566B1 (en) | 2015-07-31 | 2018-10-09 | Amazon Technologies, Inc. | Identifying targets of network attacks |
US10320934B1 (en) * | 2015-08-25 | 2019-06-11 | Instart Logic, Inc. | One-time cache |
US9774619B1 (en) | 2015-09-24 | 2017-09-26 | Amazon Technologies, Inc. | Mitigating network attacks |
US9794281B1 (en) | 2015-09-24 | 2017-10-17 | Amazon Technologies, Inc. | Identifying sources of network attacks |
US9742795B1 (en) | 2015-09-24 | 2017-08-22 | Amazon Technologies, Inc. | Mitigating network attacks |
US10659532B2 (en) * | 2015-09-26 | 2020-05-19 | Intel Corporation | Technologies for reducing latency variation of stored data object requests |
US10270878B1 (en) | 2015-11-10 | 2019-04-23 | Amazon Technologies, Inc. | Routing for origin-facing points of presence |
US10049051B1 (en) | 2015-12-11 | 2018-08-14 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10257307B1 (en) | 2015-12-11 | 2019-04-09 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10348639B2 (en) | 2015-12-18 | 2019-07-09 | Amazon Technologies, Inc. | Use of virtual endpoints to improve data transmission rates |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US10742720B2 (en) * | 2016-02-29 | 2020-08-11 | Seagate Technology Llc | Cloud storage accelerator |
US10687115B2 (en) | 2016-06-01 | 2020-06-16 | Time Warner Cable Enterprises Llc | Cloud-based digital content recorder apparatus and methods |
US10075551B1 (en) | 2016-06-06 | 2018-09-11 | Amazon Technologies, Inc. | Request management for hierarchical cache |
US10110694B1 (en) | 2016-06-29 | 2018-10-23 | Amazon Technologies, Inc. | Adaptive transfer rate for retrieving content from a server |
US9992086B1 (en) | 2016-08-23 | 2018-06-05 | Amazon Technologies, Inc. | External health checking of virtual private cloud network environments |
US10033691B1 (en) | 2016-08-24 | 2018-07-24 | Amazon Technologies, Inc. | Adaptive resolution of domain name requests in virtual private cloud network environments |
US10503654B2 (en) | 2016-09-01 | 2019-12-10 | Intel Corporation | Selective caching of erasure coded fragments in a distributed storage system |
US10469513B2 (en) | 2016-10-05 | 2019-11-05 | Amazon Technologies, Inc. | Encrypted network addresses |
US10911794B2 (en) | 2016-11-09 | 2021-02-02 | Charter Communications Operating, Llc | Apparatus and methods for selective secondary content insertion in a digital network |
US10831549B1 (en) | 2016-12-27 | 2020-11-10 | Amazon Technologies, Inc. | Multi-region request-driven code execution system |
US10372499B1 (en) | 2016-12-27 | 2019-08-06 | Amazon Technologies, Inc. | Efficient region selection system for executing request-driven code |
US10938884B1 (en) | 2017-01-30 | 2021-03-02 | Amazon Technologies, Inc. | Origin server cloaking using virtual private cloud network environments |
US10503613B1 (en) | 2017-04-21 | 2019-12-10 | Amazon Technologies, Inc. | Efficient serving of resources during server unavailability |
US11075987B1 (en) | 2017-06-12 | 2021-07-27 | Amazon Technologies, Inc. | Load estimating content delivery network |
US10447648B2 (en) | 2017-06-19 | 2019-10-15 | Amazon Technologies, Inc. | Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP |
JP7003470B2 (ja) | 2017-07-18 | 2022-01-20 | 富士通株式会社 | 情報処理装置、情報処理方法、及びプログラム |
US11109290B2 (en) | 2017-08-04 | 2021-08-31 | Charter Communications Operating, Llc | Switching connections over frequency bands of a wireless network |
US10742593B1 (en) | 2017-09-25 | 2020-08-11 | Amazon Technologies, Inc. | Hybrid content request routing system |
US11245607B2 (en) * | 2017-12-07 | 2022-02-08 | Vmware, Inc. | Dynamic data movement between cloud and on-premise storages |
US10939142B2 (en) | 2018-02-27 | 2021-03-02 | Charter Communications Operating, Llc | Apparatus and methods for content storage, distribution and security within a content distribution network |
US12099856B2 (en) | 2018-03-05 | 2024-09-24 | Tensera Networks Ltd. | Robust application preloading with accurate user experience |
WO2019171237A1 (en) | 2018-03-05 | 2019-09-12 | Tensera Networks Ltd. | Application preloading in the presence of user actions |
US11922187B2 (en) | 2018-03-05 | 2024-03-05 | Tensera Networks Ltd. | Robust application preloading with accurate user experience |
US10592578B1 (en) | 2018-03-07 | 2020-03-17 | Amazon Technologies, Inc. | Predictive content push-enabled content delivery network |
US10862852B1 (en) | 2018-11-16 | 2020-12-08 | Amazon Technologies, Inc. | Resolution of domain name requests in heterogeneous network environments |
US11025747B1 (en) | 2018-12-12 | 2021-06-01 | Amazon Technologies, Inc. | Content request pattern-based routing system |
US11656992B2 (en) | 2019-05-03 | 2023-05-23 | Western Digital Technologies, Inc. | Distributed cache with in-network prefetch |
CN114144777A (zh) | 2019-07-30 | 2022-03-04 | 腾赛拉网络有限公司 | 用户设备中应用用户界面的预渲染 |
US20210117808A1 (en) * | 2019-10-17 | 2021-04-22 | EMC IP Holding Company LLC | Direct-learning agent for dynamically adjusting san caching policy |
US11765250B2 (en) | 2020-06-26 | 2023-09-19 | Western Digital Technologies, Inc. | Devices and methods for managing network traffic for a distributed cache |
US11675706B2 (en) | 2020-06-30 | 2023-06-13 | Western Digital Technologies, Inc. | Devices and methods for failure detection and recovery for a distributed cache |
US11736417B2 (en) | 2020-08-17 | 2023-08-22 | Western Digital Technologies, Inc. | Devices and methods for network message sequencing |
WO2022118131A1 (en) | 2020-12-03 | 2022-06-09 | Tensera Networks | Preloading of applications having an existing task |
US12088470B2 (en) | 2020-12-18 | 2024-09-10 | Western Digital Technologies, Inc. | Management of non-volatile memory express nodes |
WO2022130156A1 (en) | 2020-12-20 | 2022-06-23 | Tensera Networks Ltd. | Preloading of applications transparently to user |
US20220212100A1 (en) * | 2021-01-04 | 2022-07-07 | Microsoft Technology Licensing, Llc | Systems and methods for streaming interactive applications |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5944780A (en) | 1997-05-05 | 1999-08-31 | At&T Corp | Network with shared caching |
US6260061B1 (en) | 1997-11-25 | 2001-07-10 | Lucent Technologies Inc. | Technique for effectively managing proxy servers in intranets |
US6023726A (en) | 1998-01-20 | 2000-02-08 | Netscape Communications Corporation | User configurable prefetch control system for enabling client to prefetch documents from a network server |
US6098064A (en) | 1998-05-22 | 2000-08-01 | Xerox Corporation | Prefetching and caching documents according to probability ranked need S list |
SE514376C2 (sv) * | 1998-09-24 | 2001-02-19 | Mirror Image Internet Inc | Ett internet-cachningssystem samt ett förfarande och anordning i ett sådant system |
US6228469B1 (en) | 1999-09-07 | 2001-05-08 | Corning Incorporated | Protective coating on metal |
US20020073167A1 (en) | 1999-12-08 | 2002-06-13 | Powell Kyle E. | Internet content delivery acceleration system employing a hybrid content selection scheme |
US6976090B2 (en) * | 2000-04-20 | 2005-12-13 | Actona Technologies Ltd. | Differentiated content and application delivery via internet |
CA2415888C (en) * | 2000-08-04 | 2008-10-21 | Avaya Technology Corporation | Intelligent demand driven recognition of url objects in connection oriented transactions |
US20020133537A1 (en) * | 2001-03-12 | 2002-09-19 | Whizz Technology Ltd. | Server cluster and server-side cooperative caching method for use with same |
US6829637B2 (en) * | 2001-07-26 | 2004-12-07 | International Business Machines Corporation | Distributed shared memory for server clusters |
-
2002
- 2002-04-04 US US10/117,506 patent/US6868439B2/en not_active Expired - Fee Related
-
2003
- 2003-03-25 EP EP03718059A patent/EP1490797A1/en not_active Withdrawn
- 2003-03-25 AU AU2003222074A patent/AU2003222074A1/en not_active Abandoned
- 2003-03-25 JP JP2003582676A patent/JP4294494B2/ja not_active Expired - Fee Related
- 2003-03-25 WO PCT/US2003/009171 patent/WO2003085560A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US6868439B2 (en) | 2005-03-15 |
US20030195940A1 (en) | 2003-10-16 |
JP2006501535A (ja) | 2006-01-12 |
EP1490797A1 (en) | 2004-12-29 |
AU2003222074A1 (en) | 2003-10-20 |
WO2003085560A1 (en) | 2003-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4294494B2 (ja) | 複数のキャッシュサーバによる共有ストレージの使用を管理するデバイスおよび方法 | |
US7130890B1 (en) | Method and system for adaptively prefetching objects from a network | |
US6182111B1 (en) | Method and system for managing distributed data | |
US6766422B2 (en) | Method and system for web caching based on predictive usage | |
US6883068B2 (en) | Methods and apparatus for implementing a chche replacement scheme | |
US8745262B2 (en) | Adaptive network content delivery system | |
US8612668B2 (en) | Storage optimization system based on object size | |
US6370620B1 (en) | Web object caching and apparatus for performing the same | |
US6330561B1 (en) | Method and apparatus for improving end to end performance of a data network | |
EP2359536B1 (en) | Adaptive network content delivery system | |
US7860993B2 (en) | Streaming media content delivery system and method for delivering streaming content | |
US7058763B2 (en) | File system for caching web proxies | |
KR101228230B1 (ko) | 컨텐츠 전달 네트워크 내의 노드에서 하나 이상의 컨텐츠 아이템을 캐싱하는 방법, 장치 및 제품 | |
US20030115346A1 (en) | Multi-proxy network edge cache system and methods | |
US20020004917A1 (en) | Network object cache engine | |
US20020133537A1 (en) | Server cluster and server-side cooperative caching method for use with same | |
US20030115421A1 (en) | Centralized bounded domain caching control system for network edge servers | |
CN104915319A (zh) | 高速缓存信息的系统及方法 | |
JP2004511840A (ja) | 他のノードのキャッシュに基づくあるノードのキャッシュ内のデータの置換管理 | |
JP5163171B2 (ja) | キャッシュシステムおよびサーバ | |
JP2004118482A (ja) | 記憶装置、および、キャッシュ方法 | |
US6915386B2 (en) | Processing service level agreement (SLA) terms in a caching component of a storage system | |
JP2001306433A (ja) | 費用効率の高いコンテンツ配信サービスのためのシステムおよび方法 | |
JP2002511170A (ja) | ネットワークオブジェクトキャッシュエンジン | |
JP2004310630A (ja) | キャッシュ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080919 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20081218 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20081226 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090310 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20090310 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090401 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090408 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120417 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120417 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130417 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140417 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |