(57)【要約】【課題】本発明の目的は、一通信事業者網規模を想定し、エンドユーザに対するキャッシュサーバの割り当て粒度を細かくし、コンテンツプロバイダとの連携が不要であって、ＰＢＲルータのルールの作成及び設定を自動化する中継システムを提供することである。【解決手段】中継装置のルール設定方法であって、中継システムは、コンテンツの複製を保持するキャッシュ計算機、及び中継装置にルールを設定可能なルール設定モジュールを有し、ルール設定モジュールは、キャッシュ計算機と各中継装置とのネットワーク距離を測定し、中継装置毎に最近傍キャッシュ計算機を特定し、ユーザ装置から送信されたデータを最近傍キャッシュ計算機に転送するためのルールを中継装置に設定する。【選択図】図６
2014064096.tif 000002
【特許請求の範囲】
【請求項１】
データを転送する中継装置のルール設定方法であって、
前記中継装置は、中継システム内に設けられるものであって、ユーザ装置から送信されたデータを設定されたルールに基づいてデータを転送し、
前記中継システムは、コンテンツ計算機によって提供されるコンテンツの複製を保持するキャッシュ計算機、及び前記中継装置にルールを設定可能なルール設定モジュールを有し、
前記ルール設定方法は、
前記ルール設定モジュールが、前記キャッシュ計算機と各中継装置とのネットワーク距離を測定し、
前記ルール設定モジュールが、前記中継装置毎に、前記ネットワーク距離が最も近い最近傍キャッシュ計算機を特定し、
前記ルール設定モジュールが、前記ユーザ装置から送信されたデータを前記最近傍キャッシュ計算機に転送するためのルールを前記中継装置に設定することを特徴とするルール設定方法。
【請求項２】
請求項１に記載のルール設定方法であって、
前記ルール設定モジュールが、前記中継システムに前記キャッシュ計算機が追加されることを検出した場合、前記追加されるキャッシュ計算機と前記各中継装置とのネットワーク距離を測定し、
前記ルール設定モジュールが、前記追加されるキャッシュ計算機が前記最近傍キャッシュ計算機となる前記中継装置に対して、前記ルールを設定することを特徴とするルール設定方法。
【請求項３】
請求項１に記載のルール設定方法であって、
前記ルール設定モジュールが、前記中継システムから前記キャッシュ計算機が削除されることを検出した場合、前記削除されるキャッシュ計算機が前記最近傍キャッシュ計算機となる中継装置と、前記削除されるキャッシュ計算機以外のキャッシュ計算機とのネットワーク距離を測定し、
前記ルール設定モジュールが、前記削除されるキャッシュ計算機が前記最近傍キャッシュ計算機となる中継装置毎に、前記削除されるキャッシュ計算機以外のキャッシュ計算機から前記最近傍キャッシュ計算機を特定し、
前記ルール設定モジュールが、前記削除されるキャッシュ計算機が前記最近傍キャッシュ計算機となる中継装置に対して、前記ルールを前記中継装置に設定することを特徴とするルール設定方法。
【請求項４】
請求項１に記載のルール設定方法であって、
前記ルール設定モジュールが、前記キャッシュ計算機及び前記中継装置の少なくとも一方に異常が発生したことを検出した場合、前記キャッシュ計算機と各中継装置とのネットワーク距離を測定し、
前記ルール設定モジュールが、前記中継装置毎に、前記最近傍キャッシュ計算機を特定し、
前記ルール設定モジュールが、前記ルールを前記中継装置に設定することを特徴とするルール設定方法。
【請求項５】
請求項２に記載のルール設定方法であって、
前記ルール設定モジュールが、前記中継システムを初期構築する場合において、前記中継システムに前記キャッシュ計算機が新たに追加されることを検出し、かつ、所定条件が成立してから、前記追加されるキャッシュ計算機と前記中継装置とのネットワーク距離を測定することを特徴とするルール設定方法。
【請求項６】
請求項１に記載のルール設定方法であって、
前記中継システムは、管理計算機を有し、
前記ルール設定モジュールは、第１モジュール及び第２モジュールを含み、
前記第１モジュールは前記管理計算機上で動作し、前記第２モジュールは前記キャッシュ計算機上で動作し、
前記ルール設定方法は、
新たに追加されるキャッシュ計算機が、前記管理計算機に追加要求を送信し、
前記管理計算機の第１モジュールが、前記管理計算機が前記追加要求を受信した場合、前記追加されるキャッシュ計算機の識別情報をキャッシュ計算機管理テーブルに登録し、
前記管理計算機の第１モジュールが、前記追加されるキャッシュ計算機に対して、前記各中継装置とのネットワーク距離の測定指示を送信し、
前記追加されるキャッシュ計算機の第２モジュールが、前記測定指示を受信した場合、前記追加されるキャッシュ計算機と前記各中継装置とのネットワーク距離を測定し、
前記追加されるキャッシュ計算機の第２モジュールが、前記各中継装置とのネットワーク距離の測定結果を前記管理計算機に送信し、
前記管理計算機の第１モジュールが、前記測定結果を受信した場合、前記測定結果に基づいて前記各中継装置の前記最近傍キャッシュ計算機を特定し、
前記管理計算機の第１モジュールが、前記各中継装置に前記ルールを設定することを特徴とするルール設定方法。
【請求項７】
請求項１に記載のルール設定方法であって、
前記中継システムは、管理計算機、及び前記キャッシュ計算機の近くに存在する計算機を備え、
前記ルール設定モジュールは、第１モジュール及び第２モジュールを含み、
前記第１モジュールは前記管理計算機上で動作し、前記第２モジュールは前記計算機上で動作し、
前記ルール設定方法は、
新たに追加されるキャッシュ計算機が、前記管理計算機に追加要求を送信し、
前記管理計算機の第１モジュールが、前記管理計算機が前記追加要求を受信した場合、前記追加されるキャッシュ計算機の識別情報をキャッシュ計算機管理テーブルに登録し、
前記管理計算機の第１モジュールが、前記追加されるキャッシュ計算機の近くに存在する計算機に対して、前記各中継装置とのネットワーク距離の測定指示を送信し、
前記計算機の第２モジュールが、前記測定指示を受信した場合、前記計算機と前記各中継装置とのネットワーク距離を、前記追加されるキャッシュ計算機と前記各中継装置とのネットワーク距離として測定し、
前記計算機の第２モジュールが、前記各中継装置とのネットワーク距離の測定結果を前記管理計算機に送信し、
前記管理計算機の第１モジュールが、前記測定結果を受信した場合、前記測定結果に基づいて前記各中継装置の前記最近傍キャッシュ計算機を特定し、
前記管理計算機の第１モジュールが、前記各中継装置に前記ルールを設定することを特徴とするルール設定方法。
【請求項８】
請求項１に記載のルール設定方法であって、
前記中継システムは、管理計算機を有し、
前記ルール設定モジュールは、第１モジュール及び第２モジュールを含み、
前記第１モジュールは前記管理計算機上で動作し、前記第２モジュールは前記中継装置上で動作し、
前記ルール設定方法は、
追加されるキャッシュ計算機が、前記管理計算機に追加要求を送信し、
前記管理計算機の第１モジュールが、前記管理計算機が前記追加要求を受信した場合、前記キャッシュ計算機の追加指示を前記各中継装置に送信し、
前記中継装置の第２モジュールが、前記追加指示を受信した場合、前記追加されるキャッシュ計算機の識別情報をキャッシュ計算機管理テーブルに登録し、
前記中継装置の第２モジュールが、前記追加されるキャッシュ計算機と自身が動作する前記中継装置とのネットワーク距離を測定し、
前記中継装置の第２モジュールが、前記ネットワーク距離の測定結果に基づいて、自身が動作する前記中継装置の前記最近傍キャッシュ計算機を特定し、
前記中継装置の第２モジュールが、自身が動作する前記中継装置に前記ルールを設定することを特徴とするルール設定方法。
【請求項９】
請求項１に記載のルール設定方法であって、
前記中継システムは、管理計算機、及び前記中継装置の近くに存在する計算機を有し、
前記ルール設定モジュールは、第１モジュール及び第２モジュールを含み、
前記第１モジュールは前記管理計算機上で動作し、前記第２モジュールは前記計算機上で動作し、
前記ルール設定方法は、
追加されるキャッシュ計算機が、前記管理計算機に追加要求を送信し、
前記管理計算機の第１モジュールが、前記管理計算機が前記追加要求を受信した場合、前記キャッシュ計算機の追加指示を前記各計算機に送信し、
前記各計算機の第２モジュールが、前記追加指示を受信した場合、前記追加されるキャッシュ計算機の識別情報をキャッシュ計算機管理テーブルに登録し、
前記各計算機の第２モジュールが、前記追加されるキャッシュ計算機と前記計算機とのネットワーク距離を、前記追加されるキャッシュ計算機と前記各中継装置とのネットワーク距離として測定し、
前記各計算機の第２モジュールが、前記ネットワーク距離の測定結果に基づいて、前記計算機の近くに存在する中継装置の前記最近傍キャッシュ計算機を特定し、
前記各計算機の第２モジュールが、前記計算機の近くに存在する中継装置に前記ルールを設定することを特徴とするルール設定方法。
【請求項１０】
コンテンツ計算機によって提供されるコンテンツの複製を保持するキャッシュ計算機と、
設定されたルールに基づいてユーザ装置から送信されたデータを転送する中継装置と、を備える中継システムであって、
前記中継装置にルールを設定可能なルール設定モジュールを備え、
前記ルール設定モジュールは、
前記キャッシュ計算機と各中継装置とのネットワーク距離を測定し、
前記中継装置毎に、前記ネットワーク距離が最も近い最近傍キャッシュ計算機を特定し、
前記ユーザ装置から送信されたデータを前記最近傍キャッシュ計算機に転送するためのルールを前記中継装置に設定することを特徴とする中継システム。
【請求項１１】
請求項１０に記載の中継システムであって、
管理計算機を備え、
前記ルール設定モジュールは、第１モジュール及び第２モジュールを含み、
前記第１モジュールは前記管理計算機上で動作し、前記第２モジュールは前記キャッシュ計算機上で動作し、
新たに追加されるキャッシュ計算機は、前記管理計算機に追加要求を送信し、
前記管理計算機の第１モジュールは、
前記管理計算機が前記追加要求を受信した場合、前記追加されるキャッシュ計算機の識別情報をキャッシュ計算機管理テーブルに登録し、
前記追加されるキャッシュ計算機に対して、前記各中継装置とのネットワーク距離の測定指示を送信し、
前記追加されるキャッシュ計算機の第２モジュールは、前記測定指示を受信した場合、前記追加されるキャッシュ計算機と前記各中継装置とのネットワーク距離を測定し、
前記各中継装置とのネットワーク距離の測定結果を前記管理計算機に送信し、
前記管理計算機の第１モジュールは、
前記測定結果を受信した場合、前記測定結果に基づいて前記各中継装置の前記最近傍キャッシュ計算機を特定し、
前記各中継装置に前記ルールを設定することを特徴とする中継システム。
【請求項１２】
請求項１０に記載の中継システムであって、
管理計算機、及び前記キャッシュ計算機の近くに存在する計算機を備え、
前記ルール設定モジュールは、第１モジュール及び第２モジュールを含み、
前記第１モジュールは前記管理計算機上で動作し、前記第２モジュールは前記計算機上で動作し、
新たに追加されるキャッシュ計算機は、前記管理計算機に追加要求を送信し、
前記管理計算機の第１モジュールは、
前記管理計算機が前記追加要求を受信した場合、前記追加されるキャッシュ計算機の識別情報をキャッシュ計算機管理テーブルに登録し、
前記追加されるキャッシュ計算機との近くに存在する計算機に対して、前記各中継装置とのネットワーク距離の測定指示を送信し、
前記計算機の第２モジュールは、前記測定指示を受信した場合、前記計算機と前記各中継装置とのネットワーク距離を、前記追加されるキャッシュ計算機と前記各中継装置とのネットワーク距離として測定し、
前記各中継装置とのネットワーク距離の測定結果を前記管理計算機に送信し、
前記管理計算機の第１モジュールは、
前記測定結果を受信した場合、前記測定結果に基づいて前記各中継装置の前記最近傍キャッシュ計算機を特定し、
前記各中継装置に前記ルールを設定することを特徴とする中継システム。
【請求項１３】
請求項１０に記載の中継システムであって、
管理計算機を備え、
前記ルール設定モジュールは、第１モジュール及び第２モジュールを含み、
前記第１モジュールは前記管理計算機上で動作し、前記第２モジュールは前記中継装置上で動作し、
追加されるキャッシュ計算機は、前記管理計算機に追加要求を送信し、
前記管理計算機の第１モジュールは、前記管理計算機が前記追加要求を受信した場合、前記キャッシュ計算機の追加指示を前記各中継装置に送信し、
前記中継装置の第２モジュールは、
前記追加指示を受信した場合、前記追加されるキャッシュ計算機の識別情報をキャッシュ計算機管理テーブルに登録し、
前記追加されるキャッシュ計算機と自身が動作する前記中継装置とのネットワーク距離を測定し、
前記ネットワーク距離の測定結果に基づいて、自身が動作する前記中継装置の前記最近傍キャッシュ計算機を特定し、
自身が動作する前記中継装置に前記ルールを設定することを特徴とする中継システム。
【請求項１４】
請求項１０に記載の中継システムであって、
管理計算機、及び前記中継装置の近くに存在する計算機を備え、
前記ルール設定モジュールは、第１モジュール及び第２モジュールを含み、
前記第１モジュールは前記管理計算機上で動作し、前記第２モジュールは前記計算機上で動作し、
追加されるキャッシュ計算機は、前記管理計算機に追加要求を送信し、
前記管理計算機の第１モジュールは、前記管理計算機が前記追加要求を受信した場合、前記キャッシュ計算機の追加指示を前記各計算機に送信し、
前記各計算機の第２モジュールは、
前記追加指示を受信した場合、前記追加されるキャッシュ計算機の識別情報をキャッシュ計算機管理テーブルに登録し、
前記追加されるキャッシュ計算機と前記計算機とのネットワーク距離を、前記追加されるキャッシュ計算機と前記各中継装置とのネットワーク距離として測定し、
前記ネットワーク距離の測定結果に基づいて、前記計算機の近くに存在する中継装置の前記最近傍キャッシュ計算機を特定し、
前記計算機の近くに存在する中継装置に前記ルールを設定することを特徴とする中継システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ計算機によって提供されるコンテンツの複製を保持するキャッシュ計算機と、中継装置とを備える中継システムに関し、特に、中継装置がエンドユーザからのデータを近傍のキャッシュ計算機に転送する中継システムに関する。
【背景技術】
【０００２】
トラフィック量の増加によってネットワークが逼迫すると、エンドユーザに対するサービスの応答性が劣化するとともに、ネットワークを管理する通信事業者が負担する設備投資コストが増大する。そこでトラフィック量を減少させるために、エンドユーザの近傍にキャッシュサーバを配置し、キャッシュサーバがエンドユーザのリクエストを受け付け、リクエストに応じたデータを返すキャッシュシステムが知られている。このキャッシュシステムでは、エンドユーザのトラフィックをエンドユーザの近傍のキャッシュサーバに転送するトラフィック転送技術が用いられる。
【０００３】
例えば、ＤＮＳサーバがエンドユーザのトラフィックをキャッシュサーバに転送するトラフィック転送技術を用いたキャッシュシステムが知られている（例えば、特許文献１参照）。
【０００４】
また、トラフィックの宛先ポート番号に基づいて指定された転送先へルーティングする機能を利用してエンドユーザからのトラフィックをキャッシュサーバへ転送するトラフィック転送技術を用いたキャッシュシステムが知られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第２００２／０１２９１３４明細書
【特許文献２】米国特許第６３８９４６２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のキャッシュシステムを一つの通信事業者が管理する通信網（以降では一通信事業者網という）に適用した場合に、以下の課題が見出された。
【０００７】
まず、例えば、特許文献１に記載されるように、ＤＮＳサーバを利用するキャッシュシステムでは、エンドユーザ近傍のキャッシュサーバを割り当てるために，エンドユーザが使用したＤＮＳサーバ毎にキャッシュサーバを割り当てる。しかし，一通信事業者網規模のネットワークにはＤＮＳサーバは数台程度しかない。そのため、ＤＮＳサーバを利用した従来のキャッシュシステムを一通信事業者網規模のネットワークに適用すると、ＤＮＳサーバ一台あたりに割り当てられるエンドユーザ数が多く、キャッシュサーバを割り当てる粒度が荒くなるという第一の課題がある。
【０００８】
また、一通信事業者網内を流れるトラフィックに含まれるＷｅｂページなどのコンテンツは、不特定多数のコンテンツプロバイダによって提供される。しかし、キャッシュシステムを提供するキャッシュプロバイダが全てのコンテンツプロバイダと契約することは現実的に不可能である。このため，ＤＮＳサーバ毎に割り当てたキャッシュサーバを利用するキャッシュシステムのようにキャッシュプロバイダとコンテンツプロバイダとの契約及び連携が必要なシステムは、不特定多数のコンテンツプロパイダによって提供されるコンテンツに対応できないという第二の課題がある。
【０００９】
次に、従来のトラフィックの宛先ポート番号に基づいて指定した転送先へルーティングする機能（以降では、該機能をＰｏｌｉｃｙ  Ｂａｓｅｄ  Ｒｏｕｔｉｎｇ機能、略してＰＢＲ機能と呼ぶ）を利用するキャッシュシステムは、一通信事業者網内に数千台あるＰＢＲ機能を持つルータ（以降、ＰＢＲルータとする）に、転送するトラフィックの条件と条件に合致したトラフィックの転送先（以降では、これらをまとめたものをルールと呼ぶ）を設定することでＰＢＲルータを経由したエンドユーザのトラフィックをＰＢＲルータの近傍のキャッシュサーバへ転送できる。しかし、ルールに記述する転送先は各ＰＢＲルータの近傍のキャッシュサーバであるため、ＰＢＲルータ毎に異なる。すなわち、各ＰＢＲルータの近傍キャッシュサーバを探索する必要がある。しかし、一通信事業者網にはＰＢＲルータが数千台あり、近傍キャッシュサーバの探索には非常に時間がかかるという第三の問題がある。また、ＰＢＲルータ毎に設定すべきルールが異なるため、数千台分のＰＢＲルータのルールを手動で作成及び設定しては非常に時間がかかるという第四の問題がある。
【００１０】
したがって、本発明の目的は、一通信事業者網規模を想定し、エンドユーザに対するキャッシュサーバの割り当て粒度を細かくし、コンテンツプロバイダとの連携が不要であって、ＰＢＲルータのルールの作成及び設定を自動化する中継システムを提供することである。
【課題を解決するための手段】
【００１１】
本発明の代表的な一例を示せば、以下の通りである。すなわち、データを転送する中継装置のルール設定方法であって、前記中継装置は、中継システム内に設けられるものであって、ユーザ装置から送信されたデータを設定されたルールに基づいてデータを転送し、前記中継システムは、前記コンテンツ計算機によって提供されるコンテンツの複製を保持するキャッシュ計算機、及び前記中継装置にルールを設定可能なルール設定モジュールを有し、前記ルール設定方法は、前記ルール設定モジュールが、前記キャッシュ計算機と各中継装置とのネットワーク距離を測定し、前記ルール設定モジュールが、前記中継装置毎に、前記ネットワーク距離が最も近い最近傍キャッシュ計算機を特定し、前記ルール設定モジュールが、前記ユーザ装置から送信されたデータを前記最近傍キャッシュ計算機に転送するためのルールを前記中継装置に設定することを特徴とする。
【発明の効果】
【００１２】
本願において開示される発明のうち代表的なものによって得られる効果を簡潔に説明すれば、下記の通りである。すなわち、一通信事業者網規模を想定し、エンドユーザに対するキャッシュサーバの割り当て粒度を細かくし、コンテンツプロバイダとの連携が不要であって、ＰＢＲルータのルールの作成及び設定を自動化する中継システムを提供できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例１の中継システムの説明図である。
【図２】本発明の実施例１のＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒのハードウェア構成図である。
【図３】本発明の実施例１の近傍キャッシュ表の説明図である。
【図４】本発明の実施例１のキャッシュサーバ一覧表の説明図である。
【図５】本発明の実施例１のキャッシュサーバのハードウェア構成図である。
【図６】本発明の実施例１のキャッシュサーバ追加処理のシーケンス図である。
【図７Ａ】本発明の実施例１のルール設定コマンドの説明図である。
【図７Ｂ】本発明の実施例１のルール内容の説明図である。
【図８】本発明の実施例１のキャッシュサーバ追加処理のうちＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒによる処理のフローチャートである。
【図９】本発明の実施例１のキャッシュサーバ一覧表更新処理のフローチャートである。
【図１０】本発明の実施例１の近傍キャッシュ表更新処理のフローチャートである。
【図１１】本発明の実施例１のルール設定処理のフローチャートである。
【図１２】本発明の実施例１のＲｅｓｏｌｖｅ  Ａｇｅｎｔによるキャッシュサーバ追加／削除要求処理のフローチャートである。
【図１３】本発明の実施例１のＲｅｓｏｌｖｅ  Ａｇｅｎｔによる距離測定処理のフローチャートである。
【図１４】本発明の実施例１のネットワーク距離の測定結果の説明図である。
【図１５】本発明の実施例１のキャッシュサーバ削除処理のシーケンス図である。
【図１６】本発明の実施例１のキャッシュサーバ削除処理のうちＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒによる処理のフローチャートである。
【図１７】本発明の実施例１のルール更新処理のシーケンス図である。
【図１８】本発明の実施例１のルール更新処理のうちＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒによる処理のフローチャートである。
【図１９】本発明の実施例１のＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒの動作のフローチャートである。
【図２０】本発明の実施例１のＲｅｓｏｌｖｅ  Ａｇｅｎｔの動作のフローチャートである。
【図２１】本発明の実施例２の中継システムの説明図である。
【図２２】本発明の実施例２のＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒのハードウェア構成図である。
【図２３】本発明の実施例２のキャッシュサーバ一覧表の説明図である。
【図２４】本発明の実施例２のキャッシュサーバのハードウェア構成図である。
【図２５】本発明の実施例２のＲｅｓｏｌｖｅ  Ａｇｅｎｔを実装する装置のハードウェア構成図である。
【図２６】本発明の実施例３の中継システムの説明図である。
【図２７】本発明の実施例３のＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒのハードウェア構成図である。
【図２８】本発明の実施例３のＰＢＲルータのハードウェア構成図である。
【図２９】本発明の実施例３の近傍キャッシュ表の説明図である。
【図３０】本発明の実施例３のキャッシュサーバ追加処理のシーケンス図である。
【図３１】本発明の実施例３のキャッシュサーバ追加処理のＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒによる処理のフローチャートである。
【図３２】本発明の実施例３のキャッシュサーバ追加処理のＲｅｓｏｌｖｅ  Ａｇｅｎｔによる処理のフローチャートである。
【図３３】本発明の実施例３のキャッシュサーバ削除処理のシーケンス図である。
【図３４】本発明の実施例３のキャッシュサーバ削除処理のうちＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒによって実行される処理のフローチャートである。
【図３５】本発明の実施例３のキャッシュサーバ削除処理のうちＲｅｓｏｌｖｅ  Ａｇｅｎｔによって実行される処理のフローチャートである。
【図３６】本発明の実施例３のルール更新処理のフローチャートである。
【図３７】本発明の実施例３のキャッシュサーバ削除処理のうちＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒによって実行される処理のフローチャートである。
【図３８】本発明の実施例３のキャッシュサーバ削除処理のうちＲｅｓｏｌｖｅ  Ａｇｅｎｔによって実行される処理のフローチャートである。
【図３９】本発明の実施例１のＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒの動作のフローチャートである。
【図４０】本発明の実施例３のＲｅｓｏｌｖｅ  Ａｇｅｎｔの動作のフローチャートである。
【図４１】本発明の実施例４の中継システムの説明図である。
【図４２】本発明の実施例４のＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒのハードウェア構成図である。
【図４３】本発明の実施例４のＲｅｓｏｌｖｅ  Ａｇｅｎｔ一覧表の説明図である。
【図４４】本発明の実施例４のＲｅｓｏｌｖｅ  Ａｇｅｎｔを実装する計算機のハードウェア構成図である。
【図４５】本発明の実施例５の初期構築処理のフローチャートである。
【発明を実施するための形態】
【００１４】
実施例１〜実施例５では、ＰＢＲルータがエンドユーザからのトラフィックを自身の近傍に存在するキャッシュサーバに転送する中継システムにおいて、ＰＢＲルータに設定されるルールが自動的に作成され、ＰＢＲルータにルールが自動的に設定される中継システムについて説明する。
【実施例１】
【００１５】
本実施例では、キャッシュサーバ（キャッシュ計算機）とＰＢＲルータとの間のネットワーク距離を測定するＲｅｓｏｌｖｅ  Ａｇｅｎｔがキャッシュサーバに実装される。
【００１６】
以下、本発明の実施例１について図１〜図２０を用いて説明する。
【００１７】
図１は、本発明の実施例１の中継システムの説明図である。
【００１８】
中継システムは、Ｗｅｂサーバ（ウェブ計算機）１０１１、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１、キャッシュサーバＡ１０３１及びＢ１０３３、ルータＡ１０４１〜Ｄ１０４４、ＰＢＲルータＡ１０５１〜Ｃ１０５３、並びにＰＣ  Ａ１０６１〜Ｄ１０６４を備える。また、キャッシュサーバＡ１０３１には、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１０３２が実装され、キャッシュサーバＢ１０３３には、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ｂ１０３４が実装される。
【００１９】
なお、キャッシュサーバＡ１０３１及びＢ１０３３を総称してキャッシュサーバといい、ルータＡ１０４１〜Ｄ１０４４を総称してルータといい、ＰＢＲルータＡ１０５１〜Ｃ１０５３を総称してＰＢＲルータといい、ＰＣ  Ａ１０６１〜Ｄ１０６４を総称してＰＣといい、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１０３２及びＢ１０３４を総称してＲｅｓｏｌｖｅ  Ａｇｅｎｔという。
【００２０】
Ｗｅｂサーバ１０１１は、エンドユーザが利用するＰＣに提供するＷｅｂコンテンツを保持し、保持しているＷｅｂコンテンツをＰＣに配信するサーバ装置である。Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、本発明の中継システムによって実現されるキャッシュのメインコンポーネントであり、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを管理し、キャッシュサーバ追加要求、及びキャッシュサーバ削除要求などを受信する。
【００２１】
キャッシュサーバは、Ｗｅｂサーバ１０１１のＷｅｂコンテンツの複製を保持し、ＰＢＲルータによって転送されたＰＣからのリクエストに応じて、ＷｅｂコンテンツをＰＣに返すサーバ装置である。また、キャッシュサーバ上では、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔの機能を有するモジュールが動作する。Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、本発明の中継システムによって実現されるキャッシュシステムのメインコンポーネントであり、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１と連携して動作し、自身が実装されるキャッシュサーバとＰＢＲルータとの間のネットワーク距離を測定する。
【００２２】
Ｗｅｂサーバ１０１１とキャッシュサーバとは、ネットワークによって接続される。ネットワークは、一通信事業者によって提供されるネットワークであり、ルータ及びＰＢＲルータによって構成される。ＰＢＲルータは、転送条件と転送先とを含むルールに基づいてトラフィックを転送するルータ装置である。また、ネットワークは、ルータ又はＰＢＲルータに準ずる中継装置によって構成されてもよい。
【００２３】
また、本発明では、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔが、キャッシュサーバとＰＢＲルータとの間のネットワーク距離を測定するために、ＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ、往復遅延時間）を用いる。なお、ＲＴＴは、インターネットプロトコルにおいては、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）を利用することによって測定できる。また、ＲＴＴを測定する他のプロトコルも利用することができる。また、ネットワーク距離は、ＲＴＴだけでなく、キャッシュサーバとＰＢＲルータとの間の物理的距離であってもよいし、ホップ数であってもよいし、方道のＲＴＴであってもよい。
【００２４】
図１に示す中継システムにおいて、キャッシュサーバＡ１０３１が新たに追加される場合のキャッシュサーバ追加処理の概略を説明する。
【００２５】
図１に示す（１）では、新たに追加されるキャッシュサーバＡ１０３１に実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１０３２が、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に、キャッシュサーバ追加要求を送信する。Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、キャッシュサーバ追加要求を受信すると、当該Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１０３２に各ＰＢＲルータＡ１０５１〜Ｃ１０５３との間のネットワーク距離の測定を指示する。
【００２６】
図１に示す（２）では、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１０３２は、各ＰＢＲルータＡ１０５１〜Ｃ１０５３との間のネットワーク距離を測定する。そして、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１０３２は、ネットワーク距離の測定結果をＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に送信する。
【００２７】
図１に示す（３）及び（４）では、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、測定結果に基づいて、追加されたキャッシュサーバが最近傍キャッシュサーバとなるＰＢＲルータに、ＰＣ  Ａ１０６１〜１０６４からのデータを当該最近傍キャッシュサーバに転送するルールを生成し、当該ＰＢＲルータに当該ルールを設定する。
【００２８】
図１に示す（５）では、ＰＢＲルータＣ１０５３が、最近傍となるキャッシュサーバＢ１０３３に、ＰＣ  Ｄ１０６４からのデータを転送している。
【００２９】
これによって、ＰＢＲルータのルールの生成及び設定を自動化することができる。
【００３０】
図２は、本発明の実施例１のＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１のハードウェア構成図である。
【００３１】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ＣＰＵ２０１１、主記憶デバイス２０１２、及び二次記憶デバイス２０１３を有する。主記憶デバイス２０１２には、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュール２０２１、近傍キャッシュ表２０２２、及びキャッシュサーバ一覧表２０２３が記憶される。二次記憶デバイス２０１３には、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュールプログラム２０３１が記憶される。Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュールプログラム２０３１は、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１を制御するプログラムである。また、主記憶デバイス２０１２に記憶されるＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュール２０２１は、二次記憶デバイス２０１３に記憶されたＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュールプログラム２０３１が主記憶デバイス２０１２にロードされた状態を示す。ＣＰＵ２０１１は、主記憶デバイス２０１２にロードされたＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュール２０２１を実行する。
【００３２】
近傍キャッシュ表２０２２は、各ＰＢＲルータにネットワーク距離が最も近いキャッシュサーバである最近傍キャッシュサーバを管理するための表であり、図３で詳細を説明する。キャッシュサーバ一覧表２０２３は、ネットワーク上の利用可能なキャッシュサーバを管理するための表であり、図４で詳細を説明する。
【００３３】
図３は、本発明の実施例１の近傍キャッシュ表２０２２の説明図である。
【００３４】
近傍キャッシュ表２０２２は、上述したように、ネットワークを構成する各ＰＢＲルータの最近傍キャッシュサーバを管理するための表である。近傍キャッシュ表２０２２は、ＰＢＲルータＩＰ２０４１、最近傍キャッシュＩＰ２０４２、及び距離２０４３を含む。
【００３５】
ＰＢＲルータＩＰ２０４１には、ネットワークを構成するＰＢＲルータの識別情報として、ＰＢＲルータのＩＰアドレスが登録される。なお、ＰＢＲルータのＩＰアドレスは、ＰＢＲルータ装置固有のものである。
【００３６】
最近傍キャッシュＩＰ２０４２には、最近傍キャッシュサーバのＩＰアドレスが登録される。距離２０４３には、ＰＢＲルータと最近傍キャッシュサーバとの間のネットワーク距離が登録される。
【００３７】
近傍キャッシュ表２０２２の主キーは、ＰＢＲルータＩＰ２０４１に登録されたＰＢＲルータのＩＰアドレスであり、当該ＩＰアドレスによって、近傍キャッシュ表２０２２の所定の一行を特定可能である。
【００３８】
図４は、本発明の実施例１のキャッシュサーバ一覧表２０２３の説明図である。
【００３９】
キャッシュサーバ一覧表２０２３は、上述したように、ネットワーク上の利用可能なキャッシュサーバを管理するための表である。
【００４０】
キャッシュサーバ一覧表２０２３は、ＩＤ２０５１、及びキャッシュサーバＩＰ２０５２を含む。ＩＤ２０５１には通し番号が登録される。キャッシュサーバＩＰ２０５２には、ネットワーク上の利用可能なキャッシュサーバの識別情報として、キャッシュサーバのＩＰアドレスが登録される。なお、キャッシュサーバのＩＰアドレスは、キャッシュサーバ装置固有のものである。
【００４１】
キャッシュサーバ一覧表２０２３の主キーはＩＤ２０５１であり、ＩＤ２０５１に登録された通し番号によって、キャッシュサーバ一覧表２０２３の所定の一行を特定可能である。また、キャッシュサーバＩＰ２０５２に登録されたキャッシュサーバのＩＰアドレスも、キャッシュサーバ一覧表２０２３の主キーとなり得る。
【００４２】
図５は、本発明の実施例１のキャッシュサーバ１０３１のハードウェア構成図である。
【００４３】
キャッシュサーバは、ＣＰＵ２０６１、主記憶デバイス２０６２、及び二次記憶デバイス２０６３を有する。主記憶デバイス２０６２には、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔモジュール２０７１、及びキャッシュ管理モジュール２０７２が記憶される。二次記憶デバイス２０６３には、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔモジュールプログラム２０８１及びキャッシュ管理モジュールプログラム２０８２が記憶される。また、二次記憶デバイス２０６３は、キャッシュ管理領域２０８３を有する。Ｒｅｓｏｌｖｅ  Ａｇｅｎｔモジュールプログラム２０８１は、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔが動作するためのプログラムであり、キャッシュ管理モジュールプログラム２０８２は、Ｗｅｂサーバ１０１１によって提供されるＷｅｂコンテンツの複製を保持し、当該ＷｅｂコンテンツをＰＣに送信する機能を有する。キャッシュ管理領域２０８３は、キャッシュ管理モジュール２０７２が管理する記憶領域であり、Ｗｅｂサーバ１０１１によって提供されるＷｅｂコンテンツを記憶するための記憶領域である。
【００４４】
主記憶デバイス２０６２に記憶されたＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュール２０７１及びキャッシュ管理モジュール２０７２は、二次記憶デバイス２０６３に記憶されたＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュールプログラム２０８１、及びキャッシュ管理モジュールプログラム２０８２がロードされた状態を示す。ＣＰＵ２０６１は、主記憶デバイス２０６２に記憶されたＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュール２０７１及びキャッシュ管理モジュール２０７２を実行する。
【００４５】
なお、本実施例のキャッシュ管理モジュールプログラム２０８２は汎用のものであればよい。
【００４６】
次に、図６〜図１４を用いて、ネットワークに新たにキャッシュサーバが追加される場合のキャッシュサーバ追加処理について説明する。
【００４７】
図６は、本発明の実施例１のキャッシュサーバ追加処理のシーケンス図である。図６では、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ｃ５０２１を実装したキャッシュサーバＣ５０２０がネットワークに追加されるものとする。
【００４８】
本キャッシュサーバ追加処理は、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１と追加されるキャッシュサーバＣ５０２０のＲｅｓｏｌｖｅ  Ａｇｅｎｔ  Ｃ５０２１との間で実行される。
【００４９】
まず、ネットワークに新たに追加されるキャッシュサーバ５０２０に実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔ５０２１が、キャッシュサーバ追加要求をＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に送信する（５００１）。キャッシュサーバ追加要求には、新たに追加されるキャッシュサーバ５０２０のＩＰアドレスが含まれる。
【００５０】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、キャッシュサーバ追加要求を受信した場合、受信したキャッシュサーバ追加要求に含まれるキャッシュサーバ５０２０のＩＰアドレスをキャッシュサーバ一覧表２０２３に追加する（５００２）。
【００５１】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、近傍キャッシュ表２０２２のＰＢＲルータＩＰ２０４１に登録された全ＰＢＲルータのＩＰアドレスを取得して、取得したＰＢＲルータのＩＰアドレスのリストを生成する。そして、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、生成したリストの１行目のＩＰアドレスによって識別されるＰＢＲルータ（例えば、ＰＢＲルータＡ１０５１）をＰＢＲルータＡとし（５００３）、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ｃ５０２１にＰＢＲルータＡとのネットワーク距離測定指示を送信する（５００４）。
【００５２】
Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ｃ５０２１は、ＰＢＲルータＡとのネットワーク距離測定指示を受信した場合、自身が実装されるキャッシュサーバＣ５０２０とＰＢＲルータＡ（ＰＢＲルータＡ１０５１）との間のネットワーク距離を測定する。
【００５３】
そして、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ｃ５０２１は、ＰＢＲルータＡとのネットワーク距離の測定結果をＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に送信する（５００５）。
【００５４】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、測定結果を受信した場合、受信した測定結果が、近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードの距離２０４３に登録された距離よりも小さいか否かを判定する。受信した測定結果が、近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードの距離２０４３に登録された距離よりも小さいと判定された場合、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、当該レコードの最近傍キャッシュＩＰ２０４２に新たに追加されるキャッシュサーバＣ５０２０のＩＰアドレスを登録し、当該レコードの距離２０４３に測定結果を登録することによって、近傍キャッシュ表２０２２を更新する（５００６）。また、この場合、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ＰＣからのトラフィックを最近傍のキャッシュサーバとなるキャッシュサーバＣ５０２０に転送するようにＰＢＲルータＡにルールを設定する（５００７）。
【００５５】
ステップ５００７の処理におけるＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１がＰＢＲルータにルールを設定する方式について、図７Ａ及び図７Ｂを用いて説明する。
【００５６】
図７Ａは、本発明の実施例１のルール設定コマンドの説明図であり、図７Ｂは、本発明の実施例１のルール内容の説明図である。
【００５７】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ＰＢＲルータにアクセスして、コマンドライン経由で、ルールを設定する。
【００５８】
図７Ａに示す４０００の「ｊｙｏｕｋｅｎ  ｄｅｓｔｉｎａｔｉｏｎ  ｐｏｒｔ８０」では、図７Ｂの４０２０及び４０３０に示すように、転送先に転送するトラフィックの条件（転送条件）を、宛先ポートが８０番であるトラフィックに指定する。
【００５９】
また、図７Ａに示す４０１０の「ｔｅｎｓｏｕ  ｃ１１．ｃ１２．ｃ１３．ｃ１４」で、図７Ｂに示す４０４０及び４０５０に示すように、転送条件と一致するトラフィックの転送先をＰＢＲルータの最近傍キャッシュサーバのＩＰアドレスに指定する。
【００６０】
なお、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１がＰＢＲルータのルールの設定に用いるコマンドは、ＰＢＲルータにとって適切なコマンドを使用すればよい。
【００６１】
なお、図６に示すステップ５００６及び５００７の処理は、受信した測定結果が近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードの距離２０４３に登録された距離以上であると判定された場合には実行されない。
【００６２】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、リストの２行目のＩＰアドレスによって識別されるＰＢＲルータをＰＢＲルータＡに設定する（５００８）。そして、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ステップ５００４の処理と同様に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ｃ５０２１にＰＢＲルータＡとのネットワーク距離測定指示をＰＢＲルータＡに送信する（５００９）。
【００６３】
そして、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、測定結果を受信し、受信した測定結果が、近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードの距離２０４３に登録された距離よりも小さいか否かを判定し、小さいと判定された場合にステップ５００６及び５００７の処理を実行する。
【００６４】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、上述した処理を、リストの全ての行のＩＰアドレスのＰＢＲルータに実行し、キャッシュサーバ追加処理を終了する。
【００６５】
このようにして、追加されるキャッシュサーバ５０２０に実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔ  Ｃ５０２１の起動をトリガにして、各ＰＢＲルータに設定されるルールの生成、及び生成されたルールの各ＰＢＲルータへの設定が自動化される。
【００６６】
なお、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、キャッシュサーバ追加要求の送信先となるＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１のＩＰアドレス等の識別情報を、起動後に保持している必要がある。本実施例では、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔには、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１のＩＰアドレスがＲｅｓｏｌｖｅ  Ａｇｅｎｔの起動前に設定されているものとし、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔの起動をキャッシュサーバ追加処理のトリガとした。
【００６７】
キャッシュサーバ追加処理のトリガは、これに限定されず、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔの起動後に、外部記憶媒体等を介してＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１のＩＰアドレスがＲｅｓｏｌｖｅ  Ａｇｅｎｔに設定されたことをトリガとしてもよい。また、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔの起動後に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１のＩＰアドレスが管理者等によって入力されたことをトリガとしてもよい。
【００６８】
次に、キャッシュサーバ追加処理のうちＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１による処理について、図８〜図１１を用いて説明する。
【００６９】
図８は、本発明の実施例１のキャッシュサーバ追加処理のうちＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１による処理のフローチャートである。
【００７０】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、新たに追加されるキャッシュサーバ（キャッシュサーバＣ）に実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔから送信されたキャッシュサーバ追加要求を受信した場合、当該処理の実行を開始する。
【００７１】
まず、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、受信したキャッシュサーバ追加要求に基づいてキャッシュサーバ一覧表２０２３を更新するキャッシュサーバ一覧表更新処理を実行する（７００１）。キャッシュサーバ一覧表更新処理は図９で詳細を説明する。
【００７２】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、近傍キャッシュ表２０２２のＰＢＲルータＩＰ２０４１に登録された全ＰＢＲルータのＩＰアドレスを取得して、取得したＰＢＲルータのＩＰアドレスのリスト（ＰＢＲルータ配列）を生成する（７００２）。
【００７３】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、生成したＰＢＲルータ配列の１行目のＩＰアドレスによって識別されるＰＢＲルータをＰＢＲルータＡとし（７００３）、ＰＢＲルータ配列の１行目のＩＰアドレスを削除する（７００４）。
【００７４】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ＰＢＲルータＡと新たに追加されるキャッシュサーバＣとのネットワーク距離の測定指示を、キャッシュサーバＣに実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔに送信し、測定結果に基づいて近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードを更新する近傍キャッシュ表更新処理を実行する（７００５）。近傍キャッシュ表更新処理は、図１０で詳細を説明する。
【００７５】
また、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ステップ７００５の処理で、近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードを更新した場合、ＰＣからのトラフィックを最近傍キャッシュサーバに転送するルールをＰＢＲルータＡに設定するルール設定処理を実行する（７００６）。ルール設定処理は、図１１で詳細を説明する。
【００７６】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ＰＢＲルータ配列にＩＰアドレスが存在するか否かを判定する（７００７）。
【００７７】
ステップ７００７の処理で、ＰＢＲルータ配列にＩＰアドレスが存在する場合、全てのＰＢＲルータに対して近傍キャッシュ表更新処理を実行していないので、ステップ７００３の処理に戻る。
【００７８】
一方、ステップ７００７の処理で、ＰＢＲルータ配列にＩＰアドレスが存在しない場合、全てのＰＢＲルータに対して近傍キャッシュ表更新処理を実行したので、処理を終了する。
【００７９】
図９は、本発明の実施例１のキャッシュサーバ一覧表更新処理のフローチャートである。
【００８０】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、キャッシュサーバ追加要求に含まれる追加されるキャッシュサーバＣのＩＰアドレスをキャッシュサーバ一覧表２０２３に追加し（６００１）、処理を終了する。
【００８１】
なお、図９のキャッシュサーバ一覧表更新処理は、キャッシュサーバＣがネットワークから削除される場合に実行されるキャッシュサーバ削除処理においても実行される。削除されるキャッシュサーバＣに実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔは、キャッシュサーバＣのＩＰアドレスを含むキャッシュサーバ削除要求をＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に送信する。Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、受信したキャッシュサーバ削除要求に含まれるキャッシュサーバＣのＩＰアドレスをキャッシュサーバ一覧表２０２３から削除する。キャッシュサーバ削除処理は、図１５及び図１６で詳細を説明する。
【００８２】
図１０は、本発明の実施例１の近傍キャッシュ表更新処理のフローチャートである。
【００８３】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、追加されるキャッシュサーバＣとＰＢＲルータＡとの間のネットワーク距離の測定指示を、キャッシュサーバＣに実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔに送信する（６００２）。
【００８４】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、キャッシュサーバＣに実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔから測定結果（ＲＴＴ）を受信すると、受信した測定結果が近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードの距離より小さいか否かを判定する（６００３）。
【００８５】
ステップ６００３の処理で、受信した測定結果が近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードの距離より小さいと判定された場合、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードの最近傍キャッシュＩＰ２０４２に追加されたキャッシュサーバＣのＩＰアドレスを登録し、当該レコードの距離２０４３に受信した測定結果を登録し（６００４）、処理を終了する。
【００８６】
ステップ６００３の処理で、受信した測定結果が近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードの距離以上であると判定された場合、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ステップ６００４〜６００７の処理を実行せずに処理を終了する。
【００８７】
図１１は、本発明の実施例１のルール設定処理のフローチャートである。
【００８８】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、受信した測定結果が近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードの距離より小さいと判定された場合、ｓｓｈ（Ｓｅｃｕｒｅ  Ｓｈｅｌｌ）コマンドなどによってＰＢＲルータＡにアクセスする（６００５）。
【００８９】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードの最近傍キャッシュＩＰ２０４２に登録された最近傍キャッシュサーバのＩＰアドレスを取得する（６００６）。そして、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ステップ６００６の処理で取得した最近傍キャッシュサーバのＩＰアドレスを転送先とし、所定の転送条件を含むルールをＰＢＲルータＡに設定し（６００７）、処理を終了する。
【００９０】
なお、ステップ６００５の処理では、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ｓｓｈコマンドを用いてＰＢＲルータＡにアクセスしたが、ｓｓｈコマンドと同様の機能を有するコマンド又は手段があれば代用してもよい。
【００９１】
次に、キャッシュサーバ追加処理のうちＲｅｓｏｌｖｅ  Ａｇｅｎｔによる処理について、図１２及び図１３を用いて説明する。
【００９２】
図１２は、本発明の実施例１のＲｅｓｏｌｖｅ  Ａｇｅｎｔによるキャッシュサーバ追加／削除要求処理のフローチャートである。
【００９３】
追加されるキャッシュサーバＣに実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔは、自身が起動すると、キャッシュサーバＣのＩＰアドレスを含むキャッシュサーバ追加要求をＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に送信し（８００１）、処理を終了する。
【００９４】
また、キャッシュサーバＣに実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔは、自身の起動を終了する場合、削除するキャッシュサーバＣのＩＰアドレスを含むキャッシュサーバ削除要求をＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に送信し（８００１）、処理を終了する。
【００９５】
なお、キャッシュサーバ追加要求及びキャッシュサーバ削除要求は、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１がＲｅｓｏｌｖｅ  Ａｇｅｎｔによる追加要求及び削除要求であることを確認できる形式であればよく、追加又は削除するキャッシュサーバをキャッシュサーバ一覧表２０２３に追加又は削除することを要求する旨がＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に通知可能なメッセージであれば形式は任意である。
【００９６】
図１３は、本発明の実施例１のＲｅｓｏｌｖｅ  Ａｇｅｎｔによる距離測定処理のフローチャートである。
【００９７】
Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１から、ＰＢＲルータＡとキャッシュサーバＣとの間のネットワーク距離の測定指示を受信した場合、距離測定処理を実行する。
【００９８】
まず、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、ＰＢＲルータＡにｐｉｎｇを発行して（８００２）、自身が実装されるキャッシュサーバとＰＢＲルータＡとの間のネットワーク距離を測定する。そして、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、ｐｉｎｇの結果取得されたＲＴＴを測定結果としてＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に送信し（８００３）、処理を終了する。
【００９９】
ここで、ステップ８００２の処理の具体例について図１４を用いて説明する。図１４は、本発明の実施例１のネットワーク距離の測定結果の説明図である。
【０１００】
図１４では、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔが実装されたキャッシュサーバ（ａａａ.ｅｘａｍｐｌｅ.ｃｏｍ ［ａ１.ａ２.ａ３.ａ４］）からＰＢＲルータＡ（ｚｚｚ.ｅｘａｍｐｌｅ.ｃｏｍ ［ｚ１.ｚ２.ｚ３.ｚ４］）にｐｉｎｇを発行した場合の結果である。
【０１０１】
ｐｉｎｇの結果、４回のネットワーク距離の測定結果の平均が１１ｍｓであるので、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは測定結果として１１ｍｓを取得する。
【０１０２】
なお、ネットワーク距離を測定するために広く用いられているｐｉｎｇプログラムを用いたが、ネットワーク距離を測定可能であれば他のプログラムを用いてもよい。
【０１０３】
以上によって、ネットワークに新たにキャッシュサーバが追加される場合、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、当該キャッシュサーバが最近傍のキャッシュサーバとなるＰＢＲルータに対するルールを自動的に生成し、生成したルールを当該ＰＢＲルータに自動的に設定することができる。
【０１０４】
次に、図１５及び図１６を用いて、ネットワークからキャッシュサーバが削除される場合のキャッシュサーバ削除処理について説明する。
【０１０５】
図１５は、本発明の実施例１のキャッシュサーバ削除処理のシーケンス図である。図１５では、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ｃ９０２１を実装したキャッシュサーバＣ９０２０がネットワークから削除されるものとする。
【０１０６】
本キャッシュサーバ削除処理は、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１と削除されるキャッシュサーバＣ９０２０のＲｅｓｏｌｖｅ  Ａｇｅｎｔ  Ｃ９０２１との間で実行される。
【０１０７】
まず、ネットワークから削除されるキャッシュサーバ９０２０に実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔ９０２１が、キャッシュサーバ削除要求をＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に送信する（９００１）。キャッシュサーバ削除要求には、削除されるキャッシュサーバ９０２０のＩＰアドレスが含まれる。
【０１０８】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、キャッシュサーバ削除要求を受信した場合、受信したキャッシュサーバ削除要求に含まれるキャッシュサーバ９０２０のＩＰアドレスをキャッシュサーバ一覧表２０２３から削除する（９００２）。
【０１０９】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、近傍キャッシュ表２０２２の最近傍キャッシュＩＰ２０４２に削除されるキャッシュサーバ９０２０のＩＰアドレスが登録されたレコードのＰＢＲルータＩＰ２０４１に登録されたＰＢＲルータのＩＰアドレスを取得して、取得したＰＢＲルータのＩＰアドレスのリストを生成する。そして、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、生成したリストの１行目のＩＰアドレスによって識別されるＰＢＲルータ（例えば、ＰＢＲルータＡ１０５１）をＰＢＲルータＡとし（９００３）、削除されるキャッシュサーバＣ９０２０以外の全てのキャッシュサーバＡ１０３１及びＢ１０３３に実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１０３２及びＢ１０３４に、ＰＢＲルータＡとのネットワーク距離測定指示を送信する（９００４）。
【０１１０】
Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１０３２及びＢ１０３４は、ＰＢＲルータＡとのネットワーク距離測定指示を受信した場合、自身が実装されるキャッシュサーバＡ１０３１及びＢ１０３３とＰＢＲルータＡ（ＰＢＲルータＡ１０５１）との間のネットワーク距離を測定する。
【０１１１】
そして、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１０３２及びＢ１０３４は、ＰＢＲルータＡとのネットワーク距離の測定結果をＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に送信する（９００５）。
【０１１２】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、各Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１０３２及びＢ１０３４から各キャッシュサーバＡ１０３１及びＢ１０３３とＰＢＲルータＡとの間のネットワーク距離の測定結果を受信した場合、測定結果が最小となる最近傍キャッシュサーバを特定する。そして、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードの最近傍キャッシュＩＰ２０４２に、特定した最近傍キャッシュサーバのＩＰアドレスを登録し、当該レコードの距離２０４３に当該最近傍キャッシュサーバの測定結果を登録することによって、近傍キャッシュ表２０２２を更新する（９００６）。また、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ＰＣからのトラフィックを最近傍キャッシュサーバに転送するようにＰＢＲルータＡにルールを設定する（９００７）。
【０１１３】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、リストの２行目以降の全てのＩＰアドレスによって識別される全てのＰＢＲルータに対して、ステップ９００４〜９００７の処理を実行する。
【０１１４】
図１６は、本発明の実施例１のキャッシュサーバ削除処理のうちＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒによる処理のフローチャートである。
【０１１５】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、削除されるキャッシュサーバ（キャッシュサーバＣ）に実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔから送信されたキャッシュサーバ削除要求を受信した場合、当該処理の実行を開始する。
【０１１６】
まず、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、受信したキャッシュサーバ削除要求に基づいてキャッシュサーバ一覧表２０２３を更新するキャッシュサーバ一覧表更新処理を実行する（１０００１）。キャッシュサーバ一覧表更新処理では、図９で説明したように、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、受信したキャッシュサーバ削除要求に含まれるキャッシュサーバのＩＰアドレスをキャッシュサーバ一覧表２０２３から削除する。
【０１１７】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、近傍キャッシュ表２０２２のＰＢＲルータＩＰ２０４１の最近傍キャッシュＩＰ２０４２に登録されたＩＰアドレスがキャッシュサーバ削除要求に含まれるＩＰアドレスと一致する全てのレコードのＰＢＲルータＩＰ２０４１に登録されたＰＢＲルータのＩＰアドレスを取得して、取得したＰＢＲルータのＩＰアドレスのリスト（ＰＢＲルータ配列）を生成する（１０００２）。
【０１１８】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、生成したＰＢＲルータ配列の１行目のＩＰアドレスによって識別されるＰＢＲルータをＰＢＲルータＡとし（１０００３）、ＰＢＲルータ配列の１行目のＩＰアドレスを削除する（１０００４）。
【０１１９】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ＰＢＲルータＡと削除されるキャッシュサーバ以外の全キャッシュサーバとのネットワーク距離の測定指示を、これらのキャッシュサーバに実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔに送信し、測定結果に基づいて近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードを更新する近傍キャッシュ表更新処理を実行する（１０００５）。
【０１２０】
キャッシュサーバ削除処理における近傍キャッシュ表更新処理について、図１０に示すキャッシュサーバ追加処理における近傍キャッシュ表更新処理と異なる点について説明する。
【０１２１】
図１０に示すステップ６００２の処理では、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、削除されるキャッシュサーバ以外の全てのキャッシュサーバに実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔに、ＰＢＲルータＡとの間のネットワーク距離の測定指示を送信する。
【０１２２】
また、図１０に示すステップ６００３及び６００４の処理では、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、各Ｒｅｓｏｌｖｅ  Ａｇｅｎｔから受信した測定結果に基づいて、ＰＢＲルータＡとのネットワーク距離が最小となる最近傍キャッシュサーバを特定し、近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードの最近傍キャッシュＩＰ２０４２に特定した最近傍キャッシュサーバのＩＰアドレスを登録し、当該レコードの距離２０４３に特定した最近傍キャッシュサーバに実装されたＲｅｓｏｌｖｅ  Ａｇｅｎｔから送信された測定結果を登録する。
【０１２３】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ＰＣからのトラフィックを最近傍キャッシュサーバに転送するルールをＰＢＲルータＡに設定するルール設定処理を実行する（１０００６）。ルール設定処理は、図１１に示すルール設定処理と同じ処理である。
【０１２４】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ＰＢＲルータ配列にＩＰアドレスが存在するか否かを判定する（１０００７）。
【０１２５】
ステップ１０００７の処理で、ＰＢＲルータ配列にＩＰアドレスが存在する場合、全てのＰＢＲルータに対して近傍キャッシュ表更新処理を実行していないので、ステップ１０００３の処理に戻る。
【０１２６】
一方、ステップ１０００７の処理で、ＰＢＲルータ配列にＩＰアドレスが存在しない場合、全てのＰＢＲルータに対して近傍キャッシュ表更新処理を実行したので、処理を終了する。
【０１２７】
これによって、削除されるキャッシュサーバが最近傍キャッシュサーバとなっていたＰＢＲルータの最近傍キャッシュサーバが、削除されるキャッシュサーバ以外のキャッシュサーバのうち最もネットワーク距離が小さいキャッシュサーバに更新され、削除されるキャッシュサーバが最近傍キャッシュサーバとなっていたＰＢＲルータのルールを新たに特定された最近傍キャッシュサーバに転送するように設定できる。
【０１２８】
次に、全てのＰＢＲルータのルールを更新するためのルール更新処理について、図１７及び図１８を用いて説明する。ルール更新処理は、キャッシュサーバ及びＰＢＲルータの少なくとも一方に障害を検出した場合（ネットワークに障害を検出した場合）に実行されてもよいし、所定時間毎に実行されてもよい。また、ルール更新処理は、各ＰＢＲルータと全てのキャッシュサーバとのネットワーク距離が測定され、測定結果に基づいて各ＰＢＲルータの最近傍キャッシュサーバが更新される。
【０１２９】
図１７は、本発明の実施例１のルール更新処理のシーケンス図である。
【０１３０】
まず、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、近傍キャッシュ表２０２２の全ＰＢＲルータのＩＰアドレスを含むリストを生成し、生成したリストの１行目のＩＰアドレスのＰＢＲルータをＰＢＲルータＡとする（１１００１）。ステップ１１００１の処理は、図６に示す５００３の処理と同じ処理である。
【０１３１】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、全てのキャッシュサーバのＲｅｓｏｌｖｅ  ＡｇｅｎｔにＰＢＲルータＡとのネットワーク距離測定指示を送信する（１１００２）。Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、ＰＢＲルータＡとのネットワーク距離測定指示を受信した場合、ＰＢＲルータＡとの間のネットワーク距離を測定する。
【０１３２】
そして、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、ＰＢＲルータＡとのネットワーク距離の測定結果をＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に送信する（１１００３）。
【０１３３】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、測定結果を受信した場合、受信した測定結果のうちネットワーク距離が最小となるＲｅｓｏｌｖｅ  Ａｇｅｎｔを実装するキャッシュサーバを、ＰＢＲルータＡの最近傍キャッシュサーバとして特定する。そして、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードの最近傍キャッシュＩＰ２０４２に当該キャッシュサーバのＩＰアドレスを登録し、当該レコードの距離２０４３に当該キャッシュサーバに実装されたＲｅｓｏｌｖｅ  Ａｇｅｎｔからの測定結果を登録することによって、近傍キャッシュ表２０２２を更新する（１１００４）。
【０１３４】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ＰＣからのトラフィックを最近傍キャッシュサーバに転送するようにＰＢＲルータＡにルールを設定する（１１００５）。
【０１３５】
ステップ１１００１〜１１００６の処理を全てのＰＢＲルータに実行する。
【０１３６】
図１８は、本発明の実施例１のルール更新処理のうちＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１による処理のフローチャートである。
【０１３７】
図１８に示すステップ１２００１〜１２００６の処理は、図８に示す７００２〜７００７の処理に対応する。ステップ７００５の処理では、追加されるキャッシュサーバとＰＢＲルータＡとの間のネットワーク距離の測定を指示するのに対して、ステップ１２００４の処理では、全てのキャッシュサーバとＰＢＲルータＡとの間のネットワーク距離の測定を指示する。
【０１３８】
まず、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、近傍キャッシュ表２０２２のＰＢＲルータＩＰ２０４１を参照し、ＰＢＲルータ配列を生成する（１２００１）。ステップ１２００１の処理はステップ７００２の処理と同じである。
【０１３９】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、生成したＰＢＲルータ配列の１行目のＩＰアドレスによって識別されるＰＢＲルータをＰＢＲルータＡとし（１２００２）、ＰＢＲルータ配列の１行目のＩＰアドレスを削除する（１２００３）。ステップ１２００２及び１２００３の処理は、ステップ７００３及び７００４の処理と同じである。
【０１４０】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ＰＢＲルータＡと全てのキャッシュサーバとのネットワーク距離の測定指示を、全てのキャッシュサーバに実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔに送信し、測定結果に基づいてＰＢＲルータＡの最近傍キャッシュサーバを特定し、近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードを更新する近傍キャッシュ表更新処理を実行する（１２００４）。
【０１４１】
近傍キャッシュ表更新処理について説明する。
【０１４２】
まず、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、キャッシュサーバ一覧表２０２３に登録された全てのキャッシュサーバに実装されたＲｅｓｏｌｖｅ  Ａｇｅｎｔに対して、ＰＢＲルータＡとのネットワーク距離の測定指示を送信する。
【０１４３】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、全てのキャッシュサーバに実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔから測定結果を受信すると、受信した測定結果が最小となるキャッシュサーバを、ＰＢＲルータＡの最近傍キャッシュサーバとして特定する。
【０１４４】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードの最近傍キャッシュＩＰ２０４２に登録されたキャッシュサーバのＩＰアドレスと、特定した最近傍キャッシュサーバのＩＰアドレスとが一致するか否かを判定する。
【０１４５】
最近傍キャッシュＩＰ２０４２に登録されたキャッシュサーバのＩＰアドレスと、特定した最近傍キャッシュサーバのＩＰアドレスとが一致しない場合、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードの最近傍キャッシュＩＰ２０４２に特定した最近傍キャッシュサーバのＩＰアドレスを登録し、当該レコードの距離２０４３に特定した最近傍キャッシュサーバの測定結果を登録し、処理を終了する。
【０１４６】
一方、最近傍キャッシュＩＰ２０４２に登録されたキャッシュサーバのＩＰアドレスと、特定した最近傍キャッシュサーバのＩＰアドレスとが一致する場合、そのまま処理を終了してもよいし、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１が、近傍キャッシュ表２０２２のＰＢＲルータＡに対応するレコードの距離２０４３に特定した最近傍キャッシュサーバの測定結果を登録し、処理を終了してもよい。
【０１４７】
このように、近傍キャッシュ表更新処理では、ＰＢＲルータＡの最近傍キャッシュサーバが最新の最近傍キャッシュサーバに更新される。
【０１４８】
図１８に戻って、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ステップ１２００４の処理で近傍キャッシュ表更新処理を実行した後、当該近傍キャッシュ表更新処理でＰＢＲルータＡの最近傍キャッシュサーバが更新された場合、ＰＣからのトラフィックを更新後の最近傍キャッシュサーバに転送するルールをＰＢＲルータＡに設定するルール設定処理を実行する（１２００５）。ステップ１２００５の処理は、ステップ７００４の処理と同じである。
【０１４９】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ＰＢＲルータ配列にＩＰアドレスが存在するか否かを判定する（１２００６）。
【０１５０】
ステップ１２００６の処理で、ＰＢＲルータ配列にＩＰアドレスが存在する場合、全てのＰＢＲルータに対して近傍キャッシュ表更新処理を実行していないので、ステップ１２００２の処理に戻る。
【０１５１】
一方、ステップ１２００６の処理で、ＰＢＲルータ配列にＩＰアドレスが存在しない場合、全てのＰＢＲルータに対して近傍キャッシュ表更新処理を実行したので、処理を終了する。
【０１５２】
以上によって、所定のタイミング（所定時間毎、又はネットワークに障害を検出した場合）で、全てのＰＢＲルータの最近傍キャッシュサーバを最新の最近傍キャッシュサーバに更新することができる。
【０１５３】
実施例１の最後に、上述したＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１の動作及びＲｅｓｏｌｖｅ  Ａｇｅｎｔの動作について、図１９及び図２０を用いて説明する。
【０１５４】
図１９は、本発明の実施例１のＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１の動作のフローチャートである。
【０１５５】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に電源が投入され、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１が起動すると（１３００１）、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、近傍キャッシュ表２０２２のＰＢＲルータＩＰ２０４１にネットワークを構成するＰＢＲルータのＩＰアドレスを登録する（１３００２）。ステップ１３００２の処理で近傍キャッシュ表２０２２に登録されるＰＢＲルータのＩＰアドレスは、管理者等によって入力されてもよいし、設定ファイルに記述されていてもよい。
【０１５６】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１のＣＰＵ２０１１は、二次記憶デバイス２０１３に記憶されたＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュールプログラム２０３１を主記憶デバイス２０１２にロードし、ロードされたＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュールプログラム２０３１を実行することによって、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュール２０２１を起動する（１３００３）。
【０１５７】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、キャッシュサーバ追加要求を受信したか否かを判定する（１３００４）。ステップ１３００４の処理で、キャッシュサーバ追加要求を受信したと判定された場合、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、図８に示すキャッシュサーバ追加処理を実行し、ステップ１３００４の処理に戻る。
【０１５８】
ステップ１３００４の処理で、キャッシュサーバ追加要求を受信していないと判定された場合、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、キャッシュサーバ削除要求を受信したか否かを判定する（１３００５）。
【０１５９】
ステップ１３００５の処理で、キャッシュサーバ削除要求を受信したと判定された場合、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、図１６に示すキャッシュサーバ削除処理を実行し（１３００７）、ステップ１３００４の処理に戻る。
【０１６０】
ステップ１３００５の処理で、キャッシュサーバ削除要求を受信していないと判定された場合、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ネットワークに障害が発生したことを検出したか否かを判定する（１３００８）。
【０１６１】
ステップ１３００８の処理で、ネットワークに障害が発生したことを検出したと判定された場合、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、図１８に示すルール更新処理を実行し（１３００９）、ステップ１３００４の処理に戻る。
【０１６２】
ステップ１３００８の処理で、ネットワークに障害が発生したことを検出していないと判定された場合、ステップ１３００４の処理に戻る。
【０１６３】
つまり、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、ステップ１４００３の処理の実行後、処理依頼の受け付けるまで待機し、処理依頼を受け付けると、処理依頼に応じた処理を実行する。
【０１６４】
ここで、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１のネットワークの障害検出について説明する。
【０１６５】
ネットワークの障害とは、ＰＢＲルータ及びキャッシュサーバ等の装置の故障の他に、ネットワーク構成の変化も含む。
【０１６６】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１が装置の故障をネットワークの障害として検出する方法としては、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１がＲｅｓｏｌｖｅ  Ａｇｅｎｔ及びＰＢＲルータにｐｉｎｇコマンドを所定時間毎に発行し、応答がない場合にネットワークの障害を検出する方法がある。Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ及びＰＢＲルータの生存確認のために、ｐｉｎｇコマンドを用いたが、他の手段があれば他の手段を用いてもよい。
【０１６７】
また、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１がネットワーク構成の変化をネットワークの障害として検出する方法としては、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１が、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ又はＰＢＲルータにｔｒａｃｅｒｏｕｔｅコマンドを発行し、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１からＲｅｓｏｌｖｅ  Ａｇｅｎｔ又はＰＢＲルータへの経路上のルータの数又は当該ルータの識別情報を記憶し、ｔｒａｃｅｒｏｕｔｅコマンドによって取得されたルータの数又はルータの識別情報が記憶していた情報と異なる場合、ネットワーク構成に変化があったので、ネットワーク障害として検出する方法がある。なお、経路に関する情報を取得するために、ｔｒａｃｅｒｏｕｔｅコマンドを用いたが、他の手段があれば他の手段を用いてもよい。
【０１６８】
さらに、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１が適当なＷｅｂサーバからコンテンツをダウンロードする時間を計測し、当該時間が閾値以上である場合にネットワークの障害を検出してもよい。
【０１６９】
また、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、既存の障害検出システムを利用して、当該障害検出システムのアラートによってネットワーク障害を検出してもよい。
【０１７０】
また、ネットワークを構成する装置の故障及びネットワーク構成の変化を検出できれば、他の既存の障害検出装置及び障害検出方法などを用いてもよい。
【０１７１】
図２０は、本発明の実施例１のＲｅｓｏｌｖｅ  Ａｇｅｎｔの動作のフローチャートである。
【０１７２】
まず、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを実装するキャッシュサーバに電源が投入され、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔが起動すると（１４００１）、キャッシュサーバのＣＰＵ２０６１は、二次記憶デバイス２０６３に記憶されたＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュールプログラム２０８１を主記憶デバイス２０６２にロードし、ロードされたＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュールプログラム２０８１を実行することによって、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔモジュール２０７１を起動する（１４００２）。
【０１７３】
そして、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、起動されたキャッシュサーバのＩＰアドレスを含むキャッシュサーバ追加要求をＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に送信する（１４００３）。
【０１７４】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１からネットワーク距離の測定指示を受信したか否かを判定する（１４００４）。
【０１７５】
ステップ１４００４の処理で、ネットワーク距離の測定指示を受信したと判定された場合、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、指示されたＰＢＲルータとのネットワーク距離を測定するネットワーク距離測定処理を実行し（１４００５）、ステップ１４００４の処理に戻る。
【０１７６】
一方、ステップ１４００４の処理で、ネットワーク距離の測定指示を受信していないと判定された場合、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、キャッシュサーバの起動が終了するか否かを判定する（１４００６）。
【０１７７】
ステップ１４００６の処理で、キャッシュサーバの起動が終了すると判定された場合、キャッシュサーバがネットワークから削除されることになるので、キャッシュサーバ削除要求をＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に送信し（１４００７）、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔモジュール２０７１を停止する（１４００８）。
【０１７８】
一方、ステップ１４００６の処理で、キャッシュサーバの起動が終了しないと判定された場合、ステップ１４００４の処理に戻る。
【０１７９】
以上によって、本実施例によれば、エンドユーザからのトラフィックを最近傍のキャッシュサーバに転送するＰＢＲルータのルールを自動的に生成することができ、当該ルールをＰＢＲルータに自動的に設定することができる。
【実施例２】
【０１８０】
実施例２は、実施例１のＲｅｓｏｌｖｅ  Ａｇｅｎｔをキャッシュサーバ上で動作させず、キャッシュサーバの近くに存在する計算機上で動作させた場合の実施例である。
【０１８１】
ここで、キャッシュサーバの近くに存在する計算機とは、キャッシュサーバに直接接続される計算機や、キャッシュサーバが接続されたハブ装置と同一のハブ装置に接続される計算機のことである。すなわち、キャッシュサーバ及びルータ装置を介さずに接続される計算機のことである。
【０１８２】
Ｒｅｓｏｌｖｅ  Ａｇｅｎｔがキャッシュサーバ上で動作せず、キャッシュサーバと異なる装置で動作する場合、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔとキャッシュサーバとはそれぞれ異なるＩＰアドレスを有する。このため、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを管理するために、キャッシュサーバのＩＰアドレスだけでなくＲｅｓｏｌｖｅ  ＡｇｅｎｔのＩＰアドレスも保持する必要がある。また、Ｒｅｓｏｌｖｅ  ＡｇｅｎｔがＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に送信するキャッシュサーバ追加要求は、自身が実装される装置のＩＰアドレスと、当該装置の近くに存在するキャッシュサーバのＩＰアドレスとを含む必要がある。
【０１８３】
したがって、本実施例の実施例１からの主な変更点は以下の三つである。
【０１８４】
第一の変更点は、キャッシュサーバ上でＲｅｓｏｌｖｅ  Ａｇｅｎｔが動作しない点である。第二の変更点は、キャッシュサーバ一覧表が、キャッシュサーバと、キャッシュサーバの近くに存在するＲｅｓｏｌｖｅ  Ａｇｅｎｔと、の関係を保持する点である。第三の変更点は、キャッシュサーバ追加要求に、Ｒｅｓｏｌｖｅ  ＡｇｅｎｔのＩＰアドレスと、当該Ｒｅｓｏｌｖｅ  Ａｇｅｎｔが実装される装置の近くに存在するキャッシュサーバのＩＰアドレスとが含まれる点である。
【０１８５】
以下、本発明の実施例２について図２１〜図２５を用いて説明する。
【０１８６】
図２１は、本発明の実施例２の中継システムの説明図である。図２１では、実施例１の図１に示す中継システムと同じ構成については、同じ符号を付与し、説明を省略する。
【０１８７】
Ｗｅｂサーバ１０１１、ルータＡ１０４１〜Ｄ１０４４、及びＰＢＲルータＡ１０５１〜Ｃ１０５３は、図１と同じである。
【０１８８】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１５０２１は、上述したように、キャッシュサーバ一覧表が実施例１と異なり、詳細は図２２及び図２３で説明する。
【０１８９】
キャッシュサーバＡ１５０３１及びＢ１５０３３は、Ｗｅｂコンテンツの複製を保持し、エンドユーザからのリクエストに応じて当該Ｗｅｂコンテンツを返し、実施例１と異なり、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔはキャッシュサーバ上で動作しない。なお、キャッシュサーバの詳細は図２４で説明する。
【０１９０】
また、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１５０３２は、キャッシュサーバＡ１５０３１の近くに存在する装置で動作し、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ｂ１５０３４は、キャッシュサーバＢ１５０３３の近くに存在する装置で動作する。なお、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを実装する装置の詳細は図２５で説明する。
【０１９１】
本実施例では、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔがキャッシュサーバと別の装置で動作するので、Ｒｅｓｏｌｖｅ  ＡｇｅｎｔによるＰＢＲルータとのネットワーク距離の測定結果は、キャッシュサーバとＰＢＲルータとの間のネットワーク距離ではないが、当該装置はキャッシュサーバの近くに存在するため、キャッシュサーバとＰＢＲルータとの間のネットワーク距離として扱う。
【０１９２】
図２１に示す中継システムにおいて、キャッシュサーバＡ１５０３１が新たに追加される場合のキャッシュサーバ追加処理の概略を説明する。
【０１９３】
図２１に示す（１）では、新たに追加されるキャッシュサーバＡ１０３１の近くに存在するＲｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１５０３２が、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１５０２１に、キャッシュサーバ追加要求を送信する。Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１５０２１は、キャッシュサーバ追加要求を受信すると、当該Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１５０３２に各ＰＢＲルータＡ１０５１〜Ｃ１０５３との間のネットワーク距離の測定を指示する。
【０１９４】
図２１に示す（２）では、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１５０３２は、各ＰＢＲルータＡ１０５１〜Ｃ１０５３との間のネットワーク距離を測定する。そして、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１５０３２は、ネットワーク距離の測定結果をＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１５０２１に送信する。
【０１９５】
図２１に示す（３）及び（４）では、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１５０２１は、測定結果に基づいて、追加されたキャッシュサーバが最近傍キャッシュサーバとなるＰＢＲルータに、ＰＣ  Ａ１０６１〜１０６４からのデータを当該最近傍キャッシュサーバに転送するルールを生成し、当該ＰＢＲルータに当該ルールを設定する。
【０１９６】
図２１に示す（５）では、ＰＢＲルータＣ１０５３が、最近傍となるキャッシュサーバＢ１０３３に、ＰＣ  Ｄ１０６４からのデータを転送している。
【０１９７】
これによって、ＰＢＲルータのルールの生成及び設定を自動化することができる。
【０１９８】
本実施例のルール更新処理は、実施例１と同じであるが、本実施例のキャッシュサーバ追加処理及びキャッシュサーバ削除処理は、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１のキャッシュサーバ一覧表の更新処理が実施例１と異なる。図２２〜図２５でＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１、キャッシュサーバ一覧表、キャッシュサーバ、及びＲｅｓｏｌｖｅＡｇｅｎｔの構成について説明し、その後、本実施例のキャッシュサーバ追加処理及びキャッシュサーバ削除処理について説明する。
【０１９９】
図２２は、本発明の実施例２のＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１５０２１のハードウェア構成図である。図２２では、実施例１の図２に示すＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１と同じ構成については、同じ符号を付与し、説明を省略する。
【０２００】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１５０２１は、ＣＰＵ２０１１、主記憶デバイス２０１２、及び二次記憶デバイス２０１３を有する。主記憶デバイス２０１２には、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュール２０２１、近傍キャッシュ表２０２２、及びキャッシュサーバ一覧表１６０２３が記憶される。二次記憶デバイス２０１３には、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュールプログラム２０３１が記憶される。本実施例のＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１５０２１と実施例１のＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、キャッシュサーバ一覧表が異なるだけであり、その他の構成は同じである。
【０２０１】
図２３は、本発明の実施例２のキャッシュサーバ一覧表１６０２３の説明図である。図２３では、実施例１の図４に示すキャッシュサーバ一覧表２０２３と同じ構成については、同じ符号を付与し、説明を省略する。
【０２０２】
キャッシュサーバ一覧表１６０２３は、ＩＤ２０５１、キャッシュサーバＩＰ２０５２、及びＲｅｓｏｌｖｅ  Ａｇｅｎｔ  ＩＰ１６０４１を含む。
【０２０３】
ＩＤ２０５１及びキャッシュサーバＩＰ２０５２は、実施例１のキャッシュサーバ一覧表２０２３と同じである。
【０２０４】
Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  ＩＰ１６０４１は、同じレコードのキャッシュサーバＩＰ２０５２に登録されたＩＰアドレスによって識別されるキャッシュサーバの近くに存在する装置であって、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを実装する装置のＩＰアドレスが登録される。
【０２０５】
また、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  ＩＰ１６０４１に登録されたＩＰアドレスは、キャッシュサーバ一覧表１６０２３の主キーとなり得る。
【０２０６】
図２４は、本発明の実施例２のキャッシュサーバ１５０３１のハードウェア構成図である。図２４では、実施例１の図５に示すキャッシュサーバ１０３１と同じ構成については、同じ符号を付与し、説明を省略する。
【０２０７】
本実施例のキャッシュサーバ１５０３１は、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを動作させない点で実施例１のキャッシュサーバ１０３１と異なる。
【０２０８】
キャッシュサーバ１５０３１は、ＣＰＵ２０６１、主記憶デバイス２０６２、及び二次記憶デバイス２０６３を有する。主記憶デバイス２０６２には、キャッシュ管理モジュール２０７２が記憶され、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔモジュール２０７１は記憶されない。二次記憶デバイス２０６３には、キャッシュ管理モジュールプログラム２０８２が記憶され、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔモジュールプログラム２０８１は記憶されない。また、二次記憶デバイス２０６３は、キャッシュ管理領域２０８３を有する。
【０２０９】
図２５は、本発明の実施例２のＲｅｓｏｌｖｅ  Ａｇｅｎｔを実装する装置のハードウェア構成図である。
【０２１０】
Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを実装する装置は、ＣＰＵ１６０８１、主記憶デバイス１６０８２、及び二次記憶デバイス１６０８３を有する。
【０２１１】
主記憶デバイス１６０８２にはＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュール１６０９１が記憶される。二次記憶デバイス１６０８３にはＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュールプログラム１６１０１が記憶される。主記憶デバイス１６０８２に記憶されるＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュール１６０９１は、二次記憶デバイス１６０８３に記憶されたＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュールプログラム１６１０１が主記憶デバイス１６０８２にロードされた状態を示す。ＣＰＵ１６０８１は、主記憶デバイス１６０８２にロードされたＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュール１６０９１を実行する。
【０２１２】
次に、本実施例のキャッシュサーバ追加処理及びキャッシュサーバ削除処理について説明する。
【０２１３】
Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを実装する装置は、自身のＩＰアドレスと自身の近くに存在するキャッシュサーバのＩＰアドレスとを含むキャッシュサーバ追加要求を送信する。当該装置の近くに存在するキャッシュサーバのＩＰアドレスは、例えば、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを実装する装置に事前に設定されているものとする。なお、キャッシュサーバ削除要求も、同様に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを実装する装置のＩＰアドレスと、当該装置の近くに存在するキャッシュサーバのＩＰアドレスとを含む。
【０２１４】
また、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１５０２１がキャッシュサーバ追加要求又はキャッシュサーバ削除要求を受信した場合のキャッシュサーバ一覧表１６０２３の更新処理が実施例１と異なる。
【０２１５】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１５０２１は、キャッシュサーバ追加要求を受信した場合、キャッシュサーバ一覧表１６０２３に新たにレコードを追加し、追加したレコードのキャッシュサーバＩＰ２０５２に、受信したキャッシュサーバ追加要求に含まれるキャッシュサーバのＩＰアドレスを登録し、追加したレコードのＲｅｓｏｌｖｅ  Ａｇｅｎｔ  ＩＰ１６０４１に、受信したキャッシュサーバ追加要求に含まれるＲｅｓｏｌｖｅ  Ａｇｅｎｔを実装する装置のＩＰアドレスを登録する。
【０２１６】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１５０２１は、キャッシュサーバ削除要求を受信した場合、キャッシュサーバ削除要求に含まれるＲｅｓｏｌｖｅ  Ａｇｅｎｔを実装する装置のＩＰアドレス及びキャッシュサーバのＩＰアドレスと一致するキャッシュサーバ一覧表１６０２３のレコードを特定し、特定したレコードを削除する。
【０２１７】
以上のように、キャッシュサーバの近くに存在する装置に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを実装することによって、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔをキャッシュサーバ上ではなく独立した他の装置上で動作させることができる。
【実施例３】
【０２１８】
実施例３は、Ｒｅｓｏｌｖｅ  ＡｇｅｎｔをＰＢＲルータ上で動作させる実施例である。この場合、ＰＢＲルータ上で動作するＲｅｓｏｌｖｅ  Ａｇｅｎｔが当該ＰＢＲルータの最近傍キャッシュサーバの特定処理、近傍キャッシュ表更新処理、及びルール設定処理を実行し、実施例１及び２と異なり、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔからのネットワーク距離の測定結果を集計しなくてもよい。また、本実施例では、ＰＢＲルータにＲｅｓｏｌｖｅ  Ａｇｅｎｔが実装されるので、Ｒｅｓｏｌｖｅ  ＡｇｅｎｔのＩＰアドレスとＰＢＲルータのＩＰアドレスとが同一となる。このため、本実施例では、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ、ＰＢＲルータの構成及び動作が変更されている。
【０２１９】
以下、本発明の実施例３について図２６〜図４０を用いて説明する。
【０２２０】
図２６は、本発明の実施例３の中継システムの説明図である。図２６では、実施例１の図１に示す中継システムと同じ構成については、同じ符号を付与し、説明を省略する。
【０２２１】
Ｗｅｂサーバ１０１１、及びルータＡ１０４１〜Ｄ１０４４は、図１と同じである。Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、キャッシュサーバ追加要求及びキャッシュサーバ削除要求を受信し、キャッシュサーバ追加要求を受信した場合には、キャッシュサーバ追加指示をＰＢＲルータに実装されたＲｅｓｏｌｖｅ  Ａｇｅｎｔに送信し、キャッシュサーバ削除要求を受信した場合には、キャッシュサーバ削除指示をＰＢＲルータに実装されたＲｅｓｏｌｖｅ  Ａｇｅｎｔに送信する。Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１の詳細は図２７で説明する。
【０２２２】
キャッシュサーバＡ１７０３１及びＢ１７０３２は、Ｗｅｂコンテンツの複製を保持し、エンドユーザからのリクエストに応じて当該Ｗｅｂコンテンツを返し、実施例１と異なり、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔはキャッシュサーバ上で動作しない。
【０２２３】
ＰＢＲルータＡ１７０５１、Ｂ１７０５３、及びＣ１７０５５は、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１７０５２、Ｂ１７０５４、及びＣ１７０５６を実装する。ＰＢＲルータの詳細は図２９で説明する。
【０２２４】
図２６に示す中継システムにおいて、キャッシュサーバＡ１７０３１が新たに追加される場合のキャッシュサーバ追加処理の概略を説明する。
【０２２５】
図２６に示す（１）では、新たに追加されるキャッシュサーバＡ１７０３１が、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１に、キャッシュサーバ追加要求を送信する。
【０２２６】
図２６に示す（２）では、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、キャッシュサーバ追加要求を受信すると、各ＰＢＲルータＡ１７０５１〜１７０５５に実装されたＲｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ〜Ｃ１７０５１〜１７０５５に、キャッシュサーバ追加指示を送信する。
【０２２７】
図２６に示す（３）では、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ〜Ｃ１７０５１〜１７０５５は、追加されたキャッシュサーバ１７０３１との間のネットワーク距離を測定し、当該キャッシュサーバ１７０３１が最近傍キャッシュサーバであれば、ＰＣ  Ａ１０６１〜Ｄ１０６４からのデータを当該キャッシュサーバ１７０３１に転送するルールを生成し、自身を実装するＰＢＲルータに設定する。
【０２２８】
これによって、ＰＢＲルータのルールの生成及び設定を自動化することができる。
【０２２９】
なお、本実施例では、中継システムの全体構成、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ、及びＰＢＲルータが変更されており、これに伴って、キャッシュサーバ追加処理、キャシュサーバ削除処理、及びルール更新処理が変更されている。キャッシュシステムの全体構成、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ装置、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ装置、ＰＢＲルータの詳細構成とキャッシュサーバ追加処理、キャッシュサーバ削除処理、及びルール更新処理について以下で説明する。
【０２３０】
図２７は、本発明の実施例３のＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１のハードウェア構成図である。
【０２３１】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、ＣＰＵ２０１１、主記憶デバイス２０１２、及び二次記憶デバイス２０１３を有する。主記憶デバイス２０１２には、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュール１８０２１が記憶され、実施例１及び２と異なり、近傍キャッシュ表、及びキャッシュサーバ一覧表は記憶されない。二次記憶デバイス２０１３には、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュールプログラム１８０３１が記憶される。
【０２３２】
図２８は、本発明の実施例３のＰＢＲルータのハードウェア構成図である。
【０２３３】
ＰＢＲルータは、ＣＰＵ１８０６１、主記憶デバイス１８０６２、及び二次記憶デバイス１８０６３を有する。主記憶デバイス１８０６２には、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔモジュール１８０７１、近傍キャッシュ表１８０７２、ルータ管理モジュール１８０７３、及びキャッシュサーバ一覧表１８０７４が記憶される。二次記憶デバイス１８０６３には、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔモジュールプログラム１８０８１及びルータ管理モジュールプログラム１８０８２が記憶される。
【０２３４】
Ｒｅｓｏｌｖｅ  Ａｇｅｎｔモジュールプログラム１８０８１は、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔが動作するためのプログラムであり、ルータ管理モジュールプログラム１８０８２は、ＰＢＲルータの動作を管理するためのプログラムである。主記憶デバイス２０６２に記憶されたＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュール１８０７１及びルータ管理モジュール１８０７３は、二次記憶デバイス１８０６３に記憶されたＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュールプログラム１８０８１、及びルータ管理モジュールプログラム１８０８２がロードされた状態を示す。ＣＰＵ２０６１は、主記憶デバイス２０６２に記憶されたＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュール１８０７１及びルータ管理モジュール１８０７３を実行する。
【０２３５】
近傍キャッシュ表１８０７２は、自身（ＰＢＲルータ）の最近傍キャッシュサーバを保持するためのデータであり、詳細は図２９で説明する。キャッシュサーバ一覧表１８０７４は、ネットワークに存在し、利用可能なキャッシュサーバを保持するためのデータであり、実施例１のキャッシュサーバ一覧表２０２３と同じである。
【０２３６】
図２９は、本発明の実施例３の近傍キャッシュ表１８０７２の説明図である。図２９では、実施例１の図３に示す近傍キャッシュ表２０２２と同じ構成は、同じ符号を付与し、説明を省略する。
【０２３７】
近傍キャッシュ表１８０７２は、ＰＢＲルータＩＰ２０４１、最近傍キャッシュＩＰ２０４２、及び距離２０４３を含む。
【０２３８】
本実施例の近傍キャッシュ表１８０７２は、一つのＰＢＲルータ（自身）の最近傍キャッシュサーバを保持するので、近傍キャッシュ表１８０７２のレコードは一つである。
【０２３９】
なお、本実施例では、ルータ管理モジュールプログラム１８０８２は汎用のものであればよい。
【０２４０】
次に、図３０〜図３２を用いて、キャッシュサーバ追加処理について説明する。
【０２４１】
図３０は、本発明の実施例３のキャッシュサーバ追加処理のシーケンス図である。
【０２４２】
本実施例のキャッシュサーバ追加処理は、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１と、追加されるキャッシュサーバＡ１７０３１と、全てのＲｅｓｏｌｖｅ  Ａｇｅｎｔとの間で実行される。
【０２４３】
まず、ネットワークに新たに追加されるキャッシュサーバＡ１７０３１が、キャッシュサーバ追加要求をＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に送信する（１９００１）。キャッシュサーバ追加要求には、新たに追加されるキャッシュサーバＡ１７０３１のＩＰアドレスが含まれる。
【０２４４】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、キャッシュサーバ追加要求を受信した場合、全てのＰＢＲルータ（図３０では、ＰＢＲルータ１７０５１、１７０５３）に実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔ（１７０５２、１７０５４）に、キャッシュサーバ追加指示を送信する（１９００２）。キャッシュサーバ追加指示には、新たに追加されるキャッシュサーバＡ１７０３１のＩＰアドレスが含まれる。
【０２４５】
Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ１７０５２及び１７０５４は、キャッシュサーバ追加指示を受信した場合、キャッシュサーバ一覧表１８０７４に、受信したキャッシュサーバ追加指示に含まれるキャッシュサーバのＩＰアドレスを追加する（１９００３）。
【０２４６】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ１７０５２及び１７０５４は、自身が実装されるＰＢＲルータ１７０５１及び１７０５３と新たに追加されるキャッシュサーバＡ１７０３１との間のネットワーク距離を測定する（１９００４）。そして、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ１７０５２及び１７０５４は、測定結果が近傍キャッシュ表１８０７２の距離２０４３に登録された距離よりも小さいか否かを判定する。測定結果が近傍キャッシュ表１８０７２の距離２０４３に登録された距離よりも小さいと判定された場合、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ１７０５２及び１７０５４は、近傍キャッシュ表１８０７２の最近傍キャッシュＩＰ２０４２に新たに追加されるキャッシュサーバＡ１７０３１のＩＰアドレスを登録し、距離２０４３に測定結果を登録することによって、近傍キャッシュ表２０２２を更新する（１９００５）。また、この場合、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ１７０５２及び１７０５４は、ＰＣからのトラフィックを最近傍キャッシュサーバとなるキャッシュサーバＡ１７０３１に転送するようにルータ１９１０１及び１９１０２にルールを設定する（１９００６）。
【０２４７】
また、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、キャッシュサーバＢ１７０３２から送信されたキャッシュサーバ追加要求を受信した場合（１９００７）、キャッシュサーバ追加指示を全てのＲｅｓｏｌｖｅ  Ａｇｅｎｔ１７０５２及び１７０５４が実装されたＰＢＲルータＡ１７０５１及び１７０５３に送信する（１９００８）。Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ１７０５２及び１７０５４は、キャッシュサーバ追加指示を受信すると、ステップ１９００３〜１９００６を実行する。
【０２４８】
このようにして、追加されるキャッシュサーバの起動をトリガにして、各ＰＢＲルータに設定されるルールの生成、及び生成されたルールの各ＰＢＲルータへの設定が自動化される。
【０２４９】
なお、キャッシュサーバは、キャッシュサーバ追加要求の送信先となるＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１のＩＰアドレス等の識別情報を、起動後に保持している必要がある。本実施例では、キャッシュサーバには、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１のＩＰアドレスがＲｅｓｏｌｖｅ  Ａｇｅｎｔの起動前に設定されているものとし、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔの起動をキャッシュサーバ追加処理のトリガとした。
【０２５０】
キャッシュサーバ追加処理のトリガは、これに限定されず、キャッシュサーバの起動後に、外部記憶媒体等を介してＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１のＩＰアドレスがＲｅｓｏｌｖｅ  Ａｇｅｎｔに設定されたことをトリガとしてもよい。また、キャッシュサーバの起動後に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１のＩＰアドレスが管理者等によって入力されたことをトリガとしてもよい。
【０２５１】
図３１は、本発明の実施例３のキャッシュサーバ追加処理のＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１による処理のフローチャートである。
【０２５２】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、新たに追加されたキャッシュサーバＣから送信されたキャッシュサーバ追加要求を受信した場合に当該処理の実行を開始する。
【０２５３】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、キャッシュサーバ追加要求を受信すると、全てのＲｅｓｏｌｖｅ  Ａｇｅｎｔを実装したＰＢＲルータにキャッシュサーバ追加指示を送信し（２０００１）、処理を終了する。
【０２５４】
ここで、キャッシュサーバ追加指示は、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ１７０５２及び１７０５４がＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１によるキャッシュサーバの追加指示であることが確認できる形式であり、新たに追加されたキャッシュサーバのＩＰアドレスを含むものとする。なお、新たに追加されたキャッシュサーバのＩＰアドレスをキャッシュサーバ一覧表１８０７４に登録することを指示する旨がＲｅｓｏｌｖｅ  Ａｇｅｎｔ１７０５２及び１７０５４に伝わるメッセージであれば、形式は任意でよい。
【０２５５】
図３２は、本発明の実施例３のキャッシュサーバ追加処理のＲｅｓｏｌｖｅ  Ａｇｅｎｔによる処理のフローチャートである。
【０２５６】
Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１から送信されたキャッシュサーバ追加指示を受信した場合に当該処理を実行する。
【０２５７】
まず、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、受信したキャッシュサーバ追加指示に基づいてキャッシュサーバ一覧表１８０７４を更新するキャッシュサーバ一覧表更新処理を実行する（２１００１）。キャッシュサーバ一覧表更新処理では、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、キャッシュサーバ一覧表１８０７４に新たなレコードを追加し、追加したレコードのキャッシュサーバＩＰ２０５２（図４参照）に、受信したキャッシュサーバ追加指示のＩＰアドレスを登録する。
【０２５８】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、受信したキャッシュサーバ追加指示に含まれるＩＰアドレスによって識別されるキャッシュサーバと自身を実装するＰＢＲルータとの間のネットワーク距離を測定する（２１００２）。
【０２５９】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、ステップ２１００２の処理で測定した測定結果（ＲＴＴ）が、近傍キャッシュ表１８０７２の距離２０４３に登録された距離より小さいか否かを判定する（２１００３）。
【０２６０】
ステップ２１００３の処理で、測定結果（ＲＴＴ）が近傍キャッシュ表１８０７２の距離２０４３に登録された距離より小さいと判定された場合、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、近傍キャッシュ表１８０７２の最近傍キャッシュＩＰ２０４２に新たに追加されるキャッシュサーバのＩＰアドレスを登録し、距離２０４３に測定結果を登録する（２１００４）。
【０２６１】
そして、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、最近傍キャッシュサーバとなる新たに追加されるキャッシュサーバのＩＰアドレスを転送先とし、所定の転送条件を含むルールをＰＢＲルータに設定し（２１００５）、処理を終了する。
【０２６２】
以上によって、キャッシュサーバを新たに追加する場合に、エンドユーザからのデータを最近傍キャッシュサーバに転送するルールを自動的に生成し、当該ルールをＰＢＲルータに設定することができる。
【０２６３】
次に、図３３〜図３５を用いて、キャッシュサーバ削除処理について説明する。
【０２６４】
図３３は、本発明の実施例３のキャッシュサーバ削除処理のシーケンス図である。
【０２６５】
本実施例のキャッシュサーバ削除処理は、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１と、追加されるキャッシュサーバＡ１７０３１と、全てのＲｅｓｏｌｖｅ  Ａｇｅｎｔとの間で実行される。
【０２６６】
まず、ネットワークから削除されるキャッシュサーバＡ１７０３１が、キャッシュサーバ削除要求をＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１に送信する（２２００１）。キャッシュサーバ削除要求には、削除されるキャッシュサーバＡ１７０３１のＩＰアドレスが含まれる。
【０２６７】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、キャッシュサーバ削除要求を受信した場合、全てのＰＢＲルータ（図３３では、ＰＢＲルータ１７０５１、１７０５３）に実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔ（１７０５２、１７０５４）に、キャッシュサーバ削除指示を送信する（２２００２）。キャッシュサーバ削除指示には、削除されるキャッシュサーバＡ１７０３１のＩＰアドレスが含まれる。
【０２６８】
Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ１７０５２及び１７０５４は、キャッシュサーバ削除指示を受信した場合、キャッシュサーバ一覧表１８０７４に、受信したキャッシュサーバ削除指示に含まれるキャッシュサーバのＩＰアドレスを削除する（２２００３）。
【０２６９】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ１７０５２及び１７０５４は、近傍キャッシュ表１８０７２に削除されるキャッシュサーバのＩＰアドレスが登録されているか否かを判定し、削除されるキャッシュサーバのＩＰアドレスが近傍キャッシュ表１８０７２に登録されている場合、削除されるキャッシュサーバ以外の全てのキャッシュサーバと自身が実装されたＰＢＲルータとのネットワーク距離を測定する（２２００４）。
【０２７０】
そして、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ１７０５２及び１７０５４は、測定結果が最小となるキャッシュサーバを最近傍キャッシュサーバとして特定し、特定した最近傍キャッシュサーバのＩＰアドレスを近傍キャッシュ表１８０７２の最近傍キャッシュＩＰ２０４２に登録し、距離２０４３に最小となる測定結果を登録することによって、近傍キャッシュ表２０２２を更新する（２２００５）。また、この場合、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ１７０５２及び１７０５４は、ＰＣからのトラフィックを最近傍キャッシュサーバとなるキャッシュサーバに転送するようにルータ１９１０１及び１９１０２にルールを設定する（２２００６）。
【０２７１】
また、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、キャッシュサーバＢ１７０３２から送信されたキャッシュサーバ削除要求を受信した場合（２２００７）、キャッシュサーバ削除指示を全てのＲｅｓｏｌｖｅ  Ａｇｅｎｔ１７０５２及び１７０５４が実装されたＰＢＲルータＡ１７０５１及び１７０５３に送信する（２２００８）。Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ１７０５２及び１７０５４は、キャッシュサーバ削除指示を受信すると、ステップ２２００３〜２２００６を実行する。
【０２７２】
図３４は、本発明の実施例３のキャッシュサーバ削除処理のうちＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１によって実行される処理のフローチャートである。
【０２７３】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、削除されるキャッシュサーバＣから送信されたキャッシュサーバ削除要求を受信した場合に当該処理の実行を開始する。
【０２７４】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、キャッシュサーバ削除要求を受信すると、全てのＲｅｓｏｌｖｅ  Ａｇｅｎｔを実装したＰＢＲルータにキャッシュサーバ削除指示を送信し（２３００１）、処理を終了する。
【０２７５】
ここで、キャッシュサーバ削除指示は、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ１７０５２及び１７０５４がＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１によるキャッシュサーバの削除指示であることが確認できる形式であり、削除されるキャッシュサーバのＩＰアドレスを含むものとする。なお、削除されるキャッシュサーバのＩＰアドレスをキャッシュサーバ一覧表１８０７４から削除することを指示する旨がＲｅｓｏｌｖｅ  Ａｇｅｎｔ１７０５２及び１７０５４に伝わるメッセージであれば、形式は任意でよい。
【０２７６】
図３５は、本発明の実施例３のキャッシュサーバ削除処理のうちＲｅｓｏｌｖｅ  Ａｇｅｎｔによって実行される処理のフローチャートである。
【０２７７】
Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１から送信されたキャッシュサーバ削除指示を受信した場合に当該処理を実行する。
【０２７８】
まず、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、受信したキャッシュサーバ削除指示に含まれる削除されるキャッシュサーバＣのＩＰアドレスを取得する（２４００１）。
【０２７９】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、ステップ２４００１の処理で取得したＩＰアドレスが近傍キャッシュ表１８０７２の最近傍キャッシュＩＰ２０４２に登録されたＩＰアドレスと一致するか否かを判定する（２４００２）。
【０２８０】
ステップ２４００１の処理で取得したＩＰアドレスが近傍キャッシュ表１８０７２の最近傍キャッシュＩＰ２０４２に登録されたＩＰアドレスと一致しないと、ステップ２４００２の処理で判定された場合、最近傍キャッシュサーバが削除されるキャッシュサーバでないので、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、処理を終了する。
【０２８１】
一方、ステップ２４００１の処理で取得したＩＰアドレスが近傍キャッシュ表１８０７２の最近傍キャッシュＩＰ２０４２に登録されたＩＰアドレスと一致すると、ステップ２４００２の処理で判定された場合、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、当該最近傍キャッシュＩＰ２０４２に登録されたＩＰアドレス及び距離２０４３に登録された値を削除し（２４００３）、キャッシュサーバ一覧表１８０７４に登録されたキャッシュサーバのＩＰアドレスのうち、削除されるキャッシュサーバのＩＰアドレス以外のＩＰアドレスを取得し、キャッシュＩＰ配列を生成する（２４００４）。
【０２８２】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、キャッシュＩＰ配列の１行目のＩＰアドレスによって識別されるキャッシュサーバをキャッシュサーバＡとし（２４００５）、キャッシュＩＰ配列の１行目のＩＰアドレスを削除する（２４００６）。
【０２８３】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、キャッシュサーバＡと自身が実装されたＰＢＲルータとのネットワーク距離を測定し、測定結果に基づいて近傍キャッシュ表１８０７２を更新する近傍キャッシュ表更新処理を実行する（２４００７）。
【０２８４】
近傍キャッシュ表更新処理では、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、キャッシュサーバＡと自身が実装されたＰＢＲルータとのネットワーク距離を測定する。そして、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、測定結果が近傍キャッシュ表１８０７２の距離２０４３に登録された距離より小さい場合に、当該キャッシュサーバＡのＩＰアドレスを近傍キャッシュ表１８０７２の最近傍キャッシュＩＰ２０４２に登録し、当該測定結果を距離２０４３に登録する。
【０２８５】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、ステップ２４００７の処理で近傍キャッシュ表１８０７２を更新した場合、ＰＣからのトラフィックを最近傍キャッシュサーバに転送するルールをＰＢＲルータに設定するルール設定処理を実行する（２４００８）。ルール設定処理の詳細は、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔによって実行される点以外は実施例１の図１１に示すルール設定処理と同じであるので、説明を省略する。
【０２８６】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、キャッシュＩＰ配列にＩＰアドレスが存在するか否かを判定する（２４００９）。
【０２８７】
ステップ２４００９の処理で、キャッシュＩＰ配列にＩＰアドレスが存在する場合、全てのキャッシュサーバに対して近傍キャッシュ表更新処理を実行していないので、ステップ２４００７の処理に戻る。
【０２８８】
一方、ステップ２４００９の処理で、キャッシュＩＰ配列にＩＰアドレスが存在する場合、全てのキャッシュサーバに対して近傍キャッシュ表更新処理を実行したので、処理を終了する。
【０２８９】
これによって、キャッシュサーバが削除される場合、最近傍キャッシュサーバが削除されるキャッシュサーバであったＰＢＲルータの最近傍キャッシュサーバを、削除されるキャッシュサーバ以外のキャッシュサーバからネットワーク距離が最小となるキャッシュサーバに特定することができる。
【０２９０】
次に、図３６〜図３８を用いて、ルール更新処理について説明する。
【０２９１】
図３６は、本発明の実施例３のルール更新処理のフローチャートである。
【０２９２】
本実施例のルール更新処理は、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１と、全てのＲｅｓｏｌｖｅ  Ａｇｅｎｔとの間で実行される。
【０２９３】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒは、所定時間毎又はネットワークに障害を検出した場合に、ルール更新指示を全てのＰＢＲルータ１７０５１及び１７０５３に送信する（２５００１）。
【０２９４】
Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１７０５２及びＢ１７０５４は、ルール更新指示を受信した場合、キャッシュサーバ一覧表１８０７４に登録された全てのキャッシュサーバのＩＰアドレスを取得し、キャッシュＩＰ配列を生成し、キャッシュＩＰ配列の１行目のＩＰアドレスによって識別されるキャッシュサーバをキャッシュサーバＡとする（２５００２）。
【０２９５】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１７０５２及びＢ１７０５４は、自身が実装されたＰＢＲルータ１７０５１及び１７０５３とキャッシュサーバＡとの間のネットワーク距離を測定する（２５００３）。
【０２９６】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１７０５２及びＢ１７０５４は、測定結果が近傍キャッシュ表１８０７２の距離２０４３に登録された値より小さい場合、近傍キャッシュ表１８０７２の最近傍キャッシュＩＰ２０４２にキャッシュサーバＡのＩＰアドレスを登録し、距離２０４３に当該測定結果を登録することによって、近傍キャッシュ表１８０７２を更新する（２５００４）。
【０２９７】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１７０５２及びＢ１７０５４は、ＰＣからのトラフィックを最近傍キャッシュサーバに転送するようにＰＢＲルータＡにルールを設定する（２５００５）。
【０２９８】
そして、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ１７０５２及びＢ１７０５４は、キャッシュＩＰ配列の残りのＩＰアドレスによって識別されるキャッシュサーバに対しても、ステップ２５００３〜２５００５の処理を実行する。
【０２９９】
図３７は、本発明の実施例３のキャッシュサーバ削除処理のうちＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１によって実行される処理のフローチャートである。
【０３００】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、所定時間毎又はネットワークに異常が検出された場合に、全てのＲｅｓｏｌｖｅ  Ａｇｅｎｔにルール更新指示を送信し（２６００１）、処理を終了する。
【０３０１】
なお、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１がネットワークの異常を検出する方式は、実施例１と同じである。
【０３０２】
図３８は、本発明の実施例３のキャッシュサーバ削除処理のうちＲｅｓｏｌｖｅ  Ａｇｅｎｔによって実行される処理のフローチャートである。
【０３０３】
Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１から送信されたルール更新指示を受信した場合に、当該処理を実行する。
【０３０４】
まず、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、キャッシュサーバ一覧表１８０７４に登録された全てのキャッシュサーバのＩＰアドレスを取得し、キャッシュＩＰ配列を生成する（２７００１）。
【０３０５】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、キャッシュＩＰ配列の１行目のＩＰアドレスによって識別されるキャッシュサーバをキャッシュサーバＡとし（２７００２）、キャッシュＩＰ配列の１行目のＩＰアドレスを削除する（２７００３）。
【０３０６】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、キャッシュサーバＡと自身が実装されたＰＢＲルータとのネットワーク距離を測定し、測定結果に基づいて近傍キャッシュ表１８０７２を更新する近傍キャッシュ表更新処理を実行する（２７００４）。この近傍キャッシュ表更新処理は、図３５のステップ２４００７の処理と同じであるので説明を省略する。
【０３０７】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、ステップ２７００４の処理で近傍キャッシュ表１８０７２を更新した場合、ＰＣからのトラフィックを最近傍キャッシュサーバに転送するルールをＰＢＲルータに設定するルール設定処理を実行する（２７００５）。ルール設定処理の詳細は、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔによって実行される点以外は実施例１の図１１に示すルール設定処理と同じであるので、説明を省略する。
【０３０８】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、キャッシュＩＰ配列にＩＰアドレスが存在するか否かを判定する（２７００６）。
【０３０９】
ステップ２７００６の処理で、キャッシュＩＰ配列にＩＰアドレスが存在する場合、全てのキャッシュサーバに対して近傍キャッシュ表更新処理を実行していないので、ステップ２７００４の処理に戻る。
【０３１０】
一方、ステップ２７００６の処理で、キャッシュＩＰ配列にＩＰアドレスが存在する場合、全てのキャッシュサーバに対して近傍キャッシュ表更新処理を実行したので、処理を終了する。
【０３１１】
以上によって、所定のタイミング（所定時間毎、又はネットワークに障害を検出した場合）で全てのＰＢＲルータの最近傍キャッシュサーバを最新の最近傍キャッシュサーバに更新することができる。
【０３１２】
実施例３の最後に、上述したＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１の動作及びＲｅｓｏｌｖｅ  Ａｇｅｎｔの動作について、図３９及び図４０を用いて説明する。
【０３１３】
図３９は、本発明の実施例１のＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１の動作のフローチャートである。
【０３１４】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１に電源が投入され、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１が起動すると（２８００１）、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１のＣＰＵ２０１１は、二次記憶デバイス２０１３に記憶されたＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュールプログラム１８０３１を主記憶デバイス２０１２にロードし、ロードされたＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュールプログラム１８０３１を実行することによって、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュール１８０２１を起動する（２８００２）。
【０３１５】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、キャッシュサーバ追加要求を受信したか否かを判定する（２８００３）。ステップ２８００３の処理で、キャッシュサーバ追加要求を受信したと判定された場合、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、図３１に示す処理を実行することによってキャッシュサーバ追加指示を全てのＰＢＲルータに送信し（２８００４）、ステップ２８００３の処理に戻る。
【０３１６】
ステップ２８００３の処理で、キャッシュサーバ追加要求を受信していないと判定された場合、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、キャッシュサーバ削除要求を受信したか否かを判定する（２８００５）。
【０３１７】
ステップ２８００５の処理で、キャッシュサーバ削除要求を受信したと判定された場合、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、図３４に示すキャッシュサーバ削除処理を実行することによってキャッシュサーバ削除指示を全てのＰＢＲルータに送信し（２８００６）、ステップ２８００３の処理に戻る。
【０３１８】
ステップ２８００５の処理で、キャッシュサーバ削除要求を受信していないと判定された場合、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、ネットワークに障害が発生したことを検出したか否かを判定する（２８００７）。
【０３１９】
ステップ２８００７の処理で、ネットワークに障害が発生したことを検出したと判定された場合、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、図３７に示すルール更新処理を実行することによってルール更新指示を全てのＰＢＲルータに送信し（２８００８）、ステップ２８００３の処理に戻る。
【０３２０】
ステップ２８００７の処理で、ネットワークに障害が発生したことを検出していないと判定された場合、ステップ２８００３の処理に戻る。
【０３２１】
ここで、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１のネットワークの障害検出については、実施例１と同じなので説明を省略する。
【０３２２】
図４０は、本発明の実施例３のＲｅｓｏｌｖｅ  Ａｇｅｎｔの動作のフローチャートである。
【０３２３】
まず、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを実装するＰＢＲルータに電源が投入され、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔが起動すると（２９００１）、ＰＢＲルータのＣＰＵ１８０６１は、二次記憶デバイス１８０６３に記憶されたＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュールプログラム１８０８１を主記憶デバイス１８０６２にロードし、ロードされたＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュールプログラム１８０８１を実行することによって、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔモジュール１８０７１を起動する（２９００２）。
【０３２４】
次に、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、キャッシュサーバ追加指示を受信したか否かを判定する（２９００３）。ステップ２９００３の処理で、キャッシュサーバ追加指示を受信したと判定された場合、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、図３２に示す処理を実行し（２９００４）、ステップ２９００３の処理に戻る。
【０３２５】
ステップ２９００３の処理で、キャッシュサーバ追加指示を受信していないと判定された場合、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、キャッシュサーバ削除指示を受信したか否かを判定する（２９００５）。
【０３２６】
ステップ２９００５の処理で、キャッシュサーバ削除指示を受信したと判定された場合、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、図３５に示すキャッシュサーバ削除処理を実行し（２９００６）、ステップ２９００３の処理に戻る。
【０３２７】
ステップ２９００５の処理で、キャッシュサーバ削除指示を受信していないと判定された場合、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、ルール更新指示を受信したか否かを判定する（２９００７）。
【０３２８】
ステップ２９００７の処理で、ルール更新指示を受信したと判定された場合、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、図３８に示すルール更新処理を実行し（２９００８）、ステップ２９００３の処理に戻る。
【０３２９】
ステップ２９００７の処理で、ルール更新指示を受信していないと判定された場合、ステップ２９００３の処理に戻る。
【０３３０】
以上の処理を実行するＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１及びＲｅｓｏｌｖｅ  Ａｇｅｎｔを用いることによって、Ｒｅｓｏｌｖｅ  ＡｇｅｎｔがＰＢＲルータ上で動作するシステムを構築できる。
【実施例４】
【０３３１】
実施例４は、実施例３のＲｅｓｏｌｖｅ  ＡｇｅｎｔをＰＢＲルータ上で動作させず、ＰＢＲルータの近くに存在する計算機上で動作させた場合の実施例である。
【０３３２】
ここで、ＰＢＲルータの近くに存在する計算機とは、ＰＢＲルータに直接接続される計算機や、ＰＢＲルータに接続されたハブ装置と同一のハブ装置に接続される計算機のことである。すなわち、ＰＢＲルータ及びルータ装置を介さずに接続される計算機のことである。
【０３３３】
Ｒｅｓｏｌｖｅ  ＡｇｅｎｔがＰＢＲルータの近くに存在する計算機上で動作する場合、Ｒｅｓｏｌｖｅ  ＡｇｅｎｔとＰＢＲルータとはそれぞれ異なるＩＰアドレスを有する。このため、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔに対して各種指示を送信するためには、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを実装する計算機のＩＰアドレスを保持する必要がある。また、本実施例では、ＰＢＲルータの最近傍キャッシュサーバを特定するためのＰＢＲルータとキャッシュサーバとの間のネットワーク距離は、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔが実装された計算機とキャッシュサーバとの間のネットワーク距離で代用する。
【０３３４】
以下、本発明の実施例４について図４１〜図４４を用いて説明する。
【０３３５】
図４１は、本発明の実施例４の中継システムの説明図である。図４１では、実施例３の図２６に示す中継システムと同じ構成については、同じ符号を付与し、説明を省略する。
【０３３６】
Ｗｅｂサーバ１０１１、ルータＡ１０４１〜Ｄ１０４４、キャッシュサーバＡ１５０３１及びＢ１５０３３は、図２６と同じである。
【０３３７】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ３００２１は、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを実装する計算機のＩＰアドレスを保持するＲｅｓｏｌｖｅ  Ａｇｅｎｔ一覧表３１０２２を保持する点で実施例３と異なり、詳細は図４２及び図４３で説明する。
【０３３８】
ＰＢＲルータＡ３００５１〜Ｃ３００５３は、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔが動作しない点で実施例３と異なる。
【０３３９】
また、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ａ３００３３は、ＰＢＲルータＡ３００５１の近くに存在する計算機で動作し、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ｂ３００３４は、ＰＢＲルータＢ３００５２の近くに存在する計算機で動作し、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  Ｃ３００３５は、ＰＢＲルータＣ３００５４の近くに存在する計算機で動作する。Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを実装する計算機については図４４で詳細を説明する。
【０３４０】
本実施例では、Ｒｅｓｏｌｖｅ  ＡｇｅｎｔがＰＢＲルータと別の装置で動作するので、Ｒｅｓｏｌｖｅ  ＡｇｅｎｔによるキャッシュサーバとＰＢＲルータとの間のネットワーク距離の測定結果は、キャッシュサーバとＰＢＲルータとの間のネットワーク距離ではないが、当該装置はＰＢＲルータの近くに存在するため、キャッシュサーバとＰＢＲルータとの間のネットワーク距離として扱う。
【０３４１】
次に、図４２〜図４４でＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ３００２１、キャッシュサーバ一覧表、ＲｅｓｏｌｖｅＡｇｅｎｔを実装する計算機の構成について説明する。
【０３４２】
図４２は、本発明の実施例４のＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ３００２１のハードウェア構成図である。図４２では、実施例３の図２７に示すＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１と同じ構成については、同じ符号を付与し、説明を省略する。
【０３４３】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ３００２１は、ＣＰＵ２０１１、主記憶デバイス２０１２、及び二次記憶デバイス２０１３を有する。主記憶デバイス２０１２には、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュール１８０２１、及びＲｅｓｏｌｖｅ  Ａｇｅｎｔ一覧表３１０２２が記憶される。二次記憶デバイス２０１３には、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒモジュールプログラム１８０３１が記憶される。Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ一覧表３１０２２は、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを実装する計算機のＩＰアドレスが登録される。Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ一覧表３１０２２の詳細は図４３で説明する。
【０３４４】
図４３は、本発明の実施例４のＲｅｓｏｌｖｅ  Ａｇｅｎｔ一覧表３１０２２の説明図である。
【０３４５】
Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ一覧表３１０２２は、ＩＤ３１０５１、及びＲｅｓｏｌｖｅ  Ａｇｅｎｔ  ＩＰ３１０５２を含む。
【０３４６】
ＩＤ３１０５１には通し番号が登録される。Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  ＩＰ３１０５２には、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを実装する計算機のＩＰアドレスが登録される。
【０３４７】
Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ一覧表３１０２２の主キーはＩＤ３１０５１であり、ＩＤ３１０５１に登録された通し番号によって、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ一覧表３１０２２の所定の一行を特定可能である。また、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ  ＩＰ３１０５２に登録されたＲｅｓｏｌｖｅ  Ａｇｅｎｔを実装する計算機のＩＰアドレスも、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ一覧表３１０２２の主キーとなり得る。
【０３４８】
なお、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ一覧表３１０２２のＲｅｓｏｌｖｅ  Ａｇｅｎｔ  ＩＰ３１０５２は、人手によって予め登録される。また、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔが、自身を実装する計算機のＩＰアドレスを含む追加要求をＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ３００２１に送信し、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ３００２１は、追加要求を受信した場合、受信した追加要求に含まれるＩＰアドレスをＲｅｓｏｌｖｅ  Ａｇｅｎｔ  ＩＰ３１０５２に登録してもよい。
【０３４９】
図４４は、本発明の実施例４のＲｅｓｏｌｖｅ  Ａｇｅｎｔを実装する計算機のハードウェア構成図である。
【０３５０】
Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、ＣＰＵ３１０６１、主記憶デバイス３１０６２、及び二次記憶デバイス３１０６３を有する。
【０３５１】
主記憶デバイス３１０６２には、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔモジュール３１０７１、近傍キャッシュ表３１０７２、及びキャッシュサーバ一覧表３１０７３が記憶される。二次記憶デバイス３１０６３には、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔモジュールプログラム３１０３１が記憶される。主記憶デバイス３１０６２に記憶されるＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュール３１０７１は、二次記憶デバイス３１０６３に記憶されたＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュールプログラム３１０３１が主記憶デバイス３１０６２にロードされた状態を示す。ＣＰＵ３１０６１は、主記憶デバイス３１０６２にロードされたＲｅｓｏｌｖｅ  Ａｇｅｎｔモジュール３１０７１を実行する。
【０３５２】
近傍キャッシュ表３１０７２は実施例３の図２９と同じであり、キャッシュサーバ一覧表３１０７３は実施例１の図４と同じである。
【０３５３】
本実施例のキャッシュサーバ追加処理、キャッシュサーバ削除処理、及びルール更新処理では、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ３００２１がキャッシュサーバ追加指示、キャッシュサーバ削除指示、及びルール更新指示をＲｅｓｏｌｖｅ  Ａｇｅｎｔを実装する全ての計算機に送信する点で実施例３と異なるが、他の処理は実施例３と同じである。
【０３５４】
以上によって、Ｒｅｓｏｌｖｅ  ＡｇｅｎｔをＰＢＲルータ上で動作させず、ＰＢＲルータの近くに存在する計算機上で動作させることができる。
【０３５５】
なお、キャッシュサーバの近くに存在する計算機でＲｅｓｏｌｖｅ  Ａｇｅｎｔが動作する実施例２と本実施例との相違点について説明する。
【０３５６】
通常、中継システムに配置されるＰＢＲルータの数は、キャッシュサーバの数より多い。このため、本実施例では、中継システムで動作するＲｅｓｏｌｖｅ  Ａｇｅｎｔの数を実施例２により多くすることができる。このため、エンドユーザの数が多い中継システムでは、実施例２ではなく本実施例の中継システムを採用することによって、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔの数を増やし、一つのＲｅｓｏｌｖｅ  Ａｇｅｎｔの負荷を軽減することができる。
【実施例５】
【０３５７】
本実施例では、中継システムを初期構築する場合の処理である初期構築処理の例について実施例１の中継システムを用いて説明する。本実施例では、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔからのキャッシュサーバ追加要求を受信しても、所定条件が成立するまで、ネットワーク距離の測定指示の送信処理以降の処理を待機する。
【０３５８】
初期構築時には、所定時間の間に何台ものキャッシュサーバがネットワークに追加される。このため、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、キャッシュサーバが追加されるたびに、追加されたキャッシュサーバとＰＢＲルータとのネットワーク距離を測定し、各ＰＢＲルータの最近傍キャッシュサーバを特定していたのでは、ネットワーク距離が遠いキャッシュサーバを最近傍キャッシュサーバとして特定される可能性がある。例えば、ネットワークにキャッシュサーバが一台しか追加されていない場合には、全てのＰＢＲルータの最近傍キャッシュサーバが当該キャッシュサーバに設定されてしまう。
【０３５９】
ＰＢＲルータは、ネットワーク距離が遠いキャッシュサーバにエンドユーザからのリクエストを転送しては、当該リクエストをＷｅｂサーバ１０１１に転送するよりも、ネットワークが輻輳してしまう。
【０３６０】
このため、本実施例では、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、所定数以上のキャッシュサーバがネットワークに追加されてから、各ＰＢＲルータの最近傍キャッシュサーバを特定するように、キャッシュサーバ追加要求を受信しても、ネットワーク距離の測定指示の送信を待機する。
【０３６１】
以下、実施例５について図４５を用いて説明する。
【０３６２】
図４５は、本発明の実施例５の初期構築処理のフローチャートである。
【０３６３】
まず、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、初期構築処理を実行するプログラムを起動すると、時間のカウントを開始する（３２００１）。
【０３６４】
そして、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、キャッシュサーバ追加要求を受信した場合、キャッシュサーバ一覧表更新処理を実行する（３２００２）。キャッシュサーバ一覧表更新処理は、実施例１の図９に示す処理と同じあるので、説明を省略する。
【０３６５】
次に、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、時間のカウントを開始してから所定時間が経過したか否かを判定する（３２００３）。
【０３６６】
ステップ３２００３の処理で、時間のカウントを開始してから所定時間が経過していないと判定された場合、ステップ３２００２の処理に戻る。
【０３６７】
一方、ステップ３２００３の処理で、時間のカウントを開始してから所定時間が経過したと判定された場合、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、所定時間が経過するまでに受信したキャッシュサーバ追加要求に基づいてキャッシュサーバ一覧表２０２３に登録されたキャッシュサーバの順に、ネットワーク距離を測定するべくステップ７００２〜７００７の処理を実行し、処理を終了する。ステップ７００２〜７００７の処理は、実施例１の図８に示すステップ７００２〜７００７の処理と同じであるので、説明を省略する。
【０３６８】
なお、図４５では、ステップ３２００２の処理では、初期構築処理を実行するプログラムの起動から所定時間が経過したことを、ネットワーク距離の測定指示の所定の条件としているが、他のバリエーションも考えられる。例えば、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１の起動から所定時間が経過したことを条件としてもよいし、ネットワークに追加される全てのキャッシュサーバに実装されるＲｅｓｏｌｖｅ  Ａｇｅｎｔが起動したことの連絡をＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒの管理者が受け取ったことを条件としてもよい。
【０３６９】
これによって、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１０２１は、初期構築時にキャッシュサーバ追加要求を受信しても、所定条件が成立するまでは、ネットワーク距離の測定をＲｅｓｏｌｖｅ  Ａｇｅｎｔに指示しないので、所定数のキャッシュサーバがネットワークに追加されてから各ＰＢＲルータの最近傍キャッシュサーバを特定することができる。
【０３７０】
なお、本実施例は、図４５と同じ処理で実施例２にも適用可能である。
【０３７１】
次に、本実施例を実施例３に適用する場合について図３０を用いて説明する。
【０３７２】
Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、所定条件が成立するまでは、キャッシュサーバ追加要求を受信しても、キャッシュサーバ追加指示を、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔを実装するＰＢＲルータに送信しない。
【０３７３】
これによって、ＰＢＲルータに実装されたＲｅｓｏｌｖｅ  Ａｇｅｎｔは、所定条件が成立するまでキャッシュサーバ追加指示を受信しないため、ネットワーク距離の測定を待機する。
【０３７４】
したがって、Ｒｅｓｏｌｖｅ  Ａｇｅｎｔは、所定数のキャッシュサーバがネットワークに追加されてから自身を実装するＰＢＲルータの最近傍キャッシュサーバを特定することができる。
【０３７５】
また、Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ１７０２１は、キャッシュサーバ追加要求を受信した場合、すぐにキャッシュサーバ追加指示を各ＰＢＲルータに送信し、各ＰＢＲルータに実装されたＲｅｓｏｌｖｅ  Ａｇｅｎｔが、所定条件が成立するまでは、ネットワーク距離の測定を待機してもよい。この場合の所定条件は、例えば、最初にキャッシュサーバ追加指示を受信してから所定時間が経過したことを条件としてもよいし、ＰＢＲルータの起動から所定時間が経過したことを条件としてもよい。
【０３７６】
なお、特許請求の範囲では、上述した実施例１〜実施例５のＲｅｓｏｌｖｅ  Ｍａｎａｇｅｒ及びＲｅｓｏｌｖｅ  Ａｇｅｎｔを総称する概念として、ルール設定モジュールとの用語を用いている。
【０３７７】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０３７８】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【符号の説明】
【０３７９】
１０１１    Ｗｅｂサーバ
１０２１    Ｒｅｓｏｌｖｅ  Ｍａｎａｇｅｒ
１０３１、１０３３    キャッシュサーバ
１０３２、１０３４    Ｒｅｓｏｌｖｅ  Ａｇｅｎｔ
１０４１〜１０４４    ルータ
１０５１〜１０５３    ＰＢＲルータ
１０６１〜１０６４    ＰＣ
【図１】
2014064096.tif 000003
【図２】
2014064096.tif 000004
【図３】
2014064096.tif 000005
【図４】
2014064096.tif 000006
【図５】
2014064096.tif 000007
【図６】
2014064096.tif 000008
【図７Ａ】
2014064096.tif 000009
【図７Ｂ】
2014064096.tif 000010
【図８】
2014064096.tif 000011
【図９】
2014064096.tif 000012
【図１０】
2014064096.tif 000013
【図１１】
2014064096.tif 000014
【図１２】
2014064096.tif 000015
【図１３】
2014064096.tif 000016
【図１４】
2014064096.tif 000017
【図１５】
2014064096.tif 000018
【図１６】
2014064096.tif 000019
【図１７】
2014064096.tif 000020
【図１８】
2014064096.tif 000021
【図１９】
2014064096.tif 000022
【図２０】
2014064096.tif 000023
【図２１】
2014064096.tif 000024
【図２２】
2014064096.tif 000025
【図２３】
2014064096.tif 000026
【図２４】
2014064096.tif 000027
【図２５】
2014064096.tif 000028
【図２６】
2014064096.tif 000029
【図２７】
2014064096.tif 000030
【図２８】
2014064096.tif 000031
【図２９】
2014064096.tif 000032
【図３０】
2014064096.tif 000033
【図３１】
2014064096.tif 000034
【図３２】
2014064096.tif 000035
【図３３】
2014064096.tif 000036
【図３４】
2014064096.tif 000037
【図３５】
2014064096.tif 000038
【図３６】
2014064096.tif 000039
【図３７】
2014064096.tif 000040
【図３８】
2014064096.tif 000041
【図３９】
2014064096.tif 000042
【図４０】
2014064096.tif 000043
【図４１】
2014064096.tif 000044
【図４２】
2014064096.tif 000045
【図４３】
2014064096.tif 000046
【図４４】
2014064096.tif 000047
【図４５】
2014064096.tif 000048