(57)【特許請求の範囲】
【請求項１】
ネットワークを介して互いに接続され、それぞれ固有の識別情報が割り当てられた複数の端末装置により形成され、前記端末装置間でコンテンツ情報の送受信を行う情報配信システムにおける前記端末装置において、
前記情報配信システムを構成する前記複数の端末装置の識別情報と、当該識別情報に対応する端末装置の所在情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、
前記ルーティングテーブル記憶手段に記憶された前記ルーティングテーブルから、１又は２以上の他の前記端末装置を、所定時間毎に変更して選択する選択手段と、
自装置のコンテンツ情報を、前記ルーティングテーブルから選択した他の前記端末装置へ送信する自装置情報送信手段と、
他の前記端末装置から送信される当該他の端末装置のコンテンツ情報を記憶する情報記憶手段と、
前記情報記憶手段に前記コンテンツ情報を記憶したとき、当該コンテンツ情報に割り当てられる識別情報を宛先識別情報とし、前記ルーティングテーブル記憶手段に記憶された情報に基づいて、自装置の所在情報を含む登録メッセージを送信する登録メッセージ送信手段と、
前記ネットワークを介して受信したメッセージが前記登録メッセージであるとき、当該登録メッセージに含まれる他の端末装置の所在情報を記憶する所在情報記憶手段と、を備える
ことを特徴とする端末装置。
【請求項２】
前記コンテンツ情報は、動作履歴の情報である
ことを特徴とする請求項１に記載の端末装置。
【請求項３】
前記選択手段は、自装置のコンテンツ情報を送信する他の前記端末装置を、前記ルーティングテーブル記憶手段に記憶された前記ルーティングテーブルからランダムに選択する
ことを特徴とする請求項１又は請求項２に記載の端末装置。
【請求項４】
他の前記端末装置が記憶する前記コンテンツ情報に割り当てられる識別情報を宛先識別情報として、前記ルーティングテーブル記憶手段に記憶された情報に基づいて、前記コンテンツ情報を保持する端末装置を検索する検索メッセージを送信する検索メッセージ送信手段と、
前記検索メッセージによって検索された端末装置から前記コンテンツ情報を取得する情報取得手段と、を備える
ことを特徴とする請求項１〜３のいずれか一項に記載の端末装置。
【請求項５】
前記ネットワークを介して受信したメッセージが前記検索メッセージであるとき、前記検索メッセージの検索対象である端末装置の所在情報が前記所在情報記憶手段に記憶されているか否かを判定する判定手段と、
前記判定手段により前記検索メッセージの検索対象である端末装置の所在情報が記憶されていると判定されたとき、前記検索メッセージの検索対象である端末装置の所在情報を前記検索メッセージの送信元の端末装置へ送信する所在情報送信手段と、を備える
ことを特徴とする請求項４に記載の端末装置。
【請求項６】
前記ネットワークを介して受信したメッセージが前記検索メッセージであるとき、前記検索メッセージの検索対象である端末装置の所在情報が前記所在情報記憶手段に所在情報が記憶されているか否かを判定する判定手段と、
前記判定手段により前記検索メッセージの検索対象である端末装置の所在情報が記憶されていると判定されたとき、前記判定された前記端末装置に対して、前記検索メッセージの送信元の端末装置へ前記コンテンツ情報の送信を依頼する情報送信依頼手段と、
他の前記端末装置から前記情報記憶手段に記憶したコンテンツ情報の送信依頼があったとき、依頼先の端末装置へ前記コンテンツ情報を送信する情報送信手段と、を備える
ことを特徴とする請求項４に記載の端末装置。
【請求項７】
前記自装置情報送信手段は、前記複数の端末装置のうち１以上の端末装置の識別情報を宛先情報とし、前記ルーティングテーブル記憶手段に記憶された情報に基づいて、自装置のコンテンツ情報を送信する
ことを特徴とする請求項１〜６のいずれか一項に記載の端末装置。
【請求項８】
前記情報記憶手段に前記他の端末装置の動作履歴を記憶したとき、当該他の端末装置の識別情報及び当該動作履歴の日付に基づいて、前記記憶したコンテンツ情報に識別情報を割り当てる識別情報生成手段を備えた
ことを特徴とする請求項１〜７のいずれか一項に記載の端末装置。
【請求項９】
他の前記端末装置の所在情報を前記情報記憶手段に記憶した後、所定期間経過したとき、前記情報記憶手段に記憶した他の端末装置の所在情報を削除する所在情報削除手段を備えたことを特徴とする請求項１〜８のいずれか一項に記載の端末装置。
【請求項１０】
前記コンテンツ情報には、前記端末装置における、前記コンテンツ情報の取得時間、前記コンテンツ情報の送信時間、前記コンテンツ情報の再生時間及び各種処理のエラー情報のうち少なくともいずれか一つを含むことを特徴とする請求項１〜９のいずれか一項に記載の端末装置。
【請求項１１】
ネットワークを介して互いに接続され、それぞれ固有の識別情報が割り当てられた複数の端末装置により形成され、前記端末装置間でコンテンツ情報の送受信を行う情報配信システムにおける前記端末装置の情報処理プログラムであって、
コンピュータに、
前記ルーティングテーブル記憶手段に記憶された前記ルーティングテーブルから、１又は２以上の他の前記端末装置を、所定時間毎に変更して選択するステップと、
自装置のコンテンツ情報を、前記ルーティングテーブルから選択した他の前記端末装置へ送信するステップと、
他の前記端末装置から送信される当該他の端末装置のコンテンツ情報を情報記憶手段に記憶するステップと、
前記情報記憶手段に前記他の端末装置のコンテンツ情報を記憶したとき、当該コンテンツ情報に割り当てられる識別情報を宛先識別情報とし、前記ルーティングテーブル記憶手段に記憶された情報に基づいて、自装置の所在情報を含む登録メッセージを送信するステップと、
前記ネットワークを介して受信したメッセージが前記登録メッセージであるとき、当該登録メッセージに含まれる他の端末装置の所在情報を所在情報記憶手段に記憶するステップと、を実行させることを特徴とする情報処理プログラム。
【請求項１２】
ネットワークを介して互いに接続され、それぞれ固有の識別情報が割り当てられた複数の端末装置により形成され、前記端末装置間でコンテンツ情報の送受信を行う情報配信システムにおける前記端末装置であって、前記情報配信システムを構成する前記複数の端末装置の識別情報と、当該識別情報に対応する端末装置の所在情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段を備えた端末装置の情報処理方法において、
前記ルーティングテーブル記憶手段に記憶された前記ルーティングテーブルから、１又は２以上の他の前記端末装置を、所定時間毎に変更して選択するステップと、
自装置のコンテンツ情報を、前記ルーティングテーブルから選択した他の前記端末装置へ送信するステップと、
他の前記端末装置から送信される当該他の端末装置のコンテンツ情報を情報記憶手段に記憶するステップと、
前記情報記憶手段に前記他の端末装置のコンテンツ情報を記憶したとき、当該コンテンツ情報に割り当てられる識別情報を宛先識別情報とし、前記ルーティングテーブル記憶手段に記憶された情報に基づいて、自装置の所在情報を含む登録メッセージを送信するステップと、
前記ネットワークを介して受信したメッセージが前記登録メッセージであるとき、当該登録メッセージに含まれる他の端末装置の所在情報を所在情報記憶手段に記憶するステップと、を有する
ことを特徴とする端末装置の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報配信システム、同システムに用いる端末装置及び情報処理プログラム、並びに情報処理方法に関するものであり、特に、ネットワークを介して互いに接続された複数の端末装置の参加により形成され、これらの端末装置間でコンテンツ情報の送受信を行う情報配信システム、同システムに用いる端末装置及び情報処理プログラム、並びに情報処理方法に関する。
【背景技術】
【０００２】
近年、ブロードバンドの普及に伴って、音楽データや映画データなどのコンテンツ情報を配信する情報配信サービスが人気となっている。例えば、ＶＯＤ（ビデオオンデマンド）のように利用者の要求に応じてコンテンツ情報を配信するサービスが知られている。
【０００３】
この種の情報配信サービスは、サーバクライアント方式による配信形態が主流であったが、最近では、この方式に代わる新しい配信形態として端末装置間でコンテンツ情報を送受信するＰ２Ｐ（ピアツーピア）型の配信形態が注目されている。
【０００４】
このＰ２Ｐ型の情報配信システムは、ネットワークを介して互いに接続された複数の端末装置（ノード装置）の参加により形成され、ある端末装置の利用者が取得しようとするコンテンツ情報を、そのコンテンツの一部又は全部を保持する他の端末装置から取得するものである。
【０００５】
例えば、特許文献１に記載の情報配信システムでは、各端末装置が当該情報配信システムに参加している全ての端末装置の所在情報（ＩＰアドレスなど）を認識しているわけではなく、参加の際などに得られる一部の端末装置の所在情報だけを保持しており、かかる所在情報に基づき、コンテンツ情報の検索を行って端末装置間でコンテンツ情報の送受信を行うようにしている。
【特許文献１】特開２００６−１９７４００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、Ｐ２Ｐ型の情報配信システムにおいては、サービス品質の向上するために、各端末装置の動作状態を把握することが望ましい。例えば、各端末装置におけるコンテンツ情報の取得（ダウンロード）日時、再生日時及び送信（アップロード）日時や、エラー情報などの動作履歴（以下、「ログ」とも呼ぶ。）の情報を管理しておき、この動作履歴を参照して端末装置やシステム内で発生する問題の原因を究明し、その対策を行うことで、サービス品質を向上させた情報配信システムを提供することができる。
【０００７】
各端末装置の動作履歴を管理する方法として、ログ管理サーバをネットワーク上に配置し、各端末装置からログ管理サーバに動作履歴を送信させる方法がある。
【０００８】
しかしながら、この方法では、情報配信システムに参加する端末装置の数の増加に比例して、ログ管理サーバの処理負荷の増大やログ記憶領域（ストレージ）の圧迫、及びログ管理サーバが接続するネットワーク帯域の圧迫などを招く。そのため、ログ管理サーバを複数設置したり、ログ記憶領域の容量の増強など、メンテナンスコストが必要となる。
【０００９】
そこで、本発明は上記課題を解決するためになされたものであり、その目的は、情報配信システムに参加する端末装置の数が増加しても、各端末装置の動作履歴を容易に管理することができる情報配信システム、同システムに用いる端末装置及び情報処理プログラム、並びに情報処理方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、請求項１に記載の発明は、ネットワークを介して互いに接続され、それぞれ固有の識別情報が割り当てられた複数の端末装置により形成され、前記端末装置間でコンテンツ情報の送受信を行う情報配信システムにおける前記端末装置において、前記情報配信システムを構成する前記複数の端末装置の識別情報と、当該識別情報に対応する端末装置の所在情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、前記ルーティングテーブル記憶手段に記憶された前記ルーティングテーブルから、１又は２以上の他の前記端末装置を、所定時間毎に変更して選択する選択手段と、自装置のコンテンツ情報を、前記ルーティングテーブルから選択した他の前記端末装置へ送信する自装置情報送信手段と、他の前記端末装置から送信される当該他の端末装置のコンテンツ情報を記憶する情報記憶手段と、前記情報記憶手段に前記コンテンツ情報を記憶したとき、当該コンテンツ情報に割り当てられる識別情報を宛先識別情報とし、前記ルーティングテーブル記憶手段に記憶された情報に基づいて、自装置の所在情報を含む登録メッセージを送信する登録メッセージ送信手段と、前記ネットワークを介して受信したメッセージが前記登録メッセージであるとき、当該登録メッセージに含まれる他の端末装置の所在情報を記憶する所在情報記憶手段と、を備えることを特徴とする。
また、請求項２に記載の発明は、請求項１に記載の発明において、前記コンテンツ情報は、動作履歴の情報であることを特徴とする。
また、請求項３に記載の発明は、請求項１又は請求項２に記載の発明において、前記選択手段は、自装置のコンテンツ情報を送信する他の前記端末装置を、前記ルーティングテーブル記憶手段に記憶された前記ルーティングテーブルからランダムに選択することを特徴とする。
【００１１】
また、請求項４に記載の発明は、請求項１〜３のいずれか一項に記載の発明において、他の前記端末装置が記憶する前記コンテンツ情報に割り当てられる識別情報を宛先識別情報として、前記ルーティングテーブル記憶手段に記憶された情報に基づいて、前記コンテンツ情報を保持する端末装置を検索する検索メッセージを送信する検索メッセージ送信手段と、前記検索メッセージによって検索された端末装置から前記コンテンツ情報を取得する情報取得手段とを備えることを特徴とする。
【００１２】
また、請求項５に記載の発明は、請求項４に記載の発明において、前記ネットワークを介して受信したメッセージが前記検索メッセージであるとき、前記検索メッセージの検索対象である端末装置の所在情報が前記所在情報記憶手段に記憶されているか否かを判定する判定手段と、前記判定手段により前記検索メッセージの検索対象である端末装置の所在情報が記憶されていると判定されたとき、前記検索メッセージの検索対象である端末装置の所在情報を前記検索メッセージの送信元の端末装置へ送信する所在情報送信手段とを備えることを特徴とする。
【００１３】
また、請求項６に記載の発明は、請求項４に記載の発明において、前記ネットワークを介して受信したメッセージが前記検索メッセージであるとき、前記検索メッセージの検索対象である端末装置の所在情報が前記所在情報記憶手段に所在情報が記憶されているか否かを判定する判定手段と、前記判定手段により前記検索メッセージの検索対象である端末装置の所在情報が記憶されていると判定されたとき、前記判定された前記端末装置に対して、前記検索メッセージの送信元の端末装置へ前記コンテンツ情報の送信を依頼する情報送信依頼手段と、他の前記端末装置から前記情報記憶手段に記憶したコンテンツ情報の送信依頼があったとき、依頼先の端末装置へ前記コンテンツ情報を送信する情報送信手段とを備えることを特徴とする。
【００１４】
また、前記自装置情報送信手段は、前記ルーティングテーブル記憶手段に所在情報が記憶された他の端末装置を選択し、当該選択した他の端末装置へ自装置のコンテンツ情報を送信することを特徴とする。
【００１６】
また、前記自装置情報送信手段は、自装置のコンテンツ情報を送信する端末装置を、前記ルーティングテーブル記憶手段に所在情報が記憶された他の端末装置からランダムに選択することを特徴とする。
【００１７】
また、請求項７に記載の発明は、請求項１〜６のいずれか一項に記載の発明において、前記自装置情報送信手段は、前記複数の端末装置のうち１以上の端末装置の識別情報を宛先情報とし、前記ルーティングテーブル記憶手段に記憶された情報に基づいて、自装置のコンテンツ情報を送信することを特徴とする。
【００１８】
また、請求項８に記載の発明は、請求項１〜７のいずれか一項に記載の発明において、前記情報記憶手段に前記他の端末装置の動作履歴を記憶したとき、当該他の端末装置の識別情報及び当該動作履歴の日付に基づいて、前記記憶したコンテンツ情報に識別情報を割り当てる識別情報生成手段を備えたことを特徴とする。
【００１９】
また、請求項９に記載の発明は、請求項１〜８のいずれか一項に記載の発明において、他の前記端末装置の所在情報を前記情報記憶手段に記憶した後、所定期間経過したとき、前記情報記憶手段に記憶した他の端末装置の所在情報を削除する所在情報削除手段を備えたことを特徴とする。
【００２０】
また、前記コンテンツ情報を記憶するコンテンツ情報記憶手段と、前記コンテンツ情報記憶手段に記憶したコンテンツ情報に割り当てられる識別情報を宛先識別情報とし、前記ルーティングテーブル記憶手段に記憶された情報に基づいて、自装置の所在情報を含むコンテンツ登録メッセージを送信するコンテンツ登録メッセージ送信手段と、前記ネットワークを介して受信したメッセージが前記コンテンツ登録メッセージであるとき、当該コンテンツ登録メッセージに含まれる他の端末装置の所在情報を記憶するコンテンツ所在情報記憶手段と、他の前記端末装置が記憶する前記コンテンツ情報に割り当てられる識別情報を宛先識別情報として、前記ルーティングテーブル記憶手段に記憶された情報に基づいて、前記コンテンツ情報を保持する端末装置を検索するコンテンツ検索メッセージを送信するコンテンツ検索メッセージ送信手段と、前記コンテンツ検索メッセージによって検索された端末装置から当該コンテンツ情報を取得するコンテンツ取得手段とを備えることを特徴とする。
【００２１】
また、前記情報記憶手段は、前記コンテンツ情報を記憶し、前記登録メッセージ送信手段は、前記情報記憶手段に記憶したコンテンツ情報に割り当てられる識別情報を宛先識別情報とし、前記ルーティングテーブル記憶手段に記憶された情報に基づいて、自装置の所在情報を含む登録メッセージを送信し、前記検索メッセージ送信手段は、他の前記端末装置が記憶する前記コンテンツ情報に割り当てられる識別情報を宛先識別情報として、前記ルーティングテーブル記憶手段に記憶された情報に基づいて、前記コンテンツ情報を保持する端末装置を検索する検索メッセージを送信し、前記情報取得手段は、前記検索メッセージによって検索された端末装置から当該コンテンツ情報を取得することを特徴とする。
【００２２】
また、請求項１０に記載の発明は、請求項１〜９のいずれか一項に記載の発明において、前記コンテンツ情報には、前記端末装置における、前記コンテンツ情報の取得時間、前記コンテンツ情報の送信時間、前記コンテンツ情報の再生時間及び各種処理のエラー情報のうち少なくともいずれか一つを含むことを特徴とする。
【００２３】
また、請求項１１に記載の発明は、ネットワークを介して互いに接続され、それぞれ固有の識別情報が割り当てられた複数の端末装置により形成され、前記端末装置間でコンテンツ情報の送受信を行う情報配信システムにおける前記端末装置の情報処理プログラムであって、コンピュータに、前記ルーティングテーブル記憶手段に記憶された前記ルーティングテーブルから、１又は２以上の他の前記端末装置を、所定時間毎に変更して選択するステップと、自装置のコンテンツ情報を、前記ルーティングテーブルから選択した他の前記端末装置へ送信するステップと、他の前記端末装置から送信される当該他の端末装置のコンテンツ情報を情報記憶手段に記憶するステップと、前記情報記憶手段に前記他の端末装置のコンテンツ情報を記憶したとき、当該コンテンツ情報に割り当てられる識別情報を宛先識別情報とし、前記ルーティングテーブル記憶手段に記憶された情報に基づいて、自装置の所在情報を含む登録メッセージを送信するステップと、前記ネットワークを介して受信したメッセージが前記登録メッセージであるとき、当該登録メッセージに含まれる他の端末装置の所在情報を所在情報記憶手段に記憶するステップと、を実行させることを特徴とする。
【００２４】
また、請求項１２に記載の発明は、ネットワークを介して互いに接続され、それぞれ固有の識別情報が割り当てられた複数の端末装置により形成され、前記端末装置間でコンテンツ情報の送受信を行う情報配信システムにおける前記端末装置であって、前記情報配信システムを構成する前記複数の端末装置の識別情報と、当該識別情報に対応する端末装置の所在情報とを関連付けたルーティングテーブルを記憶するルーティングテーブル記憶手段を備えた端末装置の情報処理方法において、前記ルーティングテーブル記憶手段に記憶された前記ルーティングテーブルから、１又は２以上の他の前記端末装置を、所定時間毎に変更して選択するステップと、自装置のコンテンツ情報を、前記ルーティングテーブルから選択した他の前記端末装置へ送信するステップと、他の前記端末装置から送信される当該他の端末装置のコンテンツ情報を情報記憶手段に記憶するステップと、前記情報記憶手段に前記他の端末装置のコンテンツ情報を記憶したとき、当該コンテンツ情報に割り当てられる識別情報を宛先識別情報とし、前記ルーティングテーブル記憶手段に記憶された情報に基づいて、自装置の所在情報を含む登録メッセージを送信するステップと、前記ネットワークを介して受信したメッセージが前記登録メッセージであるとき、当該登録メッセージに含まれる他の端末装置の所在情報を所在情報記憶手段に記憶するステップとを有することを特徴とする。
【発明の効果】
【００２５】
本発明によれば、情報配信システムに参加する端末装置の数が増加しても、各端末装置の動作履歴を容易に管理することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明における情報配信システムの一実施形態について、図面を参照して説明する。本実施形態における情報配信システムは、ネットワークを介して互いに接続された複数の端末装置の参加により形成される情報配信システムであり、端末装置間でコンテンツ情報の送受信を行うものである。
【００２７】
［１．第１実施形態］
［１．１．情報配信システムＳの構成等］
まず始めに、図１及び図２を参照して、本実施形態に係る情報配信システムＳの概要について説明する。図１は、本実施形態に係る情報配信システムＳにおける端末装置及びコンテンツ投入装置の接続態様の一例を示す図、図２はＩＤ空間の説明図である。
【００２８】
図１の下部枠101内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界のネットワーク）８が構築されている。
【００２９】
情報配信システムＳは、図１の上部枠100内に示すように、ネットワーク８を介して相互に接続された複数の端末装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・を備えて構成され、Ｐ２Ｐ（ピアツーピア）方式のネットワークシステムとなっている。各端末装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・には、端末装置を示す情報としての固有の製造番号（例えば、ＭＡＣアドレス）及びＩＰ（Internet Protocol）アドレスが割り当てられている。なお、製造番号及びＩＰアドレスは、複数の端末装置間で重複しないものである。また、以下の説明において、端末装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・のうちいずれかの端末装置又は全ての端末装置を示す場合には、便宜上、端末装置１という場合がある。
【００３０】
本実施形態の情報配信システムＳにおいては、分散ハッシュテーブル（以下、「ＤＨＴ」と呼ぶ。）を利用したアルゴリズムによって、図１の上部枠100内に示すような、オーバーレイネットワーク９が構築される。つまり、このオーバーレイネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するネットワークを意味しており、オーバーレイネットワーク９上に配置された端末装置１を、情報配信システムＳに参加（言い換えれば、オーバーレイネットワーク９に参加）している端末装置という。
【００３１】
情報配信システムＳに参加している各端末装置１の識別番号である端末ＩＤとして、それぞれの端末装置１毎にユニークな番号（固有番号）を付与する。本実施形態においては、各端末装置１のＩＰアドレス或いは製造番号等の端末装置１毎に固有の値を、共通のハッシュ関数（ハッシュアルゴリズム）によりハッシュ化して得たハッシュ値を各端末装置１の端末ＩＤとする。このように共通のハッシュ関数によりハッシュ化されて求められた端末ＩＤは、当該ＩＰアドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、以下の説明においては、ＩＰアドレス（グローバルＩＰアドレス）を共通のハッシュ関数によりハッシュ化した値を端末ＩＤとする。
【００３２】
また、情報配信システムＳに参加している複数の端末装置１には、一の端末装置１から他の端末装置１に配信される共用情報としてのコンテンツ情報（例えば、音楽データ、映画データ、文書データ等のデータ）が分散して記憶されているが、当該コンテンツ情報にも、それぞれのコンテンツ情報毎の固有の識別番号（以下、「コンテンツＩＤ」と呼ぶ。）を付与する。そして、当該コンテンツＩＤは、端末ＩＤと同様の長さ（例えば、32bit等）とし、コンテンツ情報の名称（例えば、データファイル名）などが、上記端末ＩＤを得るときと共通のハッシュ関数によりハッシュ化され、端末装置１のＩＰアドレスのハッシュ値と同一のＩＤ空間に配置される。
【００３３】
このように、各端末装置１及び各コンテンツ情報に付与された端末ＩＤ及びコンテンツＩＤは、共通のハッシュ関数によって生成したため、図２に示すように、同一のリング状のＩＤ空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は32bitで端末ＩＤ及びコンテンツＩＤを付与し、図示したものである。図中丸点は端末ＩＤを、四角形はコンテンツＩＤを示し、反時計回りでＩＤが増加するものとする。
【００３４】
本実施形態においては、「あるコンテンツＩＤを有するコンテンツ情報を管理する端末装置は、そのコンテンツＩＤに近い端末ＩＤを有する端末装置である」という規則を適用しており、「近い」ことの定義は、当該コンテンツＩＤを超えず、コンテンツＩＤと端末ＩＤとの差が一番少ないものとするが、実際には、各コンテンツ情報の管理を各端末装置１に割り振る際に、一貫していれば他の定義でもよい。図２に示す例では、この定義に基づいて、コンテンツＩＤａは、当該コンテンツＩＤａに近い端末ＩＤ（以下、「端末ＩＤａ」と呼ぶ。）を有する端末装置１に管理され、コンテンツＩＤｂは、当該コンテンツＩＤｂに近い端末ＩＤ（以下、「端末ＩＤｂ」と呼ぶ。）を有する端末装置１に管理され、コンテンツＩＤｃは、当該コンテンツＩＤｃに近い端末ＩＤ（以下、「端末ＩＤｃ」と呼ぶ。）を有する端末装置１に管理される。
【００３５】
ここで、「管理」とは、コンテンツ情報を保持していることを意味するのではなく、「コンテンツ情報がいずれの端末装置１に保持されているかを知っている」ことを意味する。すなわち、情報配信システムＳ内で送受信するコンテンツ情報を保持する端末装置１（以下、「コンテンツ保持端末装置」と呼ぶ。）の所在情報（ここでは、ＩＰアドレスとする。）を保持することを意味する。例えば、図２においては、端末ＩＤａを有する端末装置１は、コンテンツＩＤａを有するコンテンツ情報がいずれの端末装置１に保持されているかを知っており、端末ＩＤｂを有する端末装置１及び端末ＩＤｃを有する端末装置１も同様にそれぞれコンテンツＩＤｂを有するコンテンツ情報及びコンテンツＩＤｃを有するコンテンツ情報がいずれの端末装置１に保持されているかを知っている、ということになる。
【００３６】
このように、あるコンテンツ情報がいずれの端末装置１に保持されているかを知っている端末装置１を、そのコンテンツ情報のコンテンツルート端末装置と呼ぶ。つまり、端末ＩＤａを有する端末装置１は、コンテンツＩＤａを有するコンテンツ情報のコンテンツルート端末装置であって、端末ＩＤｂを有する端末装置１は、コンテンツＩＤｂを有するコンテンツ情報のコンテンツルート端末装置であって、端末ＩＤｃを有する端末装置１は、コンテンツＩＤｃを有するコンテンツ情報のコンテンツルート端末装置である。
【００３７】
また、情報配信システムＳには、図１及び図２に示すように、情報配信システムＳ内にコンテンツ情報を投入する機能、すなわち情報配信システムＳ内の端末装置１をコンテンツ保持端末装置とするためにコンテンツ情報を端末装置１へ配布（送信）する機能や、情報配信システムＳにおいて端末装置１間で送受信可能なコンテンツ情報のリストである情報リスト（以下、「コンテンツカタログ」と呼ぶ。）を生成して端末装置１へ提供する機能などを有するコンテンツ投入装置１０を備えている。
【００３８】
［１．２．ルーティングテーブル］
ここで、図３及び図４を参照して、ＤＨＴで用いるルーティングテーブルについて説明する。図３はルーティングテーブルを説明するための図であり、図４はルーティングテーブルの一例である。このルーティングテーブルは、端末装置１から他の端末装置１へアクセスするために、各端末装置１に保持されているものであり、各端末装置１が情報配信システムＳに参加するとき等に形成されるものである。
【００３９】
このルーティングテーブルは、情報配信システムＳを構成する複数の端末装置１のうち一部の端末装置１の識別情報である端末ＩＤと、この端末ＩＤに対応する端末装置１の所在情報とを関連付けたテーブルである。具体的には、このルーティングテーブルは、所定の規則に従い、情報配信システムＳに含まれる端末装置１を複数のグループに分けて当該各グループをレベル１のグループとし、このレベル１のグループのうち自装置が属するグループをさらに複数のグループに分けて当該各グループをレベル２のグループとし、このレベル２のグループ分けと同様のグループ分けによりレベルｎまでの各グループとして、各段階の各グループ（自端末装置の属するグループは除く）に属する一の端末装置１の所在情報（ＩＰアドレス）をそれぞれ記憶するものである。なお、ｎは３以上の自然数であり、端末ＩＤのＩＤ空間に応じて異なる。例えば、以下のように、ビット長８bitの４進数の場合には、ｎ＝４となる。
【００４０】
ここでは、端末ＩＤをビット長８bitの４進数（「0000」〜「3333」）で表すこととした場合に、端末ＩＤが「1133」の端末装置１ｎが保持するルーティングテーブルについて説明する。
【００４１】
図３（ａ）に示すように、端末ＩＤのＩＤ空間を４分割することによって、最大桁が異なる４つのエリア「0XXX」、「1XXX」、「2XXX」、「3XXX」（Ｘは０から３の自然数、以下同様。）のグループに分ける。これらがレベル１のグループである。端末装置１ｎの端末ＩＤは「1133」であるため、端末装置１ｎは、図３（ａ）中左下のエリア「1XXX」であるレベル１のグループに属する。従って、端末装置１ｎのルーティングテーブルのレベル１のテーブルには、図４に示すように、端末装置１ｎの存在するレベル１のグループ以外のグループ（すなわち、「0XXX」のエリア、「2XXX」のエリア、「3XXX」のエリアの各グループ）に存在する端末装置１の端末ＩＤ及びＩＰアドレスが記憶される。このテーブルでは、「0XXX」のエリアの端末ＩＤとして「0100」、「2XXX」のエリアの端末ＩＤとして「2133」、「3XXX」のエリアの端末ＩＤとして「3213」のそれぞれの端末ＩＤ及びＩＰアドレスが記憶されている。
【００４２】
次に、図３（ｂ）に示すように、レベル１のグループのうち端末装置１ｎが属するグループをさらに４分割して、エリア「10XX」、「11XX」、「12XX」、「13XX」のグループに分ける。これらがレベル２のグループである。端末装置１ｎは、自装置１ｎの端末ＩＤが「1133」であるため、端末装置１ｎのルーティングテーブルのレベル２のテーブルには、図４に示すように、端末装置１ｎが属するレベル２のグループ（「11XX」のエリアのグループ）以外のレベル２のグループ（すなわち、「10XX」のエリア、「12XX」のエリア、「13XX」のエリアの各グループ）にそれぞれ属する端末装置１の端末ＩＤ及びＩＰアドレスが記憶される。このテーブルでは、「10XX」のエリアの端末ＩＤとして「1003」、「12XX」のエリアの端末ＩＤとして「1221」、「13XX」のエリアの端末ＩＤとして「1313」のそれぞれの端末ＩＤ及びＩＰアドレスが記憶されている。
【００４３】
以下同様に、レベル２のグループのうち端末装置１ｎが属するグループをさらに４分割して、エリア「110X」、「111X」、「112X」、「113X」のグループ（レベル３のグループ）に分け、端末装置１ｎが属するレベル３のグループ「113X」以外のレベル３のグループ（すなわち、「110X」のエリア、「111X」のエリア、「112X」のエリアの各グループ）にそれぞれ属する端末装置１の端末ＩＤ及びＩＰアドレスが記憶される。また、レベル３のグループのうち端末装置１ｎが属するグループをさらに４分割して、「1130」、「1131」、「1132」、「1133」のグループ（レベル４のグループ）に分け、端末装置１ｎが属するレベル４のグループ「1133」以外のレベル４のグループ（すなわち、「1130」、「1131」、「1132」の各グループ）にそれぞれ属する端末装置１の端末ＩＤ及びＩＰアドレスが記憶される。なお、上記グループに端末装置１が存在しない場合には、端末ＩＤ及びＩＰアドレスの欄は空白となる。
【００４４】
このように情報配信システムＳにおいては、この情報配信システムＳにおける複数の端末装置１のうち一部の端末装置１の識別情報である端末ＩＤ及び所在情報であるＩＰアドレスを関連付けたルーティングテーブルを各端末装置１が有している。
【００４５】
［１．３．コンテンツ情報の公開方法］
このような構成の情報配信システムＳの中で、例えば、ある端末装置１が新しいコンテンツ情報を、情報配信システムＳ上の他の端末装置１から検索可能となるように公開する際の手法について図面を参照して説明する。図５はコンテンツ登録メッセージがＤＨＴルーティングにより転送される様子を示す図である。
【００４６】
まず、コンテンツ投入装置１０は、新たなコンテンツ情報を情報配信システムＳに投入（配布）しようとするとき、この新たなコンテンツ情報を投入する端末装置１を、ランダムに決定する。
【００４７】
コンテンツ投入装置１０から投入されたコンテンツ情報を内部の記憶手段（コンテンツ情報記憶手段）に記憶してコンテンツ保持端末装置となった端末装置１は、ルーティングテーブルを参照し、記憶手段に記憶したコンテンツ情報のコンテンツＩＤと同じ端末ＩＤを持つ端末装置１に向けて（この端末装置１が実在するか否かはこの時点ではわからない。）、自端末装置（コンテンツ情報を保持するコンテンツ保持端末装置として）の所在情報であるＩＰアドレス等の登録を要求するメッセージ（以下、「コンテンツ登録メッセージ」と呼ぶ。）を送信する。
【００４８】
具体的には、図５に示すように、例えば、端末装置１ｍがコンテンツＩＤ「3020」のコンテンツ保持端末装置となったとき、端末装置１ｍは、コンテンツＩＤ「3020」を宛先識別情報としたコンテンツ登録メッセージを生成し、このコンテンツ登録メッセージを自己が保持しているルーティングテーブルを参照して送信する。端末装置１ｍが、図４に示すルーティングテーブルのレベル１のテーブルと同様のルーティングテーブルを持っていたとすると、コンテンツＩＤ「3020」は「3XXX」のエリアであるため、当該「3XXX」のエリアに属す端末装置１のうち、ＩＰアドレスを知っている（すなわち、自己が保持しているルーティングテーブルにＩＰアドレスが記憶されている）端末装置１ａ（端末ＩＤ「3213」）に対してコンテンツ登録メッセージを送信する。このコンテンツ登録メッセージはコンテンツ保持端末装置として保持したコンテンツ情報のコンテンツＩＤを含むものであり、このコンテンツＩＤはコンテンツ登録メッセージにおいて宛先識別情報として用いられる。この処理は、後述する制御部１０１が行うものである。このように、端末装置１の制御部１０１は、記憶手段に記憶したコンテンツ情報に割り当てられる識別情報であるコンテンツＩＤを宛先識別情報とし、ルーティングテーブルに基づいて、自装置の所在情報を含むコンテンツ登録メッセージを送信するコンテンツ登録メッセージ送信手段として機能する。
【００４９】
次に、コンテンツ登録メッセージを受信した端末装置１ａは、当該コンテンツ登録メッセージに含まれる当該コンテンツＩＤ及びコンテンツ保持端末装置の端末ＩＤやＩＰアドレス等（以下、これらを「コンテンツインデックス情報」と呼ぶ。）をコンテンツ所在情報記憶手段に記憶する。さらに、端末装置１ａは、このコンテンツ登録メッセージが自端末装置１ａ宛のメッセージであるか否かを判定する。自端末装置１ａ宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報が自端末装置１ａの識別情報である端末ＩＤと近いか否かが判定される。即ち、宛先識別情報に対して、端末装置１ａ自身が保持しているルーティングテーブル（テーブルの値は図示しない）に記憶されている端末装置１の端末ＩＤから、一番近い端末装置１の端末ＩＤが、自身であるか他の端末装置１であるかを判定する。
【００５０】
そして、自端末装置１ａの端末ＩＤよりも他の端末装置１の端末ＩＤの方が、宛先識別情報に近いため、端末装置１ａは、当該端末装置１ａ自身が保持しているルーティングテーブルのレベル２のテーブルを参照して、「30XX」のエリアに属す端末装置１のうち、ＩＰアドレスを知っている端末装置１ｂ（端末ＩＤ「3031」）に対してコンテンツ登録メッセージを転送する。
【００５１】
このように、コンテンツＩＤの桁を上から順に適合していく要領で、コンテンツ登録メッセージに含まれる情報の記憶とコンテンツ登録メッセージの転送が進み、最終的にコンテンツ登録メッセージの宛先識別情報に近い端末ＩＤを有する端末装置１ｃに辿り着くと、当該端末装置１ｃ自身がそのコンテンツ情報のコンテンツルート端末装置となるべきだと判断し、当該コンテンツ登録メッセージに含まれるコンテンツインデックス情報をコンテンツ所在情報記憶手段に記憶する。そして、後述するように、他の端末装置１からコンテンツ検索メッセージを受信すると、コンテンツ検索メッセージを送信した端末装置１へコンテンツ保持端末装置の所在情報であるＩＰアドレスを記憶したコンテンツインデックス情報の中から選択して通知する。なお、上述のようにルーティングテーブルを用いたメッセージの転送をＤＨＴルーティングと呼ぶ。
【００５２】
ところで、コンテンツルート端末装置におけるコンテンツインデックス情報の保持は、図６に示すようなコンテンツインデックステーブルにより行われる。図６はコンテンツルート端末装置１ｃにおけるコンテンツインデックステーブルの例を示したものであり、自端末装置が管理対象であるコンテンツＩＤ「3020」のコンテンツ情報を保持するコンテンツ保持端末装置の端末ＩＤ、ＩＰアドレスなどを記憶している。
【００５３】
［１．４．コンテンツ情報の取得方法］
次に、図７を参照して、コンテンツ情報を保持している端末装置１の検索方法の一例について説明する。図７は、ＤＨＴによりコンテンツ情報を保持している端末装置１が検索される様子の一例を示す図である。
【００５４】
ここでは、端末ＩＤ「1133」の端末装置１ｎがコンテンツリクエスト端末装置として、コンテンツＩＤ「3020」を有するコンテンツ情報を探す際の手順について説明する。
【００５５】
コンテンツリクエスト端末装置１ｎは、図７に示すように、自装置のルーティングテーブルを参照して、コンテンツＩＤ「3020」と同じエリア「3XXX」の端末ＩＤを持つ端末装置１の端末ＩＤを宛先とし、コンテンツＩＤ「3020」を宛先識別情報として、コンテンツ保持端末装置情報（コンテンツ保持端末装置の所在情報であるＩＰアドレスを含む情報）の送信要求のメッセージ（以下、「コンテンツ検索メッセージ」と呼ぶ。）を送信する（図７に示す（１）参照。）。この処理は、後述する制御部１０１が行うものである。このように、端末装置１の制御部１０１は、他の端末装置１であるコンテンツ保持端末装置が記憶するコンテンツ情報に割り当てられる識別情報を宛先識別情報として、ルーティングテーブルに基づいて、コンテンツ保持端末装置を検索するコンテンツ検索メッセージを送信するコンテンツ検索メッセージ送信手段としての機能を有する。
【００５６】
そして、このコンテンツ検索メッセージも、上記コンテンツ登録メッセージと同様にルーティングテーブルに従って、次々と転送されていき（図７に示す（２）参照。）、最終的に当該コンテンツＩＤ「3020」のコンテンツ情報を管理するコンテンツルート端末装置である端末装置１ｃ（端末ＩＤ「3011」）に辿り着くと、当該コンテンツルート端末装置１ｃは、コンテンツ検索メッセージに含まれるコンテンツＩＤ「3020」を、自身が管理しているコンテンツインデックステーブルに記憶したコンテンツインデックス情報の中から検索し、当該コンテンツＩＤ「3020」のコンテンツ情報を所有しているコンテンツ保持端末装置（ここでは、端末装置１ｍとする。）のＩＰアドレス等をコンテンツリクエスト端末装置１ｎに返信する（図７に示す（３）参照。）。
【００５７】
コンテンツリクエスト端末装置１ｎは、上記コンテンツルート端末装置１ｃから、コンテンツＩＤ「3020」のコンテンツ情報の所在情報、即ち、コンテンツＩＤ「3020」のコンテンツ情報を保持するコンテンツ保持端末装置１ｍのＩＰアドレスを受信して知ることになり、コンテンツＩＤ「3020」のコンテンツ保持端末装置１ｍに、コンテンツ情報の送信要求（以下、「コンテンツ情報送信要求メッセージ」と呼ぶ。）を送信することにより（図７に示す（４）参照。）、当該コンテンツ保持端末装置１ｍから、そのコンテンツ情報を取得することになる（図７に示す（５）参照。）。この処理は、後述する制御部１０１が行うものである。このように、端末装置１の制御部１０１は、コンテンツ検索メッセージによって検索された端末装置１から当該コンテンツ情報を取得するコンテンツ取得手段としての機能を有する。
【００５８】
なお、コンテンツ登録メッセージの転送過程で、コンテンツルート端末装置以外にもコンテンツ保持端末装置の所在情報を記憶することになることから、コンテンツ検索メッセージが転送される過程で、コンテンツ検索メッセージを受信した端末装置１が、当該コンテンツ検索メッセージに示されたコンテンツＩＤを有するコンテンツ情報を保持する端末装置の所在情報を有しているときには、この端末装置１からコンテンツ保持端末装置の所在情報が通知される。
【００５９】
［１．５．動作履歴（ログ）の管理方法］
本実施形態において、各端末装置１は、自装置の動作履歴の情報を所定のタイミングで送信し、他の端末装置に管理させるようにしており、以下、その動作を図面を参照して具体的に説明する。図８は、ある端末装置の動作履歴の情報が他の端末装置に送信されるときの様子を示す図である。
【００６０】
各端末装置１は、自装置の動作履歴として、コンテンツ情報のダウンロード日時（取得日時）、再生日時及びアップロード日時（送信日時）などのコンテンツ情報の処理履歴のほか、他の端末装置１との通信エラー、コンテンツ情報のダウンロード処理時間やアップロード処理時間などの履歴、端末装置１内の動作エラーや負荷状態などの履歴などを自装置ログ記憶手段に記憶する。以下、このように自装置ログ記憶手段に記憶される動作履歴をログ情報と呼ぶ。
【００６１】
そして、各端末装置１は、自装置ログ記憶手段に記憶したログ情報を、所定のタイミングで他の端末装置へ送信するようにしている。例えば、所定期間（例えば、１日）のログ情報を所定期間（例えば、１日）毎に他の端末装置１へ送信して、所定期間毎のログ情報を他の端末装置１に管理させる。
【００６２】
ここで、ログ情報の送信先である他の端末装置１を、設定により、次のいずれかの方法で選択することができるように構成されている。
（１）ルーティングテーブルに所在情報が記憶された他の端末装置
（２）ランダムに決定した端末ＩＤを有する他の端末装置
【００６３】
上記（１）が選択されているとき、端末装置１は、自装置のルーティングテーブルから１又は２以上の他の端末装置１を選択する。例えば、図４に示すルーティングテーブルを有している場合、端末装置１は、レベル１の端末ＩＤ「0100」,「2133」,「3213」の端末装置を、ログ情報を送信する他の端末装置１として選択する。なお、端末装置１は、選択する他の端末装置１を、所定期間毎に変更する。例えば、レベル１の端末ＩＤの端末装置を選択した後、次に選択する他の端末装置１をレベル２の端末ＩＤを有する端末装置１とする。
【００６４】
また、上述のように所定の規則（所定期間毎に変更）に従って他の端末装置１を選択するのではなく、ランダムに１又は２以上の他の端末装置１をルーティングテーブルから選択するようにすることもできる。
【００６５】
上記（２）が選択されているとき、端末装置１は、ルーティングテーブルを用いることなく、ランダムに１又は２以上の端末ＩＤを決定することによって、ログ情報を送信する他の端末装置１を選択する。例えば、端末装置１は、端末ＩＤ「0231」,「2310」，「3001」の端末装置を他の端末装置１として選択する。
【００６６】
各端末装置１は、上述のようにログ情報を送信する他の端末装置１を選択すると、この選択した他の端末装置１に対して、自装置における所定期間のログ情報を投入（配布）する。このとき、端末装置１は、ルーティングテーブルに、選択した他の端末装置１と同一の端末ＩＤがあるときには、ルーティングテーブルを参照して、直接選択した他の端末装置１へログ情報を投入する。一方、ルーティングテーブルに、選択した他の端末装置１と同一の端末ＩＤがないときには、ルーティングテーブルを参照して、適切な端末装置１を選択してログ情報を送信する。このログ情報は、ＤＨＴルーティングにより転送されて、最終的には選択した他の端末装置１へ送信される。なお、選択した他の端末装置１が情報配信システムＳに存在しないときには、この端末装置１の端末ＩＤと最も近い端末装置１にログ情報が投入されることになる。
【００６７】
また、上述のようにランダムにログ情報を送信する他の端末装置１を選択するのではなく、ランダムにログ情報を要求させる他の端末装置１を選択するようにしてもよい。このとき、上記と同様に、端末装置１は、ルーティングテーブルを用いることなく、ランダムに１又は２以上の端末ＩＤを決定することによって、ログ情報を送信する他の端末装置１を選択する。そして、この選択した他の端末装置１に対して、自装置における所定期間のログ情報を投入する準備があることをルーティングを参照して通知する。この通知を直接又はＤＨＴルーティングによる転送により受信した他の端末装置１は、この通知を送信した端末装置１に対して、ログ情報の送信を要求して、当該ログ情報を取得する。
【００６８】
図８には、端末装置１ｅが自装置のログ情報を送信する他の端末装置１として端末装置１ｎを選択し、ログ情報を端末装置１ｎに送信したときの様子を示している（図８に示す（１）参照）。このとき、端末装置１ｅからは、ログ情報に加えて、端末装置１ｅの端末ＩＤ及びログ情報の日時の情報などが端末装置１ｎへ送信される。
【００６９】
端末装置１ｎは、端末装置１ｅからログ情報を受信すると、当該ログ情報に識別情報（以下、「ログＩＤ」とする。）を割り当てる。このログＩＤは、ログ情報毎の固有の識別情報であり、端末ＩＤやコンテンツＩＤと同様の長さ（例えば、32bit等）とし、例えば、ログ情報を生成した端末装置１の端末ＩＤ（例えば、「2102」）に、ログ情報の日付（例えば、2007年6月20日のログ情報の場合には、「20070620」）を並べた情報（例えば、「210220070620」）が、上記端末ＩＤやコンテンツＩＤを得るときと共通のハッシュ関数によりハッシュ化され、端末ＩＤやコンテンツＩＤと同一のＩＤ空間に配置される。
【００７０】
このようにログＩＤを割り当てた後、自装置内の後述する情報記憶手段に端末装置１ｅのログ情報をログＩＤと関連づけて記憶し、ログＩＤ「3113」のログ保持端末装置となる。このようにログ保持端末装置となった端末装置１ｎは、コンテンツ登録メッセージの送信と同様に、ルーティングテーブルを参照し、情報記憶手段に記憶したログ情報のログＩＤ「3113」と同じ端末ＩＤを持つ端末装置１に向けて（この端末装置１が実在するか否かはこの時点ではわからない。）、当該ログＩＤや自端末装置（ログ情報を保持するログ保持端末装置として）の所在情報であるＩＰアドレス等の登録を要求するメッセージ（以下、「ログ登録メッセージ」と呼ぶ。）を送信する（図８に示す（２）参照）。
【００７１】
そして、このログ登録メッセージも、上記コンテンツ登録メッセージと同様にルーティングテーブルに従って、次々と転送されていき（図８に示す（３）参照。）、その転送過程で、当該ログ登録メッセージに含まれる当該ログＩＤ及びログ保持端末装置の端末ＩＤやＩＰアドレス等（以下、これらを「ログインデックス情報」と呼ぶ。）が転送過程の端末装置１に記憶される。そして、最終的にログ登録メッセージの宛先識別情報に近い端末ＩＤを有する端末装置１ｄに辿り着くと、当該端末装置１ｄ自身がそのログ情報のログルート端末装置となるべきだと判断し、当該ログ登録メッセージに含まれるログインデックス情報を記憶する。
【００７２】
ログルート端末装置におけるログインデックス情報の保持は、図１０に示すようなログインデックステーブルにより行われる。図１０はログルート端末装置１ｄにおけるログインデックステーブルの例を示したものであり、自端末装置が管理対象であるログＩＤ「3113」のログ情報を保持するログ保持端末装置の端末ＩＤ、ＩＰアドレスなどを記憶している。
【００７３】
このように各端末装置１のログ情報は、所定期間毎に情報配信システムＳ内の他の端末装置１に投入されて保持されることになり、特に複数の端末装置１に同一のログ情報を分散して配置することができるので、ログ情報を生成した端末装置１やログ情報を保持することとなった端末装置が故障したときや情報配信システムから脱退したときであっても、情報配信システムＳ内でログ情報を管理することができる。
【００７４】
また、このログ情報は、情報配信システムＳに参加している端末装置１から取り出すことができるように構成されている。ここでは、例えば、情報配信システムＳの管理者の端末装置を端末ＩＤ「0213」の端末装置１ｈとし、この管理者が端末装置１ｅ（図８参照）のログ情報を取得する動作を一例に挙げて図９を参照しながら説明する。図９はログ情報を保持している端末装置が検索される様子の一例を示す図である。
【００７５】
まず、端末装置１ｈは、端末装置１ｅのログ情報を保持するログ保持端末装置の所在情報を取得するためのメッセージ（以下、「ログ検索メッセージ」とする。）を生成し、送信する（図９に示す（１）参照。）。このログ検索メッセージは、検索すべきログ情報のログＩＤを宛先識別情報とするものであり、コンテンツ検索メッセージと同様に、ＤＨＴルーティングにより転送される。
【００７６】
ここで、ログ検索メッセージによって検索すべきログ情報のログＩＤは、例えば、検索すべきログ情報が端末装置１ｅの2007年6月20日のログ情報であるとき、端末装置１ｅの端末ＩＤ「2102」に、ログ情報の日付「20070620」を並べた情報「210220070620」を、上記端末ＩＤやコンテンツＩＤを得るときと共通のハッシュ関数によりハッシュ化することによって得る。
【００７７】
上記コンテンツ登録メッセージと同様に、ログ検索メッセージもルーティングテーブルに従って、次々と転送されていき（図９に示す（２）参照。）、最終的に当該ログＩＤ「3113」のログ情報を管理するログ管理端末装置である端末装置１ｄ（端末ＩＤ「3102」）に辿り着くと、当該ログルート端末装置１ｄは、ログ検索メッセージに含まれるログＩＤ「3113」を、自身が管理しているログインデックステーブルに記憶したログインデックス情報の中から検索し、当該ログＩＤ「3113」のログ情報を所有しているログ保持端末装置（ここでは、端末装置１ｎとする。）のＩＰアドレス等をログリクエスト端末装置１ｈに返信する（図９に示す（３）参照。）。
【００７８】
ログリクエスト端末装置１ｈは、上記ログルート端末装置１ｄから、ログＩＤ「3113」のログ情報の所在情報、即ち、ログＩＤ「3113」のログ情報を保持するログ保持端末装置１ｎのＩＰアドレスを受信して知ることになり、ログＩＤ「3113」のログ保持端末装置１ｎに、ログ情報の送信要求（以下、「ログ情報送信要求メッセージ」と呼ぶ。）を送信することにより（図９に示す（４）参照。）、当該ログ保持端末装置１ｎから、そのログ情報を取得することになる（図９に示す（５）参照。）。
【００７９】
なお、ログ登録メッセージの転送過程で、ログルート端末装置以外にもログ保持端末装置の所在情報を記憶することになることから、ログ検索メッセージが転送される過程で、ログ検索メッセージを受信した端末装置１が、当該ログ検索メッセージに示されたログＩＤを有するログ情報を保持するログ保持端末装置の所在情報を有しているときには、この端末装置１からログ保持端末装置の所在情報が通知される。
【００８０】
このように本実施形態における情報配信システムＳでは、ルーティングテーブルを用いたＤＨＴルーティングによって、ログ情報を生成する端末装置１とは異なる端末装置１に保持させたログ情報を容易に取り出すことができる。特に、ログ情報が所定期間毎に生成され、端末装置１に記憶されているため、必要な期間のログ情報を取得することが容易になる。また、ログ情報は期間毎に分散して複数の端末装置１に記憶されることになるため、一つの端末装置１からログ情報を取得することに比べネットワーク上のトラフィックの混雑を抑制することができる。
【００８１】
なお、上述においては、ログ保持端末装置（例えば、図８における端末装置１ｎ）において、ログ情報にログＩＤを割り当てることとしたが、ログ情報を投入する端末装置（例えば、図８における端末装置１ｅ）において、ログ情報にログＩＤを割り当てることもできる。この場合、ログ情報を投入する端末装置は、ログ情報に加えて、ログＩＤをログ保持端末装置へ送信する。なお、ログＩＤの割り当て方法は、上述と同様である。
【００８２】
以下、第１実施形態における情報配信システムＳにおける端末装置１の構成及び動作について図面を参照して更に具体的に説明する。
【００８３】
［１．６．端末装置の構成及び動作の説明］
まず、図面を参照して、端末装置１の構成及び動作について説明する。
【００８４】
（端末装置の構成について）
まず、端末装置１の構成について説明する。図１１は、本実施形態に係る情報配信システムＳにおける端末装置１の概略構成を示す図である。
【００８５】
端末装置１は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能であり、図１１に示すように、制御部１０１と、各種データやパラメータを記憶する書き換え可能な記憶部１０２と、コンテンツ情報やログ情報などの各種情報を記憶するハードディスク（ＨＤＤ）１０３と、コンテンツ投入装置１０や他の端末装置１から取得したコンテンツ情報を一時的に記憶するバッファメモリ１０４と、ハードディスク１０３やバッファメモリ１０４に記憶したコンテンツ情報を順次取り出してデコードするデコーダ部１０５と、このデコーダ部１０５によってデコードされたコンテンツ情報のうち映像情報を後述の表示部１０７で表示可能な情報に変換処理する映像処理部１０６と、この映像処理部１０６からの出力に基づいて映像を表示する液晶表示装置（ＬＣＤ）などの表示部１０７と、デコーダ部１０５によってデコードされたコンテンツ情報のうち音声情報を後述のスピーカ１０９で音波として出力可能な情報に変換処理する音声処理部１０８と、この音声処理部１０８からの出力に基づいて音波を出力するスピーカ１０９と、マウス及びキーボードなどからなる入力部１１０と、ネットワーク８を介して、コンテンツ投入装置１０や他の端末装置１と通信するための通信部１１３とを備えている。なお、制御部１０１、記憶部１０２、ハードディスク１０３、バッファメモリ１０４、デコーダ部１０５、通信部１１３は、システムバス１２０を介して相互に接続されている。
【００８６】
制御部１０１は、ＣＰＵ（Central Processing Unit）、内部ＲＯＭ（Read Only Memory）及び内部ＲＡＭ（Random Access Memory）から構成される。この内部ＲＯＭには、情報配信システムＳに参加して、コンテンツ情報やログ情報を送受信するための情報処理プログラムが格納されており、ＣＰＵは内部ＲＯＭに記憶されている情報処理プログラムを読み出して実行することによって、上述したコンテンツ登録メッセージ送信手段、コンテンツ検索メッセージ送信手段、コンテンツ取得手段等、後述する自装置情報送信手段、登録メッセージ送信手段、検索メッセージ送信手段、情報取得手段、判定手段、所在情報送信手段、識別情報生成手段、所在情報削除手段等として機能する。
【００８７】
なお、この情報処理プログラムは、例えば、ネットワーク８に接続されたサーバ（例えば、コンテンツ投入装置１０）から、ネットワーク８及び通信部１１３を介して、制御部１０１の内部ＲＯＭにダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部１０１の内部ＲＯＭに読み込まれるようにしてもよい。
【００８８】
また、記憶部１０２は、ルーティングテーブルを記憶するルーティングテーブル記憶手段としての機能、コンテンツインデックステーブルを記憶するコンテンツ所在情報記憶手段としての機能、ログインデックステーブルを記憶する所在情報記憶手段としての機能などを有する。
【００８９】
また、ハードディスク１０３は、コンテンツ投入装置１０や他の端末装置１から取得したコンテンツ情報を記憶するコンテンツ情報記憶手段としての機能、自装置のログ情報を記憶する自装置ログ記憶手段としての機能、他の端末装置１のログ情報を記憶する情報記憶手段としての機能などを有する。
【００９０】
（端末装置１の動作）
以上のように構成された端末装置１の動作を具体的に説明する。図１２〜図１８は端末装置１の動作内容の一例を示すフローチャートである。なお、以下の各処理は、端末装置１の制御部１０１が上述した各手段等として機能することによって実行されるものである。なお、ここでは、本実施形態における特徴的な部分であるログ情報の送受信の動作を主として説明しており、一部の動作内容は省略している。
【００９１】
図１２に示すように、端末装置１においてメイン電源スイッチ（図示せず）がＯＮ状態にされたときやリセットスイッチ（図示せず）が操作されたとき、制御部１０１のＣＰＵは、記憶部１０２のアクセス許可、内部ＲＡＭの作業領域確保等の初期設定動作を実行し、内部ＲＯＭに記憶した情報処理プログラムを読み出して、制御部１０１としての機能を動作状態とした後（ステップＳ１０）、情報配信システムＳへ参加してステップＳ１１に処理を移行する。
【００９２】
ここで、情報配信システムＳへの参加は、制御部１０１による処理によって次のように行われる。まず、制御部１０１は、自装置のＩＰアドレスを所定のハッシュ関数で演算することによって自端末装置の端末ＩＤを得る。制御部１０１は、この端末ＩＤを宛先識別情報とし自装置の所在情報（ＩＰアドレスなど）を含む参加メッセージを通信部１１３を介して所定の端末装置１へ送信する。この参加メッセージはＤＨＴルーティングにより転送される。そして、この参加メッセージを受信した他の端末装置１は、自装置のルーティングテーブルから参加メッセージの転送回数に応じたレベルのテーブルの情報を取り出して、参加メッセージを送信した端末装置１へその情報を送信する。制御部１０１は、このように参加メッセージを受信した端末装置１からルーティングテーブルの情報を通信部１１３を介して取得し、これらの情報に基づいてルーティングテーブルを生成し、情報配信システムＳに参加する。
【００９３】
また、制御部１０１は、情報配信システムＳへの参加時にコンテンツ投入装置１０からコンテンツカタログを取得し、表示部１０７にこのコンテンツカタログの内容を表示する。これにより、端末装置１の利用者は、情報配信システムＳにおいて配信可能なコンテンツ情報を把握し、所定の操作を行って所望のコンテンツ情報を取得することが可能となる。
【００９４】
ステップＳ１１において、制御部１０１は、ログ投入契機になったか否かを判定する。制御部１０１は、内部のタイマ（図示せず）によって、ログ投入契機を所定期間毎（例えば、１日毎）に発生させる。また、制御部１０１は、ログ情報が所定量（例えば、１，０００件以上のログ情報）以上になったときにもログ投入契機を発生させる。なお、この所定期間や所定量は、入力部１１０の入力によって設定及びその変更が可能である。
【００９５】
この処理において、ログ投入契機になったと判定すると（ステップＳ１１：Ｙｅｓ）、制御部１０１は、ログ投入処理を起動する（ステップＳ１２）。このログ投入処理は、図１３におけるステップＳ３０〜Ｓ３２の処理であり、後で詳述する。
【００９６】
一方、ログ投入契機ではないと判定すると（ステップＳ１１：Ｎｏ）、制御部１０１は、投入ログを受信したか否かを判定する（ステップＳ１３）。すなわち、制御部１０１は、他の端末装置１から送信される当該他の端末装置１のログ情報を通信部１１３を介して受信したか否かを判定する。
【００９７】
この処理において、他の端末装置１から投入ログを受信したと判定すると（ステップＳ１３：Ｙｅｓ）、制御部１０１は、投入ログ受信処理を起動する（ステップＳ１４）。この投入ログ受信処理は、図１４におけるステップＳ４０〜Ｓ４２の処理であり、後で詳述する。
【００９８】
一方、他の端末装置１から投入ログを受信していないと判定すると（ステップＳ１３：Ｎｏ）、制御部１０１は、他の端末装置１から送信されるログ登録メッセージを通信部１１３を介して受信したか否かを判定する（ステップＳ１５）。
【００９９】
この処理において、ログ登録メッセージを受信したと判定すると（ステップＳ１５：Ｙｅｓ）、制御部１０１は、ログ登録メッセージ受信処理を起動する（ステップＳ１６）。このログ登録メッセージ受信処理は、図１５におけるステップＳ５０〜Ｓ５２の処理であり、後で詳述する。
【０１００】
一方、ログ登録メッセージを受信していないと判定すると（ステップＳ１５：Ｎｏ）、制御部１０１は、ログ情報取得指示があるか否かを判定する（ステップＳ１７）。例えば、制御部１０１は、端末装置１の利用者による入力部１１０への所定操作がなされたときにログ情報取得指示が行われたと判定する。
【０１０１】
この処理において、ログ情報取得指示があると判定すると（ステップＳ１７：Ｙｅｓ）、制御部１０１は、ログ情報取得処理を起動する（ステップＳ１８）。このログ情報取得処理は、図１６におけるステップＳ６０〜Ｓ６５の処理であり、後で詳述する。
【０１０２】
一方、ログ情報取得指示がないと判定すると（ステップＳ１７：Ｎｏ）、制御部１０１は、他の端末装置１から送信されるログ検索メッセージを通信部１１３を介して受信したか否かを判定する（ステップＳ１９）。
【０１０３】
この処理において、ログ検索メッセージを受信したと判定すると（ステップＳ１９：Ｙｅｓ）、制御部１０１は、ログ検索メッセージ受信処理を起動する（ステップＳ２０）。このログ検索メッセージ受信処理は、図１７におけるステップＳ７０〜Ｓ７４の処理であり、後で詳述する。
【０１０４】
一方、ログ検索メッセージを受信していないと判定すると（ステップＳ１９：Ｎｏ）、制御部１０１は、他の端末装置１から送信されるログ送信要求を通信部１１３を介して受信したか否かを判定する（ステップＳ２１）。
【０１０５】
この処理において、ログ送信要求を受信したと判定すると（ステップＳ２１：Ｙｅｓ）、制御部１０１は、ログ送信処理を起動する（ステップＳ２２）。このログ送信処理は、図１８におけるステップＳ８０〜Ｓ８２の処理であり、後で詳述する。
【０１０６】
一方、ログ送信要求を受信していないと判定すると（ステップＳ２１：Ｎｏ）、制御部１０１は、その他の処理を行う必要があるか否かを判定する（ステップＳ２３）。そして、その他の処理が必要であるとき（ステップＳ２３：Ｙｅｓ）、制御部１０１は、当該その他の処理を行う（ステップＳ２４）。例えば、コンテンツ投入装置１０から送信されるコンテンツ情報を通信部１１３を介して受信したとき、ルーティングテーブルに基づいて、コンテンツ登録メッセージを送信する。また、入力部１１０を介して利用者からのコンテンツ情報の取得操作があったとき、当該コンテンツ情報のコンテンツＩＤに基づいてコンテンツ検索メッセージを生成して、ルーティングテーブルに基づいて、このコンテンツ検索メッセージを通信部１１３を介して送信する。また、制御部１０１は、ハードディスク１０３に記憶した他の端末装置１のログ情報が記憶してから所定期間（例えば、１ヶ月）経過したか否かを判定し、所定期間経過したと判定すると、所定期間が経過したログ情報をハードディスク１０３から削除する。また、制御部１０１は、記憶部１０２のログインデックステーブルに記憶したログ保持端末装置の所在情報がその記憶から所定期間（例えば、１ヶ月）経過したか否かを判定し、所定期間経過したと判定すると、所定期間が経過したログ情報をハードディスク１０３から削除する。このように制御部１０１は、他の端末装置１の所在情報をログインデックステーブルに記憶した後、所定期間経過したときに、ログインデックステーブルに記憶したログ保持端末装置の所在情報を削除する所在情報削除手段として機能する。
【０１０７】
ステップＳ２３においてその他の処理が必要ではないと判定したとき（ステップＳ２３：Ｎｏ）、又はステップＳ１２，Ｓ１４，Ｓ１６，Ｓ１８，Ｓ２０，Ｓ２２，Ｓ２４の処理が終了したとき、制御部１０１は、終了指示を検知したか否かを判定する（ステップＳ２５）。例えば、自端末装置の電源がＯＦＦ状態へ移行したとき、制御部１０１は、終了指示を検知する。
【０１０８】
ステップＳ２５において、終了指示を検知したと判定すると（ステップＳ２５：Ｙｅｓ）、制御部１０１は、メイン処理を終了し、一方、終了指示を検知していないと判定すると（ステップＳ２５：Ｎｏ）、制御部１０１は、ステップＳ１１からの処理を繰り返す。
【０１０９】
次に、ステップＳ１２において起動されるログ投入処理について図１３のフローチャートを参照して具体的に説明する。図１３は端末装置１におけるログ投入処理のフローチャートである。
【０１１０】
図１３に示すように、ログ投入処理を開始すると、制御部１０１は、所定期間のログ情報をハードディスク１０３から取り出す（ステップＳ３０）。例えば、ハードディスク１０３に2007年6月20日分〜2007年6月25日分のログ情報があり、2007年6月25日分のログ情報がまだ送信されていないときには、2007年6月25日分のログ情報を取り出す。ハードディスク１０３に記憶されているログ情報は、制御部１０１の処理によって記憶されるものであり、上述したように、コンテンツ情報の取得日時、再生日時及び送信日時などのコンテンツ情報の処理履歴のほか、他の端末装置１との通信エラーや端末装置１内の動作エラーなどの各種エラー情報、コンテンツ情報の取得処理時間や送信処理時間、端末装置１内の負荷状態などの履歴などを自装置ログ記憶手段としてのハードディスク１０３に記憶する。なお、エラー情報には、エラー内容とエラー日時などが含まれ、コンテンツ情報の処理履歴には、日時情報や通信先端末装置の情報などが含まれ、各々状態が発生したときにハードディスク１０３に記憶する。また、端末装置１内の負荷状態には、負荷率や負荷原因などが含まれ、定期的にハードディスク１０３に記憶されるものであるが、負荷率が所定値以上になったときにハードディスク１０３に記憶されるようにしてもよい。
【０１１１】
次に、制御部１０１は、記憶部１０２に記憶したルーティングテーブルからログ情報の投入先の端末装置１（以下、「ログ投入先端末装置」とする。）を２以上決定する（ステップＳ３１）。投入先の端末装置１の決定方法は［１．５．動作履歴（ログ）の管理方法］で説明した通りである。
【０１１２】
このように決定したログ投入先端末装置に対して、自装置の端末ＩＤ、投入するログ情報及びこのログ情報の日時情報（例えば、2007年6月25日分のログ情報の場合には、2007年6月25日）を含むログ投入要求を通信部１１３を介して送信して（ステップＳ３２）、ログ投入処理を終了する。このように制御部１０１は、ルーティングテーブルに所在情報が記憶された他の端末装置１をランダムに２以上選択し、当該選択した他の端末装置１へ自装置のログ情報を通信部１１３を介して送信する自装置情報送信手段として機能する。なお、制御部１０１は、ルーティングテーブルを参照せず、情報配信システムＳに割り当てられる端末ＩＤのうち２以上の端末ＩＤをランダムに選択し、選択した端末ＩＤを宛先識別情報とし、記憶部１０２のルーティングテーブルに基づいて、自装置のログ情報を送信する自装置情報送信手段として機能させるようにしてもよい。
【０１１３】
次に、ステップＳ１４において起動される投入ログ受信処理について図１４のフローチャートを参照して具体的に説明する。図１４は端末装置１における投入ログ受信処理のフローチャートである。
【０１１４】
図１４に示すように、投入ログ受信処理を開始すると、制御部１０１は、ステップＳ１３において受信したと判定した他の端末装置１の端末ＩＤとログ情報の日時情報からログＩＤを算出する（ステップＳ４０）。ログＩＤの算出方法は［１．５．動作履歴（ログ）の管理方法］で説明した通りである。このように、制御部１０１は、ハードディスク１０３に他の端末装置１のログ情報を記憶するとき、当該他の端末装置１の識別情報である端末ＩＤ及び当該ログ情報の日付に基づいて、ハードディスク１０３に記憶したログ情報に識別情報であるログＩＤを割り当てる識別情報生成手段として機能する。
【０１１５】
次に、制御部１０１は、ステップＳ１３において受信したと判定した他の端末装置１のログ情報をステップＳ４０で算出したログＩＤに関連づけて、情報記憶手段としてのハードディスク１０３に記憶する（ステップＳ４１）。このように制御部１０１は、他の端末装置１から送信される当該他の端末装置のログ情報を記憶する情報記憶制御手段として機能する。
【０１１６】
その後、制御部１０１は、ログＩＤに応じた宛先にログ登録メッセージを送信して（ステップＳ４２）、投入ログ受信処理を終了する。具体的には、ステップＳ４０で算出したログＩＤを宛先識別情報とし、自装置の端末ＩＤ及びＩＰアドレスなどを含むログ登録メッセージを通信部１１３を介して送信する。このとき、制御部１０１は、記憶部１０２に記憶されているルーティングテーブルを参照して、宛先識別情報に近い端末装置を、ログ登録メッセージを送信する端末装置１として決定し、当該端末装置１へログ登録メッセージを送信する。このように制御部１０１は、情報記憶手段としてのハードディスク１０３にログ情報を記憶したとき、当該ログ情報に割り当てられる識別情報であるログＩＤを宛先識別情報とし、記憶部１０２に記憶したルーティングテーブルに基づいて、自装置の所在情報であるＩＰアドレスを含む登録メッセージを送信する登録メッセージ送信手段として機能する。
【０１１７】
次に、ステップＳ１６において起動されるログ登録メッセージ受信処理について図１５のフローチャートを参照して具体的に説明する。図１５は端末装置１におけるログ登録メッセージ受信処理のフローチャートである。
【０１１８】
図１５に示すように、ログ登録メッセージ受信処理を開始すると、制御部１０１は、ログ登録メッセージに含まれる情報を記憶部１０２のログインデックステーブルに記憶する（ステップＳ５０）。ここで、「ログ登録メッセージに含まれる情報」として、ログ保持端末装置の所在情報であるＩＰアドレスやログ保持端末装置の端末ＩＤなどがある。このように制御部１０１は、通信部１１３を介して受信したメッセージがログ登録メッセージであるとき、当該ログ登録メッセージに含まれる他の端末装置の所在情報を所在情報記憶手段としてのログインデックステーブルに記憶する所在情報記憶制御手段として機能する。
【０１１９】
次に、制御部１０１は、ログ登録メッセージが自装置宛であるか否かを判定する（ステップＳ５１）。自装置宛のメッセージであるか否かは、ログ登録メッセージの宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、ログ登録メッセージの宛先識別情報が自装置の識別情報である端末ＩＤと近いときに、自装置宛のメッセージであると判定される。
【０１２０】
この処理において、ログ登録メッセージが自装置宛のメッセージではないと判定すると（ステップＳ５１：Ｎｏ）、制御部１０１は、このログ登録メッセージを通信部１１３を介して他の端末装置１へ転送する（ステップＳ５２）。すなわち、制御部１０１は、記憶部１０２に記憶したルーティングテーブルに記憶した端末ＩＤのうち、ログ登録メッセージの宛先識別情報に近い端末ＩＤを有する端末装置１の所在情報をルーティングテーブルから取り出して、この所在情報に対してログ登録メッセージを転送する。
【０１２１】
ステップＳ５２の処理が終了したとき、或いは、ログ登録メッセージが自装置宛のメッセージであると判定すると（ステップＳ５１：Ｙｅｓ）、制御部１０１は、ログ登録メッセージ受信処理を終了する。
【０１２２】
次に、ステップＳ１８において起動されるログ情報取得処理について図１６のフローチャートを参照して具体的に説明する。図１６は端末装置１におけるログ情報取得処理のフローチャートである。
【０１２３】
図１６に示すように、ログ情報取得処理を開始すると、制御部１０１は、入力部１１０からの操作指示に応じたログ情報のログＩＤを判断する（ステップＳ６０）。この入力部１１０からの操作指示には、端末装置１の端末ＩＤとログ情報の日時が含まれる。すなわち、端末装置１の利用者は、取得したいログ情報の端末装置１の端末ＩＤとログ情報の日時を入力部１１０から入力し、制御部１０１は、これらの情報に基づいてログＩＤを判断する。例えば、端末ＩＤ「2102」における2007年6月20日のログ情報の取得が入力部１１０への入力により指示された場合、これらの情報を並べた情報（例えば、「210220070620」）を所定のハッシュ関数によりハッシュ化することによって、ログＩＤが算出される。
【０１２４】
次に、制御部１０１は、判定したログＩＤに基づいた宛先へログ検索メッセージを送信する（ステップＳ６１）。具体的には、制御部１０１は、ステップＳ６０で算出したログＩＤを宛先識別情報として、当該ログＩＤと自装置の所在情報であるＩＰアドレスとを含むログ検索メッセージを通信部１１３を介して送信する。このとき、制御部１０１は、記憶部１０２に記憶されているルーティングテーブルを参照して、宛先識別情報に近い端末装置を、ログ検索メッセージを送信する端末装置１として決定し、当該端末装置１へログ検索メッセージを送信する。このように制御部１０１は、他の端末装置１が記憶するログ情報に割り当てられる識別情報であるログＩＤを宛先識別情報として、記憶部１０２に記憶したルーティングテーブルに基づいて、ログの情報を保持する端末装置を検索する検索メッセージを送信する検索メッセージ送信手段として機能する。
【０１２５】
このようにログ検索メッセージを送信した後、制御部１０１は、ログ保持端末装置の所在情報（ＩＰアドレス）を通信部１１３を介して受信したか否かを判定する（ステップＳ６２）。
【０１２６】
この処理において、ログ保持端末装置の所在情報を受信したと判定すると（ステップＳ６２：Ｙｅｓ）、制御部１０１は、受信した所在情報に基づいて、ログ保持端末装置に対してログ情報の送信を要求し（ステップＳ６３）、当該ログ保持端末装置からログ情報を取得する（ステップＳ６４）。このように制御部１０１は、ログ検索メッセージによって検索された端末装置１からログ情報を取得する情報取得手段として機能する。
【０１２７】
一方、ログ保持端末装置の所在情報を受信していないと判定すると（ステップＳ６２：Ｎｏ）、制御部１０１は、表示部１０７にログ情報の取得エラーの表示を行う（ステップＳ６５）。ステップＳ６４の処理又はステップＳ６５の処理が終了すると、制御部１０１は、ログ情報取得指示処理を終了する。
【０１２８】
次に、ステップＳ２０において起動されるログ検索メッセージ受信処理について図１７のフローチャートを参照して具体的に説明する。図１７は端末装置１におけるログ検索メッセージ受信処理のフローチャートである。
【０１２９】
図１７に示すように、ログ検索メッセージ受信処理を開始すると、制御部１０１は、受信したログ検索メッセージの検索対象であるログ保持端末装置の所在情報を保持しているか否かを判定する（ステップＳ７０）。すなわち、制御部１０１は、受信したログ検索メッセージに示されるログＩＤのログ情報を保持する端末装置であるログ保持端末装置の所在情報が記憶部１０２のログインデックステーブルに含まれているか否かを判定する。このように制御部１０１は、受信したメッセージがログ検索メッセージであるとき、このログ検索メッセージの検索対象である端末装置１の所在情報がログインデックステーブルに記憶されているか否かを判定する判定手段として機能する。
【０１３０】
この処理において、ログ検索メッセージの検索対象であるログ保持端末装置の所在情報を保持していると判定すると（ステップＳ７０：Ｙｅｓ）、制御部１０１は、ログ検索メッセージに示されるログＩＤのログ情報を保持するログ保持端末装置の所在情報（ＩＰアドレス）を記憶部１０２に記憶したログインデックステーブルから取り出して、ログ検索メッセージの送信元端末装置へ送信する（ステップＳ７１）。このように制御部１０１は、ログ検索メッセージの検索対象であるログ保持端末装置の所在情報を保持していると判定したとき、ログ検索メッセージに示されたログＩＤのログ情報を保持するログ保持端末装置の所在情報をログ検索メッセージの送信元の端末装置へ送信する所在情報送信手段として機能する。
【０１３１】
一方、ログ検索メッセージの検索対象であるログ保持端末装置の所在情報を保持していないと判定すると（ステップＳ７０：Ｎｏ）、制御部１０１は、ログ検索メッセージが自装置宛であるか否かを判定する（ステップＳ７２）。自装置宛のメッセージであるか否かは、ログ検索メッセージの宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、ログ検索メッセージの宛先識別情報が自装置の識別情報である端末ＩＤと近いときに、自装置宛のメッセージであると判定する。
【０１３２】
この処理において、ログ検索メッセージが自装置宛のメッセージではないと判定すると（ステップＳ７２：Ｎｏ）、制御部１０１は、このログ検索メッセージを通信部１１３を介して転送する（ステップＳ７４）。すなわち、制御部１０１は、記憶部１０２に記憶したルーティングテーブルに記憶した端末ＩＤのうち、ログ検索メッセージの宛先識別情報に近い端末ＩＤを有する端末装置１の所在情報をルーティングテーブルから取り出して、この所在情報に対してログ検索メッセージを転送する。
【０１３３】
一方、ログ検索メッセージが自装置宛のメッセージであると判定すると（ステップＳ７２：Ｙｅｓ）、制御部１０１は、ログ検索メッセージの送信元の端末装置１に対し、通信部１１３を介して、ログ保持端末装置の所在情報を保持していない旨の通知を行う（ステップＳ７３）。ステップＳ７１，Ｓ７３，Ｓ７４の処理が終了すると、制御部１０１は、ログ検索メッセージ受信処理を終了する。
【０１３４】
次に、ステップＳ２２において起動されるログ送信処理について図１８のフローチャートを参照して具体的に説明する。図１８は端末装置１におけるログ送信処理のフローチャートである。
【０１３５】
図１８に示すように、ログ送信処理を開始すると、制御部１０１は、要求されたログ情報が記憶されているか否かを判定する（ステップＳ８０）。すなわち、制御部１０１は、要求されたログ情報がハードディスク１０３に記憶されているか否かを判定する。
【０１３６】
この処理において、要求されたログ情報が記憶されていると判定すると（ステップＳ８０：Ｙｅｓ）、制御部１０１は、ハードディスク１０３から要求されたログ情報を取り出して、要求元の端末装置１へ当該ログ情報を通信部１１３を介して送信する（ステップＳ８１）。一方、要求されたログ情報が記憶されていないと判定すると（ステップＳ８０：Ｎｏ）、制御部１０１は、ログ情報の送信ができない旨の通知を行う（ステップＳ８２）。ステップＳ８１，Ｓ８２の処理が終了すると、制御部１０１は、ログ送信処理を終了する。
【０１３７】
以上のように、各端末装置１のログ情報は、所定期間毎に情報配信システムＳ内の他の端末装置１に投入されて保持さることになり、特に複数の端末装置１に同一のログ情報を分散して配置することができるので、ログ情報を生成した端末装置１やログ情報を保持することとなった端末装置が故障したときや情報配信システムから脱退したときであっても、情報配信システムＳ内でログ情報を管理することができる。しかも、ルーティングテーブルを用いたＤＨＴルーティングによって、端末装置１に保持させたログ情報を容易に取り出すことができる。特に、ログ情報が所定期間毎に生成され、端末装置１に記憶されているため、必要な期間のログ情報を取得することが容易になる。また、ログ情報は期間毎に分散して複数の端末装置１に記憶されることになるため、一つの端末装置１からログ情報を取得することに比べネットワーク上のトラフィックの混雑を抑制することができる。
【０１３８】
［２．第２実施形態］
次に、第２実施形態における端末装置１の動作について説明する。第１実施形態における端末装置１では、自装置のログ情報を投入するときに、１又は２以上の端末装置を選択して直接ログ情報を投入することとしたが、本第２実施形態における端末装置１'では、１つの端末装置を選択してログ情報を投入し、このようにログ情報の投入を受けた端末装置１’がログ情報を記憶し、さらにこのログ情報を他の端末装置１'へ転送するようにしている。これにより、ログ情報を投入する端末装置１の処理負荷を低減することができる。なお、その他の動作については、第１実施形態における動作と同様であるため、ここでは説明を省略する。本第２実施形態の端末装置１'は、第１実施形態における端末装置１と基本的に同一構成であり、制御部１０１の内部ＲＯＭに記憶した情報処理プログラムの内容が一部異なる。
【０１３９】
まず、図１９を参照して、第２実施形態の端末装置１'におけるログ情報の投入方法について説明する。
【０１４０】
端末装置１'は、自装置のログ情報を投入（配布）する１つの端末装置１'を選択して、当該端末装置１'へログ情報を送信する。例えば、図１９には、端末装置１'ｅが自装置のログ情報を送信する他の端末装置１として端末装置１'ｉを選択し、投入するログ情報のログＩＤを「3113」として、ログＩＤのログ情報を当該端末装置１'ｉに送信したときの様子が示されている（図１９に示す（１）参照）。このとき、端末装置１'ｅからは、ログ情報に加えて、端末装置１ｅの端末ＩＤ及びログ情報の日時の情報など（以下、「投入ログ情報」とする。）が端末装置１'ｉへ送信される。
【０１４１】
端末装置１'ｉは、投入ログ情報を端末装置１'ｅから受信すると、この投入ログ情報の当該ログ情報にログＩＤを割り当てる。さらに、端末装置１'ｉは、記憶部１０２に記憶したルーティングテーブルに基づいて、投入ログ情報を転送する。このとき、端末装置１'ｉの制御部１０１は、ルーティングテーブルに記憶したレベル２に対応する端末装置１'（例えば、図４に示すルーティングテーブルを有しているとき、制御部１０１は、端末ＩＤ「1003」，「1221」，「1313」を有する端末装置１'）を選択して、投入ログ情報を転送する。この転送を受信した各端末装置１'は、さらにこの投入ログ情報を転送する。このとき、これらの端末装置１'の制御部１０１は、ルーティングテーブルに記憶したレベル３に対応する端末装置１'を選択して、投入ログ情報を転送する。このように、投入ログ情報は、転送される毎にルーティングテーブルのレベルを下げて転送する端末装置１'を選択するようにしており、これにより多数の端末装置１'に効率よく、ログ情報を記憶させることができる。なお、このように情報やメッセージを転送する方法は、本出願人が出願した特開２００６−２７７３３８号公報に記載されており、ここでは更なる説明を省略する。
【０１４２】
ここで、図２０は、本第２実施形態における端末装置１'の投入ログ受信処理のフローチャートを示す。
【０１４３】
図２０に示すように、制御部１０１は、上述したステップＳ４０の処理と同様に、投入ログ受信処理を開始すると、上述したステップＳ４０の処理と同様に、ログＩＤを算出する（ステップＳ１００）。その後、制御部１０１は、上述したステップＳ４１の処理と同様に、受信したログ情報をログＩＤに関連づけて記憶する（ステップＳ１０１）。
【０１４４】
次に、制御部１０１は、後述するレベル情報に基づいて転送先端末装置があるか否かを判定する（ステップＳ１０２）。転送先端末装置があるか否かは、レベル情報とルーティングテーブルのレベルとを比較して判断される。すなわち、ルーティングテーブルのレベルが４まであるときに、投入ログ情報に含まれるレベル情報が４であるときには、転送先端末装置がないと判定する。
【０１４５】
この処理において、転送先端末装置があると判定すると（ステップＳ１０２：Ｙｅｓ）、制御部１０１は、記憶部１０２に記憶したルーティングテーブルに基づいて、投入ログ情報を転送する端末装置を決定し、当該端末装置へ投入ログ情報を通信部１１３を介して転送する（ステップＳ１０３）。例えば、受信した投入ログ情報にレベル情報が含まれていないとき、制御部１０１は、ルーティングテーブルのレベル２に記憶されている端末装置１に対して、投入ログ情報を送信する。また、受信した投入ログ情報に含まれるレベル情報が３であるとき、制御部１０１は、ルーティングテーブルのレベル３に記憶されている端末装置１'に対して、投入ログ情報を送信する。なお、このレベル情報は、投入ログ情報を転送する端末装置１'が付与又は変更するものである。例えば、投入ログ情報にレベル情報が含まれていないときには、レベル情報を３とした投入ログ情報を転送し、投入ログ情報にレベル情報が含まれているときには、そのレベル情報のレベルを１だけ下げたレベル情報に変更した投入ログ情報を転送する。
【０１４６】
ステップＳ１０２において、転送先端末装置がないと判定したとき（ステップＳ１０２：Ｎｏ）、或いはステップＳ１０３の処理が終了したとき、制御部１０１は、上述したステップＳ４２の処理と同様に、ログＩＤに応じた宛先にログ登録メッセージを送信して（ステップＳ１０４）、投入ログ受信処理を終了する。
【０１４７】
このように、第２実施形態における端末装置１'は、投入ログ情報を転送させて、ログ情報を記憶させるものであり、多数の端末装置１'に効率よくログ保持端末装置を配置することができる。
【０１４８】
［３．第３実施形態］
第１実施形態及び第２実施形態においては、ログ検索メッセージの送信元の端末装置（ログリクエスト端末装置）に対してログ保持端末装置の所在情報を送信し、ログリクエスト端末装置がログ保持端末装置へログ情報の送信を要求することとしたが、本第３実施形態においては、ログ検索メッセージに対して、ログ保持端末装置の所在情報を保持する端末装置がログ保持端末装置に対してログ情報の送信を依頼し、当該ログ保持端末装置がログリクエスト端末装置に対してログ情報を直接送信するものである。なお、その他の動作については、第１実施形態や第２実施形態における動作と同様であるため、ここでは説明を省略する。本第３実施形態の端末装置１”は、第１実施形態における端末装置１や第２実施形態における端末装置１'と基本的に同一構成であり、制御部１０１の内部ＲＯＭに記憶した情報処理プログラムの内容が一部異なる。
【０１４９】
図２１に示すように、例えば、端末装置１”ｈがログＩＤ「3113」を検索するログ検索メッセージを送信する（図２１に示す（１）参照）と、このログ検索メッセージは、ＤＨＴルーティングにより転送され、端末装置１”ｄに到達する（図２１に示す（２）参照）。端末装置１”ｄは、受信したログ検索メッセージに示されたログＩＤのログ保持端末装置の所在情報が記憶部１０２に記憶したログインデックステーブルに含まれているか否かを判定する。このように制御部１０１は、受信したメッセージがログ検索メッセージであるとき、ログ検索メッセージに示されたログＩＤのログ情報を保持する端末装置の所在情報がログインデックステーブルに記憶されているか否かを判定する判定手段として機能する。
【０１５０】
ログ検索メッセージに示されたログＩＤのログ保持端末装置の所在情報が記憶部１０２に記憶したログインデックステーブルに含まれていると判定すると、制御部１０１は、記憶部１０２のログインデックステーブルに記憶されたログＩＤ「3113」のログ保持端末装置１”ｎの所在情報を取り出し、このログ保持端末装置１”ｎに対して、ログＩＤ「3113」のログ情報を端末装置１”ｈへ送信するように依頼する（図２１に示す（３）参照）。このように制御部１０１は、ログ検索メッセージの検索対象であるログ保持端末装置の所在情報を有していると判定したとき、当該ログ保持端末装置に対し、ログ検索メッセージの送信元の端末装置１”へログ情報の送信を依頼する情報送信依頼手段として機能する。
【０１５１】
ログ情報の送信依頼を受けたログ保持端末装置１”ｎは、依頼先の端末装置１”ｈに対して、ハードディスク１０３に記憶したログＩＤ「3113」のログ情報を通信部１１３を介して送信する（図２１に示す（４）参照）。このように制御部１０１は、他の端末装置１”からハードディスク１０３に記憶したログ情報の送信依頼があったとき、依頼先の端末装置１”へログ情報の送信する情報送信手段として機能する。
【０１５２】
［４．その他の実施形態］
上述した実施形態においては、ログ情報とコンテンツ情報とを分けて説明したが、ログ情報をコンテンツ情報の一つとして取り扱うようにすることもできる。このとき、ログＩＤ、ログインデックステーブル、ログ検索メッセージ、ログ登録メッセージなどは不要となり、コンテンツ情報と同様に処理されることになる。このようにすることで、ログ情報とコンテンツ情報の切り分けが必要なくなり、処理が簡易なものとなる。
【０１５３】
但し、ログ情報の識別情報であるコンテンツＩＤが他のコンテンツ情報の識別情報であるコンテンツＩＤと重複しないようにする必要がある。従って、例えば、ログ情報の場合は、先頭に「１」をつけた番号をハッシュ化するようにし、ログ情報以外のコンテンツ情報は、千号に「０」をつけた番号をハッシュ化することで、識別情報の重複を回避する。
【０１５４】
ログ情報を含むコンテンツ情報は、ハードディスク１０３（情報記憶手段の一例に相当）に記憶される。また、制御部１０１は、登録メッセージ送信手段として、ハードディスク１０３に記憶したログ情報を含むコンテンツ情報に割り当てられる識別情報を宛先識別情報とし、ルーティングテーブルに基づいて、自装置の所在情報を含む登録メッセージを送信する。また、制御部１０１は検索メッセージ送信手段として、他の端末装置が記憶するログ情報を含むコンテンツ情報に割り当てられる識別情報（コンテンツＩＤ）を宛先識別情報として、ルーティングテーブルに基づいて、ログ情報を含むコンテンツ情報を保持する端末装置を検索する検索メッセージを送信する。また、制御部１０１は情報取得手段として、検索メッセージによって検索された端末装置からログ情報を含むコンテンツ情報を取得する。
【０１５５】
以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１５６】
例えば、上述の実施形態においては、ログリクエスト端末装置やコンテンツリクエスト端末装置が、一つのログ情報やコンテンツ情報を一つのログ保持端末装置やコンテンツ保持端末装置から取得するようにしたが、２以上のログ保持端末装置やコンテンツ保持端末装置からそれぞれログ情報やコンテンツ情報の一部を取得することで、結果的に２以上のログ保持端末装置やコンテンツ保持端末装置から一つのログ情報やコンテンツ情報を取得するようにしてもよい。
【０１５７】
また、端末装置の所在情報としてＩＰアドレスを例にして説明したが、ＩＰアドレスに加えポート番号を含めて所在情報としてもよく、ネットワーク上の位置が特定できるものであればよい。
【０１５８】
また、各端末装置１において、同一のログ情報を定期的に他の端末装置１へ投入するようにしてもよい。この場合、各端末装置１の制御部１０１は、ログ保持端末装置の所在情報をログインデックステーブルに記憶した後、所定期間内にログ保持端末装置から再度の登録メッセージを受信しないとき、ログインデックステーブルに記憶したログ保持端末装置の所在情報を削除するようにしてもよい。このようにすることで、例えば、ログ保持端末装置が情報配信システムＳから脱退したときなどに、このログ保持端末装置の所在情報を通知することを回避することができる。このように制御部１０１は、他の端末装置１の所在情報をログインデックステーブルに記憶した後、所定期間内に当該他の端末装置１から次の登録メッセージを受信しないとき、ログインデックステーブルに記憶した他の端末装置の所在情報を削除する所在情報削除手段として機能するようにしてもよい。
【図面の簡単な説明】
【０１５９】
【図１】第１実施形態に係る情報配信システムにおける各端末装置の接続態様の一例を示す図である。
【図２】ＩＤ空間の説明図である。
【図３】ルーティングテーブルを説明するための図である。
【図４】ルーティングテーブルの一例である。
【図５】コンテンツ登録メッセージがＤＨＴルーティングにより転送される様子を示す図である。
【図６】コンテンツインデックステーブルの一例である。
【図７】コンテンツ情報を保持している端末装置が検索される様子の一例を示す図である。
【図８】ログ登録メッセージがＤＨＴルーティングにより転送される様子の一例を示す図である。
【図９】ログ情報を保持している端末装置が検索される様子の一例を示す図である。
【図１０】ログインデックステーブルの一例である。
【図１１】端末装置の概略構成を示す図である。
【図１２】第１実施形態に係る端末装置におけるメイン動作のフローチャートである。
【図１３】第１実施形態に係る端末装置におけるログ投入処理のフローチャートである。
【図１４】第１実施形態に係る端末装置における投入ログ受信処理のフローチャートである。
【図１５】第１実施形態に係る端末装置におけるログ登録メッセージ処理のフローチャートである。
【図１６】第１実施形態に係る端末装置におけるログ取得指示処理のフローチャートである。
【図１７】第１実施形態に係る端末装置におけるログ検索メッセージ処理のフローチャートである。
【図１８】第１実施形態に係る端末装置におけるログ送信処理のフローチャートである。
【図１９】第２実施形態に係る端末装置がログ情報を取得する際の動作の一例を示す図である。
【図２０】第２実施形態に係る端末装置の投入ログ受信処理の動作内容を示すフローチャートである。
【図２１】第３実施形態に係る端末装置がログ情報を取得する際の動作の一例を示す図である。
【符号の説明】
【０１６０】
Ｓ  情報配信システム
１  端末装置
１０  コンテンツ投入装置
８  ネットワーク
１０１  端末装置の制御部
１０２  端末装置の記憶部
１０３  端末装置のハードディスク（ＨＤＤ）
１１３  端末装置の通信部
【図１】
0004877107.tif 000002
【図２】
0004877107.tif 000003
【図３】
0004877107.tif 000004
【図４】
0004877107.tif 000005
【図５】
0004877107.tif 000006
【図６】
0004877107.tif 000007
【図７】
0004877107.tif 000008
【図８】
0004877107.tif 000009
【図９】
0004877107.tif 000010
【図１０】
0004877107.tif 000011
【図１１】
0004877107.tif 000012
【図１２】
0004877107.tif 000013
【図１３】
0004877107.tif 000014
【図１４】
0004877107.tif 000015
【図１５】
0004877107.tif 000016
【図１６】
0004877107.tif 000017
【図１７】
0004877107.tif 000018
【図１８】
0004877107.tif 000019
【図１９】
0004877107.tif 000020
【図２０】
0004877107.tif 000021
【図２１】
0004877107.tif 000022