(57)【要約】      （修正有）【課題】新たに投入されるコンテンツのレプリカが利用可能となる前に、当該レプリカの配信元に、実際に分散保存されたレプリカの総数を把握させることを可能としたコンテンツ分散保存システム、複製データ保存数集計方法を提供する。【解決手段】新たなコンテンツデータの複製データを利用可能となる前に、コンテンツ投入ノードから配信させ、何れかのノードに転送させることにより、一部のノードに分散して保存させるようにし、新たなコンテンツデータの複製データを受信したノードが、当該複製データを保存した場合には、当該複製データを保存したことを示す通知情報を、所定の通知時刻になったときに、上位のノードに送信し、コンテンツ投入ノードが上記新たなコンテンツデータの複製データを保存した全てのノードからの通知情報を受信し、当該新たなコンテンツデータの複製データの保存数を、利用可能となる前に集計するようにした。【選択図】図４
2009080546.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）、或いは、ＴＶ受信機等を適用可能である。
【００４４】
また、記憶部１２には、コンテンツ分散保存システムＳに参加する際のアクセス先となるコンタクトノードのＩＰアドレス及びポート番号等が記憶されている。更に、記憶部１２には、ＨＤに保存（記録）しているコンテンツのレプリカに関する情報を登録するための保存コンテンツ管理テーブルが記憶されている。
【００４５】
このような構成において、制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラム（本発明のノード処理プログラムを含む）を読み出して実行することにより、全体を統括制御し、コンテンツ分散保存システムＳへの参加により上述したユーザノード、中継ノード、ルートノード、キャッシュノード、コンテンツ保持ノード、コンテンツ投入ノード、及びコンテンツ事前保持ノードの少なくとも何れか一つのノードとしての処理を行うようになっている。また、コンテンツ投入ノードとしての処理を行う制御部１１は、本発明における通知時刻情報送信手段、及び集計手段として機能し、コンテンツ事前保持ノードとしての処理を行う制御部１１は、本発明における通知情報送信手段、通知情報受信手段、通知時刻情報送信手段、通知時刻情報受信手段、重要度情報送信手段、重要度情報受信手段、加算手段、及び保存判別手段等として機能する。なお、上記ノード処理プログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
［３．コンテンツ分散保存システムＳの動作］
次に、図３乃至図６を参照して、コンテンツ分散保存システムＳの動作について説明する。
【００４６】
図３は、複数のノードＮｎに、あるコンテンツのレプリカを分散して保存させる様子を示す概念図である。当該レプリカを公開前に分散保存させるため、図３に示すように、上位のノードＮｎから下位のノードＮｎに対して保存指示メッセージ（Ｍ）を送信するようになっている。かかる保存指示メッセージには、保存指示に係るコンテンツのコンテンツ名及びコンテンツＩＤと共に、以下の（ａ）〜（ｂ）の情報が含まれている。
【００４７】
（ａ）保存指示対象のコンテンツの重要度を示す重要度情報；
この重要度としては、例えば上述した特許文献１（特開２００７−０３４６３０号公報）に開示された評価値を適用することができる。或いは、初期段階では、重要度Ｇ＝１００％に設定しても良い。また、かかる重要度は、後述するように、コンテンツのレプリカが転送される度に下げられるようになっている。
【００４８】
（ｂ）上記コンテンツの公開日時（年月日時刻）を示す公開日時情報；
この公開日時は、上述したＤＨＴルーティングによってコンテンツのレプリカを利用可能となる日時である。例えば、当該コンテンツのコンテンツ名（コンテンツ名（タイトル））及びコンテンツＩＤが記載されたコンテンツカタログ情報が配信され各ノードＮｎにおいて当該コンテンツを選択可能となる日時である。
【００４９】
（ｃ）レプリカ保存数の通知日時を示す通知日時情報（通知時刻情報の一例）；
この通知日時は、上記コンテンツのレプリカの積算保存数を示す保存数通知メッセージ（レプリカを保存したことを示す通知情報の一例）を、例えば当該コンテンツのレプリカを送信したノードＮｎに対して通知すべき日時である。かかる通知日時は、後述するように、コンテンツのレプリカが転送される度に例えば所定時間（例えば、数分）早められるようになっている。なお、当該通知日時は、公開日時よりも前に設定される。
【００５０】
（ｄ）レプリカ保存数の通知先となる上位のノードＮｎのＩＰアドレス等のアドレス情報；
図３の例では、先ず、コンテンツ投入ノードであるノードＮ１は、例えば周期的に設定された時刻が到来すると、例えばＤＨＴのルーティングテーブルから選定（１回目の選定）した下位のノードＮ２に対して、あるコンテンツのレプリカの保存を指示する保存指示メッセージを送信し（１）、これに応じてノードＮ２は、上位のノードＮ１に対して保存受付応答メッセージ又は保存拒否応答メッセージを返信する（２）。ここで、ノードＮ２は、保存指示メッセージを受信したとき、上記重要度情報に基づいて、上記保存指示されたレプリカを保存するか否かを判別し、保存すると判別した場合には、保存受付応答メッセージを返信し、保存しないと判別した場合には、保存拒否応答メッセージを返信することになる。かかる判別は、例えば、コンテンツを保存するのに十分なあらかじめ定められた空き記憶容量の閾値よりも多くの空き記憶容量があれば、保存受付応答メッセージが返信される。また閾値よりも小さな空き記憶容量しかない場合には保存指示されたコンテンツの重要度と、既にレプリカが保存されているコンテンツの重要度とが比較（複数保存されている場合、夫々のコンテンツの重要度と比較）され、例えば、保存指示されたコンテンツの重要度が最も低くなければ、保存受付応答メッセージが返信され、保存指示されたコンテンツの重要度が最も低ければ、保存受付応答メッセージが返信される。
【００５１】
そして、ノードＮ１が保存受付応答メッセージを受信した場合、当該ノードＮ１は、保存指示に係るコンテンツのレプリカをノードＮ２に対して送信（配信）（３）し、さらに、当該コンテンツに対応付けられて管理している重要度を下げる（例えばＧ／２とする）。このように重要度を下げるのは、コンテンツが１つ複製され２つになったため、その分重要度を下げる趣旨である（その他のノードＮｎにおいても同様）。
【００５２】
一方、ノードＮ２は、ノードＮ１からのレプリカを受信すると、これを保存してコンテンツ事前保持ノードとなり、さらに、当該レプリカに対応付けて上記保存指示メッセージに含まれる情報を保存コンテンツ管理テーブルに登録することになる。なお、当該コンテンツ事前保持ノードは、上述したパブリッシュメッセージを、そのルートノードに向けて（ルートノード宛に）送出することになる。
【００５３】
そして、当該コンテンツ事前保持ノードであるノードＮ２は、当該レプリカの保存後、例えば周期的に設定された時刻が到来すると、例えばＤＨＴのルーティングテーブルから選定した下位のノードＮ３に対して、当該コンテンツのレプリカの保存を指示する保存指示メッセージを送信する（４）。ここで、当該保存指示メッセージに含まれる重要度情報に示される重要度は、保存コンテンツ管理テーブルに登録された重要度から下げられる（例えば、Ｇ／２とする）ことになる。また、当該保存指示メッセージに含まれる通知日時情報に示される通知日時は、保存コンテンツ管理テーブルに登録された通知日時Ｔ２（例えば、１０時）よりも前の日時Ｔ２−α（例えば、１０時１分前の９時５９分）に変更される。このように通知日時を早めるのは、ノードＮ２が上位のノードＮ１への保存数通知メッセージの通知日時よりも前に、下位のノードＮ３等からの保存数通知メッセージを集約するためである。
【００５４】
なお、ノードＮ３がノードＮ２からの保存指示メッセージを受信した際の動作（（５），（６））は、ノードＮ２がノードＮ１からの保存指示メッセージを受信した際の動作（（２），（３））と同様である。また、ノードＮ３も、当該レプリカの保存後、例えば周期的に設定された時刻が到来すると、例えばＤＨＴのルーティングテーブルから選定した下位のノードＮ４に対して、当該コンテンツのレプリカの保存を指示する保存指示メッセージを送信する（７）ことになり、これ以降の動作（（８），（９））も、ノードＮ２がノードＮ１からの保存指示メッセージを受信した際の動作（（２），（３））と同様である。
【００５５】
更に、コンテンツ投入ノードであるノードＮ１は、ノードＮ２に対して上述したように保存指示メッセージを送信した後、例えば周期的に設定された時刻が到来すると、例えばＤＨＴのルーティングテーブルから選定（２回目の選定）した下位のノードＮ５に対して、上記コンテンツのレプリカの保存を指示する保存指示メッセージを送信する（１０）ことになる。このとき、当該保存指示メッセージに含まれる重要度情報に示される重要度は、１回目の保存指示メッセージ時と比べ低くなっており（例えば、Ｇ／２）、当該保存指示メッセージに含まれる通知日時情報に示される通知日時は、保存数通知メッセージの集中を避けるため、１回目の保存指示メッセージ時と比べ早められる。なお、これ以降の動作（（１１），（１２））も、ノードＮ２がノードＮ１からの保存指示メッセージを受信した際の動作（（２），（３））と同様である。
【００５６】
このように、ノードＮ１においては周期的に設定された時刻が到来する度に新たなノードＮｎが選定され、そこに保存指示メッセージが送信されることになる。このことは、上記コンテンツのレプリカを保存したその他のノードＮｎでも同様である。こうして、上記コンテンツのレプリカは各ノードＮｎにより転送されることにより次第にコンテンツ分散保存システムＳ内で広がっていくことになる。
【００５７】
ところで、上記コンテンツのレプリカを保存した各ノードＮｎ（コンテンツ投入ノードを除く）は、保存コンテンツ管理テーブルに登録されたコンテンツに対応するレプリカ保存数の通知日時を監視（確認）しており、当該通知日時が到来すると、上記保存数通知メッセージを、上位のノードＮｎ（つまり、保存指示メッセージを送信したノードＮｎ）に対して送信するようになっている。
【００５８】
図４は、保存数通知メッセージが下位のノードＮｎからコンテンツ投入ノードに向かって送信される様子を示す概念図である。
【００５９】
この保存数通知メッセージには、レプリカの積算保存数を示す積算保存数情報が含まれている。上記レプリカを保存した各コンテンツ事前保持ノード（コンテンツ投入ノードを除く）は、当該保存数通知メッセージを送信するに際に、自己が保存している当該レプリカの数と、下位のノードＮｎから通知された積算保存数と、を加算して上記積算保存数を算出して当該積算保存数を保存数通知メッセージにセットすることになる。図４の例において、例えば、ノードＮ２は、ノードＮ３から通知された保存数“１”と、ノードＮ５から通知された積算保存数“１”と、自身の保存数“１”と、を加算して上位のノードＮ１に通知している。なお、ノードＮ４は、レプリカの保存後、当該レプリカを削除しており、且つ、下位のノードＮｎからの通知が無いため、積算保存数が“０”であるとして、上位のノードＮ３に通知している。
【００６０】
こうして、最上位のコンテンツ投入ノードであるノードＮ１は、図４に示すように下位のノードＮ２及びＮ５からの保存数通知メッセージを受信することにより、上記コンテンツのレプリカを保存した全てのノードＮｎからの、新たに投入されるコンテンツのレプリカを保存したことを示す通知情報を受信することになり、当該レプリカの保存数を、該システムＳにおいて利用可能となる前に（公開前に）、に集計することになる。
【００６１】
以上の動作において、各コンテンツ事前保持ノードにおける制御部１１の処理を、図５及び図６を参照して、詳しく説明する。
【００６２】
図５は、任意のノードＮｎにおける制御部１１の処理を示すフローチャートであり、図６は、図５に示すステップＳ１３におけるコンテンツ事前保持ノードの処理の詳細を示すフローチャートである。
【００６３】
図５に示す処理は、任意のノードＮｎにおいて例えば電源ＯＮになった場合に開始され、コンテンツ分散保存システムＳへの参加処理が実行される（ステップＳ１）。この参加処理においては、当該ノードＮｎの制御部１１は、記憶部１２からコンタクトノードのＩＰアドレス及びポート番号を取得し、これに基づきコンタクトノードにネットワーク８を介して接続し、参加要求を示す参加メッセージ（自己のノードＩＤ及びノード情報等を含む）を送信する。これにより、当該ノードＮｎには、当該システムＳに参加している他のノードＮｎからＤＨＴを用いたルーティングテーブルが送信されることになり、受信したルーティングテーブルに基づき自己のルーティングテーブルを生成し、コンテンツ分散保存システムＳに参加が完了することになる。
【００６４】
こうしてコンテンツ分散保存システムＳへの参加処理が完了すると、制御部１１は、保存コンテンツ管理テーブルを記憶部１２から読み込みＲＡＭ上に展開する。かかる保存コンテンツ管理テーブルには、記憶部１２に保存されている各レプリカに対応するコンテンツのコンテンツＩＤ、コンテンツ名、コンテンツの重要度、コンテンツの公開日時、レプリカ保存数の通知日時、及びレプリカ保存数の通知先のアドレス情報が登録されている。
【００６５】
そして、制御部１１は、電源ＯＦＦの指示（例えば、ユーザから入力部２１を介した電源ＯＦＦ操作指示）があった場合には（ステップＳ２：ＹＥＳ）、該システムＳから脱退し、当該処理を終了する。一方、電源ＯＦＦの指示がない場合には（ステップＳ２：ＮＯ）、制御部１１は、上位のノードＮｎから保存指示メッセージを受信したか否かを判別する（ステップＳ３）。制御部１１は、当該保存指示メッセージを受信した場合には（ステップＳ３：ＹＥＳ）、ステップＳ４に進み、当該保存指示メッセージを受信していない場合には（ステップＳ３：ＮＯ）、ステップＳ１１に進む。
【００６６】
ステップＳ４では、制御部１１は、既にレプリカが記憶部１２に保存されているコンテンツの重要度を保存コンテンツ管理テーブルから取得し、当該コンテンツの重要度と、保存指示メッセージにより保存指示されたコンテンツの重要度とを比較する。そして、制御部１１は、当該比較結果に基づいて、保存指示されたコンテンツのレプリカを保存可能か否かを判別する（ステップＳ５）。
【００６７】
例えば、制御部１１は、上記比較結果より、保存指示されたコンテンツの重要度が最も低くなければ、コンテンツのレプリカを保存可能と判別し（ステップＳ５：ＹＥＳ）、ステップＳ６に進み、保存指示されたコンテンツの重要度が最も低ければ、コンテンツのレプリカを保存可能でないと判別し（ステップＳ５：ＮＯ）、ステップＳ１０に進む。
【００６８】
ここで、保存指示されたコンテンツの重要度が最も低くない場合、制御部１１は、既にレプリカが記憶部１２に保存されているコンテンツのうち最も重要度が低いコンテンツのレプリカを記憶部１２から削除することになる（ただし、記憶部１２の空き容量が十分あればこの限りでは無い）。また、あらかじめ記憶部１２の空き容量を取得した上で、その空き容量があらかじめ定められたコンテンツ保存供するに十分な空き容量の閾値よりも大きい場合には重要度の比較結果にかかわらずレプリカを保存可能と判別するようにしてもよい。
【００６９】
ステップＳ６では、制御部１１は、上記保存指示メッセージを送信した上位のノードＮｎに対して保存受付応答メッセージを返信する。
【００７０】
次いで、制御部１１は、上記保存受付応答メッセージを受信した上位のノードＮｎから送信されたコンテンツのレプリカを受信し、これを記憶部１２に記憶保存する（ステップＳ７）。
【００７１】
次いで、制御部１１は、上記保存されたレプリカに対応するコンテンツに関する情報を保存コンテンツ管理テーブルに登録する（ステップＳ８）。すなわち、上記保存指示メッセージに含まれるコンテンツＩＤ、コンテンツ名、コンテンツの重要度、コンテンツの公開日時、レプリカ保存数の通知日時、及びレプリカ保存数の通知先のアドレス情報が対応付けられて保存コンテンツ管理テーブルに登録される。
【００７２】
さらに、当該保存されたレプリカの格納場所（パス）がそのコンテンツのコンテンツＩＤに対応付けて登録される。また、このとき、下位のノードＮｎに対して保存指示メッセージを送信するための保存指示タイマがセットされる。なお、当該保存指示タイマは、コンテンツ毎にセットされることになる。
【００７３】
次いで、制御部１１は、上記保存されたレプリカに対応するコンテンツのルートノードに向けて上述したパブリッシュメッセージを送出する（ステップＳ９）。こうして、当該ノードＮｎは、コンテンツ事前保持ノードとなる。
【００７４】
一方、ステップＳ１０では、制御部１１は、上記保存指示メッセージを送信した上位のノードＮｎに対して保存拒否応答メッセージを返信する。
【００７５】
ステップＳ１１では、制御部１１は、現在時刻と、保存コンテンツ管理テーブルに登録されたコンテンツの公開日時を参照して、公開前（公開日時前）のコンテンツのレプリカを保存したか否かを判別し、公開前のコンテンツのレプリカを保存した場合（既に当該レプリカを削除している場合も含む）には（ステップＳ１１：ＮＯ）、ステップＳ１２に進み、公開前のコンテンツのレプリカを保存している場合（ステップＳ１１：ＹＥＳ）には、ステップＳ１３のコンテンツ事前保持ノードの処理に進む。
【００７６】
ステップＳ１２におけるその他の処理では、ユーザからの入力部２１を介した指示に応じた処理や、上述したコンテンツ所在問合せメッセージの受信に応じた処理、及びコンテンツ送信要求メッセージの受信に応じた処理等が行われるが、これらの処理は公知であるため詳しい説明を省略する。
【００７７】
ステップＳ１３におけるコンテンツ事前保持ノードの処理では、図６に示すように、制御部１１は、上記セットされた保存指示タイマのカウントアップにより保存指示タイミングに達したコンテンツがあるか否かを判別し（ステップＳ１３１）、保存指示タイミングに達したコンテンツがある場合には（ステップＳ１３１：ＹＥＳ）、ステップＳ１３２に進み、保存指示タイミングに達したコンテンツがない場合には（ステップＳ１３１：ＮＯ）には、ステップＳ１４０に進む。
【００７８】
ステップＳ１３２では、制御部１１は、例えばＤＨＴを用いたルーティングテーブルを参照して、上記保存指示タイミングに達したコンテンツのレプリカを未だ転送していないノードＮｎを例えばランダムに選定する。
【００７９】
次いで、制御部１１は、上記保存指示タイミングに達したコンテンツの重要度を保存コンテンツ管理テーブルから取得し、当該取得した重要度に基づき新たな重要度を計算する（ステップＳ１３３）。例えば、制御部１１は、上述したように、上記取得した重要度を数％（例えば、５０％）下げて新たな重要度を算出する。
【００８０】
次いで、制御部１１は、上記保存指示タイミングに達したコンテンツに対応するレプリカ保存数の通知日時を保存コンテンツ管理テーブルから取得し、当該取得した通知日時に基づき新たな通知日時を算出する（ステップＳ１３４）。例えば、制御部１１は、上述したように、上記取得した通知日時から数分前の日時を新たな通知日時として算出する。
【００８１】
次いで、制御部１１は、上記保存指示タイミングに達したコンテンツに対応するコンテンツＩＤ、コンテンツ名、及びコンテンツの公開日時、並びに、上記算出された新たな重要度及び新たな通知日時等を示す情報を含み、さらに、レプリカ保存数の通知先のアドレス情報として自ノードのＩＰアドレス等を含む保存指示メッセージを生成する（ステップＳ１３５）。
【００８２】
次いで、制御部１１は、上記ステップＳ１３２で選定した下位のノードＮｎに接続し当該ノードＮｎに、上記ステップＳ１３５で生成した保存指示メッセージを送信する（ステップＳ１３６）。
【００８３】
次いで、制御部１１は、上記保存指示メッセージを送信した下位のノードＮｎから保存受付応答メッセージを受信したか否かを判別し（ステップＳ１３７）、当該保存受付応答メッセージを受信した場合には（ステップＳ１３７：ＹＥＳ）、ステップＳ１３８に進み、保存受付応答メッセージを受信していない場合（保存拒否応答メッセージを受信した場合）には（ステップＳ１３７：ＮＯ）、ステップＳ１４０に進む。
【００８４】
ステップＳ１３８では、制御部１１は、上記下位のノードＮｎに対して保存指示したコンテンツのレプリカを通信部２０等を介して送信（転送）する。
【００８５】
次いで、制御部１１は、コンテンツが１つ複製されたため、上記転送したレプリカに対応するコンテンツに関して保存コンテンツ管理テーブルに登録されている重要度を更新（例えば、１／２に変更）登録する（ステップＳ１３９）。
【００８６】
ステップＳ１４０は、制御部１１は、下位のノードＮｎから保存数通知メッセージを受信したか否かを判別し、当該保存数通知メッセージを受信した場合には（ステップＳ１４０：ＹＥＳ）、ステップＳ１４１に進み、当該保存数通知メッセージを受信していない場合には（ステップＳ１４０：ＮＯ）、ステップＳ１４２に進む。
【００８７】
ステップＳ１４１では、制御部１１は、受信した保存数通知メッセージからコンテンツＩＤ及びレプリカの積算保存数を取得し、当該取得したレプリカの積算保存数Ｘを、当該コンテンツＩＤに対応付けられて記憶されているレプリカの積算保存数ΣＸに加算して登録する。こうして、レプリカの積算保存数ΣＸには、異なる下位のノードＮｎから保存数通知メッセージを受信する度に保存数が積算されていくことになる。
【００８８】
ステップＳ１４２では、制御部１１は、保存コンテンツ管理テーブルを参照し、公開前のコンテンツのうち、レプリカ保存数の通知日時に達したコンテンツがあるか否かを判別し、レプリカ保存数の通知日時に達したコンテンツがある場合には（ステップＳ１４２：ＹＥＳ）、ステップＳ１４３に進み、レプリカ保存数の通知日時に達したコンテンツがない場合には（ステップＳ１４２：ＮＯ）には、図５の処理に戻る。
【００８９】
ステップＳ１４３では、制御部１１は、上記レプリカ保存数の通知日時に達したコンテンツのレプリカが記憶部１２に保存されているか否かを判別し、保存されている場合には（ステップＳ１４３：ＹＥＳ）、当該コンテンツのコンテンツＩＤに対応付けられて記憶されているレプリカの積算保存数ΣＸに“１”を加算し（ステップＳ１４４）、ステップＳ１４５に進む。
【００９０】
一方、上記レプリカ保存数の通知日時に達したコンテンツのレプリカが記憶部１２に保存されていない場合（ステップＳ１４３：ＮＯ）、例えばユーザにより既に削除されたか、或いは他のコンテンツに係る保存指示メッセージを受信したときのステップＳ５にて重要度が最も低いので削除された場合には、制御部１１は、レプリカの積算保存数ΣＸに“１”を加算することなくステップＳ１４５に進む。
【００９１】
ステップＳ１４５では、制御部１１は、上記レプリカ保存数の通知日時に達したコンテンツに対応するレプリカの現在の積算保存数ΣＸ及び当該コンテンツのコンテンツＩＤ等を含む保存数通知メッセージを生成する。
【００９２】
そして、制御部１１は、上記レプリカ保存数の通知日時に達したコンテンツのコンテンツＩＤに対応付けられて保存コンテンツ管理テーブルに登録されているレプリカ保存数の通知先のアドレス情報に基づき上位のノードＮｎに接続し、当該ノードＮｎに、上記ステップＳ１４５で生成した保存数通知メッセージを送信し（ステップＳ１４６）、図５の処理に戻る。こうして、下位のコンテンツ事前保持ノードから最上位のコンテンツ投入ノードに向かって保存数通知メッセージが送信され、コンテンツ投入ノードは、コンテンツ分散保存システムＳにおいて公開前に分散保存されたレプリカの総数を集計、算出してシステム管理者等に提示することになる。
【００９３】
以上説明したように、上記実施形態によれば、新たに投入されるコンテンツのレプリカを、該システムＳにおいて利用可能となる前に（公開前に）、コンテンツ投入ノードから配信させ、何れかのノードＮｎに転送させることにより、コンテンツ事前保持ノードに分散して保存させ、コンテンツ投入ノードは、新たに投入されるコンテンツのレプリカを保存した全てのコンテンツ事前保持ノードからの、当該レプリカを保存したことを示す通知情報を保存数通知メッセージに集約させて受信し、当該新たなコンテンツのレプリカの総数を、これが利用可能となる前に集計するように構成したので、例えばシステム管理者等は、該システムＳにおいて実際に分散保存されたコンテンツのレプリカの総数を把握でき、確実に、想定した数のレプリカを該システムＳ内に分散保存させるリカバリー対応を採ることが可能となる。
【００９４】
また、各コンテンツ事前保持ノードは、下位のコンテンツ事前保持ノードからの保存数通知メッセージを受信しこれに含まれるレプリカの積算保存数を集計して上位のノードＮｎ（コンテンツ投入ノード又はコンテンツ事前保持ノード）に対して送信するように構成したので、最上位のコンテンツ投入ノードは、多数のコンテンツ事前保持ノードからのアクセス（レプリカ保存数通知のためのアクセス）集中を避けることができ、より効率良くレプリカの総数を集計することができる。
【００９５】
また、各コンテンツ事前保持ノードは、下位のコンテンツ事前保持ノードに対して保存指示メッセージを送信する場合に、これに含まれるレプリカ保存数の通知日時を、上位のノードＮｎから保存指示メッセージを受信したときのレプリカ保存数の通知日時よりも前の日時に変更して送信するように構成したので、下位のコンテンツ事前保持ノードからの保存数通知メッセージを受信しこれに含まれるレプリカの積算保存数を確実に集計して、保存数通知メッセージを上位のノードＮｎに送信することができる。
【００９６】
また、各コンテンツ事前保持ノードは、下位のコンテンツ事前保持ノードに対して保存指示メッセージを送信する場合に、これに含まれるコンテンツの重要度を、上位のノードＮｎから保存指示メッセージを受信したときのコンテンツの重要度より下げて送信するように構成したので、当該コンテンツのレプリカが必要以上に多数のノードＮｎに分散保存されることを防止することができる。
【００９７】
なお、上記実施形態においては、各コンテンツ事前保持ノードは、保存指示メッセージを送信した上位のノードＮｎに対して保存数通知メッセージを送信するように構成したが、コンテンツ事前保持ノードが、保存数通知メッセージを送信する際に、例えば当該上位のノードＮｎが該システムＳから脱退（例えば電源ＯＦＦにより）している場合、当該保存数通知メッセージを送信することができなくなる。このような事態を避けるため、例えば保存指示メッセージ中にこれを送信した上位のノードＮｎのアドレス情報と共に、最上位のコンテンツ投入ノードのアドレス情報を含ませておくように構成する。そして、保存数通知メッセージを送信するコンテンツ事前保持ノードは、上位のノードＮｎと接続を確立できないときは、コンテンツ投入ノードに接続して上記保存数通知メッセージを送信するように構成すれば、レプリカ保存数の通知ができなくなるという事態を回避することができる。
【００９８】
また、上記実施形態においては、各コンテンツ事前保持ノードは、下位のノードＮｎに保存指示メッセージを送信し当該ノードＮｎから保存受付応答メッセージが返信された場合に、保存指示に係るコンテンツのレプリカを下位のノードＮｎに送信するように構成したが、別の例として、保存指示メッセージと共に当該レプリカを送信するように構成してもよい。
【００９９】
なお、上記実施形態におけるコンテンツ分散保存システムＳは、ＤＨＴを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。
【図面の簡単な説明】
【０１００】
【図１】本実施形態に係るコンテンツ分散保存システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】ノードＮｎの概要構成例を示す図である。
【図３】複数のノードＮｎに、あるコンテンツのレプリカを分散して保存させる様子を示す概念図である。
【図４】保存数通知メッセージが下位のノードＮｎからコンテンツ投入ノードに向かって送信される様子を示す概念図である。
【図５】任意のノードＮｎにおける制御部１１の処理を示すフローチャートである。
【図６】図５に示すステップＳ１３におけるコンテンツ事前保持ノードの処理の詳細を示すフローチャートである。
【符号の説明】
【０１０１】
８  ネットワーク
９  オーバーレイネットワーク
１１  制御部
１２  記憶部
１３  バッファメモリ
１４  デコーダ部
１５  映像処理部
１６  表示部
１７  音声処理部
１８  スピーカ
２０  通信部
２１  入力部
２２  バス
Ｎｎ  ノード
Ｓ  コンテンツ分散保存システム
【図１】
2009080546.tif 000003
【図２】
2009080546.tif 000004
【図３】
2009080546.tif 000005
【図４】
2009080546.tif 000006
【図５】
2009080546.tif 000007
【図６】
2009080546.tif 000008