JP4294494B2 - 複数のキャッシュサーバによる共有ストレージの使用を管理するデバイスおよび方法 - Google Patents

複数のキャッシュサーバによる共有ストレージの使用を管理するデバイスおよび方法 Download PDF

Info

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
Application number
JP2003582676A
Other languages
English (en)
Other versions
JP2006501535A (ja
JP2006501535A5 (ja
Inventor
スジョイ・バス
ラジェンドラ・クマー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2006501535A publication Critical patent/JP2006501535A/ja
Publication of JP2006501535A5 publication Critical patent/JP2006501535A5/ja
Application granted granted Critical
Publication of JP4294494B2 publication Critical patent/JP4294494B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing 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組のこのようなオブジェクトを、磁気ディスクや光ディスク等の低速で安価なランダムアクセス周辺ストレージデバイスにキャッシュする。
さらに大きな1組のオブジェクトは、SAN(「ストレージエリアネットワーク」)やNAS(「ネットワーク接続型ストレージ」)等のネットワーク接続されたストレージ媒体にローカルにキャッシュされうる。
このネットワーク接続されたストレージ媒体は、リモートサーバから入手する場合よりも高帯域幅、かつ、短い待ち時間を提供する光ファイバケーブル等の比較的短距離で高速な伝送媒体を介して、キャッシュサーバ(ならびに他のローカルクライアントおよび/またはサーバによっても)によりアクセス可能である。
プリフェッチは、現時点および/または過去のファイル要求を分析して、どのファイルが今後要求される可能性があるかを予測する既知の技法であり、それらの予測を使用して、ファイルが実際に要求される前に、緊急度の低さに基づいてリモートサーバからファイルを検索する。
それによって、待ち時間(要求と応答との間の遅延)だけでなくネットワーク輻輳が削減される。
国際公開第01/42941号 米国特許第6260061号 国際公開第00/17765号 欧州特許出願公開第0877326号 Rabinovich M 及びSpatscheck O, 「Web Caching and Replication」, ADDISON WESLEY PROFESSIONAL, XP002248389, Chapter 11-12, p177-181, p183-206, p331-343 Paul S 他, 「Distributed Caching with Centralized Control」, 2000年2月1日, COMPUTER COMMUNICATIONS, ELSEVIER SCIENCE PUBLISHERS BV, AMSTERDAM NL, vol. 24, no. 2, p256-268, XP004228468 Foygel D 他, 「Reducing Web Latency with Hierarchical Cach-based Prefetching」, 2000年8月21日, INTERNATIONAL WORKSHOP ON PARALLEL PROCESSING 2000 会報, XP010511939, p103-108 Zhang Lin 他, 「an In-depth Survey on Web Caching」, 1999年4月, INTERNET ARTICLE 'ONLINE!(URL:http://trident.mcs.kent.edu/{1zhang/data/thesis/web_cache.html), p10-23
これは、キャッシュとは異なる。
異なる点は、焦点が、すでに検索または更新されたファイルのローカルコピーを保持するかどうか(これは、主に、利用可能なローカルストレージ容量をどれだけ最善に使用するかという課題である)にあるのではなく、現時点でローカルに利用可能でなく、かつ、現時点でどの保留要求の対象でもないファイルをリモートサーバから取得するかどうか(これは、主に、リモートサーバへの利用可能な伝送容量をどれだけ最善に使用するかという課題である)にあるという点である。
[概要]
本発明者らは、新しい専用機器(SPA(special-purpose appliance))を提案する。
このSPAは、複数のキャッシュサーバ機器(CSA)から成るサーバファームと共に動作して、ローカルストレージ媒体を管理する。
このローカルストレージ媒体は、すべてのCSAによってアクセス可能であり、ウェブページおよび当該ウェブページの組み込みオブジェクトならびに/またはストリーミングメディアオブジェクト等のリモートオブジェクトの少なくともいくつかを記憶する。
これらのオブジェクトは、CSAの1つまたは複数のものによってその各クライアントにサーブされたことがあり、かつ/または、サーブされることになる。
SPAは、他のあらゆる役割に加えて、キャッシュされた単一のオブジェクトが複数のCSAによって共有されることを容易にし、特定のオブジェクトが、サーバファーム全体に対してより大きな可能性のある値を有する別のオブジェクトといつ取り替えられるべきかを確定する。
本発明者らの高度に拡張性のあるSPAベースのアーキテクチャは、共有外部ストレージとともにクラスタリングされた複数のキャッシュサーバ機器を提供する。
このアーキテクチャでは、キャッシュ機器の個数は、ユーザのニーズに合わせられることができ、キャッシュ用のストレージ量も、ユーザのニーズに合わせられることができる。
共有ローカルストレージのキャッシュ機能を管理することに加えて、SPAは、好ましくは、ウェブページおよび当該ウェブページの組み込みオブジェクトならびに/またはストリーミングメディアオブジェクト等のリモートオブジェクトをいつプリフェッチするかを確定する。
このプリフェッチするリモートオブジェクトは、現時点では、共有キャッシュに記憶されていない一方、CSAの各クライアントの1つまたは複数に代わって、CSAの1つまたは複数により今後要求される可能性があると、SPAが判断する。
このような共有されたプリフェッチ機能を含むように強化されたSPAを、以下では、プリフェッチサーバ機器(PSA(Prefetching Server Appliance))と呼ぶ。
特に、SPAまたはPSAは、各CSAからリモートサーバへのファイル要求を単に監視するのではなく、各クライアントからその各CSAへの個々の要求を監視して集約する。
この監視および集約は、例えば、各CSAのアクセスログを監視し、そのデータを使用して、1つまたは複数のリモートサーバから共有キャッシュにプリフェッチすべきものと、まだ価値のあるものおよび更新される必要のあるものと、もはや価値がなく取り替えられうるものとを決定することによって行われる。
SPAまたはPSAがプリフェッチするものは、例えば、すでに要求されたウェブページに存在するリンクと、ウェブページおよびストリーミングメディアオブジェクトへの最近のアクセスパターンと、ユーザプロファイルと、過去の傾向とに基づくことができる。
各CSAは、いくつかのCSAに共通の共有キャッシュに加えて、専用ローカルキャッシュも有する。
各CSAは、自身のクライアントの1つからファイル要求を受信するごとに、必ずしも共有キャッシュにアクセスするとは限らない。
同様に、共有キャッシュの各アクセスも、必ずしもリモートサーバへの対応する要求に反映されるとは限らない。
しかし、本発明者らのPSAは、個々のCSAのそれぞれの個々のアクセスログにアクセスできるか、それ以外に、個々のクライアントの個々の要求を監視できる。
したがって、このPSAは、リモートオブジェクトに関する自身のローカル使用予測を次のものに基づくことができる。
すなわち、PSAは、CSAからリモートサーバへのそのオブジェクトに対する要求および/またはCSAから共有ローカルキャッシュへの要求を監視することから入手できる限られたデータだけでなく、CSAがサービスを提供するクライアントからの同じオブジェクトに対する個々の要求であって、CSAのローカルキャッシュから満たされる個々の要求にも基づくことができる。
また、PSAは、すでにキャッシュされたファイル内のメタデータ(他のファイルへのリンク、タイトル、著者、最後に編集またはアクセスされた日付、作成日、有効期限等)にアクセスすることもできる。
また、PSAは、関係したファイル(またはそのファイルの更新版)が今後要求される程度を予測する際に、そのメタデータを使用することもできる。
また、取り替え手順を起動して、リモートサーバから入力するオブジェクト用に、共有キャッシュのスペースを解放する必要がある際に、PSAは、好ましくは、それらの同じ結合されたアクセスログ(および、場合によっては、その同じメタデータも)を使用して、共有キャッシュから取り替えるものも決定する。
代替的な実施の形態では、各クライアントは、割り当てられた単一のCSAにオブジェクトを直接要求せず、個別のトラフィックディレクタ機器を通じてこのような各要求をルーティングする。
次に、トラフィックディレクタ機器は、いずれかのCSAが、その同じ(または近い関係の)オブジェクトに対する要求を最近ハンドリングしたかどうか判断する。
そして、ハンドリングしている場合には、トラフィックディレクタ機器は、経験および利用可能な資源の双方の観点から、要求を最善にハンドリングできるCSAに当該要求をルーティングすることを試みる。
さらに、このようなTDAの機能が、提案されたSPA/PSAと一体化されている場合には、SPA/PSAは、すべてのクライアントの要求を統合した自身のアクセスログを、個々のCSAによって保持されたあらゆるアクセスログとは独立して、保持できる場合がある。
提案されたSPA/PSAは、第1に、共有キャッシュを保持するように専用化されることが好ましく、その内部アーキテクチャは、その目的で最適化されることが好ましい。
これによって、各CSAは、各CSAのクライアントを専用ローカルキャッシュからサーブするように、最適化されうる。
また、各CSAは、一定の要求されたオブジェクトがその専用キャッシュに存在しない場合には、それらのオブジェクトのコピーであって、すでにキャッシュおよびプリフェッチされたコピーを共有キャッシュからサーブするように、最適化されうる。
それによって、ピーク負荷時の期間中において、リモートサーバからオブジェクトを得るのに必要な計算サイクルおよびアイドルサイクルが削減される。
以下に説明する例は、SANまたはNASベースのストレージを使用した特定のアーキテクチャおよび特定の機能割り当てを前提とする。
しかし、基礎を成す概念の多くは、他のアーキテクチャおよび機能にも適用されうる。
特に、検索されるオブジェクトは、URLで特定されるファイルでなくてもよい。
共有ストレージは、WANによってのみアクセス可能な遠隔の場所にあってもよく、かつ/または、このような他の遠隔の場所にある他のクライアントおよびサーバと共有されてもよい。
複数のサーバの機能および管理者の機能は、単一のハードウェアユニット内に組み合わされてもよい。
単一のサーバの機能または管理者の機能は、2つの以上のハードウェアユニット間に分散されてもよいし、複製されてもよい。
さらに、当業者は、思うに現在または将来のいずれかにおいて、検索されたどのオブジェクトがいつどこにキャッシュされるべきか、たとえ要求される前であっても、どの未キャッシュのオブジェクトが検索されるべきか、キャッシュされたどのオブジェクトが取り替えられるべきか、および、どのサーバがどの要求に応答すべきかを判断する他の適切な手順に気付くだろう。
[例]
図1に示すように、キャッシュサーバ複合体(CSC(Caching Server Complex))は、好ましくは、複数のキャッシュサーバ機器(CSA(caching server appliance))ならびに共有プリフェッチサーバ機器(PSA(prefetch server appliance))およびトラフィックディレクタ機器(TDA(Traffic Director Appliance))を含む。
TDAは、CSAと外部ネットワークNETとの間の透過的なインタフェースおよび負荷分散機能を提供する。
CSA、PSA、およびTDAは個別の機能ブロックとして図示されるが、これらの一部またはすべては、単一のキャビネット内に物理的に統合されうるし、同じマシン上で実行する個別のアプリケーションとしても統合されうると理解されるべきである。
他の実施の形態では、PSAは、ストレージと物理的に同じ場所に置かれてもよいし、他の或る場所に置かれることもでき、かつ/または、TDAの機能は、外部ネットワークNETへの個別の交換接続(switched connection)または非交換接続(unswitched connection)と取り替えられることができる。
いずれにしても、PSAおよび各CSAの双方は、スイッチングルータ(FCまたはSW1)を通じて、共有ローカルストレージ(SANまたはNAS)に、ローバストな高速接続(光ファイバネットワークの専用チャネルが好ましいが、場合によっては、イーサネット(登録商標)等のデマンドベースのネットワーク)を介して、物理的に接続される。
第2のスイッチングルータSW2は、TDAを外部NETと接続するだけでなく、好ましくは、NETからPSAへの、および、NETからNASへの個別の迂回接続(直接またはSW1を介して)をも提供する。
それによって、迂回接続が提供されない場合にTDAによって課される可能性があるあらゆる遅延が回避される。
特に、これらの迂回された接続によって、大量のプリフェッチされたオブジェクトを、NASの共有ローカルキャッシュへダウンロードすることが容易になる。
また、図示しないが、CSAのそれぞれは、TDAを通過することなくオリジンサーバSからダウンロードするためのSW2への直接接続を有することもできる。
PSAは、論理的には、共有ストレージおよび個々のCSAに接続される。
しかし、いずれか1つのCSAが故障した場合であっても、PSAが継続して機能し、かつ、PSAが故障した場合であっても、各CSAが(たとえ低い性能レベルであっても)継続して機能するように、PSAは、CSAのいずれとも物理的かつ論理的に独立していることが好ましい。
しかしながら、本発明の原理および利点のいくつかは、PSAおよびCSAの機能が単一のハードウェアユニットに共に配置される他の実施の形態、または、PSAの機能が2つ以上のハードウェアユニットに分散もしくは複製される他の実施の形態にも適用可能である。
<第1のシナリオ:SANベースのシステムアーキテクチャ>
少なくとも論理的には、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)への接続も、高帯域幅で短い待ち時間の接続であることが好ましい。
<第2のシナリオ:NASベースのシステムアーキテクチャ>
図1の下部に示すように、すべてのCSAおよびPSAは、高速LANおよび関連したスイッチングルータSW1を介して、NASに接続されてもよい。
あるいは、既存のLANが使用されて、CASを互いに接続してもよく、また、CSAをそれらの共有ローカルサーバに接続してもよい。
しかしながら、各CSAとそれらの共有ローカルストレージとの間に専用高速伝送媒体がないと、結果として、このような共有LANが他のトラフィックで飽和状態になった場合に、性能が劣化しうる。
<CSC機器のアーキテクチャ>
図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)、およびディスクドライブ(内部ディスクドライブおよび外部ディスクドライブの双方)に存在するあらゆるキャッシュ可能なコンテンツを含むことができることが当業者には理解されよう。
当業者には理解されるように、すべての機器が、図2に示すハードウェアコンポーネントのすべてを有するとは限らない。
特に、共有キャッシュは、通常、SANまたはNASのいずれかであり、1つの共有キャッシュインタフェース(NI1またはIO2)のみがCSAに必要とされる。
同様に、CSAのみが、通常、ローカルRAMキャッシュCS1およびローカルディスクキャッシュCS2の双方を有し、他のCSC機器は、個別のIOインタフェースを介した専用外部ストレージを必要とすることなく済ますことができる。
最後に、CSC機器(TDA等)のいくつかは、外部共有キャッシュ(SANおよび/またはNAS)との直接的なインタフェースを何ら必要としない場合がある。
<双方のシナリオに共通の機能>
次に表1を参照すべきである。
Figure 0004294494
定期的に、各CSAは、クライアントに関する情報を含んだ表1に示すログと同様のアクセスログを生成する。
オリジンサーバへの当該クライアントの要求は、CSAによってプロキシされており、かつ、その専用ローカルキャッシュ、共有ローカルキャッシュまたはオリジンサーバのいずれかからサーブされている。
各要求に対して、さまざまな詳細がログに配置される。
このさまざまな詳細は、要求されたURL、そのURLがメモリまたはストレージにすでに存在した(キャッシュヒット)かどうか、アクセスの日付および時刻、転送バイト数、クライアントからの要求のタイプ等である。
このログは、CSAメモリに収集された要求の詳細を、アクセスログ記憶用の現時点のファイルに追加することによって生成されうる。
異なる時間窓に対しては、その特定の期間中のCSAのアクセスログを記憶するのに、異なるファイル(または、表に示すように、同じファイルの異なる部分)が使用されることが好ましい。
ディレクトリ構造体およびファイル名は、PSAがすべてのCSAのアクセスログを読み出すことを可能にする規則に従う。
その結果、PSAは、個々のCSAアクセスログを、同様にフォーマットされた統合ログ内に結合することができる。
さらに、PSAは、前の時間、前の日、前の週等の異なる時間窓のアクセスデータを処理して、毎日、毎月曜日、月の第1営業日等の同じ時刻において繰り返すアクセスパターンを検出することもできる。
また、少なくともキャッシュ機能は、1つまたは複数のCSAによって、個別に管理されうるが、PSAは、SANまたはNASに存在する共有オブジェクトキャッシュのコンテンツの常時監視も行い、好ましくは、この共有キャッシュの管理も担当する。
特に、CSAは、そのクライアントの1つによって要求されたファイルが共有キャッシュから入手できないと判断すると、リモートオリジンサーバからそのローカル専用キャッシュへそのファイルのダウンロードを開始して、次いで、低優先度のバックグラウンド機能として、共有キャッシュにそのキャッシュされたファイルのコピーを転送できる。
しかしながら、待ち時間が比較的長く、帯域幅が比較的低いインターネットまたは他のWANネットワークNETを介して、遠方のサーバSに要求されたファイルをダウンロードすることは、LANまたはファイバーチャネルを介して、ローカルストレージファーム(SANまたはNAS)から同じファイルを検索することよりも遅く、計算資源をより浪費する。
したがって、キャッシュ機能のこの態様であっても、PSAが管理することが好ましい。
このような集中化されたダウンロード機能は、異なるCSAからの同じファイルの複数の要求をチェックすることが好ましく、したがって、限られた利用可能帯域幅が、さらに効率的に利用される。
新たにプリフェッチされたファイルを記憶するのに十分な空きスペースがまだ利用可能でない場合、PSA(または共有キャッシュ機能のこの態様の管理を担当する他のエンティティ)は、どのオブジェクトを共有キャッシュから取り替えるか、および、いつ取り替えるかを確定する或るメカニズムを有しなければならない。
潜在的に、2種類の情報が、この目的のために、PSAに利用可能である。
PSAは、キャッシュの各オブジェクトのアクセス頻度や、各オブジェクトがどれくらい近時にアクセスされたか等の履歴使用データとして、前述した統合アクセスログを解析できる。
その使用データは、共有キャッシュにおけるファイルのコピーのアクセスだけでなく、キャッシュサーバのそれぞれによって保持された専用キャッシュにおけるその同じファイルの他のコピーのアクセスも反映する。
他の入力は、アクセスされた各オブジェクトのメタデータとされうる。
このメタデータは、オブジェクトのサイズ、コンテンツタイプまたは有効時間等である。
この有効時間は、当該有効時間を過ぎると、クライアントへサーブされる前に、キャッシュオブジェクトの有効性の検証をオリジンサーバから受けなければならない時間である。
アクセスログ(表1)が、定期的にしか更新されない場合、共有キャッシュへのアクセスに関するより近時の情報は、CSAから共有キャッシュに送信された実際の要求を監視することから得られうる。
しかしながら、アクセスログは、CSAと共有キャッシュとの間の伝送を単に監視することによっては得ることができないさらに有用な情報も提供する。
例えば、CSAが、ウェブページを共有キャッシュからそのメモリに転送すると、CSAは、複数のクライアントの要求を自身のメモリからサーブできる。
PSAがそのウェブページへのアクセス回数について知るための最も簡単な方法は、各CSAによって保持されたアクセスログを処理することによる。
あるいは、CSAのアクセスログまたはその或るサブセットに書き込まれる情報も、影響を受けたCSAによって、適切なメッセージフォーマットで、PSAに同時に送信されうる。
アクセス情報がどのようにして得られるかおよびどこに記憶されるかにかかわらず、PSAは、CSAを発信源とするこのアクセス情報を使用して、いつプリフェッチすべきかおよび何をプリフェッチすべきかを確定することが好ましい。
履歴アクセスデータの解析に基づいて、PSAは、近い将来に、おそらく頻繁にアクセスされるコンテンツを予測できる。
例えば、アクセスログにデータマイニング技法を適用することによって、過去の日のニュースのウェブページ、オーディオおよびビデオのアーカイブが、午前7時から9時の間に、news.comウェブサイトから多くアクセスされることが明らかにされうる。
これらのアクセスを高速にハンドリングするために、PSAは、午前6時から7時の間に、このコンテンツのプリフェッチを発行できる。
これらのプリフェッチは、ウェブクローラ内に生成されうる。
このウェブクローラは、news.comからトップレベルのページをプリフェッチし、それらトップレベルのページのハイパーリンクに従って、ハイパーリンクごとにプリフェッチを発行する。
同様に、12時から午後1時の間では、waiter.comにおいて利用可能なレストランメニューへのアクセスが、頻繁に行われうる。
したがって、これらのページは、午前11:30から正午までの間に、プリフェッチされうる。
大きなストリーミングメディアファイルの場合、ファイル全体をプリフェッチすることは妥当でない場合がある。
その場合には、最初の数秒の再生時間に対応するファイルのプリフィックス部分をプリフェッチされうる。
これによって、クライアントの要求に対する応答の待ち時間は、非常に短くなりうる。
同様に、PSAが、ビデオに対する今後のほとんどの要求は特定のフォーマットおよび解像度であると判断すると、PSAは、そのインスタンスのみをプリフェッチしてもよい。
これらは、「経験ベース」のプリフェッチと以下で呼ばれる例である。
PSAは、CSAと共有キャッシュとの間の全トラフィックを監視することが好ましいので、PSAは、保留要求が共有キャッシュから満たされることができない時(いわゆる「デマンドミス」)を知っている。
PSAまたは要求を行っているCSAが、その時、リモートオリジンサーバ(または下流側のプロキシまたはミラー等の他の情報源)へファイルを要求する役割を負うかどうかにかかわらず、PSAは、この情報にアクセスできる。
このようなデマンドミスの結果、外部ネットワーク上の帯域幅は、さらに利用される。
したがって、デマンドミスの個数(より適切には、共有キャッシュに現時点で記憶されていない要求ファイルをダウンロードするのに必要なダウンロード帯域幅)が増加するに伴い、PSAは、そのプリフェッチアクティビティを低減することによって対応することが好ましい。
したがって、プリフェッチオペレーションは、デマンドミスに応じて、リモートサーバから要求ファイルを検索することよりも低い優先度を与えられるべきであり、利用可能なシステム資源は、より効率的に(かつ適応して)使用される。
逆に、十分な帯域幅が、さらなるプリフェッチを実行するのに利用可能であっても、すでにキャッシュされたファイルを、さらなるプリフェッチによって得られた他のファイルと取り替えることは、必ずしもそれらの資源の効率的な使用であるとは限らない。
例えば、現時点のデマンドミスが比較的少ない(一定のしきい値未満)場合に、プリフェッチされたオブジェクト数(あるいは、割り当てられたネットワーク帯域幅)は、さらに削減されうる。
その理由は、追加されたあらゆるプリフェッチが、労力の追加を正当化するのに十分な性能の改善を生み出す見込みがなく、現時点のキャッシュの有効性を劣化させる可能性さえあるからである。
経験ベースのプリフェッチを「ジャストインタイム」のプリフェッチと組み合わせることによって、PSAは、現時点の使用(デマンドミスに応じてつい最近キャッシュされたファイル、または、事前にプリフェッチされたファイルの最初の要求のいずれか)に基づく予測プリフェッチのサポートを提供することもできる。
履歴アクセスデータのレビューに基づいて、PSAは、特定のオブジェクトの要求に続いて、他の一定の関係オブジェクトに高い確率でアクセスが行われると判断できる。
そして、それらの関係オブジェクトが共有キャッシュにまだ存在しない場合には、PSAは、それらのオブジェクトのプリフェッチを発行する。
場合によっては、このような関係ファイルは、アクセスログから収集された履歴情報を事前に解析することによって、前もって決定されうる。
他の場合には、これらの他の関係オブジェクトは、現時点の要求の結果のみから確認されることができ、例えば、他のウェブページへのハイパーリンクが使用されて、それら他のページに対するプリフェッチを開始できる。
後者の可能性は、現時点の使用にのみ基づき、そのために、PSAがそれ以上介入することなく、CSAが現時点の要求をハンドリングすることによって実行されうる、純粋な「ジャストインタイム」のプリフェッチの一例である。
しかしながら、ハイパーリンクされたファイルは、別のCSAによってすでにキャッシュされ、かつ/または、共有キャッシュにすでにキャッシュされている可能性があり、そのために、PSAによる何らかの調整が依然として望ましい。
経験ベースのプリフェッチの「ジャストインタイム」のプリフェッチとの別の可能な組み合わせは、特に、ストリーミングメディアファイルに適用可能である。
履歴使用データは、一定の間隔(例えば、各トラックの開始)のみのプリフェッチに優先順位を付けることができ、現時点の使用データは、最初の間隔が実際に要求された後にのみ、その後の間隔のプリフェッチをトリガする。
このトリガは、おそらく、オリジンサーバがそのトラックの残りを送信する低優先度のバックグラウンドタスクとして行われる。
このような手法は、待ち時間を何ら増加させることなく、プリフェッチされるデータ量および必要とされる関連したローカルストレージを削減するだけでなく、ネットワーク性能も改善する。
同様に、大きなオブジェクトの場合、そのオブジェクトの小さなフラクション(「チャンク」)のみがプリフェッチ(プリフィックスキャッシュ(prefix caching))されることが好ましい。
プリフェッチされた量は、キャッシュサーバのストレージの容量、クライアント側の消費率およびオリジンサーバへのネットワーク帯域幅に基づいてもよい。
また、プリフェッチするオブジェクト数も、予測されたヒット率によって決定されてもよい。
予測されたヒット率が大きい場合には、大きなチャンクサイズを有する少数のオブジェクトがプリフェッチされる。
他方、予測されたヒット率が小さい場合には、小さなチャンクサイズを有する多くのオブジェクトがプリフェッチされる。
次に、どのファイルがPSAにキャッシュされるべきか、PSAにすでにキャッシュされたどのファイルが取り替えられるべきか、CSAからPSAにどのファイルがコピーされるべきか、および、各クライアントの要求に適したCSAをどのように関連付けるか(オプション)を決定する例示の手順を説明する。
<例示のプリフェッチ手順>
ステップ1
OLAP、データマイニング、関係データベースに対する標準的なSQLクエリー等の技法を用いて、(プロキシキャッシュおよびストリーミングメディアサーバの双方からの)CSAによって書き込まれたアクセスログを解析する。
この解析は、アクセスログからのコンテンツを、これらの技法に必要なフォーマットに変換することを必要とする。
例えば、関係データベースに対するSQLクエリーは、アクセスログのコンテンツがデータベースの適切な関係表に追加されることを必要とする。
ステップ2
CSAのアクセスログデータを使用して、平日または土曜日もしくは日曜日の時間帯別のコンテンツのアクセス変化を与える表を作成する。
Figure 0004294494
この表は、1日のさまざまな時間について、或るしきい値よりも高い頻度でアクセスされたコンテンツを列挙している。
この表を平日について作成するために、前の週、前の月、または前の数ヵ月の間の平日のアクセスログの全エントリが、考慮されうる。
前の週を考慮するのか、それとも前の月を考慮するのかは、それぞれの場合にプリフェッチがどれだけ正確であるかのフィードバックに依存する。
ステップ3
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
当日の異なる時間の間のアクティビティを示す表を作成する。
Figure 0004294494
この表は、関連したCSAのアクセスログを解析することによって、一定の領域をサーブするPSAに対して準備されうる。
各時間間隔について、毎秒の要求数の平均が得られる。
この平均は、その領域におけるクライアントからのトラフィックの見積もりを与える。
ステップ5
ステップ4からのアクティビティレベル表が使用されて、毎秒の要求が少ないのでネットワークトラフィックが低い、午前4時から午前7時等の時間間隔の間のプリフェッチをスケジューリングできる。
プリフェッチされるコンテンツは、ステップ2の使用表によって決定される。
このプリフェッチは、コンテンツがSANにもNASにもまだ存在しない場合にのみ発行される。
PSAおよび取り付けられたSANデバイスまたはNASデバイスのストレージ容量に応じて、その時間間隔のURLのサブセットのみが、場合によっては、プリフェッチされうる。
その場合、URLは、そのURLのオリジンサーバの平均予測待ち時間等の判断基準に基づいて、優先順位を設けられうる。
この判断基準は、アクセスログに基づいて評価されうるし、オリジンサーバへのネットワークホップ数に基づいて見積もられうる。
より多くのネットワークホップ数は、より長い待ち時間を意味する。
ステップ6
スケジューリングされたプリフェッチに加えて、ステップ3で導出されたルールを使用して、ジャストインタイムのプリフェッチが行われうる。
これらのルールがPSAによってCSAに伝えられると、このプリフェッチは、より効率的に行われうる。
その場合に、CSAがURL Xに対する要求を取得すると、CSAは、ステップ3のクラスタリングルールに従って、関連したURL Wがストレージの階層のどこかに存在するかどうかをチェックできる。
存在しない場合には、CSAは、Wのオリジンサーバに要求を送信できる。
CSAからオリジンサーバへの往復待ち時間がAミリ秒であり、クライアントからのWの要求がBミリ秒後にCSAに達するとすると、A>Bの場合には、クライアントは、この待ち時間のうち(A−B)ミリ秒のみに立ち会うことになり、B≧Aの場合には、待ち時間に立ち会うことはない。
ステップ7
ステップ5またはステップ6のいずれかにおいて、プリフェッチされるURLが静的コンテンツ(組み込み画像を有するHTMLテキスト)ではなくストリーミングメディア(MPEGファイル等)である場合、そのURLは、ユーザ経験が異なることから、特別な場合として取り扱われるべきである。
静的コンテンツの場合、コンテンツ全体がダウンロードされ、単一のページビューとしてユーザに提示される。
ストリーミングメディアの場合、ユーザは、一時停止、中断、停止、または早送りを行うことができる。
これらのVCRのような制御は、CSA上で実行するストリーミングメディアサーバに伝えられる。
このサーバはアクセスログを生成する。
ステップ1の技法を使用して、ストリーミングメディアのどのセグメントが頻繁に視聴されるかが特定されうる。
例えば、人々は、ニュース放送の最初の数分を視聴してヘッドラインを取得し、次いで、そのニュースのビジネス部分またはスポーツ部分に、早送りまたはインデックスすることがある。
したがって、最初の数分、ならびにビジネス部分およびスポーツ部分がキャッシュされうる。
クライアントが最初の数分を超えて視聴するように思われる場合、そのクライアントは続けて視聴する可能性がある。
その場合には、クライアントが継続して視聴するに伴い、ジャストインタイムのプリフェッチは、ニュース放送のその後のセグメントのために、CSAにより発行されうる。
ステップ8
ステップ6または7のいずれかにおけるジャストインタイムのプリフェッチの場合、クライアントがサービスを受けている間、コンテンツは、CSAによりプリフェッチされて、そのローカルディスクに最初に配置されることが好ましい。
その後、バックグラウンドにおいて、CSAは、すでにプリフェッチされたコンテンツをPSAに登録し、PSAは、すでにプリフェッチされたコンテンツをCSAがコピー(「ライトバック」)すべきSANストレージデバイスまたはNASストレージデバイスの場所を示すことによって応答する。
<例示の取り替え手順>
PSAは、SANデバイスおよび/またはNASデバイスの共有キャッシュからコンテンツを定期的に追い出す。
この取り替え手順は、以下のいくつかの調整可能なパラメータを有することが好ましい。
・Hは、共有キャッシュによるディスクスペース使用の上位しきい値である。
・Lは、共有キャッシュによるディスクスペース使用の下位しきい値である。
・Vは、URLの値である。
このアイデアは、より有用なコンテンツをキャッシュに保持することであり、アクセス頻度、最も近時のアクセス時刻、有効期間に対して残された時間(オリジンサーバによって設定される)、および/またはGDSF等のハイブリッドパラメータに基づくことができる。
また、このアイデアは、CSAのアクセスログの定期的なアクセス(または、後述するTDAの機能が実施される場合には、TDAのURL表)によって決定されることが好ましい。
Hが95%であり、Lが85%であると仮定する。
共有キャッシュの占有度が95%に達するとすぐに、この取り替え手順は実行され、キャッシュの占有度が利用可能なスペースの85%未満となるまで、共有キャッシュからコンテンツを追い出し続ける。
HおよびLを調整することによって、取り替え手順が実行される頻度、および、各実行において行われる作業量を制御されうる。
取り替え手順は、Vによって順序付けられたリストのキャッシュ(または、この目的を果たすヒープ等のより効率的なデータ構造体)に存在するURLのほとんどを保有することが好ましい。
その結果、取り替えの可能性のある候補が、高速に選択されうる。
取り替え手順は、当日に後ほど使用が予想されていることからキャッシュにロックされたURLをスキップすることが好ましい。
ロックは、ネットワークトラフィックが少なくなった時(午前5時から7時の間等)にスケジューリングされたプリフェッチと共に行われ、予測可能なその後の繁忙期間(午前7時から10時)の間に、コンテンツが多く利用されることが予想されることに備える。
スケジューリングされたプリフェッチは、予想された使用の多い期間の終了(午前10時)までURLをロックできる。
あるいは、URLは、予想された使用の多い期間の開始直後(例えば、午前8時)までロックされうる。
その場合、プリフェッチ予測が正確であると、午前8時までに十分なアクセスがあり、そのURLは、多くアクセスされている限り、取り替えられないことが保証される。
一方、プリフェッチが予測ミスという結果になると、午前8時の後、そのURLは追い出されることになる。
取り替え手順が、ロックされたURLをスキップしなければならないので、それらのロックされたURLは、リストとは別のリストに保持されることが好ましい。
ロックされたURLは、ロックが解除された後にのみリストに追加され、可能な追い出し候補となる。
各実行において、取り替え手順は次のように実行される。
すなわち、最小値のVを有するリストのURLから開始して、ディスクスペース使用が下位しきい値Lに下がるまで、URLが1つずつキャッシュから削除される。
<例示のライトバック手順>
上記手順は、SANデバイスおよび/またはNASデバイスにおいて、スペースがPSAによってどのように解放されるかを説明している。
このスペースのいくつかは、PSAがスケジューリングされたプリフェッチを行う際に、PSAによって使用される。
一方で、ジャストインタイムのカテゴリーおよびキャッシュミスにおいていくつかのプリフェッチが追加されることを想起されたい。
これらのカテゴリーの双方では、PSAではなくCSAが、オリジンサーバと接触して、自身のローカルディスクおよびメモリにコンテンツを運び込むことが好ましい場合がある。
しかしながら、そのプリフェッチされたコンテンツの少なくとも一部は、共有キャッシュ(SAN/NAS)に保存する価値があり、それによって、サーバ複合体の他のCSAが、キャッシュミスの問題なく、かつ、オリジンサーバにアクセスすることなく同じコンテンツをサーブでき、かつ/または、要求を行っているCSAが、「よりホット」な(より高いVの)URL用に自身の限られたローカルキャッシュストレージを解放できる。
これは、ライトバック手順によって行われる。
簡単なライトバック手順は、以下以下の通りである。
ステップ1
CSAは、時に、自身のキャッシュのコンテンツの表をキャッシュ間で交換する。
ステップ2
CSA Aがクライアントから或るURLの要求を受信し、そのURLがCSA Aのキャッシュに存在しないが、別のCSA Bのキャッシュに存在する場合、CSA Aは、コンテンツが或るオリジンサーバに要求されたのと同様に、CSA Bにコンテンツを要求できる。
CSA Bは、短い待ち時間でCSA Aにコンテンツを送信できる。
ステップ3
CSA Bは、CSA Aにコンテンツを送信した後、URL、自身のローカルディスクにおけるURLの場所およびコンテンツのサイズを、表に入力する。
ステップ4
定期的に、CSA Bは、この表をPSAに送信する。
ステップ5
PSAは、表のサイズの列を合計し、必要なストレージ量が、共有キャッシュに確実に存在するようにする。
これは、そのスケジューリングされた時刻に先立って、取り替え手順の実行を必要としうる。
ステップ6
次いで、PSAは、共有キャッシュにおいて、各URLをファイル名にマッピングし、URLをファイル名にマッピングした表を、CSA Bに返信する。
ステップ7
次いで、CSA Bは、共有キャッシュ(SAN/NAS)において、各URLのコンテンツをその対応するファイル名にコピーできる。
ステップ8
共有キャッシュのコンテンツの更新された表は、PSAによってすべてのCSAに定期的に送信され、それによって、その後のクライアントによるあらゆるCSAへの共有コンテンツの要求は、オリジンサーバにも他のCSAにもメッセージを送信することなく、CSAによって共有キャッシュから満たすことができる。
<例示のトラフィック方向プロセス>
複数のCSAおよびPSAから成るサーバファームは、負荷分散装置またはトラフィックディレクタ機器(TDA)として一般に知られている別のサーバ機器も有することができる。
このサーバ機器は、CSAを、一定の割り当てられたクライアントに専用の各CSAとしてではなく、プールとして編成し、所定の割り当て手順(通常、単純なラウンドロビン割り当てまたはランダム割り当て)を使用して、すべてのクライアントからの要求を、このプール内において、CSAに送信する。
それによって、CSAの負荷は、分散される。
TDAは、PSAに組み込まれることが好ましく、各URLを最近サーブしたことがあるCSAに対する、そのURLの事前に知られたあらゆる親和性を利用することが好ましい。
このような親和性ベースのTDAは、以下のように実施されうる。
ステップ1
PSAは、URLの高速参照を可能にするハッシュ表等の大きな表を保持し、それによって、いずれかのクライアントが以前にそのURLを要求したかどうかを判断し、いずれかのクライアントが以前にそのURLを要求している場合には、CSAのいずれにその要求が転送されたかを判断する。
このような転送に含まれる最近のN個の異なるCSAが、この表に記憶されうる。
ここで、Nは、通常、小さく、例えば3である。
ステップ2
TDAは、クライアントの要求を受信すると、URLを使用して表を探索する。
エントリが存在する場合には、その同じURLについて、少なくとも1つ、場合によってはN個以上の以前の要求が、TDAによってCSAに転送されたことを意味する。
これらのCSAが、転送された要求の時刻によってソートされていると仮定すると、TDAは、現時点の要求を、同じURLについて最も近時の以前の要求を取得したCSAに転送できる。
このCSAは、自身のローカルキャッシュに、そのURLのコンテンツをまだ有している可能性が最も高い。
ステップ3
しかしながら、このCSAが、現時点で、平均負荷より高い負荷を有する場合には、その応答時間が遅くなる可能性がある。
その場合には、TDAは、多くともN個の関連したCSAのリストを用いて、最も近時に含まれたCSAから、最も過去に含まれたCSAに順番に配列し、そして、現時点の要求を受け付けうる現時点の負荷である最初のCSAを選択できる。
ステップ4
適切なCSAが見つからない場合、または、表がこのURLのエントリを有しない場合には、ラウンドロビン割り当てやランダム割り当て等のデフォルトのTDA手順に従う。
ステップ5
表が更新される。
そのURL用のエントリが存在しない場合には、新たなエントリがそのURL用に作成される。
また、現時点の要求用に選択されたCSAも、このURLに対して最も近時に要求されたとして加えられる(または、その既存のエントリが更新される)。
他のN個のCSAがリストにすでに存在する場合には、最も過去に要求されたCSAがリストから廃棄される。
このようなトラフィック方向手順が、共有キャッシュ(SAN/NAS)から複数の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クライアントからのすべての要求に関する情報へのアクセスを提供される場合に、これら大きな帯域幅等は提供されうる。
ストレージエリアネットワーク(SAN)および/またはネットワーク接続型ストレージ(NAS)に接続されたプリフェッチサーバ機器および複数のキャッシュサーバ機器を含む例示的なキャッシュサーバ複合体を示す図である。 一般的なキャッシュサーバ複合体機器のアーキテクチャブロック図である。 同じアプリケーションプログラマインタフェース(API)を、単一のCSAまたは複数のCSAを含むキャッシュサーバ複合体のいずれかにどのようにして使用できるかを示す図である。
符号の説明
C1・・・有線クライアント
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. 前記共有プリフェッチサーバは、
    前記クライアントサーバから今後要求され得るオブジェクトを予測し、
    前記判定されたタイミングにおいて、前記削除されるオブジェクトを、前記予測されたオブジェクトに置き換える
    請求項1に記載のシステム。
  3. 前記共有プリフェッチサーバは、前記クライアントサーバからの過去の要求すべてを監視することにより、前記今後要求され得るオブジェクトを予測する
    請求項2に記載のシステム。
  4. 前記共有プリフェッチサーバは、前記共有ローカルサーバに記憶されたオブジェクトの所定の有効期限を監視することにより、前記今後要求され得るオブジェクトを予測する
    請求項2に記載のシステム。
  5. 前記共有プリフェッチサーバは、前記共有ローカルサーバに記憶されたオブジェクト、他のオブジェクトとの相関関係を検査することにより、前記今後要求され得るオブジェクトを予測する
    請求項2に記載のシステム。
  6. 前記共有プリフェッチサーバは、前記キャッシュサーバそれぞれが、前記クライアントサーバから受け取る前記共有ローカルサーバに記憶された要求頻度の低いオブジェクトの要求を監視する
    請求項2に記載のシステム。
  7. 前記共有プリフェッチサーバは、前記要求頻度の低いオブジェクトを、要求頻度の高い他のオブジェクトと置き換える
    請求項2に記載のシステム。
  8. 前記共有プリフェッチサーバは、前記キャッシュサーバの1つに統合されている
    請求項2に記載のシステム。
  9. トラフィック指示装置をさらに含む
    請求項2に記載のシステム。
  10. 前記トラフィック指示装置は、前記クライアントサーバからの前記オブジェクトの要求を、前記要求されたオブジェクトと同一のオブジェクトの要求を以前に受け取った別の前記キャッシュサーバのいずれかに送る
    請求項9に記載のシステム。
  11. 前記共有プリフェッチサーバは、前記トラフィック指示装置から受け取った情報に基づいて、前記要求を監視する
    請求項9に記載のシステム。
  12. 単一の従来のオリジンサーバAPIは、前記リモートオリジンサーバそれぞれと前記キャッシュシステムとの間に供給されて、前記リモートオリジンサーバに、単一の仮想キャッシュ装置を供給する
    請求項1に記載のシステム。
  13. 単一の従来のクライアントAPIは、前記クライアントサーバそれぞれと前記キャッシュシステムとの間に供給されて、前記クライアントサーバに、単一の仮想キャッシュ装置を供給する
    請求項1に記載のシステム。
  14. 単一の従来のネットワークマネージャAPIは、外部のネットワークマネージャと前記キャッシュシステムとの間に供給されて、前記ネットワークマネージャに、単一の仮想キャッシュ装置を供給する
    請求項1に記載のシステム。
  15. 前記共有のローカルキャッシュ領域は、ストレージエリアネットワークの一部である
    請求項1に記載のシステム。
  16. 前記共有ローカルサーバは、ローカルエリアネットワークにより、前記キャッシュサーバに接続されるネットワークストレージである
    請求項1に記載のシステム。
  17. 共有ローカルサーバと、1つ以上のキャッシュサーバと、共有プリフェッチサーバとを有し、1つ以上のリモートオリジンサーバが記憶するオブジェクトを、クライアントサーバからの要求に応じて、ローカルに記憶するキャッシュシステムにおいて、
    前記共有ローカルサーバが、前記クライアントサーバからの要求に応じて、前記リモートオリジンサーバから前記オブジェクトを取得して、取得したオブジェクトを、前記1つ以上のキャッシュサーバからアクセスされ得る共有のローカルキャッシュ領域に記憶するステップをコンピュータに実行させ、
    前記1つ以上のキャッシュサーバそれぞれは、前記クライアントサーバからの要求に応じて、他の前記キャッシュサーバの専用のローカルキャッシュ領域、前記共有のローカルキャッシュ領域および前記リモートオリジンサーバ、またはこれらのいずれかから前記オブジェクトを取得して、取得したオブジェクトを、前記キャッシュサーバの専用のローカルキャッシュ領域に記憶するステップをコンピュータに実行させ、
    前記共有プリフェッチサーバは、前記専用のローカルキャッシュ領域および前記共有のローカルキャッシュ領域またはこれらのいずれかに記憶された前記オブジェクトのアクセス情報を監視して、アクセス情報に基づいて、前記記憶されたオブジェクトを、前記専用のローカルキャッシュ領域および前記共有のローカルキャッシュ領域またはこれらのいずれかから削除するタイミングを判定するステップをコンピュータに実行させる
    方法。
  18. 前記キャッシュサーバは、前記専用のローカルキャッシュ領域に記憶された前記オブジェクトを、定期的にライトバックするとき、前記記憶されたオブジェクトを、前記共有のローカルキャッシュ領域にコピーするステップを、さらにコンピュータに実行させる
    請求項17に記載の方法。
  19. 前記共有プリフェッチサーバは、前記クライアントサーバからの過去の要求に基づいて、前記クライアントサーバから今後要求され得るオブジェクトを予測するステップと、
    前記判定されたタイミングにおいて、前記削除されるオブジェクトを、前記予測されたオブジェクトに置き換えるステップと
    をさらにコンピュータに実行させる
    請求項17に記載の方法。
  20. 前記共有プリフェッチサーバは、前記クライアントサーバからの前記過去の要求すべてを監視するステップを、コンピュータに実行させる
    請求項19に記載の方法。
  21. 前記共有プリフェッチサーバは、前記共有ローカルサーバに記憶されたオブジェクトの所定の有効期限を監視するステップを、コンピュータに実行させる
    請求項17に記載の方法。
  22. 前記共有プリフェッチサーバは、前記共有ローカルサーバに記憶された前記オブジェクト、他のオブジェクトとの相関関係を検査するステップを、コンピュータに実行させる
    請求項17に記載の方法。
  23. 前記共有プリフェッチサーバは、前記キャッシュサーバそれぞれが、前記クライアントサーバから受け取る前記共有ローカルサーバに記憶された要求頻度の低いオブジェクトの要求を監視するステップを、コンピュータに実行させる
    請求項17に記載の方法。
  24. 前記共有プリフェッチサーバは、前記要求頻度の低いオブジェクトを、要求頻度の高い他のオブジェクトに置き換えるステップを、コンピュータに実行させる
    請求項23に記載の方法。
  25. トラフィック指示装置をさらに含む前記キャッシュシステムにおいて、
    前記トラフィック指示装置は、前記クライアントサーバからの前記オブジェクトの要求を、前記要求されたオブジェクトと同一のオブジェクトの要求を以前に受け取った前記キャッシュサーバのいずれかに送るステップを、コンピュータに実行させる
    請求項17に記載の方法。
  26. 単一の共通のオリジンサーバAPIは、前記リモートオリジンサーバへの前記要求すべてのために使われる
    請求項17に記載の方法。
  27. 単一の共通のクライアントAPIは、前記クライアントサーバからの要求すべてのために使われる
    請求項17に記載の方法。
JP2003582676A 2002-04-04 2003-03-25 複数のキャッシュサーバによる共有ストレージの使用を管理するデバイスおよび方法 Expired - Fee Related JP4294494B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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