(57)【要約】 【課題】同一のコンテンツのレプリカを保存するノード装置間における当該コンテンツの評価値の偏りを効率良く無くし、適切な数のレプリカを当該システム内に確保することを可能としたコンテンツ分散保存システム、評価値書換方法、管理装置、ノード装置管理処理プログラム、及びノード処理プログラムを提供する。【解決手段】特定のコンテンツの複製データを保存している複数のノード装置から当該コンテンツの評価値を示す評価値情報を受信し、各評価値情報に示される評価値の合計値を算出し、当該合計値を、前記評価値情報を返信したノード装置の数分に分割する演算であって、当該分割された各分割値が所定範囲内に収まるように平準化計算を行い、前記分割された各分割値を、前記評価値情報を返信した各ノード装置に振り分け、前記振り分けられた分割値を示し、前記ノード装置において管理されている評価値を当該分割値で書き換える要求を示す評価値書換要求情報を、前記評価値情報を返信した各ノード装置に対して送信する。【選択図】図４
2009181430.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）、或いは、ＴＶ受信機等を適用可能である。
【００４７】
また、記憶部１２には、コンテンツ分散保存システムＳに参加する際のアクセス先となるコンタクトノード及びコンテンツ提供サーバＳＡのＩＰアドレス及びポート番号等が記憶されている。更に、記憶部１２には、ＨＤに保存（記録）しているコンテンツのレプリカに関する情報（例えば、コンテンツＩＤ、コンテンツ名、及び評価値等）を登録するための保存コンテンツ管理テーブルが記憶されている。
【００４８】
このような構成において、制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラム（本発明の管理処理プログラム及びノード処理プログラムを含む）を読み出して実行することにより、全体を統括制御し、コンテンツ分散保存システムＳへの参加により上述したユーザノード、中継ノード、ルートノード、キャッシュノード、及びコンテンツ保持ノードの少なくとも何れか一つのノードとしての処理を行うようになっている。なお、上記ノード処理プログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【００４９】
そして、ルートノードとしての特徴的な処理を行う制御部１１は、本発明における評価値要求情報送信手段、評価値情報受信手段、合計値算出手段、演算手段、分割値振分手段、及び評価値書換要求情報送信手段等として機能するようになっている。
【００５０】
より具体的には、ルートノードの制御部１１は、自身の管理対象である特定のコンテンツのレプリカを保存している複数のコンテンツ保持ノードに対して、当該コンテンツの評価値の要求を示す評価値集計要求メッセージ（評価値要求情報の一例）を送信し、当該評価値の要求に対して、何れかのコンテンツ保持ノードから返信されてきた評価値を示す評価値集計返答メッセージ（評価値情報の一例）を受信する。
【００５１】
ここで、評価値集計要求メッセージの送信タイミングは任意であり、定期、不定期の何れであっても良い。また、ルートノードは、上述したパブリッシュメッセージを受信したときに、当該パブリッシュメッセージに示されるコンテンツのレプリカを保存している全てのコンテンツ保持ノードに対して上記評価値集計要求メッセージを送信するように構成すれば望ましい。
【００５２】
そして、当該制御部１１は、受信された各評価値集計返答メッセージに示される評価値の合計値を算出し、当該算出された合計値を、上記評価値集計返答メッセージを返信したコンテンツ保持ノードの数分に分割する演算を行うようになっている。かかる演算では、当該分割された各分割値が所定範囲内に収まるように平準化計算が行われる。例えば、各分割値の差がプラスマイナス５％以内に収まるように平準化される。最も望ましい平準化計算例としては、例えば、上記算出された合計値を、評価値集計返答メッセージを返信したコンテンツ保持ノードの数で割り、上記分割値としての平均値を算出することが挙げられる。なお、上記平準化計算としてその他にも、例えば統計的な計算手法を用いても良い。例えば、各評価値の標準偏差σを求め、各分割値が上記所定範囲をプラスマイナスασ（αは定数）の範囲にすることなどが考えられる。
【００５３】
当該制御部１１は、このように分割された各分割値を、評価値集計返答メッセージを返信した各コンテンツ保持ノードに振り分ける。当該振り分けでは、例えば、各分割値が、各コンテンツ保持ノードのノード情報に対して対応付けられて記憶されることになる。なお、分割値が平均値でない場合、例えば、返信された評価値に応じた分割値が各コンテンツ保持ノードに振り分けられることになる。つまり、大きい評価値を返信したコンテンツ保持ノードほど、大きい分割値が割り当てられることになる。
【００５４】
そして、当該制御部１１は、上記振り分けられた分割値を示し、各コンテンツ保持ノードにおいて管理されている評価値を当該分割値で書き換える要求を示す評価値書換要求メッセージを、上記評価値集計返答メッセージを返信した各コンテンツ保持ノードに送信するようになっている。これにより、当該評価値書換要求メッセージを受信したコンテンツ保持ノードでは、保存コンテンツ管理テーブルに登録されている評価値を、受信された評価値書換要求メッセージに示される分割値で書き換えることになる。
［３．コンテンツ分散保存システムの動作］
次に、コンテンツ分散保存システムＳの動作について説明する。
【００５５】
（３−１．ノードＮｎの処理）
先ず、図３乃至図８を参照して、ノードＮｎの処理について説明する。
【００５６】
図３は、通常のノードＮｎの制御部１１におけるメイン処理の一例を示すフローチャートである。また、図４は、通常のノードＮｎの制御部１１における評価値集計処理の一例を示すフローチャートである。また、図５は、図３のステップＳ９における各種メッセージ受信処理の詳細を示すフローチャートである。また、図６（Ａ）は、図５のステップＳ９２におけるコンテンツ検索メッセージ受信処理の詳細を示すフローチャートであり、図６（Ｂ）は、図５のステップＳ９６におけるコンテンツ要求メッセージ受信処理の詳細を示すフローチャートである。また、図７（Ａ）は、図５のステップＳ１０４における評価値加算／減算メッセージ受信処理の詳細を示すフローチャートであり、図７（Ｂ）は、図５のステップＳ１０６における評価値要求メッセージ受信処理の詳細を示すフローチャートである。また、図８（Ａ）は、図５のステップＳ１０８における評価値集計要求メッセージ受信処理の詳細を示すフローチャートであり、図８（Ｂ）は、図５のステップＳ１１０における評価値集計返答メッセージ受信処理の詳細を示すフローチャートである。
【００５７】
なお、図３に示す処理は、あるノードＮｎにおいて電源オンがなされ、参加処理（コンタクトノードへの参加メッセージ送信）が実行され、コンテンツ分散保存システムＳへの参加が行われることにより開始される。
【００５８】
図３のステップＳ１では、制御部１１は、先ず、当該参加時に自ノードが保存しているレプリカと同じコンテンツのレプリカを保存している他のコンテンツ保持ノードを検索してそこから評価値をもらうために、当該コンテンツのコンテンツＩＤ等を含む評価値要求メッセージをルートノードに向けて送出する。これにより、当該制御部１１は、評価値加算メッセージを他のコンテンツ保持ノードから受信して、上記保存されているレプリカに係るコンテンツの評価値として新たに保存コンテンツ管理テーブルに登録することになる（後述するステップＳ１０４２）。よって、当該ノードＮｎは、コンテンツ分散保存システムＳからの脱退時に後述するステップＳ３で、他のコンテンツ保持ノードに評価値を与えても、当該システムＳへの再参加時に、自己が保存しているレプリカに係るコンテンツの評価値を容易に取得することができる。
【００５９】
なお、当該ステップＳ１において、上記評価値要求メッセージをルートノードに向けて送出することで、制御部１１は、当該ルートノードから対象のコンテンツのレプリカを保存しているコンテンツ保持ノードのＩＰアドレス等を取得し、その後、当該コンテンツ保持ノードに接続して上記コンテンツの評価値を取得するように構成しても良い。
【００６０】
次いで、制御部１１は、電源オフ（シャットダウン）指令があったか否かを判別し、電源オフ指令があった場合には（ステップＳ２：ＹＥＳ）、ステップＳ３に進み、電源オフ指令がない場合には（ステップＳ２：ＮＯ）、ステップＳ４に進む。
【００６１】
ステップＳ３では、制御部１１は、コンテンツ分散保存システムＳから脱退するに当たって、自ノードが保存しているレプリカに係るコンテンツの評価値及びコンテンツＩＤを含む評価値加算メッセージを当該コンテンツのルートノードに向けて送出する。これにより、評価値加算メッセージを受信したコンテンツ保持ノードにおいて当該評価値加算メッセージに示されるコンテンツの評価値が同じコンテンツの評価値に対して加算されることになる（後述するステップＳ１０４２）。このとき、自己が保存しているレプリカを削除しても良いし、或いは削除せずに残しておいても良い。また、他のコンテンツ保持ノードに与えるコンテンツの評価値は、自己の保存コンテンツ管理テーブルから削除される（削除せずに残しておいても良い）。
【００６２】
なお、ステップＳ３において、制御部１１は、自ノードが保存しているレプリカと同じコンテンツのレプリカを保存している他のコンテント保持ノードを検索するために、コンテンツ検索メッセージをルートノードに向けて送出し、当該ルートノードから当該コンテント保持ノードのノード情報を取得して、上記評価値加算メッセージを、上記検索されたコンテンツ保持ノードに対して送信するように構成してもよい。この場合、コンテンツ分散保存システムＳから脱退するコンテンツ保持ノードは、当該評価値加算メッセージを受信した他のコンテンツ保持ノードにおいて上記評価値の加算が確実に実行されることを確認した後、コンテンツ分散保存システムＳからの脱退することができる。
【００６３】
次いで、ステップＳ４では、制御部１１は、ユーザから入力部２０を介してコンテンツのリクエストがあったか否かを判別し、当該リクエストがあった場合には（ステップＳ４：ＹＥＳ）、ステップＳ５に進み、当該リクエストがない場合には（ステップＳ４：ＮＯ）、ステップＳ６に進む。
【００６４】
ステップＳ５では、制御部１１は、リクエストされたコンテンツのコンテンツＩＤ等を含むコンテンツ検索メッセージをルートノードに向けて送出する。
【００６５】
ステップＳ６では、制御部１１は、他のノードＮｎからメッセージを受信したか否かを判断し、当該メッセージを受信した場合には（ステップＳ６：ＹＥＳ）、ステップＳ７に進み、当該メッセージを受信していない場合には（ステップＳ６：ＮＯ）、ステップＳ２に戻る。
【００６６】
ステップＳ７では、制御部１１は、上記受信したメッセージの宛先のノード情報に含まれるノードＩＤ（又はコンテンツＩＤ）のルートノードは自ノードであるか、つまり、当該ノードＩＤ（又はコンテンツＩＤ）と最も近いノードＩＤを有するノードＮｎが自ノードであるか否かを自身のルーティングテーブルから判別する。そして、当該ルートノードが自ノードでない場合には（ステップＳ７：ＮＯ）、制御部１１は、メッセージの宛先のノード情報に含まれるノードＩＤ（又はコンテンツＩＤ）に最も近いノードＮｎを自身のルーティングテーブルから特定し、当該特定したノードＮｎに対して上記受信したメッセージを送信（転送）し（ステップＳ８）、ステップＳ２に戻る。
【００６７】
一方、当該ルートノードが自ノードである（つまり、自ノード宛てのメッセージである）場合には（ステップＳ７：ＹＥＳ）、制御部１１は、各種メッセージ受信処理を行う（ステップＳ９）。各種メッセージ受信処理の詳細については後述する。
【００６８】
次に、図４に示す評価値集計処理は、後述するステップＳ１０１でパブリッシュメッセージが受信された際に実行されても良いし、定期的に実行されても良い。
【００６９】
図４に示すステップＳ１１では、制御部１１は、自ノードはコンテンツＸのルートノードであるか否かを判別し、コンテンツＸ（複数のコンテンツがあるうちの何れかのコンテンツを指す）のルートノードである場合には（ステップＳ１１：ＹＥＳ）、ステップＳ１２に進み、コンテンツＸのルートノードでない場合には（ステップＳ１１：ＮＯ）、当該処理を終了する。ここで、当該処理が、定期的に実行される場合、当該ノードＮｎはコンテンツＸのルートノードであるかどうかが分かっているので、ステップＳ１１で判別を行うことなくステップＳ１２に進むことができる。一方、当該処理が、パブリッシュメッセージが受信された際に実行される場合には、パブリッシュメッセージに示されたコンテンツがコンテンツＸであるか否かが、例えばコンテンツ名やコンテンツＩＤで判別されることになる。
【００７０】
ステップＳ１２では、制御部１１は、コンテンツＸの評価値の合計値を格納するバッファＶｘ及びコンテンツＸのレプリカを保存するコンテンツ保持ノード数を格納するバッファＮｘを作成し、夫々“０”を記憶する。
【００７１】
次いで、制御部１１は、コンテンツＸのレプリカを保存するコンテンツ保持ノードのノード情報をインデックスキャッシュから取得し、当該ノード情報にしたがって夫々のコンテンツ保持ノードにアクセスして評価値集計要求メッセージを送信し（ステップＳ１３）、一定の待機時間、評価値集計返答メッセージの返信を待機する（ステップＳ１４）。かかる待機時間中に、後述するステップＳ１０９で評価値集計返答メッセージを受信した場合には、ステップＳ１１０で評価値集計返答メッセージ受信処理が行われることになる。なお、評価値集計返答メッセージ受信処理については後述する。
【００７２】
そして、上記待機時間経過後、制御部１１は、上述した平準化計算を行い、例えば、評価値の平均値を算出（平均値＝バッファＶｘに格納された値／バッファＮｘに格納された値）し、算出された平均値を、評価値集計返答メッセージを返信した各コンテンツ保持ノードに振り分ける（ステップＳ１５）。
【００７３】
次いで、制御部１１は、評価値集計返答メッセージを返信した各コンテンツ保持ノードに対して、算出された評価値の平均値を示し当該平均値で評価値を書き換える要求を示す評価値書換要求メッセージを送信する（ステップＳ１６）。
【００７４】
次いで、制御部１１は、評価値集計用バッファＶｘ，Ｎｘを削除し（ステップＳ１７）、当該処理を終了する。
【００７５】
次に、上記ステップＳ９における各種メッセージ受信処理では、図５に示すように、先ず、制御部１１は、上記受信されたメッセージがコンテンツ検索メッセージであるか否かを判別する（ステップＳ９１）。そして、上記受信されたメッセージがコンテンツ検索メッセージである場合には（ステップＳ９１：ＹＥＳ）、ステップＳ９２に進み、コンテンツ検索メッセージでない場合には（ステップＳ９１：ＮＯ）、ステップＳ９３に進む。
【００７６】
ステップＳ９２では、コンテンツ検索メッセージ受信処理が行われる。当該コンテンツ検索メッセージ受信処理においては、図６（Ａ）に示すように、制御部１１は、当該コンテンツ検索メッセージに含まれるコンテンツＩＤに対応するレプリカを保存しているコンテンツ保持ノードに係るインデックス情報を登録しているか否かをインデックスキャッシュから判別する（ステップＳ９２１）。
【００７７】
そして、制御部１１は、当該インデックス情報が登録されている場合には（ステップＳ９２１：ＹＥＳ）、当該インデックス情報を取得してステップＳ９２２に進み、当該インデックス情報が登録されていない場合には（ステップＳ９２１：ＮＯ）、ステップＳ９２３に進む。
【００７８】
ステップＳ９２２では、制御部１１は、取得したインデックス情報によりコンテンツ保持ノードを特定し、当該コンテンツ保持ノードに対して上記コンテンツ検索メッセージを送信（転送）してステップＳ９２３に進む。
【００７９】
ステップＳ９２３では、制御部１１は、上記コンテンツ検索メッセージに含まれるコンテンツＩＤに対応するレプリカが自ノードにおける記憶部１２に保存されているか否かを判別し、保存されている場合（この場合、コンテンツ保持ノードということになる）には（ステップＳ９２３：ＹＥＳ）、ステップＳ９２４に進み、保存されていない場合には（ステップＳ９２３：ＮＯ）、図５の処理に戻る。
【００８０】
ステップＳ９２４では、制御部１１は、上記コンテンツ検索メッセージに含まれる送信（リクエスト）元のノード情報（例えば、ノードＩＤ、ＩＰアドレス及びポート番号等）に対応するノードＮｎ（ユーザノード）に対してコンテンツ検索返答メッセージを送信し、図５の処理に戻る。
【００８１】
図５のステップＳ９３では、制御部１１は、上記受信されたメッセージがコンテンツ検索返答メッセージであるか否かを判別し、上記受信されたメッセージがコンテンツ検索返答メッセージである場合には（ステップＳ９３：ＹＥＳ）、ステップＳ９４に進み、コンテンツ検索返答メッセージでない場合には（ステップＳ９３：ＮＯ）、ステップＳ９５に進む。
【００８２】
ステップＳ９４では、制御部１１は、コンテンツ検索返答メッセージに含まれる送信元のノード情報に対応するコンテンツ保持ノードに対してコンテンツ要求メッセージを送信し、図３の処理に戻る。
【００８３】
ステップＳ９５では、制御部１１は、上記受信されたメッセージがコンテンツ要求メッセージであるか否かを判別し、上記受信されたメッセージがコンテンツ要求メッセージである場合には（ステップＳ９５：ＹＥＳ）、ステップＳ９６に進み、コンテンツ要求メッセージでない場合には（ステップＳ９５：ＮＯ）、ステップＳ９７に進む。
【００８４】
ステップＳ９６では、コンテンツ要求メッセージ受信処理が行われる。当該コンテンツ要求メッセージ受信処理においては、図６（Ｂ）に示すように、制御部１１は、現在、コンテンツ要求に係るレプリカを配信可能であるか否かを判別し（ステップＳ９６１）、配信可能である場合には（ステップＳ９６１：ＹＥＳ）、ステップＳ９６２に進み、配信可能でない場合には（ステップＳ９６１：ＮＯ）、ステップＳ９６４に進む。
【００８５】
ステップＳ９６２では、制御部１１は、上記コンテンツ要求メッセージに含まれる送信元のノード情報に対応するユーザノードに対して、当該要求に係るレプリカのファイルと共にコンテンツ送信メッセージを送信する。
【００８６】
次いで、制御部１１は、当該送信したレプリカに係るコンテンツの評価値を例えば半分に減算して（保存コンテンツ管理テーブルを更新）、減算した分の評価値を与えるための評価値加算メッセージを上記ユーザノードに対して送信し（ステップＳ９６３）、図５の処理に戻る。
【００８７】
ステップＳ９６４では、制御部１１は、上記コンテンツ要求メッセージに含まれる送信元のノード情報に対応するユーザノードに対して、コンテンツ送信不可メッセージを送信し、図５の処理に戻る。
【００８８】
図５のステップＳ９７では、制御部１１は、上記受信されたメッセージがコンテンツ送信メッセージであるか否かを判別し、上記受信されたメッセージがコンテンツ送信メッセージである場合には（ステップＳ９７：ＹＥＳ）、ステップＳ９８に進み、コンテンツ送信メッセージでない場合には（ステップＳ９７：ＮＯ）、ステップＳ９９に進む。
【００８９】
ステップＳ９８では、制御部１１は、コンテンツ送信メッセージと共に受信されたレプリカに係るコンテンツの評価値（当該コンテンツ送信メッセージとほぼ同時期に受信された評価値加算メッセージに示された評価値であって後述するステップＳ１０４２で保存コンテンツ管理テーブルに登録された評価値）と、既に保存されているレプリカに係るコンテンツの評価値とを比較（複数保存されている場合、夫々のコンテンツの評価値と比較）する。そして、当該制御部１１は、当該比較結果、当該コンテンツ送信メッセージと共に受信されたレプリカに係るコンテンツの評価値が最も低くなければ、当該レプリカを記憶部１１に記憶保存し、これが完了すると、当該レプリカに対応するコンテンツＩＤ等を含むパブリッシュメッセージをルートノードに向けて送出し、図３の処理に戻る。
【００９０】
ステップＳ９９では、制御部１１は、上記受信されたメッセージがコンテンツ送信不可メッセージであるか否かを判別し、上記受信されたメッセージがコンテンツ送信不可メッセージである場合には（ステップＳ９９：ＹＥＳ）、ステップＳ１００に進み、コンテンツ送信不可メッセージでない場合には（ステップＳ９９：ＮＯ）、ステップＳ１０１に進む。
【００９１】
ステップＳ１００では、制御部１１は、全てのコンテンツを管理しているコンテンツ提供サーバＳＡに対してコンテンツ要求メッセージを送信し、図３の処理に戻る。
【００９２】
ステップＳ１０１では、制御部１１は、上記受信されたメッセージがパブリッシュメッセージであるか否かを判別し、上記受信されたメッセージがパブリッシュメッセージである場合には（ステップＳ１０１：ＹＥＳ）、ステップＳ１０２に進み、パブリッシュメッセージでない場合には（ステップＳ１０１：ＮＯ）、ステップＳ１０３に進む。
【００９３】
ステップＳ１０２では、制御部１１は、受信されたパブリッシュメッセージに含まれるコンテンツＩＤ、及び送信元のノード情報を含むインデックス情報を新規登録（インデックスキャッシュ領域に記憶）し、図３の処理に戻る。なお、制御部１１は、インデックス情報を新規登録した後、上述した図４に示す評価値集計処理を行うことが望ましい。
【００９４】
ステップＳ１０３では、制御部１１は、上記受信されたメッセージが評価値加算メッセージ又は評価値減算メッセージであるか否かを判別し、上記受信されたメッセージが評価値加算メッセージ又は評価値減算メッセージである場合には（ステップＳ１０３：ＹＥＳ）、ステップＳ１０４に進み、評価値加算メッセージでも評価値減算メッセージでもない場合には（ステップＳ１０３：ＮＯ）、ステップＳ１０５に進む。
【００９５】
なお、評価値減算メッセージは、コンテンツ分散保存システムＳにおいて、あるコンテンツについて算出された人気度が低下してきたときに、そのコンテンツの評価値を下げるために、システム管理者のノードＮｎから送出されるものである。
【００９６】
ステップＳ１０４では、評価値加算／減算メッセージ受信処理が行われる。当該評価値加算／減算メッセージ受信処理においては、図７（Ａ）に示すように、制御部１１は、上記評価値加算メッセージ又は上記評価値減算メッセージに含まれるコンテンツＩＤに対応するレプリカが自ノードにおける記憶部１２に保存されているか否かを判別し（ステップＳ１０４１）、保存されている場合には（ステップＳ１０４１：ＹＥＳ）、ステップＳ１０４２に進み、保存されていない場合には（ステップＳ１０４１：ＮＯ）、ステップＳ１０４３に進む。
【００９７】
ステップＳ１０４２では、評価値加算メッセージの場合、制御部１１は、評価値加算メッセージに示されるコンテンツの評価値を、自ノードの保存コンテンツ管理テーブルに登録されている同じコンテンツの評価値（０である場合もある）に対して加算し、図５の処理に戻る。一方、評価値減算メッセージの場合、制御部１１は、評価値減算メッセージに示されるコンテンツの評価値を、自ノードの保存コンテンツ管理テーブルに登録されている同じコンテンツの評価値（０である場合もある）から減算し、図５の処理に戻る。
【００９８】
ステップＳ１０４３では、制御部１１は、評価値加算メッセージ又は評価値減算メッセージに含まれるコンテンツＩＤに対応するレプリカを保存しているコンテンツ保持ノードに係るインデックス情報を登録しているか否かをインデックスキャッシュから判別する。
【００９９】
そして、制御部１１は、当該インデックス情報が登録されている場合には（ステップＳ１０４３：ＹＥＳ）、当該インデックス情報を取得してステップＳ１０４４に進み、当該インデックス情報が登録されていない場合には（ステップＳ１０４３：ＮＯ）、ステップＳ１０４５に進む。
【０１００】
ステップＳ１０４４では、制御部１１は、取得したインデックス情報によりコンテンツ保持ノードを１又は複数選定し、当該コンテンツ保持ノードに対して上記評価値加算メッセージ又は評価値減算メッセージを送信（転送）し、図５の処理に戻る。なお、選定されたコンテンツ保持ノードが複数ある場合、上述したように、当該選定された各コンテンツ保持ノードにおいて加算される評価値の総和が、上記評価値加算メッセージに示されるコンテンツの評価値と一致するように当該評価値が配分され、配分された評価値を、当該選定された各コンテンツ保持ノードにおける当該コンテンツの評価値に加算させるための評価値加算メッセージが各コンテンツ保持ノードに送信されることになる。
【０１０１】
ステップＳ１０４５では、制御部１１は、上記評価値加算メッセージ又は評価値減算メッセージをコンテンツ提供サーバＳＡに対して送信（転送）し、図５の処理に戻る。
【０１０２】
図５のステップＳ１０５では、制御部１１は、上記受信されたメッセージが評価値要求メッセージであるか否かを判別し、上記受信されたメッセージが評価値要求メッセージである場合には（ステップＳ１０５：ＹＥＳ）、ステップＳ１０６に進み、評価値要求メッセージでない場合には（ステップＳ１０５：ＮＯ）、図３の処理に戻る。
【０１０３】
ステップＳ１０６では、評価値要求メッセージ受信処理が行われる。当該評価値要求メッセージ受信処理においては、図７（Ｂ）に示すように、制御部１１は、上記評価値要求メッセージに含まれるコンテンツＩＤに対応するレプリカが自ノードにおける記憶部１２に保存されているか否かを判別し（ステップＳ１０６１）、保存されている場合には（ステップＳ１０６１：ＹＥＳ）、ステップＳ１０６２に進み、保存されていない場合には（ステップＳ１０６１：ＮＯ）、ステップＳ１０６３に進む。
【０１０４】
ステップＳ１０６２では、制御部１１は、評価値要求メッセージに示されるコンテンツであって保存コンテンツ管理テーブルに登録されているコンテンツの評価値を所定値減算（例えば、当該評価値を半分に減少）し、減算した分の評価値を与えるための評価値加算メッセージを、上記評価値要求メッセージの送信元のノードＮｎ（上述したように再参加したノード）に送信し、図５の処理に戻る。
【０１０５】
ステップＳ１０６３では、制御部１１は、当該評価値要求メッセージに含まれるコンテンツＩＤに対応するレプリカを保存しているコンテンツ保持ノードに係るインデックス情報を登録しているか否かをインデックスキャッシュから判別する。
【０１０６】
そして、制御部１１は、当該インデックス情報が登録されている場合には（ステップＳ１０６３：ＹＥＳ）、当該インデックス情報を取得してステップＳ１０６４に進み、当該インデックス情報が登録されていない場合には（ステップＳ１０６３：ＮＯ）、ステップＳ１０６５に進む。
【０１０７】
ステップＳ１０６４では、制御部１１は、取得したインデックス情報によりコンテンツ保持ノードを１又は複数選定し、当該コンテンツ保持ノードに対して上記評価値要求メッセージを送信（転送）し、図５の処理に戻る。なお、選定されたコンテンツ保持ノードが複数ある場合、夫々のコンテンツ保持ノードに評価値要求メッセージが送信されるように構成しても良い。
【０１０８】
ステップＳ１０６５では、制御部１１は、上記評価値要求メッセージをコンテンツ提供サーバＳＡに対して送信（転送）し、図５の処理に戻る。
【０１０９】
ステップＳ１０７では、制御部１１は、上記受信されたメッセージが評価値集計要求メッセージであるか否かを判別し、上記受信されたメッセージが評価値集計要求メッセージである場合には（ステップＳ１０７：ＹＥＳ）、ステップＳ１０８に進み、評価値集計要求メッセージでない場合には（ステップＳ１０７：ＮＯ）、ステップＳ１０９に進む。
【０１１０】
ステップＳ１０８では、評価値集計要求メッセージ受信処理が行われる。当該評価値集計要求メッセージ受信処理においては、図８（Ａ）に示すように、制御部１１は、評価値集計要求メッセージに示されるコンテンツＸのレプリカが保存されているか否かを判別し（ステップＳ１０８１）、当該レプリカが保存されていない場合には（ステップＳ１０８１：ＮＯ）、図５の処理に戻り、当該レプリカが保存されている場合には（ステップＳ１０８１：ＹＥＳ）、ステップＳ１０８２に進む。
【０１１１】
ステップＳ１０８２では、制御部１１は、評価値集計要求メッセージに示されるコンテンツＸであって保存コンテンツ管理テーブルに登録されているコンテンツＸの評価値を評価値集計返答メッセージに記述し、当該評価値集計返答メッセージを、コンテンツＸのルートノードに送信し、図５の処理に戻る。
【０１１２】
ステップＳ１０９では、制御部１１は、上記受信されたメッセージが評価値集計返答メッセージであるか否かを判別し、上記受信されたメッセージが評価値集計返答メッセージである場合には（ステップＳ１０９：ＹＥＳ）、ステップＳ１１０に進み、評価値集計返答メッセージでない場合には（ステップＳ１０９：ＮＯ）、ステップＳ１１１に進む。
【０１１３】
ステップＳ１１０では、評価値集計返答メッセージ受信処理が行われる。当該評価値集計返答メッセージ受信処理においては、図８（Ｂ）に示すように、制御部１１は、上述した評価値集計用バッファＶｘ，Ｎｘが確保（作成）されているか否かを判別し（ステップＳ１１０１）、評価値集計用バッファＶｘ，Ｎｘが確保されていない場合には（ステップＳ１１０１：ＮＯ）、図５の処理に戻り、評価値集計用バッファＶｘ，Ｎｘが確保されている場合には（ステップＳ１１０１：ＹＥＳ）、ステップＳ１１０２に進む。
【０１１４】
ステップＳ１１０２では、制御部１１は、評価値集計返答メッセージに示される評価値を、評価値集計用バッファＶｘ内に格納されている値に加算する。
【０１１５】
次いで、制御部１１は、評価値集計用バッファＮｘに格納されている値に“１”を加算し（ステップＳ１１０３）、図５の処理に戻る。こうして、当該評価値集計返答メッセージ受信処理は、上述したステップＳ１４における待機時間が経過するまで、評価値集計返答メッセージが受信される度に行われることになる。
【０１１６】
ステップＳ１１１では、制御部１１は、上記受信されたメッセージが評価値書換要求メッセージであるか否かを判別し、上記受信されたメッセージが評価値書換要求メッセージである場合には（ステップＳ１１１：ＹＥＳ）、ステップＳ１１２に進み、評価値書換要求メッセージでない場合には（ステップＳ１１１：ＮＯ）、図５の処理に戻る。
【０１１７】
ステップＳ１１２では、制御部１１は、保存コンテンツ管理テーブルに登録されている評価値を、受信された評価値書換要求メッセージに示される平均値で書き換え、図５の処理に戻る。
【０１１８】
（４−２．コンテンツ提供サーバＳＡの処理）
先ず、図９を参照して、コンテンツ提供サーバＳＡの処理について説明する。
【０１１９】
図９は、コンテンツ提供サーバＳＡにおける処理の一例を示すフローチャートである。
【０１２０】
なお、図９に示す処理は、コンテンツ提供サーバＳＡにおいて電源オンがなされることにより開始される。
【０１２１】
図９のステップＳ２１では、コンテンツ提供サーバＳＡは、電源オフ（シャットダウン）指令があったか否かを判別し、電源オフ指令があった場合には（ステップＳ２１：ＹＥＳ）、当該処理を終了し、電源オフ指令がない場合には（ステップＳ２１：ＮＯ）、ステップＳ２２に進む。
【０１２２】
ステップＳ２２では、コンテンツ提供サーバＳＡは、ノードＮｎからコンテンツ検索メッセージを受信したか否かを判断し、当該メッセージを受信した場合には（ステップＳ２２：ＹＥＳ）、ステップＳ２３に進み、当該メッセージを受信していない場合には（ステップＳ２２：ＮＯ）、ステップＳ２４に進む。
【０１２３】
ステップＳ２３では、コンテンツ提供サーバＳＡは、コンテンツ検索メッセージの送信元のユーザノードに対して、コンテンツ検索返答メッセージを送信し、ステップＳ２１に戻る。
【０１２４】
ステップＳ２４では、コンテンツ提供サーバＳＡは、ノードＮｎからコンテンツ要求メッセージを受信したか否かを判断し、当該メッセージを受信した場合には（ステップＳ２４：ＹＥＳ）、ステップＳ２５に進み、当該メッセージを受信していない場合には（ステップＳ２４：ＮＯ）、ステップＳ２７に進む。
【０１２５】
ステップＳ２５では、コンテンツ提供サーバＳＡは、上記コンテンツ要求メッセージに含まれる送信元のノード情報に対応する要求元のノードＮｎに対して、当該要求に係るレプリカのファイルと共にコンテンツ送信メッセージを送信する。
【０１２６】
次いで、コンテンツ提供サーバＳＡは、当該送信したレプリカに係るコンテンツの評価値（コンテンツ提供サーバＳＡで管理されている評価値）を例えば半分に減算して、減算した分の評価値を与えるための評価値加算メッセージを要求元のノードＮｎに対して送信し（ステップＳ２６）、ステップＳ２１に戻る。ここで、後述するステップＳ２８で上記ルートノードから評価値加算メッセージを受信して当該メッセージに示されるコンテンツの評価値が記憶されていた場合には、その記憶されていた評価値が上記減算された分の評価値に加算され、当該加算された評価値を示す評価値加算メッセージがユーザノードに送信されることになる。
【０１２７】
或いは、ステップＳ２６でコンテンツ提供サーバＳＡは、当該送信したレプリカに係るコンテンツの評価値を０に減算して当該減算した評価値（つまり、全評価値）を与えるための評価値加算メッセージを要求元のノードＮｎに対して送信しても良い。この場合、当該要求元のノードＮｎに全評価値を渡しておけば、次のコンテンツ要求にはそのノードＮｎが応じることを期待するものである。
【０１２８】
ステップＳ２７では、コンテンツ提供サーバＳＡは、ノードＮｎから評価値要求メッセージを受信したか否かを判断し、当該メッセージを受信した場合には（ステップＳ２７：ＹＥＳ）、ステップＳ２６に移行し、上記評価値要求メッセージに示されるコンテンツの評価値を例えば半分に減算して、減算した分の評価値を与えるための評価値加算メッセージを要求元のノードＮｎに対して送信し、当該メッセージを受信していない場合には（ステップＳ２７：ＮＯ）、ステップＳ２８に進む。
【０１２９】
ステップＳ２８では、コンテンツ提供サーバＳＡは、ノードＮｎから評価値加算メッセージ又は評価値減算メッセージを受信したか否かを判断し、当該メッセージを受信した場合には（ステップＳ２８：ＹＥＳ）、ステップＳ２９に進み、当該メッセージを受信していない場合には（ステップＳ２８：ＮＯ）、ステップＳ２１に戻る。
【０１３０】
ステップＳ２９では、コンテンツ提供サーバＳＡは、当該メッセージに示されるコンテンツの評価値を一時的に記憶し、ステップＳ２１に戻る。
【０１３１】
以上説明したように、上記実施形態によれば、ルートノードは、自己の管理対象である特定のコンテンツのレプリカを保存している複数のコンテンツ保持ノードに対して、当該コンテンツの評価値の要求を示す評価値集計要求メッセージを送信し、当該評価値の要求に対して、何れかのコンテンツ保持ノードから返信されてきた評価値を示す評価値集計返答メッセージを受信する。続いて、ルートノードは、受信された各評価値集計返答メッセージに示される評価値の合計値を算出し、当該算出された合計値を、上記評価値集計返答メッセージを返信したコンテンツ保持ノードの数分に分割する演算であって当該分割された各分割値が所定範囲内に収まるように平準化計算を行う。そして、ルートノードは、当該分割された各分割値を、評価値集計返答メッセージを返信した各コンテンツ保持ノードに振り分け、当該振り分けられた分割値で評価値を書き換える要求を示す評価値書換要求メッセージを当該各コンテンツ保持ノードに送信するように構成したので、当該評価値書換要求メッセージを受信した各コンテンツ保持ノードにおける評価値を上記分割値で効率良く書き換えさせることができ、したがって、同一のコンテンツのレプリカを保存するコンテンツ保持ノード間における当該コンテンツの評価値の偏りを効率良く無くし、適切な数のレプリカをコンテンツ分散保存システムＳ内に確保することができる。また、レプリカ管理が評価値の偏りに影響されにくくなる。
【０１３２】
また、高い評価値が付与されたコンテンツのレプリカを保存しているコンテンツ保持ノードが、例えば停電等により、上記ステップＳ３で評価値加算メッセージを送信できず（他のコンテンツ保持ノードに評価値を与えられず）にコンテンツ分散保存システムＳから脱退してしまった場合であっても、同一のコンテンツのレプリカを保存するコンテンツ保持ノード間における当該コンテンツの評価値の偏りを無くし、適切な数のレプリカをコンテンツ分散保存システムＳ内に確保することができる。
【０１３３】
また、ルートノードが、パブリッシュメッセージを受信したときに、当該パブリッシュメッセージに示されるコンテンツのレプリカを保存している全てのコンテンツ保持ノードに対して上記評価値集計要求メッセージを送信して各コンテンツ保持ノードから評価値を取得し、上述した平準化計算を行い、当該各コンテンツ保持ノードに上記評価値書換要求メッセージを行うように構成すれば、何れかのコンテンツ保持ノードにおいて評価値が変化するタイミングで評価値を書き換えることができるので、より迅速に当該コンテンツの評価値の偏りを無くすことができる。
【０１３４】
なお、上記実施形態の変形例として、ルートノードが、上記評価値集計要求メッセージに前回算出された平均値を示す情報を含めてこれを送信し、当該メッセージを受信した各コンテンツ保持ノードが、当該メッセージにて示される平均値を基準とする所定範囲（例えば、プラスマイナスの数％の誤差範囲）内に自己が管理している評価値が含まれない（収まっている）場合にのみ、当該評価値を示す評価値集計返答メッセージを上記ルートノードに対して返信するように構成しても良い。この構成の場合、上述した図４に示す評価値集計処理に代えて図１０に示す評価値集計処理が行われ、且つ、上述した図８（Ａ）に示す評価値集計要求メッセージ受信処理に代えて図１１に示す評価値集計要求メッセージ受信処理が行われることになる。
【０１３５】
図１０に示す評価値集計処理は、図４の処理と同様、パブリッシュメッセージが受信された際に実行されても良いし、定期的に実行されても良い。
【０１３６】
なお、図１０のステップＳ３１及びＳ３２の処理は、図４のステップＳ１１及びＳ１２の処理と同様である。
【０１３７】
図１０のステップＳ３３では、図４のステップＳ１３と同様、制御部１１は、各コンテンツ保持ノードに評価値集計要求メッセージを送信するが、その際、前回算出されたコンテンツＸの評価値の平均値がメモリに記憶されている場合には、当該平均値を当該評価値集計要求メッセージに記述して送信する。
【０１３８】
なお、図１０のステップＳ３４〜Ｓ３６の処理は、図４のステップＳ１４〜Ｓ１６の処理と同様である。
【０１３９】
そして、図１０のステップＳ３７では、制御部１１は、ステップＳ３５の処理で算出されたコンテンツＸの評価値の平均値及び算出年月日日時を示す情報等をメモリ（例えば記憶部１２）に記憶する。
【０１４０】
一方、図１１に示す評価値集計要求メッセージ受信処理において、ステップＳ１０８５でレプリカが保存されていると判断された場合には（ステップＳ１０８５：ＹＥＳ）、ステップＳ１０８６に進む。そして、ステップＳ１０８６では、制御部１１は、受信された評価値集計要求メッセージにコンテンツＸの前回の評価値の平均値が記述されているか否かを判別し、当該平均値が記述されている場合には（ステップＳ１０８６：ＹＥＳ）、ステップＳ１０８７に進み、当該平均値が記述されていない場合には（ステップＳ１０８６：ＮＯ）、ステップＳ１０８８に進む。
【０１４１】
ステップＳ１０８７では、制御部１１は、受信された評価値集計要求メッセージに記述されるコンテンツＸの評価値の平均値を基準とする所定範囲（例えば、プラスマイナスの数％の誤差範囲）内に、保存コンテンツ管理テーブルに登録されている当該コンテンツＸの評価値が収まっているか否かを判別する。そして、当該制御部１１は、コンテンツＸの評価値の平均値を基準とする所定範囲内に保存コンテンツ管理テーブルに登録されている当該コンテンツＸの評価値が収まっている場合には（ステップＳ１０８７：ＹＥＳ）、評価値集計返答メッセージを送信することなく図５の処理に戻り、当該コンテンツＸの評価値が収まっていない場合には（ステップＳ１０８７：ＮＯ）、ステップＳ１０８８に進む。つまり、コンテンツＸの評価値の平均値を基準とする所定範囲内に保存コンテンツ管理テーブルに登録されている当該コンテンツＸの評価値が収まっている場合、評価値を平準化する対象から外す趣旨である。なお、図１１のステップＳ１０８８では、図８（Ａ）のステップＳ１０８２の処理と同様、評価値集計要求メッセージに示されるコンテンツＸであって保存コンテンツ管理テーブルに登録されているコンテンツＸの評価値を評価値集計返答メッセージに記述し、当該評価値集計返答メッセージを、コンテンツＸのルートノードに返信することになる。
【０１４２】
このような変形例の構成によれば、評価値集計返答メッセージの受信数を減らすことができるので、ルートノードにおける評価値集計処理の負荷を軽減することができる。
【０１４３】
なお、上記実施形態においては、コンテンツ保持ノードがコンテンツ分散保存システムＳからの脱退時に他のコンテンツ保持ノードに自己の評価値を与える形態を一例に挙げて説明したが、本発明は、これに限定されるものではなく、コンテンツ保持ノードがコンテンツ分散保存システムＳからの脱退時に他のコンテンツ保持ノードに自己の評価値を与えない形態に対しても同様に適用可能である。
【０１４４】
また、上記実施形態は、コンテンツ分散保存システムＳに新たに投入（何れか複数のコンテンツ保持ノードに新たに保存）されたコンテンツのレプリカが該システムＳにおいて利用可能（公開）となる（例えば、例えば、各ノードＮｎにおいてコンテンツカタログ情報上からコンテンツを選択可能となる）前であっても同様に適用可能である。
【０１４５】
また、上記実施形態におけるコンテンツ分散保存システムＳは、ＤＨＴを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。
【図面の簡単な説明】
【０１４６】
【図１】本実施形態に係るコンテンツ分散保存システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】ノードＮｎの概要構成例を示す図である。
【図３】通常のノードＮｎの制御部１１におけるメイン処理の一例を示すフローチャートである。
【図４】通常のノードＮｎの制御部１１における評価値集計処理の一例を示すフローチャートである。
【図５】図３のステップＳ９における各種メッセージ受信処理の詳細を示すフローチャートである。
【図６】、図５のステップＳ９２におけるコンテンツ検索メッセージ受信処理の詳細を示すフローチャートであり、（Ｂ）は、図５のステップＳ９６におけるコンテンツ要求メッセージ受信処理の詳細を示すフローチャートである。
【図７】（Ａ）は、図５のステップＳ１０４における評価値加算／減算メッセージ受信処理の詳細を示すフローチャートであり、（Ｂ）は、図５のステップＳ１０６における評価値要求メッセージ受信処理の詳細を示すフローチャートである。
【図８】（Ａ）は、図５のステップＳ１０８における評価値集計要求メッセージ受信処理の詳細を示すフローチャートであり、（Ｂ）は、図５のステップＳ１１０における評価値集計返答メッセージ受信処理の詳細を示すフローチャートである。
【図９】コンテンツ提供サーバＳＡにおける処理の一例を示すフローチャートである。
【図１０】通常のノードＮｎの制御部１１における評価値集計処理の変形例を示すフローチャートである。
【図１１】図５のステップＳ１０８における評価値集計要求メッセージ受信処理の変形例を示すフローチャートである。
【符号の説明】
【０１４７】
８  ネットワーク
９  オーバーレイネットワーク
１１  制御部
１２  記憶部
１３  バッファメモリ
１４  デコーダ部
１５  映像処理部
１６  表示部
１７  音声処理部
１８  スピーカ
１９  通信部
２０  入力部
２１  バス
Ｎｎ  ノード
ＳＡ  コンテンツ提供サーバ
Ｓ  コンテンツ分散保存システム
【図１】
2009181430.tif 000003
【図２】
2009181430.tif 000004
【図３】
2009181430.tif 000005
【図４】
2009181430.tif 000006
【図５】
2009181430.tif 000007
【図６】
2009181430.tif 000008
【図７】
2009181430.tif 000009
【図８】
2009181430.tif 000010
【図９】
2009181430.tif 000011
【図１０】
2009181430.tif 000012
【図１１】
2009181430.tif 000013