(57)【特許請求の範囲】
【請求項１】
ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも１以上の共用情報が前記複数の情報処理装置によって共用可能に所持される情報配信システムにおいて、
前記複数の情報処理装置の中の第１情報処理装置は、
前記共用情報と、前記共用情報が前記複数の情報処理装置によって共用可能となる時刻を示す公開時刻情報と、前記共用情報へのアクセス頻度の予測を示す評価情報と、を各前記共用情報について記憶する記憶手段と、
前記記憶手段に記憶された前記共用情報の記録を指示するための第２情報処理装置を、前記複数の情報処理装置の何れかから選別する装置選別手段と、
前記記憶手段に記憶された前記公開時刻情報が示す時刻が現在時刻を経過しているかを判定する第１判定手段と、
前記複数の情報処理装置に含まれる何れかの前記情報処理装置から前記共用情報の記録の指示を示す記録指示情報を受信する受信手段と、
前記受信手段により前記記録指示情報が受信されてから、前記記憶手段に記憶された前記共用情報を前記装置選別手段により選別された前記情報処理装置に記録させる指示を示す前記記録指示情報が送信されるまでの時間間隔を決定する決定手段であり、前記記憶手段に記憶された前記評価情報が示すアクセス頻度が大きくなるほど短くなるように前記時間間隔を決定する決定手段と、
前記決定手段により決定された前記時間間隔が経過したかを判定する第２判定手段と、
前記第１判定手段により前記公開時刻情報が示す時刻が現在時刻を経過していないと判定され、かつ、前記第２判定手段により前記時間間隔が経過したと判定されたとき、前記第２情報処理装置へ前記記録指示情報を送信する記録指示情報送信手段と、
前記記録指示情報により記録が指示される前記共用情報に対応する前記公開時刻情報及び前記評価情報を前記第２情報処理装置に送信する第１送信手段と、
を備え、
前記第２情報処理装置は、
前記複数の情報処理装置に含まれる何れかの前記情報処理装置から前記記録指示情報を受信する記録指示情報受信手段と、
前記記録指示情報受信手段により前記記録指示情報を受信した前記情報処理装置と、前記記録指示情報受信手段により受信された前記記録指示情報により記録が指示された前記共用情報を記憶する少なくとも１以上の前記情報処理装置と、の間の通信経路における通信負荷に関する通信負荷情報を取得する通信負荷情報取得手段と、
前記記録指示情報受信手段により受信された前記記録指示情報により記録が指示された前記共用情報を記憶する前記情報処理装置のうち、前記通信負荷情報取得手段により取得された前記通信負荷情報に基づいて、前記通信負荷が相対的に小さい前記通信経路を介して接続された前記情報処理装置に対して、前記記録指示情報受信手段により受信された前記記録指示情報により記録が指示された前記共用情報の送信を要求する要求情報を送信する要求情報送信手段と、
前記要求情報の送信先の前記情報処理装置から、前記共用情報を受信する共用情報受信手段と、
前記記録指示情報受信手段により受信された前記記録指示情報により記録が指示される前記共用情報に対応する前記公開時刻情報及び前記評価情報を、前記複数の情報処理装置に含まれる何れかの前記情報処理装置から受信する受信手段と、
前記共用情報受信手段により受信された前記共用情報と、前記受信手段により受信された前記公開時刻情報及び前記評価情報と、を記憶する第２記憶手段と、
を備えることを特徴とする情報配信システム。
【請求項２】
請求項１に記載の情報配信システムにおいて、
前記第１情報処理装置は、
前記複数の情報処理装置により共用可能にされる新たな前記共用情報に対応する前記評価値情報及び前記公開時刻情報を生成する生成手段を更に備え、
前記記憶手段は、前記新たな共用情報と、前記生成手段により生成された前記評価値情報及び前記公開時刻情報と、を記憶することを特徴とする情報配信システム。
【請求項３】
ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも１以上の共用情報が前記複数の情報処理装置によって共用可能に所持される情報配信システムにおける前記情報処理装置において、
前記複数の情報処理装置に含まれる何れかの前記情報処理装置から前記共用情報の記録の指示を示す記録指示情報を受信する記録指示情報受信手段であり、前記共用情報が前記複数の情報処理装置によって共用可能となる時刻を示す公開時刻情報が示す時刻が現在時刻を経過していないと判定され、かつ、前記記録指示情報の送信元の前記情報処理装置により前記記録指示情報が受信されてから前記記録指示情報が送信されるまでの時間間隔であり、前記共用情報へのアクセス頻度の予測を示す評価情報が示すアクセス頻度が大きくなるほど短くなるように決定された時間間隔が経過したと判定されたときに送信された前記記録指示情報を受信する記録指示情報受信手段と、
前記記録指示情報受信手段により前記記録指示情報を受信した前記情報処理装置と、前記記録指示情報受信手段により受信された前記記録指示情報により記録が指示された前記共用情報を記憶する少なくとも１以上の前記情報処理装置と、の間の通信経路における通信負荷に関する通信負荷情報を取得する通信負荷情報取得手段と、
前記記録指示情報受信手段により受信された前記記録指示情報により記録が指示された前記共用情報を記憶する前記情報処理装置のうち、前記通信負荷情報取得手段により取得された前記通信負荷情報に基づいて、前記通信負荷が相対的に小さい前記通信経路を介して接続された前記情報処理装置に対して、前記記録指示情報受信手段により受信された前記記録指示情報により記録が指示された前記共用情報の送信を要求する要求情報を送信する要求情報送信手段と、
前記要求情報の送信先の前記情報処理装置から、前記共用情報を受信する共用情報受信手段と、
前記記録指示情報受信手段により受信された前記記録指示情報により記録が指示される前記共用情報に対応する前記公開時刻情報及び前記評価情報を、前記複数の情報処理装置に含まれる何れかの前記情報処理装置から受信する受信手段と、
前記共用情報受信手段により受信された前記共用情報と、前記受信手段により受信された前記公開時刻情報及び前記評価情報と、を記憶する記憶手段と、
を備えることを特徴とする情報処理装置。
【請求項４】
請求項３に記載の情報処理装置において、
前記記憶手段に記憶された前記共用情報の記録を指示するための情報処理装置を、前記複数の情報処理装置の何れかから選別する装置選別手段と、
前記記憶手段に記憶された前記公開時刻情報が示す時刻が現在時刻を経過しているかを判定する第１判定手段と、
前記記録指示情報受信手段により前記記録指示情報が受信されてから前記記憶手段に記憶された前記共用情報を前記装置選別手段により選別された前記情報処理装置に記録させる指示を示す前記記録指示情報が送信されるまでの時間間隔を決定する決定手段であり、前記記憶手段に記憶された前記評価情報が示すアクセス頻度が大きくなるほど短くなるように前記時間間隔を決定する決定手段と、
前記決定手段により決定された前記時間間隔が経過したかを判定する第２判定手段と、
前記第１判定手段により前記公開時刻情報が示す時刻が現在時刻を経過していないと判定され、かつ、前記第２判定手段により前記時間間隔が経過したと判定されたとき、前記記録指示情報を送信する記録指示情報送信手段と、
を更に備えることを特徴とする情報処理装置。
【請求項５】
請求項３又は４に記載の情報処理装置において、
前記複数の情報処理装置に含まれる何れかの前記情報処理装置から前記要求情報を受信する要求情報受信手段と、
前記要求情報受信手段により受信された前記要求情報により送信が要求された前記共用情報を、前記要求情報の送信元の情報処理装置に送信する共用情報送信手段と、
を更に備えることを特徴とする情報処理装置。
【請求項６】
請求項５に記載の情報処理装置において、
前記記憶手段に前記共用情報が記憶された場合、前記記録指示情報の送信元の情報処理装置又は前記共用情報の送信元の情報処理装置に前記共用情報の記録が成功したことを示す記録成功情報を送信する記録成功情報送信手段と、
前記複数の情報処理装置に含まれる何れかの前記情報処理装置から前記記録成功情報を受信する記録成功情報受信手段と、
前記記録成功情報受信手段により前記記録成功情報が受信された場合、前記要求情報送信手段により送信された前記共用情報に対応する前記評価値情報を更新する更新手段と、
を更に備え、
前記受信手段は、前記記録指示情報受信手段により受信された前記前記記録指示情報により記録が指示された前記共用情報に対応する更新後の前記評価値情報を受信することを特徴とする情報処理装置。
【請求項７】
請求項３乃至６のいずれか一項に記載の情報処理装置において、
前記記憶手段の空き記憶容量が、前記共用情報受信手段により受信された前記共用情報の情報量以上あるか否かを判定する容量判定手段と、
前記容量判定手段により、前記空き記憶容量が、前記共用情報受信手段により受信された前記共用情報の情報量以上ないと判定された場合には、前記記憶手段に記憶されている各前記共用情報のうち、対応する前記評価情報が示すアクセス頻度が最も低い共用情報を削除共用情報として選別する削除共用情報選別手段と、
前記削除共用情報選別手段により選別された前記削除共用情報を前記記憶手段から削除する削除手段と、
を更に備えることを特徴とする情報処理装置。
【請求項８】
請求項３乃至７のいずれか一項に記載の情報処理装置において、
前記複数の情報処理装置により共用可能にされる新たな前記共用情報に対応する前記評価値情報及び前記公開時刻情報を生成する生成手段を更に備え、
前記記憶手段は、前記新たな共用情報と、前記生成手段により生成された前記評価値情報及び前記公開時刻情報と、を記憶することを特徴とする情報処理装置。
【請求項９】
請求項６に記載の情報処理装置において、
前記更新手段は、更新後の前記評価値情報により示される評価値が、更新前の前記評価値情報により示される評価値より小さくなるように前記評価値情報を更新することを特徴とする情報処理装置。
【請求項１０】
請求項３乃至９の何れか一項に記載の情報処理装置において、
前記通信負荷は、前記通信経路上にある中継装置の数、前記通信経路における遅延時間の長さ、及び前記通信経路の有効帯域の広さの少なくとも何れか一つに基づいて定められることを特徴とする情報処理装置。
【請求項１１】
請求項３乃至１０のいずれか一項に記載の情報処理装置において、
前記記憶手段に前記共用情報が記憶された場合、記憶された前記共用情報の所在を管理する管理装置に対して新たな共用情報を記録した旨を送信する記録告知情報送信手段を更に備えることを特徴とする情報処理装置。
【請求項１２】
ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも１以上の共用情報が前記複数の情報処理装置によって共用可能に所持される情報配信システムにおける前記情報処理装置に含まれるコンピュータに、
前記複数の情報処理装置に含まれる何れかの前記情報処理装置から前記共用情報の記録の指示を示す記録指示情報を受信する記録指示情報受信ステップであり、前記共用情報が前記複数の情報処理装置によって共用可能となる時刻を示す公開時刻情報が示す時刻が現在時刻を経過していないと判定され、かつ、前記記録指示情報の送信元の前記情報処理装置により前記記録指示情報が受信されてから前記記録指示情報が送信されるまでの時間間隔であり、前記共用情報へのアクセス頻度の予測を示す評価情報が示すアクセス頻度が大きくなるほど短くなるように決定された時間間隔が経過したと判定されたときに送信された前記記録指示情報を受信する記録指示情報受信ステップと、
前記記録指示情報受信ステップにおいて前記記録指示情報を受信した前記情報処理装置と、前記記録指示情報受信ステップにおいて受信された前記記録指示情報により記録が指示された前記共用情報を記憶する少なくとも１以上の前記情報処理装置と、の間の通信経路における通信負荷に関する通信負荷情報を取得する通信負荷情報取得ステップと、
前記記録指示情報受信ステップにおいて受信された前記記録指示情報により記録が指示された前記共用情報を記憶する前記情報処理装置のうち、前記通信負荷情報取得ステップにおいて取得された前記通信負荷情報に基づいて、前記通信負荷が相対的に小さい前記通信経路を介して接続された前記情報処理装置に対して、前記記録指示情報受信ステップにおいて受信された前記記録指示情報により記録が指示された前記共用情報の送信を要求する要求情報を送信する要求情報送信ステップと、
前記要求情報の送信先の前記情報処理装置から、前記共用情報を受信する共用情報受信ステップと、
前記記録指示情報受信ステップにおいて受信された前記記録指示情報により記録が指示される前記共用情報に対応する前記公開時刻情報及び前記評価情報を、前記複数の情報処理装置に含まれる何れかの前記情報処理装置から受信する受信ステップと、
前記共用情報受信ステップにおいて受信された前記共用情報と、前記受信ステップにおいて受信された前記公開時刻情報及び前記評価情報と、を記憶手段に記憶させる記憶ステップと、
を実行させることを特徴とする情報処理プログラム。
【請求項１３】
ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも１以上の共用情報が前記複数の情報処理装置によって共用可能に所持される情報配信システムにおける前記情報処理装置における情報処理方法であって、
前記複数の情報処理装置に含まれる何れかの前記情報処理装置から前記共用情報の記録の指示を示す記録指示情報を受信する記録指示情報受信ステップであり、前記共用情報が前記複数の情報処理装置によって共用可能となる時刻を示す公開時刻情報が示す時刻が現在時刻を経過していないと判定され、かつ、前記記録指示情報の送信元の前記情報処理装置により前記記録指示情報が受信されてから前記記録指示情報が送信されるまでの時間間隔であり、前記共用情報へのアクセス頻度の予測を示す評価情報が示すアクセス頻度が大きくなるほど短くなるように決定された時間間隔が経過したと判定されたときに送信された前記記録指示情報を受信する記録指示情報受信ステップと、
前記記録指示情報受信ステップにおいて前記記録指示情報を受信した前記情報処理装置と、前記記録指示情報受信ステップにおいて受信された前記記録指示情報により記録が指示された前記共用情報を記憶する少なくとも１以上の前記情報処理装置と、の間の通信経路における通信負荷に関する通信負荷情報を取得する通信負荷情報取得ステップと、
前記記録指示情報受信ステップにおいて受信された前記記録指示情報により記録が指示された前記共用情報を記憶する前記情報処理装置のうち、前記通信負荷情報取得ステップにおいて取得された前記通信負荷情報に基づいて、前記通信負荷が相対的に小さい前記通信経路を介して接続された前記情報処理装置に対して、前記記録指示情報受信ステップにおいて受信された前記記録指示情報により記録が指示された前記共用情報の送信を要求する要求情報を送信する要求情報送信ステップと、
前記要求情報の送信先の前記情報処理装置から、前記共用情報を受信する共用情報受信ステップと、
前記記録指示情報受信ステップにおいて受信された前記記録指示情報により記録が指示される前記共用情報に対応する前記公開時刻情報及び前記評価情報を、前記複数の情報処理装置に含まれる何れかの前記情報処理装置から受信する受信ステップと、
前記共用情報受信ステップにおいて受信された前記共用情報と、前記受信ステップにおいて受信された前記公開時刻情報及び前記評価情報と、を記憶手段に記憶させる記憶ステップと、
を含むことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報配信システム、情報処理装置及び情報処理プログラムの技術分野に属し、より詳細には、複数の情報処理装置間で共用されるべき映画等のコンテンツ（共有情報）を、共用可能に公開する前に、情報配信システム中の複数の情報処理装置に予め記録させておく情報配信システム、情報処理装置、情報処理プログラム及び情報処理方法の技術分野に属する。
【背景技術】
【０００２】
近年、インターネット等のネットワークを介して上記コンテンツを蓄積しているサーバ等に端末装置（ノード）からアクセスし、そのノードにおいて視聴が所望されているコンテンツを当該ノードに配信して視聴する、いわゆるコンテンツ配信を行なう配信システムについての研究開発が盛んである。
【０００３】
そして、当該配信システムの一つとして、ネットワークに属するノード間で、当該コンテンツが相互に直接授受される配信システム、例えば、各コンテンツを複数のノード間で分散して複数のノードで共用させる配信システムであるＰ２Ｐ（Pear to Pear）型の配信システムがある。このＰ２Ｐ型の配信システムは、従来のクライアント・サーバ型のモデルの欠点である、サーバへのアクセス集中や、高い管理コストを解決する手法として注目されている。
【０００４】
また、この分野の研究では、ピアツーピア型の情報配信システムにおいて、例えば、分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用して論理的に構築されたオーバーレイネットワークでは、各ノードが、当該オーバーレイネットワークに参加している全てのノードへのリンク情報（例えば、ＩＰアドレス）を認識しているわけではなく、参加の際などに得られる一部のノードへのリンク情報だけを所持しており、かかるリンク情報に基づき、データの問い合わせ等を行なうようになっている。
【０００５】
このようなオーバーレイネットワークにおいては、ノードの参加及び脱退（離脱）が頻繁に行われても、負荷分散が適切に行われる必要があり、非特許文献１には、オーバーレイネットワークにおいて、参加及び脱退（離脱）が頻繁に行われる場合であっても、適切に負荷分散を行なうための技術が開示されている。また、コンテンツの複製（レプリカ）を複数のノードに分散して保持させることも、特定ノードへのアクセス集中を回避するために有効であり、従来における当該レプリカの作成・配置に関する提案としては、例えば、以下の特許文献１や非特許文献１に記載されたものがある。
【０００６】
この特許文献１によれば、ネットワーク上のあるサービスグループ内で接続されている各ノードに存在するコンテンツの全体サイズ（全体の情報量）及びその数を参照して、当該サービスグループ内のネットワーク全体でバランスよくレプリカ（複製物）を作成・配置する方法が提案されている。
【０００７】
更に、特許文献２には、各コンテンツに重要度などのパラメータを取り入れて、人気のあるコンテンツほど多くレプリカを作成する手法が提案されている。
【０００８】
【非特許文献１】「分散ハッシュテーブルの軽量な負荷分散手法の検討」  社団法人  電子情報通信学会  信学技報
【特許文献１】特開２００３−９９３３７号公報
【特許文献２】特開２００３−２１６５２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
このような配信システムにおいて、分散ストレージ技術を使ってコンテンツ配信サービスを行なう場合、人気のあるコンテンツはアクセスが集中するため、人気に応じてレプリカを複製することが望ましいが、例えば特許文献２に記載された手法では実際にコンテンツが公開され、要求されて初めてレプリカの作成が実行される。
【００１０】
しかしながら、一般に映画やレンタルビデオ・ＣＤ店舗での需要パターンで見受けられるようと同じように、配信サービスにおいても、コンテンツの公開直後が最も人気が高く、サービスとして運用する場合にはコンテンツが公開されてからレプリカの作成を行なっていたのでは、需要増大に対応しきれず、結局最初にコンテンツを所有している特定のノードにアクセスの集中が生じてしまうという問題があった。
【００１１】
そこで、本発明は上記の問題点に鑑みて為されたもので、配信システム内において必要な数のコンテンツを、公開前に自律的に分散配置させる情報配信システム等を提供する。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、請求項１に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも１以上の共用情報が前記複数の情報処理装置によって共用可能に所持される情報配信システムにおいて、前記複数の情報処理装置の中の第１情報処理装置は、前記共用情報と、前記共用情報が前記複数の情報処理装置によって共用可能となる時刻を示す公開時刻情報と、前記共用情報へのアクセス頻度の予測を示す評価情報と、を各前記共用情報について記憶する記憶手段と、前記記憶手段に記憶された前記共用情報の記録を指示するための第２情報処理装置を、前記複数の情報処理装置の何れかから選別する装置選別手段と、前記記憶手段に記憶された前記公開時刻情報が示す時刻が現在時刻を経過しているかを判定する第１判定手段と、前記複数の情報処理装置に含まれる何れかの前記情報処理装置から前記共用情報の記録の指示を示す記録指示情報を受信する受信手段と、前記受信手段により前記記録指示情報が受信されてから、前記記憶手段に記憶された前記共用情報を前記装置選別手段により選別された前記情報処理装置に記録させる指示を示す前記記録指示情報が送信されるまでの時間間隔を決定する決定手段であり、前記記憶手段に記憶された前記評価情報が示すアクセス頻度が大きくなるほど短くなるように前記時間間隔を決定する決定手段と、前記決定手段により決定された前記時間間隔が経過したかを判定する第２判定手段と、前記第１判定手段により前記公開時刻情報が示す時刻が現在時刻を経過していないと判定され、かつ、前記第２判定手段により前記時間間隔が経過したと判定されたとき、前記第２情報処理装置へ前記記録指示情報を送信する記録指示情報送信手段と、前記記録指示情報により記録が指示される前記共用情報に対応する前記公開時刻情報及び前記評価情報を前記第２情報処理装置に送信する第１送信手段と、を備え、前記第２情報処理装置は、前記複数の情報処理装置に含まれる何れかの前記情報処理装置から前記記録指示情報を受信する記録指示情報受信手段と、前記記録指示情報受信手段により前記記録指示情報を受信した前記情報処理装置と、前記記録指示情報受信手段により受信された前記記録指示情報により記録が指示された前記共用情報を記憶する少なくとも１以上の前記情報処理装置と、の間の通信経路における通信負荷に関する通信負荷情報を取得する通信負荷情報取得手段と、前記記録指示情報受信手段により受信された前記記録指示情報により記録が指示された前記共用情報を記憶する前記情報処理装置のうち、前記通信負荷情報取得手段により取得された前記通信負荷情報に基づいて、前記通信負荷が相対的に小さい前記通信経路を介して接続された前記情報処理装置に対して、前記記録指示情報受信手段により受信された前記記録指示情報により記録が指示された前記共用情報の送信を要求する要求情報を送信する要求情報送信手段と、前記要求情報の送信先の前記情報処理装置から、前記共用情報を受信する共用情報受信手段と、前記記録指示情報受信手段により受信された前記記録指示情報により記録が指示される前記共用情報に対応する前記公開時刻情報及び前記評価情報を、前記複数の情報処理装置に含まれる何れかの前記情報処理装置から受信する受信手段と、前記共用情報受信手段により受信された前記共用情報と、前記受信手段により受信された前記公開時刻情報及び前記評価情報と、を記憶する第２記憶手段と、を備えることを特徴とする。
【００１３】
これによれば、共用情報を他の情報処理装置に共用可能に公開する前に予め複数の情報処理装置に所持させて、共用情報をシステム内に分散配置させることができるので、共用情報の公開後、一斉に多数の情報処理装置が当該共用情報の配信要求をした場合にも、予め多数の情報処理装置が共用情報を所持しているので、１台のみが共用情報を所持している場合と比較して共用情報の公開直後であっても、それぞれのＰｔｏＰ間で比較的スムーズに共用情報の提供を行なうことができる情報配信システムを提供することができる。また、共用情報の記録を指示された情報処理装置は、記録指示の対象となる共用情報を所持する情報処理装置のうち、通信負荷が小さい情報処理装置から当該共用情報を受信するよう構成したので、システム全体の通信負荷を抑制しつつ複製を作成することができる。また、各共用情報毎の評価情報に基づいて複製作成が行なわれるので、各情報処理装置間で処理を行なうタイミングをずらすことにより、配信システム内に含まれる情報処理装置が一斉に共用情報の配布処理を開始することによるシステム全体の負荷上昇等の弊害（例えば他のメッセージの授受の遅延等）を防止することができる。
【００１４】
上記の課題を解決するために、請求項２に記載の発明は、請求項１に記載の情報配信システムにおいて、前記第１情報処理装置は、前記複数の情報処理装置により共用可能にされる新たな前記共用情報に対応する前記評価値情報及び前記公開時刻情報を生成する生成手段を更に備え、前記記憶手段は、前記新たな共用情報と、前記生成手段により生成された前記評価値情報及び前記公開時刻情報と、を記憶することを特徴とする。
【００１５】
これによれば、新たな共用情報の公開を所望する使用者が、共用情報へのアクセス頻度の予測を示す評価情報や共用情報を公開すべき公開時刻情報を決定できるので、使用者にとって使いやすいシステムを提供することができる。
【００１６】
上記の課題を解決するために、請求項３に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも１以上の共用情報が前記複数の情報処理装置によって共用可能に所持される情報配信システムにおける前記情報処理装置において、前記複数の情報処理装置に含まれる何れかの前記情報処理装置から前記共用情報の記録の指示を示す記録指示情報を受信する記録指示情報受信手段であり、前記共用情報が前記複数の情報処理装置によって共用可能となる時刻を示す公開時刻情報が示す時刻が現在時刻を経過していないと判定され、かつ、前記記録指示情報の送信元の前記情報処理装置により前記記録指示情報が受信されてから前記記録指示情報が送信されるまでの時間間隔であり、前記共用情報へのアクセス頻度の予測を示す評価情報が示すアクセス頻度が大きくなるほど短くなるように決定された時間間隔が経過したと判定されたときに送信された前記記録指示情報を受信する記録指示情報受信手段と、前記記録指示情報受信手段により前記記録指示情報を受信した前記情報処理装置と、前記記録指示情報受信手段により受信された前記記録指示情報により記録が指示された前記共用情報を記憶する少なくとも１以上の前記情報処理装置と、の間の通信経路における通信負荷に関する通信負荷情報を取得する通信負荷情報取得手段と、前記記録指示情報受信手段により受信された前記記録指示情報により記録が指示された前記共用情報を記憶する前記情報処理装置のうち、前記通信負荷情報取得手段により取得された前記通信負荷情報に基づいて、前記通信負荷が相対的に小さい前記通信経路を介して接続された前記情報処理装置に対して、前記記録指示情報受信手段により受信された前記記録指示情報により記録が指示された前記共用情報の送信を要求する要求情報を送信する要求情報送信手段と、前記要求情報の送信先の前記情報処理装置から、前記共用情報を受信する共用情報受信手段と、前記記録指示情報受信手段により受信された前記記録指示情報により記録が指示される前記共用情報に対応する前記公開時刻情報及び前記評価情報を、前記複数の情報処理装置に含まれる何れかの前記情報処理装置から受信する受信手段と、前記共用情報受信手段により受信された前記共用情報と、前記受信手段により受信された前記公開時刻情報及び前記評価情報と、を記憶する記憶手段と、を備えることを特徴とする。
【００１７】
これによれば、共用情報を他の情報処理装置に共用可能に公開する前に予め複数の情報処理装置に所持させて、共用情報をシステム内に分散配置させることができるので、共用情報の公開後、一斉に多数の情報処理装置が当該共用情報の配信要求をした場合にも、予め多数の情報処理装置が共用情報を所持しているので、１台のみが共用情報を所持している場合と比較して共用情報の公開直後であっても、それぞれのＰｔｏＰ間で比較的スムーズに共用情報の提供を行なうことができる情報配信システムを提供することができる。また、共用情報の記録を指示された情報処理装置は、記録指示の対象となる共用情報を所持する情報処理装置のうち、通信負荷が小さい情報処理装置から当該共用情報を受信するよう構成したので、システム全体の通信負荷を抑制しつつ複製を作成することができる。また、各共用情報毎の評価情報に基づいて複製作成が行なわれるので、各情報処理装置間で処理を行なうタイミングをずらすことにより、配信システム内に含まれる情報処理装置が一斉に共用情報の配布処理を開始することによるシステム全体の負荷上昇等の弊害（例えば他のメッセージの授受の遅延等）を防止することができる。
【００１８】
上記の課題を解決するために、請求項４に記載の発明は、請求項３に記載の情報処理装置において、前記記憶手段に記憶された前記共用情報の記録を指示するための情報処理装置を、前記複数の情報処理装置の何れかから選別する装置選別手段と、前記記憶手段に記憶された前記公開時刻情報が示す時刻が現在時刻を経過しているかを判定する第１判定手段と、前記記録指示情報受信手段により前記記録指示情報が受信されてから前記記憶手段に記憶された前記共用情報を前記装置選別手段により選別された前記情報処理装置に記録させる指示を示す前記記録指示情報が送信されるまでの時間間隔を決定する決定手段であり、前記記憶手段に記憶された前記評価情報が示すアクセス頻度が大きくなるほど短くなるように前記時間間隔を決定する決定手段と、前記決定手段により決定された前記時間間隔が経過したかを判定する第２判定手段と、前記第１判定手段により前記公開時刻情報が示す時刻が現在時刻を経過していないと判定され、かつ、前記第２判定手段により前記時間間隔が経過したと判定されたとき、前記記録指示情報を送信する記録指示情報送信手段と、を更に備えることを特徴とする。
【００２０】
上記の課題を解決するために、請求項５に記載の発明は、請求項３又は４に記載の情報処理装置において、前記複数の情報処理装置に含まれる何れかの前記情報処理装置から前記要求情報を受信する要求情報受信手段と、前記要求情報受信手段により受信された前記要求情報により送信が要求された前記共用情報を、前記要求情報の送信元の情報処理装置に送信する共用情報送信手段と、を更に備えることを特徴とする。
【００２１】
これによれば、共用情報の要求を受けた場合にのみ、要求元の情報処理装置に対して共用情報を伝送するので、計画通りに公開前に共用情報をシステム内に分散して配置させることができる。
【００２２】
上記の課題を解決するために、請求項６に記載の発明は、請求項５に記載の情報処理装置において、前記記憶手段に前記共用情報が記憶された場合、前記記録指示情報の送信元の情報処理装置又は前記共用情報の送信元の情報処理装置に前記共用情報の記録が成功したことを示す記録成功情報を送信する記録成功情報送信手段と、前記複数の情報処理装置に含まれる何れかの前記情報処理装置から前記記録成功情報を受信する記録成功情報受信手段と、前記記録成功情報受信手段により前記記録成功情報が受信された場合、前記要求情報送信手段により送信された前記共用情報に対応する前記評価値情報を更新する更新手段と、を更に備え、前記受信手段は、前記記録指示情報受信手段により受信された前記前記記録指示情報により記録が指示された前記共用情報に対応する更新後の前記評価値情報を受信することを特徴とする。
【００２３】
これによれば、共用情報の記録を行なった情報処理装置は、記録指示情報の送信元の情報処理装置に対して記録成功情報を送信して記録が成功した旨を知らせることにより、当該共用情報の更新後の評価値情報を取得することができる。また、当該記録成功情報を受信すると、当該共用情報の評価値情報を更新して記憶するので、共用情報の評価値情報を適式に更新し、確実に共用情報を分散して配置させることができる。
【００２４】
上記の課題を解決するために、請求項７に記載の発明は、請求項３乃至６のいずれか一項に記載の情報処理装置において、前記記憶手段の空き記憶容量が、前記共用情報受信手段により受信された前記共用情報の情報量以上あるか否かを判定する容量判定手段と、前記容量判定手段により、前記空き記憶容量が、前記共用情報受信手段により受信された前記共用情報の情報量以上ないと判定された場合には、前記記憶手段に記憶されている各前記共用情報のうち、対応する前記評価情報が示すアクセス頻度が最も低い共用情報を削除共用情報として選別する削除共用情報選別手段と、前記削除共用情報選別手段により選別された前記削除共用情報を前記記憶手段から削除する削除手段と、を更に備えることを特徴とする。
【００２６】
上記の課題を解決するために、請求項８に記載の発明は、請求項３乃至７のいずれか一項に記載の情報処理装置において、前記複数の情報処理装置により共用可能にされる新たな前記共用情報に対応する前記評価値情報及び前記公開時刻情報を生成する生成手段を更に備え、前記記憶手段は、前記新たな共用情報と、前記生成手段により生成された前記評価値情報及び前記公開時刻情報と、を記憶することを特徴とする。
【００２７】
これによれば、新たな共用情報の公開を所望する使用者が、共用情報へのアクセス頻度の予測を示す評価情報や共用情報を公開すべき公開時刻情報を決定できるので、使用者にとって使いやすいシステムを提供することができる。
【００２８】
上記の課題を解決するために、請求項９に記載の発明は、請求項６に記載の情報処理装置において、前記更新手段は、更新後の前記評価値情報により示される評価値が、更新前の前記評価値情報により示される評価値より小さくなるように前記評価値情報を更新することを特徴とする。
【００２９】
これによれば、複製が作られるたびに評価値が徐々に小さくなるので、最適な数の共用情報をシステム内に分散して配置させることができる。
【００３６】
上記の課題を解決するために、請求項１０に記載の発明は、請求項３乃至９の何れか一項に記載の情報処理装置において、前記通信負荷は、前記通信経路上にある中継装置の数、前記通信経路における遅延時間の長さ、及び前記通信経路の有効帯域の広さの少なくとも何れか一つに基づいて定められることを特徴とする。
【００３７】
これによれば、前記通信負荷が、前記通信経路上にある中継装置の数、前記通信経路における遅延時間の長さ、及び前記通信経路の有効帯域の広さの少なくとも何れか一つに基づいて定められることにより、より一層、システム全体の通信経路における通信負荷の増大を防いで、システムの運用効率の向上を実現することができる。
【００３８】
上記の課題を解決するために、請求項１１に記載の発明は、請求項３乃至１０のいずれか一項に記載の情報処理装置において、前記記憶手段に前記共用情報が記憶された場合、記憶された前記共用情報の所在を管理する管理装置に対して新たな共用情報を記録した旨を送信する記録告知情報送信手段を更に備えることを特徴とする。
【００３９】
これによれば、共用情報が公開前に分散配置された場合でも、当該共用情報の所在を管理する管理装置は当該共用情報を所持する全ての情報処理装置を把握することができ、共用情報の公開直後からスムーズに共用情報の配信の要求に対応することができる。
【００４０】
上記の課題を解決するために、請求項１２に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも１以上の共用情報が前記複数の情報処理装置によって共用可能に所持される情報配信システムにおける前記情報処理装置に含まれるコンピュータに、前記複数の情報処理装置に含まれる何れかの前記情報処理装置から前記共用情報の記録の指示を示す記録指示情報を受信する記録指示情報受信ステップであり、前記共用情報が前記複数の情報処理装置によって共用可能となる時刻を示す公開時刻情報が示す時刻が現在時刻を経過していないと判定され、かつ、前記記録指示情報の送信元の前記情報処理装置により前記記録指示情報が受信されてから前記記録指示情報が送信されるまでの時間間隔であり、前記共用情報へのアクセス頻度の予測を示す評価情報が示すアクセス頻度が大きくなるほど短くなるように決定された時間間隔が経過したと判定されたときに送信された前記記録指示情報を受信する記録指示情報受信ステップと、前記記録指示情報受信ステップにおいて前記記録指示情報を受信した前記情報処理装置と、前記記録指示情報受信ステップにおいて受信された前記記録指示情報により記録が指示された前記共用情報を記憶する少なくとも１以上の前記情報処理装置と、の間の通信経路における通信負荷に関する通信負荷情報を取得する通信負荷情報取得ステップと、前記記録指示情報受信ステップにおいて受信された前記記録指示情報により記録が指示された前記共用情報を記憶する前記情報処理装置のうち、前記通信負荷情報取得ステップにおいて取得された前記通信負荷情報に基づいて、前記通信負荷が相対的に小さい前記通信経路を介して接続された前記情報処理装置に対して、前記記録指示情報受信ステップにおいて受信された前記記録指示情報により記録が指示された前記共用情報の送信を要求する要求情報を送信する要求情報送信ステップと、前記要求情報の送信先の前記情報処理装置から、前記共用情報を受信する共用情報受信ステップと、前記記録指示情報受信ステップにおいて受信された前記記録指示情報により記録が指示される前記共用情報に対応する前記公開時刻情報及び前記評価情報を、前記複数の情報処理装置に含まれる何れかの前記情報処理装置から受信する受信ステップと、前記共用情報受信ステップにおいて受信された前記共用情報と、前記受信ステップにおいて受信された前記公開時刻情報及び前記評価情報と、を記憶手段に記憶させる記憶ステップと、を実行させることを特徴とする。
上記の課題を解決するために、請求項１３に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも１以上の共用情報が前記複数の情報処理装置によって共用可能に所持される情報配信システムにおける前記情報処理装置における情報処理方法であって、前記複数の情報処理装置に含まれる何れかの前記情報処理装置から前記共用情報の記録の指示を示す記録指示情報を受信する記録指示情報受信ステップであり、前記共用情報が前記複数の情報処理装置によって共用可能となる時刻を示す公開時刻情報が示す時刻が現在時刻を経過していないと判定され、かつ、前記記録指示情報の送信元の前記情報処理装置により前記記録指示情報が受信されてから前記記録指示情報が送信されるまでの時間間隔であり、前記共用情報へのアクセス頻度の予測を示す評価情報が示すアクセス頻度が大きくなるほど短くなるように決定された時間間隔が経過したと判定されたときに送信された前記記録指示情報を受信する記録指示情報受信ステップと、前記記録指示情報受信ステップにおいて前記記録指示情報を受信した前記情報処理装置と、前記記録指示情報受信ステップにおいて受信された前記記録指示情報により記録が指示された前記共用情報を記憶する少なくとも１以上の前記情報処理装置と、の間の通信経路における通信負荷に関する通信負荷情報を取得する通信負荷情報取得ステップと、前記記録指示情報受信ステップにおいて受信された前記記録指示情報により記録が指示された前記共用情報を記憶する前記情報処理装置のうち、前記通信負荷情報取得ステップにおいて取得された前記通信負荷情報に基づいて、前記通信負荷が相対的に小さい前記通信経路を介して接続された前記情報処理装置に対して、前記記録指示情報受信ステップにおいて受信された前記記録指示情報により記録が指示された前記共用情報の送信を要求する要求情報を送信する要求情報送信ステップと、前記要求情報の送信先の前記情報処理装置から、前記共用情報を受信する共用情報受信ステップと、前記記録指示情報受信ステップにおいて受信された前記記録指示情報により記録が指示される前記共用情報に対応する前記公開時刻情報及び前記評価情報を、前記複数の情報処理装置に含まれる何れかの前記情報処理装置から受信する受信ステップと、前記共用情報受信ステップにおいて受信された前記共用情報と、前記受信ステップにおいて受信された前記公開時刻情報及び前記評価情報と、を記憶手段に記憶させる記憶ステップと、を含むことを特徴とする。
【発明を実施するための最良の形態】
【００４１】
次に、本発明を実施するための最良の形態について、図面に基づいて説明する。なお、以下に説明する各実施形態は、インターネット等のネットワークを用いて上記コンテンツの配信を行なう上記Ｐ２Ｐ型の配信システムにおいて、一の端末装置において実行されたコンテンツの配信要求操作に応じて他の端末装置から所望されるコンテンツを当該一の端末装置に配信する場合に対して本発明を適用した場合の実施の形態である。また、以下の説明においては、上記端末装置を一般的に「ノード」と称することとする。
【００４２】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信システムに対して本発明を適用した場合の実施形態である。
【００４３】
＜配信システムの構成等＞
始めに、図１を参照して、情報配信システムとしての配信システムの概要構成等について説明する。
【００４４】
図１は、本実施形態に係る配信システムにおける各ノードＮの接続態様の一例を示す図である。
【００４５】
図１に示すように、ＩＸ（Internet eＸchange）、ＩＳＰ（Internet Service Provider）、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）等の各種ルータ、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界のネットワーク）８が構築されている。
【００４６】
配信システムは、このようなネットワーク８を介して相互に接続された複数のノードＮ１、Ｎ２、Ｎ３、・・・、Ｎ１４、Ｎ１５，Ｎ１６を備えて構成されることになり、ピアツーピア方式のネットワークシステムとなっている。各ノードＮ１、Ｎ２、Ｎ３、・・・には、ノードを示す情報（ノード情報）としての固有の製造番号及びＩＰ（Internet Protocol）アドレスが割り当てられている。なお、製造番号及びＩＰアドレスは、複数のノードＮ間で重複しないものである。なお、以下の説明において、ノードＮ１、Ｎ２、Ｎ３、・・のうち何れかのノードＮを示す場合には、便宜上、ノードＮという場合がある。
【００４７】
これらノードＮが、コンテンツ（Ｘ１）、（Ｘ２）、（Ｘ３）、・・・、を互いに共有するためにはネットワーク８に参加している各ノードＮ１が互いにネットワーク８に参加している全てのノードＮ１のＩＰアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全てのノードＮ１のＩＰアドレスを覚えておくのは現実的ではない。また、任意のノードＮの電源がＯＮ或いはＯＦＦとすると、各ノードＮ１にて記憶している当該任意のノードＮのＩＰアドレスの更新が頻繁になり、運用上困難となる。
【００４８】
そこで、１台のノードＮでは、ネットワーク８に参加している全てのノードＮのうち、必要最低限のノードＮのＩＰアドレスだけを覚えて（記憶して）おいて、ＩＰアドレスを知らない（記憶していない）ノードＮについては、各ノードＮ間で互いに情報を転送し合って届けてもらう分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用したアルゴリズムによって、オーバーレイネットワークを構築することとする。つまり、このオーバーレイネットワークは、既存のネットワーク８を用いて形成された仮想的なリンクを構成するネットワークを意味する。
【００４９】
本実施形態においては、ＤＨＴを利用したアルゴリズムによって構築されたオーバーレイネットワークを前提としており、このオーバーレイネットワーク上に配置されたノードＮを、配信システムに参加（言い換えれば、オーバーレイネットワークに参加）しているノードＮといい、各ノードＮのノードＩＤは、それぞれのノードＮ毎にユニーク（固有）な番号を付与する。この番号は、ノードＮの最大運用台数を収容できるだけのｂｉｔ数を持たせる必要がある。例えば、１２８ｂｉｔの番号とすれば、2＾128≒340×10＾36台のノードＮを運用できる。例えば、製造番号やＩＰアドレス等のノードＮ毎に固有の値を共通のハッシュ関数（ハッシュアルゴリズム）によりハッシュ化して得たハッシュ値をノードＩＤとして定めることにより、各ノードＮが一つのＩＤ空間に偏りなく分散して配置されることになる。なお、ハッシュ関数については公知であるので詳しい説明を省略する。
【００５０】
また、配信システムに参加している複数のノードＮには、１のノードＮから他のノードＮに配信される、映画や音楽等の共用情報としてのコンテンツ（Ｘ）が分散して保存（格納）されているが、このコンテンツ（Ｘ）にも、それぞれのコンテンツ毎にユニーク（固有）な番号（以下、コンテンツＩＤという。）を付与する。例えば、コンテンツの名称（コンテンツタイトル）やコンテンツの概要情報（あらすじ）等のキーワードが、上記ノードＩＤを得るときと共通のハッシュ関数によりハッシュ化して得たハッシュ値をコンテンツＩＤとして定めることにより、各コンテンツ（Ｘ）がノードＮと同一のＩＤ空間にさほど偏ることなく分散して配置されることになる。
【００５１】
どのノードＮがどのコンテンツ（Ｘ）を管理するかを、一定の規則の下に決定する。本実施形態においては、「あるコンテンツＩＤを有するコンテンツ（Ｘ）を管理するノードＮは、そのコンテンツＩＤに近いノードＩＤを有するノードＮである」という規則とする。ここで、「近い」ことの定義は、当該コンテンツＩＤを超えず、コンテンツＩＤとノードＩＤとの差が一番少ないものとするが、実際には、各コンテンツ（Ｘ）の管理を各ノードＮに割り振る際に、一貫していればよい。
【００５２】
ここで「管理」というのは、コンテンツ（Ｘ）を保存／所持していることを意味するのではなく、「コンテンツ（Ｘ）が何れのノードＮ１に保存されているかを知っている」ことを言う。以下の説明において、コンテンツ（Ｘ１）を管理するノードＮを、「コンテンツ（Ｘ１）のルートノード（管理装置）」と言い、また、あるハッシュ値との差が一番少ないノードＮを当該ハッシュ値の「ルートノード」と言う。
【００５３】
本発明は上記配信システムにおいて、コンテンツを公開する前に、すなわち、複数のノードＮ間で共用可能とする前に、予め複数のノードＮに所持（記録）させることにより、コンテンツが公開された直後一斉にコンテンツの要求がある場合に、スムーズに対応することができるような配信システムを提供する。
【００５４】
なお、後に詳細に説明するが、コンテンツを公開する前に複数のノードＮにコンテンツの記録を指示する記録指示メッセージを送信するときや、指示を受けたノードＮがコンテンツの伝送を要求するコンテンツ要求メッセージを送信するときには、各ノードＮが所持するＤＨＴルーティングテーブルに基づいてメッセージが転送されていくこととする。
【００５５】
〈ノードの構成〉
初めに、各実施形態に係る配信システムにおいてネットワークにより相互接続されている各ノードの概要構成について図２を用いて説明する。なお、図２は各実施形態に係るノードの概要構成を示すブロック図である。また、本実施形態に係るＰ２Ｐ型の配信システムに属する各ノードは、全て同一のハードウエア構成を有するものであるので、それらを代表して一般のノードＮの構成について、図２を用いてその概要を説明する。
【００５６】
図２に示すように、各実施形態に係る配信システムに含まれるコンピュータとしてのノードＮは、演算機能を有するＣＰＵ、作業用ＲＡＭ（Random Access Memory）、各種データ及びプログラム（情報処理プログラムを含む）を記録するＲＯＭ（Read Only Memory）等から構成された共用情報記録手段、公開時刻情報記憶手段、評価値情報記憶手段、装置選別手段、記録指示情報送信手段、識別情報送信手段、通信負荷情報取得手段、通信負荷比較手段、要求情報送信手段、情報受信手段、記憶制御手段、共用情報伝送手段及び記録成功情報送信手段としての制御部１１と、上記コンテンツ自体としてのコンテンツデータ、その配信に必要な各種ルーティング用データ及びその他の必要なプログラム等を記録保存（格納）するためのＨＤＤ（Hard Disc Drive）等から構成された共用情報記録手段、公開時刻情報記憶手段及び評価値情報記憶手段としての記憶部１２と、受信されたコンテンツデータを一時蓄積するバッファメモリ１３と、当該コンテンツデータに含まれるエンコード（符号化）されたビデオデータ（映像情報）及びオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）するデコーダ部１４と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部１５と、当該映像処理部１５から出力されたビデオ信号に基づき映像表示するＣＲＴ（Cathode Ray Tube）又は液晶ディスプレイ等よりなる表示部１６と、上記デコードされたオーディオデータをアナログオーディオ信号にＤ／Ａ（Digital/Analog）変換した後これを増幅器等により増幅して出力する音声処理部１７と、当該音声処理部１７から出力されたオーディオ信号を音波として出力するスピーカ１８と、ネットワークを通じて他のノードＮとの間の情報の通信制御を行なうための記録指示情報送信手段、識別情報送信手段、通信負荷情報取得手段、要求情報送信手段、情報受信手段、共用情報伝送手段及び記録成功情報送信手段としての通信部１９と、使用者からの指示を受け付け当該指示に応じた指示信号を制御部１１に出力する入力部（例えば、キーボード、マウス或いは、操作パネル等）２０と、を備えて構成され、制御部１１、記憶部１２、バッファメモリ１３、デコーダ部１４、及び通信部１９はバス２１を介して相互にデータの授受が可能に接続されている。
【００５７】
そして、制御部１１におけるＣＰＵが記憶部１２等に記録された各種プログラムを実行することにより、制御部１１が、実施形態に係るノードＮとしての全体動作を統括制御し、上記各構成部材と協動して当該ノードＮを本発明における情報処理装置として機能させる。
【００５８】
以下、本発明の配信システムの実施形態について詳細に説明する。
【００５９】
Ｉ．第１実施形態
第１実施形態における本発明の情報処理装置としてのノードＮは、記憶部１２が制御部１１と共に共用情報記録手段、公開時刻情報記憶手段及び評価情報記憶手段として機能し、以下の表に示すように、配信システムに新たに登録する対象となるコンテンツのデータ（以下、「コンテンツデータ」と言う。）と、当該コンテンツデータと対応付けて当該コンテンツが公開されるべき時刻を示す公開時刻情報Ｔｏ、及びコンテンツデータを公開前にシステム内に複製すべき数を示す複製数ＶＡＬＵＥを「公開前コンテンツ情報リスト」として記憶している。
【００６０】
【表１】
0004670604.tif 000002
【００６１】
上記複製数ＶＡＬＵＥは、本実施形態における複製適応性を示す評価値の一例であり、この値が大きいほど複製適応性が高い、すなわち複製を作成すべきコンテンツと言え、この複製数ＶＡＬＵＥが１以下になるまで複製が作られ続けることとなる。コンテンツ（Ｘ１）の公開時刻情報Ｔｏ複製数ＶＡＬＵＥを夫々公開時刻情報Ｔｏ（Ｘ１）複製数ＶＡＬＵＥ（Ｘ１）とし、コンテンツ（Ｘ２）の公開時刻情報Ｔｏ複製数ＶＡＬＵＥを夫々公開時刻情報Ｔｏ（Ｘ２）複製数ＶＡＬＵＥ（Ｘ２）とし、以下コンテンツ（Ｘｎ）まで、同様にして公開時刻情報Ｔｏ（Ｘｎ）複製数ＶＡＬＵＥ（Ｘｎ）と夫々対応付けて記憶されているものとする。
【００６２】
そして、「公開前コンテンツ情報リスト」のコンテンツ（Ｘ）のうち、所定の条件を満たすコンテンツ（Ｘ）を記録指示の対象とし、システム内に参加するノードＮのうちコンテンツの記録を指示すべきノードＮを選別し、当該選別されたノードＮに対して、記録指示の対象とされたコンテンツ（Ｘ）を記録するよう指示する記録指示情報としての記録指示メッセージを送信する。
【００６３】
以下、配信システム内にコンテンツの複製が作成されていく手順を図を用いて具体的に説明する。
【００６４】
図３は、ノードＮ１がコンテンツ（Ｘ）の記録指示メッセージを送信する様子を示す説明図である。
【００６５】
ノードＮ１は、記憶部１２に記憶するコンテンツのうち、所定の条件を満たすコンテンツ（Ｘ）を記録指示の対象として選び出し、システム内に参加するノードＮのうちコンテンツの記録を指示すべきとしてノードＮ１２を選別して当該ノードＮ１２にコンテンツ（Ｘ）の記録を指示する記録指示メッセージ（Ｘ）を送信している。
【００６６】
ここで、本実施形態における所定の条件とは、＜１＞コンテンツに対応する公開時刻情報Ｔｏによって示されるコンテンツを公開すべき時刻が現在の時刻を経過していないこと＜２＞コンテンツに対応する複製数ＶＡＬＵＥによって示される複製数が１より大きいことである。
【００６７】
図３におけるノードＮ１は、記憶部１２に記憶しているコンテンツの中から上記条件＜１＞及び＜２＞を満たすコンテンツを、自身の記憶部１２に記憶した「公開前コンテンツ情報リスト」を参照して選び出して、記録指示の対象のコンテンツ（Ｘ）とする。この記録指示の対象となるコンテンツ（Ｘ）の複製数は「８」である。
【００６８】
そして、文字や数字等からなる文字列（ＩＤ）をランダムに生成してこれに基づいて所定のハッシュ関数を用いてハッシュ値を取得する。そして、ＤＨＴを用いて図４に図示するＩＤ空間において、当該取得したハッシュ値に基づくルートノードを検索し、発見されたルートノードが記録指示すべきノードＮとして選別されることになる。
【００６９】
なお、ランダムに生成した文字列を用いずとも、例えば記憶部１２に記憶した「公開前コンテンツ情報リスト」より、任意のコンテンツのタイトルをランダムに取得してこれに基づいて所定のハッシュ関数を用いてハッシュ値を取得してもよい。この場合当該コンテンツのルートノードやキーワードルートノード等が記録指示すべきノードＮとして選別されることになる。
【００７０】
図５は、記録指示メッセージを受信したノードＮ１２が、コンテンツ（Ｘ）を要求してコンテンツ（Ｘ）を受信する様子を示す説明図である。
【００７１】
ノードＮ１２は、記録指示のあったコンテンツ（Ｘ）を記憶するノードＮを検索する。具体的には、ノードＮ１２の制御部１１は識別情報送信手段及び要求情報送信手段として機能し、記録指示のあったコンテンツ（Ｘ）を所定のハッシュ関数を用いて固有の識別情報としてのハッシュ値を取得し、当該コンテンツ（Ｘ）の所在を管理するルートノードから当該コンテンツ（Ｘ）を所持しているノードＮを教えてもらい、このノードＮにアクセスするのである。図５に示す例では、コンテンツ（Ｘ）を所持しているノードＮは、ノードＮ１のみであるので、ノードＮ１２はコンテンツ（Ｘ）の所在を管理するルートノードから当該コンテンツ（Ｘ）を所持しているノードＮとしてノードＮ１を教えてもらい、当該ノードＮ１に対してコンテンツ（Ｘ）を要求するコンテンツ要求メッセージ（Ｘ）を送信し、コンテンツ（Ｘ）を受信することとなる。
【００７２】
図６は、ノードＮ１２が、コンテンツ（Ｘ）の記録が成功したか否かの返答をする様子を示す説明図である。
【００７３】
ノードＮ１２の制御部１１は、記憶制御手段及び記録成功情報送信手段として機能し、受信したコンテンツ（Ｘ）を自身の記憶部１２の「公開前コンテンツ情報リスト」に記憶し、記録指示メッセージ（Ｘ）の送信元であるノードＮ１にコンテンツ（Ｘ）の記録が成功した旨の返答メッセージを送信する。
【００７４】
そして、ノードＮ１の制御部１１は、記憶制御手段として機能し、コンテンツ（Ｘ）の記録が成功した旨の返答メッセージをノードＮ１２から受信すると、「公開前コンテンツ情報リスト」に記憶したコンテンツ（Ｘ）の複製数ＶＡＬＵＥ（Ｘ）を更新して、「公開前コンテンツ情報リスト」に再び記憶し、更新後の複製数ＶＡＬＵＥ（Ｘ）と公開時刻情報Ｔｏ（Ｘ）をノードＮ１２に送信する。図６に示す例では、更新後の複製数ＶＡＬＵＥ（Ｘ）は、更新前の複製数「８」の２分の１すなわち「４」を新たな複製数として更新し、当該複製数を示す複製数ＶＡＬＵＥ（Ｘ）をノードＮ１２に送信する。そして、これを受けたノードＮ１２では、制御部１１が記憶制御手段として機能し、ノードＮ１から受信した複製数ＶＡＬＵＥ（Ｘ）と公開時刻情報Ｔｏ（Ｘ）を「公開前コンテンツ情報リスト」にコンテンツ（Ｘ）と対応付けて記憶する。
【００７５】
図７は、ノードＮ１とノードＮ１２がコンテンツ（Ｘ）の記録指示メッセージを送信する様子を示す説明図である。
【００７６】
ノードＮ１は、上記と同様にして所定の条件を満たすコンテンツ（Ｘ）を記録指示の対象として、システム内に参加するノードＮのうちコンテンツの記録を指示すべきとしてノードＮ９を選別して当該ノードＮ９にコンテンツ（Ｘ）の記録を指示する記録指示メッセージ（Ｘ）を送信する。ノードＮ１２も同様にして選別したノードＮ８にコンテンツ（Ｘ）の記録を指示する記録指示メッセージ（Ｘ）を送信する。
【００７７】
図８は、記録指示メッセージを受信したノードＮ９及びノードＮ８が、コンテンツ（Ｘ）を要求してコンテンツ（Ｘ）を受信する様子を示す説明図である。
【００７８】
ノードＮ９及びノードＮ８は、記録指示のあったコンテンツ（Ｘ）の所在を管理するルートノードから当該コンテンツ（Ｘ）を所持しているノードＮを教えてもらい、このノードＮにアクセスする。
【００７９】
そしてノードＮ９及びノードＮ８は、検索の結果コンテンツ（Ｘ）を所持しているノードＮが複数ある場合には、制御部１１は通信負荷情報取得手段及び通信負荷比較手段として機能し、それぞれのノードＮとの間の通信経路における通信負荷を取得する。通信負荷の取得手法は、夫々のノードＮと情報のやり取りを行なって通信負荷を取得する。なお、通信負荷は、例えば、中継数が少ない（ホップ数が少ない）、遅延時間が短いなどの場合には、通信負荷がより小さいといえる。また、通信経路の有効帯域を知っている場合には、当該有効帯域に基づいて通信負荷を決定しても良い。コンテンツ（Ｘ）を所持している各ノードＮとの間の通信負荷を比較して、通信負荷が相対的に小さい通信経路を介して接続されたノードＮに対してコンテンツ（Ｘ）を要求するコンテンツ要求メッセージ（Ｘ）を送信する。
【００８０】
図８に示す例では、ノードＮ９は、コンテンツ（Ｘ）の所在を管理するルートノードからコンテンツ（Ｘ）を所持するノードＮとして、ノードＮ１とノードＮ１２を教えてもらうこととなるが、より通信負荷の小さい通信経路を介して繋がれているノードＮ１２に対してコンテンツ要求メッセージ（Ｘ）を送信し、当該ノードＮ１２からコンテンツ（Ｘ）を受信する。一方、ノードＮ８も同様にルートノードからコンテンツ（Ｘ）を所持するノードＮとして、ノードＮ１とノードＮ１２を教えてもらうこととなるが、より通信負荷の小さい通信経路を介して繋がれているノードＮ１に対してコンテンツ要求メッセージ（Ｘ）を送信し、当該ノードＮ１からコンテンツ（Ｘ）を受信する。
【００８１】
図９は、ノードＮ９及びノードＮ８が、コンテンツ（Ｘ）の記録が成功したか否かの返答をする様子を示す説明図である。
【００８２】
ノードＮ９及びノードＮ８の制御部１１は、受信したコンテンツ（Ｘ）を自身の記憶部１２の「公開前コンテンツ情報リスト」に記憶し、記録指示メッセージ（Ｘ）の送信元であるノードＮ１２とノードＮ１に夫々コンテンツ（Ｘ）の記録が成功した旨の返答メッセージを送信する。
【００８３】
そして、ノードＮ１２とノードＮ１は、コンテンツ（Ｘ）の記録が成功した旨の返答メッセージをノードＮ９又はノードＮ８から受信すると、「公開前コンテンツ情報リスト」に記憶したコンテンツ（Ｘ）の複製数ＶＡＬＵＥ（Ｘ）を更新して、「公開前コンテンツ情報リスト」に再び記憶し、更新後の複製数ＶＡＬＵＥ（Ｘ）と公開時刻情報Ｔｏ（Ｘ）をノードＮ９及びノードＮ８にそれぞれ送信する。図９に示す例では、更新後の複製数ＶＡＬＵＥ（Ｘ）は、更新前の複製数「４」の２分の１「２」を新たな複製数として更新し、当該複製数を示す複製数ＶＡＬＵＥ（Ｘ）をノードＮ９及びノードＮ８に送信する。そして、これを受けたノードＮ９及びノードＮ８では、ノードＮ１２又はノードＮ１から受信した複製数ＶＡＬＵＥ（Ｘ）と公開時刻情報Ｔｏ（Ｘ）を「公開前コンテンツ情報リスト」にコンテンツ（Ｘ）と対応付けて記憶する。
【００８４】
図１０は、ノードＮ１、Ｎ８、Ｎ９及びＮ１２がコンテンツ（Ｘ）の記録指示メッセージを送信する様子を示す説明図である。
【００８５】
ノードＮ１は、ノードＮ１３に、ノードＮ８はノードＮ３に、ノードＮ９はノードＮ１５に、そしてノードＮ１２はノードＮ５に夫々上述したように同様にしてコンテンツ（Ｘ）の記録を指示する記録指示メッセージ（Ｘ）を送信する。
【００８６】
図１１は、記録指示メッセージを受信したノードＮ１３、Ｎ３、Ｎ１５、及びＮ５がコンテンツ（Ｘ）を要求してコンテンツ（Ｘ）を受信する様子を示す説明図である。
【００８７】
ノードＮ１３、Ｎ３、Ｎ１５、及びＮ５は、記録指示のあったコンテンツ（Ｘ）の所在を管理するルートノードから当該コンテンツ（Ｘ）を所持しているノードＮを教えてもらい、このノードＮにアクセスする。
【００８８】
そして夫々通信負荷が相対的に小さい通信経路を介して接続されたノードＮに対してコンテンツ（Ｘ）を要求するコンテンツ要求メッセージ（Ｘ）を送信する。図１１に示すように、ノードＮ１２はノードＮ１３及びノードＮ１５からコンテンツ要求メッセージ（Ｘ）を受信して、当該ノードＮ１３及びノードＮ１５へとコンテンツ（Ｘ）を伝送している。このように、複数のノードＮからコンテンツの要求があり、複数のノードＮに対してコンテンツを伝送してもよい。
【００８９】
図１２は、ノードＮ１３、Ｎ３、Ｎ１５、及びＮ５が、コンテンツ（Ｘ）の記録が成功したか否かの返答をする様子を示す説明図である。
【００９０】
ノードＮ１３、Ｎ３、Ｎ１５、及びＮ５は、受信したコンテンツ（Ｘ）を自身の記憶部１２の「公開前コンテンツ情報リスト」に記憶し、記録指示メッセージ（Ｘ）の送信元であるノードＮ１、Ｎ８、Ｎ９及びＮ１２に夫々コンテンツ（Ｘ）の記録が成功した旨の返答メッセージを送信する。
【００９１】
そして、コンテンツ（Ｘ）の記録が成功した旨の返答メッセージを受信したノードＮ１、Ｎ８、Ｎ９及びＮ１２は、「公開前コンテンツ情報リスト」に記憶したコンテンツ（Ｘ）の複製数ＶＡＬＵＥ（Ｘ）を更新して、「公開前コンテンツ情報リスト」に再び記憶し、更新後の複製数ＶＡＬＵＥ（Ｘ）と公開時刻情報Ｔｏ（Ｘ）をノードＮ１３、Ｎ３、Ｎ１５、及びＮ５にそれぞれ送信する。
【００９２】
このように、コンテンツを公開前に予め多数のノードＮに所持させて、コンテンツをシステム内に分散配置させることができるので、コンテンツの公開後、一斉に多数のノードＮが当該コンテンツの配信要求をした場合にも、予め複数のノードＮがコンテンツを所持しているので、１台のみがコンテンツを所持している場合と比較して公開直後であっても、それぞれのＰｔｏＰ間で比較的スムーズにコンテンツ配信を行なうことができる。
【００９３】
〈１．ノードの基本処理〉
次に、第1実施形態に係る各ノードＮにおける基本処理について、図１３のフローチャートを用いて説明する。なお、当該処理は、ノードＮの電源がオンとされて、プログラムが制御部１１の制御に基づいて実行されることにより行われる。
【００９４】
先ず、使用者が入力部２０を操作してコンテンツの再生要求操作が実行されたか否かが常に監視されており（ステップＳ１）、当該再生要求操作が行われた場合には（ステップＳ１：Ｙｅｓ）、当該要求されたコンテンツ（Ｘ）が自身の記憶部１２に記憶されているか否かを判定し（ステップＳ２）、記憶されている場合には（ステップＳ２：Ｙｅｓ）、記憶部１２から当該コンテンツ（Ｘ）を取り出して再生処理を行なって（ステップＳ３）、ステップＳ１１に移行する。一方、ステップＳ２において要求されたコンテンツ（Ｘ）が記憶されていない場合には（ステップＳ２：Ｎｏ）、当該コンテンツ（Ｘ）を取得するための「コンテンツ取得処理（Ｘ）」を実行し（ステップＳ４）、再生処理を行なって（ステップＳ３）、ステップＳ１１に移行する。なお、コンテンツ取得処理（Ｘ）の処理方法は、後に詳述する。
【００９５】
一方、上記ステップＳ１の判定においてコンテンツの再生要求操作が実行されないときは（ステップＳ１：Ｎｏ）、使用者が入力部２０を操作して新規コンテンツの公開要求操作が実行されたか否かを判定し（ステップＳ５）、新たなコンテンツ（Ｘ）の公開が要求された場合には（ステップＳ５：Ｙｅｓ）、「新規コンテンツ公開準備処理（Ｘ）」を実行し（ステップＳ６）、ステップＳ１１に移行する。なお、「新規コンテンツ公開準備処理（Ｘ）」については後に詳述する。
【００９６】
一方、上記ステップＳ５の判定において新規コンテンツの公開要求操作が実行されないときは（ステップＳ５：Ｎｏ）、他のノードからあるコンテンツ（Ｘ）の記録するよう指示する記録指示メッセージ（Ｘ）を受信したか否かが判定される（ステップＳ７）。そして、当該記録指示メッセージ（Ｘ）を受信した場合（ステップＳ７：Ｙｅｓ）には、「複製作成処理（Ｘ）」を実行し（ステップＳ８）、ステップＳ１１に移行する。なお、「複製作成処理（Ｘ）」については後に詳述する。
【００９７】
他方、上記ステップＳ７の判定において記録指示メッセージ（Ｘ）を受信していない場合には（ステップＳ７：Ｎｏ）、その他のメッセージを受信したか否かを判定し（ステップＳ９）、受信した場合には（ステップＳ９：Ｙｅｓ）、受信したそのメッセージに対応する処理を実行（ステップＳ１０）した後、ステップＳ１1に移行する。なお、その他のメッセージとは、ＤＨＴにおけるクエリ（要求）やパブリッシュ（公開）メッセージや、その他の通信部１９を介して受信するメッセージである。
【００９８】
続いて、公開前コンテンツ情報リストに既に公開日を過ぎたコンテンツがあるか否かを判定し（ステップＳ１１）、公開日を過ぎたコンテンツがある場合（ステップＳ１１：Ｙｅｓ）には、その公開日の過ぎたコンテンツを公開し、公開前コンテンツ情報リストから削除（ステップＳ１２）してステップＳ１３へ移行する。
【００９９】
一方、公開日を過ぎたコンテンツが無い場合（ステップＳ１１：Ｎｏ）には、電源がオフとされたか否かが確認され（ステップＳ１３）、電源が引き続きオンのままであるときは（ステップＳ１３：Ｎｏ）、次の上記ステップＳ１の処理に戻ってステップＳ１乃至ステップＳ１３の処理を繰り返し行ない、電源がオフとされたときは（ステップＳ１３：Ｙｅｓ）当該処理を終了する。
【０１００】
〈１−１．コンテンツ登録処理〉
続いて、「１．各ノードの基本処理」のステップＳ６におけるシステム内で共用されるべき新たなコンテンツを配信システムへの投入する処理（新規コンテンツ公開準備処理（Ｘ））について図１４に示すフローチャートを用いて説明する。
【０１０１】
先ず初めに、新たに公開するコンテンツ（Ｘ）を各種情報と対応付けて記憶部１２の「公開前コンテンツ情報リスト」に登録する（ステップＳ２１）。より具体的には、ノードＮの使用者等が入力部２０を操作することにより、「公開前コンテンツ情報リスト」に公開時刻と複製数を、公開時刻情報Ｔｏ及び複製数ＶＡＬＵＥとして入力し、新しく登録するコンテンツ（Ｘ）と対応付けて登録する。
【０１０２】
そして、登録されたコンテンツ（Ｘ）を配布する「コンテンツ配布処理（Ｘ）」を実行し（ステップＳ２２）、処理を終了する。
【０１０３】
〈１−２．コンテンツ配布処理〉
続いて、「コンテンツ配布処理（Ｘ）」について図１５に示すフローチャートを用いて説明する。
【０１０４】
先ず、コンテンツ（Ｘ）の公開時刻が経過しているか否かを判定（ステップＳ３１）し、公開時刻が経過している場合（ステップＳ３１：Ｙｅｓ）には、処理を終了する。
【０１０５】
また、公開時刻が経過していない場合（ステップＳ３１：Ｎｏ）には、コンテンツ（Ｘ）の複製数が１より大きいか否かを判定（ステップＳ３３）し、コンテンツ（Ｘ）の複製数が１以下である場合（ステップＳ３３：Ｎｏ）には、当該コンテンツ（Ｘ）は最初に定めた複製数分の複製が既に完了しているので、処理を終了する。
【０１０６】
コンテンツの公開は、当該コンテンツ（Ｘ）を自身が保有していることをシステム全体に見得るようにすると共に、コンテンツの配信要求に対して当該コンテンツの配信を実行することである。なお、コンテンツを保有した各ノードＮが当該処理を行なわない場合には、各コンテンツ（Ｘ）の所在を管理するルートノードが、自身が管理するコンテンツ（Ｘ）の公開時刻を経過したことをきっかけとして、各ノードからのコンテンツ（Ｘ）の所在を問い合わせる問合せメッセージ（クエリ）に対して応答するよう構成すればよい。
【０１０７】
一方、ステップＳ３３の判定においてコンテンツ（Ｘ）の複製数が１より大きい場合（ステップＳ３３：Ｙｅｓ）には、所定の条件を満たすため、当該コンテンツ（Ｘ）を記録指示の対象として他のノードＮに対して記録するよう指示する。
【０１０８】
図３等を用いて説明したように、ランダムな文字列（ＩＤ）を生成し、或いは記憶部１２に記憶した「公開前コンテンツ情報リスト」より、任意のコンテンツのタイトルをランダムに取得して、所定のハッシュ関数を用いてハッシュ値を取得し、ＤＨＴルーティングによりそのハッシュ値に基づくルートノードＮｒを記録指示するためのノードとして選別し、当該ルートノードＮｒのアドレスを取得する（ステップＳ３５）。図４に示す例ではノードＮ１からのハッシュ値がノードＮ１２に辿り着いて、当該ノードＮ１２からノードＮ１２のアドレスを取得することとなる。
【０１０９】
そして、当該ルートノードＮｒにコンテンツ（Ｘ）の記録を指示する記録指示メッセージを送信し（ステップＳ３６）、当該ルートノードＮｒからの返答メッセージの受信を確認する（ステップＳ３７）。返答メッセージの受信が無く（ステップＳ３７：Ｎｏ）、タイムアウトが発生した場合（ステップＳ３８：Ｙｅｓ）には、ステップＳ３５に戻り、再び記録指示すべきノードＮをランダムに選び出して記録指示メッセージを別のノードＮに送信しなおす。タイムアウトが発生するまで返答メッセージの受信を待ち続けることになる。
【０１１０】
一方、返答メッセージを受信した場合（ステップＳ３７：Ｙｅｓ）、当該返答メッセージがコンテンツ（Ｘ）の記録が成功した旨を示すメッセージである場合には（ステップＳ３９：Ｙｅｓ）、コンテンツ（Ｘ）のレプリカ（複製物）が送信先のノードＮ内に指示どおり記録されたことに起因して、コンテンツ（Ｘ）の複製数ＶＡＬＵＥ（Ｘ）を減少させる。具体的には、当該コンテンツ（Ｘ）の複製数を２分の１とし、「公開前コンテンツ情報リスト」に記憶したコンテンツ（Ｘ）の複製数ＶＡＬＵＥ（Ｘ）を更新し、更新後の複製数を示す複製数ＶＡＬＵＥ（Ｘ）を公開時刻情報Ｔｏと共にルートノードＮｒに送信する（ステップＳ４０）。なお、複製数を２分の１としたときに、１の位で割り切れない場合には、四捨五入した値を新たな複製数として「公開前コンテンツ情報リスト」を更新し、その複製数の減少分を複製数ＶＡＬＵＥ（Ｘ）としてルートノードＮｒに送信するよう構成する。
【０１１１】
これにより、新たにコンテンツ（Ｘ）を所持（記録）したノードとコンテンツの複製作業を互いに約半分づつに分担することができる。
【０１１２】
そして、ステップＳ３９の処理においてルートノードＮｒからの返答メッセージが、記録が成功した旨を示すメッセージで無い場合（ステップＳ３９：Ｎｏ）、及びステップＳ４０にて複製数ＶＡＬＵＥ（Ｘ）と公開時刻情報ＴｏをルートノードＮｒへ送信が終わると、ステップＳ３１に戻って再びコンテンツ（Ｘ）が記録指示すべき所定の条件を満たすかをステップＳ３１及びＳ３３にて判定して条件を満たす場合には配布処理を実行し続ける。
【０１１３】
以上により、最初に記録指示をすべきノードが何らかの状況によって複製作成に失敗した場合や、通信経路のトラブル等によって応答が得られない場合であっても他のノードＮに再び記録指示をすることができるので、コンテンツを公開前に複数のノードＮに確実に分散配置させることができる。
【０１１４】
〈１−３．複製作成処理〉
続いて、「１．各ノードの基本処理」のステップＳ８における「複製作成処理」について図１６に示すフローチャートを用いて説明する。
【０１１５】
先ず、コンテンツ（Ｘ）が記憶部１２に記憶されているか否かを判定（ステップＳ５１）し、記憶されていない場合（ステップＳ５１：Ｎｏ）には、記録指示の対象とされているコンテンツ（Ｘ）について「コンテンツ取得処理」を実行（ステップＳ５２）し、当該処理によりコンテンツ（Ｘ）の取得に成功した場合（ステップＳ５３：Ｙｅｓ）には、記録指示メッセージの送信元に複製作成が成功した旨の返答メッセージを送信し指示どおり記録が成功したことを知らせる（ステップＳ５４）。
【０１１６】
そして、記録指示メッセージの送信元のノードから公開時刻情報Ｔｏ（Ｘ）と複製数ＶＡＬＵＥを受信して記憶部１２の「公開前コンテンツ情報リスト」にコンテンツ（Ｘ）と対応付けて記憶し（ステップＳ５５）、自らも「コンテンツ配布処理（Ｘ）」を実行する（ステップＳ５６）。なお、「コンテンツ配布処理」は、上述した「１−２．コンテンツ配布処理」に従って行なう。
【０１１７】
一方、ステップＳ５１の処理において、コンテンツ（Ｘ）が記憶部１２に既に記録されている場合（ステップＳ５１：Ｙｅｓ）、そしてステップＳ５３の処理において、コンテンツ（Ｘ）の取得に失敗した場合（ステップＳ５３：Ｎｏ）には、記録指示メッセージの送信元に複製作成が失敗した旨の返答メッセージを送信する（ステップＳ５７）。
【０１１８】
上述したように、ステップＳ５１において、既に記録指示されたコンテンツ（Ｘ）が記録されている場合には、記録失敗として記録指示メッセージの送信元に送信することにより、記録指示メッセージの送信元では、他のノードＮに記録指示メッセージを送信しなおすことができるので、コンテンツを確実に分散配置させることができる。
【０１１９】
〈１−４．コンテンツ取得処理〉
続いて、「１．各ノードの基本処理」のステップＳ１３及び「１−３．複製作成処理」のステップＳ５２における「コンテンツ取得処理」について図１７に示すフローチャートを用いて説明する。なお、ステップＳ１３におけるコンテンツ取得処理は公開済みのコンテンツの取得処理であり、ステップＳ５２におけるコンテンツ取得処理は本発明に係る公開前のコンテンツの取得処理である。何れの処理もコンテンツを所持するノードに対してコンテンツを要求して取得する点において共通するため１の処理フローにて説明することができる。
【０１２０】
先ず、所定のハッシュ関数を用いてコンテンツ（Ｘ）のタイトルに基づいてハッシュ値を取得し、ＤＨＴルーティングによってコンテンツ（Ｘ）を所有するノードを問合せ、各ノードと自身との間の通信経路における通信負荷を比較して、最も通信負荷の小さいノードＮｈのアドレスを取得する（ステップＳ６１）。
【０１２１】
公開済みのコンテンツの取得（ステップＳ４の処理）の場合には、取得を所望するコンテンツ（Ｘ）の所在を管理するルートノードから、一方、記録指示メッセージに基づく処理（ステップＳ５２の処理）の場合には、記録指示のあったコンテンツ（Ｘ）の所在を管理するルートノードから、何れも同様にしてコンテンツ（Ｘ）を所持しているノードＮのアドレスを教えてもらい、このノードＮにアクセスすることになる。
【０１２２】
コンテンツ（Ｘ）を所持するノードＮが複数存在する場合には、ルートノードから複数のノードのアドレスを教えてもらうこととなる。この場合には、複数のノードＮのうち通信負荷が相対的に小さい通信経路を介して接続された１のノードＮｈをコンテンツ（Ｘ）を要求する要求先に決定する。
【０１２３】
通信負荷は、例えば複数のノードＮと信号のやり取りを行ないＩＰパケット中のＴＴＬフィールドの減少量等から取得したホップ数（通信経路上にある中継装置の数）に基づいてホップ数が少ない程通信負荷が小さいこととしてもよく、或いは、遅延時間（msec）や有効帯域（Ｍｂｐｓ）に基づいて決定しても良い。
【０１２４】
このように決定されたコンテンツ要求先のノードＮｈに対してコンテンツ（Ｘ）を要求するコンテンツ要求メッセージ（Ｘ）を送信する（ステップＳ６２）。
【０１２５】
そしてコンテンツ要求メッセージ（Ｘ）を受けたノードＮｈから伝送されたコンテンツ（Ｘ）を受信した場合（ステップＳ６３：Ｙｅｓ）には、コンテンツ（Ｘ）を記憶部１２に保存したことを確認（ステップＳ６４：Ｙｅｓ）して、コンテンツ（Ｘ）を所持した旨をＤＨＴルーティングによって、コンテンツ（Ｘ）を所持したことを当該コンテンツ（Ｘ）のルートノードに通知し（ステップＳ６５）、処理を終了する。
【０１２６】
一方、ステップＳ６３の処理において、ノードＮｈからのコンテンツ（Ｘ）の受信を確認できない場合（ステップＳ６３：Ｎｏ）、及びステップＳ６４の処理において、コンテンツ（Ｘ）の保存を確認できない場合（ステップＳ６４：Ｎｏ）には、そのまま処理を終了する。
【０１２７】
以上説明したように、コンテンツを公開前に予め多数のノードＮに所持させて、コンテンツをシステム内に分散配置させることができるので、コンテンツの公開後、一斉に多数のノードが当該コンテンツの配信要求をした場合にも、予め多数のノードがコンテンツを所持しているので、１台のみがコンテンツを所持している場合と比較して公開直後であっても、それぞれのＰｔｏＰ間で比較的スムーズにコンテンツ配信を行なうことができる。
【０１２８】
上記ステップＳ３５にて説明したように、コンテンツの記録を指示するノードをランダムに選別するため、ネットワーク全体に均等に複製を作成することができる。
【０１２９】
また、ステップＳ６１にて説明したように、コンテンツの記録を指示されたノードは、記録指示の対象となるコンテンツを所持するノードのうち、自身に最も近い、通信負荷が相対的に小さいノードから当該コンテンツを受信するよう構成したので、システム全体の通信負荷を抑制しつつ複製を作成することができる。
【０１３０】
更に、ステップＳ２１にて説明したようにコンテンツの公開を所望する使用者が、コンテンツを分散配置させる数を複製数ＶＡＬＵＥとして決定できるので、使用者にとって使いやすいシステムを提供することができる。
【０１３１】
また、ステップＳ４０にて説明したように複製先のノードと複製数を分割することにより、コンテンツの分散配置作業を複数のノードで行なうことができるので、より効率よくコンテンツの公開前分散配置を遂行することができる。
【０１３２】
また、ステップＳ３７、Ｓ５４、Ｓ５７にて説明したように複製作成が完遂されたことを返答メッセージとして記録を指示してきたノードに通知するよう構成したので、記録指示したノード側では指示どおり複製作成が行なわれたかを把握することができる。また、ステップＳ５１にて既に同じコンテンツを所持しているノードは記録を失敗した旨の返答をするので、最初に決定した複製数分のコンテンツを計画通り確実に複数のノードに分散配置させることができる。
【０１３３】
更に、ステップＳ６５にてコンテンツ（Ｘ）を所持したことを当該コンテンツ（Ｘ）の所在を管理する管理装置としてのルートノードに知らせるので、ルートノードは、コンテンツの公開後、比較的スムーズに当該コンテンツの配信要求に対応することができる。
【０１３４】
II．第２実施形態
上述した第１実施形態では、コンテンツの複製適応性を示す評価値としてコンテンツを公開前に複製すべき数（複製数）を用いたが、ここでは、コンテンツが公開後、所定期間内におけけるアクセス数（予想アクセス数）と、当該コンテンツの公開準備期間Ｅを用いて、より厳密に評価値を定義すると共に、各ノードＮがコンテンツ配布処理を実行すべき時間（複製作成開始時間）を定め、システム内で複数のノードＮが一斉に当該処理を実行することを防ぐよう構成する。
【０１３５】
なお、本実施形態の説明における全ての処理において、期間の演算処理を行なうことがあるが、その際にはその単位（秒、分、日、週、月、年）を統一して演算するものとする。
【０１３６】
〈２．各ノードの基本処理〉
本実施形態に係る各ノードＮにおける基本処理のフローチャートを図１８に示すが、ステップＳ２０１乃至ステップＳ２１０及びステップＳ２１２の処理は、上述した第１実施形態において図８のフローチャートにおけるステップＳ１乃至ステップＳ１０及びステップＳ１３の処理と同様であるため、ここでの説明は省略する。
【０１３７】
第１実施形態との構成の違いは、ステップＳ２１２における電源のオフの確認の前に、公開日を過ぎたコンテンツの公開とリストからの削除に代わって、「コンテンツ配布処理２」を実行する（ステップＳ２１１）ことである。なお、具体的な処理については後に詳述する。
【０１３８】
〈２−１．コンテンツ登録処理〉
続いて、「２．各ノードの基本処理」のステップＳ２０６におけるシステム内で共用されるべき新たなコンテンツを配信システムへの投入する処理（新規コンテンツ公開準備処理２（Ｘ））について図１９に示すフローチャートを用いて説明する。
【０１３９】
先ず初めに、新たに公開するコンテンツ（Ｘ）を各種情報と対応付けて記憶部１２の「新規コンテンツリスト」（表２参照。）に登録する（ステップＳ２０１）。より具体的には、ノードＮの使用者等が入力部２０を操作することにより、当該コンテンツ（Ｘ）の公開時刻情報Ｔｏ、公開から期間Ｔａの間（例えば期間Ｔａは１週間等）の予想アクセス数Ａを入力してコンテンツ（Ｘ）と対応付けて登録するようになっている。
【０１４０】
【表２】
0004670604.tif 000003
【０１４１】
続いて、評価値ＶＡＬＵＥ（Ｘ）を０（ゼロ）とし、当該コンテンツ（Ｘ）の公開時刻情報によって示される公開時刻から現在時刻を減算した値を公開準備期間Ｅとし、変数ｉを０（ゼロ）とし、パラメータＷ及び変数ｔを公開時刻情報Ｔｏとしてそれぞれの値を初期化する（ステップＳ２２１）。
【０１４２】
なおパラメータＷは、送信元のノードＮ内に記憶されていたコンテンツ（Ｘ）のレプリカ（複製物）が送信先のノードＮ内に作成されたことに起因して、実施形態に係る配信システム全体としてコンテンツ（Ｘ）の評価値を調整するために用いられる複製係数であって、公開前は公開時刻情報ＴｏをパラメータＷとして複製作成メッセージに含むものとする。これにより、当該コンテンツ（Ｘ）の記録指示を受けたノードＮが他のノードＮ間でコンテンツ（Ｘ）の送受信を行なう際に実行される、公開後のアクセス数に応じた最初の評価値取得演算処理等において、コンテンツ（Ｘ）に対して「最後に評価値ＶＡＬＵＥ（Ｘ）を取得した時刻」を示すパラメータＷとして最初は公開時刻情報Ｔｏを用いることができるので、公開前の処理から公開後の処理へとスムーズに一貫した処理を進行することができる。
【０１４３】
なお、本願出願人はコンテンツ公開後の各ノードＮのアクセス数に応じた評価値演算の手法に関して特許出願（特願２００４−０９５６３９）をしていることをここに付記し、公開後の評価値演算の手法に関しては当該出願に詳細に記載されているので説明を省略する。
【０１４４】
続いて、変数ｉが予想アクセス数Ａよりも小さいか否かを判定（ステップＳ２２３）し、変数ｉが予想アクセス数Ａよりも小さいと判定された場合（ステップＳ２２３：Ｙｅｓ）には、「評価値演算処理（Ｘ）」を行ない（ステップＳ２２４）、続いて変数ｉに１を加算し、変数ｔに期間Ｔａを予想アクセス数Ａで除算した値を加算した（ステップＳ２２５）後に、ステップＳ２２３に戻り再び判定を行なう。なお、上記「評価値演算処理（Ｘ）」については、後にフローチャートを用いて説明する。
【０１４５】
ステップＳ２２５の処理における「期間Ｔａを予想アクセス数Ａで除算した値」とは、すなわち、ノードＮに送信後のコンテンツ（Ｘ）が公開時刻が到来して公開された場合、公開後、期間Ｔａまでの間に、当該コンテンツ（Ｘ）へのアクセスがどのくらいの頻度で（例えば、１時間に１回や１０秒に１回等）行われるのかを予測定義するものである。
【０１４６】
一方、ステップＳ２２３の処理において、予想アクセス数Ａが変数ｉ以上と判定された場合（ステップＳ２２３：Ｎｏ）には、後に説明する「評価値演算処理（Ｘ）」で変更されているパラメータＷを公開時刻情報Ｔｏに再度設定する（ステップＳ２２６）。
【０１４７】
続いて、記憶部１２の「公開前コンテンツ情報リスト」（表３参照。）に、記録指示の対象とされるコンテンツ（Ｘ）と、公開時刻情報Ｔｏ、評価値ＶＡＬＵＥ、公開準備期間Ｅ及び複製作成開始時間Ｉを対応付けて記憶（ステップＳ２２７）して処理を終了する。
【０１４８】
【表３】
0004670604.tif 000004
【０１４９】
〈２−２．評価値演算処理〉
続いて、「２−１.コンテンツ登録処理」のステップＳ２２４における「評価値演算処理」について図２０に示すフローチャートを用いて説明する。
【０１５０】
先ず、コンテンツ（Ｘ）の現在の評価値ＶＡＬＵＥ（Ｘ）と現在のパラメータＷ及び変数ｔに基づいて、以下の式（１）によりパラメータＶを演算して取得する（ステップＳ２３０）。
Ｖ＝ＶＡＬＵＥ（Ｘ）×ｄ＾（ｔ−Ｗ）+１    ・・・・（１）
なお、ｄは０から１の値を有する減衰パラメータであって、単位時間当たりに評価値が減衰する割合を示すものであり、公開後もそのまま用いられる。
【０１５１】
この式（１）において、（ｔ−Ｗ）とは前回のアクセス時刻から時刻ｔまでの経過時間を表す。この時刻ｔは公開後の処理においては「現在の時刻」であるが、この公開前の評価値演算処理において、時刻ｔを未来の時刻とすることによって、コンテンツの公開前にそのコンテンツの公開後における評価値を計算するようになっている。従って、式（１）中のＶＡＬＵＥ（Ｘ）×ｄ＾（ｔ−Ｗ）とは、時刻ｔにおける評価値となり、これに今回のアクセス分として１を加えたものが、パラメータＶを取得するための上記式（１）となる。
【０１５２】
そして、上述の如く取得したパラメータＶを、「公開前コンテンツ情報リスト」のコンテンツ（Ｘ）の新たな評価値ＶＡＬＵＥ（Ｘ）として更新する（ステップＳ２４０）。
【０１５３】
例えば、上記式（１）において、減衰パラメータｄを、評価値が1時間ごとに1割減衰するように設定した場合であって、前回の評価値演算処理（Ｘ）から３時間経過している場合には、パラメータＶは上述した式（１）を用いて以下の式（２）の如く取得される。
Ｖ＝ＶＡＬＵＥ（Ｘ）×０．９＾３+１    ・・・・（２）
【０１５４】
そして、パラメータＷを変数ｔとした後に（ステップＳ２３２）処理を終了する。
【０１５５】
〈２−３．複製作成処理２〉
続いて、「２．各ノードの基本処理」のステップＳ２０８における「複製作成処理２」について図２１に示すフローチャートを用いて説明する。
【０１５６】
先ず、コンテンツ（Ｘ）が記憶部１２に既に記憶されているか否かを判定（ステップＳ２４０）し、記憶されていない場合（ステップＳ２４０：Ｎｏ）には、記録指示の対象とされているコンテンツ（Ｘ）について「コンテンツ取得処理２」を実行（ステップＳ２４１）し、当該処理によりコンテンツ（Ｘ）の取得に成功した場合（ステップＳ２４４：Ｙｅｓ）には、記録指示メッセージの送信元に複製作成が成功した旨の返答メッセージを送信し指示どおり記録が成功したことを知らせる（ステップＳ２４５）。
【０１５７】
そして、「公開前コンテンツ情報リスト追加処理（Ｘ）」を実行し（ステップＳ２４６）、処理を終了する。なお、当該「公開前コンテンツ情報リスト追加処理（Ｘ）」は、後にフローチャートを用いて詳述する。
【０１５８】
一方、ステップＳ２４０の処理において、コンテンツ（Ｘ）が記憶部１２に既に記録されている場合（ステップＳ２４０：Ｙｅｓ）、そしてステップＳ２４４の処理において、コンテンツ（Ｘ）の取得に失敗した場合（ステップＳ２４４：Ｎｏ）には、記録指示メッセージの送信元に複製作成が失敗した旨の返答メッセージを送信（ステップＳ２４７）して処理を終了する。
【０１５９】
上述したように、ステップＳ２４０において、既に記録指示されたコンテンツ（Ｘ）が記録されている場合には、記録失敗として記録指示メッセージの送信元に送信することにより、記録指示メッセージの送信元では、他のノードＮに記録指示メッセージを送信しなおすことができるので、コンテンツを確実に分散配置させることができる。
【０１６０】
〈２−４．コンテンツ取得処理２〉
続いて、「２．各ノードの基本処理」のステップＳ２０４及び「２−３．複製作成処理２」のステップＳ２４１における「コンテンツ取得処理２」について図２２に示すフローチャートを用いて説明する。なお、ステップＳ２０４におけるコンテンツ取得処理は公開済みのコンテンツの取得処理であり、ステップＳ２４１におけるコンテンツ取得処理は本発明に係る公開前のコンテンツの取得処理である。何れの処理もコンテンツを所持するノードに対してコンテンツを要求して取得する点において共通するため１の処理フローにて説明することができる。
【０１６１】
先ず、所定のハッシュ関数を用いてコンテンツ（Ｘ）のタイトルに基づいてハッシュ値を取得し、ＤＨＴルーティングによってコンテンツ（Ｘ）を所有するノードを問合せ、各ノードと自身との間の通信経路における通信負荷を比較して、最も通信負荷の小さいノードＮｈのアドレスを取得する（ステップＳ２５０）。
【０１６２】
通信負荷の比較等、当該ステップＳ２５０の処理の詳細は、第１実施形態のステップＳ６１と同様であるのでここでの説明は省略する。
【０１６３】
そして、コンテンツ要求先として決定されたノードＮｈに対してコンテンツ（Ｘ）を要求するコンテンツ要求メッセージ（Ｘ）を送信する（ステップＳ２５１）。
【０１６４】
そしてコンテンツ要求メッセージ（Ｘ）を受けたノードＮｈから伝送されたコンテンツ（Ｘ）を受信した場合（ステップＳ２５２：Ｙｅｓ）には、「コンテンツ保存処理（Ｘ）」を実行し（ステップＳ２５３）、コンテンツ（Ｘ）を記憶部１２に保存したことを確認（ステップＳ２５４：Ｙｅｓ）して、コンテンツ（Ｘ）を所持した旨をＤＨＴルーティングによって、コンテンツ（Ｘ）を所持したことを当該コンテンツ（Ｘ）のルートノードに通知し（ステップＳ２５５）、処理を終了する。なお、ステップＳ２５３における「コンテンツ保存処理」はこの後に詳細に説明する。
【０１６５】
一方、ステップＳ２５２の処理において、ノードＮｈからのコンテンツ（Ｘ）の受信を確認できない場合（ステップＳ２５２：Ｎｏ）、及びステップＳ２５４の処理において、コンテンツ（Ｘ）の保存を確認できない場合（ステップＳ２５４：Ｎｏ）には処理を終了する。
【０１６６】
〈２−５．コンテンツ保存処理〉
続いて、上記ステップＳ２５３における「コンテンツ保存処理」について図２３に示すフローチャートを用いて説明する。
【０１６７】
先ず、記憶部１２に削除コンテンツリスト{}を生成し、当該リストを空にして初期化する（ステップＳ２６０）。続いて、変数ｐを１とし、先のステップＳ２５２の処理において受信した記録指示の対象とされているコンテンツ（Ｘ）の情報量（データ量）から、記憶部１２におけるコンテンツ記憶用の領域のうちコンテンツが未記録である領域である空き記録領域Ｓｒを減算した値をパラメータＳとし、当該コンテンツ（Ｘ）の評価値ＶＡＬＵＥ（Ｘ）をパラメータＶとして定義する（ステップＳ２６１）。
【０１６８】
続いて、パラメータＳが０（ゼロ）以下であるか否かを判定し（ステップＳ２６２）、パラメータＳが０（ゼロ）以下であると判定された場合（ステップＳ２６２：Ｙｅｓ）には、削除コンテンツリストＲ{}のコンテンツを全て削除して（ステップＳ２６３）、記憶部１２の「公開前コンテンツ情報リスト」に上記ステップＳ２５２にて受信したコンテンツ（Ｘ）を記録（記憶）（ステップＳ２６４）して処理を終了する。
【０１６９】
一方、ステップＳ２６２にて、パラメータＳが０以下でないと判定された場合（ステップＳ２６２：Ｎｏ）には、空き記録容量Ｓｒが、コンテンツ（Ｘ）の情報量以上ないということなので、空き記録容量Ｓｒを作るための処理を続けて行なう。
【０１７０】
先ず、変数ｐが記憶部１２に記憶されているコンテンツの数（個）以下か否かを判定する（ステップＳ２６５）。そして、変数ｐが記憶部１２に記憶されているコンテンツの数（個）以下である場合（ステップＳ２６５：Ｙｅｓ）には、パラメータＶの値が、記憶部１２に記憶されているコンテンツのうち、ｐ（変数ｐ）番目に情報量の小さいコンテンツ（Ｘｍｉｎ）の評価値ＶＡＬＵＥ（Ｘｍｉｎ）より小さいか否かを判定する（ステップＳ２６６）。なお、コンテンツが公開された後には、各コンテンツデータと、当該コンテンツデータに対応する評価値ＶＡＬＵＥが表４に示す如く記憶部１２に登録される。
【０１７１】
【表４】
0004670604.tif 000005
【０１７２】
なお、コンテンツ公開後は、評価値ＶＡＬＵＥ（Ｘｍｉｎ）はアクセス（配信要求）があるたび毎に増加する構成とするため、評価値ＶＡＬＵＥが低いコンテンツは、アクセスの少ないコンテンツであり、人気が無いコンテンツとして削除するのに最も相応しいコンテンツであるといえる。なお、公開後のアクセスによる評価値ＶＡＬＵＥの変動については、上述した特許出願（特願２００４−０９５６３９）に詳細に記載されているので説明を省略する。
【０１７３】
そして、評価値ＶＡＬＵＥ（Ｘｍｉｎ）がパラメータＶの値以下である場合（ステップＳ２６６：Ｙｅｓ）には、削除コンテンツリストＲ{}にｐ番目に情報量の小さいコンテンツ（Ｘｍｉｎ）を追加する（ステップＳ２６７）。
【０１７４】
続いて、変数ｐに１を加算し、パラメータＳからｐ番目に情報量の小さいコンテンツ（Ｘｍｉｎ）の情報量を減算した値を新たなパラメータＳとし、パラメータＶからｐ番目に情報量の小さいコンテンツ（Ｘｍｉｎ）の評価値ＶＡＬＵＥ（Ｘ）を減算した値を新たなパラメータＶとして（ステップＳ２６８）、ステップＳ２６２に移行する。
【０１７５】
上述したステップＳ２６２乃至Ｓ２６８の処理において、削除するコンテンツ（削除コンテンツリストＲ{}）の評価値の合計が、記録が指示されたコンテンツ（Ｘ）の評価値を下回らないようにしている。
【０１７６】
一方、ステップＳ２６５にて、変数ｐが記憶部１２に記憶されているコンテンツの数（個）未満である場合（ステップＳ２６５：Ｎｏ）、つまり、記憶部１２の記憶容量が元々小さい場合や、記録が指示されたコンテンツ（Ｘ）が膨大な量である場合には、削除できるコンテンツが記憶部１２にはないので、受信したコンテンツ（Ｘ）を記録せず、また削除コンテンツリストＲ{}のコンテンツも記憶部１２から削除することなく、処理を終了する。
【０１７７】
また、パラメータＶの値が評価値ＶＡＬＵＥ（Ｘｍｉｎ）より小さいと判定された場合（ステップＳ２６６：Ｎｏ）にも同様にして受信したコンテンツ（Ｘ）を記録せず、また削除コンテンツリストＲ{}のコンテンツも記憶部１２から削除することなく、処理を終了する。従って、記録指示の対象となるコンテンツ（Ｘ）の評価値（当該処理においてはパラメータＶに相当する）が小さいときには、既に記録済みのコンテンツを削除しないように構成できる。
【０１７８】
〈２−５．公開前コンテンツ情報リスト追加処理〉
続いて、「２−３．複製作成処理２」のステップＳ２４６における「公開前コンテンツ情報リスト追加処理」について図２４に示すフローチャートを用いて説明する。
【０１７９】
先ず、記録指示メッセージの送信元のノードから公開時刻情報Ｔｏ（Ｘ）、公開準備期間Ｅ（Ｘ）及び複製数ＶＡＬＵＥ（Ｘ）、複製作成開始時間Ｉ（Ｘ）を受信する（ステップＳ２７０）。
【０１８０】
続いて、現在時刻が公開時刻情報Ｔｏを経過しているか否かを判定し（ステップＳ２７１）、経過していない場合（ステップＳ２７１：Ｎｏ）には、次に複製の作成を開始する時間（複製作成開始時間Ｉ）を更新すべく、公開準備期間Ｅを評価値ＶＡＬＵＥで除算した値を現在時刻に追加した値を、新たな複製作成開始時間Ｉとして定義する（ステップＳ２７２）。
【０１８１】
そして、記憶部１２に記憶した「公開前コンテンツ情報リスト」に記録指示の対象とされるコンテンツと、評価値ＶＡＬＵＥ、公開時刻情報Ｔｏ、公開準備期間Ｅ及び複製作成開始時間Ｉを対応付けて記憶（ステップＳ２７３）して処理を終了する。
【０１８２】
一方、ステップＳ２７１において、現在時刻が公開時刻情報Ｔｏを経過している場合（ステップＳ２７１：Ｙｅｓ）には、コンテンツ（Ｘ）を公開して（ステップＳ２７４）処理を終了する。
【０１８３】
〈２−６．コンテンツ配布処理２〉
続いて、「２．各ノードの基本処理」のステップＳ２１１における「コンテンツ配布処理２」について図２５に示すフローチャートを用いて説明する。
【０１８４】
先ず、記憶部１２に記憶した「公開前コンテンツ情報リスト」から複製作成開始時間Ｉが最も早いコンテンツ（Ｘ）の複製作成開始時間Ｉを取得する（ステップＳ２８０）。
【０１８５】
続いて、現在時刻が複製作成開始時間Ｉを経過しているか否かを判定し（ステップＳ２８１）、経過していない場合（ステップＳ２８１：Ｎｏ）には、処理を終了する。
【０１８６】
このように、各ノードがコンテンツ配布を行なうべき時間を複製作成開始時間Ｉによって制御することにより、各ノード間で処理を行なうタイミングをずらすことにより、配信システム内に含まれるノードが一斉にコンテンツの配布処理を開始することによるシステム全体の負荷上昇等の弊害（例えば他のメッセージの授受の遅延等）を防止することができる。
【０１８７】
他方、現在時刻が複製作成開始時間Ｉを経過している場合（ステップＳ２８１：Ｎｏ）には、「公開前コンテンツ情報リスト」から、記録すべきコンテンツとしての所定の条件を満たすため、コンテンツ（Ｘ）の複製作成開始時間Ｉ（Ｘ）を削除し（ステップＳ２８２）、ランダムな文字列（ＩＤ）を生成し、或いは記憶部１２に記憶した「公開前コンテンツ情報リスト」より、任意のコンテンツのタイトルをランダムに取得して、所定のハッシュ関数を用いてハッシュ値を取得し、ＤＨＴルーティングによりそのハッシュ値に基づくルートノードＮｒを記録指示するためのノードとして選別し、当該ルートノードＮｒのアドレスを取得する（ステップＳ２８３）。
【０１８８】
そして、当該ルートノードＮｒに記録指示メッセージを送信し（ステップＳ２８４）、当該ルートノードＮｒからの返答メッセージの受信を確認する（ステップＳ２８５）。返答メッセージの受信がなく（ステップＳ２８５：Ｎｏ）、タイムアウトが発生した場合（ステップＳ２８６：Ｙｅｓ）には、ステップＳ２８３に戻り、再び記録指示すべきノードＮをランダムに選び出して記録指示メッセージを別のノードＮに送信しなおす。タイムアウトが発生するまで返答メッセージの受信を待ち続けることになる。
【０１８９】
一方、返答メッセージを受信した場合（ステップＳ２８５：Ｙｅｓ）、当該返答メッセージがコンテンツ（Ｘ）の記録が成功した旨を示すメッセージである場合には（ステップＳ２８７：Ｙｅｓ）、「公開前コンテンツ情報リスト更新処理」及び「評価値分割処理」を実行し（ステップＳ２８８、Ｓ２８９）、コンテンツ（Ｘ）の評価値ＶＡＬＵＥ、公開時刻情報Ｔｏ、公開準備期間Ｅ、複製作成開始時間Ｉを、ノードＮｒに送信（ステップＳ２９０）して処理を終了する。なお、ノードＮｒに送信する評価値ＶＡＬＵＥと複製作成開始時間Ｉは「公開前コンテンツ情報リスト更新処理」及び「評価値分割処理」を実行して得られる新たな評価値ＶＡＬＵＥ、複製作成開始時間Ｉである。
【０１９０】
一方、ステップＳ２８７の処理においてルートノードＮｒからの返答メッセージが記録が成功した旨を示すメッセージで無い場合（ステップＳ２８７：Ｎｏ）には、ステップＳ２８３に戻り、再び記録指示すべきノードＮをランダムに選び出して記録指示メッセージを別のノードＮに送信しなおす。
【０１９１】
これにより、新たにコンテンツ（Ｘ）を所持（記録）したノードとコンテンツの複製作業を互いに分担することができる。
【０１９２】
〈２−６．公開前コンテンツ情報リスト更新処理〉
続いて、「２−５．複製作成処理２」のステップＳ２８８における「公開前コンテンツ情報リスト更新処理」について図２６に示すフローチャートを用いて説明する。
【０１９３】
先ず、記録指示の対象となるコンテンツ（Ｘ）の公開時刻情報Ｔｏ（Ｘ）、公開準備期間Ｅ（Ｘ）及び複製数ＶＡＬＵＥ（Ｘ）、複製作成開始時間Ｉ（Ｘ）を「公開前コンテンツリスト」から取得する（ステップＳ３００）。
【０１９４】
続いて、現在時刻が公開時刻情報Ｔｏを経過しているか否かを判定し（ステップＳ３０１）、経過していない場合（ステップＳ３０１：Ｎｏ）には、次に複製の作成を開始する時間（複製作成開始時間Ｉ）を更新すべく、公開準備期間Ｅを評価値ＶＡＬＵＥで除算した値を現在時刻に追加した値を、新たな複製作成開始時間Ｉとして定義する（ステップＳ３０２）。
【０１９５】
そして、記憶部１２に記憶した「公開前コンテンツ情報リスト」に記録指示の対象とされるコンテンツと、評価値ＶＡＬＵＥ、公開時刻情報Ｔｏ、公開準備期間Ｅ及び更新後の複製作成開始時間Ｉを対応付けて記憶（ステップＳ３０３）して処理を終了する。
【０１９６】
一方、ステップＳ３０１において、現在時刻が公開時刻情報Ｔｏを経過している場合（ステップＳ３０１：Ｙｅｓ）には、コンテンツ（Ｘ）を公開して（ステップＳ３０４）処理を終了する。
【０１９７】
〈２−７．評価値分割処理〉
続いて、「２−５．複製作成処理２」のステップＳ２８９における「評価値分割処理」について図２７に示すフローチャートを用いて説明する。
【０１９８】
先ず、記憶部１２の「公開前コンテンツ情報リスト」から記録指示の対象となるコンテンツ（Ｘ）の評価値ＶＡＬＵＥを取得する（ステップＳ３１０）。そして、取得した評価値ＶＡＬＵＥを小さくなるように更新する。本実施形態では取得した評価値ＶＡＬＵＥを２分の１とした値を新たな評価値ＶＡＬＵＥとして記憶部１２の「公開前コンテンツ情報リスト」に当該コンテンツ（Ｘ）と対応付けて記憶（ステップＳ３１１）して処理を終了する。
【０１９９】
以上説明したように、本実施形態によれば、コンテンツを他のノードに共用可能に保持する前に（公開前に）予め多数のノードに保持させて、コンテンツをシステム内に分散配置させることができるので、コンテンツの公開後、一斉に多数のノードが当該コンテンツの配信要求をした場合にも、予め多数のノードがコンテンツを保持しているので、１台のみがコンテンツを保持している場合と比較してコンテンツの公開直後であっても、それぞれのＰｔｏＰ間で比較的スムーズにコンテンツ配信を行なうことができ、システム全体の信頼性が向上する。
【０２００】
また、「２−５．コンテンツ保存処理」において説明したように、ノードの記憶部１２の空き記録容量Ｓｒが記録指示の対象とされるコンテンツの情報量以上無い場合には、評価値ＶＡＬＵＥの低いノードを削除するよう構成したので、人気のないコンテンツを削除して、これから公開されるコンテンツを多数のノードに所持させて公開前コンテンツを確実にシステム内に分散配置させて、公開の準備を整えることができる。
【０２０１】
更に、複製が行われる毎に各ノードにて次に複製を行なうべき時間である複製作成開始時間Ｉを、現在時刻と公開時刻情報Ｔｏに基づく公開準備期間Ｅ、及び評価値ＶＡＬＵＥを用いて順次更新するよう構成したので、夫々のノードにおいて記録指示を行なうタイミングを変更できるよう構成したので、配信システム内に含まれるノードが一斉にコンテンツの配布処理を開始することによるシステム全体の負荷上昇等の弊害（例えば他のメッセージの授受の遅延等）を防止することができる。
【０２０２】
図２８にノードＡ乃至Ｏにおいて行われるコンテンツ（Ｘ）のコンテンツの配布処理が行なわれ、各ノードにレプリカ（複製物）が作成されていく様子を示すタイミングチャートを示す。同図は、縦軸は各ノードＡ乃至Ｏを示し、横軸は時間を示し、最初に新規コンテンツの公開を行なうノードＮにおいて評価値ＶＡＬＵＥが４８とし、公開準備期間Ｅが４８時間後として定義された場合の例である。
【０２０３】
このチャートにおいて、各数値は記録指示の対象となるコンテンツ（Ｘ）を自身の記憶部１２に記録してから次の複製までの時間を示すものである。この例の場合には、２時間間隔で何れかのノードにて複製作成処理が行なわれることとなる。つまり、最初ノードＡはノードＩに対して記録指示メッセージを送信し、ノードＩは何れかのノードから記録指示の対象のコンテンツ（Ｘ）を取得している。具体的には、記録指示の対象のコンテンツ（Ｘ）を所持する複数のノードのうち通信負荷が比較的小さいノードからコンテンツ（Ｘ）を取得している。そして、２時間後に今度はノードＡがノードＥに対して記録指示メッセージを送信し、ノードＥでは同様にして記録指示の対象のコンテンツ（Ｘ）を所持する複数のノードのうち通信負荷が比較的小さいノードからコンテンツ（Ｘ）を取得している、さらにその２時間後にはノードＩがノードＭに対して記録指示メッセージを送信している。
【０２０４】
このように、配信システム内に含まれるノードが一斉に記録指示処理や複製作成処理を開始することを防いで、配信システムへの通信負荷の増大を抑制する。
【０２０５】
なお、上述した各実施形態では、コンテンツの記録を指示されたノードＮが、記録が成功すると成功した旨の返答メッセージを送信し、コンテンツ配布処理を実行したノードＮが、これを受信して複製数等の評価値ＶＡＬＵＥを更新して、記録の指示先のノードＮに対して送信することにより、新たにコンテンツを記録したノードが評価値ＶＡＬＵＥを得るよう構成したが、本発明は、このような形態に限られず、記録指示の対象となるコンテンツを所持するノードに対して評価値ＶＡＬＵＥを要求しても良い。この場合には、コンテンツを所持するノードが当該コンテンツの評価値ＶＡＬＵＥを更新すると共に、評価値ＶＡＬＵＥの要求元のノードに該評価値ＶＡＬＵＥを送信すればよい。
【０２０６】
また、上述した各実施形態では、コンテンツの記録を指示されたノードＮが、記録が成功すると成功した旨の返答メッセージを送信し、コンテンツ配布処理を実行したノードＮが、これを受信して公開時刻情報を評価値ＶＡＬＵＥと共に記録指示先のノードＮに対して送信することにより、新たにコンテンツを記録したノードＮが公開時刻情報を得るよう構成したが、本発明は、このような形態に限られず、記録指示の対象となるコンテンツを所持するノードであれば、公開時刻情報を必ず知っているため、記録指示の対象となるコンテンツを所持する他のノードに対して公開時刻情報を要求しても良い。
【０２０７】
なお、上述した各実施形態では、各ノードは何れも共用可能に所持されるべき新たなコンテンツを登録することができるよう構成したが、本発明は、このような形態に限られず、図２９に示す如く、１つの（或いは幾つかの）特定のノードをコンテンツをシステム内に登録するためのコンテンツ登録装置２とすることもできる。そして、コンテンツ登録装置２は、コンテンツ製作会社等または当該製作会社からコンテンツの管理を委託されたシステム管理者によって操作され、システム内に存在するコンテンツを把握するだけでなく、新たにシステム内に登録されるコンテンツを記憶部のデータベースに所持するよう構成する。
【０２０８】
そして、各ノードがコンテンツを検索する際には、このコンテンツ登録装置２にアクセスして、現在システム内に登録されているコンテンツを参照するようにすることができる。
【０２０９】
このようにコンテンツ登録装置２を設けた場合には、各ノードでは上記ステップＳ１２、Ｓ２７４、Ｓ３０４におけるコンテンツの公開を行なわない。そして、公開の方法として、例えば、上述したように、コンテンツを記憶部１２に記録した段階でコンテンツを所持した旨のメッセージを、当該コンテンツのルートノードにＤＨＴルーティングによって転送するよう構成している（ステップＳ６５、Ｓ２５５参照。）ので、ルートノードがコンテンツを所持している全てのノードを管理し、コンテンツ登録装置２の処理によって公開時刻を監視し、公開時刻になったときに、コンテンツ登録装置２が管理する「利用可能なコンテンツのリスト」に掲載することによって、他のノードから当該コンテンツに初めてアクセスできるように構成することで公開されたものとすればよい。
【０２１０】
なお、上述したコンテンツ登録装置２が管理する「利用可能なコンテンツのリスト」は、配信システム内の各ノードがコンテンツを探す際などに参照することができるもので、配信システム内に登録されているコンテンツのうち、現在参照できる全コンテンツの情報が掲載されたリストである。この「利用可能なコンテンツのリスト」は、公開時刻になったときにコンテンツ登録装置２が更新する。つまりコンテンツが公開前にルートノードに登録されたとしても、公開時刻情報に基づく公開時刻を経過するまではこのリストに掲載されることがないので、何れのノードからもこのコンテンツにアクセスすることができないよう構成することができる。
【０２１１】
また、上述した各実施形態においては、配信システムがＤＨＴを利用したアルゴリズムによってオーバーレイネットワークを構築していることを前提としたが、本発明はこれに限定されるものではなく、オーバーレイネットワークを利用しない場合には、例えば、コンテンツ記録指示メッセージを送信するノードＮをランダムに選別する場合には (過去に情報をやり取りしたこと等によって) 自身がアドレスを知っている複数のノードＮの中から選別すればよく、また、コンテンツ要求メッセージを送信するノードＮを通信負荷を比較して選ぶ場合にも、自身がアドレスを知っている複数のノードＮと情報のやり取りを行って通信負荷を比較し、相対的に通信負荷の小さいノードＮに対してコンテンツ要求メッセージを送信すればよい。
【０２１２】
以上夫々説明したように、本発明はネットワークを介したコンテンツの配信の分野に利用することが可能であり、特に複数のノードで共用されるべき公開前のコンテンツを各ノードに分散配置させる分野に適用すれば特に顕著な効果が得られる。
【図面の簡単な説明】
【０２１３】
【図１】第１及び第２実施形態に係るＰ２Ｐ型の配信システムの概要構成図である。
【図２】第１及び第２実施形態に係るノードの概要構成を示すブロック図である。
【図３】ノードＮ１がコンテンツ（Ｘ）の記録指示メッセージを送信する様子を示す説明図である。
【図４】第１及び第２実施形態に係るＩＤ空間の説明図である。
【図５】ノードＮ１２がコンテンツ（Ｘ）を受信する様子を示す説明図である。
【図６】ノードＮ１２がコンテンツ（Ｘ）の返答をする様子を示す説明図である。
【図７】ノードＮ１とノードＮ１２がコンテンツ（Ｘ）の記録指示メッセージを送信する様子を示す説明図である。
【図８】ノードＮ９及びノードＮ８がコンテンツ（Ｘ）を受信する様子を示す説明図である。
【図９】ノードＮ９及びノードＮ８が返答をする様子を示す説明図である。
【図１０】ノードＮ１、Ｎ８、Ｎ９及びＮ１２がコンテンツ（Ｘ）の記録指示メッセージを送信する様子を示す説明図である。
【図１１】ノードＮ１３、Ｎ３、Ｎ１５、及びＮ５がコンテンツ（Ｘ）を受信する様子を示す説明図である。
【図１２】ノードＮ１３、Ｎ３、Ｎ１５、及びＮ５が返答をする様子を示す説明図である。
【図１３】第１実施形態に係る基本処理を示すフローチャートである。
【図１４】第１実施形態に係る新規コンテンツ公開準備処理を示すフローチャートである。
【図１５】第１実施形態に係るコンテンツ配布処理を示すフローチャートである。
【図１６】第１実施形態に係る複製作成処理を示すフローチャートである。
【図１７】第１実施形態に係るコンテンツ取得処理を示すフローチャートである。
【図１８】第２実施形態に係る基本処理を示すフローチャートである。
【図１９】第２実施形態に係る新規コンテンツ公開準備処理を示すフローチャートである。
【図２０】第２実施形態に係る評価値演算処理を示すフローチャートである。
【図２１】第２実施形態に係る複製作成処理２を示すフローチャートである。
【図２２】第２実施形態に係るコンテンツ取得処理２を示すフローチャートである。
【図２３】第２実施形態に係るコンテンツ保存処理を示すフローチャートである。
【図２４】第２実施形態に係る公開前コンテンツ情報リスト追加処理を示すフローチャートである。
【図２５】第２実施形態に係るコンテンツ配布処理２を示すフローチャートである。
【図２６】第２実施形態に係る公開前コンテンツ情報リスト更新処理を示すフローチャートである。
【図２７】第２実施形態に係る評価値分割処理を示すフローチャートである。
【図２８】第２実施形態に係るノードＡ乃至Ｏにおいて行われる複製作成処理を示すタイミングチャートである。
【図２９】コンテンツ登録装置２を含む場合の配信システムの概要構成図である。
【符号の説明】
【０２１４】
１１    制御部
１２    記憶部
１３    バッファメモリ
１４    デコーダ部
１５    映像処理部
１６    表示部
１７    音声処理部
１８    スピーカ
１９    通信部
２０    入力部
２１    バス
Ｘ  コンテンツ
Ｎ（Ｎ１、Ｎ２，・・Ｎ１６、Ｎｒ、Ｎｈ、）Ａ乃至Ｏ  ノード
ＶＡＬＵＥ  評価値、複製数
Ｔｏ  公開時刻情報
Ｉ  複製作成開始時間
Ｅ  公開準備期間
Ｓｒ  記憶部１２の空き記録容量
【図１】
0004670604.tif 000006
【図２】
0004670604.tif 000007
【図３】
0004670604.tif 000008
【図４】
0004670604.tif 000009
【図５】
0004670604.tif 000010
【図６】
0004670604.tif 000011
【図７】
0004670604.tif 000012
【図８】
0004670604.tif 000013
【図９】
0004670604.tif 000014
【図１０】
0004670604.tif 000015
【図１１】
0004670604.tif 000016
【図１２】
0004670604.tif 000017
【図１３】
0004670604.tif 000018
【図１４】
0004670604.tif 000019
【図１５】
0004670604.tif 000020
【図１６】
0004670604.tif 000021
【図１７】
0004670604.tif 000022
【図１８】
0004670604.tif 000023
【図１９】
0004670604.tif 000024
【図２０】
0004670604.tif 000025
【図２１】
0004670604.tif 000026
【図２２】
0004670604.tif 000027
【図２３】
0004670604.tif 000028
【図２４】
0004670604.tif 000029
【図２５】
0004670604.tif 000030
【図２６】
0004670604.tif 000031
【図２７】
0004670604.tif 000032
【図２８】
0004670604.tif 000033
【図２９】
0004670604.tif 000034