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