JP2000187609A - 要求されたオブジェクトを検索する方法及び記録デバイス - Google Patents

要求されたオブジェクトを検索する方法及び記録デバイス

Info

Publication number
JP2000187609A
JP2000187609A JP11329567A JP32956799A JP2000187609A JP 2000187609 A JP2000187609 A JP 2000187609A JP 11329567 A JP11329567 A JP 11329567A JP 32956799 A JP32956799 A JP 32956799A JP 2000187609 A JP2000187609 A JP 2000187609A
Authority
JP
Japan
Prior art keywords
cache
node
nodes
requested object
request
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
JP11329567A
Other languages
English (en)
Other versions
JP3595470B2 (ja
Inventor
Daniel Manuel Dias
ダニエル・マニュエル・ディアス
Arun Kwangil Iyengar
アラン・クワンジル・イエンジャー
Eric Levy-Abegnoli
エリック・ルビイ−アベグノリ
Junehwa Song
ジュンファ・ソン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2000187609A publication Critical patent/JP2000187609A/ja
Application granted granted Critical
Publication of JP3595470B2 publication Critical patent/JP3595470B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/564Enhancement of application control based on intercepted application data
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1019Random or heuristic server selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 キャッシュを用いてオブジェクトの検索を容
易にすること。 【解決手段】ネットワーク・ディスパッチャーはキャッ
シュ・アレイのキャッシュ・ノードに要求を送ることが
できる。選択されたキャッシュ・ノードは、要求に対す
るサービスを協力して行うために、要求へのサービス、
キャッシュ・アレイの他のキャッシュ・ノードに対する
要求のハンドオフ、又はキャッシュ・アレイの他のキャ
ッシュ・ノードとともに種々のプロトコルのうちの一つ
を介しての通信のいずれかを行うことができる。特定の
モードで動作しているネットワーク・ディスパッチャー
は、内容基準ルータとしても機能する。従って、システ
ムの性能をさらに改善するためにネットワーク・ディス
パッチャーが内容基準又は内容非基準の含みあわせを使
用して要求を経路付けすることも可能である。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明はキャッシュ・システ
ムに係り、特に、本発明はコンピューターネットワーク
内で拡張が容易で高い利用価値があるキャッシュに関す
る。さらに本発明は、特にワールド・ワイド・ウェブ
(WWW)のようなクライアント/サーバ環境で使用さ
れるキャッシュ・アレイに関する。
【0002】
【従来の技術】キャッシュは、コンピュータ・システム
における性能を改善するのに用いられる。一旦、オブジ
ェクトがキャッシュに格納されると、引き続いてキャッ
シュに入れられたオブジェクトの要求がキャッシュによ
って満足される場合がある。キャッシュからのオブジェ
クトの要求を満足させることは、遠隔地からオブジェク
トを再生したり検索することよりもオーバーヘッドが少
なくなりうる。ウェブ・サービスの成長する要求に関し
ての低い性能は、ウェブサーバーを非効率的にし利用し
にくいものとする。
【0003】
【発明が解決しようとする課題】キャッシュへの入力
は、ウェブ又はプロキシサーバに対してより大きくなっ
ている処理量の要求に対して方法を提供するものであ
る。ワールド・ワイド・ウェブ上のクライアント及びサ
ーバのシステムは、例えば、性能を改善するためにキャ
ッシュへの入力を用いることができる。いくつかの例で
は、キャッシュの利益がないとウェブ・サーバのアプリ
ケーションは遅く非効率的に機能するかもしれない。キ
ャッシング技術の利益なしには、ウェブ・サーバーはシ
ステムの障害になるかもしれない。ウェブサーバ上で動
く基本的なオペレーティングシステムは、例えば、ウェ
ブ・サーバの処理量を妨げる能力上の問題を有するかも
しれない。ウェブ・サーバの能力を改善する一つの技術
は、頻繁に要求されたデータを記憶することである。キ
ャッシュからのデータを検索することは、ウェブ・サー
バからのデータを検索するよりもオーバーヘッドが少な
くて済むであろう。
【0004】
【課題を解決するための手段】オブジェクトに対する要
求が複数のノードを含むシステム内の一以上のクライア
ントから受け取られる。要求のうちの一つはクライアン
トの一つから送られる。要求は前記複数のノードの2番
目のノードによって前記複数のノードの第一のノードか
ら受け取られる。要求されたオブジェクトは、複数のプ
ロトコルのうちの一つを用いて複数のノードの第二のノ
ードから送り返される。拡大縮小ができ高い利用性のあ
るキャッシュ・アレイを応用することができる。キャッ
シュ・アレイは、性能と、インターネットのようなネッ
トワークに接続されたウェブ・サーバの処理量を拡張す
る。ネットワーク・ディスパッチャーはキャッシュ・ア
レイのキャッシュ・ノードに要求を送ることができる。
ネットワーク・ディスパッチャーによって選択されたキ
ャッシュ・ノードは、要求に対するサービスを協力して
行うために、要求へのサービス、キャッシュ・アレイの
他のキャッシュ・ノードに対する要求のハンドオフ、又
はキャッシュ・アレイの他のキャッシュ・ノードととも
に種々のプロトコルのうちの一つを介しての通信のいず
れかを行うことができる。特定のモードで動作している
ネットワーク・ディスパッチャーは、内容基準ルータと
しても機能する。従って、システムの性能をさらに改善
するためにネットワーク・ディスパッチャーが内容基準
又は内容非基準の含みあわせを使用して要求を経路付け
することも可能である。
【0005】
【発明の実施の形態】用語の解説 辞書の意味はここで用いられる言葉遣いよる意味をも含
む一方、以下の定義もまた助けとなり得る。
【0006】クライアント クライアントとは、典型的には、命令や要求に関連づけ
られたタスクを実行する一以上のサーバに対して、その
命令や要求を発行するクライアント・コンピュータをい
う。
【0007】サーバ サーバとは、一以上のクライアント・コンピュータの要
求や命令でタスクを実行するコンピュータをいう。
【0008】ワールド・ワイド・ウェブ(ウェブ) ワールド・ワイド・ウェブとは、サーバからサーバへハ
イパーリンクを提供することにより文書をリンクさせる
インターネット・サービスをいう。ユーザは、強調され
た単語や興味あるフレーズ上をクリックすることにより
文書から文書まで「ジャンプ」したり(ハイパーテキス
ト・リンク)、アプレットや画像マップのようなグラフ
ィクス上をクリックしたり、フォームを埋めたり、さら
にはURLに入ることができる。文書がインターネット
上のどこに格納されていようとも、ユーザは文書から文
書まで「ジャンプ」することができる。インターネット
・ウェブ・サーバは、クライアントを支援して情報を提
供する。ユーザはウェブ・クライアント・プログラムを
用いて 「ウェブをブラウズ」する。ウェブはコンピュ
ータの間で情報を転送するためのHTTPプロトコルを
用いるURLによってアドレスされた資源を伴うインタ
ーネットと考えられている。(他のフォーマットの中に
ある)HTMLはURLに相当する情報を表示したり、
ポインタを移動させてクリックするだけで操作できるイ
ンターフェースを他のURLに提供するのに用いられ
る。
【0009】ユニバーサル・リソース・ロケータ(UR
L) URLとは、インターネット上の資源のためのアドレス
をいう。URLは、インターネットの資源を位置づける
ためにウェブブラウザによって用いられる。URLはプ
ロトコルをリソース(例えば、http、すなわち、ワ
ールド・ワイド・ウェブのページ又はftp用、FTP
サイト用)、リソースが存在するサーバの名称(例え
ば、//www.whitehouse.gov)、そして任意的に、リソー
スへの経路(例えば、HTML文書又はサーバ上のファ
イル)へのアクセスにて用いられるように指定される。
【0010】ハイパーテキスト・マークアップ・ランゲ
ージ(HTML) マークアップ・ランゲージとは、ワールド・ワイド・ウ
ェブ上の文書のために用いられる言語をいう。HTML
は、ウェブ・ブラウザがいかにしてユーザに対しこれら
のエレメントを表示すべきか、及び、いかにしてキー押
し操作やマウスクリックの手段によってリンクの活動の
ようなユーザ・アクションに応答すべきか問うことを指
示するための文書の中の、テキスト又はグラフィクスの
ような、エレメントをマークするタグを用いるSGML
(スタンダード・ジェネラライズド・マークアップ・ラ
ンゲージ)のアプリケーションである。HTMLは、ウ
ェブ・サーバの内容を装置に関わらずに描写するもので
ある。ウェブ・サーバは、クライアントが適切な表現を
確実に選択できるため、(ハイパーリンクを含む)内容
をHTMLでクライアントに配布する。
【0011】ハイパーテキスト・トランスファー・プロ
トコル(HTTP) ハイパーテキスト・トランスファー・プロトコルとは、
ワールド・ワイド・ウェブ上の情報にアクセスするのに
用いられるクライアント/サーバプロトコルである。言
い換えれば、クライアントからサーバへのすべての要求
が独立に取り扱われる。クライアントはサーバに要求を
送り、サーバはこのプロトコルを用いて応答する。
【0012】ユーザ・データグラム・プロトコル(UD
P) ISO/OSIモデル内でのトランスポート層に相当す
るTCP/IPでの接続なしのプロトコルである。UD
Pは、アプリケーションによって発生されたデータ・メ
ッセージをIP経由で送られるべきパケットに変換する
が、メッセージが正しく配布されたかを確かめないこと
がある。従って、UDPはTCPより能率的である場合
があり、よって、SNMP(シンプル・ネットワーク・
マネージメント・プロトコル)を含む種々の目的に用い
られ得る。その利用性はメッセージを発するアプリケー
ションに依存する。
【0013】ルーター メッセージの配布を処理する通信ネットワーク上で媒介
するデバイスである。可能な接続が編み目を介して多数
のコンピュータを接続している単一のネットワーク上で
は、ルータは、送信されたメッセージを受け取り、最も
能率的に利用可能な経路を通ってそれらの正しい宛名に
メッセージを転送する。同じ通信プロトコルを用いる相
互に接続されたローカル・エリア・ネットワーク(LA
N)のセット上では、ルーターは、メッセージをあると
ころから他のところまで送信されるようにして、LAN
の間でのリンクとして動作するという、若干の異なる機
能をサービスする。
【0014】ウェブ・ブラウザ ワールド・ワイド・ウェブ、他のネットワーク又はユー
ザのコンピュータ上のHTML(又は他の)文書をユー
ザに見ることができるようにするクライアントのアプリ
ケーションである。
【0015】トランスミッション・コントロール・プロ
トコル(TCP) IP経由で送るべきパケット内へのデータメッセージの
分解と、IPによって受け取られたパケットから完全な
メッセージの再結合及び検証を制御するTCP/IPで
のプロトコルである。
【0016】インターネット・プロトコル パケット内へのデータメッセージの分解、送り手から宛
先のネットワーク及び端末へのパケットの経路付け、宛
先で原データメッセージへのパケットの再結合を制御す
るTCP/IPでのプロトコルである。IPはISO/
OSIモデルでのネットワーク層に相当する。
【0017】TCP/IP 米国国防総省によって開発されたコンピュータ間の通信
のためのプロトコルである。UNIXシステム内に構築
され、インターネットを含むネットワーク上のデータ転
送のデファクトスタンダードになっている。
【0018】プロキシ・サーバ ローカル・エリア・ネットワーク(LAN)から又はロ
ーカル・エリア・ネットワーク(LAN)へのインター
ネット・トラフィックを制御する装置であり、他の機能
を提供することもできる。例えば文書キャッシング及び
アクセス制御である。プロキシ・サーバは、人気のある
ウェブ・ページのように、頻繁に要求されたデータを供
給することによって性能を改善することができ、所有者
のファイルへの権限のないアクセス要求のような所有者
が適切でないと考える要求をフィルタにかけたり削除し
たりすることができる。
【0019】キャッシュ クイック・アクセスのために頻繁に使用されるデータ値
が複製される特別なメモリ・サブ・システムである。
【0020】オブジェクト オブジェクトとは、キャッシュ、サーバ又はクライアン
トに格納され得るデータをいう。
【0021】図1は、代表的なコンピュータ・ネットワ
ーク・システムであり、クライアント110,120及
び130、ネットワーク150、ネットワーク・ディス
パッチャー160、キャッシュ・アレイ170並びにサ
ーバ・クラスタ180を含む。サーバ・クラスタ180
は、サーバ182、184、186及び188を含む。
クライアント・コンピュータ110、120及び130
は、例えばウェブ・ページのようなオブジェクトの要求
を発する。
【0022】図2は、本発明の代表的な実施例に従って
要求されたオブジェクトを検索する方法を示すフローチ
ャートである。ステップ190にて、例えばクライアン
ト110が、サーバ、例えばサーバ182に格納されて
いる(又は発生される、又は取り出される)であろうオ
ブジェクトを要求する。ステップ192にて、オブジェ
クトの要求はネットワーク、例えばネットワーク150
経由でネットワーク・ディスパッチャー、例えばネット
ワークディス・パッチャー160によって受け取られ
る。ステップ194にて、ネットワーク・ディスパッチ
ャー160はオブジェクトの要求を一つのキャッシュ・
ノード、例えばキャッシュ・ノード172に経路指定す
る。ステップ196にて、ステップ194でネットワー
ク・ディスパッチャー160からのオブジェクトの要求
を受け取るキャッシュ・ノード172がオブジェクトの
最初の所有者であるかどうかの決定がなされる。ステッ
プ194でネットワーク・ディスパッチャー160から
オブジェクトの要求を受け取るキャッシュ・ノード17
2が、最初の所有者である場合には、キャッシュ・ノー
ド172がステップ197でクライアントの要求をサー
ビスすることができる。他に、ステップ198では、キ
ャッシュ・ノード172及びクライアントの最初の所有
者が、要求をサービスすること及び要求されたオブジェ
クトを検索することのいずれかのためにプロキシとして
機能するかもしれず、又は、キャッシュ・ノード172
が当初の所有者への要求をハンドオフするかもしれな
い。ステップ197及びステップ198にて、最初の所
有者は要求されたオブジェクトをキャッシュ・メモリか
ら又はサーバ182と通信することのいずれかにより検
索する。1以上のキャッシュ・ノードがオブジェクトの
最初の所有者であり得るように本発明を改変することは
可能である。
【0023】クライアント110、120及び130は
ワークステーション、パーソナルコンピュータ又はネッ
トワークと接続された他のコンピュータでもよい。例え
ば、家庭でパーソナル・コンピュータを使用するユーザ
は、ウェブ・ブラウザを使用して対応するURLを入力
することによってウェブ・ページを検索して見ることを
を要求するかもしれない。要求されたウェブ・ページ
は、URLによってアドレスされ、インターネット上の
ウェブサービスを通ってアクセス可能なサーバに属し得
る。
【0024】キャッシュ・アレイ170は、1以上のネ
ットワーク・ノードであってもよい。キャッシュ・アレ
イ170内に含まれるそれぞれのノードは、1以上のプ
ロセッサであってもよい。キャッシュ・アレイ170の
それぞれのノードの各プロセッサは、単一のキャッシュ
スペース及び単一のキャッシュ・イメージを形作ること
ができる1以上のキャッシュ・メンバー(キャッシュ・
ノード)のセットを含む。言い換えれば、クライアント
は、単一のイメージとしてクライアントはキャッシュ・
アレイを見ることができる。例えば、クライアントはネ
ットワーク・ディスパッチャー160と関連づけられた
アドレスを介してキャッシュ・アレイ170にアクセス
することができる。しかし、キャッシュ・アレイ170
のそれぞれのノードは、独立のIPアドレスを有し得
る。内部では、キャッシュ・アレイは個々のキャッシュ
・メンバーの資源を組み合わせることができる。例え
ば、キャッシュ・メンバーのキャッシュ・スペースは、
キャッシュへの入力に利用できるメモリのスペースを拡
大縮小するために組み合わせることができる。更に、キ
ャッシュメンバーの個々の処理量は、利用可能な処理量
の拡大縮小のために組み合わされることもできる。キャ
ッシュ・メンバー172、174、176及び178
は、それぞれ、キャッシュ・アレイ170の内部で、別
個のアドレス(例えばIPアドレス)によって、アドレ
スで呼び出せる。キャッシュ・ノード(メンバー)17
2、174、176及び178は例えばルーターによっ
て実現される。例えばIBMの22XXファミリーのよ
うなルーターを用いることができる。
【0025】ネットワーク・ディスパッチャー160は
例えばTCPルータで実現されることができる。ネット
ワーク・ディスパッチャー160は、例えばクライアン
ト110のようなクライアントから要求を受け取り、ネ
ットワーク・ディスパッチャーは、要求に際し「見るこ
と(looking)」なしにキャッシュ・アレイ170のキ
ャッシュ・ノードへの要求を経路づけることができる。
ネットワーク・ディスパッチャー160は、例えばキャ
ッシュ・アレイ170に対するウェブ・ページ(又は他
のオブジェクト)を求めるクライアントの要求を経路づ
けるのに用いられるルーター・ノードのサービスである
かもしれない。ネットワーク・ディスパッチャー160
は、キャッシュ・アレイ170のキャッシュ・ノード1
72、174、176及び178についての情報をロー
ドするばかりでなく利用性を得ることができる。ネット
ワーク・ディスパッチャー160は、キャッシュ・ノー
ドやロード情報の利用性に基づいて、経路付け及び選択
されたキャッシュ・ノードに対するオブジェクト要求の
送信をすることもできる。(例えば、G.Hunt等に
よる「ネットワーク・ディスパッチャー:スケーラブル
インターネットサービスのための接続ルータ」国際ワー
ルド・ワイド・ウェブ・カンファレンス第7号会報、1
998年4月)
【0026】キャッシュ・ノードと要求されたオブジェ
クトとの間で対応がなされる。要求されたオブジェクト
は、他のキャッシュ・ノードに対してだけでなく要求さ
れたオブジェクトの最初の所有者であるキャッシュ・ノ
ードと対応し得る。URLによって表現されている、例
えば、インターネット・アドレスがウェブ・キャッシュ
・ノードの中で区切られるかもしれない。それぞれUR
Lにとっては、一つのウェブ・キャッシュ・ノードが最
初の所有者として割り振られるかもしれない。最初の所
有者に加えて、一以上のウェブ・キャッシュ・ノードが
一つのURLと通信してもよい。URLは例えば、ハッ
シュ機能(関数)を用いてウェブ・キャッシュ・ノード
の中で分割されているかもしれない。言い換えれば、ハ
ッシュ機能は、キャッシュ・ノードと要求されたオブジ
ェクトとの間の対応がなされるために用いられることが
できる。
【0027】クライアント110、120又は130が
オブジェクト(すなわち、目標とするオブジェクト)を
検索するための要求を発する場合、要求は、キャッシュ
・アレイ170の第一のキャッシュへと、ネットワーク
・ディスパッチャー160によって経路付けされ送信さ
れる。ネットワーク・ディスパッチャー160によって
選択された第一のキャッシュは、要求されたオブジェク
トに対応するかしないかである。言い換えれば要求され
たオブジェクトは第一のキャッシュに割り振られるか割
り振られないかである。ネットワーク・ディスパッチャ
ー160によって選択された第一のキャッシュが要求さ
れたオブジェクト(すなわち、要求されたオブジェクト
の最初の所有者である。)に対応する場合及び要求され
たオブジェクトが第一のキャッシュに格納される場合、
第一のキャッシュは要求をサービスすることができる。
ネットワーク・ディスパッチャー160によって選択さ
れた第一のキャッシュが要求されたオブジェクトに対応
し、かつ要求されたオブジェクトが第一のキャッシュに
格納されていない場合には、第一のキャッシュは適当な
サーバ・クラスタ180のうちのサーバー182、18
4、186又は188から要求されたオブジェクトを検
索してもよい。
【0028】例えば、クライアント上のウェブ・ブラウ
ザを使用してユーザがウェブ・ページを検索して見るた
めに要求を出す場合を考える。要求されたウェブ・ペー
ジはURLによってアドレスされていてもよいし、ネッ
トワークに接続されたサーバに格納されていてもよい。
ネットワーク・ディスパッチャー160は、キャッシュ
・アレイ170の第一のキャッシュ・ノードを選択す
る。ネットワーク・ディスパッチャー160はウェブ・
ページの要求を第一のキャッシュ・ノードに経路付けす
る。要求されたウェブ・ページが第一のキャッシュ・ノ
ードに格納される場合、第一のキャッシュ・ノードはキ
ャッシュメモリからウェブ・ページを検索することがで
き、ウェブ・ページをクライアントに送り返す。第一の
キャッシュ・ノードが要求されたウェブページの最初の
所有者であるが、ウェブ・ページが第一のキャッシュ・
ノードに格納されていない場合、第一のキャッシュ・ノ
ードは、URLによって経路づけられた適切なサーバに
アクセスすることができ、サーバからウェブ・ページを
検索し、そしてクライアントにウェブ・ページを送り返
す。
【0029】しかしながら、ネットワーク・ディスパッ
チャー160によって選択された第一のキャッシュが、
要求されたオブジェクトに対応しない場合(すなわち、
要求されたオブジェクトの最初の所有者ではない)、第
一のキャッシュは、要求されたオブジェクト(すなわ
ち、第二のキャッシュは要求されたオブジェクトの最初
の所有者である)に対応する第二のキャッシュに要求を
送信する。第一のキャッシュ及び第二のキャッシュは要
求をサービスし、要求されたオブジェクトを検索するた
めに通信するかもしれない。さらに、第一のキャッシュ
は要求を第二のキャッシュにハンドオフするかもしれな
い。ハンドオフの場合には、TCP接続に関する情報
(例えば、連続番号、IPアドレス及びTCPポートが
ある)とともに、要求は第一のキャッシュから第二キャ
ッシュへと送信され得る。
【0030】第一のキャッシュと第二のキャッシュが要
求をサービスするために通信するかどうかの決定、又
は、第一のキャッシュが第二のキャッシュへの要求をハ
ンドオフするかどうかの決定は、例えば、要求されたオ
ブジェクトのサイズに基づいて、なされてもよい。
【0031】例えば、以下のような手段がある。 1.要求されたオブジェクトのサイズが敷居値のサイズ
より小さい場合、第二のキャッシュは第一のキャッシュ
に要求されたオブジェクトを送信する。第二のキャッシ
ュは、キャッシュメモリから又は適切なサーバとの通信
によってのいずれかで、要求されたオブジェクトを検索
する。第一のキャッシュは要求しているクライアントに
対し、要求されたオブジェクトを送信することにより要
求をサービスしてもよい。 2.要求されるオブジェクトのサイズが敷居値のサイズ
よりも大きい場合、第一及び第二のキャッシュは要求を
ハンドオフするために調整する場合がある。 (i)TCP接続は第一のキャッシュから第二のキャッ
シュまでハンドオフされる。 (ii)ネットワーク・ディスパッチャー160は要求
が第二のキャッシュによってサービスされることを知ら
される(ネットワーク・ディスパッチャー160はさら
にオブジェクトの要求が第二のキャッシュに送信される
べきであることも知らされる)。 (iii)第二のキャッシュは要求されたオブジェクト
をキャッシュ・メモリから又は適切なサーバとの通信に
よってのいずれかによって検索し、要求しているクライ
アントに要求されたオブジェクトを送信する。
【0032】なお、敷居値のサイズは調整され、動的に
変化してもよい。
【0033】この種の代表的な調整においては、第二の
キャッシュはTCPハンドオフ(引き継ぎ)やHTTP
ハンドオフ(引き継ぎ)を行うのに役立つ情報の領域を
格納することができる。ネットワーク・ディスパッチャ
ー160からの要求を最初に受け取っている第一のキャ
ッシュは、第二のキャッシュが要求されたオブジェクト
を第一のキャッシュに送信する間に待機してもよく、又
は、第二のキャッシュが要求をサービスする第一のキャ
ッシュに知らせてもよい。従って、上記した代表的な調
整のタイプは、要求されたオブジェクトの最初の所有者
によってドライブされる。
【0034】ネットワーク・ディスパッチャー160
が、接続要求を要求されたオブジェクトの最初の所有者
である第一のキャッシュに転送する場合にキャッシュ・
メンバー・ヒットが生じる。例えば、ネットワーク・デ
ィスパッチャー160がラウンド・ロビン配置を使用す
る場合、特別のキャッシュメンバーが選択される可能性
が一様に分散され得る(例えば、n個のキャッシュメン
バーの場合には1/nの確率である。)さらに、実質的
にはオーバーヘッドの負担になるが、ネットワーク・デ
ィスパッチャー160が、要求されたオブジェクトに関
連付けられたアドレスしている情報(すなわち、UR
L)にアクセスしてもよい。従って、ネットワーク・デ
ィスパッチャー160はサーバ・クラスタ160と関連
づけられたキャッシュ・アレイ170を識別するのに十
分な情報をアクセスでき、その結果キャッシュ・メンバ
ーをランダムに選択することができる。ロード及び利用
できる情報がネットワーク・ディスパッチャー160に
提供された場合、特別なキャッシュの選択の可能性が重
み付けされ得る。言い換えると、あるキャッシュがロー
ドされた場合、選択される頻度が少なくなり、キャッシ
ュ・メンバーはより頻繁に選択され得るままである。
【0035】キャッシュ・アレイ170がキャッシュメ
ンバー172、174、176、178の一つのキャッ
シュ・スペースからからオブジェクトの要求をサービス
することができる場合、キャッシュ・アレイ・ヒットが
生じる。従って、キャッシュ・メンバー・ヒットが生
じ、キャッシュ・アレイ・ミスが同時に生じる可能性が
ある。例えば、ネットワーク・ディスパッチャー160
が要求されたオブジェクトの最初の所有者であるキャッ
シュ・メンバーを選択するかもしれない。しかし、要求
されたオブジェクトの最初の所有者はキャッシュメモリ
内の要求されたオブジェクトを有しない。ゆえに、キャ
ッシュ・メンバー・ヒット及びキャッシュ・アレイ・ミ
スの場合には、最初の所有者は要求されたオブジェクト
をサーバから検索する。
【0036】さらに、キャッシュメンバーミス及びキャ
ッシュ・アレイヒットは同時に生じてもよい。例えばネ
ットワーク・ディスパッチャー160が要求されたオブ
ジェクトの最初の所有者でないキャッシュメンバーを選
択してもよい。しかし、要求されたオブジェクトの最初
の所有者、キャッシュ・アレイ170のキャッシュ・メ
ンバーはキャッシュ・メモリ内で要求されたオブジェク
トを所有している。
【0037】従って、以下の場合が生じうる。 1.キャッシュ・メンバー・ヒット、キャッシュ・アレ
イ・ヒット 2.キャッシュ・メンバー・ヒット、キャッシュ・アレ
イ・ミス 3.キャッシュ・メンバー・ミス、キャッシュ・アレイ
・ヒット 4.キャッシュ・メンバー・ミス、キャッシュ・アレイ
・ミス
【0038】さらに、異なる通信プロトコルは要求され
たオブジェクトを検索するのに用いられてもよい。異な
るプロトコルは第一のキャッシュ及び第二のキャッシュ
が要求をサービスするために通信するかどうか,又は、
第一のキャッシュが第二のキャッシュに要求をハンドオ
フするかどうかに依存して用いられ得る。例えば、HT
TPインターフェース(ここで第一のキャッシュはHT
TPプロキシとして動作し得る)、UDPベースの要
求、又はハンドオフが用いられ得る。
【0039】以下の8つの場合が生じ得る。 1.キャッシュ・メンバー・ヒット、キャッシュ・アレ
イ・ヒット 2.キャッシュ・メンバー・ヒット、キャッシュ・アレ
イ・ミス 3.キャッシュ・メンバー・ミス、キャッシュ・アレイ
・ヒット 3.1.HTTPを用いて検索されたオブジェクト 3.2.UDPを用いて検索されたオブジェクト、又は 3.3.要求のハンドオフ経由で検索されたオブジェク
ト 4.キャッシュ・メンバー・ミス、キャッシュ・アレイ
・ミス 4.1.HTTPを用いて検索されたオブジェクト 4.2.UDPを用いて検索されたオブジェクト、又は 4.3.要求のハンドオフ経由で検索されたオブジェク
【0040】キャッシュ・メンバー・ヒット 図3及び図4は、本発明の代表的な実施例に基づく、キ
ャッシュ・メンバー・ヒットの場合の要求されたオブジ
ェクトを検索する方法を図示したブロック図である。ク
ライアント110は、ネットワーク150を経由でオブ
ジェクトを検索する要求を発する。要求されたオブジェ
クトは格納され、サーバ・クラスタ180のサーバ18
2及び184のうちの一つによって発生され又は引き出
される。クライアント110によって発せられた要求は
ネットワーク・ディスパッチャー160にネットワーク
150経由で転送される。ネットワーク・ディスパッチ
ャー160は次に第一のキャッシュ、例えば、キャッシ
ュ・アレイ170のキャッシュ・メンバー172を選択
する。ネットワーク・ディスパッチャー160によって
選択された第一のキャッシュ・メンバー172は、要求
されたオブジェクトの最初の所有者であると仮定する
と、キャッシュ・メンバー・ヒットが生じる。
【0041】図3は、第一のキャッシュ172がキャッ
シュ・メモリ内で要求されたオブジェクトを有する場合
を図示したものである(キャッシュ・アレイ・ヒッ
ト)。この場合、第一のキャッシュ172はキャッシュ
メモリから要求されたオブジェクトを検索してもよく、
ネットワーク150を経由してクライアント110に要
求されたオブジェクトを送信してもよい。
【0042】図4は、第一のキャッシュ172がキャッ
シュメモリ内で要求されたオブジェクトを有しない場合
を図示したものである(キャッシュ・アレイ・ヒッ
ト)。この場合、第一のキャッシュ172は、要求され
たオブジェクトを最初にサーバ182から検索してもよ
く、その結果、ネットワーク150を経由してクライア
ント110に要求されたオブジェクトを送信してもよ
い。キャッシュ・メンバー・ヒット及びキャッシュ・ア
レイ・ミスの場合のシステムの性能(例えば、オーバー
ヘッド、又は処理量(スループット))は、キャッシュ
・メンバー・ヒット及びキャッシュ・アレイ・ヒットと
比較して低減され得る。
【0043】キャッシュ・メンバー・ミス−HTTP 図5及び図6は、本発明の代表的な実施例に基づきキャ
ッシュ・メンバー・ミスの場合に要求されたオブジェク
トを検索する方法を図示したブロック図である。クライ
アント110は、ネットワーク150経由でオブジェク
トを検索する要求を発する。要求されたオブジェクトは
格納され、サーバ・クラスタ180のサーバ182及び
184のうちの一つによって発生され又は引き出され
る。クライアント110によって発せられた要求はネッ
トワーク・ディスパッチャー160にネットワーク15
0経由で転送される。ネットワーク・ディスパッチャー
160は次に第一のキャッシュ、例えば、キャッシュア
レイ170のキャッシュメンバー172を選択する。ネ
ットワーク・ディスパッチャー160によって選択され
た第一のキャッシュ・メンバー172は、要求されたオ
ブジェクトの最初の所有者ではないと仮定すると、キャ
ッシュ・メンバー・ミスが生じる。ネットワーク・ディ
スパッチャー160は、ランダムに(n個のキャッシュ
・メンバーを伴う)キャッシュ・アレイ170の第一の
メンバーを(一様に分散して)選択する。キャッシュ・
メンバー・ミスの確率は(n−1)/nである。
【0044】図5は、第二のキャッシュ、例えば、キャ
ッシュ・メンバー176が要求されたオブジェクトの最
初の所有者である場合を図示したものである。キャッシ
ュ・メンバー176はキャッシュメモリ内で要求された
オブジェクトを所有する(キャッシュ・アレイ・ヒッ
ト)。この場合、第一のキャッシュ172はクライアン
ト110との接続を受け入れるかもしれない。第一のキ
ャッシュ172は、次に第二のキャッシュ176を識別
することができ、HTTPインターフェースを確立す
る。第一のキャッシュ172及び第二のキャッシュ17
6はHTTPインターフェース経由で要求されたオブジ
ェクトを検索するために通信する場合がある。第二のキ
ャッシュ176はキャッシュメモリから要求されたオブ
ジェクトを検索することができ、第一のキャッシュ17
2に要求されたオブジェクトを送信する。第一のキャッ
シュ172は、次にネットワーク150経由でクライア
ント110に要求されたオブジェクトを送信してもよ
い。
【0045】図6は、キャッシュメモリ内で第二のキャ
ッシュが要求されたオブジェクトを所有しない場合を図
示したものである(キャッシュ・アレイ・ミス)。この
場合、第二のキャッシュ176は、最初に、要求された
オブジェクトをサーバー184から検索してもよく、そ
の結果、要求されたオブジェクトを第一のキャッシュ1
72に送信してもよい。第一のキャッシュ172は次に
要求されたオブジェクトをネットワーク150経由でク
ライアント110に送信してもよい。
【0046】図5は、第二のキャッシュ、例えば、キャ
ッシュ・メンバー176が要求されたオブジェクトの最
初の所有者である場合を図示したものである。キャッシ
ュ・メンバー176はキャッシュメモリ内で要求された
オブジェクトを所有する(キャッシュ・アレイ・ヒッ
ト)。この場合、第一のキャッシュ172はクライアン
ト110との接続を受け入れるかもしれない。第一のキ
ャッシュ172は、次に第二のキャッシュ176を識別
することができ、UDPインターフェースを確立する。
第一のキャッシュ172及び第二のキャッシュ176は
要求されたオブジェクトをUDPインターフェース経由
で検索するために通信する場合がある。第二のキャッシ
ュ176は要求されたオブジェクトをキャッシュメモリ
から検索することができ、要求されたオブジェクトを第
一のキャッシュ172に送信する。第一のキャッシュ1
72は、次に、要求されたオブジェクトをネットワーク
150経由でクライアント110に送信してもよい。
【0047】図6は、キャッシュメモリ内で第二のキャ
ッシュが要求されたオブジェクトを所有しない場合を図
示したものである(キャッシュ・アレイ・ミス)。この
場合、第二のキャッシュ176は、最初にサーバー18
4から要求されたオブジェクトを検索してもよく、その
結果、要求されたオブジェクトを第一のキャッシュ17
2に送信してもよい。第一のキャッシュ172は、次
に、要求されたオブジェクトをネットワーク150経由
でクライアント110に送信してもよい。
【0048】UDPインターフェースは、同時に起こる
オーバーヘッドを有するTCP接続を避け得るので、U
DPインターフェースはHTTPインターフェースより
も性能が良い場合がある。
【0049】キャッシュ・メンバー・ミス−ハンドオフ
・インターフェース 図7及び図8は、本発明の代表的な実施例に基づいたキ
ャッシュ・メンバー・ミスの場合に、要求されたオブジ
ェクトを検索する方法を図示したブロック図である。ク
ライアント110は、ネットワーク150経由でオブジ
ェクトを検索するのに要求を発する。要求されたオブジ
ェクトは格納され、サーバ・クラスタ180のサーバ1
82及び184のうちの一つによって発生され又は引き
出される。クライアント110によって発せられた要求
はネットワーク・ディスパッチャー160にネットワー
ク150経由で転送される。ネットワーク・ディスパッ
チャー160は次に第一のキャッシュ、例えば、キャッ
シュアレイ170のキャッシュメンバー172を選択す
る。ネットワーク・ディスパッチャー160によって選
択された第一のキャッシュ・メンバー172は、要求さ
れたオブジェクトの最初の所有者ではないと仮定する
と、キャッシュ・メンバー・ミスが生じる。
【0050】図7は、第二のキャッシュ、例えば、キャ
ッシュ・メンバー176が要求されたオブジェクトの最
初の所有者である場合を図示したものである。キャッシ
ュ・メンバー176はキャッシュメモリ内で要求された
オブジェクトを所有する(キャッシュ・アレイ・ヒッ
ト)。この場合、第一のキャッシュ172に対する要求
(例えば、TCP接続に沿ったもの)のハンドオフが実
行される。第二のキャッシュ176は、次にキャッシュ
メモリから要求されたオブジェクトを検索し、要求され
たオブジェクトをクライアント110に対して送信し得
る。
【0051】図8は、キャッシュメモリ内で第二のキャ
ッシュ176が要求されたオブジェクトを所有しない場
合を図示したものである(キャッシュ・アレイ・ミ
ス)。この場合、第一のキャッシュ172は、第二のキ
ャッシュ176に対する要求(例えば、TCP接続に沿
ったもの)のハンドオフが実行される。第二のキャッシ
ュ176は、最初にサーバ184から要求されたオブジ
ェクトを検索し、その結果要求されたオブジェクトをク
ライアント110に対して送信し得る。
【0052】キャッシュ・アレイ170は、ハンドオフ
を支援するいくつかの特徴を備えている。第一に、キャ
ッシュ・アレイ170のすべてのキャッシュ・メンバー
が一つのクラスタ・アドレス(例えば一つのIPアドレ
ス)を使用してアドレスされ得る。その結果第一のキャ
ッシュ172及び第二のキャッシュ176は、両方とも
クラスタ・アドレスに一致する要求を受け入れ得る。そ
してクライアント110に送り返す。第二に例えばTC
Pカーネル拡張のようなメカニズムは、(TCPスタッ
クを用いた)第一のキャッシュ172から(TCPスタ
ックを用いた)第二のキャッシュ176までハンドオフ
させることを提供し得る。ハンドオフの間、UDPイン
ターフェースは性能の改善に役に立つ場合がある。第三
に、TCPインターフェースの可能性に従って、第一の
キャッシュ172から第二のキャッシュ176間でのハ
ンドオフHTTP要求のためのさらなるメカニズムが実
行され得る。第四に、ネットワーク・ディスパッチャー
160がTCPハンドオフを支援するの使用され得る。
TCP/HTTP接続が第一のキャッシュ172から第
二のキャッシュ176までハンドオフされている場合、
第二のキャッシュ176(接続の新たな所有者)を介し
て(クライアントからサーバまでの)接続の流れが通る
ことを確かにする要求があり得る。引き続くパケットが
第一のキャッシュの代わりに第二のキャッシュ176に
送られるように、第一のキャッシュ172又は第二のキ
ャッシュ176のいずれかがネットワーク・ディスパッ
チャー160をその情報を更新するように方向付ける。
【0053】ハンドオフ・インターフェースのオーバー
ヘッドは、UDPインターフェースの場合より高い場合
がある。UDP又はHTTPインターフェースの場合
は、しかしながら、性能はオブジェクト・サイズの増大
とともに実質的には減少し得る。UDP又はHTTPイ
ンターフェースの場合と異なり、ハンドオフ・インター
フェースの性能としては、オブジェクト・サイズの増加
に対する感度は小さい。オブジェクト・サイズの増加に
対するハンドオフ・インターフェースの性能の感度は、
キャッシュ・メンバー・ヒットの場合のオブジェクト・
サイズの増加に対する性能の感度と同様である。従って
性能は、相対的に大きなオブジェクトに対するハンドオ
フ・インターフェースを用いることによって改善され得
る。
【0054】キャッシュ・メンバー・ミス−混合モデル (例えばUDP又はハンドオフが)用いられるインター
フェースのタイプは、要求されたオブジェクトのサイズ
に基づいて選択され得る。サイズの敷居値は、サイズの
敷居値がより小さいオブジェクトのために(UDPのよ
うな)インターフェースの一つのタイプを用いることに
よって性能が改善される結果になり得る。サイズの敷居
値は、例えば、与えられたコンピュータ・ネットワーク
及びシステムの処理量を測定することから判断できる。
【0055】例えば、UDPインターフェースは、2キ
ロバイトより小さい要求されたオブジェクトのために選
択されることができ、ハンドオフ・インターフェースは
2キロバイトより大きな要求されたオブジェクトのため
に選択されることができる。例えば、図1を参照しつ
つ、クライアント110が、格納され又はサーバ186
によって発生され若しくは引き出されるオブジェクトを
要求することを仮定する。さらにキャッシュ・メンバー
178が要求されたオブジェクトの最初の所有者である
と仮定する。以下の代表的な手段が適用され得る。 1.ネットワーク・ディスパッチャー160によって選
択された第一のキャッシュ、いわばキャッシュ・メンバ
ー172が、第二のキャッシュ178に要求と、例えば
TCPの接続情報を送信する。 2.第二のキャッシュが要求されたオブジェクトのサイ
ズを判断しても良い。要求されたオブジェクトのサイズ
は、キャッシュ・メモリから又はオブジェクトがキャッ
シュ・メモリ内にない場合にはサーバ186と接続する
ことによってのいずれかにより判断され得る。 3.要求されたオブジェクトのサイズがサイズの敷居値
より小さい場合、第二のキャッシュ178は、要求され
たオブジェクトを第一のキャッシュ172に送信し得
る。そして、第一のキャッシュ172は、要求されたオ
ブジェクトをクライアント110に送信することができ
る。 4.要求されたオブジェクトのサイズがサイズの敷居値
より大きい場合、第一のキャッシュ172と第二のキャ
ッシュ178との間のハンドオフ、例えばTCP/HT
TPハンドオフが機能を果たすことができる。そして、
第二のキャッシュ178は、要求されたオブジェクトを
キャッシュメモリ又はサーバ187のいずれかから検索
することができ、そして、要求されたオブジェクトをク
ライアント110に送信することができる。
【0056】内容基準ルーティング(Content Based Ro
uting) この場合、図1のネットワーク・ディスパッチャー16
0は、図9の内容に基づいたルーターとして機能する。
特に、特別なモードで処理する図3から図8の例えばネ
ットワーク・ディスパッチャー160のようなネットワ
ーク・ディスパッチャーは、内容基準ルータ(content
based router)165として機能することができる。
(例えばURL)のような要求されたオブジェクトのよ
うなアドレスは、例えば、ハッシュ機能を用いてキャッ
シュ・アレイ170のキャッシュ・ノード172、17
4、176及び178の中に分割され得る。言い換えれ
ば、ハッシュ機能は、キャッシュ・ノードと要求された
オブジェクトとの間の対応を形成するために用いられる
ことができる。要求されたオブジェクトのアドレスはハ
ッシュされ得る。ハッシュ機能の出力は、要求されたオ
ブジェクトを発生するか引き出す1以上のサーバか又は
要求されたオブジェクトが格納されている1以上のサー
バと関連づけられたキャッシュ・ノードである。言い換
えると、ハッシュ機能の出力は、要求されたオブジェク
トの最初の所有者であるキャッシュ・メンバーであり得
る。このことは、キャッシュ・ノードとサーバとの間の
特別な関係があるという意味を含むことをを必要とする
わけではない。しかしながら、任意的に一つのそのよう
な関係が存在してもよい。
【0057】クライアント110、120及び130の
ようなクライアントがオブジェクトの検索を要求する場
合、内容基準ルータ165は、選択されたキャッシュ・
ノードに対し、例えばTCP接続情報とともに要求のハ
ンドオフを果たす。内容基準基準ルータ165によって
選択されたキャッシュ・ノードは、要求されたオブジェ
クトの最初の所有者である。そして、選択されたキャッ
シュ・ノードは、キャッシュメモリ又はそれに関連づけ
られたサーバのいずれかから要求されたオブジェクトを
検索し得る。そして、要求されたオブジェクトをネット
ワーク150経由で要求しているクライアントに送信し
得る。
【0058】特別のモードで処理しているネットワーク
・ディスパッチャーは、内容基準ルータとして機能し得
るので、ネットワーク・ディスパッチャーが内容基準又
は内容基準でないルーティングの組み合わせを用いて要
求を経路付けすることが可能である。内容基準ルーティ
ング内容基準ルーティングが用いられる場合、内容基準
ルーター165として処理しているネットワーク・ディ
スパッチャー160は、キャッシュ・ノードが要求され
たオブジェクトの最初の所有者であることを決定するた
めにクライアントによって送られた要求を検査する。内
容基準ルーティングはキャッシュ・メンバー・ミスを回
避するので、内容基準ルーティングはキャッシュ・アレ
イによって費やされる処理プログラム・サイクルを低減
することができる。しかしながら、内容基準ルーター1
65として処理しているネットワーク・ディスパッチャ
ー160による処理プログラム・サイクルの消費を、内
容基準ルーティングは増加させるかもしれない。ネット
ワーク・ディスパッチャー160はクライアントとの接
続を確立するので、より多くの処理プログラム・サイク
ルが内容基準ルーティング・モードで処理しているネッ
トワーク・ディスパッチャー160により費やされ得
る。
【0059】それがシステムの障害にならないという限
りにおいて、内容基準ルータ165を用いることは有利
であり得る。例えば、IBM2216によって実現され
る内容基準ルータは、毎秒10Kのリクエストがなされ
るより少ない限りにおいて障害にならない。しかし、毎
秒10K以上のリクエストが静的に又は動的になされる
場合、IBM2216はネットワーク・ディスパッチャ
ーとして動作するのに有利である。代わりに、統合され
たキャッシュを有する内容基準ルータを用いることがで
きる。相対的に低いか中程度のシステムのロードでは、
内容基準ルータは統合されたキャッシュを用いる要求を
サービスできる。ルータのような相対的に高いシステム
のロードでは、ネットワーク・ディスパッチャーの機能
を回復できる。
【0060】例えば、IBM2216ルータはネットワ
ーク・ディスパッチャーとして毎秒約1,5000程度
のルーティングの能力がある。キャッシュ・ノードとし
て動作するIBM2216はほぼ100パーセントのキ
ャッシュ・レートで毎秒約5,000のオブジェクトを
サービスする能力がある。ハンドオフを伴う内容基準ル
ータとして動作するIBM2216ルータは、毎秒で約
5,000/0.5=10,000の要求をサービスする
ことができる。
【0061】本発明の上記の代表的な実施例の変形で、
例えば図3から図8では、キャッシュ・アレイ170に
対してネットワーク・ディスパッチャー160によって
経路付けされた要求のある割合は、内容基準ルーティン
グ・モードにて実行されるかもしれない。内容基準ルー
ティングは、キャッシュ・アレイ170でのオーバーヘ
ッドは少なくなり得るがネットワーク・ディスパッチャ
ー160ではより多くのオーバーヘッドが生じ得る。内
容基準ルーティングが使用される要求の割合は、ネット
ワーク・ディスパッチャー及びキャッシュ・アレイ資源
の利用のバランスさせるために選択されることができ
る。さらなる変形として、内容基準ルーティング・モー
ドを使用して経路付けられる要求の割合を障害になるキ
ャッシュ・アレイ170に応じて増加させてもよい。一
方、障害になるネットワーク・ディスパッチャー160
に応じて、内容基準ルーティングを用いて経路付けられ
る要求の割合は、減少されるようにしてもよい。
【0062】任意に、例えば図1のネットワーク・ディ
スパッチャー160のようなネットワーク・ディスパッ
チャーの機能がキャッシュ・ノードの中に統合されるよ
うにしてもよい。
【0063】当業者は、上記の代表的な実施例の応用を
考えることができる。例えば、クライアントの要求は要
求されたオブジェクトが属している区分の最初の所有者
に、第一のノードによって方向付けられる必要はない。
最初の所有者がオーバーロードである場合、要求は、第
二のノードに送られるようにしてもよい。第二のノード
は第一のノードに要求されたオブジェクトを送り返すよ
うにしてもよく、又は第二のノードは、要求されたオブ
ジェクトを直接的にハンドオフを使用しているクライア
ントに送り返すようにしてもよい。要求がサーバー・ノ
ードにハンドオフされるようにするのも任意である。
【0064】しかしながら、ここで説明したのは、代表
的な実施例である。本発明が実施例として説明した内容
によって制限されることは意図されていない。むしろ、
種々の変形、改良が本発明の精神に逸脱することなく特
許請求の範囲に記載された範囲内でなされ得る。
【0065】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)複数のノードを含み、一以上のクライアントから
オブジェクトの要求を受け取るのに適合したシステムに
おいて用いられ、前記オブジェクトのうち要求されたオ
ブジェクトを検索する方法であって、(a)前記クライ
アントのうちの一から前記要求の一を送るステップと、
(b)前記複数のノードのうちの他のノードによって、
前記複数のノードのうちの一のノードから前記要求を受
け取るステップと、(c)複数のプロトコルのうちの一
つを用いて前記複数のノードのうちの前記他のノードか
ら要求されたオブジェクトを送り返すステップとを含む
方法。 (2)前記一のノードは前記クライアントの前記一つか
ら前記要求を受け取る(1)記載の方法。 (3)前記一つのノードが前記複数のノードのうちの他
のノードから前記要求を受け取る(1)記載の方法。 (4)複数のプロトコルの前記一つが前記要求されたオ
ブジェクトのサイズに基づいて選択される(1)記載の
方法。 (5)前記要求されたオブジェクトのサイズが予め定め
られたサイズより小さいことに応じて、要求されたオブ
ジェクトが前記他のノードから前記一のノードに、続い
て、前記一のノードから前記クライアントの一に送り返
される(4)記載の方法。 (6)前記要求されたオブジェクトのサイズが予め定め
られたサイズより大きいことに応じて、要求されたオブ
ジェクトが、前記一のノードを最初に通過することな
く、前記他のノードから前記クライアントのうちの前記
一に送り返される(4)記載の方法。 (7)前記要求されたオブジェクトが、前記クライアン
トの前記一に送り返される前に、前記一のノードから前
記複数のノードのうち少なくともさらなるノードに送り
返される(5)記載の方法。 (8)前記要求されたオブジェクトが、前記クライアン
トの前記一に送り返される前に、前記他のノードから前
記複数のノードのうち少なくともさらなるノードに送り
返される(5)記載の方法。 (9)前記一のノードは複数のキャッシュを少なくとも
一つ含み、前記一のノードが前記要求されたオブジェク
トのキャッシュされたコピーを有しないことに応じて前
記ステップ(b)が実行される(1)記載の方法。 (10)前記他のノードが前記複数のキャッシュのうち
少なくとも一つを含む(9)記載の方法。 (11)前記複数のノードの一つがバック−エンド・サ
ーバとして機能する(1)記載の方法。 (12)さらに、前記他のノードが前記要求されたオブ
ジェクトのキャッシュされたコピーを有しないことに応
じて、バック−エンド・サーバに前記要求を送るステッ
プを含む、(11)記載の方法。 (13)さらに、前記複数のノードを横断して前記オブ
ジェクトの所有権を分割するステップを含み、前記複数
のノードのそれぞれは、前記複数のキャッシュのうちの
一つを含む、(10)記載の方法。 (14)前記他のノードが前記要求されたオブジェクト
の所有者であり、前記ステップ(b)が前記一のノード
が前記要求されたオブジェクトの所有者でないことに応
じて実行される(13)記載の方法。 (15)いかなる前記オブジェクトも一の所有者を有す
る(13)記載の方法。 (16)いかなる前記オブジェクトも複数の所有者を有
する(13)記載の方法。 (17)前記複数のプロトコルの一がHTTP(ハイパ
ー・テキスト・トランスファー・プロトコル)、UDP
(ユーザー・データグラム・プロトコル)及びハンドオ
フ・インターフェースのうちの一つである(1)記載の
方法。 (18)前記複数のノードのうちの一がバック−エンド
・サーバとして機能する請求10)記載の方法。 (19)さらに、前記他のノードが前記要求されたオブ
ジェクトのキャッシュされたコピーを有しないことに応
じて、バック−エンド・サーバに前記要求を送るステッ
プを含む、(18)記載の方法。 (20)要求されたオブジェクトを検索する方法であっ
て、(a)要求されたオブジェクトの要求を第一のキャ
ッシュに送信するステップと、(b)第一のキャッシュ
が要求されたオブジェクトに対応するか否かを決定する
ステップと、(c)第二のキャッシュが要求されたオブ
ジェクトに対応するか否か識別するステップと、(d)
複数のプロトコルのうちの一つを用いて、要求されたオ
ブジェクトを第二のキャッシュ経由で検索するステップ
とを含む方法。 (21)要求されたオブジェクトが、第二のキャッシュ
から第一のキャッシュへ、及び、第一のキャッシュから
クライアントへと要求されたオブジェクトを送信するこ
とによって検索される(20)記載の方法。 (22)要求されたオブジェクトの要求が第一のキャッ
シュから第二のキャッシュへと転送される(20)記載
の方法。 (23)要求されたオブジェクトが、第二のキャッシュ
からクライアントに要求されたオブジェクトを送信する
ことによって検索される(22)記載の方法。 (24)さらに、要求されたオブジェクトが第二のキャ
ッシュに格納されていないかどうかを判断するステップ
と、要求されたオブジェクトを第二のキャッシュに関連
づけられたサーバから検索するステップとを含む(2
0)記載の方法。 (25)ステップ(b)において第一のキャッシュが要
求されたオブジェクトに対応していない場合に、ステッ
プ(c)及び(d)が実行される(20)記載の方法。 (26)複数のオブジェクトのうちターゲットになるオ
ブジェクトを検索する方法であって、(a)複数のノー
ドのうち少なくとも一つに複数のオブジェクトのそれぞ
れを割り振るステップと、(b)複数のノードのそれぞ
れに複数のキャッシュのうち少なくとも一つを割り振る
ステップと、(c)複数のノードのうちの第一のノード
に目標とするオブジェクトの要求を送信するステップ
と、(d)目標とするオブジェクトが第一のノードに割
り振られるか否かを決定するステップと、(e)目標と
するオブジェクトが第一のノードに割り振られない場合
に、(i)複数のノードのうちの第二のノードに要求を
送信し、目標とするオブジェクトは第二のノードに割り
振られ、(ii)複数のプロトコルのうちの一つを用い
て第二のノードに割り振られたキャッシュ内に格納され
る場合、第二のノードに割り振られた複数のキャッシュ
のうちの一つのキャッシュから目標とするオブジェクト
を検索するステップとを含む、方法。 (27)ステップ(ii)が、複数のプロトコルのうち
少なくとも一つを経由して通信することによって実行さ
れる(26)記載の方法。 (28)前記複数のプロトコルの少なくとも一が、目標
とするオブジェクトのサイズに基づいて選択される(2
7)記載の方法。 (29)さらに、目標とするオブジェクトが第一のノー
ドに割り振られていない場合、かつ、目標とするオブジ
ェクトのサイズが予め定められたオブジェクトのサイズ
より小さい場合、目標とするオブジェクトを第二のノー
ドから第一のノードへ送信し、目標とするオブジェクト
を第一のノードからクライアントに送信するステップを
含む(28)記載の方法。 (30)さらに、目標とするオブジェクトが第一のノー
ドに割り振られていない場合、かつ、目標とするオブジ
ェクトのサイズが予め定められたオブジェクトのサイズ
より大きい場合、目標とするオブジェクトを第二のノー
ドからクライアントに送信するステップを含む(28)
記載の方法。 (31)複数のプロトコルのうちの第一のプロトコルが
第一のノードと第二のノードとの間で実行され、複数の
プロトコルのうちの第二のプロトコルが第一のノードと
クライアントとの間で実行される、(27)記載の方
法。 (32)複数のプロトコルのうちの第一のプロトコルが
第二のノードとクライアントとの間で実行される、(2
7)記載の方法。 (33)さらに、目標とするオブジェクトが第一のノー
ドに割り振られていない場合であって、目標とするオブ
ジェクトが第一のノードに割り振られたキャッシュ内に
格納されているとき、第一のノードに割り振られた複数
のキャッシュのうちの一つのキャッシュから目標とする
オブジェクトを検索するステップとを含む、(26)記
載の方法。 (34)さらに、目標とするオブジェクトが第一のノー
ドに割り振られたキャッシュ内に格納されていない場
合、目標とするオブジェクトを第一のノードに対応する
サーバから検索するステップを含む、(33)記載の方
法。 (35)目標とするオブジェクトが、第二のノードに割
り振られたキャッシュに格納されていない場合、ステッ
プ(e)での目標とするオブジェクトが第二のノードに
対応するサーバから検索される(26)記載の方法。 (36)前記複数のプロトコルの一がHTTP(ハイパ
ー・テキスト・トランスファー・プロトコル)、UDP
(ユーザー・データグラム・プロトコル)及びハンドオ
フ・インターフェースのうちの一つである(20)記載
の方法。 (37)一又はそれ以上のクライアントから前記オブジ
ェクトの要求を受け取るために適応されたシステムにお
いて、複数のオブジェクトのうち要求されたオブジェク
トを検索するためにそこで具体化された、コンピュータ
読取可能なプログラムコード手段を有するコンピュータ
使用可能な媒体を含む製品であって、前記システムは複
数のノードを含み、前記製品内のコンピュータ読取可能
なプログラムコード手段は、コンピュータに(a)前記
クライアントの一つから前記要求の一つを送らせ、
(b)前記複数のノードのうち他のノードによって前記
複数のノードのうちの一つから前記要求を受け取らせ、
(c)複数のプロトコルのうちの一つを用いて前記複数
のノードのうちの前記他のノードから前記要求されたオ
ブジェクトを送り返させる、コンピュータ読取可能なプ
ログラムコード手段を含む。 (38)一以上のクライアントから前記オブジェクトの
要求を受け取るのに適したシステムにおいて用いられ、
複数のオブジェクトのうち要求されたオブジェクトを検
索する方法のためのステップを実行するために、機械に
よって実行可能な指示を行うプログラムを含む、機械読
み取り可能なデバイスであって、前記システムは複数の
ノードを含むものであって、 前記方法のためのステッ
プが、(a)前記クライアントのうちの一つから前記要
求の一つを送り(b)複数のノードのうち他のノードに
よって前記複数のノードのうちの一のノードから前記要
求を受け取り、(c)複数のプロトコルのうちの一を用
いて前記複数のノードのうちの前記他のノードから前記
要求されたオブジェクトを送り返すことを含む、機械読
み取り可能なプログラムを記憶したデバイス。 (39)複数のノードを含むシステムにおいて、前記ノ
ードの間の要求を経路指定する方法であって、(a)要
求の内容に基づいて、要求のうちの一つをノードのうち
少なくとも一つへ選択的に送るステップと、(b)要求
のうちの一つの要求を、要求の内容とは独立にノードの
うちいずれかの一つに選択的に送るステップと、(c)
システムの性能を改善するために、ステップ(a)及び
(b)が行われる頻度を変化させるステップとを含む方
法。 (40)システムの資源を使用することを低減し、シス
テムの性能を改善するために、ステップ(a)が実行さ
れる頻度を増加させる(39)記載の方法。 (41)システムの資源を使用することを低減し、シス
テムの性能を改善するために、ステップ(b)が実行さ
れる頻度を増加させる(39)記載の方法。 (42)ステップ(a)がさらに一のノードから他のノ
ーでへの接続のハンドオフを含む(39)記載の方法。
【図面の簡単な説明】
【図1】本発明の代表的な実施例に基づくコンピュータ
・ネットワーク・システムを図示したブロック図であ
る。
【図2】本発明の代表的な実施例に基づく要求されたオ
ブジェクトを検索する方法を示すフローチャートであ
る。
【図3】本発明の代表的な実施例に基づくキャッシュ・
メンバー・ヒット及びキャッシュ・アレー・ヒットの場
合に、要求されたオブジェクトを検索する方法を図示し
たブロック図である。
【図4】本発明の代表的な実施例に基づくキャッシュ・
メンバー・ミスの場合に、要求されたオブジェクトを検
索する方法を図示したブロック図である。
【図5】本発明の代表的な実施例に基づくキャッシュ・
メンバー・ミスの場合に、要求されたオブジェクトを検
索する方法を図示したブロック図である。
【図6】本発明の代表的な実施例に基づくキャッシュ・
メンバー・ミスの場合に、要求されたオブジェクトを検
索する方法を図示したブロック図である。
【図7】本発明の代表的な実施例に基づくキャッシュ・
メンバー・ミスの場合に、要求されたオブジェクトを検
索する方法を図示したブロック図である。
【図8】本発明の代表的な実施例に基づくキャッシュ・
メンバー・ミスの場合に、要求されたオブジェクトを検
索する方法を図示したブロック図である。
【図9】本発明の代表的な実施例に基づく内容基準ルー
ティングの場合に、要求されたオブジェクトを検索する
方法を図示したブロック図である。
【符号の説明】
110 クライアント 120 クライアント 130 クライアント 150 ネットワーク 160 ネットワーク・ディスパッチャー 170 キャッシュ・アレイ 172 キャッシュ 174 キャッシュ 176 キャッシュ 178 キャッシュ 180 サーバ・クラスタ 182 サーバ 184 サーバ 186 サーバ 188 サーバ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アラン・クワンジル・イエンジャー アメリカ合衆国10598 ニューヨーク州ヨ ークタウンヘイツ パーク レーン 1160 (72)発明者 エリック・ルビイ−アベグノリ フランス国 ニース 67 アンシェン シ ェーム デ ラ ランターン 06200 (72)発明者 ジュンファ・ソン アメリカ合衆国10549 ニューヨーク州マ ウント キスコ デプロマット ドライブ 200

Claims (42)

    【特許請求の範囲】
  1. 【請求項1】複数のノードを含み、一以上のクライアン
    トからオブジェクトの要求を受け取るのに適合したシス
    テムにおいて用いられ、前記オブジェクトのうち要求さ
    れたオブジェクトを検索する方法であって、(a)前記
    クライアントのうちの一から前記要求の一を送るステッ
    プと、(b)前記複数のノードのうちの他のノードによ
    って、前記複数のノードのうちの一のノードから前記要
    求を受け取るステップと、(c)複数のプロトコルのう
    ちの一つを用いて前記複数のノードのうちの前記他のノ
    ードから要求されたオブジェクトを送り返すステップと
    を含む方法。
  2. 【請求項2】前記一のノードは前記クライアントの前記
    一つから前記要求を受け取る請求項1記載の方法。
  3. 【請求項3】前記一つのノードが前記複数のノードのう
    ちの他のノードから前記要求を受け取る請求項1記載の
    方法。
  4. 【請求項4】複数のプロトコルの前記一つが前記要求さ
    れたオブジェクトのサイズに基づいて選択される請求項
    1記載の方法。
  5. 【請求項5】前記要求されたオブジェクトのサイズが予
    め定められたサイズより小さいことに応じて、要求され
    たオブジェクトが前記他のノードから前記一のノード
    に、続いて、前記一のノードから前記クライアントの一
    に送り返される請求項4記載の方法。
  6. 【請求項6】前記要求されたオブジェクトのサイズが予
    め定められたサイズより大きいことに応じて、要求され
    たオブジェクトが、前記一のノードを最初に通過するこ
    となく、前記他のノードから前記クライアントのうちの
    前記一に送り返される請求項4記載の方法。
  7. 【請求項7】前記要求されたオブジェクトが、前記クラ
    イアントの前記一に送り返される前に、前記一のノード
    から前記複数のノードのうち少なくともさらなるノード
    に送り返される請求項5記載の方法。
  8. 【請求項8】前記要求されたオブジェクトが、前記クラ
    イアントの前記一に送り返される前に、前記他のノード
    から前記複数のノードのうち少なくともさらなるノード
    に送り返される請求項5記載の方法。
  9. 【請求項9】前記一のノードは複数のキャッシュを少な
    くとも一つ含み、前記一のノードが前記要求されたオブ
    ジェクトのキャッシュされたコピーを有しないことに応
    じて前記ステップ(b)が実行される請求項1記載の方
    法。
  10. 【請求項10】前記他のノードが前記複数のキャッシュ
    のうち少なくとも一つを含む請求項9記載の方法。
  11. 【請求項11】前記複数のノードの一つがバック−エン
    ド・サーバとして機能する請求1記載の方法。
  12. 【請求項12】さらに、前記他のノードが前記要求され
    たオブジェクトのキャッシュされたコピーを有しないこ
    とに応じて、バック−エンド・サーバに前記要求を送る
    ステップを含む、請求項11記載の方法。
  13. 【請求項13】さらに、前記複数のノードを横断して前
    記オブジェクトの所有権を分割するステップを含み、前
    記複数のノードのそれぞれは、前記複数のキャッシュの
    うちの一つを含む、請求項10記載の方法。
  14. 【請求項14】前記他のノードが前記要求されたオブジ
    ェクトの所有者であり、前記ステップ(b)が前記一の
    ノードが前記要求されたオブジェクトの所有者でないこ
    とに応じて実行される請求項13記載の方法。
  15. 【請求項15】いかなる前記オブジェクトも一の所有者
    を有する請求項13記載の方法。
  16. 【請求項16】いかなる前記オブジェクトも複数の所有
    者を有する請求項13記載の方法。
  17. 【請求項17】前記複数のプロトコルの一がHTTP
    (ハイパー・テキスト・トランスファー・プロトコ
    ル)、UDP(ユーザー・データグラム・プロトコル)
    及びハンドオフ・インターフェースのうちの一つである
    請求項1記載の方法。
  18. 【請求項18】前記複数のノードのうちの一がバック−
    エンド・サーバとして機能する請求10記載の方法。
  19. 【請求項19】さらに、前記他のノードが前記要求され
    たオブジェクトのキャッシュされたコピーを有しないこ
    とに応じて、バック−エンド・サーバに前記要求を送る
    ステップを含む、請求項18記載の方法。
  20. 【請求項20】要求されたオブジェクトを検索する方法
    であって、(a)要求されたオブジェクトの要求を第一
    のキャッシュに送信するステップと、(b)第一のキャ
    ッシュが要求されたオブジェクトに対応するか否かを決
    定するステップと、(c)第二のキャッシュが要求され
    たオブジェクトに対応するか否か識別するステップと、
    (d)複数のプロトコルのうちの一つを用いて、要求さ
    れたオブジェクトを第二のキャッシュ経由で検索するス
    テップとを含む方法。
  21. 【請求項21】要求されたオブジェクトが、第二のキャ
    ッシュから第一のキャッシュへ、及び、第一のキャッシ
    ュからクライアントへと要求されたオブジェクトを送信
    することによって検索される請求項20記載の方法。
  22. 【請求項22】要求されたオブジェクトの要求が第一の
    キャッシュから第二のキャッシュへと転送される請求項
    20記載の方法。
  23. 【請求項23】要求されたオブジェクトが、第二のキャ
    ッシュからクライアントに要求されたオブジェクトを送
    信することによって検索される請求項22記載の方法。
  24. 【請求項24】さらに、要求されたオブジェクトが第二
    のキャッシュに格納されていないかどうかを判断するス
    テップと、要求されたオブジェクトを第二のキャッシュ
    に関連づけられたサーバから検索するステップとを含む
    請求項20記載の方法。
  25. 【請求項25】ステップ(b)において第一のキャッシ
    ュが要求されたオブジェクトに対応していない場合に、
    ステップ(c)及び(d)が実行される請求項20記載
    の方法。
  26. 【請求項26】複数のオブジェクトのうちターゲットに
    なるオブジェクトを検索する方法であって、(a)複数
    のノードのうち少なくとも一つに複数のオブジェクトの
    それぞれを割り振るステップと、(b)複数のノードの
    それぞれに複数のキャッシュのうち少なくとも一つを割
    り振るステップと、(c)複数のノードのうちの第一の
    ノードに目標とするオブジェクトの要求を送信するステ
    ップと、(d)目標とするオブジェクトが第一のノード
    に割り振られるか否かを決定するステップと、(e)目
    標とするオブジェクトが第一のノードに割り振られない
    場合に、 (i)複数のノードのうちの第二のノードに要求を送信
    し、目標とするオブジェクトは第二のノードに割り振ら
    れ、 (ii)複数のプロトコルのうちの一つを用いて第二の
    ノードに割り振られたキャッシュ内に格納される場合、
    第二のノードに割り振られた複数のキャッシュのうちの
    一つのキャッシュから目標とするオブジェクトを検索す
    るステップとを含む、方法。
  27. 【請求項27】ステップ(ii)が、複数のプロトコル
    のうち少なくとも一つを経由して通信することによって
    実行される請求項26記載の方法。
  28. 【請求項28】前記複数のプロトコルの少なくとも一
    が、目標とするオブジェクトのサイズに基づいて選択さ
    れる請求項27記載の方法。
  29. 【請求項29】さらに、目標とするオブジェクトが第一
    のノードに割り振られていない場合、かつ、目標とする
    オブジェクトのサイズが予め定められたオブジェクトの
    サイズより小さい場合、目標とするオブジェクトを第二
    のノードから第一のノードへ送信し、目標とするオブジ
    ェクトを第一のノードからクライアントに送信するステ
    ップを含む請求項28記載の方法。
  30. 【請求項30】さらに、目標とするオブジェクトが第一
    のノードに割り振られていない場合、かつ、目標とする
    オブジェクトのサイズが予め定められたオブジェクトの
    サイズより大きい場合、目標とするオブジェクトを第二
    のノードからクライアントに送信するステップを含む請
    求項28記載の方法。
  31. 【請求項31】複数のプロトコルのうちの第一のプロト
    コルが第一のノードと第二のノードとの間で実行され、
    複数のプロトコルのうちの第二のプロトコルが第一のノ
    ードとクライアントとの間で実行される、請求項27記
    載の方法。
  32. 【請求項32】複数のプロトコルのうちの第一のプロト
    コルが第二のノードとクライアントとの間で実行され
    る、請求項27記載の方法。
  33. 【請求項33】さらに、目標とするオブジェクトが第一
    のノードに割り振られていない場合であって、目標とす
    るオブジェクトが第一のノードに割り振られたキャッシ
    ュ内に格納されているとき、第一のノードに割り振られ
    た複数のキャッシュのうちの一つのキャッシュから目標
    とするオブジェクトを検索するステップとを含む、請求
    項26記載の方法。
  34. 【請求項34】さらに、目標とするオブジェクトが第一
    のノードに割り振られたキャッシュ内に格納されていな
    い場合、目標とするオブジェクトを第一のノードに対応
    するサーバから検索するステップを含む、請求項33記
    載の方法。
  35. 【請求項35】目標とするオブジェクトが、第二のノー
    ドに割り振られたキャッシュに格納されていない場合、
    ステップ(e)での目標とするオブジェクトが第二のノ
    ードに対応するサーバから検索される請求項26記載の
    方法。
  36. 【請求項36】前記複数のプロトコルの一がHTTP
    (ハイパー・テキスト・トランスファー・プロトコ
    ル)、UDP(ユーザー・データグラム・プロトコル)
    及びハンドオフ・インターフェースのうちの一つである
    請求項20記載の方法。
  37. 【請求項37】一又はそれ以上のクライアントから前記
    オブジェクトの要求を受け取るために適応されたシステ
    ムにおいて、 複数のオブジェクトのうち要求されたオブジェクトを検
    索するためにそこで具体化された、コンピュータ読取可
    能なプログラムコード手段を有するコンピュータ使用可
    能な媒体を含む製品であって、 前記システムは複数のノードを含み、 前記製品内のコンピュータ読取可能なプログラムコード
    手段は、 コンピュータに (a)前記クライアントの一つから前記要求の一つを送
    らせ、 (b)前記複数のノードのうち他のノードによって前記
    複数のノードのうちの一つから前記要求を受け取らせ、 (c)複数のプロトコルのうちの一つを用いて前記複数
    のノードのうちの前記他のノードから前記要求されたオ
    ブジェクトを送り返させる、 コンピュータ読取可能なプログラムコード手段を含む。
  38. 【請求項38】一以上のクライアントから前記オブジェ
    クトの要求を受け取るのに適したシステムにおいて用い
    られ、複数のオブジェクトのうち要求されたオブジェク
    トを検索する方法のためのステップを実行するために、
    機械によって実行可能な指示を行うプログラムを含む、
    機械読み取り可能なデバイスであって、前記システムは
    複数のノードを含むものであって、 前記方法のための
    ステップが、 (a)前記クライアントのうちの一つから前記要求の一
    つを送り (b)複数のノードのうち他のノードによって前記複数
    のノードのうちの一のノードから前記要求を受け取り、 (c)複数のプロトコルのうちの一を用いて前記複数の
    ノードのうちの前記他のノードから前記要求されたオブ
    ジェクトを送り返すことを含む、機械読み取り可能なプ
    ログラムを記憶したデバイス。
  39. 【請求項39】複数のノードを含むシステムにおいて、
    前記ノードの間の要求を経路指定する方法であって、
    (a)要求の内容に基づいて、要求のうちの一つをノー
    ドのうち少なくとも一つへ選択的に送るステップと、
    (b)要求のうちの一つの要求を、要求の内容とは独立
    にノードのうちいずれかの一つに選択的に送るステップ
    と、(c)システムの性能を改善するために、ステップ
    (a)及び(b)が行われる頻度を変化させるステップ
    とを含む方法。
  40. 【請求項40】システムの資源を使用することを低減
    し、システムの性能を改善するために、ステップ(a)
    が実行される頻度を増加させる請求項39記載の方法。
  41. 【請求項41】システムの資源を使用することを低減
    し、システムの性能を改善するために、ステップ(b)
    が実行される頻度を増加させる請求項39記載の方法。
  42. 【請求項42】ステップ(a)がさらに一のノードから
    他のノーでへの接続のハンドオフを含む請求項39記載
    の方法。
JP32956799A 1998-11-20 1999-11-19 要求されたオブジェクトを検索する方法 Expired - Fee Related JP3595470B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/196944 1998-11-20
US09/196,944 US6490615B1 (en) 1998-11-20 1998-11-20 Scalable cache

Publications (2)

Publication Number Publication Date
JP2000187609A true JP2000187609A (ja) 2000-07-04
JP3595470B2 JP3595470B2 (ja) 2004-12-02

Family

ID=22727397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32956799A Expired - Fee Related JP3595470B2 (ja) 1998-11-20 1999-11-19 要求されたオブジェクトを検索する方法

Country Status (4)

Country Link
US (1) US6490615B1 (ja)
EP (1) EP1003100A3 (ja)
JP (1) JP3595470B2 (ja)
CN (1) CN1151448C (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012059257A (ja) * 2010-09-07 2012-03-22 Nhn Corp キャッシュクラウド構造を利用したキャッシュシステムおよびキャッシングサービスの提供方法
JP2013182349A (ja) * 2012-02-29 2013-09-12 Fujitsu Ltd 分散キャッシュについてのシステム、プログラム及び方法
JP2015525392A (ja) * 2012-12-28 2015-09-03 華為技術有限公司Huawei Technologies Co.,Ltd. 分散ストレージシステムのためのキャッシュ処理方法、ノード及びコンピュータ可読媒体
JP2022518372A (ja) * 2019-01-29 2022-03-15 シスコ テクノロジー,インコーポレイテッド レイテンシ制約下でのキャッシュのクラスタに対する効率的で柔軟な負荷分散

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192408B1 (en) * 1997-09-26 2001-02-20 Emc Corporation Network file server sharing local caches of file access information in data processors assigned to respective file systems
JP3451981B2 (ja) * 1999-04-30 2003-09-29 日本電気株式会社 インターネットのホームページデータ収集方法
US6792463B1 (en) * 1999-10-21 2004-09-14 International Business Machines Corporation System, method and program product for providing invisibility to a proxy-server
JP3463803B2 (ja) * 1999-11-09 2003-11-05 松下電器産業株式会社 クラスタサーバ装置
US6820133B1 (en) * 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US20030237016A1 (en) * 2000-03-03 2003-12-25 Johnson Scott C. System and apparatus for accelerating content delivery throughout networks
US7020719B1 (en) * 2000-03-24 2006-03-28 Netli, Inc. System and method for high-performance delivery of Internet messages by selecting first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US7162542B2 (en) 2000-04-13 2007-01-09 Intel Corporation Cascading network apparatus for scalability
AU2001257058A1 (en) * 2000-04-17 2001-10-30 Circadence Corporation System and method for on-network storage services
US7395348B1 (en) * 2000-06-05 2008-07-01 Cisco Technology, Inc. Network cache-based content routing
US6947977B1 (en) 2000-06-09 2005-09-20 Metadigm Llc Scalable transaction system for a network environment
US20020103882A1 (en) * 2000-10-02 2002-08-01 Johnston Robin Andrew Courtland Method and system for hands-on e-learning
US20020055983A1 (en) * 2000-11-03 2002-05-09 The Board Of Regents Of The University Of Nebraska Computer server having non-client-specific persistent connections
US20020055982A1 (en) * 2000-11-03 2002-05-09 The Board Of Regents Of The University Of Nebraska Controlled server loading using L4 dispatching
US20030046394A1 (en) * 2000-11-03 2003-03-06 Steve Goddard System and method for an application space server cluster
US7216154B1 (en) * 2000-11-28 2007-05-08 Intel Corporation Apparatus and method for facilitating access to network resources
JP2003122658A (ja) * 2001-10-11 2003-04-25 Hitachi Ltd データ配送方法
US20030079027A1 (en) * 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
CA2410172A1 (en) * 2001-10-29 2003-04-29 Jose Alejandro Rueda Content routing architecture for enhanced internet services
JP2005525757A (ja) 2002-05-10 2005-08-25 インターディジタル テクノロジー コーポレイション サービング無線ネットワークコントローラによるノードbの消去制御を可能にするためのシステム
US20030233470A1 (en) * 2002-06-12 2003-12-18 International Business Machines Corporation Network storage data redirection
US6954798B2 (en) * 2002-08-28 2005-10-11 Matsushita Electric Works, Ltd. Content-based routing of data from a provider to a requestor
US8230090B2 (en) * 2002-09-11 2012-07-24 Broadcom Corporation System and method for TCP offloading and uploading
US7765196B2 (en) * 2003-06-23 2010-07-27 Dell Products L.P. Method and apparatus for web cache using database triggers
US7363378B2 (en) * 2003-07-01 2008-04-22 Microsoft Corporation Transport system for instant messaging
US7539727B2 (en) * 2003-07-01 2009-05-26 Microsoft Corporation Instant messaging object store
US7293156B2 (en) * 2003-07-15 2007-11-06 Xiv Ltd. Distributed independent cache memory
US7827353B2 (en) * 2003-07-15 2010-11-02 International Business Machines Corporation Self healing memory
US7299334B2 (en) * 2003-07-15 2007-11-20 Xiv Ltd. Storage system configurations
US20050015546A1 (en) * 2003-07-15 2005-01-20 Ofir Zohar Data storage system
US7614071B2 (en) * 2003-10-10 2009-11-03 Microsoft Corporation Architecture for distributed sending of media data
AU2003304561A1 (en) * 2003-10-22 2005-06-08 International Business Machines Corporation Connection management method, system, and program product
US7447797B2 (en) * 2003-10-29 2008-11-04 International Business Machines Corporation Method and system for processing a service request associated with a particular priority level of service in a network data processing system using parallel proxies
US8171084B2 (en) * 2004-01-20 2012-05-01 Microsoft Corporation Custom emoticons
US8234414B2 (en) 2004-03-31 2012-07-31 Qurio Holdings, Inc. Proxy caching in a photosharing peer-to-peer network to improve guest image viewing performance
US20060064482A1 (en) * 2004-09-21 2006-03-23 Nybo Chad A System and method for caching data and filtering data requests in a client application
US7433700B2 (en) * 2004-11-12 2008-10-07 Microsoft Corporation Strategies for peer-to-peer instant messaging
US7698386B2 (en) * 2004-11-16 2010-04-13 Qurio Holdings, Inc. Serving content from an off-line peer server in a photosharing peer-to-peer network in response to a guest request
CN100458776C (zh) * 2005-01-13 2009-02-04 龙搜(北京)科技有限公司 网络缓存管理的系统和方法
JP5183214B2 (ja) * 2005-01-24 2013-04-17 サイトリックス システムズ,インコーポレイテッド ネットワークにおいて動的に生成されたオブジェクトのキャッシングを実行するためのシステムおよび方法
US20060195532A1 (en) * 2005-02-28 2006-08-31 Microsoft Corporation Client-side presence documentation
US7529255B2 (en) * 2005-04-21 2009-05-05 Microsoft Corporation Peer-to-peer multicasting using multiple transport protocols
US8688801B2 (en) * 2005-07-25 2014-04-01 Qurio Holdings, Inc. Syndication feeds for peer computer devices and peer networks
US8447828B2 (en) * 2005-09-21 2013-05-21 Qurio Holdings, Inc. System and method for hosting images embedded in external websites
US8005889B1 (en) 2005-11-16 2011-08-23 Qurio Holdings, Inc. Systems, methods, and computer program products for synchronizing files in a photosharing peer-to-peer network
US20070112938A1 (en) * 2005-11-17 2007-05-17 Nokia Corporation Intermediary, source and methods for sharing content
US8788572B1 (en) 2005-12-27 2014-07-22 Qurio Holdings, Inc. Caching proxy server for a peer-to-peer photosharing system
US9390019B2 (en) * 2006-02-28 2016-07-12 Violin Memory Inc. Method and apparatus for providing high-performance and highly-scalable storage acceleration
US20080091868A1 (en) * 2006-10-17 2008-04-17 Shay Mizrachi Method and System for Delayed Completion Coalescing
US7904470B2 (en) 2007-06-13 2011-03-08 Sap Ag Discovery service for electronic data environment
US7925782B2 (en) * 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US20110106883A1 (en) * 2008-07-01 2011-05-05 Ajay Gupta Remote computing services
US8499120B2 (en) * 2008-10-17 2013-07-30 Seagate Technology Llc User selectable caching management
US8135840B2 (en) * 2008-11-20 2012-03-13 At&T Intellectual Property I, Lp Systems and methods for directing content requests to servers
KR101139754B1 (ko) * 2009-07-23 2012-04-26 주식회사 아라기술 미러링 기반의 데이터 캐시를 이용하여 분산된 사용자들에게 정보를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
US9158788B2 (en) * 2009-12-16 2015-10-13 International Business Machines Corporation Scalable caching of remote file data in a cluster file system
US8473582B2 (en) * 2009-12-16 2013-06-25 International Business Machines Corporation Disconnected file operations in a scalable multi-node file system cache for a remote cluster file system
US8458239B2 (en) 2009-12-16 2013-06-04 International Business Machines Corporation Directory traversal in a scalable multi-node file system cache for a remote cluster file system
US8495250B2 (en) 2009-12-16 2013-07-23 International Business Machines Corporation Asynchronous file operations in a scalable multi-node file system cache for a remote cluster file system
US20110153953A1 (en) * 2009-12-23 2011-06-23 Prakash Khemani Systems and methods for managing large cache services in a multi-core system
CN102577241B (zh) 2009-12-31 2014-07-30 华为技术有限公司 分布式缓存资源调度的方法、装置及系统
US8402112B2 (en) 2011-01-14 2013-03-19 Microsoft Corporation Inter-cache communication using HTTP resource
US8612550B2 (en) 2011-02-07 2013-12-17 Microsoft Corporation Proxy-based cache content distribution and affinity
US20120297009A1 (en) * 2011-05-18 2012-11-22 Oversi Networks Ltd. Method and system for cahing in mobile ran
AU2013324640B2 (en) * 2012-09-27 2016-01-28 Amadeus S.A.S. System and method for load distribution in a network
US9031891B2 (en) 2012-09-27 2015-05-12 Amadeus S.A.S. Computing system and method for controlling the execution of a decision process to maintain the data access efficiency upon receipt of an availability information inquiry
US9246998B2 (en) 2012-10-16 2016-01-26 Microsoft Technology Licensing, Llc Load balancer bypass
CN103064979A (zh) * 2013-01-15 2013-04-24 中兴通讯股份有限公司 一种路由器处理网页数据的方法以及路由器
US9652270B2 (en) * 2014-03-21 2017-05-16 Intel Corporation Apparatus and method for virtualized computing
CN110046309A (zh) * 2019-04-02 2019-07-23 北京字节跳动网络技术有限公司 文档输入内容的处理方法、装置、电子设备和存储介质
CN112787993A (zh) * 2020-12-25 2021-05-11 北京金万维科技有限公司 一种基于udp协议高并发http请求缓存和内容推送系统及方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05122274A (ja) * 1991-10-24 1993-05-18 Matsushita Electric Ind Co Ltd 統合文書フアイル転送方法
JPH06309264A (ja) * 1993-03-23 1994-11-04 Internatl Business Mach Corp <Ibm> キャッシュ・サーバ・ノードを有するコンピュータ・ネットワークにおける資源を探索する方法及び装置
JPH09277624A (ja) * 1996-04-09 1997-10-28 Ricoh Co Ltd 画像形成装置
JPH1021134A (ja) * 1996-07-04 1998-01-23 Sharp Corp ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム
JPH1021174A (ja) * 1996-07-01 1998-01-23 Ricoh Co Ltd データ転送システム
JPH10301880A (ja) * 1997-04-10 1998-11-13 At & T Corp スケーラブルネットワークオブジェクトキャッシュ
JPH1153322A (ja) * 1997-07-31 1999-02-26 Nippon Telegr & Teleph Corp <Ntt> オブジェクト探索取得方法並びに探索サーバ及び記録媒体
WO2000022526A1 (en) * 1998-10-09 2000-04-20 International Business Machines Corporation Load balancing cooperating cache servers

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4503501A (en) 1981-11-27 1985-03-05 Storage Technology Corporation Adaptive domain partitioning of cache memory space
US5845280A (en) * 1995-09-25 1998-12-01 Microsoft Corporation Method and apparatus for transmitting a file in a network using a single transmit request from a user-mode process to a kernel-mode process
EP0773503B1 (en) * 1995-11-10 2004-03-31 Kabushiki Kaisha Toshiba File transfer method, method for a file requesting client device, and file server device
US5842216A (en) 1996-05-03 1998-11-24 Mitsubishi Electric Information Technology Center America, Inc. System for sending small positive data notification messages over a network to indicate that a recipient node should obtain a particular version of a particular data item
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US5809250A (en) 1996-10-23 1998-09-15 Intel Corporation Methods for creating and sharing replayable modules representive of Web browsing session
US6012126A (en) * 1996-10-29 2000-01-04 International Business Machines Corporation System and method for caching objects of non-uniform size using multiple LRU stacks partitions into a range of sizes
US5915088A (en) * 1996-12-05 1999-06-22 Tandem Computers Incorporated Interprocessor messaging system
US5999979A (en) * 1997-01-30 1999-12-07 Microsoft Corporation Method and apparatus for determining a most advantageous protocol for use in a computer network
SE9700622D0 (sv) * 1997-02-21 1997-02-21 Ericsson Telefon Ab L M Anordning och metod vid datanät
US6122666A (en) * 1998-02-23 2000-09-19 International Business Machines Corporation Method for collaborative transformation and caching of web objects in a proxy network
US6341311B1 (en) * 1998-05-29 2002-01-22 Microsoft Corporation Directing data object access requests in a distributed cache
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
US6212565B1 (en) * 1998-08-26 2001-04-03 Sun Microsystems, Inc. Apparatus and method for improving performance of proxy server arrays that use persistent connections

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05122274A (ja) * 1991-10-24 1993-05-18 Matsushita Electric Ind Co Ltd 統合文書フアイル転送方法
JPH06309264A (ja) * 1993-03-23 1994-11-04 Internatl Business Mach Corp <Ibm> キャッシュ・サーバ・ノードを有するコンピュータ・ネットワークにおける資源を探索する方法及び装置
JPH09277624A (ja) * 1996-04-09 1997-10-28 Ricoh Co Ltd 画像形成装置
JPH1021174A (ja) * 1996-07-01 1998-01-23 Ricoh Co Ltd データ転送システム
JPH1021134A (ja) * 1996-07-04 1998-01-23 Sharp Corp ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム
JPH10301880A (ja) * 1997-04-10 1998-11-13 At & T Corp スケーラブルネットワークオブジェクトキャッシュ
JPH1153322A (ja) * 1997-07-31 1999-02-26 Nippon Telegr & Teleph Corp <Ntt> オブジェクト探索取得方法並びに探索サーバ及び記録媒体
WO2000022526A1 (en) * 1998-10-09 2000-04-20 International Business Machines Corporation Load balancing cooperating cache servers

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012059257A (ja) * 2010-09-07 2012-03-22 Nhn Corp キャッシュクラウド構造を利用したキャッシュシステムおよびキャッシングサービスの提供方法
JP2013182349A (ja) * 2012-02-29 2013-09-12 Fujitsu Ltd 分散キャッシュについてのシステム、プログラム及び方法
JP2015525392A (ja) * 2012-12-28 2015-09-03 華為技術有限公司Huawei Technologies Co.,Ltd. 分散ストレージシステムのためのキャッシュ処理方法、ノード及びコンピュータ可読媒体
US9424204B2 (en) 2012-12-28 2016-08-23 Huawei Technologies Co., Ltd. Caching method for distributed storage system, a lock server node, and a lock client node
JP2022518372A (ja) * 2019-01-29 2022-03-15 シスコ テクノロジー,インコーポレイテッド レイテンシ制約下でのキャッシュのクラスタに対する効率的で柔軟な負荷分散
JP7405856B2 (ja) 2019-01-29 2023-12-26 シスコ テクノロジー,インコーポレイテッド レイテンシ制約下でのキャッシュのクラスタに対する効率的で柔軟な負荷分散

Also Published As

Publication number Publication date
CN1151448C (zh) 2004-05-26
JP3595470B2 (ja) 2004-12-02
EP1003100A2 (en) 2000-05-24
EP1003100A3 (en) 2006-07-26
US6490615B1 (en) 2002-12-03
CN1259704A (zh) 2000-07-12

Similar Documents

Publication Publication Date Title
JP2000187609A (ja) 要求されたオブジェクトを検索する方法及び記録デバイス
US6317778B1 (en) System and method for replacement and duplication of objects in a cache
US7565450B2 (en) System and method for using a mapping between client addresses and addresses of caches to support content delivery
US7908337B2 (en) System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content
US7725596B2 (en) System and method for resolving network layer anycast addresses to network layer unicast addresses
US8171139B2 (en) Hierarchical load balancing
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
US6542964B1 (en) Cost-based optimization for content distribution using dynamic protocol selection and query resolution for cache server
EP1125416B1 (en) System for responding to a resource request
JP2953591B2 (ja) サーバ・コンピュータのプロセッサ全体にわたる負荷平衡化
US20020199014A1 (en) Configurable and high-speed content-aware routing method
WO2001080516A2 (en) System and method for network caching
KR100856515B1 (ko) 고성능 클라이언트 서버 통신 시스템
AU777806B2 (en) Method and apparatus for anonymous subject-based addressing
US7103671B2 (en) Proxy client-server communication system
EP1277327B1 (en) System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content
WO2001084802A2 (en) System and method for using uniform resource locators to map application layer content names to network layer anycast addresses
WO2001084803A2 (en) System and method for resolving network layer anycast addresses to network layer unicast addresses

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040721

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040903

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

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080910

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090910

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090910

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100910

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100910

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110910

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120910

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130910

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees