(57)【特許請求の範囲】
【請求項１】
１つの全体データを複数の部分データに分割して送受信する通信端末装置に対して、ある通信端末装置がある全体データを受信する際に、どの通信端末装置から前記部分データを受信すべきか判定する通信管理装置であって、
前記通信端末装置が、どの程度の量の部分データを記憶しているか、全体データ毎に記憶する保持率記憶部と、
前記全体データの部分データの送信要求先の候補となる複数の通信端末装置の識別情報に対し、前記保持率記憶部に記憶される前記全体データの保持率が高い順に順序を付与するという第一の基準に基づいて順序を付与する順序付与部と、
前記順序に従って前記通信端末装置に対して前記部分データの送信を要求する他の通信端末装置に対し、前記順序付与部によって順序が付与された複数の通信端末の識別情報を通知する通知部と、
を備える通信管理装置。
【請求項２】
前記順序付与部は、
前記通信端末装置に対して前記部分データの送信要求が集中しないように、前記送信要求先の候補となる複数の通信端末装置の識別情報に対して順序を付与する第二の基準と、
前記送信要求先の通信端末装置と前記部分データの送信を要求する他の通信端末装置との間のホップ数が小さい順に、前記送信要求先の候補となる複数の通信端末装置の識別情報に対して順序を付与する第三の基準と、
前記送信要求先の通信端末装置と前記部分データの送信を要求する他の通信端末装置との間の通信要素機器への負荷が集中しないように、前記送信要求先の候補となる複数の通信端末装置の識別情報に対して順序を付与する第四の基準と、
を有し、前記要求の対象となっている部分データを記憶する通信端末装置が全国に分散して存在する場合には、少なくとも前記第三の基準に基づいて前記順序を付与する請求項１に記載の通信管理装置。
【請求項３】
前記通知部によって所定時間内に通知された回数を、前記各識別情報に対応付けて記憶する通知回数記憶部をさらに備え、
前記順序付与部は、前記第二の基準に基づいて前記順序を付与する際に、前記通知回数記憶部に記憶される通知された回数が少ない順に、前記識別情報に対して順序を付与することを特徴とする請求項２に記載の通信管理装置。
【請求項４】
前記通信端末装置における負荷指数を、前記各識別情報に対応付けて記憶する負荷指数記憶部をさらに備え、
前記順序付与部は、前記第二の基準に基づいて前記順序を付与する際に、前記負荷指数記憶部に記憶される負荷指数が表す負荷が小さい順に、前記識別情報に対して順序を付与することを特徴とする請求項２に記載の通信管理装置。
【請求項５】
前記複数の通信端末装置及び前記他の通信端末装置に与えられるＩＰアドレスは、その値が近いほどそのＩＰアドレスが与えられた各通信端末装置が設置されている物理的距離が近くなるように設定されており、
前記順序付与部は、前記第三の基準に基づいて前記順序を付与する際に、前記他の通信端末装置とのＩＰアドレスの値が近い順に、前記識別情報に対して順序を付与することを特徴とする請求項２に記載の通信管理装置。
【請求項６】
前記複数の通信端末装置及び前記他の通信端末装置には各装置が設置される地域に応じて予め決められたエリア識別子が付与されており、
前記エリア識別子と前記地域とを対応付けて記憶する地域記憶部と、
前記各地域同士の間の通信路におけるホップ数を記憶するホップ数記憶部と、をさらに備え、
前記順序付与部は、前記第三の基準に基づいて前記順序を付与する際に、前記他の通信端末装置とのホップ数が少ない順に、前記識別情報に対して順序を付与することを特徴とする請求項２に記載の通信管理装置。
【請求項７】
前記複数の通信端末装置の識別情報と、各通信端末装置が接続されるネットワークを構成する通信要素機器とを対応付けて記憶する通信要素機器記憶部をさらに備え、
前記順序付与部は、前記第四の基準に基づいて前記順序を付与する際に、前記識別情報に対応する前記通信要素機器が連続しないように前記識別情報に対して順序を付与することを特徴とする請求項２に記載の通信管理装置。
【請求項８】
前記複数の通信端末装置の識別情報と、各通信端末装置が接続されるネットワークを構成する通信要素機器とを対応付けて記憶する通信要素機器記憶部と、
前記通信要素機器における負荷指数を、前記通信要素機器毎に記憶する通信要素機器負荷指数記憶部と、をさらに備え、
前記順序付与部は、前記第四の基準に基づいて前記順序を付与する際に、前記識別情報に対応する前記通信要素機器の負荷指数が表す負荷が小さい順に、前記識別情報に対して順序を付与することを特徴とする請求項２に記載の通信管理装置。
【請求項９】
１つの全体データを複数の部分データに分割して送受信する通信端末装置に対して、ある通信端末装置がある全体データを受信する際に、どの通信端末装置から前記部分データを受信すべきか判定する通信管理装置が行う通信管理方法であって、
前記通信管理装置が、前記通信端末装置がどの程度の量の部分データを記憶しているか、全体データ毎に記憶する保持率記憶ステップと、
前記通信管理装置が、前記全体データの部分データの送信要求先の候補となる複数の通信端末装置の識別情報に対し、前記保持率記憶部に記憶される前記全体データの保持率が高い順に順序を付与するという第一の基準に基づいて順序を付与する順序付与ステップと、
前記順序に従って前記通信端末装置に対して前記部分データの送信を要求する他の通信端末装置に対し、前記順序付与部によって順序が付与された複数の通信端末の識別情報を通知する通知ステップと、
を有する通信管理方法。
【請求項１０】
前記順序付与ステップは、
前記通信端末装置に対して前記部分データの送信要求が集中しないように、前記送信要求先の候補となる複数の通信端末装置の識別情報に対して順序を付与する第二の基準と、
前記送信要求先の通信端末装置と前記部分データの送信を要求する他の通信端末装置との間のホップ数が小さい順に、前記送信要求先の候補となる複数の通信端末装置の識別情報に対して順序を付与する第三の基準と、
前記送信要求先の通信端末装置と前記部分データの送信を要求する他の通信端末装置との間の通信要素機器への負荷が集中しないように、前記送信要求先の候補となる複数の通信端末装置の識別情報に対して順序を付与する第四の基準と、
を有し、前記要求の対象となっている部分データを記憶する通信端末装置が全国に分散して存在する場合には、前記通信管理装置は少なくとも前記第三の基準に基づいて前記順序を付与する請求項９に記載の通信管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各通信端末装置が通信を行う際に相手となる他の通信端末装置を管理する通信管理装置及び通信管理方法に関する。
【背景技術】
【０００２】
近年、インターネットにおいてＰ２Ｐ（Peer To Peer）技術が進展してきている。Ｐ２Ｐ技術は様々な長所を持つ。例えば、これまでサーバーで保持していた機能を、Ｐ２Ｐでは端末に分散させるため、クライアントサーバー方式と比較してサーバー負荷等を軽減できる。さらに、近隣からのダウンロードの場合は、Ｐ２Ｐではクライアントサーバー方式と比較して、ルーターやスイッチやケーブル等のノード・リンクにかかる負荷や、ダウンロード時間を削減することができる。
【０００３】
しかしながら、端末やノード・リンクへの負荷集中や、設備負荷やダウンロード時間が増加するという問題があった。特に、設備負荷やダウンロード時間の増加は、ダウンロード先端末とダウンロード元端末との間のホップ数等を考慮せずにダウンロード元端末を選定しているために生じていた。
【０００４】
近年、Ｐ４Ｐ（Provider Portal for P2P）技術が提案され、近隣からのダウンロードを誘発する仕組みが構築されつつある。そのため、Ｐ４Ｐでは、上記の問題点が軽減されてきている（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Haiyong Xie, Arvind Krishnamurthy, Avi Silberschatz, and Y. Richard Yang. P4P: Explicit Communications for Cooperative Control Between P2P and Network Providers.  http://www.dcia.info/documents/P4P_Overview.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のＰ４Ｐでは、近隣か否かの判断は、ＡＳ（Autonomous System：自律システム）単位などの大まかな地理情報に基づく判断であり、都道府県や市町村、収容ルーター単位、ホップ数といった詳細な地理情報に基づくものではない。また、特定の端末やルーターに負荷が集中することを解決するような仕組みも提案されていない。さらに、コンテンツの保持率が低い端末に対してダウンロードの要求がなされることによるダウンロード時間の増大を解決するような仕組みも提案されていない。
【０００７】
上記事情に鑑み、本発明は、ある通信端末装置が他の通信端末装置と通信を開始する際に、システム全体の効率化を図ることを可能とする通信管理装置及び通信管理方法を提供することを目的としている。
【課題を解決するための手段】
【０００８】
本発明の一態様は、１つの全体データを複数の部分データに分割して送受信する通信端末装置に対して、ある通信端末装置がある全体データを受信する際に、どの通信端末装置から前記部分データを受信すべきか判定する通信管理装置であって、前記通信端末装置が、どの程度の量の部分データを記憶しているか、全体データ毎に記憶する保持率記憶部と、前記全体データの部分データの送信要求先の候補となる複数の通信端末装置の識別情報に対し、前記保持率記憶部に記憶される前記全体データの保持率が高い順に順序を付与するという第一の基準に基づいて順序を付与する順序付与部と、前記順序に従って前記通信端末装置に対して前記部分データの送信を要求する他の通信端末装置に対し、前記順序付与部によって順序が付与された複数の通信端末の識別情報を通知する通知部と、を備える。
【０００９】
本発明の一態様は、上記通信管理装置であって、前記順序付与部は、前記通信端末装置に対して前記部分データの送信要求が集中しないように、前記送信要求先の候補となる複数の通信端末装置の識別情報に対して順序を付与する第二の基準と、前記送信要求先の通信端末装置と前記部分データの送信を要求する他の通信端末装置との間のホップ数が小さい順に、前記送信要求先の候補となる複数の通信端末装置の識別情報に対して順序を付与する第三の基準と、前記送信要求先の通信端末装置と前記部分データの送信を要求する他の通信端末装置との間の通信要素機器への負荷が集中しないように、前記送信要求先の候補となる複数の通信端末装置の識別情報に対して順序を付与する第四の基準と、を有し、前記要求の対象となっている部分データを記憶する通信端末装置が全国に分散して存在する場合には、少なくとも前記第三の基準に基づいて前記順序を付与する。
【００１０】
本発明の一態様は、上記通信管理装置であって、前記通知部によって所定時間内に通知された回数を、前記各識別情報に対応付けて記憶する通知回数記憶部をさらに備え、前記順序付与部は、前記第二の基準に基づいて前記順序を付与する際に、前記通知回数記憶部に記憶される通知された回数が少ない順に、前記識別情報に対して順序を付与する。
【００１１】
本発明の一態様は、上記通信管理装置であって、前記通信端末装置における負荷指数を、前記各識別情報に対応付けて記憶する負荷指数記憶部をさらに備え、前記順序付与部は、前記第二の基準に基づいて前記順序を付与する際に、前記負荷指数記憶部に記憶される負荷指数が表す負荷が小さい順に、前記識別情報に対して順序を付与する。
【００１２】
本発明の一態様は、上記通信管理装置であって、前記複数の通信端末装置及び前記他の通信端末装置に与えられるＩＰアドレスは、その値が近いほどそのＩＰアドレスが与えられた各通信端末装置が設置されている物理的距離が近くなるように設定されており、前記順序付与部は、前記第三の基準に基づいて前記順序を付与する際に、前記他の通信端末装置とのＩＰアドレスの値が近い順に、前記識別情報に対して順序を付与する。
【００１３】
本発明の一態様は、上記通信管理装置であって、前記複数の通信端末装置及び前記他の通信端末装置には各装置が設置される地域に応じて予め決められたエリア識別子が付与されており、前記エリア識別子と前記地域とを対応付けて記憶する地域記憶部と、前記各地域同士の間の通信路におけるホップ数を記憶するホップ数記憶部と、をさらに備え、前記順序付与部は、前記第三の基準に基づいて前記順序を付与する際に、前記他の通信端末装置とのホップ数が少ない順に、前記識別情報に対して順序を付与する。
【００１４】
本発明の一態様は、上記通信管理装置であって、前記複数の通信端末装置の識別情報と、各通信端末装置が接続されるネットワークを構成する通信要素機器とを対応付けて記憶する通信要素機器記憶部をさらに備え、前記順序付与部は、前記第四の基準に基づいて前記順序を付与する際に、前記識別情報に対応する前記通信要素機器が連続しないように前記識別情報に対して順序を付与する。
【００１５】
本発明の一態様は、上記通信管理装置であって、前記複数の通信端末装置の識別情報と、各通信端末装置が接続されるネットワークを構成する通信要素機器とを対応付けて記憶する通信要素機器記憶部と、前記通信要素機器における負荷指数を、前記通信要素機器毎に記憶する通信要素機器負荷指数記憶部と、をさらに備え、前記順序付与部は、前記第四の基準に基づいて前記順序を付与する際に、前記識別情報に対応する前記通信要素機器の負荷指数が表す負荷が小さい順に、前記識別情報に対して順序を付与する。
【００１６】
本発明の一態様は、１つの全体データを複数の部分データに分割して送受信する通信端末装置に対して、ある通信端末装置がある全体データを受信する際に、どの通信端末装置から前記部分データを受信すべきか判定する通信管理装置が行う通信管理方法であって、前記通信管理装置が、前記通信端末装置がどの程度の量の部分データを記憶しているか、全体データ毎に記憶する保持率記憶ステップと、前記通信管理装置が、前記全体データの部分データの送信要求先の候補となる複数の通信端末装置の識別情報に対し、前記保持率記憶部に記憶される前記全体データの保持率が高い順に順序を付与するという第一の基準に基づいて順序を付与する順序付与ステップと、前記順序に従って前記通信端末装置に対して前記部分データの送信を要求する他の通信端末装置に対し、前記順序付与部によって順序が付与された複数の通信端末の識別情報を通知する通知ステップと、を有する。
【００１７】
本発明の一態様は、上記通信管理方法であって、前記順序付与ステップは、前記通信端末装置に対して前記部分データの送信要求が集中しないように、前記送信要求先の候補となる複数の通信端末装置の識別情報に対して順序を付与する第二の基準と、前記送信要求先の通信端末装置と前記部分データの送信を要求する他の通信端末装置との間のホップ数が小さい順に、前記送信要求先の候補となる複数の通信端末装置の識別情報に対して順序を付与する第三の基準と、前記送信要求先の通信端末装置と前記部分データの送信を要求する他の通信端末装置との間の通信要素機器への負荷が集中しないように、前記送信要求先の候補となる複数の通信端末装置の識別情報に対して順序を付与する第四の基準と、を有し、前記要求の対象となっている部分データを記憶する通信端末装置が全国に分散して存在する場合には、前記通信管理装置は少なくとも前記第三の基準に基づいて前記順序を付与する。
【発明の効果】
【００１８】
本発明により、ある通信端末装置が他の通信端末装置と通信を開始する際に、システム全体の効率化を図ることが可能となる。
【図面の簡単な説明】
【００１９】
【図１】通信システムのシステム構成を表すシステム構成図である。
【図２】通信システムの各装置間の処理の流れを表すシーケンス図である。
【図３】ヒントサーバーの第一実施形態の機能構成を表す概略ブロック図である。
【図４】通知回数テーブルの概略を表す図である。
【図５】ＤＬ元候補リスト及びＤＬ元リストの具体例を表す図である。
【図６】ヒントサーバーの第ニ実施形態の機能構成を表す概略ブロック図である。
【図７】負荷指数テーブルの概略を表す図である。
【図８】ＤＬ元候補リスト及びＤＬ元リストの具体例を表す図である。
【図９】ヒントサーバーの第三実施形態の機能構成を表す概略ブロック図である。
【図１０】ヒントサーバーの第四実施形態の機能構成を表す概略ブロック図である。
【図１１】地域アドレス対応テーブルの概略を表す図である。
【図１２】ホップ数テーブルの概略を表す図である。
【図１３】ヒントサーバーの第五実施形態の機能構成を表す概略ブロック図である。
【図１４】所属ルーターアドレス対応テーブルの概略を表す図である。
【図１５】図１４に示される所属ルーターアドレス対応テーブルに対応する通信システムのシステム構成を表す図である。
【図１６】ヒントサーバーの第六実施形態の機能構成を表す概略ブロック図である。
【図１７】ルーター負荷指数テーブルの概略を表す図である。
【図１８】ヒントサーバーの第七実施形態の機能構成を表す概略ブロック図である。
【図１９】コンテンツ保持率テーブルの概略を表す図である。
【図２０】ヒントサーバーの第八実施形態の機能構成を表す概略ブロック図である。
【図２１】ヒントサーバーの第九実施形態の機能構成を表す概略ブロック図である。
【図２２】機能選択部が行う処理の流れを表すフローチャートである。
【発明を実施するための形態】
【００２０】
図１は、通信システム１００のシステム構成を表すシステム構成図である。通信システム１００は、複数台の通信端末装置１０（１０ａ〜１０ｈ）を有しており、各通信端末装置１０同士はリンクやノードによって互いに通信可能に接続されている。リンクやノードとは、ネットワークを構成するための要素となる装置や機器（通信要素機器）であり、例えばルーター、スイッチ、ハブ、ケーブル等である。以下の説明では、ルーターをリンクやノードの具体例として取り上げて説明を行う。
【００２１】
通信システム１００は、複数台の通信端末装置１０の他にも、複数台のルーター２０（２０ａ〜２０ｇ）、ピア管理サーバー３０、ヒントサーバー４０を備える。ルーター２０ａ〜２０ｃには、複数台の通信端末装置１０が接続される。ルーター２０ｅ〜２０ｇには、複数台のルーター２０が接続される。ルーター２０ｇには、さらにピア管理サーバー３０が接続され、ピア管理サーバー３０にはヒントサーバー４０が接続される。
【００２２】
通信端末装置１０は、パーソナルコンピューター、ワークステーション、ＰＤＡ、携帯電話機などの通信可能な情報処理装置である。通信端末装置１０は、使用者が所望するコンテンツのデータを、当該データを記憶している他の通信端末装置１０から受信する。このとき、通信端末装置１０は、ピア管理サーバー３０に問い合わせることによって、通信すべき相手となる他の通信端末装置１０を判定する。なお、以下の説明において、コンテンツのデータを受信する側の通信端末装置１０を「ＤＬ先通信端末装置」といい、コンテンツのデータを送信する側の通信端末装置１０を「ＤＬ元通信端末装置」という。
【００２３】
ルーター２０は、複数台の通信端末装置１０同士を通信可能に接続するネットワークの要素であり、パケットを受信し、受信されたパケットをルーティングテーブルに従って通信端末装置１０、他のルーター２０、ピア管理サーバー３０のいずれかへ送信する。
【００２４】
ピア管理サーバー３０は、通信端末装置１０からの問い合わせに応じて、問い合わせてきた通信端末装置１０が通信すべき相手となる他の通信端末装置１０のＩＰアドレスのリスト（以下、「ＤＬ元候補リスト」という。）を生成する。そして、ピア管理サーバー３０は、ヒントサーバー４０によって各ＩＰアドレスの順番が変更された後のリスト（以下、「ＤＬ元リスト」という。）を、問い合わせしてきた通信装置端末１０に対して返信する。
【００２５】
ヒントサーバー４０は、ピア管理サーバー３０によって生成されたＤＬ元候補リストの各ＩＰアドレスの順番を変更することによってＤＬ元リストを生成する。
図２は、通信システム１００の各装置間の処理の流れを表すシーケンス図である。ＤＬ先通信端末装置１０は、使用者が所望するコンテンツのデータを示す識別子（コンテンツＩＤ）を含むＤＬ元リスト要求データを生成し、ピア管理サーバー３０へ送信する（ステップＳ１）。ピア管理サーバー３０は、ＤＬ元リスト要求データを受信すると、ＤＬ元リスト要求データに含まれる識別子が示すコンテンツを記憶している通信端末装置１０を検索する。なお、ピア管理サーバー３０は、各通信端末装置１０が記憶しているコンテンツのデータについての情報を定期的に収集することによって、各通信端末装置１０と、各々が記憶するコンテンツのデータとを対応付けたテーブルを記憶している。
【００２６】
次に、ピア管理サーバー３０は、検索された通信端末装置１０のＩＰアドレスが列挙されたＤＬ元候補リストを生成する（ステップＳ２）。そして、ピア管理サーバー３０は、生成されたＤＬ元候補リストを、ヒントサーバー４０へ送信する（ステップＳ３）。
【００２７】
ヒントサーバー４０は、ＤＬ元候補リストを受信すると、ＤＬ元候補リストに含まれる複数の通信端末装置１０のＩＰアドレスを所定の基準に応じて並べ替え、ＤＬ元リストを生成する（ステップＳ４）。そして、ヒントサーバー４０は、生成されたＤＬ元リストを、ピア管理サーバー３０へ送信する（ステップＳ５）。ピア管理サーバー３０は、ヒントサーバー４０からＤＬ元リストを受信すると、受信されたＤＬ元リストをＤＬ先通信端末装置１０へ送信する（ステップＳ６）。
【００２８】
ＤＬ先通信端末装置１０は、ピア管理サーバー３０からＤＬ元リストを受信すると、ユーザーが所望するコンテンツのデータを示す識別子を含むダウンロード要求データを生成する。そして、ＤＬ先通信端末装置１０は、ＤＬ元リストに示されるＩＰアドレスを列挙された順に選択し、選択されたＩＰアドレスの各通信装置端末１０（ＤＬ元通信端末装置）に対し、生成されたダウンロード要求データを送信する（ステップＳ７）。ＤＬ先通信端末装置１０がダウンロード要求データを送信するＤＬ元通信端末装置の台数は、１台であっても良いし複数台であっても良い。ＤＬ先通信端末装置１０が複数台にダウンロード要求データを送信する場合には、並行して送信しても良いし、タイミングをあけてシーケンシャルに送信しても良い。
【００２９】
ＤＬ元通信端末装置１０は、ダウンロード要求データを受信すると、ダウンロード要求データに含まれる識別子が示すコンテンツのデータを読み出し、ＤＬ先通信端末装置１０へ送信する。ＤＬ先通信端末装置１０は、ＤＬ元通信端末装置からコンテンツのデータを受信し、ローカルの記憶装置に記録する（ステップＳ８）。
【００３０】
次に、ヒントサーバー４０が複数のＤＬ元通信端末装置のＩＰアドレスの順番を変更する際の処理について複数種類説明する。また、各種類の処理に応じたヒントサーバー４０の構成についてもあわせて説明する。
【００３１】
[第一実施形態]
図３は、ヒントサーバー４０の第一実施形態の機能構成を表す概略ブロック図である。第一実施形態におけるヒントサーバー４０（４０ａ）は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などを備え、ヒントサーバープログラムを実行することによって送受信部４０１、通知回数記憶部４０２、通知回数管理部４０３、ＤＬ元リスト生成部４０４を備える装置として機能する。
【００３２】
送受信部４０１は、ネットワークインターフェース等の通信装置を用いて構成され、ピア管理サーバー３０とデータの送受信を行う。具体的には、送受信部４０１はピア管理サーバー３０からＤＬ元候補リストを受信し、ピア管理サーバー３０にＤＬ元リストを送信する。
【００３３】
通知回数記憶部４０２は、通知回数テーブルを記憶する。図４は、通知回数テーブルの概略を表す図である。通知回数テーブルは、ＤＬ元端末識別子と通知回数とを対応付けて有する。ＤＬ元端末識別子は、各通信端末装置１０を表す識別子であり、例えばＩＰアドレスやピアＩＤなどである。以下の説明では、ＤＬ元端末識別子がＩＰアドレスである場合の構成について説明する。通知回数は、各通信端末装置１０が、ＤＬ元通信端末装置としてＤＬ先通信端末装置に所定時間内に通知された回数である。所定時間とは、ヒントサーバー４０の管理者が適宜設定可能な時間であり、例えば１分、５分、１０分などの長さの時間が設定される。
【００３４】
通知回数管理部４０３は、ＤＬ元リスト生成部４０４によって生成されたＤＬ元リストの内容に基づいて、通知回数テーブルの内容を更新する。具体的には、通知回数管理部４０３は、ＤＬ元リスト生成部４０４によって生成されたＤＬ元リストに含まれているＩＰアドレスを読み出し、通知回数テーブルにおいて読み出されたＩＰアドレスに対応する通知回数をインクリメントする。
【００３５】
ＤＬ元リスト生成部４０４は、送受信部４０１を介してＤＬ元候補リストを受信し、通知回数テーブルの内容に基づいてＤＬ元候補リストに含まれる複数のＤＬ元通信端末装置に対して優先度を付与し、ＤＬ元リストを生成する。具体的には、ＤＬ元リスト生成部４０４は、ＤＬ元候補リストに含まれている各ＩＰアドレスに対し、通知回数テーブルにおいて対応する通知回数が少ないほど高い優先度を付与する。そして、ＤＬ元リスト生成部４０４は、ＤＬ元候補リストに含まれている各ＩＰアドレスを、付与された優先度が高い順に並び変えることによって、ＤＬ元リストを生成する。
【００３６】
図５は、ＤＬ元候補リスト及びＤＬ元リストの具体例を表す図である。ＤＬ元リスト生成部４０４は、図４に示される通知回数テーブルに基づいて、ＩＰアドレスＡ１〜Ａ４に対応する通知回数をそれぞれ５、１０、０、１であると認識する。そして、ＤＬ元リスト生成部４０４は、この通知回数に基づいて、ＤＬ元候補リストに含まれる各ＩＰアドレスに優先度を付与し、優先度の高い順に並べ替えることによって図５右側に表されるＤＬ元リストを生成する。
【００３７】
このように構成されたヒントサーバー４０ａによれば、所定時間内にＤＬ元リストとして通知された回数が少ない順に、ＤＬ元通信端末装置のＩＰアドレスが並び替えられる。そして、ＤＬ先通信端末装置は、この並び順に従ってコンテンツのデータのダウンロードを要求するため、所定時間内にＤＬ元リストとして通知された回数が少ないＤＬ元通信端末装置から先にダウンロードの要求を受けることとなる。そのため、特定の通信端末装置１０に多数のダウンロードの要求が集中することを防止することが可能となり、通信システム１００全体の通信の効率化を図ることが可能となる。
【００３８】
[第二実施形態]
図６は、ヒントサーバー４０の第ニ実施形態の機能構成を表す概略ブロック図である。第二実施形態におけるヒントサーバー４０（４０ｂ）は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、ヒントサーバープログラムを実行することによって送受信部４１１、負荷指数記憶部４１２、ＤＬ元リスト生成部４１４を備える装置として機能する。
【００３９】
送受信部４１１は、ネットワークインターフェース等の通信装置を用いて構成され、ピア管理サーバー３０とデータの送受信を行う。具体的には、送受信部４１１はピア管理サーバー３０からＤＬ元候補リストを受信し、ピア管理サーバー３０にＤＬ元リストを送信する。
【００４０】
負荷指数記憶部４１２は、負荷指数テーブルを記憶する。図７は、負荷指数テーブルの概略を表す図である。負荷指数テーブルは、ＤＬ元端末識別子と負荷指数とを対応付けて有する。ＤＬ元端末識別子は、各通信端末装置１０を表す識別子であり、例えばＩＰアドレスやピアＩＤなどである。以下の説明では、ＤＬ元端末識別子がＩＰアドレスである場合の構成について説明する。
【００４１】
負荷指数テーブルにおける負荷指数は、各通信端末装置１０に生じている負荷を表す値であり、例えば各通信端末装置１０のＣＰＵの使用率や、各通信端末装置１０のメモリの使用量や、各通信端末装置１０の帯域に対する使用トラフィック量や、各通信端末装置１０の使用トラフィック量や、各通信端末装置１０が接続された通信路の契約回線の帯域などである。帯域に対する使用トラフィック量とは、例えば各通信端末装置１０の訪路毎のポートの送受信トラフィックの和を帯域で除算した値によって表される。使用トラフィック量とは、例えば各通信端末装置１０の訪路毎のポートの送受信トラフィックの和によって表される。負荷指数テーブルの負荷指数の値は、負荷指数を算出する負荷指数計測サーバーによって計測されて設定されても良いし、ヒントサーバーの管理者によって手動で設定されてもよい。
【００４２】
ＤＬ元リスト生成部４１４は、送受信部４１１を介してＤＬ元候補リストを受信し、負荷指数テーブルの内容に基づいてＤＬ元候補リストに含まれる複数のＤＬ元通信端末装置に対して優先度を付与し、ＤＬ元リストを生成する。具体的には、ＤＬ元リスト生成部４１４は、ＤＬ元候補リストに含まれている各ＩＰアドレスに対し、負荷指数テーブルにおいて対応する負荷指数が小さいほど高い優先度を付与する。そして、ＤＬ元リスト生成部４１４は、ＤＬ元候補リストに含まれている各ＩＰアドレスを、付与された優先度が高い順に並び変えることによって、ＤＬ元リストを生成する。
【００４３】
図８は、ＤＬ元候補リスト及びＤＬ元リストの具体例を表す図である。ＤＬ元リスト生成部４１４は、図７に示される負荷指数テーブルに基づいて、ＩＰアドレスＡ１〜Ａ４に対応する負荷指数をそれぞれ１０、４０、４０、１０であると認識する。そして、ＤＬ元リスト生成部４１４は、この通知回数に基づいて、ＤＬ元候補リストに含まれる各ＩＰアドレスに優先度を付与し、優先度の高い順に並べ替えることによって図８右側に表されるＤＬ元リストを生成する。
【００４４】
このように構成されたヒントサーバー４０ｂによれば、負荷指数が小さい順に、ＤＬ元通信端末装置のＩＰアドレスが並び替えられる。そして、ＤＬ先通信端末装置は、この並び順に従ってコンテンツのデータのダウンロードを要求するため、負荷指数が小さいＤＬ元通信端末装置から先にダウンロードの要求を受けることとなる。そのため、負荷指数が高い通信端末装置１０に新たなダウンロードの要求が届くことを防止でき、その結果として特定の通信端末装置１０に多数のダウンロードの要求が集中することを防止することが可能となる。そのため、通信システム１００全体の通信の効率化を図ることが可能となる。
【００４５】
[第三実施形態]
第三実施形態では、通信システム１００において、各装置のＩＰアドレスの値が近いほど実際に各装置が設置されている物理的距離が近くなるように、ＩＰアドレスの付与ルールが設定されていることを前提とする。
【００４６】
図９は、ヒントサーバー４０の第三実施形態の機能構成を表す概略ブロック図である。第三実施形態におけるヒントサーバー４０（４０ｃ）は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、ヒントサーバープログラムを実行することによって送受信部４２１、ＤＬ元リスト生成部４２４を備える装置として機能する。
【００４７】
送受信部４２１は、ネットワークインターフェース等の通信装置を用いて構成され、ピア管理サーバー３０とデータの送受信を行う。具体的には、送受信部４２１はピア管理サーバー３０からＤＬ元候補リストを受信し、ピア管理サーバー３０にＤＬ元リストを送信する。
【００４８】
ＤＬ元リスト生成部４２４は、送受信部４２１を介してＤＬ元候補リスト及びＤＬ先通信端末装置１０のＩＰアドレスを受信し、ＤＬ先通信端末装置１０のＩＰアドレスと各ＤＬ元通信端末装置１０のＩＰアドレスとを比較することによってＤＬ元リストを生成する。具体的には、ＤＬ元リスト生成部４２４は、ＤＬ元候補リストに含まれている各ＩＰアドレスの各桁の数値と、ＤＬ先通信端末装置１０のＩＰアドレスの各桁の数値とを桁数の高い方から比較する。例えばＩＰアドレスが“１９２．１６８．１２３．４５６”である場合には、“１９２”の“１”が最も高い桁数となり、“４５６”の“６”が最も低い桁数となる。そして、ＤＬ元リスト生成部４２４は、最も高い桁数から連続して値が一致した桁数をカウントする。例えば、“１９２．１６８．１００．４５６”と“１９２．１６８．１２３．４５６”とを比較した場合には、最も高い桁数から連続して一致した値は“１９２．１６８．１”までであり、その桁数は７となる。ＤＬ元リスト生成部４２４は、ＤＬ元候補リストに含まれる各ＩＰアドレスについて、上記のようにＤＬ先通信端末装置１０のＩＰアドレスと比較を行い、ＤＬ元候補リストに含まれている各ＩＰアドレスを、一致した桁数が高い順に並び変えることによって、ＤＬ元リストを生成する。
【００４９】
このように構成されたヒントサーバー４０ｃによれば、ＤＬ先通信端末装置とＤＬ元通信端末装置との間のホップ数が少ない順に、ＤＬ元通信端末装置のＩＰアドレスが並び替えられる。そして、ＤＬ先通信端末装置は、この並び順に従ってコンテンツのデータのダウンロードを要求するため、ホップ数が少ないＤＬ元通信端末装置から先にダウンロードの要求を受けることとなる。そのため、ＤＬ先通信端末装置とＤＬ元通信端末装置との間で発生する通信のホップ数を全体的に小さく抑えることが可能となり、通信システム１００全体の通信の効率化を図ることが可能となる。
【００５０】
[第四実施形態]
第四実施形態では、通信システム１００において、各通信端末装置１０に対して各装置が設置されている地域に応じて予め決められたエリア識別子が付与されていることを前提とする。エリア識別子として、各通信端末装置１０のＩＰアドレスのネットワークアドレスが用いられても良いし、都道府県・市町村・区などを表す住所情報が用いられても良いし、各通信端末装置１０が接続されている基地局装置の識別情報が用いられても良いし、電話番号など他の情報が用いられても良い。以下の説明では、エリア識別子としてネットワークアドレスが用いられる場合を例に説明する。すなわち、以下の例では、ある装置に対して割り当てられているＩＰアドレスのネットワークアドレスを参照することによって、その装置が設置されている地域が一意に特定できるように通信システム１００が設計されていることが前提となる。
【００５１】
図１０は、ヒントサーバー４０の第四実施形態の機能構成を表す概略ブロック図である。第四実施形態におけるヒントサーバー４０（４０ｄ）は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、ヒントサーバープログラムを実行することによって送受信部４３１、ホップ数記憶部４３２、ＤＬ元リスト生成部４３４、地域記憶部４３５を備える装置として機能する。
【００５２】
送受信部４３１は、ネットワークインターフェース等の通信装置を用いて構成され、ピア管理サーバー３０とデータの送受信を行う。具体的には、送受信部４３１はピア管理サーバー３０からＤＬ元候補リストを受信し、ピア管理サーバー３０にＤＬ元リストを送信する。
【００５３】
地域記憶部４３５は、地域アドレス対応テーブルを記憶する。図１１は、地域アドレス対応テーブルの概略を表す図である。地域アドレス対応テーブルは、ネットワークアドレスと、各ネットワークアドレスに含まれるＩＰアドレスの装置が設置されている都道府県（地域）とを対応付けて有する。なお、図１１では、地域の具体例として都道府県単位が用いられているが、国単位、地方単位、市町村単位、基地局装置単位などのように、地域としてどのような大きさの単位が用いられても良い。
【００５４】
ホップ数記憶部４３２は、ホップ数テーブルを記憶する。図１２は、ホップ数テーブルの概略を表す図である。ホップ数テーブルは、ＤＬ元県とＤＬ先県とホップ数とを対応付けて有する。ＤＬ元県は、ＤＬ元通信端末装置１０が設置されている地域を表す。ＤＬ先県は、ＤＬ先通信端末装置１０が設置されている地域を表す。ホップ数は、ＤＬ元県とＤＬ先県との間で通信を行う際のホップ数を表す。ホップ数とは、通信を行う際に経由するリンクやノードの数を表し、例えば通信を行う際に経由するルーター２０の数を表す。
【００５５】
地域アドレス対応テーブルの値、及びホップ数テーブルの値は、ヒントサーバーの管理者によって予め設定されている。
ＤＬ元リスト生成部４３４は、送受信部４３１を介してＤＬ元候補リストを受信し、地域アドレス対応テーブル及びホップ数テーブルの内容に基づいてＤＬ元候補リストに含まれる複数のＩＰアドレスを並び替えることによってＤＬ元リストを生成する。具体的には、ＤＬ元リスト生成部４３４は、ＤＬ元候補リストに含まれている各ＩＰアドレス及びＤＬ元リストを要求している通信端末装置１０（ＤＬ先通信端末装置）のＩＰアドレスについて、地域アドレス対応テーブルを参照することによって、対応する地域を検出する。次に、ＤＬ元リスト生成部４３４は、ＤＬ元候補リストに含まれる各ＩＰアドレスについて、ホップ数テーブルを参照することによって、ＤＬ元通信端末装置１０が設置された地域からＤＬ先通信端末装置１０が設置された地域までのホップ数を検出する。そして、ＤＬ元リスト生成部４３４は、ＤＬ元候補リストに含まれる各ＩＰアドレスを、ホップ数が少ない順に並び変えることによって、ＤＬ元リストを生成する。
【００５６】
このように構成されたヒントサーバー４０ｄによれば、ＤＬ先通信端末装置とＤＬ元通信端末装置との間のホップ数が少ない順に、ＤＬ元通信端末装置のＩＰアドレスが並び替えられる。そして、ＤＬ先通信端末装置は、この並び順に従ってコンテンツのデータのダウンロードを要求するため、ホップ数が少ないＤＬ元通信端末装置から先にダウンロードの要求を受けることとなる。そのため、ＤＬ先通信端末装置とＤＬ元通信端末装置との間で発生する通信のホップ数を全体的に小さく抑えることが可能となり、通信システム１００全体の通信の効率化を図ることが可能となる。
【００５７】
[第五実施形態]
図１３は、ヒントサーバー４０の第五実施形態の機能構成を表す概略ブロック図である。第五実施形態におけるヒントサーバー４０（４０ｅ）は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、ヒントサーバープログラムを実行することによって送受信部４４１、所属ルーター記憶部４４２、ＤＬ元リスト生成部４４４を備える装置として機能する。
【００５８】
送受信部４４１は、ネットワークインターフェース等の通信装置を用いて構成され、ピア管理サーバー３０とデータの送受信を行う。具体的には、送受信部４４１はピア管理サーバー３０からＤＬ元候補リストを受信し、ピア管理サーバー３０にＤＬ元リストを送信する。
【００５９】
所属ルーター記憶部４４２は、所属ルーターアドレス対応テーブルを記憶する。図１４は、所属ルーターアドレス対応テーブルの概略を表す図である。図１５は、図１４に示される所属ルーターアドレス対応テーブルに対応する通信システム１００のシステム構成を表す図である。所属ルーターアドレス対応テーブルは、ネットワークアドレスと所属ルーターとを対応付けて有する。所属ルーターとは、各ネットワークアドレスに含まれるＩＰアドレスの装置が接続されるルーター２０の識別子を表す。なお、第五実施形態では、上述したようにノードやリンクの具体例としてルーター２０を用いているため、ヒントサーバー４０ｅはルーターを単位とした所属ルーターアドレス対応テーブルを用いているが、ルーターとは異なるノードやリンクを単位とした同様の対応テーブルが用いられても良い。
【００６０】
ＤＬ元リスト生成部４４４は、送受信部４４１を介してＤＬ元候補リストを受信し、所属ルーターアドレス対応テーブルの内容に基づいてＤＬ元候補リストに含まれる複数のＩＰアドレスを並び替えることによってＤＬ元リストを生成する。具体的には、まずＤＬ元リスト生成部４４４は、ＤＬ元候補リストに含まれている各ＩＰアドレスのＩＰアドレスについて、ネットワークアドレスを検出する。次に、ＤＬ元リスト生成部４４４は、所属ルーターアドレス対応テーブルを参照することによって、ネットワークアドレスに対応する所属ルーターの識別子を検出する。そして、ＤＬ元リスト生成部４３４は、ＤＬ元候補リストに含まれる各ＩＰアドレスを、対応する所属ルーターの識別子が連続して並ぶことのないように並び変えることによって、ＤＬ元リストを生成する。
【００６１】
より具体的には、ＤＬ元リスト生成部４４４は、所属ルーターの識別子についてラウンドロビン方式を適用することによって、ＤＬ元候補リストに含まれる各ＩＰアドレスを並べ替えても良い。また、ＤＬ元リスト生成部４４４は、乱数を繰り返し発生させ、発生した乱数に対応する所属ルーターの識別子に対応したＩＰアドレスを乱数が発生した順序に並べることによって、ＤＬ元候補リストに含まれる各ＩＰアドレスを並べ替えても良い。
【００６２】
このように構成されたヒントサーバー４０ｅによれば、ＤＬ元通信端末装置が所属するネットワークアドレスに対応するリンクやノード（この場合はルーター）が連続しないように、ＤＬ元通信端末装置のＩＰアドレスが並び替えられる。そして、ＤＬ先通信端末装置は、この並び順に従ってコンテンツのデータのダウンロードを要求するため、特定のネットワークのリンクやノードに対して通信（トラヒック）が集中することを防止することが可能となり、通信システム１００全体の通信の効率化を図ることが可能となる。
【００６３】
[第六実施形態]
図１６は、ヒントサーバー４０の第六実施形態の機能構成を表す概略ブロック図である。第六実施形態におけるヒントサーバー４０（４０ｆ）は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、ヒントサーバープログラムを実行することによって送受信部４５１、所属ルーター記憶部４５２、ＤＬ元リスト生成部４５４、ルーター負荷指数記憶部４５５を備える装置として機能する。
【００６４】
送受信部４５１は、ネットワークインターフェース等の通信装置を用いて構成され、ピア管理サーバー３０とデータの送受信を行う。具体的には、送受信部４５１はピア管理サーバー３０からＤＬ元候補リストを受信し、ピア管理サーバー３０にＤＬ元リストを送信する。
【００６５】
所属ルーター記憶部４５２は、所属ルーター記憶部４４２と同様の所属ルーターアドレス対応テーブルを記憶する。
ルーター負荷指数記憶部４５５は、ルーター負荷指数テーブルを記憶する。図１７は、ルーター負荷指数テーブルの概略を表す図である。ルーター負荷指数テーブルは、各ルーターの識別子と、各ルーターの負荷指数とを対応付けて有する。ルーター負荷指数テーブルにおける負荷指数は、各ルーター２０に生じている負荷を表す値であり、例えば各ルーター２０のＣＰＵの使用率や、各ルーター２０のメモリの使用量や、各ルーター２０の帯域に対する使用トラフィック量や、各ルーター２０の使用トラフィック量や、各ルーター２０が接続された通信路の契約回線の帯域などである。帯域に対する使用トラフィック量とは、例えば各ルーター２０の訪路毎のポートの送受信トラフィックの和を帯域で除算した値によって表される。使用トラフィック量とは、例えば各ルーター２０の訪路毎のポートの送受信トラフィックの和によって表される。ルーター負荷指数テーブルの負荷指数の値は、負荷指数を算出する負荷指数計測サーバーによって計測されて設定されても良いし、ヒントサーバー４０の管理者によって手動で設定されてもよい。なお、第六実施形態では、上述したようにノードやリンクの具体例としてルーター２０を用いているため、ヒントサーバー４０ｆはルーターを単位としたルーター負荷指数テーブルを用いているが、ルーターとは異なるノードやリンクを単位とした同様の負荷指数テーブルが用いられても良い。
【００６６】
ＤＬ元リスト生成部４５４は、送受信部４５１を介してＤＬ元候補リストを受信し、所属ルーターアドレス対応テーブル及びルーター負荷指数テーブルの内容に基づいてＤＬ元候補リストに含まれる複数のＩＰアドレスを並び替えることによってＤＬ元リストを生成する。具体的には、まずＤＬ元リスト生成部４５４は、ＤＬ元候補リストに含まれている各ＩＰアドレスのＩＰアドレスについて、ネットワークアドレスを検出する。次に、ＤＬ元リスト生成部４５４は、所属ルーターアドレス対応テーブルを参照することによって、ネットワークアドレスに対応する所属ルーターの識別子を検出する。次に、ＤＬ元リスト生成部４５４は、ルーター負荷指数テーブルを参照することによって、所属ルーターの識別子に対応する負荷指数を検出する。そして、ＤＬ元リスト生成部４５４は、ＤＬ元候補リストに含まれる各ＩＰアドレスを、対応する所属ルーターの負荷指数が小さい順に並び変えることによって、ＤＬ元リストを生成する。
【００６７】
このように構成されたヒントサーバー４０ｆによれば、ＤＬ元通信端末装置が所属するネットワークアドレスに対応するリンクやノード（この場合はルーター）の負荷指数が小さい順に、ＤＬ元通信端末装置のＩＰアドレスが並び替えられる。そして、ＤＬ先通信端末装置は、この並び順に従ってコンテンツのデータのダウンロードを要求するため、所属するネットワークのリンクやノードの負荷指数が小さいＤＬ元通信端末装置から先にダウンロードの要求を受けることとなる。そのため、負荷指数が高いリンクやノードに新たなダウンロードの要求に係る通信（トラヒック）が発生することを防止でき、その結果として特定のリンクやノードに多数の通信（トラヒック）が集中することを防止することが可能となる。そのため、通信システム１００全体の通信の効率化を図ることが可能となる。
【００６８】
[第七実施形態]
図１８は、ヒントサーバー４０の第七実施形態の機能構成を表す概略ブロック図である。第七実施形態におけるヒントサーバー４０（４０ｇ）は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、ヒントサーバープログラムを実行することによって送受信部４６１、コンテンツ保持率記憶部４６２、コンテンツ保持率管理部４６３、ＤＬ元リスト生成部４６４を備える装置として機能する。
【００６９】
まず、第七実施形態におけるヒントサーバー４０ｇが実装される前提となる環境について説明する。各通信端末装置１０は、自身が記憶しているコンテンツのデータの保持率を表す情報（コンテンツ保持率情報）を、ピア管理サーバー３０に通知する。この通知は、定期的に行われても良いし、予め決められた条件が満たされた場合に行われても良い。予め決められた条件が満たされた場合とは、例えば、ピア管理サーバー３０やヒントサーバー４０ｇからコンテンツ保持率情報の送信を指示された場合や、ピア管理サーバー３０やヒントサーバー４０ｇから指示されたタイミングが到来した場合などである。ピア管理サーバー３０は、受信したコンテンツ保持率情報をヒントサーバー４０ｇへ送信する。なお、コンテンツ保持率とは、コンテンツのデータをどの程度の量保持しているのかを表す値である。たとえば、１００ＭＢのサイズのコンテンツのデータを４０ＭＢ分だけ記憶している場合には、コンテンツ保持率は４０％となる。また、１００個のブロックに分割されて送受信されるコンテンツのデータを６０個分だけ記憶している場合には、コンテンツ保持率は６０％となる。すなわち、あるコンテンツのデータに関して、完全に１００％分のデータを受信し記憶している場合には、コンテンツ保持率は１００％となる。コンテンツ保持率をどのようにして算出するかは、通信システム１００の設計者や管理者によって適宜選択される。
【００７０】
次に、ヒントサーバー４０ｇが備える各構成について説明する。送受信部４６１は、ネットワークインターフェース等の通信装置を用いて構成され、ピア管理サーバー３０とデータの送受信を行う。具体的には、送受信部４６１は、ピア管理サーバー３０からＤＬ元候補リストを受信し、ピア管理サーバー３０にＤＬ元リストを送信する。また、送受信部４６１は、ピア管理サーバー３０からコンテンツ保持率情報を受信する。
【００７１】
コンテンツ保持率記憶部４６２は、コンテンツ保持率テーブルを記憶する。図１９は、コンテンツ保持率テーブルの概略を表す図である。コンテンツ保持率テーブルは、各通信端末装置１０の端末識別子と、コンテンツの識別子（コンテンツＩＤ）と、の組み合わせに対応付けて、コンテンツ保持率を有する。端末識別子は、各通信端末装置１０を表す識別子であり、例えばＩＰアドレスやピアＩＤなどである。以下の説明では、端末識別子がＩＰアドレスである場合の構成について説明する。
【００７２】
コンテンツ保持率管理部４６３は、コンテンツ保持率記憶部４６２に記憶されるコンテンツ保持率テーブルを管理する。具体的には、コンテンツ保持率管理部４６３は、送受信部４６１を介してコンテンツ保持率情報を受信し、受信されたコンテンツ保持率情報の内容に応じてコンテンツ保持率テーブルを更新する。
【００７３】
ＤＬ元リスト生成部４６４は、送受信部４６１を介してＤＬ元候補リストを受信し、コンテンツ保持率テーブルの内容に基づいてＤＬ元候補リストに含まれる複数のＤＬ元通信端末装置に対して優先度を付与し、ＤＬ元リストを生成する。具体的には、ＤＬ元リスト生成部４６４は、ＤＬ元候補リストに含まれている各ＩＰアドレスに対し、コンテンツ保持率テーブルにおいてコンテンツ保持率が高い順に高い優先度を付与する。このとき、ＤＬ元リスト生成部４６４は、コンテンツ保持率テーブルに記録されている各コンテンツ保持率のうち、ダウンロードの要求対象となっているコンテンツに関するコンテンツ保持率に基づいて優先度を付与する。そして、ＤＬ元リスト生成部４６４は、ＤＬ元候補リストに含まれている各ＩＰアドレスを、付与された優先度が高い順に並び変えることによって、ＤＬ元リストを生成する。
【００７４】
例えば、コンテンツＩＤ“Ｃ１１”に関するＤＬ元候補リストが受信された場合、ＤＬ元リスト生成部４６４は以下のように動作する。まず、ＤＬリスト生成部４６４は、コンテンツ保持率テーブルを参照し、ＤＬ元候補リストに含まれている各ＩＰアドレスと、要求対象となっているコンテンツＩＤと、の組み合わせに対応する各コンテンツ保持率を読み出す。ＤＬ元候補リストに、ＩＰアドレスとして“Ａ１”、“Ａ２”、“Ａ３”が含まれていたとすると、ＤＬ元リスト生成部４６４は、各ＩＰアドレスに対応するコンテンツ保持率として“１００”、“８５”、“６０”を読み出す。ＤＬリスト生成部４６４は、“Ａ１”に対して最も高い優先度を付与し、“Ａ２”に対して２番目に高い優先度を付与し、“Ａ３”に対して３番目に高い優先度を付与する。ＤＬリスト生成部４６４は、優先度順に各ＩＰアドレスを並べ直すことによってＤＬ元リストを生成する。そして、ＤＬリスト生成部４６４は、生成されたＤＬ元リストをピア管理サーバー３０に送信する。
【００７５】
従来は、コンテンツ保持率の高低に関わりなく、ＤＬ元リストが作成されていた。そのため、コンテンツ保持率の低い通信端末装置１０がＤＬ元通信端末装置として選択されることがあり、コンテンツのデータのダウンロードに多くの時間を要してしまうという問題があった。上記のように構成されたヒントサーバー４０ｇは、このような問題を解決する。ヒントサーバー４０ｇによれば、コンテンツ保持率が高い順に、ＤＬ元通信端末装置のＩＰアドレスが並び替えられる。そして、ＤＬ先通信端末装置は、コンテンツ保持率が高い通信端末装置１０から順にＤＬ元通信端末装置として選択し、コンテンツのデータのダウンロードを要求する。そのため、コンテンツ保持率が高いＤＬ元通信端末装置から先にダウンロードの要求を受けることとなる。したがって、従来に比べてより少ない時間でダウンロードを完了することが可能となる。
【００７６】
より具体的には以下のとおりである。各ＤＬ元通信端末装置が一つのコンテンツのデータを複数のブロックに分割してＤＬ先通信端末装置に送信する場合、ＤＬ先通信端末装置から要求されたブロックを記憶していないＤＬ元通信端末装置は、要求されたブロックを自身が受信するまで、ＤＬ先通信端末装置に対する送信を待機する。そのため、ＤＬ先通信端末装置にとっては、要求対象となるブロックを記憶していないＤＬ元通信端末装置に対してダウンロードの要求を行うと、その分だけダウンロードに時間を要してしまう。コンテンツ保持率が高いＤＬ元通信端末装置ほど、ＤＬ先通信端末装置から要求されたブロックを保持している可能性が高い。そのため、コンテンツ保持率が高いＤＬ元通信端末装置ほど、ブロックを保持していないことによる待機時間の発生確率が低い。したがって、ＤＬ先通信端末装置が、コンテンツ保持率が高いＤＬ元通信端末装置から順にダウンロード要求を行うことによって、ダウンロードに要する時間を短縮することが可能となる。
【００７７】
［第八実施形態］
図２０は、ヒントサーバー４０の第八実施形態の機能構成を表す概略ブロック図である。第八実施形態におけるヒントサーバー４０（４０ｈ）は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、ヒントサーバープログラムを実行することによって送受信部４７１、通知回数記憶部４０２、通知回数管理部４０３、負荷指数記憶部４１２、ホップ数記憶部４３２、地域記憶部４２５、所属ルーター記憶部４４２、所属ルーター記憶部４５２、ルーター負荷指数記憶部４５５、コンテンツ保持率記憶部４６２、コンテンツ保持率管理部４６３、ＤＬ元リスト生成部４７４を備える装置として機能する。
【００７８】
通知回数記憶部４０２、通知回数管理部４０３、負荷指数記憶部４１２、ホップ数記憶部４３２、所属ルーター記憶部４４２、所属ルーター記憶部４５２、ルーター負荷指数記憶部４５５、地域記憶部４３５、コンテンツ保持率記憶部４６２、コンテンツ保持率管理部４６３は、それぞれ上記で説明されたとおりの構成を備える。
送受信部４７１は、ネットワークインターフェース等の通信装置を用いて構成され、ピア管理サーバー３０とデータの送受信を行う。具体的には、送受信部４７１は、ピア管理サーバー３０からＤＬ元候補リストを受信し、ピア管理サーバー３０にＤＬ元リストを送信する。また、送受信部４７１は、ピア管理サーバー３０からコンテンツ保持率情報を受信する。
【００７９】
ＤＬ元リスト生成部４７４は、第一実施形態〜第七実施形態におけるＤＬ元リスト生成部４０４〜４６４が備える機能を有し、ヒントサーバー４０ｈの管理者によって設定された各機能のオン・オフ制御に応じて、オンに設定された機能のみを実行する。例えば、第二実施形態におけるＤＬ元リスト生成部４１４と、第五実施形態におけるＤＬ元リスト生成部４４４の機能のみがオンに設定され、他の機能がオフに設定された場合、ＤＬ元リスト生成部４７４は、オンに設定された機能のみを実行することによってＤＬ元リストを生成する。このとき、ＤＬ元リスト生成部４７４は、管理者によって設定された順番に応じて、各機能を順番に実行するように構成されても良い。
【００８０】
このように構成されたヒントサーバー４０ｈによれば、ヒントサーバー４０の管理者は、ヒントサーバー４０が所属する通信システム１００のネットワークポリシーや、ヒントサーバー４０が所属する通信システム１００に生じているトラブルの種類などに応じて、ヒントサーバー４０において実行する上記各機能を選択することが可能となる。従って、ヒントサーバー４０において不要な機能を実行しないことにより処理時間の増大を抑えつつ、必要な機能を実行することによって通信システム１００全体の通信の効率化を図ることが可能となる。
【００８１】
［第九実施形態］
図２１は、ヒントサーバー４０の第九実施形態の機能構成を表す概略ブロック図である。第九実施形態におけるヒントサーバー４０（４０ｉ）は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、ヒントサーバープログラムを実行することによって送受信部４８１、通知回数記憶部４０２、通知回数管理部４０３、負荷指数記憶部４１２、ホップ数記憶部４３２、地域記憶部４３５、所属ルーター記憶部４４２、所属ルーター記憶部４５２、ルーター負荷指数記憶部４５５、コンテンツ保持率記憶部４６２、コンテンツ保持率管理部４６３、機能選択部４８３、ＤＬ元リスト生成部４８４を備える装置として機能する。
【００８２】
通知回数記憶部４０２、通知回数管理部４０３、負荷指数記憶部４１２、ホップ数記憶部４３２、所属ルーター記憶部４４２、所属ルーター記憶部４５２、ルーター負荷指数記憶部４５５、地域記憶部４３５、コンテンツ保持率記憶部４６２、コンテンツ保持率管理部４６３は、それぞれ上記で説明されたとおりの構成を備える。
【００８３】
送受信部４８１は、ネットワークインターフェース等の通信装置を用いて構成され、ピア管理サーバー３０とデータの送受信を行う。具体的には、送受信部４８１は、ピア管理サーバー３０からＤＬ元候補リストを受信し、ピア管理サーバー３０にＤＬ元リストを送信する。また、送受信部４８１は、ピア管理サーバー３０からコンテンツ保持率情報を受信する。
【００８４】
機能選択部４８３は、通信システム１００のネットワーク状況に応じて、第一実施形態〜第七実施形態におけるＤＬ元リスト生成部４０４〜４６４が備える機能のうち、どの機能に基づいてＤＬ元リストを生成するか選択する。この選択において、機能選択部４８３は、１つの機能のみを選択しても良いし、複数の機能を選択しても良い。なお、以下の説明において、ＤＬ元リスト生成部４０４及びＤＬ元リスト生成部４１４の機能を第一機能、ＤＬ元リスト生成部４２４及びＤＬ元リスト生成部４３４の機能を第二機能、ＤＬ元リスト生成部４４４及びＤＬ元リスト生成部４５４の機能を第三機能、ＤＬ元リスト生成部４６４の機能を第四機能と呼ぶ。また、第一機能が選択された場合に、ＤＬ元リスト生成部４８４は、ＤＬ元リスト生成部４０４の機能を用いてＤＬ元リスト生成部４１４の機能を用いなくとも良いし、ＤＬ元リスト生成部４０４の機能を用いずにＤＬ元リスト生成部４１４の機能を用いても良いし、ＤＬ元リスト生成部４０４及びＤＬ元リスト生成部４１４の機能を用いても良い。第二機能、第三機能に関しても同様である。
【００８５】
ＤＬ元リスト生成部４８４は、第一実施形態〜第七実施形態におけるＤＬ元リスト生成部４０４〜４６４が備える機能（第一機能〜第四機能）を有する。ＤＬ元リスト生成部４８４は、機能選択部４８３によって選択された機能を用いて、ＤＬ元リストを生成する。
図２２は、機能選択部４８３が行う処理の流れを表すフローチャートである。機能選択部４８３は、ＤＬ元候補リストを受信する度に、図２２に表される処理を行うことによって、ＤＬ元リストを生成する際に用いる機能を選択する。
【００８６】
まず、機能選択部４８３は、受信されたＤＬ元候補リストに対応する地理モデルが、全国分散型であるか都市集中型であるかについて判定する（ステップＳ１０１）。受信されたＤＬ元候補リストに対応する地理モデルとは、受信されたＤＬ元候補リストに含まれるＤＬ元通信端末装置（以下、「候補ＤＬ元通信端末装置」という。）及びＤＬ先通信端末装置の各所在地によって表される地理モデルである。全国分散型とは、ＤＬ先通信端末装置や候補ＤＬ元通信端末装置の所在地が全国に分散していることを表す。都市集中型とは、ＤＬ先通信端末装置や候補ＤＬ元通信端末装置の所在地が特定の都市に集中していることを表す。機能選択部４８３は、ＤＬ先通信端末装置や候補ＤＬ元通信端末装置のＩＰアドレスに基づいて、各装置の所在地を推定し、地理モデルを判定しても良い。例えば、機能選択部４８３は、候補ＤＬ元通信端末装置及びＤＬ先通信端末装置の総台数を、全てのエッジルーターの台数で除算する。この値を平均所属端末数という。また、機能選択部４８３は、各エッジルーターに属している候補ＤＬ元通信端末装置及びＤＬ先通信端末装置の台数と、平均所属端末数とのずれの大きさを、標準偏差として算出する。そして、機能選択部４８３は、算出された標準偏差が閾値よりも大きい場合には都市集中型と判定し、標準偏差が閾値よりも小さい場合には全国分散型と判定する。
【００８７】
機能選択部４８３は、地理モデルが全国分散型であると判定した場合（ステップＳ１０１−全国分散型）、第二機能を選択する（ステップＳ１０２）。一方、機能選択部４８３は、地理モデルが都市集中型であると判定した場合（ステップＳ１０１−都市集中型）、候補ＤＬ元通信端末装置の負荷が大きいか否か判定する（ステップＳ１０３）。例えば、機能選択部４８３は、負荷指数記憶部４１２に記憶される負荷指数テーブルに基づいてこの判定を行っても良い。この場合、機能選択部４８３は、負荷指数テーブルに基づいて、候補ＤＬ元通信端末装置の負荷について統計値を算出する。統計値とは、例えば合計値や平均値である。そして、機能選択部４８３は、算出された統計値が、予め設定された閾値を超えているか否か判定する。機能選択部４８３は、負荷の具体例として、例えばＣＰＵの使用率、メモリの使用率、使用トラフィック量などを用いる。ＣＰＵ又はメモリの使用率に関しては、機能選択部４８３は、例えば使用率ＮＣＴパーセント以上の状態がＭＣＴ秒以上続く場合に、閾値を超えたと判定しても良い。ＮＣＴ及びＭＣＴはいずれも正の実数であり、例えばＮＣＴ＝８０、ＭＣＴ＝３０であっても良い。また、使用トラフィック量に関しては、機能選択部４８３は、送信トラフィック量と受信トラフィック量とに分けて閾値を判定しても良い。例えば、送信トラフィック量が、全帯域のＮＴＴパーセント以上の状態がＭＴＴ秒以上続く場合に、機能選択部４８３は閾値を超えたと判定しても良い。例えば、受信トラフィック量が、全帯域のＮＲＴパーセント以上の状態がＭＲＴ秒以上続く場合に、機能選択部４８３は閾値を超えたと判定しても良い。ＮＴＴ、ＭＴＴ、ＮＲＴ、ＭＲＴはいずれも正の実数であり、例えばＮＴＴ＝８０、ＭＴＴ＝３０、ＮＲＴ＝８０、ＭＲＴ＝３０であっても良い。機能選択部４８３は、統計値が閾値を超えている場合には、候補ＤＬ元通信端末装置の負荷が大きいと判定する。一方、機能選択部４８３は、統計値が閾値を超えていない場合には、候補ＤＬ元通信端末装置の負荷が大きくないと判定する。
【００８８】
機能選択部４８３は、候補ＤＬ元通信端末装置の負荷が大きいか否か判定した後、各候補ＤＬ元通信端末装置とＤＬ先通信装置との通信経路に位置する通信要素機器に生じる負荷が大きいか否か判定する（ステップＳ１０４，Ｓ１０７）。機能選択部４８３は、例えば、ルーター負荷指数記憶部４５５に記憶されるルーター負荷指数テーブルに基づいてこの判定を行う。この場合、機能選択部４８３は、ルーター負荷指数テーブルに基づいて、複数のルーター（通信要素機器）の負荷について統計値を算出する。統計値とは、上述したように、例えば合計値や平均値である。そして、機能選択部４８３は、算出された統計値が、予め設定された閾値を超えているか否か判定する。機能選択部４８３は、負荷の具体例として、例えばＣＰＵの使用率、メモリの使用率、使用トラフィック量などを用いる。ＣＰＵ又はメモリの使用率に関しては、機能選択部４８３は、例えば使用率ＮＣＲパーセント以上の状態がＭＣＲ秒以上続く場合に、閾値を超えたと判定しても良い。ＮＣＲ及びＭＣＲはいずれも正の実数であり、例えばＮＣＲ＝８０、ＭＣＲ＝９であっても良い。また、使用トラフィック量に関しては、機能選択部４８３は、送信トラフィック量と受信トラフィック量とに分けて閾値を判定しても良い。例えば、送信トラフィック量が、全帯域のＮＴＲパーセント以上の状態が一瞬でもあった場合に、機能選択部４８３は閾値を超えたと判定しても良い。例えば、受信トラフィック量が、全帯域のＮＲＲパーセント以上の状態がＭＲＲ秒以上続く場合に、機能選択部４８３は閾値を超えたと判定しても良い。ＮＴＲ、ＭＴＲ、ＮＲＲ、ＭＲＲはいずれも正の実数であり、例えばＮＴＲ＝１００、ＮＲＲ＝８０、ＭＲＲ＝９であっても良い。機能選択部４８３は、統計値が閾値を超えている場合には、通信要素機器の負荷が大きいと判定する。一方、機能選択部４８３は、統計値が閾値を超えていない場合には、通信要素機器の負荷が大きくないと判定する。
【００８９】
機能選択部４８３は、候補ＤＬ元通信端末装置の負荷及び通信要素機器の負荷が大きいと判定した場合（ステップＳ１０３−ＹＥＳ、ステップＳ１０４−ＹＥＳ）、第一機能、第二機能、第三機能、第四機能の全てを選択する（ステップＳ１０５）。このように複数の機能が選択され実行される場合には、先に実行された機能の影響が最も強く現れる。そのため、有効性を高めるべき機能から順に実行されるように、機能選択部４８３は実行順序をさらに選択しても良い。例えば、機能選択部４８３は、第二機能、第一機能、第四機能、第三機能の順に実行されるように実行順序を選択しても良い。機能選択部４８３は、候補ＤＬ元通信端末装置の負荷が大きく、通信要素機器の負荷が小さいと判定した場合（ステップＳ１０３−ＹＥＳ、ステップＳ１０４−ＮＯ）、第一機能、第二機能、第四機能を選択する（ステップＳ１０６）。この場合、例えば、機能選択部４８３は、第一機能、第二機能、第四機能の順に実行されるように実行順序を選択しても良い。機能選択部４８３は、候補ＤＬ元通信端末装置の負荷が小さく、通信要素機器の負荷が大きいと判定した場合（ステップＳ１０３−ＮＯ、ステップＳ１０４−ＹＥＳ）、第二機能及び第三機能を選択する（ステップＳ１０８）。この場合、例えば、機能選択部４８３は、第二機能、第三機能の順に実行されるように実行順序を選択しても良い。機能選択部４８３は、候補ＤＬ元通信端末装置の負荷及び通信要素機器の負荷が小さいと判定した場合（ステップＳ１０３−ＮＯ、ステップＳ１０４−ＮＯ）、第二機能を選択する（ステップＳ１０９）。
ステップＳ１０２、Ｓ１０５、Ｓ１０６、Ｓ１０８、Ｓ１０９の処理によって機能が選択されると、機能選択部４８３は、選択した機能をＤＬ元リスト生成部４８４に通知する。その後、ＤＬ元リスト生成部４８４は、機能選択部４８３によって選択された機能を用いて、ＤＬ元候補リストの各ＩＰアドレスに対して優先度を付与し、ＤＬ元リストを生成する。
【００９０】
このように構成されたヒントサーバー４０ｉによれば、通信システム１００のネットワーク状況に応じて、第一機能〜第四機能のうち最適な機能が動的に選択され、選択された機能を用いてＤＬ元リストが生成される。そのため、常に固定的な機能によってＤＬ元リストが生成される場合に比べて、より適した順番でＤＬ元通信端末装置をＤＬ先通信端末装置に対して通知することが可能となる。
【００９１】
ヒントサーバー４０ｉの作用及び効果について詳細に説明する。第一機能〜第四機能は、それぞれが全てのネットワーク状況に対して万能なわけではない。例えば、第一機能ではネットワークにおけるトラフィック分散の効果が薄いため、トラフィックを分散させる必要がある場合にこの機能を用いても十分な効果を得にくい場合があった。他の機能においても、それぞれにおいて不得意とするネットワーク状況があった。しかしながら、ヒントサーバー４０ｉでは、機能選択部４８３が、その時々に変化するネットワーク状況に応じて、適切な機能を選択する。
【００９２】
具体的には、第一機能は、地理モデルに依存することなく、ダウンロードに要する時間（ダウンロード時間）を短縮することが可能である。ただし、第一機能は、トラフィック転送量の削減や分散に対する効果が薄いため、通信要素機器の負荷が高い場合にはダウンロード時間を短縮することが困難となる。第二機能は、地理モデルが全国分散型の場合に、全ての機能の中で最もダウンロード時間を短縮することができる。また、第二機能は、トラフィック転送量の削減や分散に対する効果があり、通信要素機器の負荷が高い場合にもダウンロード時間を短縮することができる。第三機能は、トラフィック転送量の分散効果がある。また、第四機能は、ＤＬ元通信端末装置の負荷を軽減することができる。以上のことから、地理モデルが全国分散型の場合には、第二機能が選択される。一方、地理モデルが都市集中型の場合には、原則として第二機能のみならず他の機能も動作させることによって総合的にダウンロード時間の削減が図られる。また、ＤＬ元通信端末装置の負荷が大きい場合には、この負荷軽減のために、第一機能や第四機能が選択される。また、通信要素機器の負荷が大きい場合には、第三機能が選択され、トラフィック転送量の分散が図られる。また、第二機能はどのような場合にも有効にダウンロード時間を短縮しトラフィック転送量の削減や分散に効果を発揮するため、どのような場合にも第二機能は選択される。このような基準によって機能選択部４８３が機能を選択するため、通信システム１００のネットワーク状況に応じて、より適した順番でＤＬ元通信端末装置をＤＬ先通信端末装置に対して通知することが可能となる。
【００９３】
［変形例］
ピア管理サーバー３０の機能は、各通信端末装置１０やヒントサーバー４０に統合されても良い。例えば、各通信端末装置１０にピア管理サーバー３０の機能が統合された場合、各通信端末装置１０（ＤＬ先通信端末装置１０）は、ＤＬ元リスト要求データを生成することなく、使用者が所望するコンテンツのデータを有する各通信端末装置１０のＩＰアドレスを含むＤＬ元候補リストを生成する。そして、ＤＬ先通信端末装置１０は、生成されたＤＬ元候補リストを、ヒントサーバー４０に対して送信する。この場合、ヒントサーバー４０は、受信されたＤＬ元候補リストに基づいてＤＬ元リストを生成し、ＤＬ先通信端末装置１０へ送信する。
【００９４】
機能選択部４８３は、例えば通知回数記憶部４０２に記憶されている通知回数テーブルに基づいて地理モデルを判定しても良い。この場合、機能選択部４８３は、通知回数テーブルに登録されているＤＬ元端末識別子に基づいて、各ＤＬ元端末識別子の所在地が全国に分散しているか特定の都市に集中しているか判定する。この場合の判定の基準は、予め機能選択部４８３に設定される。また、機能選択部４８３は、これまでに受信されたＤＬ元候補リストのログ情報に基づいて、地理モデルを判定しても良い。ログ情報は、これまでに受信されたＤＬ元候補リストに関するＤＬ先通信端末装置のＩＰアドレスや、ＤＬ元候補リストに含まれる各ＩＰアドレスを含んだ情報である。この場合、機能選択部４８３は、ログ情報に基づいてＤＬ先通信端末装置のＩＰアドレスと候補ＤＬ元通信端末装置のＩＰアドレスとに基づいて、各ＩＰアドレスの所在地が全国に分散しているか否か判定する。なお、ログ情報は、送受信部４８１によって記録されても良いし、不図示のログ記録部によって記録されても良い。また、機能選択部４８３は他の方法によって地理モデルを判定しても良い。
【００９５】
機能選択部４８３は、ネットワーク転送総トラフィック量に基づいて、通信要素機器の負荷を評価しても良い。ネットワーク転送総トラフィック量とは、ＤＬ元通信端末装置からＤＬ先通信端末装置への通信経路上に位置する通信要素機器が転送するトラフィックの総量を表す。機能選択部４８３は、例えば以下のような順番で処理を行うことによってネットワーク転送総トラフィック量を算出しても良い。まず、機能選択部４８３は、ＤＬ元通信端末装置からＤＬ先通信端末装置までのホップ数を判定する。以下、この処理をホップ数判定処理という。そして、機能選択部４８３は、判定されたホップ数に基づいて、ネットワーク転送総トラフィック量を算出する。以下、この処理を総トラフィック量算出処理という。
【００９６】
上記二つの処理についてより詳細に説明する。まず、ホップ数算出処理について説明する。機能選択部４８３は、地域アドレス対応テーブルを参照し、ＤＬ先通信端末装置のＩＰアドレス及びＤＬ元通信端末装置のＩＰアドレスに基づいて、各装置が設置されている地域を判定する。そして、機能選択部４８３は、ホップ数テーブルを参照し、ＤＬ先端末装置と各ＤＬ元通信端末装置との間のホップ数を判定する。次に、総トラフィック量算出処理について説明する。機能選択部４８３は、判定されたホップ数に対し、ダウンロードの対象となったコンテンツのデータサイズを乗算することによって、ネットワーク転送総トラフィック量を算出する。なお、コンテンツのデータサイズは、ＤＬ元候補リストに付加されている。そのため、機能選択部４８３はＤＬ元候補リストを参照することによってコンテンツのデータサイズを取得することができる。以上の処理によって、機能選択部４８３は、ネットワーク転送総トラフィック量を算出しても良い。そして、機能選択部４８３は、算出されたネットワーク転送総トラフィック量が閾値を超えているか否かに応じて、通信要素機器の負荷が大きいか否か判定しても良い。また、機能選択部４８３は、所定の時間内に受信されたＤＬ元候補リストに対応するネットワーク転送総トラフィック量を算出し、この合計値に基づいて通信要素機器の負荷が大きいか否か判定しても良い。
【００９７】
また、各装置のＩＰアドレスの値が近いほど実際に各装置が設置されている物理的距離が近くなるように、ＩＰアドレスの付与ルールが設定されている場合には、機能選択部４８３はホップ数判定処理を以下のように行っても良い。この場合、機能選択部４８３は、候補ＤＬ元通信端末装置のＩＰアドレスとＤＬ先通信端末装置のＩＰアドレスとを、桁数の高い方から比較する。機能選択部４８３は、値が一致しない桁が現れた時点で比較を終了し、その時点までに比較を行った桁数を一致桁数として取得する。そして、一致桁数に対して、予め定められた所定の定数を乗算することによって、ホップ数を算出しても良い。
【００９８】
また、各ルーター２０の使用トラフィック量は、以下のように計測されても良い。ヒントサーバー４０は、ＤＬ元通信端末装置及びＤＬ先通信端末装置のＩＰアドレスを取得し、ネットワークアドレスを抽出する。ヒントサーバー４０は、ネットワークアドレスに基づいて、ＤＬ元通信端末装置からＤＬ先通信端末装置への通信に用いられたルーター２０を推定する。そして、ルーター２０毎に、通信の回数や容量に基づいて、ヒントサーバー４０は、使用トラフィック量を計測する。
また、各ルーター２０の使用トラフィック量は、各装置において実際に計測されても良い。この場合、各ルーター２０は、実際の使用トラフィック量を計測し、その計測値をヒントサーバー４０に通知しても良い。
【００９９】
また、各通信端末装置１０の負荷は、以下のように計測されても良い。ヒントサーバー４０は、通知回数テーブルを参照し、所定の時間以内にＤＬ元通信端末装置として通知された回数を、通信端末装置１０毎に計数する。そして、ヒントサーバー４０は、計数された値に対して、コンテンツのデータサイズの統計値（平均値や最頻値など）を乗じた値を、負荷として取得しても良い。
また、各通信端末装置１０の負荷は、以下のように計測されても良い。ヒントサーバー４０は、通信端末装置１０毎に、所定の時間以内にＤＬ元通信端末装置として通知された際のコンテンツのデータサイズを累積する。そして、ヒントサーバー４０は、この累積値を負荷として取得しても良い。
【０１００】
また、機能選択部４８３は、コンテンツの公開から所定の期間が経過しているか否かを判定するように構成されても良い。所定の期間が経過している場合には、機能選択部４８３は、第三実施形態におけるＤＬ元リスト生成部４２４の機能を選択するように構成されても良い。なお、機能選択部４８３は、コンテンツの公開時を、そのコンテンツに関するＤＬ元候補リストが初めて受信されたタイミングとして判定しても良い。
一般的に、コンテンツは、公開した直後は多くのダウンロード要求が発生するものの、公開から所定の期間が経過するとダウンロード要求の発生が少なくなる。そのため、第一機能、第三機能、第四機能のような複雑な処理によって優先度を判定しなくとも、ＤＬ元通信端末装置に多大な負荷が生じてしまうことはなく、ダウンロード時間がそもそも長くならないことが多い。このような場合には、むしろヒントサーバー４０における処理の時間の方が、短縮されるダウンロード時間よりも長くなってしまう可能性がある。上記のように機能選択部４８３が構成されることによって、このような問題を解決することができる。
【０１０１】
また、機能選択部４８３は、ステップＳ１０４又はＳ１０７の処理が開始されるまでに、現在処理の対象としているＤＬ元候補リストに関する処理に要している時間が、所定の時間を越えた場合には、その時点でステップＳ１０７以降の処理を実行するように構成されても良い。このように構成されることによって、機能選択部４８３における処理に予定外に多くの時間を要してしまうことを防止できる。また、一般的に第一機能の実施には多くの処理時間を要する。そのため、上記のような場合にＳ１０７以降の処理を行い第一機能が選択されることを回避することによって、ヒントサーバー４０ｉにおける処理に予定外に多くの時間を要してしまうことを防止できる。
【０１０２】
また、機能選択部４８３は、現在処理の対象としているＤＬ元候補リストに関する処理に要している時間に代えて、ヒントサーバー４０ｉに生じている負荷が閾値を超えているか否かを判定しても良い。この場合、ヒントサーバー４０ｉに生じている負荷が閾値を超えている場合には、機能選択部４８３は、その時点でステップＳ１０７以降の処理を実行する。
【０１０３】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１０４】
１０…通信端末装置，  ２０…ルーター，  ３０…ピア管理サーバー，  ４０…ヒントサーバー
【図１】
0005238793.tif 000002
【図２】
0005238793.tif 000003
【図３】
0005238793.tif 000004
【図４】
0005238793.tif 000005
【図５】
0005238793.tif 000006
【図６】
0005238793.tif 000007
【図７】
0005238793.tif 000008
【図８】
0005238793.tif 000009
【図９】
0005238793.tif 000010
【図１０】
0005238793.tif 000011
【図１１】
0005238793.tif 000012
【図１２】
0005238793.tif 000013
【図１３】
0005238793.tif 000014
【図１４】
0005238793.tif 000015
【図１５】
0005238793.tif 000016
【図１６】
0005238793.tif 000017
【図１７】
0005238793.tif 000018
【図１８】
0005238793.tif 000019
【図１９】
0005238793.tif 000020
【図２０】
0005238793.tif 000021
【図２１】
0005238793.tif 000022
【図２２】
0005238793.tif 000023