(57)【要約】コンテンツを配信する複数の配信サーバと通信する複数の配信サーバ側ルータと、コンテンツを受信するクライアントと通信するクライアント側ルータとをそなえた伝送システムにおいて、複数の配信サーバのサーバ負荷状態と、複数の配信サーバ側ルータおよびクライアント側ルータ間における複数の配信経路についての各個別リンク負荷状態とを保持するデータベースと、データベースに保持されたサーバ負荷状態と各個別リンク負荷状態との総和に基づいて、複数の配信経路のうちの負荷状態が最小となる最小負荷状態配信経路を決定する経路制御部とをそなえて構成する。
2004073269.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを配信する複数の配信サーバと通信する複数の配信サーバ側ルータと、該コンテンツを受信するクライアント装置と通信するクライアント側ルータとをそなえた伝送システムにおいて、
該複数の配信サーバのサーバ負荷状態と、該複数の配信サーバ側ルータおよび該クライアント側ルータ間における複数の配信経路についての各個別リンク負荷状態とを保持するデータベースと、
該データベースに保持された該サーバ負荷状態と該各個別リンク負荷状態との総和に基づいて、該複数の配信経路のうちの負荷状態が最小となる最小負荷状態配信経路を決定する経路制御部とをそなえて構成されたことを特徴とする、伝送システム。
【請求項２】
該配信サーバのサーバ負荷状態と該各個別リンク負荷状態とのうちの少なくとも一方を収集してその収集した該サーバ負荷状態又は該各個別リンク負荷状態を該データベースに更新しうる負荷情報収集部を設けたことを特徴とする、請求の範囲第１項記載の伝送システム。
【請求項３】
該経路制御部にて決定された該最小負荷状態配信経路に設けられた複数のルータのそれぞれに、該コンテンツを配信するためのコネクションを設定するルータ制御部を設けたことを特徴とする、請求の範囲第１項記載の伝送システム。
【請求項４】
コンテンツを受信するクライアント装置からの配信要求に対して該コンテンツを配信する複数の配信サーバを有するネットワークをそなえた伝送システムにおいて、
該複数の配信サーバのサーバ負荷状態と、該複数の配信サーバ側ルータおよび該クライアント側ルータ間における複数の配信経路についての各個別リンク負荷状態とを保持するデータベースと、
該配信サーバのサーバ負荷状態を収集して該データベースを更新しうる第１収集部と、
該各個別リンク負荷状態を収集して該データベースを更新しうる第２収集部と、
該データベースに保持された該サーバ負荷状態と該各個別リンク負荷状態との総和に基づいて、該複数の配信経路のうちの負荷状態が最小となる最小負荷状態配信経路を決定する経路制御部と、
該経路制御部にて決定された該最小負荷状態配信経路に設けられた複数のルータのそれぞれに、該コンテンツを配信するためのコネクションを設定するルータ制御部とをそなえて構成されたことを特徴とする、伝送システム。
【請求項５】
コンテンツを配信する複数の配信サーバと通信する複数の配信サーバ側ルータと、該コンテンツを受信するクライアント装置と通信するクライアント側ルータとをそなえた伝送システムにおける配信経路制御装置において、
該複数の配信サーバのサーバ負荷状態と、該複数の配信サーバ側ルータおよび該クライアント側ルータ間における複数の配信経路についての各個別リンク負荷状態とを保持するデータベースと、
該データベースに保持された該サーバ負荷状態と該各個別リンク負荷状態との総和に基づいて、該複数の配信経路のうちの負荷状態が最小となる最小負荷状態配信経路を決定する経路制御部と、
該経路制御部にて決定された該最小負荷状態配信経路に設けられた複数のルータのそれぞれに、該コンテンツを配信するためのコネクションを設定するルータ制御部とをそなえて構成されたことを特徴とする、配信経路制御装置。
【請求項６】
該データベースが、パケットを転送する複数のルータのうちの隣接ルータ間の個別リンク負荷状態について、一方のルータから他方のルータへの第１の方向と該他方のルータから該一方のルータへの第２の方向との双方向の個別リンク負荷状態を保持するとともに、
該経路制御部が、
該双方向の個別リンク負荷状態のうちの少なくとも一方を用いて、該個別リンク負荷状態と該サーバ負荷状態との総和が最小の負荷状態を有する配信サーバおよび配信経路の組を上記の最小負荷状態配信経路として決定するように構成されたことを特徴とする、請求の範囲第５項記載の配信経路制御装置。
【請求項７】
該経路制御部が、
該複数の配信経路のそれぞれについて、該複数の配信サーバ側ルータから該クライアント側ルータへの方向、又は該クライアント側ルータから該複数の配信サーバ側ルータへの方向の個別リンク負荷状態を用いて、上記の配信サーバおよび配信経路の組を決定するように構成されたことを特徴とする、請求の範囲第５項記載の配信経路制御装置。
【請求項８】
該経路制御部が、
該複数の配信サーバのそれぞれに仮想リンクを介してアクセスする仮ノードから該クライアント側ルータへの方向の個別リンク負荷状態を用いて、上記の配信サーバおよび配信経路の組を決定するように構成されたことを特徴とする、請求の範囲第５項記載の配信経路制御装置。
【請求項９】
該経路制御部が、
該クライアント側ルータからの転送要求を受信した該配信サーバから該クライアント側ルータへの応答経路として、該クライアント側ルータから該複数の配信サーバ側ルータへの方向の個別リンク負荷状態を用いて、配信要求転送先の配信サーバおよび配信経路の組を決定するように構成されたことを特徴とする、請求の範囲第５項記載の配信経路制御装置。
【請求項１０】
該経路制御部が、
該クライアント側ルータからの転送要求を受信した該配信サーバから該クライアント側ルータへの応答経路として、該複数の配信サーバのそれぞれに仮想リンクを介してアクセスする仮ノードから該クライアント側ルータへの方向の個別リンク負荷状態を用いるとともに、該クライアント側ルータから該複数の配信サーバ側ルータへの方向の個別リンク負荷状態を用いて、配信要求転送先の配信サーバおよび配信経路の組を決定するように構成されたことを特徴とする、請求の範囲第５項記載の配信経路制御装置。
【請求項１１】
該経路制御部が、
該各個別リンク負荷状態および該複数の配信サーバの負荷状態のそれぞれについて重み付けした負荷状態を用いて該最小負荷状態配信経路を決定するように構成されたことを特徴とする、請求の範囲第３項〜請求の範囲第１０項のいずれか一項記載の配信経路制御装置。
【請求項１２】
コンテンツを配信する複数の配信サーバと通信する複数の配信サーバ側ルータと、該コンテンツを受信するクライアント装置と通信するクライアント側ルータとをそなえた伝送システムにおける負荷情報収集装置において、
該複数の配信サーバのサーバ負荷状態と、該複数の配信サーバ側ルータおよび該クライアント側ルータ間における複数の配信経路についての各個別リンク負荷状態とを保持するデータベースと、
該配信サーバから収集した該サーバ負荷状態と、該複数のルータのうちの隣接ルータから収集した該隣接ルータ間の個別リンク負荷状態とを、該データベースに書き込みする経路制御部とをそなえて構成されたことを特徴とする、負荷情報収集装置。
【請求項１３】
コンテンツを配信する複数の配信サーバと通信する複数の配信サーバ側ルータと、該コンテンツを受信するクライアント装置と通信するクライアント側ルータとをそなえた伝送システムにおける、配信経路決定方法であって、
該複数の配信サーバのサーバ負荷状態を収集し、
該複数のルータのうちの隣接ルータから収集した該隣接ルータ間の個別リンク負荷状態を収集し、
収集された該サーバ負荷状態と該個別リンク負荷状態との総和をダイクストラ計算により計算し、
該総和に基づいて該複数の配信経路のうちの負荷状態が最小となる最小負荷状態配信経路を決定し、
決定された該最小負荷状態配信経路に設けられた複数のルータのそれぞれに、該コンテンツを配信するためのコネクションを設定することを特徴とする、配信経路制御方法。
【発明の詳細な説明】
【技術分野】  本発明は、例えばＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークを介して動画ファイル等のコンテンツをユーザに提供するコンテンツ配信サービスに用いて好適な、伝送システム，配信経路制御装置，負荷情報収集装置および配信経路制御方法に関する。
【背景技術】  インターネットが一般のユーザ（個人，公衆，企業又は官庁等）に普及して以来、多くのユーザが低速な電話回線を通してインターネットにアクセスしている。近年、インターネットにアクセスする環境が整備され、ユーザは、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ），ＣＡＴＶ（Ｃａｂｌｅ  Ｔｅｌｅｖｉｓｉｏｎ  ｏｒ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ａｎｔｅｎｎａ  Ｔｅｌｅｖｉｓｉｏｎ）又は光アクセス等、各種のブロードバンド接続と呼ばれる高速広帯域な回線を利用可能になってきている。この結果、ネットワークにて転送されるパケットの量（トラヒック又はトラヒック量）は、従来技術を用いたネットワークにおけるトラヒックに比較して飛躍的に増加している。
トラヒック増加の大きな要因の一つは、インターネットがインフラストラクチャとしてその重要性が高まり、企業又は官庁等が顧客等に対して娯楽又は公共サービス等の各種サービス情報を提供するようになったこともあげられる。
また、インターネットの利用の拡大により、ネットワークは高い品質を要請されている。ネットワークの品質を表す基準は例えば伝送遅延および伝送帯域であり、ネットワーク運用者は、パケットの遅延時間を少なくし、また、契約帯域を保証するようにしている。このため、多くのネットワークは、ネットワーク自身の負荷を観測（監視又はモニタ）する機能を設け、輻輳，パケットの遅延およびパケットの廃棄等を回避するように努力している。
このようなトラヒックの増加により、ネットワークに課される負荷は増大し、また、ネットワークを介して映像等のコンテンツをユーザに配信又は提供する配信サーバに課される負荷も増大している。この負荷の増大により、ネットワークにおけるパケットの伝送遅延およびパケット廃棄等が生じ、また、配信サーバに対するコンテンツデータのコンテンツ配信要求メッセージ（転送要求，転送要求パケット，転送要求メッセージ：以下、特に断らない限り、配信要求と称する。）の増加による配信サーバの過負荷を招き、サービス品質（ＱｏＳ：Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）の低下等の現象が多く見られるようになった。このサービス品質とは、サービスを受けるユーザの満足度を決定する各種サービス性能がもたらす総合的な効果を表し、具体的には、通信品質（伝送遅延，伝送帯域等）を制御するための技術である。
従来、インターネットの利用時においてボトルネックになる部分は、クライアント装置（ユーザが用いる端末）とインターネットとの間のアクセス部分であったが、アクセス速度が向上したことにより、ボトルネックになる部分は、ネットワーク内部（コア）又はコンテンツを配信する配信サーバになってきている。
従って、ネットワークおよび配信サーバの負荷を分散させるための手段又は仕組みを設けることが要請されている。この要請に対するアプローチの２種類の例について、説明する。
第１のアプローチは、コンテント配信ネットワーク（Ｃｏｎｔｅｎｔ  Ｄｅｌｉｖｅｒｙ  Ｎｅｔｗｏｒｋ：ＣＤＮ）を用いる方法である。ＣＤＮとは、例えば電話会社等の事業者が、ユーザに対して、ウェブコンテンツ等の様々なファイルの配信サービスを行なうネットワークである。
なお、コンテントとは、音楽，音（オーディオ），写真，静止画（イメージ）および動画，映像（ビデオ）等のディジタルデータを意味し、コンテンツとはこれらのディジタルデータを編集したものを意味することがある。以下、特に断らない限り、コンテントおよびコンテンツを区別しないで、コンテンツと称し、このコンテンツは、例えばウェブコンテンツ，映像配信又は音楽ファイル等を意味するものとして説明する。
また、この配信サービスの一例として、ストリーミング配信（ストリーム配信）が知られている。
ストリーミング配信とは、コンテンツを配信するサーバ（以下、配信サーバと称する。）が動画ファイルデータを複数に区切り、複数回数に分割してファイルデータをユーザに配信する配信方法であり、ユーザは分割されたファイルデータを受信するたびに再生する。これにより、ユーザは、映像等の動画ファイルをダウンロードしている間に待ち続ける必要がなくなり、また、回線障害が発生した場合においても既に受信したファイルデータについては動画を再生できる。
このストリーミング配信は、大量のファイルデータが送受信されるので、ＣＤＮは、負荷分散のために、配信サーバを、ネットワークの特定箇所に配置せずに、できるだけクライアント装置に近い箇所に配置している。
図１５はストリーミング配信するＣＤＮの構成図である。この図１５に示すオリジナルサーバ１３０は、動画ファイル（オリジナルファイル）を保持するものである。このオリジナルサーバ１３０は、クライアント装置８０ａ〜８０ｃのうちの例えばクライアント装置８０ａよりストリーミング配信要求を受信すると、動画ファイルをそのクライアント装置８０ａの近くに設けられたキャッシュサーバ８１ａに一旦転送し、そして、キャッシュサーバ８１ａがその動画ファイルをクライアント装置８０ａにストリーミング配信するようになっている。次に、オリジナルサーバ１３０又はキャッシュサーバ８１ａが、そのクライアント装置８０ａから同一コンテンツのストリーミング配信要求を受信すると、直接キャッシュサーバ８１ａからクライアント装置８０ａに動画ファイルを配信する。また、オリジナルサーバ１３０はＣＤＮ１４０の全てのキャッシュサーバ１３０にコンテンツを予め転送しておくこともある。
これにより、オリジナルサーバ１３０への負荷集中が回避され、また、パケットの転送遅延等による品質低下が回避される。
ここで、コンテンツ配信およびストリーミング配信における配信経路は、いずれも、コスト（負荷状態）を考慮して計算される。このコストとは、一般に、ネットワーク内の多数のルータのうちの隣接する２台のルータ（隣接ルータ）間の負荷状態を表すリンクコストと、ネットワークの一部又は全部の負荷状態を表すネットワークコストとからなる。また、以下の説明において、負荷状態とは、特に断らない限り、負荷および負荷を表す量を意味する。
また、隣接ルータは相互に伝送路により接続されており、また、この伝送路は所定の伝送帯域（通過帯域）が設定され、これらの伝送路および伝送帯域により、リンクが生成されるようになっている。そして、リンクの負荷状態は、許容伝送量と実際のパケットの伝送量とに基づいて決定されるので、各リンクの個別の負荷状態はリンクコストとして監視される。さらに、各リンクが加算されてネットワークコストとして監視されるのである。
さらに、配信経路の計算は、ダイクストラアルゴリズムが用いられる。ダイクストラアルゴリズムとは、ＣＤＮ１４０内の所望のルータとこのルータと隣接するルータとの間のコストと、その所望のルータと隣接しないルータとの間のコストとに基づいて、ネットワーク内の所望の２台のルータ間のコストを計算し、計算した各コストを加算したコストのうちの最小のコスト値を有する配信経路を検索するものである。
このコストの一例は、リンク使用率（帯域使用率）の逆数又はリンク空き帯域の逆数がパラメータとして用いられる。これらの逆数を用いた場合、コストが小さくなるに従って、隣接ルータ間のリンクの空き帯域が拡大する。従って、ダイクストラ計算により得られた最小コスト配信経路はＣＤＮ１４０内の最も空き帯域が大きい配信経路を表す。このリンク使用率を用いた計算方法に関しては本発明者らによって提案されている。下記特許文献１記載の通信ネットワークのパス（配信経路）選択方法は、入力側ノードで受信されるトラヒックを通信要素単位で均等に複数のパスに振り分けて転送するものである。これにより、各リンクの負荷を分散させることができ、出力側ノードにおいて同一のクライアント装置から送信されたパケットの順番が逆転することを防止できる。
次に、負荷分散に対する第２のアプローチは、クライアント装置からの転送要求に対し、ネットワーク内の複数の配信サーバがそれぞれ処理を分散することにより、一台の配信サーバの負荷を低減する方法（広域配信サーバ負荷分散方法）である。
図１６は広域配信サーバ負荷分散方法を説明するための図である。この図１６に示す配信サーバ１５０ａ，１５０ｂは、ともに、同一のコンテンツを保持している。ここで、配信サーバ１５０ａ，１５０ｂがクライアント装置８０ｄ，８０ｅと離れて設けられている場合、クライアント装置８０ｄ，８０ｅが通信するルータ９０ａは、予め又はクライアント装置８０ｄ，８０ｅからの転送要求があったときに、配信サーバ１５０ａ，１５０ｂの各負荷情報を配信サーバ１５０ａ，１５０ｂ自身からルータ９０ｂ，９０ｃを介して受信し、配信サーバ１５０ａ，１５０ｂのうちの負荷の低いほうに転送要求を振り分けるようになっている。
この広域配信サーバ負荷分散方法は、配信サーバ１５０ａ，１５０ｂのホスト名を実際のＩＰアドレス（以下、特に断らない限り、アドレスと略称する。）に変換するシステムであるＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）と連携して行なわれる。なお、この広域配信サーバ負荷分散方法は、ネットワーク内の配信経路については通常のルータが決定するルーティングテーブルに従った配信経路が使用される。
【特許文献１】  特開２００１−１４４８０４号公報
しかしながら、例えばＣＤＮ１４０（図１５参照）は、映画等一時的に人気の高いコンテンツにクライアント装置８０ａ〜８０ｃからの配信要求が集中すると品質劣化が生じやすい。負荷分散のためのＣＤＮ１４０においては、例えばクライアント装置８０ａに近いキャッシュサーバは、キャッシュサーバ８１ａに対する配信要求が集中して高負荷になった場合、ストリームの品質が劣化するという課題がある。
さらに、負荷分散のための広域配信サーバ負荷分散方法において、配信経路の設定は、ネットワークのコスト又は遅延時間を考慮されない。従って、ネットワークの負荷が増加した場合、配信サーバ１５０ａ，１５０ｂの負荷が高負荷でないにも関わらず、配信されるコンテンツ品質が低下する可能性があり、この可能性を除去できないという課題がある。
【発明の開示】
本発明は、このような課題に鑑み創案されたもので、例えばストリーミング配信する伝送システムにおいて、配信サーバの負荷の増加と、ネットワーク内の複数のルータおよびネットワーク全体の負荷の増加とを防止し、かつコンテンツ配信のための適切な配信経路を得ることが可能な、伝送システム，配信経路制御装置，負荷情報収集装置および配信経路制御方法を提供することを目的とする。
このため、本発明の伝送システムは、コンテンツを配信する複数の配信サーバと通信する複数の配信サーバ側ルータと、コンテンツを受信するクライアント装置と通信するクライアント側ルータとをそなえた伝送システムにおいて、複数の配信サーバのサーバ負荷状態と、複数の配信サーバ側ルータおよびクライアント側ルータ間における複数の配信経路についての各個別リンク負荷状態とを保持するデータベースと、データベースに保持されたサーバ負荷状態と各個別リンク負荷状態との総和に基づいて、複数の配信経路のうちの負荷状態が最小となる最小負荷状態配信経路を決定する経路制御部とをそなえて構成されたことを特徴としている。
従って、このようにすれば、ネットワークおよび配信サーバの負荷をともに分散でき、ネットワークおよびサーバの負荷が軽減される。
また、配信サーバのサーバ負荷状態と各個別リンク負荷状態とのうちの少なくとも一方を収集してその収集したサーバ負荷状態又は各個別リンク負荷状態をデータベースに更新しうる負荷情報収集部を設けることもでき、さらに、サーバ経路制御部にて決定された最小負荷状態配信経路に設けられた複数のルータのそれぞれに、コンテンツを配信するためのコネクションを設定するルータ制御部を設けることもでき、このようにすれば、最小の配信経路および配信サーバの組み合わせが選択されるので、配信サーバの負荷状態の増加とネットワークの負荷増加との双方をともに回避できる。
そして、本発明の伝送システムは、コンテンツを受信するクライアント装置からの配信要求に対してコンテンツを配信する複数の配信サーバを有するネットワークをそなえ、複数の配信サーバのサーバ負荷状態と、複数の配信サーバ側ルータおよびクライアント側ルータ間における複数の配信経路についての各個別リンク負荷状態とを保持するデータベースと、配信サーバのサーバ負荷状態を収集してデータベースを更新しうる第１収集部と、各個別リンク負荷状態を収集してデータベースを更新しうる第２収集部と、データベースに保持されたサーバ負荷状態と各個別リンク負荷状態との総和に基づいて、複数の配信経路のうちの負荷状態が最小となる最小負荷状態配信経路を決定する経路制御部と、経路制御部にて決定された最小負荷状態配信経路に設けられた複数のルータのそれぞれに、コンテンツを配信するためのコネクションを設定するルータ制御部とをそなえて構成されたことを特徴としている。
従って、このようにすれば、配信サーバおよびキャッシュサーバの負荷増加とネットワークの負荷増加との双方を回避でき、最適な配信経路および配信サーバの組が選択可能となり、信頼性の高いコンテンツ配信ネットワークを実現できる。
また、本発明の配信経路制御装置は、コンテンツを配信する複数の配信サーバと通信する複数の配信サーバ側ルータと、コンテンツを受信するクライアント装置と通信するクライアント側ルータとをそなえた伝送システムにおける配信経路制御装置において、複数の配信サーバのサーバ負荷状態と、複数の配信サーバ側ルータおよびクライアント側ルータ間における複数の配信経路についての各個別リンク負荷状態とを保持するデータベースと、データベースに保持されたサーバ負荷状態と各個別リンク負荷状態との総和に基づいて、複数の配信経路のうちの負荷状態が最小となる最小負荷状態配信経路を決定する経路制御部と、経路制御部にて決定された最小負荷状態配信経路に設けられた複数のルータのそれぞれに、コンテンツを配信するためのコネクションを設定するルータ制御部とをそなえて構成されたことを特徴としている。
従って、このようにすれば、ネットワーク，ルータおよび配信サーバのそれぞれについての負荷情報が常時監視でき、これにより、負荷の変動に対して適切に配信経路を選択できる。
さらに、データベースが、パケットを転送する複数のルータのうちの隣接ルータ間の個別リンク負荷状態について、一方のルータから他方のルータへの第１の方向と他方のルータから一方のルータへの第２の方向との双方向の個別リンク負荷状態を保持するとともに、経路制御部が、双方向の個別リンク負荷状態のうちの少なくとも一方を用いて、個別リンク負荷状態とサーバ負荷状態との総和が最小の負荷状態を有する配信サーバおよび配信経路の組を上記の最小負荷状態配信経路として決定するように構成されてもよく、また、経路制御部が、複数の配信経路のそれぞれについて、複数の配信サーバ側ルータからクライアント側ルータへの方向、又はクライアント側ルータから複数の配信サーバ側ルータへの方向の個別リンク負荷状態を用いて、上記の配信サーバおよび配信経路の組を決定するように構成することができる。
従って、このようにすれば、サーバの負荷増加とネットワークの負荷増加との双方をともに回避できる。
この経路制御部は、複数の配信サーバのそれぞれに仮想リンクを介してアクセスする仮ノードからクライアント側ルータへの方向の個別リンク負荷状態を用いて、上記の配信サーバおよび配信経路の組を決定するように構成されてもよく、又はクライアント側ルータからの転送要求を受信した配信サーバからクライアント側ルータへの応答メッセージを転送する応答経路として、クライアント側ルータから複数の配信サーバ側ルータへの方向の個別リンク負荷状態を用いて、配信要求転送先の配信サーバおよび配信経路の組を決定するように構成されてもよく、このようにすれば、配信サーバの負荷状態が仮想リンクに置き換わるので、新たに配信サーバの負荷状態の加算が不要となり、配信経路の計算処理の効率化と高速化とを図ることができる。
加えて、この経路制御部は、クライアント側ルータからの転送要求を受信した配信サーバからクライアント側ルータへの応答経路として、複数の配信サーバのそれぞれに仮想リンクを介してアクセスする仮ノードからクライアント側ルータへの方向の個別リンク負荷状態を用いるとともに、クライアント側ルータから複数の配信サーバ側ルータへの方向の個別リンク負荷状態を用いて、配信要求転送先の配信サーバおよび配信経路の組を決定するように構成されてもよく、又は各個別リンク負荷状態および複数の配信サーバの負荷状態のそれぞれについて重み付けした負荷状態を用いて最小負荷状態配信経路を決定するように構成されてもよい。
従って、このようにすれば、全負荷状態をネットワークの負荷の影響を重視して計算でき、あるいは配信サーバの負荷の影響を重視して計算できるので、例えばシステム運用者の意図に基づいてコスト計算方式を調整でき、これにより、サービスの質が向上する。また、仮想リンクの情報が１カ所のデータベースに管理され効率的な配信経路の決定が可能となる。
さらに、経路制御部は、サーバ負荷状態として、次の（Ｑ１）〜（Ｑ４）に示すものに基づいて、最小負荷状態配信経路を決定するように構成することができる。
（Ｑ１）複数のプロセッサの負荷情報
（Ｑ２）配信サーバのメモリ使用量
（Ｑ３）配信サーバのディスク使用量
（Ｑ４）配信サーバから単位時間あたりに出力されるパケット数又は転送バイト数と配信サーバから単位時間あたりに出力可能な最大パケット数又は最大転送バイト数との比に起因する値
また、本発明の負荷情報収集装置は、複数の配信サーバのサーバ負荷状態と、複数の配信サーバ側ルータおよびクライアント側ルータ間における複数の配信経路についての各個別リンク負荷状態とを保持するデータベースと、配信サーバから収集したサーバ負荷状態と、複数のルータのうちの隣接ルータから収集した隣接ルータ間の個別リンク負荷状態とを、データベースに書き込みする経路制御部とをそなえて構成されたことを特徴としている。
従って、このようにすれば、配信サーバおよびキャッシュサーバの負荷増加と、ネットワークの負荷増加との双方を回避でき、配信経路を適切に選択でき、安定したコンテンツ配信が可能となる。
さらに、本発明の配信経路制御方法は、複数の配信サーバのサーバ負荷状態を収集し、複数のルータのうちの隣接ルータから収集した隣接ルータ間の個別リンク負荷状態を収集し、収集されたサーバ負荷状態と個別リンク負荷状態との総和をダイクストラ計算により計算し、総和に基づいて複数の配信経路のうちの負荷状態が最小となる最小負荷状態配信経路を決定し、決定された最小負荷状態配信経路に設けられた複数のルータのそれぞれに、コンテンツを配信するためのコネクションを設定することを特徴としている。
従って、このようにすれば、例えば１回のダイクストラ計算により各配信経路を計算でき、計算効率が改善される。
【図面の簡単な説明】  図１は本発明の第１実施形態に係るストリーミング配信システム（伝送システム）の構成図である。
図２は本発明の第１実施形態に係るクライアント装置のブロック図である。
図３は本発明の第１実施形態に係るルータの概略的なブロック図である。
図４は本発明の第１実施形態に係る制御装置のブロック図である。
図５は本発明の第１実施形態に係るデータベースの保持内容の一例を示す図である。
図６は本発明の第１実施形態に係る負荷情報収集部のブロック図である。
図７は本発明の第１実施形態に係る負荷情報の収集方法を説明するためのフローチャートである。
図８は本発明の第１実施形態に係る配信経路決定方法を説明するためのフローチャートである。
図９は本発明の第１実施形態に係る第２の方法を用いた配信経路計算方法を説明するための図である。
図１０は本発明の第１実施形態に係る仮想サーバおよび仮想リンクを用いた配信経路計算方法を説明するための図である。
図１１は本発明の第１実施形態に係るデータベースのデータ構造を説明するための図である。
図１２は本発明の第２実施形態に係るストリーミング配信システムの構成図である。
図１３は本発明の第２実施形態に係る第２の配信経路の計算方法を説明するための図である。
図１４は本発明の第１実施形態に係る配信サーバの概略的なブロック図である。
図１５はストリーミング配信するＣＤＮの構成図である。
図１６は広域配信サーバ負荷分散方法を説明するための図である。
【発明を実施するための最良の形態】  （Ａ）本発明の第１実施形態の説明
図１は本発明の第１実施形態に係るストリーミング配信システム（伝送システム）の構成図である。この図１に示すストリーミング配信システム１００は、サーバとネットワークのルータ間リンクとの双方のコスト（負荷状態）を考慮して配信経路を制御するものであって、ＣＤＮ（コンテント配信ネットワーク）１４０と、このＣＤＮ１４０に設けられパケットを転送する例えば６台のルータ１〜６と、６台のルータ１〜６のうちのコンテンツを配信する例えば３台の配信サーバ１ａ〜３ａと通信する３台の配信サーバ側ルータ３，４および６と、６台のルータ１〜６のうちのコンテンツを受信するクライアント装置（クライアント端末又はクライアント）３０と通信するクライアント側ルータ１（ルータ１）と、これらのルータ１〜６，配信サーバ１ａ〜３ａおよびクライアント装置３０に接続された制御装置（配信経路制御装置）４０とをそなえて構成されている。
（１）ストリーミング配信システム１００の概略的な構成
（１−１）ＣＤＮ１４０
ＣＤＮ１４０は、クライアント装置３０からの配信要求に対してコンテンツを配信する例えば３台の配信サーバ１ａ〜３ａをそなえたネットワークであって、具体的にはストリーミング配信サービスを提供するＩＰネットワークである。このＣＤＮ１４０は、ワークステーション，パーソナルコンピュータ（パソコン），ルータおよびＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等が接続されている。
また、各配信サーバ１ａ〜３ａは、いずれも、同一の映像等のコンテンツを保持している。そして、クライアント装置３０が、後述する本発明の配信経路制御方法により選択決定された配信サーバ１ａ〜３ａのいずれかに対して、コンテンツの配信要求を送信する。配信サーバ１ａ〜３ａのいずれかは、この配信要求を受信すると、要求されたコンテンツを複数のファイルデータに区切り、その区切った部分のファイルデータをパケット化（ＩＰパケット化）してそのパケットをクライアント装置３０に送信する。そして、多数のパケットが、ＣＤＮ１４０内の適切な配信経路を通過し、クライアント装置３０に転送され、クライアント装置３０は、複数のファイルデータごとにコンテンツを再生する。
これにより、ユーザは、映像等の動画ファイルをダウンロードしている間に待ち続ける必要がなくなり、また、回線障害が発生しても既に受信したファイルデータについては動画を再生できる。
なお、ＣＤＮ１４０の代わりに、例えばＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）パケット（レイヤ２パケット）が伝送可能なネットワークを用いることもでき、また、ＳＯＮＥＴ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｏｐｔｉｃａｌ  ＮＥＴｗｏｒｋ）を利用することもできる。
（１−２）配信経路と個別リンクコストとの関係
配信経路とは、コンテンツが配信される経路であって、配信サーバ１ａ〜３ａのそれぞれと接続されている配信サーバ側ルータ３，４，６からクライアント装置３０と接続しているクライアント側ルータ１までのパケット通過経路を意味する。図１における３本の配信経路は、第１の配信経路（ルータ１，ルータ２，ルータ３）と、第２の配信経路（ルータ１，ルータ５，ルータ４）と、第３の配信経路（ルータ１，ルータ５，ルータ６）とが相当する。
また、第１の配信経路のコストとは、ルータ１，２間の個別リンクコスト１−２と、ルータ２，３間の個別リンクコスト２−３との和により得られる。また、第２の配信経路のコストは、ルータ１，５間とルータ５，４間との各個別リンクコストの和により得られ、第３の配信経路も同様である。
従って、３台の配信サーバ側ルータ３，４，６とクライアント側ルータ１との間における３本の配信経路は、いずれも、各配信経路上の３台のルータ間の各個別リンクコストの総和により表されるようなっている。
さらに、隣接ルータ１，２間の個別リンクコストは、隣接ルータ１，２間の方向をも加味されて表され、一方のルータ１から他方のルータ２への方向と他方のルータ２から一方のルータ１への方向との双方向の個別リンクコストが用いられ、また、双方向の個別リンクコストは、ともに、制御装置４０によって観測（監視又はモニタ）されるのである。ここで、隣接ルータ１，２は、パケットを転送する６台のルータ１〜６のうちの一対のルータ１およびルータ２を表し、また、ルータ１，５とルータ２，３とルータ２，４とルータ２，５とのそれぞれも隣接ルータの関係にある。以下、特に断らない限り、隣接とは、物理的な回線（個別リンク）により相互に接続されたルータ同志を意味する。
なお、コンテンツ配信経路の最適化をするにあたり、コンテンツの配信方向は、第１実施形態においては、配信サーバ１ａ〜３ａからクライアント装置３０への方向について説明し、後述する第２実施形態においては、クライアント装置３０から配信サーバ１ａ〜３ａへの方向について説明する。
（１−３）クライアント装置３０
クライアント装置３０はユーザが用いるパソコン等の端末であって、例えば図２に示すように、パケットを送受信する送受信部３０ａと、この送受信部３０ａにて受信されたパケットを蓄積する受信バッファ３０ｂと、受信バッファ３０ｂに蓄積されたパケットに含まれるファイルデータを組み立てて動画データおよび音声データを出力する再生部３０ｃと、再生部３０ｃからの動画データを表示する表示部３０ｄと、再生部３０ｃからの音声データを増幅出力する音声出力部３０ｅと、クライアント装置３０の各部を制御する主制御部３０ｆとをそなえて構成されている。ここで、クライアント装置３０とルータ１との間におけるインタフェースは、好ましくは、ブロードバンドデータのパケットを伝送可能なインタフェースであり、所望のプロトコルを用いることができる。さらに、クライアント装置３０と制御装置４０との間は、電話等の加入者回線，ＬＡＮ等により接続されている。また、ルータ１〜６，配信サーバ１ａ〜３ａ等の負荷状態を制御装置４０に対して通知するための負荷情報収集回線１４１を介して、クライアント装置３０および制御装置４０が接続されてもよく、あるいは、種々の回線又はネットワークを用いてクライアント装置３０および制御装置４０間を接続するようにしてもよい。
そして、ユーザの操作により、クライアント装置３０は配信要求をクライアント側ルータ１に送信し、その配信要求はクライアント側ルータ１から制御装置４０により決定された適切な配信経路を介して配信サーバ１ａ〜３ａのいずれかに到着する。また、配信サーバ１ａ〜３ａは、この配信要求に応じて、クライアント装置３０に対してコンテンツを配信し、ユーザは所望の映像，音声を再生する。
（１−４）配信サーバ１ａ〜３ａ
図１に示す配信サーバ１ａ〜３ａは、いずれも、例えばストリームコンテンツのようなコンテンツを配信するためのものであり、同一のコンテンツＡを格納している。この同一のコンテンツＡは、ＣＤＮ１４０の内外に設けられたオリジナルサーバ（図示省略）から予め転送されたものである。このオリジナルサーバが元々蓄積していたコンテンツＡを複数の配信サーバ１ａ〜３ａにキャッシュすることにより、ユーザからの多数の配信要求に対してコンテンツＡを配信するオリジナルサーバの負荷が分散され、オリジナルサーバへの負荷の集中が回避されるようになっている。
配信サーバ１ａ〜３ａは、例えばワークステーション，パソコン等であって、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ），ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：以下、メモリと称する。），ハードディスク等の読み書き可能な記録媒体等をそなえて構成されている。
図１４は本発明の第１実施形態に係る配信サーバ１ａの概略的なブロック図であって、構成の一例が表示されている。この図１４に示す配信サーバ１ａは、送受信部６０ａ，パケット処理部６０ｂ，コンテンツ蓄積部６０ｃ，負荷情報観測部（負荷状態情報観測部又は負荷状態観測部）６０ｄ，出力レート監視部６０ｅ，受信バッファ６０ｆ，ＣＰＵ６０ｇ，主制御部６０ｈ等（以下、これらを各機能部と称する。）をそなえて構成されている。
ここで、送受信部６０ａは、ルータ３，制御装置４０等と接続されパケットを送受信するものであり、パケット処理部６０ｂは、受信パケットの分解および送信パケットの生成等を行なうものであり、受信バッファ６０ｆは各種のデータを一時的に保持するメモリであり、また、出力レート監視部６０ｅは、接続されているルータ１〜６の個数を監視するものである。コンテンツ蓄積部６０ｃは、キャッシュサーバ（図示省略）から予め転送された例えばコンテンツＡ等のコンテンツを蓄積する例えばハードディスク等の記録媒体であり、また、主制御部６０ｈは配信サーバ１ａ内の各機能部を制御するものである。
そして、負荷情報観測部６０ｄは、演算処理を行なうＣＰＵ６０ｇの負荷状態（ＣＰＵ占有率）と、受信バッファ６０ｆのメモリ使用量（ＲＡＭ使用領域）と、コンテンツ蓄積部６０ｃのハードディスクの使用量（ディスク使用量）等の各種の負荷に関する情報（以下、単に負荷情報とも称する。）とをそれぞれ観測可能なものである。この負荷情報観測部６０ｄは、例えばこれらの配信サーバ１ａにインストールされたアプリケーションソフトウェアによって実現し、また、これらの負荷情報を制御装置４０に対して送信可能である。
なお、配信サーバ２ａ，３ａも、この配信サーバ１ａと同一構成であり、重複した説明を省略する。さらに、各機能部の構成は種々変更可能である。
（１−５）ルータ１〜６
ルータ１〜６は、いずれも、パケットを転送するものである。また、ルータ１と、ルータ２，５と、ルータ３，４および６とは、それぞれ、クライアント側ルータ１と、中継ルータと、配信サーバ側ルータ３，４，６として機能している。
図３は本発明の第１実施形態に係るルータ１〜６の概略的なブロック図であり、多数の転送方向のうちの一方向の転送処理部の要部が表示されている。この図３に示すルータ１は、受信部２０ａ，パケット識別部２０ｂ，ルーティングテーブル２０ｃ，カプセル化処理部２０ｄ，送信部２０ｅ，入力ポート２０ｆおよび出力ポート２０ｇをそなえて構成されている。なお、この図３に示すもので、上記と同一の符号を有するものは、それらと同一のものを表す。
ここで、受信部２０ａは、クライアント装置３０から入力ポート２０ｆを介して入力されたパケットを受信するものである。また、パケット識別部２０ｂは受信部２０ａにて受信されたパケットをデカプセル化又は終端処理を行ない、ルーティングテーブル２０ｃを参照してアドレスがルータ１自身宛てか、又はルータ１と異なる他のルータかを判定（又は識別）するものである。そして、その判定結果により受信パケットがルータ１宛ての場合は、そのパケットの情報データを抽出する。
さらに、ルーティングテーブル２０ｃは、受信パケットのアドレスと出力ポート２０ｇとを対応づけたルーティング情報を保持するものである。カプセル化処理部２０ｄは、パケット識別部２０ｂにてルータ１と異なる宛て先を有するパケットを受信した場合は、そのパケットをそのまま次のルータに出力（ホップ）するとともに、新規に送信するデータをパケット化し所望のヘッダを付与して出力するものである。そして、送信部２０ｅはカプセル化処理部２０ｄから出力されたパケットを、このルータ１と接続された隣接ルータ２，５のそれぞれに対応する出力ポート２０ｇに転送するものである。
これにより、クライアント装置３０から入力されたパケットの宛先アドレス（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）は、パケット識別部２０ｂにて抽出され、抽出された宛先アドレスについてルーティングテーブル２０ｃに保持されたパケット転送経路に基づいて適切な出力ポート２０ｇが選択されて出力される。
なお、ルーティングテーブル２０ｃは、多数回のルーティング処理を行ない、アドレスと出力ポート２０ｇとの対応について、処理回数が多い対応関係を保持することが望ましい。すなわち、このアドレス学習機能を設けることにより転送効率が向上する。
また、ルータ１の処理は、上記転送方向と異なる転送方向についても同一であり、さらに、ルータ２〜６のそれぞれについてもルータ１の構成と同一であるので、重複した説明を省略する。
（１−６）制御装置４０
制御装置４０（図１参照）は、これらのクライアント装置３０，ルータ１〜６，配信サーバ１ａ〜３ａのそれぞれに接続され、最適なコンテンツ配信経路をルータおよび各配信サーバ１ａ〜３ａに対して通知するものである。
図４は本発明の第１実施形態に係る制御装置４０のブロック図である。この図４に示す制御装置４０は、配信要求処理部４０ａと、データベース（ネットワーク情報データベース）１０と、経路制御部（配信経路および配信経路制御部）２５と、ルータ／サーバ制御部（ルータおよびサーバ制御部）４０ｂと、負荷情報収集部４１とをそなえて構成されている。
なお、配信要求処理部４０ａ，データベース１０等は、いずれも、ＣＤＮ１４０における所望の場所に分散させて設置することもできる。
（１−６−１）配信要求処理部４０ａ
配信要求処理部４０ａは、クライアント装置３０からの配信要求（コンテンツ配信要求メッセージ）を受信処理するものである。また、配信要求処理部４０ａはクライアント装置３０からの配信要求を受信し、経路制御部２５に対してクライアント装置３０が接続するルータ１〜６のアドレスを入力する。さらに、品質保証の対象となる帯域が設定されている場合は、配信要求処理部４０ａはこれに加えて、要求帯域値を入力するようになっている。
また、配信要求処理部４０ａは、クライアント装置３０から、例えば人気の映画等の特定のコンテンツの配信要求を受信した場合、この配信要求の受信を、経路制御部２５に対して通知する。ここで、配信要求処理部４０ａが特定コンテンツの配信要求の受信を認識する方法は、例えば、配信要求の中に、その特定コンテンツに付与された一意的な選択用ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ：識別情報）の有無によって判定する。
ユーザは、クライアント装置３０の表示部３０ｄ（図２参照）に表示されたブラウザ（ＷＥＢ画面）において、配信を希望する映画等を選択する。この選択された映画等に関する情報は、例えばコンテンツに一意的に付与された選択用ＩＤにより表される。この選択用ＩＤは、”ｈｔｍｌ”，”ｓｈｔｍｌ”又は”ｘｍｌ”形式ファイル等の情報がパケット化されてクライアント側ルータ１に対して送信される。
なお、配信要求処理部４０ａとクライアント装置３０との間は、例えば電話回線を用いてもよく、又はＣＤＮ１４０を介してもよく、これら以外のインタフェースを用いることもできる。
（１−６−２）データベース１０（図４参照）
データベース１０は、例えば３台の各配信サーバ１ａ〜３ａの配信サーバコストと、３台の配信サーバ側ルータ３，４，６およびクライアント側ルータ１間における３本の配信経路についての各個別リンクコストとを保持するものである。データベース１０は例えば図１に示す３種類の配信経路（ルータ１，ルータ２，ルータ３），（ルータ１，ルータ５，ルータ４），（ルータ１，ルータ５，ルータ６）のそれぞれについて、隣接ルータ間の個別リンクコストを保持している。
ここで、データベース１０が保持するコスト値について図５を参照してさらに詳述する。以下の説明において、ルータＲ１（Ｒ１は自然数を表す。）からルータＲ２（Ｒ２は自然数を表す。）への個別リンクコストをリンクＲ１−Ｒ２と表記し、その逆方向について、ルータＲ２からルータＲ１への個別リンクコストをリンクＲ２−Ｒ１と表記する。さらに、第２の配信経路のコストは、リンク１−５およびリンク５−４の和とリンク４−５およびリンク５−１の和により表される。これら以外のリンクについても同様にして表記する。
図５は本発明の第１実施形態に係るデータベース１０の保持内容の一例を示す図である。この図５に示すデータベース１０は、ＣＤＮ１４０内の各ルータ１〜６の負荷情報を保持するルータ負荷情報テーブルＴ１と、各配信サーバ１ａ〜３ａの負荷情報を保持する配信サーバ負荷情報テーブルＴ２とを保持するものである。ここで、ルータ負荷情報テーブルＴ１は、ＣＤＮ１４０内に設けられたＫ（Ｋは自然数を表す。）個のルータ１，２，…，Ｋのそれぞれについて、これらのルータ１，２，…，Ｋと接続されるルータとの間における個別リンクコスト（リンク１−１等と表されたもの）と、各個別リンクコストについての物理的なトポロジと、このトポロジについての統計情報とをそれぞれ対応づけて保持している。
ここで、図５に示すルータ負荷情報テーブルＴ１およびサーバ負荷情報テーブルＴ２に保持されている統計情報データの内容についてさらに詳述する。
ルータ負荷情報テーブルＴ１のＷＬ，ＷＲ，ＷＵは、それぞれ、リンクの物理帯域，リンクの予約帯域，リンクの実際に使用されている使用帯域（実使用帯域）である。また、サーバ負荷情報テーブルＴ２のＮｃは配信サーバ１ａ〜３ａの同時接続可能なクライアント数（クライアント装置３０の個数）であり、ＬｃｐｕはＣＰＵの使用率であり、Ｍは各配信サーバ１ａ〜３ａのメモリ量であり、Ｄは配信サーバ１ａ〜３ａのディスク使用量であり、Ｒｎｉｃは配信サーバ１ａ〜３ａより出力する単位時間あたりの転送バイト数であり、Ｔｒ（Ｔｒｅｓｐ）は配信サーバ１ａ〜３ａの応答時間である。
すなわち、データベース１０は、ネットワークコストを保持しているのである。
例えば、ルータ１は、ルータ２〜Ｎ（Ｎは自然数を表す。）のそれぞれと物理的に接続されている。そして、データベース１０は、ルータ１，２間の個別リンクコスト（リンク１−２）と、このリンク１−２に対応するルータ１自身のアドレス（自アドレス）およびルータ２のアドレス（接続先アドレス）とを保持する。
また、各個別リンクコストは、例えばルータ１，２のような隣接ルータ間のリンクコストであって、上述した第１の配信経路〜第３の配信経路のそれぞれに設けられた（ルータ１，ルータ２，ルータ３），（ルータ１，ルータ５，ルータ４），（ルータ１，ルータ５，ルータ６）についての双方向のリンクコストを意味する。そして、この個別リンクコストは、ネットワーク情報又は統計情報として、負荷情報収集部４１によって収集され、負荷情報収集部４１によりそのネットワーク情報，統計情報等がデータベース１０に書き込まれる。
さらに、図５に示す配信サーバ負荷情報テーブルＴ２は、配信サーバ１ａ〜３ａと、この配信サーバ１ａ〜３ａと接続される配信サーバ側ルータ３，４，６との間における物理的なトポロジと、このトポロジについての統計情報とをそれぞれ対応づけて保持する。
換言すれば、データベース１０は、各ルータ１〜６と各配信サーバ１ａ〜３ａとのトポロジを表すトポロジデータを初期データとして保持しており、さらに、データベース１０のトポロジデータは、負荷情報収集部４１により収集された各ルータ１〜６，各配信サーバ１ａ〜３ａ等のコストに基づいて更新されるようになっている。
なお、これらのルータ負荷情報テーブルＴ１と配信サーバ負荷情報テーブルＴ２とは、別個のテーブル又はメモリ領域に保持されているが、これらは、いずれも、異なる記憶媒体に設けてもよく、データベース１０のデータ構造は、所望の構造を用いることができる。
（１−６−３）経路制御部２５
次に、経路制御部２５は、データベース１０に保持された配信サーバコストと各個別リンクコストとの総和に基づいて、例えば３種類の配信経路のうちのコストが最小となる最小コスト配信経路を決定するものである。そして、この経路制御部２５は、クライアント装置３０からの配信要求を受信すると、データベース１０に保持されたネットワーク統計情報とトポロジとを参照し、その配信要求を満たす配信経路を検索し、検索により決定された配信経路にパスを設定する。
具体的には、データベース１０が、６台のルータ１〜６のうちの隣接ルータ間の個別リンクコストについて、一方の例えばルータ１から他方のルータ２への方向と他方のルータ２から一方のルータ１への方向との双方向の個別リンクコストを保持するとともに、経路制御部２５が、双方向の個別リンクコストを用いて、リンクコストと配信サーバコストとの総和が最小のコストを有する配信サーバ１ａ〜３ａおよび配信経路の組を上記の最小コスト配信経路として決定するようになっている。
また、経路制御部２５は、ダイクストラ計算可能な配信経路計算部（計算部）２５ａを別個に設けることもでき、そして、経路制御部２５又はこの配信経路計算部２５ａは、負荷情報収集部４１が収集したルータ１〜６および配信サーバ１ａ〜３ａの負荷情報情報と、配信要求処理部４０ａから受信した要求帯域情報とに基づいて、配信経路負荷と配信サーバ負荷とを考慮したダイクストラ計算を実施し、最適な配信経路と配信サーバ１ａ〜３ａとの組み合わせを決定する。ダイクストラ計算の結果、パケットが通過する経路上のルータ１〜６のアドレスと、配信サーバ１ａ〜３ａのアドレスとが出力され、ルータ／サーバ制御部４０ｂに通知される。
また、この経路制御部２５は、サーバコストとして、種々のパラメータをとることができる。
（１−６−４）ルータ／サーバ制御部４０ｂ
ルータ／サーバ制御部４０ｂは、経路制御部２５にて決定された最小コスト配信経路に設けられたルータ１〜６のそれぞれに、コンテンツを配信するためのコネクションを設定するものである。また、ルータ／サーバ制御部４０ｂは、配信サーバ１ａ〜３ａに対してコンテンツ配信を開始する通知（配信開始通知）を出力するようにもなっている。そして、このルータ／サーバ制御部４０ｂによって、経路制御部２５にて決定された配信経路がルータ１〜６に設定される。
さらに詳述すると、ルータ／サーバ制御部４０ｂのコネクションは、例えばＭＰＬＳ（Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）ラベルパスを用いて設定される。具体的には、ルータ／サーバ制御部４０ｂは、選択した配信サーバ１ａ〜３ａが接続しているルータ１〜６に対して、選択された配信経路上のルータ１〜６のアドレスを入力し、そのアドレスに沿ってラベルパスを設定するように指示する。この配信経路の設定は、コネクション設定用の信号プロトコル（シグナリングプロトコル）であるＲＳＶＰ−ＴＥプロトコル（Ｒｅｓｏｕｒｃｅ  Ｒｅｓｅｒｖａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  ｗｉｔｈ  Ｔｒａｆｆｉｃ  Ｅｎｇｉｎｅｅｒｉｎｇ  ｅｘｔｅｎｓｉｏｎｓ：拡張帯域予約プロトコル）を使用することにより設定可能である。また、ルータ／サーバ制御部４０ｂは、配信経路の設定が完了した時点に、選択した配信サーバ１ａ〜３ａに対して送信開始を通知し、コンテンツ配信を開始する。
なお、ＲＳＶＰ−ＴＥとは、周知のとおり、ＲＳＶＰを拡張し各パスにラベル配布機能を加えたものであり、ＭＰＬＳをサポートするネットワークにおいて、ラベル交換パスを設定するために用いられる。
（１−６−５）負荷情報収集部４１
負荷情報収集部４１は、３台の配信サーバ１ａ〜３ａのサーバコストと各個別リンクコスト（ルータ１〜６のうちの隣接ルータ間の個別リンクコスト）との双方を収集（又は観測）してその収集したサーバコスト又は各個別リンクコストをデータベース１０に更新しうるものである。
図６は本発明の第１実施形態に係る負荷情報収集部４１のブロック図であり、この図６に示す負荷情報収集部４１は、配信サーバ１ａ〜３ａのサーバコストを収集してデータベース１０を更新しうる配信サーバ負荷情報観測部（第１収集部）４１ａと、各個別リンクコストを収集してデータベース１０を更新しうるルータ負荷情報観測部（第２収集部）４１ｂとをそなえて構成されている。
従って、制御装置４０は、予めネットワーク運用者によって設定されたデータベース１０の初期データと、定期的にルータ１〜６および各配信サーバ１ａ〜３ａから収集したルータ１〜６および各配信サーバ１ａ〜３ａ自身の負荷情報とに基づいて、常時，ルータ１〜６および各配信サーバ１ａ〜３ａの各コストを把握できる。これにより、常時、最適な配信経路をダイクストラ計算により得られる。
このように、ネットワーク，ルータおよび配信サーバのそれぞれについての負荷情報が常時監視でき、これにより、負荷の変動に対して適切に配信経路を選択できる。
（１−６−６）自律分散型の構成例
この制御装置４０は、ＣＤＮ１４０とは別個の１カ所に設けられており、集中制御サーバ型の制御を行なうことができる。一方、制御装置４０は、ＣＤＮ１４０内部に設けることもできる。
ストリーミング配信システム１００ａは、ストリーミング配信システム１００と同様な機能を有し、制御装置４０又は制御装置４０の機能を有する装置が、ルータ１〜６のいずれかの内部に設けられるようになっている。
さらに、制御装置４０の一部の機能モジュールを、制御装置４０以外の装置に設けるようにもできる。例えば、データベース１０，負荷情報収集部４１等は、各ルータ１〜６の中に設けることができる。これにより、自律分散型ネットワークを用いることができる。
従って、本発明のストリーミング配信システム１００は、コンテンツを受信するクライアント装置３０からの配信要求に対してコンテンツを配信する配信サーバ１ａ〜３ａを有するＣＤＮ１４０をそなえ、配信サーバ１ａ〜３ａのサーバコストと、配信サーバ側ルータ３，４，６およびクライアント側ルータ１間における配信経路Ｐ１〜Ｐ３についての各個別リンクコストとを保持するデータベース１０と、配信サーバ１ａ〜３ａのサーバコストを収集してデータベース１０を更新しうるサーバ負荷情報観測部（第１収集部）４１ａと、各個別リンクコストを収集してデータベース１０を更新しうるルータ負荷情報観測部（第２収集部）４１ｂと、データベース１０に保持されたサーバコストと各個別リンクコストとの総和に基づいて、配信経路Ｐ１〜Ｐ３のうちのコストが最小となる最小コスト配信経路を決定する経路制御部２５と、経路制御部２５にて決定された最小コスト配信経路に設けられたルータ１〜６のそれぞれに、コンテンツを配信するためのコネクションを設定するルータ／サーバ制御部４０ｂとをそなえて構成されたことになる。
これにより、例えば配信サーバ１ａ〜３ａおよびキャッシュサーバの負荷増加とＣＤＮ１４０の負荷増加との双方を回避でき、最適な配信経路および配信サーバの組が選択可能となり、安定したコンテンツ配信が可能となり、信頼性の高いＣＤＮ１４０を実現できる。
（１−７）概略的な処理の説明
これにより、ＣＤＮ１４０に対して例えばクライアント装置３０からコンテンツ転送要求があった場合に、負荷情報収集部４１は、ＣＤＮ１４０のコスト（接続端末数）又は遅延時間と、クライアント装置３０から要求したコンテンツが格納されている複数の配信サーバ１ａ〜３ａのコスト（ＣＰＵ使用率，遅延時間等）とを考慮し、クライアント装置３０および配信サーバ１ａ〜３ａのそれぞれの負荷の増加を抑圧するように、最適な配信経路と配信サーバ１ａ〜３ａとの組を選択する。
具体的には、負荷情報収集部４１は、ＣＤＮ１４０のリンクコスト又はＣＤＮ１４０のコストを表すネットワークコスト（リンクコスト値）と、配信サーバ１ａ〜３ａのコストを表す配信サーバコスト（配信サーバコスト値）との各パラメータを用いて、リンクコストおよび配信サーバコストの双方の和が最小となる配信経路と配信サーバ１ａ〜３ａとの組み合わせを、最適な配信経路と配信サーバ１ａ〜３ａとの組として選択する。
制御装置４０における配信経路の計算は、配信サーバ１ａ〜３ａからクライアント装置３０への方向と、クライアント装置３０から配信サーバ１ａ〜３ａへの方向との双方向について行なうことが可能であるが、第１実施形態においては、配信サーバ１ａ〜３ａからクライアント装置３０への方向に沿ってトータルコストを計算する。
このように、ストリーミング配信システム１００において、多大な負荷に対しても安定してコンテンツ配信が可能となる。さらに、ＣＤＮ１４０又は配信サーバ１ａ〜３ａのの負荷が軽減され、ＣＤＮ１４０又は配信サーバ１ａ〜３ａの負荷が分散される。
以上が、ストリーミング配信システム１００の概略的な構成である。
（２）次に、ストリーミング配信システム１００における配信経路の計算方法について、３種類の方法（Ａ１）〜（Ａ３）を説明する。
（Ａ１）配信サーバ１ａ〜３ａ側からクライアント装置３０側への配信経路を個別に計算する方法（第１の方法）の説明。
第１の方法は、経路制御部２５が、例えば、クライアント装置３０から特定のコンテンツの転送要求を受信すると、配信サーバ側ルータ３，４，６からクライアント側ルータ１までの配信経路（図１に示すＰ１〜Ｐ３参照）を計算し、３種類の各配信経路Ｐ１〜Ｐ３についてリンクコストと配信サーバコストとの総和を計算し、最小コストとなる配信サーバ１ａ〜３ａのいずれかのものと配信経路との組を、実際に配信するための配信サーバと配信経路との組として選択するものである。なお、この計算開始の契機は、ネットワーク運用者の入力によっても可能である。
ここで、配信経路とは、コンテンツが転送される方向であって、配信サーバ１ａ〜３ａが接続されているルータ１〜６からクライアント装置３０が接続しているルータ１〜６までの通過経路を意味する。
これにより、クライアント装置３０は制御装置４０に対してコンテンツＡの配信要求を送信する。制御装置４０は、この配信要求を受信すると、制御装置４０自身が把握しているトポロジ情報と負荷情報とに基づいて最適な配信経路および配信サーバ１ａ〜３ａを計算する。この配信経路の計算は、一般に転送経路計算アルゴリズムとして用いられるダイクストラアルゴリズムを用いて行なわれる（これをダイクストラ計算と称する。）。
（Ａ１−１）ダイクストラアルゴリズムとは、ＣＤＮ１４０内の所望の起点ルータ（例えばルータ１）と、この起点ルータ１以外のルータ（例えばルータ２〜６）との間のリンクコストに基づいて、最小のリンクコストの転送経路を検索するアルゴリズムである。このリンクコストは、例えば次のＩ〜ＩＶに示すパラメータを用いることができる。
Ｉ．リンク使用率の逆数
ＩＩ．リンク空き帯域の逆数
ＩＩＩ．固定値
ＩＶ．遅延時間（リンク遅延時間）
そして、制御装置４０は、例えば３台のルータ３，４，６のそれぞれからルータ１までの転送経路について合計３回のダイクストラ計算を行なう。
ＩおよびＩＩ．リンク使用率の逆数又はリンク空き帯域の逆数について
リンク使用率の逆数又は空き帯域の逆数がリンクコストとして用いられる場合は、リンクコストが小さくなるほどリンクの空き帯域が大きくなる。すなわち、負荷が小さくなると、伝送可能な帯域が拡大される。従って、ダイクストラアルゴリズムを用いて計算された最小コスト転送経路はＣＤＮ１４０内の最も空き帯域が大きい転送経路を表す。
ＩＩＩ．固定値について
ルータ１〜６はリンクコストとして、通過ホップ数に対応する「１」，「５」等の固定値を通常使用している。すなわち、リンクコストは、転送経路においてパケットが通過するルータ１〜６の個数によって表されるようになっている。従って、固定値が「１」に設定された場合、最小コスト転送経路は最短ホップ転送経路となる。これにより、リンクコストの設定および処理が簡素化される。
この固定値の設定は、ネットワーク運用者が直接ルータ１〜６のメモリに書き込むようにしたり、又は出荷時等にルータ１〜６のメモリに単純に「１」，「５」等の固定値を記録するようにして行なわれる。
ＩＶ．リンク遅延時間について
リンク遅延時間は直接リンクコストとして使用でき、また、最小コスト転送経路は最小遅延転送経路により表される。このリンク遅延時間を用いたリンクコストは、リンク遅延時間の計測により計算される。
この一方、リンク遅延時間を用いた計算方法は、リンク使用率の逆数又はリンク空き帯域の逆数（前記Ｉ，ＩＩ）のように、ＣＤＮ１４０内の使用帯域を観測して計算する方法に比較して困難である。
従って、以下の説明においては、制御装置４０の経路制御部２５が、収集（又は観測）したリンクの帯域情報（例えばリンク使用率又はリンク空き領域）に基づいてリンク遅延時間を推定する。以下、このリンク遅延時間の推定方法をさらに詳述する。
（Ａ１−２）リンク遅延時間の推定方法について
リンク遅延時間ｄは、パケット処理遅延時間（リンク処理遅延時間）ｄ１と、制御パケットの伝播遅延時間ｄ２との和により得られる。ここで、パケット処理遅延時間ｄ１は、ルータ１〜６がパケットを、このルータ１〜６および隣接ルータ間のリンクに出力するために要する時間であり、そのリンクにおけるパケット転送速度つまりパケット伝送帯域Ｂに依存する。また、伝播遅延時間ｄ２は、パケットが伝播するリンクの物理的な距離Ｄに依存する。この距離Ｄは、具体的には、リンクとして用いられている物理的な伝送媒体中をデータビットが伝播する距離である。
従って、リンク遅延時間ｄは、パケット伝送帯域Ｂに依存する関数ｆ（Ｂ）と距離Ｄに依存する関数ｆ（Ｄ）との和により得られる（式（１）参照）。
リンク遅延時間ｄ＝ｄ１＋ｄ２＝ｆ（Ｂ）＋ｆ（Ｄ）    （１）
さらに、リンクの物理帯域をＢＬとし、また、そのリンクを伝播するパケットの実際の使用帯域をＢｕとした場合、リンク使用率（リンクの使用帯域）ρは、式（２Ａ）により得られ、また、パケット処理遅延時間ｄ１は待ち行列理論を用いて式（２Ｂ）により得られる。
リンク使用率ρ  ＝Ｂｕ／ＢＬ                                  （２Ａ）
パケット処理遅延時間ｄ１＝ｈ×（ρ／（１−ρ））              （２Ｂ）
ここで、「／」，「×」はそれぞれ除算，乗算を表し、ｈはルータ１〜６におけるパケットの平均保留時間を表す。従って、パケット処理遅延時間ｄ１は、リンク使用率ρに基づいて推定される。なお、パケットの使用帯域Ｂｕは、例えば、品質保証サービス等における予約帯域の和又はリンクを伝送するパケットの占有帯域を用いてもよい。
一方、伝播遅延時間ｄ２は、距離Ｄに依存する。ここで、リンク媒体中をデータビットが単位距離を伝播するのに必要な時間は一定である。この時間を定数ｃにより表すと伝播遅延時間ｄ２は式（３）のように表される。
伝播遅延時間ｄ２  ＝ｃ×Ｄ                                      （３）
なお、定数ｃは、一般的に１ｍ（メートル）あたり５ｎｓｅｃ（ナノ秒）が用いられる。従って、伝播遅延時間ｄ２は、距離Ｄに基づいて決定でき、リンクコストＣＬは式（４）により得られる。
リンクコストＣＬ＝ｄ＝ｈ×（ρ／１−ρ））＋ｃ×Ｄ              （４）
この式（４）を用いて、経路制御部２５は、ＣＤＮ１４０内の多数の隣接ルータ間におけるリンクコストを計算するのである。
従って、経路制御部２５が、各個別リンクコストとして、各リンク使用率ρに基づいて推定されたパケット処理遅延時間ｄ１と、各距離Ｄに依存する伝播遅延時間ｄ２とに基づいて、最小コスト配信経路を決定するのである。
このように、制御装置４０は、ＣＤＮ１４０又はリンクのコストに基づきダイクストラ計算を用いて、ＣＤＮ１４０内のパケット転送経路に関して最小コスト転送経路を選択できる。
（Ａ１−３）配信サーバ１ａ〜３ａのコストを表すコスト値について
制御装置４０は、ＣＤＮ１４０又はリンクのコストに加えて、配信サーバ１ａ〜３ａのコストをも考慮して、（配信経路，配信サーバ）を選択する。このため、制御装置４０の経路制御部２５は、配信サーバ１ａ〜３ａの負荷状態をコスト値に置換する。
換言すれば、経路制御部２５が、３種類の配信経路Ｐ１〜Ｐ３のそれぞれについて、配信サーバ側ルータ３，４，６からクライアント側ルータ１への方向、又はクライアント側ルータ１から配信サーバ側ルータ３，４，６への方向の個別リンクコストを用いて、上記の配信サーバ１ａ〜３ａおよび配信経路の組を決定するのである。
配信サーバ１ａ〜３ａのサーバコスト値については、経路制御部２５が、配信サーバコストとして、以下の（Ｗ１）〜（Ｗ７）に述べるように負荷情報収集部４１にて観測された配信サーバ１ａ〜３ａの各値に基づいて最小コスト配信経路を決定するようになっている。
（Ｗ１）配信サーバ１ａ〜３ａの同時接続クライアント装置３０の個数ＮＣ
配信サーバ１ａ〜３ａに接続中のクライアント装置３０の個数と、配信サーバ１ａ〜３ａに接続を許可されたクライアント装置３０の個数との比の値に基づいて配信サーバコストが決定される。
（Ｗ２）配信サーバ１ａ〜３ａのＣＰＵ使用率ＵＣＰＵ
配信サーバ１ａ〜３ａのうちの１又は複数のプロセッサの負荷情報に基づいて、配信サーバコストが決定される。
（Ｗ３）配信サーバ１ａ〜３ａのメモリ量Ｕｍｅｍｏｒｙ
配信サーバ１ａ〜３ａのメモリ使用量に基づいて、配信サーバコストが決定される。
（Ｗ４）配信サーバ１ａ〜３ａのディスク使用量Ｕｄｉｓｋ
配信サーバ１ａ〜３ａのディスク使用量に基づいて、配信サーバコストが決定される。
（Ｗ５）配信サーバ１ａ〜３ａから出力される単位時間あたりの転送パケット数ＰＯＵＴ
配信サーバ１ａ〜３ａから単位時間あたりに出力されるパケット数と配信サーバ１ａ〜３ａから単位時間あたりに出力可能な最大パケット数との比に起因する値に基づいて、配信サーバコストが決定される。換言すれば、配信サーバ１ａ〜３ａとＣＤＮ１４０との間のインタフェースとして、出力パケット数が用いられるのである。
（Ｗ６）配信サーバ１ａ〜３ａから出力される単位時間あたりの転送バイト数ＲＯＵＴ
配信サーバ１ａ〜３ａから単位時間あたりに出力される転送バイト数と配信サーバ１ａ〜３ａから単位時間あたりに出力可能な最大転送バイト数との比に基づいて、配信サーバコストが決定される。すなわち、インタフェースとして転送バイト数が用いられる。
（Ｗ７）配信サーバ１ａ〜３ａの応答時間ＴＲＥＳＰ
配信サーバ１ａ〜３ａが受信した転送要求に対する応答メッセージの出力に要する応答時間に基づいて、配信サーバコストが決定される。この応答時間は、配信サーバ１ａ〜３ａの処理時間に相当する。
これらの（Ｗ１）〜（Ｗ７）はいずれも、配信サーバ１ａ〜３ａのコストを表しており、配信サーバコストとして配信サーバ１ａ〜３ａについて観測した各種コストを単独で用いてもよく、また、これらの各種コストを組み合わせてもよい。
また、経路制御部２５は、ルータ１〜６のプロセッサの負荷状態を用いることもでき、ルータ１〜６のＣＰＵ使用率を用いて配信サーバコストを決定する。
以下、一例として、配信サーバ１ａ〜３ａのＣＰＵ使用率と、配信サーバ１ａ〜３ａからのデータ出力レート（転送パケット数又は転送バイト数）とを組み合わせて配信サーバコストとする方法について説明する。
配信サーバ１ａ〜３ａのサーバコストを表す一つの指標は、配信サーバ１ａ〜３ａがクライアント装置３０からサービス提供の要求メッセージを受信し、その後、配信サーバ１ａ〜３ａがその要求されたサービスの提供を開始するまでの処理時間である。この処理時間の一例は、配信サーバ１ａ〜３ａが配信要求を受信してから、その要求されたコンテンツを含むパケットを送信するまでの時間である。また、第２の処理時間の例は、ＣＤＮ１４０を介した通信型のテレビゲーム等のネットワークゲームにおいて，配信サーバ１ａ〜３ａがクライアント装置３０からの制御メッセージを受信し、その制御メッセージに対する応答メッセージをクライアント装置３０に送信するまでの時間である。
これら２種類の例において、処理時間をともにＴとすると、制御装置４０は、Ｔをおおよそ２種類の部分に分けて処理する。つまり、配信サーバ１ａ〜３ａが受信した配信要求を配信サーバ１ａ〜３ａ自身のＣＰＵが処理する時間（ＣＰＵ処理時間）Ｔ１と、配信サーバ１ａ〜３ａがＣＰＵ処理を終了してから配信サーバ１ａ〜３ａ自身のインタフェースを介して応答メッセージをＣＤＮ１４０に出力するまでの時間Ｔ２とに分けて処理するのである。
ここで、ＣＰＵ処理時間Ｔ１はＣＰＵ使用率に依存する。この理由は、新規に配信サーバ１ａ〜３ａに到着した配信要求は、配信サーバ１ａ〜３ａ内のバッファ（図示省略）に一旦キューイングされ、ＣＰＵ使用率の上昇に従って、ＣＰＵはキュー処理以外の別個の処理に割り当てられ、到着した配信要求はキューイングされた状態が続くからである。従って、ＣＰＵ処理時間Ｔ１はＣＰＵ使用率の関数ｆ（ＵＣＰＵ）によって表され、ＣＰＵ処理時間Ｔ１はＣＰＵ使用率の上昇によって増加する。
一方、配信サーバ１ａ〜３ａが、応答メッセージをＣＤＮ１４０に出力するまでの時間Ｔ２は、上述のリンクコストにおけるパケット処理時間と同様に処理される。つまり、配信サーバ１ａ〜３ａがパケットをＣＤＮ１４０に出力する速度ＰＯＵＴ（又はＲＯＵＴ）について、式（５），（６）を用いてそれぞれ、配信サーバ１ａ〜３ａのインタフェースの帯域使用率と配信サーバ１ａ〜３ａのインタフェースの処理遅延とが得られる。
配信サーバのインタフェースの帯域使用率ρ  ＝ＰＯＵＴ／ＢＮＩＣ        （５）
配信サーバのインタフェースの処理遅延ｄＯＵＴ＝ｈ×（ρ／（１−ρ））  （６）
ここで、ＢＮＩＣは配信サーバ１ａ〜３ａのインタフェースの物理的な転送速度であり、ｈはパケットの平均保留時間である。従って、処理時間Ｔは、式（７Ａ）により得られる。
処理時間Ｔ＝ｆ（ＵＣＰＵ）＋ｈ（ρ／（１−ρ））              （７Ａ）
そして、制御装置４０が、この処理時間Ｔを、本配信サーバ１ａ〜３ａのコストＣＳとして用いることにより、制御装置４０は配信サーバ１ａ〜３ａのうちの処理時間Ｔが最小となる配信サーバ１ａ〜３ａを選択可能になる。
なお、配信サーバ１ａ〜３ａの処理時間を、上記ＣＰＵ使用率を用いて処理する方法は、ルータ１〜６のＣＰＵ処理時間の計算にも適用可能である。つまり、ルータ１〜６がパケット処理に要する処理時間ＴＰは式（７Ｂ）により表される。
処理時間ＴＰ＝ｆ（ＵＣＰＵ）                                  （７Ｂ）
制御装置４０は、この処理時間ＴＰをリンクコストの式（７Ａ）に加算することにより、ＣＰＵ負荷による遅延の効果を加味したリンクコストが得られる。
ここで、上述のダイクストラ計算により検索した最小コスト転送経路のリンクコストの和をそれぞれΣＣＬ１，ΣＣＬ２，ΣＣＬ３とする。また、制御装置４０が保持するルータ３，４，６に接続した配信サーバ１ａ〜３ａの配信サーバコストを、それぞれ、ＣＳ１，ＣＳ２，ＣＳ３とする。そして、転送経路のコストの和と配信サーバ１ａ〜３ａのコストとが加算され、それぞれトータルコストＴＣ１，ＴＣ２，ＴＣ３を計算する。
ＴＣ１  ＝  α×ΣＣＬ１  ＋  β×ＣＳ１
ＴＣ２  ＝  α×ΣＣＬ２  ＋  β×ＣＳ２
ＴＣ３  ＝  α×ΣＣＬ３  ＋  β×ＣＳ３
ここで、α，βは、いずれも、定数である。一例として、α，βは、０から１までの値であり、配信サーバ１ａ〜３ａおよびＣＤＮ１４０のいずれを重視するかによって決定される。なお、これらの値は、経験的に得られた値、又はシミュレーションにより得られた値が使用されることが多い。
トータルコストは、ＣＤＮ１４０の負荷と配信サーバ１ａ〜３ａの負荷との両方を考慮した指標であり、ＴＣ１〜ＴＣ３が最も小さい転送経路と配信サーバ１ａ〜３ａとの組み合わせを、要求されたコンテンツの配信経路と配信サーバ１ａ〜３ａとして選択する。これにより、配信サーバ１ａ〜３ａの負荷増加と、ＣＤＮ１４０の負荷増加との双方を回避できる。
また、リンクコストと配信サーバコストとの和の計算は、外部（例えばネットワーク運用者）より指定可能な重み付けパラメータが用いられる。そして、経路制御部２５が、各個別リンクコストおよび配信サーバ１ａ〜３ａのサーバコストのそれぞれについて重み付けしたものを用いて最小コスト配信経路を決定する、
これにより、トータルコスト計算時に、ＣＤＮ１４０の負荷の影響を重視したコスト計算ができ、また、逆に配信サーバ１ａ〜３ａの負荷の影響を重視してコストを計算することもできる。これにより、ネットワーク運用者の意図によりコスト計算の方法が調整可能となる。
なお、配信要求の中に帯域等の品質保証要求が含まれている場合は、制御装置４０は、ダイクストラ計算において、リンク帯域が要求帯域を満たすか否かを判定し、リンク帯域が要求帯域を満たさないリンクのコストを無限大にし、又は計算対象から除外し、最小コスト転送経路にそのリンクが含まれないようにする。この方法は本発明者らにより提案されたＧＳフローに対する転送経路計算手法を用いて実現可能である。
このような構成により、本発明の第１実施形態に係るストリーミング配信システム１００の制御装置４０の配信経路決定方法について、図７，図８を参照して詳述する。
図７は本発明の第１実施形態に係る負荷情報の収集方法を説明するためのフローチャートである。
負荷情報収集部４１は、ステップＡ１において、予め決められた周期ごとに又は予め決められた時刻が到来したか否かをチェックして、未だ時刻が到来していない場合はＮＯルートを通り、処理を終了する。一方、ステップＡ１において、上記の周期又は時刻が到来した場合は、ＹＥＳルートを通り、ステップＡ２において、負荷情報収集部４１は、ＣＤＮ１４０内の各ルータ１〜６にアクセスし、各ルータ１〜６が保持する統計情報を収集する。
ここで、負荷情報収集部４１は、１台のルータ１〜６から取得する統計情報として、その１台のルータ１〜６と、このルータ１〜６および接続先のルータ１〜６間の複数のリンクについて、単位時間あたりの転送量又は物理帯域に関する情報とを取得し、さらに、その１台のルータ１〜６にエントリする（インタフェース）ためのアドレスと、接続先ルータ１〜６のインタフェースのアドレスとを取得する。負荷情報収集部４１は、さらに、配信サーバ１ａ〜３ａからサーバコストを表す値と、配信サーバ１ａ〜３ａのインタフェースのアドレスと接続先インタフェースのアドレスとを取得する。
そして、負荷情報収集部４１は、ステップＡ３において、配信サーバ１ａ〜３ａの負荷情報を収集し、処理が終了する。負荷情報収集部４１は、収集した各負荷情報をデータベース１０に格納する。
なお、負荷情報収集部４１と各ルータ１〜６および配信サーバ１ａ〜３ａとの間において、負荷情報（コスト情報）を転送するためのプロトコルは、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ），ＣＬＩ（Ｃｏｍｍａｎｄ  Ｌｉｎｅ  Ｉｎｔｅｒｆａｃｅ）又はＣＯＰＳ（Ｃｏｍｍｏｎ  Ｏｐｅｎ  Ｐｏｌｉｃｙ  Ｓｅｒｖｉｃｅ）等が用いられる。
このように、制御装置４０は、ルータ１〜６と配信サーバ１ａ〜３ａとのそれぞれのコストを収集できる。
図８は本発明の第１実施形態に係る配信経路決定方法を説明するためのフローチャートである。
まず、制御装置４０は、ユーザからの配信要求を受信すると（ステップＢ１）、転送経路と配信サーバ１ａ〜３ａとのそれぞれについてのコストをダイクストラ計算し（ステップＢ２）、このダイクストラ計算の結果、転送経路の有無を判定する（ステップＢ３）。
ここで、転送経路がない場合はＮＯルートを通り、ユーザに対して受付拒否を通知して処理は終了する（ステップＢ４）。一方、ステップＢ３において、転送経路がある場合は、制御装置４０は、配信サーバ１ａ〜３ａおよび配信経路の組を複数の組の中から選択してから、ＹＥＳルートを通る。また、制御装置４０は、ステップＢ５において、コンテンツを実際に配信するためのパスを、その選択された組の転送経路に設けられた各ルータ１〜６に設定し、そして、ステップＢ６において、選択された組の配信サーバ１ａ〜３ａに対してコンテンツの配信開始を通知する。
従って、本発明の配信経路決定方法は、コンテンツを配信する複数の配信サーバ１ａ〜３ａと通信する複数の配信サーバ側ルータ３，４，６と、コンテンツを受信するクライアント装置３０と通信するクライアント側ルータ１とをそなえたストリーミング配信システム１００におけるものである。
まず、制御装置４０は、１又は複数の配信サーバ１ａ〜３ａの配信サーバ１ａ〜３ａの配信サーバコストを収集し、６台のルータ１〜６のうちの隣接ルータから収集した隣接ルータ間の個別リンクコストを収集する。
そして、制御装置４０は、配信サーバコストと個別リンクコストとの総和をダイクストラ計算により計算し、総和に基づいて例えば３本の配信経路のうちのコストが最小となる最小コスト配信経路を決定する。
このように、ストリーミング配信システム１００におけるコンテンツ配信サーバ１ａ〜３ａやキャッシュサーバ等配信サーバ１ａ〜３ａの負荷増加と、ＣＤＮ１４０内の負荷増加との双方が回避され、また、最適な配信経路と配信サーバ１ａ〜３ａの組とを選択できる。
そして、このようにして、信頼性の高いコンテンツ配信ＣＤＮ１４０が実現できる。
（Ａ２）配信サーバ１ａ〜３ａ側からクライアント装置３０側までの配信経路計算を効率化する方法（第２の方法）
第２の方法は、第１の方法における配信経路計算部２５ａをさらに効率化するものである。
第２の方法は、経路制御部２５が、クライアント装置３０から特定のコンテンツの転送要求を受信すると、クライアント側ルータ１を起点としてクライアント側ルータ１から各配信サーバ１ａ〜３ａまでのリンクコストと配信サーバコストの総和が最小となるとなる配信経路をダイクストラ計算により行なうようになっている。ここで、第２の方向と第１の方向との違いについて図９を参照して説明する。
図９は本発明の第１実施形態に係る第２の方法を用いた配信経路計算方法を説明するための図である。この図９に示すルータ１，５，６間のリンクコストの値は、ルータ１からルータ６への方向と、ルータ６からルータ１への方向との双方向について異なる。この理由は、隣接ルータ間を伝送するパケットの量は、伝送方向により異なるからである。従って、データベース１０（図５参照）は、同一の隣接ルータ間のリンク値を、別個に保持している。
そして、一般的なダイクストラ計算方法は、所望のルータ（ノード）を起点にして計算を開始し、他の全ルータまでの最小コスト配信経路を計算する。また、例えばクライアント側ルータ１等の所望のルータから、このクライアント側ルータ１に隣接する隣接ルータ２，５へのリンクをそのリンクコスト値を参照することにより検索する。
すなわち、第１の方法のような通常のダイクストラ計算は、クライアント側ルータ１から隣接ルータ２，５方向へのリンクコスト値を用いることにより、起点ルータからこの起点ルータ以外のルータへの配信経路が計算される。
また、ダイクストラ計算は、第１のルータから第１のルータの隣接ルータに対するリンクを検索するときに、使用するリンクコストとして隣接ルータから自ルータ方向のコスト値を用いることにより、全配信サーバ１ａ〜３ａからクライアント側ルータ１への配信経路を計算し、最もコストが小さくなる配信サーバ１ａ〜３ａと配信経路との組を配信用の配信サーバ１ａ〜３ａと配信経路との組として選択する。
これに対して、経路制御部２５が、隣接ルータからルータ１への方向（ルータ１から隣接ルータへの方向と逆方向）のコスト値を用いて、クライアント側ルータ１を起点に配信サーバ側ルータへの最小コスト配信経路を計算することもでき、この計算方法は、後述する第２実施形態において説明する。
さらに、各方法の違いを計算回数を用いて比較すると、第１の方法におけるダイクストラ計算は３回であって、配信サーバ側ルータ３，４，６からクライアント側ルータ１まで配信サーバ１ａ〜３ａの台数分だけダイクストラ計算を繰り返し実行する必要がある。この場合、ＣＤＮ１４０の規模が大きくなって配信サーバ１ａ〜３ａが増加する場合、ＣＤＮ１４０内のルータ数が増加するとダイクストラ処理部の計算時間が増加する可能性がある。これは、クライアント装置３０の配信要求から配信開始までの時間が長くなることを意味しサービス品質の低下を招く。
一方、第２の方法は、経路制御部２５が、配信経路計算処理を効率化するために、配信サーバ側ルータ３，４，６を起点にしてクライアント側ルータ１までの配信経路をダイクストラ計算するのではなく、クライアント側ルータ１を起点にダイクストラ計算を１回行なうのである。
また、この逆方向のリンクコスト値を用いることにより、実質上各配信サーバ側ルータ３，４，６からクライアント側ルータ１までの最小コストを計算することと等価である。
このような構成により、経路制御部２５は、クライアント装置３０から例えばコンテンツＡの配信要求を受信すると、クライアント側ルータ１を起点としてダイクストラ計算を行なう。具体的には、経路制御部２５は、隣接ルータ対のクライアント側ルータ１から配信サーバ側ルータ３，４，６に対するリンクを検索するときに、ダイクストラ計算を用いて３台の全配信サーバ側ルータ３，４，６からクライアント側ルータ１への３種類のコストを取得する。さらに、経路制御部２５は、隣接ルータ間のリンクコストと配信サーバ１ａ〜３ａのコストとの総和を加算しそれぞれ３種類のトータルコストを計算する。ここで、配信サーバコストの導出と加算方法とはともに第１の方法と同様である。
続いて、経路制御部２５は、最小コストとなる配信サーバ１ａ〜３ａと配信経路との組を配信サーバ１ａ〜３ａと配信経路との組として選択し、各配信サーバ側ルータからクライアント側ルータ１への配信経路として、トータルコストが最も小さい配信経路と配信サーバ１ａ〜３ａとの組み合わせを、要求されたコンテンツを配信する配信経路および配信サーバ１ａ〜３ａとして選択する。
これにより、配信サーバ１ａ〜３ａの負荷増加と、ＣＤＮ１４０内の負荷増加との双方を回避できる。
また、経路制御部２５は、他の計算により、配信サーバ１ａ〜３ａのコスト値をリンクのコストとみなしてダイクストラ計算を行なうようにもでき、従って、このようにすれば、１回のダイクストラ計算により、リンクコストと配信サーバコストとの両方を考慮して配信経路を決定できる。
なお、第２の方法は、第１の方法と同様にリンクコストと配信サーバコストの和を計算するときに、外部によって指定可能な重み付けパラメータを用いて加算し、トータルコスト計算時に、ＣＤＮ１４０の負荷の影響を重視したコスト計算を行なったり、逆に配信サーバ１ａ〜３ａの負荷の影響を重視したりする等、ネットワーク運用者の意図によりコスト計算の方法を調整可能である。
このように、１回のダイクストラ計算により全配信サーバ側ルータ３，４，６からクライアント側ルータ１までの配信経路の計算が可能となる。従って、第１の方法と比較して３回の計算が不要となるので明らかに計算の効率が改善される。
（Ａ３）配信サーバ１ａ〜３ａ側からクライアント装置３０側までの配信経路計算を効率化する別の方法（第３の方法）
第３の方法は、ＣＤＮ１４０内の配信サーバ１ａ〜３ａに関し、それらの配信サーバ１ａ〜３ａに仮想的なリンクを介して接続された一台の仮想サーバ（仮ノード）を用いるものである。
図１０は本発明の第１実施形態に係る仮想サーバおよび仮想リンクを用いた配信経路計算方法を説明するための図である。この図１０に示すストリーミング配信システムモデル１００ｖは、送信元（Ｓｏｕｒｃｅ）の仮想サーバ２６から送信先（Ｄｅｓｔｉｎａｔｉｏｎ）のルータＤへの方向について、配信経路を計算するものであって、ルータＤと、このルータＤに接続された配信サーバ側ルータＳ１，Ｓ２，Ｓ３と、配信サーバ側ルータＳ１〜Ｓ３のそれぞれに接続された配信サーバ１ａ〜３ａと、配信サーバ側ルータＳ１〜Ｓ３のそれぞれに接続された仮想サーバ２６とをそなえて構成されている。なお、図１０に示すもので、上記と同一符号を有するものは同一のものを表す。
ここで、ルータＤおよび配信サーバ側ルータＳ１，Ｓ２，Ｓ３は、それぞれ、クライアント側ルータ１およびは配信サーバ側ルータ３，４，６と同一機能を有する。
そして、仮想サーバ２６は、仮想リンクを介して、配信サーバ側ルータ３，４，６のそれぞれに接続され、ダイクストラ計算における起点にされ、１回の計算により、仮想サーバ２６からルータＤへの方向の最小コスト配信経路を計算するものであり、仮のパケット送信元を表す仮想ソースとして機能している。また、配信サーバ１ａ〜３ａのコストが仮想リンクにおけるコストとして用いられるので、新たに配信サーバ１ａ〜３ａのコスト加算を不要としている。
従って、経路制御部２５が、配信サーバ１ａ〜３ａのそれぞれに仮想リンクを介してアクセスする仮想サーバ（仮ノード）２６からルータＤへの方向の個別リンクコストを用いて、上記の配信サーバ１ａ〜３ａおよび配信経路の組を決定するようになっている。
また、制御装置４０ｃは、制御装置４０とほぼ同様に、負荷情報に関するデータと統計情報に関するデータを保持するものであって、データベース１０ａを有する。
図１１は本発明の第１実施形態に係るデータベース１０ａのデータ構造を説明するための図である。この図１１に示すデータベース１０ａは、仮想サーバ２６を用いた経路計算に用いられるものであって、例えばＫ台のルータ１，…，ルータＫと、仮想サーバ２６とのそれぞれについて、各ルータ１〜Ｋのうちの隣接ルータ間におけるリンクコストと、仮想サーバ２６の仮想リンク１〜Ｓ（Ｓは自然数を表す。）とのそれぞれを保持するものである。
図１１に示すデータベース１０ａは、データベース１０と異なり、例えばルータ１の保持するコスト（図１１に示すルータ１の欄参照）は、ルータ１とルータ２〜Ｎとの間の負荷情報に加えて、ルータ１および仮想リンク１間のコスト（仮想リンク１と表示された欄参照）が保持されている。さらに、データベース１０ａは、データベース１０には保持されていない仮想サーバの欄を設け、配信サーバ１ａ〜３ａに相当する仮想リンクＳ１〜Ｓ３等についての物理的な接続データが保持されるようになっている。このデータベース１０ａは、データベース１０と同様に、各ルータ１〜６および仮想サーバ１〜３について統計情報ＷＬ，ＷＲ，ＷＵを保持している。なお、図１１に示すもので、上記の符号と同一符号を有するものは、同一のものを表す。
このような構成によって、図１０に示す配信サーバ２６側からルータＤ側への配信経路の計算は、配信サーバ１ａ〜３ａのコストを等価的にリンクコストに置換し、また、全配信サーバ１ａ〜３ａを仮想リンクに置換し、その全仮想リンクを仮想的な配信サーバ１ａ〜３ａに接続する。
制御装置４０ｃは、クライアント装置３０から特定のコンテンツの配信要求を受信すると、仮想サーバ２６からクライアント装置３０への配信経路のうちの最小コストとなるものをダイクストラ計算する。なお、このダイクストラ計算開始の契機は、ＣＤＮ１４０のネットワーク運用者から転送要求を出力したことを契機とするようにもできる。
そして、制御装置４０ｃ内の経路制御部２５は、定期的、あるいは決められた時刻において、クライアント装置３０から仮想サーバ２６までのコストが最小となる配信経路を計算し、クライアント装置３０からの配信要求転送先の配信サーバ１ａ〜３ａと配信経路との組として選択する。これにより、ダイクストラ計算により決定された配信経路と配信サーバＳ１〜Ｓ３との組み合わせを、要求されたコンテンツを配信する配信経路と配信サーバＳ１〜Ｓ３との対として選択される。
また、配信サーバ１ａ〜３ａのコストを仮想リンクのコスト値に置換する方法は、配信サーバ１ａ〜３ａのコストとして導出した各種の値を用いて実施するようにもできる。また、配信サーバ１ａ〜３ａについて種々の観測値を組み合わせて配信経路を計算してもよく、又は実際のリンクコスト値に重み付けのためのパラメータを乗算するようにして、配信経路を計算してもよい。
従って、配信経路計算処理の効率化および高速化が図れ、また、配信サーバ１ａ〜３ａの負荷増加と、ＣＤＮ１４０内の負荷増加との双方を回避できる。
また、第２の方法と第３の方法とを比較すると、第２の方法は、１回のダイクストラ計算で済むが、トータルコストを計算するために経路本数分の計算を必要とする。これに対して、第３の方法は、１回のダイクストラ計算により、各配信サーバ側ルータ３，４，６からクライアント側ルータ１までの各組について、トータルコストが最小となる配信経路を取得でき、これにより、配信経路計算が効率化される。
なお、ストリーミング配信システム１００ｖは、広域負荷分散制御システムを利用することもできる。
配信経路の計算機能は、第１実施形態においては、ＣＤＮ１４０の各装置に接続されている集中制御サーバ型の制御装置４０が用いられているのに対して、広域負荷分散制御システムにおいては、経路計算の機能を、ＣＤＮ１４０内の１又は複数のルータに配置されて分散制御を用いて得ることもできる。
この場合、１又は複数のルータは、複数のルータ（例えばルータ１〜６）および配信サーバ１ａ〜３ａのトポロジを保持し、定期的にルータおよび各配信サーバ１ａ〜３ａの負荷情報を観測するようになっている。従って、その経路計算機能を有するルータ等は、常時、ルータ，配信サーバ等のコストを把握できる。
このような構成によって、クライアント装置３０は最も近いルータに対してコンテンツＡの配信要求を送信し、ルータが転送要求を受信すると、ルータはルータ自身が把握しているトポロジと負荷情報とに基づいて最適なコンテンツ配信経路および配信サーバ１ａ〜３ａを計算する。
このように、集中制御サーバ型の制御方法と分散制御型の制御方法との双方を用いることができ、上記の各利点が得られるほかに、ＣＤＮ１４０の運営上の利便が図れる。
（Ｂ）本発明の第２実施形態の説明
第２実施形態における配信サーバ１ａ〜３ａの選択決定方法は、クライアント装置３０側から配信サーバ１ａ〜３ａ側への配信経路を計算し、かつクライアント装置３０が出力する配信要求の転送時間が最も早い配信経路を用いるものである。
第２実施形態におけるストリーミング配信システム１００ｂ（後述する図１２参照）も、ストリーミング配信システム１００と同様であり、以下に説明するもののうちの上記と同一符号を有するものは、上述したものと同一機能を有する。以下、（Ｂ１），（Ｂ２）について説明する。
（Ｂ１）クライアント装置３０側から配信サーバ１ａ〜３ａ側までの配信経路を個別に計算する方法
第２実施形態の経路制御部２５における配信経路計算方法は、クライアント装置３０から配信サーバ１ａ〜３ａの方向に関してダイクストラ計算する点が、第１実施形態の経路制御部２５における計算方法と異なる。この一方、制御装置は、第１実施形態の制御装置４０と同一のものを使用できる。
また、ルータ／サーバ制御部４０ｂにおいて、決定した配信経路にパスを設定する場合、第１実施形態においては、配信サーバ側ルータ３，４，６に対してパス設定を指示するが、第２実施形態においては、クライアント側ルータ１に対して、配信サーバ側ルータ３，４，６までのパスを設定するように指示される。
このため、経路制御部２５が、クライアント側ルータ１からの転送要求を受信した配信サーバ１ａ〜３ａからクライアント側ルータ１への応答経路として、クライアント側ルータ１から配信サーバ側ルータ３，４，６への方向の個別リンクコストを用いて、配信要求転送先の配信サーバ１ａ〜３ａおよび配信経路の組を決定する。
また、クライアント装置３０から配信サーバ１ａ〜３ａへファイルデータを転送する場合、第１実施形態における経路制御部２５は、配信経路としてコンテンツの伝送する方向、つまり配信サーバ１ａ〜３ａが接続されているルータからクライアント装置３０が接続しているルータへの方向に基づいて配信経路を計算している。
これに対して、第２実施形態の配信方法は、クライアント側ルータ１が配信要求等の制御メッセージを、配信サーバ１ａ〜３ａ宛てに直接転送し、転送要求が伝送する配信経路上のコストに基づいて配信サーバ１ａ〜３ａが選択される。つまり、第２実施形態の計算方法は、クライアント装置３０側から配信サーバ側への配信経路のコストと、配信サーバ１ａ〜３ａのコストとの双方を参照し、これにより、コンテンツ配信の性能向上を図るようにしている。
図１２は本発明の第２実施形態に係るストリーミング配信システムの構成図である。この図１２に示すストリーミング配信システム１００ｂは、クライアント装置３０，各ルータ１１，２〜６および配信サーバ１ａ〜３ａ等をそなえて構成されている。
また、第２実施形態における制御は、ＣＤＮ１４０内の例えばクライアント側ルータ１１に設けられ、自律分散的に制御されるようになっている。なお、この制御機能はクライアント側ルータ１以外のルータに設けてもよく、又は集中制御サーバ型の制御装置４０（図示省略）に設けられてもよい。
クライアント側ルータ１は、ＣＤＮ１４０内の全ルータ１〜６および配信サーバ１ａ〜３ａのトポロジを保持する機能と、定期的に各ルータ１〜６および各配信サーバ１ａ〜３ａの負荷情報を観測する機能とを有し、常時、各ルータ１〜６，配信サーバ１ａ〜３ａ等のコストを把握できるようになっている。
なお、図１２に示すもののうちの上述したものと同一の符号を有するものは、既に述べたものと同一機能を有する。
このような構成によって、クライアント装置３０は最も近いルータ１に対してコンテンツＡの配信要求を送信し、ルータ１がこの配信要求を受信すると、ルータ１に設けられた制御機能が、ルータ１自身が把握しているトポロジ情報と負荷情報とに基づいて最適な配信要求の配信経路および配信サーバ１ａ〜３ａを計算する。
つまりルータ１は、ルータ１からルータ３，４，６のそれぞれまでの配信経路を計算する。この配信経路の計算方法は、第１実施形態の計算方法と同様に、ダイクストラアルゴリズムを用いる。さらに、各配信サーバ１ａ〜３ａの配信サーバコストに関しても、第１実施形態の配信サーバコストの計算方法と同様な計算方法を用いる。
続いて、ルータ１は、各配信経路のコストと配信サーバ１ａ〜３ａのコストとを加算し、各配信経路についてトータルコストを計算する。ここで、配信要求の配信経路と配信サーバ１ａ〜３ａとの組は、トータルコストが最も小さい配信経路とコストとの組が選択される。
このように、第２実施形態においては、配信サーバ１ａ〜３ａの負荷増加と、ＣＤＮ１４０内の負荷増加との双方を回避できる。また、配信サーバ１ａ〜３ａのコスト値は、第１実施形態のコストと同様の値を用いることにより、第１実施形態において得られた利点と同様の利点が得られる。
（Ｂ２）クライアント装置３０側から配信サーバ１ａ〜３ａ側までの配信経路計算を効率化する方法
第２実施形態においても、図１１に示すデータベース１０ａを用いて仮想サーバ５０および仮想リンクを用いた場合の配信経路を計算できる。
図１３は本発明の第２実施形態に係る第２の配信経路の計算方法を説明するための図であって、仮想サーバ５０と仮想リンクとが用いられている。この図１３に示すストリーミング配信システムモデル１００ｗは、送信元（Ｓｏｕｒｃｅ）がクライアント装置３０であり、また、送信先（Ｄｅｓｔｉｎａｔｉｏｎ）が、配信サーバ側ルータＤ１，Ｄ２，Ｄ３である。従って、第１実施形態におけるストリーミング配信システムモデル１００ｖと比較して、送信先と送信元とが反対になっている。そして、仮想サーバ５０と仮想リンクとを導入し、これにより、配信経路計算の効率化を図るようにしている。
具体的には、クライアント装置３０側のクライアント側ルータＳを起点として、このクライアント側ルータＳが、仮想サーバ５０までの配信経路をダイクストラ計算を用いて計算し、この１回の計算により、各配信サーバ１ａ〜３ａまでの最小コストの配信経路を計算する。
従って、配信サーバ１ａ〜３ａのコストが仮想リンクのコスト値に置換されているので、第１実施形態と同様に、配信サーバ１ａ〜３ａのコストとして導出した各種の値を用いることができ、新たに配信サーバ１ａ〜３ａのコストの加算が不要となる。また、各種の配信サーバ１ａ〜３ａの観測値を組み合わせたり、実際のリンクのコスト値に対する重み付けを行なう調整パラメータを乗じることも可能である。これに対して、配信経路計算処理の効率化および高速化を図れる。
従って、経路制御部２５が、クライアント側ルータ１からの転送要求を受信した配信サーバ１ａ〜３ａからクライアント側ルータ１への応答経路として、配信サーバ１ａ〜３ａのそれぞれに仮想リンクを介してアクセスする仮想サーバ（仮ノード）５０からクライアント側ルータ１への方向の個別リンクコストを用いるとともに、クライアント側ルータ１から配信サーバ側ルータ３，４，６への方向の個別リンクコストを用いて、配信要求転送先の配信サーバ１ａ〜３ａおよび配信経路の組を決定するように構成されたことになる。
さらに、ダイクストラ計算により決定された配信経路と配信サーバ１ａ〜３ａとの組み合わせは、配信要求の配信経路と配信サーバ１ａ〜３ａとの組として選択される。これにより、配信サーバ１ａ〜３ａの負荷増加と、ＣＤＮ１４０内の負荷増加との双方を回避することができる。
このように、やはり、効率的な計算が可能となる。
なお、ストリーミング配信システム１００ｗは、広域負荷分散制御システムを利用することもできる。この場合、経路計算の機能を、ＣＤＮ１４０内の１又は複数のルータに付与し、これにより、分散制御を用いる。ここで、この経路計算機能を付与されたルータ（例えばルータ１）は、例えばルータ１〜６および配信サーバ１ａ〜３ａのトポロジを保持し、定期的にルータおよび各配信サーバ１ａ〜３ａの負荷情報を観測する。
このような構成によって、クライアント装置３０は例えば最も近いルータに対してコンテンツの配信要求を送信し、ルータが転送要求を受信すると、ルータはルータ自身が把握しているトポロジと負荷情報とに基づいて最適なコンテンツ配信経路および配信サーバ１ａ〜３ａを計算する。
このように、集中制御サーバ型の制御方法と分散制御型の制御方法との双方を用いることができ、上記の各利点が得られるほかに、ＣＤＮ１４０の運営上の利便が図れる。
（Ｃ）その他
本発明は上述した実施態様及びその変形態様に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、種々変形して実施することができる。
上述のストリーミング配信システム１００（図３等参照）の各装置間のインタフェースは、無線を用いることもできる。例えば、クライアント装置３０，ルータ１間のアクセス部分，各ルータ間，ルータ３〜６および配信サーバ１ａ〜３ａ間のアクセス部分，クライアント装置３０および制御装置４０間又は各ルータおよび制御装置４０間のうちのいずれかのインタフェースは無線接続でき、これにより、移動体通信システムにおける移動端末等についても本発明を適用することができる。
また、本発明の伝送システムは、パケットを転送する複数のルータをそなえた伝送システムにおいて、複数のルータが、コンテンツを配信する複数の配信サーバと通信する複数の配信サーバ側ルータ３，４，６と、そのコンテンツを受信するクライアント装置３０と通信するクライアント側ルータ１とを含むように構成されるとともに、３台の配信サーバ１ａ〜３ａの各サーバコストと、配信サーバ側ルータ３，４，６およびクライアント側ルータ１間における３本の配信経路についての各個別リンクコストとを保持するデータベース１０と、データベース１０に保持されたサーバコストと各個別リンクコストとの総和に基づいて、例えば３本の配信経路のうちのコストが最小となる最小コスト配信経路を決定する経路制御部２５とをそなえて構成されたことを特徴としている。
ここで、データベース１０に保持されるサーバコストは、３台のすべてについて必ずしも保持しておく必要はない。例えば３台の配信サーバ１ａ〜３ａのうちの２台については予め得られたコスト（例えば固定値）を用いることができる。
【産業上の利用可能性】  以上のように、本発明によれば、コンテンツ配信サーバおよびキャッシュサーバ等の負荷増加と、ネットワーク内の負荷増加との双方を回避でき、最適な配信経路と配信サーバとの組を選択可能となり、これにより、信頼性の高いコンテンツ配信ネットワークを実現できる。
【図１】
2004073269.tif 000003
【図２】
2004073269.tif 000004
【図３】
2004073269.tif 000005
【図４】
2004073269.tif 000006
【図５】
2004073269.tif 000007
【図６】
2004073269.tif 000008
【図７】
2004073269.tif 000009
【図８】
2004073269.tif 000010
【図９】
2004073269.tif 000011
【図１０】
2004073269.tif 000012
【図１１】
2004073269.tif 000013
【図１２】
2004073269.tif 000014
【図１３】
2004073269.tif 000015
【図１４】
2004073269.tif 000016
【図１５】
2004073269.tif 000017
【図１６】
2004073269.tif 000018
【国際調査報告】
2004073269.tif 000019
2004073269.tif 000020
2004073269.tif 000021
2004073269.tif 000022