(57)【要約】【課題】各キャッシュサーバの負荷を分散させることにより、ネットワーク上を流れる通信量を全体的に削減すること。【解決手段】キャッシュサーバの負荷を計測する負荷計測手段と、計測した負荷が予め定められた値と比較することにより過負荷であるか否かを判断する過負荷判断手段と、過負荷であると判断された場合、コンテンツサーバに対して、負荷原因キャッシュサーバの接続先を検索するように要求するための接続先検索要求情報を送信する接続先検索要求情報送信手段と、接続先検索要求情報を送信した送信先のコンテンツサーバから、検索された接続先を示す接続先情報を受信する接続先情報受信手段と、負荷原因キャッシュサーバに対して、受信した接続先情報に基づいて、接続先情報に示された接続先に接続を切替えるように要求する切替要求情報を送信する切替要求送信手段とを備える。【選択図】図２
2007257357.tif 000002
【特許請求の範囲】
【請求項１】
クライアントからの要求に応じてコンテンツサーバ上のコンテンツをキャッシュして前記クライアントに配信するキャッシュサーバにおいて、
前記キャッシュサーバの下位に接続された負荷原因キャッシュサーバが前記キャッシュサーバにキャッシュされているコンテンツをキャッシュすることによる前記キャッシュサーバの負荷を計測する負荷計測手段と、
前記負荷計測手段によって計測した負荷が予め定められた値と比較することにより過負荷であるか否かを判断する過負荷判断手段と、
前記過負荷判断手段によって前記負荷が過負荷であると判断された場合、前記コンテンツサーバまたは他のキャッシュサーバに対して、前記負荷の原因となっている負荷原因キャッシュサーバの接続先を検索するように要求するための接続先検索要求情報を送信する接続先検索要求情報送信手段と、
前記接続先検索要求情報送信手段によって前記接続先検索要求情報を送信した送信先の前記コンテンツサーバまたは前記他のキャッシュサーバから、前記コンテンツサーバまたは前記他のキャッシュサーバによって検索された接続先を示す接続先情報を受信する接続先情報受信手段と、
前記負荷原因キャッシュサーバに対して、前記接続先情報受信手段によって受信した接続先情報に基づいて、前記接続先情報に示された接続先に接続を切替えるように要求する切替要求情報を送信する切替要求送信手段と、
を備えることを特徴とするキャッシュサーバ。
【請求項２】
前記接続先検索用要求情報送信手段は、前記キャッシュサーバに接続された前記コンテンツサーバまたは前記他のキャッシュサーバに対して、予め定められた順に前記接続先検索要求情報を送信することを特徴とする請求項１に記載のキャッシュサーバ。
【請求項３】
請求項１または２に記載のコンテンツサーバであるサーバにおいて、
請求項１または２に記載のキャッシュサーバから、前記キャッシュサーバの負荷の原因となっている負荷原因キャッシュサーバの接続先を検索するように要求するための接続先検索要求情報を受信する接続先検索要求情報受信手段と、
前記接続先検索要求情報受信手段によって接続先検索要求情報を受信することにより、前記接続先検索要求情報を前記サーバの下位に接続された他のキャッシュサーバへ転送する接続先検索要求情報転送手段と、
前記接続先検索要求情報を転送した転送先である前記他のキャッシュサーバから前記負荷原因キャッシュサーバの接続先としての可否を示す接続先可否判断結果を受信する接続先可否判断結果受信手段と、
前記接続先可否判断結果受信手段によって受信した接続先可否判断結果が全て前記負荷原因キャッシュサーバの接続先として不可を示す接続先可否判断結果であった場合、前記サーバの負荷に基づいて、前記サーバが前記負荷原因キャッシュサーバの接続先として可能か否かの可否を判断する接続先判断手段と、
前記キャッシュサーバに対して、前記接続先判断手段によって判断された接続先としての可否を示す接続先可否判断結果を送信する接続先可否判断結果送信手段と、
を備えることを特徴とするサーバ。
【請求項４】
請求項１または２に記載の他のキャッシュサーバであるサーバにおいて、
請求項３に記載のコンテンツサーバあるいは請求項１または２に記載のキャッシュサーバから、前記キャッシュサーバの負荷の原因となっている負荷原因キャッシュサーバの接続先を検索するように要求するための接続先検索要求情報を受信する接続先検索要求情報受信手段と、
前記接続先検索要求情報受信手段によって接続先検索要求情報を受信することにより、前記サーバの負荷に基づいて、前記負荷原因キャッシュサーバの接続先としての可否を判断する接続先判断手段と、
前記接続先判断手段によって判断された接続先としての可否を示す接続先可否判断結果が前記負荷原因キャッシュサーバの接続先として不可を示す接続先可否判断結果であった場合、前記接続先検索要求情報を前記サーバの下位に接続された他のキャッシュサーバへ転送する接続先検索要求情報転送手段と、
前記接続先検索要求情報を送信してきたコンテンツサーバまたはキャッシュサーバに対して、前記接続先判断手段によって判断された接続先としての可否を示す接続先可否判断結果を送信する接続先可否判断結果送信手段と、
を備えることを特徴とするサーバ。
【請求項５】
クライアントからの要求に応じてコンテンツサーバ上のコンテンツを配信するコンテンツ配信ネットワークにおいて実行される接続先サーバ切替制御方法であって、
前記コンテンツサーバ上のコンテンツをキャッシュするキャッシュサーバが、
前記キャッシュサーバの下位に接続された負荷原因キャッシュサーバが前記キャッシュサーバにキャッシュされているコンテンツをキャッシュすることによる前記キャッシュサーバの負荷を計測し、
前記計測した負荷が予め定められた値と比較することによって前記負荷が過負荷であると判断された場合、前記コンテンツサーバに対して、前記負荷の原因となっている負荷原因キャッシュサーバの接続先を検索するように要求するための接続先検索要求情報を送信し、
前記コンテンツサーバが、
前記キャッシュサーバから送信された接続先検索要求情報を受信し、
前記受信した接続先検索要求情報を前記コンテンツサーバの下位に接続された他のキャッシュサーバへ転送し、
前記他のキャッシュサーバが、
前記コンテンツサーバから転送された接続先検索要求情報を受信することにより、前記他のキャッシュサーバの負荷に基づいて、前記負荷原因キャッシュサーバの接続先としての可否を判断し、
前記接続先検索要求情報を送信してきたコンテンツサーバに対して、前記判断された接続先としての可否を示す接続先可否判断結果を送信し、
前記コンテンツサーバが、
前記受信した接続可否判断結果を、前記判断された接続先としての負荷原因キャッシュサーバに返送し、
前記負荷原因キャッシュサーバが、
前記返送された接続可否判断結果に基づいて、接続先を変更する、
ことを特徴とする接続先サーバ切替制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上を流れるデータの通信量を削減するためのキャッシュ技術における、負荷分散技術に関し、特に、クライアントからの要求に応じてコンテンツを配信するコンテンツ配信ネットワークにおいて、該コンテンツ配信ネットワーク上を流れるコンテンツデータの通信量を削減するためのサーバおよび該サーバの接続先を切替える接続先サーバ切替制御方法に関する。
【背景技術】
【０００２】
従来、ネットワーク上を流れる通信量を削減するための技術として、（１）キャッシュ技術や（２）ミラーリング技術が存在する。これらは共にコンテンツを持つサーバ（以下、コンテンツサーバと言う。）が有する情報を、参照要求者端末（以下、クライアントと言う。）に近いネットワーク上の別の場所（以下、キャッシュサーバと言う。）にコピーし、キャッシュサーバ上のコピーをクライアントから参照させることによってネットワーク上を流れるコンテンツの通信量を削減する技術である。
【０００３】
（１）キャッシュ技術は、コンテンツサーバ上のコンテンツの内容が変更されない場合において特に有効であるが、近年、クライアントのアクセス時に動的にコンテンツを生成するウェブサーバ等、単純にコンテンツをキャッシュするだけでは対応できない事例が増加している。これを解決するため、全体として動的に生成されるコンテンツであってもコンテンツ中の動的な部分と静的な部分とにきめ細かく分け、動的な部分以外をキャッシュすることによってキャッシュすることが可能なコンテンツの割合を増加させる技術が開発されている。
【０００４】
また別のアプローチとして、動的なコンテンツもキャッシュし、コンテンツに変更があった場合には自動的にキャッシュも更新することによってキャッシュのヒット率を上げる技術も存在する。
【０００５】
また、（２）ミラーリング技術は、一定の周期で大量のデータをコピーする場合に適している。
これらのキャッシュサーバにはリクエストの数に応じて負荷がかかるため、負荷分散技術は必須である。その手法として、負荷分散コントローラを用いる方法（例えば、特許文献１参照。）や、一般のサーバを用いた広域負荷分散（例えば、特許文献２参照。）等が存在するが、いずれもキャッシュサーバが異なる管理者に管理されている状況や、継続的にキャッシュへのファイルのコピーが行われ、その負荷が問題になるような状況を考慮していないものであった。
【０００６】
また、複数のコンテンツサーバとコンテンツサーバからコンテンツの配信を受け中継するキャッシュサーバとクライアントとから構成されるＰ２Ｐ−ＣＤＮ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ−Ｃｏｎｔｅｎｔｓ  Ｄｅｌｉｖｅｒｙ  Ｎｅｔｗｏｒｋ）において、クライアントの要求から計測したキャッシュサーバの処理負荷の変動に応じて、前記コンテンツサーバが配信する前記コンテンツの種類の変更処理を行う技術が開示されている（例えば、特許文献３参照。）。
【特許文献１】特開２００１−２３６２９３号公報
【特許文献２】特表２００４−５０７１２８号公報
【特許文献３】特開２００２−２５９３５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、ＣＤＮなどのコンテンツ配信における負荷分散では、キャッシュサーバやコンテンツの配信を受けるクライアントの論理的なネットワーク構成が固定的となっているものが一般的であった。負荷が偏った場合であってもネットワーク構成を変更することができないという問題点があった。
【０００８】
図１は、従来技術の問題点を説明するための図である。
図１において、ＣＤＮ１は、１つのコンテンツサーバ２と複数のキャッシュサーバ３と複数のクライアント４とから構成され、コンテンツサーバ２を頂点にして、複数のキャッシュサーバ３がコンテンツサーバ２の下位に接続され、そのキャッシュサーバ３の下位にクライアント４が接続されている。また、（Ｂ）のようにあるキャッシュサーバ３の下位に別のキャッシュサーバ３が接続されるネットワーク構成も採り得る。
【０００９】
これらのキャッシュサーバ３は、互いに他のキャッシュサーバ３の負荷状況を把握できないので、図１の（Ａ）のように、１つのコンテンツサーバ２の下位にｍ台のキャッシュサーバ３が接続されるネットワーク構成のＣＤＮ１から、（Ｂ）のように、１つのコンテンツサーバ２の下位にｍ−１台のキャッシュサーバ３が接続され、そのうちのあるキャッシュサーバ３の下位に別のキャッシュサーバ３が接続されるネットワーク構成のＣＤＮ１に変更、あるいは、（Ｂ）から（Ａ）のようなネットワーク構成に変更することはできない。
【００１０】
また、異なるコンテンツを持つ複数のコンテンツサーバが存在する場合、キャッシュサーバの負荷は各コンテンツサーバ単位で計算されるため、キャッシュサーバの負荷状況によって接続先を効率よく変更することは困難であるという問題点があった。
【００１１】
これに対してＰ２Ｐ−ＣＤＮと呼ばれる技術では、コンテンツ配信を受けるノードが同時にコンテンツを中継するキャッシュサーバとして働き、かつ論理的なネットワーク構成を動的に変更するものが存在しているが、コンテンツ配信元が複数の場合は考慮されていない。そのため、コンテンツ配信元が複数の場合はそれに比例してキャッシュサーバも必要となり、スケーラビリティに難があるという問題点があった。
【００１２】
本発明は、上記事情に鑑みてなされたもので、コンテンツ配信元であるコンテンツサーバが複数の場合であっても、すなわち各キャッシュサーバが異なる管理者に管理されている場合であっても、それぞれのキャッシュサーバに負荷を分散させることにより、各キャッシュサーバの負荷に応じて動的に論理的なネットワーク構成の変更を可能とし、より大規模なネットワークシステムの実現を可能とする、サーバおよび該サーバの接続先を切替える接続先サーバ切替制御方法を提供することを目的とする。
【００１３】
また、本発明は、各キャッシュサーバの負荷を分散させることにより、ネットワーク上を流れる通信量を全体的に削減することが可能なサーバおよび該サーバの接続先を切替える接続先サーバ切替制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、上記課題を解決するため、下記のような構成を採用した。
キャッシュサーバ主導でキャッシュサーバのコンテンツ取得先を変更する機能と、キャッシュサーバが階層化された状態にある場合であって、あるキャッシュサーバの負荷が高くなった場合やキャッシュを参照する配下のキャッシュサーバが少なくなった場合、配下（下の階層）のキャッシュサーバの接続先を変更させることでキャッシュサーバの負荷を低減させる機能と、コンテンツサーバ主導でキャッシュサーバのコンテンツ取得先を変更する機能と、あるコンテンツサーバの負荷が高くなると、そのコンテンツを取得しているキャッシュサーバのいずれかの接続先を別のキャッシュサーバの配下に変更させることで、コンテンツサーバの負荷を低減させる機能を有する。
【００１５】
また、本発明の一態様によれば、本発明のキャッシュサーバは、クライアントからの要求に応じてコンテンツサーバ上のコンテンツをキャッシュして前記クライアントに配信するキャッシュサーバであって、前記キャッシュサーバの下位に接続された負荷原因キャッシュサーバが前記キャッシュサーバにキャッシュされているコンテンツをキャッシュすることによる前記キャッシュサーバの負荷を計測する負荷計測手段と、前記負荷計測手段によって計測した負荷が予め定められた値と比較することにより過負荷であるか否かを判断する過負荷判断手段と、前記過負荷判断手段によって前記負荷が過負荷であると判断された場合、前記コンテンツサーバまたは他のキャッシュサーバに対して、前記負荷の原因となっている負荷原因キャッシュサーバの接続先を検索するように要求するための接続先検索要求情報を送信する接続先検索要求情報送信手段と、前記接続先検索要求情報送信手段によって前記接続先検索要求情報を送信した送信先の前記コンテンツサーバまたは前記他のキャッシュサーバから、前記コンテンツサーバまたは前記他のキャッシュサーバによって検索された接続先を示す接続先情報を受信する接続先情報受信手段と、前記負荷原因キャッシュサーバに対して、前記接続先情報受信手段によって受信した接続先情報に基づいて、前記接続先情報に示された接続先に接続を切替えるように要求する切替要求情報を送信する切替要求送信手段とを備えることを特徴とする。
【００１６】
また、本発明のキャッシュサーバは、前記接続先検索用要求情報送信手段が、前記キャッシュサーバに接続された前記コンテンツサーバまたは前記他のキャッシュサーバに対して、予め定められた順に前記接続先検索要求情報を送信することが望ましい。
【００１７】
また、本発明の一態様によれば、本発明のコンテンツサーバは、上述のキャッシュサーバから、前記キャッシュサーバの負荷の原因となっている負荷原因キャッシュサーバの接続先を検索するように要求するための接続先検索要求情報を受信する接続先検索要求情報受信手段と、前記接続先検索要求情報受信手段によって接続先検索要求情報を受信することにより、前記接続先検索要求情報を前記コンテンツサーバの下位に接続された他のキャッシュサーバへ転送する接続先検索要求情報転送手段と、前記接続先検索要求情報を転送した転送先である前記他のキャッシュサーバから前記負荷原因キャッシュサーバの接続先としての可否を示す接続先可否判断結果を受信する接続先可否判断結果受信手段と、前記接続先可否判断結果受信手段によって受信した接続先可否判断結果が全て前記負荷原因キャッシュサーバの接続先として不可を示す接続先可否判断結果であった場合、前記コンテンツサーバの負荷に基づいて、前記コンテンツサーバが前記負荷原因キャッシュサーバの接続先として可能か否かの可否を判断する接続先判断手段と、前記キャッシュサーバに対して、前記接続先判断手段によって判断された接続先としての可否を示す接続先可否判断結果を送信する接続先可否判断結果送信手段とを備えることを特徴とする。
【００１８】
また、本発明の一態様によれば、本発明のキャッシュサーバは、上述の他のキャッシュサーバであって、上述のコンテンツサーバあるいは上述のキャッシュサーバから、前記キャッシュサーバの負荷の原因となっている負荷原因キャッシュサーバの接続先を検索するように要求するための接続先検索要求情報を受信する接続先検索要求情報受信手段と、前記接続先検索要求情報受信手段によって接続先検索要求情報を受信することにより、前記キャッシュサーバの負荷に基づいて、前記負荷原因キャッシュサーバの接続先としての可否を判断する接続先判断手段と、前記接続先判断手段によって判断された接続先としての可否を示す接続先可否判断結果が前記負荷原因キャッシュサーバの接続先として不可を示す接続先可否判断結果であった場合、前記接続先検索要求情報を前記キャッシュサーバの下位に接続された他のキャッシュサーバへ転送する接続先検索要求情報転送手段と、前記接続先検索要求情報を送信してきたコンテンツサーバまたはキャッシュサーバに対して、前記接続先判断手段によって判断された接続先としての可否を示す接続先可否判断結果を送信する接続先可否判断結果送信手段とを備えることを特徴とする。
【００１９】
また、本発明の一態様によれば、本発明の接続先サーバ切替制御方法は、クライアントからの要求に応じてコンテンツサーバ上のコンテンツを配信するコンテンツ配信ネットワークにおいて実行される接続先サーバ切替制御方法であって、前記コンテンツサーバ上のコンテンツをキャッシュするキャッシュサーバが、前記キャッシュサーバの下位に接続された負荷原因キャッシュサーバが前記キャッシュサーバにキャッシュされているコンテンツをキャッシュすることによる前記キャッシュサーバの負荷を計測し、前記計測した負荷が予め定められた値と比較することによって前記負荷が過負荷であると判断された場合、前記コンテンツサーバに対して、前記負荷の原因となっている負荷原因キャッシュサーバの接続先を検索するように要求するための接続先検索要求情報を送信し、前記コンテンツサーバが、前記キャッシュサーバから送信された接続先検索要求情報を受信し、前記受信した接続先検索要求情報を前記コンテンツサーバの下位に接続された他のキャッシュサーバへ転送し、前記他のキャッシュサーバが、前記コンテンツサーバから転送された接続先検索要求情報を受信することにより、前記他のキャッシュサーバの負荷に基づいて、前記負荷原因キャッシュサーバの接続先としての可否を判断し、前記接続先検索要求情報を送信してきたコンテンツサーバに対して、前記判断された接続先としての可否を示す接続先可否判断結果を送信し、前記コンテンツサーバが、前記受信した接続可否判断結果を、前記判断された接続先としての負荷原因キャッシュサーバに返送し、前記負荷原因キャッシュサーバが、前記返送された接続可否判断結果に基づいて、接続先を変更することを特徴とする。
【００２０】
そして、コンテンツサーバから直接コンテンツを取得しているキャッシュサーバが、他のキャッシュサーバへのキャッシュの提供により負荷が増大した場合、他のキャッシュサーバの一部のコンテンツの取得先を他のキャッシュサーバに変更させることによって該キャッシュサーバの負荷を低減する。
【００２１】
また、他のキャッシュサーバからコンテンツを取得しているキャッシュサーバが、他のキャッシュサーバへのキャッシュの提供により負荷が増大した場合、他のキャッシュサーバの一部のコンテンツの取得先を他のキャッシュサーバに変更させることによって該キャッシュサーバの負荷を低減する。
【００２２】
これらの接続先を変更する際に、コンテンツサーバから見て２階層より下のキャッシュサーバのコンテンツの取得先をコンテンツサーバに変更する。すなわち、該キャッシュサーバを最上階層のキャッシュサーバに変更する。
【００２３】
また、他のキャッシュサーバにコンテンツを提供しているコンテンツサーバが、キャッシュサーバへのキャッシュの提供により負荷が増大した場合、キャッシュサーバの一部のコンテンツの取得先を他のキャッシュサーバに変更させることによって該コンテンツサーバの負荷を低減する。
【００２４】
この接続先の変更の際、最上階層のキャッシュサーバのコンテンツの取得先を他のキャッシュサーバに変更する。すなわち、該キャッシュサーバを２階層より下のキャッシュサーバに変更する。
【発明の効果】
【００２５】
本発明によれば、コンテンツ配信元であるコンテンツサーバが複数の場合であっても、すなわち各キャッシュサーバが異なる管理者に管理されている場合であっても、それぞれのキャッシュサーバに負荷を分散させることにより、各キャッシュサーバの負荷に応じて動的に論理的なネットワーク構成の変更を可能とし、より大規模なネットワークシステムの実現を可能とする。
【００２６】
また、本発明によれば、各キャッシュサーバの負荷を分散させることにより、ネットワーク上を流れる通信量を全体的に削減することが可能となる。
【発明を実施するための最良の形態】
【００２７】
以下、図面に基づいて本発明を適用した実施の形態を説明する。
図２は、本発明の概要を説明するための図である。
図２の（Ａ）において、ＣＤＮ１０は、例えばｎ台のコンテンツサーバ２０とｍ台のキャッシュサーバ３０と複数のクライアント４０とから構成され、コンテンツサーバ２０を頂点にして、キャッシュサーバ３０がコンテンツサーバ２０の下位に接続され、そのキャッシュサーバ３０の下位にクライアント４０が接続されている。また、図２の（Ｂ）に示したように、ＣＤＮ１０は、あるキャッシュサーバ３０Ａの下位に別のキャッシュサーバ３０Ｂが接続されるネットワーク構成も採り得る。
【００２８】
例えば図２（Ｂ）のように、キャッシュサーバ３０Ｂがキャッシュサーバ３０Ａの下位に接続されていることによりキャッシュサーバ３０Ａの負荷が大きい場合、キャッシュサーバ３０Ａは、負荷の原因であるキャッシュサーバ３０Ｂの接続を切替えるように上位のコンテンツサーバ２０に対して要求する。そして、コンテンツサーバ２０がキャッシュサーバ３０Ｂの接続先を探し出し、図２（Ａ）のようなネットワーク構成となる。また、その逆も可能であり、図２（Ａ）のようなＣＤＮ１０と図２（Ｂ）のようなＣＤＮ１０との間で、相互にネットワーク構成の変更が行うことができる。
【００２９】
図３は、本発明を適用したネットワーク構成の例を示す図である。
図３において、コンテンツ配信ネットワーク（ＣＤＮ）１０は、コンテンツを備えるコンテンツサーバ２０と、コンテンツサーバ２０のコンテンツの少なくとも一部をキャッシュするキャッシュサーバ３０と、コンテンツサーバ２０が備えるコンテンツを参照するクライアント（コンテンツ参照元）４０と、コンテンツをコンテンツサーバ２０に登録および更新するためのコンテンツ登録アプリケーション２５から構成される。なお、クライアント４０は、従来の一般的な機能を有しており、コンテンツ登録アプリケーション２５は、コンテンツサーバ２０自身に搭載されていても良く、その場合は内部的にコンテンツの登録および更新が行われる。
【００３０】
図４は、コンテンツサーバの機能構成例を示す図である。
図４において、コンテンツサーバ２０は、通信管理部２１と、キャッシュ制御部２２と、コンテンツ管理部２３と、キャッシュサーバ情報・負荷管理部２４とを備えている。
【００３１】
通信管理部２１は、キャッシュサーバ３０等の他の装置からコンテンツサーバ２０宛の通信を受信し、処理内容によって必要な各部に要求を振り分ける。例えばキャッシュ関連のメッセージを受信したのであれば、キャッシュ制御部２２にその受信した内容を渡す。キャッシュサーバ３０から接続先を変更するように要求があった場合には、接続可能な他のキャッシュサーバ３０を検索し、該他のキャッシュサーバ３０に接続先の変更要求を送信する。また各部からの要求を受け、その要求に対応するメッセージを他の装置へ送信する。例えばキャッシュサーバ３０に対してキャッシュの更新を要求するメッセージを送信する。
【００３２】
キャッシュ制御部２２は、各部からの要求を契機にしてそれぞれの場合で必要な処理を決定し、各部の処理を振り分ける。コンテンツ管理部２３は、キャッシュするコンテンツを保持および管理する。キャッシュサーバ情報・負荷管理部２４は、コンテンツをキャッシュしているキャッシュサーバ３０のキャッシュサーバ情報を保持および管理し、ファイルの提供による負荷を管理する。
【００３３】
図５は、キャッシュサーバの機能構成例を示す図である。
図５において、キャッシュサーバ３０は、通信管理部３１と、キャッシュ制御部３２と、キャッシュ・接続先決定部３３と、キャッシュ情報・負荷管理部３４と、コンテンツサーバ・上位キャッシュサーバ情報管理部３５とを備えている。
【００３４】
通信管理部３１は、コンテンツサーバ２０または他のキャッシュサーバ３０等の他の装置からキャッシュサーバ３０宛の通信を受信し、処理の内容によって必要な各部に要求を振り分ける。例えばキャッシュ関連のメッセージであれば、キャッシュ制御部３２にその受信した要求を渡す。また各部からの要求を受け、その要求に対応するメッセージを他の装置へ送信する。例えばコンテンツサーバ２０または他のキャッシュサーバ３０に対してキャッシュの更新を要求するメッセージを送信したり、コンテンツサーバ２０に対して自らのキャッシュを取得しているキャッシュサーバ３０の接続先の切り替えを要求するメッセージを送信したりする。
【００３５】
キャッシュ制御部３２は、各部からの要求を契機にしてそれぞれの場合で必要な処理を決定し、各部の処理を振り分ける。キャッシュ・接続先決定部３３は、クライアント４０または他のキャッシュサーバ３０からの要求に基づいて、キャッシュするコンテンツおよび接続先（取得先）とその属性を決定または変更する。キャッシュ情報・負荷管理部３４は、キャッシュするコンテンツおよびそれを要求するクライアント４０または他のキャッシュサーバ３０のキャッシュサーバ情報を保持および管理し、ファイル提供による負荷を管理することにより自らの負荷を監視し、負荷が高い場合は自らのキャッシュを定期的に取得している他のキャッシュサーバ３０の一部に対して、別のキャッシュサーバ３０に取得しに行くよう指示をする。
【００３６】
コンテンツサーバ・上位キャッシュサーバ情報管理部３５は、キャッシュするコンテンツおよびその原本を持つコンテンツサーバ２０またはコンテンツ取得先の上位のキャッシュサーバ３０のキャッシュサーバ情報を保持および管理し、さらにコンテンツ取得先が上位のキャッシュサーバ３０の場合は、その接続先のキャッシュサーバ３０のキャッシュサーバ情報も保持および管理し、そのファイル取得による負荷を管理する。
【００３７】
次に、図６乃至図２６を用いて、本発明を適用したコンテンツ配信ネットワークの動作例を説明する。
図６は、本発明を適用した動作例を説明するためのコンテンツ配信ネットワークを示す図である。
【００３８】
図６において、コンテンツ配信ネットワーク（ＣＤＮ）７０は、コンテンツサーバ５０をルート（第１層目）とし、コンテンツサーバ５０の直ぐ下位（コンテンツサーバ５０の１階層下）にキャッシュサーバＡ６１、キャッシュサーバＢ６２およびキャッシュサーバＧ６７が接続され、キャッシュサーバＡ６１の直ぐ下位（コンテンツサーバ５０の２階層下）にキャッシュサーバＣ６３およびキャッシュサーバＤ６４が接続され、キャッシュサーバＢ６２の直ぐ下位（コンテンツサーバ５０の２階層下）にキャッシュサーバＥ６５およびキャッシュサーバＦ６６が接続されている。なお、これらのキャッシュサーバＡ６１乃至キャッシュサーバＧ６７には通常それぞれいくつかの不図示のクライアントが接続されている。
【００３９】
これらのキャッシュサーバＡ６１乃至キャッシュサーバＧ６７は、クライアントからの要求に応じてコンテンツサーバ５０上のコンテンツをキャッシュして前記クライアントに配信する。そして、キャッシュサーバＡ６１乃至キャッシュサーバＧ６７のそれぞれは、負荷計測部と、過負荷判断部と、接続先検索要求情報送信部と、接続先情報受信部と、切替要求送信部とを備える。
【００４０】
負荷計測部は、例えばキャッシュサーバＡ６１の下位に接続されたキャッシュサーバＣ６３がキャッシュサーバＡ６１にキャッシュされているコンテンツをキャッシュすることによるキャッシュサーバＡ６１の負荷を計測する。過負荷判断部は、前記負荷計測部によって計測した負荷が予め定められた値と比較することにより過負荷であるか否かを判断する。
【００４１】
ここで、前記キャッシュサーバＡ６１の負荷は、前記負荷の原因となっているキャッシュサーバＣ６３に対してアクセス要求されるコンテンツサイズの大きさに基づいて計測してもよいし、キャッシュサーバＣ６３に対してアクセス要求するクライアントの数に基づいて計測してもよい。また、キャッシュサーバＣ６３に対するアクセスの頻度に基づいて計測してもよいし、キャッシュサーバＡ６１がキャッシュするコンテンツとキャッシュサーバＣ６３およびキャッシュサーバＤ６４がキャッシュするコンテンツとの重複度合に基づいて計測してもよい。この重複度合に基づく負荷の計測は、例えばキャッシュサーバＡ６１に下位にはキャッシュサーバＣ６３のみが接続されている場合であって、キャッシュサーバＡ６１がキャッシュするコンテンツとキャッシュサーバＣ６３がキャッシュするコンテンツとが同一のコンテンツをキャッシュする場合、すなわち上下関係にあるキャッシュサーバＡ６１とキャッシュサーバＣ６３がキャッシュするコンテンツが重複している場合、キャッシュサーバＣ６３の存在意義がなくなってしまうことに由来している。
【００４２】
接続先検索要求情報送信部は、前記過負荷判断部によって前記負荷が過負荷であると判断された場合、前記コンテンツサーバ５０または他のキャッシュサーバＤ６４に対して、前記負荷の原因となっているキャッシュサーバＣ６３の接続先を検索するように要求するための接続先検索要求情報を送信する。この際、コンテンツサーバ５０への送信あるいは他のキャッシュサーバＤ６４への送信は、予め定められた順に行われる。例えば、階層的に構成されるコンテンツ配送ネットワーク７０の上位の前記コンテンツサーバ５０から順に前記接続先検索要求情報を送信する。なお、接続先検索要求情報の送信の際には、接続先検索要求情報とともに負荷の原因となっているキャッシュサーバＣ６３に関する情報も送信してもよい。
【００４３】
そして、接続先情報受信部は、前記接続先検索要求情報送信部によって前記接続先検索要求情報を送信した送信先の前記コンテンツサーバ５０から、前記コンテンツサーバ５０によって検索された接続先を示す接続先情報、例えばキャッシュサーバＢ６２に接続可能であることを示す情報を受信する。切替要求送信部は、キャッシュサーバＣ６３に対して、前記接続先情報受信部によって受信した接続先情報に基づいて、前記接続先情報に示された接続先（キャッシュサーバＢ６２）に接続を切替えるように要求する切替要求情報を送信する。
【００４４】
すると、キャッシュサーバＣ６３は、接続先をキャッシュサーバＡ６１からキャッシュサーバＢ６２に切替える。
また、コンテンツサーバ５０は、接続先検索要求情報受信部と、接続先検索要求情報転送部と、接続先可否判断結果受信部と、接続先判断部と、接続先可否判断結果送信部とを備える。
【００４５】
接続先検索要求情報受信部は、キャッシュサーバＡ６１から、負荷の原因となっているキャッシュサーバＣ６３の接続先を検索するように要求するための接続先検索要求情報を受信する。接続先検索要求情報転送部は、前記接続先検索要求情報受信部によって接続先検索要求情報を受信することにより、前記接続先検索要求情報を前記コンテンツサーバ５０の下位に接続された他のキャッシュサーバＢ６２へ転送する。
【００４６】
接続先可否判断結果受信部は、前記接続先検索要求情報を転送した転送先である前記他のキャッシュサーバＢ６２からキャッシュサーバＣ６３の接続先としての可否を示す接続先可否判断結果を受信する。接続先判断部は、前記接続先可否判断結果受信部によって受信した接続先可否判断結果が全てキャッシュサーバＣ６３の接続先として不可を示す接続先可否判断結果であった場合、前記サーバの負荷に基づいて、前記サーバが前記負荷原因キャッシュサーバの接続先として可能か否かの可否を判断する。
【００４７】
接続先可否判断結果送信部は、前記キャッシュサーバに対して、前記接続先判断部によって判断された接続先としての可否を示す接続先可否判断結果を送信する。
また、コンテンツサーバ５０から接続先を検索するよう依頼された他のキャッシュサーバＢ６２は、接続先検索要求情報受信部と、接続先判断部と、接続先検索要求情報転送部と、接続先可否判断結果送信部とを備える。
【００４８】
接続先検索要求情報受信部は、コンテンツサーバ５０から、前記キャッシュサーバＡ６１の負荷の原因となっているキャッシュサーバＣ６３の接続先を検索するように要求するための接続先検索要求情報を受信する。接続先判断部は、前記接続先検索要求情報受信部によって接続先検索要求情報を受信することにより、キャッシュサーバＢ６２自身の負荷に基づいて、キャッシュサーバＣ６３の接続先としての可否を判断する。ここで、キャッシュサーバＢ６２自身の負荷とは、基本的には上述のキャッシュサーバＡ６１の負荷と同様の基準で計測され、キャッシュサーバＣ６３を接続した場合に過負荷とならないか否かを判断することにより、接続先としての可否を判断する。
【００４９】
接続先検索要求情報転送部は、前記接続先判断部によって判断された接続先としての可否を示す接続先可否判断結果がキャッシュサーバＣ６３の接続先として不可を示す接続先可否判断結果であった場合（キャッシュサーバＣ６３を接続することにより過負荷となると判断した場合）、前記接続先検索要求情報を前記キャッシュサーバＢ６２の下位に接続された他のキャッシュサーバＥ６５あるいはキャッシュサーバＦ６６へ予め定められた順に転送する。
【００５０】
そして、接続先可否判断結果送信部は、前記接続先検索要求情報を送信してきたコンテンツサーバ５０に対して、前記接続先判断部によって判断された接続先としての可否を示す接続先可否判断結果を送信する。
【００５１】
図７は、最上階層のキャッシュサーバの負荷の増大により、２階層より下位のキャッシュサーバの接続先を他のキャッシュサーバに切替える動作例を示す図である。
また、図８は、接続先切替要求メッセージに含まれる情報の例を示す図であり、図９は、接続先切替応答メッセージに含まれる情報の例を示す図である。これらのメッセージは切替先を検索するキャッシュサーバまたはコンテンツサーバが、切替先の候補に接続の可否を問合せる際に送受信するメッセージである。
【００５２】
また、図１０は、切替先通知メッセージに含まれる情報の例を示す図であり、図１１は、切替先応答メッセージに含まれる情報の例を示す図である。これらのメッセージはコンテンツサーバまたはキャッシュサーバが、切替先の決定したキャッシュサーバにその情報を伝える際に送受信するメッセージである。
【００５３】
また、図１２は、接続要求メッセージに含まれる情報の例を示す図であり、図１３は、接続応答メッセージに含まれる情報の例を示す図である。これらのメッセージは切替先を知ったキャッシュサーバが切替先に接続する際に送受信するメッセージである。
【００５４】
まず、図７の親キャッシュサーバＡ６１（最上階層キャッシュサーバ）がキャッシュサーバＡ６１自身の負荷の増大を検知すると、キャッシュサーバＡ６１は、キャッシュサーバＡ６１の直ぐ上位に接続しているコンテンツサーバ５０に対して負荷の原因である子キャッシュサーバＣ６３の接続先検索要求を送信する。この際、必要があればキャッシュサーバ主導のコンテンツ更新に変更する。
【００５５】
次に、コンテンツサーバ５０はコンテンツサーバ５０自身に接続するキャッシュサーバの中で、子キャッシュサーバＣ６３にとって最適な切替先キャッシュサーバを検索する。ここでは、図６を用いて説明した判断手法によりキャッシュサーバＢ６２が切替先として検索され、子キャッシュサーバ接続切替要求（図８参照）をそのキャッシュサーバＢ６２に対して送信する。
【００５６】
すると、接続先に選ばれた親キャッシュサーバＢ６２（最上階層キャッシュサーバ）は自身の負荷状態をチェックし、接続可能であれば、応答をコンテンツサーバ５０に返信する（図９参照）。
【００５７】
次に、応答を受信したコンテンツサーバ５０は切替先の親キャッシュサーバＢ６２に関する情報（図１０参照）を親キャッシュサーバＡ６１に対して送信する。
次に、親キャッシュサーバＡ６１は切替先の親キャッシュサーバＢ６２に関する情報（図１０参照）を子キャッシュサーバＣ６３に対して送信する。
【００５８】
次に、子キャッシュサーバＣ６３は親キャッシュサーバＡ６１に対して応答（図１１参照）を返し、キャッシュサーバＣ６３自身の接続キャッシュサーバ情報を更新する。また、親キャッシュサーバＢ６２に対して接続要求（図１２参照）を送信する。
【００５９】
次に、応答（図１１参照）を受信した親キャッシュサーバＡ６３は接続キャッシュサーバ情報を更新する。
そして、接続要求（図１２参照）を受信した親キャッシュサーバＢ６２は応答（図１３参照）を返し、自身の接続キャッシュサーバ情報を更新する。
【００６０】
最後に、子キャッシュサーバＣ６３は、応答（図１３参照）受信後にキャッシュサーバＣ６３自身の接続キャッシュサーバ情報を更新する。
図１４は、最上階層キャッシュサーバの負荷増大により、２階層より下のキャッシュサーバの接続先を他の２階層より下のキャッシュサーバに切替える動作例を示す図である。
【００６１】
図１５は、接続先検索要求メッセージに含まれる情報の例を示す図であり、図１６は、接続先検索応答メッセージに含まれる情報の例を示す図である。これらのメッセージは切替先を検索するキャッシュサーバまたはコンテンツサーバが、切替先の候補を他のサーバに問合せる際に送受信するメッセージである。
【００６２】
まず、図１４の親キャッシュサーバＡ６１（最上階層キャッシュサーバ）がキャッシュサーバＡ６１自身の負荷の増大を検知すると、キャッシュサーバＡ６１は、キャッシュサーバＡ６１の直ぐ上位に接続しているコンテンツサーバ５０に対して負荷の原因である子キャッシュサーバＣ６３の接続先検索要求を送信する。この際、必要があればキャッシュサーバ主導のコンテンツ更新に変更する。
【００６３】
次に、コンテンツサーバ５０はコンテンツサーバ５０自身に接続するキャッシュサーバの中で、子キャッシュサーバＣ６３にとって最適な切替先キャッシュサーバを検索しようとする。ここでは、図６を用いて説明した判断手法により適切な切替先キャッシュサーバが検索できない。
【００６４】
そこで、コンテンツサーバ５０は、コンテンツサーバ５０の下位に接続されているキャッシュサーバＢ６２に対して、キャッシュサーバＢ６２に接続するキャッシュサーバの中で、子キャッシュサーバＣ６３にとって最適な切替先キャッシュサーバを検索する。ここでは、図６を用いて説明した判断手法によりキャッシュサーバＥ６５が切替先として検索され、子キャッシュサーバ接続切替要求（図１５参照）をそのキャッシュサーバＥ６５に対して転送する。
【００６５】
次に、子キャッシュサーバ接続切替要求を受信した子キャッシュサーバＥ６５は、キャッシュサーバＥ６５自身の負荷状態をチェックし、接続可能であれば、応答を親キャッシュサーバＢ６２に返信する（図１６参照）。
【００６６】
次に、応答を受信した親キャッシュサーバＢ６２は、切替先キャッシュサーバ通知（子キャッシュサーバＥ６５に関する情報）をコンテンツサーバ５０に送信する。
次に、コンテンツサーバ５０は切替先キャッシュサーバ通知（子キャッシュサーバＥ６５に関する情報）を親キャッシュサーバＡ６１に対して送信する（図１０参照）。
【００６７】
次に、親キャッシュサーバＡ６１は切替先の子キャッシュサーバＥ６６に関する情報（図１０参照）を子キャッシュサーバＣ６３に対して送信する。
次に、子キャッシュサーバＣ６３は親キャッシュサーバＡ６１に対して応答（図１１参照）を返し、キャッシュサーバＣ６３自身の接続キャッシュサーバ情報を更新する。また、子キャッシュサーバＥ６５に対して接続要求（図１２参照）を送信する。
【００６８】
次に、応答（図１１参照）を受信した親キャッシュサーバＡ６３は接続キャッシュサーバ情報を更新する。
そして、接続要求（図１２参照）を受信した親キャッシュサーバＥ６５は応答（図１３参照）を返し、自身の接続キャッシュサーバ情報を更新する。
【００６９】
最後に、子キャッシュサーバＣ６３は、応答（図１３参照）受信後にキャッシュサーバＣ６３自身の接続キャッシュサーバ情報を更新する。
図１７は、最上階層キャッシュサーバの負荷増大により、２階層より下のキャッシュサーバの接続先を他の２階層より下のキャッシュサーバに切替える動作例を示す図である。
【００７０】
まず、親キャッシュサーバＡ６１（最上階層キャッシュサーバ）がキャッシュサーバＡ６１自身の負荷の増大を検知すると、親キャッシュサーバＡ６１は、キャッシュサーバＡ６１自身に接続するキャッシュサーバの中で、子キャッシュサーバＣ６３にとって最適な切替先キャッシュサーバを検索する。ここでは、キャッシュサーバＤ６４が検索され、キャッシュサーバＡ６１は子キャッシュサーバ接続切替要求（図８参照）をそのキャッシュサーバＤ６４に対して送信する。この際、必要あればキャッシュサーバ主導のコンテンツ更新に変更する。
【００７１】
次に、接続先に選ばれた子キャッシュサーバＤ６４は子キャッシュサーバ接続切替要求（図８参照）を受信し、キャッシュサーバＤ６４の負荷状態をチェックして、接続可能であれば応答（図９参照）を親キャッシュサーバＡ６１に返信する。
【００７２】
次に、応答を受信した親キャッシュサーバＡ６１は切替先キャッシュサーバ通知（子キャッシュサーバＤ６４に関する情報）をキャッシュサーバＡ６１の負荷の原因となっている子キャッシュサーバＣ６３に対して送信する（図１０参照）。
【００７３】
次に、子キャッシュサーバＣ６３は、親キャッシュサーバＡ６１に対して応答を返し（図１１参照）、キャッシュサーバＣ６３自身の接続キャッシュサーバ情報を更新する。また、子キャッシュサーバＤ６４に対して接続要求を送信する（図１２参照）。
【００７４】
次に、応答を受信した親キャッシュサーバＡ６１は接続キャッシュサーバ情報を更新する。
そして、接続要求を受信した子キャッシュサーバＤ６４は応答（図１３参照）を返し、キャッシュサーバＤ６４自身の接続キャッシュサーバ情報を更新する。
【００７５】
最後に、子キャッシュサーバＣ６３は、応答受信後にキャッシュサーバＣ６３自身の接続キャッシュサーバ情報を更新する。
図１８は、最上階層キャッシュサーバの負荷増大により、２階層より下のキャッシュサーバの接続先をコンテンツサーバに切替える動作例を示す図である。
【００７６】
まず、親キャッシュサーバＡ６１（最上階層キャッシュサーバ）は負荷の増大を検知すると、子キャッシュサーバ接続切替要求を接続するコンテンツサーバ５０に対して送信する。このとき、必要あればキャッシュサーバ主導のコンテンツ更新に変更する。
【００７７】
次に、コンテンツサーバ５０は自身の負荷を参照し、接続可であればその旨を親キャッシュサーバＡ６１に応答する。
次に、親キャッシュサーバＡ６１は切替先キャッシュサーバ通知（コンテンツサーバ５０に関する情報）を子キャッシュサーバＣ６３に対して送信する。
【００７８】
次に、子キャッシュサーバＣ６３は親キャッシュサーバＡ６１に対して応答を返し、自身の接続キャッシュサーバ情報を更新する。また、コンテンツサーバ５０に対して接続要求を送信する。
【００７９】
次に、応答を受信した親キャッシュサーバＡ６１は接続キャッシュサーバ情報を更新する。
そして、接続要求を受信したコンテンツサーバは５０応答を返し、自身の接続キャッシュサーバ情報を更新する。
【００８０】
最後に、子キャッシュサーバＣ６３は、応答受信後自身の接続キャッシュサーバ情報を更新する。
図１９は、親キャッシュサーバと子キャッシュサーバ間の重複キャッシュコンテンツの減少により、接続が切替わる場合の動作例を示す図である。
【００８１】
まず、子キャッシュサーバＣ６３と親キャッシュサーバＡ６１は定期的にキャッシュしているコンテンツの同期を行う。
次に、子キャッシュサーバＣ６３は、要求コンテンツの変化を親キャッシュサーバＡ６１に通知する。
【００８２】
次に、親キャッシュサーバＡ６１は子キャッシュサーバＣ６３と重複してキャッシュしているコンテンツの減少を検知すると、子キャッシュサーバ接続先検索要求を接続するコンテンツサーバ５０に対して送信する。
【００８３】
次に、コンテンツサーバ５０はコンテンツサーバ５０自身に接続するキャッシュサーバの中で、子キャッシュサーバＣ６３にとって最適な切替先キャッシュサーバを検索し、子キャッシュサーバ接続切替要求をその検索されたキャッシュサーバＢ６２に対して送信する。
【００８４】
次に、切替先に選ばれた親キャッシュサーバＢ６２は自身の負荷状態をチェックし、接続可能であれば、応答をコンテンツサーバ５０に送信する。
次に、応答を受信したコンテンツサーバ５０は切替先キャッシュサーバ通知（親キャッシュサーバＢ６２に関する情報）を親キャッシュサーバＡ６１に対して送信する。
【００８５】
次に、親キャッシュサーバＡ６１は切替先キャッシュサーバ通知（親キャッシュサーバＢ６２に関する情報）を子キャッシュサーバＣ６３に対して送信する。
次に、子キャッシュサーバＣ６３は親キャッシュサーバＡ６１に対して応答を返信し、自身の接続キャッシュサーバ情報を更新する。また、親キャッシュサーバＢ６２に対して接続要求を送信する。
【００８６】
次に、応答を受信した親キャッシュサーバＡ６１は接続キャッシュサーバ情報を更新する。
そして、接続要求を受信した親キャッシュサーバＢ６２は応答を返信し、自身の接続キャッシュサーバ情報を更新する。
【００８７】
最後に、子キャッシュサーバＣ６３は、応答受信後にキャッシュサーバＣ６３自身の接続キャッシュサーバ情報を更新する。
図２０は、キャッシュするコンテンツの重複が大きいキャッシュサーバとの切替要求をコンテンツサーバから受けた場合の動作例を示す図である。
【００８８】
まず、親キャッシュサーバＡ６１がコンテンツサーバ５０に対して子キャッシュサーバ接続先検索要求を送信する。
次に、コンテンツサーバ５０は自身に接続するキャッシュサーバの中で、子キャッシュサーバＣ６３にとって最適な切替先キャッシュサーバを検索し、子キャッシュサーバ接続切替要求をその検索されたキャッシュサーバＢ６２に対して送信する。
【００８９】
次に、切替先に選ばれた親キャッシュサーバＢ６２は自身の負荷状態をチェックする。この際、負荷が大きい場合でも接続要求を受けた子キャッシュサーバＣ６３との間でキャッシュしたコンテンツの重複が大きい場合は、この子キャッシュサーバＣ６３と接続し、キャッシュしたコンテンツの重複が小さい子キャッシュサーバＥ６５を切替える。そのため、コンテンツサーバ５０に対して応答を返す。
【００９０】
次に、応答を受信したコンテンツサーバ５０は切替先キャッシュサーバ通知（親キャッシュサーバＢ６２に関する情報）を親キャッシュサーバＡ６１に対して送信する。
次に、親キャッシュサーバＡ６１は切替先キャッシュサーバ通知（親キャッシュサーバＢ６２に関する情報）を子キャッシュサーバＣ６３に対して送信する。
【００９１】
次に、子キャッシュサーバＣ６３は親キャッシュサーバＡ６１に対して応答を返し、自身の接続キャッシュサーバ情報を更新する。また、親キャッシュサーバＢ６２に対して接続要求を送信する。
【００９２】
次に、応答を受信した親キャッシュサーバＡ６１は接続キャッシュサーバ情報を更新する。
次に、接続要求を受信した親キャッシュサーバＢ６２は応答を返し、自身の接続キャッシュサーバ情報を更新する。
【００９３】
次に、子キャッシュサーバＣ６３は、応答受信後にキャッシュサーバＣ６３自身の接続キャッシュサーバ情報を更新する。
次に、次に親キャッシュサーバＢ６２の負荷が増大するので、親キャッシュサーバＢ６２はコンテンツサーバ５０に対して子キャッシュサーバ接続先検索要求を送信する。
【００９４】
次に、コンテンツサーバ５０は自身に接続するキャッシュサーバの中で、子キャッシュサーバＥ６５にとって最適な切替先キャッシュサーバを検索し、子キャッシュサーバ接続切替要求をその検索されたキャッシュサーバＧ６７に対して送信する。
【００９５】
次に、切替先に選ばれた親キャッシュサーバＧ６７は自身の負荷状態をチェックし、接続可能であれば、応答をコンテンツサーバ５０に送信する。
次に、応答を受信したコンテンツサーバ５０は切替先キャッシュサーバ通知（親キャッシュサーバＧに関する情報）を親キャッシュサーバＢ６２に対して送信する。
【００９６】
次に、親キャッシュサーバＢ６２は切替先キャッシュサーバ通知（親キャッシュサーバＧに関する情報）を子キャッシュサーバＥ６５に対して送信する。
次に、子キャッシュサーバＥ６５は親キャッシュサーバＢ６２に対して応答を返し、自身の接続キャッシュサーバ情報を更新する。また、親キャッシュサーバＧ６７に対して接続要求を送信する。
【００９７】
次に、応答を受信した親キャッシュサーバＢ６２は接続キャッシュサーバ情報を更新する。
そして、接続要求を受信した親キャッシュサーバＧ６７は応答を返し、自身の接続キャッシュサーバ情報を更新する。
【００９８】
最後に、子キャッシュサーバＥ６５は、応答受信後にキャッシュサーバＥ６５自身の接続キャッシュサーバ情報を更新する。
図２１は、子キャッシュサーバの要求するコンテンツ量が相対的に増大し、子キャッシュサーバを直接コンテンツサーバに接続する場合の接続先切り替え動作例を示す図である。
【００９９】
まず、子キャッシュサーバＣ６３が要求するコンテンツが増大する、もしくは親キャッシュサーバＡ６１が要求するコンテンツが減少する際に親キャッシュサーバＡ６１が子キャッシュサーバＣ６３の相対的なコンテンツ要求量の増大を検知する。
【０１００】
次に、親キャッシュサーバＡ６１は、増大を検知した子キャッシュサーバＣ６３をコンテンツサーバ５０に直接接続するように、子キャッシュサーバ接続要求をコンテンツサーバ５０に対して送信する。
【０１０１】
次に、コンテンツサーバ５０は自身の負荷状態をチェックし、子キャッシュサーバＣ６３の接続が可能であれば親キャッシュサーバＡ６１に対して応答を返信する。
次に、親キャッシュサーバＡ６１は子キャッシュサーバＣ６３がコンテンツサーバ５０に接続するように、接続先サーバ切替要求を子キャッシュサーバＣ６３に対して送信する。
【０１０２】
次に、子キャッシュサーバＣ６３は親キャッシュサーバＡ６１に対して応答を返信すると同時に、自信の接続キャッシュサーバ情報を更新し、さらにコンテンツサーバ５０に対して接続要求を送信する。
【０１０３】
そして、接続要求を受信したコンテンツサーバ５０は子キャッシュサーバＣ６３に対して応答を返信すると同時に自身の接続キャッシュサーバ情報を更新する。
最後に、応答を受信した子キャッシュサーバＣ６３は自身の接続キャッシュサーバ情報を更新する。
【０１０４】
図２２は、子キャッシュサーバの要求するコンテンツ量が相対的に増大し、子キャッシュサーバの接続を他のキャッシュサーバに切替える場合接続先切り替え動作例を示す図である。
【０１０５】
まず、子キャッシュサーバＣ６３が要求するコンテンツが増大する、もしくは親キャッシュサーバＡ６１が要求するコンテンツが減少するときに親キャッシュサーバＡ６１が子キャッシュサーバＣ６３の相対的なコンテンツ要求量の増大を検知する。
【０１０６】
次に、親キャッシュサーバＡ６１は子キャッシュサーバ切替要求を接続するコンテンツサーバ５０に対して送信する。
次に、コンテンツサーバ５０は自身に接続するキャッシュサーバの中で、子キャッシュサーバＣ６３にとって最適な切替先キャッシュサーバを検索し、子キャッシュサーバ接続要求をその検索されたキャッシュサーバＢ６２に対して送信する。
【０１０７】
次に、接続先に選ばれた親キャッシュサーバＢ６２は自身の負荷状態をチェックし、接続可能であれば、応答をコンテンツサーバ５０に返信する。
次に、応答を受信したコンテンツサーバ５０は親キャッシュサーバＢ６２の情報を親キャッシュサーバＡ６１に対して送信する。
【０１０８】
次に、親キャッシュサーバＡ６１は親キャッシュサーバＢ６２に関する情報を子キャッシュサーバＣ６３に対して送信する。
次に、子キャッシュサーバＣ６３は親キャッシュサーバＡ６１に対して応答を返し、自身の接続キャッシュサーバ情報を更新する。また、親キャッシュサーバＢ６２に対して接続要求を送信する。
【０１０９】
次に、応答を受信した親キャッシュサーバＡ６１は接続キャッシュサーバ情報を更新する。
そして、接続要求を受信した親キャッシュサーバＢ６２は応答を返し、自身の接続キャッシュサーバ情報を更新する。
【０１１０】
最後に、子キャッシュサーバＣ６３は、応答受信後にキャッシュサーバＣ６３自身の接続キャッシュサーバ情報を更新する。
図２３は、親キャッシュサーバに障害が発生し、キャッシュサーバの接続先を変更する場合の動作を示す図である。
【０１１１】
まず、親キャッシュサーバＡ６１に障害が発生し、停止する。
次に、停止した親キャッシュサーバＡ６１に接続していた全ての子キャッシュサーバＣ６２および子キャッシュサーバＤ６３はコンテンツサーバ５０に対して接続要求を送信する。
【０１１２】
次に、コンテンツサーバ５０は最初の接続要求（例えばキャッシュサーバＣからの接続要求）を受信すると、コンテンツサーバ５０自身の負荷状態をチェックし、さらに親キャッシュサーバＡ６１の状態をチェックする。親キャッシュサーバＡ６１の停止により、子キャッシュサーバＣ６３に対して応答を返信し、接続キャッシュサーバ情報を更新する。
【０１１３】
次に、応答を受信した子キャッシュサーバＣ６３は接続キャッシュサーバ情報を更新する。
次に、コンテンツサーバ５０はその後受信する接続要求（キャッシュサーバＤ６４からの接続要求）に対しては接続先サーバとして最初に接続した子キャッシュサーバＣ６３に関する情報を通知する。
【０１１４】
次に、通知を受信した子キャッシュサーバＤ６４は子キャッシュサーバＣ６３に対して接続要求を送信する。
そして、接続要求を受信した子キャッシュサーバＣ６３は応答を返信し、接続キャッシュサーバ情報を更新する。
【０１１５】
最後、応答を受信した子キャッシュサーバＤ６４はそれぞれ自身の接続キャッシュサーバ情報を更新する。
なお、他の子キャッシュサーバが存在している場合は、他の全ての子キャッシュサーバに対して同様の処理を実行する。
【０１１６】
図２４は、最上階層キャッシュサーバの接続先を他のキャッシュサーバに切替える動作例を示す図である。
まず、コンテンツサーバ５０は自らの負荷増大を検知し、接続しているキャッシュサーバのうち取得コンテンツが最も重複している２台のキャッシュサーバＡ６１およびキャッシュサーバＢ６２を検索する。
【０１１７】
次に、２台のキャッシュサーバＡ６１およびキャッシュサーバＢ６２うち取得コンテンツが大きな方（例えばキャッシュサーバＡ６１）を上位とし、小さな方（例えばキャッシュサーバＢ６２）を下位とし、コンテンツサーバ５０は上位となるキャッシュサーバＡ６１に対して下位となるキャッシュサーバＢ６２の接続要求を送信する。
【０１１８】
次に、キャッシュサーバＡ６１は接続要求を受信し、自らの負荷をチェックして接続可能であればその旨コンテンツサーバ５０に応答する。
次に、コンテンツサーバ５０は接続先キャッシュサーバ情報を更新し、キャッシュサーバＢ６２に対して接続先変更を通知する。
【０１１９】
そして、キャッシュサーバＢ６２は通知受信後、コンテンツサーバ情報、キャッシュサーバ情報を更新し、キャッシュサーバＡ６１に対して接続要求を送信する。
最後に、キャッシュサーバＡ６１は接続要求を受信すると、キャッシュサーバ情報を更新し、応答を返す。
【０１２０】
図２５は、キャッシュサーバ主導のキャッシュ更新からコンテンツサーバ主導のキャッシュ更新への変更動作例を示す図である。
まず、コンテンツサーバ５０が負荷の増大等のキャッシュ更新動作を変更するべきトリガを検知する。
【０１２１】
次に、コンテンツサーバ５０は、キャッシュ更新動作の変更対象のキャッシュサーバ（例えばキャッシュサーバＡ６１）に対して、キャッシュ更新トリガ変更通知を送信する。
そして、キャッシュ更新トリガ変更通知を受信したキャッシュサーバＡ６１は、キャッシュサーバＡ６１自身の負荷に問題がなければ、変更可の応答をコンテンツサーバ５０に送信する。他方、キャッシュサーバＡ６１自身の負荷に問題があれば、変更不可の応答または配下のキャッシュサーバ（キャッシュサーバＣ６３あるいはキャッシュサーバＤ６４）の接続先を変更の上、変更可の応答をコンテンツサーバ５０に送信する。
【０１２２】
最後に、コンテンツサーバ５０は上記何れかの変更可の応答を受信し、キャッシュ更新トリガの変更を保持する。
図２６は、コンテンツサーバ主導のキャッシュ更新からキャッシュサーバ主導のキャッシュ更新への変更動作例を示す図である。
【０１２３】
まず、例えばキャッシュサーバＡ６１が負荷の増大等のキャッシュ更新動作を変更するべきトリガを検知する。
次に、キャッシュサーバＡ６１はコンテンツサーバ５０に対して、キャッシュ更新トリガ変更通知を送信する。
【０１２４】
そして、キャッシュ更新トリガ変更通知を受信したコンテンツサーバ５０は、コンテンツサーバ５０自身の負荷に問題がなければ、変更可の応答を送信する。他方、コンテンツサーバ５０自身の負荷に問題があれば、変更不可の応答又は配下のキャッシュサーバ（キャッシュサーバＣ６３あるいはキャッシュサーバＤ６４）の接続先を変更の上、変更可の応答をキャッシュサーバＡ６１に送信する。
【０１２５】
最後に、キャッシュサーバＡ６１は上記何れかの変更可の応答を受信し、キャッシュ更新トリガの変更を保持する。
以上、図６乃至図２６を用いて、本発明を適用したコンテンツ配信ネットワークの動作例を説明した。
【０１２６】
次に、図２７乃至図３６を用いて、本発明を適用したキャッシュサーバの動作例を説明する。
図２７は、接続先検索要求受信時のキャッシュサーバの動作例を示す図である。
【０１２７】
まず、通信管理部３１が接続先検索要求を受信すると、通信管理部３１はその接続先検索要求をキャッシュ制御部３２に渡す。
次に、キャッシュ制御部３２はコンテンツサーバ・上位キャッシュサーバ情報管理部３５に問い合わせ、コンテンツサーバ・上位キャッシュサーバ情報管理部３５がデータベース（ＤＢ）を参照することにより、最適な切替先のキャッシュサーバ３０の検索を行う。キャッシュ制御部３２は応答として最適な切替先のキャッシュサーバ３０に関する情報をコンテンツサーバ・上位キャッシュサーバ情報管理部３５から受け取る。
【０１２８】
そして、キャッシュ制御部３２は経路情報を更新し、切替先のキャッシュサーバに関する情報を含む応答を通信管理部３１に渡す。
最後に、通信管理部３１は接続切替要求を切替先のキャッシュサーバ３０に送信する。
【０１２９】
図２８は、接続切替要求受信時のキャッシュサーバの動作例を示す図である。
まず、通信管理部３１が接続切替要求を受信すると、通信管理部３１はその接続切替要求をキャッシュ制御部３２に渡す。
【０１３０】
次に、キャッシュ制御部３２はキャッシュ情報・負荷管理部３４に問い合わせ、キャッシュ情報・負荷管理部３４がデータベース（ＤＢ）を参照することにより、負荷状態のチェックを行う。キャッシュ制御部３２は応答として負荷情報をキャッシュ情報・負荷管理部３４から受け取る。
【０１３１】
そして、キャッシュ制御部３２は経路情報を更新し、応答を通信管理部３１に渡す。
最後に、通信管理部３１は、応答を接続切替要求の送信元であるキャッシュサーバ３０に送信する。
【０１３２】
図２９は、接続切替応答受信時のキャッシュサーバの動作例を示す図である。
まず、通信管理部３１は応答を受信すると、その応答をキャッシュ制御部３２に渡す。
そして、キャッシュ制御部３２は経路情報を更新し、切替先キャッシュサーバ通知を通信管理部３１に渡す。
【０１３３】
最後に、通信管理部３１は、切替先キャッシュサーバ通知を所定のキャッシュサーバ３０に送信する。
図３０は、切替先キャッシュサーバ通知受信時の親キャッシュサーバの動作例を示す図である。
【０１３４】
まず、通信管理部３１は切替先キャッシュサーバ通知を受信すると、その切替先キャッシュサーバ通知をキャッシュ制御部３２に渡す。
そして、キャッシュ制御部３２は経路情報を更新し、接続先キャッシュサーバ通知を通信管理部３１に渡す。
【０１３５】
最後に、通信管理部３１は、切替先キャッシュサーバ通知を所定のキャッシュサーバ３０に送信する。
図３１は、切替先キャッシュサーバ通知受信時の子キャッシュサーバの動作例を示す図である。
【０１３６】
まず、通信管理部３１は切替先キャッシュサーバ通知を受信すると、その切替先キャッシュサーバ通知をキャッシュ制御部３２に渡す。
次に、キャッシュ制御部３２はその応答を通信管理部３１に渡す。
【０１３７】
次に、通信管理部３１は、応答を切替先キャッシュサーバ通知の送信元のキャッシュサーバ３０に送信する。
次に、キャッシュ制御部３２はコンテンツサーバ・上位キャッシュサーバ情報管理部３５に上位キャッシュサーバ情報の更新を指示する。
【０１３８】
次に、コンテンツサーバ・上位キャッシュサーバ情報管理部３５はＤＢ内の上位キャッシュサーバ情報の更新を実行し、キャッシュ制御部３２に応答する。
そして、キャッシュ制御部３２は、経路情報を更新し、接続要求を生成し、通信管理部３１に渡す。
【０１３９】
最後に、通信管理部３１は接続要求を所定のキャッシュサーバ３０に送信する。
図３２は、切替先キャッシュサーバ通知応答受信時のキャッシュサーバの動作例を示す図である。
【０１４０】
まず、通信管理部３１は切替先キャッシュサーバ通知応答を受信すると、その切替先キャッシュサーバ通知応答をキャッシュ制御部３２に渡す。
そして、キャッシュ制御部３２はキャッシュ情報・負荷管理部３２に接続先キャッシュサーバ、負荷情報の更新を指示する。
【０１４１】
最後に、キャッシュ情報・負荷管理部３２は接続先キャッシュサーバ、負荷情報の更新を実行し、キャッシュ制御部３２に応答する。
図３３は、接続要求受信時のキャッシュサーバの動作例を示す図である。
【０１４２】
まず、通信管理部３１は接続要求を受信すると、その接続要求をキャッシュ制御部３２に渡す。
次に、キャッシュ制御部３２はキャッシュ情報・負荷管理部３４に接続キャッシュサーバ、負荷情報の更新を指示する。
【０１４３】
次に、キャッシュ情報・負荷管理部３４はＤＢ内の接続キャッシュサーバ、負荷情報の更新を実行し、キャッシュ制御部３２に応答する。
そして、キャッシュ制御部３２は、応答を生成し、通信管理部３１に渡す。
【０１４４】
最後に、通信管理部３１は応答を要求元のキャッシュサーバ３０に送信する。
図３４は、接続応答受信時のキャッシュサーバの動作例を示す図である。
まず、通信管理部３１は接続応答を受信すると、その接続応答をキャッシュ制御部３２に渡す。
【０１４５】
そして、キャッシュ制御部３２はコンテンツサーバ・上位キャッシュサーバ情報管理部３５に上位キャッシュサーバ情報の更新を指示する。
最後に、コンテンツサーバ・上位キャッシュサーバ情報管理部３５はＤＢ内の上位キャッシュサーバ情報の更新を実行し、キャッシュ制御部３２に応答する。
【０１４６】
図３５は、高負荷時に子キャッシュサーバ接続切替要求を上位のサーバに送信する場合のキャッシュサーバの動作例を示す図である。
まず、キャッシュ情報・負荷管理部３４は高負荷（過負荷）状態を検知すると、高負荷状態であることをキャッシュ制御部３２に通知する。
【０１４７】
次に、キャッシュ制御部３２はコンテンツサーバ・上位キャッシュサーバ情報管理部３５に問い合わせ、コンテンツサーバ・上位キャッシュサーバ情報管理部３５がＤＢを参照することにより要求先キャッシュサーバ３０の検索を行ない、キャッシュ制御部３２に応答する。
【０１４８】
そして、キャッシュ制御部３２は応答として要求先キャッシュサーバ情報を受け取り、接続先検索要求を生成して、要求先キャッシュサーバ情報とともに通信管理部３１に渡す。
【０１４９】
最後に、通信管理部３１は、接続先検索要求を切替要求先のキャッシュサーバ３０に送信する。
図３６は、高負荷時に接続切替要求を子キャッシュサーバに送信する場合のキャッシュサーバの動作例を示す図である。
【０１５０】
まず、キャッシュ情報・負荷管理部３４は高負荷状態を検知すると、高負荷状態であることをキャッシュ制御部３２に通知する。
次に、キャッシュ制御部３２はキャッシュ・接続先決定部３３に問い合わせ、キャッシュ・接続先決定部３３がデータベース（ＤＢ）を参照することにより要求先キャッシュサーバ３０の検索を行ない、キャッシュ制御部３２に応答する。
【０１５１】
そして、キャッシュ制御部３２は応答として要求先サーバ情報を受け取り、子キャッシュサーバ接続切替要求を生成し、要求先サーバ情報とともに通信管理部３１に渡す。
最後に、通信管理部３１は、子キャッシュサーバ接続切替要求を要求先のキャッシュサーバ３０に送信する。
【０１５２】
以上、図２７乃至図３６を用いて、本発明を適用したキャッシュサーバの動作例を説明した。
次に、図３７乃至図４２を用いて、本発明を適用したコンテンツサーバの動作例を説明する。
【０１５３】
図３７は、コンテンツサーバの負荷状況から接続先切替が起こる場合のコンテンツサーバの動作例を示す図である。
まず、キャッシュサーバ情報・負荷管理部２４は、負荷状況等から、コンテンツサーバ２０と接続しているキャッシュサーバ３０のうち接続先を切替えるキャッシュサーバ３０および切替先の２台のキャッシュサーバ３０を選出する。
【０１５４】
次に、キャッシュサーバ情報・負荷管理部２４は、キャッシュ制御部２２に接続先切替通知を送信するように指示する。
そして、キャッシュ制御部２２は接続先切替通知のメッセージを作成し、通信管理部２１に渡す。
【０１５５】
最後に、通信管理部２１は、接続先を切替るキャッシュサーバ３０に対して接続先切替通知を送信する。
図３８は、接続先検索要求受信時のコンテンツサーバの動作例を示す図である。
【０１５６】
まず、通信管理部３１は受信した接続先検索要求をキャッシュ制御部２２に渡す。
そして、キャッシュ制御部２２はキャッシュサーバ情報・負荷管理部２４に問合せ、キャッシュサーバ情報・負荷管理部２４がキャッシュサーバ情報・負荷管理部２４がデータベース（ＤＢ）を検索することにより接続先切替要求の送信先のキャッシュサーバ３０を決定し、キャッシュ制御部２２に応答する。
【０１５７】
最後に、キャッシュ制御部２２は接続先切替要求メッセージを作成し、通信管理部２１を介して所定の宛先のキャッシュサーバ３０に接続先切替要求を送信する。
図３９は、接続先切替要求受信時のコンテンツサーバの動作例を示す図である。
【０１５８】
まず、通信管理部２１は接続先切替要求を受信し、受信した接続先切替要求をキャッシュ制御部２２に渡す。
そして、キャッシュ制御部２２はコンテンツ管理部２３に問合せ、コンテンツ管理部２３が接続の可否を決定してキャッシュ制御部２２に応答する。
【０１５９】
最後に、キャッシュ制御部２２は接続先切替応答メッセージを作成し、通信管理部２１を介して所定の宛先のキャッシュサーバ３０に接続先切替応答を送信する。
図４０は、接続要求受信時のコンテンツサーバの動作例を示す図である。
【０１６０】
まず、通信管理部２１は接続要求を受信し、受信した接続要求をキャッシュ制御部２２に渡す。
次に、キャッシュ制御部２２はキャッシュサーバ情報・負荷管理部２４に情報の更新を指示する。
【０１６１】
そして、キャッシュサーバ情報・負荷管理部２４は情報の更新を実行し、キャッシュ制御部２２に応答する。
最後に、キャッシュ制御部２２は接続応答メッセージを作成し、通信管理部２１を介して所定の宛先のキャッシュサーバ３０に接続応答を送信する。
【０１６２】
図４１は、接続先検索応答受信時のコンテンツサーバの動作例を示す図である。
まず、通信管理部２１は接続先検索応答を受信し、受信した接続先検索応答をキャッシュ制御部２２に渡す。
【０１６３】
次に、キャッシュ制御部２２は必要に応じてキャッシュサーバ情報・負荷管理部２４に情報の更新を指示する。
そして、キャッシュサーバ情報・負荷管理部２４は情報の更新を実行し、キャッシュ制御部２２に応答する。
【０１６４】
最後に、キャッシュ制御部２２は、応答の転送先を受信した接続先検索応答から抽出し、接続先検索応答メッセージを作成し、通信管理部２１を介して所定の宛先のキャッシュサーバ３０に応答を送信する。
【０１６５】
図４２は、接続先切替応答受信時のコンテンツサーバの動作例を示す図である。
まず、通信管理部２１は接続先切替応答を受信し、受信した接続先切替応答をキャッシュ制御部２２に渡す。
【０１６６】
次に、キャッシュ制御部２２は必要に応じてキャッシュサーバ情報・負荷管理部２４に情報の更新を指示する。
そして、キャッシュサーバ情報・負荷管理部２４が情報の更新を実行し、キャッシュ制御部２２に応答する。
【０１６７】
最後に、キャッシュ制御部２２は、応答の転送先を受信した接続先切替応答から抽出し、接続先切替応答メッセージを作成し、通信管理部２１を介して所定の宛先のキャッシュサーバ３０に応答を送信する。
【０１６８】
以上、図３７乃至図４２を用いて、本発明を適用したコンテンツサーバの動作例を説明した。
なお、上述してきた本発明の実施の形態は、キャッシュサーバまたはコンテンツサーバの一機能としてハードウェアまたはＤＳＰボードやＣＰＵボードでのファームウェアもしくはソフトウェアにより実現することができる。
【０１６９】
以上、本発明の実施の形態を、図面を参照しながら説明してきたが、本発明が適用されるキャッシュサーバまたはコンテンツサーバは、その機能が実行されるのであれば、上述の実施の形態に限定されることなく、単体の装置であっても、複数の装置からなるシステムあるいは統合装置であっても、ＬＡＮ、ＷＡＮ等のネットワークを介して処理が行なわれるシステムであってもよいことは言うまでもない。
【０１７０】
また、図４３に示したように、バス４３０９に接続されたＣＰＵ４３０１、ＲＯＭやＲＡＭのメモリ４３０２、入力装置４３０３、出力装置４３０４、外部記録装置４３０５、媒体駆動装置４３０６、ネットワーク接続装置４３０７で構成されるシステムでも実現できる。すなわち、前述してきた実施の形態のシステムを実現するソフトェアのプログラムコードを記録したＲＯＭやＲＡＭのメモリ４３０２、外部記録装置４３０５、可搬記録媒体４３１０を、キャッシュサーバまたはコンテンツサーバに供給し、そのキャッシュサーバまたはコンテンツサーバのコンピュータがプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【０１７１】
この場合、可搬記録媒体４３１０等から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記録した可搬記録媒体４３１０等は本発明を構成することになる。
【０１７２】
プログラムコードを供給するための可搬記録媒体４３１０としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、磁気テープ、不揮発性のメモリーカード、ＲＯＭカード、電子メールやパソコン通信等のネットワーク接続装置４３０７（言い換えれば、通信回線）を介して記録した種々の記録媒体などを用いることができる。
【０１７３】
また、図４４に示すように、コンピュータ（情報処理装置）４４００がメモリ４４０１上に読み出したプログラムコードを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ４４００上で稼動しているＯＳなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現される。
【０１７４】
さらに、可搬型記録媒体４４１０から読み出されたプログラムコードやプログラム（データ）提供者から提供されたプログラム（データ）４４２０が、コンピュータ４４００に挿入された機能拡張ボードやコンピュータ４４００に接続された機能拡張ユニットに備わるメモリ４４０１に書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現され得る。
【０１７５】
すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。ここで、上述した実施の形態の特徴を列挙すると、以下の通りである。
【０１７６】
（付記１）
クライアントからの要求に応じてコンテンツサーバ上のコンテンツをキャッシュして前記クライアントに配信するキャッシュサーバにおいて、
前記キャッシュサーバの下位に接続された負荷原因キャッシュサーバが前記キャッシュサーバにキャッシュされているコンテンツをキャッシュすることによる前記キャッシュサーバの負荷を計測する負荷計測手段と、
前記負荷計測手段によって計測した負荷が予め定められた値と比較することにより過負荷であるか否かを判断する過負荷判断手段と、
前記過負荷判断手段によって前記負荷が過負荷であると判断された場合、前記コンテンツサーバまたは他のキャッシュサーバに対して、前記負荷の原因となっている負荷原因キャッシュサーバの接続先を検索するように要求するための接続先検索要求情報を送信する接続先検索要求情報送信手段と、
前記接続先検索要求情報送信手段によって前記接続先検索要求情報を送信した送信先の前記コンテンツサーバまたは前記他のキャッシュサーバから、前記コンテンツサーバまたは前記他のキャッシュサーバによって検索された接続先を示す接続先情報を受信する接続先情報受信手段と、
前記負荷原因キャッシュサーバに対して、前記接続先情報受信手段によって受信した接続先情報に基づいて、前記接続先情報に示された接続先に接続を切替えるように要求する切替要求情報を送信する切替要求送信手段と、
を備えることを特徴とするキャッシュサーバ。
（付記２）
前記キャッシュサーバの負荷は、前記負荷原因キャッシュサーバに対してアクセス要求されるコンテンツサイズの大きさに基づいて計測することを特徴とする付記１に記載のキャッシュサーバ。
（付記３）
前記キャッシュサーバの負荷は、前記負荷原因キャッシュサーバに対してアクセス要求するクライアントの数に基づいて計測することを特徴とする付記１または２に記載のキャッシュサーバ。
（付記４）
前記キャッシュサーバの負荷は、前記負荷原因キャッシュサーバに対するアクセスの頻度に基づいて計測することを特徴とする付記１乃至３の何れか１項に記載のキャッシュサーバ。
（付記５）
前記キャッシュサーバの負荷は、前記キャッシュサーバがキャッシュするコンテンツと前記負荷原因キャッシュサーバがキャッシュするコンテンツとの重複度合に基づいて計測することを特徴とする付記１乃至４の何れか１項に記載のキャッシュサーバ。
（付記６）
前記接続先検索用要求情報送信手段は、前記キャッシュサーバに接続された前記コンテンツサーバまたは前記他のキャッシュサーバに対して、予め定められた順に前記接続先検索要求情報を送信することを特徴とする付記１乃至５の何れか１項に記載のキャッシュサーバ。
（付記７）
前記接続先検索用要求情報送信手段は、前記キャッシュサーバに接続された前記コンテンツサーバおよび前記他のキャッシュサーバのうち、階層的に構成されるコンテンツ配送ネットワークの上位の前記コンテンツサーバまたは前記他のキャッシュサーバから順に前記接続先検索要求情報を送信することを特徴とする付記６に記載のキャッシュサーバ。
（付記８）
前記接続先検索要求情報送信手段は、前記接続先検索要求情報とともに前記負荷原因キャッシュサーバに関する情報を送信することを特徴とする付記１乃至７の何れか１項に記載のキャッシュサーバ。
（付記９）
付記１乃至８の何れか１項に記載のコンテンツサーバであるサーバにおいて、
付記１乃至８の何れか１項に記載のキャッシュサーバから、前記キャッシュサーバの負荷の原因となっている負荷原因キャッシュサーバの接続先を検索するように要求するための接続先検索要求情報を受信する接続先検索要求情報受信手段と、
前記接続先検索要求情報受信手段によって接続先検索要求情報を受信することにより、前記接続先検索要求情報を前記サーバの下位に接続された他のキャッシュサーバへ転送する接続先検索要求情報転送手段と、
前記接続先検索要求情報を転送した転送先である前記他のキャッシュサーバから前記負荷原因キャッシュサーバの接続先としての可否を示す接続先可否判断結果を受信する接続先可否判断結果受信手段と、
前記接続先可否判断結果受信手段によって受信した接続先可否判断結果が全て前記負荷原因キャッシュサーバの接続先として不可を示す接続先可否判断結果であった場合、前記サーバの負荷に基づいて、前記サーバが前記負荷原因キャッシュサーバの接続先として可能か否かの可否を判断する接続先判断手段と、
前記キャッシュサーバに対して、前記接続先判断手段によって判断された接続先としての可否を示す接続先可否判断結果を送信する接続先可否判断結果送信手段と、
を備えることを特徴とするサーバ。
（付記１０）
付記１乃至８の何れか１項に記載の他のキャッシュサーバであるサーバにおいて、
付記９に記載のコンテンツサーバあるいは付記１乃至８の何れか１項に記載のキャッシュサーバから、前記キャッシュサーバの負荷の原因となっている負荷原因キャッシュサーバの接続先を検索するように要求するための接続先検索要求情報を受信する接続先検索要求情報受信手段と、
前記接続先検索要求情報受信手段によって接続先検索要求情報を受信することにより、前記サーバの負荷に基づいて、前記負荷原因キャッシュサーバの接続先としての可否を判断する接続先判断手段と、
前記接続先判断手段によって判断された接続先としての可否を示す接続先可否判断結果が前記負荷原因キャッシュサーバの接続先として不可を示す接続先可否判断結果であった場合、前記接続先検索要求情報を前記サーバの下位に接続された他のキャッシュサーバへ転送する接続先検索要求情報転送手段と、
前記接続先検索要求情報を送信してきたコンテンツサーバまたはキャッシュサーバに対して、前記接続先判断手段によって判断された接続先としての可否を示す接続先可否判断結果を送信する接続先可否判断結果送信手段と、
を備えることを特徴とするサーバ。
（付記１１）
前記接続先検索要求情報転送手段は、予め定められた順に前記接続先検索要求情報を転送することを特徴とする付記１０に記載のサーバ。
（付記１２）
クライアントからの要求に応じてコンテンツサーバ上のコンテンツを配信するコンテンツ配信ネットワークであって、
前記付記１乃至１１の何れか１項に記載のコンテンツサーバおよびキャッシュサーバから構成されるコンテンツ配信ネットワーク。
（付記１３）
クライアントからの要求に応じてコンテンツサーバ上のコンテンツを配信するコンテンツ配信ネットワークにおいて実行される接続先サーバ切替制御方法であって、
前記コンテンツサーバ上のコンテンツをキャッシュするキャッシュサーバが、
前記キャッシュサーバの下位に接続された負荷原因キャッシュサーバが前記キャッシュサーバにキャッシュされているコンテンツをキャッシュすることによる前記キャッシュサーバの負荷を計測し、
前記計測した負荷が予め定められた値と比較することによって前記負荷が過負荷であると判断された場合、前記コンテンツサーバに対して、前記負荷の原因となっている負荷原因キャッシュサーバの接続先を検索するように要求するための接続先検索要求情報を送信し、
前記コンテンツサーバが、
前記キャッシュサーバから送信された接続先検索要求情報を受信し、
前記受信した接続先検索要求情報を前記コンテンツサーバの下位に接続された他のキャッシュサーバへ転送し、
前記他のキャッシュサーバが、
前記コンテンツサーバから転送された接続先検索要求情報を受信することにより、前記他のキャッシュサーバの負荷に基づいて、前記負荷原因キャッシュサーバの接続先としての可否を判断し、
前記接続先検索要求情報を送信してきたコンテンツサーバに対して、前記判断された接続先としての可否を示す接続先可否判断結果を送信し、
前記コンテンツサーバが、
前記受信した接続可否判断結果を、前記判断された接続先としての負荷原因キャッシュサーバに返送し、
前記負荷原因キャッシュサーバが、
前記返送された接続可否判断結果に基づいて、接続先を変更する、
ことを特徴とする接続先サーバ切替制御方法。
【図面の簡単な説明】
【０１７７】
【図１】従来技術の問題点を説明するための図である。
【図２】本発明の概要を説明するための図である。
【図３】本発明を適用したネットワーク構成の例を示す図である。
【図４】コンテンツサーバの機能構成例を示す図である。
【図５】キャッシュサーバの機能構成例を示す図である。
【図６】本発明を適用した動作例を説明するためのコンテンツ配信ネットワークを示す図である。
【図７】最上階層のキャッシュサーバの負荷の増大により、２階層より下位のキャッシュサーバの接続先を他のキャッシュサーバに切替える動作例を示す図である。
【図８】接続先切替要求メッセージに含まれる情報の例を示す図である。
【図９】接続先切替応答メッセージに含まれる情報の例を示す図である。
【図１０】切替先通知メッセージに含まれる情報の例を示す図である。
【図１１】切替先応答メッセージに含まれる情報の例を示す図である。
【図１２】接続要求メッセージに含まれる情報の例を示す図である。
【図１３】接続応答メッセージに含まれる情報の例を示す図である。
【図１４】最上階層キャッシュサーバの負荷増大により、２階層より下のキャッシュサーバの接続先を他の２階層より下のキャッシュサーバに切替える動作例を示す図である。
【図１５】接続先検索要求メッセージに含まれる情報の例を示す図である。
【図１６】接続先検索応答メッセージに含まれる情報の例を示す図である。
【図１７】最上階層キャッシュサーバの負荷増大により、２階層より下のキャッシュサーバの接続先を他の２階層より下のキャッシュサーバに切替える動作例を示す図である。
【図１８】最上階層キャッシュサーバの負荷増大により、２階層より下のキャッシュサーバの接続先をコンテンツサーバに切替える動作例を示す図である。
【図１９】親キャッシュサーバと子キャッシュサーバ間の重複キャッシュコンテンツの減少により、接続が切替わる場合の動作例を示す図である。
【図２０】キャッシュするコンテンツの重複が大きいキャッシュサーバとの切替要求をコンテンツサーバから受けた場合の動作例を示す図である。
【図２１】子キャッシュサーバの要求するコンテンツ量が相対的に増大し、子キャッシュサーバを直接コンテンツサーバに接続する場合の接続先切り替え動作例を示す図である。
【図２２】子キャッシュサーバの要求するコンテンツ量が相対的に増大し、子キャッシュサーバの接続を他のキャッシュサーバに切替える場合接続先切り替え動作例を示す図である。
【図２３】親キャッシュサーバに障害が発生し、キャッシュサーバの接続先を変更する場合の動作を示す図である。
【図２４】最上階層キャッシュサーバの接続先を他のキャッシュサーバに切替える動作例を示す図である。
【図２５】キャッシュサーバ主導のキャッシュ更新からコンテンツサーバ主導のキャッシュ更新への変更動作例を示す図である。
【図２６】コンテンツサーバ主導のキャッシュ更新からキャッシュサーバ主導のキャッシュ更新への変更動作例を示す図である。
【図２７】接続先検索要求受信時のキャッシュサーバの動作例を示す図である。
【図２８】接続切替要求受信時のキャッシュサーバの動作例を示す図である。
【図２９】接続切替応答受信時のキャッシュサーバの動作例を示す図である。
【図３０】切替先キャッシュサーバ通知受信時の親キャッシュサーバの動作例を示す図である。
【図３１】切替先キャッシュサーバ通知受信時の子キャッシュサーバの動作例を示す図である。
【図３２】切替先キャッシュサーバ通知応答受信時のキャッシュサーバの動作例を示す図である。
【図３３】接続要求受信時のキャッシュサーバの動作例を示す図である。
【図３４】接続応答受信時のキャッシュサーバの動作例を示す図である。
【図３５】高負荷時に子キャッシュサーバ接続切替要求を上位のサーバに送信する場合のキャッシュサーバの動作例を示す図である。
【図３６】高負荷時に接続切替要求を子キャッシュサーバに送信する場合のキャッシュサーバの動作例を示す図である。
【図３７】コンテンツサーバの負荷状況から接続先切替が起こる場合のコンテンツサーバの動作例を示す図である。
【図３８】接続先検索要求受信時のコンテンツサーバの動作例を示す図である。
【図３９】接続先切替要求受信時のコンテンツサーバの動作例を示す図である。
【図４０】接続要求受信時のコンテンツサーバの動作例を示す図である。
【図４１】接続先検索応答受信時のコンテンツサーバの動作例を示す図である。
【図４２】接続先切替応答受信時のコンテンツサーバの動作例を示す図である。
【図４３】本発明におけるコンテンツサーバおよびキャッシュサーバのハードウェア構成図である。
【図４４】本発明における接続先サーバ切替制御プログラムのコンピュータへのローディングを説明するための図である。
【符号の説明】
【０１７８】
１                    コンテンツ配信ネットワーク（ＣＤＮ）
２                    コンテンツサーバ
３                    キャッシュサーバ
４                    クライアント
１０                  コンテンツ配信ネットワーク（ＣＤＮ）
２０                  コンテンツサーバ
２１                  通信管理部
２２                  キャッシュ制御部
２３                  コンテンツ管理部
２４                  キャッシュサーバ情報・負荷管理部
２５                  コンテンツ登録アプリケーション
３０、３０Ａ、３０Ｂ  キャッシュサーバ
３１                  通信管理部
３２                  キャッシュ制御部
３３                  キャッシュ・接続先決定部
３４                  キャッシュ情報・負荷管理部
３５                  コンテンツサーバ・上位キャッシュサーバ情報管理部
４０                  クライアント
５０                  コンテンツサーバ
６１                  キャッシュサーバＡ
６２                  キャッシュサーバＢ
６３                  キャッシュサーバＣ
６４                  キャッシュサーバＤ
６５                  キャッシュサーバＥ
６６                  キャッシュサーバＦ
６７                  キャッシュサーバＧ
７０                  コンテンツ配信ネットワーク（ＣＤＮ）
４３０１              ＣＰＵ
４３０２              メモリ
４３０３              入力装置
４３０４              出力装置
４３０５              外部記録装置
４３０６              媒体駆動装置
４３０７              ネットワーク接続装置
４３０９              バス
４３１０              可搬記録媒体
４４００              コンピュータ
４４０１              メモリ
４４１０              可搬記録媒体
４４２０              プログラム（データ）
【図１】
2007257357.tif 000003
【図２】
2007257357.tif 000004
【図３】
2007257357.tif 000005
【図４】
2007257357.tif 000006
【図５】
2007257357.tif 000007
【図６】
2007257357.tif 000008
【図７】
2007257357.tif 000009
【図８】
2007257357.tif 000010
【図９】
2007257357.tif 000011
【図１０】
2007257357.tif 000012
【図１１】
2007257357.tif 000013
【図１２】
2007257357.tif 000014
【図１３】
2007257357.tif 000015
【図１４】
2007257357.tif 000016
【図１５】
2007257357.tif 000017
【図１６】
2007257357.tif 000018
【図１７】
2007257357.tif 000019
【図１８】
2007257357.tif 000020
【図１９】
2007257357.tif 000021
【図２０】
2007257357.tif 000022
【図２１】
2007257357.tif 000023
【図２２】
2007257357.tif 000024
【図２３】
2007257357.tif 000025
【図２４】
2007257357.tif 000026
【図２５】
2007257357.tif 000027
【図２６】
2007257357.tif 000028
【図２７】
2007257357.tif 000029
【図２８】
2007257357.tif 000030
【図２９】
2007257357.tif 000031
【図３０】
2007257357.tif 000032
【図３１】
2007257357.tif 000033
【図３２】
2007257357.tif 000034
【図３３】
2007257357.tif 000035
【図３４】
2007257357.tif 000036
【図３５】
2007257357.tif 000037
【図３６】
2007257357.tif 000038
【図３７】
2007257357.tif 000039
【図３８】
2007257357.tif 000040
【図３９】
2007257357.tif 000041
【図４０】
2007257357.tif 000042
【図４１】
2007257357.tif 000043
【図４２】
2007257357.tif 000044
【図４３】
2007257357.tif 000045
【図４４】
2007257357.tif 000046