(57)【特許請求の範囲】
【請求項１】
ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも１以上の共用情報を前記複数の情報処理装置によって共用可能に保持させるための登録装置を備え、前記各情報処理装置に対応する固有の装置情報であって、前記各共用情報に対応する固有の共用情報識別情報と所定の関係にある前記装置情報を有する前記情報処理装置に、前記各共用情報が、それぞれ管理されるよう構成された情報配信システムにおける前記登録装置は、
新たな共用情報を前記情報配信システムに投入する際に、当該新たな共用情報の評価値を取得する評価値取得手段と、
各前記情報処理装置の安定度を取得する安定度取得手段と、
前記各情報処理装置のうち、前記取得された評価値に応じた安定度を有する情報処理装置を、当該新たな共用情報を管理すべき情報処理装置として選択する選択手段と、
前記新たな共用情報に対して、前記選択された情報処理装置に対応する装置情報と前記所定の関係となる前記共用情報識別情報を付与する共用情報識別情報付与手段と、
前記情報配信システムに参加している少なくとも１つの情報処理装置に対して、前記共用情報識別情報を付与された前記共用情報の登録要求を通知する登録要求通知手段と、
を有することを特徴とする登録装置。
【請求項２】
請求項１に記載の登録装置において、
前記情報配信システムは、オーバーレイネットワークによって前記各情報処理装置が接続され、かつ、前記所定の関係とは、前記オーバーレイネットワークにおける識別情報空間において、前記共用情報識別情報と前記装置情報が最も近接した関係であるか、又は前記共用情報識別情報と前記装置情報とが一致する関係であって、
前記共用情報識別情報付与手段は、前記新たな共用情報に対して、前記選択された情報処理装置に対応する装置情報と一致する前記共用情報識別情報または前記選択された情報処理装置に対応する装置情報に最も近い未使用の前記共用情報識別情報を付与することを特徴とする登録装置。
【請求項３】
請求項１又は２に記載の登録装置において、
前記安定度取得手段は、少なくとも１以上の前記情報処理装置に対して安定度を問い合わせる安定度問い合わせ手段と、
前記情報処理装置から当該安定度を受信する安定度受信手段と、
を有することを特徴とする登録装置。
【請求項４】
請求項１又は２に記載の登録装置において、
前記情報処理装置の安定度を、当該情報処理装置に対応する固有の装置情報と夫々対応付けて記憶する安定度記憶手段を有し、
前記安定度取得手段は、前記安定度記憶手段を参照して前記各情報処理装置の安定度を取得することを特徴とする登録装置。
【請求項５】
請求項１乃至４のいずれか一項に記載の登録装置において、
前記評価値取得手段によって取得された評価値と、前記新たな共用情報を管理する情報処理装置に対応する前記装置情報と、を夫々対応付けて記憶する評価値記憶手段と、
前記評価値記憶手段に記憶される評価値のうち、何れかの前記共用情報に係る新たな評価値を決定すべき決定要因を示す決定要因情報を取得する決定要因情報取得手段と、
前記決定要因情報に基づいて前記新たな評価値を夫々決定する評価値決定手段と、
前記評価値決定手段によって決定された前記新たな評価値に基づいて、前記評価値記憶手段に記憶される対応する評価値を更新する評価値更新手段と、を有し、
前記選択手段は、前記評価値の更新が行われると、更新後の評価値に応じた安定度を有する情報処理装置を、当該評価値に係る前記共用情報を管理すべき情報処理装置として選択し、
前記共用情報識別情報付与手段は、前記評価値が更新された前記共用情報に対して、前記選択された情報処理装置に対応する装置情報と前記所定の関係となる前記共用情報識別情報を付与し、
前記評価値が更新された前記共用情報を管理していた前記情報処理装置へ、前記共用情報に新たに付与された前記共用情報識別情報を送信して、共用情報識別情報の変更を通知する変更通知手段を備えたことを特徴とする登録装置。
【請求項６】
請求項５に記載の登録装置において、
前記決定要因情報は、前記各情報処理装置からの前記共用情報の配信要求の頻度を示す配信要求頻度情報であることを特徴とする登録装置。
【請求項７】
請求項５に記載の登録装置において、
前記決定要因情報は、前記各共用情報を管理する前記各情報処理装置が保持する、管理下にある前記共用情報を保存する情報処理装置に対応する前記装置情報の数を示す保存装置数情報であって、当該保存装置数情報は、前記各情報処理装置からの前記各共用情報の配信要求の頻度に応じて増減し、
前記決定要因情報取得手段は、前記各共用情報を管理する前記各情報処理装置から、前記装置数情報を取得することを特徴とする登録装置。
【請求項８】
請求項６又は７に記載の登録装置において、
前記評価値決定手段は、前記共用情報の評価値を決定する際に、前記配信要求頻度情報によって示される配信要求の頻度が多いほど、又は前記装置数情報によって示される装置の数が多いほど、高い評価値となるよう決定し、
前記選択手段は、高い安定度を有する前記情報処理装置を優先して評価値の高い共用情報を管理すべき情報処理装置として選択することを特徴とする登録装置。
【請求項９】
請求項８に記載の登録装置において、
前記選択手段は、評価値の高い前記共用情報を管理すべき情報処理装置を選択する際に、高い安定度を有する前記情報処理装置が複数ある場合には、これら各前記情報処理装置のうち、既に管理している前記共用情報の数が比較的少ない前記情報処理装置を管理すべき情報処理装置として選択することを特徴とする登録装置。
【請求項１０】
請求項４乃至９のいずれか一項に記載の登録装置において、
前記安定度記憶手段に記憶されている前記情報処理装置の安定度及び装置情報の量が、所定の基準量と同一になるか又はこれより大きくなった場合に、過去に記憶した前記情報処理装置の安定度及び装置情報を削除する情報削除手段を有することを特徴とする登録装置。
【請求項１１】
請求項１乃至１０のいずれか一項に記載の登録装置において、
前記情報処理装置の安定度は、当該情報処理装置が、前記情報配信システムに参加している参加持続時間に基づいて決定され、前記参加持続時間が長いほど安定度が高く、短いほど安定度が低いことを特徴とする登録装置。
【請求項１２】
請求項１乃至１０のいずれか一項に記載の登録装置において、
前記情報処理装置の安定度は、所定の参加時間計測期間中における前記情報処理装置の前記情報配信システムへの参加時間に基づいて決定され、前記参加時間計測期間中の前記参加時間が長いほど安定度が高く、短いほど安定度が低いことを特徴とする登録装置。
【請求項１３】
ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも１以上の共用情報を前記複数の情報処理装置によって共用可能に保持させるための登録装置を備え、前記各情報処理装置に対応する固有の装置情報であって、前記各共用情報に対応する固有の共用情報識別情報と所定の関係にある前記装置情報を有する前記情報処理装置に、前記各共用情報が、それぞれ管理されるよう構成された情報配信システムにおける登録方法であって、
前記登録装置は、
新たな共用情報を前記情報配信システムに投入する際に、当該新たな共用情報の評価値を取得する工程と、
各前記情報処理装置の安定度を取得する工程と、
前記各情報処理装置のうち、前記取得された評価値に応じた安定度を有する情報処理装置を、当該新たな共用情報を管理すべき情報処理装置として選択する工程と、
前記新たな共用情報に対して、前記選択された情報処理装置に対応する装置情報と前記所定の関係となる前記共用情報識別情報を付与する工程と、
前記情報配信システムに参加している少なくとも１つの情報処理装置に対して、前記共用情報識別情報を付与された前記共用情報の登録要求を通知する工程と、
を有することを特徴とする登録方法。
【請求項１４】
コンピュータを、請求項１乃至１２のいずれか一項に記載の登録装置として機能させることを特徴とする登録処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
ネットワークを介して互いに通信可能な複数の情報処理装置を備えたピアツーピア（Peer to Peer（P2P））型の情報配信システムであって、少なくとも１以上の共用情報を複数の情報処理装置によって共用可能に保持させるための登録装置等に関する。
【背景技術】
【０００２】
近年、インターネット等のネットワークを介して上記コンテンツを蓄積しているサーバ等にノード装置からアクセスし、そのノード装置において視聴が所望されているコンテンツを当該ノード装置に配信して視聴する、いわゆるコンテンツ配信を行なう情報配信システムについての研究開発が盛んである。
【０００３】
そして、当該情報配信システムの一つとして、ネットワークに属するノード装置間で、当該コンテンツが相互に直接授受される情報配信システム、例えば、各コンテンツを複数のノード装置間で分散して複数のノード装置で共用させる情報配信システムであるＰ２Ｐ（Peer to Peer）型の情報配信システムがある。このＰ２Ｐ型の情報配信システムは、従来のクライアント・サーバ型のモデルの欠点である、サーバへのアクセス集中や、高い管理コストを解決する手法として注目されている。
【０００４】
また、この分野の研究では、Ｐ２Ｐ型の配信システムの一つとして、ピアツーピア型の情報配信システムにおいて、例えば、分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用して論理的に構築されたオーバーレイネットワークでは、各ノードが、当該オーバーレイネットワークに参加している全てのノード装置へのリンク情報（例えば、ＩＰアドレス）を認識しているわけではなく、参加の際などに得られる一部のノード装置へのリンク情報だけを所持しており、かかるリンク情報に基づき、データの問い合わせ等を行なうようになっている。
【０００５】
このようなオーバーレイネットワークにおいては、ノード装置の参加及び脱退（離脱）が頻繁に行われても、負荷分散が適切に行われる必要があり、非特許文献１には、オーバーレイネットワークにおいて、参加及び脱退（離脱）が頻繁に行われる場合であっても、適切に負荷分散を行なうための技術が開示されている。また、特許文献１、２の技術が開示されている。
【非特許文献１】「分散ハッシュテーブルの軽量な負荷分散手法の検討」  社団法人  電子情報通信学会  信学技報
【特許文献１】特開２００３−９９３３７号公報
【特許文献２】特開２００３−２１６５２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
各コンテンツを管理すべきルートノードは、システムに含まれる他のノード装置からの問合せがされる重要な役割を担うのであるが、ルートノード自身がシステムへの参加・脱退を頻繁に繰り返すなど、装置が安定して動作していないような場合には、その都度、別のノード装置がルートノードとして入れ替わらなければならず、他のノード装置の負担が大きくなる。
【０００７】
本発明は、以上の問題等に鑑みてなされたものであり、コンテンツの人気度（評価値）に応じて、ルートノードとなるべきノード装置を、ノード装置の安定度によって適切に選択することが可能な登録装置、登録方法及び登録処理プログラムを提供することを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも１以上の共用情報を前記複数の情報処理装置によって共用可能に保持させるための登録装置を備え、前記各情報処理装置に対応する固有の装置情報であって、前記各共用情報に対応する固有の共用情報識別情報と所定の関係にある前記装置情報を有する前記情報処理装置に、前記各共用情報が、それぞれ管理されるよう構成された情報配信システムにおける前記登録装置は、新たな共用情報を前記情報配信システムに投入する際に、当該新たな共用情報の評価値を取得する評価値取得手段と、各前記情報処理装置の安定度を取得する安定度取得手段と、前記各情報処理装置のうち、前記取得された評価値に応じた安定度を有する情報処理装置を、当該新たな共用情報を管理すべき情報処理装置として選択する選択手段と、前記新たな共用情報に対して、前記選択された情報処理装置に対応する装置情報と前記所定の関係となる前記共用情報識別情報を付与する共用情報識別情報付与手段と、前記情報配信システムに参加している少なくとも１つの情報処理装置に対して、前記共用情報識別情報を付与された前記共用情報の登録要求を通知する登録要求通知手段と、を有することを特徴とする。
【０００９】
この発明によれば、共用情報が、当該共用情報を管理すべき情報処理装置の装置情報と所定の関係となる共用情報識別情報を有する場合に、共用情報識別情報を、当該共用情報の評価値に応じた安定度を有する情報処理装置の装置情報と所定の関係となるよう付与するようにしたので、各共用情報は、管理すべき情報処理装置を夫々の評価値に応じて適切に選択することができる。
【００１０】
請求項２に記載の発明は、請求項１に記載の登録装置において、前記情報配信システムは、オーバーレイネットワークによって前記各情報処理装置が接続され、かつ、前記所定の関係とは、前記オーバーレイネットワークにおける識別情報空間において、前記共用情報識別情報と前記装置情報が最も近接した関係であるか、又は前記共用情報識別情報と前記装置情報とが一致する関係であって、前記共用情報識別情報付与手段は、前記新たな共用情報に対して、前記選択された情報処理装置に対応する装置情報と一致する前記共用情報識別情報または前記選択された情報処理装置に対応する装置情報に最も近い未使用の前記共用情報識別情報を付与することを特徴とする。
【００１１】
この発明によれば、共用情報識別情報と装置情報の関係が、オーバーレイネットワークにおける識別情報空間において一致するか、最も近接した関係となるように、共用情報識別情報を付与するので、管理すべき情報処理装置として選択された情報処理装置に誤りなく管理させることができる。
【００１２】
請求項３に記載の発明は、請求項１又は２に記載の登録装置において、前記安定度取得手段は、少なくとも１以上の前記情報処理装置に対して安定度を問い合わせる安定度問い合わせ手段と、前記情報処理装置から当該安定度を受信する安定度受信手段と、を有することを特徴とする。
【００１３】
この発明によれば、現在情報配信システムに参加中の情報処理装置の安定度を確実に取得することができる。
【００１４】
請求項４に記載の発明は、請求項１又は２に記載の登録装置において、前記情報処理装置の安定度を、当該情報処理装置に対応する固有の装置情報と夫々対応付けて記憶する安定度記憶手段を有し、前記安定度取得手段は、前記安定度記憶手段を参照して前記各情報処理装置の安定度を取得することを特徴とする。
【００１５】
この発明によれば、安定度記憶手段を参照するだけで容易に情報処理装置の安定度を取得することができる。
【００１６】
請求項５に記載の発明は、請求項１乃至４のいずれか一項に記載の登録装置において、前記評価値取得手段によって取得された評価値と、前記新たな共用情報を管理する情報処理装置に対応する前記装置情報と、を夫々対応付けて記憶する評価値記憶手段と、前記評価値記憶手段に記憶される評価値のうち、何れかの前記共用情報に係る新たな評価値を決定すべき決定要因を示す決定要因情報を取得する決定要因情報取得手段と、前記決定要因情報に基づいて前記新たな評価値を夫々決定する評価値決定手段と、前記評価値決定手段によって決定された前記新たな評価値に基づいて、前記評価値記憶手段に記憶される対応する評価値を更新する評価値更新手段と、を有し、前記選択手段は、前記評価値の更新が行われると、更新後の評価値に応じた安定度を有する情報処理装置を、当該評価値に係る前記共用情報を管理すべき情報処理装置として選択し、前記共用情報識別情報付与手段は、前記評価値が更新された前記共用情報に対して、前記選択された情報処理装置に対応する装置情報と前記所定の関係となる前記共用情報識別情報を付与し、前記評価値が更新された前記共用情報を管理していた前記情報処理装置へ、前記共用情報に新たに付与された前記共用情報識別情報を送信して、共用情報識別情報の変更を通知する変更通知手段を備えたことを特徴とする。
【００１７】
この発明によれば、共用情報の評価値を決定する決定要因情報に基づいて、評価値を更新することができると共に、更新後の評価値に応じた安定度を有する情報処理装置を、共用情報を管理すべき情報処理装置として更新することができるので、常に変動する評価値に対応して管理すべき情報処理装置を変更できる。そして、管理していた情報処理装置は、共用情報を管理する必要はなくなったことを把握することができる。
【００１８】
請求項６に記載の発明は、請求項５に記載の登録装置において、前記決定要因情報は、前記各情報処理装置からの前記共用情報の配信要求の頻度を示す配信要求頻度情報であることを特徴とする。
【００１９】
この発明によれば、配信要求頻度に応じて共用情報の評価値を決定することができる。
【００２０】
請求項７に記載の発明は、請求項５に記載の登録装置において、前記決定要因情報は、前記各共用情報を管理する前記各情報処理装置が保持する、管理下にある前記共用情報を保存する情報処理装置に対応する前記装置情報の数を示す保存装置数情報であって、当該保存装置数情報は、前記各情報処理装置からの前記各共用情報の配信要求の頻度に応じて増減し、前記決定要因情報取得手段は、前記各共用情報を管理する前記各情報処理装置から、前記装置数情報を取得することを特徴とする。
【００２１】
この発明によれば、共用情報を管理する情報処理装置の保存装置数情報に応じて、共用情報の評価値を決定することができる。
【００２２】
請求項８に記載の発明は、請求項６又は７に記載の登録装置において、前記評価値決定手段は、前記共用情報の評価値を決定する際に、前記配信要求頻度情報によって示される配信要求の頻度が多いほど、又は前記装置数情報によって示される装置の数が多いほど、高い評価値となるよう決定し、前記選択手段は、高い安定度を有する前記情報処理装置を優先して評価値の高い共用情報を管理すべき情報処理装置として選択することを特徴とする。
【００２３】
この発明によれば、評価値の高い共用情報には安定度の高い情報処理装置が管理するよう構成したので、共用情報の購入（配信要求）等が頻繁に行なわれる場合であっても安定した情報処理装置にて安定して管理することができる。
【００２４】
請求項９に記載の発明は、請求項８に記載の登録装置において、前記選択手段は、評価値の高い前記共用情報を管理すべき情報処理装置を選択する際に、高い安定度を有する前記情報処理装置が複数ある場合には、これら各前記情報処理装置のうち、既に管理している前記共用情報の数が比較的少ない前記情報処理装置を管理すべき情報処理装置として選択することを特徴とする。
【００２５】
この発明によれば、特定の情報処理装置のみが管理する共用情報の数が多くなることを防ぐことができる。
【００２６】
請求項１０に記載の発明は、請求項４乃至９のいずれか一項に記載の登録装置において、前記安定度記憶手段に記憶されている前記情報処理装置の安定度及び装置情報の量が、所定の基準量と同一になるか又はこれより大きくなった場合に、過去に記憶した前記情報処理装置の安定度及び装置情報を削除する情報削除手段を有することを特徴とする。
【００２７】
この発明によれば、情報処理装置の記憶する安定度及び装置情報の数が膨大となり、高負荷となることを防ぐことができる。
【００２８】
請求項１１に記載の発明は、請求項１乃至１０のいずれか一項に記載の登録装置において、前記情報処理装置の安定度は、当該情報処理装置が、前記情報配信システムに参加している参加持続時間に基づいて決定され、前記参加持続時間が長いほど安定度が高く、短いほど安定度が低いことを特徴とする。
【００２９】
この発明によれば、情報処理装置がどのくらい長くシステムに参加しているかを把握して、安定度を決定することができる。
【００３０】
請求項１２に記載の発明は、請求項１乃至１０のいずれか一項に記載の登録装置において、前記情報処理装置の安定度は、所定の参加持続時間計測期間中の前記情報処理装置の前記情報配信システムへの参加時間に基づいて決定され、前記参加持続時間計測期間中の前記参加時間が長いほど安定度が高く、短いほど安定度が低いことを特徴とする。
【００３１】
この発明によれば、所定の参加持続時間計測期間内に、情報処理装置が安定しているかを把握することができる。
【００３２】
請求項１３に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置と、少なくとも１以上の共用情報を前記複数の情報処理装置によって共用可能に保持させるための登録装置を備え、前記各情報処理装置に対応する固有の装置情報であって、前記各共用情報に対応する固有の共用情報識別情報と所定の関係にある前記装置情報を有する前記情報処理装置に、前記各共用情報が、それぞれ管理されるよう構成された情報配信システムにおける登録方法であって、前記登録装置は、新たな共用情報を前記情報配信システムに投入する際に、当該新たな共用情報の評価値を取得する工程と、各前記情報処理装置の安定度を取得する工程と、前記各情報処理装置のうち、前記取得された評価値に応じた安定度を有する情報処理装置を、当該新たな共用情報を管理すべき情報処理装置として選択する工程と、前記新たな共用情報に対して、前記選択された情報処理装置に対応する装置情報と前記所定の関係となる前記共用情報識別情報を付与する工程と、前記情報配信システムに参加している少なくとも１つの情報処理装置に対して、前記共用情報識別情報を付与された前記共用情報の登録要求を通知する工程と、を有することを特徴とする。
【００３３】
請求項１４に記載の発明は、コンピュータを、請求項１乃至１２のいずれか一項に記載の登録装置として機能させることを特徴とする。
【発明の効果】
【００３４】
本発明によれば、コンテンツ（共用情報）が、当該コンテンツを管理すべきノード装置（情報処理装置）のノードＩＤ（装置情報）と所定の関係となるコンテンツＩＤ（共用情報識別情報）を有する場合に、コンテンツＩＤを、当該コンテンツの人気度（評価値）に応じた安定度を有するノード装置のノードＩＤと所定の関係となるよう付与するようにしたので、各コンテンツが、その人気度（評価値）に応じて管理すべきノード装置を、適切に選択することができる。
【発明を実施するための最良の形態】
【００３５】
［１．コンテンツ配信システムの構成等］
始めに、図１を参照して、情報配信システムとしてのコンテンツ配信システムの概要構成等について説明する。
【００３６】
図１は、本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。
【００３７】
図１の下部枠５０１内に示すように、中継装置としてのＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４、ＤＳＬ（Digital Subscriber Line）回線事業者の装置５ａ及び５ｂ、ＦＴＴＨ（Fiber To The Home）回線事業者の装置６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界のネットワーク）８が構築されている。
【００３８】
そして、このようなネットワーク８を介して相互に接続された各ノード装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・には、ＩＰ（Internet Protocol）アドレス等の宛先情報を含むノード装置を示す情報（ノード情報）が割り当てられており、更に各ノード装置を特定するための固有の値としてのノードＩＤ（ＩＤentifier）（装置情報）が割り当てられている。これらノードＩＤは複数のノード装置間で重複しないものである。なお、以下の説明において、ノード装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・のうち何れかのノード装置を示す場合には、便宜上、ノード装置１という場合がある。
【００３９】
また、コンテンツ配信システムＳにおいて、当該ノード装置１が、他のノード装置１の持つ情報にアクセスする際には、その情報を持つノード装置１の宛先情報（ＩＰアドレス及びポート番号）を知っていなければならない。
【００４０】
このようなシステムの一例として、ＤＨＴを利用したアルゴリズムによって、図１の上部枠５００内に示すような、オーバーレイネットワーク９が構築されることになる。つまり、このオーバーレイネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するネットワークを意味する。
【００４１】
装置情報としてのノードＩＤは、各ノード装置を一意に識別することができるものであればよく、例えば、工場出荷時に予め割り振られる製造番号やマシン名等を共通のハッシュ関数（ハッシュアルゴリズム）によりハッシュ化して得たハッシュ値をＧＵＩＤ（Global Unique IDentifier）として用い、これらを組み合わせて、ノードＩＤとして各ノード装置１に用いることが可能である。
【００４２】
またノードＩＤは、ノード装置の最大運用台数を収容できるだけのｂｉｔ数を持たせる必要がある。例えば、１２８ｂｉｔの番号とすれば、2＾128≒340×10＾36台のノード装置を運用できる。実際には既知のハッシュ関数であるＳＨＡ−１（Secure Hash Algorithm 1）（生成桁数１６０bit）やMD５（Message Digest 5）（生成桁数１２０bit）を用いることが想定される。
【００４３】
また、コンテンツ配信システムＳは、本発明の登録装置の一例としてのシステム管理サーバ１００を備える。
【００４４】
システム管理サーバ１００は、オーバーレイネットワーク９内の各ノード装置１にて共用されるコンテンツを投入し登録すると共に、ネットワーク内にあるコンテンツのタイトル、コンテンツＩＤ、コンテンツの価格等を含むコンテンツ登録情報をカタログリストとして全ノード装置１に配布するコンテンツ登録作業を行なう。更に、各ノード装置１によってコンテンツが購入されると、その購入情報を受け、ログとして管理し、決済の日に各ノード装置１のユーザの銀行口座等から購入金額の引き落としを行なう課金作業を行なう。更に、オーバーレイネットワーク９に新たに参加しようとするノード装置１から、システムに参加しているノード装置１のうち、最初にアクセスすべきノード装置１の問い合わせを受け、何れかのノード装置１をコンタクトノードとして紹介するコンタクトノード紹介作業を行なう。
【００４５】
［１−１．ＤＨＴの概要］
以下に、本実施形態に係る分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用したアルゴリズムについて説明する。
本実施形態においては、ＤＨＴを利用したアルゴリズムによって構築されたオーバーレイネットワーク９を前提としており、このオーバーレイネットワーク９（図１の上部枠５００内）に配置されたノード装置１を、オーバーレイネットワーク９に参加しているノード装置１という。言い換えれば、オーバーレイネットワーク９は、ノード装置１の参加により形成されている。このようなオーバーレイネットワーク９への参加は、参加していないノード装置１が、参加している任意のノード装置１に対して参加要求を示す参加要求情報としての参加メッセージを送信することによって行われる。
【００４６】
また、コンテンツ配信システムＳに参加している複数のノード装置１には、１のノード装置１から他のノード装置１に配信される共用情報としてのコンテンツ（例えば、映画や音楽等）データが分散して保存（格納）されているが、当該コンテンツにも、それぞれのコンテンツ毎にユニーク（固有）な共用情報識別情報（以下、コンテンツＩＤという。）が付与される。
【００４７】
このコンテンツＩＤは、ノードＩＤと同様の長さ（例えば、１２８ｂｉｔ等）であって、コンテンツをコンテンツ配信システムＳに投入して登録を行なうシステム管理サーバ１００によって決定され各コンテンツに付与される。
【００４８】
図２は３２ｂｉｔでノードＩＤ及びコンテンツＩＤを付与し、ＩＤ空間上に図示したものである。図中黒点はノードＩＤを、黒ひし形はコンテンツＩＤを示し、反時計回りでＩＤが増加するものとする。
【００４９】
システム管理サーバ１００が当該システムに新たなコンテンツを投入する際に、当該新たなコンテンツに付与するコンテンツＩＤを決定するが、コンテンツＩＤの決定の説明の前に、オーバーレイネットワーク９のＩＤ空間（識別情報空間）における、コンテンツと当該コンテンツを管理するノード装置１との関係について説明する。
【００５０】
図２に示すようなＩＤ空間において、どのノード装置１に、どのコンテンツが管理されるかは、コンテンツＩＤとノードＩＤとが「所定の関係」にあるか否かによって決定される。ここで、「所定の関係」とは、一定の規則の下に決定されるが、本実施形態においては、「あるコンテンツＩＤを有するコンテンツデータを管理するノード装置は、そのコンテンツＩＤに最も近接するノードＩＤを有するノード装置１である」という規則とする。つまり、コンテンツＩＤと最も近接する（例えば、上位桁がより多く一致する）ノードＩＤであって、コンテンツＩＤの値と同じかそれ以下の値となるノードＩＤを有するノード装置１が、当該コンテンツデータを保存するノード装置の所在情報を管理することとする。
【００５１】
ここで、「所定の関係」の定義は、当該コンテンツＩＤを超えず、コンテンツＩＤとノードＩＤとの差が一番少ないものとするが、本発明はこれに限定されず、各コンテンツデータの管理を各ノード装置１に割り振る際に、一貫していればよい。同図に示す例では、この定義に基づいて、コンテンツＩＤａは、ノードＩＤａを有するノード装置に管理され、コンテンツＩＤｂは、ノードＩＤｂを有するノード装置に管理される。また、コンテンツＩＤｃ、ＩＤｄは、ノードＩＤｃを有するノード装置１に管理されるように、あるノード装置は複数の異なるコンテンツデータを管理することもある。
【００５２】
なお、ここで「管理」というのは、コンテンツを保存／保持していることを意味するのではなく、「コンテンツのデータ（コンテンツデータ）が何れのノード装置１に保存されているかを知っている」ことを言う。すなわち、図２において、ノードＩＤａを有するノード装置１は、コンテンツＩＤａを有するコンテンツが何れのノード装置１に保存されているかを知っており、ノードＩＤｂを有するノード装置１及びノードＩＤｃを有するノード装置１も同様に、それぞれコンテンツＩＤｂを有するコンテンツ及びコンテンツＩＤｃ、ＩＤｄを有するコンテンツが何れのノード装置１に保存されているかを知っている、ということになる。
【００５３】
このように、あるコンテンツが何れのノード装置１に保存されているかを知っているノード装置を、そのコンテンツのルートノードと言う。つまり、ノードＩＤａを有するノード装置１は、コンテンツＩＤａを有するコンテンツのルートノードであって、ノードＩＤｂを有するノード装置１は、コンテンツＩＤｂを有するコンテンツのルートノードであって、ノードＩＤｃを有するノード装置１は、コンテンツＩＤｃ、ＩＤｄを有するコンテンツのルートノードである。
【００５４】
ところで、人気のあるコンテンツは、多くのユーザからの需要がある（配信要求の頻度が多い）ので、安定したノード装置１がルートノードとなり管理することが望ましい。
【００５５】
そこで、システム管理サーバ１００は、コンテンツの人気度と、オーバーレイネットワーク９に参加するノード装置１の安定度を把握し、各コンテンツのコンテンツＩＤを決定する。
【００５６】
上述したように、コンテンツＩＤとノードＩＤとが「所定の関係」である場合に、当該コンテンツを管理するルートノードが決定される。本実施形態では、コンテンツＩＤと最も近接するノードＩＤであって、当該コンテンツＩＤの値と同じかそれ以下の値となるノードＩＤを有するノード装置１がルートノードとなる。従って、システム管理サーバ１００は、例えば、人気の高いコンテンツにコンテンツＩＤを付与する場合には、安定度の高いノード装置１のノードＩＤと同じ値か、それより大きい値であって、次に大きいノードＩＤ未満となるコンテンツＩＤを決定し、付与する。このようにしてコンテンツを管理すべきノード装置１を、コンテンツの人気度に応じた安定度を有するノード装置１として選択することができる。
［１−２．ルーティングテーブルの作成］
ここで、図３を参照して、ＤＨＴで用いるルーティングテーブルの作成手法の一例について説明する。
【００５７】
図３は、ＤＨＴにおけるルーティングテーブルの構成の一例を示す図である。
【００５８】
まず、図３（Ａ）に示す如く、ＩＤ空間を幾つかのエリアに分割する。なお、このエリアはルーティングテーブルを作成するためにＩＤ空間を分割したものであって、実際には、１６分割程度が良く用いられるが、説明を簡単にするためここでは４分割とし、ＩＤをビット長１６Ｂｉｔの４進数で表すこととした。そして、ノード装置１ＮのノードＩＤを「10230210」とし、このノード装置１Ｎのルーティングテーブルを作る例について説明する。
（レベル１のルーティング）
まず、ＩＤ空間を４分割とすると、それぞれのエリアは４進数で表すと最大桁が異なる４つのエリア「0XXXXXXX」「1XXXXXXX」、「2XXXXXXX」、「3XXXXXXX」（Xは０から３の自然数、以下同様。）で分けられる。ノード装置１Ｎは、当該ノード装置１Ｎ自身のノードＩＤが「10230210」であるため、図中左下「1XXXXXXX」のエリアに存在することになる。そして、ノード装置１Ｎは、自分の存在するエリア（すなわち、「1XXXXXXX」のエリア）以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤの宛先情報（ＩＰアドレス及びポート番号）をレベル１のテーブルに記憶する。図４（Ａ）がレベル１のテーブルの一例である。２列目はノード装置１Ｎ自身を示しているため、宛先情報（ＩＰアドレス及びポート番号）を記憶する必要は無い。
（レベル２のルーティング）
次に、図３（Ｂ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリアを更に４分割し、更に４つのエリア「10XXXXXX」「11XXXXXX」、「12XXXXXX」、「13XXXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤの宛先情報（ＩＰアドレス及びポート番号）をレベル２のテーブルに記憶する。図４（Ｂ）がレベル２のテーブルの一例である。１列目はノード装置１Ｎ自身を示しているため、宛先情報（ＩＰアドレス及びポート番号）を記憶する必要は無い。
（レベル３のルーティング）
さらに、図３（Ｃ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリアを更に４分割し、更に４つのエリア「100XXXXX」「101XXXXX」、「102XXXXX」、「103XXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤの宛先情報（ＩＰアドレス及びポート番号）をレベル１のテーブルに記憶する。図４（Ｃ）がレベル３のテーブルの一例である。３列目はノード装置１Ｎ自身を示しているため、宛先情報（ＩＰアドレス及びポート番号）を記憶する必要は無く、２列目、４列目はそのエリアにノード装置が存在しないため空白となる。
【００５９】
このようにして、レベル４以下レベル８まで同様にルーティングテーブル図４（Ｄ）に示す如く作成することにより、１６ｂｉｔのＩＤ全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
【００６０】
実際に、オーバーレイネットワーク９に未参加のノード装置１が、オーバーレイネットワーク９に参加して、上述したような構成になるようにテーブルを作るには、まず、オーバーレイネットワーク９に参加する際に、システム管理サーバ１００に最初にアクセスすべきノード装置１（コンタクトノード）を問合せ、回答されたノード装置１（コンタクトノード）に対して参加依頼メッセージを送信すると共に、当該ノード装置１（コンタクトノード）からルーティングテーブルをコピーさせてもらう。また、メッセージの転送などの際に、他のノード装置１の存在を知ったタイミングで、その装置のノードＩＤがテーブルのどのマス目に適合するかを判断して、各テーブルの内容を追記（更新）していく。また、他のノード装置が脱退したことを知ったタイミングで、当該装置のノードＩＤをテーブルから削除する。
【００６１】
以上説明した手法に従って、ノード装置１が使用するルーティングテーブルが作成され、動的に追記（更新）されていく。
［１−３．コンテンツの人気度］
システム管理サーバ１００では、様々な決定要因に基づいてコンテンツの人気度を決定し、当該人気度に応じた安定度のノード装置１をルートノードとしている。ここでは新たにシステムに投入するコンテンツの人気度を決定する際の決定手法と、システムに投入された後に、新たな人気度を決定する決定要因について説明する。
１−３−１  システム投入時のコンテンツの人気度
新たにシステムに投入するコンテンツの人気度を、過去に投入したコンテンツの人気度から予測する。
【００６２】
例えば、システム管理サーバ１００の記憶部等に、「コンテンツ人気度管理テーブル」を記憶しておき、過去のコンテンツ投入後の人気度を記録しておく。例えば、コンテンツの人気度をＡ〜Ｃの３ランクに分類し、表１に示すような「コンテンツ人気度管理テーブル」として、各アーティスト毎にその実績を管理する。なお、Ａが最も高く、Ｂ，Ｃの順で人気度が低くなる。
【００６３】
【表１】
0004635904.tif 000002
新たに投入するコンテンツのアーティストがＳＳＳである場合には、これまでに投入した同じアーティストのコンテンツでは、人気度「Ａ」となったコンテンツの数が最も多いので、新たなコンテンツの人気度も「Ａ」として予測し決定する。
【００６４】
そして、この最も高い人気度「Ａ」のコンテンツには、安定度の高いノード装置１が優先的にルートノードとして選ばれるよう、安定度の高いノード装置１の管理下にあるコンテンツＩＤ、すなわち、当該ノード装置１のノードＩＤと同じか、それより大きい値であって、次に大きいノードＩＤ未満となるコンテンツＩＤを、当該コンテンツのコンテンツＩＤとして決定する。
【００６５】
１−３−２  システム投入後のコンテンツの人気度
システムに投入された後のコンテンツの人気度を決定する決定要因について説明する。
（１）課金ログ
各ノード装置１のユーザが、コンテンツをダウンロード（複製）する際には、当該コンテンツの著作権等の権利を有する権利者に対して、システム管理サーバ１００を通じて所定の対価の支払いを行なう。つまり、システム管理サーバ１００では、各コンテンツについて、ユーザからの配信要求の頻度を示す配信要求頻度情報の一例として課金ログを管理する。課金ログは、ユーザの配信要求に伴うコンテンツ購入メッセージの受信回数を集計したものである。
【００６６】
従って、システム管理サーバ１００では、コンテンツをシステムに投入した後は、システム管理サーバ１００から当該コンテンツの課金ログを取得し、例えば、過去一週間におけるコンテンツ購入メッセージの受信回数（課金頻度）に応じて、換言すれば、配信要求頻度に応じて各コンテンツの人気度を決定（更新）することができる（表２参照）。
【００６７】
【表２】
0004635904.tif 000003
（２）ルートノードのインデックス情報の量
オーバーレイネットワーク９においては、コンテンツを保持するノード装置は、システム管理サーバ１００から最初にコンテンツを保持するよう指定されたノード装置１だけでなく、当該コンテンツ保持ノードからコンテンツの配信を受けたノード装置１や、またこのノード装置１からコンテンツの配信を受けたノード装置１、といったように、様々なコンテンツ（例えば、映画や音楽等）データ（配信情報の一例）の複数の複製情報（以下、レプリカという）が複数のノード装置１に分散して保存（格納）される。
【００６８】
例えば、ノード装置１ａ及びノード装置１ｃには、タイトルがＸＸＸの映画のコンテンツデータのレプリカが保存されており、一方、ノード装置１ｂ及びノード装置１ｄには、タイトルがＹＹＹの映画のコンテンツデータのレプリカが保存されるというように、複数のコンテンツ保持ノードであるノード装置１に分散されて保存される。また、これらのコンテンツデータのレプリカには、夫々、コンテンツ名（タイトル）及びコンテンツＩＤ（システム管理サーバ１００によって付与される）等の情報が付加されている。
【００６９】
また、このように分散保存されているコンテンツデータのレプリカの所在を示すインデックス情報（当該レプリカを保存している各コンテンツ保持ノードのノード情報（ノードＩＤ、宛先情報（ＩＰアドレス及びポート番号）等）を含む）は、上述したように、ルートノードにより管理されるようになっている。例えば、タイトルがＸＸＸの映画のコンテンツデータのレプリカのインデックス情報は、そのコンテンツ（コンテンツＩＤ）のルートノードであるノード装置１ｆにより管理され、タイトルがＹＹＹの映画のコンテンツデータのレプリカのインデックス情報は、そのコンテンツ（コンテンツＩＤ）のルートノードであるノード装置１ｄにより管理される。
【００７０】
コンテンツデータのレプリカを保存したノード装置１は、当該レプリカを保存したことをそのルートノードに知らせるために、そのレプリカに付加されているコンテンツＩＤ及び自己のノード情報（ノードＩＤ、宛先情報（ＩＰアドレス及びポート番号）等）が含まれる公開（パブリッシュ）メッセージ（レプリカを保存したので、ノード情報の管理の要求を示す管理要求情報）を、そのルートノードに向けて送出する。これにより、メッセージは、コンテンツＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。
【００７１】
つまり、同一のコンテンツデータ（コンテンツＩＤが同一）のレプリカが、夫々、複数のノード装置１に保存されている場合であっても、かかるコンテンツデータのレプリカのインデックス情報は、１つのルートノードで管理することができる。
【００７２】
また、人気の高いコンテンツは、多くのノード装置１によりダウンロードされるため、そのレプリカは自然に増加する。一方、その後、人気の無くなってきたコンテンツは、ノード装置１により削除されるため、そのレプリカは自然に減少する。従って、コンテンツの人気度は、各コンテンツのルートノードが管理するコンテンツのレプリカの数により把握することができる。
【００７３】
従って、システム管理サーバ１００では、コンテンツをシステムに投入した後は、当該コンテンツを管理するルートノードに、インデックス情報に含まれる全レプリカの数（保存装置数情報）を問い合わせ、当該レプリカの数をコンテンツの新たな人気度を決定付ける決定要因情報の一例として、当該レプリカの数に応じて当該コンテンツの人気度を決定（更新）することができる（表３参照）。
【００７４】
【表３】
0004635904.tif 000004
（３）各ノード装置１に配布されたカタログリストを通じて
ユーザが、配布されたカタログリストを参照してコンテンツの配信要求を行なうと、その旨がカタログリストの編集元であるシステム管理サーバ１００に通知されるよう構成することにより、システム管理サーバ１００では配信要求をリアルタイムに監視し、各コンテンツの配信要求頻度を把握することができる。
（４）コンテンツへのアクセス回数
システム管理サーバ１００は、コンテンツのレプリカを保持する複数のノード装置１に、コンテンツへのアクセス回数を通知してもらうことにより、その回数からコンテンツの人気度を把握することもできる。
［１−４．ノード装置の安定度］
各ノード装置１の安定度を決定する決定要因について説明する。
【００７５】
ノード装置１の安定度は、オーバーレイネットワーク９へ参加している時間（参加持続時間）によって決定することができる。すなわち、参加持続時間が長いほど高い安定度が高いノード装置、参加持続時間が短いほど安定度が低いノード装置として決定することができる。
【００７６】
この場合、各ノード装置１が、自身の参加持続時間を計測して、参加持続時間に対応する安定度のランクが変更となったときに、自分がルートノードとして管理しているコンテンツＩＤのリストを、システム管理サーバ１００へ通知する。参加持続時間と安定度の対応テーブルを表４に示す。
【００７７】
【表４】
0004635904.tif 000005
図５は、ノード装置１のシステム管理サーバ１００への通知の様子をＤＨＴのＩＤ空間にて示した概念図である。なお、図１中オーバーレイネットワーク９には１５台のノード装置１が参加しているが、ここでは図示を簡単にするため、図５に示すように、８台のノード装置１がネットワークに参加しているものとして説明する。
【００７８】
図中、各ノード装置１に付された時間は、各ノード装置１の参加持続時間を示すものである。なお、ノード装置１の工場出荷時は参加持続時間は「０」である。一度オーバーレイネットワーク９へ参加したノード装置１が、何らかの原因によりオーバーレイネットワーク９から脱退した後、再度オーバーレイネットワーク９に参加する際には、参加持続時間が「０」にリセットされる。
【００７９】
図５に示す例によれば、ノード装置１ａは、参加持続時間が「１日」であるので、安定度は「Ｃ」と低く、ノード装置１ｃは、参加持続時間が「２１日」であるので、安定度は「Ａ」と高い。
【００８０】
そして、ノード装置１ｆは、参加持続時間が５日となったので、安定度のランクがＣからＢに変更された旨を、自己がルートノードとなって管理しているコンテンツＩＤのリストと共にシステム管理サーバ１００へ通知する。
【００８１】
このように、システム管理サーバ１００では、オーバーレイネットワーク９に参加する全ノード装置１について、オーバーレイネットワーク９への参加持続時間に基づいて安定度を把握し、各ノード装置１の宛先情報（ＩＰアドレス及びポート番号）と、安定度とを対応付けて管理する。
【００８２】
また、システム管理サーバ１００が各ノード装置１の安定度を取得する他の手法として、システム管理サーバ１００は、各コンテンツのコンテンツＩＤを決定（更新）する際、少なくとも１台以上の各ノード装置１に対して、オーバーレイネットワーク９への参加持続時間を問い合わせて（安定度問合せ手段）安定度を取得するよう構成することもできる。ノード装置１からの安定度ランク変更に伴う通知だけで管理するのでは、実際にあるコンテンツＩＤのルートノードとなるべきノード装置１が、今現在オーバーレイネットワーク９に参加しているか否かは不明であるが、コンテンツＩＤを決定（更新）する都度、直接各ノード装置１に参加持続時間を問い合わせて安定度を各ノード装置１から受信して（安定度受信手段）取得すれば、必ずオーバーレイネットワーク９に参加中のノード装置１をルートノードとして決定することができる。この場合、表４に示した「システム管理サーバ１００へのアクセス回数に基づく安定度決定テーブル」を、システム管理サーバ１００の記憶部等に記憶しておき、これを参照することにより、各ノード装置１から取得した参加持続時間に応じた安定度を容易に取得することができる。
【００８３】
また、本発明の安定度とは、オーバーレイネットワーク９への参加持続時間に限定されず、例えば、オーバーレイネットワーク９への脱退頻度を安定度としてもよい。ノード装置がオーバーレイネットワーク９から脱退すると、当該ノード装置１が管理していた、すなわち当該ノード装置１がルートノードであったコンテンツに関しては、上述した一定の規則に基づいて選ばれたノード装置１が新たなルートノードとならなければない。このようにオーバーレイネットワーク９への参加・脱退を繰り返すと、安定して動作しないノード装置１とノードＩＤが近いノード装置１にとって負担が増え、またその他のノード装置１にとっても、ルーティング経路やキャッシュ情報の更新が頻繁に発生することとなる。従って、オーバーレイネットワーク９への脱退頻度が少ないほど安定度が高く、オーバーレイネットワーク９への脱退頻度が多いほど安定度が低い。
【００８４】
この脱退頻度は、オーバーレイネットワーク９に参加する際に最初にアクセスするシステム管理サーバ１００へのアクセス回数に反映される。
【００８５】
図６は、オーバーレイネットワーク９にノード装置１が参加する際の様子をＤＨＴのＩＤ空間にて示した概念図である。
【００８６】
新たなノード装置１（新規参加ノード装置１）が、オーバーレイネットワーク９へ参加する際には、システム管理サーバ１００に、最初にアクセスすべきノード装置１（コンタクトノード）を問合せ、回答されたノード装置１（コンタクトノード）に対して参加メッセージを送信する。
【００８７】
図中、ノード装置１に付された数字「０」〜「６」は、当該システム管理サーバ１００へのアクセス回数を示すものである。なお、ノード装置１の工場出荷時はアクセス回数は「０」である。一度オーバーレイネットワーク９へ参加したノード装置１が、何らかの原因によりオーバーレイネットワーク９から脱退した後、再度オーバーレイネットワーク９に参加する際には、上記同様にしてシステム管理サーバ１００にコンタクトノードの問合せを行なう必要がある。よって、システム管理サーバ１００へのアクセス回数が多いノード装置１ほど、オーバーレイネットワーク９への脱退頻度が高く、安定度が低い。一方、システム管理サーバ１００へのアクセス回数が少ないノード装置１ほど、オーバーレイネットワーク９への脱退頻度が低く、安定度が高い。
【００８８】
以下の表５に示す「システム管理サーバ１００へのアクセス回数に基づく安定度決定テーブル」をシステム管理サーバ１００の記憶部等に記憶しておき、当該テーブルを参照することによって、安定度とアクセス回数の対応付けを容易に行なうことができる。
【００８９】
【表５】
0004635904.tif 000006
図６に示す例によれば、ノード装置１ａは、システム管理サーバ１００へのアクセス回数が「６」であるので、安定度は「Ｃ」と低く、ノード装置１ｃ、１ｉは、システム管理サーバ１００へのアクセス回数が「２」であるので、安定度は「Ａ」と高い。
【００９０】
そして、表５に示すような「ノード装置リスト」として管理する（表５参照）。
【００９１】
システム管理サーバ１００が、新規参加ノード装置１にコンタクトノードを紹介する際には、比較的安定度の高いノード装置１を紹介するよう構成することが好ましい。従って、例えば図６に示す例では、システム管理サーバ１００は、新規参加ノード装置１に、アクセス回数が「２」である安定度「Ａ」のノード装置１ｃが紹介され、新規参加ノード装置１から当該ノード装置１ｃに対して参加メッセージが送信されている。
【００９２】
なお、コンタクトノードとして紹介するノード装置１が、毎回同じであると、略同じテーブル情報を持つノード装置１が複数できてしまうので、システム管理サーバ１００は、比較的安定度の高いノード装置１が複数ある場合は、その中からランダムにコンタクトノードを選択するよう構成してもよい。比較的安定度の高いノード装置１が１台しか無い場合に、そのノード装置１だけが何度もコンタクトノードとして選択されてしまうような場合には、連続してコンタクトノードとして選択できる回数に閾値を設けるなどして、閾値を越えたときには、安定度に拘らず「コンテンツＩＤ管理テーブル」中からランダムにコンタクトノードを選択してもよい。
［２．各装置の構成等］
次に、システム管理サーバ１００、ノード装置１の構成及び機能について説明する。
［２−１．システム管理サーバの構成等］
図７は、システム管理サーバ１００の概要構成例を示すブロック図である。
【００９３】
図７に示すように、本実施形態に係るシステム管理サーバ１００は、演算機能を有するＣＰＵ、作業用ＲＡＭ（Random Access Memory）、各種データ及びプログラムを記録するＲＯＭ（Read Only Memory）等から構成された制御部１０１と、上記コンテンツ自体としてのコンテンツデータ、その配信に必要な各種ルーティング用データ及びその他の必要なプログラム（本発明の登録処理プログラムを含む）等を記録保存（格納）するためのＨＤＤ（Hard Disc Drive）等から構成された記憶部１０２と、ネットワークを通じてシステムに含まれる各ノード装置１等との間の情報の通信制御を行なうための通信部１０３と、当該システム管理サーバ１００を管理する管理者からの指示を受け付け当該指示に応じた指示信号を制御部１０１に出力する入力部（例えば、キーボード、マウス或いは、操作パネル等）１０４と、を備えて構成され、制御部１０１、記憶部１０２及び通信部１０３はバス１０５を介して相互にデータの授受が可能に接続されている。
【００９４】
記憶部１０２は、安定度記憶手段、評価値記憶手段として機能し、オーバーレイネットワーク９に含まれる各ノード装置１のノードＩＤ、宛先情報（ＩＰアドレス（及びポート番号）、管理中のコンテンツの数、安定度、管理中コンテンツのコンテンツＩＤ及びコンテンツの人気度とを「コンテンツＩＤ管理テーブル」（表６参照）として記憶している。また、各ノード装置１がルートノードとなって管理すべき全てのコンテンツＩＤについて、使用済みであるか否かを、「使用フラグ」により判断できるようになっている。
【００９５】
【表６】
0004635904.tif 000007
また、記憶部１０２は、各コンテンツの配信用頻度情報の一例として、所定の期間（例えば、一週間等）のコンテンツ購入メッセージの受信回数を課金ログとして記憶する（表７参照）。そして、所定の期間毎に、課金ログを集計し、各コンテンツの人気度を把握して、人気度に応じたルートノードが各コンテンツに割り当てられているか否か、検討を行なう。
【００９６】
【表７】
0004635904.tif 000008
更に、記憶部１０２は、コンテンツ人気度管理テーブル（表１参照）を記憶し、過去の実績人気度を記録しておく。
【００９７】
そして、制御部１０１におけるＣＰＵが記憶部１０２等に記録された各種プログラムを実行することにより、制御部１０１が、実施形態に係るシステム管理サーバ１００としての全体動作を統括制御し、上記各構成部材と協動して、評価値入力手段、取得手段、選択手段、共用情報識別情報付与手段、登録要求通知手段、安定度問い合わせ手段、安定度受信手段、安定度記憶手段、評価値記憶手段、決定要因情報取得手段、評価値決定手段、評価値更新手段、変更通知手段、安定度記憶手段及び情報削除手段として機能し、当該システム管理サーバ１００を本発明における登録装置として機能させる。
［２−２．ノード装置の構成等］
次に、ノード装置１の構成及び機能について説明する。
【００９８】
図８は、ノード装置１の概要構成例を示す図である。
【００９９】
図８に示すように、実施形態に係るノード装置１は、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データ及びプログラムを記憶するＲＯＭ等から構成されたコンピュータとしての制御部１１と、各種データ（例えば、コンテンツデータのレプリカ、ＤＨＴ）及びプログラム等を記憶保存（格納）するためのＨＤＤ等から構成されたノード情報記憶手段としての記憶部１２（上記、コンテンツデータのレプリカは、保存されていないノード装置１もある）と、受信されたコンテンツデータのレプリカを一時蓄積するバッファメモリ１３と、コンテンツデータのレプリカに含まれるエンコードされたビデオデータ（映像情報）及びオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）するデコーダ部１４と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部１５と、当該映像処理部１５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等の表示部１６と、上記デコードされたオーディオデータをアナログオーディオ信号にＤ（Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音声処理部１７と、当該音声処理部１７から出力されたオーディオ信号を音波として出力するスピーカ１８と、ネットワーク８を通じて他のノード装置１との間の情報の通信制御を行なうための通信部２０と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部１１に対して与える入力部（例えば、キーボード、マウス、或いは、操作パネル等）２１と、を備えて構成され、制御部１１、記憶部１２、バッファメモリ１３、デコーダ部１４、及び通信部２０はバス２２を介して相互に接続されている。
【０１００】
記憶部１２は、オーバーレイネットワーク９に参加する際に最初にアクセスするシステム管理サーバ１００の宛先情報（ＩＰアドレス及びポート番号）を記憶する。また、自己のノードＩＤとして工場出荷時の製造番号をハッシュ化して得たＧＵＩＤ「XXXXXXXX」（Xは自然数であって、各ノード装置毎に固有の値である。）によるノードＩＤを記憶する。
【０１０１】
また、記憶部１２は、オーバーレイネットワーク９への参加持続時間と安定度の対応表（表４参照）を記憶し、制御部１１は、当該対応表に基づいて安定度の変動があった場合にはシステム管理サーバ１００へ通知を行なう。
【０１０２】
そして、制御部１１におけるＣＰＵが記憶部１１等に記録された各種プログラムを実行することにより、制御部１１が、実施形態に係るノード装置１としての全体動作を統括制御し、上記各構成部材と協動して当該ノード装置１を本発明における情報処理装置として機能させる。
【０１０３】
[３．各装置の処理動作]
続いて、各装置の動作例について図を用いて説明する。なお、以下に説明する処理は、本発明における共用情報の評価値（コンテンツの人気度）の決定要因情報を、システム管理サーバ１００における課金ログの集計結果（配信要求頻度情報）とし、本発明における情報処理装置（ノード装置１）の安定度を、オーバーレイネットワーク９への参加持続時間とした場合の各装置の動作例である。
【０１０４】
［３−１．ノード装置の処理］
初めに、図9を用いて各ノード装置にて実行される処理について説明する。図９は、ノード装置１における処理の一例を示すフローチャートであり、この処理は、制御部１１の制御に基づいて実行され、また、ノード装置１の電源がオンとされることにより開始する。
【０１０５】
先ず、制御部１１は、記憶部１２に予め記憶していたシステム管理サーバ１００の宛先情報（ＩＰアドレス及びポート番号）に基づいて、システム管理サーバ１００にアクセスし、コンタクトノードの問合せメッセージを送信する（ステップＳ１）。そして、システム管理サーバ１００から、コンタクトノード（オーバーレイネットワーク９に参加している何れかのノード装置１）の宛先情報（ＩＰアドレス及びポート番号）を受信して、コンタクトノードの紹介を受ける（ステップＳ２）。
【０１０６】
そして、ノード装置１内に具備する内蔵時計等を使用して、参加持続時間の計測を開始する（ステップＳ３）。そして、ステップＳ２にて受信した宛先情報（ＩＰアドレス及びポート番号）に基づいて、紹介されたコンタクトノードへ参加依頼メッセージを送信する（ステップＳ４）
続いて、電源がオフとされたか否かを判定し（ステップＳ５）、オフとされた場合（ステップＳ５：Ｙｅｓ）には処理を終了し、オフとされていない場合（ステップＳ５：Ｎｏ）には、他のノード装置１からオーバーレイネットワーク９への新規コンテンツの管理を指示する公開メッセージ（パブリッシュメッセージ）、或いは既にオーバーレイネットワーク９にあるコンテンツの削除を指示する削除メッセージ（リトラクトメッセージ）を受信したか否かを判断する（ステップＳ６）。
【０１０７】
そして、公開メッセージを受信した場合（ステップＳ６：公開）には、公開メッセージに含まれるコンテンツに関する情報（コンテンツＩＤ、コンテンツデータのレプリカの所在を示すインデックス情報等）を、記憶部１２におけるインデックスキャッシュ領域（インデックス情報を記憶するためのキャッシュ領域）に登録する（ステップＳ７）。他方、削除メッセージを受信した場合（ステップＳ６：削除）には、削除メッセージに含まれるコンテンツに関する情報を、記憶部１２におけるインデックスキャッシュ領域から削除する（ステップＳ８）。
【０１０８】
そして、制御部１１は、記憶部１２に保存したＤＨＴのルーティングテーブルを参照して、自己が、当該メッセージに含まれるコンテンツＩＤのルートノードであるか否かを判別する（ステップＳ９）。自己がルートノードであると判別された場合（例えば、自己のノードＩＤが当該コンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）場合）には（ステップＳ９：Ｙｅｓ）、ステップＳ４に移行する。
【０１０９】
一方、ステップＳ９の判定において、自己がルートノードでない（言い換えれば、キャッシュノードである）と判別された場合（例えば、自己以外に当該コンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有するノード装置１がＤＨＴのルーティングテーブルに登録されている場合）には（ステップＳ９：Ｎｏ）、制御部１１は、自己のＤＨＴのルーティングテーブルから、転送先のノード装置１（例えば、上記コンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有するノード装置）の宛先情報（ＩＰアドレス及びポート番号）を取得し、その宛先情報（ＩＰアドレス及びポート番号）宛てに、ステップＳ６にて受信したメッセージを転送し（ステップＳ１０）、ステップＳ５に移行する。
【０１１０】
この公開又は削除メッセージは、各ノード装置１が有するＤＨＴのルーティングテーブルに基づいてルートノードまで転送される。例えば、図１０に示すように、コンテンツＩＤ“22222222”に関するメッセージ（パブリッシュ、リトラクト、或いはコンテンツデータのレプリカの所在の問合せなど）が、コンテンツ保持ノードであるノード装置１ａから送信された場合には、当該メッセージがノード装置１ｂ、ノード装置１ｄと転送され、コンテンツＩＤ“22222222”のルートノードのノード装置１ｃまで転送される。このメッセージが公開メッセージ（パブリッシュメッセージ）である場合には、ノード装置１ｂ、１ｄ、１ｃは自己のキャッシュ領域にコンテンツＩＤ“22222222”を含むコンテンツに関する情報（例えば、コンテンツデータのレプリカの所在を示すインデックス情報等）を登録し、削除メッセージ（リトラクトメッセージ）である場合には、ノード装置１ｂ、１ｄ、１ｃは自己のキャッシュ領域にあるコンテンツＩＤ“22222222”に関する情報を削除する。
【０１１１】
また、ステップＳ６の判定において、コンテンツの公開・削除メッセージを受信していない場合（ステップＳ６：Ｎｏ）には、コンテンツＩＤ変更メッセージを受信したか否かを判定し（ステップＳ１１）、コンテンツＩＤ変更メッセージを、システム管理サーバ１００から受信した場合には、自己が当該コンテンツＩＤ変更メッセージにかかるコンテンツのルートノード（変更前のルートノード）であるので、指定されたコンテンツを保持するコンテンツ保持ノードにコンテンツＩＤ変更メッセージを送信（ステップＳ１２）する。
【０１１２】
このコンテンツＩＤ変更メッセージは、後に詳述するシステム管理サーバ１００の指示によって、コンテンツの人気度の変動、或いはルートノードの安定度の変動に起因して、コンテンツＩＤの変更、すなわちルートノードの変更を指示するメッセージである。このコンテンツＩＤ変更メッセージは、システム管理サーバ１００から、ＩＤ変更前のルートノードが受信し、そして、変更対象となるコンテンツを保持するノード装置１に対して送出される（ステップＳ１１、１２）。つまり、このコンテンツＩＤ変更メッセージをシステム管理サーバ１００から受信した場合は、自身がコンテンツＩＤ変更前のルートノードであり、コンテンツＩＤ変更メッセージを他のノード装置１から受信した場合は、自身が当該コンテンツＩＤ変更メッセージに係るコンテンツを保持するコンテンツ保持ノードであって、送信元の他のノード装置１がコンテンツＩＤ変更前のルートノードである。
【０１１３】
従って、コンテンツＩＤ変更メッセージを他のノード装置１から受信した場合は、自己が保持するコンテンツのうち、メッセージにかかるコンテンツＩＤを新たなコンテンツＩＤに変更する（ステップＳ１３）。そして、新たなコンテンツＩＤをキーとして、ＤＨＴルーティングに従って公開メッセージ（パブリッシュメッセージ）を新たなルートノードに向けて送信（ステップＳ１４）し、ステップＳ５に移行する。
【０１１４】
なお、自己が当該コンテンツを保持するコンテンツ保持ノードである場合には、変更前のコンテンツＩＤをキーとして、ＤＨＴルーティングに従って、削除メッセージ（リトラクトメッセージ）を変更前のルートノードに向けて送信する。
【０１１５】
つまり、削除メッセージは、変更前のコンテンツＩＤに従って、各ノード装置１が有するＤＨＴのルーティングテーブルに基づいてＩＤ変更前のルートノードに辿りつき、公開メッセージは、変更後のコンテンツＩＤに従って、各ノード装置１が有するＤＨＴのルーティングテーブルに基づいてＩＤ変更後のルートノードに辿りつく。
【０１１６】
図１１を用いて具体的に説明すると、コンテンツＩＤ変更メッセージ、公開メッセージ及び削除メッセージの様子をＤＨＴのＩＤ空間にて示す。コンテンツＩＤ変更メッセージ（一点鎖線）は、システム管理サーバ１００からＩＤ変更前のルートノードであるノード装置１ｆへと送信され、これを受けたノード装置１ｆは、コンテンツＩＤ変更メッセージに係るコンテンツを保持するコンテンツ保持ノードであるノード装置１ｄへとコンテンツＩＤ変更メッセージを送信する。コンテンツＩＤ変更メッセージは、ＤＨＴルーティングに依らず、各ノード装置１の宛先情報を知っている装置同士で直接授受されるものである。
【０１１７】
一方、削除メッセージ（実線）は、コンテンツＩＤ変更メッセージを受信したコンテンツ保持ノードであるノード装置１ｄから、ＤＨＴルーティングに従って各ノード装置１間を転送し、コンテンツＩＤ変更前のルートノードであるノード装置１ｆに辿りつく。このとき、削除メッセージを転送した各ノード装置１ｉ、１ａは、当該コンテンツのＩＤ変更前のキャッシュであるため、キャッシュを削除する（ステップＳ８）ようになっている。従って、コンテンツＩＤ変更前のルートノードとキャッシュを保持するノード装置１は、誤りなく当該コンテンツに係る情報を削除することができる。
【０１１８】
また、公開メッセージ（破線）は、コンテンツＩＤ変更メッセージを受信したコンテンツ保持ノードであるノード装置１ｄから、ＤＨＴルーティングに従って各ノード装置１間を転送し、コンテンツＩＤ変更後のルートノードであるノード装置１ｅに辿りつく。このとき、公開メッセージを転送した各ノード装置１ｋ、１ｉは、当該コンテンツのＩＤ変更後の新たなキャッシュであるため、当該コンテンツデータをキャッシュとして登録する（ステップＳ７）ようになっている。
【０１１９】
引き続き図９のフローチャートの説明を続ける。コンテンツＩＤ変更メッセージを受信していない場合（ステップＳ１１：Ｎｏ）には、新たにオーバーレイネットワーク９に参加しようとするノード装置１から、参加依頼メッセージを受信したか否かを判定（ステップＳ１５）し、参加依頼メッセージを受信した場合（ステップＳ１５：Ｙｅｓ）には、自己が所持しているルーティングテーブルを参加依頼メッセージの送信元のノード装置へ送信（ステップＳ１６）して、ステップＳ５へ移行する。
【０１２０】
参加依頼メッセージを受信していない場合（ステップＳ１５：Ｎｏ）には、その他のメッセージを受信したか否かを判定（ステップＳ１７）し、受信した場合（ステップＳ１７：Ｙｅｓ）には、当該メッセージに対応する処理を実行（ステップＳ１８）し、その他のメッセージを受信していない場合（ステップＳ１７：Ｎｏ）には、ノード装置１にて行なわれるべき「その他の処理」を実行し（ステップ１９）、ステップＳ５へ移行する。なお、当該その他のメッセージには、他のノード装置１及びシステム管理サーバ１００との、各種情報のやり取り等が含まれる。
【０１２１】
そして、ステップＳ５〜Ｓ１９の処理が、電源がオフ（ステップＳ５：Ｙｅｓ）とされるまで繰り返し実行される。
【０１２２】
続いて、ステップＳ１９において実行される「その他の処理」の一例について、図１２のフローチャートを用いて説明する。ここでは「その他の処理」を、主にルーティングテーブルの書換え処理と、安定度の確認処理に係る処理として説明する。
【０１２３】
先ず、他のノード装置１からテーブル情報を受信したか否かを判定（ステップＳ３１）し、テーブル情報を受信した場合（ステップＳ３１：Ｙｅｓ）には、記憶部１２に記憶する自己のルーティングテーブルを追記（更新）する（ステップＳ３２）。
【０１２４】
一方、テーブル情報を受信していない場合（ステップＳ３１：Ｎｏ）には、計測されたオーバーレイネットワーク９への参加持続時間に基づいて、対応する安定度を取得する（ステップＳ３４）。
【０１２５】
そして、安定度のランクが変更されているか否かを判定し（ステップＳ３５）、変更されている場合（ステップＳ３５：Ｙｅｓ）には、自身がルートノードとして管理しているコンテンツがあるか否かを判定する（ステップＳ３６）。安定度が変更されていない場合（ステップＳ３５：Ｎｏ）、そのまま処理を終了する。
【０１２６】
そして、ステップＳ３６の判定において、ルートノードとして管理しているコンテンツが無い場合（ステップＳ３６：Ｎｏ）には、安定度が変更されたことを示す旨の安定度変更メッセージ(変更後の安定度を含む)をシステム管理サーバ１００に通知（ステップＳ３７）して、処理を終了する。
【０１２７】
他方、ステップＳ３６の判定において、ルートノードとして管理しているコンテンツがある場合（ステップＳ３６：Ｙｅｓ）には、管理しているコンテンツＩＤリストを生成（ステップＳ３８）し、図５を用いて前述したように当該リスト及び変更後の安定度を含む安定度変更メッセージをシステム管理サーバ１００に通知（ステップＳ３９）して、処理を終了する。
［３−２．システム管理サーバの処理］
続いて、図１３を用いてシステム管理サーバ１００にて実行される処理について説明する。この処理は、登録処理プログラムが制御部１０１の制御に基づいて実行され、また、システム管理サーバ１００の電源がオンとされることにより開始する。
【０１２８】
制御部１０１は、コンタクトノードの問合せメッセージを受信したか否かを判定（ステップ１００）し、受信していない場合（ステップＳ１００：Ｎｏ）にはステップＳ１０４へ移行する。
【０１２９】
一方、コンタクトノードの問合せメッセージを受信した場合（ステップＳ１００：Ｙｅｓ）には、記憶部１０２に記憶した「コンテンツＩＤ管理テーブル」（表６参照）にコンタクトノードの問合せ元のノード装置１があるか否かを判定（ステップＳ１０１）し、「コンテンツＩＤ管理テーブル」にコンタクトノードの問合せ元のノード装置１がない場合（ステップＳ１０１：Ｎｏ）には、「コンテンツＩＤ管理テーブル」に問合せ元のノード装置１を追加（ステップＳ１０２）し、ステップＳ１０３に移行する。
【０１３０】
そして、「コンテンツＩＤ管理テーブル」にある場合（ステップＳ１０１：Ｙｅｓ）、又は、ステップＳ１０２にて問い合わせもとのノード装置１を追加した後に、「コンテンツＩＤ管理テーブル」中の何れかのノード装置１を、コンタクトノードとして選択し、当該ノード装置１の宛先情報（ＩＰアドレス情報及びポート番号）を問合せ元のノード装置１に送信（ステップＳ１０３）し、ステップＳ１１５へ移行する。
【０１３１】
ステップＳ１００の判定において、コンタクトノードの問合せメッセージを受信していない場合（ステップＳ１００：Ｎｏ）には、オーバーレイネットワーク９に含まれるノード装置１からコンテンツ購入メッセージを受信したか否かを判定（ステップＳ１０４）し、制御部１０１が決定要因情報取得手段として機能してコンテンツ購入メッセージを受信した場合（ステップＳ１０４：Ｙｅｓ）には、当該コンテンツ購入メッセージに係るコンテンツの課金ログ（表７参照）を更新する（ステップＳ１０５）。
【０１３２】
続いて、前回の課金ログ集計から所定の期間（例えば、一週間等）が経過したか否かを判定（ステップＳ１０６）し、経過している場合（ステップＳ１０６：Ｙｅｓ）には、課金ログを集計する（ステップＳ１０７）。所定期間が経過していないと判定された場合（ステップＳ１０６：Ｎｏ）には、ステップＳ１１５へ移行する。
【０１３３】
そして、「コンテンツＩＤ管理テーブル」(表６参照） の各コンテンツについて、各ルートノードが適切か否かを判定する（ステップＳ１０８）。具体的には、制御部１０１が評価値決定手段及び評価値更新手段として機能し、ステップＳ１０７にて集計した課金ログに基づいて、最新のコンテンツの人気度を決定し、「コンテンツＩＤ管理テーブル」に登録されているコンテンツの人気度を更新すると共に、現在のルートノードが、更新後の人気度に応じた安定度を有するか否かに基づいて、現在のルートノードが適切であるか判定する。
【０１３４】
判定の結果、ルートノードが適切でない場合（ステップＳ１０８：Ｎｏ）には、各コンテンツについて「ルートノード変更処理」（後に説明する。）を行なう（ステップＳ１０９）。
【０１３５】
「コンテンツＩＤ管理テーブル」の全てのコンテンツについてルートノード適否判断及びルートノード変更処理（ステップＳ１０８、１０９）を行なった後、又は、ステップＳ１０８の判定の結果、ルートノードが適切であった場合（ステップＳ１０８：Ｙｅｓ）には、ステップＳ１１５へ移行する。
【０１３６】
一方、コンテンツ購入メッセージを受信していない場合（ステップＳ１０４：Ｎｏ）には、オーバーレイネットワーク９に含まれるノード装置１から安定度変更メッセージを受信したか否かを判定（ステップＳ１１０）し、安定度変更メッセージを受信した場合（ステップＳ１１０：Ｙｅｓ）には、安定度変更メッセージにコンテンツＩＤリストを含むか否かを判定（ステップＳ１１１）し、含まない場合（ステップＳ１１０：Ｎｏ）には、「コンテンツＩＤ管理テーブル」にある、当該安定度変更メッセージの送信元のノード装置１の安定度を、安定度変更メッセージに含まれる変更後の安定度に従って更新する（ステップＳ１１２）。
【０１３７】
安定度変更メッセージにコンテンツＩＤリストを含む場合（ステップＳ１１１：Ｙｅｓ）には、当該リストに含まれる全てのコンテンツについて、「ルートノード変更処理」（後に説明する。）を行なう（ステップＳ１１３、Ｓ１１４）。
【０１３８】
そして、メッセージ送信元のノード装置１の安定度を更新（ステップＳ１１２）した後、又はコンテンツＩＤリスト中の全てのコンテンツについて「ルートノード変更処理」を行った（ステップＳ１１３、Ｓ１１４）後に、その他の処理ステップＳ１１５を行い、ステップＳ１１６にて、電源がオフとされたか否かを判定（ステップＳ１１６）し、電源がオフとされるまで、ステップＳ１００乃至ステップＳ１１５の処理を繰り返し行なう。
【０１３９】
次に、上記ステップＳ１０９及びＳ１１４における「ルートノード変更処理」について、図１４を用いて説明する。
【０１４０】
先ず、「コンテンツＩＤ決定（変更）処理」（後に説明する。）を行ない（ステップＳ１４０）、変更後のコンテンツＩＤに対応するルートノードとして決定されたノード装置１が、現在のルートノードと同じランクの安定度を有するノード装置１であるか否かを判定する（ステップＳ１４１）。現在のルートノードと同じランクの安定度を有するノード装置１である場合（ステップＳ１４１：Ｙｅｓ）には、ルートノードを変更する必要はないので、処理を終了する。
【０１４１】
一方、同じランクの安定度で無い場合（ステップＳ１４１：Ｎｏ）には、制御部１０１は、共用情報識別情報付与手段及び変更通知手段として機能し、「コンテンツＩＤ決定（変更）処理」にて決定されたコンテンツＩＤを、当該コンテンツに付与し、現在のルートノードへコンテンツＩＤ変更メッセージを送信する（ステップＳ１４２）。図１１に示す例の場合、現在の（ＩＤ変更前の）ルートノードであるノード装置１ｆにコンテンツＩＤ変更メッセージを送信している。
【０１４２】
そして、評価値記憶手段、安定度記憶手段としての「コンテンツＩＤ管理テーブル」を更新し、「コンテンツＩＤ管理テーブル」（表６参照）を更新し、各ノード装置１に配布するカタログリストを更新・作成して、各ノード装置１に配布して（ステップＳ１４３〜Ｓ１４５）、処理を終了する。
【０１４３】
ところで、ステップＳ１４０における「コンテンツＩＤ決定（変更）処理」は、オーバーレイネットワーク９に新たにコンテンツを登録（投入）する際の処理においても実行されるため、先に、図１５を用いて、その他の処理ステップＳ１１５の一例として新たにコンテンツを登録（投入）する場合のシステム管理サーバ１００の処理について説明し、その後に続いて図１６を用いて「コンテンツＩＤ決定（変更）処理」について説明することとする。
【０１４４】
新たにコンテンツを登録（投入）する処理は、新たなコンテンツの投入指示が入力部１０４によって操作されたとき、或いは、予め登録準備がされていたコンテンツが登録日時（発売日時など）となったときに登録処理プログラムが制御部１０１の制御に基づいて実行される処理である。
【０１４５】
先ず、制御部１０１は、評価値取得手段として機能し、「コンテンツ人気度管理テーブル」（表１参照）を参照して、新たなコンテンツの予想人気度を求め、ルートノードとなるべきノード装置１の安定度を決定する（ステップＳ１５０）。例えば、表１に示す「コンテンツ人気度管理テーブル」に基づいて説明すると、新たに投入するコンテンツのアーティストがＳＳＳである場合、このアーティストは人気度「Ａ」となったコンテンツの数が最も多いので、新たなコンテンツの人気度を「Ａ」と予測し決定する。そして、この最も高い人気度「Ａ」のコンテンツを管理すべきルートノードの安定度を最も高い安定度「Ａ」として決定する。
【０１４６】
続いて、「コンテンツＩＤ決定（変更）処理」（後に説明する。）を行ない（ステップＳ１５１）、決定されたコンテンツＩＤを付与して（共用情報識別情報付与手段）、ランダムに選んだノード装置１に対して新たなコンテンツデータを保持するよう（コンテンツ保持ノードとなるよう）指示する。この目的のために、制御部１０１は、登録要求通知手段として機能し、コンテンツ保持ノードに対して登録要求通知をメッセージとして送信する。
【０１４７】
当該登録要求通知をシステム管理サーバ１００から受けたコンテンツ保持ノードとなるべきノードは、システム管理サーバ１００に対して、新たなコンテンツデータを要求し、そのデータを取得して、自身の記憶手段に記憶し、コンテンツ保持ノードとなる。コンテンツ保持ノードは、コンテンツを記憶すると、コンテンツＩＤをキーとしてルートノードに向けて公開メッセージ（パブリッシュメッセージ）を送出する。そして、公開メッセージ（パブリッシュメッセージ）が、ＤＨＴルーティングに従って他のノード装置１間を転送され、ルートノードに到達することにより、新たなコンテンツのオーバーレイネットワーク９への投入が完了する（ステップＳ１５２）。
【０１４８】
ステップＳ１５１の「コンテンツＩＤ決定（変更）処理」において、新たなコンテンツのコンテンツＩＤを、ルートノードのノードＩＤに基づいて、具体的には、ノードＩＤと同じ値か、それより大きい値であって、次に大きいノードＩＤ未満となるよう決定しているので、当該コンテンツＩＤをキーとしてルーティングテーブルに基づいて転送されることにより、最終的にルートノードとなるべきノード装置１に確実に辿り着くことができる。
【０１４９】
そして、「コンテンツＩＤ管理テーブル」に新たなコンテンツをルートノードのノードＩＤと対応付けて登録し、決定されたコンテンツＩＤの使用済みフラグを「１」として使用済みとする。例えば、表６に示す「コンテンツＩＤ管理テーブル」の場合、「コンテンツＩＤ決定（変更）処理」において、コンテンツＩＤを“00000028”として決定した場合には、当該コンテンツの使用フラグを「０」から「１」に変更する。従って、新たにコンテンツＩＤを決定するときには、未使用のコンテンツＩＤの中から選択できるので、コンテンツＩＤによって各コンテンツを一意に識別することができる。
【０１５０】
その後、評価値記憶手段、安定度記憶手段としての「コンテンツＩＤ管理テーブル」を更新し、各ノード装置１に配布するカタログリストを更新・作成して、各ノード装置１に配布して（ステップＳ１５３〜１５５）、処理を終了する。
【０１５１】
続いて、ステップＳ１４０及びステップＳ１５１の「コンテンツＩＤ決定（変更）処理」について図１６を用いて説明する。ステップＳ１４０の「コンテンツＩＤ決定（変更）処理」は、ルートノードとなっていたノード装置１の安定度の変動、或いはコンテンツの人気度の変動に起因する、「ルートノード変更処理」（図１４）におけるコンテンツＩＤの変更処理であって、ステップＳ１５１の「コンテンツＩＤ決定（変更）処理」は、新たなコンテンツを投入する際におけるコンテンツＩＤ決定処理である。
【０１５２】
先ず、制御部１０１は、安定度取得手段として機能し、「コンテンツＩＤ管理テーブル」を参照してオーバーレイネットワーク９に含まれるノード装置１の安定度を取得する。そして、指定されたランクの安定度を有するノード装置１が、「コンテンツＩＤ管理テーブル」（表６参照）にあるか否かを判定する（ステップＳ１７０）。
【０１５３】
ステップＳ１４０の場合であって、コンテンツの人気度変動に起因する場合には、ステップＳ１０７にて集計した課金ログに基づいて、更新されたコンテンツの人気度に応じた安定度を有するノード装置１があるか否かを判定し、ルートノードとなっていたノード装置１の安定度の変動に起因する場合には、ステップＳ１１０にて受信した安定度変更メッセージに含まれる変更後の安定度を有するノード装置１があるか否かを判定する。一方、ステップＳ１５１の場合には、新たなコンテンツの予想人気度に対応する安定度を有するノード装置１があるか否かを判定する。
【０１５４】
そして、指定されたランクの安定度を有するノード装置１が、「コンテンツＩＤ管理テーブル」（表６参照）にある場合（ステップＳ１７０：Ｙｅｓ）には、制御部１０１は選択手段として機能し、指定されたランクの安定度を有するノード装置１の中から、ルートノードとなるべきノード装置１をランダムに選択する（ステップＳ１７１）。このとき、指定されたランクの安定度を有するノード装置１が複数ある場合には、既に管理しているコンテンツの数が比較的少ないノード装置１を選択するよう構成してもよい。例えば、指定された安定度のランクが「Ａ」である場合、表６の「コンテンツＩＤ管理テーブル」の場合、ノードID“00000003”“10000320”“30000000”のノード装置１が安定度Ａを有することとなるが、このうち、最も管理中コンテンツの数が少ないノードＩＤ“00000003”のノード装置１を選択する。
【０１５５】
続いて、選択されたノード装置１が管理するノードＩＤの中に未使用のコンテンツＩＤがあるか否かを「コンテンツＩＤ管理テーブル」（表６参照）の使用フラグに基づいて判定し（ステップＳ１７２）、未使用のコンテンツＩＤがある場合（ステップＳ１７２：Ｙｅｓ）には、当該未使用のコンテンツＩＤを、コンテンツＩＤとして決定し（ステップＳ１７３）、処理を終了する。
【０１５６】
他方、指定されたランクの安定度を有するノード装置１が、「コンテンツＩＤ管理テーブル」（表６参照）にない場合（ステップＳ１７０：Ｎｏ）、及び、選択されたノード装置１が管理するノードＩＤの中に未使用のコンテンツＩＤが無い場合（ステップＳ１７２：Ｎｏ）には、指定されたランクよりも上位のランクのノード装置１が「コンテンツＩＤ管理テーブル」（表６参照）にあるか否かを判定（ステップＳ１７４）し、上位のランクのノード装置１がある場合（ステップＳ１７４：Ｙｅｓ）には、指定のランクを１つ上げ（ステップＳ１７５）、最上位のランクの安定度（本実施形態の場合には安定度「Ａ」）までステップＳ１７０〜Ｓ１７５の処理を繰り返し行なう。
【０１５７】
つまり、指定された安定度のランクが「Ｂ」である場合には、表６の「コンテンツＩＤ管理テーブル」の場合、ノードID“22120003”のノード装置１が選択されるが、当該ノード装置１が管理するノードＩＤの中に未使用のコンテンツＩＤが無い場合には、指定のランクを「Ｂ」から「Ａ」に１つ上げる。
【０１５８】
そして、指定されたランクよりも上位のランクのノード装置１が「コンテンツＩＤ管理テーブル」（表６参照）にない場合（ステップＳ１７４：Ｎｏ）には、「コンテンツＩＤ管理テーブル」を参照してランダムに選んだノード装置１の未使用のコンテンツＩＤをコンテンツＩＤとして決定し（ステップＳ１７６）、処理を終了する。
【０１５９】
以上説明した実施形態によれば、各コンテンツのコンテンツＩＤを、管理すべきノード装置１のノードＩＤに応じて付与するようにしたので、各コンテンツの人気度に応じた安定度を有するノード装置１に、各コンテンツを管理させるよう構成したので、ノード装置１の脱退等によるルーティング経路の変更を少なくしてシステム全体の負荷を低減することができる。
【０１６０】
また、コンテンツを識別するコンテンツＩＤと、ノード装置１を識別するノードＩＤとを用いて、各ＩＤがＤＨＴのＩＤ空間において所定の関係となる場合に、管理されるよう構成したので、従来公知の分散ハッシュテーブルを利用して構築されたオーバーレイネットワークにおけるコンテンツの配信システムに容易に適用することができる。
【０１６１】
また、コンテンツの人気度を、コンテンツの課金ログ、すなわち、コンテンツ購入メッセージの受信回数に応じて決定するよう構成したので、システム管理サーバ１００は、人気度の変動をリアルタイムに把握し、更新することができる。
【０１６２】
更に、人気度の高いコンテンツには安定度の高いノード装置１がルートノードとなって管理するよう構成したので、コンテンツの購入（配信要求）が頻繁に行なわれる場合であっても安定したノード装置１にて安定して管理することができる。
【０１６３】
なお、「コンテンツＩＤ管理テーブル」（表６参照）にて、常に全ノード装置１の安定度を記憶していることとすると、オーバーレイネットワーク９に参加するノード装置１の数が多くなると管理情報が膨大になってしまう。従って、制御部１０１を情報削除手段として機能させ、例えば、最近アクセスがされた１０００台のノード装置１の安定度を管理することとしたり、或いは過去数年以内にアクセスがされたノード装置１のみの安定度を管理することとし、新たにノード装置１からアクセスがあったときには、一番古いアクセスのノード装置１を管理から除外するよう構成してもよい。さらに、コンテンツ毎に公開終了日時を定め、公開終了日時を経過したときに、当該コンテンツを管理から除外するよう構成してもよい。
【０１６４】
また、ノード装置１のオーバーレイネットワーク９への参加持続時間（表４）を安定度としたが、この定義方法だと、一瞬でも脱退すると、参加持続時間が０に戻ってしまうので、平均してみると参加率が高いノード装置であっても、安定度が低いとみなされてしまうことになる。これを避けるためには、所定の参加時間計測期間中における参加時間に基づいて安定度を決定してもよい。この計測期間は、ノード装置１の製造後（設置後）から今現在までの経過時間としてもよく、或いは過去１０００時間とすることもでき、或いはコンテンツの人気度の変動に応じて設定することもできる。
【０１６５】
コンテンツの人気度の変動に応じて設定する場合について説明すると、例えば、あるコンテンツの公開直後やコンテンツの宣伝が行なわれた後、２週間は確実にこのコンテンツに対するアクセスが集中すると予測できる場合には、その２週間の間、安定しているノード装置１を、ルートノードとして決定すればよい。そのためには、過去２週間の各ノード装置１の参加時間を計測する。過去２週間安定していたノード装置は、この後の２週間も安定して稼働する確率が高いとみなすことができるからである。
【０１６６】
また、人気度の変動のスパンが短い場合、例えば、コンテンツ公開期間が午後７時〜９時である場合には、過去数日の午後７時〜９時を参加時間計測期間として、この間の各ノード装置１の参加時間を計測し、この計測時間に対する参加時間が長いノード装置１を安定度が高いものと判断し、このノード装置１をルートノードとすればよい。
【０１６７】
また、コンテンツの評価値の一例として人気度を用いて説明したが、本発明はこれに限定されるものではなく、例えばコンテンツの注目度や、コンテンツの推薦度などであってもよい。
【０１６８】
また、本実施形態では、本発明の登録装置の一例としてのシステム管理サーバ１００にて、コンテンツの人気度の管理やノード装置１の安定度の管理を行なうよう構成したが、本発明はこれに限定されるものではなく、本発明の登録装置を複数のサーバに対して適用してもよく、この場合、コンテンツ登録作業、課金作業、コンタクトノード紹介作業を複数のサーバにて分担するよう構成し、必要に応じて各サーバ間にて情報の授受を行なうことにより、コンテンツの人気度やノード装置１の安定度を管理し、各コンテンツに最適なコンテンンツＩＤを付与するよう構成すればよい。
【図面の簡単な説明】
【０１６９】
【図１】本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】ＤＨＴのＩＤ空間の一例を示す概念図である。
【図３】ＤＨＴによってルーティングテーブルが作成される様子の一例を示す図である。
【図４】（Ａ）レベル１のテーブルの一例である。（Ｂ）レベル２のテーブルの一例である。（Ｃ）レベル３のテーブルの一例である。（Ｄ）完成したルーティングテーブルの一例である。
【図５】ノード装置１のシステム管理サーバ１００への通知の様子をＤＨＴのＩＤ空間にて示した概念図である。
【図６】オーバーレイネットワーク９にノード装置１が参加する際の様子をＤＨＴのＩＤ空間にて示した概念図である。
【図７】システム管理サーバ１００の概要構成例を示すブロック図である。
【図８】ノード装置１の概要構成例を示す図である。
【図９】ノード装置１における処理の一例を示すフローチャートである。
【図１０】コンテンツＩＤ“22222222”に関するメッセージの流れの一例を示す図である。
【図１１】コンテンツＩＤ変更メッセージ、公開メッセージ及び削除メッセージの流れの一例を示す図である。
【図１２】ノード装置１における「その他の処理」の一例を示すフローチャートである。ノードｎｎにおけるノード情報削除処理の一例を示すフローチャートである。
【図１３】システム管理サーバ１００における処理の一例を示すフローチャートである。
【図１４】システム管理サーバ１００における「ルートノード変更処理」の一例を示すフローチャートである。
【図１５】システム管理サーバ１００における新たにコンテンツを登録（投入）する際の処理の一例を示すフローチャートである。
【図１６】システム管理サーバ１００における「コンテンツＩＤ決定（変更）処理」の一例を示すフローチャートである。
【符号の説明】
【０１７０】
１  ノード装置
３  ＩＸ
４  ＩＳＰ
５ａ、５ｂ  ＤＳＬ回線事業者の装置
６  ＦＴＴＨ（Fiber To The Home）回線事業者の装置
７  通信回線
８  ネットワーク
９  オーバーレイネットワーク
１１  制御部
１２  記憶部
１３  バッファメモリ
１４  デコーダ部
１５  映像処理部
１６  表示部
１７  音声処理部
１８  スピーカ
２０  通信部
２１  入力部
２２  バス
１００  システム管理サーバ
１０１  制御部
１０２  記憶部
１０３  通信部
１０４  入力部
１０５  バス
Ｓ  コンテンツ配信システム
【図１】
0004635904.tif 000009
【図２】
0004635904.tif 000010
【図３】
0004635904.tif 000011
【図４】
0004635904.tif 000012
【図５】
0004635904.tif 000013
【図６】
0004635904.tif 000014
【図７】
0004635904.tif 000015
【図８】
0004635904.tif 000016
【図９】
0004635904.tif 000017
【図１０】
0004635904.tif 000018
【図１１】
0004635904.tif 000019
【図１２】
0004635904.tif 000020
【図１３】
0004635904.tif 000021
【図１４】
0004635904.tif 000022
【図１５】
0004635904.tif 000023
【図１６】
0004635904.tif 000024