(57)【要約】【課題】複数のキャッシュサーバから構成される分散キャッシュシステムにおいて、大規模なネットワークに適用可能な分散キャッシュシステムを提供する。【解決手段】複数のキャッシュ制御サーバから構成される分散キャッシュシステムにおいて、各キャッシュ制御サーバが管理するコンテンツの情報を分割して管理する。キャッシュ連携ルータでは、クライアントから要求されたコンテンツが分散キャッシュシステム内に記憶されていた場合に、当該コンテンツの情報を管理するキャッシュ制御サーバにコンテンツの要求を転送する。さらに、キャッシュ制御サーバに、分散キャッシュシステムに追加した際に、自己のアドレスを分散キャッシュシステム内に通知する機能を持たる。通知を受信したキャッシュ制御サーバは前記追加したキャッシュ制御サーバにコンテンツの情報を送信しコンテンツ情報の同期を取ることでキャッシュ制御サーバを増設可能とする。【選択図】図１
2007066161.tif 000002
【特許請求の範囲】
【請求項１】
クライアントから要求されるコンテンツを記憶する複数のキャッシュサーバ、前記キャッシュサーバに記憶されるコンテンツの情報を管理するキャッシュ制御サーバ、及び前記クライアントから要求されるコンテンツがキャッシュシステム内に記憶されているか否かを判定するキャッシュ連携ルータを備えるキャッシュシステムであって、
複数の前記キャッシュ制御サーバを備え、
前記各キャッシュ制御サーバは、前記キャッシュシステム内に記憶されているコンテンツの情報を分担して管理し、
前記キャッシュ連携ルータは、
前記各キャッシュ制御サーバによって管理されるコンテンツの情報を把握し、
前記クライアントからコンテンツの要求を受信すると、当該要求に係るコンテンツの情報を管理するキャッシュ制御サーバを特定し、
当該クライアントからの要求を、前記特定されたキャッシュ制御サーバへ転送すること特徴とするキャッシュシステム。
【請求項２】
前記キャッシュ連携ルータは、
前記キャッシュシステム内に記憶されているコンテンツの識別子をハッシュ値に変換した値、及び当該コンテンツの情報を管理するキャッシュ制御サーバのアドレスとの関係を含むヒット判定情報を保持し、
前記ヒット判定情報を用いて、前記クライアントから要求されたコンテンツが前記キャッシュシステム内に記憶されているか否かを判定し、前記要求されたコンテンツの情報を管理するキャッシュ制御サーバを特定し、
前記クライアントからの当該コンテンツの要求を、前記特定されたキャッシュ制御サーバに転送することを特徴とする請求項１に記載のキャッシュシステム。
【請求項３】
前記キャッシュサーバは、
新たに追加されたキャッシュ制御サーバのアドレスの通知を受信し、
新たにコンテンツを受信すると、前記キャッシュシステム内に設けられた前記キャッシュ制御サーバの数を用いて、当該コンテンツの情報を管理するキャッシュ制御サーバを特定し、
当該コンテンツの情報を、前記特定されたキャッシュ制御サーバに送信することを特徴とする請求項１に記載のキャッシュシステム。
【請求項４】
前記キャッシュ制御サーバは、前記キャッシュシステムに新たに追加されると、前記キャッシュシステム内に設けられた全ての前記キャッシュサーバ及び前記キャッシュ制御サーバに自己のアドレスを通知することを特徴とする請求項１に記載のキャッシュシステム。
【請求項５】
前記キャッシュ制御サーバは、
前記追加されたキャッシュ制御サーバからのアドレスの通知を受信すると、自己が管理すべきコンテンツの範囲を計算し、
前記計算結果に基づいて、前記キャッシュ制御サーバ間でコンテンツの情報を交換することを特徴とする請求項４に記載のキャッシュシステム。
【請求項６】
前記キャッシュ制御サーバは、
前記キャッシュ連携ルータからコンテンツの要求を受信すると、前記キャッシュサーバ間のコンテンツの交換を制御し、
その後、当該コンテンツの情報を管理するキャッシュ制御サーバを計算し、
前記計算の結果、他のキャッシュ制御サーバが当該コンテンツの情報を管理すべきと判断すると、当該コンテンツの情報を当該他のキャッシュ制御サーバに転送することを特徴とする請求項４に記載のキャッシュシステム。
【請求項７】
クライアントから要求されるコンテンツを記憶する複数のキャッシュサーバ、前記キャッシュサーバに記憶されるコンテンツの情報を管理するキャッシュ制御サーバ、及び前記クライアントから要求されるコンテンツがキャッシュシステム内に記憶されているか否かを判定するキャッシュ連携ルータを備えるキャッシュシステムであって、
前記キャッシュ連携ルータは、新たにキャッシュシステムに追加されると、自己のアドレスをキャッシュ制御サーバに通知し、
前記キャッシュ制御サーバは、前記追加されたキャッシュ連携ルータからアドレスの通知を受信すると、自己が管理するコンテンツの情報を、前記追加されたキャッシュ連携ルータに送信することを特徴とするキャッシュシステム。
【請求項８】
前記キャッシュ制御サーバは、前記キャッシュサーバから新たに記憶したコンテンツの情報を受信すると、前記コンテンツの情報を前記キャッシュシステム内に備わる全てのキャッシュ連携ルータに送信することを特徴とする請求項７に記載のキャッシュシステム。
【請求項９】
クライアントから要求されるコンテンツを記憶する複数のキャッシュサーバ、前記キャッシュサーバに記憶されるコンテンツの情報を管理するキャッシュ制御サーバ、及び前記クライアントから要求されるコンテンツがキャッシュシステム内に記憶されているか否かを判定するキャッシュ連携ルータを備えるキャッシュシステムであって、
前記キャッシュシステムが適用されるネットワークは複数のドメインに分割され、
前記キャッシュシステムは、さらに、前記各ドメイン間でのコンテンツの転送を制御するシステム管理サーバを備え、
前記キャッシュ制御サーバは、前記ドメイン毎にコンテンツの情報を管理し、
前記キャッシュ連携ルータは、前記ドメインから要求されたコンテンツが他のドメインのいずれかに記憶されているか否かを判断することを特徴とするキャッシュシステム。
【請求項１０】
前記キャッシュ連携ルータは、
前記ドメイン毎にネットワーク内に記憶されているコンテンツの識別子をハッシュ値に変換した値を含むヒット判定情報を保持し、
前記ヒット判定情報を用いて、前記クライアントから要求されるコンテンツがキャッシュシステム内に記憶されているか否かを判定し、
前記判定の結果、当該コンテンツが前記キャッシュシステム内に記憶されていれば、前記コンテンツの要求に、当該コンテンツを記憶するドメインの識別子を付加し、
当該識別子が付加されたコンテンツの要求を、前記キャッシュ制御サーバに転送することを特徴とする請求項９に記載のキャッシュシステム。
【請求項１１】
前記キャッシュ連携ルータは、前記コンテンツの情報及び当該コンテンツを記憶するドメインを示す識別子を、前記キャッシュ制御サーバから受信すると、前記識別子によって特定されるドメインの情報を管理するヒット判定情報に、前記受信したコンテンツの情報を追加することを特徴とする請求項１０に記載のキャッシュシステム。
【請求項１２】
前記システム管理サーバは、
前記ネットワーク内に記憶されているコンテンツの識別子をハッシュ値に変換した値、及び当該コンテンツの情報を管理するサーバのアドレスとの関係を含む管理情報をドメイン毎に保持し、
前記キャッシュ連携ルータからのコンテンツの要求及び当該コンテンツを記憶するドメインの識別子を受信すると、前記受信したドメインの識別子によって識別される前記管理情報を検索して、当該コンテンツを当該コンテンツを要求したキャッシュサーバに送信するよう、当該コンテンツの情報を管理するキャッシュ制御サーバに指示することを特徴とする請求項９に記載のキャッシュシステム。
【請求項１３】
前記システム管理サーバは、新たに記憶したコンテンツの情報を、前記キャッシュ制御サーバから受信すると、当該コンテンツの情報を送信したサーバが属するドメインの前記管理情報に、当該コンテンツの情報を記憶し、当該コンテンツの情報を記憶するドメインの識別子を前記キャッシュ連携ルータに送信することを特徴とする請求項１２に記載のキャッシュシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク中にキャッシュサーバが分散配置された分散キャッシュシステムに関し、特に複数のキャッシュサーバ間で連携してコンテンツを提供する技術に関する。
【背景技術】
【０００２】
多数のクライアントが接続されるネットワークにおいて、複数のクライアントが同一のコンテンツを参照する場合、ネットワーク内にキャッシュサーバを配置し、キャッシュサーバからクライアントへコンテンツを返信することで、外部ネットワークからのコンテンツの取得回数を低減することができる。これによって、ネットワーク間のトラヒックを抑制し通信コストを削減することができる。
【０００３】
しかし、大規模なネットワークでは、多数のクライアントがコンテンツを要求するので、多量のトラフィックが発生する。発生する多量のトラフィックに対し、一つのキャッシュサーバで対応することは困難である。そのため、ネットワーク内に複数のキャッシュサーバを分散して配置し、各キャッシュサーバからクライアントへコンテンツを返信する。
【０００４】
さらに、クライアントから要求されたコンテンツをキャッシュサーバが記憶していない場合、当該コンテンツを記憶している他のキャッシュサーバからコンテンツを取得し、クライアントへコンテンツを返信することによって、ネットワーク間のトラヒックを抑制する分散キャッシュシステムが提案されている。
【０００５】
特許文献１に記載されたコンピュータシステムでは、分散キャッシュシステム内のコンテンツの位置情報を管理するサーバとコンテンツのヒット判定をするルータとが連携して、クライアント端末からのコンテンツの要求に応答する。
【特許文献１】特願２００５−１２９１８２号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述した分散キャッシュシステムは、１台のキャッシュ制御サーバ及び１台のキャッシュ連携ルータを備える。そのため、クライアントの増加によって、ネットワークがより大規模化した場合、１台のキャッシュ制御サーバ及び１台のキャッシュ連携ルータでは、それぞれの処理能力が限界に達する。
【０００７】
そこで、クライアントからの要求数や、クライアントからの要求によって発生するトラフィック量に応じて、分散キャッシュシステムに複数台のキャッシュ制御サーバ及び複数台のキャッシュ連携ルータを備え、大規模なネットワークへ適用可能な分散キャッシュシステムを構成する必要がある。
【０００８】
まず、複数のキャッシュ制御サーバを備える分散キャッシュシステムを構成する場合、クライアントが要求したコンテンツが分散キャッシュシステム内に記憶されていたときには、そのコンテンツを管理するキャッシュ制御サーバへ、クライアントからの要求を適切に転送しなれければないらないという第１の課題がある。
【０００９】
さらに、複数のキャッシュ連携ルータを備えるキャッシュシステムを構成する場合、クライアントが要求したコンテンツが分散キャッシュシステム内に記憶されているときには、どのキャッシュ連携ルータでも、クライアントからの要求をキャッシュ制御サーバへ適切に転送しなければならないという第２の課題がある。
【００１０】
また、キャッシュ制御サーバ及びキャッシュ連携ルータを増減可能であることが必要という第３の課題がある。
【００１１】
また、大規模ネットワークへ適用可能な分散キャッシュシステムでは、分散キャッシュシステム内に存在するコンテンツの数が多く、コンテンツがキャッシュシステム内に記憶されているかをキャッシュ連携ルータで判定するために用いるテーブルが大きくなり、検索時間が増大するという第４の課題がある。
【００１２】
本発明は、ネットワーク中に分散配置したキャッシュサーバが連携し、必要に応じてキャッシュサーバ間でコンテンツを転送する分散キャッシュシステムであって、大規模ネットワークへ容易に適用できる分散キャッシュシステムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の代表的な一形態によると、クライアントから要求されるコンテンツを記憶する複数のキャッシュサーバ、前記キャッシュサーバに記憶されるコンテンツの情報を管理するキャッシュ制御サーバ、及び前記クライアントから要求されるコンテンツがキャッシュシステム内に記憶されているか否かを判定するキャッシュ連携ルータを備えるキャッシュシステムであって、複数の前記キャッシュ制御サーバを備え、前記各キャッシュ制御サーバは、前記キャッシュシステム内に記憶されているコンテンツの情報を分担して管理し、前記キャッシュ連携ルータは、前記各キャッシュ制御サーバによって管理されるコンテンツの情報を把握し、前記クライアントからコンテンツの要求を受信すると、当該要求に係るコンテンツの情報を管理するキャッシュ制御サーバを特定し、当該クライアントからの要求を、前記特定されたキャッシュ制御サーバへ転送すること特徴とする。
【発明の効果】
【００１４】
本発明の一形態によれば、クライアント端末からのコンテンツの要求数、前記コンテンツの要求により発生するトラフィック量に応じてキャッシュ制御サーバとキャッシュ連携ルータの構成台数を変更することによって、クライアントの台数に応じて最適な分散キャッシュシステムを提供することができる。
【発明を実施するための最良の形態】
【００１５】
本発明の代表的な一形態によると、第１の課題を解決する手段として、複数のキャッシュ制御サーバを備える分散キャッシュシステムにおいて、分散キャッシュシステムに記憶されるコンテンツの情報を、複数のキャッシュ制御サーバで分割して管理する。キャッシュ連携ルータでは、クライアントから要求されたコンテンツが分散キャッシュシステム内に記憶されていた場合に、当該コンテンツの情報を管理するキャッシュ制御サーバにコンテンツの要求を転送する。
【００１６】
また、第２の課題を解決する手段として、クライアントから新規コンテンツの情報を受信したキャッシュ制御サーバは、コンテンツの情報を分散キャッシュシステム内に存在するすべてのキャッシュ連携ルータに送信する。
【００１７】
また、第３の課題を解決する手段として、キャッシュ制御サーバ及びキャッシュ連携ルータは、前記分散キャッシュシステムに追加された場合に、自己のアドレスを分散キャッシュシステム内に通知する。また、アドレスの通知を受信したキャッシュ制御サーバは、追加されたキャッシュ制御サーバ及び追加されたキャッシュ連携ルータにコンテンツの情報を送信しコンテンツ情報を同期させる。
【００１８】
さらに、第４の課題を解決する手段として、ネットワークをドメインに分割し、各ドメイン毎にコンテンツの情報を管理する階層型の分散キャッシュシステムとする。キャッシュ連携ルータ及び分散キャッシュシステム全体のコンテンツ情報を管理するサーバは、コンテンツの情報をドメインに分割して検索する。これによって、コンテンツの検索効率を向上させ、コンテンツの検索時間を短縮し、クライアントからのコンテンツの要求に対する応答時間を短縮する。
【００１９】
以下、本発明の実施の形態について図面を参照して説明する。
【００２０】
（第１実施形態）
第１の実施の形態の分散キャッシュシステムでは、クライアント端末からのコンテンツの要求数に応じてキャッシュ制御サーバを追加し、複数のキャッシュ制御サーバでクライアント端末からの要求を分散処理することによって、大規模なネットワークへ適用可能な分散キャッシュシステムを実現する。
【００２１】
図１は、第１の実施の形態の分散キャッシュシステムの構成の一例を示すブロック図である。
【００２２】
分散キャッシュシステムは、オリジンサーバ１０、コア網１１、アクセス網１２及び複数のクライアント端末１５−１〜１５−４を備える。
【００２３】
オリジンサーバ１０は、プロセッサ、メモリ、記憶装置及び入出力部を備えるコンピュータであり、クライアント端末が要求するコンテンツのオリジナルデータが記憶装置に格納されている。オリジンサーバ１０は、クライアント端末１５−１等からみてコア網１１を介した他ネットワークに存在する。
【００２４】
アクセス網１２は、クライアント端末１５−１〜１５−４が接続されている、クライアント端末の近傍のネットワークである。コア網１１は、アクセス網１２の上流に接続されるネットワークである。
【００２５】
アクセス網１２は、ルータ１３−１〜１３−２、キャッシュサーバ１４−１〜１４−２キャッシュ連携ルータ１６及びキャッシュ制御サーバ１７−１〜１７−２を備える。
【００２６】
ルータ１３−１〜１３−２は、入出力インターフェース及びパケット処理部を備えるデータ転送装置である。
【００２７】
キャッシュサーバ１４−１〜１４−２は、プロセッサ、メモリ、記憶装置及び入出力部を備えるコンピュータであり、オリジンサーバ１０から提供されるコンテンツを記憶装置に格納して、分散キャッシュシステムを構成する。
【００２８】
キャッシュ連携ルータ１６は、入出力インターフェース及びパケット処理部を備えるデータ転送装置であり、クライアントが要求したコンテンツがキャッシュシステム内に格納されているか否かを判断する。
【００２９】
キャッシュ制御サーバ１７−１〜１７−２は、プロセッサ、メモリ、記憶装置及び入出力部を備えるコンピュータであり、分散キャッシュシステム内のキャッシュサーバに保持されるコンテンツの情報を一元管理する。各キャッシュ制御サーバは、独立したコンテンツ空間を管理する。図１では、２台のキャッシュ制御サーバが図示されているが、３台以上であってもよい。
【００３０】
クライアント端末１５−１〜１５−４は、プロセッサ、メモリ、記憶装置及び入出力部を備えるコンピュータであり、使用者はクライアント端末１５−１等によってコンテンツを要求する。
【００３１】
次に、図２を参照して、第１の実施の形態の分散キャッシュシステムの動作を説明する。
【００３２】
具体的には、図１に示したクライアント端末（１）１５−１が、ＵＲＬ（Uniform Resource Locater）がhttp://www.ab.ne.jp/content.htmlで識別されるコンテンツを取得し、その後、クライアント端末（３）１５−３が同じＵＲＬのコンテンツを取得する場合の、キャッシュシステムの動作を説明する。なお、当該ＵＲＬで示されるコンテンツは、クライアント端末（１）１５−１が要求する時点では、キャッシュシステム内のどのキャッシュサーバにも保持されていない。
【００３３】
まず、クライアント端末（１）１５−１がキャッシュサーバＡ１４−１へ当該ＵＲＬのコンテンツの要求を送信する（１０００）。
【００３４】
キャッシュサーバＡ１４−１は、クライアント端末（１）１５−１から当該ＵＲＬのコンテンツの要求を受信すると、キャッシュサーバＡ１４−１がキャッシュに保持しているコンテンツを検索する。ところが、キャッシュサーバＡ１４−１は、当該ＵＲＬのコンテンツをキャッシュとして格納していないため、オリジンサーバ１０に向かって当該コンテンツの要求を送信する（１００１）。
【００３５】
キャッシュサーバＡ１４−１からのコンテンツ要求を中継するキャッシュ連携ルータ１６は、要求に係るコンテンツをキャッシュに格納しているキャッシュサーバの有無を判定する。そして、いずれのキャッシュサーバも当該コンテンツをキャッシュに格納していないので、ミスヒットと判定される。よって、キャッシュ連携ルータ１６は、オリジンサーバ１０に当該コンテンツの要求を送信する（１００２）。
【００３６】
そして、オリジンサーバ１０、キャッシュ連携ルータ１６、キャッシュサーバＡ１４−１の順に、コンテンツ要求と逆の経路をたどって、クライアント端末（１）１５−１にコンテンツが送信される（１００３〜１００５）。
【００３７】
キャッシュサーバＡ１４−１は、シーケンス１００４にて当該コンテンツを受信すると、当該コンテンツの情報を管理すべきキャッシュ制御サーバを決定し、決定したキャッシュ制御サーバに対してコンテンツの情報を送信する（１００６）。なお、図２では、キャッシュ制御サーバＡ１７−１が選択され、キャッシュサーバＡ１４−１からキャッシュ制御サーバＡ１７−１にコンテンツの情報が送信される。
【００３８】
キャッシュ制御サーバＡ１７−１は、コンテンツの情報を受信すると、キャッシュ制御サーバＡ１７−１のコンテンツ情報管理テーブルを更新すると共に、当該コンテンツの情報をキャッシュ連携ルータ１６に登録する（１００７）。
【００３９】
次に、以上説明した処理が終わった後に、クライアント端末（３）１５−３がＵＲＬがhttp://www.ab.ne.jp/content.htmlで示されるコンテンツを要求した場合の動作シーケンスを説明する。
【００４０】
まず、クライアント端末（３）１５−３が当該ＵＲＬのコンテンツをクライアント端末（３）の近くに設置されたキャッシュサーバＢ１４−２に要求する（１００８）。
【００４１】
キャッシュサーバＢ１４−２は、クライアント端末（１）１５−３から当該ＵＲＬのコンテンツの要求を受信すると、キャッシュサーバＢ１４−２がキャッシュに保持しているコンテンツを検索する。ところが、キャッシュサーバＢ１４−２は、当該ＵＲＬのコンテンツをキャッシュとして格納していないため、オリジンサーバ１０に向かって当該コンテンツの要求を送信する（１００９）。
【００４２】
キャッシュサーバＢ１４−２からのコンテンツ要求を中継するキャッシュ連携ルータ１６は、要求に係るコンテンツをキャッシュに格納しているキャッシュサーバがないかを判定する。そして、当該要求に係るコンテンツがキャッシュヒット判定テーブルにヒットし、いずれかのキャッシュサーバが当該コンテンツの情報を管理していると判断できる。そして、当該コンテンツの情報を管理しているキャッシュ制御サーバＡ１７−１を特定して、キャッシュ制御サーバＡ１７−１に当該コンテンツの要求を転送する（１０１０）。
【００４３】
キャッシュ制御サーバＡ１７−１は、コンテンツの要求を受信すると、当該コンテンツを格納しているキャッシュサーバＡ１４−１を特定し、キャッシュサーバＡ１４−１に対して、当該コンテンツをキャッシュサーバＢ１４−２に送信するよう指示する（１０１１）。
【００４４】
キャッシュサーバＡ１４−１は、コンテンツの転送指示を受信すると、キャッシュサーバＢ１４−２に当該コンテンツを送信する（１０１２）。
【００４５】
キャッシュサーバＢ１４−２は、キャッシュサーバＡ１４−１から当該コンテンツを受信すると、当該コンテンツを要求元クライアント端末（３）１５−３に送信する（１０１３）。さらに、当該コンテンツの情報を管理すべきキャッシュ制御サーバを決定して、決定されたキャッシュ制御サーバＡ１７−１に当該コンテンツのキャッシュ情報を登録する（１０１４）。
【００４６】
キャッシュ制御サーバＡ１７−１は、コンテンツのキャッシュ情報を受信すると、コンテンツ情報管理テーブルの当該コンテンツの情報を管理するエントリのキャッシュサーバアドレスフィードに、キャッシュサーバＢ１４−２のアドレスを追加する。なお、当該コンテンツがキャッシュシステム内に保持されていることは、既にキャッシュ連携ルータ１６に通知済みであるため、キャッシュ連携ルータ１６へのコンテンツの情報を登録する処理は行われない。
【００４７】
図３に、第１の実施の形態のキャッシュ連携ルータ１６の構成の一例を示す。
【００４８】
キャッシュ連携ルータ１６は、入出力インターフェース２０、パケット処理部２２、要求処理部２３、キャッシュヒット判定部２４及びキャッシュヒット判定テーブル２５を備える。
【００４９】
入出力インターフェース２０は、アクセス網１２と接続され、分散キャッシュシステム内のキャッシュサーバ１４−１等及びキャッシュ制御サーバ１７−１等とパケットの送受信をするインターフェースである。パケット処理部２２は、入出力インターフェース２０が受信したパケットを処理し、転送先を決定する。
【００５０】
要求処理部２３は、受信したデータがコンテンツの要求であった場合に当該要求を処理する。キャッシュヒット判定部２４は、要求されたコンテンツがキャッシュシステム内に保持されているか否かを判定する。
【００５１】
パケット処理部２２、要求処理部２３及びキャッシュヒット判定部２４は、キャッシュ連携ルータ１６に備わるプロセッサによる処理によって構成される。なお、これらを、ハードウェアロジックによって構成してもよい。
【００５２】
キャッシュヒット判定テーブル２５は、キャッシュシステム内に格納されているコンテンツの情報を含み、要求されたコンテンツがキャッシュシステム内に保持されているか否かを、キャッシュヒット判定部２４において判定する際に参照され、メモリなどの記憶部に記憶される。
【００５３】
図４に、第１の実施の形態のキャッシュヒット判定テーブル２５の構成例を示す。
【００５４】
キャッシュヒット判定テーブル２５は、一つ以上のキャッシュヒット判定テーブルエントリ３０を含む。キャッシュヒット判定テーブルエントリ３０は、実際にデータを格納するフィールドとして、ＵＲＬハッシュ値フィールド３１及び転送先キャッシュ制御サーバアドレスフィールド３２を含む。
【００５５】
ＵＲＬハッシュ値フィールド３１は、要求されたコンテンツのＵＲＬをハッシュ値に変換した値を格納するフィールドである。
【００５６】
転送先キャッシュ制御サーバアドレスフィールド３２は、ＵＲＬハッシュ値フィールド３１に格納された値で識別されるコンテンツの情報を管理するキャッシュ制御サーバのアドレスを格納するフィールドである。本実施の形態では、キャッシュ制御サーバ１７−１のＩＰアドレスである。
【００５７】
図５は、第１の実施の形態のキャッシュ連携ルータ１６におけるコンテンツ要求受信時の処理の一例を示すフローチャートである。
【００５８】
キャッシュ連携ルータ１６は、入出力インターフェース２０にてパケットを受信すると、受信したパケットをパケット処理部２２に転送する。
【００５９】
パケット処理部２２は、受信パケットを解析し（Ｓ１００）、受信パケットがコンテンツの要求であるか否かを判定する（Ｓ１０１）。受信パケットがコンテンツの要求であるかは、当該パケットの宛先ポートアドレスを用いて判断する。
【００６０】
その結果、当該パケットが前記コンテンツの要求でない場合は、パケット内の宛先アドレスを参照して出力すべき入出力インターフェース２０を決定し、決定された入出力インターフェース２０に当該パケットを転送する。一方、コンテンツの要求であると判断した場合は、要求処理部２３へ当該パケットを転送する。
【００６１】
要求処理部２３は、パケット処理部２２からパケットを受信すると、要求されたコンテンツのＵＲＬのハッシュ値を、当該パケットから抽出する。コンテンツのＵＲＬのハッシュ値はコンテンツを要求するパケットに含められ、キャッシュサーバ１４−１等から送信される。その後、キャッシュヒット判定部２４は、抽出したハッシュ値をキーとしてキャッシュヒット判定テーブル２５を検索し、要求されたコンテンツがキャッシュシステム内に保持されているか否かを判定する（Ｓ１０２）。
【００６２】
一方、キャッシュヒット判定テーブル２５にヒットしなかった場合は、要求処理部２３は当該コンテンツの要求をオリジンサーバ１０へ転送する（Ｓ１０３）。一方、キャッシュ判定テーブル２５にヒットした場合は、当該コンテンツがアクセス網１２内に保持されていないと判定し、キャッシュヒット判定テーブル２５のヒットしたエントリの転送先キャッシュ制御サーバアドレスフィールド３２より、要求されたコンテンツの情報を管理するキャッシュ制御サーバ１７のアドレスを取得する。そして、当該キャッシュ制御サーバ１７−１等へ要求パケットを転送する（Ｓ１０４）。
【００６３】
また、キャッシュ連携ルータ１６は、キャッシュ制御サーバ１７−１等から、新規にキャッシュシステム内に保持されたコンテンツの情報を受信する。具体的には、キャッシュ連携ルータ１６は、当該コンテンツのＵＲＬのハッシュ値及び送信元キャッシュ制御サーバのアドレスのペアの情報を受信する。キャッシュ連携ルータ１６は、新たに保持されたコンテンツの情報を受信すると、受信したコンテンツ情報を用いてキャッシュヒット判定テーブル２５を更新する。
【００６４】
図６に、第１の実施の形態のキャッシュ制御サーバ１７の構成の一例を示す。
【００６５】
なお、第１の実施の形態の分散キャッシュシステムを構成するキャッシュ制御サーバ１７−１等は同じ構成なので、これらを代表してキャッシュ制御サーバ１７として説明する。
【００６６】
キャッシュ制御サーバ１７は、入出力インターフェース２０、要求処理部４０、キャッシュ保持サーバ検索部４１及びコンテンツ情報管理テーブル４２を備える。
【００６７】
入出力インターフェース２０は、アクセス網１２と接続され、キャッシュ連携ルータ１６とパケットを送受信するインターフェースである。
【００６８】
要求処理部４０は、キャッシュ連携ルータ１６から転送されたコンテンツの要求や、キャッシュサーバ１４から受信するコンテンツのキャッシュ情報を処理する。キャッシュ保持サーバ検索部４１は、転送されたコンテンツの要求よって、要求されたコンテンツを保持するキャッシュサーバを検索する。要求処理部４０及びキャッシュ保持サーバ検索部４１は、キャッシュ制御サーバ１７に備わるプロセッサによる処理によって構成される。
【００６９】
コンテンツ情報管理テーブル４２は、アクセス網内に保持されているコンテンツの情報を格納し、メモリやＨＤＤ等の記憶部に記憶される。
【００７０】
第１の実施の形態の分散キャッシュシステムでは、クライアント端末１４−１等からのコンテンツの要求数と、１台のキャッシュ制御サーバ１７−１等が処理できる要求数とを比較する。そして、クライアント端末からの要求数が、１台のキャッシュ制御サーバで処理可能な要求数を超える場合は、クライアント端末からのコンテンツ要求数に応じて、キャッシュシステム内に配置されるキャッシュ制御サーバの台数を変更する。
【００７１】
本発明の分散キャッシュシステムに、キャッシュ制御サーバを新規に追加した場合、追加されたキャッシュ制御サーバは、既存のキャッシュ制御サーバ１７−１等、及び既存のキャッシュサーバ１４−１等に、追加されたキャッシュ制御サーバのアドレスを通知する。
【００７２】
キャッシュ制御サーバ１４−１等は、追加されたキャッシュ制御サーバからアドレス情報を受信すると、各キャッシュ制御サーバが管理すべきコンテンツのアドレス空間を再度計算する。そして、必要に応じて他のキャッシュ制御サーバとの間で、コンテンツの情報を交換する。
【００７３】
さらに、新たにコンテンツ情報を管理するキャッシュ制御サーバは、コンテンツ情報を交換すると、管理するキャッシュ制御サーバが変更されたコンテンツの情報を、キャッシュ連携ルータ１６へ通知する。キャッシュ連携ルータ１６は、キャッシュ制御サーバの変更の通知を受けると、キャッシュヒット判定テーブル２６の転送先キャッシュ制御サーバアドレスフィールド３２を更新する。
【００７４】
ここで、各キャッシュ制御サーバにおいて管理すべきアドレス空間を分割する方法には、コンテンツのＵＲＬをハッシュ値に変換した値を、キャッシュシステム内に存在するキャッシュ制御サーバの数で割り、得られた剰余を用いて、当該コンテンツを管理するキャッシュ制御サーバを決定する方式がある。
【００７５】
また、第１の実施の形態の分散キャッシュシステムでは、クライアント端末１４−１等からの要求数が減少し、少ない数のキャッシュ制御サーバ１７−１等によってクライアント端末からの要求が処理できる場合、キャッシュシステム内に配置するキャッシュ制御サーバの台数を減少させることもできる。
【００７６】
キャッシュ制御サーバ台数を減らす場合、まず停止対象のキャッシュ制御サーバより、停止対象のキャッシュ制御サーバのアドレスを、他のキャッシュ制御サーバ及びキャッシュサーバ１６に通知する。キャッシュ制御サーバの停止通知を受信したキャッシュ制御サーバは、各キャッシュ制御サーバが管理すべきコンテンツのアドレス空間を再度計算するそして、必要に応じて他のキャッシュ制御サーバとの間で、コンテンツの情報を交換する。
【００７７】
さらに、新たにコンテンツ情報を管理するキャッシュ制御サーバは、コンテンツの情報を交換すると、管理するキャッシュ制御サーバが変更されたコンテンツの情報を、キャッシュ連携ルータ１６へ通知する。キャッシュ連携ルータ１６は、キャッシュ制御サーバの変更の通知を受けると、キャッシュヒット判定テーブル２６の転送先キャッシュ制御サーバアドレスフィールド３２を更新する。
【００７８】
キャッシュ制御サーバ間でのコンテンツの情報の交換が終了後、停止対象のキャッシュ制御サーバを停止する。
【００７９】
図７に、第１の実施の形態のコンテンツ情報管理テーブル４２の構成例を示す。
【００８０】
コンテンツ情報管理テーブル４２は、一つ以上のコンテンツ情報管理テーブルエントリ３３を含む。コンテンツ情報管理テーブルエントリ３３は、実際にデータを格納するフィールドとして、ＵＲＬハッシュ値フィールド３１、ＵＲＬフィールド３４及びキャッシュサーバアドレスフィールド３５を含む。
【００８１】
ＵＲＬハッシュ値フィールド３１は、キャッシュヒット判定テーブル２５（図４）に含まれるＵＲＬハッシュ値フィールド３１と同じ値を格納するフィールドである。
【００８２】
ＵＲＬフィールド３４は、コンテンツのオリジナルデータが保持されているアドレスを格納するフィールドであり、具体的にはコンテンツのＵＲＬが格納される。
【００８３】
キャッシュサーバアドレスフィールド３５は、ＵＲＬフィールド３４に格納されている文字列にて識別されるコンテンツを保持するキャッシュサーバ１４のアドレスを格納するフィールドである。
【００８４】
図８に、第１の実施の形態のキャッシュ制御サーバ１７が、コンテンツの要求パケットをキャッシュ連携ルータ１６から受信した場合のフローチャートを示す。
【００８５】
キャッシュ制御サーバ１７が、キャッシュ連携ルータ１６から、入出力インターフェース２０を介して、コンテンツの要求パケットを受信すると、要求処理部４０は、キャッシュ保持サーバ検索部４１に対して、当該要求パケットに含まれるコンテンツのＵＲＬをハッシュ値に変換した値をキーとして、当該コンテンツを保持するキャッシュサーバのアドレスを問い合わせる。
【００８６】
キャッシュ保持サーバ検索部４１は、キャッシュサーバのアドレスの問い合わせを受信すると、コンテンツ情報管理テーブル４２を参照して、当該コンテンツを保持するキャッシュサーバを検索する（Ｓ１１０）。そして、要求処理部４０に検索結果を返信する。
【００８７】
一方、当該コンテンツを保持するキャッシュサーバが存在しない場合は、当該コンテンツのオリジナルデータを保持するオリジンサーバ１０から当該コンテンツを取得し（Ｓ１１１）、当該コンテンツを要求したキャッシュサーバに取得したコンテンツを送信する（Ｓ１１２）。
【００８８】
一方、当該コンテンツを保持するキャッシュサーバが存在する場合、要求処理部４０は、当該コンテンツを要求元のキャッシュサーバに転送するように、当該コンテンツを保持するキャッシュサーバに対して指示する（Ｓ１１３）。
【００８９】
図９に、第１の実施の形態のキャッシュサーバ１４−１が新規にコンテンツを保持した際に送信する通知パケットを、キャッシュ制御サーバ１７が受信した場合のフローチャートを示す。
【００９０】
キャッシュ制御サーバ１７が、キャッシュサーバ１４−１より、入出力インターフェース２０を介して、コンテンツを保持したことを示すキャッシュ情報を受信すると、要求処理部４０は、コンテンツ情報管理テーブル４２の情報を更新する（Ｓ１２０）。この際、当該コンテンツのＵＲＬが、コンテンツ情報管理テーブル４２のコンテンツ情報管理テーブルエントリ３３のＵＲＬフィールド３４に存在する場合は、当該コンテンツ情報管理テーブルエントリ３３のキャッシュサーバアドレスフィールド３５に、コンテンツのキャッシュ情報を送信したキャッシュサーバ１４−１のアドレスを追加する。
【００９１】
当該コンテンツのＵＲＬがコンテンツ情報管理テーブル４２のコンテンツ情報管理テーブルエントリ３３のＵＲＬフィールド３４に存在しない場合は、新規にコンテンツ情報管理テーブルエントリ３３を作成し、前記作成されたコンテンツ情報管理テーブルエントリ３３のＵＲＬフィールド３４に、当該コンテンツ情報に含まれるコンテンツのＵＲＬを格納する。また、ＵＲＬハッシュ値フィールド３１には、当該コンテンツのＵＲＬをハッシュ値に変換した値を格納する。また、キャッシュサーバアドレスフィールド３５には、コンテンツの情報を送信したキャッシュサーバのアドレスを格納する。
【００９２】
さらに、要求処理部４０は、キャッシュ連携ルータ１６への情報の通知が必要であるか否かを判定する（Ｓ１２１）。その結果、新規にコンテンツ情報管理テーブルエントリ３３が作成された場合は、キャッシュ連携ルータ１６への情報の通知が必要であると判断し、キャッシュ連携ルータ１６に新規にキャッシュされたコンテンツの情報を通知する（Ｓ１２２）。
【００９３】
図１０に、第１の実施の形態のキャッシュサーバ１４の構成の一例を示す。
【００９４】
なお、第１の実施の形態の分散キャッシュシステムを構成するキャッシュサーバ１４−１等は同じ構成なので、これらを代表してキャッシュ制御サーバ１４として説明する。
【００９５】
キャッシュサーバ１４は、入出力インターフェース２０、要求処理部４３、コンテンツ管理部４４、コンテンツ蓄積部４５及びコンテンツ情報管理キャッシュ制御サーバ決定部４６を備える。
【００９６】
入出力インターフェース２０は、アクセス網１２と接続され、キャッシュ連携ルータ１６及びキャッシュ制御サーバ１７とパケットの送受信をするインターフェースである。
【００９７】
要求処理部４３は、クライアントから受信したコンテンツの要求を処理する。コンテンツ管理部４４は、キャッシュサーバ１４に保持されているコンテンツの情報を管理する。コンテンツ情報管理キャッシュ制御サーバ決定部４６は、キャッシュサーバ１４に保持されているコンテンツの情報を管理すべきキャッシュ制御サーバを決定する。
【００９８】
要求処理部４３、コンテンツ管理部４４及びコンテンツ情報管理キャッシュ制御サーバ決定部４６は、キャッシュサーバ１４に備わるプロセッサによる処理によって構成される。
【００９９】
コンテンツ蓄積部４５は、メモリやＨＤＤ等の記憶部によって構成され、コンテンツを保持する。
【０１００】
キャッシュサーバ１４は、クライアント端末１５−１等からコンテンツの要求パケットを受信すると、クライアント端末が要求したコンテンツを保持していない場合、オリジンサーバ１０に向けてコンテンツの要求パケットを送信する。このとき、キャッシュサーバ１４はコンテンツの要求パケットに当該コンテンツのＵＲＬをハッシュ値に変換した値を付与して、コンテンツの要求を送信する。
【０１０１】
また、キャッシュサーバ１４は、キャッシュ制御サーバが新規に追加された場合に、追加されたキャッシュ制御サーバのアドレスを、追加されたキャッシュ制御サーバから受信し、記憶する。さらに、キャッシュサーバ１４は、新規キャッシュサーバが追加された際に、各キャッシュ制御サーバが管理するコンテンツ空間を決定するためのキーを変更する。ここで、各キャッシュ制御サーバが管理するコンテンツ空間を決定するためのキーは、キャッシュシステム内に存在するキャッシュ制御サーバの台数を用いてキャッシュサーバ１４が決定してもよいし、新規追加されたキャッシュ制御サーバから受信してもよい。
【０１０２】
図１１に、第１の実施の形態のキャッシュサーバ１４がコンテンツを受信した場合の処理のフローチャートを示す。
【０１０３】
キャッシュサーバ１４は、要求したコンテンツをオリジンサーバ１０又は分散キャッシュシステム内の他のキャッシュサーバから受信する（Ｓ１３０）。
【０１０４】
次に、キャッシュサーバ１４が要求したコンテンツを受信すると、要求処理部４３は、コンテンツを要求したクライアント端末に、受信したコンテンツを送信する（Ｓ１３１）。また、要求処理部４３は、受信したコンテンツを保持するよう、コンテンツ管理部４４に指示する。
【０１０５】
コンテンツ管理部４４は、受信したコンテンツを保持する指示を要求処理部４３から受信すると、受信したコンテンツをコンテンツ蓄積部４５に格納する。
【０１０６】
そして、要求処理部４３は、受信したコンテンツの情報を管理するキャッシュ制御サーバを特定するため、当該コンテンツのＵＲＬをコンテンツ情報管理キャッシュ制御サーバ決定部４６に送信する。
【０１０７】
コンテンツ情報管理キャッシュ制御サーバ決定部４６は、当該コンテンツのＵＲＬを要求処理部４３から受信すると、コンテンツ空間を決定するためのキーを用いて、コンテンツの情報を管理すべきキャッシュ制御サーバを決定する。そして、決定したキャッシュ制御サーバのアドレスを要求処理部４３に送信する（Ｓ１３２）。
【０１０８】
要求処理部４３は、コンテンツの情報を管理すべきキャッシュ制御サーバのアドレスを受信すると、コンテンツの位置情報を含む送信メッセージを作成する（Ｓ１３３）。このコンテンツの位置情報は、例えば、受信したコンテンツのＵＲＬをハッシュ値に変換した値、及びキャッシュサーバ１４のアドレスを用いるとよい。そして、コンテンツの位置情報が含まれる送信メッセージを、前記決定したキャッシュ制御サーバへ送信する（Ｓ１３４）。
【０１０９】
第１の実施の形態において、キャッシュ制御サーバの追加によって各キャッシュ制御サーバが管理するコンテンツの空間が変更された場合に、クライアント端末からの要求をトリガとして、コンテンツ情報を管理するキャッシュ制御サーバを更新してもよい。この場合、キャッシュ制御サーバがコンテンツの要求を受信した場合の動作が異なる。
【０１１０】
第１の実施の形態の変形例では、新規にキャッシュ制御サーバが追加された場合に、各キャッシュ制御サーバが管理すべきコンテンツ空間が更新されても、キャッシュ制御サーバ間でコンテンツ情報の交換を実施しない。キャッシュ制御サーバがコンテンツ情報を更新するのは、キャッシュサーバからのコンテンツ要求がキャッシュ連携ルータにてヒットし、前記キャッシュサーバからのコンテンツ要求がキャッシュ制御サーバに転送された時点である。この時、コンテンツの要求が転送されるキャッシュ制御サーバは、新規にキャッシュ制御サーバが追加される以前に当該コンテンツのコンテンツ情報を管理していたキャッシュ制御サーバである。
【０１１１】
図１２に、第１の実施の形態の変形例において、キャッシュ制御サーバが管理するコンテンツの空間が変更された場合に、コンテンツ情報を管理するキャッシュ制御サーバの更新をクライアント端末１５−１等からのコンテンツの要求をトリガとして、キャッシュ制御サーバ１７がコンテンツの要求を受信した場合の動作を示す。
【０１１２】
本変形例における処理が図８に示す処理と異なる点は、コンテンツを保持するキャッシュサーバへコンテンツの転送を指示した後に、コンテンツ情報を更新することである。なお、図１２と図８において同一の処理には同一の番号を付与し、その詳細な説明は省略する。
【０１１３】
キャッシュ制御サーバ１７は、コンテンツを保持するキャッシュサーバ１４へコンテンツの転送を指示すると（Ｓ１１３）、コンテンツ情報を管理すべきキャッシュ制御サーバを再度計算する（Ｓ１１４）。
【０１１４】
その後、当該コンテンツの情報を管理すべきキャッシュ制御サーバが、新規にキャッシュ制御サーバを追加する前に当該コンテンツ情報を管理していたキャッシュ制御サーバと異なるか否かを判定する（Ｓ１１５）。
【０１１５】
その結果、キャッシュ制御サーバが異なる場合には、新規にキャッシュ制御サーバを追加する前に当該コンテンツ情報を管理していたキャッシュ制御サーバは、当該コンテンツの情報を管理すべきキャッシュ制御サーバに当該コンテンツの情報を送信し（Ｓ１１６）、当該コンテンツの情報をコンテンツ情報管理テーブルから削除する（Ｓ１１７）。
【０１１６】
一方、キャッシュ制御サーバが同じ場合には、新たな処理を行わない。
【０１１７】
このように、第１の実施の形態の変形例では、キャッシュ制御サーバを新規に追加した際に一度に発生するキャッシュ制御サーバ間でのコンテンツ情報の交換処理を必要とせず、キャッシュ制御サーバにおける処理の集中を抑制することができる。また、１回しか要求されないコンテンツの情報をキャッシュ制御サーバ間で交換する必要がなくなるため、キャッシュ制御サーバ間のトラフィックを抑制することができる。
【０１１８】
以上説明したように、本発明の第１の実施の形態によれば、多くのクライアント端末が接続するネットワークにおいて、クライアント端末からの要求数の増加に応じてキャッシュ制御サーバを追加可能な分散キャッシュシステムを提供することができる。よって、クライアント端末の台数に応じて最適な分散キャッシュシステムを提供し、分散キャッシュシステム構築及び拡張に必要なコストを抑制することができる。
【０１１９】
（第２実施形態）
次に、本発明の第２の実施の形態の分散キャッシュシステムについて説明する。
【０１２０】
第２の実施の形態の分散キャッシュシステムは、複数のキャッシュ連携ルータを用いてトラフィックを処理する点が特徴であり、クライアント端末からの要求数の増加によって発生するトラフィックを１台のキャッシュ連携ルータによって処理できない場合に有効である。
【０１２１】
図１３は、第２の実施の形態の分散キャッシュシステムの構成の一例を示すブロック図である。
【０１２２】
第２の実施の形態の分散キャッシュシステムが、前述した第１の実施の形態の分散キャッシュシステム（図１）と異なるのは、複数のキャッシュ連携ルータが設けられ、キャッシュ制御サーバが１台となっている点である。また、図１３では、２台のキャッシュ連携ルータが設けられているが、３台以上のキャッシュ連携ルータを設けてもよい。なお、前述した第１の実施の形態と同じ構成には同じ符号を付し、その詳細な説明は省略する。
【０１２３】
第２の実施の形態の分散キャッシュシステムでは、キャッシュ連携ルータを新規に追加した場合、追加されたキャッシュ連携ルータは、キャッシュ制御サーバ１７に対して、追加されたキャッシュ連携ルータのアドレスを通知する。キャッシュ制御サーバ１７は、追加されたキャッシュ連携ルータからのアドレス通知を受信すると、自己の管理するコンテンツ管理情報テーブルに保持しているコンテンツの情報の全てを、追加されたキャッシュ連携ルータに送信する。
【０１２４】
以上の動作によって、追加されたキャッシュ連携ルータは、追加前に存在したキャッシュ連携ルータと同じ情報を保持し、追加前に存在したキャッシュ連携ルータと同じ処理を実行することができる。
【０１２５】
次に、図１４を参照して、第２の実施の形態の分散キャッシュシステムの動作を説明する。
【０１２６】
具体的には、図１３に示したクライアント端末（１）１５−１が、ＵＲＬがhttp://www.ab.ne.jp/content.htmlで識別されるコンテンツを取得し、その後、クライアント端末（３）１５−３が同じＵＲＬのコンテンツを取得する場合の、キャッシュシステムの動作を説明する。なお、当該ＵＲＬのコンテンツは、クライアント端末（１）１５−１が要求する時点では、キャッシュシステム内のどのキャッシュサーバにも保持されていない。
【０１２７】
第２の実施の形態において、前述した第１の実施の形態（図２）と異なる点は、キャッシュ制御サーバ１７が、キャッシュサーバＡ１４−１からコンテンツ情報を受信すると、キャッシュシステム内の全てのキャッシュ連携ルータにコンテンツの情報を登録することである。なお、前述した第１の実施の形態（図２）と同じ処理には同じ符号を付し、その詳細な説明は省略する。
【０１２８】
キャッシュサーバＡ１４−１は、シーケンス１００４にて当該コンテンツを受信すると、キャッシュ制御サーバ１７に対してコンテンツの情報を送信する（２０００）。
【０１２９】
キャッシュ制御サーバ１７は、コンテンツの情報を受信すると、キャッシュ制御サーバ１７のコンテンツ情報管理テーブルを更新し、当該コンテンツの情報を、キャッシュシステム内のすべてのキャッシュ連携ルータ（本実施例では、キャッシュ連携ルータＡ１６−１とキャッシュ連携ルータＢ１６−２）に登録する（２００１−１、２００１−２）。
【０１３０】
また、キャッシュサーバでは、前述した第１の実施の形態と異なり、コンテンツの空間を複数のキャッシュ制御サーバによって管理するように分割していないので、コンテンツの情報を管理すべきキャッシュ制御サーバを決定する必要がない。
【０１３１】
以上説明したように、本発明の第２の実施の形態によれば、多くのクライアント端末が接続するネットワークにおいて、クライアント端末からの要求数の増加に伴うトラヒック量の増加に応じて、キャッシュ制御サーバを追加可能な分散キャッシュシステムを提供することができる。よって、トラフィックに応じて最適な分散キャッシュシステムを提供し、分散キャッシュシステム構築及び拡張に必要なコストを抑制することができる。
【０１３２】
（第３実施形態）
次に、本発明の第３の実施の形態の分散キャッシュシステムについて説明する。
【０１３３】
第３の実施の形態では、ドメインが複数存在するアクセス網において、ドメイン間でのコンテンツの送受信を可能とするキャッシュシステムを説明する。
【０１３４】
図１５は、第３の実施の形態の分散キャッシュシステムの構成の一例を示すブロック図である。
【０１３５】
なお、前述した第１の実施の形態（図１）と同じ構成には同じ符号を付し、その詳細な説明は省略する。
【０１３６】
各ドメイン１９−１、１９−２には、コンテンツを格納するキャッシュサーバ１４、及びコンテンツ情報の送受信の制御を担当するキャッシュ制御サーバ１７が備わるキャッシュシステムが含まれる。ドメイン内に設けられたキャッシュ制御サーバは、自己が管理するコンテンツ情報管理テーブルの情報が更新された際、システム管理サーバ１８に対して、更新されたコンテンツ情報を送信する。図１５では、アクセス網内に二つのドメインが図示されているが、三つ以上のドメインが存在してもよい。なお、ドメインは、企業又は地域によって分割されたセグメントである。
【０１３７】
各ドメインは、キャッシュ連携ルータ１６に接続されている。また、アクセス網全体のキャッシュの連携を制御するシステム管理サーバ１９がキャッシュ連携ルータ１６に接続されている。
【０１３８】
第３の実施の形態のキャッシュ連携ルータ１６は、第１の実施の形態のキャッシュ連携ルータ（図３）とほぼ同じ構成であるが、キャッシュヒット判定テーブル２５の構成が異なる。
【０１３９】
次に、図１６を参照して、図１５に示したドメインα１９−１から、ＵＲＬがhttp://www.ab.ne.jp/content.htmlで識別されるコンテンツの要求があり、その後、ドメインβ１９−２が当該ＵＲＬのコンテンツを要求した場合の、分散キャッシュシステムの動作を説明する。なお、当該ＵＲＬで示されるコンテンツは、ドメインαから要求される時点では、キャッシュシステム内に保持されていない。
【０１４０】
まず、ドメインαから当該ＵＲＬのコンテンツの要求が送信される（３０００）。
【０１４１】
ドメインαからのコンテンツ要求を中継するキャッシュ連携ルータ１６は、キャッシュヒット判定テーブル２５を検索し、要求に係るコンテンツを格納しているドメインがないかを判定する。そして、当該コンテンツはどのドメインにも保持されていないため、ミスヒットと判定される。よって、キャッシュ連携ルータ１６は、オリジンサーバ１０に当該コンテンツの要求を送信する（３００１）。
【０１４２】
そして、オリジンサーバ１０、キャッシュ連携ルータ１６の順に、コンテンツ要求と逆の経路をたどって、ドメインαに当該コンテンツが返信される（３００２、３００３）。
【０１４３】
ドメインαのキャッシュ制御サーバは、当該コンテンツを受信すると、当該コンテンツを保持したとの情報をシステム管理サーバ１８に送信する（３００４）。システム管理サーバ１８は、受信したコンテンツの情報をコンテンツ情報管理テーブル５２に登録し、コンテンツの情報を登録したことをキャッシュ連携ルータ１６へ通知する（３００５）。
【０１４４】
キャッシュ連携ルータ１６は、この情報を受信すると、キャッシュヒット判定テーブルに情報を登録する。
【０１４５】
次に、以上説明した処理が終わった後に、ドメインβからＵＲＬがhttp://www.ab.ne.jp/content.htmlで識別されるコンテンツが要求された場合の動作シーケンスを説明する。
【０１４６】
まず、ドメインβから当該ＵＲＬのコンテンツの要求が送信される（３００６）。
【０１４７】
ドメインβからのコンテンツ要求を中継するキャッシュ連携ルータ１６は、キャッシュヒット判定テーブル２５を検索し、要求に係るコンテンツを格納しているドメインの有無を判定する。そして、当該コンテンツはドメインα内に保持されていることが判明する。そして、キャッシュ連携ルータ１６は、当該コンテンツの要求共にドメインαのキャッシュヒット判定テーブルにてヒットしたことを示す情報を、システム管理サーバ１８に転送する（３００７）。
【０１４８】
システム管理サーバ１８は、コンテンツの要求を受信すると、ドメインαのコンテンツ情報管理テーブル５２を検索し、当該コンテンツを保持しているドメインαのキャッシュ制御サーバに対して、当該コンテンツをドメインβに送信するよう指示する（３００８）。
【０１４９】
ドメインαのキャッシュ制御サーバは、コンテンツの転送指示を受信すると、ドメインβに当該コンテンツを送信する（３００９）。
【０１５０】
ドメインβのキャッシュ制御サーバは、当該コンテンツを受信すると、当該コンテンツを保持したとの情報をシステム管理サーバ１８に送信する（３０１０）。
【０１５１】
システム管理サーバは、受信したコンテンツの情報をコンテンツ情報管理テーブル５２に登録し、コンテンツの情報を登録した旨をキャッシュ連携ルータ１６へ通知する（３０１１）。
【０１５２】
キャッシュ連携ルータ１６は、コンテンツの情報を登録した旨の通知を受信すると、キャッシュヒット判定テーブル２５に情報を登録する。
【０１５３】
図１７に、第３の実施の形態のキャッシュ連携ルータ１６のキャッシュヒット判定テーブル２５の構成の一例を示す。
【０１５４】
第３の実施の形態のキャッシュ連携ルータ１６のキャッシュヒット判定テーブル２５は、アクセス網内に存在するドメイン毎に異なったドメインキャッシュヒット判定テーブル３６を含む。さらに、ドメインキャッシュヒット判定テーブル３６は、一つ以上のドメインキャッシュヒット判定テーブルエントリ３７を含む。ドメインキャッシュヒット判定テーブルエントリ３７は、ＵＲＬハッシュ値フィールド３１を含む。
【０１５５】
あるドメインキャッシュヒット判定テーブル３６のＵＲＬハッシュ値フィールド３１には、そのドメイン内に存在するコンテンツのＵＲＬをハッシュ値に変換した値が格納される。
【０１５６】
図１８は、第３の実施の形態のキャッシュ連携ルータ１６が、ドメインからのコンテンツの要求を受信した場合の処理のフローチャートである。
【０１５７】
第３の実施の形態のキャッシュ連携ルータ１６の処理は、前述した第１の実施の形態のキャッシュ連携ルータ１６の処理（図５）に、ドメイン間での連携処理で必要な処理を追加したものであり、具体的には、コンテンツの要求を受信した際のキャッシュヒット連携テーブルの検索方法が異なる。なお、前述した第１の実施の形態と同じ処理には同じ符号を付し、その詳細な説明は省略する。
【０１５８】
要求処理部２３は、パケット処理部２２からパケットを受信すると、当該パケットから要求されたコンテンツのＵＲＬのハッシュ値を抽出する。コンテンツのＵＲＬのハッシュ値はコンテンツを要求するパケットに含められ、キャッシュサーバ１４から送信される。その後、キャッシュヒット判定部２４は、抽出したハッシュ値をキーとしてキャッシュヒット判定テーブル２５を検索し、要求されたコンテンツがキャッシュシステム内に保持されているか否かを判定する（Ｓ３００）。
【０１５９】
この時、キャッシュヒット判定部２４は、コンテンツの要求を送信したドメインのキャッシュヒット判定テーブル３６を除いた、他のドメインのキャッシュヒット判定テーブル３６について、抽出したハッシュ値をキーとして検索する（Ｓ３０１）。ここで、各キャッシュヒット判定テーブルの検索においては、ドメイン毎に順番に検索を実行してもよいし、検索すべきドメインのキャッシュヒット判定テーブルの検索を並列に実行してもよい。
【０１６０】
そして、検索したいずれのドメインのキャッシュヒット判定テーブル３６にもヒットしなかった場合は、当該コンテンツがアクセス網１２内に保持されていないと判断し、要求処理部２３は当該コンテンツの要求をオリジンサーバ１０へ転送する（Ｓ１０３）。一方、いずれかのキャッシュ判定テーブル３６にヒットした場合は、当該コンテンツの要求パケットと共に、ヒットしたキャッシュ判定テーブル２５のドメインの識別子をシステム管理サーバ１８に転送する（Ｓ３０２）。
【０１６１】
図１９に、第３の実施の形態のシステム管理サーバ１８の構成の一例を示す。
【０１６２】
システム管理サーバ１８は、入出力インターフェース２０、要求処理部５０、コンテンツ情報管理キャッシュ制御サーバ検索部５１及びコンテンツ情報管理テーブル５２を備える。
【０１６３】
入出力インターフェース２０は、アクセス網１２と接続され、キャッシュ連携ルータ１６とパケットの送受信をするインターフェースである。
【０１６４】
要求処理部５０は、キャッシュ連携ルータ１６から転送されたコンテンツの要求や、ドメイン１９から受信した新規にキャッシュしたコンテンツの情報を処理する。
【０１６５】
コンテンツ情報管理キャッシュ制御サーバ検索部５１は、前記コンテンツの情報を管理するキャッシュ制御サーバを検索する。
【０１６６】
要求処理部５０及びコンテンツ情報管理キャッシュ制御サーバ検索部５１は、システム管理サーバ１８に備わるプロセッサによる処理によって構成される。
【０１６７】
コンテンツ情報管理テーブル５２は、アクセス網内に保持しているコンテンツの情報を格納し、メモリやＨＤＤ等の記憶部によって構成される。
【０１６８】
図２０に、第３の実施の形態のシステム管理サーバ１８のコンテンツ情報管理テーブル５２の構成例を示す。
【０１６９】
コンテンツ情報管理テーブル５２は、各ドメイン内に保持されているコンテンツの情報を格納するドメインコンテンツ情報管理テーブル３８を含む。ドメインコンテンツ情報管理テーブル３８は、キャッシュシステム内に存在するドメインの数だけ存在する。
【０１７０】
ドメインコンテンツ情報管理テーブル３８は、一つ以上のドメインコンテンツ情報管理テーブルエントリ３９を含む。ドメインコンテンツ情報管理テーブルエントリ３９は、実際のデータを格納するフィールドとして、ＵＲＬハッシュ値フィールド３１、ＵＲＬフィールド３４及びキャッシュ制御サーバアドレスフィールド３２を含む。
【０１７１】
ＵＲＬハッシュ値フィールド３１は、キャッシュヒット判定テーブル２５（図４）に含まれるＵＲＬハッシュ値フィールド３１と同じ値を格納するフィールドである。ＵＲＬフィールド３４は、コンテンツ情報管理テーブル４２（図７）に含まれるＵＲＬハッシュ値フィールド３１と同じ値を格納するフィールドである。キャッシュ制御サーバアドレスフィールド３２は、キャッシュヒット判定テーブル２５（図４）に含まれる転送先キャッシュ制御サーバアドレスフィールド３２と同じ値を格納するフィールドである。
【０１７２】
図２１に、第３の実施の形態のシステム管理サーバ１８が、キャッシュ連携ルータ１６から、コンテンツの要求パケットを受信した場合のフローチャートを示す。
【０１７３】
システム管理サーバ１８が、キャッシュ連携ルータ１６から、入出力インターフェース２０を介して、コンテンツの要求を、キャッシュ連携ルータ１６のキャッシュヒット判定テーブル２５においてヒットしたドメインの識別子と共に受信する（Ｓ３１０）。
【０１７４】
要求処理部５０は、取得したドメインの識別子を用いて当該コンテンツがヒットしたドメインのドメインコンテンツ情報管理テーブルを検索する（Ｓ３１１）。そして、当該コンテンツの情報を管理するキャッシュ制御サーバが存在するか否かを判定する（Ｓ３１２）。
【０１７５】
その結果、当該コンテンツの情報を管理するキャッシュ制御サーバが存在する場合は、ステップＳ３１３にて、当該コンテンツを管理するキャッシュサーバへ、当該コンテンツを要求したサーバへ当該コンテンツを送信するよう要求メッセージを転送する（Ｓ３１３）。
【０１７６】
一方、当該コンテンツの情報を管理するキャッシュ制御サーバが存在しない場合は、当該コンテンツのオリジナルデータを保持するオリジンサーバ１０から当該コンテンツを取得し（Ｓ１１１）、取得したコンテンツを当該コンテンツを要求したキャッシュサーバに送信する（Ｓ１１２）。なお、ステップＳ１１１、Ｓ１１２は、図８で説明した第１の実施の形態のキャッシュ制御サーバと同一の処理のため、図８と同一の番号を付している。
【０１７７】
図２２に、システム管理サーバ１８が、あるドメイン内のキャッシュ制御サーバから新規にコンテンツをキャッシュ通知パケットを受信した場合のフローチャートを示す。
【０１７８】
システム管理サーバ１８は、キャッシュ制御サーバより、入出力インターフェース２０を介して、コンテンツのキャッシュ情報を受信すると、要求処理部５０は、送信元のキャッシュ制御サーバのドメインのコンテンツ情報を管理するドメインコンテンツ情報管理テーブルに、コンテンツの情報を追加する（Ｓ３２０）。
【０１７９】
そして、ドメインの識別子と共に追加したコンテンツの情報をキャッシュ連携ルータへ送信する（Ｓ３２１）。
【０１８０】
以上説明したように、本発明の第３の実施の形態によれば、ドメイン間でのキャッシュシステムを連携させることによって、アクセス網内でのヒット率を向上させることができる。また、オリジンサーバへの要求を抑制することによって、オリジンサーバの負荷を低減し、コア網及びアクセス網間のトラフィックを低減することができる。さらに、ドメイン毎にクライアントから要求されたコンテンツが分散キャッシュシステム内に記憶されているかを判断することによって、コンテンツの検索に要する処理時間を短縮し、クライアント端末からのコンテンツの要求に対して、アクセス網から応答することにより、応答時間を向上することができる。
【図面の簡単な説明】
【０１８１】
【図１】第１の実施の形態の分散キャッシュシステムのシステム構成図である。
【図２】第１の実施の形態の分散キャッシュシステムの動作を示すシーケンス図である。
【図３】第１の実施の形態のキャッシュ連携ルータのブロック図である。
【図４】第１の実施の形態のキャッシュヒット判定テーブルの構成図である。
【図５】第１の実施の形態のキャッシュ連携ルータのコンテンツ要求受信処理のフローチャートである。
【図６】第１の実施の形態のキャッシュ制御サーバのブロック図である。
【図７】第１の実施の形態のコンテンツ情報管理テーブルの構成図である。
【図８】第１の実施のキャッシュ制御サーバのコンテンツ要求パケット受信時の処理のフローチャートである。
【図９】第１の実施の形態のキャッシュ制御サーバのコンテンツ保持情報受信時の処理のフローチャートである。
【図１０】第１の実施の形態のキャッシュサーバのブロック図である。
【図１１】第１の実施の形態のキャッシュサーバのコンテンツ受信時の処理のフローチャートである。
【図１２】第１の実施の形態の変形例のキャッシュ制御サーバのコンテンツ要求パケット受信時の処理のフローチャートである。
【図１３】第２の実施の形態の分散キャッシュシステムのシステム構成図である。
【図１４】第２の実施の形態の分散キャッシュシステムの動作を示すシーケンス図である。
【図１５】第３の実施の形態の分散キャッシュシステムのシステム構成図である。
【図１６】第３の実施の形態の分散キャッシュシステムの動作を示すシーケンス図である。
【図１７】第３の実施の形態のキャッシュヒット判定テーブルの構成図である。
【図１８】第３の実施の形態のキャッシュ連携ルータのコンテンツ要求パケット受信時の処理のフローチャートである。
【図１９】第３の実施の形態のシステム管理サーバのブロック図である。
【図２０】第３の実施の形態のコンテンツ情報管理テーブルの構成図である。
【図２１】第３の実施の形態のシステム管理サーバのコンテンツ要求パケット受信時の処理のフローチャートである。
【図２２】第３の実施の形態のシステム管理サーバのコンテンツ保持情報受信時の処理のフローチャートである。
【符号の説明】
【０１８２】
１０  オリジンサーバ
１１  コア網
１２  アクセス網
１３  ルータ
１４  キャッシュサーバ
１５  クライアント端末
１６  キャッシュ連携ルータ
１７  キャッシュ制御サーバ
１８  システム管理サーバ
１９  ドメイン
２０  入出力インターフェース
２１  内部バス
２２  パケット処理部
２３  キャッシュ連携ルータの要求処理部
２４  キャッシュヒット判定部
２５  キャッシュヒット判定テーブル
３０  キャッシュヒット判定テーブルエントリ
３１  ＵＲＬハッシュ値フィールド
３２  転送先キャッシュ制御サーバアドレスフィールド
３３  コンテンツ情報管理テーブルエントリ
３４  ＵＲＬフィールド
３５  キャッシュサーバアドレスフィールド
３６  ドメインキャッシュヒット判定テーブル
３７  ドメインキャッシュヒット判定テーブルエントリ
３８  ドメインコンテンツ情報管理テーブル
３９  ドメインコンテンツ情報管理テーブルエントリ
４０  キャッシュ制御サーバの要求処理部
４１  キャッシュ保持サーバ検索部
４２  コンテンツ情報管理テーブル
４３  キャッシュサーバの要求処理部
４４  コンテンツ管理部
４５  コンテンツ蓄積部
４６  コンテンツ情報管理キャッシュ制御サーバ決定部
５０  システム管理サーバの要求処理部
５１  コンテンツ情報管理キャッシュ制御サーバ検索部
５２  システム管理サーバのコンテンツ情報管理テーブル
【図１】
2007066161.tif 000003
【図２】
2007066161.tif 000004
【図３】
2007066161.tif 000005
【図４】
2007066161.tif 000006
【図５】
2007066161.tif 000007
【図６】
2007066161.tif 000008
【図７】
2007066161.tif 000009
【図８】
2007066161.tif 000010
【図９】
2007066161.tif 000011
【図１０】
2007066161.tif 000012
【図１１】
2007066161.tif 000013
【図１２】
2007066161.tif 000014
【図１３】
2007066161.tif 000015
【図１４】
2007066161.tif 000016
【図１５】
2007066161.tif 000017
【図１６】
2007066161.tif 000018
【図１７】
2007066161.tif 000019
【図１８】
2007066161.tif 000020
【図１９】
2007066161.tif 000021
【図２０】
2007066161.tif 000022
【図２１】
2007066161.tif 000023
【図２２】
2007066161.tif 000024