(57)【要約】【課題】ネットワーク上に配置された複数の端末装置から構成され、端末装置間でコンテンツデータの送受信を行うＰ２Ｐ型のコンテンツ配信システムにおいて、コンテンツデータを公開したときにコンテンツデータを保持する端末装置へのアクセスを有効に制限することができる端末装置及びその情報処理方法等を提供すること。【解決手段】コンテンツ配信システムＳにおける端末装置１では、ネットワークを介して受信したメッセージがコンテンツデータを取得するための検索メッセージであるときに、所在情報を記憶したコンテンツ保持端末装置の数に応じて、コンテンツデータを取得するための検索メッセージ応答処理を行うこととした。【選択図】図７
2008092236.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記端末装置であって、
前記ネットワークを介して受信したメッセージが前記コンテンツデータを保持するコンテンツ保持端末装置の所在情報の登録を要求する登録メッセージであるとき、前記登録メッセージに含まれる前記コンテンツ保持端末装置の所在情報を記憶する配信元情報記憶手段と、
前記ネットワークを介して受信したメッセージが前記コンテンツデータを取得するための検索メッセージであるとき、前記配信元情報記憶手段に所在情報を記憶した前記コンテンツ保持端末装置の数に応じて、前記メッセージを送信した端末装置が前記コンテンツデータを取得する検索メッセージ応答処理を行うか否かを判定する応答処理可否判定手段と、
前記応答処理可否判定手段により前記検索メッセージ応答処理を行うと判定されると、前記検索メッセージ応答処理を行う検索メッセージ応答処理手段と、
を備えたことを特徴とする端末装置。
【請求項２】
前記検索メッセージ応答処理手段は、前記応答処理可否判定手段により前記検索メッセージ応答処理を行うと判定されると、前記配信元情報記憶手段から取り出したコンテンツ保持端末装置の所在情報を、前記検索メッセージを送信した端末装置へ前記ネットワークを介して送信することを特徴とする請求項１に記載の端末装置。
【請求項３】
前記検索メッセージ応答処理手段は、前記応答処理可否判定手段により前記検索メッセージ応答処理を行うと判定されると、前記検索メッセージを送信した端末装置へ前記コンテンツ保持端末装置からコンテンツデータの配信を行わせるコンテンツデータ配信要求メッセージを生成し、前記コンテンツデータ配信要求メッセージを前記コンテンツ保持端末装置へ送信することを特徴とする請求項１に記載の端末装置。
【請求項４】
前記複数の端末装置のうち一部の端末装置の識別情報と所在情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、
前記ネットワークを介して受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づいて、前記受信したメッセージが自端末装置宛であるか否かを判定するメッセージ宛先判定手段と、
前記ネットワークを介して受信したメッセージが前記検索メッセージであるとき、要求されたコンテンツの前記コンテンツ保持端末装置の所在情報が前記配信元情報記憶手段に記憶されているか否かを判断する所在情報判断手段と、を備え、
前記配信元情報記憶手段は、前記ネットワークを介して受信したメッセージが前記登録メッセージであるとき、当該登録メッセージが自端末装置宛であるか否かにかかわらず、前記登録メッセージに含まれる前記コンテンツ保持端末装置の所在情報を記憶し、
要求されたコンテンツの前記コンテンツ保持端末装置の所在情報が前記配信元情報記憶手段に記憶されていると前記所在情報判断手段が判断したとき、前記応答処理可否判定手段が前記検索メッセージ応答処理を行うか否かを判定する
ことを特徴とする請求項１から３のいずれか１項に記載の端末装置。
【請求項５】
前記検索メッセージ応答処理手段により前記検索メッセージ応答処理が行われたとき、前記ルーティングテーブルに基づいて前記送信要求の宛先識別情報に応じた端末装置の所在情報を取り出し、当該所在情報を有する端末装置へ前記検索メッセージ応答処理を行った旨の情報を送信する報知手段を備えた
ことを特徴とする請求項４に記載の端末装置。
【請求項６】
前記メッセージ宛先判定手段により前記ネットワークを介して受信したメッセージが自端末装置宛ではないと判定されると、前記受信したメッセージの宛先識別情報に基づいて、転送先の端末装置の所在情報を前記ルーティングテーブルから取り出し、前記転送先の端末装置へ前記受信したメッセージを転送するメッセージ転送手段を備え、
前記検索メッセージにて要求されたコンテンツの前記コンテンツ保持端末装置の所在情報が前記配信元情報記憶手段に記憶されていないと前記所在情報判断手段が判断したとき、前記メッセージ宛先判定手段が、前記受信したメッセージが自端末装置宛であるか否かを判定し、自端末装置宛でないとき、前記メッセージ転送手段がメッセージを転送する
ことを特徴とする請求項１から５のいずれか１項に記載の端末装置。
【請求項７】
前記応答処理可否判定手段は、
前記検索メッセージ応答処理を行うか否かの判定を、前記配信元情報記憶手段に所在情報を記憶した前記コンテンツ保持端末装置の数と、所定期間内に前記検索メッセージ応答処理を行った数とに基づいて行う
ことを特徴とする請求項１から６のいずれか１項に記載の端末装置。
【請求項８】
前記応答処理可否判定手段は、
前記検索メッセージ応答処理を行うか否かの判定を、前記配信元情報記憶手段に所在情報を記憶した前記コンテンツ保持端末装置において同時に前記コンテンツデータを供給することができる数と、所定期間内に前記検索メッセージ応答処理を行った数とに基づいて行う
ことを特徴とする請求項１から６のいずれか１項に記載の端末装置。
【請求項９】
前記所定期間は、前記配信元情報記憶手段に所在情報を記憶した前記コンテンツ保持端末装置が保持するコンテンツデータのデータサイズに応じて決定される時間である
ことを特徴とする請求項７又は請求項８に記載の端末装置。
【請求項１０】
コンピュータを、請求項１から９のいずれか１項に記載の端末装置における各手段として機能させるためのプログラム。
【請求項１１】
ネットワーク上に分散配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記端末装置の情報処理方法であって、
前記ネットワークを介して受信したメッセージが前記コンテンツデータを保持するコンテンツ保持端末装置の所在情報の登録を要求する登録メッセージであるとき、前記登録メッセージに含まれるコンテンツ保持端末装置の所在情報を記憶するステップと、
前記ネットワークを介して受信したメッセージが前記コンテンツデータを取得するための検索メッセージであるとき、所在情報を記憶した前記コンテンツ保持端末装置の数に応じて、前記メッセージを送信した端末装置が前記コンテンツデータを取得する検索メッセージ応答処理を行うか否かを判定するステップと、
前記検索メッセージ応答処理を行うと判定されると、前記検索メッセージ応答処理を行うステップと、
を有することを特徴とする端末装置の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介したコンテンツ配信の技術分野に関し、更に詳細には、ネットワーク上に配置された複数の端末装置を備え、端末装置間でＰ２Ｐ（Peer to Peer）によりコンテンツデータの送受信を行うコンテンツ配信システムに関する。
【背景技術】
【０００２】
近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などのコンテンツデータを配信する、いわゆるコンテンツ配信システムの研究が盛んである。
【０００３】
そこで、分散ハッシュテーブル（ＤＨＴ（Distributed Hash Table））を利用して論理的にオーバーレイネットワークを構築することにより、コンテンツデータを効率的に分散配置して負荷分散を図る技術が提案されている。
【０００４】
このシステムにおいては、各端末装置が当該オーバーレイネットワークに参加している全ての端末装置へのリンク情報（例えば、ＩＰアドレス）を認識しているわけではなく、参加の際などに得られる一部の端末装置へのリンク情報だけを保持しており、かかるリンク情報に基づき、コンテンデータの検索等を行うようになっている（特許文献１参照）。
【特許文献１】特開２００６−１９７４００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上述のコンテンツ配信システムでは、このシステム内の端末装置にコンテンツデータが投入されて公開されたコンテンツデータを、端末装置間で送受信を行うことによってコンテンツデータを配信できる端末装置を順次増加させていくことになる。
【０００６】
一方で、人気のコンテンツデータは公開時から時間が経つにつれその人気がなくなっていくのが一般的である。すなわち、コンテンツデータがコンテンツ配信システムで公開されたときに最も人気が高い状態になることが多い。
【０００７】
しかしながら、このコンテンツ配信システムでの公開時には、コンテンツデータを保持する端末装置が少ないために、コンテンツデータを保持する特定の端末装置にアクセスが集中してしまう不都合がある。このようにアクセスが集中すると、ネットワークの混雑を来たしてしまう恐れがある。
【０００８】
本発明は、以上の不都合に鑑みてなされたものであり、ネットワーク上に配置された複数の端末装置を有するＰ２Ｐ型のコンテンツ配信システムにおいて、特に、コンテンツデータを公開したときにコンテンツデータを保持する端末装置へのアクセスを有効に制限することができる端末装置及びその情報処理方法等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
以上のような目的を達成するために、本発明は、以下のようなものを提供する。
【００１０】
すなわち、請求項１に記載の発明は、ネットワーク上に配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記端末装置であって、前記ネットワークを介して受信したメッセージが前記コンテンツデータを保持するコンテンツ保持端末装置の所在情報の登録を要求する登録メッセージであるとき、前記登録メッセージに含まれる前記コンテンツ保持端末装置の所在情報を記憶する配信元情報記憶手段と、前記ネットワークを介して受信したメッセージが前記コンテンツデータを取得するための検索メッセージであるとき、前記配信元情報記憶手段に所在情報を記憶した前記コンテンツ保持端末装置の数に応じて、前記メッセージを送信した端末装置が前記コンテンツデータを取得する検索メッセージ応答処理を行うか否かを判定する応答処理可否判定手段と、前記応答処理可否判定手段により前記検索メッセージ応答処理を行うと判定されると、前記検索メッセージ応答処理を行う検索メッセージ応答処理手段とを備えたことを特徴とするものである。
【００１１】
また、請求項２に記載の発明は、請求項１に記載の発明において、前記検索メッセージ応答処理手段は、前記応答処理可否判定手段により前記検索メッセージ応答処理を行うと判定されると、前記配信元情報記憶手段から取り出したコンテンツ保持端末装置の所在情報を、前記検索メッセージを送信した端末装置へ前記ネットワークを介して送信することを特徴とするものである。
【００１２】
また、請求項３に記載の発明は、請求項１に記載の発明において、前記検索メッセージ応答処理手段は、前記応答処理可否判定手段により前記検索メッセージ応答処理を行うと判定されると、前記検索メッセージを送信した端末装置へ前記コンテンツ保持端末装置からコンテンツデータの配信を行わせるコンテンツデータ配信要求メッセージを生成し、前記コンテンツデータ配信要求メッセージを前記コンテンツ保持端末装置へ送信することを特徴とするものである。
【００１３】
また、請求項４に記載の発明は、請求項１から３のいずれか１項に記載の発明において、  前記複数の端末装置のうち一部の端末装置の識別情報と所在情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、前記ネットワークを介して受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づいて、前記受信したメッセージが自端末装置宛であるか否かを判定するメッセージ宛先判定手段と、前記ネットワークを介して受信したメッセージが前記検索メッセージであるとき、要求されたコンテンツの前記コンテンツ保持端末装置の所在情報が前記配信元情報記憶手段に記憶されているか否かを判断する所在情報判断手段とを備え、前記配信元情報記憶手段は、前記ネットワークを介して受信したメッセージが前記登録メッセージであるとき、当該登録メッセージが自端末装置宛であるか否かにかかわらず、前記登録メッセージに含まれる前記コンテンツ保持端末装置の所在情報を記憶し、
要求されたコンテンツの前記コンテンツ保持端末装置の所在情報が前記配信元情報記憶手段に記憶されていると前記所在情報判断手段が判断したとき、前記応答処理可否判定手段が前記検索メッセージ応答処理を行うか否かを判定することを特徴とするものである。
【００１４】
また、請求項５に記載の発明は、請求項４に記載の発明において、前記検索メッセージ応答処理手段により前記検索メッセージ応答処理が行われたとき、前記ルーティングテーブルに基づいて前記送信要求の宛先識別情報に応じた端末装置の所在情報を取り出し、当該所在情報を有する端末装置へ前記検索メッセージ応答処理を行った旨の情報を送信する報知手段を備えたことを特徴とするものである。
【００１５】
また、請求項６に記載の発明は、請求項１から５のいずれか１項に記載の発明において、前記メッセージ宛先判定手段により前記ネットワークを介して受信したメッセージが自端末装置宛ではないと判定されると、前記受信したメッセージの宛先識別情報に基づいて、転送先の端末装置の所在情報を前記ルーティングテーブルから取り出し、前記転送先の端末装置へ前記受信したメッセージを転送するメッセージ転送手段を備え、前記検索メッセージにて要求されたコンテンツの前記コンテンツ保持端末装置の所在情報が前記配信元情報記憶手段に記憶されていないと前記所在情報判断手段が判断したとき、前記メッセージ宛先判定手段が、前記受信したメッセージが自端末装置宛であるか否かを判定し、自端末装置宛でないとき、前記メッセージ転送手段がメッセージを転送することを特徴とするものである。
【００１６】
また、請求項７に記載の発明は、請求項１から６のいずれか１項に記載の発明において、前記応答処理可否判定手段は、前記検索メッセージ応答処理を行うか否かの判定を、前記配信元情報記憶手段に所在情報を記憶した前記コンテンツ保持端末装置の数と、所定期間内に前記検索メッセージ応答処理を行った数とに基づいて行うことを特徴とするものである。
【００１７】
また、請求項８に記載の発明は、請求項１から６のいずれか１項に記載の発明において、前記応答処理可否判定手段は、前記検索メッセージ応答処理を行うか否かの判定を、前記配信元情報記憶手段に所在情報を記憶した前記コンテンツ保持端末装置において同時に前記コンテンツデータを供給することができる数と、所定期間内に前記検索メッセージ応答処理を行った数とに基づいて行うことを特徴とするものである。
【００１８】
また、請求項９に記載の発明は、請求項７又は請求項８に記載の発明において、前記所定期間は、前記配信元情報記憶手段に所在情報を記憶した前記コンテンツ保持端末装置が保持するコンテンツデータのデータサイズに応じて決定される時間であることを特徴とするものである。
【００１９】
また、請求項１０に記載の発明は、コンピュータを、請求項１から９のいずれか１項に記載の端末装置における各手段として機能させるためのプログラムとするものである。
【００２０】
また、請求項１１に記載の発明は、ネットワーク上に分散配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記端末装置の情報処理方法であって、前記ネットワークを介して受信したメッセージが前記コンテンツデータを保持するコンテンツ保持端末装置の所在情報の登録を要求する登録メッセージであるとき、前記登録メッセージに含まれるコンテンツ保持端末装置の所在情報を記憶するステップと、前記ネットワークを介して受信したメッセージが前記コンテンツデータを取得するための検索メッセージであるとき、所在情報を記憶した前記コンテンツ保持端末装置の数に応じて、前記メッセージを送信した端末装置が前記コンテンツデータを取得する検索メッセージ応答処理を行うか否かを判定するステップと、前記検索メッセージ応答処理を行うと判定されると、前記検索メッセージ応答処理を行うステップとを有することを特徴とするものである。
【発明の効果】
【００２１】
請求項１，１０，１１に記載の発明によれば、ネットワークを介して受信したメッセージがコンテンツデータを保持するコンテンツ保持端末装置の所在情報の登録を要求する登録メッセージであるとき、この登録メッセージに含まれるコンテンツ保持端末装置の所在情報を記憶し、その後、ネットワークを介して受信したメッセージがコンテンツデータを取得するための検索メッセージであるとき、このメッセージを送信した端末装置がコンテンツデータを取得する検索メッセージ応答処理を行うか否かを判定し、検索メッセージ応答処理を行うと判定されると、この検索メッセージ応答処理を行うにしたので、コンテンツ保持端末装置の所在情報を検索するときに、コンテンツ保持端末装置へのアクセスを制限して、ネットワークの混雑を抑制することが可能となる。
【００２２】
また、請求項２に記載の発明によれば、検索メッセージ応答処理を行うときには、配信元情報記憶手段から取り出したコンテンツ保持端末装置の所在情報を、検索メッセージを送信した端末装置へネットワークを介して送信するので、検索メッセージを送信した端末装置は、送信されるコンテンツ保持端末装置の所在情報に基づいて、コンテンツ保持端末装置へアクセスしてコンテンツデータを取得することが可能となる。
【００２３】
また、請求項３に記載の発明によれば、検索メッセージ応答処理を行うときには、検索メッセージを送信した端末装置へコンテンツ保持端末装置からコンテンツデータの配信を行わせるので、検索メッセージを送信した端末装置は、効率的にコンテンツデータの取得が可能となる。
【００２４】
また、請求項４に記載の発明によれば、受信したメッセージが登録メッセージであるとき、当該登録メッセージが自端末装置宛であるか否かにかかわらず、登録メッセージに含まれるコンテンツ保持端末装置の所在情報を記憶するので、コンテンツ保持端末装置の所在情報を記憶する端末装置を増加させ、コンテンツ保持端末装置へのアクセス制限を行なう端末装置を分散させることが可能となり、更にネットワークの混雑を抑制することができる。
【００２５】
また、請求項５に記載の発明によれば、検索メッセージの応答処理を行ったとき、ルーティングテーブルに基づいて所在情報を有する端末装置へ検索メッセージ応答処理を行った旨の情報を送信するので、コンテンツ保持端末装置の所在情報を記憶する他の端末装置にその旨を知らせることができ、コンテンツ保持端末装置へのアクセス制限をより効果的に行うことができる。
【００２６】
また、請求項６に記載の発明によれば、検索メッセージの応答処理を行わず、かつこの検索メッセージが自端末装置宛でないときには通知要求のメッセージを転送するので、コンテンツ保持端末装置の所在情報を保持する他の端末装置と協力して、コンテンツ保持端末装置へのアクセス制限をより効果的に行うことができる。
【００２７】
また、請求項７に記載の発明によれば、所在情報を記憶したコンテンツ保持端末装置の数と、所定期間内に検索メッセージ応答処理を行った数とに基づいて、検索メッセージ応答処理を行うかどうかを判定するので、検索メッセージ応答処理を行うかどうかの判定を極めて容易に行うことができる。
【００２８】
また、請求項８に記載の発明によれば、所在情報を記憶したコンテンツ保持端末装置において同時にコンテンツデータの供給することができる数と、所定期間内に検索メッセージ応答処理を行った数とに基づいて、検索メッセージ応答を行うかどうかを判定するので、所在情報を記憶しているコンテンツ保持端末装置コンテンツデータの供給能力に応じてコンテンツ保持端末装置へのアクセス制限を行うことができ、より適切なアクセス制限を行うことができる。
【００２９】
また、請求項９に記載の発明によれば、所定期間を、所在情報を記憶したコンテンツ保持端末装置が保持するコンテンツデータのデータサイズに応じて決定される時間としたので、コンテンツデータのデータサイズが異なる場合でも、より適切なアクセス制限を行うことができる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信する情報を音楽データや映像データなどのコンテンツデータとするＰａｓｔｒｙ型のコンテンツ配信システムに対して本発明を適用した場合の実施形態である。
【００３１】
［１．コンテンツ配信システムＳの構成等］
まず始めに、図１を参照して、情報配信システムとしてのコンテンツ配信システムＳの概要構成等について説明する。図１は、本実施形態に係るコンテンツ配信システムＳにおける各端末装置の接続態様の一例を示す図である。このコンテンツ配信システムＳは、ネットワーク上に分散配置された複数の端末装置から構成され、端末装置間でコンテンツデータの送受信を行うものである。
【００３２】
図１の下部枠101内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界のネットワーク）８が構築されている。
【００３３】
コンテンツ配信システムＳは、図１の上部枠100内に示すように、ネットワーク８を介して相互に接続された複数の端末装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・を備えて構成され、ピアツーピア（Ｐ２Ｐ）方式のネットワークシステムとなっている。各端末装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・には、端末装置を示す情報としての固有の製造番号（例えば、ＭＡＣアドレス）及びＩＰ（Internet Protocol）アドレスが割り当てられている。なお、製造番号及びＩＰアドレスは、複数の端末装置間で重複しないものである。また、以下の説明において、端末装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・のうち何れかの端末装置を示す場合には、便宜上、端末装置１という場合がある。
【００３４】
［１．１．ＤＨＴの概要］
以下に、本実施形態に係る分散ハッシュテーブル（以下、「ＤＨＴ」（Distributed Hash Table）と呼ぶ。）を利用したアルゴリズムについて説明する。
【００３５】
上述したコンテンツ配信システムＳにおいて、当該端末装置１同士が、互いに情報をやり取りする際には、お互いの所在情報であるＩＰアドレスを知っていなければならない。
【００３６】
例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク８に参加している各端末装置１が互いにネットワーク８に参加している全ての端末装置１のＩＰアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全ての端末装置１のＩＰアドレスを覚えておくのは現実的ではない。また、任意の端末装置１の電源が頻繁にＯＮ或いはＯＦＦとすると、各端末装置１において記憶している当該任意の端末装置１のＩＰアドレスの更新が頻繁になり、運用上困難となる。
【００３７】
そこで、１台の端末装置１では、ネットワーク８に参加している全ての端末装置１のうち、必要最低限の一部の端末装置１のＩＰアドレスだけを記憶しておき、ＩＰアドレスを記憶していない端末装置１については、各端末装置１間で互いに情報を転送し合うことによりコンテンツを届けるシステムが考案されている。
【００３８】
このようなシステムの一例として、ＤＨＴを利用したアルゴリズムによって、図１の上部枠100内に示すような、オーバーレイネットワーク９が構築されることになる。つまり、このオーバーレイネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するネットワークを意味する。
【００３９】
本実施形態においては、ＤＨＴを利用したアルゴリズムによって構築されたオーバーレイネットワーク９を前提としており、このオーバーレイネットワーク９上に配置された端末装置１を、コンテンツ配信システムＳに参加（言い換えれば、オーバーレイネットワーク９に参加）している端末装置１という。
【００４０】
コンテンツ配信システムＳに参加している各端末装置１の識別番号である端末ＩＤとして、それぞれの端末装置１毎にユニークな番号（固有番号）を付与する。この番号は、端末装置の最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、２128（２の128乗）台の端末装置を運用できる。
【００４１】
より具体的には、各端末装置１の端末ＩＤは、それぞれの端末装置１のＩＰアドレス或いは製造番号等の端末装置１毎に固有の値を、共通のハッシュ関数（ハッシュアルゴリズム）によりハッシュ化して得たハッシュ値であり、一つのＩＤ空間に偏りなく分散して配置されることになる。
【００４２】
このように共通のハッシュ関数によりハッシュ化されて求められた端末ＩＤは、当該ＩＰアドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、本実施形態では、ＩＰアドレス（グローバルＩＰアドレス）を共通のハッシュ関数によりハッシュ化した値を端末ＩＤとする。
【００４３】
また、コンテンツ配信システムＳに参加している複数の端末装置１には、一の端末装置１から他の端末装置１に配信される共用情報としてのコンテンツデータ（例えば、音楽データ、映画データ、文書データ等）が分散して記憶されているが、当該コンテンツデータにも、それぞれのコンテンツデータ毎の固有の識別番号（以下、「コンテンツＩＤ」と呼ぶ。）を付与する。
【００４４】
そして、当該コンテンツＩＤは、端末ＩＤと同様の長さ（例えば、128bit等）とし、コンテンツの名称（コンテンツタイトル）が、上記端末ＩＤを得るときと共通のハッシュ関数によりハッシュ化され（つまり、端末装置１のＩＰアドレスのハッシュ値と同一のＩＤ空間に配置）、そのハッシュ値と最も近い（例えば、上位桁がより多く一致する）端末ＩＤを有する端末装置１が、後述するルート端末装置として、コンテンツデータを保持する端末装置１（以下、「コンテンツ保持端末装置」と呼ぶ。）へのリンク情報、すなわちコンテンツ保持端末装置の所在情報であるＩＰアドレスを保持する。
【００４５】
なお、異なるコンテンツデータであっても、同一のキーワード（例えば、コンテンツの名称）になる場合が想定されるが、この場合、同じハッシュ値になってしまうので、これを避けるために、ハッシュ化するキーワードを、例えば、コンテンツの概要情報（あらすじ）、コンテンツの名称と著作権情報（例えば、出演者名、監督名、原作者名、歌手名、作曲者名、又は作詞者名等）の組み合わせとすればよい。
【００４６】
このように、各端末装置１及び各コンテンツデータに付与された端末ＩＤ及びコンテンツＩＤは、共通のハッシュ関数によって生成したため、図２に示す如く、同一のリング状のＩＤ空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は32bitで端末ＩＤ及びコンテンツＩＤを付与し、図示したものである。図中丸点は端末ＩＤを、四角形はコンテンツＩＤを示し、反時計回りでＩＤが増加するものとする。
【００４７】
次に、どの端末装置１に、どのコンテンツデータが管理されるかを、一定の規則の下に決定する。本実施形態においては、「あるコンテンツＩＤを有するコンテンツデータを管理する端末装置１は、そのコンテンツＩＤに近い端末ＩＤを有する端末装置１である」という規則とする。
【００４８】
ここで、「近い」ことの定義は、当該コンテンツＩＤを超えず、コンテンツＩＤと端末ＩＤとの差が一番少ないものとするが、実際には、各コンテンツデータの管理を各端末装置１に割り振る際に、一貫していれば他の定義でもよい。
【００４９】
図２に示す例では、この定義に基づいて、コンテンツＩＤａは、当該コンテンツＩＤａに近い端末ＩＤ（以下、「端末ＩＤａ」と呼ぶ。）を有する端末装置１に管理され、コンテンツＩＤｂは、当該コンテンツＩＤｂに近い端末ＩＤ（以下、「端末ＩＤｂ」と呼ぶ。）を有する端末装置１に管理され、コンテンツＩＤｃは、当該コンテンツＩＤｃに近い端末ＩＤ（以下、「端末ＩＤｃ」と呼ぶ。）を有する端末装置１に管理される。
【００５０】
なお、ここで「管理」というのは、コンテンツデータを保持していることを意味するのではなく、「コンテンツデータが何れの端末装置１に保持されているかを知っている」ことを意味する。すなわち、図２において、端末ＩＤａを有する端末装置１は、コンテンツＩＤａを有するコンテンツデータが何れの端末装置１に保持されているかを知っており、端末ＩＤｂを有する端末装置１及び端末ＩＤｃを有する端末装置１も同様にそれぞれコンテンツＩＤｂを有するコンテンツデータ及びコンテンツＩＤｃを有するコンテンツデータが何れの端末装置１に保持されているかを知っている、ということになる。
【００５１】
このように、あるコンテンツデータが何れの端末装置１に保持されているかを知っている端末装置１を、そのコンテンツデータのルート端末装置と呼ぶ。つまり、端末ＩＤａを有する端末装置１は、コンテンツＩＤａを有するコンテンツデータのルート端末装置であって、端末ＩＤｂを有する端末装置１は、コンテンツＩＤｂを有するコンテンツデータのルート端末装置であって、端末ＩＤｃを有する端末装置１は、コンテンツＩＤｃを有するコンテンツデータのルート端末装置である。
【００５２】
また、本実施形態においては、コンテンツデータの管理をルート端末装置が主として行うが、その他の端末装置１においても後述するキャッシュ端末装置としてコンテンツデータの管理を行うようにしており、この点後述する。
【００５３】
また、コンテンツ配信システムＳには、図１に示すように、コンテンツ配信システムＳにコンテンツデータを投入する機能、すなわちコンテンツ配信システムＳ内の端末装置１をコンテンツ保持端末装置とするためにコンテンツデータを端末装置１へ配布する機能と、カタログリストを生成して端末装置１へ提供する機能とを有するコンテンツ投入装置１０が配置されている。
【００５４】
［１．２．ルーティングテーブルの作成］
ここで、図３を参照して、ＤＨＴで用いるルーティングテーブルの作成手法の一例について説明する。図３は、ＤＨＴによってルーティングテーブルが作成される様子の一例を示す図である。
【００５５】
まず、図３（ａ）に示す如く、ＩＤ空間を幾つかのエリアに分割する。実際には、16分割程度が良く用いられるが、説明を簡単にするためここでは４分割とし、ＩＤをビット長８bitの４進数で表すことにする。そして、端末装置１Ｎの端末ＩＤを「1133」とし、この端末装置１Ｎのルーティングテーブルを作る例について説明する。
【００５６】
（レベル１のルーティング）
まず、ＩＤ空間を４分割とした場合、それぞれのエリアは４進数で表すと最大桁が異なる４つのエリア「0XXX」「1XXX」、「2XXX」、「3XXX」（Ｘは０から３の自然数、以下同様。）で分けられる。端末装置１Ｎは、当該端末装置１Ｎ自身の端末ＩＤが「1133」であるため、図３（ａ）中左下「1XXX」のエリアに存在することになる。そして、端末装置１Ｎは、参加要求を受信した端末装置１から送信された情報等から、自分の存在するエリア（すなわち、「1XXX」のエリア）以外のエリア（すなわち、「0XXX」のエリア、「2XXX」のエリア、「3XXX」のエリア）に存在する端末装置１を選択し、当該端末装置１の端末ＩＤ及びＩＰアドレスをレベル１のテーブルに記憶する。図４がレベル１のテーブルの一例である。このテーブルでは、「0XXX」のエリアの端末ＩＤとして「0100」、「2XXX」のエリアの端末ＩＤとして「2133」、「3XXX」のエリアの端末ＩＤとして「3213」がそれぞれ選択されている状態を示している。なお、当該レベル１の２列目は端末装置１Ｎ自身を示しているため、ＩＰアドレスを記憶する必要はない。
【００５７】
（レベル２のルーティング）
次に、図３（ｂ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリア「1xxx」を更に４分割し、更に４つのエリア「10XX」、「11XX」、「12XX」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア「11XX」以外のエリアに存在する端末装置１を適当に選択し、当該端末装置１の端末ＩＤ及びＩＰアドレスをレベル２のテーブルに記憶する。図４がレベル２のテーブルの一例である。このテーブルでは、「10XX」のエリアの端末ＩＤとして「1003」、「12XX」のエリアの端末ＩＤとして「1221」が、「13XX」のエリアの端末ＩＤとして「1313」がそれぞれ選択されている状態を示している。なお、レベル２の２列目は端末装置１Ｎが存在するエリア「11XX」であり、後述するレベル３にてテーブル化されるためＩＰアドレスを記憶していない。また、上記エリアに端末装置１が存在しない場合には、端末ＩＤ及びＩＰアドレスの欄は空白となる。
【００５８】
（レベル３のルーティング）
更に、上記ルーティングによって４分割したエリアのうち、自分の存在するエリア「11XX」を更に４分割し、更に４つのエリア「110X」「111X」、「112X」、「113X」と分ける。そして、上記と同様に自分の存在するエリア「113X」以外のエリアに存在する端末装置１を適当に選択し、当該端末装置１の端末ＩＤ及びＩＰアドレスをレベル３のテーブルに記憶する。図４がレベル３のテーブルの一例である。レベル３の４列目は端末装置１Ｎが存在するエリアであり、後述するレベル４にてテーブル化されるためＩＰアドレスを記憶していない。また、上記エリアに端末装置１が存在しない場合には、端末ＩＤ及びＩＰアドレスの欄は空白となる。
【００５９】
このようにして、レベル４まで同様にルーティングテーブルを図４に示す如く作成することにより、８bitのＩＤ全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
【００６０】
以上説明した手法に従って作成したルーティングテーブルを、全ての端末装置１が夫々作成して所有することになる。このように、各端末装置１は、コンテンツ配信システムＳにおける複数の端末装置１のうち一部の端末装置１の識別情報である端末ＩＤ及びＩＰアドレスを関連付けたルーティングテーブルを有している。
【００６１】
［１．３．インデックステーブルへの登録方法］
このような構成のコンテンツ配信システムＳの中で、例えば、ある端末装置１が新しいコンテンツデータを、コンテンツ配信システムＳ上の他の端末装置１から検索可能となるように公開する際の手法について述べる。
【００６２】
コンテンツ投入装置１０から配布されたコンテンツデータを記憶してコンテンツ保持端末装置となった端末装置１は、記憶したコンテンツデータのコンテンツＩＤと同じ端末ＩＤを持つ端末装置１に向けて（この端末装置１が実在するか否かはこの時点ではわからない。）、コンテンツデータを保持するコンテンツ保持端末装置の所在情報等の登録を要求するメッセージ（以下、「登録メッセージ」とする。）を送信する。
【００６３】
具体的には、図５（ａ），（ｂ）に示すように、例えば、端末装置１ＭがコンテンツＩＤ「3020」のコンテンツ保持端末装置となったとき、端末装置１Ｍは、コンテンツＩＤ「3020」を宛先識別情報とした登録メッセージを生成し、この登録メッセージを自己が保持しているルーティングテーブルを参照して送信する。端末装置１Ｍが、図４の例と同様のルーティングテーブルを持っていたとすると、コンテンツＩＤ「3020」は「3XXX」のエリアであるため、当該「3XXX」のエリアに属す端末装置１のうち、ＩＰアドレスを知っている（すなわち、自己が保持しているルーティングテーブルにＩＰアドレスが記憶されている）端末装置１Ａ（端末ＩＤ「3213」）に対して登録メッセージを送信する。このように、登録メッセージはコンテンツに対応する固有の識別情報であるコンテンツＩＤを含むものであり、このコンテンツＩＤは登録メッセージにおいて宛先識別情報として用いられる。
【００６４】
次に、登録メッセージを受信した端末装置１Ａは、この登録メッセージが自端末装置１Ａ宛のメッセージであるか否かを判定する。自端末装置１Ａ宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報が自端末装置１Ａの識別情報である端末ＩＤと近いか否かが判定される。即ち、宛先識別情報に対して、端末装置１Ａ自身が保持しているルーティングテーブル（テーブルの値は図示しない）に記憶されている端末装置１の端末ＩＤから、一番近い端末装置１の端末ＩＤが、自身であるか他の端末装置１であるかを判定する。
【００６５】
そして、自端末装置１Ａの端末ＩＤよりも他の端末装置１の端末ＩＤの方が、宛先識別情報に近いため、端末装置１Ａは、当該端末装置１Ａ自身が保持しているルーティングテーブルのレベル２のテーブルを参照して、「30XX」のエリアに属す端末装置１のうち、ＩＰアドレスを知っている端末装置１Ｂ（端末ＩＤ「3031」）に対して登録メッセージを転送する。
【００６６】
このように、コンテンツＩＤの桁を上から順に適合していく要領で登録メッセージの転送が進み、最終的に当該コンテンツデータを管理する端末装置１Ｃ、すなわちルート端末装置に辿り着くと、当該端末装置１自身がそのコンテンツのルート端末装置となるべきだと判断し、当該登録メッセージに含まれる当該コンテンツＩＤ及びコンテンツ保持端末の端末ＩＤやＩＰアドレス等（以下、これらを「インデックス情報」と呼ぶ。）をインデックス情報として記憶する。そして、後述するように、他の端末装置から検索メッセージを受信すると、検索メッセージ応答処理を行う。この検索メッセージ応答処理は、検索メッセージを送信した端末装置１へコンテンツ保持端末装置の所在情報を後述するインデックステーブルから選択して通知することによって行うものである。
【００６７】
また、本実施形態では、登録メッセージがルート端末装置へ転送される経路の途中の端末装置１でも、登録メッセージに含まれるインデックス情報をキャッシュとして保持するように構成されており、このような端末装置１をキャッシュ端末装置という。これにより、ルート端末装置がコンテンツを検索するための検索メッセージを受信するより前に、キャッシュ端末装置に検索メッセージが転送された時点でキャッシュ端末装置によって、検索メッセージ応答処理を行うことが可能となる。
【００６８】
登録メッセージを転送していく際には、通常、上述のようにキャッシュ端末装置が登録メッセージに基づいたインデックス情報を保持していく。
【００６９】
すなわち、コンテンツ保持端末装置である端末装置１Ｍがインデックス情報を含む登録メッセージを送信すると、これを受け取った端末装置１Ａは、当該インデックス情報を保持することによりキャッシュ端末装置（１）として機能する。キャッシュ端末装置（１）は、当該登録メッセージを転送する。当該登録メッセージを受け取った端末装置１Ｂは、当該インデックス情報を保持することによりキャッシュ端末装置（２）として機能する。キャッシュ端末装置（２）は、当該登録メッセージを転送する。当該登録メッセージを受け取った端末装置１Ｃは、当該インデックス情報を保持することによりルート端末装置として機能する。このように端末装置１Ａ，１Ｂ，１Ｃは登録メッセージに含まれるインデックス情報を保持することになる。
【００７０】
ところで、ルート端末装置やキャッシュ端末装置におけるインデックス情報の保持は、図６に示すようなインデックステーブルにより行われる。図６はルート端末装置１Ｃにおけるインデックステーブルの例を示したものであり、自端末装置１が管理対象であるコンテンツＩＤ「3020」のコンテンツに関するコンテンツ保持端末装置の端末ＩＤ、ＩＰアドレス、紹介時間などを記憶する他、キャッシュ端末装置としてコンテンツＩＤ「3021」のコンテンツに関するコンテンツ保持端末装置の端末ＩＤ、ＩＰアドレス、紹介時間などを記憶している。なお、インデックステーブルには、コンテンツＩＤ、コンテンツ保持端末装置の端末ＩＤやＩＰアドレスの他、コンテンツデータのサイズや著作権情報なども記憶することができる。また、紹介時間とは、後述する検索メッセージを受信したときに、コンテンツ保持端末装置に所在情報を送信したときの時間であり、この送信を行うたびに更新されるものである。
【００７１】
［１．４．コンテンツデータの取得方法］
次に、図７及び図８を参照して、コンテンツデータを保持している端末装置１の検索方法の一例について説明する。図７は、ＤＨＴによりコンテンツデータを保持している端末装置１が検索される様子の一例を示す図である。
【００７２】
ここでは、端末ＩＤ「1133」の端末装置１Ｎが、コンテンツＩＤ「3020」を有するコンテンツデータを探す際の手順について説明する。なお、以下このようにコンテンツデータを探し、コンテンツデータの送信を要求する端末装置１をリクエスト端末装置と呼ぶ。また、端末装置１Ａ，１Ｂは、コンテンツＩＤ「3020」のキャッシュ端末装置であるとし、端末装置１Ｃは、コンテンツＩＤ「3020」のルート端末装置であるとする。
【００７３】
リクエスト端末装置１Ｎは、コンテンツＩＤ「3020」を宛先識別情報とし、自己が保持しているルーティングテーブルを参照して、コンテンツ保持端末装置の識別情報の送信要求（以下、「検索メッセージ」と呼ぶ。）を送信する。リクエスト端末装置１Ｎが、図４の例と同じ値のルーティングテーブルを持っていたとすると、コンテンツＩＤ「3020」は「3XXX」のエリアであるため、当該「3XXX」のエリアに属す端末装置１のうち、ＩＰアドレスを知っている（すなわち、自己が保持しているルーティングテーブルにＩＰアドレスが記憶されている）端末装置１Ａ（端末ＩＤ「3213」）に対して検索メッセージを送信する。このように、検索メッセージはコンテンツに対応する固有の識別情報であるコンテンツＩＤを含むものであり、このコンテンツＩＤは検索メッセージにおいて宛先識別情報として用いられる。
【００７４】
図７に示す例によれば、端末ＩＤが「3213」である端末装置１ＡのＩＰアドレスがリクエスト端末装置１Ｎのルーティングテーブル（図４参照。）に記憶されているので、リクエスト端末装置１Ｎは、端末ＩＤが「3213」である端末装置１Ａに対して検索メッセージを送信する。
【００７５】
次に、検索メッセージを受信した端末装置１Ａは、この検索メッセージによる検索対象のコンテンツ保持端末装置の所在情報インデックステーブルに記憶されているか否かを判断する。すなわち、端末装置１Ａは、検索メッセージに含まれるコンテンツＩＤに基づいて、このコンテンツＩＤ対応するコンテンツデータを保持するコンテンツ保持端末装置の所在情報が記憶されているか否かを判断する。
【００７６】
端末装置１Ａは、コンテンツＩＤ「3020」のキャッシュ端末装置であることから、検索メッセージの検索対象であるコンテンツ保持端末装置の所在情報を記憶していると判断し、検索メッセージ応答処理を行うか否かを判定する。
【００７７】
ここで、端末装置１Ａは、検索メッセージ応答処理を行うか否かを、ルーティングテーブルに記憶された情報に基づいて行う。具体的には、ルーティングテーブルに所在情報を記憶したコンテンツ保持端末装置の数に応じてその判定を行う。すなわち、ルーティングテーブルに所在情報を記憶したコンテンツ保持端末装置の数に応じて検索メッセージ応答処理数の上限値（以下、単に「上限値」と呼ぶ場合がある）を決定し、所定時間前から現在までの間に行った検索メッセージ応答処理の数（以下、「最近の検索メッセージ応答処理数」と呼ぶ。）が上限値以上となっていないときに検索メッセージ応答処理を行うと判定し、上限値以上となっているときに検索メッセージ応答処理を行わないと判定する。
【００７８】
ここで、端末装置１Ａにおいては、図７に示すように、検索メッセージ応答処理数の上限値が「２」であり、最近の検索メッセージ応答処理数が「２」となっていることから、検索メッセージ応答処理を行わずに、端末装置１Ａは、この検索メッセージが自端末装置１Ａ宛のメッセージであるか否かを判定する。自端末装置１Ａ宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報が自端末装置１Ａの識別情報である端末ＩＤと近いか否かが判定される。即ち、宛先識別情報に対して、端末装置１Ａ自身が保持しているルーティングテーブル（テーブルの値は図示しない）に記憶されている端末装置１の端末ＩＤから、一番近い端末装置１の端末ＩＤが、自身であるか他の端末装置１であるかを判定する。
【００７９】
そして、自端末装置１Ａの端末ＩＤよりも他の端末装置１の端末ＩＤの方が、宛先識別情報に近いため、端末装置１Ａは、当該端末装置１Ａ自身が保持しているルーティングテーブルのレベル２のテーブルを参照して、「30XX」のエリアに属す端末装置１のうち、ＩＰアドレスを知っている端末装置１Ｂ（端末ＩＤ「3031」）に対して検索メッセージを転送する。
【００８０】
その後、検索メッセージを受信した端末装置１Ｂは、この検索メッセージの検索対象であるコンテンツ保持端末装置の所在情報がインデックステーブルに記憶されているか否かを判断する。
【００８１】
端末装置１Ｂは、コンテンツＩＤ「3020」のキャッシュ端末装置であるため、検索メッセージの検索対象であるコンテンツ保持端末装置の所在情報を記憶していると判断し、検索メッセージ応答処理を行うか否かを判定する。
【００８２】
ここで、端末装置１Ｂにおいては、検索メッセージ応答処理数の上限値が「８」であり、最近の検索メッセージ応答処理数が「６」となっていることから、端末装置１Ｂは、検索メッセージ応答処理が可能であると判定し、インデックステーブルから検索メッセージの検索対象であるコンテンツ保持端末装置の所在情報を複数（一つしかない場合には一つだけ）取り出す。そして、端末装置１Ｂは、このように取り出したコンテンツ保持端末装置の所在情報をリクエスト端末装置１Ｎへ通知する。コンテンツ保持端末装置の所在情報の通知を受けるとリクエスト端末装置１Ｎは、これらのコンテンツ保持端末装置のうち任意の一つのコンテンツ保持端末装置を選択してコンテンツデータの送信を要求する。
【００８３】
このように、本実施形態における端末装置１では、ネットワーク８を介して受信したメッセージが検索メッセージであるとき、所在情報を記憶したコンテンツ保持端末装置の数に応じて、検索メッセージ応答処理を行うか否かを判定し、検索メッセージ応答処理を行うと判定すると、検索メッセージ応答処理を行うようにしたので、コンテンツ保持端末装置の所在情報を検索するときに、コンテンツ保持端末装置へのアクセス制限をすることで、ネットワークの混雑を抑制することが可能となる。すなわち、コンテンツ配信システムＳにおけるコンテンツ配信能力に応じたアクセス制限が可能となる。
【００８４】
また、端末装置１Ｂは、検索メッセージに対し、検索メッセージ応答処理を行ったとき、ルーティングテーブルに基づいて、コンテンツＩＤ「3020」に端末ＩＤが近い所在情報を有する端末装置１Ｃへ検索メッセージ応答処理を行った旨のメッセージ（以下、「応答処理済メッセージ」とする。）を送信する。この応答処理済メッセージは、コンテンツＩＤ「3020」を宛先識別情報として、ＤＨＴルーティングにより送信されるものである。端末装置１Ｃは、この応答処理済メッセージを受信すると、自端末装置１における最近の検索メッセージ応答処理数を１つだけインクリメントする。
【００８５】
このように、リクエスト端末装置の検索メッセージに対して、検索メッセージ応答処理を行った端末装置１Ｂからルート端末装置までのＤＨＴルーティング経路に検索メッセージ応答処理済メッセージを送信することにより、他のキャッシュ端末装置やルート端末装置は、検索メッセージに対して検索メッセージ応答処理が行われたことを把握することができるので、コンテンツ保持端末装置へのアクセス制限をより効果的に行うことができる。
【００８６】
図８は、端末装置１Ａ，１Ｂ，１Ｃのいずれもが、最近の検索メッセージ応答処理数が検索メッセージ応答処理数の上限値以上となっている状態で、リクエスト端末装置１Ｎが検索メッセージを送信した場合の例を示している。
【００８７】
この例では、リクエスト端末装置１Ｎから送信された検索メッセージに対して、キャッシュ端末装置である端末装置１Ａ，１Ｂは、自端末装置における最近の検索メッセージ応答処理数が上限値以上となっているため、検索メッセージ応答処理を行わずにこの検索メッセージをルート端末装置である端末装置１Ｃへ転送する。端末装置１Ｃにおいては、同様に最近の検索メッセージ応答処理数が上限値以上となっているため、検索メッセージ応答処理を行わず、リクエスト端末装置１Ｎに対して、アクセス不許可メッセージを送信する。リクエスト端末装置１Ｎでは、アクセス不許可メッセージするとコンテンツデータの取得処理を中止する。
【００８８】
このように、各端末装置において最近の検索メッセージ応答処理数が検索メッセージ応答処理数の上限値以上となると、検索メッセージ応答処理の制限を行なうようにしてるため、ネットワークの混雑を抑制することが可能となる。
【００８９】
［２．端末装置１の構成等の説明］
次に、図面を参照して、端末装置１の構成及び動作について説明する。図９は、本実施形態に係るコンテンツ配信システムＳにおける端末装置１の概略構成を示す図である。
【００９０】
端末装置１は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能であり、図９に示すように、ＣＰＵ（Central Processing Unit）１０２と、各種プログラム等を記憶する書き換え可能な主記憶装置としての第１記憶部１０３と、各種データ等を記憶するＨＤＤ（Hard Disk Drive）等から構成された第２記憶部１０４と、ルータ３０ａを介してネットワーク８に参加している他の端末装置１との間で通信を行うためのネットワークインターフェイス１０５と、ユーザによって端末装置１を遠隔操作するために所定の赤外線信号を送信及び受信するリモコン１０６と、このリモコン１０６と赤外線により通信を行うための赤外線ポート１０７と、赤外線ポート１０７を制御する周辺機器制御チップ１０８と、ＣＰＵ１０２の制御によりイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込み、このビデオメモリに書き込んだデータを後述の内蔵ディスプレイ１１０に表示するビデオチップ１０９と、内蔵ディスプレイ１１０と、ＦＭ音源やＷａｖｅ  Ｔａｂｌｅ音源などの音源を有し、オーディオ信号を内蔵スピーカ１１２に出力することによって内蔵スピーカ１１２から音波を出力させる音源チップ１１１と、内蔵スピーカ１１２とを備えて構成され、これらの各種構成要素はシステムバス１０１を介して相互に接続されている。なお、本実施形態においては、ＣＰＵ１０２と第１記憶部１０３とで制御部１１３を構成している。
【００９１】
（第１記憶部１０３について）
また、第１記憶部１０３には、端末装置１のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム（ＯＳ）プログラム１１４、内蔵ディスプレイ１１０の制御等を行うための画面制御プログラム１１５、コンテンツ保持端末装置として機能する他の端末装置１から送信されるコンテンツデータを受信し、また自端末装置がコンテンツ保持端末装置として機能するときには第２記憶部１０４に記憶したコンテンツデータを配信するためのコンテンツ処理プログラム１１６、他の端末装置とメッセージの送受信を行うためのメッセージ処理プログラム１１７、配信されたコンテンツデータの再生等を行うための音楽デコーダプログラム１１８等を記憶しており、これらはＣＰＵ１０２によって読み出され、ＣＰＵ１０２によってこれらのプログラムに従った機能が実行される。また、第１記憶部１０３には、更にインデックステーブル（図６参照）の情報を記憶するためのインデックステーブル記憶領域１１９（配信元情報記憶手段の一例に相当）やルーティングテーブル（図４参照）のを記憶するためのルーティングテーブル記憶領域１２０（ルーティングテーブル記憶手段の一例に相当）が設けられている。
【００９２】
ここで、ＯＳプログラム１１４は、ＣＰＵ１０２によって読み出されて実行されることにより、リモコン１０６の入出力に関する機能や、第１記憶部１０３や第２記憶部１０４などのメモリ管理等の端末装置１であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム１１４がＣＰＵ１０２によって実行された状態で、上述の画面制御プログラム１１５、コンテンツ処理プログラム１１６、メッセージ処理プログラム１１７、音楽デコーダプログラム１１８等が第１記憶部１０３から読み出されて実行される。
【００９３】
なお、ＯＳプログラム１１４、画面制御プログラム１１５、コンテンツ処理プログラム１１６、メッセージ処理プログラム１１７、音楽デコーダプログラム１１８等は、例えば、ネットワーク８に接続されたサーバ等から、ネットワークインターフェイス１０５を介して、第１記憶部１０３にダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、第１記憶部１０３に読み込まれるようにしてもよい。
【００９４】
（第２記憶部１０４について）
第２記憶部１０４には、コンテンツ投入装置１０等から配信されたコンテンツデータを記憶するコンテンツデータ記憶手段として機能するコンテンツデータ記憶領域等を有している。
【００９５】
（制御部１１３について）
制御部１１３は、上述のようにＣＰＵ１０２と第１記憶部１０３とから構成され、ＣＰＵ１０２が第１記憶部１０３に記憶された各種プログラム１１４〜１１８を読み出して実行することにより、端末装置１全体を統括制御し、かつ、後述する表示制御手段、コンテンツデータ取得要求検出手段、コンテンツデータ取得手段、コンテンツデータ送信手段、コンテンツデータ再生手段、登録メッセージ送信手段、コンテンツ保持端末情報取得手段、所在情報判断手段、応答処理可否判定手段、検索メッセージ応答処理手段、報知手段、メッセージ宛先判定手段、メッセージ転送手段、デコード手段等として機能するようになっている。
【００９６】
なお、ＣＰＵ１０２が画面制御プログラム１１５を実行することによって、表示制御手段等として、またＣＰＵ１０２がコンテンツ処理プログラム１１６を実行することによって、コンテンツデータ取得要求検出手段、コンテンツデータ取得手段、コンテンツデータ送信手段、コンテンツデータ再生手段等として、またＣＰＵ１０２がメッセージ処理プログラム１１７を実行することによって、登録メッセージ送信手段、コンテンツ保持端末情報取得手段、所在情報判断手段、応答処理可否判定手段、検索メッセージ応答処理手段、報知手段、メッセージ宛先判定手段、メッセージ転送手段等として、またＣＰＵ１０２が音楽デコーダプログラム１１８を実行することによって、デコード手段等として、それぞれ機能するようになっている。
【００９７】
（表示制御手段について）
表示制御手段は、ビデオチップ１０９及び内蔵ディスプレイ１１０を制御して、各種の映像情報（画像情報）を表示させる機能を有している。すなわち、表示制御手段は、内蔵ディスプレイ１１０にどのように映像を表示させるかを制御する。
【００９８】
（コンテンツデータ取得要求検出手段について）
コンテンツデータ取得要求検出手段は、ユーザによるコンテンツデータの取得要求操作を検出する。例えば、コンテンツ投入装置１０から端末装置１が取得したカタログリストが表示制御手段によって内蔵ディスプレイ１１０に表示されているときに、端末装置１のユーザがリモコン１０６を操作し、所望のコンテンツ名称をユーザが選択することによってコンテンツデータの取得要求操作がなされ、この操作をコンテンツデータ取得要求検出手段によって検出する。
【００９９】
（コンテンツデータ取得手段について）
コンテンツデータ取得手段は、ネットワークインターフェイス１０５を介して受信したメッセージがコンテンツ投入装置１０からのコンテンツデータの保持要求であるときに、このコンテンツデータをコンテンツ投入装置１０から取得する。そして、取得したコンテンツデータをコンテンツデータ記憶手段としての第２記憶部１０４に記憶する。
【０１００】
また、コンテンツデータ取得手段は、コンテンツデータ取得要求検出手段によってユーザによるコンテンツデータの取得要求操作を検出し、他の端末装置１からコンテンツデータを取得するときには、取得しようとするコンテンツデータを保持するコンテンツ保持端末装置の所在情報を検索するための検索メッセージを生成する。検索メッセージは、上述のように要求するコンテンツデータの識別情報であるコンテンツＩＤを宛先識別情報とし、自端末装置の識別情報である端末ＩＤを要求元識別情報としたメッセージである。コンテンツデータ取得手段は、取得しようとするコンテンツデータのコンテンツ名称をカタログリストから取り出し、取り出したコンテンツ名称を端末ＩＤを得るときと共通のハッシュ関数によりハッシュ化することによってコンテンツＩＤを決定する。なお、コンテンツ投入装置１０において予めカタログリストにコンテンツデータに対応するコンテンツＩＤを含ませることにしてもよい。
【０１０１】
このようにコンテンツデータ取得手段は、決定したコンテンツＩＤ或いはカタログリストに含まれるコンテンツ名称に基づいて生成したコンテンツＩＤを宛先識別情報とした検索メッセージを生成する。その後、ルーティングテーブルに記憶された端末装置１の識別情報から送信先端末装置を選択して、生成した検索メッセージを送信先端末装置へ転送する。すなわち、ルーティングテーブルに記憶された端末装置１の端末ＩＤのうち、宛先識別情報に近い端末ＩＤを選択し、このように選択した端末ＩＤに対応する端末装置１のＩＰアドレスを知り、そのＩＰアドレスの端末装置１に検索メッセージを送信する。
【０１０２】
コンテンツデータ取得手段は、送信した検索メッセージに対してコンテンツ保持端末装置から送信される当該コンテンツ保持端末装置の所在情報を受信し、この情報に基づいてコンテンツ保持端末装置に対して取得要求操作に応じたコンテンツデータを要求する。この要求に応じてコンテンツ保持端末装置からコンテンツデータが配信される。コンテンツデータ取得手段は、配信されるコンテンツデータを受信し、第２記憶部１０４に記憶する。
【０１０３】
（登録メッセージ送信手段について）
登録メッセージ送信手段は、コンテンツ投入装置１０から受信したコンテンツデータをコンテンツデータ記憶手段としての第２記憶部１０４に記憶したとき、或いは検索メッセージによって他の端末装置１からコンテンツデータを取得したとき、当該コンテンツデータの識別情報であるコンテンツＩＤを宛先識別情報とし、自端末装置の識別情報である端末ＩＤ及びＩＰアドレスとを含む登録メッセージを生成する。また、他のコンテンツ保持端末装置からコンテンツデータを受信したときも同様に、受信したコンテンツデータをコンテンツデータ記憶手段としての第２記憶部１０４に記憶し、登録メッセージを生成する。なお、端末装置１は、このようにコンテンツデータを取得したときにコンテンツ保持端末装置として機能することになる。
【０１０４】
登録メッセージ送信手段は、このように生成した登録メッセージを、ルーティングテーブルに基づいて選択した送信先端末装置へ送信する。すなわち、ルーティングテーブルに記憶された端末装置１の端末ＩＤのうち、宛先識別情報に近い端末ＩＤを選択し、このように選択した端末ＩＤに対応する端末装置１のＩＰアドレスを知り、そのＩＰアドレスの端末装置１に登録メッセージを送信する。
【０１０５】
（コンテンツ保持端末情報取得手段について）
コンテンツ保持端末情報取得手段は、インデックス情報の記憶処理を行うものであり、自端末装置において、受信したメッセージが登録メッセージであるとき、この登録メッセージが自端末装置宛であるか否かにかかわらず、登録メッセージに含まれるコンテンツＩＤ、コンテンツ保持端末装置の識別情報である端末ＩＤや所在情報であるＩＰアドレスなどを取得する。そして、このように取得したインデックス情報をインデックステーブルに記憶する。
【０１０６】
（所在情報判断手段について）
所在情報判断手段は、ネットワーク８を介して受信したメッセージがコンテンツ保持端末装置の所在情報の通知要求である検索メッセージであるとき、要求されたコンテンツを保持するコンテンツ保持端末装置の所在情報がインデックステーブルに記憶されているか否かを判断する。例えば、図６に示すようなインデックステーブルを記憶している場合に、検索メッセージに含まれる検索対象のコンテンツＩＤが「3020」又は「3021」の時に、要求されたコンテンツを保持するコンテンツ保持端末装置の所在情報がインデックステーブルに記憶されていると判断し、コンテンツＩＤが「3020」及び「3021」以外のコンテンツを検索する検索メッセージであるとき、インデックステーブルには要求に応じたコンテンツ保持端末装置の所在情報は記憶されていないと判断する。
【０１０７】
（応答処理可否判定手段について）
応答処理可否判定手段は、検索メッセージに対応するコンテンツ保持端末装置の所在情報がインデックステーブルに記憶されていると所在情報判断手段が判断したとき、インデックステーブルに所在情報を記憶したコンテンツ保持端末装置の数に応じて、このメッセージを送信した端末装置がコンテンツデータを取得するための検索メッセージ応答処理を行うか否かを判定する。
【０１０８】
具体的には、応答処理可否判定手段は、インデックステーブルに記憶された情報に基づいて所在情報を記憶したコンテンツ保持端末装置の数を検出し、この数に応じた検索メッセージ応答処理の上限値を設定する。応答処理可否判定手段は、この上限値と後述の検索メッセージ応答処理手段による検索メッセージ応答処理の状況に応じて、メッセージを送信した端末装置がコンテンツデータを取得するための検索メッセージ応答処理を行うか否かを判定する。
【０１０９】
この「検索メッセージ応答処理数の上限値」として、以下のものがあり、端末装置１の制御部１１３は、ユーザによるリモコン１０６等の操作によって、いずれかを選択可能となっている。また、ユーザによる選択ではなく、コンテンツＩＤ毎にそれぞれ異なる上限値を採用するようにしてもよい。
（ａ）インデックステーブルに所在情報が記憶され、かつ検索メッセージの検索対象となるコンテンツ保持端末装置の数
（ｂ）インデックステーブルに所在情報が記憶され、かつ検索メッセージの検索対象となるコンテンツ保持端末装置において同時にコンテンツデータの供給することができる数
（ｃ）インデックステーブルに所在情報が記憶され、かつ検索メッセージの検索対象となるコンテンツ保持端末装置において所定の条件を満たすコンテンツ保持端末装置の数
ここで、上記（ａ）における「コンテンツ保持端末装置の数」とは、例えば、図６に示すようなインデックステーブルを保持している場合に、コンテンツＩＤ「3020」に関しては「８」となり、コンテンツＩＤ「3020」に関しては「２」となる。
【０１１０】
また、上記（ｂ）における「コンテンツ保持端末装置において同時にコンテンツデータの供給することができる数」は、コンテンツ保持端末装置から送信される登録メッセージに含まれる情報であり、各コンテンツ保持端末装置におけるコンテンツデータの供給能力の総和を意味する。コンテンツ保持端末装置から通知されるコンテンツデータ供給能力は、図１０に示すように、インデックステーブルに記憶されることになる。各コンテンツ保持端末装置は、自装置がコンテンツデータを同時に供給することができる数を自装置のＣＰＵの処理能力や通信帯域などに基づいて算出し、登録メッセージにその情報を含める。また、定期的にその情報を、登録メッセージと同様にＤＨＴルーティングを用いて送信しており、これによりルーティングテーブルの情報の更新が行われる。
【０１１１】
インデックステーブルが図１０に示すように記憶されている場合、コンテンツＩＤ「3020」に関して「コンテンツ保持端末装置において同時にコンテンツデータの供給することができる数」は「１２」となり、「3021」に関しては「４」となる。
【０１１２】
コンテンツデータ供給能力は、ＣＰＵの処理能力等から演算するのではなく、コンテンツ保持端末装置のユーザがリモコン１０６等から設定することもでき、この設定情報は第１記憶部１０３に記憶される。
【０１１３】
また、上記（ｃ）において、「所定の条件を満たすコンテンツ保持端末装置の数」は、例えば、検索メッセージの検索対象となるコンテンツ保持端末装置の総数の６０％を「コンテンツ保持端末装置の数」とすることができる。また、近接するコンテンツ保持端末装置の総数を「コンテンツ保持端末装置の数」とすることもできる。ここで、「近接する」とはネットワーク的に近接するという意味であり、例えば、メッセージ等が到達するまでに中継されるルータ装置の数などが少ないことをいう。
【０１１４】
応答処理可否判定手段は、上記上限値と後述の検索メッセージ応答処理手段による検索メッセージ応答処理の状況に応じて、検索メッセージ応答処理の可否の判定を行うものであり、「検索メッセージ応答処理手段による検索メッセージ応答処理の状況」として、最近の検索メッセージ応答処理の数、すなわち所定期間内における検索メッセージ応答処理手段による検索メッセージ応答処理の数を検出する。
【０１１５】
ここで、検索メッセージ応答処理の数の検出の基準となる「所定期間」は、インデックステーブルに所在情報を記憶したコンテンツ保持端末装置が保持するコンテンツデータのデータサイズに応じて決定される時間とする。すなわち、コンテンツデータがコンテンツ保持端末装置から送信される速度の予測値である推測送信速度を設定しておき、コンテンツデータのデータサイズをこの推測送信速度で除算することにより、上記所定期間を導く。例えば、推測送信速度が１０Ｍbit／分に設定されている場合、データサイズが４０Ｍbitのコンテンツデータに関する上記「所定時間」は、４分間となる。従って、インデックステーブルが図６に示すような状態であり、現日時が１１月４日の１１時４１分００秒である場合、ＮＯ．４〜ＮＯ．８までが最近の検索メッセージ応答処理の数となる。
【０１１６】
（検索メッセージ応答処理手段について）
検索メッセージ応答処理手段は、応答処理可否判定手段の判定結果に応じて、メッセージを送信した端末装置がコンテンツデータを取得するための検索メッセージ応答処理を行う。すなわち、検索メッセージ応答処理手段は、応答処理可否判定手段によって検索メッセージ応答処理を行うと判定されると、インデックステーブルからコンテンツ保持端末装置の所在情報の情報を取り出し、検索メッセージを送信したリクエスト端末装置へ通知する。一方、応答処理可否判定手段により検索メッセージ応答処理を行わないと判定されると、検索メッセージをメッセージ転送手段により転送する。
【０１１７】
ここで、所在情報通知要求メッセージを送信するコンテンツ保持端末装置として、インデックステーブルに所在情報を記憶したコンテンツ保持端末装置のうち、所定の数のコンテンツ保持端末装置を選択する。この所定の数として、例えば５台のコンテンツ保持端末装置を選択することができるが、インデックステーブルに所在情報を記憶したコンテンツ保持端末装置の総数は当然ながら超えることができない。
【０１１８】
リクエスト端末装置は、このように送信されたコンテンツ保持端末装置の所在情報のうち一のコンテンツ保持端末装置を選択し、このように選択したコンテンツ保持端末装置へ接続要求を行って接続し、コンテンツデータを受信する。なお、送信されるコンテンツ保持端末装置の所在情報が複数ある場合には、その一つを選択し、コンテンツデータの送信を要求することになる。
【０１１９】
（報知手段について）
報知手段は、検索メッセージ応答処理手段により検索メッセージ応答処理が行われたとき、検索メッセージ応答処理を行った検索メッセージの宛先識別情報に応じた端末装置の所在情報をルーティングテーブルから取り出し、当該所在情報を有する端末装置１へ検索メッセージ応答処理を行った旨のメッセージである応答処理済メッセージをＤＨＴルーティングを用いて送信する。すなわち、応答処理済メッセージの宛先識別情報を検索メッセージ応答処理に対応するコンテンツＩＤとし、送信先の端末装置１をルーティングテーブルに基づいて決定し、この応答処理済メッセージを送信する。
【０１２０】
この応答処理済メッセージを受信した端末装置１は、自端末装置１の第１記憶部１０３に記憶したアクセス許可数を一つインクリメントする。
【０１２１】
（メッセージ宛先判定手段について）
メッセージ宛先判定手段は、ネットワーク８を介して受信したメッセージの宛先識別情報とルーティングテーブルとに基づいて、受信したメッセージが自端末装置宛であるか否かを判定する。このメッセージ宛先判定手段が判定するメッセージは、コンテンツ保持端末装置を検索するための検索メッセージ、ルート端末装置にコンテンツ保持端末装置の識別情報を登録するための登録メッセージなどである。
【０１２２】
受信したメッセージが自端末装置宛であるか否かの判定は、メッセージに含まれる宛先識別情報を取り出し、第１記憶部１０３に記憶したルーティングテーブルに基づいて行われる。すなわち、各種のメッセージをネットワークインターフェイス１０５を介して受信したとき、メッセージ宛先判定手段は、受信したメッセージに含まれる宛先識別情報とルーティングテーブルに記憶した端末ＩＤとを比較し、メッセージに含まれる宛先識別情報と一番近いルーティングテーブル上の端末ＩＤが自端末装置の端末ＩＤであると判定すると、自端末装置宛のメッセージであると判定する。
【０１２３】
（メッセージ転送手段について）
メッセージ転送手段は、メッセージ宛先判定手段によりネットワーク８を介して受信したメッセージが自端末装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、ルーティングテーブルに記憶された端末装置１の識別情報から送信先端末装置を選択して、受信したメッセージを送信先端末装置へ転送する。すなわち、メッセージ転送手段は、ルーティングテーブルに記憶された端末装置１の端末ＩＤのうち、宛先識別情報に近い端末ＩＤを選択し、このように選択した端末ＩＤに対応する端末装置１のＩＰアドレスを知り、そのＩＰアドレスをＩＰパケットの宛先として、メッセージを転送する。
【０１２４】
また、検索メッセージによって要求されたコンテンツのコンテンツ保持端末装置の所在情報がインデックステーブルに記憶されていないと所在情報判断手段が判断したとき、メッセージ宛先判定手段が受信した検索メッセージが自端末装置１宛であるか否かを判定し、自端末装置１宛でないときに受信した検索メッセージを転送する。
（コンテンツデータ再生手段について）
コンテンツデータ再生手段は、第２記憶部１０４のコンテンツキー記憶領域に記憶したコンテンツキーによって復号した後、デコード手段によってデコードし、ビデオチップ１０９及び音源チップ１１１を動作させることによりコンテンツデータを再生する。
【０１２５】
（コンテンツデータ送信手段について）
コンテンツデータ送信手段は、コンテンツデータ記憶手段としての第２記憶部１０４に記憶したコンテンツデータの送信要求が他の端末装置１からあったとき、この送信要求に対応するコンテンツデータを第２記憶部１０４から取り出して送信要求をした他の端末装置１へ送信する。
（デコード手段について）
デコード手段は、第２記憶部１０４に記憶したコンテンツデータを内蔵ディスプレイ１１０に表示し、内蔵スピーカ１１２から出力するためにデコードする。すなわち、再生対象のコンテンツデータは、所定の形式でエンコードされており、このようにエンコードされているコンテンツデータを内蔵ディスプレイ１１０や内蔵スピーカ１１２から出力できるようにデコードする。
【０１２６】
［５．コンテンツ配信システムＳの動作］
以下、コンテンツ配信システムＳにおける端末装置１の詳細動作について、フローチャートを用いて更に具体的に説明する。
【０１２７】
まず、端末装置１の更に具体的な動作の一例について、図１１及び図１２のフローチャートを参照して説明する。図１１及び図１２は端末装置１における処理を示すフローチャートである。なお、以下の各処理は、端末装置１の制御部１１３が上述した手段等として機能することによって実行されるものである。
【０１２８】
まず、端末装置１の電源がＯＮになると、端末装置１のＣＰＵ１０２は、第１記憶部１０３や第２記憶部１０４のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム１１４〜１１８をＣＰＵ１０２による実行状態とし、制御部１１３としての機能を動作させる。
【０１２９】
次に、図１１に示すように、制御部１１３は、ユーザによるコンテンツの取得要求があったか否かを判定する（ステップＳ１００）。この処理は、ユーザによるコンテンツデータの取得要求操作が行われたか否かによって判定するものである。
【０１３０】
ここで、ユーザによるコンテンツの取得要求があったと判定すると（ステップＳ１００：ＹＥＳ）、制御部１１３は、コンテンツ取得要求処理を行う（ステップＳ１０１）。このステップＳ１０１の処理は、図１２におけるＳ１２０〜Ｓ１２８の処理であり、後述する。
【０１３１】
一方、ユーザによるコンテンツの取得要求がないと判定すると（ステップＳ１００：ＮＯ）、制御部１１３は、他の端末装置１から検索メッセージを受信したか否かを判定する（ステップＳ１０２）。
【０１３２】
ステップＳ１０２において、検索メッセージを受信したと判定すると（ステップＳ１０２：ＹＥＳ）、制御部１１３は、コンテンツ保持端末装置を知っているか否かを判定する（ステップＳ１０３）。コンテンツ保持端末装置を知っているか否かは、自端末装置１のインデックステーブルの中に、検索メッセージの検索対象であるコンテンツ保持端末装置の所在情報が存在するか否かで判定される。すなわち、インデックステーブルに、検索メッセージに含まれるコンテンツＩＤに関するコンテンツ保持端末装置の所在情報があるときに、コンテンツ保持端末装置を知っていると判定し、所在情報がないときにコンテンツ保持端末装置を知らないと判定する。
【０１３３】
ステップＳ１０３において、コンテンツ保持端末装置を知っていると判定すると（ステップＳ１０３：ＹＥＳ）、制御部１１３は、最近の検索メッセージ応答処理数が検索メッセージ応答処理数の上限値よりも小さいか否かを判定する。
【０１３４】
この処理において、最近の検索メッセージ応答処理数が検索メッセージ応答処理数の上限値よりも小さいと判定すると（ステップＳ１０４：ＹＥＳ）、制御部１１３は、検索メッセージによるアクセスを許可するものとし、検索メッセージ応答処理を行う（ステップＳ１０５）。すなわち、制御部１１３は、インデックステーブルからコンテンツ保持端末装置の所在情報の情報を取り出し、検索メッセージを送信した端末装置へ通知する。なお、検索メッセージを送信した端末装置は、このように送信されたコンテンツ保持端末装置へ接続要求を行って接続し、コンテンツデータを受信する。
【０１３５】
ステップＳ１０３においてコンテンツ保持端末装置を知らないと判定したとき（ステップＳ１０３：ＮＯ）、又はステップＳ１０４において最近の検索メッセージ応答処理数が検索メッセージ応答処理数の上限値以上であると判定すると（ステップＳ１０４：ＮＯ）、制御部１１３は処理をステップＳ１０６に移行する。
【０１３６】
ステップＳ１０６において、制御部１１３は、検索メッセージのルート端末装置であるか否かを判定する。すなわち、検索メッセージが自端末装置宛であるか否かを判定する。検索メッセージが自端末装置宛であるとき（ステップＳ１０６：ＹＥＳ）、制御部１１３は、検索メッセージを送信した端末装置である送信要求元端末装置に対してアクセス不許可メッセージを送信する（ステップＳ１０７）。
【０１３７】
一方、ステップＳ１０６において、検索メッセージが自端末装置宛ではないと判定すると（ステップＳ１０６：ＮＯ）、制御部１１３は、検索メッセージをルート端末装置へ向けてＤＨＴルーティングを用いて転送する（ステップＳ１０８）。
【０１３８】
また、ステップＳ１０２において、検索メッセージを受信していないと判定すると（ステップＳ１０２：ＮＯ）、制御部１１３は、他の端末装置１からコンテンツデータの送信要求を受信したか否かを判定する（ステップＳ１０９）。
【０１３９】
この処理において、他の端末装置１からコンテンツデータの送信要求を受信したと判定すると（ステップＳ１０９：ＹＥＳ）、制御部１１３は、送信元要求の端末装置、すなわちコンテンツデータの送信要求を行った端末装置に対して要求されたコンテンツデータを送信する（ステップＳ１１０）。
【０１４０】
ステップＳ１０５，Ｓ１０７，Ｓ１０８，Ｓ１１０の処理が終了したとき、或いはステップＳ１０９において、他の端末装置１からコンテンツデータの送信要求を受信しなかったと判定されたとき（ステップＳ１０９：ＮＯ）、制御部１１３は、自端末装置の電源がＯＦＦ（シャットダウン）状態へ移行したか否かを判定する（ステップＳ１１１）。
【０１４１】
ステップＳ１１１において、自端末装置の電源がＯＦＦ状態へ移行したと判定すると（ステップＳ１１１：ＹＥＳ）、制御部１１３は、メイン処理を終了し、一方、自端末装置の電源がＯＦＦ状態へ移行していないと判定すると（ステップＳ１１１：ＮＯ）、制御部１１３は、ステップＳ１００からの処理を繰り返す。
【０１４２】
次に、Ｓ１０１におけるコンテンツ取得要求処理について図１２のフローチャートを参照して具体的に説明する。図１２は、端末装置１におけるコンテンツ取得要求処理を示すフローチャートである。
【０１４３】
図１２に示すように、コンテンツ取得要求処理が開始されると、制御部１１３は、ステップＳ１００における取得要求操作に応じたコンテンツデータが第２記憶部１０４に記憶されているか否かを判定する（ステップＳ１２０）。
【０１４４】
この処理において、取得要求操作に応じたコンテンツデータを記憶していないと判定すると（ステップＳ１２０：ＮＯ）、制御部１１３は、取得要求操作に応じたコンテンツデータを取得するために、このコンテンツデータに対応するコンテンツＩＤを宛先識別情報とした検索メッセージをルーティングテーブルに基づいて送信する（ステップＳ１２１）。
【０１４５】
このように送信した検索メッセージに対して、ステップＳ１００における取得要求操作に応じたコンテンツデータのルート端末装置からアクセス不許可メッセージが送信されたか否かを判定する（ステップＳ１２２）。
【０１４６】
この処理において、アクセス不許可メッセージを受信するのは、ステップＳ１００における取得要求操作に応じたコンテンツデータの全てのキャッシュ端末装置及びルート端末装置において、例えば図８に示すように、検索メッセージ応答処理数がその上限値以上となっていることを意味しており、ステップＳ１００における取得要求操作に応じたコンテンツデータを保持するコンテンツ保持端末装置の所在情報が通知されない状況を意味する。
【０１４７】
アクセス不許可メッセージが受信されない、すなわち１以上のコンテンツ保持端末装置の所在情報が通知が通知されたと判定すると（ステップＳ１２２：ＮＯ）、制御部１１３は、通知されたコンテンツ保持端末装置の所在情報のうち、任意の一つを選択して、コンテンツデータの送信を要求する（ステップＳ１２３）。その後、制御部１１３は、コンテンツ保持端末装置から送信されるコンテンツデータを受信し（ステップＳ１２４）、第２記憶部１０４におけるコンテンツデータ記憶領域に記憶することにより保存する（ステップＳ１２５）。
【０１４８】
このようにコンテンツデータを取得すると、制御部１１３は、コンテンツ保持端末装置として機能し、他の端末装置から検索可能とするために、このコンテンツデータのコンテンツＩＤを宛先識別情報とした登録メッセージをルーティングテーブルに基づいて送信する（ステップＳ１２６）。
【０１４９】
このステップＳ１２６の処理が終了したとき、又はステップＳ１２０において取得要求操作に応じたコンテンツデータが記憶していると判定（ステップＳ１２０：ＹＥＳ）したとき、制御部１１３は、第２記憶部１０４のコンテンツデータ記憶領域から取得要求操作に応じたコンテンツデータを取り出して、再生する（ステップＳ１２７）。
【０１５０】
また、ステップＳ１２２において、アクセス不許可メッセージを受信したと判定すると（ステップＳ１２２：ＹＥＳ）、制御部１１３は、コンテンツデータの受信失敗の旨をユーザに通知する（ステップＳ１２８）。例えば、内蔵ディスプレイ１１０に「コンテンツデータの受信失敗」の文字を映像として表示させる。このステップＳ１２７，Ｓ１２８の処理が終了すると、本コンテンツ取得要求処理を終了する。
【０１５１】
以上のように、本実施形態における端末装置１は、ネットワークを介して受信したメッセージが検索メッセージであるとき、所在情報を記憶したコンテンツ保持端末装置の数に応じて、検索メッセージ応答処理を行うか否かを判定し、この判定結果に応じて、検索メッセージ応答処理を行うようにしたので、コンテンツ保持端末装置の所在情報を検索するときに、コンテンツ保持端末装置へのアクセスを制限して、ネットワークの混雑を抑制することが可能となる。また、検索メッセージによってコンテンツデータを取得できたときにコンテンツ保持端末装置として機能するので、検索メッセージに制限をかけつつ、検索メッセージの量に応じて、コンテンツ配信システムＳにおけるコンテンツ端末装置を効果的に増加させることができる。
【０１５２】
また、上記実施形態においては、コンテンツ保持端末装置の所在情報を記憶している端末装置がリクエスト端末装置に対してコンテンツ保持端末装置の所在情報を通知させるようにしたが、図１３に示すように、リクエスト端末装置へコンテンツ保持端末装置からコンテンツデータを配信させるためのコンテンツデータ配信要求メッセージを、コンテンツ保持端末装置の所在情報を記憶している端末装置が生成して、そのコンテンツデータ配信要求メッセージをコンテンツ保持端末装置へ送信するようにしてもよい。この場合、端末装置のフローチャートは、Ｓ１０５は「コンテンツデータ配信要求メッセージを生成し、コンテンツ保持端末装置へ送信」となり、Ｓ１２３が削除されることとなる。
【０１５３】
すなわち、制御部１１３は、検索メッセージ応答処理手段として機能するときに、検索メッセージ応答処理を行うと判定されると、インデックステーブルに記憶したコンテンツ保持端末装置に対して、検索メッセージを送信したリクエスト端末装置に接続してコンテンツデータを配信するように要求し、一方で、検索メッセージ応答処理を行わないと判定すると、受信した検索メッセージをルーティングテーブルに基づいて転送させる。
【０１５４】
コンテンツ保持端末装置は、コンテンツデータ配信要求メッセージを受信したとき、コンテンツデータの供給が可能か否かを判定し、コンテンツデータの供給が可能であれば、検索メッセージを送信したリクエスト端末装置へ当該コンテンツ保持端末装置の所在情報を通知する。
【０１５５】
また、コンテンツ配信システムＳの形態を、Ｐａｓｔｒｙ型のコンテンツ配信システムを例にして説明したが、これに限られず、メッセージの転送方法が異なるｋａｄｅｍｌｉａ型、ｃｈｏｒｄ型、Ｖｉｃｅｒｏｙ型、ＣＡＮ型などのコンテンツ配信システムにも本発明を適用可能である。
【０１５６】
また、本実施形態においては、端末装置１間でのコンテンツデータの送受信の形式をダウンロード形式として説明したがこれに限られるものではなく、ストリーミング形式であってもよい。このように端末装置１間でのコンテンツデータの送受信がストリーミング形式で行われるコンテンツ配信システムにおいても、コンテンツ配信システムＳにおけるコンテンツデータの供給能力を超えてコンテンツデータ取得のためのアクセスの集中が発生することを抑制することができる。
【図面の簡単な説明】
【０１５７】
【図１】本実施形態に係るコンテンツ配信システムにおける各端末装置の接続態様の一例を示す図である。
【図２】ＩＤ空間の説明図である。
【図３】ＤＨＴによってルーティングテーブルが作成される様子の一例を示す図である。
【図４】本実施形態に係る端末装置のルーティングテーブルの一例である。
【図５】コンテンツ保持端末の登録メッセージが転送される様子をスパニングツリー状に表した図である。
【図６】本実施形態に係る端末装置のインデックステーブルの一例である。
【図７】ＤＨＴによりコンテンツデータの保持元である端末装置が検索される様子の一例を示す図である。
【図８】ＤＨＴによりコンテンツデータの保持元である端末装置が検索される様子の一例を示す図である。
【図９】本実施形態における端末装置の概略構成例を示す図である。
【図１０】端末装置におけるメイン処理を示すフローチャートである。
【図１１】端末装置におけるコンテンツ取得再生処理を示すフローチャートである。
【図１２】端末装置におけるコンテンツ取得要求処理を示すフローチャートである。
【図１３】ＤＨＴによりコンテンツデータの保持元である端末装置が検索される様子の他の例を示す図である。
【符号の説明】
【０１５８】
Ｓ  コンテンツ配信システム
１  端末装置
８  ネットワーク
１０  コンテンツ投入装置
１０２  端末装置のＣＰＵ
１０３  端末装置の第１記憶部
１０４  端末装置の第２記憶部
１１３  端末装置の制御部
【図１】
2008092236.tif 000003
【図２】
2008092236.tif 000004
【図３】
2008092236.tif 000005
【図４】
2008092236.tif 000006
【図５】
2008092236.tif 000007
【図６】
2008092236.tif 000008
【図７】
2008092236.tif 000009
【図８】
2008092236.tif 000010
【図９】
2008092236.tif 000011
【図１０】
2008092236.tif 000012
【図１１】
2008092236.tif 000013
【図１２】
2008092236.tif 000014
【図１３】
2008092236.tif 000015