JP6280146B2 - 分散型キャッシング(caching)オブジェクトを除去する方法、システム、およびサーバ - Google Patents

分散型キャッシング(caching)オブジェクトを除去する方法、システム、およびサーバ Download PDF

Info

Publication number
JP6280146B2
JP6280146B2 JP2016029168A JP2016029168A JP6280146B2 JP 6280146 B2 JP6280146 B2 JP 6280146B2 JP 2016029168 A JP2016029168 A JP 2016029168A JP 2016029168 A JP2016029168 A JP 2016029168A JP 6280146 B2 JP6280146 B2 JP 6280146B2
Authority
JP
Japan
Prior art keywords
server
status
determining
period
current
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
JP2016029168A
Other languages
English (en)
Other versions
JP2016085767A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2016085767A publication Critical patent/JP2016085767A/ja
Application granted granted Critical
Publication of JP6280146B2 publication Critical patent/JP6280146B2/ja
Expired - Fee Related 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Description

関連特許出願の相互参照
本出願は、参照によりその全体が本明細書に組み込まれる、2010年8月26日出願の中国特許出願第201010268800.3号、表題「Method,System and Removal Server of Removing a Distributed Caching Object」に対する優先権を主張する。
本開示は、ネットワーク技術の分野に関し、具体的には、分散型キャッシングオブジェクトを除去する方法、システム、およびサーバに関する。
大規模のウェブサイトシステムは、通常、分散型キャッシュ構造を介して、データを記憶および回収する。例えば、taobaoウェブサイト(すなわち、tabao.com)は、分散型キャッシュ構造を介して、ユーザによってアップロードされた画像を記憶および回収する。通常、分散型キャッシュシステムは、ソースデータサーバ、ソースデータサーバと連通する複数のキャッシュサーバ、およびディスパッチャを含む。ユーザの依頼に応答して、分散型キャッシュシステムは、概して、受信されたユーザの依頼に基づく一貫したハッシングアルゴリズムを介して、ユーザがどのキャッシュサーバからデータを得ることができるかを決定するために、ディスパッチャを使用する。そのように決定されたキャッシュサーバがデータを有する場合、決定されたキャッシュサーバは、データをディスパッチャに戻す。決定されたキャッシュサーバがデータを有しない場合、決定されたキャッシュサーバは、ソースデータサーバからデータを依頼し、その中にデータを記憶し、データをユーザに戻すディスパッチャにデータを戻す。
taobaoウェブサイトの画像システム等の既存の分散型キャッシュシステムにおいて、売り手が悪意のある画像(例えば、侵害画像または違法画像)をアップロードするとき、画像は、最初にソース画像サーバにアップロードされる。ネットワークユーザが、taobaoネットワークのリンクを介して悪意のある画像にアクセスするとき、ユーザは、最初に一貫したハッシングアルゴリズムに基づいて決定されるある画像キャッシュ(cache)サーバにアクセスする。その画像キャッシュサーバが悪意のある画像を有しない場合、画像キャッシュサーバは、ソース画像サーバから悪意のある画像を得て、悪意のある画像を記憶する。この悪意のある画像の存在が検出されるとき、システムは、この悪意のある画像を除去する必要がある。既存の技術は、ソース画像サーバおよび分散型キャッシュシステムの全ての画像キャッシュサーバにおいてその悪意のある画像の除去動作を実行する。
既存の技術の研究中に、本出願の発明者は、既存の技術の除去動作が、サーバの負担を著しく増加させ、かつ全てのキャッシュサーバが悪意のあるデータを有するわけではないにもかかわらず、全てのサーバがそのような除去動作を実行しなければならないため、サーバのリソースを無駄にすることを指摘した。これは、特に、多数のキャッシュサーバを含むシステムにおいて当てはまる。除去動作が悪意のあるデータを有しないキャッシュサーバにおいて必要以上に実行されるため、分散型キャッシュシステムの全体的な性能が低下する。
本開示の例示的な実施形態は、全ての分散型キャッシュサーバにおいて除去動作を実行することを必要とし、したがって、サーバのリソースを無駄にし、かつ全体的なシステム性能を低下させる既存の技術に存在する問題を解決するために、分散型キャッシングオブジェクトを除去する方法、システム、およびサーバを提供することを目標とする。
前述の問題を解決するために、例示的な実施形態は、分散型キャッシングオブジェクトを除去する方法を提供し、以下のように実装される。
一実施形態において、分散型キャッシングオブジェクトを除去する方法は、除去依頼を受信することを含んでもよい。除去依頼は、オブジェクトの識別子を含んでもよい。本方法は、識別子のハッシュ結果値を得るために、一貫したハッシングを、例えば、オブジェクトの識別子に適用してもよい。ハッシュ結果値に基づいて、本方法は、対応するキャッシュサーバを見つけてもよい。一実施形態において、本方法は、対応するキャッシュサーバを現在のキャッシュサーバにしてもよい。いくつかの実施形態において、本方法は、現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトに関連した満了期間を超えるか、またはそれよりも長い動作期間を有するかを決定してもよい。現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトに関連した満了期間よりも長い動作期間を有するという決定に応答して、本方法は、オブジェクトを現在のキャッシュサーバから除去してもよい。
前述の問題を解決するために、例示的な実施形態は、分散型キャッシングオブジェクトを除去するシステムをさらに提供し、以下のように実装される。
一実施形態において、分散型キャッシュオブジェクトを除去するシステムは、除去サーバおよび複数のキャッシュサーバを含んでもよい。複数のキャッシュサーバを、ユーザによってアクセスされるオブジェクトをキャッシュするように構成してもよい。いくつかの実施形態において、除去サーバを、除去依頼を受信するように構成してもよい。除去依頼は、オブジェクトの識別子を含んでもよい。一実施形態において、除去サーバをさらに、識別子のハッシュ結果値を得るために、一貫したハッシングをオブジェクトの識別子に適用するように構成してもよい。除去サーバは、ハッシュ結果値に基づいて、対応するキャッシュサーバを見つけて、対応するキャッシュサーバを現在のキャッシュサーバにしてもよい。さらに、いくつかの実施形態において、除去サーバは、現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトに関連した満了期間を超える動作期間を有するかを決定してもよい。現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトに関連した満了期間を超える動作期間を有するという決定に応答して、除去サーバは、オブジェクトを現在のキャッシュサーバから除去してもよい。
前述の問題を解決するために、例示的な実施形態は、除去サーバを提供し、以下のように実装される。
一実施形態において、除去サーバは、受信ユニットを含んでもよい。受信ユニットを、除去依頼を受信するように構成してもよく、除去依頼は、オブジェクトの識別子を含んでもよい。さらに、除去サーバは、識別子のハッシュ結果値を得るために、一貫したハッシングをオブジェクトの識別子に適用するように構成される計算ユニットをさらに含んでもよい。いくつかの実施形態において、除去サーバは、ハッシュ結果値に基づいて、対応するキャッシュサーバを見つけて、対応するキャッシュサーバを現在のキャッシュサーバにするように構成される位置決めユニットをさらに含んでもよい。一実施形態において、除去サーバは、現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトに関連した満了期間を超える動作期間を有するかを決定するように構成される決定ユニットを含んでもよい。さらに、除去サーバは、現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトに関連した満了期間を超える動作期間を有するという決定に応答して、オブジェクトを現在のキャッシュサーバから除去するように構成される除去ユニットをさらに含んでもよい。
本開示の例示的な実施形態は、オブジェクトの識別子を含む除去依頼を受信し、識別子のハッシュ結果値を得るために一貫したハッシングをオブジェクトの識別子に適用し、ハッシュ結果値に基づいて対応するキャッシュサーバを見つけ、対応するキャッシュサーバを現在のキャッシュサーバにし、現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトに関連した満了期間を超える動作期間を有するかを決定し、現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトに関連した満了期間を超える動作期間を有するという決定に応答して、オブジェクトを現在のキャッシュサーバから除去する。したがって、本開示の例示的な実施形態は、全てのキャッシュサーバにおいて除去動作を実行する必要はない。代わりに、見つけられたキャッシュサーバの動作期間をオブジェクトに関連した満了期間と比較することによって、例示的な実施形態は、除去される予定のオブジェクトを含むキャッシュサーバを正確に見つけて除去動作を実行し、ひいては他のキャッシュサーバがリソースを無駄にすることを防いで除去動作を実行し、したがって、分散型キャッシュシステムの全体的な性能を向上させる。
本開示の例示的な実施形態または既存の技術の技術的スキームをより明確に理解するために、例示的な実施形態または既存の技術の説明に不可欠な添付の図が、以下に簡潔に記載される。理解できるように、以下の図は、数個の本開示の例示的な実施形態のみを構成する。これらの添付の図に基づいて、当業者は、いかなる創造的な努力をすることなく、他の図を得ることができる。
本開示のある実施形態に従って、一貫したハッシングリングを説明する概略図を示す。 分散型キャッシングオブジェクトを除去する第1の例示的な方法を説明する流れ図を示す。 分散型キャッシングオブジェクトを除去する第2の例示的な方法を説明する流れ図を示す。 分散型キャッシングオブジェクトを除去する例示的な方法を実施するシステム構造を説明する略図を示す。 図4に記載のシステム構造を使用してオブジェクトを除去するプロセスを示す。 本開示のある実施形態に従って、一貫したハッシングリングの例示的な使用を説明する概略図を示す。 分散型キャッシングオブジェクトを除去する例示的なシステムを説明するブロック図を示す。 第1の除去サーバを説明するブロック図を示す。 第2の除去サーバを説明するブロック図を示す。 図8〜9に記載の例示的な除去サーバをより詳細に示す。
本開示の例示的な実施形態は、分散型キャッシングオブジェクトを除去する方法、システム、およびサーバを提供する。
当業者が例示的な実施形態の技術的スキーム、目標、特性、および利点を明確に理解する手助けとなるように、例示的な実施形態における技術的スキームは、例示的な実施形態の添付の図を参照して、より詳細に説明される。
例示的な実施形態において、分散型キャッシュシステムにおいて除去されるオブジェクトは、システムの分散型キャッシュサーバに記憶されたオブジェクトである。したがって、既存のシステムが分散型キャッシュサーバにオブジェクトを記憶および回収する方法が、一貫したハッシングアルゴリズムを参照して、最初に説明される。
分散型キャッシュシステムにおいて、キャッシュサーバは、一貫したハッシングアルゴリズムから計算されるそれぞれのハッシュ値に基づいて、0〜232のリングに配置され
る。キャッシュサーバのハッシュ値が計算されるとき、ハッシュ値は、選択されるハッシュ機能をキャッシュサーバのIPアドレスに適用することによって得られる。ハッシュ値は、32桁の整数である。キャッシュサーバは、その整数の値に基づいて、リング内の位置上に対応してマッピングされる。図1は、0〜232のリングのある実施例を示す。分
散型キャッシュシステムに4つのキャッシュサーバを含ませる。一貫したハッシングの適用時、4つのキャッシュサーバ、すなわち、時計回り方向で配置されるキャッシュサーバ1、キャッシュサーバ2、キャッシュサーバ3、およびキャッシュサーバ4は、図1に示されるように、それぞれのハッシュ値に基づいて、リング上にマッピングされる。ユーザが、分散型キャッシュサーバを介して、あるオブジェクト(例えば、画像、音声、または映像等のネットワークリソースであり得る)にアクセスすることを望むとき、ハッシュ計算がオブジェクトに適用される(概して、ハッシュ計算をオブジェクトの識別子であるURLに適用する)。得られたハッシュ値は、キーとして使用され、キーの値に基づいて、0〜232のリング内の位置上に対応してマッピングされる。キーの位置は、第1のキャ
ッシュサーバをリング上で時計回り方向に見つけるために、最初の位置として使用される。ユーザは、そのように見つけられた第1のキャッシュサーバを介して、オブジェクトにアクセスする。この時計回りの検索を介して見つけられた第1のキャッシュサーバが利用不可能である場合(例えば、ダウンまたはクラッシュ状態)、時計回りの検索は、利用可能なキャッシュサーバが見つけられるまで継続する。ユーザがアクセスすることを望むオブジェクトが、その利用可能なキャッシュサーバ内に存在する場合、オブジェクトは、ディスパッチャを介してユーザに戻される。ユーザがアクセスすることを望むオブジェクトが、その利用可能なキャッシュサーバ内に存在しない場合、そのキャッシュサーバは、ソースデータサーバからオブジェクトを要求し、その中にオブジェクトを記憶し、オブジェクトをユーザに戻すディスパッチャにオブジェクトを戻す。
キャッシュサーバに記憶されるそれぞれのオブジェクトは、満了期間を有する。オブジェクトが、その満了期間よりも長くキャッシュされるとき、キャッシュサーバは、オブジェクトを自動的に除去する。その後、ユーザが、キャッシュサーバを介して、再度オブジェクトにアクセスすることを望む場合、キャッシュサーバは、再度ソースデータサーバからオブジェクトを得て、前述のプロセスを繰り返してもよい。
図2は、分散型キャッシングオブジェクトを除去する第1の例示的な方法を説明する流れ図を示す。この実施形態は、見つけられたキャッシュサーバの動作期間がオブジェクトの満了期間を超えるときにオブジェクトを除去するプロセスを示す。
201で、本方法は、除去依頼を受信する。除去依頼は、除去される予定のオブジェクトの識別子を含む。分散型キャッシュシステムが大規模のウェブサイトにおいて採用されるとき、オブジェクトは、画像、音声、映像等のネットワークリソースを指す。それぞれの特定のネットワークリソースは、URL(ユニバーサルリソースロケータ)を介して位置付けられる。
202で、本方法は、識別子のハッシュ結果値を得るために、ハッシングをオブジェクトの識別子に適用する。一実装例において、このブロックは、ハッシュ結果値を得るために、一貫したハッシングをオブジェクトの識別子に適用するプロセスに相当する。ハッシングは、オブジェクトを記憶および回収するために既存の技術において実装される計算プロセスと一致している。したがって、このブロックは、本明細書において重複して記載されない。
203で、本方法は、ハッシュ結果値に基づいて、対応するキャッシュサーバを見つけて、対応するキャッシュサーバを現在のキャッシュサーバにする。
図1に示される一貫したハッシングリングを参照して、一貫したハッシングをオブジェクトの識別子に適用して、ハッシュ結果値を得た後、ハッシュ結果値を、一貫したハッシングリングの対応する位置上にマッピングされるキーとして使用してもよく、第1のキャッシュサーバを見つける検索を、その位置から開始して、時計回り方向に実行してもよい。そのように見つけられる第1のキャッシュサーバが、ユーザがオブジェクトにアクセスしたときにディスパッチされるキャッシュサーバであるため、第1のキャッシュサーバは、除去される予定のオブジェクトをキャッシュしている(第1のキャッシュサーバが動作ステータスにあると仮定して、オブジェクトは、ユーザによってアクセスされており、かつオブジェクトの満了期間をまだ超えていない)。
204で、本方法は、現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトの満了期間を超える動作期間を有するかを決定する。
205で、本方法は、現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトの満了期間を超える動作期間を有するという決定に応答して、オブジェクトを現在のキャッシュサーバから除去する。
動作期間は、キャッシュサーバが動作ステータスにある間の継続期間を指す。見つけられた第1のキャッシュサーバが動作ステータスにあり、かつオブジェクトの満了期間を超える動作期間を有するとき、URLを除去する動作が、見つけられた第1のキャッシュサーバのみにおいて実行される必要がある。これは、このキャッシュサーバが現在動作しており、オブジェクトにアクセスする全ての要求がこのキャッシュサーバに送信されたためである。オブジェクトが他のキャッシュサーバに存在したとしても、オブジェクトは、オブジェクトの継続期間がオブジェクトの満了期間を超えると、自動的に除去される。
図3は、分散型キャッシュオブジェクトを除去する第2の例示的な方法を説明する流れ図を示す。この実施形態は、見つけられたキャッシュサーバの動作ステータスおよびステータス履歴に基づいてオブジェクトを除去するプロセスについて詳細に示す。
301で、本方法は、キャッシュサーバのステータステーブルを事前に設定し、ステータステーブルにおいて、それぞれのキャッシュサーバの最後のステータス変更のタイムスタンプおよびそれぞれのキャッシュサーバの現在のステータスを記憶する。
この例示的な実施形態は、キャッシュサーバのステータステーブルを設定する。ステータステーブルのそれぞれの入力は、キャッシュサーバの最後のステータス変更のタイムスタンプおよびキャッシュサーバの現在のステータスを記録するために使用される。キャッシュサーバの現在のステータスの継続期間を、このタイムスタンプに基づいて決定してもよい。現在のステータスは、動作ステータスまたは不動作ステータスを含んでもよい。不動作ステータスは、通常、キャッシュサーバがダウンしていることを示す。
302で、本方法は、除去依頼を受信し、除去依頼は、オブジェクトの識別子を含む。
303で、本方法は、識別子のハッシュ結果値を得るために、一貫したハッシングをオブジェクトの識別子に適用する。
304で、本方法は、ハッシュ結果値に基づいて、対応するキャッシュサーバを見つけて、対応するキャッシュサーバを現在のキャッシュサーバとする。
305で、本方法は、現在のキャッシュサーバが動作ステータスにあるかを決定する。
肯定である場合、本方法は、ブロック306に進み、さもなければ、本方法は、ブロック309に進む。
306で、本方法は、現在のキャッシュサーバの動作期間がオブジェクトの満了期間を超えるかを決定する。肯定である場合、本方法は、ブロック307に進み、さもなければ、本方法は、ブロック308に進む。
307で、本方法は、オブジェクトを現在のキャッシュサーバから除去し、現在のプロセスを終了する。
ステータステーブルから見つけられた現在のキャッシュサーバが、動作ステータスにあり、かつオブジェクトの満了期間を超える動作期間を有する場合、URLを除去する動作が、見つけられた第1のキャッシュサーバのみにおいて実行される必要がある。これは、キャッシュサーバが現在動作しており、オブジェクトにアクセスする全ての要求がそのキャッシュサーバに送信されたためである。オブジェクトが他のキャッシュサーバに存在したとしても、オブジェクトは、オブジェクトの継続期間がオブジェクトの満了期間を超えると自動的に除去される。
308で、本方法は、オブジェクトを現在のキャッシュサーバから除去し、現在のキャッシュサーバから次のキャッシュサーバに切り替え、次のキャッシュサーバを現在のキャッシュサーバとする。プロセスは、ブロック305に戻る。
ステータステーブルから見つけられる現在のキャッシュサーバが、動作ステータスにあり、かつ対応するタイムスタンプに基づいて、オブジェクトの満了期間未満であるか、またはそれよりも短いと決定される動作期間を有する場合、オブジェクトは、最初にキャッシュサーバから除去される。その後、キャッシュサーバが、動作ステータスの前に不動作ステータスにあり、かつ除去される予定のオブジェクトにアクセスする要求が、現在のキャッシュサーバが不動作ステータスにあった期間中に、次のキャッシュサーバ(一貫したハッシングリング上で現在のキャッシュサーバの次である)に転送されたかもしれないことを考慮すると、次のキャッシュサーバは、そのオブジェクトをキャッシュしたかもしれず、したがって、再度対応するステータスを決定するために、それを得て、現在のキャッシュサーバとすることが必要とされる。本方法は、ブロック305に戻る。
309で、本方法は、現在のキャッシュサーバの不動作期間が、オブジェクトの満了期間を超えるかを決定する。肯定である場合、本方法は、ブロック310に進み、さもなければ、本方法は、ブロック311に進む。
310で、本方法は、現在のキャッシュサーバから次のキャッシュサーバに切り替え、次のキャッシュサーバを現在のキャッシュサーバとする。本方法は、ブロック305に戻る。
テーブルから見つけられる現在のキャッシュサーバステータスが、不動作ステータスにあり、かつ対応するタイムスタンプに基づいて、オブジェクトの満了期間を超えると決定される不動作期間を有する場合、除去される予定のオブジェクトにアクセスする要求は、現在のキャッシュサーバが不動作ステータスにあった期間中に、次のキャッシュサーバ(一貫したハッシングリング上で現在のキャッシュサーバの次である)に転送されたかもしれず、次のキャッシュサーバは、そのオブジェクトをキャッシュしたかもしれない。したがって、再度対応するステータスを決定するために、次のキャッシュサーバを得て、現在のキャッシュサーバとすることが必要とされる。本方法は、ブロック305に戻る。
オブジェクトの満了期間を超える不動作期間を有するキャッシュサーバについて、キャッシュサーバは、オブジェクトの満了期間を超えたため、キャッシュサーバが動作ステータスに戻った後、オブジェクトの除去動作を自動的に実行する。
311で、本方法は、オブジェクトの識別子を記録し、現在のキャッシュサーバから次のキャッシュサーバに切り替え、次のキャッシュサーバを現在のキャッシュサーバとする。本方法は、ブロック305に戻る。
ステータステーブルから見つけられる現在のキャッシュサーバが、不動作ステータスにあり、かつ対応するタイムスタンプに基づいて、オブジェクトの満了期間未満であると決定される不動作期間を有する場合、除去される予定のオブジェクトにアクセスする要求は、現在のキャッシュサーバが不動作ステータスにあった期間中に、次のキャッシュサーバ(一貫したハッシングリング上で現在のキャッシュサーバの次である)に転送されたかもしれず、次のキャッシュサーバは、オブジェクトをキャッシュしたかもしれない。したがって、再度対応するステータスを決定するために、次のキャッシュサーバを得て、現在のキャッシュサーバとすることが必要とされる。本方法は、ブロック305に戻る。
オブジェクトの満了期間未満の不動作期間を有するキャッシュサーバについて、キャッシュサーバは、キャッシュサーバがオブジェクトの満了期間の前に動作ステータスに戻れば、キャッシュサーバが記録された識別子に基づいてオブジェクトを除去してもよいように、除去される予定のオブジェクトの識別子を記録する必要がある。
図4は、分散型キャッシングオブジェクトを除去する例示的な方法を実施するシステム構造を説明する略図を示す。システム構造は、ソースデータサーバ、N数のキャッシュサーバ(Nは、正の整数である)、ディスパッチャ、およびパージエージェントを含む。ソースデータサーバ、キャッシュサーバ、およびディスパッチャが、分散型キャッシュシステムにおいてデータを記憶および回収する既存の手法を実施する間、パージエージェントは、本実施形態において分散型キャッシングオブジェクトの除去を実施するために追加されるサーバである。
ディスパッチャ(ロードバランサ「haproxy」としても既知である)は、ユーザからオブジェクトにアクセスする要求を受信し、一貫したハッシングアルゴリズムに基づいて、要求をあるキャッシュサーバにディスパッチする。ディスパッチプロセスが既存の技術と同一であるとして、ディスパッチプロセスは、本明細書において重複して記載されない。
キャッシュサーバ(オープンソースキャッシュサービスプログラム「squid」を関連サーバ上にロードすることによって実装することができる)は、ディスパッチされる要求をディスパッチャから受信し、(ユーザがアクセスすることを望む)オブジェクトをディスパッチャから戻すか、または(ユーザがアクセスすることを望む)オブジェクトをソースデータサーバから得て、オブジェクトをソースデータサーバから戻す。
パージエージェントは、例示的なシステム構造に追加されるサーバであり、ディスパッチャの同一の一貫したハッシングアルゴリズムを使用して、キャッシングオブジェクトの除去を実施する。パージエージェントは、独立したサーバであってもよいか、または除去機能を実行するあるキャッシュサーバ内に組み込まれてもよい。パージエージェントは、本システムにおいて、全てのキャッシュサーバと連通してもよい。システムからオブジェクトを除去する要求は、パージエージェントに送信される。例えば、悪意のある画像が検出され、除去される必要がある場合、または製品がもはや販売されていないため、製品の画像が除去される必要がある場合、除去される予定のオブジェクトの識別子を含む除去依頼(例えば、悪意のある画像のリンクアドレス)は、パージエージェントに送信される。
パージエージェントは、全てのキャッシュサーバのステータス情報を含むステータステーブルをさらに維持してもよい。ステータステーブルは、それぞれのキャッシュサーバの2つの情報を記録する。一方の情報は、キャッシュサーバの最後のステータス変更のタイムスタンプであり(タイムスタンプに基づいて、キャッシュサーバの最後のステータス変更が生じた以降の継続期間を計算することができる)、他方の情報は、キャッシュサーバの現在のステータスである。現在のステータスを使用して、キャッシュサーバが現在動作しているか、またはダウンしているかを決定することができる。
url_aを除去される予定のオブジェクトの識別子にする。この実施形態の除去プロセスは、図1に示される一貫したハッシングリングを参照して説明される。url_aは、ネットワークリソースを表し、通常、オブジェクトのリンクアドレスである。url_aの除去を決定すると、オブジェクトは、最初にソースデータサーバから除去され、キャッシュサーバに存在するurl_aが続いて除去される。一貫したハッシングをurl_aに適用すると、url_aにアクセスするために、最初に一貫したハッシングリングのキャッシュサーバ1にマッピングする決断が下され、ステータステーブルが照合される。
対応するプロセスが、図5に示される。
501で、本プロセスは、url_aを含む除去依頼を受信する。
502で、本プロセスは、キャッシュサーバ1が、url_aにアクセスするために、一貫したハッシングに基づいてディスパッチされる必要があることを決定する。
503で、本プロセスは、現在ディスパッチされたキャッシュサーバが動作ステータスにあり、かつオブジェクトurl_aの満了期間を超える動作期間を有するかを決定する。肯定である場合、本プロセスは、ブロック504に進み、さもなければ、本プロセスは、ブロック505に進む。
504で、本プロセスは、オブジェクトurl_aを現在ディスパッチされたキャッシュサーバから除去し、現在のプロセスを終了する。
見つけられたキャッシュサーバ1の現在のステータスが「動作中」であり、かつキャッシュサーバ1の動作期間が、そのタイムスタンプに基づいて、url_aの満了期間を超えると決定される場合、url_aにアクセスする全ての要求は、キャッシュサーバ1がダウンしているか否かにかかわらず、キャッシュサーバ1が現在動作しているため、キャッシュサーバ1に送信されている。さらに、url_aが他のキャッシュサーバに存在したとしても、url_aは、その存在期間がurl_aの満了期間を超えると自動的に除去される。したがって、url_aを除去する動作は、キャッシュサーバ1のみで実行される必要がある。
505で、本プロセスは、現在ディスパッチされたキャッシュサーバが依然としてダウンしているかを決定する。肯定である場合、本プロセスは、ブロック506に進み、さもなければ、本プロセスは、ブロック508に進む。
506で、本プロセスは、現在ダウンしているキャッシュサーバのダウン持続期間が、オブジェクトurl_aの満了期間を超えるかを決定する。肯定である場合、本プロセスは、ブロック509に進み、さもなければ、本プロセスは、ブロック507に進む。
見つけられたキャッシュサーバ1の現在のステータスが「ダウン」しており、かつそのダウン持続期間が、そのタイムスタンプに基づいて、オブジェクトurl_aの満了期間を超えると決定される場合、オブジェクトurl_aのアクセスは、キャッシュサーバ1がダウンしていた期間中に、キャッシュサーバ2〜4のうちのいずれか1つに切り替えられたかもしれない。したがって、順序的に次のキャッシュサーバを得る必要があり、ブロック503から開始するブロックは、そのキャッシュサーバにおいて繰り返される。キャッシュサーバ1について、いったんキャッシュサーバ1が動作ステータスに戻ると、オブジェクトurl_aの満了期間が過ぎているので、キャッシュサーバ1は、オブジェクトurl_aの除去動作を自動的に実行する。
507で、本プロセスは、現在のキャッシュサーバおよびオブジェクトurl_aを記憶する。本プロセスは、ブロック509に続く。
見つけられたキャッシュサーバ1の現在のステータスが「ダウン」しており、かつそのダウン持続期間が、そのタイムスタンプに基づいて、オブジェクトurl_aの満了期間未満であると決定される場合、オブジェクトurl_aのアクセスは、キャッシュサーバ1がダウンしていた期間中に、キャッシュサーバ2〜4のうちのいずれか1つに切り替えられたかもしれない。したがって、順序的に次のキャッシュサーバを得る必要があり、ブロック503から開始するブロックは、そのキャッシュサーバにおいて繰り返される。キャッシュサーバ1のダウン持続期間がオブジェクトurl_aの満了期間未満であるため、オブジェクトurl_aは、キャッシュサーバ1が、オブジェクトurl_aの満了期間の前に動作ステータスに戻る場合、キャッシュサーバ1が、この記録に基づいてオブジェクトurl_aを除去するように記録される必要がある。
現在のキャッシュサーバ1とオブジェクトurl_aとの間の関係を、据え置き除去リストに記憶してもよい。キャッシュサーバ1が、オブジェクトurl_aの満了期間の前に動作ステータスに戻る場合、オブジェクトurl_aを、据え置き除去リストに記録された入力に基づいてキャッシュサーバ1から除去してもよい。
508で、本プロセスは、オブジェクトurl_aを現在のキャッシュサーバから除去する。見つけられたキャッシュサーバ1の現在のステータスが「動作中」であり、かつその動作期間が、対応するタイムスタンプに基づいて、オブジェクトurl_aの満了期間未満であると決定される場合、url_aは、最初にキャッシュサーバ1から除去される。その後、キャッシュサーバ1が、「動作」ステータスの前に「ダウン」ステータスにあり、かつurl_aにアクセスする要求が、キャッシュサーバ1が「ダウン」ステータスにあった期間中に、キャッシュサーバ2〜4のうちのいずれか1つに切り替えられたかもしれないことを考慮すると、次のキャッシュサーバを得る必要があり、ブロック503から開始するブロックが、そのキャッシュサーバにおいて繰り返される。
509で、本プロセスは、次のキャッシュサーバを現在のキャッシュサーバからマッピングすることができるかを決定する。肯定である場合、本プロセスは、ブロック510に進み、さもなければ、本プロセスは終了する。
510で、本プロセスは、現在のキャッシュサーバから順序的に次のキャッシュサーバにマッピングし、ブロック503に戻る。
見られるように、例示的なパージエージェントは、ディスパッチャの同一の一貫したハッシングアルゴリズムを使用し、キャッシュサーバのステータス変更情報の助けを借りて、除去される予定のオブジェクトが存在するキャッシュサーバを正確に見つける。除去動作が全てのキャッシュサーバにおいて実行されることを必要とせず、オブジェクトを正確かつ完全に除去することができるため、この実施形態は、既存の技術と比較して、システムの全てのキャッシュサーバにおける除去動作の実行によって占有されるシステムリソースの量を減少させる。
図6を参照して、例示的な実施形態のある実装例が、悪意のある画像を分散型画像キャッシュシステムから除去する例を使用して説明される。
分散型キャッシュシステムに、それぞれ、3つのキャッシュサーバ、S1、S2、およびS3を含ませる。それぞれのキャッシュサーバは、それぞれの識別子の役割を果たすそれぞれのIPアドレスによって識別される。指定されたハッシュ機能、ハッシュ_機能_xが適用されて、S1、S2、およびS3のIPアドレスを別々にハッシュする。そのようにして得られたそれぞれのハッシュ値が、3つの整数、すなわち、1000、2000、および3000である場合、これらの3つのキャッシュサーバは、図6に示される位置でリング上にマッピングされる。これらの3つのキャッシュサーバの最初のステータスを示すステータステーブルを表1とし、その中で、最後_スタンプは、キャッシュサーバの最後のステータス変更が生じるときのタイムスタンプを表し、現在_ステータスは、キャッシュサーバの現在のステータスを表す。
Figure 0006280146
表1において、S1、S2、およびS3のそれぞれの最後_スタンプは、最初は「0」であり、S1、S2、およびS3のタイムスタンプが、最初は全てゼロであることを示す。タイムスタンプを「日」単位で記録してもよい。例えば、最初のスタートアップは、1日目に生じ、タイムスタンプは「0」である。タイムスタンプの値は、1日1つずつインクリメントする。現在_ステータスが「アップ」とは、S1、S2、およびS3が、最初は動作ステータスにあることを示す。現在_ステータスが「ダウン」とは、関連サーバがダウンしていることを示す。
ユーザは、例えば、タイム1で、オブジェクトリソースurl_1にアクセスすることを望み得る。ハッシュ機能、ハッシュ_機能_xをurl_aに適用して、253のハッシュ値を得ると、ハッシュ値は、図6に示されるようにリング上にマッピングされる。253のハッシュ値がマッピングされた位置から開始して、時計回り方向に検索することによって、見つけられる第1のキャッシュサーバは、S1である。したがって、オブジェクトリソースurl_1にアクセスする要求は、S1によって処理される。ユーザがS1を介して初めてurl_1にアクセスする場合、S1は、オブジェクトリソースurl_1をソースデータサーバから得て、url_1を記憶し、url_1をユーザに戻す。
S1が、タイム2でダウンしている場合、テーブルキャッシュサーバのステータスは、表2に示されるようにアップデートされる。
Figure 0006280146
表2において、S1の現在_ステータスが「ダウン」とは、S1の最後のステータス変更後のステータスが「ダウン」している、すなわち、S1は、現在「ダウン」ステータスにあることを示す。最後_スタンプが「0」から「2」に変化し、S1が「ダウン」した状態になるとき、タイムスタンプが「2」であることを示す。「ダウン」ステータスのS1の継続期間は、現在のタイムスタンプとタイムスタンプ「2」との間の差である。
ユーザが、タイム3で、再度オブジェクトリソースurl_1にアクセスすることを望むことを想定する。url_1の253のハッシュ値は、ハッシュ機能、ハッシュ_機能_xを適用することによって得られる。253のハッシュ値がマッピングされた位置から開始して、時計回り方向に検索することによって、見つけられる第1のキャッシュサーバは、S1である。ステータステーブル(表2)から、S1がダウンしていることが認められるため、リング上の次のキャッシュサーバ、S2(現在動作ステータスにある)が、S1から開始して時計回り方向に検索することによって得られる。したがって、オブジェクトリソースurl_1にアクセスする要求は、S2によって処理される。そのとき、オブジェクトリソースurl_1は、S1およびS2の両方においてキャッシュされる。
オブジェクトリソースurl_1をタイム4で悪意のある画像として検出させる。したがって、url_1を分散型キャッシュシステムから除去することが必要とされる。システム管理者は、標準のHTTP Postメソッドを使用して、除去依頼をパージエージェントに送信してもよい。除去依頼は、除去される予定の標的としてurl_1を含む。
除去依頼の受信に応答して、パージエージェントは、除去される予定の標的であるurl_1を読み取り、ハッシュ機能、ハッシュ_機能_xを介して、url_1のハッシュ値を253として得る。パージエージェントは、図6に示されるように、リング上で253のハッシュ値がマッピングし、253のハッシュ値がマッピングされる位置から開始して、第1のキャッシュサーバを見つける。パージエージェントは、ステータステーブルをさらに調査し、S1がタイム2以降ダウンしていたことを見出し、したがって、そのときにS1に記憶されるurl_1を除去することができない。パージエージェントは、S1および対応するurl_1を据え置き除去リストに追加し、S1が再開されてurl_1を除去するまで待つ。パージエージェントは、その後、リングに沿ってS1から時計回り方向に検索を開始することによってS2を見つける。パージエージェントは、ステータステーブルをさらに調査し、S2が現在動作ステータスにあることを見出す。したがって、パージエージェントは、除去依頼に基づいて、その中で記憶される悪意のある画像(すなわち、url_1)を見つけて除去するS2に除去依頼を送信する。S2が過去にダウンしていないため、除去動作は完了する。
分散型キャッシングオブジェクトを除去する例示的な方法に対応して、本開示は、分散型キャッシングオブジェクトを除去する例示的なシステムおよびサーバをさらに提供する。
図7は、分散型キャッシングオブジェクトを除去する例示的なシステムを説明するブロック図を示す。
システムは、複数のキャッシュサーバ701および除去サーバ702を含む。複数のキャッシュサーバ701は、ユーザによってアクセスされるオブジェクトをキャッシュするように構成される。除去サーバ702は、除去依頼を受信するように構成される。除去依頼は、オブジェクトの識別子を含んでもよい。除去サーバ702をさらに、識別子のハッシュ結果値を得るために、一貫したハッシングをオブジェクトの識別子に適用するように構成してもよい。一実施形態において、除去サーバ702は、ハッシュ結果値に基づいて、対応するキャッシュサーバを見つけ、対応するキャッシュサーバを現在のキャッシュサーバにし、現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトに関連した満了期間を超える動作期間を有するかどうかを決定してもよい。現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトに関連した満了期間を超える動作期間を有するという決定に応答して、除去サーバ702は、オブジェクトを現在のキャッシュサーバから除去してもよい。
さらに、動作期間が満了期間未満であるという決定に応答して、除去サーバ702はさらに、オブジェクトを現在のキャッシュサーバから除去し、現在のキャッシュサーバから次のキャッシュサーバに順に切り替え、次のキャッシュサーバを現在のキャッシュサーバとし、現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトの満了期間を超える動作期間を有するかを決定する行為に戻るように構成される。
除去サーバ702をさらに、現在のキャッシュサーバが不動作ステータスにある場合、現在のキャッシュサーバの動作期間がオブジェクトの満了期間を超えるかを決定し、現在のキャッシュサーバから次のキャッシュサーバに順に切り替え、不動作期間が満了期間を超える場合、次のキャッシュサーバを現在のキャッシュサーバとし、現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトの満了期間を超える動作期間を有するかを決定する行為に戻るように構成してもよい。
除去サーバ702をさらに、不動作期間が満了期間を超えない場合、識別子を記録し、現在のキャッシュサーバから次のキャッシュサーバに切り替える行為を実行し、現在のキャッシュサーバが再開されて、動作ステータスになった後、記録された識別子に基づいてオブジェクトを除去するように構成してもよい。
除去サーバ702をさらに、キャッシュサーバのステータステーブルを設定し、ステータステーブルにおいて、それぞれのキャッシュサーバの最後のステータス変更のタイムスタンプおよびそれぞれのキャッシュサーバの現在のステータスを記憶するように構成してもよい。タイムスタンプは、対応するキャッシュサーバが現在のステータスにある継続期間を決定するために使用される。
図8は、第1の除去サーバ800を説明するブロック図を示す。除去サーバ800は、受信ユニット810、計算ユニット820、位置決めユニット830、決定ユニット840、および除去ユニット850を含む。
受信ユニット810は、除去依頼を受信するように構成され、除去依頼は、オブジェクトの識別子を含む。
計算ユニット820は、識別子のハッシュ結果値を得るために、一貫したハッシングをオブジェクトの識別子に適用するように構成される。
位置決めユニット830は、ハッシュ結果値に基づいて、対応するキャッシュサーバを見つけ、対応するキャッシュサーバを現在のキャッシュサーバにするように構成される。
決定ユニット840は、現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトに関連した満了期間を超える動作期間を有するかを決定するように構成される。
除去ユニット850は、現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトに関連した満了期間を超える動作期間を有するという決定に応答して、オブジェクトを現在のキャッシュサーバから除去するように構成される。
図9は、第2の除去サーバ900を説明するブロック図を示す。除去サーバ900は、設定ユニット910、記憶ユニット920、受信ユニット930、計算ユニット940、位置決めユニット950、決定ユニット960、除去ユニット970、切り替えユニット980、および記録ユニット950を含む。
設定ユニット910は、キャッシュサーバのステータステーブルを設定するように構成される。
記憶ユニット920は、ステータステーブルにおいて、それぞれのキャッシュサーバの最後のステータス変更のタイムスタンプおよびそれぞれのキャッシュサーバの現在のステータスを記憶するように構成され、タイムスタンプは、対応するキャッシュサーバが現在のステータスにある継続期間を決定するために使用される。
受信ユニット930は、除去依頼を受信するように構成され、除去依頼は、オブジェクトの識別子を含む。
計算ユニット940は、識別子のハッシュ結果値を得るために、一貫したハッシングをオブジェクトの識別子に適用するように構成される。
位置決めユニット950は、ハッシュ結果値に基づいて、対応するキャッシュサーバを見つけ、対応するキャッシュサーバを現在のキャッシュサーバとするように構成される。
決定ユニット960は、現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトの満了期間を超える動作期間を有するかを決定するように構成される。
除去ユニット970は、現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトの満了期間を超える動作期間を有するという決定に応答して、オブジェクトを現在のキャッシュサーバから除去するように構成される。
除去ユニット970はさらに、動作期間が満了期間未満であるという決定に応答して、オブジェクトを現在のキャッシュサーバから除去するように構成される。
切り替えユニット980は、現在のキャッシュサーバから次のキャッシュサーバに切り替え、次のキャッシュサーバを現在のキャッシュサーバとし、決定ユニット960をトリガするように構成される。
決定ユニット960はさらに、現在のキャッシュサーバが不動作ステータスにある場合、現在のキャッシュサーバの不動作期間がオブジェクトの満了期間を超えるかを決定するように構成される。
現在のキャッシュサーバの不動作期間が満了期間を超える場合、切り替えユニット980はさらに、現在のキャッシュサーバから次のキャッシュサーバに切り替え、次のキャッシュサーバを現在のキャッシュサーバとし、決定ユニット960をトリガするように構成される。
記録ユニット990は、不動作期間が満了期間を超えない場合、識別子を記録し、切り替えユニット980をトリガするように構成される。
除去ユニット970はさらに、現在のキャッシュサーバが動作ステータスに戻った後、記録された識別子に基づいてオブジェクトを除去するように構成される。
例示的な実装例の上の記述から、本開示の例示的な実施形態は、オブジェクトの識別子を含む除去依頼を受信し、識別子のハッシュ結果値を得るために、一貫したハッシングをオブジェクトの識別子に適用し、ハッシュ結果値に基づいて、対応するキャッシュサーバを見つけ、対応するキャッシュサーバを現在のキャッシュサーバにし、現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトに関連した満了期間を超える動作期間を有するかを決定し、現在のキャッシュサーバが動作ステータスにあり、かつオブジェクトに関連した満了期間を超える動作期間を有するという決定に応答して、オブジェクトを現在のキャッシュサーバから除去する。したがって、本開示の例示的な実施形態は、全てのキャッシュサーバにおいて除去動作を実行する必要はない。代わりに、見つけられたキャッシュサーバの動作期間をオブジェクトに関連した満了期間と比較することによって、例示的な実施形態は、除去される予定のオブジェクトを含むキャッシュサーバを正確に見つけて除去動作を実行し、ひいては他のキャッシュサーバがリソースを無駄にすることを防いで除去動作を実行し、したがって、分散型キャッシュシステムの全体的な性能を向上させる。
上述の例示的な実施形態から、当業者であれば、必須のユニバーサルハードウェアプラットフォームを有するソフトウェアを使用して、本開示の方法およびシステムを実施してもよいことを明確に理解することができる。この理解に基づいて、本開示の技術的スキームまたは既存の技術を、ソフトウェア製品の形態で実施することができ、不揮発性記憶媒体、例えば、ROM/RAM、ディスク、またはコンパクトディスク内に記憶される。ソフトウェアは、コンピュータデバイス(例えば、パーソナルコンピュータ、サーバ、またはネットワークデバイス)に対して、本開示における例示的な実施形態または例示的な実施形態のある部分に記載の方法を実行する指示を含む。
様々な例示的な実施形態が、本開示において漸進的に説明される。例示的な実施形態の同一または類似の部分を、相互に参照することができる。それぞれの例示的な実施形態は、他の例示的な実施形態とは異なる焦点を有する。とりわけ、例示的なシステムは、それが例示的な方法と基本的に一致するため、比較的単純な様式で説明されている。その詳細を、例示的な方法の関連部分に照会することができる。
本開示の方法およびシステムを、汎用または特殊コンピュータシステム(複数を含む)の環境または構成において使用してもよい。例として、パーソナルコンピュータ、サーバコンピュータ、手持ちデバイスまたは携帯デバイス、タブレットデバイス、多重プロセスもしくはシステム、マイクロプロセスもしくはシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC、マイクロコンピュータ、マクロコンピュータ、および任意のシステムまたは上のデバイスを含む分散型コンピュータ環境が挙げられる。
本開示の方法およびシステムを、コンピュータ実行可能指示、例えば、プログラムモジュールの一般的文脈で説明することができる。概して、プログラムモジュールは、特定の機能を実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含むことができる。本開示の方法およびシステムを、機能が通信ネットワークを介して接続されるリモート処理デバイスによって実行される分散型コンピュータ環境において実践することもできる。分散型コンピュータ環境において、プログラムモジュールを、メモリ記憶デバイスを含むローカルおよび/またはリモートコンピュータ記憶媒体に設置してもよい。
例えば、図10は、上述のサーバ等の例示的な除去サーバ1000をより詳細に説明する。一実施形態において、サーバ1000は、1つ以上のプロセッサ1010、ネットワークインターフェース1020、メモリ1030、および入力/出力インターフェース1040を含むことができるが、それらに限定されない。
メモリ1030は、ランダムアクセスメモリ(RAM)等の揮発性メモリおよび/または読み出し専用メモリ(ROM)もしくはフラッシュRAM等の不揮発性メモリの形態で、コンピュータ可読媒体を含んでもよい。メモリ1030は、コンピュータ可読媒体の例である。
コンピュータ可読媒体には、コンピュータ可読指示、データ構造、プログラムモジュール、または他のデータ等の情報の記憶用の、任意の方法または技術において実装される揮発性および不揮発性、除去可能および除去不可能な媒体が含まれる。コンピュータ記憶媒体の例として、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他のタイプのランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去可能プログラム可能読み出し専用メモリ(EEPROM)、フラッシュメモリもしくは他のメモリ技術、コンパクトディスク読み出し専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)もしくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または情報を記憶するために使用することができる、コンピュータデバイスによるアクセスのための任意の他の非伝送媒体が挙げられるが、それらに限定されない。本明細書で定義されるように、コンピュータ可読媒体は、変調データ信号および搬送波等の一過性の媒体を含まない。
メモリ1030は、プログラムユニット1050およびプログラムデータ1060を含んでもよい。一実施形態において、プログラムユニット1050は、受信ユニット1070、計算ユニット1080、位置決めユニット1090、決定ユニット1100、および除去ユニット1110を含んでもよい。さらに、いくつかの実施形態において、プログラムユニット1050は、設定ユニット1120および記憶ユニット1130をさらに含んでもよい。さらに、または代替として、プログラムユニット1050は、切り替えユニット1140および記録ユニット1150を含んでもよい。これらのプログラムユニットについての詳細を、上に記載される前述の実施形態において見出すことができる。
例示的な実施形態を使用して本開示を説明しているが、当業者は、本開示を、本開示の精神および範囲から逸脱することなく、多くの異なる方法で変更または修正することができることを理解するはずである。したがって、本開示が、本開示の特許請求の範囲およびそれらの同等物の範囲内に収まる全ての修正および変更を包含することが意図される。

Claims (20)

  1. 1つまたは複数のコンピューティングデバイスによって実行される方法であって、前記方法は、
    オブジェクトを除去するための要求を受信するステップであって、前記要求は前記オブジェクトの識別子を含む、ステップと、
    前記オブジェクトの前記識別子に少なくとも部分的に基づいて、第1のサーバを現在のキャッシュサーバとするステップと、
    前記第1のサーバの現在のステータスが動作ステータスであるかどうかを判定するステップと、
    前記第1のサーバの動作期間が前記オブジェクトに関連付けられた満了期間を超えるかどうかを判定するステップと、
    前記現在のステータスおよび前記動作期間に関する判定の各結果の組み合わせに基づいて、前記第1のサーバから前記オブジェクトを除去するステップ、および第2のサーバを前記現在のキャッシュサーバとするステップから、実行する処理を決定するステップと
    を備えたことを特徴とする方法。
  2. 前記実行する処理を決定するステップは、
    前記現在のステータスが動作ステータスであり、および前記動作期間が前記満了期間を超えると判定した場合、前記第1のサーバから前記オブジェクトを除去する前記ステップを前記実行する処理として決定するステップを含むことを特徴とする請求項1に記載の方法。
  3. 前記実行する処理を決定するステップは、
    前記現在のステータスが動作ステータスであり、および前記動作期間が前記満了期間を超えないと判定した場合、
    前記第1のサーバから前記オブジェクトを除去する前記ステップと、
    前記第2のサーバを前記現在のキャッシュサーバとする前記ステップと
    を前記実行する処理として決定するステップを含み、
    前記方法は、
    前記第1のサーバを前記第2のサーバ、前記第2のサーバを第3のサーバとそれぞれ置き換えて、前記現在のステータスに関する判定する前記ステップ、前記動作期間に関する判定する前記ステップ、および前記実行する処理を決定する前記ステップを繰り返すステップ
    をさらに備えたことを特徴とする請求項1に記載の方法。
  4. 前記現在のステータスが不動作ステータスであるかどうかを判定するステップと、
    前記第1のサーバの不動作期間が前記オブジェクトの前記満了期間を超えるかどうかを判定するステップと
    をさらに備えたことを特徴とする請求項1に記載の方法。
  5. 前記現在のステータスが不動作ステータスであり、および前記不動作期間が前記満了期間を超えると判定した場合、
    前記第2のサーバを前記現在のキャッシュサーバとするステップと、
    前記第1のサーバを前記第2のサーバ、前記第2のサーバを第3のサーバとそれぞれ置き換えて、前記現在のステータスに関する判定する前記ステップ、前記動作期間に関する判定する前記ステップ、および前記実行する処理を決定する前記ステップを繰り返すステップと
    をさらに備えたことを特徴とする請求項4に記載の方法。
  6. 前記現在のステータスが不動作ステータスであり、および不動作期間が前記満了期間を超えないと判定した場合、
    前記第1のサーバの識別子を記録するステップと、
    前記第2のサーバを前記現在のキャッシュサーバとするステップと、
    前記第1のサーバを前記第2のサーバ、前記第2のサーバを第3のサーバとそれぞれ置き換えて、前記第1のサーバが前記動作ステータスにあり、および前記第1のサーバの前記動作期間が前記オブジェクトに関連付けられた前記満了期間を超えるかどうかを判定する前記ステップを繰り返すステップと
    をさらに備えたことを特徴とする請求項1に記載の方法。
  7. 前記現在のステータスが不動作ステータスから動作ステータスに変わった場合、前記記録された識別子に基づいて、前記第1のサーバから前記オブジェクトを除去するステップをさらに備えたことを特徴とする請求項6に記載の方法。
  8. 前記現在のステータスの最後のステータス変更のタイムスタンプ、および前記現在のステータスをステータステーブルに記憶するステップをさらに備え、前記タイムスタンプは、前記第1のサーバが前記現在のステータスでどれくらい継続しているかの時間を判定するために使用されることを特徴とする請求項1に記載の方法。
  9. コンピュータ実行可能命令を記憶している1つまたは複数のコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに動作を実行させ、前記動作は、
    オブジェクトを除去するための要求を受信し、前記要求は前記オブジェクトの識別子を含み、
    前記オブジェクトの前記識別子に少なくとも部分的に基づいて、第1のサーバを現在のキャッシュサーバとし、
    前記第1のサーバの現在のステータスが動作ステータスであるかどうかを判定し、
    前記第1のサーバの動作期間が前記オブジェクトに関連付けられた満了期間を超えるかどうかを判定し、
    前記現在のステータスおよび前記動作期間に関する判定の各結果の組み合わせに基づいて、前記第1のサーバから前記オブジェクトを除去すること、および第2のサーバを前記現在のキャッシュサーバとすることから、実行する処理を決定すること
    を備えたことを特徴とする1つまたは複数のコンピュータ可読記憶媒体。
  10. 前記実行する処理を決定することは、
    前記現在のステータスが動作ステータスであり、および前記動作期間が前記満了期間を超えると判定した場合、前記第1のサーバから前記オブジェクトを除去することを前記実行する処理として決定することを含むことを特徴とする請求項9に記載の1つまたは複数のコンピュータ可読記憶媒体。
  11. 前記実行する処理を決定することは、
    前記現在のステータスが動作ステータスであり、および前記動作期間が前記満了期間を超えないと判定した場合、
    前記第1のサーバから前記オブジェクトを除去し、
    前記第2のサーバを前記現在のキャッシュサーバとすること
    を前記実行する処理として決定することを含み、
    前記動作は、
    前記第1のサーバを前記第2のサーバ、前記第2のサーバを第3のサーバとそれぞれ置き換えて、前記現在のステータスに関する判定すること、前記動作期間に関する判定すること、および前記実行する処理を決定することを繰り返すこと
    をさらに備えたことを特徴とする請求項9に記載の1つまたは複数のコンピュータ可読記憶媒体。
  12. 前記動作は、
    前記現在のステータスが不動作ステータスであるかどうかを判定し、
    前記第1のサーバの不動作期間が前記オブジェクトの前記満了期間を超えるかどうかを判定すること
    をさらに備えたことを特徴とする請求項9に記載の1つまたは複数のコンピュータ可読記憶媒体。
  13. 前記動作は、
    前記現在のステータスが不動作ステータスであり、および前記不動作期間が前記満了期間を超えると判定した場合、
    前記第2のサーバを前記現在のキャッシュサーバとし、
    前記第1のサーバを前記第2のサーバ、前記第2のサーバを第3のサーバとそれぞれ置き換えて、前記現在のステータスに関する判定すること、前記動作期間に関する判定すること、および前記実行する処理を決定することを繰り返すこと
    をさらに備えたことを特徴とする請求項12に記載の1つまたは複数のコンピュータ可読記憶媒体。
  14. 前記動作は、
    前記現在のステータスが不動作ステータスであり、および不動作期間が前記満了期間を超えないと判定した場合、
    前記第1のサーバの識別子を記録し、
    前記第2のサーバを前記現在のキャッシュサーバとし、
    前記第1のサーバを前記第2のサーバ、前記第2のサーバを第3のサーバとそれぞれ置き換えて、前記第1のサーバが前記動作ステータスにあり、および前記第1のサーバの前記動作期間が前記オブジェクトに関連付けられた前記満了期間を超えるかどうかを判定することを繰り返すこと
    をさらに備えたことを特徴とする請求項9に記載の1つまたは複数のコンピュータ可読記憶媒体。
  15. 前記動作は、前記現在のステータスが不動作ステータスから動作ステータスに変わった場合、前記記録された識別子に基づいて、前記第1のサーバから前記オブジェクトを除去することをさらに備えたことを特徴とする請求項14に記載の1つまたは複数のコンピュータ可読記憶媒体。
  16. 前記動作は、前記現在のステータスの最後のステータス変更のタイムスタンプ、および前記現在のステータスをステータステーブルに記憶することをさらに備え、前記タイムスタンプは、前記第1のサーバが前記現在のステータスでどれくらい継続しているかの時間を判定するために使用されることを特徴とする請求項9に記載の1つまたは複数のコンピュータ可読記憶媒体。
  17. 1つまたは複数のプロセッサと、コンピュータ実行可能命令を記憶しているメモリとを備えたシステムであって、前記コンピュータ実行可能命令は前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに動作を実行させ、前記動作は、
    オブジェクトを除去するための要求を受信し、前記要求は前記オブジェクトの識別子を含み、
    前記オブジェクトの前記識別子に少なくとも部分的に基づいて、第1のサーバを現在のキャッシュサーバとし、
    前記第1のサーバの現在のステータスが動作ステータスであるかどうかを判定し、
    前記第1のサーバの動作期間が前記オブジェクトに関連付けられた満了期間を超えるかどうかを判定し、
    前記現在のステータスおよび前記動作期間に関する判定の各結果の組み合わせに基づいて、前記第1のサーバから前記オブジェクトを除去すること、および第2のサーバを前記現在のキャッシュサーバとすることから、実行する処理を決定すること
    を備えたことを特徴とするシステム。
  18. 前記実行する処理を決定することは、
    前記現在のステータスが動作ステータスであり、および前記動作期間が前記満了期間を超えると判定した場合、前記第1のサーバから前記オブジェクトを除去することを前記実行する処理として決定することを含むことを特徴とする請求項17に記載のシステム。
  19. 前記実行する処理を決定することは、
    前記現在のステータスが動作ステータスであり、および前記動作期間が前記満了期間を超えないと判定した場合、
    前記第1のサーバから前記オブジェクトを除去し、
    前記第2のサーバを前記現在のキャッシュサーバとすること
    を前記実行する処理として決定することを含み、
    前記動作は、
    前記第1のサーバを前記第2のサーバ、前記第2のサーバを第3のサーバとそれぞれ置き換えて、前記現在のステータスに関する判定すること、前記動作期間に関する判定すること、および前記実行する処理を決定することを繰り返すこと
    をさらに備えたことを特徴とする請求項17に記載のシステム。
  20. 前記動作は、
    前記第1のサーバが不動作ステータスであるかどうかを判定し、
    前記第1のサーバの不動作期間が前記オブジェクトの前記満了期間を超えるかどうかを判定し、
    前記現在のステータスが不動作ステータスであり、および前記不動作期間が前記満了期間を超えると判定した場合、
    前記第2のサーバを前記現在のキャッシュサーバとし、
    前記第1のサーバを前記第2のサーバ、前記第2のサーバを第3のサーバとそれぞれ置き換えて、前記現在のステータスに関する判定すること、前記動作期間に関する判定すること、および前記実行する処理を決定することを繰り返すこと
    をさらに備えたことを特徴とする請求項17に記載のシステム。
JP2016029168A 2010-08-26 2016-02-18 分散型キャッシング(caching)オブジェクトを除去する方法、システム、およびサーバ Expired - Fee Related JP6280146B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010268800.3A CN102387169B (zh) 2010-08-26 2010-08-26 分布式缓存的对象删除方法、系统及删除服务器
CN201010268800.3 2010-08-26

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013526100A Division JP5890416B2 (ja) 2010-08-26 2011-08-23 分散型キャッシング(caching)オブジェクトを除去する方法、システム、およびサーバ

Publications (2)

Publication Number Publication Date
JP2016085767A JP2016085767A (ja) 2016-05-19
JP6280146B2 true JP6280146B2 (ja) 2018-02-14

Family

ID=45723774

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013526100A Expired - Fee Related JP5890416B2 (ja) 2010-08-26 2011-08-23 分散型キャッシング(caching)オブジェクトを除去する方法、システム、およびサーバ
JP2016029168A Expired - Fee Related JP6280146B2 (ja) 2010-08-26 2016-02-18 分散型キャッシング(caching)オブジェクトを除去する方法、システム、およびサーバ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013526100A Expired - Fee Related JP5890416B2 (ja) 2010-08-26 2011-08-23 分散型キャッシング(caching)オブジェクトを除去する方法、システム、およびサーバ

Country Status (5)

Country Link
US (4) US8769208B2 (ja)
EP (2) EP2609521B1 (ja)
JP (2) JP5890416B2 (ja)
CN (1) CN102387169B (ja)
WO (1) WO2012027387A1 (ja)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387169B (zh) 2010-08-26 2014-07-23 阿里巴巴集团控股有限公司 分布式缓存的对象删除方法、系统及删除服务器
CN103491124B (zh) * 2012-06-14 2018-08-14 南京中兴软件有限责任公司 一种对彩信数据进行处理的方法及分布式缓存系统
CN102724314B (zh) * 2012-06-20 2015-08-05 深圳市远行科技有限公司 一种基于元数据管理的分布式缓存客户端
JP6102108B2 (ja) * 2012-07-24 2017-03-29 富士通株式会社 情報処理装置、データ提供方法、及びデータ提供プログラム
CN103078946A (zh) * 2013-01-10 2013-05-01 绍兴电力局 一种海量实时数据分布方法及其访问方法
CN103971687B (zh) * 2013-02-01 2016-06-29 腾讯科技(深圳)有限公司 一种语音识别系统中的负载均衡实现方法和装置
US9286047B1 (en) 2013-02-13 2016-03-15 Cisco Technology, Inc. Deployment and upgrade of network devices in a network environment
CN103236989B (zh) * 2013-04-25 2015-12-02 青岛海信传媒网络技术有限公司 一种内容分发网络中的缓存控制方法、设备及系统
CN103281358B (zh) * 2013-05-07 2016-04-20 汉柏科技有限公司 一种基于一致性hash算法存储资源的方法
US9210219B2 (en) 2013-07-15 2015-12-08 Red Hat, Inc. Systems and methods for consistent hashing using multiple hash rings
CN104301345B (zh) * 2013-07-17 2018-04-27 阿里巴巴集团控股有限公司 一种Cache集群中删除数据的方法及系统
US9413842B2 (en) * 2013-09-25 2016-08-09 Verizon Digital Media Services Inc. Instantaneous non-blocking content purging in a distributed platform
US9792578B2 (en) * 2013-10-08 2017-10-17 Google Inc. Managing information about inventory
US9668020B2 (en) 2014-04-07 2017-05-30 The Nielsen Company (Us), Llc Signature retrieval and matching for media monitoring
US10270876B2 (en) * 2014-06-02 2019-04-23 Verizon Digital Media Services Inc. Probability based caching and eviction
CN104052824B (zh) * 2014-07-04 2017-06-23 哈尔滨工业大学深圳研究生院 分布式缓存方法及系统
US10462249B2 (en) * 2014-08-25 2019-10-29 Super Micro Computer, Inc. Globally distributed virtual cache for worldwide real-time data access
US9860316B2 (en) * 2014-09-19 2018-01-02 Facebook, Inc. Routing network traffic based on social information
US10374904B2 (en) 2015-05-15 2019-08-06 Cisco Technology, Inc. Diagnostic network visualization
US9800497B2 (en) 2015-05-27 2017-10-24 Cisco Technology, Inc. Operations, administration and management (OAM) in overlay data center environments
US10089099B2 (en) 2015-06-05 2018-10-02 Cisco Technology, Inc. Automatic software upgrade
US10033766B2 (en) 2015-06-05 2018-07-24 Cisco Technology, Inc. Policy-driven compliance
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US9967158B2 (en) 2015-06-05 2018-05-08 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
US10171357B2 (en) 2016-05-27 2019-01-01 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10931629B2 (en) 2016-05-27 2021-02-23 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10289438B2 (en) 2016-06-16 2019-05-14 Cisco Technology, Inc. Techniques for coordination of application components deployed on distributed virtual machines
US10708183B2 (en) 2016-07-21 2020-07-07 Cisco Technology, Inc. System and method of providing segment routing as a service
US9965350B2 (en) 2016-09-30 2018-05-08 International Business Machines Corporation Maintaining cyclic redundancy check context in a synchronous I/O endpoint device cache system
CN106528455A (zh) * 2016-10-28 2017-03-22 上海斐讯数据通信技术有限公司 电子终端的多媒体缓存的清理方法、系统及电子终端
US10972388B2 (en) 2016-11-22 2021-04-06 Cisco Technology, Inc. Federated microburst detection
US10708152B2 (en) 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10250446B2 (en) 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US10764141B2 (en) 2017-03-27 2020-09-01 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
CN108932236B (zh) * 2017-05-22 2021-05-07 北京金山云网络技术有限公司 一种文件管理方法及装置
US11860819B1 (en) * 2017-06-29 2024-01-02 Amazon Technologies, Inc. Auto-generation of partition key
US10680887B2 (en) 2017-07-21 2020-06-09 Cisco Technology, Inc. Remote device status audit and recovery
US10554501B2 (en) 2017-10-23 2020-02-04 Cisco Technology, Inc. Network migration assistant
US10523541B2 (en) 2017-10-25 2019-12-31 Cisco Technology, Inc. Federated network and application data analytics platform
US10594542B2 (en) 2017-10-27 2020-03-17 Cisco Technology, Inc. System and method for network root cause analysis
CN108134817B (zh) * 2017-11-30 2019-04-05 北京白山耘科技有限公司 一种自动调整缓存时长的方法及装置
CN108055302B (zh) * 2017-12-05 2020-10-20 竞技世界(北京)网络技术有限公司 一种图片缓存处理方法、系统和服务器
US11233821B2 (en) 2018-01-04 2022-01-25 Cisco Technology, Inc. Network intrusion counter-intelligence
US11765046B1 (en) 2018-01-11 2023-09-19 Cisco Technology, Inc. Endpoint cluster assignment and query generation
US10873593B2 (en) 2018-01-25 2020-12-22 Cisco Technology, Inc. Mechanism for identifying differences between network snapshots
US10798015B2 (en) 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US10917438B2 (en) 2018-01-25 2021-02-09 Cisco Technology, Inc. Secure publishing for policy updates
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
US10498696B2 (en) * 2018-01-31 2019-12-03 EMC IP Holding Company LLC Applying a consistent hash to a distributed domain name server cache
CN111131498B (zh) * 2018-03-23 2023-04-21 贵州白山云科技股份有限公司 Url信息更新方法、缓存服务器、设备及存储介质
CN109167840B (zh) * 2018-10-19 2021-12-07 网宿科技股份有限公司 一种任务推送方法、节点自治服务器及边缘缓存服务器
CN109948098B (zh) * 2019-02-21 2021-07-06 网宿科技股份有限公司 数据过滤方法、缓存信息的记录方法及装置
CN110032671B (zh) * 2019-04-12 2021-06-18 北京百度网讯科技有限公司 用户轨迹信息的处理方法、装置、计算机设备及存储介质
US11218561B1 (en) 2021-03-09 2022-01-04 Wipro Limited Method and system for managing cache data in a network through edge nodes

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9606733D0 (en) 1996-03-29 1996-06-05 British Telecomm Collection of events within a distributed object system
US5933849A (en) * 1997-04-10 1999-08-03 At&T Corp Scalable distributed caching system and method
US6449695B1 (en) * 1999-05-27 2002-09-10 Microsoft Corporation Data cache using plural lists to indicate sequence of data storage
US6601090B1 (en) * 1999-06-25 2003-07-29 Nortel Networks Limited System and method for servicing internet object accessess from a coupled intranet
US7062541B1 (en) 2000-04-27 2006-06-13 International Business Machines Corporation System and method for transferring related data objects in a distributed data storage environment
US6999988B2 (en) 2000-07-13 2006-02-14 Lucent Technologies Inc. Method and system for data layout and replacement in distributed streaming caches on the Internet
JP2003085032A (ja) * 2001-09-10 2003-03-20 Kanazawa Inst Of Technology 自己組織化キャッシュ方法およびその方法を利用可能なキャッシュサーバ
CN1221898C (zh) * 2002-08-13 2005-10-05 国际商业机器公司 刷新网络代理高速缓存服务器对象的系统和方法
US7236977B1 (en) 2002-09-20 2007-06-26 Novell, Inc. Method for dynamically distributing items for changes based on group membership
US7318074B2 (en) 2003-11-17 2008-01-08 International Business Machines Corporation System and method for achieving deferred invalidation consistency
US7469256B1 (en) 2004-04-29 2008-12-23 Sap Ag Cached persistent data management through state tracking
US7802065B1 (en) 2004-05-03 2010-09-21 Crimson Corporation Peer to peer based cache management
US7873782B2 (en) * 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
WO2006081032A2 (en) * 2005-01-24 2006-08-03 Citrix Systems, Inc. Systems and methods for performing caching of dynamically generated objects in a network
EP1770954A1 (en) * 2005-10-03 2007-04-04 Amadeus S.A.S. System and method to maintain coherence of cache contents in a multi-tier software system aimed at interfacing large databases
US7720936B2 (en) 2007-03-12 2010-05-18 Citrix Systems, Inc. Systems and methods of freshening and prefreshening a DNS cache
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
US20090083115A1 (en) * 2007-09-24 2009-03-26 Pearson Gregory A Interactive networking systems
US8943271B2 (en) 2008-06-12 2015-01-27 Microsoft Corporation Distributed cache arrangement
US8799409B2 (en) 2009-01-15 2014-08-05 Ebay Inc. Server side data cache system
CN101778367B (zh) * 2009-12-29 2012-09-05 北京首信科技股份有限公司 一种计费网关重启恢复工作的方法
US9952968B2 (en) 2010-01-29 2018-04-24 Micro Focus Software, Inc. Methods and system for maintaining data coherency in distributed data cache network
US8560292B2 (en) 2010-02-09 2013-10-15 Google Inc. Location assignment daemon (LAD) simulation system and method
CN102387169B (zh) 2010-08-26 2014-07-23 阿里巴巴集团控股有限公司 分布式缓存的对象删除方法、系统及删除服务器

Also Published As

Publication number Publication date
US20130145099A1 (en) 2013-06-06
EP2609521A1 (en) 2013-07-03
US20140237068A1 (en) 2014-08-21
WO2012027387A1 (en) 2012-03-01
US9047224B2 (en) 2015-06-02
US20140365600A1 (en) 2014-12-11
US8935482B2 (en) 2015-01-13
CN102387169A (zh) 2012-03-21
JP2016085767A (ja) 2016-05-19
EP3312733A3 (en) 2018-05-02
EP3312733B1 (en) 2019-10-16
JP5890416B2 (ja) 2016-03-22
EP3312733A2 (en) 2018-04-25
US8769208B2 (en) 2014-07-01
US20150113227A1 (en) 2015-04-23
US8838904B2 (en) 2014-09-16
CN102387169B (zh) 2014-07-23
EP2609521B1 (en) 2018-01-17
EP2609521A4 (en) 2014-03-26
HK1164575A1 (en) 2012-09-21
JP2013536530A (ja) 2013-09-19

Similar Documents

Publication Publication Date Title
JP6280146B2 (ja) 分散型キャッシング(caching)オブジェクトを除去する方法、システム、およびサーバ
US8689280B2 (en) DNS-based content routing
US8572137B2 (en) Data de-duplication in a distributed network
US8069224B2 (en) Method, equipment and system for resource acquisition
US20160142369A1 (en) Service addressing in distributed environment
CN103248695A (zh) 文件下载方法、系统及cdn中的服务器节点
CN107153644B (zh) 一种数据同步方法及装置
JP6870466B2 (ja) 制御プログラム、制御方法、制御装置、及びデータベースサーバ
CN112433921A (zh) 用于动态埋点的方法及设备
EP3080717B1 (en) Cache and non-cache usage in a distributed storage system
CN113873052B (zh) Kubernetes集群的域名解析方法、装置及设备
CN111444017A (zh) 多媒体数据处理方法、装置、系统、电子设备及存储介质
CN111736944A (zh) 基于Kubernetes的Docker容器定位方法及装置
TWI496014B (zh) Decentralized cache object removal method, system and delete server
CN103067496B (zh) 客户端缓存机制管理方法和服务器
HK1164575B (en) Method, system and server for deleting an object in distributed cache
HK1233074A1 (en) Method and device for performing health check on server
HK1233074A (en) Method and device for performing health check on server

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170321

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171205

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180118

R150 Certificate of patent or registration of utility model

Ref document number: 6280146

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

LAPS Cancellation because of no payment of annual fees