(57)【要約】 【課題】レプリカを保存しているノード装置へのアクセス集中を低減し、ダウンロードにより通信回線が混雑することを防止することが可能なコンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラムを提供する。【解決手段】ノード装置は、新たなコンテンツの複製データの保存依頼に係るコンテンツの複製データを取得して保存すると、当該保存依頼に係るコンテンツに関連付けられている関連コンテンツがあるか否かを判断し、当該関連コンテンツがあると判断した場合には、当該関連コンテンツの複製データを保存しているノード装置を検索し、検索されたノード装置に対して、上記コンテンツ保存依頼情報を送信する。【選択図】図４
2010113573.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムにおける前記ノード装置であって、
前記複製データを保存するための保存領域を有する保存手段と、
他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から、新たなコンテンツの複製データの保存依頼を示すコンテンツ保存依頼情報を受信する保存依頼受信手段と、
前記他のノード装置又は前記サーバ装置から、前記保存依頼に係るコンテンツの複製データを取得し、前記保存手段における保存領域に保存するコンテンツ保存手段と、
前記保存依頼に係る新たなコンテンツに予め関連付けられているコンテンツであって既に各ノード装置間で利用可能となっている関連コンテンツがあるか否かを判断するコンテンツ判断手段と、
前記新たなコンテンツに関連付けられている関連コンテンツがあると判断された場合には、当該関連コンテンツの複製データを保存している他のノード装置を検索するノード検索手段と、
前記検索された他のノード装置に対して前記新たなコンテンツの複製データの保存依頼を示すコンテンツ保存依頼情報を送信する保存依頼送信手段と、
を備えることを特徴とするノード装置。
【請求項２】
請求項１に記載のノード装置において、
前記新たなコンテンツに複数の前記関連コンテンツが関連付けられている場合、前記ノード検索手段は、夫々の前記関連コンテンツに予め付与されたランク情報に基づいて、何れか一の前記関連コンテンツを選択し、当該選択した前記関連コンテンツの複製データを保存している他のノード装置を検索することを特徴とするノード装置。
【請求項３】
請求項２に記載のノード装置において、
前記選択された前記一の関連コンテンツを保存している他のノード装置に対する前記コンテンツ保存依頼情報の送信から所定時間経過後に、前記ノード検索手段は、何れか他の前記関連コンテンツを選択し、当該選択した前記関連コンテンツの複製データを保存している他のノード装置を検索することを特徴とするノード装置。
【請求項４】
請求項１に記載のノード装置において、
前記新たなコンテンツに複数の前記関連コンテンツが関連付けられている場合、前記ノード検索手段は、各前記関連コンテンツの複製データを保存している他のノード装置を複数検索し、当該検索された複数の他のノード装置のうち、２以上の前記関連コンテンツの複製データを保存している他のノード装置を選択し、
前記保存依頼送信手段は、前記選択された他のノード装置に対して前記新たなコンテンツの複製データの保存依頼を示すコンテンツ保存依頼情報を送信することを特徴とするノード装置。
【請求項５】
請求項１に記載のノード装置において、
前記新たなコンテンツが２以上ある場合において、夫々の前記新たなコンテンツに同一の前記関連コンテンツが関連付けられている場合、何れかの前記新たなコンテンツから前記同一の関連コンテンツの関連付けを解除する関連付け解除手段を更に備えることを特徴とするノード装置。
【請求項６】
請求項５に記載のノード装置において、
前記関連付け解除手段は、前記関連付けられている前記関連コンテンツの数が多い方の前記新たなコンテンツから前記同一の関連コンテンツの関連付けを解除することを特徴とするノード装置。
【請求項７】
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムにおいて前記コンテンツの複製データを管理するサーバ装置であって、
コンテンツ分散保存システムにおける複数のノード装置のうち、何れか一のノード装置を選定するノード選定手段と、
新たなコンテンツの複製データと、当該新たなコンテンツに予め関連付けられているコンテンツであって既に各ノード装置間で利用可能となっている関連コンテンツを示す情報と、を前記選定されたノード装置に対して送信する関連コンテンツ情報送信手段と、
前記新たなコンテンツが２以上ある場合において、夫々の前記新たなコンテンツに同一の前記関連コンテンツが関連付けられている場合、前記関連コンテンツを示す情報の送信前に、何れかの前記新たなコンテンツから前記同一の関連コンテンツの関連付けを解除する関連付け解除手段と、
を備えることを特徴とするサーバ装置。
【請求項８】
請求項７に記載のサーバ装置において、
前記関連付け解除手段は、前記関連付けられている前記関連コンテンツの数が多い方の前記新たなコンテンツから前記同一の関連コンテンツの関連付けを解除することを特徴とするサーバ装置。
【請求項９】
コンピュータを、請求項１乃至６の何れか一項に記載のノード装置として機能させることを特徴とするノード処理プログラム。
【請求項１０】
コンピュータを、請求項７又は８に記載のサーバ装置として機能させることを特徴とするサーバ処理プログラム。
【請求項１１】
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムにおいて、
前記ノード装置は、
前記複製データを保存するための保存領域を有する保存手段と、
他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から、新たなコンテンツの複製データの保存依頼を示すコンテンツ保存依頼情報を受信する保存依頼受信手段と、
前記他のノード装置又は前記サーバ装置から、前記保存依頼に係るコンテンツの複製データを取得し、前記保存手段における保存領域に保存するコンテンツ保存手段と、
前記保存依頼に係る新たなコンテンツに予め関連付けられているコンテンツであって既に各ノード装置間で利用可能となっている関連コンテンツがあるか否かを判断するコンテンツ判断手段と、
前記新たなコンテンツに関連付けられている関連コンテンツがあると判断された場合には、当該関連コンテンツの複製データを保存している他のノード装置を検索するノード検索手段と、
前記検索された他のノード装置に対して前記新たなコンテンツの複製データの保存依頼を示すコンテンツ保存依頼情報を送信する保存依頼送信手段と、
を備えることを特徴とするコンテンツ分散保存システム。
【請求項１２】
ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムにおけるコンテンツ保存方法であって、
前記ノード装置が、他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から、新たなコンテンツの複製データの保存依頼を示すコンテンツ保存依頼情報を受信する保存依頼受信工程と、
前記ノード装置が、前記他のノード装置又は前記サーバ装置から、前記保存依頼に係るコンテンツの複製データを取得し、前記複製データを保存するための保存領域に保存するコンテンツ保存工程と、
前記ノード装置が、前記保存依頼に係る新たなコンテンツに予め関連付けられているコンテンツであって既に各ノード装置間で利用可能となっている関連コンテンツがあるか否かを判断するコンテンツ判断工程と、
前記ノード装置が、前記新たなコンテンツに関連付けられている関連コンテンツがあると判断された場合には、当該関連コンテンツの複製データを保存している他のノード装置を検索するノード検索工程と、
前記ノード装置が、前記検索された他のノード装置に対して前記新たなコンテンツの複製データの保存依頼を示すコンテンツ保存依頼情報を送信する保存依頼送信工程と、
を含むことを特徴とするコンテンツ保存方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型の通信システムの技術分野に関する。
【背景技術】
【０００２】
この種のピアツーピア型の通信システムにおいて、複数のコンテンツ（映画及び音楽データ等のコンテンツ）の複製データ（以下、「レプリカ」という）を複数のノード装置に分散して保存（配置）させ、各ノード装置間でレプリカを利用可能としたコンテンツ分散保存システムが知られており、これにより、対故障性やアクセスの分散性が高められている。このように分散保存されたレプリカの所在は、例えば特許文献１に開示されるような分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用して効率良く検索可能になっている。当該ＤＨＴは、各ノード装置に記憶されており、当該ＤＨＴには、各種メッセージの転送先となるべき複数のノード装置を示すノード情報（例えば、ＩＰアドレス及びポート番号を含む）が登録されている。
【０００３】
そして、コンテンツ分散保存システムに参加しているノード装置は、所望のコンテンツを取得する場合、当該コンテンツのレプリカの所在を検索（発見）するためのメッセージ（クエリ）を他のノード装置に送出する。これにより、当該メッセージは、上記ＤＨＴにしたがって、中継のノード装置により当該コンテンツのレプリカの所在の管理元のノード装置に向かって転送される。そして、上記メッセージを送出したノード装置は、最終的に当該メッセージが辿り着く上記管理元のノード装置から上記レプリカの所在を示す情報を取得することになる。これにより、上記メッセージを送出したノード装置は、上記検索に係るコンテンツのレプリカを保存しているノード装置にアクセスして当該レプリカをダウンロードすることができる。
【特許文献１】特開２００６−１９７４００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、このようなコンテンツ分散保存システムにおいて、利用可能となった直後のコンテンツや、人気のあるコンテンツなどは、当該コンテンツのレプリカを保存しているノード装置へのアクセスが集中する。そのため、レスポンスが低下し、当該レプリカのダウンロードに時間がかかるという問題があった。また、当該レプリカのダウンロードにより通信回線が混雑するという問題もあった。
【０００５】
本発明は、以上の点等に鑑みてなされたものであり、レプリカを保存しているノード装置へのアクセス集中を低減し、ダウンロードにより通信回線が混雑することを防止することが可能なコンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムにおける前記ノード装置であって、前記複製データを保存するための保存領域を有する保存手段と、他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から、新たなコンテンツの複製データの保存依頼を示すコンテンツ保存依頼情報を受信する保存依頼受信手段と、前記他のノード装置又は前記サーバ装置から、前記保存依頼に係るコンテンツの複製データを取得し、前記保存手段における保存領域に保存するコンテンツ保存手段と、前記保存依頼に係る新たなコンテンツに予め関連付けられているコンテンツであって既に各ノード装置間で利用可能となっている関連コンテンツがあるか否かを判断するコンテンツ判断手段と、前記新たなコンテンツに関連付けられている関連コンテンツがあると判断された場合には、当該関連コンテンツの複製データを保存している他のノード装置を検索するノード検索手段と、前記検索された他のノード装置に対して前記新たなコンテンツの複製データの保存依頼を示すコンテンツ保存依頼情報を送信する保存依頼送信手段と、を備えることを特徴とする。
【０００７】
この発明によれば、ノード装置は、新たなコンテンツの複製データの保存依頼に係るコンテンツの複製データを取得して保存すると、当該保存依頼に係るコンテンツに関連付けられている関連コンテンツがあるか否かを判断し、当該関連コンテンツがあると判断した場合には、当該関連コンテンツの複製データを保存しているノード装置を検索し、検索されたノード装置に対して、上記コンテンツ保存依頼情報を送信するように構成したので、新たなコンテンツを利用（例えば視聴）する可能性の高いユーザのノードＮｎに当該新たなコンテンツの複製データを事前に保存（プレキャッシュ）しておくことができ、当該複製データを保存しているノード装置へのアクセス集中を低減し、ダウンロードにより通信回線が混雑することを防止することができる。
【０００８】
請求項２に記載の発明は、請求項１に記載のノード装置において、前記新たなコンテンツに複数の前記関連コンテンツが関連付けられている場合、前記ノード検索手段は、夫々の前記関連コンテンツに予め付与されたランク情報に基づいて、何れか一の前記関連コンテンツを選択し、当該選択した前記関連コンテンツの複製データを保存している他のノード装置を検索することを特徴とする。
【０００９】
この発明によれば、新たなコンテンツを利用する可能性が高いノード装置に優先的にその複製データを保存させることができる。
【００１０】
請求項３に記載の発明は、請求項２に記載のノード装置において、前記選択された前記一の関連コンテンツを保存している他のノード装置に対する前記コンテンツ保存依頼情報の送信から所定時間経過後に、前記ノード検索手段は、何れか他の前記関連コンテンツを選択し、当該選択した前記関連コンテンツの複製データを保存している他のノード装置を検索することを特徴とする。
【００１１】
請求項４に記載の発明は、請求項１に記載のノード装置において、前記新たなコンテンツに複数の前記関連コンテンツが関連付けられている場合、前記ノード検索手段は、各前記関連コンテンツの複製データを保存している他のノード装置を複数検索し、当該検索された複数の他のノード装置のうち、２以上の前記関連コンテンツの複製データを保存している他のノード装置を選択し、前記保存依頼送信手段は、前記選択された他のノード装置に対して前記新たなコンテンツの複製データの保存依頼を示すコンテンツ保存依頼情報を送信することを特徴とする。
【００１２】
この発明によれば、新たなコンテンツを利用する可能性が高いノード装置に優先的にその複製データを保存させることができる。
【００１３】
請求項５に記載の発明は、請求項１に記載のノード装置において、前記新たなコンテンツが２以上ある場合において、夫々の前記新たなコンテンツに同一の前記関連コンテンツが関連付けられている場合、何れかの前記新たなコンテンツから前記同一の関連コンテンツの関連付けを解除する関連付け解除手段を更に備えることを特徴とする。
【００１４】
この発明によれば、複数の新たなコンテンツの複製データをより効率良く分散させコンテンツ保存領域の保存容量を節約することができる。
【００１５】
請求項６に記載の発明は、請求項５に記載のノード装置において、前記関連付け解除手段は、前記関連付けられている前記関連コンテンツの数が多い方の前記新たなコンテンツから前記同一の関連コンテンツの関連付けを解除することを特徴とする。
【００１６】
この発明によれば、複数の新たなコンテンツの複製データをより一層効率良く分散させコンテンツ保存領域の保存容量を節約することができる。
【００１７】
請求項７に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムにおいて前記コンテンツの複製データを管理するサーバ装置であって、コンテンツ分散保存システムにおける複数のノード装置のうち、何れか一のノード装置を選定するノード選定手段と、新たなコンテンツの複製データと、当該新たなコンテンツに予め関連付けられているコンテンツであって既に各ノード装置間で利用可能となっている関連コンテンツを示す情報と、を前記選定されたノード装置に対して送信する関連コンテンツ情報送信手段と、前記新たなコンテンツが２以上ある場合において、夫々の前記新たなコンテンツに同一の前記関連コンテンツが関連付けられている場合、前記関連コンテンツを示す情報の送信前に、何れかの前記新たなコンテンツから前記同一の関連コンテンツの関連付けを解除する関連付け解除手段と、を備えることを特徴とする。
【００１８】
請求項８に記載の発明は、請求項７に記載のサーバ装置において、前記関連付け解除手段は、前記関連付けられている前記関連コンテンツの数が多い方の前記新たなコンテンツから前記同一の関連コンテンツの関連付けを解除することを特徴とする。
【００１９】
請求項９に記載のノード処理プログラムの発明は、コンピュータを、請求項１乃至６の何れか一項に記載のノード装置として機能させることを特徴とする。
【００２０】
請求項１０に記載のサーバ処理プログラムの発明は、コンピュータを、請求項７又は８に記載のサーバ装置として機能させることを特徴とする。
【００２１】
請求項１１に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムにおいて、前記ノード装置は、前記複製データを保存するための保存領域を有する保存手段と、他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から、新たなコンテンツの複製データの保存依頼を示すコンテンツ保存依頼情報を受信する保存依頼受信手段と、前記他のノード装置又は前記サーバ装置から、前記保存依頼に係るコンテンツの複製データを取得し、前記保存手段における保存領域に保存するコンテンツ保存手段と、前記保存依頼に係る新たなコンテンツに予め関連付けられているコンテンツであって既に各ノード装置間で利用可能となっている関連コンテンツがあるか否かを判断するコンテンツ判断手段と、前記新たなコンテンツに関連付けられている関連コンテンツがあると判断された場合には、当該関連コンテンツの複製データを保存している他のノード装置を検索するノード検索手段と、前記検索された他のノード装置に対して前記新たなコンテンツの複製データの保存依頼を示すコンテンツ保存依頼情報を送信する保存依頼送信手段と、を備えることを特徴とする。
【００２２】
請求項１２に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたコンテンツ分散保存システムであり、複数のコンテンツの複製データを複数のノード装置に分散して保存させ、各前記ノード装置間で前記コンテンツを利用可能としたコンテンツ分散保存システムにおけるコンテンツ保存方法であって、前記ノード装置が、他のノード装置又は全てのコンテンツの複製データを有するサーバ装置から、新たなコンテンツの複製データの保存依頼を示すコンテンツ保存依頼情報を受信する保存依頼受信工程と、前記ノード装置が、前記他のノード装置又は前記サーバ装置から、前記保存依頼に係るコンテンツの複製データを取得し、前記複製データを保存するための保存領域に保存するコンテンツ保存工程と、前記ノード装置が、前記保存依頼に係る新たなコンテンツに予め関連付けられているコンテンツであって既に各ノード装置間で利用可能となっている関連コンテンツがあるか否かを判断するコンテンツ判断工程と、前記ノード装置が、前記新たなコンテンツに関連付けられている関連コンテンツがあると判断された場合には、当該関連コンテンツの複製データを保存している他のノード装置を検索するノード検索工程と、前記ノード装置が、前記検索された他のノード装置に対して前記新たなコンテンツの複製データの保存依頼を示すコンテンツ保存依頼情報を送信する保存依頼送信工程と、を含むことを特徴とする。
【発明の効果】
【００２３】
本発明によれば、ノード装置は、新たなコンテンツの複製データの保存依頼に係るコンテンツの複製データを取得して保存すると、当該保存依頼に係るコンテンツに関連付けられている関連コンテンツがあるか否かを判断し、当該関連コンテンツがあると判断した場合には、当該関連コンテンツの複製データを保存しているノード装置を検索し、検索されたノード装置に対して、上記コンテンツ保存依頼情報を送信するように構成したので、新たなコンテンツを利用（例えば視聴）する可能性の高いユーザのノードＮｎに当該新たなコンテンツの複製データを事前に保存（プレキャッシュ）しておくことができ、当該複製データを保存しているノード装置へのアクセス集中を低減し、ダウンロードにより通信回線が混雑することを防止することができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ分散保存システムに本発明を適用した場合の実施形態である。
【００２５】
［１．コンテンツ分散保存システムの構成及び動作概要］
始めに、図１等を参照して、本実施形態に係るコンテンツ分散保存システムの構成及び動作概要について説明する。
【００２６】
図１は、本実施形態に係るコンテンツ分散保存システムにおける各ノード装置の接続態様の一例を示す図である。
【００２７】
図１の下部枠１０１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４ａ,４ｂ、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５ａ,５ｂ、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界の通信ネットワーク）８が構築されている。なお、図１の例におけるネットワーク８には、データ（パケット）を転送するためのルータが、適宜挿入されているが図示を省略している。
【００２８】
このようなネットワーク８には、複数のノード装置（以下、「ノード」という）Ｎｎ（ｎ＝１，２，３・・・の何れか）が接続されている。また、各ノードＮｎには、固有の製造番号およびＩＰ（Internet Protocol）アドレスが割り当てられている。そして、本実施形態に係るコンテンツ分散保存システムＳは、これらのノードＮｎのうち、図１の上部枠１００内に示すように、何れか複数のノードＮｎの参加により形成されるピアツーピア方式のネットワークシステムとなっている。
【００２９】
なお、図１の上部枠１００内に示すネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク９（論理的なネットワーク）である。かかるオーバーレイネットワーク９は、特定のアルゴリズム、例えば、ＤＨＴを利用したアルゴリズムにより実現される。そして、コンテンツ分散保存システムＳ（言い換えれば、オーバーレイネットワーク９）に参加している各ノードＮｎには、所定桁数からなる固有の識別情報であるノードＩＤが割り当てられている。また、当該ノードＩＤは、例えば、各ノードＮｎに個別に割り当てられたＩＰアドレス或いは製造番号を共通のハッシュ関数（例えば、ＳＨＡ−１等）によりハッシュ化した値（例えば、ｂｉｔ長が１６０ｂｉｔ）であり、一つのＩＤ空間に偏りなく分散して配置されることになる。
【００３０】
なお、コンテンツ分散保存システムＳへの参加は、参加していないノードＮｎ（例えば、ノードＮ８）が、参加している任意のノードＮｎ（例えば、当該システムＳに常時参加しているコンタクトノード）に対して参加要求を示す参加メッセージを送信することによって行われる。
【００３１】
また、各ノードＮｎは、夫々、ＤＨＴを用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ分散保存システムＳ上における各種メッセージの転送先を規定しており、具体的には、ＩＤ空間内で適度に離れたノードＮｎのノードＩＤ、ＩＰアドレス及びポート番号を含むノード情報が複数登録されている。
【００３２】
コンテンツ分散保存システムＳに参加している１台のノードＮｎは、該システムＳに参加している全てのノードＮｎのうち、必要最低限のノードＮｎのノード情報をルーティングテーブルに登録しておき、ノード情報を知らない（記憶していない）ノードＮｎについては、各ノードＮｎ間で互いに各種メッセージを転送し合って届けてもらうようになっている。
【００３３】
このようなＤＨＴを用いたルーティングテーブルについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００３４】
ところで、コンテンツ分散保存システムＳにおいては、内容の異なる様々なコンテンツ（例えば、映画や音楽等）のレプリカが所定のファイル形式で複数のノードＮｎに分散して保存（格納）されており、各ノードＮｎ間で当該レプリカを利用可能になっている。例えば、ノードＮ５には、タイトルがＸＸＸの映画のコンテンツのレプリカが保存されており、一方、ノードＮ３には、タイトルがＹＹＹの映画のコンテンツのレプリカが保存されるというように、複数のノードＮｎ（以下、「コンテンツ保持ノード」という）に分散されて保存されている。
【００３５】
また、これらのコンテンツのレプリカには、夫々、コンテンツ名（タイトル）及びコンテンツＩＤ（コンテンツ毎に固有の識別情報）等の情報が付加されている。このコンテンツＩＤは、例えば、コンテンツ名＋任意の数値（或いは、コンテンツデータの先頭数バイトでも良い）が、上記ノードＩＤを得るときと共通のハッシュ関数によりハッシュ化されて生成される（ノードＩＤと同一のＩＤ空間に配置）。或いは、システム管理者が、コンテンツ毎に一意のＩＤ値（ノードＩＤと同一ビット長）を付与しても良い。この場合は、コンテンツ名とそのコンテンツＩＤの対応が書かれたコンテンツカタログ情報が、全ノードＮｎに配布される。
【００３６】
また、このように分散保存されているコンテンツのレプリカの所在、つまり、当該レプリカを保存したノードＮｎのノード情報と当該コンテンツのコンテンツＩＤ等の組が含まれるインデックス情報が、当該コンテンツのレプリカの所在を管理しているノードＮｎ（以下、「ルートノード」、又は「コンテンツ（コンテンツＩＤ）のルートノード」という）等により記憶（インデックスキャッシュに記憶）、管理されるようになっている。
【００３７】
つまり、コンテンツのレプリカを保存しているコンテンツ保持ノードのノード情報は、他のノードＮｎからの問い合わせに応じて提供可能なようにルートノードにより管理されている。
【００３８】
例えば、タイトルがＸＸＸの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツ（コンテンツＩＤ）のルートノードであるノードＮ４により管理され、タイトルがＹＹＹの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツ（コンテンツＩＤ）のルートノードであるノードＮ７により管理される。また、このようなルートノードは、例えば、コンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有するノードＮｎであるように定められる。
【００３９】
そして、あるノードＮｎのユーザが、所望するコンテンツのレプリカを取得したい場合、当該レプリカの取得を望むノードＮｎ（以下、「ユーザノード」という）は、当該ユーザにより選択されたコンテンツのコンテンツＩＤ及び自己のＩＰアドレス等を含むコンテンツ所在問合せ（検索）メッセージ（クエリ）を生成し、これを自己のＤＨＴを用いたルーティングテーブルにしたがって他のノードＮｎに対して送出する。つまり、ユーザノードは、コンテンツ所在問合せ（検索）メッセージを、ルートノードに向けて（ルートノード宛に）送出する（ルートノードにコンテンツのレプリカの所在を問い合わせる）。これにより、コンテンツ所在問合せ（検索）メッセージは、コンテンツＩＤをキーとするＤＨＴルーティングによって最終的にルートノードに到着することになる。
【００４０】
なお、各ノードＮｎにおいてユーザにより選択されるべきコンテンツのコンテンツ名及びコンテンツＩＤ等の属性情報は、例えばコンテンツ提供サーバＳＡから全てのノードＮｎに配信されるコンテンツカタログ情報に記述されている。
【００４１】
また、上記コンテンツ所在問合せ（検索）メッセージに含まれるコンテンツＩＤは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。なお、ＤＨＴルーティングについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００４２】
上記コンテンツ所在問合せ（検索）メッセージを受信したルートノードは、これに含まれるコンテンツＩＤに対応するインデックス情報をインデックスキャッシュから取得して、当該インデックス情報を、該コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信する。こうしてインデックス情報を取得したユーザノードは、当該インデックス情報に含まれるあるコンテンツ保持ノードのＩＰアドレス等に基づいて当該コンテンツ保持ノードにアクセスして、コンテンツ送信要求メッセージを送信し、そこからコンテンツのレプリカをダウンロード（取得）することが可能になる。
【００４３】
なお、ルートノードは、当該インデックス情報に含まれるＩＰアドレス等に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信し、これにより、ユーザノードは、上記コンテンツ保持ノードからそのレプリカをダウンロードすることもできる。また、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、当該ルートノードと同じインデックス情報をキャッシュしているキャッシュノードから当該インデックス情報を取得することもできる。
【００４４】
また、コンテンツ保持ノードから取得したコンテンツのレプリカを保存したユーザノードは、当該レプリカを保存したことをそのルートノードに知らせるために（言い換えれば、該システムＳに参加している他のノードＮｎに対して公開するために）、当該レプリカのコンテンツＩＤ及び自己のノード情報が含まれるパブリッシュ（登録通知）メッセージを生成し、該パブリッシュメッセージを、そのルートノードに向けて（ルートノード宛に）送出する。
【００４５】
これにより、パブリッシュメッセージは、コンテンツ所在問合せ（検索）メッセージと同じように、コンテンツＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。そして、該ルートノードは、受信したパブリッシュメッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報を登録（インデックスキャッシュ領域に記憶）することになる。こうして、上記ユーザノードは、新たに、上記コンテンツのレプリカを保持するコンテンツ保持ノードとなる。
【００４６】
なお、上記パブリッシュメッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報は、ルートノードに至るまでの転送経路におけるキャッシュノードにおいても登録（キャッシュ）される。
【００４７】
［２．コンテンツ提供サーバＳＡの構成及び機能等］
次に、図２を参照して、コンテンツ提供サーバＳＡ（サーバ装置一例）の構成及び機能について説明する。
【００４８】
図２は、コンテンツ提供サーバＳＡの概要構成例を示す図である。
【００４９】
コンテンツ提供サーバＳＡは、図２に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データおよびプログラム（本発明のサーバ処理プログラムを含む）を記憶するＲＯＭ等から構成されたコンピュータとしての制御部１１と、各種データ及び各種プログラム等を記憶保存するためのＨＤ（ハードディスク）等から構成された記憶部１２と、各種情報を表示するための表示部１３と、管理者等からの指示を受け付け当該指示に応じた指示信号を制御部１１に対して与える入力部１４と、ネットワーク８を通じてノードＮｎ等との間の情報の通信制御を行うための通信部１５と、を備えて構成され、これらは、バス１６を介して相互に接続されている。なお、上記サーバ処理プログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。なお、コンテンツ提供サーバＳＡは、コンテンツ分散保存システムＳに参加している幾つかのノードＮｎのノード情報を管理している。
【００５０】
記憶部１２には、コンテンツ分散保存システムＳに新たに投入予定の複数のコンテンツの情報が記述されたコンテンツ情報リストが記憶されている。このコンテンツ情報リストには、例えば、各コンテンツＩＤに対応付けられて評価値、公開日時、関連コンテンツ情報、及びサイズ（データ量）等が登録されている。コンテンツ情報リストへのコンテンツの情報の登録は、例えば管理者等により行われる。
【００５１】
ここで、評価値は、例えば特開２００７−３４６３０号公報にその算出方法が開示されるように予想アクセス数（言い換えれば、コンテンツの人気度）に応じた決定された値である。つまり、予想アクセス数が多いほど、評価値が高くなる。
【００５２】
公開日時は、例えば、各ノードＮｎにおいてコンテンツが利用可能となる日時を示している。例えば、この公開日時は、各ノードＮｎにおいて取得対象となるコンテンツをコンテンツカタログ情報上で選択可能となる日時である（公開日時までは、コンテンツカタログ情報上で選択できない）。
【００５３】
関連コンテンツ情報には、上記新たなコンテンツに、予め関連付けられているコンテンツであって既に各ノードＮｎ間で利用可能となっている関連コンテンツがあるか否かを示す情報が含まれており、関連コンテンツがある場合、当該関連コンテンツ情報には、当該関連コンテンツのコンテンツＩＤが含まれている。
【００５４】
ここで、上記新たなコンテンツへの関連コンテンツの関連付けは、例えば、新たなコンテンツの提供元（例えば、配信ベンダー）により行われる。例えば、新たなコンテンツと内容が類似（提供元により判断）する別のコンテンツが、関連コンテンツとして関連付けられる。また、新たなコンテンツが、映画のコンテンツである場合、当該映画と同じ監督や主演の別の映画のコンテンツが、関連コンテンツとして関連付けられる。また、新たなコンテンツが、楽曲のコンテンツである場合、当該楽曲と同じアーティスト（例えば、歌手、演奏者）や作曲者の別の楽曲が、関連コンテンツとして関連付けられる。新たなコンテンツが、全数話完結のシリーズもののドラマの第２話のコンテンツである場合、第１話のコンテンツが、関連コンテンツとして関連付けられる。
【００５５】
また、新たなコンテンツに関連付けられる関連コンテンツは、１つであるとは限らず、複数の場合もあり、この場合、各関連コンテンツには、新たなコンテンツとの結びつきが強い順位付けを示すランク情報が付与されている。例えば、新たなコンテンツＸに、３つの関連コンテンツＡ，Ｂ，Ｃが関連付けられている場合、関連コンテンツＢには順位付け１位（最も新たなコンテンツとの結びつきが強い）を示すランク情報が付与され、関連コンテンツＡには順位付け２位を示すランク情報が付与され、関連コンテンツＣには順位付け３位を示すランク情報が付与されている。
【００５６】
このような構成において、制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラムを読み出して実行することにより、全体を統括制御し、本発明におけるノード選定手段、関連コンテンツ情報送信手段等として機能する。
【００５７】
具体的には、制御部１１は、コンテンツ情報リストに登録されているコンテンツのうちから所定数のコンテンツ（例えば、公開日時が同じ又は近い）を選定し、さらに、投入先となるノードＮｎを選定する。そして、制御部１１は、選定したコンテンツのレプリカの保存依頼を示す保存依頼メッセージ（コンテンツ保存依頼情報の一例）を送信し、当該ノードＮｎにより当該保存依頼に係るコンテンツの保存が許可された場合、当該保存依頼に係るコンテンツのレプリカを当該ノードＮｎに対して送信する。
【００５８】
なお、保存依頼メッセージには、保存依頼に係るコンテンツのコンテンツＩＤ、評価値、公開日時、関連コンテンツ情報、及びサイズ等が含まれる。
【００５９】
［３．ノードＮｎの構成及び機能等］
次に、図３を参照して、ノードＮｎの構成及び機能について説明する。
【００６０】
図３は、ノードＮｎの概要構成例を示す図である。
【００６１】
各ノードＮｎは、図３に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データ及びプログラムを記憶するＲＯＭ等から構成された制御部２１と、各種データ（例えば、コンテンツデータのレプリカ、インデックス情報、ＤＨＴ等）及び各種プログラム等を記憶保存するためのＨＤ（ハードディスク）等から構成された記憶部２２と、受信されたコンテンツデータのレプリカ等を一時蓄積するバッファメモリ２３と、コンテンツデータのレプリカに含まれるエンコードされたビデオデータ（映像情報）およびオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）するデコーダ部２４と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部２５と、当該映像処理部２５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等の表示部２６と、上記デコードされたオーディオデータをアナログオーディオ信号にＤ（Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音声処理部２７と、当該音声処理部２７から出力されたオーディオ信号を音波として出力するスピーカ２８と、ネットワーク８を通じて他のノードＮｎやコンテンツ管理サーバＳＡとの間の情報の通信制御を行うための通信部２９と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部２１に対して与える入力部（例えば、キーボード、マウス、或いは、操作パネル等）３０と、を備えて構成され、制御部２１、記憶部２２、バッファメモリ２３、デコーダ部２４、通信部２９、及び入力部３０はバス３１を介して相互に接続されている。なお、ノードＮｎとしては、パーソナルコンピュータ、ＳＴＢ（Set Top Box）、或いは、ＴＶ受信機等を適用可能である。
【００６２】
また、記憶部２２には、コンテンツのレプリカ、ＤＨＴ、インデックス情報（インデックスキャッシュ領域に記憶）、及びコンテンツカタログ情報などが記憶されている。また、記憶部２２において、コンテンツのレプリカを記憶保存しておくためのコンテンツ保存領域の容量（例えば、１００ギガバイト）は、例えばユーザにより任意に設定可能になっている。
【００６３】
更に、記憶部２２には、コンテンツ情報リストが記憶されている。かかるコンテンツ情報リストには、現に記憶部２２にレプリカが記憶されているコンテンツのコンテンツＩＤ、評価値、公開日時、関連コンテンツ情報、及びサイズ等が登録されている。
【００６４】
以上のような構成において、制御部２１は、ＣＰＵが記憶部２２等に記憶されたプログラム（本発明のノード処理プログラムを含む）を読み出して実行することにより、全体を統括制御し、コンテンツ分散保存システムＳへの参加により上述したユーザノード、中継ノード、ルートノード、キャッシュノード、及びコンテンツ保持ノードの少なくとも何れか一つのノードとしての処理を行う。なお、上記ノード処理プログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【００６５】
更に、制御部２１は、本発明における保存依頼受信手段、コンテンツ保存手段、コンテンツ判断手段、ノード検索手段、及び保存依頼送信手段等として機能する。
【００６６】
より具体的には、制御部２１は、コンテンツ提供サーバＳＡ又はコンテンツ保持ノードから、コンテンツ分散保存システムＳにおいて公開前の新たなコンテンツのレプリカの保存依頼を示す保存依頼メッセージを受信する。そして、コンテンツ保存領域に当該保存依頼に係るコンテンツのレプリカを保存できるほどの空き容量が有る場合、制御部２１は、上記保存依頼メッセージの送信元のコンテンツ提供サーバＳＡ又はコンテンツ保持ノードから、上記保存依頼に係るコンテンツのレプリカを取得（ダウンロード）し、当該レプリカを記憶部２２におけるコンテンツ保存領域に保存させる。一方、コンテンツ保存領域に当該保存依頼に係るコンテンツのレプリカを保存できるほどの空き容量が無い場合、制御部２１は、当該保存依頼に係るコンテンツの評価値と、既にコンテンツ保存領域に保存済みのコンテンツの評価値とを比較し、当該保存依頼に係るコンテンツの評価値が大きいときは、最も評価値が小さいコンテンツのレプリカを削除した上で、当該保存依頼に係るコンテンツのレプリカを保存することになる。
【００６７】
更に、制御部２１は、上記保存依頼に係る新たなコンテンツに関連付けられている関連コンテンツがあるか否かを、例えば保存依頼メッセージに含まれる関連コンテンツ情報を参照することにより判断し、当該関連コンテンツがあると判断した場合には、当該関連コンテンツのレプリカを保存しているコンテンツ保持ノードを検索する。かかる検索では、上述したコンテンツＩＤをキーとするＤＨＴルーティングが用いられる。すなわち、制御部２１は、当該関連コンテンツのコンテンツＩＤを含むコンテンツ所在問合せメッセージを、関連コンテンツのルートノードに向けて送出することにより、当該ルートノードから返信されたインデックス情報を取得する。かかるインデックス情報には、上記関連コンテンツのレプリカを保存している１又は複数のコンテンツ保持ノードのノード情報が含まれている。
【００６８】
そして、制御部２１は、上記インデックス情報の取得により検索された１又は複数のコンテンツ保持ノードに対して、上記保存依頼に係る新たなコンテンツのレプリカの保存依頼を示すコンテンツ保存依頼メッセージを送信する。そして、制御部２１は、当該コンテンツ保存ノードにより当該保存依頼に係る新たなコンテンツの保存が許可された場合、当該保存依頼に係る新たなコンテンツのレプリカをコンテンツ保持ノードに対して送信する。これにより、新たなコンテンツを利用（例えば視聴）する可能性の高いノードＮｎ（関連コンテンツのレプリカを保存しているノードＮｎ）に当該新たなコンテンツのレプリカを事前に保存させることができる。
【００６９】
図４は、新たなコンテンツが保存される様子を示す図である。図４に示すように、コンテンツ提供サーバＳＡから新たなコンテンツのレプリカを取得したノードＮ１は、当該新たなコンテンツに関連付けられた関連コンテンツのルートノードからインデックス情報を得て、当該関連コンテンツのレプリカを保存しているノードＮ４及びＮ７に対して当該新たなコンテンツのレプリカを提供している。
【００７０】
ところで、上記保存依頼に係る新たなコンテンツに複数の関連コンテンツが関連付けられている場合、制御部２１は、関連コンテンツ毎にそのレプリカを保存しているコンテンツ保持ノードを検索し、検索された各コンテンツ保持ノードに対して上記コンテンツ保存依頼メッセージを送信する。これによれば、新たなコンテンツのレプリカを事前に保存させるノードＮｎの数を増やすことができる。
【００７１】
或いは、制御部２１は、夫々の関連コンテンツに予め付与されたランク情報に基づいて、何れか一の関連コンテンツ（例えば順位付けが最も高い１位の関連コンテンツ）を優先して選択し、当該選択した関連コンテンツのレプリカを保存しているコンテンツ保持ノードを検索し、検索されたコンテンツ保持ノードに対して上記コンテンツ保存依頼メッセージを送信する。これによれば、新たなコンテンツを利用する可能性が高いノードＮｎに優先的にそのレプリカを保存させることができる。
【００７２】
そして、制御部２１は、上記選択された一の関連コンテンツのレプリカを保存しているコンテンツ保持ノードに対するコンテンツ保存依頼メッセージの送信から所定時間経過後に、何れか他の関連コンテンツ（例えば次に順位付けが高い２位の関連コンテンツ）を選択し、当該選択した関連コンテンツのレプリカを保存しているコンテンツ保持ノードを検索し、検索されたコンテンツ保持ノードに対して上記コンテンツ保存依頼メッセージを送信する。
【００７３】
また、上記保存依頼に係る新たなコンテンツに複数の関連コンテンツが関連付けられている場合、制御部２１は、関連コンテンツ毎にそのレプリカを保存しているコンテンツ保持ノードを複数検索し、当該検索された複数のコンテンツ保持ノードのうち、２以上の関連コンテンツ（例えば、全ての関連コンテンツ）のレプリカを保存しているコンテンツ保持ノードを選択し、選択されたコンテンツ保持ノードに対して上記コンテンツ保存依頼メッセージを送信するように構成しても良い。これによれば、新たなコンテンツを利用する可能性が高いノードＮｎに優先的にそのレプリカを保存させることができる。つまり、新たなコンテンツに関連付けられた、より多くの関連コンテンツのレプリカを保存しているノードＮｎは、新たなコンテンツを利用する可能性が他のノードＮｎに比べて高くなる。
【００７４】
［４．コンテンツ分散保存システムＳの動作］
次に、図５〜図９を参照して、コンテンツ分散保存システムＳの動作について説明する。
【００７５】
図５は、コンテンツ提供サーバＳＡの制御部１１における処理を示すフローチャートである。また、図６は、ノードＮｎの制御部２１における処理を示すフローチャートであり、図７は、図６のステップＳ１５におけるコンテンツ保存処理の詳細を示すフローチャートである。また、図８は、図７のステップＳ１６２又は図９におけるステップＳ１７４における関連コンテンツ保持ノードへのコンテンツ保存処理の詳細を示すフローチャートであり、図９は、図６のステップＳ１７におけるコンテンツ保存依頼処理の詳細を示すフローチャートである。
【００７６】
図５の処理は、例えば、コンテンツ分散保存システムＳに新たなコンテンツを投入する場合に管理者の指示にしたがって開始される。
【００７７】
図５が開始されると、先ず、コンテンツ提供サーバＳＡの制御部１１は、コンテンツ情報リストに登録されたコンテンツのうちから投入対象となる所定数の新たなコンテンツを選定する（ステップＳ１）。
【００７８】
次いで、制御部１１は、コンテンツ分散保存システムＳに参加しているノードＮｎのうちから、新たなコンテンツの投入先となる複数のノードＮｎを例えばランダムに選定し、それらノードＮｎのノード情報を取得する（ステップＳ２）。
【００７９】
次いで、制御部１１は、選定したノードＮｎのうちから一つ特定し（ステップＳ３）、特定したノードＮｎのノード情報に基づき当該ノードＮｎとの接続を確立して、上記投入対象となるコンテンツのコンテンツＩＤ、評価値、公開日時、関連コンテンツ情報、及びサイズ等の情報を含む保存依頼メッセージを当該ノードＮｎに対して送信する（ステップＳ４）。
【００８０】
なお、複数の新たなコンテンツが選定された場合には、夫々のコンテンツのコンテンツＩＤ、評価値、公開日時、関連コンテンツ情報、及びサイズ等の情報が保存依頼メッセージに含まれることになる。
【００８１】
次いで、制御部１１は、送信した保存依頼メッセージに対して返信メッセージを受信すると（ステップＳ５：ＹＥＳ）、当該返信メッセージが保存許可メッセージであるか（保存許可であるか）否かを判別する（ステップＳ６）。
【００８２】
当該返信メッセージが保存許可メッセージである場合（ステップＳ６：ＹＥＳ）、制御部１１は、投入対象となるコンテンツのレプリカを記憶部から取得し、当該レプリカを、返信メッセージの送信元のノードＮｎに対して送信し（ステップＳ７）、ステップＳ８に進む。一方、制御部１１は、上記返信メッセージが保存許可メッセージでない場合（ステップＳ６：ＮＯ）、つまり、保存拒否メッセージである場合、当該コンテンツのレプリカの送信は行わずに、ステップＳ８に進む。
【００８３】
ステップＳ８では、上記ステップＳ２で選定された全てのノードＮｎが上記ステップＳ３で特定されたか否かを判別し、特定されていない場合には（ステップＳ８：ＮＯ）、制御部１１は、ステップＳ３に戻り、未だ特定されていないノードＮｎを特定して上記と同様の処理を行う。一方、上記ステップＳ２で選定された全てのノードＮｎが特定された場合には（ステップＳ８：ＹＥＳ）、当該処理を終了する。
【００８４】
なお、このように投入されたコンテンツについて、その公開日時が来るまで所定期間毎に図５の処理を実行するように構成しても良い。
【００８５】
また、上記処理においては、返信メッセージが保存許可メッセージである場合に投入対象となるコンテンツのレプリカが、返信メッセージの送信元のノードＮｎに対して送信されるように構成したが、当該レプリカは保存依頼メッセージと共に当該ノードＮｎに対して送信されるように構成しても良い。
【００８６】
次に、図６の処理は、ノードＮｎにおいて電源オンがなされると開始され、先ず、制御部２１は参加処理を行う（ステップＳ１１）。当該参加処理においては、制御部２１は、コンタクトノードとの接続を確立し当該コンタクトノードに対して参加メッセージを送信する。そして、当該制御部２１は、コンタクトノード等から返信されてきた返信メッセージを受信すると、各返信メッセージに含まれるノード情報等を用いてＤＨＴルーティングテーブルを生成する。
【００８７】
次いで、制御部２１は、電源オフ指令があったか否かを判別し（ステップＳ１２）、電源オフ指令がない場合には（ステップＳ１２：ＮＯ）、ステップＳ１３に進み、電源オフ指令があった場合には（ステップＳ１２：ＹＥＳ）、脱退処理を行った後、図６の処理を終了する。
【００８８】
ステップＳ１３では、制御部２１は、コンテンツ提供サーバＳＡ又はコンテンツ保持ノードから保存依頼メッセージを受信したか否かを判別し、受信した場合には（ステップＳ１３：ＹＥＳ）、ステップＳ１４に進み、受信していない場合には（ステップＳ１３：ＮＯ）、ステップＳ１６に進む。なお、受信された保存依頼メッセージに含まれるコンテンツＩＤ、評価値、公開日時、関連コンテンツ情報、及びサイズ等の情報は、一時的にＲＡＭに記憶される。
【００８９】
ステップＳ１４では、制御部２１は、受信された保存依頼メッセージに示される保存依頼に係る新たなコンテンツのレプリカが既に記憶部２２に記憶されているか否かを判別する。これは、例えば、受信された保存依頼メッセージに含まれるコンテンツＩＤがコンテンツ情報リストに登録されているか否かで判別される。
【００９０】
そして、保存依頼メッセージに示される保存依頼に係るコンテンツのレプリカが既に記憶部２２に記憶されている場合には（ステップＳ１４：ＹＥＳ）、制御部２１は、ステップＳ１６に進み、記憶されていない場合には（ステップＳ１４：ＮＯ）、ステップＳ１５に進む。
【００９１】
ステップＳ１５では、制御部２１は、コンテンツ保存処理（図７）を行う。このコンテンツ保存処理において、図７に示すように、先ず、制御部２１は、保存依頼に係るコンテンツの評価値を例えば１／２に減らし（コンテンツが１つ複製され２つになるため、その分、評価値を分割する趣旨）、記憶部２２におけるコンテンツ保存領域の空き容量（例えば、５ギガバイト）を認識し、当該コンテンツ保存領域に、保存依頼に係るコンテンツのサイズ以上の空き容量があるか否かを判別する（ステップＳ１５２）。そして、空き容量がない場合には（ステップＳ１５２：ＮＯ）、ステップＳ１５３に進み、空き容量がある場合には（ステップＳ１５２：ＹＥＳ）、ステップＳ１５５に進む。
【００９２】
ステップＳ１５３では、制御部２１は、保存依頼に係るコンテンツの評価値（上記ステップＳ１５２の直前において１／２に減らされた評価値）と、既にコンテンツ保存領域に保存済みのコンテンツの評価値とを比較し、保存依頼に係るコンテンツの評価値より小さい保存済みのコンテンツがあるか否かを判別する。そして、保存依頼に係るコンテンツの評価値より小さい保存済みのコンテンツがある場合には（ステップＳ１５３：ＹＥＳ）、ステップＳ１５４に進み、そのような保存済みのコンテンツがない場合には（ステップＳ１５３：ＮＯ）、ステップＳ１６３に進む。
【００９３】
ステップＳ１５４では、制御部２１は、コンテンツ保存領域に保存済みのコンテンツ（評価値比較が行われたコンテンツ）のうち評価値が最も小さいコンテンツのコンテンツＩＤを削除コンテンツリストに登録し、当該削除コンテンツリストに登録したコンテンツのサイズ（例えば、１０ギガバイト）を上記空き容量（例えば、５ギガバイト）に加えて新たな空き容量として認識し、ステップＳ１５２に戻り、上記と同様の処理を行う。この場合、削除コンテンツリストに登録されたコンテンツの評価値は上記ステップＳ１５３において比較対象外となる。
【００９４】
そして、ステップＳ１５５では、制御部２１は、削除コンテンツリストに登録されたコンテンツのレプリカをコンテンツ保存領域から削除（削除コンテンツリストに登録されていない場合には、当該処理をスキップ）し、当該コンテンツのコンテンツＩＤ、評価値、公開日時、関連コンテンツ情報、及びサイズ等の情報をコンテンツ情報リストから削除する。
【００９５】
次いで、制御部２１は、上記保存依頼メッセージの送信元のコンテンツ提供サーバＳＡ又はコンテンツ保持ノードに対して、保存許可メッセージとしての返信メッセージを送信し（ステップＳ１５６）、当該コンテンツ提供サーバＳＡ又はコンテンツ保持ノードから送信されてきた上記保存依頼に係るコンテンツのレプリカを受信し、これを記憶部２２におけるコンテンツ保存領域に記憶、保存させる（ステップＳ１５７）。
【００９６】
次いで、制御部２１は、保存されたコンテンツの評価値（上記ステップＳ１５２の直前において１／２に減らされた評価値）と、ＲＡＭに記憶されているコンテンツＩＤ、公開日時、関連コンテンツ情報、及びサイズ等の情報を新たにコンテンツ情報リストに登録する（ステップＳ１５８）。
【００９７】
次いで、制御部２１は、保存されたコンテンツの保存依頼開始日時を算出し、当該算出した保存依頼開始日時と当該コンテンツのコンテンツＩＤとを対応付けて保存依頼コンテンツリストに登録する（ステップＳ１５９）。この保存依頼開始日時は、当該ノードＮｎが他のノードＮｎに対して上記保存依頼メッセージを送信する予定日時である。例えば、保存依頼開始日時は、現在日時から当該コンテンツの公開日時までの時間（公開準備期間）を当該コンテンツの評価値で徐算し、当該除算して得た値を現在日時に加算した日時である。つまり、コンテンツの評価値が高いほどこの日時が到来する期間が短くなる（詳しくは、例えば特開２００７−３４６３０号公報を参照）。
【００９８】
次いで、制御部２１は、保存されたコンテンツのコンテンツＩＤ及び自ノードのノード情報が含まれるパブリッシュメッセージをルートノードに向けて送出する（ステップＳ１６０）。これにより、パブリッシュメッセージは上述したようにＤＨＴルーティングによってルートノードに到着し、当該メッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報が登録される。
【００９９】
なお、保存依頼メッセージに複数の新たなコンテンツのコンテンツＩＤ、評価値、公開日時、関連コンテンツ情報、及びサイズ等の情報が含まれている場合、夫々のレプリカが保存されることになり、夫々の新たなコンテンツについて後述のステップＳ１６２の関連コンテンツ保持ノードへのコンテンツ保存依頼処理が行われることになる。
【０１００】
次いで、制御部２１は、保存されたコンテンツの関連コンテンツ情報を参照して、これに関連付けられた関連コンテンツがあるか否かを判断し（ステップＳ１６１）、関連コンテンツがない場合には（ステップＳ１６１：ＮＯ）、図６の処理に戻り、関連コンテンツがある場合には（ステップＳ１６１：ＹＥＳ）、ステップＳ１６２に進む。
【０１０１】
一方、ステップＳ１６３では、制御部２１は、上記保存依頼メッセージの送信元のコンテンツ提供サーバＳＡ又はコンテンツ保持ノードに対して、保存拒否メッセージとしての返信メッセージを送信する。
【０１０２】
ステップＳ１６２の関連コンテンツ保持ノードへのコンテンツ保存依頼処理においては、図８に示すように、制御部２１は、上記ステップＳ１５７で保存されたコンテンツに関連付けられた関連コンテンツのレプリカを保存しているコンテンツ保持ノード（以下、「関連コンテンツ保持ノード」という）のノード情報が記述された関連コンテンツ保持ノードリストがあるか否かを判別する（ステップＳ１６２１）。そして、関連コンテンツ保存ノードリストがある場合（既に作成していたか、或いは他のノードＮｎからレプリカと共に取得していた場合）には（ステップＳ１６２１：ＹＥＳ）、該関連コンテンツ保存ノードリストを記憶部２２から取得して（ステップＳ１６２２）、ステップＳ１６２５に進み、関連コンテンツ保存ノードリストがない場合には（ステップＳ１６２１：ＮＯ）、ステップＳ１６２３に進む。
【０１０３】
ステップＳ１６２３では、制御部２１は、関連コンテンツ保持ノードの検索処理を行う。かかる検索処理において、例えば、制御部２１は、上記ステップＳ１５７で保存されたコンテンツに関連付けられた関連コンテンツのコンテンツＩＤ及び自ノードのノード情報が含まれるコンテンツ所在問合せメッセージをルートノードに向けて送出する。これにより、コンテンツ所在問合せメッセージは上述したようにＤＨＴルーティングによってルートノードに到着し、ルートノードは、これに含まれるコンテンツＩＤに対応するインデックス情報をインデックスキャッシュから取得して、これを検索結果情報として、該コンテンツ所在問合せメッセージの送信元であるノードＮｎに対して返信する。かかるインデックス情報には、上記関連コンテンツのレプリカを保存している関連コンテンツ保持ノードのノード情報が記述されている。
【０１０４】
ここで、上記ステップＳ１５７で保存されたコンテンツに複数の関連コンテンツが関連付けられている場合、上述したように、各関連コンテンツの関連コンテンツ保持ノードを検索する方法と、何れか一の関連コンテンツ（例えば順位付けが最も高い１位の関連コンテンツ）の関連コンテンツ保持ノードを検索する方法とがあり、どちらの方法を採用するかはユーザが任意に設定可能になっている。なお、各関連コンテンツの関連コンテンツ保持ノードを検索する方法においては、各関連コンテンツのルートノードに対してコンテンツ所在問合せメッセージが送出され、各ルートノードから検索結果情報としてのインデックス情報が得られることになる。
【０１０５】
こうして、制御部２１は、ルートノードから返信されてきた検索結果情報としてのインデックス情報を取得すると、かかるインデックス情報に基づき関連コンテンツ保持ノードリストを作成する（ステップＳ１６２４）。かかる関連コンテンツ保持ノードリストには、インデックス情報に記述されている関連コンテンツ保持ノードのノード情報が記述（登録）され、対応する関連コンテンツのコンテンツＩＤが付与される。なお、複数の関連コンテンツのインデックス情報が得られた場合、夫々の関連コンテンツ毎に関連コンテンツ保持ノードリストが作成される。
【０１０６】
次いで、制御部２１は、上記ステップＳ１５７で保存されたコンテンツの保存依頼先となる関連コンテンツ保持ノードを、上記取得又は作成された関連コンテンツ保持ノードリストから例えばランダム又は登録番号順に１又は複数選定する（ステップＳ１６２５）。
【０１０７】
ここで、各関連コンテンツの関連コンテンツ保持ノードを検索する方法により、各関連コンテンツの関連コンテンツ保持ノードリストが作成された場合、例えば、夫々の関連コンテンツの関連コンテンツ保持ノードリストから例えば一つずつ関連コンテンツ保持ノードが選定される。
【０１０８】
或いは、この場合、関連コンテンツの関連コンテンツ保持ノードリストの双方にノード情報が記述されている関連コンテンツ保持ノードが選定される。例えば、関連コンテンツＡの関連コンテンツ保持ノードリストと、関連コンテンツＢの関連コンテンツ保持ノードリストと、関連コンテンツＣの関連コンテンツ保持ノードリストと、がある場合、全ての関連コンテンツ保持ノードリストに記述されている関連コンテンツ保持ノード（すなわち、関連コンテンツＡ，Ｂ，Ｃの夫々のレプリカを保存している関連コンテンツ保持ノード）が選定される。又は、何れか２つの関連コンテンツ保持ノードリストに記述されている関連コンテンツ保持ノードが選定される。
【０１０９】
そして、制御部２１は、上記選定した関連コンテンツ保持ノードのノード情報に基づき当該関連コンテンツ保持ノードとの接続を確立して、上記ステップＳ１５７で保存されたコンテンツのコンテンツＩＤ、評価値、公開日時、関連コンテンツ情報、及びサイズ等の情報を含む保存依頼メッセージを当該関連コンテンツ保持ノードに対して送信する（ステップＳ１６２６）。なお、ステップＳ１６２５にて複数の関連コンテンツ保持ノードが選定された場合、夫々の関連コンテンツ保持ノードに対して保存依頼メッセージが送信される。
【０１１０】
次いで、制御部２１は、上記選定した関連コンテンツ保持ノードのノード情報を関連コンテンツ保持ノードリストから削除する（ステップＳ１６２７）。これは、後の処理で関連コンテンツ保持ノードが重複して選定されるのを防ぐためである。
【０１１１】
次いで、制御部２１は、送信した保存依頼メッセージに対する返信メッセージを受信すると（ステップＳ１６２８：ＹＥＳ）、当該返信メッセージが保存許可メッセージであるか否かを判別する（ステップＳ１６２９）。
【０１１２】
当該返信メッセージが保存許可メッセージである場合（ステップＳ１６２９：ＹＥＳ）、制御部２１は、保存依頼に係る（つまり、上記ステップＳ１５７で保存された）コンテンツのレプリカを記憶部２２から取得し、当該レプリカを、返信メッセージの送信元の関連コンテンツ保持ノードに対して送信し（ステップＳ１６３０）、ステップＳ１６３１に進む。ここで、制御部２１は、当該保存依頼に係る関連コンテンツ保持ノードリストに記述された複数（例えば、１００）の関連コンテンツ保持ノードのノード情報のうちの一部（例えば、登録番号の若い順に４０）のノード情報を分割して、当該分割されたノード情報を含む関連コンテンツ保持ノードリストを上記レプリカと共に、返信メッセージの送信元の関連コンテンツ保持ノードに対して送信することが望ましい。これにより、当該レプリカを保存した関連コンテンツ保持ノードが、関連コンテンツ保持ノードの検索処理（ステップＳ１６２３）を行わなくてもよくなり、なおかつ、複数のノードＮｎ間において同じ（重複して）関連コンテンツ保持ノードを選定することを回避することができる。なお、複数の関連コンテンツの関連コンテンツ保持ノードリストがある場合、例えば、関連コンテンツ保持ノードリスト毎に、一部のノード情報が分割され、夫々分割されたノード情報を含む各関連コンテンツ保持ノードリストが上記レプリカと共に送信されることになる。
【０１１３】
一方、上記返信メッセージが保存許可メッセージでない場合（ステップＳ１６２９：ＮＯ）、つまり、保存拒否メッセージである場合、制御部２１は、当該コンテンツのレプリカの送信は行わずに、ステップＳ１６３２に進む。
【０１１４】
ステップＳ１６３１では、制御部２１は、保存依頼に係る（つまり、上記ステップＳ１５７で保存された）コンテンツのレプリカの評価値を更新（例えば１／２に減らす）し、ステップＳ１６３２に進む。
【０１１５】
ステップＳ１６３２では、制御部２１は、上記保存依頼メッセージに対する返信メッセージを返信してこない関連コンテンツ保持ノードがあるか否かを判別し、当該関連コンテンツ保持ノードがある場合には（ステップＳ１６３２：ＹＥＳ）、ステップＳ１６２８に戻り上記と同様の処理を行う。一方、上記保存依頼メッセージが送信された全ての関連コンテンツ保持ノードからの返信メッセージの返信があった場合には（ステップＳ１６３２：ＮＯ）、ステップＳ１６３３に進む。
【０１１６】
ステップＳ１６３３では、制御部２１は、関連コンテンツ保持リストにノード情報が未だ記述されているか否かを判別し、記述されていない場合には（ステップＳ１６３３：ＮＯ）、上記保存依頼に係るコンテンツへの関連コンテンツの関連付けを解除し（ステップＳ１６３４）、図７の処理に戻り、記述されている場合には（ステップＳ１６３３：ＹＥＳ）、関連付けの解除を行うことなく、図７の処理に戻る。なお、関連コンテンツ毎に関連コンテンツ保持ノードリストがある場合、夫々の関連コンテンツ保持ノードリスト毎に当該ステップＳ１６３３の処理が行われる。
【０１１７】
図６の処理に戻り、ステップＳ１６では、制御部２１は、保存依頼コンテンツリストを参照し、ここに登録された保存依頼開始日時が現在日時を経過したコンテンツがあるか否かを判別し、保存依頼開始日時が現在日時を経過したコンテンツがある場合には（ステップＳ１６：ＹＥＳ）、ステップＳ１７に進み、ない場合には（ステップＳ１６：ＮＯ）、ステップＳ１８に進む。
【０１１８】
ステップＳ１７では、制御部２１は、コンテンツ保存依頼処理（図９）を行う。このコンテンツ保存依頼処理において、図９に示すように、制御部２１は、先ず、コンテンツ情報リストを参照して、保存依頼開始日時が現在日時を経過したコンテンツの公開日時が、現在日時を経過しているか否かを判別する（ステップＳ１７１）。
【０１１９】
そして、コンテンツの公開日時が現在日時を経過していない場合には（ステップＳ１７１：ＮＯ）、制御部２１は、当該コンテンツを保存依頼対象とし、ステップＳ１７２に進み、経過している場合には（ステップＳ１７１：ＹＥＳ）、図６の処理に戻る。
【０１２０】
ステップＳ１７２では、制御部２１は、保存依頼コンテンツリストに登録された当該コンテンツの保存依頼開始日時を更新する。例えば、制御部２１は、現在日時から当該コンテンツの公開日時までの時間を当該コンテンツの評価値で徐算し、当該除算して得た値を現在日時に加算して得た次の保存依頼開始日時により、保存依頼コンテンツリストに登録されている保存依頼開始日時を更新（上書き登録）する。
【０１２１】
次いで、制御部２１は、保存依頼に係るコンテンツの関連コンテンツ情報を参照して、これに関連付けられた関連コンテンツがあるか否かを判断し（ステップＳ１７３）、関連コンテンツがある場合には（ステップＳ１７３：ＹＥＳ）、ステップＳ１７４に進み、関連コンテンツがない場合には（ステップＳ１７３：ＮＯ）、ステップＳ１７５に進む。
【０１２２】
ステップＳ１７４の関連コンテンツ保持ノードへのコンテンツ保存依頼処理においては、上述した図８の処理が行われる。なお、保存依頼開始日時が現在日時を経過したコンテンツが複数ある場合、夫々のコンテンツについて後述のステップＳ１７４の関連コンテンツ保持ノードへのコンテンツ保存依頼処理が行われる。
【０１２３】
ここで、もし、当該コンテンツに関連付けられた関連コンテンツのうち何れか一の関連コンテンツ（例えば順位付けが最も高い１位の関連コンテンツ）の関連コンテンツ保持ノードリストのみが作成されており、かつ、当該関連コンテンツ保持ノードリストに登録されたノード情報が無くなり当該関連コンテンツの関連付けが解除されていた場合には、上述したステップＳ１６２３及びＳ１６２４の処理が行われ、次の関連コンテンツ（例えば順位付けが最も高い２位の関連コンテンツ）の関連コンテンツ保持ノードリストが作成されることになる。なお、図８のＳ１６２５〜Ｓ１６３４の処理は、上述した通りであるので、説明を省略する。
【０１２４】
一方、図９のステップＳ１７５では、制御部２１は、保存依頼先となる他のノードＮｎを例えばランダムに一つ選定し（過去に選定したノードＮｎを除く）、当該ノードＮｎのノード情報を取得する。例えば、インデックスキャッシュ領域にノード情報が記憶されているノードＮｎの中から、保存依頼先となるノードＮｎが選定される。或いは、過去に別のコンテンツのレプリカを提供してきたコンテンツ保持ノードのノード情報が記憶されていれば（ログ情報に残っていれば）、その中から保存依頼先となるノードＮｎが選定される。
【０１２５】
次いで、制御部２１は、選定したノードＮｎのノード情報に基づき当該ノードＮｎとの接続を確立して、上記保存依頼に係るコンテンツのコンテンツＩＤ、評価値、公開日時、関連コンテンツ情報、及びサイズ等の情報を含む保存依頼メッセージを当該ノードＮｎに対して送信する（ステップＳ１７６）。
【０１２６】
次いで、制御部２１は、送信した保存依頼メッセージに対する返信メッセージを受信すると（ステップＳ１７７：ＹＥＳ）、当該返信メッセージが保存許可メッセージであるか否かを判別する（ステップＳ１７８）。
【０１２７】
当該返信メッセージが保存許可メッセージである場合（ステップＳ１７８：ＹＥＳ）、制御部２１は、保存依頼に係るコンテンツのレプリカを記憶部２２から取得し、当該レプリカを、返信メッセージの送信元のノードＮｎに対して送信し（ステップＳ１７９）、ステップＳ１８０に進む。一方、上記返信メッセージが保存許可メッセージでない場合（ステップＳ１７８：ＮＯ）、つまり、保存拒否メッセージである場合、制御部２１は、当該コンテンツのレプリカの送信は行わずに、ステップＳ１７５に戻り、別のノードＮｎを選定し、上記と同様の処理を行う（例えば、一定数のノートＮｎから拒否された場合、図６の処理に戻る）。
【０１２８】
ステップＳ１８０では、制御部２１は、コンテンツ情報リストに登録されている当該保存依頼に係るコンテンツの評価値を更新（例えば１／２に減らす）し、図６の処理に戻る。
【０１２９】
次に、図６のステップＳ１８におけるその他の処理では、制御部２１は、他のメッセージ（例えば、パブリッシュメッセージ、コンテンツ所在問合せメッセージ、コンテンツ送信要求メッセージ等）を受信したときの受信処理、ユーザ指示によるコンテンツ再生処理、ユーザ指示によるコンテンツ取得処理等が行われるが、これらの処理は公知であるの詳細説明は省略する。
【０１３０】
なお、図６の処理においては、返信メッセージが保存許可メッセージである場合に保存依頼に係るコンテンツのレプリカが、返信メッセージの送信元のノードＮｎに対して送信されるように構成したが、当該レプリカは保存依頼メッセージと共に当該ノードＮｎに対して送信されるように構成しても良い。
【０１３１】
また、上記処理において、コンテンツの公開日時が現在日時を経過している場合には（ステップＳ１７１：ＹＥＳ）、コンテンツ保存依頼メッセージを他のノードＮｎに送信しないように構成したが、コンテンツの公開日時が現在日時の経過後にも、所定時間間隔で上記ステップＳ１７３〜ステップＳ１８０の処理を行うように構成しても良い。
【０１３２】
以上説明したように、上記実施形態によれば、ノードＮｎは、コンテンツ提供サーバＳＡ又はコンテンツ保持ノードから、新たなコンテンツのレプリカの保存依頼に係るコンテンツのレプリカをダウンロードして保存すると、当該保存依頼に係るコンテンツに関連付けられている関連コンテンツがあるか否かを判断し、当該関連コンテンツがあると判断した場合には、当該関連コンテンツのレプリカを保存している関連コンテンツ保持ノードを検索する。そして、当該ノードＮｎは、検索された関連コンテンツ保持ノードに対して、上記保存依頼に係るコンテンツのレプリカの保存依頼を示すコンテンツ保存依頼メッセージを送信するように構成したので、新たなコンテンツを利用（例えば視聴）する可能性の高いユーザの関連コンテンツ保持ノードに当該新たなコンテンツのレプリカを事前に保存（プレキャッシュ）しておくことができ、当該レプリカを保存しているコンテンツ保持ノードへのアクセス集中を低減し、ダウンロードにより通信回線が混雑することを防止することができる（ネットワークが比較的混雑していない時間帯に送信しておくことができる）。また、自ノードのレスポンスを向上することができる。
【０１３３】
また、上記保存依頼に係る新たなコンテンツに複数の関連コンテンツが関連付けられている場合、ノードＮｎは、関連コンテンツ毎にそのレプリカを保存している関連コンテンツ保持ノードを検索し、検索された各関連コンテンツ保持ノードに対して上記コンテンツ保存依頼メッセージを送信するように構成すれば、新たなコンテンツのレプリカを事前に保存させるノードＮｎの数を増やすことができる。
【０１３４】
また、上記保存依頼に係る新たなコンテンツに複数の関連コンテンツが関連付けられている場合、ノードＮｎは、夫々の関連コンテンツに予め付与されたランク情報に基づいて、何れか一の関連コンテンツ（例えば順位付けが最も高い１位の関連コンテンツ）を優先して選択し、当該選択した関連コンテンツのレプリカを保存している関連コンテンツ保持ノードを検索し、検索された関連コンテンツ保持ノードに対して上記コンテンツ保存依頼メッセージを送信するように構成すれば、新たなコンテンツを利用する可能性が高いノードＮｎに優先的にそのレプリカを保存させることができる。
【０１３５】
また、上記保存依頼に係る新たなコンテンツに複数の関連コンテンツが関連付けられている場合、ノードＮｎは、関連コンテンツ毎にそのレプリカを保存している関連コンテンツ保持ノードを複数検索し、当該検索された複数の関連コンテンツ保持ノードのうち、２以上の関連コンテンツ（例えば、全ての関連コンテンツ）のレプリカを保存している関連コンテンツ保持ノードを選択し、選択された関連コンテンツ保持ノードに対して上記コンテンツ保存依頼メッセージを送信するように構成すれば、新たなコンテンツを利用する可能性が高いノードＮｎに優先的にそのレプリカを保存させることができる。
【０１３６】
なお、上記実施形態において、例えば同時期に保存依頼される新たなコンテンツが２以上あり（例えば公開日時が同じ又は近いコンテンツ）、かつ、夫々の新たなコンテンツに同一の関連コンテンツが関連付けられている場合、当該関連コンテンツのレプリカを保存している関連コンテンツ保持ノードに、上記２以上の新たなコンテンツの各レプリカが保存されることになり、コンテンツ分散の観点からも、コンテンツ保存資源（例えば、ハードディスク等）の観点からも好ましくない。したがって、このような場合、コンテンツ提供サーバＳＡ又はノードＮｎは、新たなコンテンツ間で関連コンテンツが重複しないように重複防止処理を行うことが望ましい。例えば、コンテンツ提供サーバＳＡ又はノードＮｎは、保存依頼メッセージを送信する前に（例えば、上記ステップＳ３の直前、上記ステップＳ１６２の直前、上記ステップＳ１７４の直前にて）、同一の関連コンテンツが関連付けられた新たなコンテンツのうち何れかの新たなコンテンツから同一の関連コンテンツの関連付けを解除（無視することも含む）する処理を行う。これにより、複数の新たなコンテンツのレプリカをより効率良く分散させコンテンツ保存領域の保存容量を節約することができる。
【０１３７】
図１０は、各新たなコンテンツへの関連コンテンツの関連付けの一例を示す概念図である。図１０の例では、各新たなコンテンツＷ，Ｘ，Ｙ，Ｚに関連付けられた各関連コンテンツには上述した順位付けを示すランク情報が付与されており、更に、各新たなコンテンツＷ，Ｘ，Ｙ，Ｚにも新たなコンテンツの優先順位を示す優先順位情報が付与されている。
【０１３８】
この場合、新たなコンテンツＷ，Ｘ，Ｙに夫々には、同じ関連コンテンツＡが関連付けられているので、コンテンツ提供サーバＳＡ又はノードＮｎは、優先順位が高いコンテンツＷへの関連コンテンツＡの関連付けを維持し、コンテンツＸ，Ｙへの関連コンテンツＡの関連付けを解除する。また、新たなコンテンツＸ，Ｙに夫々には、同じ関連コンテンツＥが関連付けられているので、コンテンツ提供サーバＳＡ又はノードＮｎは、優先順位が高いコンテンツＸへの関連コンテンツＥの関連付けを維持し、コンテンツＹへの関連コンテンツＥの関連付けを解除する。また、新たなコンテンツＷ，Ｚに夫々には、同じ関連コンテンツＢが関連付けられているが、コンテンツＷに関連付けられた関連コンテンツＢはランク情報が２位であり、コンテンツＺに関連付けられた関連コンテンツＢはランク情報が１位であるので、コンテンツ提供サーバＳＡ又はノードＮｎは、優先順位情報よりもランク情報を優先し、コンテンツＺへの関連コンテンツＢの関連付けを維持し、コンテンツＷへの関連コンテンツＢの関連付けを解除する。
【０１３９】
このような処理により、例えば新たなコンテンツＷは、関連コンテンツＡのレプリカを保存している関連コンテンツ保持ノードと、関連コンテンツＣのレプリカを保存している関連コンテンツ保持ノードと、関連コンテンツＤのレプリカを保存している関連コンテンツ保持ノードと、に事前に保存（プレキャッシュ）される。また、新たなコンテンツＸは、関連コンテンツＥのレプリカを保存している関連コンテンツ保持ノードと、関連コンテンツＦのレプリカを保存している関連コンテンツ保持ノードと、に事前に保存（プレキャッシュ）される。また、新たなコンテンツＺは、関連コンテンツＢのレプリカを保存している関連コンテンツ保持ノードと、関連コンテンツＧのレプリカを保存している関連コンテンツ保持ノードと、に事前に保存（プレキャッシュ）される。
【０１４０】
ただし、この場合、新たなコンテンツＹは、どの関連コンテンツ保持ノードにも保存されなくなってしまうので、これを回避するために、関連付けられている関連コンテンツの数が多い新たなコンテンツから同一の関連コンテンツの関連付けを解除するように構成すると良い。例えば、新たなコンテンツＷ，Ｘ，Ｙに夫々には、同じ関連コンテンツＡが関連付けられているので、最も関連コンテンツの数が少ないコンテンツＹへの関連コンテンツＡの関連付けが維持され、関連コンテンツの数がコンテンツＹより多いコンテンツＷ，Ｘへの関連コンテンツＡの関連付けが解除される。これにより、複数の新たなコンテンツのレプリカをより効率良く分散させることができる。
【０１４１】
また、上記実施形態において、新たなコンテンツのレプリカの全データをダウンロードするのではなく、当該レプリカの冒頭の一部のデータみをダウンロードするように構成しても良い。この場合、冒頭部分のデータの再生と平行して、残りの部分データ（冒頭以外のデータ）をダウンロードすれば良く、これにより、コンテンツ保存領域の保存容量を節約し、プレキャッシュするコンテンツ数を増やすことができ、ひいては、レプポンスの向上を図ることができる。
【０１４２】
なお、上記実施形態におけるコンテンツ分散保存システムＳは、ＤＨＴを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。
【図面の簡単な説明】
【０１４３】
【図１】本実施形態に係るコンテンツ分散保存システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】コンテンツ提供サーバＳＡの概要構成例を示す図である。
【図３】ノードＮｎの概要構成例を示す図である。
【図４】新たなコンテンツが保存される様子を示す図である。
【図５】コンテンツ提供サーバＳＡの制御部１１における処理を示すフローチャートである。
【図６】ノードＮｎの制御部２１における処理を示すフローチャートである。
【図７】図６のステップＳ１５におけるコンテンツ保存処理の詳細を示すフローチャートである。
【図８】図７のステップＳ１６２又は図９におけるステップＳ１７４における関連コンテンツ保持ノードへのコンテンツ保存処理の詳細を示すフローチャートである。
【図９】図６のステップＳ１７におけるコンテンツ保存依頼処理の詳細を示すフローチャートである。
【図１０】各新たなコンテンツへの関連コンテンツの関連付けの一例を示す概念図である。
【符号の説明】
【０１４４】
８  ネットワーク
９  オーバーレイネットワーク
１１  制御部
１２  記憶部
１３  表示部
１４  入力部
１５  通信部
１６  バス
２１  制御部
２２  記憶部
２３  バッファメモリ
２４  デコーダ部
２５  映像処理部
２６  表示部
２７  音声処理部
２８  スピーカ
２９  通信部
３０  入力部
３１  バス
Ｎｎ  ノード
ＳＡ  コンテンツ提供サーバ
Ｓ  コンテンツ分散保存システム
【図１】
2010113573.tif 000003
【図２】
2010113573.tif 000004
【図３】
2010113573.tif 000005
【図４】
2010113573.tif 000006
【図５】
2010113573.tif 000007
【図６】
2010113573.tif 000008
【図７】
2010113573.tif 000009
【図８】
2010113573.tif 000010
【図９】
2010113573.tif 000011
【図１０】
2010113573.tif 000012