(57)【特許請求の範囲】
【請求項１】
クライアントからキャッシュサーバーに対して特定データの有無の問合わせが行われた時に、当該キャッシュサーバーに当該データが存在しない場合は、当該キャッシュサーバー自身が他のキャッシュサーバーに対して当該データの有無の問合わせを行って当該データの有無と当該データを保持するキャッシュサーバーを発見する大規模分散キャッシュサーバーネットワークにおいて、
各キャッシュサーバーが、
（１）  実際のデータ及びそのデータ名
（２）  他のキャッシュサーバーから過去に問合わされたデータ名及び問合わせ元キャッシュサーバー名
の２種類のキャッシュデータを保持し、クライアントから直接問合わされたキャッシュサーバー（キャッシュサーバー０）は、
（ａ）  キャッシュサーバー０自身のキャッシュデータ（１）  に目的データがあるなら、〔キャッシュサーバー０内に目的データが存在する〕とし、
（ｂ）  キャッシュサーバー０自身のキャッシュデータ（２）  に過去に他のキャッシュサーバーから問合わされた経験が確認されたなら、〔その問合わせ元キャッシュサーバー内に目的データが存在する〕とし、
（ｃ）  キャッシュサーバー０が、固定的に定められた特定の１又は複数の他のキャッシュサーバーに問合わせ、そのキャッシュサーバーのキャッシュデータ（１）  に目的データがあるなら、〔そのキャッシュサーバーに目的データが存在する〕とし、
（ｄ）  （ｃ）  において、問合わされたキャッシュサーバーのキャッシュデータ（２）  に、過去に他のキャッシュサーバーから問合わされた経験が確認されたなら、〔その問合わせ元キャッシュサーバー内に目的データが存在する〕とする、
目的データ存在判断論理で、当該キャッシュサーバーネットワーク内の目的とするデータの存在と当該データを保持するキャッシュサーバーとを発見するデータ発見方法。
【請求項２】
クライアントと複数のキャッシュサーバーとが接続される大規模分散キャッシュサーバーネットワークの下で、クライアントからの特定データの存在有無の問合わせに従って当該特定データを発見する場合に、当該特定データが存在しないときは、他のキャッシュサーバーへ当該特定データの存在有無の問合わせを行うキャッシュサーバーにおいて、
（１）実際のデータ及びそのデータ名、
（２）他のキャッシュサーバーから過去に問合わされたデータ名及び問合わせ元キャッシュサーバー名、
の２種類のキャッシュデータを保持して管理する管理部と、
前記特定データの存在有無の問合わせを受信した場合に、前記管理部に問合わせを行い、
（ａ）当該キャッシュサーバー自身のキャッシュデータ（１）に目的データがあるときは、〔当該キャッシュサーバー内に目的データが存在する〕とし、
（ｂ）当該キャッシュサーバー自身のキャッシュデータ（２）に過去に他のキャッシュサーバーから問合わされた経験が確認されたときは、〔その問合わせ元キャッシュサーバー内に目的データが存在する〕とし、
（ｃ）当該キャッシュサーバー自身のキャッシュデータ（２）に過去に他のキャッシュサーバーから問合わされた経験が確認されないときは、固定的に定められた特定の１又は複数の他のキャッシュサーバーに、前記特定データの存在有無の問合わせを行う問合わせ部とを備えたことを特徴とするキャッシュサーバー。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、キャッシュサーバーを分散させたWorld Wide Web（ＷＷＷ）等のような蓄積型データ転送を行うネットワークにおいて、複数のキャッシュサーバーを協調させることによって実現される大規模キャッシュサーバーネットワークにおけるデータ発見方法及びキャッシュサーバーに関する。
【０００２】
大規模キャッシュサーバーネットワークにおける各クライアントは、キャッシュサーバーを経由し、目的とするデータを持つＷＷＷページ等のデータを配備しているデータ蓄積サーバーにアクセスする。或るクライアントが或るＷＷＷサーバーのようなデータ蓄積サーバーにアクセスし、データ蓄積サーバーからクライアント側へデータ転送を行う時に、キャッシュサーバーは当該データをキャッシュする。他のキャッシュサーバーが同一データを要求するときに、キャッシュサーバーは、データ蓄積サーバーのデータの代わりにキャッシュされたデータをキャッシュサーバーに転送することができる。このようなネットワーク内のキャッシュサーバーの利用によって、クライアントに対するＷＷＷページ等のデータ転送を高速化することが可能である。
【０００３】
しかしながら、多くの場合、キャッシュサーバーは単独で利用されているため、近くの他のキャッシュサーバーが目的とするＷＷＷページ等のデータをキャッシュしている場合であっても、オリジナルのデータを持つデータ蓄積サーバーに直接アクセスしてしまうことになる。これら複数のキャッシュサーバーが協調することができれば、クライアントにとってはキャッシュヒット率が向上し、より高速のデータ転送がなされることが期待される。また、キャッシュサーバーネットワークが大規模であれば、多数のクライアントのアクセスによってキャッシュデータの蓄積が多くなるので、キャッシュヒット率の向上も期待できる。
【０００４】
そこで、複数のキャッシュサーバーを協調させるキャッシュサーバーネットワークとして、クライアントからアクセスされた時に他のキャッシュサーバーにキャッシュデータの存在を問合わせる方法がある。この方法では、クライアントから直接問合わされたキャッシュサーバーが、キャッシュサーバーネットワーク内に存在する全てのキャッシュサーバーに問合わせる。問合わされたキャッシュサーバーは、問合わせ元のキャッシュサーバーに対して、目的としているデータの有無を返答する。目的としているデータをキャッシュしているキャッシュサーバーが発見されたら、クライアントから直接問合わされたキャッシュサーバーは、データをキャッシュしているキャッシュサーバーに対してそのデータの転送を要求する。
【０００５】
このような従来の方法では、全てのキャッシュサーバーに対して問合わせを行うため、規模が大きくなるに従ってキャッシュサーバー間の問合わせ数が著しく増大するという問題がある。問合わせ数の増大は、各キャッシュサーバーへの負荷を増大させることになり、多数のキャッシュサーバーを効率的に利用することができないことになる。
【０００６】
【発明が解決しようとする課題】
本発明の目的は、上記の問題点を解決するため、キャッシュサーバー間の問合わせ回数を減らすことができる新しいキャッシュデータ発見方法及びキャッシュサーバーを提供することにある。
【０００７】
【課題を解決するための手段】
本発明は、上記の目的を達成するため、各キャッシュサーバーが、(1) 実際のデータ及びそのデータ名(2) 他のキャッシュサーバーから過去に問合わされたデータ名及び問合わせ元キャッシュサーバー名の２種類のキャッシュデータを保持し、クライアントから直接問合わされたキャッシュサーバー（キャッシュサーバー０）は、(a) キャッシュサーバー０自身のキャッシュデータ(1) に目的データがあるなら、〔キャッシュサーバー０内に目的データが存在する〕とし、(b) キャッシュサーバー０自身のキャッシュデータ(2) に過去に他のキャッシュサーバーから問合わされた経験が確認されたなら、〔その問合わせ元キャッシュサーバー内に目的データが存在する〕とし、(c) キャッシュサーバー０が固定的に定められた特定の１又は複数の他のキャッシュサーバーに問合わせ、そのキャッシュサーバーのキャッシュデータ(1) に目的データがあるなら、〔そのキャッシュサーバーに目的データが存在する〕とし、(d) (c) において問合わされたキャッシュサーバーのキャッシュデータ(2) に、過去に他のキャッシュサーバーから問合わされた経験が確認されたなら、〔その問合わせ元キャッシュサーバー内に目的データが存在する〕とする、目的データ存在判断論理で、当該キャッシュサーバーネットワーク内における目的とするデータの存在と当該データを保持するキャッシュサーバーとを発見することを特徴とする。
【０００８】
本発明によれば、各キャッシュサーバーが他のキャッシュサーバーから過去に問合わされたデータ名及び問合わせ元のキャッシュサーバー名をキャッシュすることにより、キャッシュサーバー間の問合わせ数を削減することができる。これは、過去に他のキャッシュサーバーから問合わされたということは、問合わせ元のキャッシュサーバーが、問合わせ先のキャッシュサーバーのいずれかから或いはＷＷＷ等のデータ蓄積サーバーから取得したデータをキャッシュしていることになるとの理由による。これにより、クライアントから直接問合わされているキャッシュサーバー０は、自身に対して問合わせをしたことのあるキャッシュサーバー及び自身が問合わせをしているキャッシュサーバーに問合わせたことのある他のキャッシュサーバーには問合わせを行う必要がなくなり、数少ないキャッシュサーバーに問合わせるだけで目的とするキャッシュサーバーを特定することができる。
【０００９】
【発明の実施の形態】
次に図面を用いて本発明の実施例を説明する。図１は本発明の実施例を説明するためのネットワークを表す図であり、ＷＷＷページのデータ転送を目的とするキャッシュネットワークを表す。０、１、２、３及び４はキャッシュサーバーである。この図ではキャッシュサーバー数は５台であるが、いくつでも多くすることができる。６はＷＷＷページの取得を要求するクライアント、７はＷＷＷページを提供するＷＷＷサーバーである。図中の矢印は、ネットワークの運用が定常状態に達した時の各キャッシュサーバー間の問合わせ関係を表し、各キャッシュサーバーは他のキャッシュサーバーに問合わせる時に、矢印が存在するキャッシュサーバーに対してのみ問合わせるものとする。
【００１０】
図２はキャッシュサーバー１０の構成図である。１１はキャッシュサーバー内の実データキャッシュデータ管理部で、ＷＷＷサーバーのＷＷＷページのデータを蓄積し管理する。１２はキャッシュサーバー内の問合わせキャッシュデータ管理部で、どのキャッシュデータをどのキャッシュサーバーが保持しているかの情報を管理する。１３は問合わせ部で、クライアントからのアクセスを受付け、当該キャッシュサーバー内の実データキャッシュデータ管理部及び問合わせキャッシュサーバー管理部への問合わせと、他のキャッシュサーバーへの問合わせを行う。
【００１１】
クライアント６が或るＷＷＷページの閲覧を要求する場合、クライアント６から或るキャッシュサーバー（図２ではキャッシュサーバー０）に対して、或る特定のデータの有無の問合わせが行われる。この時問合わされたキャッシュサーバー０に当該データが存在しない場合は、当該キャッシュサーバー自身が他のキャッシュサーバーに対して当該データの有無の問合わせを行い、当該データの存在の有無と当該データを保持するキャッシュサーバーとの発見に努める。
【００１２】
当該データを保持するキャッシュサーバーを発見できなかった場合には、キャッシュサーバー０が直接ＷＷＷサーバー７にデータの転送を要求し、このデータがキャッシュサーバー０を経由してクライアントに転送される。このデータの転送を行う時に、キャッシュサーバー０は当該データをキャッシュする。また、当該データを保持するキャッシュサーバーを発見できた場合は、同様にキャッシュサーバー０を経由してクライアントに対してデータの転送が行われ、キャッシュサーバー０は当該データをキャッシュする。
【００１３】
各キャッシュサーバーは、実データキャッシュデータ管理部１１及び問合わせキャッシュデータ管理部１２のそれぞれに、キャッシュするデータとして、
（１）  実際のデータ（ＷＷＷページデータ）及びそのデータ名（ＵＲＬ）
（２）  他のキャッシュサーバーから過去に問合わされたデータ名（ＵＲＬ）及び問合わせ元キャッシュサーバー名
のキャッシュデータを持つ。
【００１４】
次に、図３のフローチャートを参照して、本発明の方法において用いられる論理を説明する。クライアントから直接問合わされた（ステップ１０１  ）キャッシュサーバー（キャッシュサーバー０）は、問合わせ部分１３で受付け（ステップ１０２  ）、実データキャッシュデータ管理部１１に目的データの有無を問合わせる（ステップ１０３  ）。その結果、（ａ）  キャッシュサーバー０自身のキャッシュデータ（１）  に目的データがあるなら、〔キャッシュサーバー０内に目的データが存在する〕とする（ステップ１０４  ）。
【００１５】
問合わせの結果が無しならば、問合わせキャッシュデータ管理部１２に過去の経験の有無を問合わせる（ステップ１０５  ）。その結果、（ｂ）  キャッシュサーバー０自身のキャッシュデータ（２）  に過去に他のキャッシュサーバーから問合わされた経験が確認されたなら、〔その問合わせ元キャッシュサーバー内に目的データが存在する〕とする（ステップ１０６  ）。
【００１６】
問合わせの結果が無しならば、（ｃ）  キャッシュサーバー０が固定的に定められた特定の１又は複数の他のキャッシュサーバーに問合わせ（ステップ１０７  ）、そのキャッシュサーバーのキャッシュデータ（１）  に目的データがあるなら（ステップ１０８  ）、〔キャッシュサーバー０内に目的データが存在する〕とする（ステップ１０９  ）。
【００１７】
問合わせの結果が無しならば、（ｄ）  （ｃ）  において問合わされたキャッシュサーバーのキャッシュデータ（２）  に、過去に他のキャッシュサーバーから問合わされた経験が確認されたなら（ステップ１１０  ）、〔その問合わせ元キャッシュサーバー内に目的データが存在する〕とする（ステップ１１１  ）。図のステップ１１２  は発見できずに終了するステップ、ステップ１１３  は発見して終了するステップである。
【００１８】
図４に本発明による方法を実行した場合の効果を評価した結果を示す。図は、本発明による方法を用いて特定のキャッシュサーバーに対する最大問合わせ回数を最小かさせた場合と、全キャッシュサーバーに対してブロードキャストで問合わせる従来の方法との、最大問合わせ回数の比較を示している。ここでは各キャッシュサーバーからの問合わせは均等に発生するとし、本発明の方法における問合わせ回数は、相当の時間が経過してキャッシュサーバーネットワーク内の問合わせ発生が既に定常状態にある時に、問合わせ関係が生じるキャッシュサーバーの組の数を示す。このように、本発明の方法によれば問合わせ回数を著しく減らすことができる。
【００１９】
以上詳細に説明した本発明のキャッシュデータ発見の論理は、一度キャッシュデータを問合わせたキャッシュサーバーが、データを取得した後これを破棄せずに保持し続けることを前提としている。ところがこの前提は厳密には正しくないものであり、各キャッシュサーバーは記憶容量の制限或いはタイムアウト等の理由によって取得したキャッシュデータをいずれは廃棄する。このような要因を考慮すると、本発明のキャッシュデータ発見論理は既にキャッシュデータを破棄しているキャッシュサーバーを、キャッシュデータ保持サーバーと誤って結論する可能性を含んでいる。しかしながら、各キャッシュサーバーの記憶容量が大きくタイムアウトの制限も緩い場合にはこのように誤って結論する可能性は少ない。更に、誤った結論を得た場合はオリジナル情報サーバーに直接アクセスする等の対処をしておけば、全体として本発明の効果を損なうものではない。
【図面の簡単な説明】
【図１】本発明の実施例を説明するためのキャッシュサーバーネットワークを表す図である。
【図２】キャッシュサーバーの構成の例を示す図である。
【図３】本発明の実施例のフローチャートである。
【図４】本発明による方法を実行した場合の効果を評価した結果を示す図である。
【符号の説明】
０、１、２、３、４  キャッシュサーバー
６  クライアント
７  ＷＷＷサーバー
１０  キャッシュサーバー
１１  実データキャッシュデータ管理部
１２  問合わせキャッシュデータ管理部
１３  問合わせ部
【図１】
0003599153.tif 000002
【図２】
0003599153.tif 000003
【図３】
0003599153.tif 000004
【図４】
0003599153.tif 000005