(57)【要約】【課題】センターサーバへの負荷集中を回避しつつ、コンテンツを構成する各チャンクの取得をより効率良く行わせることが可能な配信システム、ノード装置、ノード処理プログラム、及びコンテンツ取得方法を提供する。【解決手段】ノード装置は、第一コンテンツを構成する複数の第二コンテンツの取得順序であって、少なくとも最初に取得される第二コンテンツがグループ毎に異なる取得順序において前記最初に取得される第二コンテンツを示す情報を少なくとも含む取得指示情報をコンテンツ配信装置から受信すると、最初に取得される第二コンテンツから、前記ノード装置が属するグループに応じた取得順序で第二コンテンツの取得処理を開始する。【選択図】図２
2012008847.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して互いに通信可能な複数のノード装置と、コンテンツの配信元であるコンテンツ配信装置とを備えた配信システムであって、
前記コンテンツ配信装置は、
複数に分けられたグループのうちの何れかのグループに属する前記ノード装置により再生可能な第一コンテンツを構成する複数の第二コンテンツの取得順序であって、少なくとも最初に取得される第二コンテンツが前記グループ毎に異なる取得順序を決定する決定手段と、
前記決定された前記取得順序において前記最初に取得される第二コンテンツを示す情報を少なくとも含む取得指示情報を、各前記グループに属する各前記ノード装置に送信する送信手段と、
を備え、
各前記ノード装置は、
前記コンテンツ配信装置から送信された前記取得指示情報を受信する受信手段と、
前記受信された取得指示情報に応じて、前記第二コンテンツを保存しているノード装置から、前記複数の第二コンテンツを取得する取得処理を行う取得手段と、
を備え、
前記取得手段は、前記取得指示情報に示される前記最初に取得される第二コンテンツから、前記取得指示情報を受信した前記ノード装置が属する前記グループに応じた前記取得順序で前記取得処理を開始することを特徴とする配信システム。
【請求項２】
前記コンテンツ配信装置は、当該ノード装置による前記取得処理を開始する取得開始時刻を決定する第二決定手段を更に備え、前記第二決定手段は、同一の前記グループに属する複数のノード装置の中で、第一の前記ノード装置の前記取得開始時刻より、第二の前記ノード装置の前記取得開始時刻を所定時間遅らせて決定することを特徴とする請求項１に記載の配信システム。
【請求項３】
前記ノード装置は、前記取得処理において要求された前記第二コンテンツを所定時間内に取得できなかった場合に、前記取得指示情報を受信した前記ノード装置が属する前記グループ以外の他の前記グループに応じた前記取得順序に変更する変更手段を更に備え、
前記取得手段は、前記変更手段により変更された前記取得順序で前記取得処理を開始することを特徴とする請求項１又は２に記載の配信システム。
【請求項４】
前記ノード装置は、前記取得処理において要求された前記第二コンテンツを所定時間内に取得できなかった場合に、取得できなかった前記第二コンテンツ以外の前記第二コンテンツの保存数が所定数以上であるか否かを判定する判定手段と、
前記判定手段により前記所定数以上であると判定された場合には、前記取得指示情報を受信した前記ノード装置が属する前記グループ以外の他の前記グループに応じた前記取得順序に変更する変更手段と、
を更に備え、
前記取得手段は、前記変更手段により変更された前記取得順序で前記取得処理を開始することを特徴とする請求項１又は２に記載の配信システム。
【請求項５】
前記変更手段により変更された前記取得順序において前記最初に取得される第二コンテンツは前記グループ毎に異なることを特徴とする請求項３又は４に記載の配信システム。
【請求項６】
前記ノード装置は、前記取得処理において要求された前記第二コンテンツを所定時間内に取得できなかった場合に、取得できなかった前記第二コンテンツ以外の前記第二コンテンツの保存数が所定数以上であるか否かを判定する判定手段と、
前記判定手段により前記所定数以上でないと判定された場合には、前記取得手段は、前記取得できなかった前記第二コンテンツを前記コンテンツ配信装置から取得することを特徴とする請求項１又は２に記載の配信システム。
【請求項７】
前記第一コンテンツは、当該第一コンテンツが再生時間軸上における先頭から所定時間間隔で分割された前記複数の第二コンテンツから構成されており、
前記決定手段は、前記第一コンテンツの再生時間軸上における前記複数の第二コンテンツの再生順序に応じて前記取得順序を決定することを特徴とする請求項１乃至７の何れか一項に記載の配信システム。
【請求項８】
前記決定手段は、前記複数の第二コンテンツの再生順序と、所定の前記グループに対応する前記取得順序とが一致するように前記取得順序を決定することを特徴とする請求項７に記載の配信システム。
【請求項９】
ネットワークを介して互いに通信可能な複数のノード装置を備え、各前記ノード装置は複数に分けられたグループのうちの何れかのグループに属するように構成された配信システムにおける前記ノード装置であって、
前記ノード装置により再生可能な第一コンテンツを構成する複数の第二コンテンツの取得順序であって、少なくとも最初に取得される第二コンテンツが前記グループ毎に異なる取得順序において前記最初に取得される第二コンテンツを示す情報を少なくとも含む取得指示情報を、コンテンツ配信装置から受信する受信手段と、
前記受信された取得指示情報に応じて、前記第二コンテンツを保存しているノード装置から、前記複数の第二コンテンツを取得する取得処理を行う取得手段と、
を備え、
前記取得手段は、前記取得指示情報に示される前記最初に取得される第二コンテンツから、前記取得指示情報を受信した前記ノード装置が属する前記グループに応じた前記取得順序で前記取得処理を開始することを特徴とするノード装置。
【請求項１０】
ネットワークを介して互いに通信可能な複数のノード装置を備え、各前記ノード装置は複数に分けられたグループのうちの何れかのグループに属するように構成された配信システムにおける前記ノード装置に含まれるコンピュータを、
前記ノード装置により再生可能な第一コンテンツを構成する複数の第二コンテンツの取得順序であって、少なくとも最初に取得される第二コンテンツが前記グループ毎に異なる取得順序において前記最初に取得される第二コンテンツを示す情報を少なくとも含む取得指示情報を、コンテンツ配信装置から受信するステップと、
前記受信された取得指示情報に応じて、前記第二コンテンツを保存しているノード装置から、前記複数の第二コンテンツを取得する取得処理を行うステップと、
を実行させ、
更に、前記取得指示情報に示される前記最初に取得される第二コンテンツから、前記取得指示情報を受信した前記ノード装置が属する前記グループに応じた前記取得順序で前記取得処理を開始することを実行させるためのノード処理プログラム。
【請求項１１】
ネットワークを介して互いに通信可能な複数のノード装置と、前記ノード装置へコンテンツを配信するコンテンツ配信装置とを備えた配信システムにおけるコンテンツ取得方法であって、
前記コンテンツ配信装置が、複数に分けられたグループのうちの何れかのグループに属する前記ノード装置により再生可能な第一コンテンツを構成する複数の第二コンテンツの取得順序であって、少なくとも最初に取得される第二コンテンツが前記グループ毎に異なる取得順序を決定するステップと、
前記コンテンツ配信装置が、前記決定された前記取得順序において前記最初に取得される第二コンテンツを示す情報を少なくとも含む取得指示情報を、各前記グループに属する各前記ノード装置に送信するステップと、
前記ノード装置が、前記コンテンツ配信装置から送信された前記取得指示情報を受信するステップと、
前記ノード装置が、前記受信された取得指示情報に応じて、前記第二コンテンツを保存しているノード装置から、前記複数の第二コンテンツを取得する取得処理を行う取得ステップと、
を含み、
前記取得ステップは、前記取得指示情報に示される前記最初に取得される第二コンテンツから、前記取得指示情報を受信した前記ノード装置が属する前記グループに応じた前記取得順序で前記取得処理を開始することを特徴とするコンテンツ取得方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型の配信システムの技術分野に関する。
【背景技術】
【０００２】
近年、ピアツーピア型の配信システムにおいて、一つのコンテンツデータが複数に分割された各分割コンテンツデータを、複数のノード装置に分散保存した配信システムが知られている（特許文献１参照）。一つの分割コンテンツデータのデータ量は例えば数Ｍbyteになっている。以下、コンテンツデータを「コンテンツ」という。また、分割コンテンツデータを「チャンク」という。特許文献１に開示された配信システムでは、各チャンクには固有のコンテンツＩＤが付与されている。そして、各ノード装置は、チャンクのコンテンツＩＤに基づいて他のノード装置からチャンク単位でチャンクを取得すること可能になっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−０４７０６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ピアツーピア型の配信システムにおいてコンテンツの配信元であるセンターサーバが、新たなコンテンツを配信システム内に投入する場合がある。コンテンツの投入とは、１以上のノードＮｎに、新たなコンテンツを保存させることをいう。この場合、センターサーバは、予め決定した複数のノード装置へ取得指示メッセージを送信する。この取得指示メッセージは、コンテンツを構成する複数のチャンクを、各ノード装置に先頭のチャンクから順次取得させるためのメッセージである。取得指示メッセージには、コンテンツの取得開始時刻を示す情報が含まれている。取得開始時刻は、所定数のノード装置毎に所定時間間隔で遅らせるように設定されている。そのため、最も取得開始時刻の早いノード装置は、センターサーバからの各チャンクの取得を開始する。その所定時間経過後、次に取得開始時刻が早いノード装置は、最も取得開始時刻の早いノード装置からのコンテンツの取得を開始するようになっている。以降同様の要領で所定時間経過毎にコンテンツの取得が段階的に開始される。なお、取得開始時刻が早いノード装置の数よりも遅いノード装置の数が多くなるように設定される。これにより、複数のノード装置によるコンテンツの取得経路は、センターサーバを頂点とした仮想的なツリーを形成する。
【０００５】
しかしながら、上述した従来のコンテンツの取得方法では、ネットワークの負荷、センターサーバ又はノード装置の負荷等に起因して各ノード装置へのチャンクの送信が遅れる場合がある。この場合、各ノード装置は、チャンクの取得を停止するか、或いは別のノード装置やセンターサーバにチャンクを取得しにいくことになる。このような現象が発生すると、コンテンツの配信元であるセンターサーバに負荷が集中すると問題が生じる。
【０００６】
そこで、本発明は、以上の問題等に鑑みてなされたものであり、センターサーバへの負荷集中を回避しつつ、コンテンツを構成する各チャンクの取得をより効率良く行わせることが可能な配信システム、ノード装置、ノード処理プログラム、及びコンテンツ取得方法を提供すること等を課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置と、コンテンツの配信元であるコンテンツ配信装置とを備えた配信システムであって、前記コンテンツ配信装置は、複数に分けられたグループのうちの何れかのグループに属する前記ノード装置により再生可能な第一コンテンツを構成する複数の第二コンテンツの取得順序であって、少なくとも最初に取得される第二コンテンツが前記グループ毎に異なる取得順序を決定する決定手段と、前記決定された前記取得順序において前記最初に取得される第二コンテンツを示す情報を少なくとも含む取得指示情報を、各前記グループに属する各前記ノード装置に送信する送信手段と、を備え、各前記ノード装置は、前記コンテンツ配信装置から送信された前記取得指示情報を受信する受信手段と、前記受信された取得指示情報に応じて、前記第二コンテンツを保存しているノード装置から、前記複数の第二コンテンツを取得する取得処理を行う取得手段と、を備え、前記取得手段は、前記取得指示情報に示される前記最初に取得される第二コンテンツから、前記取得指示情報を受信した前記ノード装置が属する前記グループに応じた前記取得順序で前記取得処理を開始する。
【０００８】
請求項２に記載の発明は、請求項１に記載の配信システムにおいて、前記コンテンツ配信装置は、当該ノード装置による前記取得処理を開始する取得開始時刻を決定する第二決定手段を更に備え、前記第二決定手段は、同一の前記グループに属する複数のノード装置の中で、第一の前記ノード装置の前記取得開始時刻より、第二の前記ノード装置の前記取得開始時刻を所定時間遅らせて決定することを特徴とする。
【０００９】
請求項３に記載の発明は、請求項１又は２に記載の配信システムにおいて、前記ノード装置は、前記取得処理において要求された前記第二コンテンツを所定時間内に取得できなかった場合に、前記取得指示情報を受信した前記ノード装置が属する前記グループ以外の他の前記グループに応じた前記取得順序に変更する変更手段を更に備え、前記取得手段は、前記変更手段により変更された前記取得順序で前記取得処理を開始することを特徴とする。
【００１０】
請求項４に記載の発明は、請求項１又は２に記載の配信システムにおいて、前記ノード装置は、前記取得処理において要求された前記第二コンテンツを所定時間内に取得できなかった場合に、取得できなかった前記第二コンテンツ以外の前記第二コンテンツの保存数が所定数以上であるか否かを判定する判定手段と、前記判定手段により前記所定数以上であると判定された場合には、前記取得指示情報を受信した前記ノード装置が属する前記グループ以外の他の前記グループに応じた前記取得順序に変更する変更手段と、を更に備え、前記取得手段は、前記変更手段により変更された前記取得順序で前記取得処理を開始することを特徴とする。
【００１１】
請求項５に記載の発明は、請求項３又は４に記載の配信システムにおいて、前記変更手段により変更された前記取得順序において前記最初に取得される第二コンテンツは前記グループ毎に異なることを特徴とする。
【００１２】
請求項６に記載の発明は、請求項１又は２に記載の配信システムにおいて、前記ノード装置は、前記取得処理において要求された前記第二コンテンツを所定時間内に取得できなかった場合に、取得できなかった前記第二コンテンツ以外の前記第二コンテンツの保存数が所定数以上であるか否かを判定する判定手段と、前記判定手段により前記所定数以上でないと判定された場合には、前記取得手段は、前記取得できなかった前記第二コンテンツを前記コンテンツ配信装置から取得することを特徴とする。
【００１３】
請求項７に記載の発明は、請求項１乃至７の何れか一項に記載の配信システムにおいて、前記第一コンテンツは、当該第一コンテンツが再生時間軸上における先頭から所定時間間隔で分割された前記複数の第二コンテンツから構成されており、前記決定手段は、前記第一コンテンツの再生時間軸上における前記複数の第二コンテンツの再生順序に応じて前記取得順序を決定することを特徴とする。
【００１４】
請求項８に記載の発明は、請求項７に記載の配信システムにおいて、前記決定手段は、前記複数の第二コンテンツの再生順序と、所定の前記グループに対応する前記取得順序とが一致するように前記取得順序を決定することを特徴とする。
【００１５】
請求項９に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、各前記ノード装置は複数に分けられたグループのうちの何れかのグループに属するように構成された配信システムにおける前記ノード装置であって、前記ノード装置により再生可能な第一コンテンツを構成する複数の第二コンテンツの取得順序であって、少なくとも最初に取得される第二コンテンツが前記グループ毎に異なる取得順序において前記最初に取得される第二コンテンツを示す情報を少なくとも含む取得指示情報を、コンテンツ配信装置から受信する受信手段と、前記受信された取得指示情報に応じて、前記第二コンテンツを保存しているノード装置から、前記複数の第二コンテンツを取得する取得処理を行う取得手段と、を備え、前記取得手段は、前記取得指示情報に示される前記最初に取得される第二コンテンツから、前記取得指示情報を受信した前記ノード装置が属する前記グループに応じた前記取得順序で前記取得処理を開始することを特徴とする。
【００１６】
請求項１０に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、各前記ノード装置は複数に分けられたグループのうちの何れかのグループに属するように構成された配信システムにおける前記ノード装置に含まれるコンピュータを、前記ノード装置により再生可能な第一コンテンツを構成する複数の第二コンテンツの取得順序であって、少なくとも最初に取得される第二コンテンツが前記グループ毎に異なる取得順序において前記最初に取得される第二コンテンツを示す情報を少なくとも含む取得指示情報を、コンテンツ配信装置から受信するステップと、前記受信された取得指示情報に応じて、前記第二コンテンツを保存しているノード装置から、前記複数の第二コンテンツを取得する取得処理を行うステップと、を実行させ、更に、前記取得指示情報に示される前記最初に取得される第二コンテンツから、前記取得指示情報を受信した前記ノード装置が属する前記グループに応じた前記取得順序で前記取得処理を開始することを実行させるためのノード処理プログラムである。
【００１７】
請求項１１に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置と、前記ノード装置へコンテンツを配信するコンテンツ配信装置とを備えた配信システムにおけるコンテンツ取得方法であって、前記コンテンツ配信装置が、前記コンテンツ配信装置が、複数に分けられたグループのうちの何れかのグループに属する前記ノード装置により再生可能な第一コンテンツを構成する複数の第二コンテンツの取得順序であって、少なくとも最初に取得される第二コンテンツが前記グループ毎に異なる取得順序を決定するステップと、前記コンテンツ配信装置が、前記決定された前記取得順序において前記最初に取得される第二コンテンツを示す情報を少なくとも含む取得指示情報を、各前記グループに属する各前記ノード装置に送信するステップと、前記ノード装置が、前記コンテンツ配信装置から送信された前記取得指示情報を受信するステップと、前記ノード装置が、前記受信された取得指示情報に応じて、前記第二コンテンツを保存しているノード装置から、前記複数の第二コンテンツを取得する取得処理を行う取得ステップと、を含み、前記取得ステップは、前記取得指示情報に示される前記最初に取得される第二コンテンツから、前記取得指示情報を受信した前記ノード装置が属する前記グループに応じた前記取得順序で前記取得処理を開始することを特徴とする。
【発明の効果】
【００１８】
請求項１、８乃至１１に記載の発明によれば、各ノード装置は、各ノード装置が属するグループ毎に異なる取得順序で第二コンテンツの取得処理を開始するので、コンテンツ配信装置への負荷集中を回避することができ、チャンクの取得をより効率良く行わせることができる。
【００１９】
請求項２に記載の発明によれば、グループ毎に、所定時間間隔でコンテンツの取得が段階的に開始されるので、第二コンテンツの送信が遅れることを軽減することができる。
【００２０】
請求項３又は４に記載の発明によれば、ネットワークの負荷、コンテンツ配信装置又はノード装置の負荷等に起因して各ノード装置へのチャンクの送信が遅れる場合があっても、第二コンテンツの取得停止を回避し第二コンテンツの取得を継続させることができる。
【００２１】
請求項５に記載の発明によれば、同時期に取得される第二コンテンツが各グループで重複することを回避することができる。
【００２２】
請求項６に記載の発明によれば、ネットワークの負荷、コンテンツ配信装置又はノード装置の負荷等に起因して各ノード装置へのチャンクの送信が遅れる場合があっても、第二コンテンツの取得を迅速に行わせることができる。
【００２３】
請求項７に記載の発明によれば、取得された第二コンテンツの再生を円滑に実行させることができる。
【図面の簡単な説明】
【００２４】
【図１】本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。
【図２】取得指示メッセージを受信したノードＮｎによる各チャンクの取得の様子を示す概念図である。
【図３】（Ａ）は、センターサーバＣＳの概要構成例を示すブロック図である。（Ｂ）は、コンテンツ投入管理テーブルに登録された情報の一例を示す図である。（Ｃ）は、優先順位管理テーブルに登録された情報の一例を示す図である。
【図４】ノードＮｎの概要構成例を示すブロック図である。
【図５】（Ａ）は、センターサーバＣＳの制御部１１におけるチャンクの取得指示処理を示すフローチャートである。（Ｂ）は、センターサーバＣＳの制御部１１における回線空き状況の応答処理を示すフローチャートである。
【図６】（Ａ）は、ノードＮｎの制御部２１における取得指示メッセージ受信処理を示すフローチャートである。（Ｂ）は、ノードＮｎの制御部２１における取得指示遂行処理を示すフローチャートである。（Ｃ）は、ノードＮｎの制御部２１におけるダウンロード可否確認メッセージ受信処理を示すフローチャートである。
【図７】図６に示すステップＳ２３におけるタイムアウトに対する対応処理の詳細を示すフローチャートである。
【図８】（Ａ）は、タイムアウトに対する対応処理により、チャンクの取得順序が一時変更されることに伴い、ダウンロードされるチャンクが一時変更される様子を示す概念図である。（Ｂ）は、一時変更された取得順序から元の取得順序に戻ることに伴い、ダウンロードされるチャンクが変更される様子を示す概念図である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ配信システムに本発明を適用した場合の実施形態である。
【００２６】
［１．コンテンツ配信システムの構成及び動作概要］
始めに、図１を参照して、本実施形態に係るコンテンツ配信システムの構成及び動作概要について説明する。図１は、本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。図１に示すように、本実施形態に係るコンテンツ配信システムＳは、センターサーバＣＳ、及び複数のノード装置Ｎｎ（ｎ＝１，２，３・・・ｋ）等を備えて構成されている。センターサーバＣＳ、及び各ノード装置Ｎｎは、インターネット等からなるネットワークＮＷに接続されている。なお、ノード装置を、以下、「ノード」という。また、各ノードＮｎには固有の識別情報であるノードＩＤが割り当てられている。また、図示しないが、ノードＮｎには、１以上の端末が例えばＬＡＮ（Local Area Network）を介して接続されている。端末の例としては、パーソナルコンピュータ、ＳＴＢ（Set Top Box）、又はカラオケ装置等が挙げられる。そして、ノードＮｎは、ＬＡＮを介して端末にコンテンツを送信するエッジサーバとしての機能を有する。また、センターサーバＣＳは、本発明におけるコンテンツ配信装置の一例である。また、センターサーバＣＳは、ノードＮｎにより再生可能なコンテンツの配信元である。
【００２７】
コンテンツ配信システムＳには、オーバーレイネットワークＯＮが形成されている。オーバーレイネットワークＯＮは、ネットワークを介して互いに通信可能な複数のノードＮｎにより構成される仮想的なリンクを構成する論理的なネットワークである。また、オーバーレイネットワークＯＮは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。分散ハッシュテーブルを、以下、「ＤＨＴ（Distributed Hash Table）」という。なお、ＤＨＴを用いたルーティングテーブルについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００２８】
また、コンテンツ配信システムＳにおける複数のノードＮｎには、コンテンツが分散されて保存されている。例えば、コンテンツには、映画、音楽、番組のコンテンツ等がある。各コンテンツには固有の識別情報であるコンテンツＩＤが割り当てられている。また、データ量が所定値より大きいコンテンツは、複数のチャンクに分割される。そして、各チャンクは複数のノードＮｎに分散されて保存されている。例えば、ノードＮ１には、コンテンツＸを構成するチャンクＸ１が保存されている。また、ノードＮ２には、コンテンツＸを構成するチャンクＸ２が保存されている。また、コンテンツＸを構成する全てのチャンクを保存するノードＮｎも存在する。ここで、コンテンツＸが、本発明における第一コンテンツに対応する。また、各チャンクＸ１，Ｘ２が、本発明における第二コンテンツに対応する。
【００２９】
また、各チャンクには固有の識別情報であるチャンクＩＤが割り当てられている。コンテンツを構成する各チャンクのチャンクＩＤは、例えば、このコンテンツのメタファイルに記述されている。コンテンツのメタファイルとは、コンテンツを構成する各チャンクを検索するためのファイルである。コンテンツのメタファイルには、コンテンツ中における各チャンクの対応関係を示す情報がチャンクＩＤに対応付けられて記述されている。この対応関係を示す情報は、例えば、各チャンクの再生開始位置のバイト数で表される。そして、各コンテンツのメタファイルは、一つのコンテンツとして、複数のノードＮｎに分散されて保存されている。なお、メタファイルには、これに対応するコンテンツのコンテンツＩＤが割り当てられている。そのため、各ノードＮｎは、コンテンツＩＤに基づき、オーバーレイネットワークＯＮを介して他のノードＮｎからコンテンツのメタファイルを取得することができる。そして、各ノードＮｎは、取得したメタファイルに記述されている各チャンクＩＤに基づき、オーバーレイネットワークＯＮを介して他のノードＮｎから各チャンクを取得することができる。なお、ノードＩＤ、コンテンツＩＤ、及びチャンクＩＤは、例えば、特開２００６−１９７４００号公報等に開示されるように、共通のハッシュ関数によりハッシュ化されて生成される。
【００３０】
以下の説明において、コンテンツ、コンテンツのメタファイル、及びチャンクの少なくとも一つを保存しているノードＮｎを、以下、「コンテンツ保持ノード」という。また、コンテンツ、コンテンツのメタファイル、又はチャンクの所在を示す情報は、インデックス情報として、コンテンツの所在を管理しているノードＮｎに記憶される。コンテンツの所在を管理しているノードＮｎを、以下、「ルートノード」という。インデックス情報には、コンテンツ又はコンテンツのメタファイルを保存しているコンテンツ保持ノードのノード情報と、コンテンツ又はコンテンツのメタファイルのコンテンツＩＤとの組が含まれる。又は、このインデックス情報には、チャンクを保存しているコンテンツ保持ノードのノード情報と、このチャンクのチャンクＩＤとの組が含まれる。ノード情報には、例えば、コンテンツ保持ノードのＩＰアドレス、ポート番号、及びノードＩＤが含まれる。ルートノードは、例えば、コンテンツＩＤ又はチャンクＩＤと最も近いノードＩＤが割り当てられたノードＮｎであるように定められる。コンテンツＩＤ又はチャンクＩＤと最も近いノードＩＤとは、例えば、ＩＤの上位桁が最も多く一致するノードＩＤである。
【００３１】
そして、あるノードＮｎが、例えば、コンテンツのメタファイルを取得する場合、コンテンツのメタファイルに割り当てられたコンテンツＩＤに基づいてコンテンツのメタファイルの取得処理を行う。この取得処理を行うノードＮｎを、以下、「ユーザノード」という。コンテンツのメタファイルの取得処理は、オーバーレイネットワークＯＮを介してコンテンツ保持ノード等からコンテンツのメタファイルを取得する処理である。この取得処理において、ユーザノードは、先ず、コンテンツ所在問合せメッセージを生成する。コンテンツ所在問合せメッセージは、コンテンツのメタファイルの所在をルートノードに問い合わせるためのメッセージである。また、コンテンツ所在問合せメッセージには、このメッセージを送信するノードＮｎのＩＰアドレス及びポート番号、並びにコンテンツのメタファイルに割り当てられているコンテンツＩＤが含まれる。そして、ユーザノードは、生成したコンテンツ所在問合せメッセージを、ＤＨＴルーティングによりルートノード宛に送信する。なお、ＤＨＴルーティングは、例えば特開２００７−０５３６６２号公報等で公知であるので、詳しい説明を省略する。コンテンツ所在問合せメッセージを受信したルートノードは、コンテンツ所在問合せメッセージに含まれるコンテンツＩＤに対応するインデックス情報を取得する。そして、ルートノードは、取得したインデックス情報を、ユーザノードへ返信する。このように返信されたインデックス情報には、コンテンツのメタファイルを保存している各コンテンツ保持ノードのＩＰアドレス等が含まれている。こうして、ユーザノードは、ルートノードからのインデックス情報を受信する。そして、ユーザノードは、受信したインデックス情報に含まれるコンテンツ保持ノードのＩＰアドレス等に基づいてコンテンツ保持ノードにアクセスする。そして、ユーザノードは、コンテンツ保持ノードに対してコンテンツのメタファイルを要求しこのメタファイルを取得する。
【００３２】
そして、コンテンツのメタファイルを取得したユーザノードは、コンテンツのメタファイルに記述されたチャンクのチャンクＩＤに基づいてチャンクの取得処理を行う。チャンクの取得処理は、オーバーレイネットワークＯＮを介してコンテンツ保持ノード等からチャンクを取得する処理である。この取得処理は、コンテンツのメタファイルの取得処理と同じ要領で行われる。すなわち、ユーザノードは、チャンクのルートノードからインデックス情報を取得する。そして、ユーザノードは、インデックス情報で示されるコンテンツ保持ノードに対してチャンクを要求しこのチャンクを取得する。なお、ユーザノードは、コンテンツ保持ノードからチャンクを取得できない場合、センターサーバＣＳからこのチャンクを取得するようになっている。
【００３３】
また、ユーザノードは、取得したチャンクを記憶部に保存すると、コンテンツ保持ノードとして、チャンクのパブリッシュ処理を行う。このパブリッシュ処理は、チャンクを保存していることを他のノードＮｎに公開するための処理である。このパブリッシュ処理において、ユーザノードは、パブリッシュメッセージを生成する。パブリッシュメッセージには、チャンクのチャンクＩＤ、及びチャンクを保存したユーザノードのノード情報が含まれる。そして、ユーザノードは、生成したパブリッシュメッセージを、ＤＨＴルーティングにより、チャンクのルートノード宛に送信する。パブリッシュメッセージを受信したルートノードは、チャンクのチャンクＩＤとノードＮｎのＩＰアドレス等との組を、インデックス情報としてインデックスキャッシュ領域に記憶する。なお、コンテンツのメタファイルが保存された場合、コンテンツのメタファイルのパブリッシュ処理がチャンクのパブリッシュ処理と同じ要領で行われる。
【００３４】
ところで、センターサーバＣＳは、コンテンツ配信システムＳ内に新たなコンテンツを投入する場合、複数のノードＮｎへ取得指示メッセージを送信する。ここで、新たなコンテンツは、コンテンツ配信システムＳ内に未だ分散保存されていないコンテンツである。この取得指示メッセージは、新たなコンテンツを構成する複数のチャンクを各ノードＮｎに取得させるためのメッセージである。取得指示メッセージは、本発明における取得指示情報の一例である。なお、新たなコンテンツのメタファイルは、取得指示メッセージと共に各ノードＮｎへ送信される。或いは、新たなコンテンツのメタファイルは、取得指示メッセージの送信よりも前に各ノードＮｎへ送信するように構成しても良い。また、取得指示メッセージの送信先となる各ノードＮｎは、複数に分けられたグループのうちの何れかのグループに属している。各ノードＮｎがどのグループに属しているかの情報は、センターサーバＣＳにより管理されている。また、取得指示メッセージには、例えば、新たなコンテンツを構成するチャンクの取得開始時刻及びチャンクの取得順序を示す情報等が含まれている。ここで、取得開始時刻は、ノードＮｎがチャンクの取得処理を開始する時刻である。各ノードＮｎは、受信した取得指示メッセージに応じて、これに示される取得開始時刻及び取得順序にしたがって、チャンクの取得処理を行うことになる。ここで、チャンクの取得開始時刻は、所定数のノードＮｎ毎に所定時間間隔で遅らせるように設定される。また、取得順序において少なくとも最初に取得されるチャンクはグループ毎に異なるように設定される。
【００３５】
図２（Ａ），（Ｂ）は、取得指示メッセージを受信したノードＮｎによる各チャンクの取得の様子を示す概念図である。図２（Ａ）に示す例では、投入対象のコンテンツは９つのチャンク１〜９から構成されている。ここで、図中、各チャンクに付与される番号１〜９は、各チャンクを識別するチャンク番号を表している。ノードＮｎにおいて、各チャンクは、例えば、チャンク番号順に再生される。また、各ノードＮｎによるチャンクの取得開始時刻は、図２（Ａ）に示すように、各ノードＮｎが位置する段毎にＴ秒間隔で遅れるようになっている。例えば、図中、第１段のノードＮ１〜Ｎ３の取得開始時刻が最も早い。次に、第２段のノードＮ４〜Ｎ９の取得開始時刻は第１段の取得開始時刻のＴ秒後になっている。次に、第３段のノードＮ１０〜Ｎ２１の取得開始時刻は第２段の取得開始時刻のＴ秒後になっている。この時間“Ｔ”は、ノードＮｎが１つのチャンクの取得を開始してから完了するまでの時間以上になるように設定される。このようにチャンクの取得開示時刻が遅くなるにつれ、ノードＮｎの数が増すようになっている。なお、図２（Ａ），（Ｂ）中に示される矢印の先は、各ノードＮｎによるチャンクの取得先を表している。
【００３６】
更に、図２（Ａ）に示す例では、各ノードＮｎは、３つに分けられたグループＡ，Ｂ，Ｃのうちの何れかのグループに属している。なお、グループを３つに分けることに限定されるものではなく、幾つのグループに分けてもよい。また、図２（Ａ）に示すコンテンツにおける取得開始位置は、グループ毎に異なっている。そのため、各ノードＮｎによるチャンクの取得順序は、グループ毎に異なる。例えば、グループＡに属するノードＮｎによるチャンクの取得順序は、チャンク１→２→３→４→５→６→７→８→９という順序である。一方、グループＢに属するノードＮｎによるチャンクの取得順序は、チャンク４→５→６→７→８→９→１→２→３という順序である。一方、グループＣに属するノードＮｎによるチャンクの取得順序は、チャンク７→８→９→１→２→３→４→５→６という順序である。なお、図２（Ａ）は、各ノードＮｎによるチャンクの取得が理想的に行われた場合の例を表している。例えば、図２（Ａ）に示すノードＮ１がグループＡに応じた取得順序にしたがってチャンク１の取得処理を実行したとする。このとき、チャンク１は、未だどのノードＮｎにも保存されていない。そのため、ノードＮ１は、センターサーバＣＳからチャンク１を取得することになる。次に、ノードＮ１によるチャンク１の取得開始からＴ秒後、図２（Ａ）に示すノードＮ４，Ｎ５が、グループＡに応じた取得順序にしたがってチャンク１の取得処理を実行したとする。このとき、ノードＮ１がチャンク１を保存し、チャンク１のパブリッシュ処理を完了しているとする。この場合、ノードＮ４，Ｎ５は、チャンク１のルートノードから、チャンク１の保存先が、センターサーバＣＳとノードＮ１であることを示す情報を取得する。そして、ノードＮ４，Ｎ５は、理想的には、ノードＮ１からチャンク１を取得することになる。次に、ノードＮ４，Ｎ５によるチャンク１の取得開始からＴ秒後、図２（Ａ）に示すノードＮ１０〜Ｎ１３が、グループＡに応じた取得順序にしたがってチャンク１の取得処理を実行したとする。このとき、ノードＮ４，Ｎ５がチャンク１を保存し、チャンク１のパブリッシュ処理を完了しているとする。この場合、ノードＮ１０〜Ｎ１３は、チャンク１のルートノードから、チャンク１の保存先がセンターサーバＣＳとノードＮ１，Ｎ４，Ｎ５であることを示す情報を取得する。そして、ノードＮ１０〜Ｎ１３は、理想的には、ノードＮ４又はＮ５からチャンク１を取得することになる。このように、チャンクの取得が理想的に行われた場合、オーバーレイネットワークＯＮにおいて、図２（Ａ）に示すような仮想的なツリーが形成されることになる。以上の事は、グループＢに属するノードＮｎ、及びグループＣに属するノードＮｎでも同様である。
【００３７】
そして、例えば、図２（Ａ）に示すノードＮ１がチャンク１〜３を保存しそのパブリッシュ処理を完了したとする。この場合、グループＢに属するノードＮ２にはチャンク４〜６が保存されそのパブリッシュ処理が完了していることが想定される。また、このとき、グループＢに属するノードＮ６，Ｎ７にはチャンク４，５が保存されそのパブリッシュ処理が完了していることが想定される。また、このとき、グループＢに属するノードＮ１４〜Ｎ１７にはチャンク４が保存されそのパブリッシュ処理が完了していることが想定される。そのため、ノードＮ１は、図２（Ｂ）に示すように、グループＢに属する何れかのノードＮｎからチャンク４を取得することができる。そして、ノードＮ１は、チャンク４の取得が完了すると、グループＢに属する何れかのノードＮｎからチャンク５を取得することになる。同様に、グループＢに属するノードＮ２がチャンク４〜６を保存しそのパブリッシュ処理を完了したとする。この場合、グループＢに属するノードＮ２は、グループＣに属する何れかのノードＮｎからチャンク７を取得することができる。同様に、グループＣに属するノードＮ３がチャンク７〜９を保存しそのパブリッシュ処理を完了したとする。この場合、グループＣに属するノードＮ３は、グループＡに属する何れかのノードＮｎからチャンク１を取得することができる。以上のように、各ノードＮｎによるチャンクの取得順序は、グループ毎に異なるので、センターサーバＣＳへの負荷集中を回避しつつ、各チャンクの取得をより効率良く行わせることができる。
【００３８】
［２．センターサーバＣＳの構成及び機能］
次に、図３（Ａ）を参照して、センターサーバＣＳの構成及び機能について説明する。図３（Ａ）は、センターサーバＣＳの概要構成例を示すブロック図である。センターサーバＣＳは、図３（Ａ）に示すように、制御部１１、記憶部１２、及び通信部１３等を備えて構成される。制御部１１、記憶部１２、及び通信部１３はバス１４を介して相互に接続されている。記憶部１２は、記憶手段の一例である。
【００３９】
記憶部１２は、例えばハードディスクドライブ等から構成される。記憶部１２には、オペレーティングシステム、及びサーバ処理プログラム等が記憶されている。また、記憶部１２には、オリジナルのコンテンツ又はコンテンツのメタファイル、更にはオリジナルのチャンクが記憶、保存されている。また、記憶部１２には、オーバーレイネットワークＯＮに参加しているノードＮｎの中で所定数のノードＮｎのノード情報が記憶されている。ノード情報の中には、ネットワーク上におけるノードＮｎのアドレス情報としてＩＰアドレスが含まれる。
【００４０】
また、記憶部１２には、コンテンツ投入管理テーブルが記憶される。コンテンツ投入管理テーブルは、投入対象となる新たなコンテンツを構成するチャンクの取得開始時刻及び取得順序等を管理するためのテーブルである。図３（Ｂ）は、コンテンツ投入管理テーブルに登録された情報の一例を示す図である。なお、図３（Ｂ）に示すコンテンツ投入管理テーブルに登録された情報は、図２（Ａ）に示すように各ノードＮｎに各チャンクを取得させるための情報である。図３（Ｂ）に示すように、コンテンツ投入管理テーブルには、新たなコンテンツを取得するノードＮｎのノード情報、このノードＮｎが属するグループのグループ名、チャンクの取得開始時刻、チャンクの取得順序、及びコンテンツにおける取得開始位置等の情報が、ノードＮｎ毎に対応付けられて登録されている。ここで、ノード情報は、ノードＮｎの情報の一例である。ノード情報には、例えば、ＩＰアドレス、ポート番号、及びノードＩＤが含まれる。また、グループ名は、グループの情報の一例である。
【００４１】
更に、記憶部１２には、優先順位管理テーブルが記憶される。優先順位管理テーブルは、取得すべきチャンクの優先順位を管理するテーブルである。図３（Ｃ）は、優先順位管理テーブルに登録された情報の一例を示す図である。図３（Ｃ）に示すように、優先順位管理テーブルには、グループ名と、各チャンクの優先順位とが対応付けられて登録されている。ここで、優先順位が１位のチャンクは、最優先で取得すべきチャンクである。一方、優先順位が２位のチャンクは、優先順位が１位のチャンクの次に優先して取得すべきチャンクである。また、チャンクの優先順位は、グループ毎に異なっている。例えば、グループＡで優先順位が１位のチャンクは、チャンク１〜３になっている。一方、グループＢで優先順位が１位のチャンクは、チャンク４〜６になっている。一方、グループＣで優先順位が１位のチャンクは、チャンク７〜９になっている。このようなチャンクの優先順位は、チャンクの取得順序に対応している。
【００４２】
通信部１３は、ネットワークＮＷを通じてノードＮｎ等との間の情報の通信制御を行う。制御部１１は、演算機能を有するＣＰＵ，作業用ＲＡＭ，及びＲＯＭ等から構成される。そして、制御部１１は、ＣＰＵが記憶部１２等に記憶されたサーバ処理プログラムを読み出して実行することにより、後述する処理を行う。なお、制御部１１は、本発明における決定手段、送信手段、及び第二決定手段の一例である。
【００４３】
［３．ノードＮｎの構成及び機能］
次に、図４を参照して、ノードＮｎの構成及び機能について説明する。図４は、ノードＮｎの概要構成例を示すブロック図である。ノードＮｎは、図４に示すように、制御部２１、記憶部２２、バッファメモリ２３、デコーダ部２４、映像処理部２５、表示部２６、音声処理部２７、スピーカ２８、通信部２９、及び入力部２９ａ等を備えて構成される。制御部２１、記憶部２２、バッファメモリ２３、デコーダ部２４、映像処理部２５、表示部２６、音声処理部２７、通信部２９、及び入力部２９ａは、バス２９ｂを介して相互に接続されている。
【００４４】
記憶部２２は、例えばハードディスクドライブ等から構成される。記憶部２２には、オペレーティングシステム、及びノード処理プログラム等が記憶されている。また、記憶部２２には、コンテンツ保持ノード、又はセンターサーバＣＳから取得されたコンテンツ又はコンテンツのメタファイル、更にはチャンクが記憶、保存されている。また、記憶部２２には、センターサーバＣＳのＩＰアドレス及びポート番号が記憶されている。更に、オーバーレイネットワークＯＮに参加しているノードＮｎの記憶部２２には、ＤＨＴを用いたルーティングテーブル等が記憶されている。
【００４５】
バッファメモリ２３は、受信されたコンテンツ又はチャンクをバッファリングする。デコーダ部２４は、コンテンツ又はチャンクに含まれる映像データ及び音声データ等のデータ伸張や復号化等のデコード処理を行う。映像処理部２５は、デコーダ部２４によりデコードされた映像データ等に対して所定の描画処理を施し映像信号として再生出力する。表示部２６は、映像処理部２５から再生出力された映像信号に基づきディスプレイに映像等を表示する。また、表示部２６は、デコーダ部２４によりデコードされた画像を表示する。音声処理部２７は、デコーダ部２４によりデコードされた音声データをアナログ音声信号にＤ（Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する。スピーカ２８は、音声処理部２７から出力された音声信号を音波として出力する。通信部２９は、ネットワークＮＷを通じてセンターサーバＣＳ及び他のノードＮｎ等との間の情報の通信制御を行う。
【００４６】
制御部２１は、演算機能を有するＣＰＵ，作業用ＲＡＭ，及びＲＯＭ等から構成される。そして、制御部２１は、ＣＰＵが記憶部２２等に記憶されたノード処理プログラムを読み出して実行することにより、後述する処理を行う。なお、制御部２１は、本発明における受信手段、取得手段、変更手段、及び判定手段の一例である。また、制御部２１は、時計機能及びタイマ機能を有する。このタイマ機能により、後述するダウンロード用タイマや一時変更用タイマのカウントが行われる。
【００４７】
［４．コンテンツ配信システムＳの動作］
次に、複数のチャンクから構成された新たなコンテンツの投入動作について説明する。
【００４８】
（４−１．センターサーバＣＳの動作）
先ず、図５を参照して、センターサーバＣＳの動作について説明する。図５（Ａ）は、センターサーバＣＳの制御部１１におけるチャンクの取得指示処理を示すフローチャートである。図５（Ｂ）は、センターサーバＣＳの制御部１１における回線空き状況の応答処理を示すフローチャートである。
【００４９】
図５（Ａ）に示す処理は、例えば、管理者の端末から新たなコンテンツの投入指令があった場合に開始される。なお、新たなコンテンツのコンテンツＩＤと、このコンテンツを構成する各チャンクのチャンクＩＤは既に決定されているものとする。チャンクの取得指示先として決定された複数のノードＮｎのノード情報が、コンテンツ投入管理テーブルに既に登録されているものとする。また、上述した複数のグループが既に決定されているものとする。
【００５０】
図５（Ａ）に示す処理が開始されると、制御部１１は、例えば管理者の端末からの指示にしたがって、チャンクの取得指示先となる各ノードＮｎについてグループ分け処理を行う（ステップＳ１）。このグループ分け処理により、各ノードＮｎが属するグループが決定される。こうして、各ノードＮｎに対して決定されたグループのグループ名は、図３（Ｂ）に示すように、ノードＮｎのノード情報に対応付けられてコンテンツ投入管理テーブルに登録される。なお、各グループに属するノードＮｎの数は、図２（Ａ）に示すように、グループ間で均等になることが望ましい。
【００５１】
次いで、制御部１１は、例えば管理者の端末からの指示にしたがって、チャンクの取得順序及び各チャンクの優先順位をグループ毎に決定する（ステップＳ２）。例えば、コンテンツの再生時間軸上における複数のチャンクの再生順序に応じて取得順序が決定されることが望ましい。再生順序に応じて取得順序が決定されることで、取得されたチャンクの再生を円滑に実行させることができるためである。ここで、再生順序に応じて取得順序とは、チャンクの再生順序と、所定のグループに対応する取得順序とが一致することを意味する。例えば、図２（Ａ）に示す例では、チャンク１〜９の再生順序が、グループＡに対応する取得順序と一致している。こうして決定された各グループのチャンクの取得順序は、図３（Ｂ）に示すように、グループ名に対応付けられてコンテンツ投入管理テーブルに登録される。また、各グループで最初に取得されるチャンクの再生開始位置が、チャンクの取得開始位置としてグループ名に対応付けられてコンテンツ投入管理テーブルに登録される。また、上記決定された各チャンクの優先順位は、図３（Ｃ）に示すように、グループ名に対応付けられて優先順位管理テーブルに登録される。
【００５２】
次いで、制御部１１は、例えば管理者の端末からの指示にしたがって、チャンクの取得開始時刻をノードＮｎ毎に決定する（ステップＳ３）。ここで、チャンクの取得開始時刻は、図２（Ａ）に示すように、所定数のノードＮｎ毎に所定時間間隔で段階的に遅らせるように決定される。例えば、制御部１１は、同一のグループＡに属する複数のノードＮｎの中で、第１段のノードＮ１の取得開始時刻より、第２段のノードＮ４の取得開始時刻を所定時間“Ｔ”遅らせて決定する。同様に、制御部１１は、第２段のノードＮ４の取得開始時刻より、第３段のノードＮ１０の取得開始時刻を所定時間“Ｔ”遅らせて決定する。このように、グループ毎に、所定時間間隔でチャンクの取得が段階的に開始されるので、チャンクの送信が遅れることを軽減することができる。こうして決定された取得開始時刻は、図３（Ｂ）に示すように、各ノードＮｎのノード情報に対応付けられてコンテンツ投入管理テーブルに登録される。
【００５３】
次いで、制御部１１は、コンテンツ投入管理テーブルに登録された情報に基づき、取得指示先の各ノードＮｎに対する取得指示メッセージを生成する（ステップＳ４）。ここで、取得指示メッセージには、投入対象となる新たなコンテンツのコンテンツＩＤが含まれる。また、取得指示メッセージには、コンテンツ投入管理テーブルにおいて、取得指示先のノードＮｎのノード情報に対応付けられたチャンクの取得順序、及びチャンクの取得開始時刻を示す情報が含まれる。チャンクの取得順序を示す情報には、例えば、各チャンクの再生開始位置を示す情報が各チャンクの取得順に記述されている。チャンクの再生開始位置を示す情報は、例えばバイト数で表される。或いは、チャンクの取得順序を示す情報には、各チャンクのチャンク番号又はチャンクＩＤが各チャンクの取得順に記述されるように構成しても良い。
【００５４】
なお、チャンクの取得順序を示す情報には、最初に取得されるチャンクを示す情報のみが含まれれば良い場合がある。最初に取得されるチャンクを示す情報の例としては、このチャンクの再生開始位置を示す情報が挙げられる。この場合の例としては、図２（Ａ）に示すように、チャンクの取得順序が、チャンクの再生順序に応じて取得順序の場合が挙げられる。この場合、最初に取得されるチャンクが分かれば、以後のチャンクの取得順序は、コンテンツのメタファイルを確認すれば判断できる。また、取得指示メッセージには、優先順位管理テーブルにおいて、取得指示先のノードＮｎが属するグループのグループ名に対応付けられたチャンクの優先順位を示す情報が含まれる。更に、取得指示メッセージには、新たなコンテンツのメタファイルが含まれるように構成しても良い。
【００５５】
次いで、制御部１１は、取得指示先となる各ノードＮｎのＩＰアドレス等に基づき、上記生成した各取得指示メッセージを各ノードＮｎへ通信部１３を介して送信する（ステップＳ５）。つまり、ノードＮｎのＩＰアドレス等が宛先アドレス等として設定された取得指示メッセージがセンターサーバＣＳから各ノードＮｎへ送信される。
【００５６】
次に、図５（Ｂ）に示す処理は、ノードＮｎから回線空き状況確認メッセージが受信された場合に開始される。回線空き状況確認メッセージは、センターサーバＣＳの通信部１３に接続されている通信回線の帯域の空き状況を確認するメッセージである。回線空き状況確認メッセージは、後述するステップＳ２３２でノードＮｎから送信される。
【００５７】
図５（Ｂ）に示す処理が開始されると、制御部１１は、通信部１３に接続されている通信回線の帯域の空き状況の確認処理を行う（ステップＳ６）。ここで、通信回線の帯域の空き状況の確認処理では、例えば、通信回線におけるデータパケットの通信速度が計測される。そして、通信速度が閾値以上である場合、通信回線の帯域に余裕が有と判定される。
【００５８】
次いで、制御部１１は、回線空き状況確認メッセージの送信元のノードＮｎに対する回線空き状況応答メッセージを生成する（ステップＳ７）。ここで、回線空き状況応答メッセージには、例えば通信回線の帯域に余裕が有又は無を示す情報が含まれる。或いは、回線空き状況応答メッセージには、上記計測された通信速度を示す情報が含まれるように構成しても良い。
【００５９】
次いで、制御部１１は、生成した回線空き状況応答メッセージを、回線空き状況確認メッセージの送信元のノードＮｎへ通信部１３を介して送信する（ステップＳ８）。
【００６０】
（４−２．ノードＮｎの動作）
次に、図６及び図７等を参照して、ノードＮｎの動作について説明する。図６（Ａ）は、ノードＮｎの制御部２１における取得指示メッセージ受信処理を示すフローチャートである。図６（Ｂ）は、ノードＮｎの制御部２１における取得指示遂行処理を示すフローチャートである。図６（Ｃ）は、ノードＮｎの制御部２１におけるダウンロード可否確認メッセージ受信処理を示すフローチャートである。図７は、図６に示すステップＳ２３におけるタイムアウトに対する対応処理の詳細を示すフローチャートである。
【００６１】
図６（Ａ）に示す処理は、センターサーバＣＳから取得指示メッセージが受信された場合に開始される。図６（Ａ）に示す処理が開始されると、制御部２１は、受信した取得指示メッセージに含まれるチャンクの取得順序、チャンクの取得開始時刻、及びチャンクの優先順位を示す情報をＲＡＭに記憶する（ステップＳ１１）。ここで、受信された取得指示メッセージにコンテンツのメタファイルが含まれる場合、このメタファイルは記憶部２２に記憶される。一方、受信された取得指示メッセージにコンテンツのメタファイルが含まれていない場合がある。この場合、制御部２１は、取得指示メッセージに含まれるコンテンツＩＤに基づいて上述したようにコンテンツのメタファイルの取得処理を行う。これにより、制御部２１は、センターサーバＣＳ又は他のノードＮｎからコンテンツのメタファイルを取得する。
【００６２】
次いで、制御部２１は、上記チャンクの取得順序及びチャンクの優先順位を示す情報等に基づいて、チャンクの取得順序リストを生成し（ステップＳ１２）、図６（Ａ）に示す処理を終了する。チャンクの取得順序リストは、取得対象の各チャンクの取得順にチャンクＩＤを登録するリストである。このチャンクＩＤは、例えば、新たなコンテンツのメタファイルから取得される。この場合、取得順序リストの始めに登録されるチャンクＩＤは、例えば、上記取得順序において最初に取得されるチャンクの再生開始位置に対応付けられてメタファイルに記述されているチャンクＩＤである。
【００６３】
こうして取得順序リストが生成されると、制御部２１は、時計機能により得られる現在時刻が、上記ステップＳ１１で記憶された取得開始時刻に到達したか否かを監視する。そして、制御部２１は、現在時刻が取得開始時刻に到達したと判定した場合に、制御部２１は、図６（Ｂ）に示す処理を開始する。図６（Ｂ）に示す処理が開始されると、制御部２１は、チャンクの取得順序リストにおいて未だダウンロードされていないチャンクのチャンクＩＤの中で、取得順序が最も早いチャンクＩＤを選択する（ステップＳ1４）。ここで、この取得順序は、制御部２１を備えるノードＮｎが属するグループに応じた取得順序である。また、未だダウンロードされていないチャンクのチャンクＩＤとは、後述するステップＳ２０で未だダウンロード済フラグが対応付けられて登録されていないチャンクＩＤである。
【００６４】
次いで、制御部２１は、上記ステップＳ１４で選択したチャンクＩＤに基づいてチャンクの取得処理を開始する（ステップＳ１５）。こうして、制御部２１は、受信した取得指示メッセージに示される最初に取得されるチャンクから、制御部２１を備えるノードＮｎが属するグループに応じた取得順序で取得処理を開始することになる。この取得処理において、制御部２１は、センターサーバＣＳ又はコンテンツ保持ノードからのチャンクのダウンロードを行う。なお、チャンクのダウンロードとは、ノードＮｎがネットワークＮＷを介してチャンクを取得しバッファメモリ２３にバッファリングすることをいう。なお、チャンクの取得処理が開始されるとダウンロード用タイマ（図示せず）のカウントが開始される。このダウンロード用タイマは、チャンクのダウンロードが所定時間内に完了するか否かを判定するためのものである。この所定時間は、例えば数秒に設定される。
【００６５】
次いで、制御部２１は、チャンクのダウンロードがタイムアウトしたか否かを判定する（ステップＳ１６）。例えば、ダウンロード用タイマのカウント値が所定時間を超えた場合には、チャンクのダウンロードがタイムアウトしたと判定される。なお、タイムアウトは、例えば、ネットワークＮＷの負荷、センターサーバＣＳ又はノードＮｎの負荷等に起因するデータパケットの遅延等により発生する。そして、制御部２１は、ダウンロードがタイムアウトしていないと判定した場合には（ステップＳ１６：ＮＯ）、ステップＳ１７に進む。一方、制御部２１は、ダウンロードがタイムアウトしたと判定した場合には（ステップＳ１６：ＹＥＳ）、ステップＳ２２に進む。つまり、制御部２１は、取得処理において要求されたチャンクを所定時間内にダウンロードできなかった場合に、ステップＳ２２に進む。
【００６６】
ステップＳ１７では、制御部２１は、後述するステップＳ２３に示す「タイムアウトに対する対応処理」により、チャンクの取得順序が一時変更中であるか否かを判定する。タイムアウトに対する対応処理は、タイムアウトに対して、チャンクの取得順序が一時変更されるなどがなされる復旧処理である。そして、制御部２１は、チャンクの取得順序が一時変更中でないと判定した場合には（ステップＳ１７：ＮＯ）、ステップＳ１８に進む。一方、制御部２１は、チャンクの取得順序が一時変更中であると判定した場合には（ステップＳ１７：ＹＥＳ）、ステップＳ２４に進む。
【００６７】
ステップＳ１８では、制御部２１は、チャンクのダウンロードが完了したか否かを判定する。そして、制御部２１は、チャンクのダウンロードが完了していないと判定した場合には（ステップＳ１８：ＮＯ）、ステップＳ１６に戻り、ダウンロードを継続する。一方、制御部２１は、チャンクのダウンロードが完了したと判定した場合には（ステップＳ１８：ＹＥＳ）、ステップＳ１９に進む。ダウンロードされたチャンクは、チャンクＩＤに対応付けられて記憶部２２に記憶保存される。
【００６８】
ステップＳ１９では、制御部２１は、記憶部２２に保存されたチャンクのパブリッシュ処理を行う。このパブリッシュ処理により、上述したように、制御部２１を備えるノードＮｎのノード情報とチャンクのチャンクＩＤを含むインデックス情報が、このチャンクのルートノードのインデックスキャッシュ領域に記憶される。
【００６９】
次いで、制御部２１は、記憶部２２に保存されたチャンクのチャンクＩＤに対応付けてダウンロード済フラグを上記チャンクの取得順序リストに登録する（ステップＳ２０）。
【００７０】
次いで、制御部２１は、取得対象の全てのチャンクをダウンロードしたか否かを判定する（ステップＳ２１）。例えば、チャンクの取得順序リストに登録されている全てのチャンクＩＤに対してダウンロード済フラグが対応付けられて登録されている場合には、取得対象の全てのチャンクをダウンロードしたと判定される。そして、制御部２１は、取得対象の全てのチャンクをダウンロードしたと判定した場合には（ステップ２１：ＹＥＳ）、図６（Ａ）に示す処理を終了する。一方、制御部２１は、取得対象の全てのチャンクをダウンロードしていないと判定した場合には（ステップ２１：ＮＯ）、ステップＳ１４に戻る。ステップＳ１４に戻ると、チャンクの取得順序リストにおいて未だダウンロードされていないチャンクのチャンクＩＤの中で、取得順序が最も早いチャンクＩＤが選択される。ここで、未だダウンロードされていないチャンクのチャンクＩＤの判別は、例えば、チャンクの取得順序リストにおいてダウンロード済フラグが対応付けられて登録されているか否かにより行われる。こうして、例えば、図２（Ａ）に示すように、取得順序にしたがって各チャンクが順次ダウンロードされることになる。
【００７１】
一方、ステップＳ２２では、制御部２１は、この制御部２１を備えるノードＮｎが第１段に位置するノードＮｎであるか否かを判定する。図２（Ａ）に示す例では、第１段に位置するノードＮ１は、センターサーバＣＳからチャンクをダウンロードするノードＮｎである。言い換えれば、第１段に位置するノードＮｎは、最上流に位置するノードＮｎである。なお、第１段に位置するノードＮｎは、チャンクの取得開始時刻が最も早い。制御部２１は、第１段に位置するノードＮｎであると判定した場合には（ステップ２２：ＹＥＳ）、ステップＳ１８に移行する。一方、制御部２１は、第１段に位置するノードＮｎでないと判定した場合には（ステップ２２：ＮＯ）、タイムアウトに対する対応処理を行う（ステップＳ２３）。
【００７２】
図８（Ａ）は、タイムアウトに対する対応処理により、チャンクの取得順序が一時変更されることに伴い、ダウンロードされるチャンクが一時変更される様子を示す概念図である。なお、図８（Ａ）に示すように、第１段に位置するノードＮ１においてチャンクのダウンロードがタイムアウトした場合であっても、ダウンロードされるチャンクは変更されない。
【００７３】
タイムアウトに対する対応処理では、図７に示すように、制御部２１は、先ず、この制御部２１を備えるノードＮｎが所定段よりも上流に位置するか否かを判定する（ステップＳ２３１）。ここで、所定段は、例えば第３段に設定される。例えば第３段よりも上流とは、第１段と第２段が該当する。そして、制御部２１は、ノードＮｎが所定段よりも上流に位置すると判定した場合には（ステップＳ２３１：ＹＥＳ）、ステップＳ２３２に進む。一方、制御部２１は、ノードＮｎが所定段よりも上流に位置していないと判定した場合には（ステップＳ２３１：ＮＯ）、ステップＳ２３６に進む。
【００７４】
ステップＳ２３２では、制御部２１は、回線空き状況確認メッセージをセンターサーバＣＳへ送信する。そして、制御部２１は、回線空き状況確認メッセージに応じて、センターサーバＣＳから送信された回線空き状況応答メッセージを受信する（ステップＳ２３３）。
【００７５】
次いで、制御部２１は、回線空き状況応答メッセージから抽出した、通信回線の帯域に余裕が有又は無を示す情報を参照し、センターサーバＣＳの通信回線の帯域に余裕が有るか否かを判定する（ステップＳ２３４）。そして、制御部２１は、通信回線の帯域に余裕が有ると判定した場合には（ステップＳ２３４：ＹＥＳ）、ステップＳ２３５に進む。一方、制御部２１は、通信回線の帯域に余裕が無いと判定した場合には（ステップＳ２３４：ＮＯ）、ステップＳ２４３に進む。なお、回線空き状況応答メッセージにセンターサーバＣＳにより計測された通信速度を示す情報が含まれている場合がある。この場合、制御部２１は、回線空き状況応答メッセージに示される通信速度が閾値以上であるか否かを判定する。そして、制御部２１は、通信速度が閾値以上である場合、通信回線の帯域に余裕が有ると判定する。
【００７６】
ステップＳ２３５では、制御部２１は、センターサーバＣＳにアクセスして、上記ステップＳ１６でダウンロードがタイムアウトしたチャンクのダウンロードを再開し、図６（Ｂ）に示す処理に戻る。ネットワークＮＷの負荷やノードＮｎの負荷等に起因してチャンクの送信が遅れた場合であっても、チャンクのダウンロードを迅速に行わせることができる。
【００７７】
ステップＳ２３６では、制御部２１は、ダウンロードがタイムアウトしたチャンク以外で優先順位が１位のチャンクの保存数が所定数以上であるか否かを判定する。この所定数は例えば２に設定される。この優先順位が１位のチャンクは、上記ステップＳ１２で生成されたチャンクの取得順序リストを参照することにより判別できる。例えば、図２（Ａ）に示すノードＮ２の場合、優先順位が１位のチャンクは、チャンク４〜６である。例えば、ダウンロードがタイムアウトしたチャンクがチャンク６とする。このとき、ダウンロードがタイムアウトしたチャンク以外で優先順位が１位のチャンクはチャンク４及び５となる。チャンク６のダウンロードがタイムアウトになったときに、チャンク４及び５が保存されているとすると、上記優先順位が１位のチャンクの保存数は、２となる。
【００７８】
そして、制御部２１は、優先順位が１位のチャンクの保存数が所定数以上でないと判定した場合には（ステップＳ２３６：ＮＯ）、ステップＳ２３２に移行する。優先順位が１位のチャンクの保存数が少ない状況下で、後述するステップＳ２３７，Ｓ２３８に移行させて、優先順位の低いチャンクを取得させてしまうと、優先順位が１位のチャンクを保存するコンテンツ保持ノードの数がシステムＳ内において少なくなってしまう。そうなると、このチャンクのコンテンツ保持ノードにアクセスが集中してしまう。そのため、優先順位が１位のチャンクの保存数が所定数以上でない場合、ダウンロードがタイムアウトしたチャンクをセンターサーバＣＳからダウンロードさせるのである。
【００７９】
一方、制御部２１は、優先順位が１位のチャンクの保存数が所定数以上であると判定した場合には（ステップＳ２３６：ＹＥＳ）、ステップＳ２３７に進む。
【００８０】
ステップＳ２３７では、制御部２１は、未だダウンロードされていないチャンクの中で、ダウンロードがタイムアウトしたチャンクの優先順位より低い優先順位のチャンクが既に記憶部２２に保存されているか否かを判定する。ここで、制御部２１は、チャンクの取得順序リストを参照することで、各チャンクの優先順位を判定することができる。例えば、図２（Ａ）に示すノードＮ２において、例えば、ダウンロードがタイムアウトしたチャンクがチャンク６とする。このチャンク６の優先順位より１つ低い優先順位のチャンクは、チャンク７〜９である。また、このチャンク６の優先順位より２つ低い優先順位のチャンクは、チャンク１〜３である。
【００８１】
そして、制御部２１は、ダウンロードがタイムアウトしたチャンクの優先順位より低い優先順位のチャンクが既に記憶部２２に保存されていると判定した場合には（ステップＳ２３７：ＹＥＳ）、ステップＳ２３８に進む。一方、制御部２１は、ダウンロードがタイムアウトしたチャンクの優先順位より低い優先順位のチャンクが既に記憶部２２に保存されていないと判定した場合には（ステップＳ２３７：ＮＯ）、ステップＳ２４３に進む。
【００８２】
ステップＳ２３８では、制御部２１は、チャンクの取得順序リストにおいてダウンロード済フラグが対応付けられていないチャンクＩＤの中から、ダウンロードがタイムアウトしたチャンクの優先順位より低い優先順位のチャンクのチャンクＩＤを選択する。ここで、ダウンロードがタイムアウトしたチャンクの優先順位より１つ低い優先順位のチャンクのチャンクＩＤが優先して選択されることが望ましい。例えば、図２（Ａ）に示すノードＮ２において、例えば、ダウンロードがタイムアウトしたチャンクがチャンク６とする。そして、このチャンク６の優先順位より低い優先順位のチャンクとして、チャンク１〜３、及びチャンク７〜９が未だダウンロードされていないとする。この場合、チャンク６の優先順位より１つ低い優先順位のチャンク７〜９の何れかのチャンクＩＤが優先的に選択される。このように、各グループに属するノードＮｎ間で、例えば１つ低い優先順位のチャンクを優先的に選択させることを統一する。これにより、後述するステップＳ２４２で変更された取得順序において最初に取得されるチャンクをグループ毎に異ならせることができる。そのため、同時期に別々のグループに属する各ノードＮｎが一斉にステップＳ２３８の処理を実行した場合であっても、重複するチャンクＩＤが選択されるのを防止することができる。その結果、特定のノードＮｎにチャンクの要求が集中することを防止することができる。
【００８３】
また、チャンク６の優先順位より１つ低い優先順位のチャンク７〜９というように複数ある場合、その中から、取得順序が最も早いチャンク７のチャンクＩＤが優先的に選択される。この場合において、取得順序が最も早いチャンク７は、グループＣに応じた取得順序において最初に取得されるチャンクである。
【００８４】
次いで、制御部２１は、上記ステップＳ２３８で選択されたチャンクのダウンロード可否確認処理を行う（ステップＳ２３９）。ダウンロード可否確認処理は、チャンクのコンテンツ保持ノードにダウンロード可否を確認する処理である。ダウンロード可否確認処理において、ノードＮｎは、先ず、上記選択されたチャンクのルートノードからインデックス情報を取得する。これは、上述したチャンクの取得処理と同様の要領で行われる。続いて、制御部２１は、ダウンロード可否確認メッセージを生成する。ダウンロード可否確認メッセージは、チャンクのコンテンツ保持ノードにダウンロード可否を確認するためのメッセージである。このダウンロード可否確認メッセージには、上記ステップＳ２３８で選択されたチャンクＩＤが含まれる。そして、ノードＮｎは、取得したインデックス情報に含まれるコンテンツ保持ノードのＩＰアドレス等に基づいてコンテンツ保持ノードにアクセスする。そして、ノードＮｎは、コンテンツ保持ノードに対してダウンロード可否確認メッセージを送信する。なお、取得されたインデックス情報に複数のコンテンツ保持ノードのノード情報が含まれている場合がある。この場合、各コンテンツ保持ノードへダウンロード可否確認メッセージが送信される。こうして、制御部２１は、コンテンツ保持ノードへダウンロード可否確認メッセージを送信してから予め設定された待機時間、コンテンツ保持ノードから、後述するステップＳ３０の処理によりダウンロードＯＫメッセージが返信されてくるのを待機する。このダウンロードＯＫメッセージは、コンテンツ保持ノードがチャンクのダウンロードを許可するメッセージである。
【００８５】
次いで、制御部２１は、上記待機期間内にダウンロードＯＫメッセージが所定数受信されたか否かを判定する（ステップＳ２４０）。この所定数は、例えば４に設定される。そして、制御部２１は、ダウンロードＯＫメッセージが所定数受信されていないと判定した場合には（ステップＳ２４０：ＮＯ）、ステップＳ２４３に進む。一方、制御部２１は、ダウンロードＯＫメッセージが所定数受信されたと判定した場合には（ステップＳ２４０：ＹＥＳ）、ステップＳ２４１に進む。ここで、ダウンロードＯＫメッセージを送信したコンテンツ保持ノードの数が少ないと、これらのノードＮｎにアクセスが集中する可能性がある。これを回避するため、ある程度以上の数のコンテンツ保持ノードが確保されている場合に限り、ステップＳ２４１，Ｓ２４２の処理を行わせるのである。
【００８６】
ステップＳ２４１では、制御部２１は、ダウンロードＯＫメッセージを送信したコンテンツ保持ノードの中から、何れかのコンテンツ保持ノードを決定する。そして、制御部２１は、決定したコンテンツ保持ノードから、上記ステップＳ２３８で選択されたチャンクのダウンロードを開始する（ステップＳ２４２）。すなわち、このとき、制御部２１は、上記タイムアウトする前のチャンク取得順序を、制御部２１を備えるノードＮｎが属するグループ以外の他のグループに応じた取得順序に一時変更する。そして、制御部２１は、図８（Ａ）に示すように、変更された取得順序で、上記ステップＳ２３８で選択されたチャンクのダウンロードを開始し、図６（Ｂ）に示す処理に戻る。このように、ノードＮｎは、このノードＮｎが属するグループ以外の他のグループに応じた取得順序に変更してチャンクのダウンロードを行う。そのため、ネットワークＮＷの負荷やノードＮｎの負荷等に起因してチャンクの送信が遅れた場合であっても、チャンクのダウンロード停止を回避しチャンクのダウンロードを継続させることができる。なお、変更された取得順序でチャンクのダウンロードが開始されると、一時変更用タイマ（図示せず）のカウントが開始される。この一時変更用タイマは、変更された取得順序でのダウンロード開始から所定時間が経過したか否かを判定するためのものである。
【００８７】
一方、ステップＳ２４３では、制御部２１は、チャンクのダウンロードを所定時間停止する。そして、制御部２１は、ダウンロードの所定時間停止後、上記ステップＳ１６でダウンロードがタイムアウトしたチャンクの取得処理を再度実行する（ステップＳ２４４）、図６（Ｂ）に示す処理に戻る。
【００８８】
上記ステップＳ２４２で一時変更された取得順序でチャンクのダウンロードが開始された場合、図６（Ｂ）に示すステップＳ１７では、チャンクの取得順序が一時変更中であると判定され、ステップＳ２４に進む。そして、ステップＳ２４では、制御部２１は、変更された取得順序でのダウンロード開始から所定時間が経過したか否かを判定する。例えば、一時変更用タイマのカウント値が所定時間を超えた場合には、所定時間が経過したと判定される。そして、制御部２１は、所定時間が経過していないと判定した場合には（ステップＳ２４：ＮＯ）、ステップＳ１８に移行する。一方、制御部２１は、所定時間が経過したと判定した場合には（ステップＳ２４：ＹＥＳ）、ステップＳ２５に進む。
【００８９】
ステップＳ２５では、制御部２１は、変更された取得順序でのチャンクのダウンロードを強制終了する。そして、制御部２１は、この強制終了までにダウンロードされたチャンクのデータ位置及びチャンクＩＤを記憶し（ステップＳ２６）、ステップＳ１４に戻る。このように、ダウンロードの強制終了されたチャンクが、後に、再度ダウンロードされる場合には、記憶されたチャンクのデータ位置からダウンロードが開始されることになる。こうして、ステップＳ１４に戻ると、制御部２１は、一時変更された取得順序から、制御部２１を備えるノードＮｎが属するグループに応じた元の取得順序に戻す。そして、制御部２１は、チャンクの取得順序リストにおいて未だダウンロードされていないチャンクのチャンクＩＤの中で、元の取得順序において最も早いチャンクＩＤを選択する。
【００９０】
図８（Ｂ）は、一時変更された取得順序から元の取得順序に戻ることに伴い、ダウンロードされるチャンクが変更される様子を示す概念図である。こうして、制御部２１は、一時変更された取得順序から元に戻った取得順序で取得処理を開始することになる。
【００９１】
なお、ステップＳ２５，Ｓ２６において、制御部２１は、変更された取得順序でのチャンクのダウンロードを強制終了せずに、このチャンクのダウンロードが完了するまで待つように構成しても良い。この場合、このチャンクのダウンロードが完了し、そのチャックのパブリッシュ処理が実行された後に、ステップＳ１４に戻ることになる。
【００９２】
次に、図６（Ｃ）に示す処理は、他のノードＮｎからダウンロード可否確認メッセージが受信された場合に開始される。このダウンロード可否確認メッセージは、上述したステップＳ２３９で他のノードＮｎから送信されたメッセージである。なお、図６（Ｃ）に示す処理は、図６（Ｂ）に示す処理が実行中であっても、ダウンロード可否確認メッセージが受信されると割り込みにより開始される。図６（Ｃ）に示す処理が開始されると、制御部２１は、受信したダウンロード可否確認メッセージに含まれるチャンクＩＤに対応するチャンクが記憶部２２に保存されているか否かを判定する（ステップＳ２８）。そして、制御部２１は、チャンクＩＤに対応するチャンクが記憶部２２に保存されていると判定した場合には（ステップＳ２８：ＹＥＳ）、ステップＳ２９に進む。そして、制御部２１は、チャンクＩＤに対応するチャンクが記憶部２２に保存されていないと判定した場合には（ステップＳ２８：ＮＯ）、図６（Ｃ）に示す処理を終了する。
【００９３】
ステップＳ２９では、制御部２１は、通信部２３に接続されている通信回線のアップロード帯域に余裕が有るか否かを判定する。例えば、制御部２１は、通信回線におけるデータパケットの通信速度を計測する。そして、制御部２１は、計測した通信速度が閾値以上である場合、通信回線のアップロード帯域に余裕が有ると判定する。例えば、図８（Ａ）に示す例において、第２段に位置するノードＮ６は、ダウンロード可否確認メッセージを受信したとき、ノードＮ１４及びＮ１５にチャンクのアップロード中である可能性が高い。そのため、ノードＮ６のアップロード帯域には余裕が無い可能性が高い。一方、第３段に位置するノードＮ１４は、ダウンロード可否確認メッセージを受信したとき、どのノードＮｎにもチャンクをアップロードしていない可能性が高い。そのため、ノードＮ１４のアップロード帯域には余裕が有る可能性が高い。
【００９４】
そして、通信回線のアップロード帯域に余裕が有ると判定した場合には（ステップＳ２９：ＹＥＳ）、ステップＳ３０に進む。一方、通信回線のアップロード帯域に余裕が無いと判定した場合には（ステップＳ２９：ＮＯ）、図６（Ｃ）に示す処理を終了する。
【００９５】
ステップＳ３０では、制御部２１は、ダウンロードＯＫメッセージを、上記受信されたダウンロード可否確認メッセージの送信元のノードＮｎへ返信し、図６（Ｃ）に示す処理を終了する。
【００９６】
以上説明したように、上記実施形態によれば、各ノードＮｎは、各ノードＮｎが属するグループ毎に異なる取得順序でチャンクの取得処理を行うように構成した。そのため、センターサーバＣＳへの負荷集中を回避することができる。更に、各ノードＮｎによるチャンクの取得をより効率良く行わせることができる。
【００９７】
なお、例えばＳＷＦ（Shockwave Flash）やＨＴＭＬ（Hyper Text Markup Language）等によって作成されたコンテンツは、作成当初から複数のサブコンテンツから構成されている。例えば、複数のサブコンテンツは、アーカイブ化により一つの圧縮ファイルに纏められている。このようなコンテンツを新たなコンテンツとしてコンテンツ配信システムＳ内に投入する場合にも、本発明を適用することができる。この場合、ＳＷＦ等によって作成されたコンテンツが、本発明における第一コンテンツに対応する。また、各サブコンテンツが、本発明における第二コンテンツに対応する。
【００９８】
また、上記実施形態においては、オーバーレイネットワークＯＮに、ＤＨＴを利用したピアツーピアネットワークを適用したが、これに限られるものではない。例えば、他のオーバーレイネットワークを用いたシステムが適用されても良い。ＤＨＴを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。
【符号の説明】
【００９９】
１１  制御部
１２  記憶部
１３  通信部
２１  制御部
２２  記憶部
２３  バッファメモリ
２９  通信部
ＭＳ  コンテンツ管理サーバ
Ｎｎ  ノード
ＮＷ  ネットワーク
ＯＮ  オーバーレイネットワーク
Ｓ  コンテンツ配信システム
【図１】
2012008847.tif 000003
【図２】
2012008847.tif 000004
【図３】
2012008847.tif 000005
【図４】
2012008847.tif 000006
【図５】
2012008847.tif 000007
【図６】
2012008847.tif 000008
【図７】
2012008847.tif 000009
【図８】
2012008847.tif 000010