(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）という）を利用したアルゴリズムについて説明する。
【００５６】
上述したコンテンツ配信システムＳにおいて、当該ノード装置１が、他のノード装置１の持つ情報にアクセスする際には、その情報を持つノード装置１のノード情報としてのＩＰアドレスを知っていなければならない。
【００５７】
例えば、コンテンツを互いに共有するシステムにおいては、当該システムに参加している各ノード装置１が互いに当該システムに参加している全てのノード装置１のＩＰアドレスと各装置が持つ情報の索引を知っておくのが単純な手法であるが、装置数が何万何十万と多数になると、その全てのノード装置１のＩＰアドレスを覚えておくのは現実的ではない。また、任意のノード装置１の電源がON或いはOFFとすると、各ノード装置１にて記憶している当該任意のノード装置のＩＰアドレスの更新が頻繁になり、運用上困難となる。
【００５８】
そこで、１台のノード装置１では、システムに参加している全てのノード装置１のうち、必要最低限のノード装置１のＩＰアドレスだけを覚えて（記憶して）おいて、ＩＰアドレスを知らない（記憶していない）ノード装置１については、各ノード装置１間で互いに情報を転送し合って届けてもらうというシステムが考案されている。
【００５９】
このようなシステムの一例として、ＤＨＴを利用したアルゴリズムによって、図１の上部枠１００内に示すような、オーバレイネットワーク９が構築されることになる。つまり、このオーバレイネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するネットワークを意味する。
【００６０】
本実施形態においては、ＤＨＴを利用したアルゴリズムによって構築されたオーバレイネットワーク９を前提としており、このオーバレイネットワーク９上に配置されたノード装置１を、コンテンツ配信システムＳに参加（言い換えれば、オーバレイネットワーク９に参加）しているノード装置１という。なお、コンテンツ配信システムＳへの参加は、未だ参加していないノード装置が、既に参加している任意のノード装置１に対して参加要求を送ることによって行われる。
【００６１】
コンテンツ配信システムＳに参加している各ノード装置１のノードＩＤは、それぞれのノード装置毎にユニーク（固有）な番号を付与する。この番号は、ノード装置の最大運用台数を収容できるだけのｂｉｔ数を持たせる必要がある。例えば、１２８ｂｉｔの番号とすれば、2＾128≒340×10＾36台のノード装置を運用できる。
【００６２】
より具体的には、各ノード装置１のノードＩＤは、それぞれのノード装置のＩＰアドレスあるいは製造番号等のノード装置毎に固有の値を、共通のハッシュ関数（ハッシュアルゴリズム）によりハッシュ化して得たハッシュ値であり、一つのＩＤ空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数により求められた（ハッシュ化された）ノードＩＤは、当該ＩＰアドレスあるいは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、本実施形態では、ＩＰアドレス（グローバルＩＰアドレス）を共通のハッシュ関数によりハッシュ化した値をノードＩＤとする。
【００６３】
また、コンテンツ配信システムＳに参加している複数のノード装置１には、コンテンツ配信システムＳにおいて共有されるべきコンテンツ（例えば、映画や音楽等）データ（コンテンツ情報）が分散して保存（格納）されているが、当該コンテンツデータにも、それぞれのコンテンツデータ毎にユニーク（固有）な番号（以下、コンテンツＩＤという。）を付与する。このように複数のノード装置１に分散保存されているコンテンツデータは、マスタ（大元）のコンテンツデータが複製されたレプリカである。
【００６４】
そして、当該コンテンツＩＤは、ノードＩＤと同様の長さ（例えば、１２８ｂｉｔ等）とし、例えば、コンテンツの名称（コンテンツタイトル）やコンテンツの概要情報（あらすじ）等のキーワードが、上記ノードＩＤを得るときと共通のハッシュ関数によりハッシュ化され（つまり、ノード装置１のＩＰアドレスのハッシュ値と同一のＩＤ空間に配置）、そのハッシュ値と最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有するノード装置１が、当該コンテンツデータのレプリカを保存するか、あるいは、その所在情報を管理する。これにより、コンテンツデータを偏りなくコンテンツ配信システムＳ上に分散させることが可能となる。なお、異なるコンテンツデータであっても、同一のキーワード（例えば、コンテンツの名称）になる場合が想定されるが、この場合、同じハッシュ値になってしまうので、これを避けるために、ハッシュ化するキーワードを、例えば、コンテンツの名称と著作権情報（例えば、出演者名、監督名、原作者名、歌手名、作曲者名、又は作詞者名等）の組合せとすればよい。
【００６５】
このように、各ノード装置１及び各コンテンツデータに付与されたノードＩＤ及びコンテンツＩＤは、共通のハッシュ関数によって生成したため、図２に示す如く、同一のリング状のＩＤ空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は３２ｂｉｔでノードＩＤ及びコンテンツＩＤを付与し、図示したものである。図中黒点はノードＩＤを、黒ひし形はコンテンツＩＤを示し、反時計回りでＩＤが増加するものとする。
【００６６】
次に、どのノード装置１に、どのコンテンツデータが管理されるかを、一定の規則の下に決定する。本実施形態においては、「あるコンテンツＩＤを有するコンテンツデータを管理するノード装置は、そのコンテンツＩＤに近いノードＩＤを有するノード装置１である」という規則とする。ここで、「近い」ことの定義は、当該コンテンツＩＤを超えず、コンテンツＩＤとノードＩＤとの差が一番少ないものとするが、実際には、各コンテンツデータの管理を各ノード装置１に割り振る際に、一貫していればよい。同図に示す例では、この定義に基づいて、コンテンツＩＤａを有するコンテンツデータは、ノードＩＤａを有するノード装置に管理され、コンテンツＩＤｂを有するコンテンツデータは、ノードＩＤｂを有するノード装置に管理され、コンテンツＩＤｃを有するコンテンツデータは、ノードＩＤｃを有するノード装置１に管理される。なお、あるノード装置は複数の異なるコンテンツデータを管理することもある。
【００６７】
なお、ここで「管理」というのは、コンテンツデータを保存／保持していることを意味するのではなく、「コンテンツデータが何れのノード装置１に保存されているか、つまり、コンテンツデータの所在を知っている」ことを言う。すなわち、図２において、ノードＩＤａを有するノード装置１は、コンテンツＩＤａを有するコンテンツデータが何れのノード装置１に保存されているかを知っており、ノードＩＤｂを有するノード装置１及びノードＩＤｃを有するノード装置１も同様にそれぞれコンテンツＩＤｂを有するコンテンツデータ及びコンテンツＩＤｃを有するコンテンツデータが何れのノード装置１に保存されているかを知っている、ということになる。このように、あるコンテンツデータが何れのノード装置１に保存されているかを知っているノード装置を、そのコンテンツデータのルートノードと言う。つまり、ノードＩＤａを有するノード装置１は、コンテンツＩＤａを有するコンテンツデータのルートノードであって、ノードＩＤｂを有するノード装置１は、コンテンツＩＤｂを有するコンテンツデータのルートノードであって、ノードＩＤｃを有するノード装置１は、コンテンツＩＤｃを有するコンテンツデータのルートノードである。
【００６８】
そして、本実施形態におけるコンテンツ配信システムＳは、このように夫々のコンテンツデータの所在（例えば、当該コンテンツデータを保存するノード装置１のＩＰアドレス）を知っている夫々のルートノードとは別に、コンテンツ配信システムＳ全体において共有されるべきコンテンツデータを管理する管理情報としての管理データリストを保有（記録）する管理者端末２を備えている。この管理データリストには、管理されるコンテンツデータを特定するための固有情報（例えば、コンテンツのタイトル、コンテンツＩＤ、或いは、シーケンス番号）が登録（記述）される。そして、コンテンツ配信システムＳにおいて共有されるべきでなくなったコンテンツデータの固有情報は、当該管理データリストから削除されることになる。これにより、各ノード装置１は、自己が保存しているコンテンツデータが共有されるべきでない（削除されるべきである）か否かを管理者端末２に問い合わせることによって確認することができる。
【００６９】
［１−２．ルーティングテーブルの作成］
ここで、図３を参照して、ＤＨＴで用いるルーティングテーブルの作成手法の一例について説明する。
【００７０】
図３は、ＤＨＴによってルーティングテーブルが作成される様子の一例を示す図である。
【００７１】
まず、図３（Ａ）に示す如く、ＩＤ空間を幾つかのエリアに分割する。実際には、１６分割程度が良く用いられるが、説明を簡単にするためここでは４分割とし、ＩＤをビット長１６ｂｉｔとして８桁の４進数で表すこととした。そして、ノード装置１ＮのノードＩＤを「10230210」とし、このノード装置１Ｎのルーティングテーブルを作る例について説明する。
【００７２】
（レベル１のルーティング）
まず、ＩＤ空間を４分割とすると、それぞれのエリアは４進数で表すと最大桁が異なる４つのエリア「0XXXXXXX」「1XXXXXXX」、「2XXXXXXX」、「3XXXXXXX」（Xは０から３の自然数、以下同様。）で分けられる。ノード装置１Ｎは、当該ノード装置１Ｎ自身のノードＩＤが「10230210」であるため、図中左下「1XXXXXXX」のエリアに存在することになる。そして、ノード装置１Ｎは、自分の存在するエリア（すなわち、「1XXXXXXX」のエリア）以外のエリアに存在するノード装置１を選択（例えば、ノード装置１ＮがシステムＳに参加する際に、既に参加しているノード装置１から取得したＤＨＴに登録されているノード装置１から選択、レベル２乃至８のルーティングについても同様）し、当該ノードＩＤのＩＰアドレスをレベル１のテーブルに記憶する。図４（Ａ）がレベル１のテーブルの一例である。２列目はノード装置１Ｎ自身を示しているため、ＩＰアドレスを記憶する必要は無い。
【００７３】
（レベル２のルーティング）
次に、図３（Ｂ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリアを更に４分割し、更に４つのエリア「10XXXXXX」「11XXXXXX」、「12XXXXXX」、「13XXXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置１を選択し、当該ノードＩＤのＩＰアドレスをレベル２のテーブルに記憶する。図４（Ｂ）がレベル２のテーブルの一例である。１列目はノード装置１Ｎ自身を示しているため、ＩＰアドレスを記憶する必要は無い。
【００７４】
（レベル３のルーティング）
さらに、図３（Ｃ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリアを更に４分割し、更に４つのエリア「100XXXXX」「101XXXXX」、「102XXXXX」、「103XXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置１を選択し、当該ノードＩＤのＩＰアドレスをレベル１のテーブルに記憶する。図４（Ｃ）がレベル３のテーブルの一例である。３列目はノード装置１Ｎ自身を示しているため、ＩＰアドレスを記憶する必要は無く、２列目、４列目はそのエリアにノード装置が存在しないため空白となる。このようにして、レベル４以下レベル８まで同様にルーティングテーブル図４（Ｄ）に示す如く作成することにより、１６ｂｉｔのＩＤ全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
【００７５】
以上説明した手法に従って作成したルーティングテーブルを、全てのノード装置１が夫々作成して所有することになる。
【００７６】
［１−３．コンテンツデータの検索方法］
次に、図５を参照して、本実施形態におけるコンテンツデータの保存元であるノード装置１（以下、「コンテンツ保持ノード」と言う。）の検索方法の一例について説明する。
【００７７】
図５は、ＤＨＴによりコンテンツ保持ノードが検索される様子の一例を示す図である。
【００７８】
ここでは、ノードＩＤ「12003030」のノード装置１ａ（以下、「リクエストノード」と言う。）が、コンテンツＩＤ「31330012」を有するコンテンツデータを保持するコンテンツ保持ノードを探す際の手順について説明する。なお、同図に示す如くコンテンツＩＤ「31330012」を保持するコンテンツ保持ノードのノードＩＤは「00213000」と「02223230」である。
【００７９】
図５において、リクエストノードからコンテンツＩＤ「31330012」を有するコンテンツデータを管理するノード装置１ｅ（すなわちルートノード）に至る経路を実線矢印で表す。
【００８０】
まず、リクエストノードは、コンテンツＩＤ「31330012」と同じエリアのノードＩＤを持つノード装置に対してコンテンツ問い合わせ情報（以下、「コンテンツ問い合わせ情報」を「クエリ」と言う。）を送信する。
【００８１】
まず、リクエストノードは、自己が保持しているルーティングテーブルのレベル１のテーブルを参照して、コンテンツＩＤ「31330012」と同じエリアのノードＩＤを持つノード装置に対してクエリを送信する。つまり、コンテンツＩＤ「31330012」は「3XXXXXXX」のエリアであるため、当該「3XXXXXXX」のエリアに属すノード装置１のうち、ＩＰアドレスを知っている（すなわち、自己が保持しているルーティングテーブルにＩＰアドレスが記憶されている）ノード装置１ｂに対してクエリを送信する。
【００８２】
図５に示す例に拠れば、ノードＩＤが「30100000」であるノード装置１ｂのＩＰアドレスがリクエストノードのルーティングテーブルに記憶されていたので、リクエストノードは、ノードＩＤが「30100000」であるノード装置１ｂに対してクエリを送信する。
【００８３】
次に、クエリを受信したノード装置１ｂは、当該ノード装置１ｂ自身が保持しているインデックスを参照して、コンテンツＩＤ「31330012」に対応する保持ノードリストの有無を確認する。すなわち、保持ノードリストに含まれるノード情報の有無を確認する。
【００８４】
図２１に、本説明におけるコンテンツＩＤと保持ノードリストとの関係を示す。図２１（ａ）には４種類のコンテンツＩＤが示されている。図２１（ａ）の最上段のコンテンツＩＤ「cd3efb6589bb091decdf」を有するコンテンツデータは、図２１（ｂ）において、ＩＰアドレスであらわされる７つのノード装置に保持（記憶）されていることが示されている。図２１（ｂ）における、ノード装置の所在（ＩＰアドレス）を示したリストを、保持ノードリストと称する。保持ノードリストは、コンテンツＩＤ毎に作成されている。図２１（ａ）のコンテンツＩＤが「67895dfce434efb098779」であるコンテンツの保持ノードリストは、図２１（ｃ）であり、そのコンテンツを保持しているノード装置は２台である。また、図２１（ａ）のコンテンツＩＤが「71253647fdef3f3f2f2d67」であるコンテンツの保持ノードリストは、図２１（ｄ）であり、そのコンテンツを保持しているノード装置は８台である。さらに、図２１（ａ）のコンテンツＩＤが「84defcba3234a13367890」であるコンテンツの保持ノードリストは、図２１（ｅ）であり、そのコンテンツを保持しているノード装置は４台である。これらの保持ノードリストは、あらかじめ定められたノード装置に記憶されている。
【００８５】
そして、ノード装置１ｂに保持ノードリストが無い場合には、当該ノード装置１ｂ自身が保持しているルーティングテーブルのレベル２のテーブルを参照して、「31XXXXXX」のエリアに属すノード装置１のうち、ＩＰアドレスを知っているノード装置１ｃ（ノードＩＤ「31012001」）に対してクエリを転送する。
【００８６】
このように、上流のノード装置、すなわち自己とルートノードの中間に介在するノード装置に対してクエリを転送し、コンテンツＩＤの桁を上から順に適合していく要領でルートノードへ近づいていく。
【００８７】
そして、ノード装置１ｂからクエリを受信したノード装置１ｃは、当該ノード装置１ｃ自身が保持しているインデックスを参照して、コンテンツＩＤ「31330012」に対応する保持ノードリストの有無を確認する。無い場合には、当該ノード装置１ｃ自身が保持しているルーティングテーブルのレベル３のテーブルを参照して、「313XXXXX」のエリアに属すノード装置１のうち、ＩＰアドレスを知っているノード装置１ｄ（ノードＩＤ「31320100」）に対してクエリを転送する。
【００８８】
そして、ノード装置１ｃからクエリを受信したノード装置１ｄは、当該ノード装置１ｄ自身が保持しているインデックスを参照して、コンテンツＩＤ「31330012」に対応する保持ノードリストの有無を確認する。無い場合には、当該ノード装置１ｄ自身が保持しているルーティングテーブルのレベル４のテーブルを参照して、「313XXXXX」のエリアに属すノード装置１のうち、ＩＰアドレスを知っているノード装置１ｅ（ノードＩＤ「31330000」）に対してクエリを転送する。
【００８９】
ノード装置１ｅは、コンテンツＩＤ「31330012」にとってのルートノードであるため、コンテンツ保持ノードのＩＰアドレスリスト（保持ノードリスト）を発見することができる。
【００９０】
そして、発見した保持ノードリストに含まれるコンテンツ保持ノード（ノード装置１ｆ）のノード情報（ＩＰアドレス等）をリクエストノードに送信する。
そして、コンテンツ保持ノード（ノード装置１ｆ）のノード情報を受信したリクエストノードは、コンテンツ保持ノード（ノード装置１ｆ）に対してコンテンツの配信を要求する配信要求を図５中破線矢印で示す如く送信する。そして、配信要求を受信したコンテンツ保持ノード（ノード装置１ｆ）は、図５中一点鎖線で示す如くコンテンツデータをリクエストノードに配信するようになっている。
【００９１】
［１−４．ノード装置の構成等］
次に、図６を参照して、ノード装置１の構成及び機能について説明する。
【００９２】
図６は、ノード装置の概要構成例を示す図である。図６に示すように、ノード装置１は、演算機能を有するＣＰＵ、作業用ＲＡＭ（Random Access Memory）、各種データ及びプログラムを記録するＲＯＭ（Read Only Memory）等から構成された確認要求送信手段、確認要求処理結果受信手段、処理手段、コンテンツ情報要求手段、コンテンツ情報受信手段、削除要否判別手段、削除手段、及び記録有無判別手段としての制御部１１と、上記コンテンツの実体としてのコンテンツデータ、その配信に必要な各種ルーティング用データ及びその他の必要なプログラム等を記録（保存）するためのＨＤＤ（Hard Disc Drive）等から構成された記録手段としての記録部１２と、受信されたコンテンツデータを一時蓄積するバッファメモリ１３と、当該コンテンツデータに含まれるエンコード（符号化）されたビデオデータ（映像情報）及びオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）するデコーダ部１４と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部１５と、当該映像処理部１５から出力されたビデオ信号に基づき映像表示するＣＲＴ（Cathode Ray Tube）又は液晶ディスプレイ等よりなる表示部１６と、上記デコードされたオーディオデータをアナログオーディオ信号にＤ／Ａ（Digital/Analog）変換した後これを増幅器等により増幅して出力する音声処理部１７と、当該音声処理部１７から出力されたオーディオ信号を音波として出力するスピーカ１８と、ネットワーク８を通じて他のノード装置１との間の情報の通信制御を行うための通信部２０と、夫々のユーザ（使用者）からの指示を受け付け当該指示に応じた指示信号を制御部１１に出力する入力部（例えば、キーボード、マウス或いは、操作パネル等）２１と、を備えて構成され、制御部１１、記録部１２、バッファメモリ１３、デコーダ部１４、及び通信部２０はバス２２を介して相互にデータの授受が可能に接続されている。
【００９３】
そして、制御部１１におけるＣＰＵが記録部１２等に記録された各種プログラムを実行することにより、制御部１１が、実施形態に係るノード装置１としての全体動作を統括制御する。
【００９４】
なお、ノード装置１の制御部１１における詳しい処理については後述する。
【００９５】
［１−５．管理者端末の構成等］
次に、図７を参照して、管理者端末２の構成及び機能について説明する。
【００９６】
図７は、管理者端末２の概要構成例を示す図である。図７に示すように、管理者端末２は、演算機能を有するＣＰＵ、作業用ＲＡＭ（Random Access Memory）、各種データ及びプログラムを記録するＲＯＭ（Read Only Memory）等から構成された確認要求受信手段、確認要求処理手段、確認要求処理結果送信手段、更新手段、及び管理情報送信手段としての制御部３５と、上述した管理データリスト等を記録（保存）するためのＨＤＤ（Hard Disc Drive）等から構成された管理情報記録手段としての記録部３６と、ネットワーク８を通じて他のノード装置１との間の情報の通信制御を行うための通信部３７と、管理者からの指示を受け付け当該指示に応じた指示信号を制御部３５に出力する入力部（例えば、キーボード、マウス或いは、操作パネル等）３８と、各種情報を表示するための液晶ディスプレイ等よりなる表示部３９と、を備えて構成され、制御部３５、記録部３６、通信部３７、及び表示部３９はバス４０を介して相互にデータの授受が可能に接続されている。
【００９７】
そして、制御部３５におけるＣＰＵが記録部３６等に記録された各種プログラムを実行することにより、制御部３５が、実施形態に係る管理者端末２としての全体動作を統括制御する。
【００９８】
なお、管理者端末２の制御部３５における詳しい処理については後述する。
【００９９】
［２．コンテンツ配信システムの動作］
次に、上述したコンテンツ配信システムＳの動作について、第１の実施形態と第２の実施形態に分けて夫々説明する。
【０１００】
［２．１  第１の実施形態］
先ず、第１実施形態におけるコンテンツ配信システムＳを構成する管理者端末２の処理動作とノード装置（以下、単に「ノード」いう）１の処理動作を図９乃至図１５に示すフローチャートを用いて説明する。
【０１０１】
なお、図８は、第１実施形態におけるコンテンツ配信システムＳの動作を示す概念図である。図８（Ａ）は、初期状態を示しており、管理者端末２に記録されている管理データリストにおいて、「ＦＩＬＥ０２（コンテンツデータの固有情報、コンテンツ情報に関するコンテンツ記録情報の一例）」のコンテンツデータ（以下、単に「コンテンツ」という）は管理（記録）されていない、つまり、コンテンツ配信システムＳにおいて共有される情報ではないが、ノード１ｂには、削除失敗により、「ＦＩＬＥ０２」のコンテンツが残っている。そして、図８（Ｂ）及び（Ｃ）は、ノード１ｂに残っている「ＦＩＬＥ０２」のコンテンツが削除されるまでのノード１ｂ及び管理者端末２の処理動作を示している。
【０１０２】
［２．１．１．１］管理者端末２における処理動作
最初に管理者端末２で行われる処理動作を、図９乃至図１１を用いて説明する。
【０１０３】
図９は、管理者端末２についての全体動作概要をフローチャートであらわしたものである。図１０（ａ）は、図９に示すステップＳ５５におけるシステム（コンテンツ配信システムＳ）へのコンテンツ投入処理（投入操作が行われた場合）の詳細を示すフローチャートであり、図１０（ｂ）は、図９に示すステップＳ５５におけるシステム（コンテンツ配信システムＳ）へのコンテンツ削除処理（削除操作が行われた場合）の詳細を示すフローチャートである。図１１（ａ）は、公開確認要求メッセージを受信した場合における管理者端末２の処理（ステップＳ５７におけるメッセージ毎の処理）を示すフローチャートであり、図１１（ｂ）は、図１１（ａ）に示すステップＳ７１における処理の詳細を示すフローチャートである。
【０１０４】
まず、管理者端末２の動作概要をあらわした図９について説明する。
【０１０５】
ステップＳ５０において、管理者端末２の電源が投入（電源ＯＮ）されると、（ノードリストは不要にします。フローからＳ５１は削除して下さい。）
ステップＳ５２において、制御部３５は、コンテンツ配信システムＳにおいて管理されるべきコンテンツの固有情報が記述される管理データリスト（例えば、カタログリスト等のようなもの）を初期化して、ステップＳ５３に進む。
【０１０６】
ステップＳ５３において、制御部３５は、管理者端末２の電源が切断（電源ＯＦＦ）されているか否かを判断する。電源が切断されていない場合には、ステップＳ５４に進む（ステップＳ５３：ＮＯ）。一方、電源が切断されている場合には（ステップＳ５３：ＹＥＳ）、管理者端末２の処理を終了する。
【０１０７】
次に、ステップＳ５４において、制御部３５は、コンテンツ配信システムＳに新たに投入されるコンテンツがあるか否かおよびコンテンツ配信システムＳから削除されるべきコンテンツがあるか否かを判断する。コンテンツの投入動作および削除動作は、管理者端末２の入力部３８からシステム管理者によりコンテンツの投入要求または削除要求の入力操作が行われたか否かよって決定される。
【０１０８】
コンテンツの投入または削除要求操作が行われた場合（ステップＳ５４：ＹＥＳ）には、ステップＳ５５に進む。コンテンツ情報の投入または削除要求操作が行われていない場合（ステップＳ５４：ＮＯ）には、ステップＳ５６に進む。
【０１０９】
ステップＳ５５において、制御部３５は、コンテンツ配信システムＳへのステップＳ５４において決定されたコンテンツの投入処理または削除処理を行う。
【０１１０】
コンテンツの投入処理については、図１０（ａ）において詳述する。また、コンテンツの削除処理については、図１０（ｂ）において詳述する。ステップＳ５５におけるコンテンツの投入処理または削除処理が終了するとステップＳ５３に進む。
【０１１１】
次に、ステップＳ５６においては、管理者端末２がノード１からのメッセージを受信したか否かが管理者端末２の制御部３５において判断される。ノード１からのメッセージを受信した場合には（ステップＳ５６：ＹＥＳ）、ステップＳ５７に進む。ノード１からのメッセージを受信していない場合には（ステップＳ５６：ＮＯ）、ステップＳ５３に進む。
【０１１２】
次に、ステップＳ５７において、ノード１からのメッセージの内容に応じた処理（例えば、図１１（ａ）又は（ｂ）に示す処理）が行われる。ノード１からのメッセージの内容の判断は管理者端末２の制御部３５において行われる。処理の終了後にステップＳ５３に進む。
【０１１３】
次に、図１０（ａ）における管理者端末２のコンテンツ配信システムＳへのコンテンツ投入処理について説明する。
【０１１４】
コンテンツ配信システムＳへのコンテンツ投入処理が開始されると、ステップＳ６１において、制御部３５は、ノード１に投入（保存）するべきコンテンツＣ（ａｄｄ）の固有情報を管理者端末２の管理データリストに追加記述し、ステップＳ６２に進む。
【０１１５】
ステップＳ６２において、制御部３５は、コンテンツ配信システムＳに投入されるコンテンツＣ（ａｄｄ）を保存させるべき任意のノード１（すなわち、当該コンテンツＣ（ａｄｄ）のレプリカの作成先）をランダムなノードＩＤ＝ＩＤrandomを生成することで選択する。
【０１１６】
ＩＤrandomに向けてＤＨＴのルーティングに従ってメッセージを送ると、ＩＤrandomに一番近いノードＩＤを持ったノード装置にメッセージが届くので、結果的にノード装置を選択したことになるのである。
【０１１７】
次に、ステップＳ６３に進む。
【０１１８】
ステップＳ６３において、制御部３５は、上記選択したノード１に対してＤＨＴのメッセージ転送の仕組みを使って、レプリカ作成要求メッセージを送信する。
【０１１９】
次に、図１０（ｂ）における管理者端末２のコンテンツ配信システムＳからのコンテンツ削除処理について説明する。
【０１２０】
コンテンツ配信システムＳからのコンテンツ削除処理が開始されると、制御部３５は、ステップＳ６６において、コンテンツ配信システムＳから削除されるべきコンテンツＣ（ｒｅｍｏｖｅ）の固有情報を管理データリストから削除し、ステップＳ６７に進む。
【０１２１】
ステップＳ６７において、制御部３５は、管理者データリストから固有情報が削除されたコンテンツＣ（ｒｅｍｏｖｅ）を保存している全てのコンテンツ保持ノードであるノード１を検索する。ステップＳ６８においては、検索待機される。例えば、上述した［１−３．コンテンツデータの検索方法］により行われ、制御部３５は、コンテンツＣ（ｒｅｍｏｖｅ）のルートノードから上記コンテンツ保持ノードであるノード１のＩＰアドレス等を取得することになる。
【０１２２】
そして、ステップＳ６９において、制御部３５は、検索された各コンテンツ保持ノードとしてのノード１に対してそのＩＰアドレスに基づき、当該コンテンツＣ（ｒｅｍｏｖｅ）を削除することを要求するコンテンツ削除要求メッセージを送信する。
【０１２３】
次に、図９における、ステップＳ５７において行われるメッセージ毎の処理について説明する。
【０１２４】
まず、ノード１からの公開確認要求メッセージを、確認要求受信手段としての管理者端末２の制御部３５が受信した場合の公開確認要求メッセージ受信処理について図１１（ａ）を用いて説明する。
【０１２５】
ここで、公開確認要求メッセージとは、ノード１において記録されているコンテンツが、コンテンツ情報配信システムＳにおいて共有される情報であるか否かを確認する確認要求メッセージである。
【０１２６】
受信したメッセージが公開確認要求メッセージであることが確認され、公開確認要求メッセージ受信処理が開始されると、確認要求処理手段としての制御部３５は、当該公開確認要求メッセージに対して、管理データリストに基づいて処理する。具体的には、ステップＳ７１において、制御部３５は、公開確認要求メッセージに添付されている（含まれている）保有コンテンツリストと管理者端末２の管理データリストを比較処理する動作を行う。詳細については、図１１（ｂ）において説明する。ここで、保有コンテンツリストとは、公開確認要求メッセージを送信したノードが、自己が保有するコンテンツ（レプリカとして記憶している）の固有情報をリストにしたものである。次にステップＳ７２に進む。
【０１２７】
ステップＳ７２において、制御部３５は、ノード１の保有コンテンツリストには登録されているコンテンツであるが、管理データリストには登録されていないコンテンツの固有情報が登録された削除済みコンテンツリスト（判断結果）が添付された公開確認結果メッセージを、確認要求処理結果送信手段として、上記公開確認要求メッセージを送信したノード１に対して送信する。
【０１２８】
次に図１１（ｂ）において行われる、図１１（ａ）のステップＳ７１の保有コンテンツリストと管理データリストとの比較動作について説明する。
【０１２９】
ステップＳ７４において、制御部３５は、削除すべきコンテンツをリストにする削除済みコンテンツリストを初期化する。この段階においては、削除済みコンテンツリストには、いずれのコンテンツも登録されていない。次にステップＳ７５に進む。
【０１３０】
ステップＳ７５において、制御部３５は、記憶領域にある変数であるｉを“０”として初期化し、ステップＳ７６に進む。
【０１３１】
ステップＳ７６において、制御部３５は、保有コンテンツリストのサイズが変数ｉより小さい場合には、ステップＳ７７に進む（ステップＳ７６：ＹＥＳ）。保有コンテンツリストのサイズが変数ｉより大きい場合には（ステップＳ７６：ＮＯ）、比較が終了する。
【０１３２】
ステップＳ７７において、制御部３５は、管理データリストに保有コンテンツ情報（ｉ）が含まれているか否かを判断する。つまり、制御部３５は、確認要求処理手段として、公開確認要求メッセージに含まれるコンテンツの固有情報が、管理データリストに記録されているか否かを判断する。なお、保有コンテンツ情報（ｉ）とは、保有コンテンツリストのｉ番目に登録されているコンテンツの固有情報（例えば、図８（Ａ）に示す「ＦＩＬＥ・・」が該当）を意味する。保有コンテンツ情報（ｉ）が管理データリストに含まれている場合（ステップＳ７７：ＹＥＳ）には、ステップＳ７９に進む。一方、保有コンテンツ情報（ｉ）が管理データリストに含まれていない場合（ステップＳ７７：ＮＯ）には、ステップＳ７８に進む。
【０１３３】
ステップＳ７８において、制御部３５は、確認要求処理手段による処理結果判断結果（処理結果）としての削除済みコンテンツリストに保有コンテンツ情報（ｉ）に対応するコンテンツの固有情報を登録する。そしてステップＳ７９に進む。
【０１３４】
こうして、保有コンテンツリストに含まれるコンテンツの固有情報が、管理データリストに記録されていない（つまり、コンテンツ配信システムＳ全体において共有されるべきでない）場合には、削除済みコンテンツリストに当該コンテンツの固有情報が登録され、当該削除済みコンテンツリストが添付された（含まれた）公開確認結果メッセージが、当該削除済みコンテンツリストに登録されたコンテンツを当該ノード１から削除することを要求する削除要求として、ステップＳ７２において当該ノード１に送信されることになる。
【０１３５】
ステップＳ７９において、制御部３５は、変数ｉを１つだけインクリメントし、ステップＳ７６に進む。
【０１３６】
［２．１．１．２］管理者端末２における処理動作の変形例
次に、管理者端末２で行われる処理動作の変形例を、図２２を用いて説明する。
【０１３７】
図２２（ａ）および図２２（ｂ）は、公開確認要求メッセージを受信した場合における管理者端末２の処理（ステップＳ５７におけるメッセージ毎の処理）を示すフローチャートの変形例である。
【０１３８】
まず、図２２（ａ）においては、確認要求受信手段としての管理者端末２の制御部３５が受信したメッセージが公開確認要求メッセージであることが確認され、公開確認要求メッセージ受信処理が開始されると、制御部３５は、当該公開確認要求メッセージに対して、管理データリストに基づいて処理する。具体的には、ステップＳ１４０において、制御部３５は、公開確認要求メッセージに添付されている（含まれている）保有コンテンツリストと管理者端末２の管理データリストを比較処理する動作を行う。詳細については、図１１（ｂ）において説明した。ここで、保有コンテンツリストとは、公開確認要求メッセージを送信したノードが、自己が保有するコンテンツ（レプリカとして記憶している）の固有情報をリストにしたものである。次にステップＳ１４１に進む。
【０１３９】
ステップＳ１４１において、制御部３５は、ノード１の保有コンテンツリストには登録されているコンテンツであるが、管理データリストには登録されていないコンテンツを削除することを要求するコンテンツ削除要求メッセージを、確認要求処理結果送信手段として、上記公開確認要求メッセージを送信したノード１に対して送信する。
【０１４０】
その後、図２２（ｃ）に示されるフローチャートに従って、ノード１においてコンテンツの削除処理が行われる。
【０１４１】
次に、ステップＳ１４１におけるコンテンツ削除要求メッセージを受信したノード１の動作について、図２２（ｃ）を用いて以下に説明する。
【０１４２】
ステップＳ８７において、コンテンツ保持要求メッセージ受信処理を開始すると、ノード装置１の制御部１１は、ステップＳ１４８において、コンテンツ削除要求メッセージを解析して、削除すべきコンテンツＣ（ｉ）を特定する。そして、特定されたコンテンツＣ（ｉ）をノード装置１の制御部１１は、特定されたコンテンツC（ｉ）をノード装置１の記録部１２から削除する。
【０１４３】
次に、その他の変形例である図２２（ｂ）について説明する。図２２（ｂ）において、確認要求受信手段としての管理者端末２の制御部３５が受信したメッセージが公開確認要求メッセージであることが確認され、公開確認要求メッセージ受信処理が開始されると、制御部３５は、当該公開確認要求メッセージに対して、管理データリストに基づいて処理する。具体的には、ステップＳ１４３において、制御部３５は、公開確認要求メッセージに添付されている（含まれている）保有コンテンツリストと管理者端末２の管理データリストを比較処理する動作を行う。詳細については、図１１（ｂ）において説明した。次にステップＳ１４４に進む。
【０１４４】
ステップＳ１４４において、制御部３５は、ノード１の保有コンテンツリストに登録されているコンテンツであると共に、管理データリストにも登録されているコンテンツの保持を要求するコンテンツ保持要求メッセージを、確認要求処理結果送信手段として、上記公開確認要求メッセージを送信したノード１に対して送信する。
【０１４５】
次に、ステップＳ１４４におけるコンテンツ保持要求メッセージを受信したノード１の動作について、図２２（ｄ）を用いて以下に説明する。
【０１４６】
ステップＳ８７において、コンテンツ保持要求メッセージ受信処理を開始すると、ノード装置１の制御部１１は、ステップＳ１４８において、コンテンツ保持要求メッセージを解析して、保持すべきコンテンツＣ（ｉ）を特定する。その後、特定されたコンテンツＣ（ｉ）とノード装置１の保有コンテンツリストとの比較動作が行わる。ノード装置１の制御部１１は、保有コンテンツリストに登録されていないコンテンツをノード装置１の記録部１２から削除する。
【０１４７】
また、図２２（ａ）の変形例として、削除済みコンテンツリストに少なくとも１件存在する場合にのみ、削除要求として削除済みコンテンツリストを要求元に送信しても良い。
【０１４８】
さらに、保有コンテンツリストと管理データリストの比較結果において、削除すべきコンテンツだけでなく、削除する必要がないコンテンツについてもリストを作成して、要求元に送信しても良い、即ち、全ての比較結果を要求元に送信しても良い。
【０１４９】
［２．１．２］ノード１における処理動作
次にノード１で行われる処理動作を、図１２乃至図１５を用いて説明する。
【０１５０】
図１２（ａ）は、第１実施形態におけるノード１についての動作概要をフローチャートであらわしたものである。図１２（ｂ）は、図１２（ａ）に示すステップＳ８１等における公開確認要求処理の詳細を示すフローチャートであり、図１２（ｃ）は、公開確認結果メッセージを受信した場合におけるノード１の処理（ステップＳ８７におけるメッセージ毎の処理）を示すフローチャートであり、図１２（ｄ）は、図１２（ａ）に示すステップＳ８２にて設定された公開確認要求イベントタイマが起動したときの処理を示すフローチャートである。図１３は、図１２（ａ）に示すステップＳ８５におけるコンテンツ要求処理の詳細を示すフローチャートである。図１４（ａ）は、図１３に示すステップＳ９８等におけるレプリカ格納領域確保処理の詳細を示すフローチャートであり、図１４（ｂ）は、図１４（ａ）に示すコンテンツＣ（ｉ）の削除処理の詳細を示すフローチャートである。図１５（ａ）は、レプリカ作成要求メッセージを受信した場合におけるノード１の処理（ステップＳ８７におけるメッセージ毎の処理）を示すフローチャートであり、図１５（ｂ）は、コンテンツ削除要求メッセージを受信した場合における（ステップＳ８７におけるメッセージ毎の処理）を示すフローチャートである。
【０１５１】
まず、ノード１の動作概要をあらわした図１２（ａ）について説明する。
【０１５２】
ステップＳ８０において、ノード１の電源が投入されると（電源ＯＮ）、制御部１１は、ステップＳ８１において、公開確認要求処理を行う。詳細については、図１２（ｂ）において説明する。次にステップＳ８２に進む。
【０１５３】
ステップＳ８２において、公開確認要求処理の動作は、ノード１の電源投入時においてのみならず、所定時間（例えば、１時間）経過する度に行うために、制御部１１は、上記所定時間間隔でタイマ起動するようにタイマの設定処理を行う。すると、設定された時間間隔でタイマ（所定時間経過したか否かを判断する判断手段の一例）が制御部１１内に存在するＣＰＵに対して、割り込み処理を行うように要求するので、当該割り込み処理が発生したタイミングで公開確認要求処理が行われることになる。イベント発生時の処理動作については、図１４（ｃ）において説明する。次に、ステップＳ８３に進む。
【０１５４】
次に、ステップＳ８３において、制御部１１は、ノード１の電源が切断（電源ＯＦＦ）されているか否かを判断する。電源が切断されていない場合には、ステップＳ８４に進む（ステップＳ８３：ＮＯ）。一方、電源が切断されている場合には（ステップＳ８３：ＹＥＳ）、ノード１の処理を終了する。
【０１５５】
次に、ステップＳ８４において、制御部１１は、ユーザによる入力部２１におけるコンテンツの要求操作があったか否かを判断する。かかる要求操作は、ノード１の入力部１２からユーザが例えば視聴を希望するコンテンツのタイトル等の固有情報を特定する情報を入力することによって行われる。
【０１５６】
コンテンツの要求操作が行われた場合（ステップＳ８４：ＹＥＳ）には、ステップＳ８５に進む。コンテンツの要求操作が行われなかった場合（ステップＳ８４：ＮＯ）には、ステップＳ８６に進む。
【０１５７】
次に、ステップＳ８５において、制御部１１は、上記要求操作により指定されたコンテンツの要求処理を行う。詳細については後述する。コンテンツ要求処理が行われた後にステップＳ８３に進む。
【０１５８】
次に、ステップＳ８６において、管理者端末２又は他のノード１からのメッセージを受信したか否かがの制御部１１において判断される。メッセージが受信された場合には（ステップＳ８６：ＹＥＳ）、ステップＳ８７に進む。メッセージが受信されていない場合（ステップＳ８６：ＮＯ）には、ステップＳ８３に進む。
【０１５９】
次に、ステップＳ８７においては、受信されたメッセージの内容に応じた処理（例えば、図１５（ａ）及び（ｂ）等に示す処理）が行われる。メッセージの内容の判断はノード１の制御部１１において行われる。当該処理の終了後にステップＳ８３に進む。
【０１６０】
次に、図１２（ｂ）を用いて、図１２（ａ）に示すステップＳ８１おいて行われる公開確認要求処理について説明する。
【０１６１】
公開確認要求処理が開始されると、ステップＳ８９において、確認要求送信手段としての制御部１１は、当該ノード１が記録保存しているコンテンツの固有情報が登録された保有コンテンツリストを記録部１２から読み出し、これを公開確認要求メッセージに添付し、当該公開確認要求メッセージを、記録部１２に記録されたコンテンツが管理されているか否かを確認する確認要求として、管理者端末２に対して送信する。
【０１６２】
こうして送信された公開確認要求メッセージは、上述したように、管理者端末２（図１１（ａ））にて受信され処理された後、当該管理者端末２から、上記確認要求に対する確認要求処理結果として送信された公開確認結果メッセージ（保有コンテンツリストに含まれるコンテンツの固有情報が、管理者端末２に管理されているか否かを判断した判断結果としての削除済みコンテンツリストが添付：削除要求）は、ノード１（確認要求処理結果受信手段）により受信される。これにより、図１２（ｃ）に示す公開確認結果メッセージ受信処理が開始され、処理手段としての制御部１１は、確認要求処理結果に基づく処理を行うことになる。
【０１６３】
具体的には、制御部１１は、まず、ステップＳ１３６において、変数ｉを初期化して値を“０”とする。
【０１６４】
次に、ステップＳ１３７において、制御部１１は、上記公開確認結果メッセージに添付された削除済みコンテンツリストのサイズが変数ｉよりも大きい場合（すなわち、保有コンテンツリストから削除されるべきコンテンツがある場合）（ステップＳ１３７：ＹＥＳ）の場合には、ステップＳ１３８に進む。一方、削除済みコンテンツリストのサイズの値が変数ｉより大きくない（等しくなった）場合（ステップＳ１３７：ＮＯ）の場合には、公開確認結果メッセージ受信処理を終了する。
【０１６５】
ステップＳ１３８において、処理手段としての制御部１１は、削除済みコンテンツリスト（ｉ）に対応するコンテンツ（つまり、管理者端末２において管理されていないコンテンツであって、削除要求に対応するコンテンツ）を記録部１２から削除する。さらに、保有コンテンツリストから削除済みコンテンツリスト（ｉ）に対応するコンテンツの固有情報が削除される。そして、ステップＳ１３９では、上記変数ｉの値が１つだけインクリメントされ、ステップＳ１３７に進む。これにより、削除済みコンテンツリストに登録されている全てのコンテンツが当該ノード１から削除されることになる。
【０１６６】
次に、図１２（ｄ）において、図１２（ａ）のステップＳ８２において設定されたタイマが起動した場合の公開確認要求イベントの処理について説明する。
【０１６７】
公開確認要求イベント処理が開始されると、ステップＳ２１１において、制御部１１は、上記ステップＳ８１と同様に、公開確認要求処理を行い（詳細は、図１２（ｂ）参照）、続いて、ステップＳ２１２において、上記ステップＳ８２と同様に、上記所定時間間隔でタイマ起動するようにタイマの設定処理を行う。これにより、所定時間経過後、再び、公開確認要求イベント処理が行われることになる。
【０１６８】
次に、図１３を用いて、図１２（ａ）のステップＳ８５に示すコンテンツ要求処理について説明する。
【０１６９】
当該コンテンツ要求処理が開始されると、ステップＳ９２において、制御部１１は、上記ステップＳ８１と同様に、公開確認要求処理を行う（詳細は、図１２（ｂ）参照）。つまり、制御部１１は、コンテンツ情報要求手段として、コンテンツ情報配信システムＳに用いられているコンテンツを要求する際に、公開確認要求メッセージを管理者端末２に対して送信することになる。
【０１７０】
次いで、制御部１１は、ステップＳ９３において、上記ステップＳ８４で要求された（視聴が希望された）要求コンテンツＣ（ｒｅｑｕｅｓｔ）の固有情報を入力する。
【０１７１】
次に、ステップＳ９４において、制御部１１は、上記要求されたコンテンツＣ（ｒｅｑｕｅｓｔ）が自己の記録部１２に記録（所持）されているか否かを判断する。当該コンテンツＣ（ｒｅｑｕｅｓｔ）が自己の記録部１２に記録されている場合（ステップＳ９４：ＹＥＳ）にはステップ１０３に進む。一方、当該コンテンツＣ（ｒｅｑｕｅｓｔ）が自己の記録部１２に記録されていない場合（ステップＳ９４：ＮＯ）にはステップ９５に進む。
【０１７２】
次に、ステップＳ９５においては、コンテンツＣ（ｒｅｑｕｅｓｔ）を保存しているノード１を検索する動作が行われ（上記ステップＳ６７と同様、上述した［１−３．コンテンツデータの検索方法］により行われる）、制御部１１は、検索結果を得るまで待機する（ステップＳ９６）。
【０１７３】
次いで、制御部１１は、ステップＳ９７において、コンテンツＣ（ｒｅｑｕｅｓｔ）が見つかったか否か、つまり、コンテンツＣ（ｒｅｑｕｅｓｔ）を保存しているノードのＩＰアドレス等を取得できたか（受信したか）否かを判断する。コンテンツＣ（ｒｅｑｕｅｓｔ）が見つかった（当該コンテンツＣ（ｒｅｑｕｅｓｔ）を保存しているコンテンツ保持ノードのＩＰアドレス等が登録されている保持ノードリストを取得できた）場合には（ステップＳ９７：ＹＥＳ）、ステップＳ９８に進む。一方、コンテンツＣ（ｒｅｑｕｅｓｔ）が見つからない（当該保持ノードリストを取得できない）場合には（ステップＳ９７：ＮＯ）、当該コンテンツ要求処理を終了する。
【０１７４】
次に、ステップＳ９８において、制御部１１は、自ノード１の記録部１２に当該コンテンツＣ（ｒｅｑｕｅｓｔ）を複製する（レプリカを作成する）ために必要な空き容量を設けるためのレプリカ格納領域確保処理を行う。詳しくは、後に述べる図１４（ａ）において説明する。
【０１７５】
次に、ステップＳ９９において、制御部１１は、ステップＳ９８において行ったレプリカ格納領域確保処理によって、自ノード１の記録部１２にコンテンツＣ（ｒｅｑｕｅｓｔ）のレプリカを記録することができる為の空き容量が確保できたか否かを判断する。レプリカを格納するための領域を確保できた場合には（ステップＳ９９：ＹＥＳ）、ステップＳ１００に進む。一方、レプリカを格納するための領域を確保できなかった場合には（ステップＳ９９：ＮＯ）、当該コンテンツ要求処理を終了する。
【０１７６】
次に、ステップＳ１００において、制御部１１は、ステップＳ９７において見つかった（コンテンツＣ（ｒｅｑｕｅｓｔ）のルートノードから保持ノードリストを取得できた）当該コンテンツＣ（ｒｅｑｕｅｓｔ）を記録するノード１（コンテンツ保持ノード）に対して、当該コンテンツＣ（ｒｅｑｕｅｓｔ）をレプリカとして記録するために、ダウンロード要求メッセージを送信する。
【０１７７】
次に、ステップＳ１０１において、制御部１１は、ステップＳ１００においてダウンロード要求メッセージを送信したノード１からコンテンツ非所持通知メッセージを受信したか否かを判断する。コンテンツ非所持通知メッセージを受信した場合（ステップＳ１０１：ＹＥＳ）には、ステップＳ１０４に進む。一方、コンテンツ非所持通知メッセージを受信しない場合（ステップＳ１０１：ＮＯ）には、ステップＳ１０２に進む。
【０１７８】
次に、ステップＳ１０２においては、コンテンツＣ（ｒｅｑｕｅｓｔ）を要求したノード１の記録部１２には、当該コンテンツＣ（ｒｅｑｕｅｓｔ）をレプリカとして記録するだけの空き容量が確認されているので、制御部１１は、当該コンテンツＣ（ｒｅｑｕｅｓｔ）を記録するノード１（コンテンツ保持ノード）から当該コンテンツＣ（ｒｅｑｕｅｓｔ）をダウンロードし、当該コンテンツＣ（ｒｅｑｕｅｓｔ）を自己の記録部１２に記録する。
【０１７９】
次に、ステップＳ１０３において、制御部１１は、ユーザからの入力部１２の再生操作にしたがって、ステップＳ１０２においてダウンロードされたコンテンツＣ（ｒｅｑｕｅｓｔ）の再生制御を行う。これにより、コンテンツＣ（ｒｅｑｕｅｓｔ）が再生され、ユーザはこれを視聴することによってコンテンツを楽しむことができるようになる。
【０１８０】
次に、ステップＳ１０４において、制御部１１は、取得した保持ノードリストにコンテンツ保持ノードとしてＩＰアドレス等が登録されているにもかかわらず、コンテンツ非所持通知メッセージを送信したノード１のＩＰアドレス等を保持ノードリストから削除する。なお、当該ノード１は、当該コンテンツＣ（ｒｅｑｕｅｓｔ）のルートノードに対して、コンテンツ非所持通知メッセージを送信したノード１のＩＰアドレス等を保持ノードリストから削除する要求メッセージを送信しても良い。これにより、ルートノードにおいて管理されている保持ノードリストを更新し、最新の状態にすることができる。
【０１８１】
次に、図１４（ａ）を用いて、図１３のステップＳ９８に示すレプリカ格納領域確保処理について説明する。
【０１８２】
レプリカ格納領域確保処理が開始されると、ステップＳ１０６において、制御部１１は、変数ｉを“０”に初期化し、自ノード１の記録部１２における現在の空き領域の容量（現在の空き容量）を調べる。次に、制御部１１は、ダウンロードするべきコンテンツの容量を調べ（例えば、コンテンツの固有情報や容量等が登録された電子カタログ等から調べる）、当該コンテンツを記録するために必要な空き容量を調べる。そして、制御部１１は、必要な空き容量から現在の空き容量を減算して、その値を変数Ｓに代入する。
【０１８３】
そして、ステップＳ１０７において、制御部１１は、変数Ｓが“０”以下であるか否かを判断する。つまり、削除要否判別手段としての制御部１１は、要求されたコンテンツを記録部１２に記録するためには既に記録部１２に記録されている他のコンテンツを削除する必要があるか否かを判別する。
【０１８４】
そして、制御部１１は、変数Ｓが“０”以下の場合（つまり、現在の空き容量が必要な空き容量より大きい場合）、すなわち視聴を希望するコンテンツが自ノード１の記録部１２に記録でき、他のコンテンツを削除する必要がないと判断した場合（ステップＳ１０７：ＹＥＳ）には、レプリカ格納領域確保処理を終了する。一方、制御部１１は、変数Ｓが“０”以下でない場合（つまり、現在の空き容量が必要な空き容量以下の場合）、すなわち視聴を希望するコンテンツが自ノード１の記録部１２に記録できず、他のコンテンツを削除する必要があると判断した場合（ステップＳ１０７：ＮＯ）には、ステップＳ１０８に進む。
【０１８５】
ステップＳ１０８において、制御部１１は、所持コンテンツ数が変数ｉより大きいか否かを判断し、大きくない場合、例えば、自ノード１の記録部１２に記録されているコンテンツが１つもない場合（ステップＳ１０８：ＮＯ）には、レプリカ格納領域確保処理を終了する。一方、制御部１１は、所持コンテンツ数が変数ｉより大きい場合（ステップＳ１７３：ＹＥＳ）には、（ステップＳ１０８：ＹＥＳ）、ステップＳ１０９に進む。
【０１８６】
ステップ１０９において、制御部１１は、記録部１２に記録されている任意のコンテンツＣ（ｉ）の削除処理を行う。詳しくは、後に述べる図１４（ｂ）において説明する。
【０１８７】
次に、ステップＳ１１０において、制御部１１は、コンテンツＣ（ｉ）を削除できたか否かを判断し、削除できなかった場合には（ステップＳ１１０：ＮＯ）、ステップＳ１１２に進む。一方、コンテンツＣ（ｉ）を削除できた場合には（ステップＳ１１０：ＹＥＳ）、ステップＳ１１１に進む。
【０１８８】
ステップＳ１１１において、制御部１１は、上記変数Ｓから上記削除されたコンテンツＣ（ｉ）のデータ容量を減算した値を、再び変数Ｓに代入する。
【０１８９】
次に、ステップ１１２において、変数ｉが“１”だけインクリメントされ、ステップＳ１０７に進む。こうして、当該レプリカ格納領域確保処理により、レプリカ格納領域が確保されることになる。
【０１９０】
次に、図１４（ｂ）を用いて、図１４（ａ）のステップＳ１０９に示すコンテンツＣ（ｉ）の削除処理について説明する。
【０１９１】
他のコンテンツとしてのコンテンツＣ（ｉ）の削除処理が開始されると、ステップＳ３１１において、削除対象となるコンテンツＣ（ｉ）を保存しているノード１を検索する動作が行われ（上記ステップＳ６７と同様、上述した［１−３．コンテンツデータの検索方法］により行われる）、制御部１１は、検索結果を得るまで待機する（ステップＳ３１２）。
【０１９２】
次いで、記録有無判別手段としての制御部１１は、ステップＳ３１３において、コンテンツＣ（ｉ）を検索できたか否か、つまり、コンテンツＣ（ｉ）が他のノード１に記録されているか否かを判別する。そして、コンテンツＣ（ｉ）が検索できた（当該コンテンツＣ（ｉ）を保存しているコンテンツ保持ノードのＩＰアドレス等が登録されている保持ノードリストを取得できた）場合には（ステップＳ３１３：ＹＥＳ）、削除手段としての制御部１１は、当該コンテンツＣ（ｉ）を記録部１２から削除する（ステップＳ３１７）。一方、コンテンツＣ（ｉ）が検索できない場合（ステップＳ３１３：ＮＯ）、つまり、コンテンツＣ（ｉ）が他のノード１に記録されていない場合には、図１２（ｂ）に示すステップＳ８９と同じように、確認要求送信手段としての制御部１１は、当該コンテンツＣ（ｉ）の固有情報を公開確認要求メッセージに添付し、当該公開確認要求メッセージを確認要求として、管理者端末２に対して送信し（ステップＳ３１４）、返答待機する（ステップＳ３１５）。
【０１９３】
こうして送信された公開確認要求メッセージは、上述したように、管理者端末２にて受信され、コンテンツＣ（ｉ）の固有情報が管理データリストに登録されているか否かが判断され、その判断結果が含まれる公開確認結果メッセージが当該ノード１に返信される。
【０１９４】
そして、制御部１１は、その公開確認結果メッセージを受信すると、ステップＳ３１６において、上記判断結果より、コンテンツＣ（ｉ）の固有情報が管理データリストに登録されているか否かを判断し、登録されていない場合には（ステップＳ３１６：ＮＯ）、管理者端末２において管理されているコンテンツでないので、当該コンテンツＣ（ｉ）を記録部１２から削除する（ステップＳ３１７）。
【０１９５】
一方、コンテンツＣ（ｉ）の固有情報が管理データリストに登録されている場合（ステップＳ３１６：ＹＥＳ）、制御部１１は、管理者端末２において管理されているコンテンツであるので、当該コンテンツＣ（ｉ）を記録部１２から削除することなく、当該コンテンツＣ（ｉ）の削除処理を終了する。これにより、当該システムSに例えば１つだけ管理対象となるコンテンツC（ｉ）を残しておくように制御することができる。
【０１９６】
次に、図１２（ａ）における、ステップＳ８７において行われるメッセージ毎の処理について説明する。
【０１９７】
まず、管理者端末２からのレプリカ作成要求メッセージをノード１が受信した場合のレプリカ作成要求メッセージ受信処理について図１５（ａ）を用いて説明する。
【０１９８】
レプリカ作成要求メッセージ受信処理が開始されると、制御部１１は、ステップＳ１２１において、レプリカ格納領域確保処理を行う（上記ステップＳ９８と同様、図１４（ａ）に示す処理が行われるが重複する説明を省略する）。
【０１９９】
次に、ステップＳ１２２において、制御部１１は、ステップＳ１２１において行ったレプリカ格納領域確保処理によって、自ノード１の記録部１２にレプリカを記録することができる為の空き容量が確保できたか否かを判断する。レプリカを格納するための領域を確保できた場合には（ステップＳ１２２：ＹＥＳ）、ステップＳ１２３に進む。一方、レプリカを格納するための領域を確保できなかった場合には（ステップＳ１２２：ＮＯ）、ステップＳ１２５に進む。
【０２００】
ステップＳ１２３において、制御部１１は、レプリカ作成要求メッセージを送信した管理者端末２に対して、ダウンロード要求メッセージを送信し、ステップＳ１２４において、当該管理者端末２からコンテンツＣ（ａｄｄ）をダウンロードし、記録部１２に記録し、当該レプリカ作成要求メッセージ受信処理を終了する。
【０２０１】
一方、ステップＳ１２５において、制御部１１は、領域確保失敗通知メッセージを管理者端末２に送信し、当該レプリカ作成要求メッセージ受信処理を終了する。なお、領域確保失敗通知メッセージを受信した管理者端末２は、新たにノード１を選択し、当該ノード１に対してレプリカ作成要求メッセージを送信することになる。
【０２０２】
次に、管理者端末２からのコンテンツ削除要求メッセージをノード１が受信した場合のコンテンツ削除要求メッセージ受信処理について図１５（ｂ）を用いて説明する。
【０２０３】
ステップＳ１３０において、コンテンツ削除要求メッセージ受信処理を開始すると、制御部１１は、ステップＳ１３１において、制御部１１は、コンテンツ削除要求メッセージを制御部１１において解析して、削除すべきコンテンツＣ（ｉ）を特定し、特定されたコンテンツＣ（ｉ）を記録部１２から削除して、当該コンテンツ削除要求メッセージ受信処理を終了する。
【０２０４】
以上説明したように、第１実施形態によれば、管理者端末２は、コンテンツ配信システムＳにおいて共有されるべきコンテンツを管理する管理データリストを記録しておき、ノード１は、自己が記録（保存）しているコンテンツのレプリカがコンテンツ配信システムＳにおいて共有される情報であるかを確認する確認要求を、電源投入時、他のコンテンツ検索時、一定間隔毎などの所定のタイミングで管理者端末２に対して行い、管理者端末２は、当該確認要求に対して、ノード１において記録されているコンテンツのレプリカがコンテンツ配信システムＳにおいて共有される情報であるか否かを上記管理データリストに基づいて判断し、その判断結果をノード１に対して送信するようにしたので、ノード１は、適宜、自己が記録しているコンテンツのレプリカがコンテンツ配信システムＳにおいて共有される情報であるか否かを確認することが可能となり、当該確認にしたがってコンテンツのレプリカを削除するか否かを決定することができる。よって、各ノード１の参加、脱退（例えば、電源のＯＮ，ＯＦＦ）が頻繁に行うことが可能なＰ２Ｐ型のコンテンツ配信システムＳであっても、当該システムＳ内に配置されたコンテンツのレプリカの削除制御をより効率よく行うことが可能となる。
【０２０５】
また、管理者端末２においてコンテンツのレプリカを一元管理でき、当該システム運営者やコンテンツの著作者等からの要求によって特定のコンテンツのレプリカを当該システムＳから完全に削除することができ、特に、コンテンツが著作権情報であった場合には、著作権保護をより効率良く行うことができる。
【０２０６】
また、ノード１がコンテンツのレプリカを記録する際に、記録容量確保のために他のコンテンツのレプリカを削除する必要がある場合に、当該他のコンテンツのレプリカが他のノード１に記録されている場合にはじめて当該他のコンテンツのレプリカを削除するようにしたので、コンテンツ配信システムＳからあるコンテンツのレプリカを完全に削除するのではなく１つだけ残しておくことが可能となり、当該システムＳ内に配置されたコンテンツのレプリカの削除制御をより一層、効率よく行うことができる。すなわち、記録容量確保の目的を優先で、レプリカを消してしまうと、システム内からこのコンテンツが全く無くなってしまう場合があるが、それを阻止した上で、管理者があるコンテンツを消したいと思ったときに、確実にシステム上から削除することができる。
【０２０７】
［２．２  第２の実施形態］
次に、第２実施形態におけるコンテンツ配信システムＳを構成する管理者端末２の処理動作とノード１の処理動作を図１６乃至図２０に示すフローチャートを用いて説明する。なお、第２実施形態において、第１実施形態と同様の内容については重複する説明を省略する。
【０２０８】
第２実施形態は、ノード１においても管理データリストを記録しておき、任意の操作をトリガとして、管理者端末２において記録されている管理データリストと、ノード１の管理データリストとを比較することを行う。比較の結果、ノード１の管理データリストには登録されているが、管理者端末２の管理データリストには登録されていないコンテンツは削除されることを内容とする実施形態である。
【０２０９】
なお、図１６は、第２実施形態におけるコンテンツ配信システムＳの動作を示す概念図である。図１６（Ａ）は、初期状態を示しており、ノード１と管理者端末２との双方に管理データリストが記録されており、管理者端末２に記録されている管理データリストにおいて、「ＦＩＬＥ０２」のコンテンツは管理（記録）されていないが、ノード１ｂには、削除失敗により、「ＦＩＬＥ０２」のコンテンツが残っている。そして、図１６（Ｂ）及び（Ｃ）は、ノード１ｂにおいて管理データリストを更新し、当該ノード１ｂに残っている「ＦＩＬＥ０２」のコンテンツが削除されるまでのノード１ｂ及び管理者端末２の処理動作を示している。
【０２１０】
図１７（ａ）は、第２実施形態におけるノード１についての動作概要をフローチャートであらわしたものであり、図１２（ａ）に対応するものである。なお、第２実施形態における管理者端末２の処理は、第１実施形態と同様、図９に示す通りである（但し、図９に示すステップＳ５７の処理の詳細が第１実施形態と、後述するように異なる部分がある）。
【０２１１】
ステップＳ１９０において、ノード１の電源が投入されると（電源ＯＮ）、制御部１１は、ステップＳ１９１において、管理データリスト要求処理を行う。詳細については、図１７（ｂ）において説明する。次にステップＳ１９２に進む。
【０２１２】
ステップＳ１９２において、管理データリスト要求処理の動作は、ノード１の電源投入時においてのみならず、所定時間（例えば、１時間）経過する度に行うために、制御部１１は、上記所定時間間隔でタイマ起動するようにタイマの設定処理を行う。すると、設定された時間間隔でタイマが制御部１１内に存在するＣＰＵに対して、割り込み処理を行うように要求するので、当該割り込み処理が発生したタイミングで管理データリスト要求処理が行われることになる。イベント発生時の処理動作については、図１７（ｃ）において説明する。
【０２１３】
なお、図１７（ａ）に示すステップＳ１９３〜Ｓ１９７までの処理は、図１２（ａ）に示すステップＳ８３〜Ｓ８７までの処理と基本的には同様であるが、ステップＳ１９５及びステップＳ１９７に示す処理の詳細は異なる部分がある。
【０２１４】
図１７（ｂ）は、図１７（ａ）に示すステップＳ１９１等における管理データリスト要求処理の詳細を示すフローチャートである。
【０２１５】
当該管理データリスト要求処理が開始されると、ステップＳ２０１において、制御部１１は、ノード１が記録する管理データリストと管理者端末２が記録する管理データリストが合致しているかを照合するために、管理データリスト要求メッセージを、記録部１２に記録されたコンテンツが管理されているか否かを確認する確認要求として、管理者端末２に対して送信する。
【０２１６】
図１７（ｃ）は、図１７（ａ）に示すステップＳ１９２にて設定された管理データリスト要求イベントタイマが起動したときの処理を示すフローチャートである。
【０２１７】
当該管理データリスト要求イベント処理が開始されると、ステップＳ２０３において、制御部１１は、上記ステップＳ１９１と同様に、管理データリスト要求処理を行い（詳細は、図１７（ｂ）参照）、続いて、ステップＳ２０４において、上記ステップＳ１９２と同様に、上記所定時間間隔でタイマ起動するようにタイマの設定処理を行う。これにより、所定時間経過後、再び、管理データリスト要求イベント処理が行われることになる。
【０２１８】
次に、図１８（ａ）は、管理データリスト要求メッセージを受信した場合における管理者端末２の処理（図９に示すステップＳ５７におけるメッセージ毎の処理）を示すフローチャートであり、図１８（ｂ）は、管理データリストメッセージを受信した場合におけるノード１の処理（図１７（ａ）に示すステップＳ１９７におけるメッセージ毎の処理）を示すフローチャートである。
【０２１９】
管理者端末２において受信したメッセージが管理データリスト要求メッセージであることが確認され、管理データリスト要求メッセージ受信処理が開始されると、制御部３５は、記録部３６に記録されている管理データリストを読み出し、管理データリストが添付された管理データリストメッセージを、上記管理データリスト要求メッセージを送信したノード１に対して送信する。
【０２２０】
これに対し、ノード１において受信したメッセージが管理データリストメッセージであることが確認され、管理データリストメッセージ受信処理が開始されると、制御部１１は、記録部１２に記録されている管理データリストを、上記受信した管理データリストメッセージに添付された管理データリストに更新する（ステップＳ１７１）。
【０２２１】
次いで、制御部１１は、ステップＳ１７２において、変数ｉを“０”に初期化する。
【０２２２】
次いで、制御部１１は、ステップＳ１７３において、所持コンテンツ数が変数ｉより大きいか否かを判断し、大きくない場合、例えば、自ノード１の記録部１２に記録されているコンテンツが１つもない場合（ステップＳ１７３：ＮＯ）には、、管理データリストメッセージ受信処理を終了する。
【０２２３】
一方、制御部１１は、所持コンテンツ数が変数ｉより大きい場合（ステップＳ１７３：ＹＥＳ）には、ステップＳ１７４に進む。
【０２２４】
ステップＳ１７４において、制御部１１は、上記ステップＳ１７１で更新した管理データリストと、記録部１２が記録しているコンテンツ（固有情報）とを比較して、当該コンテンツＣ（ｉ）の固有情報が管理データリストに登録されているか（管理されているか）否かを判断する。当該コンテンツＣ（ｉ）の固有情報が管理データリストに登録されていない場合には（ステップＳ１７４：ＮＯ）、制御部１１は、当該コンテンツ（ｉ）を記録部１２から削除する処理を行う（ステップＳ１７５）。
【０２２５】
一方、当該コンテンツＣ（ｉ）の固有情報が管理データリストに登録されている場合には（ステップＳ１７４：ＹＥＳ）、ステップＳ１７６において、変数ｉが“１”だけインクリメントされ、ステップＳ１７３に進む。
【０２２６】
次に、図１９は、図１７（ａ）に示すステップＳ１９５におけるコンテンツ要求処理の詳細を示すフローチャートである。
【０２２７】
当該コンテンツ要求処理が開始されると、ステップＳ１５１において、制御部１１は、上記ステップＳ１９１と同様に、管理データリスト要求処理を行う（詳細は、図１７（ｂ）参照）。これにより、管理者端末２から送信された管理データリストメッセージを受信すると、制御部１１は、記録部１２に記録されている管理データリストを、上記受信した管理データリストメッセージに添付された管理データリストに更新する（ステップＳ１５２）。
【０２２８】
なお、図１９に示すステップＳ１５３〜Ｓ１６４までの処理は、図１３に示すステップＳ９４〜Ｓ１０４までの処理と同様であり、図１９に示すステップＳ１５８におけるレプリカ格納領域確保処理は、第１実施形態と同様、図１４（ａ）に示す通りである。但し、この場合の図１４（ａ）に示すステップＳ１０９に示すコンテンツＣ（ｉ）削除処理は、図２０に示す通りである。
【０２２９】
図２０に示すコンテンツＣ（ｉ）の削除処理が開始されると、ステップＳ４１１において、削除対象となるコンテンツＣ（ｉ）を保存しているノード１を検索する動作が行われ（上記ステップＳ３１１と同様、上述した［１−３．コンテンツデータの検索方法］により行われる）、制御部１１は、検索結果を得るまで待機する（ステップＳ４１２）。
【０２３０】
次いで、制御部１１は、ステップＳ４１３において、コンテンツＣ（ｉ）を検索できたか否か、つまり、コンテンツＣ（ｉ）が他のノード１に記録されているか否かを判別する。そして、コンテンツＣ（ｉ）が検索できた場合には（ステップＳ４１３：ＹＥＳ）、制御部１１は、当該コンテンツＣ（ｉ）を記録部１２から削除する（ステップＳ４１６）。一方、コンテンツＣ（ｉ）が検索できない場合（ステップＳ４１３：ＮＯ）、つまり、コンテンツＣ（ｉ）が他のノード１に記録されていない場合には、制御部１１は、当該コンテンツＣ（ｉ）の固有情報が、自己の記録部１２に記録された管理データリストに登録されているか否かを確認する（ステップＳ４１４）。そして、管理データリストに登録されている場合には（ステップＳ４１５：ＹＥＳ）、当該コンテンツＣ（ｉ）を削除することなく、コンテンツＣ（ｉ）の削除処理を終了する。一方、当該コンテンツＣ（ｉ）の固有情報が、自己の記録部１２に記録された管理データリストに登録されていない場合には（ステップＳ４１５：ＮＯ）、制御部１１は、当該コンテンツＣ（ｉ）を記録部１２から削除する。
【０２３１】
以上説明したように、第２実施形態によれば、ノード１は、確認要求を、電源投入時、他のコンテンツ検索時、一定間隔毎などの所定のタイミングで管理者端末２に対して行い、管理者端末２は、当該確認要求に対して、上記管理データリストをノード１に対して送信し、ノード１は、当該管理データリストに基づいて自己が記録（保存）しているコンテンツのレプリカがコンテンツ配信システムＳにおいて共有される情報であるかを判断するようにしたので、上記第１実施形態における効果を奏することに加えて、レプリカがコンテンツ配信システムＳにおいて共有される情報であるかの判断を夫々のノード１に分散させて行わせることができるので、管理者端末２の処理負荷を低減させることができる。
【０２３２】
なお、上記第１及び第２実施形態においては、自己が記録（保存）しているコンテンツのレプリカがコンテンツ配信システムＳにおいて共有される情報であるか否かの確認要求は、電源投入時、他のコンテンツ検索時、一定間隔毎などに行われるようにしたが、これに限定されるものではなく、ノード１がコンテンツ配信システムＳに参加する際（例えば、ノード１が任意のノード１に対して参加要求を送信する際）に、当該確認要求を管理者端末２に送信するようにしても良い。また、管理者端末２は、コンテンツ配信システムＳにおいて共有されるべきコンテンツが変更されたときに、更新手段として、上記管理データリストを更新し、当該更新のとき、コンテンツ配信システムＳに参加しているノード１に対して、更新された管理データリストを送信する（ブロードキャスト）ように構成しても良い。
【０２３３】
このように構成すれば、システムＳ内に配置されたレプリカの削除制御を漏れなく、より効率よく行うことが可能となる。
【０２３４】
また、上記第１及び第２実施形態におけるノード１及び管理者端末２として機能させるコンピュータプログラムは、予め記録されているものであってもよいし、ＣＤ−ＲＯＭ等の記録媒体に記録されて提供されドライブを通じて読み込まれるようにしてもよい。また、インターネットに接続された所定のサーバからダウンロードされるものであっても良い。
【産業上の利用可能性】
【０２３５】
以上夫々説明したように、本発明はネットワークを介したコンテンツの配信の分野に利用することが可能であり、特にダウンロード形式によるコンテンツの配信の分野に適用すれば特に顕著な効果が得られる。
【図面の簡単な説明】
【０２３６】
【図１】本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】ＩＤ空間の説明図である。
【図３】ＤＨＴによってルーティングテーブルが作成される様子の一例を示す図である。
【図４】（Ａ）レベル１のテーブルの一例である。（Ｂ）レベル２のテーブルの一例である。（Ｃ）レベル３のテーブルの一例である。（Ｄ）完成したルーティングテーブルの一例である。
【図５】本実施形態におけるＤＨＴによりコンテンツデータの保存元であるノード装置１が検索される様子の一例を示す図である。
【図６】ノード装置の概要構成例を示す図である。
【図７】管理者端末の概要構成例を示す図である。
【図８】第１実施形態におけるコンテンツ配信システムＳの動作を示す概念図である。
【図９】管理者端末２についての全体動作概要をフローチャートであらわしたものである。
【図１０】（ａ）は、図９に示すステップＳ５５におけるシステムＳへのコンテンツ投入処理の詳細を示すフローチャートであり、（ｂ）は、図９に示すステップＳ５５におけるシステムＳへのコンテンツ削除処理の詳細を示すフローチャートである。
【図１１】（ａ）は、公開確認要求メッセージを受信した場合における管理者端末２の処理を示すフローチャートであり、（ｂ）は、（ａ）に示すステップＳ７１における処理の詳細を示すフローチャートである。
【図１２】（ａ）は、第１実施形態におけるノード１についての動作概要をフローチャートであらわしたものであり、（ｂ）は、（ａ）に示すステップＳ８１等における公開確認要求処理の詳細を示すフローチャートであり、（ｃ）は、公開確認結果メッセージを受信した場合におけるノード１の処理を示すフローチャートであり、（ｄ）は、（ａ）に示すステップＳ８２にて設定された公開確認要求イベントタイマが起動したときの処理を示すフローチャートである。
【図１３】図１２（ａ）に示すステップＳ８５におけるコンテンツ要求処理の詳細を示すフローチャートである。
【図１４】（ａ）は、図１３に示すステップＳ９８等におけるレプリカ格納領域確保処理の詳細を示すフローチャートであり、（ｂ）は、（ａ）に示すコンテンツＣ（ｉ）の削除処理の詳細を示すフローチャートである。
【図１５】（ａ）は、レプリカ作成要求メッセージを受信した場合におけるノード１の処理を示すフローチャートであり、（ｂ）は、コンテンツ削除要求メッセージを受信した場合におけるノード１の処理を示すフローチャートである。
【図１６】第２実施形態におけるコンテンツ配信システムＳの動作を示す概念図である。
【図１７】（ａ）は、第２実施形態におけるノード１についての動作概要をフローチャートであらわしたものであり、（ｂ）は、（ａ）に示すステップＳ１９１等における管理データリスト要求処理の詳細を示すフローチャートであり、（ｃ）は、（ａ）に示すステップＳ１９２にて設定された管理データリスト要求イベントタイマが起動したときの処理を示すフローチャートである。
【図１８】（ａ）は、管理データリスト要求メッセージを受信した場合における管理者端末２の処理を示すフローチャートであり、（ｂ）は、管理データリストメッセージを受信した場合におけるノード１の処理を示すフローチャートである。
【図１９】図１７（ａ）に示すステップＳ１９５におけるコンテンツ要求処理の詳細を示すフローチャートである。
【図２０】第２実施形態における、図１４（ａ）に示すステップＳ１０９に示すコンテンツＣ（ｉ）削除処理の詳細を示すフローチャートである。
【図２１】コンテンツＩＤと保持ノードリストとの関係を示す図である。
【図２２】第１実施形態における、変形例を示すフローチャートである。
【符号の説明】
【０２３７】
１  ノード装置
２  管理者端末
１１    制御部
１２    記録部
１３    バッファメモリ
１４    デコーダ部
１５    映像処理部
１６    表示部
１７    音声処理部
１８    スピーカ
２０    通信部
２１    入力部
２２    バス
３５    制御部
３６    記録部
３７    通信部
３８    入力部
３９    表示部
４０    バス
Ｓ  コンテンツ配信システム
【図１】
0004674504.tif 000002
【図２】
0004674504.tif 000003
【図３】
0004674504.tif 000004
【図４】
0004674504.tif 000005
【図５】
0004674504.tif 000006
【図６】
0004674504.tif 000007
【図７】
0004674504.tif 000008
【図８】
0004674504.tif 000009
【図９】
0004674504.tif 000010
【図１０】
0004674504.tif 000011
【図１１】
0004674504.tif 000012
【図１２】
0004674504.tif 000013
【図１３】
0004674504.tif 000014
【図１４】
0004674504.tif 000015
【図１５】
0004674504.tif 000016
【図１６】
0004674504.tif 000017
【図１７】
0004674504.tif 000018
【図１８】
0004674504.tif 000019
【図１９】
0004674504.tif 000020
【図２０】
0004674504.tif 000021
【図２１】
0004674504.tif 000022
【図２２】
0004674504.tif 000023