(57)【要約】【課題】インターネット等において、スケーラビリティにすぐれたコンテンツ配信を行うことが可能となる。【解決手段】キャッシュサーバ１３とエンド端末Ａ１５，Ｂ１６の双方をコンテンツ配信源として利用し、コーディネータ１４の処理により両者を適切に協調させて、コンテンツ配信を行うことで、インターネット等におけるネットワーク上でのコンテンツ配信を、より柔軟で、かつ、きめ細かく制御することを可能とする。【選択図】図１
2010113460.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークにおけるコンテンツの配信処理制御を行うコンテンツ配信支援システムであって、
コンテンツの複製を記憶装置に蓄積して、ユーザ端末が要求するコンテンツを読み出して該ユーザ端末に送信するキャッシュサーバ装置と、
上記ユーザ端末であり、受信したコンテンツを記憶装置に蓄積して、他のユーザ端末が要求するコンテンツを読み出して該他のユーザ端末に送信するエンド端末と、
上記ユーザ端末からのコンテンツ配信の要求を受け付け、該ユーザ端末が要求するコンテンツを蓄積した上記キャッシュサーバ装置と上記エンド端末を検出し、検出したキャッシュサーバ装置とエンド端末から、各エンド端末に関して予め定められた第１の条件および各エンド端末間のネットワークに関して予め定められた第２の条件に従って、１以上の上記エンド端末もしくは上記キャッシュサーバ装置を上記コンテンツの送信元候補として特定するコーディネータ装置とを有することを特徴とするコンテンツ配信支援システム。
【請求項２】
請求項１に記載のコンテンツ配信支援システムであって、
上記コーディネータ装置は、
上記送信元候補として選択した１以上の上記エンド端末の１つもしくは上記キャッシュサーバ装置に対して、当該コンテンツの要求元ユーザ端末への送信を指示するノード選択手段を有し、
該コーディネータ装置からの指示を受けた上記エンド端末もしくは上記キャッシュサーバ装置は、当該コンテンツを上記要求元のユーザ端末に送信することを特徴とするコンテンツ配信支援システム。
【請求項３】
請求項１に記載のコンテンツ配信支援システムであって、
上記コーディネータ装置は、
上記送信元候補として選択した１以上の上記エンド端末もしくは上記キャッシュサーバ装置へのアクセス情報を当該コンテンツの要求元ユーザ端末に通知するノード選択手段を有し、
上記コンテンツの要求元ユーザ端末は、上記コーディネータ装置から送信元候補として通知された１以上の上記エンド端末もしくは上記キャッシュサーバ装置から１つを選択して、当該コンテンツの配信を要求することを特徴とするコンテンツ配信支援システム。
【請求項４】
請求項１から請求項３のいずれかに記載のコンテンツ配信支援システムであって、
上記コーディネータ装置は、
上記予め定められた第１の条件を記憶管理する手段として、
各エンド端末から、各エンド端末のアドレス情報と当該エンド端末へのアクセス可否の制御に用いるアクセス制御情報を含むユーザ情報を収集して記憶装置に記憶し管理するユーザ管理手段と、
各エンド端末から、各エンド端末におけるリソース利用状況を示すリソース情報を収集して記憶装置に記憶し管理するユーザリソース管理手段と、
各エンド端末から、各エンド端末におけるアップロード時およびダウンロード時のそれぞれの最大数情報と最大転送レート情報を含むユーザポリシー情報を収集して記憶装置に記憶し管理するユーザポリシー管理手段と、
各エンド端末から、各エンド端末が保持する各コンテンツの識別情報を収集し、各コンテンツの識別情報と当該コンテンツを保持するエンド端末の識別情報とを対応付けた情報を生成して記憶装置に記憶し管理するコンテンツ管理手段とを具備すると共に、
上記ノード選択手段は、
上記コンテンツ管理手段が記憶管理する対応付け情報を参照して、ユーザ端末から要求されたコンテンツを保持するエンド端末を検出する第１の手段と、
該第１の手段で検出したエンド端末から、上記ユーザ管理手段が記憶管理するアクセス制御情報を参照して、コンテンツ要求元のユーザ端末からのアクセスが可能なエンド端末を抽出する第２の手段と、
該第２の手段で抽出したエンド端末から、上記ユーザポリシー管理手段が記憶管理するユーザポリシー情報を参照して、最大アップロード数が予め定められた値以上のエンド端末を特定する第３の手段と、
該第３の手段で特定したエンド端末から、上記ユーザリソース管理手段が記憶管理するリソース情報を参照して、リソース使用状況の良好なものから順に予め定められた数のエンド端末を抽出し、該抽出したエンド端末を、上記ユーザ端末から要求されたコンテンツの送信元として選択する第４の手段とを有することを特徴とするコンテンツ配信支援システム。
【請求項５】
請求項４に記載のコンテンツ配信支援システムであって、
上記コーディネータ装置は、
上記予め定められた第２の条件を記憶管理する手段として、
ルータを含む各外部ネットワーク装置から、各外部ネットワーク装置が管理している通信経路情報と各通信経路を構成する各通信回線のトラヒック情報および各通信回線に対して予め定められた優先度情報を収集するネットワーク情報収集手段と、
該ネットワーク情報収集手段が収集した各通信経路情報を記憶装置に記憶し管理するネットワーク情報管理手段と、
上記ネットワーク情報収集手段が収集した各通信回線のトラヒック情報を記憶装置に記憶し管理するネットワークリソース管理手段と、
上記ネットワーク情報収集手段が収集した各通信回線の優先度情報を記憶装置に記憶し管理するネットワークポリシー管理手段とを具備し、
上記ノード選択手段は、
上記ネットワーク情報管理手段が記憶管理する通信経路情報を参照して、上記第３の手段で選択した各エンド端末と当該コンテンツの要求元のユーザ端末間の通信経路を特定する第５の手段と、
該第５の手段で特定した通信経路を構成する各通信回線の通信品質を、上記ネットワークリソース管理手段が記憶管理する各通信回線のトラヒック情報を参照して取得し、取得した通信品質が予め定められた閾値以上の通信回線を抽出する第６の手段と、
該第６の手段で抽出した通信回線から、上記ネットワークポリシー管理手段が記憶管理する各通信回線の優先度情報を参照して、予め定められた閾値以上の優先度の通信回線を抽出する第７の手段と、
該第７の手段で抽出した通信回線からなる通信経路の通信品質を、上記ネットワークリソース管理手段が記憶管理する各通信回線のトラヒック情報を参照して取得し、取得した通信品質の良い順に予め定められた数の通信経路を選択する第８の手段とを有し、
上記第４の手段は、上記第８の手段が選択した通信経路で接続されるエンド端末から、リソース使用状況の良好な順に予め定められた数のエンド端末を抽出して、上記ユーザ端末から要求されたコンテンツの送信元として選択することを特徴とするコンテンツ配信支援システム。
【請求項６】
請求項５に記載のコンテンツ配信支援システムであって、
上記ユーザ管理手段が記憶管理するアクセス制御情報は、ＮＡＴ越えの可否情報を含み、上記ノード選択手段は、上記第２の手段により、上記ＮＡＴ越えの可否情報を参照して、コンテンツ要求元のユーザ端末からのアクセスが可能なエンド端末を抽出し、
上記ユーザリソース管理手段が記憶管理するリソース情報は、各々予め定められた周期毎に更新される、当該エンド端末のＣＰＵクロック数と使用率、メモリ量と使用率、および、ＦＴＴＨを含む回線種別、使用中のネットワークの帯域情報を含み、上記ノード選択手段は、上記第４の手段により、上記エンド端末のＣＰＵクロック数と使用率、メモリ量と使用率、および、ＦＴＴＨを含む回線種別、使用中のネットワークの帯域情報を参照して、リソース使用状況の良好なものから順に予め定められた数のエンド端末を抽出し、
上記コンテンツ管理手段が記憶管理するコンテンツ情報は、各エンド端末が新たな配信コンテンツを記憶するたびに当該エンド端末から収集され、かつ、当該コンテンツの特定に用いるコンテンツＩＤを含み、該コンテンツＩＤは、当該コンテンツのファイル名を固定長のハッシュダイジェストで表記され、該固定長のハッシュダイジェストで表示されるコンテンツＩＤに対応付けて当該コンテンツを保持するエンド端末を記憶管理し、上記ノード選択手段は、上記第１の手段により、上記固定長のハッシュダイジェストで表示されるコンテンツＩＤを検索キーに用いて上記コンテンツ管理手段が記憶管理する情報を参照し、
上記ネットワークリソース管理手段が記憶管理する各通信回線のトラヒック情報は、上記各外部ネットワーク機器が予め定めた周期毎に計測する、各通信回線のトラヒック方向毎のパケットの通過量情報と破棄量情報を含み、上記ノード選択手段は、上記第６の手段により、上記ネットワークリソース管理手段が記憶管理する各通信回線におけるパケットの通過量情報と破棄量情報を参照して当該通信回線の通信品質を取得し、
上記ネットワークポリシー管理手段が記憶管理する各通信回線の優先度情報は、当該通信回線へのアクセスの集中を回避させる、もしくは、当該通信回線の利用を奨励させるための情報であり、
上記ノード選択手段は、上記第７の手段により、通信回線へのアクセスの集中を回避するようもしくは奨励される通信回線を利用するように通信回線を抽出する
ことを特徴とするコンテンツ配信支援システム。
【請求項７】
請求項５もしくは請求項６のいずれかに記載のコンテンツ配信支援システムであって、
上記ネットワーク情報管理手段が記憶管理する通信経路情報は、各エンド端末が属するネットワークエリアを示すネットワーク情報と、各ネットワークエリア間の経路を構成する通信回線を示すパス情報とからなり、
上記ノード選択手段は、上記第５の手段により、上記ネットワーク情報を参照して上記第３の手段が選択した各エンド端末とコンテンツ要求元のユーザ端末のそれぞれのネットワークエリアを取得し、上記パス情報を参照して、上記取得したネットワークエリア間の経路を構成する通信回線を特定することを特徴とするコンテンツ配信支援システム。
【請求項８】
請求項５から請求項７のいずれかに記載のコンテンツ配信支援システムであって、
上記ノード選択手段は、
上記第１の手段が検出したエンド端末の数、上記第２の手段が抽出したエンド端末の数、上記第３の手段が特定したエンド端末の数、上記第６の手段が抽出した通信回線の数、上記第７の手段が抽出した通信回線の数のいずれかが、それぞれに対して予め定められた閾値以下であれば、
上記キャッシュサーバ装置を、上記ユーザ端末から要求されたコンテンツの送信元として選択する手段を有することを特徴とするコンテンツ配信支援システム。
【請求項９】
請求項１から請求項８のいずれかに記載のコンテンツ配信支援システムであって、
上記キャッシュサーバ装置は、
記憶装置に蓄積したコンテンツの複製を、予め定められた条件に従って消去する手段と、
該手段で上記コンテンツの複製を消去したことを上記コーディネータに通知する手段と
を有することを特徴とするコンテンツ配信支援システム。
【請求項１０】
請求項１から請求項８のいずれかに記載のコンテンツ配信支援システムにおけるコーディネータ装置によるコンテンツ配信支援方法であって、
プログラムされたコンピュータ処理手順として、請求項１から請求項８のいずれかに記載のコーディネータ装置における各手段が実行する処理手順を含み、
該処理手順を実行することで、上記キャッシュサーバ装置とエンド端末から、上記コンテンツの送信元を選択することを特徴とするコンテンツ配信支援方法。
【請求項１１】
コンピュータを、請求項１から請求項８のいずれかに記載のコンテンツ配信支援システムにおけるコーディネータ装置が具備する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおけるコンテンツの配信技術に係り、特に、効率的なコンテンツ配信を支援するのに好適な技術に関するものである。
【背景技術】
【０００２】
インターネット等においては、超高精細映像等のリッチコンテンツが流通するようになり、ネットワークでのコンテンツの効率的な配信に必要となる技術が検討、開発されてきた。
【０００３】
従来の、例えば、特許文献１に記載されているＣＤＮ（Ｃｏｎｔｅｎｔ  Ｄｅｌｉｖｅｒｙ  Ｎｅｔｗｏｒｋ）と呼ばれる技術は、ネットワーク上に複数のサーバを設け、各サーバにおいて、コンテンツの複製を地理的に分散して保持し、クライアントからの要求に対しては最も近くの複製をダウンロードするよう指示する技術であり、この技術によって、コンテンツ配信源にかかる負荷を減ずることができばかりでなく、ダウンロード先を戦略的に選択することによってダウンロードに要する時間や、無駄なトラフィックを減ずることができ、コンテンツ配信の効率化を図ることができるというメリットがある。
【０００４】
しかしながら、一般に、ＣＤＮは、ＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）が運用するものではないため、きめ細かい制御を、より柔軟に行うことができないという問題がある。
【０００５】
例えば、あるネットワークが広い地域をカバーしている場合、一般に、ＣＤＮ業者が設置するキャッシュサーバは、全ての地域をカバーするわけではないので、配信元サーバとクライアント（コンテンツ配信要求元）との距離が長い場合がある。
【０００６】
同様に、ＣＤＮ提供者は、一般に、ＩＳＰ内でのネットワークリソース状況を直接的に把握する手段をもたないため、混雑している回線や、できればなるべく利用したくない回線を経由しなければいけないケースも存在する。
【０００７】
また、ＣＤＮは、全世界にまたがるロケーションに、コンテンツ配信用のサーバを設置するモデルであるため、メディアサイズと流通量が増大するにつれてコスト高となり、また、スケーラビリティに欠けるという問題がある。
【０００８】
ネットワークを流通するコンテンツのサイズ（容量）は年々巨大になっているため、上述した制御の柔軟性とスケーラビリティの問題がますます重要になってきている。
【０００９】
【特許文献１】特開２００３−１６７８１０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
解決しようとする問題点は、従来の技術では、（１）配信元サーバとクライアントの距離が長い場合がある点と、（２）混雑している回線や、できればなるべく利用したくない回線を経由しなければいけないケースも存在する点と、（３）メディアサイズと流通量が増大するにつれて、コンテンツ配信用のサーバの設置コストが高くなり、スケーラビリティに欠けるという点である。
【００１１】
本発明の目的は、これら従来技術の課題を解決し、ネットワークにおける、超高精細映像等の巨大サイズのリッチコンテンツの流通を効率化することである。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明では、キャッシュサーバとエンド端末の双方をコンテンツ配信源として利用し、新たに設けたコーディネータの処理により両者を適切に協調させることで、より柔軟できめ細かい制御を可能として、スケーラビリティに優れたコンテンツ配信を実現する。具体的には、ネットワークにおけるコンテンツの配信処理制御を行う装置として、コンテンツの複製を記憶装置に蓄積し、ユーザ端末が要求するコンテンツを読み出してユーザ端末に送信するキャッシュサーバ装置と、ユーザ端末であり、受信したコンテンツを記憶装置に蓄積して、他のユーザ端末が要求するコンテンツを読み出して他のユーザ端末に送信するエンド端末と、ユーザ端末からのコンテンツ配信の要求を受け付け、このユーザ端末が要求するコンテンツを蓄積したキャッシュサーバ装置とエンド端末を特定し、特定したキャッシュサーバ装置とエンド端末からコンテンツの送信元を選択し、送信元として選択したキャッシュサーバ装置もしくはエンド端末へのアクセス情報を、当該コンテンツの要求元ユーザ端末に通知するコーディネータ装置とを設け、通知を受けたユーザ端末は、通知されたキャッシュサーバ装置もしくはエンド端末のいずれか１つを選択して、当該コンテンツの送信を要求する。
【発明の効果】
【００１３】
本発明によれば、コンテンツ配信を、より柔軟で、かつ、きめ細かく制御することが可能であり、スケーラビリティにすぐれたコンテンツ配信を行うことが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、図を用いて本発明を実施するための最良の形態例を説明する。図１は、本発明に係るコンテンツ配信支援システムを設けたネットワークの構成例を示すブロック図であり、図２は、図１における本発明に係るコーディネータの構成例を示すブロック図、図３は、本発明に係るコンテンツ配信支援システムの構成例を示すブロック図、図４は、図２におけるコーディネータの第１の処理動作例を示すフローチャート、図５は、図２におけるコーディネータの第２の処理動作例を示すフローチャート、図６は、図２におけるユーザテーブルの構成例を示す説明図、図７は、図２におけるユーザリソーステーブルの構成例を示す説明図、図８は、図２におけるユーザポリシーテーブルの構成例を示す説明図、図９は、図２におけるコンテンツテーブルの構成例を示す説明図、図１０は、図２におけるネットワークリソーステーブルの構成例を示す説明図、図１１は、図２におけるネットワーク情報テーブルの構成例を示す説明図、図１２は、図２におけるネットワークポリシーテーブルの構成例を示す説明図、図１３は、図２におけるパス情報テーブルの構成例を示す説明図である。
【００１５】
図１において、１１はコンテンツ配信源としてのサーバコンピュータ装置でありネットワーク１０に配置され、このネットワーク１０と図示していないルータ等のネットワーク装置により接続されたネットワーク１２内に、本発明に係るコンテンツ配信支援システムを構成するキャッシュサーバ１３とコーディネータ１４およびエンド端末Ａ１５，Ｂ１６が配置された構成となっている。
【００１６】
これら本発明に係るコンテンツ配信支援システムを構成するキャッシュサーバ１３とコーディネータ１４およびエンド端末Ａ１５，Ｂ１６のそれぞれは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や主メモリ、表示装置、入力装置、外部記憶装置を具備したコンピュータ構成からなり、光ディスク駆動装置等を介してＣＤ−ＲＯＭ等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みＣＰＵで処理することにより、各処理部の機能を実行する。
【００１７】
例えば、図２に示すように、コーディネータ１４は、プログラムされたコンピュータ処理を実行する機能として、ネットワーク計測データ収集部１４ａ、ポリシー入力部１４ｂ、ユーザ通信部１４ｃ、キャッシュサーバ通信部１４ｄ、ネットワークリソース管理部１４ｅ、ネットワーク情報管理部１４ｆ、ネットワークポリシー管理部１４ｇ、ユーザ管理部１４ｈ、ユーザリソース管理部１４ｉ、ユーザポリシー管理部１４ｊ、コンテンツ管理部１４ｋ、データベース管理部（図中「ＤＢ管理部」と記載）１４ｍ、ノード選択部１４ｎを具備している。
【００１８】
また、データベース管理部１４ｍは、記憶装置内に、ネットワークリソーステーブル（図中「ネットワークリソースＴＢＬ」と記載）１４ｍ１、ネットワーク情報テーブル（図中「ネットワーク情報ＴＢＬ」と記載）１４ｍ２、パス情報テーブル（図中「パス情報ＴＢＬ」と記載）１４ｍ３、ネットワークポリシーテーブル（図中「ネットワークポリシーＴＢＬ」と記載）１４ｍ４、ユーザテーブル（図中「ユーザＴＢＬ」と記載）１４ｍ５、ユーザリソーステーブル（図中「ユーザリソースＴＢＬ」と記載）１４ｍ６、ユーザポリシーテーブル（図中「ユーザポリシーＴＢＬ」と記載）１４ｍ７、コンテンツテーブル（図中「コンテンツＴＢＬ」と記載）１４ｍ８を有し、それぞれの情報を記憶管理している。
【００１９】
このような、データベース管理部１４ｍで管理する情報は、図３に示すように、コーディネータ３３ｆが、ネットワークエリア（１）３１に属する各エンド端末３１ａ〜３１ｃやネットワークエリア（２）３２に属する各エンド端末３２ａ，３２ｂから、あるいは、ネットワーク３３に設けられたネットワーク装置としてのルータ３３ａ〜３３ｄから収集する。
【００２０】
以下、このような構成からなる本発明に係るコンテンツ配信支援システムに係る第１〜第７の技術について説明する。まず、第１の技術は、キャッシュサーバ１３とエンド端末Ａ１５，Ｂ１６をコンテンツ配信源１１として適応的に選択して利用するものである。
【００２１】
キャッシュサーバ１３は、システムを利用するユーザから要求のあったコンテンツを２度目以降の要求に備えて蓄積するコンピュータ装置であり、エンド端末Ａ１５，Ｂ１６は、システムを利用するユーザが利用する端末（ユーザ端末）である。
【００２２】
エンド端末Ａ１５，Ｂ１６を含む図示していない多数のユーザ端末（エンド端末）のリソースを配信源として活用することにより、コンテンツ配信に伴う配信源装置（１１）への負荷の集中を削減するとともに、適切なエンド端末を選択することによってネットワークの負荷集中回避や、ネットワークポリシーに応じた効率的なコンテンツ配信が可能となる。
【００２３】
さらに、あるコンテンツを保持するエンド端末が少ない場合は、キャッシュサーバ１３にコンテンツ配信を実施させることにより、コンテンツ取得の可用性を向上することができる。
【００２４】
コンテンツ配信源としてのキャッシュサーバ１３およびエンド端末Ａ１５，Ｂ１６を適応的に選択する機能は、コーディネータ１４によって実現される。コーディネータ１４は、上述したように、プログラムされてコンピュータ処理機能として、以下のような１２の基本機能を有する。
【００２５】
ユーザ管理部１４ｈ、ユーザリソース管理部１４ｉ、ユーザポリシー管理部１４ｊ、ネットワークリソース管理部１４ｅ、ネットワークポリシー管理部１４ｇ、コンテンツ管理部１４ｋ、ノード選択部１４ｎ、ネットワーク計測データ収集部１４ａ、ポリシー入力部１４ｂ、ユーザ通信部１４ｃ、キャッシュサーバ通信部１４ｄ、データベース管理部１４ｍ。
【００２６】
ユーザ管理部１４ｈは、ユーザ自身およびユーザが利用するエンド端末（Ａ１５，Ｂ１６）の情報を収集してデータベース管理１４ｍを介してユーザテーブル１４ｍ５に記憶して管理する。
【００２７】
ユーザリソース管理部１４ｉは、ユーザが利用するエンド端末（Ａ１５，Ｂ１６）のリソース使用状況を収集してデータベース管理１４ｍを介してユーザリソーステーブル１４ｍ６に記憶して管理する。
【００２８】
ユーザポリシー管理部１４ｊは、ユーザがシステムの利用に当たって任意に指定が可能なポリシー（例えば最大同時アップロード数など）を収集してデータベース管理１４ｍを介してユーザポリシーテーブル１４ｍ７に記憶して管理する。
【００２９】
ネットワークリソース管理部１４ｅは、ルータやスイッチ等のネットワーク装置が出力するネットワークリソース利用状況に関するデータを収集してデータベース管理１４ｍを介してネットワークリソーステーブル１４ｍ１に記憶して管理する。
【００３０】
ネットワーク情報管理部１４ｆは、ルータ等のネットワーク装置が出力するルーティングプロトコルのメッセージ、あるいはマニュアル（人手）で指定が可能なネットワークの経路情報やトポロジ情報を収集してデータベース管理１４ｍを介してネットワーク情報テーブル１４ｍ５やパス情報テーブル１４ｍ３に記憶して管理する。
【００３１】
ネットワークポリシー管理部１４ｇは、ある回線への負荷集中を明示的に避ける等のネットワークの管理ポリシーを収集してデータベース管理１４ｍを介してネットワークポリシーテーブル１４ｍ４に記憶して管理する。
【００３２】
コンテンツ管理部１４ｋは、あるコンテンツが現在どのキャッシュサーバ（１３）もしくはエンド端末（Ａ１５，Ｂ１６）において保持され利用が可能であるかの情報を収集してデータベース管理１４ｍを介してユーザテーブル１４ｍ８に記憶して管理する。
【００３３】
ノード選択部１４ｎは、エンド端末Ａ１５，Ｂ１６等から新たなコンテンツの取得要求を受けた際、前述の各管理部（１４ｅ〜１４ｋ）で管理される情報を参照することによって、効率的なリソース割り当てを実現するようにキャッシュサーバ１３もしくはエンド端末Ａ１５，Ｂ１６を選択する。
【００３４】
尚、ネットワーク計測データ収集部１４ａは、ネットワークリソース管理部１４ｅ、ネットワーク情報管理部１４ｆ、ネットワークポリシー管理部１４ｇの各々がルータ等の外部ネットワーク装置から収集したデータを受信する。
【００３５】
また、ポリシー入力部１４ｂは、ネットワークポリシー管理部１４ｇおよびユーザポリシー管理部１４ｊに対して外部からポリシーを入力できる機能を提供する。
【００３６】
また、ユーザ通信部１４ｃは、ユーザ管理部１４ｈ、ユーザリソース管理部１４ｉ、ユーザポリシー管理部１４ｊ、コンテンツ管理部１４ｋに対して、ユーザやコンテンツに関する情報をエンド端末（Ａ１５，Ｂ１６）から送受信・更新する機能と、ノード選択部１４ｎによって選択されたノードをユーザ端末に通知する機能を提供する。
【００３７】
また、キャッシュサーバ通信部１４ｄは、キャッシュサーバ１３からコンテンツに関する情報を送受信する機能、およびキャッシュサーバ１３に対してデータを取得するよう通知を行う機能を提供する。
【００３８】
データベース管理部１４ｍは、前述の各管理部（１４ｅ〜１４ｋ）において管理するデータテーブルをデータベースとして一元的に管理する機能を提供する。
【００３９】
本システムを利用するユーザは、ユーザ端末、例えばエンド端末（Ａ１５，Ｂ１６）を介して、コンテンツの要求を、コーディネータ１４に対して送信し、コーディネータ１４は、ノード選択部１４ｎの出力を利用して、要求元のユーザが操作するユーザ端末（エンド端末Ａ１５，Ｂ１６）に対して適切な１つ以上のダウンロード先の端末（他のエンド端末もしくはキャッシュサーバ１３）を通知し、ユーザは、通知された１つ以上のダウンロード先端末のいずれか１つ、もしくは、キャッシュサーバ１３を利用して、所望のコンテンツをダウンロードする。
【００４０】
尚、ユーザは、通知された２以上のダウンロード先端末を利用することによって、指定のコンテンツを分割ダウンロードすることでも良い。
【００４１】
また、ユーザは、利用するユーザ端末（エンド端末Ａ１５，Ｂ１６）により、通知された端末からのダウンロードを失敗した際には、その旨をコーディネータ１４に通知し、再度、ノード選択要求を行い、コーディネータ１４からの新たなコンテンツ配信元（ノード）の通知を受ける。
【００４２】
第２の技術では、ユーザがシステムを初めて利用する際、もしくは利用終了後に再び利用を開始する際に、ユーザ端末からコーディネータ１４に対して送信する具体的な情報を規定する。
【００４３】
ユーザ端末が送信する情報には、ユーザアカウント、外部アクセス情報、ユーザリソース情報、ユーザポリシー情報、コンテンツ情報がある。
【００４４】
ユーザアカウントとは、システムを利用するユーザを一意に識別が可能な識別子であり、外部アクセス情報とは、ユーザ端末アドレスや外部アクセス用ポート番号、ＮＡＴ越えの可否、利用可能なＮＡＴ越えの手段等、他の端末から該当端末にアクセスするために必要となる情報である。
【００４５】
また、ユーザリソース情報とは、エンド端末Ａ１５，Ｂ１６のＣＰＵクロック数と使用率、メモリ量と使用率、および、エンド端末Ａ１５，Ｂ１６が外部ネットワークに接続されたＦＴＴＨないしはＡＤＳＬ等の回線種別と、エンド端末Ａ１５，Ｂ１６が現在使用中のネットワーク帯域を移動平均等の技術によって逐次更新した値である。
【００４６】
また、ユーザポリシー情報とは、最大コンテンツダウンロード・アップロード可能数や最大ダウンロード・アップロード転送レート等の、ユーザが指定可能なポリシー（方針）に関する情報である。
【００４７】
そして、コンテンツ情報とは、エンド端末Ａ１５，Ｂ１６が保持するコンテンツのファイル名のリストもしくはファイル名を固定長のハッシュダイジェストの形式にしたリストである。
【００４８】
尚、ユーザリソース情報は、初回の送信以降も、任意に設定が可能な周期が到来する毎に情報を送信することが可能であり、ユーザポリシー情報は、ユーザがポリシーを変更した際にコーディネータ１４に再送信することが可能であり、コンテンツ情報は、エンド端末Ａ１５，Ｂ１６が新たに配信可能なコンテンツを取得した後に、コーディネータ１４に再送信することが可能である。
【００４９】
第１の技術で示した機能と第２の技術で規定された情報、および情報を記録するデータベース管理部１４ｍで管理する各テーブル（図６〜図１３）との関係は以下の通りである。
【００５０】
ユーザアカウントおよび外部アクセス情報は，ユーザ管理部１４ｈが、データベース管理部１４ｍを介してユーザテーブル１４ｍ５に記録管理する。その詳細を図６のユーザテーブル６１に示す。
【００５１】
ユーザリソース情報は、ユーザリソース管理部１４ｉが、データベース管理部１４ｍを介してユーザリソーステーブル１４ｍ６に記録して管理する。その詳細を図７のユーザリソーステーブル７１に示す。
【００５２】
ユーザポリシー情報は、ユーザポリシー管理部１４ｊが、データベース管理部１４ｍを介してユーザポリシーテーブル１４ｍ７に記録して管理する。その詳細を図８のユーザポリシーテーブル８１に示す。
【００５３】
コンテンツ情報は、コンテンツ管理部１４ｋが、コンテンツ毎の情報に変換し、データベース管理部１４ｍを介して、コンテンツテーブル１４ｍ８に記録して管理する。その詳細を図９のコンテンツテーブル９１に示す。
【００５４】
本例の第３の技術では、ネットワークリソース管理部１４ｅで管理するデータと、その管理技術の具体例を規定する。
【００５５】
すなわち、ネットワークリソース管理部１４ｅは、ルータ等のネットワーク装置が計測して出力する回線毎およびトラヒック方向毎のパケットカウントやバイトカウント、パケットロス等のデータを予め定めることの可能な周期が到来する毎に収集し、例えば、５分間あるいは１時間等の任意の長さに指定が可能な異なる粒度での計測値、および、それぞれの粒度での指数重み付き移動平均等の統計値として、データベース管理部１４ｍを介して、ネットワークリソーステーブル１４ｍｌに記録・更新する。その詳細を図１０のネットワークリソーステーブル１０１に示す。
【００５６】
本例の第４の技術では、ネットワーク情報管理部１４ｆが管理するデータおよびその管理技術の具体例を規定する。
【００５７】
すなわち、ネットワーク情報管理部１４ｆでは、エンド端末Ａ１５，Ｂ１６を含む各エンド端末が、地域あるいはルーティングプロトコル上のドメイン等、どのネットワークエリアに属するかといった情報を、データベース管理部１４ｍを介して、ネットワーク情報テーブル１４ｍ２に記録して管理する。その詳細を図１１のネットワーク管理テーブル１１１に示す。
【００５８】
また、ネットワーク情報管理部１４ｆは、ルータ等のネットワーク装置から出力されるルーティングプロトコルメッセージを収集し、得られた情報に基づいて作成した経路に関する情報と、予め指定が可能なネットワークトポロジ情報を用いて、ネットワーク上の任意の２点間のエリアとそのパス上に存在する回線の集合を対応付けた情報を生成し、データベース管理部１４ｍを介して、パス情報テーブル１４ｍ３に記録して管理する。その詳細を図１３のパス情報テーブル１３１に示す。
【００５９】
本例の第５の技術では、ネットワークポリシー管理部１４ｇが管理するデータおよびその管理技術の具体例を規定する。
【００６０】
すなわち、ネットワークポリシー管理部１４ｇは、ある特定の回線の集合に対する負荷集中を予め回避する、あるいは、特定の回線集合の利用を奨励するようなネットワークのリソース利用に関するポリシーを、データベース管理部１４ｍを介して、ネットワークポリシーテーブル１４ｍ４に記録して管理する。その詳細は図１２のネットワークポリシーテーブル１２１に示す。
【００６１】
本例の第６の技術においては、ノード選択部１４ｎが、コンテンツの要求に対し、いかにしてダウンロード先のノードを選択するかの具体例を規定する。
【００６２】
まず、ノード選択部１４ｎは、新規に、或るコンテンツＹを要求したユーザＸに対して、第２の技術で説明したユーザテーブル１４ｍ５を参照し、ユーザＸに対応するエンド端末Ｅを同定する。次に、ノード選択部１４ｎは、コンテンツテーブル１４ｍ８（図９のコンテンツテーブル９１）を参照し、コンテンツＹを保持しているユーザアカウントのリストを作成する。
【００６３】
そして、このリストに含まれるユーザアカウントを探索キーとして、ユーザテーブル１４ｍ５（図６のユーザテーブル６１）を参照し、外部アクセス（ＮＡＴ越え）が可能なユーザアカウントのみを抽出し、リストＬＵとして保持する。
【００６４】
尚、この際、該当するユーザアカウントがない場合、もしくは、リストＬＵに含まれるユーザアカウントの数が予め指定が可能な閾値よりも少ない場合には、キャッシュサーバ１３を選択し、選択処理を完了する。
【００６５】
また、リストＬＵに含まれるユーザアカウント数が閾値よりも大きい場合は、リストＬＵに含まれるユーザアカウントを探索キーとして、ユーザポリシーテーブル１４ｍ７（図８のユーザポリシーテーブル８１）を参照し、最大コンテンツ数が「０」のものを削除する。
【００６６】
もし、全てのユーザアカウントが削除された場合は、キャッシュサーバ１３を選択し、選択処理を完了する。
【００６７】
さらに、リストＬＵのユーザアカウントを探索キーに用いてユーザテーブル１４ｍ５を参照することによって該当するエンド端末のリストＬＥを得た場合には、このリストＬＥに含まれる全てのエンド端末を探索キーとして用いて、ネットワーク情報テーブル１４ｍ２（図１１のネットワーク情報テーブル１１１）を参照して、コンテンツを要求しているエンド端末Ｅのエリアと、該当するエンド端末ｅ∈ＬＥのエリアをそれぞれ取得する。
【００６８】
このようにして得られた各々のエンド端末ペアのエリアを探索キーとして用いて、パス情報テーブル１４ｍ３（図１３のパス情報テーブル１３１）を参照することにより、エンド端末Ｅとエンド端末ｅ∈ＬＥとを接続する通信回線のリストＬＬを取得する。
【００６９】
取得した回線リストＬＬを探索キーに用いてネットワークリソーステーブル１４ｍｌ（図１０のネットワークリソーステーブル１０１）を参照し、エンド端末ペア間に存在する回線のリソース状況を取得する。
【００７０】
コーディネータ１４は、上述の処理で得たリストＬＵを探索キーとして用いて、各テーブルを参照し、ユーザポリシーの各値、および対応する回線群に対するネットワークポリシー、ネットワークリソースの各値を取得し、取得したそれぞれの値を重み付きで考慮することによって、例えば、端末間のネットワークリソース状況が最も良く、かつ、ユーザリソースも十分な量がある等の所望の基準を最も良く満たしている上位Ｎ（Ｎは１以上の整数）個のノードを選択し、要求元のユーザＸ（端末）に通知する。
【００７１】
本例の第７の技術においては、キャッシュサーバ１３の容量を超えないようにするために、アクセス頻度の低いコンテンツをキャッシュサーバ１３から削除し、削除した旨をコーディネータ１４に通知する。
【００７２】
この際、コンテンツを削除するタイミングやルールは、コンテンツのアクセス頻度の低い順、もしくは、最終アクセス時刻から現在時刻までの時間差、あるいは、無作為抽出など、任意に指定することが可能である。
【００７３】
以下に、図１を用いて、上述した実施例の説明を行う。図１において、元（オリジナル）のデータは、コンテンツ配信源１１として外部ネットワーク１０に存在し、内部ネットワーク１２には、キャッシュサーバ１３、コーディネータ１４、エンド端末Ａ１５，Ｂ１６が配置されている。
【００７４】
本例においては、Ｐ２Ｐ技術を用いて、ユーザが利用するユーザ端末が、エンド端末Ａ１５，Ｂ１６として新たなコンテンツの配信元となる。
【００７５】
システムを利用するユーザ端末は、上述の第２の技術に従い、ユーザアカウント、外部アクセス情報、ユーザリソース情報、ユーザポリシー情報、コンテンツ情報を、コーディネータ１４に送信し、コーディネータ１４は、これらの情報を、データベース管理部１４ｍにおいて、図６〜図９に示す各テーブル（ユーザテーブル６１，ユーザリソーステーブル７１，ユーザポリシーテーブル８１，コンテンツテーブル９１）に記憶して管理する。
【００７６】
以下、図１におけるエンド端末Ａ１５，Ｂ１６がコンテンツを取得する際の流れの一例を説明する。
【００７７】
エンド端末Ａ１５を利用するユーザからのコンテンツの要求をコーディネータ１４に送信する（ステップＳ１０１）。
【００７８】
コーディネータ１４は、図６に詳細を示すユーザテーブル６１を参照し、ユーザのエンド端末Ａ１５のアドレスを取得する。
【００７９】
また、コーディネータ１４は、ユーザが要求しているコンテンツＩＤを、図９に詳細を示すコンテンツテーブル９１の内容と比較する。
【００８０】
キャッシュサーバ１３とエンド端末Ｂ１６が共に、エンド端末Ａ１５のユーザから要求されたコンテンツを保持していない場合、コーディネータ１４は、キャッシュサーバ１３に、当該コンテンツを、元のコンテンツ配信源１１から取得してエンド端末Ａ１５に転送するように指示をする（ステップＳ１０２）。
【００８１】
この際、コーディネータ１４は、キャッシュサーバ１３がエンド端末Ａ１５と通信が出来るように、エンド端末Ａ１５のアドレスを通知する。
【００８２】
コーディネータ１４からの上述の指示を受けたキャッシュサーバ１３は、コンテンツ配信源１１に対して当該コンテンツの要求を行い（ステップＳ１０３）、取得する（ステップＳ１０４）。
【００８３】
キャッシュサーバ１３は、取得したコンテンツデータを自身にキャッシュしつつ、エンド端末Ａ１５にも転送する（ステップＳ１０４）。
【００８４】
当該コンテンツデータの転送を受けたエンド端末Ａ１５は、ダウンロードの成否をコーディネータ１３に通知する（ステップＳ１０５）。
【００８５】
ここで、別のエンド端末Ｂ１６が、コンテンツの要求をコーディネータ１３に通知すると（ステップＳ１０６）、コーディネータ１３は、図９に詳細を示すコンテンツテーブル９１を参照し、エンド端末Ａ１５およびキャッシュサーバ１３ならびに別のエンド端末が、要求されたコンテンツを保持しているか否かを判別する。
【００８６】
この際、コーディネータ１３は、上述の第６の技術で説明したように、図６〜図９の各テーブル（６１，７１，８１，９１）に記録された情報を基に、要求されたコンテンツを提供するノード（キャッシュサーバ１３、エンド端末Ａ１５等）を選択する。
【００８７】
ここでは、コーディネータ１３が、エンド端末Ａ１５を選択したものとする。尚、この際の選択技術の具体例は後述する。
【００８８】
コーディネータ１３は、選択したエンド端末Ａ１５に対し、エンド端末Ｂ１６に、当該コンテンツデータを転送するように通知し（ステップＳ１０７）、通知を受けたエンド端末Ａ１５は、エンド端末Ｂ１６に、要求されたコンテンツデータを転送する（ステップＳ１０８）。
【００８９】
そして、エンド端末Ｂ１６は、エンド端末Ａ１５からの当該コンテンツデータのダウンロードの成否をコーディネータ１３に通知する（ステップＳ１０９）。
【００９０】
以下、図４，図５を用いて、図２に示す構成のコーディネータ１４が、どの様にして、コンテンツの提供元となるノード（キャッシュサーバ１３、エンド端末Ａ１５，Ｂ１６等）を選択するかを説明する。
【００９１】
図４は、ユーザＸからコンテンツYに関する要求（図１のＳ１０１およびＳ１０６に相当）を受けたコーディネータ１４が、ユーザＸに通知するノードの集合を選択する処理手順の一例を図示したものである。
【００９２】
コーディネータ１４は、まず、ユーザＸからコンテンツYの配信要求を受信すると（ステップＳ４０１）、図６に詳細を示すユーザテーブル６１を参照し、ユーザＸが登録したエンド端末（ユーザ端末）のアドレスを得る（ステップＳ４０２）。このアドレスは、後に、ダウンロード先の候補となるエンド端末を選択する際に必要となる。
【００９３】
次に、コーディネータ１４は、図９に詳細を示すコンテンツテーブル９１を参照し、コンテンツYを保持しているユーザのリストＬUを取得する（ステップＳ４０３）。このリストＬUの要素数が予め定められた閾値（ここでは「１」）よりも小さい場合は（ステップＳ４０４）、キャッシュサーバを選択し（ステップＳ４１１）、処理は終了となるが、閾値よりも大きい場合は、図６に詳細を示すユーザテーブル６１を参照し、外部アクセスが不可能なものをリストＬUから除外する（ステップＳ４０５）。
【００９４】
その処理の後、リストＬUの要素数の予め定められた閾値（「１」）との比較を行い（ステップＳ４０６）、閾値以上であれば、図８に詳細を示すユーザポリシーテーブル８１を参照して、最大アップロード数が予め定められた閾値（ここでは「１」）以下（すなわち「０」）のものを除去し（ステップＳ４０７）、さらに、リストＬＵの要素数に関する閾値（「１」）に対するチェックを実施する（ステップＳ４０８）。
【００９５】
残ったリストＬUに含まれるユーザに関して、図６に詳細を示すユーザテーブル６１を参照し、対応するエンド端末のリストＬＥを取得する（ステップＳ４０９）。
【００９６】
以下、リストＬＥから、候補となるエンド端末を選択する処理（ステップＳ４１０）を行うが、このステップＳ４１０における処理は、図５を用いて説明する。
【００９７】
図5に示すように、コーディネータ１４は、まず、図４における処理で取得した（ステップＳ５０１）リストＬＥにおけるエンド端末の各々に対して、図１１に詳細を示すネットワーク情報テーブル１１１を参照し、各々のエンド端末が所属するエリア（ネットワークエリア）の情報を取得する（ステップＳ５０２）。
【００９８】
次に、図１３に詳細を示すパス情報テーブルを参照して、コンテンツ要求元のエンド端末ＥのエリアＥＡと、取得したリストＬＥに登録されている各エンド端末のエリアと間のパス情報を取得し、パスリストＬＰを生成する（ステップＳ５０３）。
【００９９】
パスリストＬＰに含まれる通信回線に対して、図１０に詳細を示すネットワークリソーステーブル１０１を参照して、回線使用率が、予め定められた閾値α以上あるいはパケットロス率が予め定められた閾値ε以上の回線が存在するか否かを調べ、そのような通信回線が存在する場合、該当する通信回線を含むパスをパスリストＬＰから削除する（ステップＳ５０４）。
【０１００】
パスリストＬＰに登録されているパスに対応するエンド端末の数（リストＬＥの要素数）を調べ、その数が、予め定められた閾値ω以下で（ステップＳ５０５）、かつ、予め定められた閾値（「１」）以下（すなわち０）であれば（ステップＳ５１０）、キャッシュサーバ１３を選択して（ステップＳ５１１）処理を終了する。
【０１０１】
また、パスリストＬＰに登録されているパスに対応するエンド端末の数（リストＬＥの要素数）が、予め定められた閾値ω以下であっても（ステップＳ５０５）、予め定められた閾値（「１」）以上であれば（ステップＳ５１０）、パスリストＬＰに対尾するエンド端末をリストＬＥから取得し、当該エンド端末に対応するユーザをユーザのリストＬＵから選択して処理を終了する（ステップＳ５１２）。
【０１０２】
また、パスリストＬＰに登録されているパスに対応するエンド端末の数が「ω」以上であった場合には（ステップＳ５０５）、図１２に詳細を示すネットワークポリシーテーブル１２１を参照し、パスリストＬＰに属するパス上の通信回線で、優先度が、予め定められた閾値ξ以下のものを含むパスをＬＰから削除する（ステップＳ５０６）。
【０１０３】
そして、パスリストＬＰに所属するパスに対応するエンド端末のリストＬＥの要素数（エンド端末の数）の閾値ωとのチェックを行い、この閾値ωとのチェックの結果、エンド端末数がω以下であった場合（ステップＳ５０７）、上述のステップＳ５１０，Ｓ５１１，Ｓ５１２の処理を行って処理を終了する。
【０１０４】
また、ステップＳ５０７において、閾値ωとのチェックの結果、エンド端末数がω以上であった場合には、パスリストＬＰに属するパス上の通信回線に対して、図１０に詳細を示すネットワークリソーステーブルを参照し、パスに対する最大回線使用率（パス上の回線のうち、最大の使用率をもつ回線の使用率）を算出し、使用率が小さい順にパスリストＬＰをソートする（ステップＳ５０８）。
【０１０５】
そして、ソートしたパスリストＬＰに対して対応するエンド端末を、エンド端末のリストＬＥを参照して抽出し、それらのエンド端末に対応するユーザを、ユーザのリストＬUを参照して抽出し、抽出したユーザうち、上位Ｔ（＜ω）までを残し、さらに、このＴ個のユーザに対して、図７に詳細を示すユーザリソーステーブル１４ｍ６を参照して、CＰU使用率が低い順にソートし、上位β（＜Ｔ）個のユーザが使用するホスト（エンド端末）を選択して（ステップＳ５０９）処理を終了する。
【０１０６】
そして、ノード選択部１４ｎは、このようにして選択したβ個のエンド端末（Ａ１５，Ｂ１６，３１ａ〜３１ｃ，３２ａ，３２ｂ）から、さらに、送信元候補として１つのエンド端末を選択し、あるいは、キャッシュサーバ（１３，３３ｅ）を選択し、ユーザ通信部１４ｃもしくはキャッシュサーバ通信部１４ｄを介して、選択したエンド端末もしくはキャッシュサーバに対して、当該コンテンツの要求元ユーザ端末への送信を指示する。指示を受けたエンド端末もしくはキャッシュサーバは、指示に従って、当該コンテンツを要求元ユーザ端末に対して送信する。
【０１０７】
あるいは、ノード選択部１４ｎは、このようにして選択したβ個のエンド端末（Ａ１５，Ｂ１６，３１ａ〜３１ｃ，３２ａ，３２ｂ）およびキャッシュサーバ（１３，３３ｅ）へのアクセス情報（アドレス等）を、ユーザ通信部１４ｃおよびキャッシュサーバ通信部１４ｄを介して、当該コンテンツの要求元ユーザ端末に通知する。この通知を受けた、コンテンツの要求元ユーザ端末は、通知されたβ個のエンド端末もしくはキャッシュサーバから１つを選択して、当該コンテンツの配信を要求する。
【０１０８】
以上、図１〜図１３を用いて説明したように、本例では、インターネット等のネットワークにおけるコンテンツの配信処理制御を行うシステムとして、コンテンツの複製を記憶装置に蓄積して、ユーザ端末が要求するコンテンツを読み出してユーザ端末に送信するキャッシュサーバ１３，３３ｅと、ユーザ端末であり、受信したコンテンツを記憶装置に蓄積して、他のユーザ端末が要求するコンテンツを読み出して他のユーザ端末に送信するエンド端末Ａ１５，Ｂ１６，３１ａ〜３１ｃ，３２ａ，３２ｂと、ユーザ端末からのコンテンツ配信の要求を受け付け、このユーザ端末が要求するコンテンツを蓄積したキャッシュサーバとエンド端末を検出し、検出したキャッシュサーバとエンド端末から、各エンド端末に関して予め定められた第１の条件および各エンド端末間のネットワークに関して予め定められた第２の条件に従って、１以上のエンド端末もしくはキャッシュサーバ装置をコンテンツの送信元候補として特定するコーディネータ１４，３３ｆとを設けた構成とする。
【０１０９】
コーディネータ１４，３３ｆは、送信元候補として選択した１以上のエンド端末の１つもしくはキャッシュサーバに対して、当該コンテンツの要求元ユーザ端末への送信を指示するノード選択部１４ｎを有し、このようなコーディネータ１４，３３ｆからの指示を受けたエンド端末もしくはキャッシュサーバは、当該コンテンツを要求元のユーザ端末に送信する。
【０１１０】
あるいは、コーディネータ１４，３３ｆは、ノード選択部１４ｎにより、送信元候補として選択した１以上のエンド端末もしくはキャッシュサーバへのアクセス情報を当該コンテンツの要求元ユーザ端末に通知し、この通知を受けたコンテンツの要求元ユーザ端末は、通知された１以上のエンド端末もしくはキャッシュサーバから１つを選択して、当該コンテンツの配信を要求する。
【０１１１】
尚、コーディネータ１４，３３ｆは、予め定められた第１の条件を記憶管理するためのプログラムされたコンピュータ処理を実行する機能として、各エンド端末から、各エンド端末のアドレス情報と当該エンド端末へのアクセス可否の制御に用いるアクセス制御情報を含むユーザ情報を収集し、データベース管理部１４ｍを介してユーザテーブル１４ｍ５，６１に記憶し管理するユーザ管理部１４ｈと、各エンド端末から、各エンド端末におけるリソース利用状況を示すリソース情報を収集し、データベース管理部１４ｍを介してユーザリソーステーブル１４ｍ６，７１に記憶して管理するユーザリソース管理部１４ｉと、各エンド端末から、各エンド端末におけるアップロード時およびダウンロード時のそれぞれの最大数情報と最大転送レート情報を含むユーザポリシー情報を収集し、データベース管理部１４ｍを介してユーザポリシーテーブル１４ｍ７，８１に記憶して管理するユーザポリシー管理部１４ｊと、各エンド端末から、各エンド端末が保持する各コンテンツの識別情報を収集し、各コンテンツの識別情報と当該コンテンツを保持するエンド端末の識別情報とを対応付けた情報を生成し、データベース管理部１４ｍを介してコンテンツテーブル１４ｍ８，９１に記憶して管理するコンテンツ管理部１４ｋとを具備し、ノード選択部１４ｎは、コンテンツ管理部１４ｋが記憶管理する対応付け情報（コンテンツテーブル１４ｍ８，９１）を参照して、ユーザ端末から要求されたコンテンツを保持するエンド端末を検出する第１の機能と、この第１の機能で検出したエンド端末から、ユーザ管理部１４ｈが記憶管理するアクセス制御情報（ユーザテーブル１４ｍ５，６１）を参照して、コンテンツ要求元のユーザ端末からのアクセスが可能なエンド端末を抽出する第２の機能と、この第２の機能で抽出したエンド端末から、ユーザポリシー管理部１４ｊが記憶管理するユーザポリシー情報（ユーザポリシーテーブル１４ｍ７，８１）を参照して、最大アップロード数が予め定められた値以上のエンド端末を特定する第３の機能と、この第３の機能で特定したエンド端末から、ユーザリソース管理部１４ｉが記憶管理するリソース情報（ユーザリソーステーブル１４ｍ６，７１）を参照して、リソース使用状況の良好なものから順に予め定められた数のエンド端末を抽出し、抽出したエンド端末を、ユーザ端末から要求されたコンテンツの送信元として選択する第４の機能とを有する。
【０１１２】
また、コーディネータ１４，３３ｆは、予め定められた第２の条件を記憶管理するためのプログラムされたコンピュータ処理を実行する機能として、ルータ３３ａ〜３３ｄを含む各外部ネットワーク装置から、各外部ネットワーク装置が管理している通信経路情報と各通信経路を構成する各通信回線のトラヒック情報および各通信回線に対して予め定められた優先度情報を収集するネットワーク計測データ収集部１４ａと、このネットワーク計測データ収集部１４ａが収集した各通信経路情報を、データベース管理部１４ｍを介して記憶装置（ネットワーク情報テーブル１４ｍ２，１１１、パス情報テーブル１４ｍ３，１３１）に記憶し管理するネットワーク情報管理部１４ｆと、ネットワーク計測データ収集部１４ａが収集した各通信回線のトラヒック情報を、データベース管理部１４ｍを介して記憶装置（ネットワークリソーステーブル１４ｍ１，１０１）に記憶し管理するネットワークリソース管理１４ｅと、ネットワーク計測データ収集部１４ａが収集した各通信回線の優先度情報を、データベース管理部１４ｍを介して記憶装置（ネットワークポリシーテーブル１４ｍ４，１２１）に記憶し管理するネットワークポリシー管理部１４ｇと、を具備し、ノード選択部１４ｎは、ネットワーク情報管理部１４ｆが記憶管理する通信経路情報（ネットワーク情報テーブル１４ｍ２，１１１、パス情報テーブル１４ｍ３，１３１）を参照して、第３の機能で選択した各エンド端末と当該コンテンツの要求元のユーザ端末間の通信経路を特定する第５の機能と、この第５の機能で特定した通信経路を構成する各通信回線の通信品質を、ネットワークリソース管理部１４ｅが記憶管理する各通信回線のトラヒック情報（ネットワークリソーステーブル１４ｍ１，１０１）を参照して取得し、取得した通信品質が予め定められた閾値以上の通信回線を抽出する第６の機能と、この第６の機能で抽出した通信回線から、ネットワークポリシー管理部１４ｇが記憶管理する各通信回線の優先度情報（ネットワークポリシーテーブル１４ｍ４，１２１）を参照して、予め定められた閾値以上の優先度の通信回線を抽出する第７の機能と、この第７の機能で抽出した通信回線からなる通信経路の通信品質を、ネットワークリソース管理部１４ｅが記憶管理する各通信回線のトラヒック情報（ネットワークリソーステーブル１４ｍ１，１０１）を参照して取得し、取得した通信品質の良い順に予め定められた数の通信経路を選択する第８の機能と、を有し、第４の機能は、第８の機能が選択した通信経路で接続されるエンド端末から、リソース使用状況の良好な順に予め定められた数のエンド端末を抽出して、ユーザ端末から要求されたコンテンツの送信元として選択する。
【０１１３】
尚、ユーザ管理部１４ｈがユーザテーブル１４ｍ５，６１において記憶管理するアクセス制御情報は、ＮＡＴ越えの可否情報を含み、ノード選択部１４ｎは、第２の機能により、ＮＡＴ越えの可否情報を参照して、コンテンツ要求元のユーザ端末からのアクセスが可能なエンド端末を抽出する。
【０１１４】
また、ユーザリソース管理部１４ｉがユーザリソーステーブル１４ｍ６，７１において記憶管理するリソース情報は、各々予め定められた周期毎に更新される、当該エンド端末のＣＰＵクロック数と使用率、メモリ量と使用率、および、ＦＴＴＨを含む回線種別、使用中のネットワークの帯域情報を含み、ノード選択部１４ｎは、第４の機能により、エンド端末のＣＰＵクロック数と使用率、メモリ量と使用率、および、ＦＴＴＨを含む回線種別、使用中のネットワークの帯域情報を参照して、リソース使用状況の良好なものから順に予め定められた数のエンド端末を抽出する。
【０１１５】
また、コンテンツ管理部１４ｋがコンテンツテーブル１４ｍ８，９１において記憶管理するコンテンツ情報は、各エンド端末が新たな配信コンテンツを記憶するたびに当該エンド端末から収集され、かつ、当該コンテンツの特定に用いるコンテンツＩＤを含み、このコンテンツＩＤは、当該コンテンツのファイル名を固定長のハッシュダイジェストで表記され、この固定長のハッシュダイジェストで表示されるコンテンツＩＤに対応付けて当該コンテンツを保持するエンド端末を記憶管理し、ノード選択部１４ｎは、第１の機能により、固定長のハッシュダイジェストで表示されるコンテンツＩＤを検索キーに用いてコンテンツ管理部１４ｋが記憶管理する情報（コンテンツテーブル１４ｍ８，９１）を参照する。
【０１１６】
また、ネットワークリソース管理部１４ｅがネットワークリソーステーブル１４ｍ１，１０１において記憶管理する各通信回線のトラヒック情報は、各外部ネットワーク機器が予め定めた周期毎に計測する、各通信回線のトラヒック方向毎のパケットの通過量情報と破棄量情報を含み、ノード選択部１４ｎは、第６の機能により、ネットワークリソース管理部１４ｅがネットワークリソーステーブル１４ｍ１，１０１において記憶管理する各通信回線におけるパケットの通過量情報と破棄量情報を参照して当該通信回線の通信品質を取得する。
【０１１７】
また、ネットワークポリシー管理部１４ｇがネットワークポリシーテーブル１４ｍ４，１２１において記憶管理する各通信回線の優先度情報は、当該通信回線へのアクセスの集中を回避させる、もしくは、当該通信回線の利用を奨励させるための情報であり、ノード選択部１４ｎは、第７の機能により、通信回線へのアクセスの集中を回避するようもしくは奨励される通信回線を利用するように通信回線を抽出する。
【０１１８】
さらに、ネットワーク情報管理部１４ｆが記憶管理する通信経路情報は、各エンド端末が属するネットワークエリアを示すネットワーク情報（ネットワーク情報テーブル１４ｍ２，１１１）と、各ネットワークエリア間の経路を構成する通信回線を示すパス情報（パス情報テーブル１４ｍ３，１３１）とからなり、ノード選択部１４ｎは、第５の機能により、ネットワーク情報（ネットワーク情報テーブル１４ｍ２，１１１）を参照して第３の機能が選択した各エンド端末とコンテンツ要求元のユーザ端末のそれぞれのネットワークエリアを取得し、パス情報（パス情報テーブル１４ｍ３，１３１）を参照して、取得したネットワークエリア間の経路を構成する通信回線を特定する。
【０１１９】
また、ノード選択部１４ｎは、第１の機能が検出したエンド端末の数、第２の機能が抽出したエンド端末の数、第３の機能が特定したエンド端末の数、第６の機能が抽出した通信回線の数、第７の機能が抽出した通信回線の数のいずれかが、それぞれに対して予め定められた閾値以下であれば、キャッシュサーバ１３，３３ｅを、ユーザ端末から要求されたコンテンツの送信元として選択する。
【０１２０】
また、キャッシュサーバ１３，３３ｅは、プログラムされたコンピュータ処理を実行する機能として、記憶装置に蓄積したコンテンツの複製を、予め定められた条件に従って消去する機能と、この機能によりコンテンツの複製を消去したことをコーディネータ１４，３３ｆに通知する機能とを有する。
【０１２１】
このように、本例では、キャッシュサーバ１３，３３ｅとエンド端末Ａ１５，Ｂ１６，３１ａ〜３１ｃ，３２ａ，３２ｂの双方をコンテンツ配信源として利用し、コーディネータ１４，３３ｆの処理により両者を適切に協調させてコンテンツ配信を行うことで、インターネット等におけるネットワーク上でのコンテンツ配信を、より柔軟で、かつ、きめ細かく制御することが可能となり、スケーラビリティにすぐれたコンテンツ配信を行うことが可能となる。
【０１２２】
尚、本発明は、図１〜図１３を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、Ｐ２Ｐ技術を用いてエンド端末から他のエンド端末に対してコンテンツを配信可能な構成としているが、エンド端末に、Ｗｅｂサーバとして動作する機能を設けて、各エンド端末間でのコンテンツの配信を可能とする構成でも良い。本例の技術によれば、コーディネータ１４，３３ｆにおいて、各エンド端末のリソース使用状況や、各エンド端末間のネットワーク・トラヒック状況や各エンド端末の位置情報（エリア）などを利用して、コンテンツ配信元を選択することや、アップロードを実施した回数を管理することによってアップロード量に応じたインセンティブを計算することも可能となる。
【０１２３】
また、本例のコンピュータ構成例に関しても、キーボードや光ディスクの駆動装置の無いコンピュータ構成としても良い。また、本例では、光ディスクを記録媒体として用いているが、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）等を記録媒体として用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
【図面の簡単な説明】
【０１２４】
【図１】本発明に係るコンテンツ配信支援システムを設けたネットワークの構成例を示すブロック図である。
【図２】図１における本発明に係るコーディネータの構成例を示すブロック図である。
【図３】本発明に係るコンテンツ配信支援システムの構成例を示すブロック図である。
【図４】図２におけるコーディネータの第１の処理動作例を示すフローチャートである。
【図５】図２におけるコーディネータの第２の処理動作例を示すフローチャートである。
【図６】図２におけるユーザテーブルの構成例を示す説明図である。
【図７】図２におけるユーザリソーステーブルの構成例を示す説明図である。
【図８】図２におけるユーザポリシーテーブルの構成例を示す説明図である。
【図９】図２におけるコンテンツテーブルの構成例を示す説明図である。
【図１０】図２におけるネットワークリソーステーブルの構成例を示す説明図である。
【図１１】図２におけるネットワーク情報テーブルの構成例を示す説明図である。
【図１２】図２におけるネットワークポリシーテーブルの構成例を示す説明図である。
【図１３】図２におけるパス情報テーブルの構成例を示す説明図である。
【符号の説明】
【０１２５】
１０：ネットワーク、１１，コンテンツ配信源（コンピュータ装置）、１２：ネットワーク、１３：キャッシュサーバ、１４：コーディネータ、：１４ａネットワーク計測データ収集部、１４ｂ：ポリシー入力部、１４ｃ：ユーザ通信部、１４ｄ：キャッシュサーバ通信部、１４ｅ：ネットワークリソース管理部、１４ｆ：ネットワーク情報管理部、１４ｇ：ネットワークポリシー管理部、１４ｈ：ユーザ管理部、１４ｉ：ユーザリソース管理部、１４ｊ：ユーザポリシー管理部、１４ｋ：コンテンツ管理部、１４ｍ：データベース管理部（ＤＢ管理部）、１４ｎ：ノード選択部、１４ｍ１，１０１：ネットワークリソーステーブル（ネットワークリソースＴＢＬ）、１４ｍ２，１１１：ネットワーク情報テーブル（ネットワーク情報ＴＢＬ）、１４ｍ３，１３１：パス情報テーブル（パス情報ＴＢＬ）、１４ｍ４，１２１：ネットワークポリシーテーブル（ネットワークポリシーＴＢＬ）、１４ｍ５，６１：ユーザテーブル（ユーザＴＢＬ）、１４ｍ６，７１：ユーザリソーステーブル（ユーザリソースＴＢＬ）、１４ｍ７，８１：ユーザポリシーテーブル（ユーザポリシーＴＢＬ）、１４ｍ８，９１：コンテンツテーブル（コンテンツＴＢＬ）、１５：エンド端末Ａ、１６：エンド端末Ｂ、３１：ネットワークエリア（１）、３１ａ〜３１ｃ：エンド端末、３２：ネットワークエリア（２）、３２ａ：エンド端末、３２ｂ：エンド端末、３３：ネットワーク、３３ａ〜３３ｄ：ルータ（ネットワーク装置）、３３ｅ：キャッシュサーバ、３３ｆ：コーディネータ。
【図１】
2010113460.tif 000003
【図２】
2010113460.tif 000004
【図３】
2010113460.tif 000005
【図４】
2010113460.tif 000006
【図５】
2010113460.tif 000007
【図６】
2010113460.tif 000008
【図７】
2010113460.tif 000009
【図８】
2010113460.tif 000010
【図９】
2010113460.tif 000011
【図１０】
2010113460.tif 000012
【図１１】
2010113460.tif 000013
【図１２】
2010113460.tif 000014
【図１３】
2010113460.tif 000015