JP2014519100A - 分散キャッシングおよびキャッシュ分析 - Google Patents

分散キャッシングおよびキャッシュ分析 Download PDF

Info

Publication number
JP2014519100A
JP2014519100A JP2014511492A JP2014511492A JP2014519100A JP 2014519100 A JP2014519100 A JP 2014519100A JP 2014511492 A JP2014511492 A JP 2014511492A JP 2014511492 A JP2014511492 A JP 2014511492A JP 2014519100 A JP2014519100 A JP 2014519100A
Authority
JP
Japan
Prior art keywords
data
cache
cache servers
cookie
server
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
JP2014511492A
Other languages
English (en)
Other versions
JP6388339B2 (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 JP2014519100A publication Critical patent/JP2014519100A/ja
Application granted granted Critical
Publication of JP6388339B2 publication Critical patent/JP6388339B2/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/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

分散キャッシングシステムにおいて、ウェブサーバは、ユーザデバイスから、ウェブサービスに対する要求を受信することができる。ウェブサーバは、要求を解析して、その要求に含まれるクッキーを識別し、クッキーが割り当て情報を含むかどうかを判定することができる。割り当て情報は、複数のキャッシュサーバがウェブサービスと関連するある特定のデータを一時的に記憶していることを示す場合がある。ウェブサーバは、キャッシュサーバからある特定のデータを要求し、次いで、ユーザデバイスにその特定のデータを伝送することができる。キャッシュサーバのうちの1つが、要求に応答することに失敗した場合、ウェブサーバは、キャッシュデータを再割り当てし、クッキーに記憶された割り当て情報を上書きすることによって、クッキーを更新することができる。

Description

本開示は、コンピュータキャッシング技術の分野に関する。具体的には、本開示は、分散キャッシング方法およびシステムに関する。
本出願は、2011年3月18日に出願された「Distributed Caching Method and System,Cache Analysis Method and Analysis System」と題される中国特許出願第201110129060.X号の優先権を主張し、これは、参照によりその全体が本明細書に組み込まれる。
ウェブアプリケーションのクエリに応答して、ウェブサーバは、通常、一時記憶装置にキャッシュデータ(例えば、よく使用される情報と関連するウェブ文書の複製)を一時的に記憶する。一般的には、記憶容量を増加させ、データの整合性を確保するために、複数のキャッシュサーバを利用してキャッシュデータを記憶する。しかしながら、これらのキャッシュサーバへのある変更が、キャッシュデータの使用に問題を呈する場合がある。例えば、複数のキャッシュサーバへの新しいキャッシュサーバの追加、またはそこからのキャッシュサーバの除去が、キャッシュデータと複数のキャッシュサーバとの間の不一致を引き起こす場合がある。この不一致は、例えば、クエリに対するウェブサーバの応答時間を増加させる可能性がある。
ウェブサーバは、ユーザデバイスから、ウェブサービスと関連するデータに対する要求を受信する。データを受信した後、ウェブサーバは、そのデータの一部分または全てを複数のキャッシュサーバに割り当てることができる。対応する割り当て情報は、クッキーに記録することができ、それは次いで、ユーザデバイスに記憶される。ユーザデバイスからの別の要求に応答して、ウェブサーバは別の要求を解析して、クッキーに記憶された割り当て情報を識別し、割り当て情報に基づいてユーザデバイスへの要求されたデータの伝送を促進することができる。
いくつかの態様において、ウェブサーバは、キャッシュサーバのうちの1つのキャッシュサーバが、所定の時間内に要求に応答することに失敗したことを判定することができる。ウェブサーバは、キャッシュサーバによってキャッシュされたデータを、キャッシュサーバのうちの1つ以上のキャッシュサーバに割り当てることができる。ウェブサーバは次いで、割り当て情報を上書きすることによって、クッキーを更新することができる。
分散キャッシングシステムをサポートする例示的な環境のブロック図である。 図1の分散キャッシングシステムを使用してユーザがキャッシュデータを受信することを促進するための、第1の例示的なプロセスのフロー図である。 図1の分散キャッシングシステムを使用してキャッシュサーバから情報を要求するための、第2の例示的なプロセスのフロー図である。 図1のコンピューティング環境に含まれる、種々の構成要素の例示的なコンピューティングデバイスのブロック図である。
発明を実施するための形態を、添付の図面を参照しながら説明する。異なる図面における同じ参照番号の使用は、類似または同一の項目を示す。
図1は、分散キャッシングシステムをサポートする環境100のブロック図である。環境100は、ウェブサーバ102、キャッシュサーバ104、ウェブサービス106、ユーザ108、ユーザデバイス110、およびネットワーク112を含み得る。ユーザ108は、あるウェブサービス(例えば、データベースサービス、支払サービス、またはウェブ検索エンジン)のためのウェブアプリケーション114を実行することができる。ウェブアプリケーション114は、次に、ユーザデバイスを介して、ウェブサーバ102からある特定のデータを要求することができる。いくつかの実施形態において、ユーザデバイス110は、要求116を生成し、要求116をウェブサーバ102に伝送することができる。ウェブサーバ102は、直接的に、ウェブサービス106からあるデータを質問および/または受信することができる。
いくつかの実施形態によると、ウェブサーバは、ウェブアプリケーション114からのデータ要求に迅速に応答するために、要求されたデータの一部分または全てを、キャッシュデータ120としてキャッシュサーバ104上に記憶することができる。これらの場合において、ウェブサーバ102は、キャッシュサーバにキャッシュデータ120を記憶するように命令するための割り当てアルゴリズム118を提供することができ、これは、図2においてより詳細に説明される。
いくつかの実施形態において、ユーザデバイス110からの要求116に応答して、ウェブサーバ102は、要求されたデータがキャッシュサーバ104にキャッシュされているかどうかを判定することができる。キャッシュされている場合、ウェブサーバ102は、要求されたデータを、ユーザデバイス110に伝送することができる。いくつかの実施形態において、ユーザデバイスは、要求されたデータを、キャッシュサーバ104から受信することができる。
いくつかの実施形態において、ウェブサーバ102は、クッキー122を生成し、クッキー122をユーザデバイス110に記憶させることができる。クッキー122は、キャッシュサーバ104内のキャッシュデータ120の割り当てを示し得る、割り当て情報124を含むことができる。例えば、割り当て情報124は、キャッシュデータ118を記憶するキャッシュサーバ104のうち特定の1つ以上のキャッシュサーバを示し得る。
いくつかの実施形態において、要求116は、クッキー122を含むことができる。これらの場合において、ユーザデバイス110は、クッキー122を含む要求116を、ウェブサーバ102に伝送することができる。ウェブサーバ102は、要求116を解析して、クッキー122を識別し、割り当て情報124を取得することができる。割り当て情報124に基づいて、ウェブサーバは、キャッシュサーバ104のうち特定の1つ以上のキャッシュサーバを判定し、キャッシュデータ120を取得することができる。
図2は、図1の分散キャッシングシステムを使用して、ユーザがキャッシュデータを受信することを可能にする、例示的なプロセス200のフロー図である。202において、ウェブサーバ102は、キャッシュデータ120をキャッシュサーバ104に割り付けることができる。いくつかの実施形態において、ウェブサーバ102は、キャッシュデータ120をキャッシュサーバ104に分散させてもよい。いくつかの実施形態において、ウェブサーバ102は、割り当てアルゴリズム118を伝送することによって、キャッシュサーバ104が、キャッシュデータ120をキャッシュサーバ104のうち1つ以上のキャッシュサーバに割り当てるように命令することができる。例えば、ユーザ108のキャッシュデータ120を割り当てるために、割り当てアルゴリズム118には、ハッシュ(x)%N割り当て方法が含まれてもよい。ハッシュ値を、ユーザ108に対して計算することが可能であり、したがって、対応するキャッシュサーバ(例えば、ハッシュ(ユーザ108)%N)を、ユーザ108に割り付けることができる。いくつかの実施形態において、キャッシュサーバは、ランダムに数字を生成することによって、ランダムに割り付けることができる。これらの場合においては、キャッシュデータ120を、対応するキャッシュサーバ(例えば、ランダム(ユーザ108)%N)に割り当てることができる。
204において、ウェブサーバ102は、割り当て情報124をクッキー122に記録することができ、それが、ユーザデバイス110に記憶される。いくつかの実施形態において、ウェブサーバがキャッシュデータ120をキャッシュサーバ104に記憶および/または割り当てた時点で、ウェブサーバは、キャッシュデータ120の割り当て情報124を、クッキー122(例えば、ユーザのクライアント側クッキー)に書き込むことができる。これらの場合において、割り当て情報124は、キャッシュデータ120とキャッシュデータ120を記憶する1つ以上のキャッシュサーバとの間の相関関係を含んでもよい。
キャッシュデータ120の次のクエリについては、割り当て情報124を使用して、直接的に、キャッシュサーバ104のうちキャッシュデータ120を記憶しているキャッシュサーバの位置を特定することができる。1つを上回るウェブサーバ102が存在する場合は、ユーザの現在の要求を処理することに関与するサーバが、キャッシュデータ120の割り当て情報124をクッキー122に書き込むことができる。例えば、3つのキャッシュサーバ、M1、M2、およびM3が配置される。ユーザ108に対するキャッシュデータの特定の一部分がM1に記憶されている場合、ユーザCのクライアント上のクッキー内の割り当て情報124には、キャッシュデータがM1に記憶されているということが記録されることになる。
206において、ウェブサーバ102は、ユーザデバイスが、キャッシュデータに関連するデータに対する別の要求を伝送する場合、ユーザ108がキャッシュデータ120を受信することを促進することができ、これは、図3でより詳細に説明される。いくつかの実施形態において、ウェブサーバ102は、クッキー122に記憶された割り当て情報124に基づいて、データを取り出し、次いで、そのデータをユーザデバイス110に伝送することができる。いくつかの実施形態において、ウェブサーバ102は、ユーザデバイス110へのデータの伝送を促進することができる。これらの場合において、ユーザデバイスは、キャッシュサーバ104から直接データを受信することができる。
図3は、図1の分散キャッシングシステムを使用して、キャッシュサーバから情報を要求するための例示的なプロセス300のフロー図である。302において、ウェブサーバ102は、ユーザデバイス110から要求116を受信することができる。いくつかの実施形態において、ユーザデバイスは、ウェブサーバ102が要求116を受信する前に、別のウェブサーバに別の要求を伝送してもよい。例えば、ユーザ108の第1の要求は、サーバW1によって受信され、一方で、第2の要求は、サーバW2によって受信される。
304において、ウェブサーバ102は、要求116を解析して、クッキー122を取得することができる。クッキー122に基づいて、ウェブサーバ102は、306で割り当て情報を識別および抽出することができる。キャッシュデータ120を記憶している場合、割り当て情報124は、クッキー122にキャッシュデータ120用に記録されている。したがって、クッキー122に記憶された割り当て情報124を使用して、キャッシュサーバ104のうちの対応するキャッシュサーバの位置を特定することができる。
308において、ウェブサーバ102は、キャッシュデータ120について、キャッシュサーバ104に要求を伝送することができる。キャッシュデータ120を受信すると、ウェブサーバは、要求116に応答して、例えば、ユーザデバイス110にキャッシュデータ120を伝送することができる。
310において、ウェブサーバ102は、キャッシュサーバ104が、キャッシュデータ120用に、ウェブサーバ102によって送信された要求に応答することに失敗したかどうかを判定することができる。例えば、キャッシュサーバ103は、キャッシュサーバ104のうち対応するキャッシュサーバが除去されたか、または正常に機能しない場合には、応答しない場合がある。これらの場合において、失敗したサーバに記憶されたキャッシュデータ120は、利用できない可能性がある。
ウェブサーバ102が、キャッシュサーバ104はキャッシュデータ120に対する要求に適切に応答すると判定した場合(すなわち、310からの、いいえの分岐)、ウェブサーバ102は、キャッシュデータ120をユーザデバイス110に伝送することができる。
キャッシュサーバ104が、キャッシュデータ120についての要求に応答することに失敗した場合(すなわち、310からの、はいの分岐)、ウェブサーバ102は、314で、キャッシュデータ120を、キャッシュサーバ104のうちの別のキャッシュサーバに割り当てることができる。これらの場合において、ウェブサーバ102は、ウェブサーバ102が所定の時間内にキャッシュサーバ104から対応する応答を受信しない場合、キャッシュサーバ104が応答に失敗したと判定することができる。
いくつかの実施形態において、ウェブサーバ102は、図2の202に類似の方法を使用して、他のサーバにキャッシュデータ120を割り付けることができる。いくつかの実施形態において、他のキャッシュサーバは、ランダムに選択することができる。例えば、機能しているキャッシュサーバ群のうちの1つを、任意に選択することができる。あるいは、他のキャッシュサーバを、所定の順序に基づいて選択してもよい。316において、ウェブサーバは、割り当て情報124を書き換えることによって、クッキー122を更新することができる。
いくつかの実施形態において、再割り当て情報がクッキー122に書き込まれた時点で、ウェブサーバ102は、自動的に割り当て情報124を上書きすることができる。したがって、上書き後のあらゆる読み取りは、最新の割り当て情報124にアクセスし、したがって、キャッシュデータ120の割り当ての正確さを確保することができる。これらの場合において、キャッシュサーバが正常に機能しないか、または除去された場合、このキャッシュサーバに記憶されたキャッシュデータのみが影響を受け、他のキャッシュサーバの通常の動作が影響を受けることはない。さらに、記憶されたキャッシュデータは、異なるキャッシュサーバに再割り付けされ、それが上書きされた割り当て情報124に反映され、したがって、新しいキャッシュサーバ上の情報が迅速に効力を発し得ることを確実にし、キャッシュサーバの置き換えによって引き起こされる不都合を減少させる。
さらに、新しいキャッシュサーバの追加が必要な場合、いくつかの実施形態によると、新しいキャッシュデータは、新しく追加されたキャッシュサーバを含む、全てのキャッシュサーバ104に、等確率でマッピングされる。これらの場合において、キャッシュデータ120とキャッシュサーバ104との間の対応は、元のキャッシュマッピングに対する変更を必要とすることなく、対応するユーザのクッキーに直接書き込まれ、したがって、元のキャッシュサーバへのあらゆる影響を回避することができる。対応の整合性は維持され、いずれのキャッシュデータも移動させる必要はない。
本開示の分散キャッシング方法およびキャッシング解析方法は、ユーザのクライアント側クッキーに、割り当て情報を書き込むときに、HPPTプロトコルでローカルクライアントに記憶されたクッキーのキャッシング特性を利用することによって、単純な方法で、キャッシュ記憶の整合性を実現する。これは、キャッシュクラスタに変更がなされる際、元のキャッシュデータへの影響を減少させる。新しいキャッシュサーバを追加する場合、元のキャッシュデータに影響することなく、新しい割り当て関係をクッキー122に直接書き込むことができ、キャッシュサーバがクラスタから除去されると、このキャッシュサーバ上のキャッシュデータのみが影響を受け、他のキャッシュサーバが影響されることはない。いくつかの実施形態において、本開示の状態保持分散キャッシングプロトコルは、キャッシングが必要なあらゆる内部C/Sシステムで利用することができる。
ウェブアプリケーションは、2つのウェブサーバW1およびW2、ならびに3つのメムキャッシュ(memcache)に基づくキャッシュサーバM1、M2、およびM3に対応すると想定する。クライアントCが最初に要求を提出すると、要求はW1によって処理され、それは、次に、クライアントCのよく使用されるデータをキャッシュサーバM1〜M3のうちの1つに割り付けることに関与することが、さらに想定される。必要に応じて、異なるアプローチをとることができ、例えば、ランダムな数を生成し、サーバにランダム(C)%Nを割り付けるか、またはクライアントCに対するハッシュ値を計算し、サーバにハッシュ(C)%Nを割り付ける。割り当て情報は、次いで、サーバW1によって、クライアントCのクッキーに書き込まれる。結果として、このクッキーは、クライアントCによってサーバに送信される各フォローアップ要求を伴うことになり、このクッキーには、サーバW1によって書き込まれたキャッシュ情報が含まれる。例えば、特定の要求は、サーバW2によって処理することができる。サーバW2は、対応するキャッシュサーバがM1であることを、Cのクッキーから直接読み取り、その後でキャッシュサーバM1から必要なキャッシュデータを要求することができる。
キャッシュサーバが正常に機能しないか、またはクラスタから除去された場合、ウェブサーバは、クライアントCからの要求を処理しながら、要求されたキャッシュサーバから応答がないことを見出したならば、クライアントCに対する新しいキャッシュサーバを再選択することになる。この選択が成功すると、それは、新しい割り当て情報でクライアントCのクッキーを更新することになる。例えば、クライアントCが、サーバW1を介して、キャッシュサーバM1からキャッシュデータを要求し、M1が応答しない場合、サーバW1は、所定の割り当て手段に従って、キャッシュサーバM2を選択し、キャッシュデータをM2に記憶する。同時に、それは、クライアントCのクッキー上の割り当て情報を更新し、そうして、クライアントが次に要求を送信するときに、クライアントCのクッキーが既に新しい割り当て情報を含むようにする。この場合、キャッシュデータに対する影響は、問題のキャッシュサーバにキャッシュされたそのデータに限定され、クライアントCのクッキー内の割り当て情報は、次のアクセスの際にすぐに効力を発するためには、任意のウェブサーバによって1度更新されるだけでよい。
業務がキャッシュサーバの数をNからN+1へ拡大することを必要とする場合は、次いで、前述の方法に従って、キャッシュデータの割り当てと、元のキャッシュマッピングに影響を及ぼすことなく、元の割り当てスキームに従って実行することができる。例えば、新しいキャッシュデータを、等確率方式で、N+1のサーバにマッピングすることになる。
図4は、例示的なコンピューティングデバイス400、および図1のコンピューティング環境に含まれる種々の構成要素のブロック図である。ウェブサーバ102は、任意の好適なサーバ(複数可)として構成され得る。1つの例示的な構成において、ウェブサーバ102は、1つ以上のプロセッサ402、入力/出力インターフェース404、ネットワークインターフェース406、およびメモリ408を含む。
メモリ408は、ランダムアクセスメモリ(RAM)等の揮発性メモリ、および/または読み取り専用メモリ(ROM)もしくはフラッシュRAM等の不揮発性メモリの形態で、コンピュータ可読媒体を含むことができる。メモリ408は、コンピュータ可読媒体の一例である。
コンピュータ可読媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータ等の情報の記憶のために、任意の方法または技術で実装される、揮発性および不揮発性の取り外し可能および取り外し不可能な媒体が含まれる。コンピュータ記憶媒体の例には、限定されないが、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他の種類のランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的に消去可能なプログラム可能読み取り専用メモリ(EEPROM)、フラッシュメモリ、もしくは他のメモリ技術、コンパクトディスク読み取り専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、もしくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、もしくは他の磁気記憶デバイス、またはコンピューティングデバイスによるアクセス用に情報を記憶するために使用可能な任意の他の非伝送媒体が挙げられる。本明細書に定義されるように、コンピュータ可読媒体には、変調されたデータ信号および搬送波等の一過性媒体は含まれない。
メモリ408をより詳細に見ると、メモリ408は、分散キャッシングユニット410および分散分析ユニット412を格納することができる。分散キャッシングユニット410は、キャッシュデータ割り当てモジュール414および割り当て情報記録モジュール416を含み得る。分散分析ユニット412は、要求受信モジュール418、割り当て情報取得モジュール420、キャッシュサーバ情報取得モジュール422、要求モジュール424、キャッシュデータ分散モジュール426、および割り当て記録モジュール428を含み得る。
キャッシュデータ割り当てモジュール414は、ユーザデバイス110から伝送される要求116に応答して、キャッシュデータ120を、キャッシュサーバ104に割り付けることができる。キャッシュデータ割り当てモジュール414は、キャッシュデータを、ランダムに、または所定のハッシュ値もしくは所定のハッシュ方法に基づいて、割り付けることができる。割り当て情報記録モジュール416は、割り当て情報124を、クッキー122に書き込むことができる。いくつかの実施形態において、割り当て情報書き込みモジュール416は、キャッシュデータ120およびキャッシュサーバ104に関する割り当て関係および他の情報を、キャッシュデータ割り当てモジュール414から取得した情報に基づいて、ユーザの対応するクッキー(例えば、クッキー122)に書き込むことができる。
要求受信モジュール418は、ユーザデバイス110から、要求116を受信することができる。割り当て情報取得モジュール420は、要求116に応答して、キャッシュデータ120に対する割り当て情報124を識別および/または取得することができる。キャッシュサーバ情報取得モジュール422は、取得した割り当て情報124に基づいて、キャッシュサーバ104のうち、キャッシュデータ120に対応する1つ以上のキャッシュサーバを判定することができる。
要求モジュール424は、キャッシュデータについて、キャッシュサーバ104のうち1つ以上の識別されたキャッシュサーバに、要求を伝送することができる。キャッシュデータ分散モジュール426は、例えば、所定の時間内に、キャッシュサーバ104から要求に対する応答がない場合、キャッシュサーバ104の別のキャッシュサーバに、キャッシュデータ120を割り付けることができる。割り当て記録モジュール428は、次いで、割り当て情報124を上書きすることによって、クッキー122を更新することができる。
本明細書の種々の実施形態は、漸進的な様式で説明される。各実施形態の説明の焦点は、他の実施形態とそれらとの差であり、同一または類似する部分は、両方の説明を参照することにより確認することができる。
上記は本出願によって提供される分散キャッシング方法およびシステムならびにキャッシングの解析方法およびシステムを詳細に説明し、本明細書における特定の例は、本出願の原理および実施形態を例示するために利用される。上述の実施形態の説明は、本開示の方法および主要概念の理解を助けることを目的し、当業者であれば、本出願の概念に基づいて、特定の実施形態および適用範囲に変更を加えることが可能であり、したがって、本明細書の内容が本出願を制限すると考えられるべきではない。

Claims (20)

  1. 1つ以上のプロセッサによって実行される時、
    ユーザデバイスから、ウェブサービスと関連するデータに対する要求を受信することと、
    前記ウェブサービスと関連する前記データの少なくとも一部分を、1つ以上のキャッシュサーバに割り当てることと、
    割り当て情報を、前記ユーザデバイスに指定されたクッキーに記録することであって、前記割り当て情報は、前記データの前記少なくとも一部分と、前記1つ以上のキャッシュサーバとの間の関係を示すことと、
    前記ユーザデバイスから、前記データの前記少なくとも一部分に関連するデータに対する別の要求を受信することであって、前記別の要求は、前記クッキーを含むことと、
    前記クッキーを識別して、前記割り当て情報を得ることと、
    前記割り当て情報に基づいて、前記ユーザデバイスへの前記データの前記少なくとも一部分の伝送を促進することと、
    を含む、動作を行うように、前記1つ以上のプロセッサを構成する、コンピュータ実行可能命令を記憶する、1つ以上のコンピュータ可読媒体。
  2. 前記1つ以上のサーバは、複数のキャッシュサーバを含み、前記動作は、
    前記複数のキャッシュサーバから、前記データの前記少なくとも一部分を要求することと、
    前記複数のキャッシュサーバのうちの1つのキャッシュサーバが、所定の時間内に、前記データの前記少なくとも一部分に対する前記要求に応答することに失敗したことを判定することと、
    前記データの前記少なくとも一部分を、前記複数のキャッシュサーバの別のキャッシュサーバに再割り当てすることと、
    前記クッキー内の前記割り当て情報を、前記再割り当てを反映するように更新することと、
    をさらに含む、請求項1に記載の1つ以上のコンピュータ可読媒体。
  3. 前記別のキャッシュサーバへの前記データの前記少なくとも一部分の前記再割り当ては、複数のキャッシュサーバの所定の順序に基づいて、前記データの前記少なくとも一部分を、前記別のキャッシュサーバに再割り当てすることを含む、請求項2に記載の1つ以上のコンピュータ可読媒体。
  4. 前記1つ以上のキャッシュサーバは、複数のキャッシュサーバを含み、前記動作は、
    前記複数のキャッシュサーバがキャッシュサーバを追加または除去するかを判定することと、
    前記データの前記少なくとも一部分を、所定の規則に基づいて、前記複数のキャッシュサーバに再割り当てすることと、
    前記クッキー内の前記割り当て情報を、前記再割り当てを反映するように更新することと、
    をさらに含む、請求項1に記載の1つ以上のコンピュータ可読媒体。
  5. 前記動作は、
    サービスプロバイダのサーバから、前記データを要求することと、
    前記サービスプロバイダから、前記データを受信することと、
    前記サービスプロバイダのサーバから受信した前記データから、前記データの前記少なくとも一部分を識別することと、
    をさらに含む、請求項1に記載の1つ以上のコンピュータ可読媒体。
  6. 前記1つ以上のキャッシュサーバは、メムキャッシュ(memcached)型サーバを含む、請求項1に記載の1つ以上のコンピュータ可読媒体。
  7. 前記データの前記少なくとも一部分の前記割り当ては、HASH規則に基づいて、前記データの前記少なくとも一部分を割り当てることを含む、請求項1に記載の1つ以上のコンピュータ可読媒体。
  8. 前記ウェブサービスは、データベースサービス、支払サービス、およびウェブ検索エンジンのうちの少なくとも1つを含む、請求項1に記載の1つ以上のコンピュータ可読媒体。
  9. ユーザデバイスから、ウェブサービスに対する要求を受信することと、
    前記要求を解析して、1つ以上のキャッシュサーバが前記ウェブサービスと関連するデータの少なくとも一部分を一時的に記憶することを示す割り当て情報を有するクッキーを識別することと、
    前記1つ以上のキャッシュサーバから、前記割り当て情報に基づいて、前記データの前記少なくとも一部分を要求することと、
    前記データの前記要求された前記少なくとも一部分を、前記ユーザデバイスに伝送することと、
    を含む、方法。
  10. 前記クッキーが割り当て情報を有さないことを判定することと、
    ウェブサービスサーバから、前記ウェブサービスと関連する特定のデータを要求することと、
    複数のキャッシュサーバを含む前記1つ以上のキャッシュサーバに、前記特定のデータを割り当てることと、
    割り当て情報を、前記ユーザデバイスに指定された前記クッキーに記録することと、
    をさらに含む、請求項9に記載の方法。
  11. 前記複数のキャッシュサーバへの前記特定のデータの前記割り当ては、複数のキャッシュサーバの所定の順序に基づいて、前記複数のキャッシュサーバに前記特定のデータを割り当てることを含む、請求項10に記載の方法。
  12. 前記特定のデータの前記割り当ては、HASH規則に基づいて、前記特定のデータを割り当てることを含む、請求項10に記載の方法。
  13. 前記1つ以上のキャッシュサーバのうちの1つのキャッシュサーバが、前記データの前記要求された前記少なくとも一部分を提供することに失敗したことを判定することであって、前記1つ以上のキャッシュサーバは、複数のキャッシュサーバを含むことと、
    ウェブサービスサーバから、前記データの前記少なくとも一部分を要求することと、
    前記データの前記少なくとも一部分を、前記複数のキャッシュサーバのうちの別のキャッシュサーバに再割り当てすることと、
    前記クッキー内の前記割り当て情報を、前記再割り当てを反映するように更新することと、
    をさらに含む、請求項9に記載の方法。
  14. 前記1つ以上のキャッシュサーバがキャッシュサーバを追加または削除するかを判定することであって、前記1つ以上のサーバは、前記複数のキャッシュサーバを含むことと、
    前記データの前記少なくとも一部分を、所定の規則に基づいて、前記複数のキャッシュサーバに再割り当てすることと、
    前記クッキー内の前記割り当て情報を、前記再割り当てを反映するように更新することと、
    をさらに含む、請求項9に記載の方法。
  15. 前記1つ以上のキャッシュサーバは、メムキャッシュ型サーバを含む、請求項9に記載の方法。
  16. 1つ以上のプロセッサによって実行されると、
    ユーザデバイスから、ウェブサービスに対する要求を受信することと、
    前記要求を解析して、前記ユーザデバイスに指定されたクッキーを判定することと、
    前記クッキーが、複数のキャッシュサーバ内の前記ウェブサービスと関連するデータの割り当てを示す割り当て情報を有するかどうかを判定することと、
    前記クッキーが前記割り当て情報を有する場合には、
    前記割り当て情報に基づいて、前記ウェブサービスと関連する前記データを判定することと、
    前記ウェブサービスと関連する前記データの前記ユーザデバイスへの伝送を促進することと、
    前記クッキーが前記割り当て情報を有さない場合には、
    ウェブサービスサーバから、前記ウェブサービスと関連する前記データを受信することと、
    前記ウェブサービスと関連する前記データを、前記複数のキャッシュサーバに割り当てることと、
    前記割り当て情報を、前記クッキーに記録することと、
    を含む、動作を行うように、前記1つ以上のプロセッサを構成する、コンピュータ実行可能命令を記憶する、1つ以上のコンピュータ可読媒体。
  17. 前記動作は、
    前記要求にクッキーが含まれていないことを判定することと、
    前記クッキーを作成することと、
    をさらに含む、請求項16に記載の1つ以上のコンピュータ可読媒体。
  18. 前記動作は、
    前記複数のキャッシュサーバから、前記ウェブサービスと関連する前記データを要求することと、
    前記複数のキャッシュサーバのうちの1つのキャッシュサーバが、所定の時間内に、前記要求に応答することに失敗したことを判定することと、
    前記ウェブサービスと関連する前記データを、前記複数のキャッシュサーバのうちの別のキャッシュサーバに再割り当てすることと、
    前記クッキー内の前記割り当て情報を、前記再割り当てを反映するように更新することと、
    をさらに含む、請求項16に記載の1つ以上のコンピュータ可読媒体。
  19. 前記動作は、
    前記複数のキャッシュサーバがキャッシュサーバを追加または削除するかを判定することと、
    前記ウェブサービスと関連する前記データを、所定の規則に基づいて、前記複数のキャッシュサーバに再割り当てすることと、
    前記クッキー内の前記割り当て情報を、前記再割り当てを反映するように更新することと、
    をさらに含む、請求項16に記載の1つ以上のコンピュータ可読媒体。
  20. 前記複数のキャッシュサーバは、メムキャッシュ型サーバを含む、請求項16に記載の1つ以上のコンピュータ可読媒体。
JP2014511492A 2011-05-18 2012-05-16 分散キャッシングおよびキャッシュ分析 Active JP6388339B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201110129060XA CN102790784A (zh) 2011-05-18 2011-05-18 分布式缓存方法及系统、缓存解析方法及解析系统
CN201110129060.X 2011-05-18
PCT/US2012/038145 WO2012158804A1 (en) 2011-05-18 2012-05-16 Distributed caching and cache analysis

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017120863A Division JP6492123B2 (ja) 2011-05-18 2017-06-20 分散キャッシングおよびキャッシュ分析

Publications (2)

Publication Number Publication Date
JP2014519100A true JP2014519100A (ja) 2014-08-07
JP6388339B2 JP6388339B2 (ja) 2018-09-12

Family

ID=47156084

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014511492A Active JP6388339B2 (ja) 2011-05-18 2012-05-16 分散キャッシングおよびキャッシュ分析
JP2017120863A Active JP6492123B2 (ja) 2011-05-18 2017-06-20 分散キャッシングおよびキャッシュ分析

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2017120863A Active JP6492123B2 (ja) 2011-05-18 2017-06-20 分散キャッシングおよびキャッシュ分析

Country Status (5)

Country Link
EP (1) EP2710477B1 (ja)
JP (2) JP6388339B2 (ja)
CN (1) CN102790784A (ja)
TW (1) TW201248418A (ja)
WO (1) WO2012158804A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103002045A (zh) * 2012-12-18 2013-03-27 江苏乐买到网络科技有限公司 一种web服务系统
CN104468642B (zh) * 2013-09-12 2019-07-05 腾讯科技(深圳)有限公司 浏览器缓存资源预测方法和系统、反向代理装置及浏览器
CN106375362A (zh) * 2015-07-24 2017-02-01 广州市百果园信息技术有限公司 分布式服务器的缓存同步方法及系统
CN105357253A (zh) * 2015-09-28 2016-02-24 努比亚技术有限公司 网络数据请求处理装置及方法
CN105577806B (zh) * 2015-12-30 2019-11-12 Tcl集团股份有限公司 一种分布式缓存方法及系统
CN109150929B (zh) * 2017-06-15 2021-11-12 北京京东尚科信息技术有限公司 高并发场景下的数据请求处理方法和装置
CN108196786B (zh) * 2017-12-08 2021-05-18 成都华为技术有限公司 用于存储系统分区的方法和管理设备
CN109165078B (zh) * 2018-07-12 2020-12-04 厦门熵基科技有限公司 一种虚拟分布式服务器及其访问方法
CN110311989B (zh) * 2019-08-02 2022-01-28 中国工商银行股份有限公司 一种灰度发布方法、装置、存储介质、设备及系统
CN111752970B (zh) * 2020-06-26 2024-01-30 武汉众邦银行股份有限公司 一种基于缓存的分布式查询服务响应方法及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216174A (ja) * 2000-02-04 2001-08-10 Nippon Telegr & Teleph Corp <Ntt> アプリケーション代替方法及びアプリケーション代替プログラムを格納した記憶媒体
JP2002049575A (ja) * 2000-08-01 2002-02-15 Hitachi Ltd ファイルシステム
JP2005038368A (ja) * 2002-08-30 2005-02-10 Hitachi Ltd 仮想一元化されたネットワークストレージ間のディスク残量平準化方法
US20100180208A1 (en) * 2009-01-15 2010-07-15 Kasten Christopher J Server side data cache system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU4839300A (en) * 1999-05-11 2000-11-21 Webvan Group, Inc. Electronic commerce enabled delivery system and method
US7509393B2 (en) * 2001-12-19 2009-03-24 International Business Machines Corporation Method and system for caching role-specific fragments
US7103616B1 (en) * 2003-02-19 2006-09-05 Veritas Operating Corporation Cookie-based directory name lookup cache for a cluster file system
US8145908B1 (en) * 2004-10-29 2012-03-27 Akamai Technologies, Inc. Web content defacement protection system
US20060106807A1 (en) * 2004-11-18 2006-05-18 Microsoft Corporation System and method for transferring a file in advance of its use
CN101562543B (zh) * 2009-05-25 2013-07-31 阿里巴巴集团控股有限公司 一种缓存数据的处理方法、处理系统和装置
US8914457B2 (en) * 2009-10-06 2014-12-16 Red Hat, Inc. Caching of nodes in cache cluster
CN101764824B (zh) * 2010-01-28 2012-08-22 深圳市龙视传媒有限公司 一种分布式缓存控制方法、装置及系统
CN101867607A (zh) * 2010-05-21 2010-10-20 北京无限立通通讯技术有限责任公司 一种分布式数据存取方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216174A (ja) * 2000-02-04 2001-08-10 Nippon Telegr & Teleph Corp <Ntt> アプリケーション代替方法及びアプリケーション代替プログラムを格納した記憶媒体
JP2002049575A (ja) * 2000-08-01 2002-02-15 Hitachi Ltd ファイルシステム
JP2005038368A (ja) * 2002-08-30 2005-02-10 Hitachi Ltd 仮想一元化されたネットワークストレージ間のディスク残量平準化方法
US20100180208A1 (en) * 2009-01-15 2010-07-15 Kasten Christopher J Server side data cache system

Also Published As

Publication number Publication date
CN102790784A (zh) 2012-11-21
EP2710477A1 (en) 2014-03-26
TW201248418A (en) 2012-12-01
JP2017168143A (ja) 2017-09-21
EP2710477B1 (en) 2019-07-10
EP2710477A4 (en) 2014-11-12
JP6492123B2 (ja) 2019-03-27
JP6388339B2 (ja) 2018-09-12
WO2012158804A1 (en) 2012-11-22

Similar Documents

Publication Publication Date Title
JP6492123B2 (ja) 分散キャッシングおよびキャッシュ分析
CN107562757B (zh) 基于分布式文件系统的查询、访问方法、装置及系统
US9774564B2 (en) File processing method, system and server-clustered system for cloud storage
US8996611B2 (en) Parallel serialization of request processing
CN105324770B (zh) 有效读出副本
US9380127B2 (en) Distributed caching and cache analysis
US8069224B2 (en) Method, equipment and system for resource acquisition
CN102708165B (zh) 分布式文件系统中的文件处理方法及装置
CN107153644B (zh) 一种数据同步方法及装置
EP3076307A1 (en) Method and device for responding to a request, and distributed file system
US8010648B2 (en) Replica placement in a distributed storage system
CN110532123B (zh) HBase系统的故障转移方法及装置
CN109254958B (zh) 分布式数据读写方法、设备及系统
EP3384384A1 (en) Methods and devices for acquiring data using virtual machine and host machine
CN107920101B (zh) 一种文件访问方法、装置、系统及电子设备
CN110457307B (zh) 元数据管理系统、用户集群创建方法、装置、设备和介质
CN107493309B (zh) 一种分布式系统中的文件写入方法及装置
CN111506254B (zh) 分布式存储系统及其管理方法、装置
US7058773B1 (en) System and method for managing data in a distributed system
CN111221857B (zh) 从分布式系统中读数据记录的方法和装置
CN111435342A (zh) 海报的更新方法、更新系统以及管理系统
CN112445859A (zh) 数据管理方法、装置和系统
CN110688057A (zh) 一种分布式存储方法及装置
CN117194439B (zh) 一种资源存储系统的创建方法、电子设备及存储介质
JP6197666B2 (ja) 記憶装置、複製方法及び複製プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170620

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170626

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20170714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180809

R150 Certificate of patent or registration of utility model

Ref document number: 6388339

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