(57)【要約】 【課題】コンテンツ分散保存システムにコンテンツデータを投入する際に、コンテンツ分散保存システムへの参加期間が短いノード装置が、ＨＤ（ハードディスク）等の記憶部の空き記録容量が少ないものと推定し、当該参加期間が短いノード装置に対して保存を指示する保存指示装置、ノード装置、保存指示処理プログラム、ノード処理プログラム、保存指示方法を提供する。【解決手段】ネットワークを介して互いに通信可能な複数のノード装置間で複数のコンテンツデータを利用可能とするためコンテンツデータをノード装置に保存させる保存指示装置を備えたコンテンツ分散保存システムにおける前記保存指示装置であって、ノード情報記憶手段に記憶されたノード情報に基づいて、コンテンツ分散保存システムに参加している参加期間がより短い第１所定数の前記ノード装置を選択して、コンテンツデータの保存を指示する保存指示情報を送出するよう構成した。【選択図】図１７
2010067072.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して互いに通信可能な複数のノード装置間で複数のコンテンツデータを利用可能とするためコンテンツデータをノード装置に保存させる保存指示装置を備えたコンテンツ分散保存システムにおける前記保存指示装置であって、
前記ノード装置を識別するノード装置識別情報と、前記ノード装置識別情報のノード装置における前記コンテンツ分散保存システムに参加している参加期間とを取得する取得手段と、
前記取得手段により取得された前記ノード装置識別情報と参加期間とを対応させたノード情報を記憶するノード情報記憶手段と、
前記ノード情報記憶手段に記憶されたノード情報に基づいて、前記参加期間がより短い第１所定数の前記ノード装置を選択する選択手段と、
選択されたノード装置に対して、コンテンツデータの保存を指示する保存指示情報を送出する保存指示手段と、
を有することを特徴とする保存指示装置。
【請求項２】
請求項１に記載の保存指示装置であって、
前記取得手段は、他の装置から、前記参加期間がより短い前記第１所定数よりも大きい第２所定数分の前記ノード情報を取得し、
前記ノード情報記憶手段は、取得した第２所定数分の前記ノード情報を記憶し、
前記選択手段は、前記ノード情報記憶手段に記憶された第２所定数分のノード情報から前記第１所定数のノード装置を選択し、
前記保存指示手段は、選択されたノード装置に対して、前記ノード情報と、前記保存指示情報を送出することを特徴とする保存指示装置。
【請求項３】
請求項２に記載の保存指示装置であって、
前記ノード情報に基づく前記第１所定数のノード装置の選択が可能か否かを判定する判定手段を有し、
前記判定手段により選択可能であると判定された場合には、前記選択手段は、前記第１所定数のノード装置を選択し、
前記判定手段により選択不可能であると判定された場合には、前記ノード装置識別情報を前記第１所定数生成する識別情報生成手段を有し、前記保存指示手段は、生成されたノード装置識別情報にて特定されるノード装置に向けて、前記保存指示情報を送出することを特徴とする保存指示装置。
【請求項４】
請求項２に記載の保存指示装置として機能させた前記ノード装置であって、
前記ノード情報記憶手段に記憶されたノード情報にて特定される前記第２所定数のノード装置のうち、第３所定数のノード装置を抽出して分割ノード情報を生成する分割ノード情報生成手段と、
前記ノード情報記憶手段に記憶されたノード情報を、前記第２所定数のノード装置から前記分割ノード情報を除いたノード情報を前記ノード情報記憶手段に更新する更新手段を有し、
前記選択手段は、前記更新手段にて更新された前記ノード情報記憶手段のノード情報から前記第１所定数のノード装置を選択することを特徴とするノード装置。
【請求項５】
請求項４に記載のノード装置であって、
前記保存指示手段は、前記選択手段にて選択されたノード装置に対して、前記分割ノード情報と、前記保存指示情報を送出することを特徴とするノード装置。
【請求項６】
請求項４又は請求項５に記載のノード装置であって、
前記選択手段と前記保存指示手段は、前記コンテンツデータが前記複数のノード装置間で利用可能となる公開日時まで、前記第１所定数のノード装置の選択と、当該選択されたノード装置に対する前記保存指示情報の送出を繰り返し行なうことを特徴とするノード装置。
【請求項７】
請求項４乃至請求項６に記載のノード装置であって、
前記更新手段は、前記選択手段にて既に選択されたノード装置のノード情報を前記ノード情報記憶手段から除いて更新することを特徴とするノード装置。
【請求項８】
請求項６又は請求項７に記載のノード装置であって、
他の装置から前記保存指示情報を受信する保存指示情報受信手段を有し、
前記保存指示情報受信手段が、前記保存指示情報を受信したときに、
前記取得手段は、前記ノード装置識別情報と参加期間とを前記他の装置から取得し、
前記ノード情報記憶手段は、取得された前記ノード装置識別情報と参加期間とを対応させたノード情報を記憶し、
前記選択手段は、前記ノード情報記憶手段に記憶されたノード情報に基づいて、前記参加期間がより短い第１所定数の前記ノード装置を選択し、
前記保存指示手段は、前記選択されたノード装置に対して前記保存指示情報を送出することを特徴とするノード装置。
【請求項９】
請求項８に記載のノード装置であって、
前記保存指示情報を送信してきた前記他の装置から前記コンテンツデータの前記公開日時を示す公開日時情報を取得する公開日時情報取得手段を有することを特徴とするノード装置。
【請求項１０】
コンピュータを、請求項１乃至３の何れか一項に記載の保存指示装置として機能させることを特徴とする保存指示処理プログラム。
【請求項１１】
コンピュータを、請求項４乃至９の何れか一項に記載のノード装置として機能させることを特徴とするノード処理プログラム。
【請求項１２】
ネットワークを介して互いに通信可能な複数のノード装置間で複数のコンテンツデータを利用可能とするためコンテンツデータをノード装置に保存させる保存指示装置を備えたコンテンツ分散保存システムにおける保存指示方法であって、
前記保存指示装置が、前記ノード装置を識別するノード装置識別情報と、前記ノード装置識別情報のノード装置における前記コンテンツ分散保存システムに参加している参加期間とを取得してノード情報としてノード情報記憶手段に対応付けて記憶する工程と、
前記保存指示装置が、前記ノード情報記憶手段に記憶されたノード情報に基づいて、前記参加期間がより短い第１所定数の前記ノード装置を選択し、選択されたノード装置に対して、コンテンツデータの保存を指示する保存指示情報を送出する工程と、
を有することを特徴とする保存指示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型の通信システムの技術分野に関する。
【背景技術】
【０００２】
この種のピアツーピア型の通信システムにおいて、複数のコンテンツデータ（映画及び音楽等のコンテンツのデータ）の複製データ（以下、「レプリカ」という）を複数のノード装置に分散して保存（配置）させ、各ノード装置間でレプリカを利用可能としたコンテンツ分散保存システムが知られており、これにより、対故障性やアクセスの分散性が高められている。このように分散保存されたレプリカの所在は、例えば特許文献１に開示されるような分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用して効率良く検索可能になっている。
【０００３】
このようなコンテンツ分散保存システムにおいて、コンテンツ配信サービスを行なう場合、人気のあるコンテンツのレプリカはアクセスが集中するため、人気に応じた数のレプリカを複数のノード装置に分散保存することが望ましい。特許文献１には、各ノード装置は、新たに該システムに投入されるコンテンツのレプリカを他のノード装置に利用可能とする前に（公開前に）、当該公開前のコンテンツの評価値（当該コンテンツのレプリカの配信元で決定）と、既に保存済みのコンテンツのレプリカの評価値とを比較して、公開前のコンテンツの評価値が大きいときは保存する一方、小さいときには保存しないようになっている。
【０００４】
このように、システム内のノード装置に公開前の新規コンテンツのレプリカを保存させる際、保存先のノード装置の選択方法として、システム内のノード装置をランダムに選択したり、或いは、コンテンツ視聴予約期間を設け、当該期間中に視聴予約をしたノード装置に対してコンテンツのレプリカを保存させる等といった手法がとられている。例えば、特許文献２には、システム内に公開前の新規コンテンツのレプリカを投入する際、当該コンテンツの購入予約をしていたノード装置に対して、当該新規コンテンツのレプリカを保存させる保存指示装置等が開示されている。
【特許文献１】特開２００７−０３４６３０号公報
【特許文献２】特開２００８−２０９３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、各ノード装置のコンテンツのレプリカが記録されるディスクの空き記録容量について考慮していないので、あるノード装置はディスクに全くコンテンツのレプリカを記録していないのに、別のあるノード装置のディスクは殆ど使用されていて空き記録容量がないという状態がおこる。
【０００６】
このため、ディスクの空き記録容量が、新たなコンテンツのレプリカの容量分に満たないノード装置に対して、新たなコンテンツのレプリカの保存が指示されると、当該ノード装置は、ディスクから何れかのレプリカを削除して、新しいレプリカの記録場所を確保して、新しいレプリカを記録するという状況が発生する。
【０００７】
本発明は、以上の問題等に鑑みてなされたものであり、コンテンツ分散保存システムにコンテンツデータを投入する際に、コンテンツ分散保存システムへの参加期間が短いノード装置が、ＨＤ（ハードディスク）等の記憶部の空き記録容量が少ないものと推定し、当該参加期間が短いノード装置に対して、コンテンツデータを保存させる保存指示装置、ノード装置、保存指示処理プログラム、ノード処理プログラム、保存指示方法を提供することを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置間で複数のコンテンツデータを利用可能とするためコンテンツデータをノード装置に保存させる保存指示装置を備えたコンテンツ分散保存システムにおける前記保存指示装置であって、前記ノード装置を識別するノード装置識別情報と、前記ノード装置識別情報のノード装置における前記コンテンツ分散保存システムに参加している参加期間とを取得する取得手段と、前記取得手段により取得された前記ノード装置識別情報と参加期間とを対応させたノード情報を記憶するノード情報記憶手段と、前記ノード情報記憶手段に記憶されたノード情報に基づいて、前記参加期間がより短い第１所定数の前記ノード装置を選択する選択手段と、選択されたノード装置に対して、コンテンツデータの保存を指示する保存指示情報を送出する保存指示手段と、を有することを特徴とする保存指示装置である。
【０００９】
この発明によれば、コンテンツ分散保存システムにコンテンツデータを投入する際に、コンテンツ分散保存システムへの参加期間が短いノード装置に対して保存を指示するため、コンテンツデータを記録するための空き記録容量が比較的多いと推定されるノード装置に対してコンテンツデータの保存を指示することが可能になり、各ノード装置のコンテンツデータを記録するための記録部の記録容量をバランスよく有効に利用することができるコンテンツ分散保存システムを実現することができる。
【００１０】
上記課題を解決するために、請求項２に記載の発明は、請求項１に記載の保存指示装置であって、前記取得手段は、他の装置から、前記参加期間がより短い前記第１所定数よりも大きい第２所定数分の前記ノード情報を取得し、前記ノード情報記憶手段は、取得した第２所定数分の前記ノード情報を記憶し、前記選択手段は、前記ノード情報記憶手段に記憶された第２所定数分のノード情報から前記第１所定数のノード装置を選択し、前記保存指示手段は、選択されたノード装置に対して、前記ノード情報と、前記保存指示情報を送出することを特徴とする保存指示装置である。
【００１１】
この発明によれば、コンテンツ分散保存システムへの参加期間がより短い第１所定数よりも大きい第２所定数のノード情報を取得して記憶し、当該記憶された第２所定数のノード情報の中から第１所定数のノード装置を選択してコンテンツデータの保存を指示することができる。
【００１２】
上記課題を解決するために、請求項３に記載の発明は、請求項２に記載の保存指示装置であって、前記ノード情報に基づく前記第１所定数のノード装置の選択が可能か否かを判定する判定手段を有し、前記判定手段により選択可能であると判定された場合には、前記選択手段は、前記第１所定数のノード装置を選択し、前記判定手段により選択不可能であると判定された場合には、前記ノード装置識別情報を前記第１所定数生成する識別情報生成手段を有し、前記保存指示手段は、生成されたノード装置識別情報にて特定されるノード装置に向けて、前記保存指示情報を送出することを特徴とする保存指示装置である。
【００１３】
この発明によれば、第１所定数のノード装置の選択ができない場合には、ノードＩＤ等のノード装置識別情報を生成して当該ノード装置識別情報に基づいて、当該ノード装置識別情報にて特定されるノード装置に向けてコンテンツデータの保存を指示するメッセージを送出することができるので、ノード情報記憶手段に記憶したノード情報の中から第１所定数のノード装置が選択できない場合であっても、ノードＩＤ等のノード装置識別情報を生成し当該ノードＩＤに従って他のノード装置に対して確実にコンテンツデータの保存を指示することができる。
【００１４】
上記課題を解決するために、請求項４に記載の発明は、請求項２に記載の保存指示装置として機能させた前記ノード装置であって、前記ノード情報記憶手段に記憶されたノード情報にて特定される前記第２所定数のノード装置のうち、第３所定数のノード装置を抽出して分割ノード情報を生成する分割ノード情報生成手段と、前記ノード情報記憶手段に記憶されたノード情報を、前記第２所定数のノード装置から前記分割ノード情報を除いたノード情報を前記ノード情報記憶手段に更新する更新手段を有し、前記選択手段は、前記更新手段にて更新された前記ノード情報記憶手段のノード情報から前記第１所定数のノード装置を選択することを特徴とするノード装置である。
【００１５】
この発明によれば、他のノード装置やコンテンツ投入サーバなどからコンテンツデータの保存を指示されたノード装置は、自己がノード情報記憶手段に記憶しているノード情報から抽出して分割した分割ノード情報を除いたノード情報から第１所定数のノード装置を選択することができる。
【００１６】
上記課題を解決するために、請求項５に記載の発明は、請求項４に記載のノード装置であって、前記保存指示手段は、前記選択手段にて選択されたノード装置に対して、前記分割ノード情報と、前記保存指示情報を送出することを特徴とするノード装置である。
【００１７】
この発明によれば、ノード装置がコンテンツ分散保存システムに参加している他のノード装置に対して保存を指示する際に、分割ノード情報を送信して保存を指示するよう構成したので、保存を指示された他のノード装置は、取得した分割ノード情報に基づいて第１所定数のノード装置を選択し、当該選択したノード装置に対してコンテンツデータの保存を指示することができる。
【００１８】
上記課題を解決するために、請求項６に記載の発明は、請求項４又は請求項５に記載のノード装置であって、前記選択手段と前記保存指示手段は、前記コンテンツデータが前記複数のノード装置間で利用可能となる公開日時まで、前記第１所定数のノード装置の選択と、当該選択されたノード装置に対する前記保存指示情報の送出を繰り返し行なうことを特徴とするノード装置である。
【００１９】
この発明によれば、コンテンツの公開日時まで保存指示を繰り返し行なって、コンテンツ分散保存システムに参加するノード装置に対してコンテンツデータの事前配布をコンテンツの公開日時まで行なうことができる。
【００２０】
上記課題を解決するために、請求項７に記載の発明は、請求項４乃至請求項６に記載のノード装置であって、前記更新手段は、前記選択手段にて既に選択されたノード装置のノード情報を前記ノード情報記憶手段から除いて更新することを特徴とするノード装置である。
【００２１】
この発明によれば、同じノード装置に対して重複してコンテンツデータの保存を指示することを防ぐことができる。
【００２２】
上記課題を解決するために、請求項８に記載の発明は、請求項６又は請求項７に記載のノード装置であって、他の装置から前記保存指示情報を受信する保存指示情報受信手段を有し、前記保存指示情報受信手段が、前記保存指示情報を受信したときに、前記取得手段は、前記ノード装置識別情報と参加期間とを前記他の装置から取得し、前記ノード情報記憶手段は、取得された前記ノード装置識別情報と参加期間とを対応させたノード情報を記憶し、前記選択手段は、前記ノード情報記憶手段に記憶されたノード情報に基づいて、前記参加期間がより短い第１所定数の前記ノード装置を選択し、前記保存指示手段は、前記選択されたノード装置に対して前記保存指示情報を送出することを特徴とするノード装置である。
【００２３】
この発明によれば、ノード装置は、コンテンツ投入サーバ又は他のノード装置等の他の装置から保存指示情報を受信して保存指示を受けたときに、当該保存指示情報を送信してきた他の装置からノード装置識別情報と参加期間とを取得してノード情報記憶手段に記憶させ、当該記憶されたノード情報に基づいて選択したノード装置に対して保存指示情報を送信することができる。
【００２４】
上記課題を解決するために、請求項９に記載の発明は、請求項８に記載のノード装置であって、前記保存指示情報を送信してきた前記他の装置から前記コンテンツデータの前記公開日時を示す公開日時情報を取得する公開日時情報取得手段を有することを特徴とするノード装置である。
【００２５】
この発明によれば、コンテンツデータの保存指示を受けたノード装置は、コンテンツデータの公開日時を容易に取得して把握することができる。
【００２６】
上記課題を解決するために、請求項１０に記載の発明は、コンピュータを、請求項１乃至３の何れか一項に記載の保存指示装置として機能させることを特徴とする保存指示処理プログラムである。
【００２７】
上記課題を解決するために、請求項１１に記載の発明は、コンピュータを、請求項４乃至９の何れか一項に記載のノード装置として機能させることを特徴とするノード処理プログラムである。
【００２８】
上記課題を解決するために、請求項１２に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置間で複数のコンテンツデータを利用可能とするためコンテンツデータをノード装置に保存させる保存指示装置を備えたコンテンツ分散保存システムにおける保存指示方法であって、前記保存指示装置が、前記ノード装置を識別するノード装置識別情報と、前記ノード装置識別情報のノード装置における前記コンテンツ分散保存システムに参加している参加期間とを取得してノード情報としてノード情報記憶手段に対応付けて記憶する工程と、前記保存指示装置が、前記ノード情報記憶手段に記憶されたノード情報に基づいて、前記参加期間がより短い第１所定数の前記ノード装置を選択し、選択されたノード装置に対して、コンテンツデータの保存を指示する保存指示情報を送出する工程と、を有することを特徴とする保存指示方法である。
【発明の効果】
【００２９】
本発明によれば、コンテンツ分散保存システムにコンテンツデータを投入する際に、コンテンツ分散保存システムへの参加期間が短いノード装置に対して保存を指示するため、ノード装置のコンテンツデータを記録するための空き記録容量が比較的多いと推定されるノード装置に対してコンテンツデータの保存を指示することが可能になり、各ノード装置のコンテンツデータを記録するための記録部の記録容量をバランスよく有効に利用することができるコンテンツ分散保存システムを実現することができる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の最良の実施形態を図面に基づいて説明する。
【００３１】
［１．コンテンツ分散保存システムの構成等］
始めに、図１等を参照して、本実施形態に係るコンテンツ分散保存システムの概要構成等について説明する。
【００３２】
図１は、本実施形態に係るコンテンツ分散保存システムにおける各ノード装置の接続態様の一例を示す図である。
【００３３】
図１の下部枠１０１内に示すように、ＩＸ（Internet eXchange）３、ＩＳＰ（Internet Service Provider）４ａ、４ｂ、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５ａ、５ｂ、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界の通信ネットワーク）８が構築されている。なお、図１の例におけるネットワーク８には、データ（パケット）を転送するためのルータが、適宜挿入されているが図示を省略している。
【００３４】
このようなネットワーク８には、複数のノード装置（以下、「ノード」という）Ｎｎ（ｎ＝１，２，３・・・の何れか）がルータを介して接続されている。また、各ノードＮｎには、固有の製造番号およびＩＰ（Internet Protocol）アドレスが割り当てられている。そして、本実施形態に係るコンテンツ分散保存システムＳは、これらのノードＮｎのうち、図１の上部枠１００内に示すように、何れか複数のノードＮｎの参加により形成されるピアツーピア方式のネットワークシステムとなっている。
【００３５】
なお、図１の上部枠１００内に示すネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するＰ２Ｐネットワーク（オーバーレイネットワーク、論理的なネットワーク）９である。かかるＰ２Ｐネットワーク９は、特定のアルゴリズム、例えば、ＤＨＴを利用したアルゴリズムにより実現される。
【００３６】
そして、コンテンツ分散保存システムＳ（言い換えれば、Ｐ２Ｐネットワーク９）に参加している各ノードＮｎには、所定桁数からなる固有の識別情報であるノードＩＤが割り当てられている。また、当該ノードＩＤは、例えば、各ノードＮｎに個別に割り当てられたＩＰアドレス或いは製造番号を共通のハッシュ関数（例えば、ＳＨＡ−１等）によりハッシュ化した値（例えば、ｂｉｔ長が１６０ｂｉｔ）であり、一つのＩＤ空間に偏りなく分散して配置されることになる。
【００３７】
更に、コンテンツ分散保存システムＳは、新しいコンテンツをコンテンツ分散保存システムＳ内に投入する本発明の保存指示装置の一例としてのコンテンツ投入サーバＣＳと、ノードＮｎが当該コンテンツ分散保存システＳへ参加する際の登録認証を行なうための認証サーバＡＳと、各ノードＮｎのコンテンツ分散保存システムＳへの登録日時、各ノードＮｎのＩＰアドレス、ノードＩＤ等をノード情報として管理保存するデータベースサーバＤＳを備える。
【００３８】
なお、コンテンツ分散保存システムＳへの参加は、参加していないノードＮｎ（例えば、ノードＮ２５）が、該システムＳへの参加許可を受けるべく、認証サーバＡＳに対して自己のＩＰアドレス情報やノードＩＤと共にシステム利用登録を要求（登録要求）し、認証サーバＡＳにてコンテンツ分散保存システムＳへの参加が許可されることによって行われる。
【００３９】
認証サーバＡＳは、新たなノードＮｎ（新規参加ノードＮｎ）が当該認証システムＡＳにアクセスしてシステム利用登録を行なうと、データベースサーバＤＳに対して当該新規参加ノードＮｎのＩＰアドレス、ノードＩＤ（ノード装置識別情報の一例）、及び登録日時を通知し、データベースサーバＤＳがこれらを対応付けて記憶（登録）する。
【００４０】
一方、参加が許可された新規参加ノードＮｎは、既に当該システムＳへ参加している任意のノードＮｎ（例えば、当該システムＳに常時参加しているコンタクトノード）に対して自己がシステムＳへ参加したことを示す参加メッセージを送信してコンテンツ分散保存システムＳへ参加する。  
【００４１】
コンテンツ分散保存システムＳに参加している各ノードＮｎは、夫々、ＤＨＴを用いたルーティングテーブルを保持している。そこで、新規参加ノードＮｎから参加メッセージを受けたノードＮｎ（コンタクトノード等）は、自己が保持するルーティングテーブルをコピーして新規参加ノードＮｎへ送付する。
【００４２】
このルーティングテーブルは、コンテンツ分散保存システムＳ上における各種メッセージの転送先を規定しており、具体的には、ＩＤ空間内で適度に離れたノードＮｎのノードＩＤ、ＩＰアドレス、ポート番号等を含むノード情報が複数登録されている。なお、ＩＰアドレス及びポート番号は、ネットワークアドレス情報の一例である。
【００４３】
コンテンツ分散保存システムＳに参加している１台のノードＮｎは、該システムＳに参加している全てのノードＮｎのうち、必要最低限のノードＮｎのノード情報をルーティングテーブルに登録しておき、ノード情報を知らない（記憶していない）ノードＮｎについては、各ノードＮｎ間で互いに各種メッセージを転送し合って届けてもらうようになっている。
【００４４】
このようなＤＨＴを用いたルーティングテーブルについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００４５】
次に、コンテンツ分散保存システムＳにて各ノードＮｎにて利用されるコンテンツについて説明する。
【００４６】
コンテンツ分散保存システムＳでは、内容の異なる様々なコンテンツ（例えば、映画や音楽等）のコンテンツデータ（コンテンツの複製データであって、以下、レプリカと言う）が所定のファイル形式で複数のノードＮｎに分散して保存（格納）されており、各ノードＮｎ間で当該レプリカを利用可能になっている。例えば、ノードＮ５には、タイトルがＸＸＸの映画のコンテンツのレプリカが保存されており、一方、ノードＮ３には、タイトルがＹＹＹの映画のコンテンツのレプリカが保存されるというように、複数のノードＮｎ（以下、「コンテンツ保持ノード」という）に分散されて保存されている。
【００４７】
また、これらのコンテンツのレプリカには、夫々、コンテンツ名（タイトル）及びコンテンツＩＤ（コンテンツ毎に固有の識別情報）等の情報が付加されている。このコンテンツＩＤは、例えば、コンテンツ名＋任意の数値（或いは、コンテンツデータの先頭数バイトでも良い）が、上記ノードＩＤを得るときと共通のハッシュ関数によりハッシュ化されて生成される（ノードＩＤと同一のＩＤ空間に配置）。或いは、システム管理者が、コンテンツ毎に一意のＩＤ値（ノードＩＤと同一ビット長）を付与しても良い。この場合は、コンテンツ名とそのコンテンツＩＤの対応が書かれたカタログがシステム管理者によってコンテンツ分散保存システムＳに参加する全ノードＮｎに配布される。
【００４８】
そして、コンテンツ投入サーバＣＳによって、コンテンツ分散保存システムＳに新たにコンテンツを投入する際には、コンテンツ分散保存システムＳへの参加期間がより短いノードＮｎに対して、新規コンテンツのレプリカの保存が指示される。具体的には、コンテンツ投入サーバＣＳは、データベースサーバＤＳから当該システムＳへの参加日時がより最近の第２所定数（例えば、１０個、１００個など）のノードＮｎのＩＰアドレスやノードＩＤ等のノード情報が掲載された保存先候補リストを取得して、当該保存先候補リストから第１所定数のノードＮｎを選択（例えば、１個をランダムに選択）し、選択したノードＮｎに対してコンテンツのレプリカを送信して保存を指示する。コンテンツ投入サーバＣＳからコンテンツの保存指示を受けたノードＮｎは、コンテンツのレプリカを自己の記憶部のキャッシュ領域に保存（記録）する。
【００４９】
その後、ノードＮｎは、当該レプリカを保存したことをそのコンテンツのレプリカの所在を管理しているノードＮｎ（以下、「ルートノード」「コンテンツデータ（コンテンツＩＤ）のルートノード」という）に知らせるために（言い換えれば、該システムＳに参加している他のノードＮｎに対して公開するために）、当該レプリカのコンテンツＩＤ及び自己のノード情報（ノードＩＤ、ＩＰアドレス等）が含まれるパブリッシュ（登録）メッセージを生成し、該パブリッシュメッセージを、そのルートノードに向けて（ルートノード宛に）送出する。
【００５０】
これにより、パブリッシュメッセージは、コンテンツＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。そして、該ルートノードは、受信したパブリッシュメッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報を登録（インデックスキャッシュに記憶）することになる。こうして、保存指示を受けたノードＮｎは、新たに、上記コンテンツのレプリカを保持するコンテンツ事前保持ノードとなる。
【００５１】
なお、上記パブリッシュメッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報は、ルートノードに至るまでの転送経路におけるキャッシュノードにおいても登録（キャッシュ）される。
【００５２】
そして、ノードＮｎに保存された新規コンテンツは、公開日時がくると、当該コンテンツの情報がシステム運営者が配布するカタログリストに掲載され、コンテンツのレプリカのダウンロードが可能（コンテンツ分散保存システムＳに参加する複数のノードＮｎ間で共用可能）になる。そして、当該コンテンツの視聴を所望する各ノードＮｎは、（ｉ）当該コンテンツを検索して（ｉｉ）当該コンテンツを保存するノードＮｎからコンテンツをダウンロードして取得して視聴する。
【００５３】
また、このように分散保存されているレプリカの所在、つまり、当該レプリカを保存したノードＮｎのノード情報（ノードＩＤやＩＰアドレス等）と当該コンテンツのレプリカに対応するコンテンツＩＤ等の組が含まれるインデックス情報が、ルートノード等により記憶（インデックスキャッシュに記憶）、管理されるようになっている。
【００５４】
つまり、コンテンツのレプリカを保存しているコンテンツ保持ノードのノード情報は、他のノードＮｎからの問い合わせに応じて提供可能なように夫々のルートノードにより管理されている。
【００５５】
例えば、タイトルがＸＸＸの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツ（コンテンツＩＤ）のルートノードであるノードＮ４により管理され、タイトルがＹＹＹの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツ（コンテンツＩＤ）のルートノードであるノードＮ７により管理される。また、このようなルートノードは、例えば、コンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有するノードＮｎであるように定められる。
【００５６】
そして、あるノードＮｎのユーザが、所望するコンテンツのレプリカを取得したい場合、当該レプリカの取得を望むノードＮｎ（以下、「ユーザノード」という）は、当該ユーザにより選択されたコンテンツのコンテンツＩＤ及び自己のＩＰアドレス等を含むコンテンツ所在問合せ（検索）メッセージ（クエリ）を生成し、これを自己のＤＨＴを用いたルーティングテーブルにしたがって他のノードＮｎに対して送出する。つまり、ユーザノードは、コンテンツ所在問合せ（検索）メッセージを、ルートノードに向けて（ルートノード宛に）送出する。これにより、コンテンツ所在問合せ（検索）メッセージは、上述したパブリッシュメッセージと同じように、コンテンツＩＤをキーとするＤＨＴルーティングによって最終的にルートノードに到着することになる。
【００５７】
なお、各ノードＮｎにおいてユーザにより選択されるべきコンテンツのコンテンツ名及びコンテンツＩＤ等の属性情報は、コンテンツカタログリストに記述されている。また、上記コンテンツ所在問合せ（検索）メッセージに含まれるコンテンツＩＤは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。なお、ＤＨＴルーティングについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００５８】
上記コンテンツ所在問合せ（検索）メッセージを受信したルートノードは、これに含まれるコンテンツＩＤに対応するインデックス情報をインデックスキャッシュから取得して、当該インデックス情報を、該コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信する。こうしてインデックス情報を取得したユーザノードは、当該インデックス情報に含まれるあるコンテンツ保持ノードのＩＰアドレス等に基づいて当該コンテンツ保持ノードに接続して、コンテンツ送信要求メッセージを送信し、そこからコンテンツのレプリカを取得することが可能になる。なお、当該インデックス情報には、例えば複数のコンテンツ保持ノードのノード情報が含まれていることもある（同一のコンテンツのレプリカが複数のコンテンツ保持ノードに保存されている場合）。かかる場合、ユーザノードは、当該複数のコンテンツ保持ノードのうち一つのコンテンツ保持ノードを選択し、選択したコンテンツ保持ノードに接続してコンテンツのレプリカを取得することができる。
【００５９】
なお、ルートノードは、当該インデックス情報に含まれるＩＰアドレス等に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信し、これにより、ユーザノードは、上記コンテンツ保持ノードからそのレプリカを取得することもできる。また、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、当該ルートノードと同じインデックス情報をキャッシュしているキャッシュノードから当該インデックス情報を取得することもできる。
【００６０】
また、コンテンツ保持ノードから取得したコンテンツのレプリカを保存したユーザノードは、当該レプリカを保存したことをそのルートノードに知らせるために上述したパブリッシュメッセージをそのルートノードに向けて（ルートノード宛に）送出し、新たに、上記コンテンツのレプリカを保持するコンテンツ保持ノードとなる。
【００６１】
以上説明したコンテンツ分散保存システムＳにおいては、新たに投入されるコンテンツのレプリカが、該システムＳにおいて利用可能となる前に（公開前に）、保存指示装置の一例としてのコンテンツ投入サーバＣＳから何れかのノードＮｎに送信され、更に当該ノードＮｎが保存指示装置として機能して他のノードＮｎにレプリカを転送して保存指示することにより、一部のノードＮｎ（コンテンツ事前保持ノード）に分散して保存させるようになっている。これは、新たに投入されるコンテンツの公開後に、当該コンテンツのレプリカにアクセスが集中するのを回避するためである。
【００６２】
このとき、コンテンツ投入サーバＣＳは、コンテンツ分散保存システムＳに参加している全てのノードＮｎの当該システムＳへの参加期間を登録しているデータベースサーバＤＳから、参加期間がより短い第２所定数のノード情報が掲載された保存先候補リストを取得して、これに基づいて、第１所定数（第１所定数＜第２所定数）のノードＮｎをランダムに選択して当該選択されたノードＮｎに対して新規コンテンツのレプリカを保存するよう指示する。更に、保存を指示されたノードＮｎも、自己が保存指示装置となり保存先候補リストに基づいて参加期間がより短いノードＮｎを選択して新たに投入されるコンテンツのレプリカの保存を指示するよう構成する。
【００６３】
これにより、レプリカを保存（記録）するための記憶部のキャッシュ領域の記録容量に余裕があると推定される（空き記録容量が比較的多いと推定される）参加期間の短いノードＮｎを、コンテンツ事前保持ノードとすることができる。
【００６４】
[２.各装置の構成及び機能]
[２−１.ノードＮｎの構成及び機能]
次に、図２を参照して、ノードＮｎの構成及び機能について説明する。
【００６５】
図２は、ノードＮｎの概要構成例を示す図である。
【００６６】
各ノードＮｎは、図２に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データおよびプログラムを記憶するＲＯＭ等から構成されたコンピュータとしての制御部１１と、各種データ（例えば、コンテンツデータのレプリカ、保存先候補リスト、インデックス情報、ＤＨＴ等）及び各種プログラム等を記憶保存（格納）するためのＨＤ（ハードディスク）等から構成されたノード情報記憶手段としての記憶部１２と、受信されたコンテンツデータのレプリカ等を一時蓄積するバッファメモリ１３と、コンテンツデータのレプリカに含まれるエンコードされたビデオデータ（映像情報）およびオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）するデコーダ部１４と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部１５と、当該映像処理部１５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等の表示部１６と、上記デコードされたオーディオデータをアナログオーディオ信号にＤ（Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音声処理部１７と、当該音声処理部１７から出力されたオーディオ信号を音波として出力するスピーカ１８と、ネットワーク８を通じて他のノードＮｎ、コンテンツ投入サーバＣＳ、データベースサーバＤＳ、認証サーバＡＳ等間の情報の通信制御を行なうための通信部２０と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部１１に対して与える入力部（例えば、キーボード、マウス、或いは、操作パネル等）２１と、を備えて構成され、制御部１１、記憶部１２、バッファメモリ１３、デコーダ部１４、通信部２０、及び入力部２１はバス２２を介して相互に接続されている。なお、ノードＮｎとしては、パーソナルコンピュータ、ＳＴＢ（Set Top Box）、或いは、ＴＶ受信機等を適用可能である。
【００６７】
また、コンテンツ分散保存システムＳが、当該システムＳに参加する際のアクセス先となるコンタクトノードを備えている場合には、記憶部１２には当該コンタクトノードのＩＰアドレス及びポート番号等が記憶されている。更に、記憶部１２には、キャッシュ領域に保存（記録）しているコンテンツのレプリカに関する情報（タイトル、コンテンツＩＤ等）を登録するための保存コンテンツ管理テーブルが記憶されている。
【００６８】
このような構成において、制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラム（本発明の保存指示処理プログラム、ノード処理プログラムを含む）を読み出して実行することにより、全体を統括制御し、コンテンツ分散保存システムＳへの参加により上述したユーザノード、中継ノード、ルートノード、キャッシュノード、コンテンツ保持ノード、及びコンテンツ事前保持ノードの少なくとも何れか一つのノードとしての処理を行なうようになっている。
【００６９】
また、保存指示装置としての処理を行なう制御部１１は、本発明における取得手段、ノード情報記憶手段、選択手段、保存指示手段、判定手段、識別情報生成手段、分割ノード情報生成手段、保存指示情報受信手段、更新手段及び公開日時情報取得手段として機能する。なお、上記保存指示処理プログラム及びノード処理プログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【００７０】
そして、コンテンツ投入サーバＣＳ又は他のノードＮｎから、新たにコンテンツ分散保存システムＳに投入すべきコンテンツのレプリカの保存指示がされると、当該レプリカを記憶部１２に記憶する。そして、保存指示と共に受信した保存先候補リストも一旦記憶部１２に記憶する。そして、当該リストを送信用と保存用に分割し、保存用の保存先候補リストから１つ（第１所定数の一例）のノードＮｎを選択し、選択したノードＮｎに対してレプリカと送信用の保存先候補リストを送信してレプリカの保存を指示する。なお、保存先候補リストの分割については、後に詳細に説明する。
【００７１】
[２−２．認証サーバＡＳの構成及び機能]
続いて、認証サーバＡＳの概略構成について図３を用いて説明する。なお、図３は実施形態に係る認証サーバＡＳの概略構成を示すブロック図である。
【００７２】
図３に示すように、実施形態に係るコンテンツ分散保存システムＳに含まれる認証サーバＡＳは、演算機能を有するＣＰＵ、作業用ＲＡＭ（Random Access Memory）、各種データ及びプログラムを記録するＲＯＭ（Read Only Memory）等から構成された制御部１０１と、各種データ及びプログラム等を記憶保存（格納）するためのＨＤ等から構成された記憶部１０２と、ネットワークを通じてコンテンツ分散保存システムＳに含まれる各ノードＮｎ、コンテンツ投入サーバＣＳ及びデータベースサーバＤＳとの間の情報の通信制御を行なうための通信部１０３と、当該認証サーバＡＳを操作する操作者からの指示を受け付け当該指示に応じた指示信号を制御部１０１に出力する入力部（例えば、キーボード、マウス或いは、操作パネル等）１０４と、を備えて構成され、制御部１０１、記憶部１０２、通信部１０３及び入力部１０４は、バス１０５を介して相互にデータの授受が可能に接続されている。
【００７３】
そして、制御部１０１におけるＣＰＵが記憶部１０２等に記録された各種プログラムを実行することにより、制御部１０１が、実施形態に係る認証サーバＡＳとしての全体動作を統括制御する。
【００７４】
図４に図示するように、制御部１０１は、新たにコンテンツ分散保存システムＳへの参加を希望するノード（新規参加ノード）から、コンテンツ分散保存システムＳへの登録要求を受けると（図４［１］参照）、認証処理を行なって登録（コンテンツ分散保存システムＳへの参加）の可否を判断し、登録を許可する場合には、コンテンツ分散保存システムＳへの参加（登録）を許可する旨記載された端末証明書を新規参加ノードに対して通信部１０３を介して通知する（図４［２］参照）。
【００７５】
そして、新規参加ノードに対して端末証明書を通知した日時（図４［２］）（或いは、新規参加ノードからの登録要求を受けた日時（図４［１］）でもよい。）を当該新規参加ノードのシステムＳへの登録日時とし、ノードＩＤ、ＩＰアドレスと共にノード情報としてデータベースサーバＤＳに対して通信部１０３を介して送信し、新規参加ノードの登録日時を記録するよう要求する（登録日時記録要求）（図４［３］参照）。また、認証サーバＡＳから端末証明書を受信して参加が許可された新規参加ノードは、コンタクトノードに対して参加メッセージを送信してコンテンツ分散保存システムＳへ参加することとなる（図４［４］参照）。なお、図４ではコンテンツ分散保存システムＳ（Ｐ２Ｐネットワーク９）に参加しているノードＮｎをノードＮ５、Ｎ８、Ｎ１０、、、等のみ示し、図を簡略化している。
【００７６】
[２−３．データベースサーバＤＳの構成及び機能]
続いて、データベースサーバＤＳの概略構成について図５を用いて説明する。なお、図５は実施形態に係るデータベースサーバＤＳの概略構成を示すブロック図である。
【００７７】
図５に示すように、実施形態に係るコンテンツ分散保存システムＳに含まれるデータベースサーバＤＳは、演算機能を有するＣＰＵ、作業用ＲＡＭ（Random Access Memory）、各種データ及びプログラムを記録するＲＯＭ（Read Only Memory）等から構成された制御部２０１と、認証サーバＡＳからの登録日時記録要求を受けて、各ノードＮｎの登録日時、ノードＩＤ、ＩＰアドレスを含むノード情報が記憶保存（格納）されたユーザ情報データベース２０２ａを備え、各種データ及びプログラム等を記憶保存（格納）するためのＨＤ等から構成された記憶部２０２と、ネットワークを通じて各ノードＮｎ、コンテンツ投入サーバＣＳ及び認証サーバＡＳ等、他の装置との間の情報の通信制御を行なうための通信部２０３と、当該データベースサーバＤＳを操作する操作者からの指示を受け付け当該指示に応じた指示信号を制御部２０１に出力する入力部（例えば、キーボード、マウス或いは、操作パネル等）２０４と、を備えて構成され、制御部２０１、記憶部２０２、通信部２０３及び入力部２０４、はバス２０５を介して相互にデータの授受が可能に接続されている。
【００７８】
そして、制御部２０１におけるＣＰＵが記憶部２０２等に記録された各種プログラムを実行することにより、制御部２０１が、実施形態に係るデータベースサーバＤＳとしての全体動作を統括制御する。
【００７９】
そして、制御部２０１は、認証サーバＡＳから新規参加ノードのノード情報を受信して登録日時の記録要求（登録日時記録要求）を受けると（図４［１］参照）、記憶部２０２のユーザ情報データベース２０２ａに、新規参加ノードの登録日時、ノードＩＤ及びＩＰアドレスを対応付けて記憶する。
【００８０】
図６に、ユーザ情報データベース２０２ａに記憶保存されているノード情報の一例を示す。ユーザ情報データベース２０２ａには、コンテンツ分散保存システムＳに新たに参加するノードがある度に、上述した手順に従って認証サーバＡＳから受信した新規参加ノードのノード情報が登録される。従って、このユーザ情報データベース２０２ａには、コンテンツ分散保存システムＳに参加する全てのノードＮｎの登録日時（Ｎｘ_ｎ）、ノードＩＤ（Ｎｘ_ｎ）、及びＩＰアドレス（Ｎｘ_ｎ）が夫々対応付けられてノード情報Ｎｘ_１、ノード情報Ｎｘ_２、ノード情報Ｎｘ_３、、、ノード情報Ｎｘ_ｎとして登録（格納）されている。
【００８１】
そして、制御部２０１ａは、コンテンツ投入サーバＣＳからの要求に応じて、ユーザ情報データベース２０２ａから、登録日時がより最近（より新しく登録された）であるノード情報を要求された数だけ抽出して保存先候補リストを生成してコンテンツ投入サーバＣＳに送信する。
【００８２】
[２−４.コンテンツ投入サーバＣＳの構成及び機能]
続いて、コンテンツ投入サーバＣＳの概略構成について図７を用いて説明する。なお、図７は実施形態に係るコンテンツ投入サーバＣＳの概略構成を示すブロック図である。
【００８３】
図７に示すように、実施形態に係るコンテンツ分散保存システムＳに含まれるコンテンツ投入サーバＣＳは、演算機能を有するＣＰＵ、作業用ＲＡＭ（Random Access Memory）、各種データ及びプログラムを記録するＲＯＭ（Read Only Memory）等から構成された制御部３０１と、投入するコンテンツデータや投入済みのコンテンツデータ、データベースサーバＤＳから取得した保存先候補リスト及びその他の必要なプログラム等を記録保存（格納）するためのＨＤ等から構成されたノード情報記憶手段としての記憶部３０２と、ネットワーク８を通じて各ノードＮｎ、認証サーバＡＳ、データベースサーバＤＳ等、他の装置との間の情報の通信制御を行なうための通信部３０３と、当該コンテンツ投入サーバＣＳを操作する操作者からの指示を受け付け当該指示に応じた指示信号を制御部３０１に出力する入力部（例えば、キーボード、マウス或いは、操作パネル等）３０４と、を備えて構成され、制御部３０１、記憶部３０２、通信部３０３及び入力部３０４は、バス３０５を介して相互にデータの授受が可能に接続されている。
【００８４】
そして、制御部３０１におけるＣＰＵが記憶部３０２等に記録されたプログラム（本発明の保存指示処理プログラムを含む）を読み出して実行することにより、全体動作を統括制御し、上記各構成部材と協動して当該コンテンツ投入サーバＣＳを本発明における保存指示装置として機能させる。そして、保存指示装置としての処理を行なう制御部３０１は、本発明における取得手段、ノード情報記憶手段、選択手段、判定手段、保存指示手段及び識別情報生成手段として機能する。なお、上記保存指示処理プログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【００８５】
図８に図示するように、制御部３０１は、コンテンツ分散保存システムＳに新しいコンテンツのレプリカを投入する際、つまり、コンテンツ分散保存システムＳに参加するノードＮｎに分散して保存させる際、データベースサーバＤＳに対して、コンテンツ分散保存システムＳへの参加期間が短い例えば１０個（第２所定数の一例）のノードＮｎのノード情報が掲載された保存先候補リストを要求して（図８［１］参照）、当該データベースサーバＤＳから保存先候補リストを取得する（取得手段）（図８［２］参照）。
【００８６】
そして、制御部３０１は、取得した保存先候補リストを記憶部３０２に保存し（ノード情報記憶手段）、当該保存先候補リストに掲載されたノード情報のうち、例えばランダムに１つ（第１所定数の一例）のノード情報を選択し（選択手段）、当該ノード情報に対応するノードＮｎに対して保存指示情報を送出して新規コンテンツのレプリカの保存を指示する（図８［３］参照）。例えば、保存先候補リストに掲載されたノード情報のうち、ノード情報Ｎｘ_１を選択した場合には、当該ノード情報Ｎｘ_１が示すノードＮ１に対して新規コンテンツのレプリカの保存を指示する（保存指示手段）。
【００８７】
なお、本実施形態では、コンテンツ投入サーバＣＳの制御部３０１がコンテンツのレプリカの保存を指示する際には、当該指示と共にコンテンツのレプリカが保存先のノードＮｎに共に送信される、いわゆる「プッシュ式」のコンテンツ保存が行なわれるよう構成する。そして、コンテンツのレプリカの保存を指示されたノードＮｎは、レプリカを自己の記憶部１２のキャッシュ領域に記録してコンテンツ事前保持ノードとなると共に、当該レプリカを保存したことをそのルートノードに知らせるために（言い換えれば、該システムＳに参加している他のノードＮｎに対して公開するために）、当該レプリカのコンテンツＩＤ及び自己のノード情報が含まれるパブリッシュメッセージを、そのルートノードに向けて（ルートノード宛に）送出する。これにより、パブリッシュメッセージは、上述したコンテンツ所在問合せ（検索）メッセージと同じように、コンテンツＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。
【００８８】
また、制御部３０１は、データベースサーバＤＳから取得した保存先候補リストも保存先のノードＮｎに送信する。
【００８９】
なお、図８に示す例では、コンテンツ分散保存システムＳ（Ｐ２Ｐネットワーク９）に参加しているノードＮｎをノードＮ５、Ｎ８、Ｎ１０、、等のみ示し、図を簡略化している。また、コンテンツ投入サーバＣＳは、ノード情報Ｎｘ_１からノード情報Ｎｘ_１０の１０個のノード情報が掲載された保存先候補リストをデータベースサーバＤＳから取得しているが、コンテンツ投入サーバＣＳが、新たなコンテンツをシステム内に保存させる数（保存数）を当該コンテンツの人気度等に応じて決定し、当該保存数に応じて、データベースサーバＤＳに要求するノード情報の数（第２所定数）を適宜変更すればよく、例えば、人気が高く公開後に多数のレプリカ配信要求が予測される場合には、保存数を多く決定し、少なくとも決定した保存数以上の数をノード情報を要求する等のように構成すればよい。なお、コンテンツの人気度とは、例えば、コンテンツが映画であって、既に劇場公開されているような場合、その観客動員数に応じて決定したり、或いは、コンテスト等の受賞履歴等に基づいて決定したり、或いは、コンテンツが音楽である場合には、そのアーティストの過去の作品の売り上げ等を考慮して決定すればよい。
【００９０】
そして、コンテンツのレプリカが他のノードＮｎ間で共用可能となる日時である公開日時を示す情報（公開日時情報）を、保存指示情報又はコンテンツのレプリカに含んで、選択したノードＮｎに対して送信するよう構成する。保存指示情報を受信してレプリカの保存指示を受けたノードＮｎは、当該レプリカをコンテンツＩＤと対応付けて自己の記憶部１２のキャッシュ領域に記憶して、登録処理（パブリッシュメッセージの送信）を行なう。
【００９１】
その後、保存指示情報又はコンテンツのレプリカに含んで取得した公開時刻情報が示す公開日時に至ると、コンテンツの情報（コンテンツＩＤ，タイトルなど）がシステム運営者が配布するカタログリストに掲載されて、コンテンツ分散保存システムＳに参加する他のノードＮｎは、カタログリストに掲載されたコンテンツのコンテンツＩＤに基づいて所望のレプリカの所在を問い合わせるコンテンツ所在問い合わせメッセージ（クエリ）を生成してルートノードに向けて送出し（つまり、ルートノードにコンテンツのレプリカの所在を問い合わせる）、レプリカを保持するノードＮｎを知り、当該レプリカを保持するノードＮｎから当該レプリカのダウンロードすることが可能となる。
【００９２】
また、コンテンツ投入サーバＣＳがデータベースサーバＤＳに要求するノード情報の数（第２所定数）は、保存指示を受けたノードＮｎが選択するノードＮｎの数（第１所定数）よりも大きい値とする。
【００９３】
また、コンテンツ投入サーバＣＳからレプリカの保存指示を受けたノードＮｎは、コンテンツ分散保存システムＳに参加する他のノードＮｎに対してコンテンツのレプリカの保存を指示する。すなわち、コンテンツ投入サーバＣＳからレプリカの保存指示を受けたノードＮｎが保存指示装置として機能することとなる。そして、この保存指示を受けた他のノードＮｎも同様にコンテンツ分散保存システムＳに参加する他のノードＮｎに対してコンテンツのレプリカの保存を指示する。このように、保存指示装置として機能するコンテンツ投入サーバＣＳまたはシステムＳに参加するノードＮｎは、公開日時に至るまでシステムＳに参加するノードＮｎに対してレプリカの保存指示を繰り返し行なうことにより、新規コンテンツのレプリカをシステムＳ内に公開前に事前に分散保存させることができるようになっている。
【００９４】
［３．保存先候補リスト］
続いて、レプリカの保存指示を行なう際に各ノードＮｎ間で送受信される保存先候補リストの分割について説明する。
【００９５】
コンテンツ投入サーバＣＳから保存指示情報を受信したノードＮｎは（保存指示情報受信手段）、コンテンツ投入サーバＣＳから取得した保存先候補リストを、保存用の保存先候補リストと送信用の保存先候補リストに分割する。図９は、コンテンツ投入サーバＣＳから受信した保存先候補リストを、ノード情報が半数ずつになるよう２分割した例である。
【００９６】
コンテンツ投入サーバＣＳから例えば１０個（第２所定数）のノード情報が掲載された保存先候補リスト（ノード情報Ｎｘ_１〜Ｎｘ_１０）を取得し（取得手段）、自己の記憶部１２に保存する（ノード情報記憶手段）。その後、保存した保存先候補リスト（ノード情報Ｎｘ_１〜Ｎｘ_１０）から５個（第３所定数の一例）のノード情報を抽出して分割して、分割ノード情報としての保存先候補リスト（ノード情報Ｎｘ_６〜Ｎｘ_１０）を生成する（分割ノード情報生成手段）。
【００９７】
そして、自己の記憶部１２に記憶している保存先候補リスト（ノード情報Ｎｘ_１〜Ｎｘ_１０）を、分割（抽出）したノード情報Ｎｘ_６〜Ｎｘ_１０を除いた、保存用の保存先候補リスト（ノード情報Ｎｘ_１〜Ｎｘ_５）に更新し（更新手段）、記憶部１２に記憶した保存先候補リスト（ノード情報Ｎｘ_１〜Ｎｘ_５）の中から、保存指示をするノードＮｎを選択し（選択手段）、選択したノードＮｎに対して抽出したノード情報を送信用の保存先候補リスト（ノード情報Ｎｘ_６〜Ｎｘ_１０）としてレプリカと共に送信し、保存を指示する（保存指示手段）。
【００９８】
以下、データベースサーバＤＳからコンテンツ投入サーバＣＳを経て各ノードＮｎへと送信される保存先候補リストについて図１０乃至図１２を用いて説明する。
【００９９】
図１０は、データベースサーバＤＳ、コンテンツ投入サーバＣＳ、及びノードＮ５、Ｎ１間において授受される保存先候補リストの様子を示す図であり、図１１は、ノードＮ１、Ｎ７、Ｎ８間において授受される保存先候補リストの様子を示す図である。
【０１００】
データベースサーバＤＳはユーザ情報データベース２０２ａから、登録日時がより最近の（より新しく登録された）ノード情報を、コンテンツ投入サーバＣＳからの要求された数だけ抽出し、当該ノード情報が掲載された保存先候補リスト（ノード情報Ｎｘ_１〜Ｎｘ_１０）を生成してコンテンツ投入サーバＣＳに送信する。
【０１０１】
コンテンツ投入サーバＣＳは、受信した保存先候補リスト（ノード情報Ｎｘ_１〜Ｎｘ_１０）を自己の記憶部３０２に記憶し、記憶した保存先候補リスト（ノード情報Ｎｘ_１〜Ｎｘ_１０）からレプリカの保存を指示するノードＮｎをランダムに１つ選択する。同図ではノードＮ５を選択し、選択したノードＮ５に対して保存先候補リスト（ノード情報Ｎｘ_１〜Ｎｘ_１０）と共にレプリカの保存を指示する。
【０１０２】
ノードＮ５は、コンテンツ投入サーバＣＳから保存先候補リスト（ノード情報Ｎｘ_１〜Ｎｘ_１０）を受信してレプリカの保存の指示を受けると、保存先候補リスト（ノード情報Ｎｘ_１〜Ｎｘ_１０）から第３所定数のノード情報を抽出（分割）して、抽出したノード情報を除いた保存用の保存先候補リスト（ノード情報Ｎｘ_１〜Ｎｘ_５）を自己の記憶部１２に記憶する。この自己の記憶部１２に記憶した保存先候補リスト（ノード情報Ｎｘ_１〜Ｎｘ_５）からレプリカの保存を指示するノードをランダムに１つ選択する。同図ではノードＮ１を選択し、選択したノードＮ１に対して抽出したノード情報からなる送信用の保存先候補リスト（ノード情報Ｎｘ_６〜Ｎｘ_１０）と共にレプリカの保存を指示する。
【０１０３】
次いで、ノードＮ１は、ノードＮ５から５つ（第２所定数）のノード情報（Ｎｘ_６〜Ｎｘ_１０）が掲載された保存先候補リストを受信してレプリカの保存の指示を受けると、保存先候補リスト（ノード情報Ｎｘ_６〜Ｎｘ_１０）から第３所定数のノード情報を抽出（分割）して、抽出したノード情報を除いた保存用の保存先候補リスト（ノード情報Ｎｘ_６〜Ｎｘ_７）を自己の記憶部１２に記憶する。この自己の記憶部１２に記憶した保存先候補リスト（ノード情報Ｎｘ_６〜Ｎｘ_７）からレプリカの保存を指示するノードをランダムに１つ（第１所定数）選択する。同図ではノードＮ７を選択し、選択したノードＮ７に対して抽出したノード情報からなる送信用の保存先候補リスト（ノード情報Ｎｘ_８〜Ｎｘ_１０）と共にレプリカの保存を指示する。
【０１０４】
また、ノードＮ５は、ノードＮ１に対してレプリカの保存を指示した後、図１２に示すように、保存を指示したノードＮ１の情報を自己の記憶部１２に記憶した保存先候補リストから削除して更新し、更新後の保存先候補リスト（ノード情報Ｎｘ_２〜Ｎｘ_５）から更に第３所定数のノード情報を抽出（分割）して、抽出したノード情報を除いた保存用の保存先候補リスト（ノード情報Ｎｘ_２〜Ｎｘ_３）を自己の記憶部１２に記憶する。そして、この自己の記憶部１２に記憶した保存先候補リスト（ノード情報Ｎｘ_２〜Ｎｘ_３）からレプリカの保存を指示するノードをランダムに１つ選択する。同図ではノードＮ３を選択し、選択したノードＮ３に対して抽出したノード情報からなる送信用の保存先候補リスト（ノード情報Ｎｘ_４〜Ｎｘ_５）と共にレプリカの保存を指示する。
【０１０５】
そして、ノードＮ３も同様にしてノードＮ１から受信した保存先候補リスト（ノード情報Ｎｘ_４〜Ｎｘ_５）を保存用と送信用に分割し、保存用の保存先候補リストから選択したノードＮ４に対してレプリカの保存を指示する。
【０１０６】
なお、図１２に示す例では、ノードＮ４がノードＮ５のノード情報のみが掲載された保存先候補リストを受信しており、ノードＮ４はノードＮ５に対して保存を指示することとなる。しかし、上述したようにノードＮ５は既にコンテンツ投入サーバＣＳからの保存指示に従ってレプリカを保存しているため、このままではノードＮ５に対して保存指示が重複してしまう。このような場合に備えて、コンテンツ投入サーバＣＳが、保存先候補リストをノードＮ５に送付する際には、当該ノードＮ５のノード情報を保存先候補リストから削除して送信するよう構成してもよい。
【０１０７】
以上説明したように、コンテンツ投入サーバＣＳから保存指示を受けたノードＮｎが、保存指示装置として機能し、保存先候補リストに掲載されたコンテンツ分散保存システムＳへの参加期間が比較的短いノードＮｎに対してレプリカの保存を指示し、保存指示を受けたノードＮｎがレプリカを保存すると共に、保存指示を受けたノードＮｎが更に保存先候補リストに基づいて他のノードＮｎにレプリカの保存を指示していく。そしてこのようなコンテンツのレプリカの保存指示と当該指示に基づく保存が、保存指示元であるコンテンツ投入サーバＣＳ又は他のノードＮｎから保存指示情報又はコンテンツのレプリカに含んで受信した公開日時情報が示すコンテンツ公開日時まで繰り返し行なわれることとなる。
【０１０８】
ところで、保存先候補リストは、各ノードＮｎにおいて保存指示をする度に分割され更新されるので、公開日時前に保存先候補リストに掲載されたノード情報がなくなってしまうことが想定される。また、コンテンツ投入サーバＣＳがデータベースサーバＤＳから保存先候補リストを取得できない場合や、コンテンツ投入サーバＣＳから保存指示を受けたノードＮｎが、コンテンツ投入サーバＣＳから保存先候補リストを受信できなかった場合も想定される。このような場合、例えば、コンテンツ投入サーバＣＳがデータベースサーバＤＳから保存先候補リストを取得できなかった場合には、コンテンツ投入サーバＣＳの制御部３０１が識別情報生成手段として機能し、当該コンテンツ投入サーバＣＳにおいて、第１所定数のノードＩＤを生成し、生成したノードＩＤに向けて保存指示メッセージを送出するよう構成する。また、コンテンツ投入サーバＣＳから保存指示を受けたノードＮｎが、コンテンツ投入サーバＣＳから保存先候補リストを受信できなかった場合にも、制御部１１が各ノードＮｎにおいて第１所定数のノードＩＤを生成し、生成したノードＩＤに向けて保存指示メッセージを送出する。
【０１０９】
そして、送出された保存指示メッセージは、生成したノードＩＤと同一のノードＩＤを有するノードＮｎ、或いは当該生成したノードＩＤに近いノードＩＤを有するノードＮｎに到達し、この保存指示メッセージの最終到達先であるノードＮｎがレプリカを保存することとなる。なお、この場合、保存指示メッセージとレプリカとを共に送出してレプリカを「プッシュ式」で送信する構成のほか、保存指示メッセージのみを送信し、保存指示メッセージの最終到達先であるノードＮｎがメッセージに含まれる保存指示元のノード情報（ノードＩＤ、ＩＰアドレス等）に基づいて保存指示元（コンテンツ投入サーバ、又はノードＮｎ）に対して保存すべきレプリカを要求してレプリカを取得するよう構成してもよい。
【０１１０】
［４．各装置の処理］
以上の動作において、認証サーバＡＳ、データベースサーバＤＳ、コンテンツ投入サーバＣＳ、及び各ノードＮｎにおける処理を、図を参照して、詳しく説明する。
【０１１１】
［４−１．認証サーバＡＳの処理］
図１３は、認証サーバＡＳにおける制御部１０１の処理を示すフローチャートであり、例えば認証サーバＡＳとしての処理の実行をシステム管理者等が入力部１０４を介して操作して指示された場合（或いは通信部１０３を介して処理の実行を指示する旨の情報を受信した場合）に開始する。
【０１１２】
先ず、制御部１０１は、認証サーバＡＳの電源がオフとされたか否かを判定し（ステップＳ１０）、オフとされていなければ（ステップＳ１０：Ｎｏ）、新たにコンテンツ分散保存システムＳへの参加を希望するノード（新規参加ノード）から、登録要求がされたか否かを判定する（ステップＳ１１）。
【０１１３】
判定の結果、登録要求がされた場合（ステップＳ１１：Ｙｅｓ）には、新規参加ノードＮｎから受信したノードＩＤやＩＰアドレス等に基づいて参加の可否判断（認証処理）を行ない、参加（登録）を許可する場合には、当該システムＳへの参加を許可する旨記載された端末証明書を生成し（ステップＳ１２）、新規参加ノードＮｎに対して通信部１０３を介して端末証明書を通知する（ステップＳ１３）。
【０１１４】
そして、制御部１０１は、データベースサーバＤＳに新規参加ノードＮｎのノード情報を送信して登録日時の記録を要求し（ステップＳ１４）、ステップＳ１０へ移行する。
【０１１５】
一方、登録要求がされていない場合（ステップＳ１１：Ｎｏ）には、ステップＳ１０に移行する。
【０１１６】
そして、電源がオフとなった場合に（ステップＳ１０：Ｙｅｓ）、処理を終了する。
【０１１７】
［４−２．新規参入ノードＮｎの処理］
図１４は、ノードＮｎが、コンテンツ分散保存システムＳに参加する際における制御部１１の処理を示すフローチャートであり、例えばコンテンツ分散保存システムＳへの参加を所望するユーザが、入力部２０４を介して当該処理の実行を指示した場合に開始する。
【０１１８】
先ず、制御部１１は、ノード装置Ｎｎの電源がオフとされたか否かを判定し（ステップＳ２０）、オフとされていなければ（ステップＳ２０：Ｎｏ）、認証サーバＡＳに、新たにコンテンツ分散保存システムＳへの参加するため登録要求を行なう（ステップＳ２１）。
【０１１９】
次いで、認証サーバＡＳから端末通知書を取得し（ステップＳ２２）、端末証明書が取得できたか否かを判定する（ステップＳ２３）。判定の結果、端末証明書が取得できた場合（ステップＳ２２：Ｙｅｓ）には、コンテンツ分散保存システムＳへ参加（Ｐ２Ｐネットワーク９に参加）して処理を終了する（ステップＳ２４）。
【０１２０】
一方、認証サーバＡＳから端末通知書を取得できなかった場合（ステップＳ２２：Ｎｏ）には、ステップＳ２０へ移行する。再度認証サーバＡＳに登録要求を行なうためである。
【０１２１】
そして、電源がオフとなった場合に（ステップＳ２０：Ｙｅｓ）、処理を終了する。
【０１２２】
［４−３．データベースサーバＤＳの処理］
図１５は、データベースサーバＤＳにおける制御部２０１の処理を示すフローチャートであり、例えば、システム管理者等が入力部２０４を介して操作して当該処理の実行を指示した場合（或いは通信部２０３を介してシステム管理者が操作する他の装置から処理の実行を指示する旨の情報を受信した場合）に開始する。
【０１２３】
先ず、制御部２０１は、データベースサーバＤＳの電源がオフとされたか否かを判定し（ステップＳ３０）、オフとされていなければ（ステップＳ３０：Ｎｏ）、認証サーバＡＳから新規参加ノードＮｎの登録日時の記録を要求されたか否かを判定する（ステップＳ３１）。
【０１２４】
判定の結果、登録日時の記録を要求された場合（ステップＳ３１：Ｙｅｓ）には、認証サーバＡＳから取得した新規参加ノードのノード情報（ノードＩＤ、ＩＰアドレス、登録日時）をユーザ情報データベース２０２ａに登録する（ステップＳ３２）。一方、認証サーバＡＳから登録日時の記録を要求されていない場合（ステップＳ３１：Ｎｏ）には、ステップＳ３３へ移行する。
【０１２５】
次いで、コンテンツ投入サーバＣＳから保存先候補リストの送信を要求されたか否かを判定する（ステップＳ３３）。
【０１２６】
判定の結果、保存先候補リストの送信を要求されていない場合（ステップＳ３３：Ｎｏ）には、ステップＳ３０へ移行し、保存先候補リストの送信を要求された場合（ステップＳ３３：Ｙｅｓ）には、ユーザ情報データベース２０２ａに登録されているノード情報のうち、より新しい登録日時を有するノード情報を、要求された個数分リスト化して保存先候補リストを生成する（ステップＳ３４）。つまり、１０個要求された場合には、最新の登録日時を有するノード情報から１０番目に新しい登録日時を有するノード情報までの１０個のノード情報からなる保存先候補リストを生成する。そして、生成した保存先候補リストをコンテンツ投入サーバＣＳに送信し（ステップＳ３５）、ステップＳ３０の処理へ移行し、電源がオフとなるまでステップＳ３０からステップＳ３５の処理を繰り返し行なう。
【０１２７】
そして、電源がオフとなった場合に（ステップＳ３０：Ｙｅｓ）、処理を終了する。
【０１２８】
［４−４．コンテンツ投入サーバＣＳの処理］
図１６は、コンテンツ投入サーバＣＳにおける制御部３０１の処理を示すフローチャートであり、例えば、システム管理者等が入力部３０４を介して操作して当該処理の実行を指示した場合（或いは通信部３０３を介してシステム管理者が操作する他の装置から処理の実行を指示する旨の情報を受信した場合）に本発明の保存指示処理プログラムが読み出され処理を開始する。
【０１２９】
先ず、制御部３０１は、コンテンツ投入サーバＣＳの電源がオフとされたか否かを判定し（ステップＳ４０）、オフとされていなければ（ステップＳ４０：Ｎｏ）、新たにコンテンツ分散保存システムＳに投入すべきコンテンツがあるか否かを判定する（ステップＳ４１）。
【０１３０】
判定の結果、投入するコンテンツがない場合（ステップＳ４１：Ｎｏ）には、ステップＳ４０へ移行し、投入するコンテンツがある場合（ステップＳ４１：Ｙｅｓ）には、当該コンテンツの人気度等に基づいてノード情報の個数（第２所定数）を指定してデータベースサーバＤＳに対して保存先候補リストを要求する（ステップＳ４２）。
【０１３１】
続いて、データベースサーバＤＳから保存先候補リストを取得できたか否かを判定し（ステップＳ４３）、取得できた場合（ステップＳ４３：Ｙｅｓ）には、取得した保存先候補リストから第１所定数（例えば１個）のノードＮｎを選択し（ステップＳ４４）、選択したノードＮｎに対して保存先候補リストを送信してコンテンツのレプリカの保存を指示（保存指示情報を送信）する（ステップＳ４５）。
【０１３２】
一方、データベースサーバＤＳから保存先候補リストを取得できなかった場合（ステップＳ４３：Ｎｏ）には、制御部３０３は第１所定数のノードＩＤを生成し（ステップＳ４６）、生成したノードＩＤのノードＮｎに向けてコンテンツのレプリカの保存を指示する保存指示メッセージ（保存指示情報）を送出する（ステップＳ４７）。
【０１３３】
その後、ステップＳ４５又はステップＳ４７にて保存を指示した後に、ステップＳ４０の処理へ移行し、電源がオフとなるまでステップＳ４０からステップＳ４７の処理を繰り返し行なう。
【０１３４】
そして、電源がオフとなった場合に（ステップＳ４０：Ｙｅｓ）、処理を終了する。
【０１３５】
［４−５．コンテンツ分散保存システムＳに参加後のノードＮｎの処理］
図１７は、コンテンツ分散保存システムＳに参加している任意のノードＮｎにおける制御部１１の処理を示すフローチャートであり、認証サーバＡＳからの端末証明書を取得してコンタクトノードに対して参加メッセージを送信した後に本発明の保存指示処理プログラム及びノード処理プログラムが読み出され処理が開始する。
【０１３６】
先ず、制御部１１は、ノードＮｎ自身の電源がオフとされたか否かを判定し（ステップＳ６０）、オフとされていなければ（ステップＳ６０：Ｎｏ）、コンテンツ投入サーバＣＳまたは他のノードＮｎからコンテンツのレプリカの保存が指示されたか否かを判定する（ステップＳ６１）。
【０１３７】
判定の結果、レプリカの保存が指示された場合には保存指示されたコンテンツのレプリカを自己の記憶部１２に保存可能か否かを判定する（ステップＳ６２）。具体的には、記憶部１２のＨＤの空き記録容量と保存指示されたレプリカのデータ容量等に基づいて、保存指示されたレプリカを保存可能か否かを判断することができる。なお、既に記憶しているレプリカの重要性と保存指示されたレプリカの重要性（例えば人気度が高いほうを優先して保存しておく等）を比較して、比較の結果、既に記憶しているレプリカを記憶部１２から削除して空き記録容量を確保するよう構成してもよい。
【０１３８】
判定の結果、保存指示されたコンテンツのレプリカを自己の記憶部１２に保存可能である場合（ステップＳ６２：Ｙｅｓ）、保存指示元（コンテンツ投入サーバＣＳまたは他のノードＮｎ）からコンテンツのレプリカと保存先候補リストを受信して（ステップＳ６３）、コンテンツのレプリカを自己の記憶部１２に保存する（ステップＳ６４）。また、保存先候補リストは記憶部１２に記憶する。
【０１３９】
一方、レプリカの保存が指示されていない場合（ステップＳ６１：Ｎｏ）、及び保存指示されたレプリカの保存が可能でない場合（ステップＳ６２：Ｎｏ）には、ステップＳ６０へ移行する。
【０１４０】
そして、レプリカの保存（ステップＳ６４）後、自身が保存指示装置として機能し（ステップＳ６５〜Ｓ７２）、保存先候補リストのノード情報に基づいて他のノードＮｎにレプリカの保存指示を行なう。
【０１４１】
先ず、記憶部１２に保存先候補リストがあるか否かを判定し（ステップＳ６６）、保存先候補リストがある場合（ステップＳ６６：Ｙｅｓ）には、保存先候補リストを送信用の保存先候補リストと保存用の保存先候補リストに分割する（ステップＳ６７）。具体的には、記憶部１２に記憶した保存先候補リストから第３所定数のノード情報を抽出して送信用の保存先候補リストを生成し、記憶部１２に記憶した保存先候補リストを、当該抽出したノード情報を除いた保存先候補リストに更新する。
【０１４２】
次いで、記憶部１２に記憶した（保存用の）保存先候補リストから、第１所定数のノードＮｎをランダムに選択し（ステップＳ６８）、選択したノードＮｎに、生成した保存先候補リストとコンテンツのレプリカを送信して、レプリカの保存を指示（保存指示情報を送信）し、当該ノードＮｎを記憶部１２の保存先候補リストから削除する（ステップＳ６９）。
【０１４３】
一方、記憶部１２に保存先候補リストがない場合（ステップＳ６６：Ｎｏ）には、制御部１１は第１所定数のノードＩＤを生成し（ステップＳ７０）、生成したノードＩＤのノードＮｎに向けてコンテンツのレプリカの保存を指示する保存指示メッセージ（保存指示情報を送信）を送出する（ステップＳ７１）。
【０１４４】
そして、コンテンツのレプリカの公開日時まで上記ステップＳ６６からＳ６９のループ処理を行ない、コンテンツのレプリカ又は保存指示情報に含んで受信した公開日時情報が示す公開日時に至るとループ処理を終了する（ステップＳ７２）。
【０１４５】
その後、ステップＳ６０に移行し、電源がオフとなった場合に（ステップＳ６０：Ｙｅｓ）、処理を終了する。
【０１４６】
以上説明したように、コンテンツ分散保存システムＳに新たなコンテンツのレプリカを投入する際に、コンテンツ投入サーバＣＳ（又はノードＮｎ）は、コンテンツ分散保存システムへの参加期間が短いノードＮｎが掲載された保存先候補リストから第１所定数のノードＮｎを選択し、選択したノードＮｎに対して保存を指示するため、レプリカを記録するための空き記録容量が比較的多いと推定されるノードＮｎに対して保存を指示することが可能になり、各ノードＮｎの記録部１２の記録容量をバランスよく有効に利用することが可能なコンテンツ分散保存システムＳを実現することができる。
【０１４７】
また、ステップＳ６８で第１所定数のノードＮｎをランダムに選択するよう構成したので、参加期間が一番短い（最も最近参加した）ノードＮｎに保存指示が集中してしまうことを防止することができる。
【０１４８】
なお、上述した実施形態では、第１所定数を「１」とし、保存先候補リストから１つのノードＮｎを選択するよう構成したが、これに限定されず、複数のノードＮｎを選択するよう構成してもよい。複数のノードＮｎを選択する場合（第１所定数が２以上）には、保存先候補リストを、保存指示先として選択した各ノードＮｎに送信する分（第１所定数）と、自己が保存する分（１）である「第１所定数＋１」に分割すればよい。例えば、１万個（第２所定数）のノード情報が掲載された保存先候補リストを取得し、この保存先候補リストから第１所定数として１００個のノードＮｎを選択してレプリカの保存を指示するよう構成してもよい。第１所定数は、第２所定数に応じて、或いは、公開日時までの期間（例えば、公開日時まで時間が無い場合には第１所定数を大きくしてできるだけ早く多数のノードＮｎにレプリカの事前配布を完了させる等）等を考慮して適宜変更すればよい。
【０１４９】
また、コンテンツ投入サーバＣＳが、保存指示をすべき第１所定数のノードＮｎを選択できない場合には、ステップＳ４６及びＳ４７にあるように、第１所定数のノードＩＤを生成し、生成したノードＩＤのノードＮｎに向けてレプリカの保存を指示する保存指示メッセージを送出するよう構成したので、データベースサーバＤＳから保存先候補リストを取得できなかった場合でも、コンテンツ分散保存システムＳ内のノードＮｎに対してレプリカの保存指示を確実に行なうことができる。
【０１５０】
更に、ノードＮｎが、保存指示をすべき第１所定数のノードＮｎを選択できない場合にも、ステップＳ７０及びＳ７１にあるように、第１所定数のノードＩＤを生成し、生成したノードＩＤのノードＮｎに向けてレプリカの保存を指示する保存指示メッセージを送出するよう構成したので、保存指示や保存指示において保存先候補リストの分割が繰り返し行なわれたことによって公開日時前に保存先候補リストのノード情報が無くなってしまい、第１所定数のノードＮｎを選択できない場合であっても、公開日時まで他のノードＮｎに対するレプリカの保存指示を滞らせることなく円滑に遂行することができる。また、各ノードＮｎ（及びコンテンツ投入サーバＣＳ）が保存指示をすべき第１所定数のノードＮｎを選択できない場合の他の変形例として、データベースサーバＤＳにアクセスして、保存先候補リストを要求するよう構成してもよい。この場合、少なくとも第１所定数以上のノード情報が掲載された保存先候補リストをデータベースサーバＤＳに要求し取得すればよい。これによれば、各ノードＮｎはより最新のノード情報からなる保存先候補リストを取得することができる。
【０１５１】
また、保存指示を受けたノードＮｎは、他のノードＮｎに対して保存指示を行なう際に、自己の保存先候補リストを分割して生成した送信用の保存先候補リストを保存指示先のノードＮｎに送信するよう構成したので、保存指示を受けたノードＮｎも、参加期間がより短いノードＮｎが掲載された保存先候補リストに基づいて更にレプリカの保存指示を送信することができる。
【０１５２】
また、保存を指示したノードＮｎは、生成した送信用の保存先候補リストのノード情報を除いて自己の保存先候補リストを更新し、更新後の保存先候補リストに基づいて、ノードＮｎの選択と、選択したノードＮｎに対するレプリカの保存指示を行なうよう構成したので、各ノードＮｎ間でレプリカの保存指示処理を分担しあうことができる。
【０１５３】
更に、レプリカの保存を指示したノードＮｎのノード情報を記憶部１２に記憶した保存先候補リストから削除するよう構成したので、同じノードＮｎに重複してレプリカの保存指示を行なうことを防止することができる。
【０１５４】
なお、ノードＮｎは、レプリカの保存を指示したノードＮｎにレプリカが確実に保存できたことを確認した後に、当該ノードＮｎのノード情報を保存先候補リストから削除するよう構成してもよい。この場合、保存指示を受けたノードＮｎ（保存指示先）は、レプリカを保存した後に保存指示元であるノードＮｎに対して保存完了の報告等を通知するよう構成すればよい。そして、保存指示元のノードＮｎは、保存指示先のノードＮｎから保存完了の報告が通知されてこない場合には、保存指示先のノードＮｎを保存先候補リストから削除すると共に、保存指示先のノードＮｎのノード情報に掲載されたノードＩＤに向けてレプリカの保存を指示する保存指示メッセージを送出するよう構成すればよい。このメッセージは、当該ノードＩＤと近いノードＩＤを有するノードＮｎに到達することとなり、到達したノードＮｎがレプリカの保存指示を受け、レプリカを保存することとなる。
【０１５５】
更に、ステップＳ６２にて保存指示されたコンテンツのレプリカが保存不可能であると判断された場合には、保存指示元のノードＮｎに対して、保存指示不可報告を通知するよう構成すればよい。そしてこれを受けた保存指示元のノードＮｎは、上記と同様に、通知をしてきた保存指示元のノードＮｎのノードＩＤに向けてレプリカの保存を指示するよう構成すればよい。
【０１５６】
なお、上記実施形態におけるコンテンツ分散保存システムＳは、ＤＨＴを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。
【図面の簡単な説明】
【０１５７】
【図１】本実施形態に係るコンテンツ分散保存システムにおける各ノードＮｎの接続態様の一例を示す図である。
【図２】ノードＮｎの概要構成例を示すブロック図である。
【図３】認証サーバＡＳの概要構成例を示すブロック図である。
【図４】新規参加ノードの登録日時がデータベースサーバＤＳに登録される様子を示す概念図である。
【図５】データベースサーバＤＳの概要構成例を示すブロック図である。
【図６】ユーザ情報データベース２０２ａに記憶保存されているノード情報の一例である。
【図７】コンテンツ投入サーバＣＳの概要構成例を示すブロック図である。
【図８】コンテンツ投入サーバＣＳがノードＮｎにレプリカの保存を指示する様子を示す概念図である。
【図９】保存先候補リストの分割に係る説明図である。
【図１０】データベースサーバＤＳ、コンテンツ投入サーバＣＳ、及びノードＮ５、Ｎ１間において授受される保存先候補リストの様子を示す図である。
【図１１】ノードＮ１、Ｎ７、Ｎ８間において授受される保存先候補リストの様子を示す図である。
【図１２】ノードＮ５、Ｎ３、Ｎ４間において授受される保存先候補リストの様子を示す図である。
【図１３】認証サーバＡＳにおける制御部１０１の処理を示すフローチャートである。
【図１４】新規参加ノードＮｎにおける制御部１１の処理を示すフローチャートである。
【図１５】データベースサーバＤＳにおける制御部２０１の処理を示すフローチャートである。
【図１６】コンテンツ投入サーバＣＳにおける制御部３０１の処理を示すフローチャートである。
【図１７】コンテンツ分散保存システムＳに参加しているノードＮｎにおける制御部１１の処理を示すフローチャートである。
【符号の説明】
【０１５８】
８  ネットワーク
９  Ｐ２Ｐネットワーク（オーバーレイネットワーク）
１１、１０１、２０１、３０１  制御部
１２、１０２、２０２、３０２  記憶部
１３  バッファメモリ
１４  デコーダ部
１５  映像処理部
１６  表示部
１７  音声処理部
１８  スピーカ
２０、１０３、２０３、３０３  通信部
２１、１０４、２０４、３０４  入力部
２２、１０５、２０５、３０５  バス
Ｓ  コンテンツ分散保存システム
Ｎｎ  ノード
ＡＳ  認証サーバ
ＤＳ  データベースサーバ
ＣＳ  コンテンツ投入サーバ
【図１】
2010067072.tif 000003
【図２】
2010067072.tif 000004
【図３】
2010067072.tif 000005
【図４】
2010067072.tif 000006
【図５】
2010067072.tif 000007
【図６】
2010067072.tif 000008
【図７】
2010067072.tif 000009
【図８】
2010067072.tif 000010
【図９】
2010067072.tif 000011
【図１０】
2010067072.tif 000012
【図１１】
2010067072.tif 000013
【図１２】
2010067072.tif 000014
【図１３】
2010067072.tif 000015
【図１４】
2010067072.tif 000016
【図１５】
2010067072.tif 000017
【図１６】
2010067072.tif 000018
【図１７】
2010067072.tif 000019