JP2001273186A - 共同Webキャッシングのための遅延対応ハッシングの方法及び構成 - Google Patents
共同Webキャッシングのための遅延対応ハッシングの方法及び構成Info
- Publication number
- JP2001273186A JP2001273186A JP2001015963A JP2001015963A JP2001273186A JP 2001273186 A JP2001273186 A JP 2001273186A JP 2001015963 A JP2001015963 A JP 2001015963A JP 2001015963 A JP2001015963 A JP 2001015963A JP 2001273186 A JP2001273186 A JP 2001273186A
- Authority
- JP
- Japan
- Prior art keywords
- proxy
- hash
- partition
- cache
- anchor
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/289—Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
共同Webキャッシングに、待ち時間に対応したハッシ
ングを提供すること。 【解決手段】 地理的に分散したキャッシュ・サーバ間
で共同Webキャッシングを行う方法、特に地理的に分
散したプロキシ・キャッシュ間で共同Webキャッシン
グを行う、待ち時間対応ハッシングのシステム及び方
法。ハッシング時にネットワーク待ち時間遅延及びプロ
キシ負荷状態が考慮される。その結果、負荷状態が良け
れば、リクエストを地理的に近いプロキシ・キャッシュ
にハッシュすることができる。他の場合リクエストは地
理的に遠いプロキシ・キャッシュにハッシュされ、キャ
ッシュ間の負荷のバランスが取られる。
Description
アント・マシンとコンテンツ・サーバ間に位置するネッ
トワーク・プロキシ・サーバ上のWebオブジェクトの
キャッシングに関する。
rld Wide Web)が急成長している。その結果、Webに
アクセスするときのユーザ側の応答時間がますます問題
になっている。
法は、クライアントとコンテンツ・サーバとの間にプロ
キシ・キャッシュ・サーバを配置することである。プロ
キシ・キャッシングでは、クライアント・リクエストの
ほとんどをプロキシ・キャッシュにより処理することが
でき、待ち時間が短縮される。インターネット上のネッ
トワーク・トラフィックも、この方法により大幅に縮小
することができ、ネットワークの混雑も大幅に緩和され
る。実際、IBM、Sun Microsystems、Inktomi、Network
Appliance、Akamai等、Webキャッシングのためのハ
ードウェア、ソフトウェアの製品やソリューションを提
供している企業は少なくない。こうした企業には、地理
的に分散したデータセンターを共同Webキャッシング
に使用している企業もある。すなわち、Webキャッシ
ングを共同で行うため、地理的に分散した多数のプロキ
シを使用するケースが増えている。
般には調整役を務めるプロトコルが必要である。一連の
共同プロキシ・キャッシュを管理調整するため、最近ハ
ッシュ・ルーティングという方法が登場している。ハッ
シュ・ルーティングの例として、キャッシュ・アレイ・
ルーティング・プロトコル(CARP)、コンシステン
ト・ハッシング(consistent hashing)等がある。"Cac
he Array Routing Protocol、v 1.0"(インターネット
・ドラフト、http://www.ircache.net/Cache/ICP/carp.
txt、1998年2月、V.Valloppillil、K.W.Ross)
にCARPのドラフトについての説明がある。"Hash-Ro
uting for Collections Shared Web Caches"(IEEE Net
work Magazine、37−44ページ、1997年11
月、12月、K.W.Ross)では、CARP及び他のプロ
トコルのパフォーマンスが分析されている。"Web Cachi
ng with Consistent Hashing"(Proc.Of 8th Internat
ional World Wide Web Conference、125−135ペ
ージ、1999年、D.Karger等)では、コンシステン
ト・ハッシングのWebキャッシングへの応用が述べら
れている。
体をキャッシュ間でパーティションに分け、1つの論理
キャッシュを作成する。キャッシュはそれぞれ割当てら
れたパーティションに属するリクエストを賄う。リクエ
ストは、対応するURLのハッシュ値をもとに対応する
プロキシ・キャッシュに送られる。ハッシュ値とプロキ
シ・キャッシュIDのマッピングは、ブラウザによって
か、またはドメイン・ネーム・サーバ(DNS)によっ
て行える。
ャッシングに使用される機会が増えている。例えば、Ak
amai、及びInktomi等の企業は、地理的に分散したデー
タ・センター上に存在するキャッシュ・サーバをWeb
キャッシングに使用している。その結果、地理的に遠い
プロキシや過負荷状態にあるプロキシにハッシュされる
リクエストについては、応答時間に影響が出る傾向があ
る。遠いプロキシは、ネットワーク待ち時間遅延が長く
なる傾向がある。過負荷状態のプロキシは、たとえブラ
ウザにどれほど近くても大きな遅延の原因にもなる。そ
のためユーザは、遠くのプロキシ・キャッシュや過負荷
のプロキシ・キャッシュにハッシュされるURLリクエ
ストについて、予想外に遅い応答時間を実感することが
ある。
グに対するハッシング・ベースの従来の方法は、ネット
ワーク待ち時間を考慮していない。地理的に遠いプロキ
シ・キャッシュへのハッシングまたは全プロキシ・キャ
ッシュへのハッシュをネットワーク待ち時間に関わらず
回避している。例えば、"Web Caching with Consistent
Hashing"(Proc.Of 8th International World Wide W
eb Conference、125−135ページ、1999年)
では、ユーザの地域がハッシュ値にエンコードされ、ブ
ラウザによってその地域のDNSに送られる。DNSは
エンコードされたハッシュ値を同じ地域内のプロキシ・
キャッシュIDにマップする。従ってリクエストは、地
理的に近い領域にあるプロキシによってのみ処理され
る。これは、地域内のプロキシ・キャッシュが同じ地域
内から発生したリクエストを全て適切に処理できる場合
は十分効果的であるが、地域間で作業負荷に偏りがある
場合、ある領域のプロキシは過負荷になり、他の領域の
プロキシは負荷不足になることがある。その結果、プロ
キシ間の共同の程度が地理的条件によって制限される。
ず、連携する全てのプロキシ・キャッシュに単純にハッ
シュすることができる。その場合、地理的に分散した連
携するキャッシュ全ての間で負荷のバランスを取りやす
くなる。ただし、地理的距離によるネットワーク待ち時
間遅延は考慮されない。また"ホット・スポット"も考慮
されない。"ホット・スポット"は、短時間の間に多大な
需要、またはWebサイトやWebページにアクセスす
るユーザの数に関して短い"スパイク"があるWebサイ
トまたはWebページとして定義される。ホット・スポ
ットが存在するとき、ホット・スポットへの参照は全て
同じプロキシにハッシュされている。そのため、ホット
・スポットを処理するプロキシはたちまち過負荷状態に
なる。
ッシングに伴う待ち時間の問題に配慮する必要がある。
具体的には、地理的に分散したプロキシ・キャッシュ間
の共同Webキャッシングに待ち時間に対応したハッシ
ングを提供する必要がある。
の好適な実施例に従って、共同Webキャッシングに関
するハッシング・ベースの方法に伴う前記の待ち時間の
問題が解決される。ここでは、地理的に分散したプロキ
シ・キャッシュ間で共同Webキャッシングを行うた
め、待ち時間に対応したハッシングのシステム及び方法
を考慮する。
全てのプロキシにハッシュされる。ただし、リクエスト
のターゲット・プロキシを選択する際、待ち時間遅延及
び過負荷の可能性のあるプロキシを考慮する。本発明の
実施例では、リクエストは最初にアンカ・ハッシュ・パ
ーティションにハッシュされる。ハッシュ・パーティシ
ョンはそれぞれ、地理的に分散したプロキシの1つにマ
ップされる。次に、選択アルゴリズムにより、アンカ・
ハッシュ・パーティションに隣接した少数のハッシュ・
パーティションの中からプロキシが選択される。この選
択は、ネットワーク待ち時間を短縮し、過負荷のプロキ
シの作成を避けることを基準にして行われる。
分散したプロキシ・キャッシュ間のWebキャッシング
をサポートするネットワーク・システムを示す。クライ
アント・マシン101、102とコンテンツ・サーバ1
07、108との間のインターネットにプロキシ・キャ
ッシュ・サーバ105、106が配置される。インター
ネットにはドメイン・ネーム・サーバ(DNS)10
3、104もあり、論理ホスト名を物理IPアドレスに
マップするため使用される。コンテンツ・サーバ10
7、108と同様、プロキシ・キャッシュ105、10
6は通常、メイン・メモリとディスクを含む巨大なスト
レージ・スペースを持つ高性能サーバ・コンピュータ・
システムである。例えばIBMのSP/2、RS/60
00サーバやPCサーバは、プロキシ・キャッシュ・サ
ーバ、コンテンツ・サーバの両方として使用することが
できる。一方クライアント・マシン101、102は通
常はPCまたはワークステーションである。
・キャッシュ、プロキシ・サーバ、プロキシといった呼
び名は、本発明の開示内容に関しては相互に置き換えら
れる用語として使用している。これらの用語は全てクラ
イアント・マシン101、102とコンテンツ・サーバ
107、108間のインターネット100でWebオブ
ジェクトをキャッシュするコンピュータ・システムを表
す。それらの間でプロキシ・キャッシュ105、106
を地理的に遠い場所に配置することができる。いくつか
はローカル・クラスタ内に配置できる。ただし、あるク
ラスタを他のクラスタから地理的に離れた場所に配置し
てもよい。例えば、プロキシ・キャッシュのクラスタは
カリフォルニア州サンノゼに、プロキシ・キャッシュの
他のクラスタはニューヨークに配置することができる。
ーザは、インターネット100を通してコンテンツ・サ
ーバ107、108に格納された情報にアクセスする。
プロキシ・キャッシュ105、106が配置されている
とき、クライアント・リクエストは最初に、コンテンツ
・サーバ107、108ではなくプロキシ・キャッシュ
105、106に送られる。要求されたオブジェクトが
プロキシ・キャッシュ105、106で見つかった場
合、オブジェクトはプロキシ・キャッシュ105、10
6から直接クライアント・マシン101、102に返さ
れる。一方、要求されたオブジェクトがプロキシ・キャ
ッシュ105、106で見つからない場合、リクエスト
はコンテンツ・サーバ107、108に転送される。
ンズ社のネットスケープ・ナビゲータやマイクロソフト
社のインターネット・エクスプローラ等のブラウザ・ソ
フトウェアは、クライアント・マシン101、102で
動作する。クライアント・マシンのユーザは通常、htt
p://www.ibm.com等のURLをブラウザのアドレス・フ
ィールドに指定してWebサイトにアクセスする。ハッ
シングをベースにした共同Webキャッシングの場合、
このようなURLは、ハッシュ値を計算するために用い
られ、ハッシュ値はプロキシの1つにマップされる。U
RLのプロキシ・キャッシュ・サーバへのハッシング
は、クライアント・マシンのブラウザ・ソフトウェアに
より行える。その場合、プロキシの論理ホスト名は通常
ブラウザによって用いられる。この論理名は、ネットワ
ークのDNSにより物理IPアドレスにマップする必要
がある。これに代えて、ブラウザ・ソフトウェアがUR
Lをハッシュ値に変換し、ハッシュ値をDNSに送るだ
けでもよい。そこで、ハッシュ値からプロキシの物理I
PアドレスへのマッピングがDNSにより行われる。タ
ーゲット・プロキシのIPアドレスが識別されると、リ
クエストがターゲット・プロキシに送られる。要求され
たオブジェクトがプロキシ・キャッシュでローカルに見
つかった場合、オブジェクトはプロキシから直接クライ
アント・マシンに返される。他の場合、リクエストはプ
ロキシ・キャッシュによりコンテンツ・サーバに転送さ
れる。
シ・キャッシュへのマッピングは、好適にはDNSによ
り行われる。これは、共同プロキシ・キャッシュの変更
をDNSによって管理する方が効率的だからである。D
NSは、ネットワークから削除したりネットワークに追
加したりできる。このような変更をインターネットのク
ライアント・マシンの各々に適用することは困難であ
る。ただし理論上は、クライアント・マシンのブラウザ
・ソフトウェアによりマッピングを行うことができる。
その場合、これは一般に物理IPアドレスではなく論理
ホスト名で行われる。その場合でもブラウザは論理プロ
キシ名を物理IPアドレスにマップするためDNSに送
る。従って、待ち時間対応ハッシングはDNSにより実
行するのが望ましい。ブラウザは、ハッシュ値を計算
し、共同プロキシ・キャッシュの1つのIPアドレスに
マップするためDNSに送るだけである。
対応ハッシングをサポートするDNSシステムを示す。
DNSシステム(図1の103、104)は、CPU2
00、ディスク202、及びダイナミックRAM(DR
AM)メモリ201を含むコンピュータ・システムであ
る。DNSサーバはインターネットに接続される。
DNSロジックは、ディスク202に格納された実行可
能プログラム・ロジックである。これをメモリ201に
ロードして、ハッシュ値から共同プロキシ・キャッシュ
群のプロキシのIPアドレスへのマッピングを実行する
ことができる。
スク202に格納された実行可能プログラム・ロジック
であり、メモリ202にロードして他のDNS機能を実
行することもできる。
の主な機能モジュールは、候補識別モジュール205
(詳細は図5)、ターゲット選択モジュール206(詳
細は図8)、及びローカル収集モジュール207であ
る。
待ち時間対応ハッシングをサポートするDNSによる標
準動作を示すフローチャートである。リクエストが入る
と、システムは最初、リクエストが待ち時間対応ハッシ
ングに関連するかどうかを確認する(301)。関連し
ない場合、システムは正規のDNS機能を実行する(3
03)。関連する場合、システムは最初に一連のプロキ
シ・キャッシュ候補302を識別する。このプロキシ・
キャッシュ候補群から、待ち時間遅延及び負荷状態を考
慮した後にプロキシを選択する(304)。
対応ハッシングの例を示す。ハッシュ値スペースは多数
のハッシュ・パーティション402に分けられる。UR
Lハッシュ値はそれぞれパーティションの1つに分類さ
れる。ハッシュ・パーティションはそれぞれプロキシI
D401にマップされる。例えば、a、d、g、b、
e、h、...はハッシュ・パーティションにマップさ
れたプロキシの識別子である。一例として、URL u
l406及びu2 407が、それぞれプロキシa及び
hに対応するハッシュ・パーティションにハッシュされ
ているとする。待ち時間を考慮しない場合、URL u
lはプロキシaに、URL u2はプロキシhにそれぞ
れハッシュされる。しかし、待ち時間を考慮すると、ハ
ッシュ値スペースで最初にプロキシ候補として付近にあ
る他の2つのプロキシが識別される。次に、405で指
定された待ち時間遅延が調べられ、待ち時間遅延が最小
のプロキシが選択される。その結果、URL ulのタ
ーゲット・プロキシとしてプロキシa、URL u2の
ターゲット・プロキシとしてプロキシcが選択される。
候補識別モジュール205のフローチャートを示す。候
補識別モジュール205は、URLから検索されたハッ
シュ値に対して一連のプロキシ・キャッシュ候補を識別
するモジュールである。ハッシュ値は、クライアント・
マシンからアクセスできるので、好適にはクライアント
・マシン(図1の101、102)のブラウザ・ソフト
ウェアにより計算される。501で、クライアント・マ
シンからの所定のハッシュ値は最初、アンカ・ハッシュ
・パーティションにマップされる。これは、可能なハッ
シュ値を所定数のパーティションに分けることによって
簡単に行える。アンカ・パーティションは従って、ハッ
シュ・パーティションの境界に対してハッシュ値を確認
することによって識別することができる。アンカ・ハッ
シュ・パーティションが識別されると、502で、1つ
以上の付近のハッシュ・パーティションをアンカ・ハッ
シュ・パーティションに加えることによって、候補にな
るハッシュ・パーティション群が形成される。付近のハ
ッシュ・パーティションは、アンカ・ハッシュ・パーテ
ィションよりもハッシュ値が大きいか小さい、または一
定数大きいか小さいパーティションである。ハッシュ・
パーティションが循環データ構造として扱われることは
理解されよう。つまり、ハッシュ値が最大のパーティシ
ョンは順番が最後になり、ハッシュ値が最小のパーティ
ションの次になる。最後に503で、ハッシュ・パーテ
ィション候補群がプロキシ候補群にマップされる。これ
らのプロキシ候補は、ターゲット選択モジュール(図2
の206)により調べられ、待ち時間遅延と負荷状態を
もとにターゲット・プロキシが見つけられる。
キシのIPアドレスが割当てられている場合、303で
プロキシ・キャッシュ候補群にハッシュ・パーティショ
ン候補群をマップすることがかなり簡単になることは理
解されよう。例えば簡単なルックアップで十分である。
ハッシュ・パーティションにプロキシ・キャッシュを割
当てる方法は様々である。各パーティションを1乃至P
の整数にハッシュするという単純な方法も考えられる。
ここでPはプロキシ・キャッシュの総数である。数はそ
れぞれプロキシ・キャッシュを表す。ハッシュ・パーテ
ィション総数が十分多いとき、これらのハッシュ・パー
ティションは全てのプロキシ・キャッシュ間に多少とも
均等に分散される。また、最初にプロキシ・キャッシュ
毎に、0乃至1の間でN/Pの乱数を生成することもで
きる。ここでNはハッシュ・パーティション総数、Pは
プロキシ・キャッシュ総数である。N/P乱数はそれぞ
れ、対応する同じプロキシIDに関連付けられる。従っ
て生成される乱数合計はN、うちN/P個が1つのプロ
キシIDに関連付けられる。次に、これらN個の乱数が
ソートされてリストが作成される。そこで、ソートされ
たリストの各乱数に関連付けられたプロキシIDを各ハ
ッシュ・パーティションに割当てることができる。
世界各地に設立されるデータセンターが増えると、分散
した共同プロキシ・キャッシュを地理的に分散したクラ
スタと見ることができることは理解されよう。各クラス
タ内には、1つ以上のサーバを配置することができる。
更にプロキシ・キャッシュ・サーバの数はクラスタ毎に
かなり違っていてもよい。その場合、特別なマッピング
によりターゲット選択モジュール(図2の206)が、
閉じた地域内のURLリクエストに対応するプロキシを
簡単に見つけることができる。
スタと見ることのできるプロキシへのハッシュ・パーテ
ィションの間接マッピングを示すフローチャートであ
る。M個のクラスタがあるとする。クラスタのプロキシ
・キャッシュ数はCj、j=1、2、...、Mと表
す。601で最初、2レベル・ラウンドロビン法によ
り、間接マッピングでプロキシIDアレイが作成され
る。すなわち、最初にクラスタが選択され、選択された
クラスタ内からプロキシ・キャッシュが選択されるが、
これは全てラウンドロビン方式である。つまり選択され
たクラスタ毎にプロキシ・キャッシュが一度に1つずつ
選択されていき、キャッシュが尽きるまでこの操作が繰
り返される。このプロキシIDアレイの総数はM*LC
Mcである。LCMcはCj、j=1、2、...、M
の最小公倍数である。次に602で、ハッシュ・パーテ
ィション・セグメントが作成され、各パーティション
に、601で作成されたプロキシIDアレイのインデッ
クスが割当てられる。Pjは、プロキシIDアレイにプ
ロキシIDが出現する回数を表す。プロキシIDはそれ
ぞれ、ハッシュ・パーティション・セグメントのLCM
p個のハッシュ・パーティションにマップされる。LC
MpはPj、j=1、2、...、Mの最小公倍数であ
る。その場合、ハッシュ・パーティション・セグメント
の大きさはLCMp*ΣPj、j=1、2、...、M
である。プロキシIDアレイにプロキシjがPj回出現
し、プロキシjのインデックスでマップされるハッシュ
・パーティションの総数はLCMpなので、インデック
スはそれぞれセグメントのLCMp/Pj個のハッシュ
・パーティションに割当てられる。ハッシュ・パーティ
ション・セグメントが構成された後、603で、ハッシ
ュ・パーティション・セグメントが一定回数複製され、
ハッシュ・パーティション全体が構成される。
め、図7に、2つの地域クラスタ内にある5つのプロキ
シ・キャッシュへのハッシュ・パーティションのマッピ
ング例を示す。1つには2つのプロキシ・キャッシュ7
01があり、もう1つには3つのプロキシ・キャッシュ
702がある。プロキシa、bは第1クラスタにあり、
プロキシc、d、eは第2クラスタにある。プロキシI
Dアレイを作成するには、2と3の最小公倍数は6なの
で合計12の要素が必要である。プロキシIDアレイ7
03は次に、ラウンドロビン方式でクラスタ毎にプロキ
シを選択することによって構成される。プロキシIDア
レイのインデックスも示してある。ハッシュ・パーティ
ション・セグメント704は、プロキシIDアレイのイ
ンデックスをハッシュ・パーティションに割当てること
によって構成される。プロキシa、bはプロキシIDア
レイにそれぞれ3回現れ、プロキシc、d、eはそれぞ
れ2回現れるので、ハッシュ・パーティション・セグメ
ントのサイズは6*5=30である(LCMp=6、Σ
Pj=5)。更にプロキシaはプロキシIDアレイに3
回現れ、そのインデックスは0、4及び8である。イン
デックスはそれぞれ2つのハッシュ・パーティションに
割当てられる(6/3=2)。従って最初の2つのパー
ティションにはインデックス0、次の2つにはインデッ
クス4が割当てられ、次の2つにはインデックス8が割
当てられる。同様に、プロキシcはプロキシIDアレイ
に2回現れ、インデックスは1及び7である。従って3
つのハッシュ・パーティションにインデックス1が、別
の3つのパーティションにインデックス7が割当てられ
る。
力の異なるプロキシ・キャッシュがある場合について簡
単に一般化できることも理解されよう。Rjは、クラス
タjのプロキシ・キャッシュの相対処理能力を示す。ハ
ッシュ・バケット・セグメントの総サイズはLCMp*
ΣPjRjになる。前記の図7の例では、第1クラスタ
のプロキシ・キャッシュの能力が、第2クラスタの2倍
であるとき、ハッシュ・パーティション・セグメントの
サイズは6*(2*2+3*1)=42である。その場
合、4つのハッシュ・パーティションにインデックス
0、別の4つのハッシュ・パーティションにインデック
ス4が割当てられ、また別の4つにインデックス8が割
当てられる。
識別されると、候補群がプロキシIDアレイ内の付近の
プロキシから選択されることも理解されよう。その場
合、サイズMの候補群は、各クラスタからの少なくとも
1つのプロキシ・キャッシュIDを含む。Mはクラスタ
総数である。その結果、間接マッピングにより、どのよ
うなリクエストについても地理的に近接したプロキシ・
キャッシュが見つかる可能性が大きくなる。
ト選択モジュール206(図2)のフローチャートであ
る。変数wは、候補識別モジュール205(図2)によ
り識別されたプロキシ・キャッシュ候補群のサイズを示
す。ターゲット・プロキシ・キャッシュは最初、候補群
からの第1プロキシとして設定される(801)。
全て調べられるまで、プロキシ・キャッシュ候補それぞ
れをループする(802)。全てのプロキシ・キャッシ
ュ候補を調べ、リクエストをハッシュする場合は待ち時
間遅延を改良できるかどうかを確認する(804)。改
良できる場合、プロキシ候補が更に調べられ、現在過負
荷の状態かどうかが確認される(805)。過負荷では
ない場合、プロキシ候補は新しいターゲットになる(8
06)。過負荷のとき、選択モジュールは、候補群の残
りから次のプロキシ・キャッシュ候補を調べる(80
7)。全てのプロキシ候補が調べられた後、最後のター
ゲット・プロキシ・キャッシュが返される(803)。
間を使用できることも理解されよう。また応答時間が所
定時間だけ良好な場合を除いて、アンカ・プロキシ・キ
ャッシュを優先する結果になる割引応答時間(discount
ed response time)をもとにしてもよい。
・キャッシュ候補が過負荷かどうか(図8の805)を
判定するフローチャートである。負荷収集モジュール2
07(図2)は、プローブ・メッセージを共同プロキシ
・キャッシュそれぞれに定期的に送り、使用状態を確認
するとする。そのようなプロキシ使用状態が維持され、
平均使用率及び使用率が最大のキャッシュの使用率を計
算することができる。U_maxを、共同プロキシの中で使
用率が最大のプロキシ・キャッシュ・サーバの使用率、
U_meanを平均使用率とする。OVERLOADをプロキシ・キャ
ッシュ・サーバに関して過負荷とみなされる所定定数
(例えば80%)とする。プロキシ・キャッシュ・サー
バの使用率が少なくともU_meanであり、U_maxが少なく
ともOVERLOADのとき(901)、プロキシは過負荷であ
るとみなされる(903)。一方、U_maxがOVERLOAD未
満のとき(902)、プロキシは使用率が少なくとも
(1+delta)*U_meanの場合にのみ過負荷とみなされる
(903)。deltaは定数、例えば20%である。数量delt
aは、好適には過負荷の発生とみなされる前に平均使用
率U_meanに許容可能な差異を与えるため用いられる。十
分有用な標準delta値は20%であるが、基本的には0
と1との間の任意の値が許容範囲であり、deltaとして
使用することができる。
いとき、プロキシは過負荷とみなされない(904)。
ーバの使用率は、全てのプロキシ・キャッシュ・サーバ
間の負荷の不均衡を示すことがあることも理解されよ
う。システム全体の不均衡が大きいとき、つまりU_max
が大きい場合、新しいリクエストをプロキシ・キャッシ
ュにハッシュすることに慎重になる必要がある。従って
プロキシ・キャッシュ・サーバは、その使用率がU_mean
に達した場合は過負荷とみなされる。一方、システム全
体が比較的均衡が取れている、つまりU_maxが小さいと
き、新しいリクエストをプロキシ・キャッシュにハッシ
ュすることに"積極的"になる必要がある。その場合、プ
ロキシ・キャッシュ・サーバは、その使用率がU_meanよ
りも所定量だけ大きくなるまで過負荷とみなされない。
負荷収集モジュール207(図2)は、全ての共同プロ
キシ・キャッシュの使用状態を定期的に収集する他に、
クライアント・マシン101、102(図1)と共同プ
ロキシ・キャッシュ105、106(図1)間の待ち時
間遅延を維持する。この待ち時間遅延は、ほとんどが地
理上の距離に依存し、また動的ネットワーク・トラフィ
ックにも依存する。待ち時間遅延もまた定期的に更新さ
れる。
施例に従って、所与のURLに関連する情報をもとに、
そのURLのプロキシ・キャッシュ候補群を示す識別
子、及び少なくとも待ち時間をもとに候補群からプロキ
シ・キャッシュを選択するセレクタを含むことは理解さ
れたい。識別子とセレクタは、ともに、適切なソフトウ
ェア・プログラムが実行される汎用コンピュータに実装
することができる。また、IC(Integrated Circuit)
やICの一部に実装することもできる。従って本発明
は、ハードウェア、ソフトウェア、またはその組み合わ
せに実装可能と理解されるべきものである。
の事項を開示する。
法であって、所与のURLに関連する情報をもとに該U
RLのプロキシ・キャッシュ候補群を識別するステップ
と、少なくとも待ち時間をもとに前記候補群からプロキ
シ・キャッシュを選択するステップと、を含む、方法。 (2)前記選択ステップは、少なくとも待ち時間と負荷
状態をもとに前記候補群からプロキシ・キャッシュを選
択するステップを含む、前記(1)記載の方法。 (3)前記識別ステップは、前記URLをアンカ・ハッ
シュ・パーティションにハッシュするステップと、付近
の1つ以上のパーティションを前記アンカ・ハッシュ・
パーティションに加えることによってハッシュ・パーテ
ィション候補群を形成するステップと、各パーティショ
ンをプロキシ・キャッシュにマップするステップと、を
含む、前記(1)記載の方法。 (4)前記識別ステップは、プロキシIDアレイへのハ
ッシュ・パーティションの間接マッピングを作成するス
テップと、前記URLをアンカ・ハッシュ・パーティシ
ョンにハッシュするステップと、対応するアンカ・プロ
キシ・キャッシュを見つけるステップと、前記プロキシ
IDアレイから付近の1つ以上のプロキシ・キャッシュ
を前記アンカ・プロキシ・キャッシュに加えることによ
ってプロキシ・キャッシュ候補群を形成するステップ
と、を含む、前記(1)記載の方法。 (5)前記選択ステップは、少なくとも最小応答時間を
もとに前記プロキシ候補群からプロキシ・キャッシュを
選択するステップを含む、前記(1)記載の方法。 (6)前記選択ステップは、割引応答時間が所定量だけ
良好な場合を除いて、少なくとも前記アンカ・プロキシ
・キャッシュを優先する結果になる該割引応答時間をも
とにして前記プロキシ候補群からプロキシ・キャッシュ
を選択するステップを含む、前記(1)記載の方法。 (7)前記選択ステップは、少なくともプロキシ・キャ
ッシュ・サーバが過負荷ではない状態をもとにして前記
プロキシ候補群からプロキシ・キャッシュを選択するス
テップを含む、前記(1)記載の方法。 (8)前記付近のパーティションは、ハッシュ値が前記
アンカ・パーティションより大きいパーティションを含
む、前記(3)記載の方法。 (9)前記付近のパーティションは、ハッシュ値が前記
アンカ・パーティションより小さいパーティションを含
む、前記(3)記載の方法。 (10)前記付近のパーティションは、ハッシュ値が前
記アンカ・パーティションより大きいパーティション及
び前記アンカ・パーティションより小さいパーティショ
ンの両方を含む、前記(3)記載の方法。 (11)前記マッピング・ステップは、各ハッシュ・パ
ーティションを1とPとの間の数にハッシュするステッ
プを含み、Pはプロキシ総数を表す、前記(3)記載の
方法。 (12)前記マッピング・ステップは、各プロキシにつ
いて、Nがハッシュ・パーティション総数、Pがプロキ
シ総数を表すとき、0と1との間のN/P個の乱数を生
成するステップと、生成されたN個の対応する乱数をソ
ートすることによってプロキシ・リストを生成するステ
ップと、ソートされた前記プロキシ・リストをもとに各
ハッシュ・パーティションを1つのプロキシに割当てる
ステップと、を含む、前記(3)記載の方法。 (13)プロキシIDアレイへのハッシュ・パーティシ
ョンの間接マッピングを作成する前記ステップは、共同
プロキシ・キャッシュを持つプロキシIDアレイを形成
するステップと、各ハッシュ・パーティションを前記プ
ロキシIDアレイのインデックスにマップするハッシュ
・パーティション・セグメントを作成するステップと、
前記ハッシュ・パーティション・セグメントを所定回数
複製するステップと、を含む、前記(4)記載の方法。 (14)プロキシ・キャッシュを選択するシステムであ
って、所与のURLに関連する情報をもとに該URLの
プロキシ・キャッシュ候補群を識別する識別子と、少な
くとも待ち時間をもとに前記候補群からプロキシ・キャ
ッシュを選択するセレクタと、を含む、システム。 (15)前記セレクタは、少なくとも待ち時間と負荷状
態をもとに前記候補群からプロキシ・キャッシュを選択
するようにされた、前記(14)記載のシステム。 (16)前記識別子は、前記URLをアンカ・ハッシュ
・パーティションにハッシュし、付近のパーティション
を前記アンカ・ハッシュ・パーティションに加えること
によってハッシュ・パーティション候補群を形成し、各
パーティションをプロキシ・キャッシュにマップする、
ようにされた、前記(14)記載のシステム。 (17)前記識別子は、プロキシIDアレイへのハッシ
ュ・パーティションの間接マッピングを作成し、前記U
RLをアンカ・ハッシュ・パーティションにハッシュ
し、対応するアンカ・プロキシ・キャッシュを見つけ、
前記プロキシIDアレイから付近のプロキシ・キャッシ
ュを前記アンカ・プロキシ・キャッシュに加えることに
よってプロキシ・キャッシュ候補群を形成するようにさ
れた、前記(14)記載のシステム。 (18)前記セレクタは、少なくとも最小応答時間をも
とに前記プロキシ候補群からプロキシ・キャッシュを選
択するようにされた、前記(14)記載のシステム。 (19)前記セレクタは、割引応答時間が所定量だけ良
好な場合を除いて、少なくとも前記アンカ・プロキシ・
キャッシュを優先する結果になる該割引応答時間をもと
にして前記プロキシ候補群からプロキシ・キャッシュを
選択するようにされた、前記(14)記載のシステム。 (20)前記セレクタは、少なくともプロキシ・キャッ
シュ・サーバが過負荷ではない状態をもとにして前記プ
ロキシ候補群からプロキシ・キャッシュを選択するよう
にされた、前記(14)記載のシステム。 (21)前記付近のパーティションは、ハッシュ値が前
記アンカ・パーティションより大きいパーティションを
含む、前記(16)記載のシステム。 (22)前記付近のパーティションは、ハッシュ値が前
記アンカ・パーティションより小さいパーティションを
含む、前記(16)記載のシステム。 (23)前記付近のパーティションは、ハッシュ値が前
記アンカ・パーティションより大きいパーティション及
び前記アンカ・パーティションより小さいパーティショ
ンの両方を含む、前記(16)記載のシステム。 (24)前記識別子は、各ハッシュ・パーティションを
1とPとの間の数にハッシュするようにされ、Pはプロ
キシ総数を表す、前記(16)記載のシステム。 (25)前記識別子は、マッピングにおいて、各プロキ
シについて、Nがハッシュ・パーティション総数、Pが
プロキシ総数を表すとき、0と1との間のN/P個の乱
数を生成し、生成されたN個の対応する乱数をソートす
ることによってプロキシ・リストを生成し、ソートされ
た前記プロキシ・リストをもとに各ハッシュ・パーティ
ションを1つのプロキシに割当てる、ようにされた、前
記(16)記載のシステム。 (26)前記識別子は、プロキシIDアレイへのハッシ
ュ・パーティションの間接マッピングを作成する際、共
同プロキシ・キャッシュを持つプロキシIDアレイを形
成し、前記プロキシIDアレイのインデックスに各ハッ
シュ・パーティションをマップするハッシュ・パーティ
ション・セグメントを作成し、前記ハッシュ・パーティ
ション・セグメントを所定回数複製する、ようにされ
た、前記(17)記載のシステム。 (27)マシンで読取り可能であり、プロキシ・キャッ
シュを選択する方法のステップを実行するために該マシ
ンにより実行可能な命令のプログラムを明確に具体化し
たプログラム・ストレージ・デバイスにおいて、該方法
のステップは、所与のURLに関連する情報をもとに該
URLのプロキシ・キャッシュ候補群を識別するステッ
プと、少なくとも待ち時間をもとに前記候補群からプロ
キシ・キャッシュを選択するステップと、を含む、スト
レージ・デバイス。
ク・システムを示す図である。
システムを示す図である。
ハッシングをサポートするDNSによる動作を示す図で
ある。
ある。
ことのできるプロキシへのハッシュ・パーティションの
間接マッピングを示すフローチャートである。
のプロキシ・キャッシュへのハッシュ・パーティション
のマッピングを示す図である。
ートである。
(図8に簡単に述べているように)判定するフローチャ
ートである。
Claims (27)
- 【請求項1】プロキシ・キャッシュを選択する方法であ
って、 所与のURLに関連する情報をもとに該URLのプロキ
シ・キャッシュ候補群を識別するステップと、 少なくとも待ち時間をもとに前記候補群からプロキシ・
キャッシュを選択するステップと、 を含む、方法。 - 【請求項2】前記選択ステップは、少なくとも待ち時間
と負荷状態をもとに前記候補群からプロキシ・キャッシ
ュを選択するステップを含む、請求項1記載の方法。 - 【請求項3】前記識別ステップは、 前記URLをアンカ・ハッシュ・パーティションにハッ
シュするステップと、 付近の1つ以上のパーティションを前記アンカ・ハッシ
ュ・パーティションに加えることによってハッシュ・パ
ーティション候補群を形成するステップと、 各パーティションをプロキシ・キャッシュにマップする
ステップと、 を含む、請求項1記載の方法。 - 【請求項4】前記識別ステップは、 プロキシIDアレイへのハッシュ・パーティションの間
接マッピングを作成するステップと、 前記URLをアンカ・ハッシュ・パーティションにハッ
シュするステップと、 対応するアンカ・プロキシ・キャッシュを見つけるステ
ップと、 前記プロキシIDアレイから付近の1つ以上のプロキシ
・キャッシュを前記アンカ・プロキシ・キャッシュに加
えることによってプロキシ・キャッシュ候補群を形成す
るステップと、 を含む、請求項1記載の方法。 - 【請求項5】前記選択ステップは、少なくとも最小応答
時間をもとに前記プロキシ候補群からプロキシ・キャッ
シュを選択するステップを含む、請求項1記載の方法。 - 【請求項6】前記選択ステップは、割引応答時間が所定
量だけ良好な場合を除いて、少なくとも前記アンカ・プ
ロキシ・キャッシュを優先する結果になる該割引応答時
間をもとにして前記プロキシ候補群からプロキシ・キャ
ッシュを選択するステップを含む、請求項1記載の方
法。 - 【請求項7】前記選択ステップは、少なくともプロキシ
・キャッシュ・サーバが過負荷ではない状態をもとにし
て前記プロキシ候補群からプロキシ・キャッシュを選択
するステップを含む、請求項1記載の方法。 - 【請求項8】前記付近のパーティションは、ハッシュ値
が前記アンカ・パーティションより大きいパーティショ
ンを含む、請求項3記載の方法。 - 【請求項9】前記付近のパーティションは、ハッシュ値
が前記アンカ・パーティションより小さいパーティショ
ンを含む、請求項3記載の方法。 - 【請求項10】前記付近のパーティションは、ハッシュ
値が前記アンカ・パーティションより大きいパーティシ
ョン及び前記アンカ・パーティションより小さいパーテ
ィションの両方を含む、請求項3記載の方法。 - 【請求項11】前記マッピング・ステップは、各ハッシ
ュ・パーティションを1とPとの間の数にハッシュする
ステップを含み、Pはプロキシ総数を表す、請求項3記
載の方法。 - 【請求項12】前記マッピング・ステップは、 各プロキシについて、Nがハッシュ・パーティション総
数、Pがプロキシ総数を表すとき、0と1との間のN/
P個の乱数を生成するステップと、 生成されたN個の対応する乱数をソートすることによっ
てプロキシ・リストを生成するステップと、 ソートされた前記プロキシ・リストをもとに各ハッシュ
・パーティションを1つのプロキシに割当てるステップ
と、 を含む、請求項3記載の方法。 - 【請求項13】プロキシIDアレイへのハッシュ・パー
ティションの間接マッピングを作成する前記ステップ
は、 共同プロキシ・キャッシュを持つプロキシIDアレイを
形成するステップと、 各ハッシュ・パーティションを前記プロキシIDアレイ
のインデックスにマップするハッシュ・パーティション
・セグメントを作成するステップと、 前記ハッシュ・パーティション・セグメントを所定回数
複製するステップと、 を含む、請求項4記載の方法。 - 【請求項14】プロキシ・キャッシュを選択するシステ
ムであって、 所与のURLに関連する情報をもとに該URLのプロキ
シ・キャッシュ候補群を識別する識別子と、 少なくとも待ち時間をもとに前記候補群からプロキシ・
キャッシュを選択するセレクタと、 を含む、システム。 - 【請求項15】前記セレクタは、少なくとも待ち時間と
負荷状態をもとに前記候補群からプロキシ・キャッシュ
を選択するようにされた、請求項14記載のシステム。 - 【請求項16】前記識別子は、 前記URLをアンカ・ハッシュ・パーティションにハッ
シュし、 付近のパーティションを前記アンカ・ハッシュ・パーテ
ィションに加えることによってハッシュ・パーティショ
ン候補群を形成し、 各パーティションをプロキシ・キャッシュにマップす
る、 ようにされた、請求項14記載のシステム。 - 【請求項17】前記識別子は、 プロキシIDアレイへのハッシュ・パーティションの間
接マッピングを作成し、 前記URLをアンカ・ハッシュ・パーティションにハッ
シュし、 対応するアンカ・プロキシ・キャッシュを見つけ、 前記プロキシIDアレイから付近のプロキシ・キャッシ
ュを前記アンカ・プロキシ・キャッシュに加えることに
よってプロキシ・キャッシュ候補群を形成するようにさ
れた、請求項14記載のシステム。 - 【請求項18】前記セレクタは、少なくとも最小応答時
間をもとに前記プロキシ候補群からプロキシ・キャッシ
ュを選択するようにされた、請求項14記載のシステ
ム。 - 【請求項19】前記セレクタは、割引応答時間が所定量
だけ良好な場合を除いて、少なくとも前記アンカ・プロ
キシ・キャッシュを優先する結果になる該割引応答時間
をもとにして前記プロキシ候補群からプロキシ・キャッ
シュを選択するようにされた、請求項14記載のシステ
ム。 - 【請求項20】前記セレクタは、少なくともプロキシ・
キャッシュ・サーバが過負荷ではない状態をもとにして
前記プロキシ候補群からプロキシ・キャッシュを選択す
るようにされた、請求項14記載のシステム。 - 【請求項21】前記付近のパーティションは、ハッシュ
値が前記アンカ・パーティションより大きいパーティシ
ョンを含む、請求項16記載のシステム。 - 【請求項22】前記付近のパーティションは、ハッシュ
値が前記アンカ・パーティションより小さいパーティシ
ョンを含む、請求項16記載のシステム。 - 【請求項23】前記付近のパーティションは、ハッシュ
値が前記アンカ・パーティションより大きいパーティシ
ョン及び前記アンカ・パーティションより小さいパーテ
ィションの両方を含む、請求項16記載のシステム。 - 【請求項24】前記識別子は、各ハッシュ・パーティシ
ョンを1とPとの間の数にハッシュするようにされ、P
はプロキシ総数を表す、請求項16記載のシステム。 - 【請求項25】前記識別子は、マッピングにおいて、 各プロキシについて、Nがハッシュ・パーティション総
数、Pがプロキシ総数を表すとき、0と1との間のN/
P個の乱数を生成し、 生成されたN個の対応する乱数をソートすることによっ
てプロキシ・リストを生成し、 ソートされた前記プロキシ・リストをもとに各ハッシュ
・パーティションを1つのプロキシに割当てる、 ようにされた、請求項16記載のシステム。 - 【請求項26】前記識別子は、プロキシIDアレイへの
ハッシュ・パーティションの間接マッピングを作成する
際、 共同プロキシ・キャッシュを持つプロキシIDアレイを
形成し、 前記プロキシIDアレイのインデックスに各ハッシュ・
パーティションをマップするハッシュ・パーティション
・セグメントを作成し、 前記ハッシュ・パーティション・セグメントを所定回数
複製する、 ようにされた、請求項17記載のシステム。 - 【請求項27】マシンで読取り可能であり、プロキシ・
キャッシュを選択する方法のステップを実行するために
該マシンにより実行可能な命令のプログラムを明確に具
体化したプログラム・ストレージ・デバイスにおいて、
該方法のステップは、 所与のURLに関連する情報をもとに該URLのプロキ
シ・キャッシュ候補群を識別するステップと、 少なくとも待ち時間をもとに前記候補群からプロキシ・
キャッシュを選択するステップと、 を含む、ストレージ・デバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/493,904 US6823377B1 (en) | 2000-01-28 | 2000-01-28 | Arrangements and methods for latency-sensitive hashing for collaborative web caching |
US09/493904 | 2000-01-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001273186A true JP2001273186A (ja) | 2001-10-05 |
JP3697162B2 JP3697162B2 (ja) | 2005-09-21 |
Family
ID=23962190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001015963A Expired - Fee Related JP3697162B2 (ja) | 2000-01-28 | 2001-01-24 | 共同Webキャッシングのための遅延対応ハッシングの方法及び構成 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6823377B1 (ja) |
JP (1) | JP3697162B2 (ja) |
AU (1) | AU782314B2 (ja) |
GB (1) | GB2365166B (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011039725A (ja) * | 2009-08-10 | 2011-02-24 | Hitachi Ltd | ゲートウェイシステム及び制御方法 |
JP2011510367A (ja) * | 2007-12-26 | 2011-03-31 | シマンテック コーポレーション | 分散リソース管理のためのバランスしたコンシステント・ハッシュ |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020055972A1 (en) * | 2000-05-08 | 2002-05-09 | Weinman Joseph Bernard | Dynamic content distribution and data continuity architecture |
US7225219B2 (en) * | 2000-11-29 | 2007-05-29 | Broadspider Networks, Inc. | Distributed caching architecture for computer networks |
US20030217147A1 (en) * | 2002-05-14 | 2003-11-20 | Maynard William P. | Directing a client computer to a least network latency server site |
US7284030B2 (en) * | 2002-09-16 | 2007-10-16 | Network Appliance, Inc. | Apparatus and method for processing data in a network |
US7552223B1 (en) | 2002-09-16 | 2009-06-23 | Netapp, Inc. | Apparatus and method for data consistency in a proxy cache |
US7171469B2 (en) * | 2002-09-16 | 2007-01-30 | Network Appliance, Inc. | Apparatus and method for storing data in a proxy cache in a network |
US7593530B2 (en) | 2002-12-11 | 2009-09-22 | Broadcom Corporation | Secure legacy media peripheral association with authentication in a media exchange network |
US7124249B1 (en) * | 2003-06-26 | 2006-10-17 | Emc Corporation | Method and apparatus for implementing a software cache |
US20050131893A1 (en) * | 2003-12-15 | 2005-06-16 | Sap Aktiengesellschaft | Database early parallelism method and system |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
EP1738258A4 (en) | 2004-03-13 | 2009-10-28 | Cluster Resources Inc | SYSTEM AND METHOD IMPLEMENTING OBJECT TRIGGERS |
US8583657B2 (en) * | 2004-05-06 | 2013-11-12 | Oracle International Corporation | Method and apparatus for using a hash-partitioned index to access a table that is not partitioned or partitioned independently of the hash partitioned index |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
CA2827035A1 (en) | 2004-11-08 | 2006-05-18 | Adaptive Computing Enterprises, Inc. | System and method of providing system jobs within a compute environment |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US9075657B2 (en) | 2005-04-07 | 2015-07-07 | Adaptive Computing Enterprises, Inc. | On-demand access to compute resources |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
US20070168405A1 (en) * | 2006-01-17 | 2007-07-19 | Ori Pomerantz | Self-optimizing network attached storage for multiple geographic locations |
GB2440759A (en) | 2006-08-11 | 2008-02-13 | Cachelogic Ltd | Selecting a download cache for digital data |
GB2440760A (en) * | 2006-08-11 | 2008-02-13 | Cachelogic Ltd | Network and method of transferring data over the network by nodes sending messages containing a subset of list of data available at the node |
GB2440774B (en) * | 2006-08-11 | 2011-07-27 | Cachelogic Ltd | Content Delivery System For Digital Object |
GB2440761A (en) | 2006-08-11 | 2008-02-13 | Cachelogic Ltd | Using a proxy server as a cache in a peer to peer network to speed up the multicast distribution of large files. |
US7774470B1 (en) * | 2007-03-28 | 2010-08-10 | Symantec Corporation | Load balancing using a distributed hash |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US20090144404A1 (en) * | 2007-12-04 | 2009-06-04 | Microsoft Corporation | Load management in a distributed system |
US20090150536A1 (en) * | 2007-12-05 | 2009-06-11 | Microsoft Corporation | Application layer congestion control |
US8943271B2 (en) | 2008-06-12 | 2015-01-27 | Microsoft Corporation | Distributed cache arrangement |
US8484162B2 (en) | 2008-06-24 | 2013-07-09 | Commvault Systems, Inc. | De-duplication systems and methods for application-specific data |
US10430338B2 (en) * | 2008-09-19 | 2019-10-01 | Oracle International Corporation | Selectively reading data from cache and primary storage based on whether cache is overloaded |
US8930306B1 (en) | 2009-07-08 | 2015-01-06 | Commvault Systems, Inc. | Synchronized data deduplication |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US8578109B2 (en) | 2010-09-30 | 2013-11-05 | Commvault Systems, Inc. | Systems and methods for retaining and using data block signatures in data protection operations |
US8577851B2 (en) | 2010-09-30 | 2013-11-05 | Commvault Systems, Inc. | Content aligned block-based deduplication |
US9116850B2 (en) | 2010-12-14 | 2015-08-25 | Commvault Systems, Inc. | Client-side repository in a networked deduplicated storage system |
US9020900B2 (en) | 2010-12-14 | 2015-04-28 | Commvault Systems, Inc. | Distributed deduplicated storage system |
US10592416B2 (en) | 2011-09-30 | 2020-03-17 | Oracle International Corporation | Write-back storage cache based on fast persistent memory |
US9251186B2 (en) | 2012-06-13 | 2016-02-02 | Commvault Systems, Inc. | Backup using a client-side signature repository in a networked storage system |
KR101983034B1 (ko) * | 2012-09-05 | 2019-09-03 | 삼성전자주식회사 | 인터넷을 통한 핸드오버 지원 방법 및 장치 |
US9633033B2 (en) | 2013-01-11 | 2017-04-25 | Commvault Systems, Inc. | High availability distributed deduplicated storage system |
WO2015115952A1 (en) * | 2014-01-31 | 2015-08-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for obtaining content from a media server |
US9633056B2 (en) | 2014-03-17 | 2017-04-25 | Commvault Systems, Inc. | Maintaining a deduplication database |
US10380072B2 (en) | 2014-03-17 | 2019-08-13 | Commvault Systems, Inc. | Managing deletions from a deduplication database |
GB2526818B (en) | 2014-06-03 | 2021-01-13 | Arm Ip Ltd | Methods of accessing and providing access to a remote resource from a data processing device |
US9852026B2 (en) | 2014-08-06 | 2017-12-26 | Commvault Systems, Inc. | Efficient application recovery in an information management system based on a pseudo-storage-device driver |
US11249858B2 (en) | 2014-08-06 | 2022-02-15 | Commvault Systems, Inc. | Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host |
US9575673B2 (en) | 2014-10-29 | 2017-02-21 | Commvault Systems, Inc. | Accessing a file system using tiered deduplication |
US10339106B2 (en) | 2015-04-09 | 2019-07-02 | Commvault Systems, Inc. | Highly reusable deduplication database after disaster recovery |
US20160350391A1 (en) | 2015-05-26 | 2016-12-01 | Commvault Systems, Inc. | Replication using deduplicated secondary copy data |
US9766825B2 (en) | 2015-07-22 | 2017-09-19 | Commvault Systems, Inc. | Browse and restore for block-level backups |
US10592357B2 (en) | 2015-12-30 | 2020-03-17 | Commvault Systems, Inc. | Distributed file system in a distributed deduplication data storage system |
US10296368B2 (en) | 2016-03-09 | 2019-05-21 | Commvault Systems, Inc. | Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount) |
US10846024B2 (en) | 2016-05-16 | 2020-11-24 | Commvault Systems, Inc. | Global de-duplication of virtual disks in a storage platform |
US10795577B2 (en) | 2016-05-16 | 2020-10-06 | Commvault Systems, Inc. | De-duplication of client-side data cache for virtual disks |
US10375154B2 (en) * | 2016-07-29 | 2019-08-06 | Microsoft Technology Licensing, Llc | Interchangeable retrieval of content |
US10693947B2 (en) | 2016-09-09 | 2020-06-23 | Microsoft Technology Licensing, Llc | Interchangeable retrieval of sensitive content via private content distribution networks |
US10331573B2 (en) | 2016-11-04 | 2019-06-25 | Oracle International Corporation | Detection of avoidable cache thrashing for OLTP and DW workloads |
US10740193B2 (en) | 2017-02-27 | 2020-08-11 | Commvault Systems, Inc. | Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount |
US10664352B2 (en) | 2017-06-14 | 2020-05-26 | Commvault Systems, Inc. | Live browsing of backed up data residing on cloned disks |
US10721719B2 (en) * | 2017-06-20 | 2020-07-21 | Citrix Systems, Inc. | Optimizing caching of data in a network of nodes using a data mapping table by storing data requested at a cache location internal to a server node and updating the mapping table at a shared cache external to the server node |
US10791168B1 (en) | 2018-05-21 | 2020-09-29 | Rafay Systems, Inc. | Traffic aware network workload management system |
US11010258B2 (en) | 2018-11-27 | 2021-05-18 | Commvault Systems, Inc. | Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication |
US11698727B2 (en) | 2018-12-14 | 2023-07-11 | Commvault Systems, Inc. | Performing secondary copy operations based on deduplication performance |
US20200327017A1 (en) | 2019-04-10 | 2020-10-15 | Commvault Systems, Inc. | Restore using deduplicated secondary copy data |
US11463264B2 (en) | 2019-05-08 | 2022-10-04 | Commvault Systems, Inc. | Use of data block signatures for monitoring in an information management system |
US11442896B2 (en) | 2019-12-04 | 2022-09-13 | Commvault Systems, Inc. | Systems and methods for optimizing restoration of deduplicated data stored in cloud-based storage resources |
US11687424B2 (en) | 2020-05-28 | 2023-06-27 | Commvault Systems, Inc. | Automated media agent state management |
US11936757B1 (en) | 2022-04-29 | 2024-03-19 | Rafay Systems, Inc. | Pull-based on-demand application deployment to edge node |
US12003600B2 (en) * | 2022-06-21 | 2024-06-04 | Oxylabs, Uab | Network coordination between proxy servers |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10222449A (ja) * | 1997-01-31 | 1998-08-21 | Nec Corp | データサーバアクセス方法及びlan |
WO1998053410A2 (en) * | 1997-05-22 | 1998-11-26 | Trustees Of Boston University | A method and system for distributed caching, prefetching and replication |
JPH11224219A (ja) * | 1998-02-05 | 1999-08-17 | Nippon Telegr & Teleph Corp <Ntt> | 分散キャッシュ制御方法及び分散制御装置及び分散キャッシュシステム及び分散キャッシュ制御プログラムを格納した記憶媒体 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5935207A (en) * | 1996-06-03 | 1999-08-10 | Webtv Networks, Inc. | Method and apparatus for providing remote site administrators with user hits on mirrored web sites |
US5873117A (en) * | 1996-07-01 | 1999-02-16 | Sun Microsystems, Inc. | Method and apparatus for a directory-less memory access protocol in a distributed shared memory computer system |
US6185601B1 (en) * | 1996-08-02 | 2001-02-06 | Hewlett-Packard Company | Dynamic load balancing of a network of client and server computers |
US6026474A (en) * | 1996-11-22 | 2000-02-15 | Mangosoft Corporation | Shared client-side web caching using globally addressable memory |
US5933849A (en) * | 1997-04-10 | 1999-08-03 | At&T Corp | Scalable distributed caching system and method |
US6070191A (en) * | 1997-10-17 | 2000-05-30 | Lucent Technologies Inc. | Data distribution techniques for load-balanced fault-tolerant web access |
WO1999023571A1 (en) * | 1997-11-03 | 1999-05-14 | Inca Technology, Inc. | Automatically configuring network-name-services |
US6205481B1 (en) * | 1998-03-17 | 2001-03-20 | Infolibria, Inc. | Protocol for distributing fresh content among networked cache servers |
US6377991B1 (en) * | 1998-05-29 | 2002-04-23 | Microsoft Corporation | Method, computer program product, and system for migrating URLs within a dynamically changing distributed cache of URLs |
US6330561B1 (en) * | 1998-06-26 | 2001-12-11 | At&T Corp. | Method and apparatus for improving end to end performance of a data network |
US6338117B1 (en) * | 1998-08-28 | 2002-01-08 | International Business Machines Corporation | System and method for coordinated hierarchical caching and cache replacement |
US6286084B1 (en) * | 1998-09-16 | 2001-09-04 | Cisco Technology, Inc. | Methods and apparatus for populating a network cache |
US6438652B1 (en) | 1998-10-09 | 2002-08-20 | International Business Machines Corporation | Load balancing cooperating cache servers by shifting forwarded request |
US6330605B1 (en) * | 1998-11-19 | 2001-12-11 | Volera, Inc. | Proxy cache cluster |
US6701415B1 (en) | 1999-03-31 | 2004-03-02 | America Online, Inc. | Selecting a cache for a request for information |
US6502175B1 (en) * | 1999-03-31 | 2002-12-31 | Lucent Technologies Inc. | Method and apparatus for locating caches in a network to optimize performance |
US6408362B1 (en) * | 1999-06-24 | 2002-06-18 | International Business Machines Corporation | Data processing system, cache, and method that select a castout victim in response to the latencies of memory copies of cached data |
US6532492B1 (en) * | 1999-09-15 | 2003-03-11 | International Business Machines Corporation | Methods, systems and computer program products for cache management using admittance control |
US6405252B1 (en) * | 1999-11-22 | 2002-06-11 | Speedera Networks, Inc. | Integrated point of presence server network |
-
2000
- 2000-01-28 US US09/493,904 patent/US6823377B1/en not_active Expired - Fee Related
- 2000-12-06 GB GB0029651A patent/GB2365166B/en not_active Expired - Fee Related
- 2000-12-11 AU AU72173/00A patent/AU782314B2/en not_active Ceased
-
2001
- 2001-01-24 JP JP2001015963A patent/JP3697162B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10222449A (ja) * | 1997-01-31 | 1998-08-21 | Nec Corp | データサーバアクセス方法及びlan |
WO1998053410A2 (en) * | 1997-05-22 | 1998-11-26 | Trustees Of Boston University | A method and system for distributed caching, prefetching and replication |
JP2001526814A (ja) * | 1997-05-22 | 2001-12-18 | トラスティーズ・オブ・ボストン・ユニバーシティ | 分散型キャッシュ、プリフェッチ、複写の方法およびそのシステム |
JPH11224219A (ja) * | 1998-02-05 | 1999-08-17 | Nippon Telegr & Teleph Corp <Ntt> | 分散キャッシュ制御方法及び分散制御装置及び分散キャッシュシステム及び分散キャッシュ制御プログラムを格納した記憶媒体 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011510367A (ja) * | 2007-12-26 | 2011-03-31 | シマンテック コーポレーション | 分散リソース管理のためのバランスしたコンシステント・ハッシュ |
JP2011039725A (ja) * | 2009-08-10 | 2011-02-24 | Hitachi Ltd | ゲートウェイシステム及び制御方法 |
US8510372B2 (en) | 2009-08-10 | 2013-08-13 | Hitachi, Ltd. | Gateway system and control method |
Also Published As
Publication number | Publication date |
---|---|
GB0029651D0 (en) | 2001-01-17 |
JP3697162B2 (ja) | 2005-09-21 |
GB2365166A (en) | 2002-02-13 |
GB2365166B (en) | 2004-08-18 |
AU7217300A (en) | 2001-08-02 |
AU782314B2 (en) | 2005-07-21 |
US6823377B1 (en) | 2004-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3697162B2 (ja) | 共同Webキャッシングのための遅延対応ハッシングの方法及び構成 | |
US6078943A (en) | Method and apparatus for dynamic interval-based load balancing | |
Ross | Hash routing for collections of shared web caches | |
US7565450B2 (en) | System and method for using a mapping between client addresses and addresses of caches to support content delivery | |
US6119143A (en) | Computer system and method for load balancing with selective control | |
US7321926B1 (en) | Method of and system for allocating resources to resource requests | |
US7584262B1 (en) | Method of and system for allocating resources to resource requests based on application of persistence policies | |
US7908337B2 (en) | System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content | |
US7343422B2 (en) | System and method for using uniform resource locators to map application layer content names to network layer anycast addresses | |
US7577754B2 (en) | System and method for controlling access to content carried in a caching architecture | |
US6122666A (en) | Method for collaborative transformation and caching of web objects in a proxy network | |
Baker et al. | Distributed cooperative Web servers | |
WO2008103530A1 (en) | Prallel retrieval system | |
KR19980087398A (ko) | 인터넷에서의 동적 경로배정 방법 및 장치 | |
Loukopoulos et al. | An overview of data replication on the Internet | |
Zhu et al. | Adaptive load sharing for clustered digital library servers | |
US20030225859A1 (en) | Request mapping for load balancing | |
EP1277327B1 (en) | System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content | |
JP2000112908A (ja) | 負荷分散dnsシステム | |
Asaka et al. | Distributed web caching using hash-based query caching method | |
Jung et al. | Forecasting Load Balancing Method by Prediction Hot Spots in the Shared Web Caching System | |
Ciciani et al. | Analysis of design alternatives for reverse proxy cache providers | |
Narlikar et al. | TaBLA: a client-based scheduling algorithm for Web proxy clusters | |
Mahmood | Object grouping and replication algorithms for word wide web | |
Bhinder et al. | Evaluation of request distribution schemes for Web-server clusters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040603 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040830 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040902 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041202 |
|
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: 20050622 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050701 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080708 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090708 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100708 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110708 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110708 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120708 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130708 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |