JP2013050976A - キャッシュ・エントリの一致性検索のための確率テクニック - Google Patents

キャッシュ・エントリの一致性検索のための確率テクニック Download PDF

Info

Publication number
JP2013050976A
JP2013050976A JP2012237472A JP2012237472A JP2013050976A JP 2013050976 A JP2013050976 A JP 2013050976A JP 2012237472 A JP2012237472 A JP 2012237472A JP 2012237472 A JP2012237472 A JP 2012237472A JP 2013050976 A JP2013050976 A JP 2013050976A
Authority
JP
Japan
Prior art keywords
cache
version
data
request
entry
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.)
Granted
Application number
JP2012237472A
Other languages
English (en)
Other versions
JP5631373B2 (ja
Inventor
Bhanoo Hermant
バヌー ヘマント
Erdogan Ozgun
エルドガン オツグン
Hogers Tobias
ホルガース トビアス
Shah Nevil
シャー ネヴィル
Snodgrass Ryan
スノードグラス ライアン
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2013050976A publication Critical patent/JP2013050976A/ja
Application granted granted Critical
Publication of JP5631373B2 publication Critical patent/JP5631373B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】キャッシュエントリの新鮮さを維持する方法を提供する。
【解決手段】キャッシュの管理方法で、或るオブジェクトに対する要求を受け取り、もし、そのキャッシュがキャッシュされたバージョンのオブジェクトを有していて、かつ、そのキャッシュされたバージョンのオブジェクトに属する最短ライフタイムが失効していないなら、受け取った要求に応答するためにそのキャッシュされたバージョンのオブジェクトを使用し、もし、そのキャッシュされたバージョンのオブジェクトに属する最短ライフタイムが失効しているが、そのキャッシュされたバージョンのオブジェクトに属する最長ライフタイムが失効していないなら、現在のバージョンのオブジェクトを入手するか、又は、そのキャッシュされたバージョンのオブジェクトを使用するかを確率的に決定する。
【選択図】図3

Description

ここで記述される技術は、データの要求を処理する分野に関する。
キャッシュイングは、一般的に、データにアクセするストリームラインに対する遠方のソースから入手したデータのローカルの記憶のことである。図1は、データをキャッシュイングするための典型的なアーキテクチャーを示すネットワーク・ダイアグラムである。この図は、データ・プロバイダー110,120,130のような多数のデータ・プロバイダーを示しており、各プロバイダーは、多数のデータ・コンシューマー・ノードにデータを提供する。例えば、データ・プロバイダー110は、コンシューマー112,113を含むコンシューマーにデータを提供する。各データ・プロバイダーは、更に、ローカル・キャッシュを有する。例えば、プロバイダー110は、ローカル・キャッシュ111を有する。データ・プロバイダーが、そのコンシューマーの一人から最初のデータ要求を受けたとき、データ・プロバイダーは、その最初のデータ要求がキャッシュからのもので満足されるか否かを調べるために、ローカル・キャッシュをチェックしに行く。もし満足するなら、プロバイダーは、キャッシュ・コンテンツに基づいたレスポンスを使用して、その最初のデータ要求に応答する。もし満足しないのであれば、プロバイダーは、(1)正式のデータ・ソースに対し第2のデータ要求を発行し、(2)その第2のデータ要求に応答して正式のデータ・ソースによって提供されたデータに基づいたレスポンスを使用して最初のデータ要求に応答し、(3)将来の最初のデータ要求を満足させるため使用するように、ローカル・キャッシュの中のエントリとして、第2のデータ要求に応答して正式データ・ソースによって提供されたデータを記憶する。幾つかのケース(示されていない)では、複数のプロバイダーが、同じキャッシュを共有していている。幾つかのケース(示されていない)では、キャッシュが、キャッシュ自身を管理しても良い、又は、データ・プロバイダー以外のものによって管理されていてもよい。
一例として、各データコンシューマは、ウエブ・サーバーであるデータ・プロバイダーから、ウエブ・ページまたは他のリソースを要求するウエブ・クライアントであってもよい。データ・ソースは、データを提供する、中央データ・ストアまたはサービスであってもよく、それらのストアやサービスは、ウエブ・クライアントによって要求されたウエブ・ページや他のリソースをウエブ・サーバーに作らせるためのデータを提供する。そのようなローカル・キャッシュを使用したアーキテクチャーは、2005年7月8日に出願された米国特許出願番号11/177206に記載されており、その出願はここでは全部参考として協働される。その代わりとして、データ・プロバイダーは、1又は複数のウエブ・クライアントまたはウエブ・サーバーのためである、プロキシ・サーバーまたは他の中間のキャッシュ(ウエブ・クライアントが実行する同じコンピュータ・システムに記憶されたキャッシュのような、)であってもよい。
上述したような環境においてデータのキャッシュイングによって提供される効率のレベルは、各キャッシュがどのように管理されているかに強く依存している。特に、キャッシュによって使用されるベイシス(basis)、および/又は、キャッシュ・エントリに記憶された或るバージョンのデータを最初の要求を満足するためにどのくらい長く使用すべきかを決定するデータ・プロバイダーに強く依存する。
キャッシュ・エントリの新鮮さを維持するための従来のスキームは、酷い欠点を有していた。第1の従来のスキームは、各キャッシュ・データ・オブジェクトのためのオブジェクトのライフタイムの使用であり、ライフタイム(寿命)とは、オブジェクトを有するエントリを失効する前の、データ・オブジェクトがキャッシュの中に維持されている最大時間量のことである(ときどき、オブジェクトの"生存時間"として言及される)。このスキームでは、データ・オブジェクトを供給するデータ・ソースが、そのデータ・オブジェクトに対するそのような期間を割り当てるか、または、データ・プロバイダーがその期間を割り当てる。データ・オブジェクトを有するキャッシュ・エントリにキャッシュが追加されると、そのエントリの失効時間を確立するため、現在時間(current time)に前記割り当てられた期間が加算される。エントリの失効時間が過ぎた後は、エントリは失効され、エントリはもはやキャッシュから復元されることはなく、そのキャッシュが占有していたスペースは、新しいキャッシュ・エントリのために再要求される。
良い結果を生むオブジェクトのライフタイムを選択することはしばしば難しい。一方、オブジェクト・ライフタイムを余りに長く選択すると、キャッシュされたオブジェクトは、"新鮮でない"になる。即ち、そのキャッシュされたオブジェクトを提供したオブジェクト・ソースが新しい第2のデータ要求に応答して提供するオブジェクトと、そのキャッシュされたオブジェクトはもはやマッチしないものとなる。そして、それはデータ・コンシューマーを要求することに対し余り有用ではない。一方、オブジェクト・ライフタイムが余りに短く選択されると、キャッシュされたオブジェクトが最初のデータ要求を満足させるために使用されるだろう見込みは低く、オブジェクトをキャッシュイングする利点がなくなる。
キャッシュ・エントリの新鮮さを維持するための第2の従来の技術は、明示の無効を使用することを含んでいる。明示の無効とは、データ・ソースによってデータ・プロバイダーに送られる通知であり、その通知は、第2のデータ要求に応答してデータ・ソースが提供するオブジェクトのバージョンを変化させたことを決定する時の通知と、そして、データ・ソースによって提供された、それより古く提供されたバージョンのキャッシュされたオブジェクトが新鮮ではないということの通知とである。データ・プロバイダーは、データ・ソースから明示の無効の通知を受け取ると、もし、関連するオブジェクトがキャッシュに含まれているなら、直ちにそのキャッシュから関連するオブジェクトを失効する。
前記明示の無効は、オブジェクトのライフタイムのスキームに関連する欠点を克服する能力を有する一方、オブジェクトのライフタイムのスキームは、実質的処理および/または通信リソースを消費するという欠点を抱えている。第一に、オブジェクト内の変更を検出し、明示の無効を送ることは、データ・ソースの一部において大きな処理エネルギーを消費する。一旦データ・ソースがこの変更を検出してしまうと、それは、(1)全てのデータ・プロバイダーに明示の無効を送信し、その結果、明示の無効を運ぶために大きなネットワーク・バンド幅を招き、その明示の無効に反応するための膨大なデータ・プロバイダーの処理コストを招く、又は、(2)どのデータ・プロバイダー達が古いバージョンのキャッシュ・データを最も有している可能性が高いかを決定するための追加の処理および記憶リソースを消費し、これらのデータ・プロバイダーのみに明示の無効を送る。
米国特許出願番号11/177206
キャッシュ・エントリを無効にする従来技術のこれらの欠点を克服するキャッシュ・エントリの新鮮さを維持するアプローチは、非常な有用性を有するであろう。
図1は、データをキャッシュイングするための典型的なアーキテクチャーを示すネットワーク・ダイアグラムである。 図2は、少なくともいくつかのコンピュータ・システムにおいて協働するいくつかのコンポーネントと、その設備が実行する他のデバイスとを示すブロック・ダイアグラムである。 図3は、その設備の作用を示す時系列ダイアグラムである。 図4は、最初の要求に応答する間、キャッシュを維持するためにその設備によって典型的に実行されるステップを示すフロー・ダイアグラムである。 図5は、図4において引き起こされる第2の要求ルーティンの作成の一部として、その設備によって典型的に実行されるステップを示すフロー・ダイアグラムである 図6は、図4において引き起こされるキャッシュのアップデートのルーティンの一部として、その設備によって典型的に実行されるステップを示すフロー・ダイアグラムである。 図7は、図4において引き起こされる一致性のチェックおよびピア・コーディネーションのルーティンの一部として、その設備によって典型的に実行されるステップを示すフロー・ダイアグラムである。
確率的な、キャッシュ・エントリの一致性のチェックを実行するためのソフトウエア機能("該機能")について記述する。該ソフトウエア機能は、各エントリのために確立されるべき2つの時間量を認める。その時間量とは、エントリがキャッシュに存在し、尊重されている(−明らかに無効でないなら−)最小量の時間を特定する最短のライフタイム、および、エントリが尊重されている最大量の時間を特定する最長ライフタイムである。もし、キャッシュ・エントリを使用して満足できる最初の要求が、最短ライフタイムが失効される前の時間に成されるなら、該ソフトウエア機能は最初のデータ・エントリを満足させるためにそのキャッシュ・エントリを使用する。もし、キャッシュ・エントリを使用して満足できる最初の要求が、最長ライフタイムが失効してしまった後の時間に成されるなら、最初のデータ要求を満足させるため第2のデータ要求をデータ・ソースに対し発行し、そして、第2のデータ要求の結果を反映させるためそのキャッシュをアップデートする。しかし、もし、キャッシュ・エントリを使用して満足できる最初の要求が、最短ライフタイムが失効された後であるが、最大ライフタイムに届く前に成されたなら、該ソフトウエア機能は、キャッシュ・エントリを使用するか、または、第2のデータ要求を発行することによって、キャッシュされたオブジェクトの一致性チェックをするかを、確率的に決定する。特に、該ソフトウエア機能はランダムな数または擬似ランダムな数を発生し、そのオブジェクトのために決定された確率的閾値とそれとを比較する。もし、ランダムな数がその確率的閾値を超えたなら、該ソフトウエア機能はキャッシュ・エントリを使用し、それと反対に、ランダムな数がその確率的閾値を超えなかったら、該ソフトウエア機能は最初のデータ要求を満足させるためデータ・ソースに対し第2のデータ要求を発行し、そして、第2のデータ要求の結果を反映したキャッシュをアップデートする。
幾つかの実施例では、該ソフトウエア機能が最初のデータ要求を満足させるため新しい第2のデータ要求を発行し、該ソフトウエア機能がキャッシュされた結果と新しい第2のデータ結果とを比較する。もし、これらが異なれば、該ソフトウエア機能は他のキャッシュの管理者に、相応するオブジェクトのために有している如何なるエントリも無効にするよう通告する。幾つかの実施例では、該ソフトウエア機能はその通告の中にその新しい結果を含む。幾つかの実施例では、送り手がそのオブジェクトのためにキャッシした値(value)を無効にするか、又は、異なる値にするかを、受け手のキャッシュ管理者が効果的に決定できる無効キャッシュ・エントリのためのダイジェストを、該ソフトウエア機能はその通告の中に含ませる。
上述した幾つかの又は全ての方法において、該ソフトウエア機能の実施例は、過度なレベルのリソースを消費することなく、素晴らしいキャッシュ・パフォーマンスを提供する。
図2は、該ソフトウエア機能が実行されるコンピュータ・システムおよび他のデバイスの少なくとも幾つかの中で典型的に協働するコンポーネントの幾つかを示すブロック・ダイアグラムである。これらのコンピュータ・システムおよびデバイス200は、コンピュータ・プログラムを実行するための1または複数の中央演算装置(CPUs)201、プログラムやデータが使用されている間、それらを記憶するためのコンピュータ・メモリ202,プログラムやデータを永続的に記憶するハードドライブのような永続記憶装置(persistent storage device)203,コンピュータ読み取り可能媒体に記憶されたプログラムやデータを読むための、CD−ROMのようなコンピュータ読み取り可能媒体204、および、インターネットを介するような、コンピュータ・システムと他のコンピュータ・システムとを結ぶためのネットワーク・コネクション205を有している。上述したような構成のコンピュータ・システムが該ソフトウエア機構の動作をサポートするために典型的に用いられるが、この分野の当業者であれば、該ソフトウエア機能が、色々なタイプの装置や構成を用いて、色々なコンポーネントを有して、実行できることは理解できる。
図3は、該ソフトウエア機能の動作を示す時系列ダイアグラムである。このダイアグラムは、時間が右方向に経過する時系列300を示している。時刻ゼロで、オブジェクトが該ソフトウエア機能によって管理されているキャッシュに追加される。この時刻において、2つのライフタイムがこのオブジェクトのために確立される。最短ライフタイム310、ここでは10分、そして、最長ライフタイム320、ここでは30分である。これらのライフタイムの期間の特定は、色々な方法で構成される。例えば、手動で、個々のオブジェクトのために、オブジェクトのタイプのために、全てのオブジェクトのために設定されるか、または、自動的に、プログラムされたロジックで設定される。最短ライフタイムは、オブジェクトがキャッシュに追加される時刻に、オブジェクトのために決定された最短ライフタイム期間を加算することによって得られる時刻に失効するといえる。同じように、最長ライフタイムは、オブジェクトがキャッシュに追加された時刻に、オブジェクトのために決定された最長ライフタイム期間を加算することによって得られる時刻に失効するといえる。いくつかの実施例では、或る状況下では、例えば、新しい第2の要求が、キャッシュされたバージョンのオブジェクトにマッチするバージョンのオブジェクトを戻すような状況下では、該ソフトウエア機能は、オブジェクトの2つのライフタイムを後で延長する。
最初の要求をオブジェクトの最短ライフタイム内に受け取ったなら、そのオブジェクトを要求に応答して、該ソフトウエア機能は、その最初の要求に応えるために、キャッシュからそのバージョンのオブジェクトを無条件で使用することを、このダイアグラムは示している。この図は更に、そのような要求を、キャッシュされたオブジェクトの最長ライフタイムが失効してしまった後で受け取ったなら、該ソフトウエア機能は、新しいバージョンのオブジェクトを得るために、第2の要求を無条件で発行する。しかし、そのような最初の要求を、最短ライフタイムが失効した後で、かつ、最長ライフタイムが失効する前に受け取ったなら、該ソフトウエア機能は、そのキャッシュされたバージョンのオブジェクトを使用するか、または、オブジェクトのための第2の要求を作成するかを、確率的に決定する。特に、該ソフトウエア機能は、キャッシュされたオブジェクトが一致性のチェックを受けるべきであるという構成可能な確率値を、0%と100%との間で表される確率の範囲で、例えば、0と1の間の範囲の10%のように、探す。そして、それは、この範囲でランダムな数を作成し、その数とこの確率閾値とを比較する。もし、このランダムな数が確率閾値以下なら、該ソフトウエア機能はキャッシュされたオブジェクトの一貫性チェックをし、そうでなければ、該ソフトウエア機能はキャッシュされたオブジェクトを使用する。或る実施例では、この確率閾値は各オブジェクトのために、又は全てのケースに渡って固定される。或る実施例では、1つ又はそれ以上のオブジェクトのための確率閾値は変化する。例えば、確率閾値は、オブジェクトの最短ライフタイムの失効から最長ライフタイムの失効までの期間に亘って増加する、又は、この期間に亘って減少するように変化する。
図4は、最初の要求に応えている間、キャッシュを管理するために、該ソフトウエア機能によって典型的に実行されるステップを示すフロー・ダイアグラムである。ステップ401において、該ソフトウエア機能は上述したように最初の要求を受け取る。ステップ402では、該ソフトウエア機能は、ステップ401で受け取った最初の要求に応えるために必要とされるオブジェクトを識別する。いくつかのケースでは、唯一つのオブジェクトが、最初の要求に応えるために必要とされる。それは、最初の要求内で明白に識別されるかもしれない。他のケースでは、最初の要求に応えるためにどのオブジェクトが必要とされるかを決定するために、ウエブ・ページのような、外部ソースを該ソフトウエア機能は使用しなければならない。ステップ403−413では、該ソフトウエア機能は、ステップ402で識別された各オブジェクトを介してループを構成する。ステップ404では、もし、現在のオブジェクトのバージョンがキャッシュに含まれており、かつ、このキャッシュ・エントリが失効していない最短ライフタイムを有しているなら、該ソフトウエア機能は、ステップ405に進み、そうでないなら、ステップ406に進む。ステップ405では、該ソフトウエア機能は、ステップ401で受け取った最初の要求に対する応答を作成するときにオブジェクトのキャッシュされたバージョンを使用する。ステップ405の後、該ソフトウエア機能はステップ413に進む。
ステップ406では、もし、失効した最短ライフタイムを有しながら、失効していない最長ライフタイムを有するエントリ内に、或るバージョンのオブジェクトを、キャッシュが有しているなら、該ソフトウエア機能はステップ407に進み、そうでなければ、ステップ409に進む。ステップ407では、該ソフトウエア機能は、0と1の間の範囲のような範囲で、ランダムな数を決定する。ステップ408では、もし、ステップ407で決定されたランダムな数が、一致性チェックの確率閾値と等しい又は以下であるならば、該ソフトウエア機能は、キャッシュ・エントリの一致性チェックに相応する一連のステップを実行するためにステップ411に進み、そうでなければ、キャッシュされたバージョンのオブジェクトを使用するためにステップ405に進む。
ステップ409では、該ソフトウエア機能は、最新のバージョンのオブジェクトを検索するために、図5に関連して以下に論じる、第2の要求の作成のルーティンを引き起こす。ステップ410では、該ソフトウエア機能は、第2の要求に応えるために戻されたそのバージョンのオブジェクトを含むためキャッシュを最新化するために、図6に関連して以下に論じる、キャッシュをアップデートするルーティンを引き起こす。ステップ410の後、該ソフトウエア機能はステップ413に進む。
ステップ411では、該ソフトウエア機能は、前記第2の要求の作成のルーティンの作成を引き起こす。ステップ412では、該ソフトウエア機能は、ステップ411で作成された第2の要求の結果と、キャッシュに記憶されたバージョンとを比較するために、図7と関連して以下に論じられる、一致性チェックとピア協力のルーティンを引き起こし、もし、異なっていれば、該ソフトウエア機能は、このオブジェクトのためのキャッシュ・エントリは失効してしまっているという指示を、ピアキャッシュに提供する。ステップ412の後、該ソフトウエア機能はステップ410に進む。
ステップ413では、もし、追加の識別されたオブジェクトが処理されるために残っているなら、該ソフトウエア機能は、次の識別されたオブジェクトを処理するためにステップ403に進み、そうでなければ、ステップ414に進む。ステップ414では、該ソフトウエア機能は、キャッシュされた、および/又は、無効にされたオブジェクトを使用して構築された最初の要求に対する応答を、最初の要求を送った者に送る。ステップ414の後、該ソフトウエア機能は、次の最初の要求を受け取るためにステップ401に進む。
当業者であれば、図4および以下論じられる各フロー・ダイアグラムで示されるステップが色々な方法に変更できることは理解できる。例えば、ステップの順序は再アレンジされてもよい。いくつかのステップは、並列で実行されても良い。示されたステップがオミットされてもよいし、または、他のステップが含まれても良い。ステップが、より大きい又は小さいレベルの細分化で実行されても良いなどである。
図5は、図4で引き起こされた第2の要求の作成のルーティンの一部として、該ソフトウエア機能によって典型的に実行されるステップを示している。ステップ501において、該ソフトウエア機能は、そのオブジェクトのために、適切なデータ・ソースに対し、第2の要求を発行する。ステップ502では、ステップ501で発行された第2の要求に対する、データ・ソースからそれが送られた所への応答を、該ソフトウエア機能は受け取る。幾つかの実施例では、ステップ502は、ステップ501とは非同期で、イベント発生方式で実行され、第2の要求に対する応答の到着によってトリガーされる。ステップ502後、第2の要求の作成のルーティンは、戻る。
図6は、図4で引き起こされたキャッシュのアップデートのルーティンの一部として、該ソフトウエア機能によって典型的に実行されるステップのフロー・ダイアグラムを示している。ステップ601では、該ソフトウエア機能は、オブジェクトからのエントリをローカル・キャッシュからリムーブする、もし、そこに存在するなら。ステップ602では、該ソフトウエア機能は、第2の要求に対する応答に含まれるそのバージョンのオブジェクトのために、エントリをローカル・キャッシュに追加する。該ソフトウエア機能は、エントリがキャッシュに追加された時刻に基づいた、追加されたエントリの為の新しい最短および最長ライフタイムを典型的には確立する。オブジェクトがキャッシュの中に存在する、幾つかの実施例では、該ソフトウエア機能は、現存するエントリを取り去り、新しいエントリを追加するよりもむしろ、現存するキャッシュ・エントリを単にアップデートするために、ステップ601と602とを結合する。ステップ603では、該ソフトウエア機能は、最初の要求に対する応答を作るときに、第2の要求に対する応答に含まれるそのバージョンのオブジェクトを使用する。ステップ603後、該ソフトウエア機能は、無効オブジェクトルーティンから戻る。
図7は、図4で引き起こされた一致性チェックとピア協働ルーティンの一部として、該ソフトウエア機能によって典型的に実行されるステップを示すフロー・ダイアグラムである。ステップ701では、もし、第2の要求に対する応答に含まれるそのバージョンのオブジェクトが、キャッシュされたバージョンのオブジェクトと一致するなら、該ソフトウエア機能はステップ702に進み、そうでなければ、該ソフトウエア機能は、一致性チェックとピア協働ルーティンから戻る。
ステップ702では、該ソフトウエア機能は、ピアキャッシュの管理者(マネジャー)に無効の通知を送る。幾つかの実施例では、該ソフトウエア機能は、現在のキャッシュのためのデータ・プロバイダーから各ピアキャッシュのためのデータ・プロバイダーへ無効の通知を送る。幾つかの実施例では、このキャッシュのためのデータ・プロバイダーが、無効の通知を、無効の通知のための中央交換所に送る。その交換所は、各ピアキャッシュのためのデータ・プロバイダーへ無効の通知を転送するか、または、一部または全てのピアキャッシュのためのデータ・プロバイダーによる修復に利用する無効の通知を作る。幾つかの実施例では、無効の通知は、オブジェクト識別子のようなオブジェクトを識別するための情報、又は、適切なデータソースからのオブジェクトを入手するために使用される第2の要求の他のコンテンツ、又は、キャッシュ内のオブジェクトを識別するために使用されるキャッシュ・キーのみを含む。無効の通知を受け取るキャッシュ管理者(マネジャー)は、自身のキャッシュから一致するエントリを取り去る、または、適切なデータ・ソースに対しオブジェクトのための自身の第2の要求を発行することによってそのようなエントリをリフレッシュする。幾つかの実施例では、無効の通知は、第2の要求に応答して受け取った新しいバージョンのオブジェクトのコピーを含む。幾つかの実施例では、無効の通知を受け取ったピアキャッシュ管理者は、自身のキャッシュの中でこの新しいバージョンのオブジェクトを取り替え、幾つかの実施例では、オブジェクトのためのオブジェクト・ライフタイムをリセットする。幾つかの実施例では、送られた無効の通知は、MD5ハッシュング・アルゴリズムのようなハッシュング・アルゴリズムを使用して作成されたダイジェストの表示(representation)のような、古いバージョンのオブジェクトのコンテンツの古いダイジェストの表示を含む。幾つかの実施例では、無効の通知を受けたピアキャッシュ管理者(マネジャー)は、もし、オブジェクト・コンテンツのダイジェストの表示が、それがキャッシュするバージョンのオブジェクトのダイジェストの表示と一致したなら、単にそれを処理する。幾つかの実施例では、送られた無効の通知は、第2の要求に応答して受け取った新しいバージョンのオブジェクトのダイジェストの表示を含む。そのような実施例では、無効の通知を受け取ったピアキャッシュ管理者は、新しい値(value)に含まれるダイジェストの表示が、自身のキャッシュの中のバージョンのオブジェクトのダイジェストの表示と一致しない場合、単に無効の通知を処理する。幾つかの実施例では、該ソフトウエア機能は、オブジェクトのサイズ、又は、オブジェクトの他の属性に基づき、無効の通知の特定のコンテンツを変化させる。一例として、或るサイズの閾値までは、該ソフトウエア機能は、無効の通知の中のオブジェクトの完全な表示を含み、その閾値以上の場合は、ダイジェストの表示を含む、又は、表示はない。ステップ702の後、該ソフトウエア機能は、一致性のチェックおよびピア協働ルーティンから戻る。
当業者であれば、上述したソフトウエア機能が素直に色々な具合に適用され、拡張されることを理解できる。例えば、該ソフトウエア機能は、色々な異なる構成における単一のキャッシュ又は複数のピアキャッシュ、または、サービスからの色々なタイプのキャッシュイング・データ、または、色々なタイプの他のデータ・ソースからの色々なタイプのキャッシュイング・データを管理するために使用される。ミリアド(Myriad)アプローチは、最短および最長ライフタイム期間および無効確率閾値を設定するために使用される。異なる技術が、ピアキャッシュ間の協力のために使用されてもよい。前述の記載は特定の実施例に対する参照であって、本発明の範囲は請求項によってのみ定義される。
以下、本出願の親出願(特願2009−525733)の出願当初の特許請求の範囲を記載する。
[親出願の請求項1]
キャッシュを管理する方法であって、
或るオブジェクトに対する要求を受け取り、
もし、そのキャッシュがキャッシュされたバージョンのオブジェクトを有していないなら、そのオブジェクトに関連するソースから現在のバージョンのオブジェクトを入手し、
もし、そのキャッシュがキャッシュされたバージョンのオブジェクトを有していて、かつ、
もし、そのキャッシュされたバージョンのオブジェクトに属する最短ライフタイムが失効していないなら、受け取った要求に応答するためにそのキャッシュされたバージョンのオブジェクトを使用し、
もし、そのキャッシュされたバージョンのオブジェクトに属する最短ライフタイムが失効しているが、そのキャッシュされたバージョンのオブジェクトに属する最長ライフタイムが失効していないなら、現在のバージョンのオブジェクトを入手するか、又は、そのキャッシュされたバージョンのオブジェクトを使用するかを確率的に決定する、
ことを特徴とする方法。
[親出願の請求項2]
もし、前記キャッシュが、キャッシュされたバージョンのオブジェクトを有していないなら、
そのキャッシュに、入手された現在のバージョンのオブジェクトを記憶し、
現在のバージョンのオブジェクトに対し、現在のバージョンのオブジェクトがキャッシュに記憶された時刻に基づき、最短ライフタイムおよび最長ライフタイムを付属させ、
受け取った要求に応答するために現在のバージョンのオブジェクトを使用する、
ことを更に有する、請求項1記載の方法。
[親出願の請求項3]
前記そのキャッシュされたバージョンのオブジェクトを使用するかを確率的に決定することが、
或る範囲内のランダムな又は擬似ランダムな数を決定し、
その決定された数が前記範囲に関して決定された確率閾値を超えたなら、受け取った要求に応答するために、キャッシュされたバージョンのオブジェクトを使用し、
もし、そのキャッシュされたバージョンのオブジェクトに属する最長ライフタイムが失効したなら、又は、前記決定された数が前記確率閾値を超えなかったなら、
そのオブジェクトに関連するソースから現在のバージョンのオブジェクトを入手に応答して、
キャッシュに現在のバージョンのオブジェクトを記憶し、
現在のバージョンのオブジェクトに対し、現在のバージョンのオブジェクトがキャッシュに記憶された時刻に基づき、最短ライフタイムおよび最長ライフタイムを付属させ、
受け取った要求に応答するために現在のバージョンのオブジェクトを使用する、
ことを有する、請求項2記載の方法。
[親出願の請求項4]
もし、決定された数が前記確率閾値を超えないなら、
入手された現在のバージョンのオブジェクトが、キャッシュされたバージョンのオブジェクトと異なるか否かを決定し、
入手された現在のバージョンのオブジェクトが、キャッシュされたバージョンのオブジェクトと異なるなら、1またはそれ以上のピアキャッシュの管理者に無効の通知を送る、
ことを更に有する、請求項3記載の方法。
[親出願の請求項5]
請求項1ないし4いずれか1項記載の方法を実行するコンピュータプログラム。
[親出願の請求項6]
キャッシュ・エントリをチェックして一致するか否かを決定する方法をコンピュータ・システムに実行させる内容を有するコンピュータ読み込み可能な媒体であって、
前記方法が、
ランダムに、又は、擬似ランダムに或る範囲の数を選択し、
もし、選択された数が前記範囲内の一致性チェックの閾値を満足するなら、そのエントリの一致性チェックをし、
もし、選択された数が前記範囲内の一致性チェックの閾値を満足しないなら、そのエントリの一致性チェックをしないことを決定する、
ことを特徴とするコンピュータ読み込み可能な媒体。
[親出願の請求項7]
キャッシュ・エントリを管理するために使用されるキャッシュ管理データ構造を集合的に有する1又はそれ以上のメモリであって、
キャッシュ・エントリのための最短ライフタイムが失効する時刻を識別する情報と、
キャッシュ・エントリのための最長ライフタイムが失効する時刻を識別する情報と、を有し、
それは、キャッシュ・エントリがアクセスされた時刻が、最短ライフタイムの失効の前であるのか、または、最短ライフタイムの失効の後であるが、最長ライフタイムの失効の前であるのか最長ライフタイムの失効の後であるのかを決定し、
最短ライフタイムの失効前にアクセスされたなら無条件でキャッシュ・エントリを使用し、
最短ライフタイムの失効の後にアクセスされたが、最長ライフタイムの失効の前にアクセスされたなら、キャッシュ・エントリは確率的に一致性のチェックがされ、
最長ライフタイムの失効の後にアクセスされたなら、キャッシュは無条件で失効される、ことを特徴とする、1又はそれ以上のメモリ。
[親出願の請求項8]
前記データ構造が、キャッシュ・エントリが最短ライフタイムの失効の後であるが、最長ライフタイムの失効の前にアクセスされるとき、
ランダム又は擬似ランダムの値を作成し、
もし、その作成された値が、特定の一致性チェックの確率の値を超えないなら、そのキャッシュ・エントリに対し一致性のチェックをし、
もし、その作成された値が、特定の一致性チェックの確率の値を超えたなら、そのキャッシュ・エントリを使用する、
ことによって、キャッシュ・エントリが確率的に一致性のチェックをなされるように、
前記データ構造が一致性チェックの確率値を更に有する、請求項7に記載の1又はそれ以上のメモリ。
[親出願の請求項9]
第2の時刻に記憶された現存するコンテンツのキャッシュ・エントリを、第1の時刻に無効であるか否かを決定する装置であって、
第3の時刻を得るために、第2の時刻に、第1の時間間隔を加算する手段と、
第4の時刻を得るために、第2の時刻に、第1の時間間隔より長い第2の時間間隔を加算する手段と、
もし、前記第1の時刻が前記第3の時刻より前の時刻であるなら、キャッシュ・エントリの一致性のチェックをすること無しに、そのキャッシュ・エントリを使用することを決定する手段と、
もし、前記第1の時刻が前記第4の時刻より後の時刻であるなら、そのキャッシュ・エントリを失効する手段と、
もし、前記第1の時刻が前記第3の時刻と第4の時刻との間であるなら、ランダムに、又は、擬似ランダムに或る範囲の数を選択し、
もし、その選択された数が前記範囲内の一致性チェックの閾値を満足するなら、キャッシュ・エントリの一致性チェックをし、
もし、その選択された数が前記範囲内の一致性チェックの閾値を満足しないなら、キャッシュ・エントリの一致性チェックをすること無しに、そのキャッシュ・エントリを使用することを決定する手段と、
を有することを特徴とする装置。
[親出願の請求項10]
第1の時刻を第3の時刻から第4の時刻へ先に延ばすことを反映して、一致性チェックの閾値を決定する手段を更に備えた、請求項9記載の装置。
[親出願の請求項11]
前記キャッシュ・エントリのコンテンツに関連するソースから明白な無効の通知を受け取り完了したこと決定する手段と、
その決定に応答して、第1の時刻、第3の時刻、第4の時刻の間の関係に関係なく、前記キャッシュ・エントリを無効にする手段と、
を更に備えた、請求項9記載の装置。
[親出願の請求項12]
前記キャッシュ・エントリの一致性チェックのための手段が、
キャッシュ・エントリのコンテンツに関連するソースから、現在のバージョンのキャッシュ・エントリのコンテンツを得るための手段と、
入手した現在のキャッシュ・エントリのコンテンツを、そのキャッシュ・エントリに記憶させる手段と、
を備えた請求項9記載の装置。
[親出願の請求項13]
前記入手した現在のバージョンのキャッシュ・エントリのコンテンツを記憶する前に、入手した現在のバージョンのキャッシュ・エントリのコンテンツと、キャッシュ・エントリに存在するコンテンツとを比較する手段と、
前記入手した現在のバージョンのキャッシュ・エントリのコンテンツを記憶する前に、もし、入手した現在のバージョンのキャッシュ・エントリのコンテンツと、キャッシュ・エントリに存在するコンテンツとが異なるなら、ピアキャッシュの管理者に明白な無効を通知する手段と、
を更に備えた請求項12記載の装置。
[親出願の請求項14]
前記キャッシュ・エントリのコンテンツが或るデータのために或る値(value)を構成し、
その明白な無効の通知は、そのデータを識別するが、そのデータの或る値(value)の如何なる表示も含まない、請求項13記載の装置。
[親出願の請求項15]
無効の通知の受け取りに応答して、無効の通知によって識別されたデータのための値(value)を含むピアキャッシュのキャッシュ・エントリを、ピアキャッシュの管理者が無効にする、請求項14記載の装置。
[親出願の請求項16]
前記キャッシュ・エントリのコンテンツが或るデータのために或る値(value)を構成し、
前記無効の通知は、そのデータを識別し、かつ、キャッシュ・エントリの現在のコンテンツのダイジェストの表示を識別するが、そのデータの値(value)の完全な表示は含まない、請求項13記載の装置。
[親出願の請求項17]
ピアキャッシュの中のキャッシュ・エントリのコンテンツが、無効の通知によって含まれるダイジェストの表示と一致するダイジェストの表示を有する場合にのみ、ピアキャッシュの管理者は、無効の通知に応答して、無効の通知によって識別されたデータのための値(value)を含む、ピアキャッシュの中のキャッシュ・エントリを無効にする、請求項16記載の装置。
[親出願の請求項18]
前記キャッシュ・エントリのコンテンツが或るデータのために或る値(value)を構成し、
前記無効の通知は、そのデータを識別し、かつ、キャッシュ・エントリの入手した現在のバージョンのコンテンツのダイジェストの表示を識別するが、そのデータの値(value)の完全な表示は含まない、請求項13記載の装置。
[親出願の請求項19]
ピアキャッシュの中のキャッシュ・エントリのコンテンツが、無効の通知によって含まれるダイジェストの表示と異なるダイジェストの表示を有する場合にのみ、ピアキャッシュの管理者は、無効の通知に応答して、無効の通知によって識別されたデータのための値を含む、ピアキャッシュの中のキャッシュ・エントリを無効にする、請求項18記載の装置。
[親出願の請求項20]
前記キャッシュ・エントリのコンテンツが或るデータのために或る値(value)を構成し、
前記無効の通知は、そのデータを識別し、キャッシュ・エントリの入手した現在のバージョンのコンテンツの完全な表示を識別する、請求項13記載の装置。
[親出願の請求項21]
キャッシュ・エントリの入手した現在のバージョンのコンテンツのサイズに基づき、キャッシュ・エントリの入手した現在のバージョンのコンテンツの完全な表示を含ませるか否かを決定する手段を、更に備えた、請求項13記載の装置。
[親出願の請求項22]
キャッシュ・エントリのコンテンツに関連するソースから、キャッシュ・エントリの現在のバージョンのコンテンツを入手するために必要な時間量を決定する手段と、
決定された時間量に基づき、キャッシュ・エントリの入手された現在のバージョンのコンテンツの完全な表示を含ませるか否かを決定する手段と、
を更に含む請求項13記載の装置。
[親出願の請求項23]
キャッシュ・エントリのコンテンツに関連するソースから、キャッシュ・エントリの現在のバージョンのコンテンツを入手することに関連するコストに基づき、
キャッシュ・エントリの現在のバージョンのコンテンツの完全な表示を含ませるか否かを決定する手段を更に含む請求項13記載の装置。
[親出願の請求項24]
無効の通知の受け取りに応答して、無効の通知によって識別されたデータのための値(value)を含む、ピアキャッシュの中のキャッシュ・エントリを識別するための手段と、
無効の通知の受け取りに応答して、無効の通知に含まれる入手した現在のバージョンのコンテンツを、ピアキャッシュの識別されたキャッシュ・エントリの中に記憶させる手段とを、ピアキャッシュの管理者が有する、請求項20記載の装置。

Claims (5)

  1. コンピュータ・システムに、オブジェクトを管理する下記方法を実行させるコンテンツを有するコンピュータ読み取り可能媒体であって、
    キャッシュされたバージョンのオブジェクトが現在のバージョンのオブジェクトとは異なるという、ピア計算装置からの決定に相応する通知を取得し、ただし、前記現在のバージョンのオブジェクトはソースによって供給され、
    前記取得した通知に基づき、アップデータされたバージョンのオブジェクトのため、前記ソースに対し、要求を伝達するか否かを決定する、ただし、前記現在のバージョンのオブジェクトは、まだ超えていない最短ライフタイムに関連する、
    ことを特徴とする、コンピュータ読み取り可能媒体。
  2. 前記アップデータされたバージョンのオブジェクトのため、前記ソースに対し、要求を伝達するか否かを決定することが、
    無効バージョンのオブジェクトを示唆するダイジェストを取得し、そして、
    前記ダイジェストがキャッシュされたバージョンのオブジェクトと一致するか否かを決定する、ことを含む、請求項1記載のコンピュータ読み取り可能媒体。
  3. 前記アップデータされたバージョンのオブジェクトのため、前記ソースに対し、要求を伝達するか否かを決定することが、
    有効バージョンのオブジェクトを示唆するダイジェストを取得し、そして、
    前記ダイジェストがキャッシュされたバージョンのオブジェクトと一致するか否かを決定する、ことを含む、請求項1記載のコンピュータ読み取り可能媒体。
  4. もし、前記ダイジェストがキャッシュされたバージョンのオブジェクトに一致するなら、キャッシュされたバージョンのオブジェクトに関連する最短ライフタイムをリセットすることを更に有する、請求項3記載のコンピュータ読み取り可能媒体。
  5. キャッシュ・エントリをチェックして一致するか否かを決定する方法をコンピュータ・システムに実行させる内容を有するコンピュータ読み込み可能な媒体であって、
    前記方法が、
    ランダムに、又は、擬似ランダムに或る範囲の数を選択し、
    もし、選択された数が前記範囲内の一致性チェックの閾値を満足するなら、そのエントリの一致性チェックをし、
    もし、選択された数が前記範囲内の一致性チェックの閾値を満足しないなら、そのエントリの一致性チェックをしないことを決定する、
    ことを特徴とするコンピュータ読み込み可能な媒体。
JP2012237472A 2006-08-21 2012-10-29 キャッシュ・エントリの一致性検索のための確率テクニック Active JP5631373B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/466,016 2006-08-21
US11/466,016 US7461206B2 (en) 2006-08-21 2006-08-21 Probabilistic technique for consistency checking cache entries

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009525733A Division JP5300723B2 (ja) 2006-08-21 2007-08-21 キャッシュ・エントリの一致性検索のための確率テクニック

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014166072A Division JP5832608B2 (ja) 2006-08-21 2014-08-18 キャッシュ・エントリの一致性検索のための確率テクニック

Publications (2)

Publication Number Publication Date
JP2013050976A true JP2013050976A (ja) 2013-03-14
JP5631373B2 JP5631373B2 (ja) 2014-11-26

Family

ID=39102704

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2009525733A Active JP5300723B2 (ja) 2006-08-21 2007-08-21 キャッシュ・エントリの一致性検索のための確率テクニック
JP2012237472A Active JP5631373B2 (ja) 2006-08-21 2012-10-29 キャッシュ・エントリの一致性検索のための確率テクニック
JP2014166072A Active JP5832608B2 (ja) 2006-08-21 2014-08-18 キャッシュ・エントリの一致性検索のための確率テクニック

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2009525733A Active JP5300723B2 (ja) 2006-08-21 2007-08-21 キャッシュ・エントリの一致性検索のための確率テクニック

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2014166072A Active JP5832608B2 (ja) 2006-08-21 2014-08-18 キャッシュ・エントリの一致性検索のための確率テクニック

Country Status (5)

Country Link
US (2) US7461206B2 (ja)
EP (2) EP2472404A1 (ja)
JP (3) JP5300723B2 (ja)
CN (1) CN101512497B (ja)
WO (1) WO2008024762A2 (ja)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070185015A1 (en) * 2005-02-28 2007-08-09 Chiron Corporation and North China Pharmaceutical Corporation Semi-synthetic desmethyl-vancomycin-based glycopeptides with antibiotic activity
US7685371B1 (en) * 2006-04-19 2010-03-23 Nvidia Corporation Hierarchical flush barrier mechanism with deadlock avoidance
US7886034B1 (en) * 2006-09-27 2011-02-08 Symantec Corporation Adaptive liveness management for robust and efficient peer-to-peer storage
US20080168017A1 (en) * 2007-01-05 2008-07-10 International Business Machines Corporation Method and apparatus for configuration modelling and consistency checking of web applications
US8504775B2 (en) * 2007-03-12 2013-08-06 Citrix Systems, Inc Systems and methods of prefreshening cached objects based on user's current web page
US7584294B2 (en) * 2007-03-12 2009-09-01 Citrix Systems, Inc. Systems and methods for prefetching objects for caching using QOS
US7783757B2 (en) * 2007-03-12 2010-08-24 Citrix Systems, Inc. Systems and methods of revalidating cached objects in parallel with request for object
US7720936B2 (en) * 2007-03-12 2010-05-18 Citrix Systems, Inc. Systems and methods of freshening and prefreshening a DNS cache
US8701010B2 (en) * 2007-03-12 2014-04-15 Citrix Systems, Inc. Systems and methods of using the refresh button to determine freshness policy
US8209491B2 (en) * 2010-04-27 2012-06-26 Symantec Corporation Techniques for directory server integration
US8352440B2 (en) 2010-06-28 2013-01-08 International Business Machines Corporation Using repeated incremental background consistency checking to detect problems with content closer in time to when a failure occurs
US9219706B2 (en) * 2010-09-29 2015-12-22 International Business Machines Corporation Just-in-time wrapper synchronization
US8489694B2 (en) * 2011-02-24 2013-07-16 International Business Machines Corporation Peer-to-peer collaboration of publishers in a publish-subscription environment
CN102222086B (zh) * 2011-05-18 2014-11-26 广州市动景计算机科技有限公司 基于移动终端的网页阅读方法、网页阅读装置及移动终端
CN104011701B (zh) 2011-12-14 2017-08-01 第三雷沃通讯有限责任公司 内容传送网络系统和能够在内容传送网络中操作的方法
US9253278B2 (en) 2012-01-30 2016-02-02 International Business Machines Corporation Using entity tags (ETags) in a hierarchical HTTP proxy cache to reduce network traffic
CN103246656A (zh) * 2012-02-03 2013-08-14 宇龙计算机通信科技(深圳)有限公司 生成静态缓存页面的方法及服务器
US9569356B1 (en) 2012-06-15 2017-02-14 Emc Corporation Methods for updating reference count and shared objects in a concurrent system
US9055118B2 (en) * 2012-07-13 2015-06-09 International Business Machines Corporation Edge caching using HTTP headers
US8880806B2 (en) * 2012-07-27 2014-11-04 International Business Machines Corporation Randomized page weights for optimizing buffer pool page reuse
CN103581052B (zh) 2012-08-02 2017-07-21 华为技术有限公司 一种数据处理方法、路由器及ndn系统
US10701148B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having storage services
US9660874B2 (en) 2012-12-13 2017-05-23 Level 3 Communications, Llc Devices and methods supporting content delivery with delivery services having dynamically configurable log information
US10701149B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having origin services
US10652087B2 (en) 2012-12-13 2020-05-12 Level 3 Communications, Llc Content delivery framework having fill services
US10791050B2 (en) 2012-12-13 2020-09-29 Level 3 Communications, Llc Geographic location determination in a content delivery framework
US20140337472A1 (en) 2012-12-13 2014-11-13 Level 3 Communications, Llc Beacon Services in a Content Delivery Framework
US9634918B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation sequencing in a content delivery framework
US10080159B2 (en) * 2014-06-24 2018-09-18 Qualcomm Incorporated Dynamic bandwidth management for load-based equipment in unlicensed spectrum
US20160042278A1 (en) * 2014-08-06 2016-02-11 International Business Machines Corporation Predictive adjustment of resource refresh in a content delivery network
US9898477B1 (en) 2014-12-05 2018-02-20 EMC IP Holding Company LLC Writing to a site cache in a distributed file system
US10423507B1 (en) 2014-12-05 2019-09-24 EMC IP Holding Company LLC Repairing a site cache in a distributed file system
US10445296B1 (en) * 2014-12-05 2019-10-15 EMC IP Holding Company LLC Reading from a site cache in a distributed file system
US10936494B1 (en) 2014-12-05 2021-03-02 EMC IP Holding Company LLC Site cache manager for a distributed file system
US10430385B1 (en) 2014-12-05 2019-10-01 EMC IP Holding Company LLC Limited deduplication scope for distributed file systems
US10021212B1 (en) 2014-12-05 2018-07-10 EMC IP Holding Company LLC Distributed file systems on content delivery networks
US10452619B1 (en) 2014-12-05 2019-10-22 EMC IP Holding Company LLC Decreasing a site cache capacity in a distributed file system
US10951705B1 (en) 2014-12-05 2021-03-16 EMC IP Holding Company LLC Write leases for distributed file systems
WO2017064586A1 (en) * 2015-10-15 2017-04-20 Tensera Networks Ltd. Freshness-aware presentation of content in communication terminals
US9965515B2 (en) * 2016-02-26 2018-05-08 Sap Se Method and device for cache management
CN107291756A (zh) * 2016-04-01 2017-10-24 阿里巴巴集团控股有限公司 数据缓存的方法及装置
US9591047B1 (en) 2016-04-11 2017-03-07 Level 3 Communications, Llc Invalidation in a content delivery network (CDN)
US10261704B1 (en) 2016-06-29 2019-04-16 EMC IP Holding Company LLC Linked lists in flash memory
US10037164B1 (en) 2016-06-29 2018-07-31 EMC IP Holding Company LLC Flash interface for processing datasets
US10146438B1 (en) 2016-06-29 2018-12-04 EMC IP Holding Company LLC Additive library for data structures in a flash memory
US10089025B1 (en) 2016-06-29 2018-10-02 EMC IP Holding Company LLC Bloom filters in a flash memory
US10055351B1 (en) 2016-06-29 2018-08-21 EMC IP Holding Company LLC Low-overhead index for a flash cache
US10331561B1 (en) * 2016-06-29 2019-06-25 Emc Corporation Systems and methods for rebuilding a cache index
WO2018234967A1 (en) 2017-06-19 2018-12-27 Tensera Networks Ltd. SILENT CONTENT UPDATE IN USER DEVICES
CN108122129B (zh) * 2017-12-01 2022-02-22 上海子午线新荣科技有限公司 一种数据处理方法、装置及电子设备
US11144474B2 (en) * 2018-06-26 2021-10-12 International Business Machines Corporation Integration of application indicated maximum time to cache to least recently used track demoting schemes in a cache management system of a storage controller
US11088911B2 (en) 2019-07-08 2021-08-10 Trane International Inc. Probability-based network data updates
US11169933B2 (en) 2020-02-13 2021-11-09 International Business Machines Corporation Integration of application indicated maximum time to cache for a two-tiered cache management mechanism
US11176057B2 (en) 2020-02-13 2021-11-16 International Business Machines Corporation Integration of application indicated minimum time to cache for a two-tiered cache management mechanism
US11210237B2 (en) * 2020-02-13 2021-12-28 International Business Machines Corporation Integration of application indicated minimum and maximum time to cache for a two-tiered cache management mechanism

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002197002A (ja) * 2000-12-26 2002-07-12 Oki Electric Ind Co Ltd 自律分散型コンテンツ配信システム及び方法
JP2002288145A (ja) * 2001-03-28 2002-10-04 Seiko Epson Corp 情報通信システムおよびそのイベント処理方法並びに情報通信システムにおけるイベント処理プログラムを記録した記録媒体
JP2003030038A (ja) * 2001-07-19 2003-01-31 Nec Corp ホームページキャッシング方法、情報処理装置及びプログラム
JP2003122694A (ja) * 2001-10-12 2003-04-25 M V P Kk プロキシサーバ付きブラウザおよび情報複写システム
US6567893B1 (en) * 2000-11-17 2003-05-20 International Business Machines Corporation System and method for distributed caching of objects using a publish and subscribe paradigm
US20050060316A1 (en) * 1999-03-25 2005-03-17 Microsoft Corporation Extended file system
US20050120040A1 (en) * 2003-11-29 2005-06-02 Microsoft Corporation Network download regulation method and system
JP2005157605A (ja) * 2003-11-25 2005-06-16 Hitachi Ltd 商品データ検索装置および同装置におけるデータ更新方法ならびにプログラム
US20050204098A1 (en) * 2004-03-15 2005-09-15 International Business Machines Corporation Lower overhead shared cache invalidations
US20060106894A1 (en) * 2004-11-03 2006-05-18 Honeywell International Inc. Object replication using information quality of service

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404484A (en) * 1992-09-16 1995-04-04 Hewlett-Packard Company Cache system for reducing memory latency times
JPH10124372A (ja) * 1996-10-18 1998-05-15 Nippon Telegr & Teleph Corp <Ntt> 自律キャッシュ制御システム
US6330561B1 (en) * 1998-06-26 2001-12-11 At&T Corp. Method and apparatus for improving end to end performance of a data network
US6157930A (en) * 1998-09-24 2000-12-05 Acceleration Software International Corporation Accelerating access to wide area network information in mode for showing document then verifying validity
US6654766B1 (en) * 2000-04-04 2003-11-25 International Business Machines Corporation System and method for caching sets of objects
IL153782A0 (en) * 2000-07-17 2003-07-31 Eplication Networks Ltd Bandwidth savings and qos improvements for www sites by caching static and dynamic content on a distributed network of caches
US6615316B1 (en) * 2000-11-16 2003-09-02 International Business Machines, Corporation Using hardware counters to estimate cache warmth for process/thread schedulers
US7552237B2 (en) * 2002-10-17 2009-06-23 International Business Machines Corporation Network address cache apparatus and method
JP4182974B2 (ja) * 2005-11-04 2008-11-19 日本電気株式会社 経路計算システム、ネットワークシステム,キャッシュサーバ,経路計算方法、キャッシュサーバ制御方法及び記録媒体

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060316A1 (en) * 1999-03-25 2005-03-17 Microsoft Corporation Extended file system
US6567893B1 (en) * 2000-11-17 2003-05-20 International Business Machines Corporation System and method for distributed caching of objects using a publish and subscribe paradigm
JP2002197002A (ja) * 2000-12-26 2002-07-12 Oki Electric Ind Co Ltd 自律分散型コンテンツ配信システム及び方法
JP2002288145A (ja) * 2001-03-28 2002-10-04 Seiko Epson Corp 情報通信システムおよびそのイベント処理方法並びに情報通信システムにおけるイベント処理プログラムを記録した記録媒体
JP2003030038A (ja) * 2001-07-19 2003-01-31 Nec Corp ホームページキャッシング方法、情報処理装置及びプログラム
JP2003122694A (ja) * 2001-10-12 2003-04-25 M V P Kk プロキシサーバ付きブラウザおよび情報複写システム
JP2005157605A (ja) * 2003-11-25 2005-06-16 Hitachi Ltd 商品データ検索装置および同装置におけるデータ更新方法ならびにプログラム
US20050120040A1 (en) * 2003-11-29 2005-06-02 Microsoft Corporation Network download regulation method and system
US20050204098A1 (en) * 2004-03-15 2005-09-15 International Business Machines Corporation Lower overhead shared cache invalidations
US20060106894A1 (en) * 2004-11-03 2006-05-18 Honeywell International Inc. Object replication using information quality of service

Also Published As

Publication number Publication date
JP5832608B2 (ja) 2015-12-16
JP5300723B2 (ja) 2013-09-25
US7461206B2 (en) 2008-12-02
US20080046655A1 (en) 2008-02-21
JP5631373B2 (ja) 2014-11-26
EP2062143A2 (en) 2009-05-27
JP2010501941A (ja) 2010-01-21
CN101512497A (zh) 2009-08-19
WO2008024762A2 (en) 2008-02-28
CN101512497B (zh) 2011-06-01
WO2008024762A3 (en) 2008-07-03
JP2014238880A (ja) 2014-12-18
US7734872B2 (en) 2010-06-08
EP2472404A1 (en) 2012-07-04
EP2062143A4 (en) 2010-01-20
US20090083494A1 (en) 2009-03-26

Similar Documents

Publication Publication Date Title
JP5832608B2 (ja) キャッシュ・エントリの一致性検索のための確率テクニック
EP3156911B1 (en) Content management
US7174360B2 (en) Method for forming virtual network storage
KR101570892B1 (ko) 로컬 호스팅된 캐시 및 암호 해시 함수를 사용하여 네트워크 트래픽을 감소시키는 방법 및 시스템
KR101150146B1 (ko) 클라이언트가 서버와 상호작용하는 컴퓨터 구현 방법, 서버가 클라이언트와 상호작용하는 컴퓨터 구현 방법, 오브젝트를 공유하는 분산 파일 시스템 및 컴퓨터 판독가능 기록 매체
US20030033283A1 (en) Data access
EP2545458B1 (en) Method and memory cache data center
WO2001053996A2 (en) Approach for managing and providing content to users
CN110795395B (zh) 文件部署系统和文件部署方法
US20060282879A1 (en) Replicating selected secrets to local domain controllers
US9928174B1 (en) Consistent caching
US6973536B1 (en) Self-adaptive hybrid cache
US7058773B1 (en) System and method for managing data in a distributed system
CN116455980A (zh) 一种基于动态路由的服务反向代理方法及系统
CN108241684B (zh) 一种数据更新方法和集群系统
CN118018543A (zh) 一种文件下载方法、装置和计算设备
CN116415303A (zh) 授权令牌处理方法及系统
CN116738085A (zh) 一种短链接的生成方法、设备及介质
CN114205368A (zh) 数据存储系统、控制方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130826

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131125

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131128

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131218

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131224

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140122

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140317

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140317

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140616

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140619

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140714

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140818

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: 20140908

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141007

R150 Certificate of patent or registration of utility model

Ref document number: 5631373

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250