(57)【要約】【課題】サーバ装置を使用することなく、Ｐ２Ｐの利点を生かすことにより、ユーザの嗜好に合ったコンテンツに関する情報を表示し、コンテンツ配信サービスの利用効率を向上させる。【解決手段】端末装置１は、自らが取得したコンテンツの取得履歴の情報をコンテンツ取得履歴テーブル１３３に記憶し、コンテンツ送信要求メッセージを受信し、かつ、そのコンテンツ送信要求メッセージに対応するコンテンツが、コンテンツ取得履歴テーブル１３３に記憶した取得履歴のコンテンツに関連するとき、ＤＨＴ１３２内の相当する位置の端末情報を、そのコンテンツ送信要求メッセージのリクエスト端末装置１の端末情報に書き換える。そして、端末装置１は、ＤＨＴ１３２にて書き換えた端末情報を持つリクエスト端末装置１からコンテンツ取得履歴の情報を受信し、表示する。【選択図】図３
2009141708.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末装置の参加により構成され、ネットワークを介して前記端末装置間でコンテンツの送受信を行う情報通信システムにおける前記端末装置において、
コンテンツの取得履歴を記憶する履歴記憶手段と、
前記履歴記憶手段に記憶した取得履歴のコンテンツに関連するコンテンツを取得した他の端末装置の情報を取得する取得手段と、
前記取得手段により前記情報を取得した他の端末装置から、当該他の端末装置が取得したコンテンツの取得履歴の情報を収集する収集手段と、
前記収集手段により収集したコンテンツの取得履歴の情報を表示する表示手段と、
を備えたことを特徴とする端末装置。
【請求項２】
前記ネットワークを介して受信したメッセージを他の端末装置へ転送するための、前記他の端末装置を特定する端末情報を記憶する端末記憶手段を備え、
前記取得手段は、所定のコンテンツに関するメッセージが受信され、かつ、前記所定のコンテンツと前記履歴記憶手段に記憶した前記取得履歴のコンテンツとが関連するときに、前記メッセージの発信元端末装置を特定する情報を、前記端末情報として前記端末記憶手段に記憶し、
前記収集手段は、前記端末記憶手段に記憶した端末情報に基づいて、前記発信元端末装置が取得したコンテンツの取得履歴の情報を収集する、
ことを特徴とする請求項１に記載の端末装置。
【請求項３】
前記所定のコンテンツに関するメッセージには、前記所定のコンテンツを保持している端末装置を検索するための検索メッセージが含まれており、
前記取得手段は、前記検索メッセージが受信された際、当該検索メッセージによって検索されるコンテンツと前記履歴記憶手段に記憶した前記取得履歴のコンテンツとが関連するときに、前記検索メッセージの発信元端末装置の端末情報を前記端末記憶手段に記憶する、
ことを特徴とする請求項２に記載の端末装置。
【請求項４】
前記所定のコンテンツに関するメッセージには、前記所定のコンテンツの送信を要求するコンテンツ送信要求メッセージを含み、
前記取得手段は、前記コンテンツ送信要求メッセージが受信された際、当該コンテンツ送信要求メッセージで送信を要求されるコンテンツと前記履歴記憶手段に記憶した前記取得履歴のコンテンツとが関連するときに、前記コンテンツ送信要求メッセージの発信元端末装置の端末情報を前記端末記憶手段に記憶する、
ことを特徴とする請求項２に記載の端末装置。
【請求項５】
前記端末記憶手段は、前記端末情報として割り当て可能な領域が分割されて複数の領域を構成し、前記複数の領域毎に前記端末情報を記憶し、
前記取得手段は、端末情報を前記端末記憶手段の所定領域に記憶した後に、新たな端末情報を前記所定領域に記憶することなく、前記所定領域の端末情報を保持するようにした、
ことを特徴とする請求項２から４までのいずれか一項に記載の端末装置。
【請求項６】
前記端末記憶手段は、前記端末情報として割り当て可能な領域が分割されて複数の領域を構成し、前記複数の領域毎に前記端末情報を記憶し、
前記取得手段は、端末情報を前記端末記憶手段の所定領域に記憶した後に、新たな端末情報を前記所定領域にランダムに記憶する、
ことを特徴とする請求項２から４までのいずれか一項に記載の端末装置。
【請求項７】
前記収集手段は、前記端末記憶手段により記憶した他の端末装置から、当該他の端末装置が取得したコンテンツの取得履歴の情報を収集し、かつ、前記他の端末装置に備えた端末記憶手段により記憶したさらに他の端末装置から、当該さらに他の端末装置が取得したコンテンツの取得履歴の情報を収集する、
ことを特徴とする請求項１から６までのいずれか一項に記載の端末装置。
【請求項８】
前記取得手段により前記情報を取得した他の端末装置へ、当該他の端末装置が取得したコンテンツの取得履歴の情報を収集するための要求メッセージを送信する要求送信手段と、
コンテンツの取得履歴の情報を収集するための要求メッセージを他の端末装置から受信したときに、前記履歴記憶手段により記憶した前記コンテンツの取得履歴を送信する履歴送信手段を備えたことを特徴とする請求項１から７までのいずれか一項に記載の端末装置。
【請求項９】
前記要求メッセージを他の端末装置から受信したときに、前記端末記憶手段により記憶した端末情報の端末装置へ、前記要求メッセージを転送する転送手段を備えたことを特徴とする請求項８に記載の端末装置。
【請求項１０】
コンピュータを、請求項１から９までのいずれか１項に記載の端末装置の各手段として機能させることを特徴とするプログラム。
【請求項１１】
複数の端末装置の参加により構成され、前記端末装置間でコンテンツの送受信を行う情報通信システムにおける前記端末装置によるコンテンツ表示方法において、
コンテンツの取得履歴を記憶するステップと、
前記記憶した取得履歴のコンテンツに関連するコンテンツを取得した他の端末装置の情報を取得するステップと、
前記他の端末装置から、当該他の端末装置が取得したコンテンツの取得履歴の情報を収集するステップと、
前記収集したコンテンツの取得履歴の情報を表示するステップと、
を有することを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の端末装置の参加により構成され、ネットワークを介して端末装置間でコンテンツの送受信を行う情報通信システムにおいて、ユーザの嗜好に合ったコンテンツに関する情報を表示する端末装置、プログラム及び方法に関する。
【背景技術】
【０００２】
従来、インターネット等のネットワークにパーソナルコンピュータ等の端末装置を接続して、ユーザの所望する音楽や映画等のコンテンツを受信し、その受信したコンテンツを各端末装置で視聴することができる情報通信システムが広く利用されている。このような情報通信システムとして、例えば、ネットワークを介して接続される複数の端末装置間で、各端末装置が保持しているコンテンツを互いに送受信することにより、コンテンツの配信を可能としたコンテンツ配信システムがある（例えば、特許文献１を参照）。
【０００３】
一般に、コンテンツ配信システムでは、コンテンツ配信の利用効率を向上させるため、様々な手法が用いられている。例えば、コンテンツの視聴ランキングを表示することにより、人気のあるコンテンツやお勧めコンテンツ等をユーザに示す手法がある。具体的には、データセンタに設置されたサーバ装置が、各端末装置で再生したコンテンツの視聴履歴に関するログ情報を収集し、そのログ情報に基づいてお勧めコンテンツを特定する。そして、端末装置は、そのお勧めコンテンツに関する情報をサーバ装置から受信して表示する。このような手法を用いることにより、ユーザは、自らの嗜好に合った作品を検索する手間や、作品に関する情報を検索する手間を省くことができる。
【特許文献１】特開２００６−１９７４００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前述したコンテンツ配信システムはＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）による分散型配信システムであり、サーバ装置の数を少なくすることが大きな利点になっていることから、サーバ装置を使用することなく、端末装置がお勧めコンテンツを表示できることが望ましい。
【０００５】
そこで、本発明は、サーバ装置を使用することなく、Ｐ２Ｐの利点を生かすことにより、ユーザの嗜好に合ったコンテンツに関する情報を表示することができ、かつ、コンテンツ配信サービスの利用効率を向上させることが可能な端末装置、プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、請求項１の発明は、複数の端末装置の参加により構成され、ネットワークを介して前記端末装置間でコンテンツの送受信を行う情報通信システムにおける前記端末装置において、コンテンツの取得履歴を記憶する履歴記憶手段と、前記履歴記憶手段に記憶した取得履歴のコンテンツに関連するコンテンツを取得した他の端末装置の情報を取得する取得手段と、前記取得手段により前記情報を取得した他の端末装置から、当該他の端末装置が取得したコンテンツの取得履歴の情報を収集する収集手段と、前記収集手段により収集したコンテンツの取得履歴の情報を表示する表示手段と、を備えたことを特徴とする。
【０００７】
また、請求項２の発明は、請求項１に記載の端末装置において、前記ネットワークを介して受信したメッセージを他の端末装置へ転送するための、前記他の端末装置を特定する端末情報を記憶する端末記憶手段を備え、前記取得手段が、所定のコンテンツに関するメッセージが受信され、かつ、前記所定のコンテンツと前記履歴記憶手段に記憶した前記取得履歴のコンテンツとが関連するときに、前記メッセージの発信元端末装置を特定する情報を、前記端末情報として前記端末記憶手段に記憶し、前記収集手段が、前記端末記憶手段に記憶した端末情報に基づいて、前記発信元端末装置が取得したコンテンツの取得履歴の情報を収集する、ことを特徴とする。
【０００８】
また、請求項３の発明は、請求項２に記載の端末装置において、前記所定のコンテンツに関するメッセージには、前記所定のコンテンツを保持している端末装置を検索するための検索メッセージが含まれており、前記取得手段が、前記検索メッセージが受信された際、当該検索メッセージによって検索されるコンテンツと前記履歴記憶手段に記憶した前記取得履歴のコンテンツとが関連するときに、前記検索メッセージの発信元端末装置の端末情報を前記端末記憶手段に記憶する、ことを特徴とする。
【０００９】
また、請求項４の発明は、請求項２に記載の端末装置において、前記所定のコンテンツに関するメッセージには、前記所定のコンテンツの送信を要求するコンテンツ送信要求メッセージを含み、前記取得手段が、前記コンテンツ送信要求メッセージが受信された際、当該コンテンツ送信要求メッセージで送信を要求されるコンテンツと前記履歴記憶手段に記憶した前記取得履歴のコンテンツとが関連するときに、前記コンテンツ送信要求メッセージの発信元端末装置の端末情報を前記端末記憶手段に記憶する、ことを特徴とする。
【００１０】
また、請求項５の発明は、請求項２から４までのいずれか一項に記載の端末装置において、前記端末記憶手段が、前記端末情報として割り当て可能な領域が分割されて複数の領域を構成し、前記複数の領域毎に前記端末情報を記憶し、前記取得手段が、端末情報を前記端末記憶手段の所定領域に記憶した後に、新たな端末情報を前記所定領域に記憶することなく、前記所定領域の端末情報を保持するようにした、ことを特徴とする。
【００１１】
また、請求項６の発明は、請求項２から４までのいずれか一項に記載の端末装置において、前記端末記憶手段が、前記端末情報として割り当て可能な領域が分割されて複数の領域を構成し、前記複数の領域毎に前記端末情報を記憶し、前記取得手段が、端末情報を前記端末記憶手段の所定領域に記憶した後に、新たな端末情報を前記所定領域にランダムに記憶する、ことを特徴とする。
【００１２】
また、請求項７の発明は、請求項１から６までのいずれか一項に記載の端末装置において、前記収集手段が、前記端末記憶手段により記憶した他の端末装置から、当該他の端末装置が取得したコンテンツの取得履歴の情報を収集し、かつ、前記他の端末装置に備えた端末記憶手段により記憶したさらに他の端末装置から、当該さらに他の端末装置が取得したコンテンツの取得履歴の情報を収集する、ことを特徴とする。
【００１３】
また、請求項８の発明は、請求項１から７までのいずれか一項に記載の端末装置において、前記取得手段により前記情報を取得した他の端末装置へ、当該他の端末装置が取得したコンテンツの取得履歴の情報を収集するための要求メッセージを送信する要求送信手段と、コンテンツの取得履歴の情報を収集するための要求メッセージを他の端末装置から受信したときに、前記履歴記憶手段により記憶した前記コンテンツの取得履歴を送信する履歴送信手段を備えたことを特徴とする。
【００１４】
また、請求項９の発明は、前記要求メッセージを他の端末装置から受信したときに、前記端末記憶手段により記憶した端末情報の端末装置へ、前記要求メッセージを転送する転送手段を備えたことを特徴とする。
【００１５】
また、請求項１０の発明は、コンピュータを、請求項１から９までのいずれか１項に記載の端末装置の各手段として機能させることを特徴とするプログラムにある。
【００１６】
また、請求項１１の発明は、複数の端末装置の参加により構成され、前記端末装置間でコンテンツの送受信を行う情報通信システムにおける前記端末装置によるコンテンツ表示方法において、コンテンツの取得履歴を記憶するステップと、前記記憶した取得履歴のコンテンツに関連するコンテンツを取得した他の端末装置の情報を取得するステップと、前記他の端末装置から、当該他の端末装置が取得したコンテンツの取得履歴の情報を収集するステップと、前記収集したコンテンツの取得履歴の情報を表示するステップと、を有することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、端末装置は、自ら取得したコンテンツに関連するコンテンツを取得した他の端末装置の情報を取得し、前記他の端末装置が取得したコンテンツの取得履歴の情報を収集し、その収集したコンテンツの取得履歴の情報を表示するようにした。この端末装置が表示するコンテンツの取得履歴の情報は、自らが取得したコンテンツに関連するコンテンツの取得履歴の情報であるから、端末装置を操作するユーザの嗜好に合ったコンテンツに関する情報になり得る。したがって、サーバ装置を使用することなく、Ｐ２Ｐの利点を生かすことにより、ユーザの嗜好に合ったコンテンツに関する情報を表示することができ、かつ、コンテンツ配信サービスの利用効率を向上させることが可能な端末装置、プログラム及び方法を実現することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施形態について、図面を参照して具体的に説明する。本発明の実施形態は、複数の端末装置の参加により構成され、ネットワークを介して端末装置間でコンテンツの送受信を行う情報通信システムにおいて、端末装置が、当該端末装置を操作するユーザの嗜好に合ったコンテンツに関する情報を他の端末装置から収集して表示するものである。具体的には、端末装置が、自ら取得したコンテンツに関連するコンテンツを取得した他の端末装置の情報を取得し、当該他の端末装置からコンテンツの取得情報を収集し、当該収集したコンテンツの取得情報を表示するものである。ここで、コンテンツの取得情報とは、取得したコンテンツのコンテンツＩＤ、コンテンツ名称等のコンテンツを特定するための情報をいう。また、自らが取得したコンテンツに関連するコンテンツには、自らが取得したコンテンツと同一内容のコンテンツだけでなく、ジャンルの同じコンテンツや、ジャンルが異なっていても例えば作者が同一である等の何らかの関係を有するコンテンツも含まれる。尚、本発明の実施形態において、端末装置１を操作する第１のユーザが取得したコンテンツと、他の端末装置１を操作する第２のユーザが取得したコンテンツとが関連する場合には、第１のユーザの嗜好と第２のユーザの嗜好が近いものとする。
【００１９】
［１．コンテンツ配信システム及び端末装置の構成］
まず始めに、コンテンツ配信システム及び端末装置の構成について説明する。図１は、本発明の実施形態による端末装置を含むコンテンツ配信システムの構成を示す概略図である。また、図２は、本発明の実施形態による端末装置の構成を示す図である。
【００２０】
［１．１  コンテンツ配信システム］
まず、コンテンツ配信システムの構成について説明する。図１を参照して、このコンテンツ配信システムＳは、複数の端末装置１ａ〜１ｎ、コンタクト先紹介装置３、及びコンテンツ投入装置４を備えて構成されており、ネットワーク２を介して接続される複数の端末装置１ａ〜１ｎ等間で、各端末装置１ａ〜１ｎ等が保持しているコンテンツを互いに送受信することにより、コンテンツの配信を可能としたシステムである。以下、端末装置を総称する場合または個々の端末装置を示す場合は、単に「端末装置１」という。
【００２１】
コンタクト先紹介装置３は、ネットワーク２に新たに参加しようとする端末装置１（以下、新規参加端末装置１という。）に対し、コンタクト先の端末装置１を紹介するサーバ装置である。新規参加端末装置１は、コンタクト先紹介装置３からコンタクト先端末装置１の所在情報を受信し、当該コンタクト先端末装置１へ参加メッセージを送信することにより、メッセージの転送経路を端末情報（例えば、端末ＩＤ及びＩＰアドレス）により定義した分散ハッシュテーブル（ＤＨＴ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｈａｓｈ  Ｔａｂｌｅ）、以下、ＤＨＴという。）を生成する。ＤＨＴについては後述する。
【００２２】
コンテンツ投入装置４は、新たなコンテンツをコンテンツ配信システムＳの配信対象にするため、その新たなコンテンツにコンテンツＩＤを割り当て、割り当てたコンテンツＩＤと共に新たなコンテンツを、後述するコンテンツ保持端末装置１へ送信するサーバ装置である。
【００２３】
また、端末装置１は、コンテンツ配信システムＳにおいて、コンタクト先端末装置１、リクエスト端末装置１、転送端末装置１、ルート端末装置１、及びコンテンツ保持端末装置１になり得る。端末装置１が、コンタクト先端末装置１として機能する場合、前述したように、新規参加端末装置１から参加メッセージを受信し、この参加メッセージをＤＨＴに記憶された端末情報に基づいて転送し、自らのＤＨＴの端末情報を新規参加端末装置１へ送信する。
【００２４】
端末装置１が、リクエスト端末装置１として機能する場合、端末装置１を操作するユーザがコンテンツＩＤを指定してダウンロードを指示することにより、そのコンテンツＩＤのコンテンツを保持するコンテンツ保持端末装置１の所在情報の送信を要求するメッセージ(以下、「検索メッセージ」という。）を送信し、後述するルート端末装置１からコンテンツ保持端末装置１の所在情報を受信し、コンテンツ保持端末装置１へコンテンツ送信要求メッセージを送信し、コンテンツ保持端末装置１からコンテンツを受信する。
【００２５】
端末装置１が、転送端末装置１として機能する場合、リクエスト端末装置１等の他の端末装置１から送信されたメッセージを受信し、ＤＨＴに記憶した端末情報に基づいて、受信したメッセージを転送する。
【００２６】
端末装置１が、ルート端末装置１として機能する場合、後述するコンテンツ保持端末装置１がコンテンツ投入装置４からコンテンツの投入を受けた際に送信する登録メッセージを受信し、投入されたコンテンツのコンテンツＩＤ、コンテンツ保持端末装置１の端末ＩＤ等を記憶する。
【００２７】
端末装置１が、コンテンツ保持端末装置１として機能する場合、前述したように、コンテンツ投入装置４からコンテンツを受信し、そのコンテンツＩＤと共に記憶する。
【００２８】
［１．２  端末装置］
次に、端末装置の構成について説明する。図２を参照して、この端末装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、各種プログラムやテーブル等を記憶する書き換え可能な記憶部１０２と、後述するＤＨＴ１３２等の各種データを記憶するＨＤＤ（ハードディスク装置）１０３と、ネットワーク２を介して他の端末装置１、コンタクト先紹介装置３及びコンテンツ投入装置４等との間で通信を行うネットワークインタフェース１０４と、ユーザの操作により所定のデータを入力可能なキーボード１０５及びマウス１０６と、キーボード１０５及びマウス１０６等の入力手段を制御する周辺機器制御チップ１０７と、ＣＰＵ１０１からイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込むと共にこのビデオメモリに書き込んだデータを後述の内蔵ディスプレイ１０９に表示するビデオチップ１０８と、ビデオチップ１０８から送信される信号に応じた表示を行う内蔵ディスプレイ１０９と、ＦＭ（Ｆｒｅｑｕｅｎｃｙ  Ｍｏｄｕｌａｔｉｏｎ）音源やウェーブテーブル（Ｗａｖｅ  Ｔａｂｌｅ）音源等を有する音源チップ１１０と、音源チップ１１０から出力されるオーディオ信号を音波に変換する内蔵スピーカ１１１とを備えて構成され、これらの各種構成要素はシステムバス１１２を介して相互に接続されている。また、ＣＰＵ１０１及び記憶部１０２により制御部１４０を構成している。
【００２９】
（記憶部について）
記憶部１０２には、端末装置１のコンピュータとしての基本的な機能を提供するためのＯＳ（オペレーティングシステム）プログラム１２０、内蔵ディスプレイ１０９を制御するための画面制御プログラム１２１、ネットワークインタフェース１０４を介して他の端末装置１等との間で通信を行う通信プログラム１２２、コンテンツ配信システムＳを構成する端末装置１としてのメイン処理を行うメインプログラム１２３、当該端末装置１がネットワーク２に新たに参加する際の処理を行う参加処理プログラム１２４、ユーザの操作により所望のコンテンツをコンテンツ保持端末装置１からダウンロードし、ダウンロードしたコンテンツの取得履歴の情報を記憶するコンテンツダウンロード処理プログラム１２５、コンテンツ送信要求メッセージを受信したときに、コンテンツを送信する処理を行うコンテンツ送信処理プログラム１２６、リクエスト端末装置１から受信したメッセージ及び転送端末装置１から受信したメッセージに対し、そのメッセージに応じた処理を行うメッセージ受信処理プログラム１２７、ユーザの嗜好に合ったコンテンツに関する情報をお勧めコンテンツとして表示するお勧めコンテンツ表示処理プログラム１２８、端末装置１の自装置が取得したコンテンツの取得履歴の情報を送信する履歴送信処理プログラム１２９、ＤＨＴ１３２に記憶した端末情報を書き換える、通信相手によるＤＨＴ書換処理プログラム１３０、ＤＨＴ１３２に記憶した端末情報及び履歴フラグを書き換える、リクエスト履歴に基づくＤＨＴ書換処理プログラム１３１、メッセージの転送経路が端末情報により定義されているＤＨＴ１３２、コンテンツダウンロード処理プログラム１２５によりダウンロードしたコンテンツの取得履歴の情報、具体的には、コンテンツＩＤ、コンテンツ名称、コンテンツのジャンル、取得時刻等のダウンロードしたコンテンツに関する情報からなるコンテンツ取得履歴テーブル１３３等が記憶されている。
【００３０】
ここで、ＯＳプログラム１２０は、ＣＰＵ１０１によって読み出されて実行されることにより、コンピュータの基本的な機能として、キーボード１０５やマウス１０６の入出力に関する機能、記憶部１０２やハードディスク装置１０３のメモリ管理に関する機能等を実現するものである。そして、このＯＳプログラム１２０がＣＰＵ１０１によって実行された状態で、上述の画面制御プログラム１２１、通信プログラム１２２、メインプログラム１２３、参加処理プログラム１２４等の各種プログラムが実行される。
【００３１】
尚、ＯＳプログラム１２０、画面制御プログラム１２１、通信プログラム１２２、メインプログラム１２３、参加処理プログラム１２４等は、例えば、ネットワーク２に接続されたサーバ装置等からネットワークインタフェース１０４を介して記憶部１０２またはハードディスク装置１０３にダウンロードされるようにしてもよく、また、ＣＤ−ＲＯＭ等の記憶媒体に記録されてから当該記憶媒体を介して、記憶部１０２またはハードディスク装置１０３に読み込まれるようにしてもよい。ハードディスク装置１０３にダウンロードまたは読み込まれたＯＳプログラム１２０等は、ＣＰＵ１０１により記憶部１０２に読み出される。
【００３２】
（制御部について）
制御部１４０は、前述のようにＣＰＵ１０１及び記憶部１０２から構成され、ＣＰＵ１０１が記憶部１０２に記憶された各種プログラム１２０〜１３１等を読み出して実行することにより、端末装置１全体を統括制御する。尚、制御部１４０は、ＤＨＴ１３２及びコンテンツ取得履歴テーブル１３３等を必要に応じてハードディスク装置１０３に記憶する。
【００３３】
ここで、制御部１４０は、メインプログラム１２３及びコンテンツダウンロード処理プログラム１２５により、ダウンロードしたコンテンツの取得履歴を記憶する履歴記憶手段（コンテンツ取得履歴テーブル１３３）として機能する。また、制御部１４０は、メインプログラム１２３、コンテンツダウンロード処理プログラム１２５、コンテンツ送信処理プログラム１２６及びメッセージ受信処理プログラム１２７により、履歴記憶手段に記憶した取得履歴のコンテンツに関連するコンテンツを取得した他の端末装置１の情報を取得する取得手段として機能する。また、制御部１４０は、メインプログラム１２３及びお勧めコンテンツ表示処理プログラム１２８により、取得手段により前記情報を取得した他の端末装置１から、他の端末装置１が取得したコンテンツの取得履歴の情報を収集する収集手段として機能し、収集手段により収集したコンテンツの取得履歴の情報を表示する表示手段として機能する。また、制御部１４０は、メインプログラム１２３により、ネットワーク２を介して受信したメッセージを他の端末装置１へ転送するための、他の端末装置１を特定する端末情報を記憶する端末記憶手段（ＤＨＴ１３２）として機能する。また、制御部１４０は、メインプログラム１２３及びお勧めコンテンツ表示処理プログラム１２８により、取得手段により前記情報を取得した他の端末装置１へ、他の端末装置１が取得したコンテンツの取得履歴の情報を収集するための要求メッセージを送信する要求送信手段として機能する。また、制御部１４０は、メインプログラム１２３及び履歴送信処理プログラム１２９により、コンテンツの取得履歴の情報を収集するための要求メッセージを他の端末装置１から受信したときに、履歴記憶手段により記憶したコンテンツの取得履歴を送信する履歴送信手段として機能する。また、制御部１４０は、メインプログラム１２３及び履歴送信処理プログラム１２９により、前記要求メッセージを他の端末装置１から受信したときに、端末記憶手段により記憶した端末情報を持つ端末装置１へ、要求メッセージを転送する転送手段として機能する。
【００３４】
［２．ＤＨＴについて］
次に、ＤＨＴ１３２について説明する。図３は、ＤＨＴ１３２を説明する図であり、図４は、ＤＨＴ１３２の一例を示す図である。このＤＨＴ１３２は、端末装置１が他の端末装置１へアクセスするための転送経路情報として端末情報と、既に記憶された端末情報が後述するＤＨＴ書換処理により書き換えられたことを示す履歴フラグとから構成され、各端末装置１が保持するものである。ＤＨＴ１３２は、各端末装置１が、コンテンツ配信システムＳに参加するとき等に生成され、コンテンツ、検索メッセージ及びコンテンツ送信要求メッセージの受信を契機にして書き換えられるものである。
【００３５】
ＤＨＴ１３２は、所定の規則に従い、コンテンツ配信システムＳに含まれる端末装置１を複数のグループに分けて当該各グループをレベル１のグループとし、このレベル１のグループのうち自装置が属するグループをさらに複数のグループに分けて当該各グループをレベル２のグループとし、このレベル２のグループ分けと同様のグループ分けによりレベルｎまでの各グループとして、各段階の各グループ（自端末装置の属するグループは除く）に属する一の端末装置１の所在情報（ＩＰアドレス等）をそれぞれ記憶するものである。尚、ｎは３以上の自然数であり、端末ＩＤのＩＤ空間に応じて異なる。例えば、以下のように、ビット長８の４進数の場合には、ｎ＝４となる。
【００３６】
ここでは、端末ＩＤをビット長８の４進数（「００００」〜「３３３３」）で表すこととした場合に、端末ＩＤが「１１３３」の端末装置１ｎが保持するＤＨＴ１３２について説明する。
【００３７】
図３（ａ）に示すように、端末ＩＤのＩＤ空間を４分割することによって、最大桁が異なる４つのエリア「０ＸＸＸ」、「１ＸＸＸ」、「２ＸＸＸ」、「３ＸＸＸ」（Ｘは０から３の自然数、以下同様。）のグループに分ける。これらがレベル１のグループである。端末装置１ｎの端末ＩＤは「１１３３」であるため、端末装置１ｎは、図３（ａ）中左下のエリア「１ＸＸＸ」であるレベル１のグループに属する。従って、端末装置１ｎのＤＨＴ１３２のレベル１には、図４に示すように、端末装置１ｎの存在するレベル１のグループ以外のグループ（すなわち、「０ＸＸＸ」のエリア、「２ＸＸＸ」のエリア、「３ＸＸＸ」のエリアの各グループ）に存在する端末装置１の端末ＩＤ及びＩＰアドレスが記憶される。このＤＨＴ１３２のレベル１には、「０ＸＸＸ」のエリアの端末ＩＤとして「０１００」、「２ＸＸＸ」のエリアの端末ＩＤとして「２１３３」、「３ＸＸＸ」のエリアの端末ＩＤとして「３２１３」のそれぞれの端末ＩＤ及びＩＰアドレスが記憶されている。
【００３８】
次に、図３（ｂ）に示すように、レベル１のグループのうち端末装置１ｎが属するグループをさらに４分割して、エリア「１０ＸＸ」、「１１ＸＸ」、「１２ＸＸ」、「１３ＸＸ」のグループに分ける。これらがレベル２のグループである。端末装置１ｎは、自装置１ｎの端末ＩＤが「１１３３」であるため、端末装置１ｎのＤＨＴ１３２のレベル２には、図４に示すように、端末装置１ｎが属するレベル２のグループ（「１１ＸＸ」のエリアのグループ）以外のレベル２のグループ（すなわち、「１０ＸＸ」のエリア、「１２ＸＸ」のエリア、「１３ＸＸ」のエリアの各グループ）にそれぞれ属する端末装置１の端末ＩＤ及びＩＰアドレスが記憶される。このＤＨＴ１３２のレベル２には、「１０ＸＸ」のエリアの端末ＩＤとして「１００３」、「１２ＸＸ」のエリアの端末ＩＤとして「１２２１」、「１３ＸＸ」のエリアの端末ＩＤとして「１３１３」のそれぞれの端末ＩＤ及びＩＰアドレスが記憶されている。
【００３９】
以下同様に、レベル２のグループのうち端末装置１ｎが属するグループをさらに４分割して、エリア「１１０Ｘ」、「１１１Ｘ」、「１１２Ｘ」、「１１３Ｘ」のグループ（レベル３のグループ）に分け、端末装置１ｎが属するレベル３のグループ「１１３Ｘ」以外のレベル３のグループ（すなわち、「１１０Ｘ」のエリア、「１１１Ｘ」のエリア、「１１２Ｘ」のエリアの各グループ）にそれぞれ属する端末装置１の端末ＩＤ及びＩＰアドレスが記憶される。また、レベル３のグループのうち端末装置１ｎが属するグループをさらに４分割して、「１１３０」、「１１３１」、「１１３２」、「１１３３」のグループ（レベル４のグループ）に分け、端末装置１ｎが属するレベル４のグループ「１１３３」以外のレベル４のグループ（すなわち、「１１３０」、「１１３１」、「１１３２」の各グループ）にそれぞれ属する端末装置１の端末ＩＤ及びＩＰアドレスが記憶される。なお、上記グループに端末装置１が存在しない場合には、端末ＩＤ及びＩＰアドレスの欄は空白となる。
【００４０】
また、ＤＨＴ１３２のフラグは、後述するＤＨＴ書換処理により端末ＩＤ及びＩＰアドレスの端末情報が書き換えられたときに、履歴フラグとして１が設定される。図４では、ＤＨＴ１３２のフラグは全て０である。これは、後述するコンテンツ配信システムＳへの参加処理により、ＤＨＴ１３２が生成された時点の状態を示している。
【００４１】
［３．端末装置がコンテンツをダウンロードする際の動作について］
次に、端末装置１がコンテンツをダウンロードする際の動作を、図５を参照して説明する。
【００４２】
ここでは、端末ＩＤ「１３０１」の端末装置１ｍを、コンテンツＩＤ「３０２０」のコンテンツを保持しているコンテンツ保持端末装置１ｍとし、端末ＩＤ「１１３３」の端末装置１ｎを、ユーザが所望したコンテンツＩＤ「３０２０」のコンテンツをダウンロードするリクエスト端末装置１ｎとし、端末ＩＤ「３０１１」の端末装置１ｃを、コンテンツＩＤ「３０２０」のコンテンツを保持するコンテンツ保持端末装置１ｍの所在情報を有するルート端末装置１ｃとする。また、端末ＩＤ「３２１３」の端末装置１ａ及び端末ＩＤ「３０３１」の端末装置１ｂを、それぞれ転送端末装置１ａ，１ｂとする。以下、リクエスト端末装置１ｎが、コンテンツＩＤ「３０２０」のコンテンツをダウンロードする際の動作、つまり、ルート端末装置１ｃからコンテンツ保持端末装置１ｍの所在情報を取得し、コンテンツ保持端末装置１ｍからコンテンツをダウンロードする一連の動作について説明する。
【００４３】
リクエスト端末装置１ｎは、図４に示した自装置のＤＨＴ１３２を参照して、コンテンツＩＤ「３０２０」と同じエリア「３ＸＸＸ」の端末ＩＤを持つレベル１における端末装置１ａの端末ＩＤ「３２１３」を宛先とし、コンテンツＩＤ「３０２０」を宛先識別情報として、コンテンツ保持端末装置１ｍの所在情報を取得するための検索メッセージを送信する（図５（１））。
【００４４】
端末装置１ａは、検索メッセージを受信すると、宛先識別情報であるコンテンツＩＤ「３０２０」と自装置のＤＨＴ１３２（図示せず）とに基づいて、自装置がルート端末装置であるか否かを判断する。具体的には、宛先識別情報であるコンテンツＩＤ「３０２０」が、自装置の端末ＩＤ「３２１３」よりも自装置のＤＨＴ１３２に記憶した端末ＩＤの方に近いときに、自装置がルート端末装置でないと判断する。そして、端末装置１ａは、自装置のＤＨＴ１３２を参照して、コンテンツＩＤ「３０２０」と同じエリア「３０ＸＸ」の端末ＩＤを持つ端末装置１のうちＩＰアドレスを知っている端末装置１ｂの端末ＩＤ「３０３１」を宛先とし、受信した検索メッセージを転送する（図５（２））。
【００４５】
端末装置１ｂは、検索メッセージを受信すると、端末装置１ａと同様に、自装置のＤＨＴ１３２（図示せず）を参照して、受信した検索メッセージを転送する（図５（２））。このようにして、検索メッセージは、最終的に、コンテンツＩＤ「３０２０」のコンテンツを管理するルート端末装置１ｃ（端末ＩＤ「３０１１」）に辿り着く。ルート端末装置１ｃは、検索メッセージに含まれるコンテンツＩＤ「３０２０」を、自装置が管理しているテーブの中から検索して、コンテンツＩＤ「３０２０」のコンテンツを所有しているコンテンツ保持端末装置１ｍの所在情報をリクエスト端末装置１ｎに返信する（図５（３））。これにより、リクエスト端末装置１ｎは、ダウンロードするコンテンツを保持するコンテンツ保持端末装置１ｍの所在情報を取得することができる。
【００４６】
そして、リクエスト端末装置１ｎは、コンテンツＩＤ「３０２０」のコンテンツを保持するコンテンツ保持端末装置１ｍへ、コンテンツ送信要求メッセージを送信することにより（図５（４））、コンテンツ保持端末装置１ｍから、そのコンテンツを取得することになる（図５（５））。
【００４７】
このように、リクエスト端末装置１ｎは、所望のコンテンツをダウンロードするため、まず、ＤＨＴ１３２を参照して検索メッセージを送信し、そのコンテンツのルート端末装置１ｃからコンテンツ保持端末装置１ｍの所在情報を受信する。そして、コンテンツ送信要求メッセージをコンテンツ保持端末装置１ｍへ送信し、コンテンツ保持端末装置１ｍからそのコンテンツを受信する。これにより、コンテンツをダウンロードすることができる。
【００４８】
ここで、リクエスト端末装置１ｎは、所望のコンテンツをダウンロードしたときに、そのコンテンツのコンテンツＩＤ、コンテンツ名称、コンテンツのジャンル、取得時刻等のダウンロードしたコンテンツに関する情報をコンテンツ取得履歴テーブル１３３に記憶する。また、端末装置１は、メッセージ等を受信すると、受信したメッセージ等の送信元の端末情報が属するレベルのグループに相当する位置を特定し、その特定した位置の端末情報を、送信元の端末情報に書き換える。例えば、転送端末装置１ａ，１ｂ及びルート端末装置１ｃは、検索メッセージを受信すると、受信した検索メッセージの送信元であるリクエスト端末装置１の端末情報が属するレベルのグループに相当する位置を特定し、その特定した位置の端末情報を、リクエスト端末装置１の端末情報に書き換える。また、コンテンツ保持端末装置１ｍは、コンテンツ送信要求メッセージを受信すると、転送端末装置１ａ等と同様に、自装置のＤＨＴ１３２内の相当する位置の端末情報を、コンテンツ送信要求メッセージの送信元であるリクエスト端末装置１の端末情報に書き換える。また、リクエスト端末装置１ｎは、コンテンツ保持端末装置１ｍからコンテンツをダウンロードしたとき、自装置のＤＨＴ１３２内の相当する位置の端末情報を、コンテンツ保持端末装置１の端末情報に書き換える。詳細については後述する。
【００４９】
［４．端末装置の処理］
次に、端末装置の処理について説明する。この端末装置１の処理は、端末装置メイン処理、コンテンツ配信システムＳへの参加処理、コンテンツダウンロード処理、コンテンツ送信処理、メッセージ受信処理、お勧めコンテンツ表示処理、履歴送信処理（コンテンツの取得履歴の情報を送信する処理）、通信相手によるＤＨＴ書換処理及びリクエスト履歴に基づくＤＨＴ書換処理に区別される。以下、それぞれの処理について説明する。
【００５０】
（端末装置メイン処理）
まず、端末装置メイン処理について説明する。図６は、端末装置メイン処理のフローを示す図である。この端末装置メイン処理は、通信プログラム１２２及びメインプログラム１２３により実現される。
【００５１】
図６を参照して、端末装置１においてメイン電源スイッチ（図示せず）がＯＮ操作されることにより、またはリセットスイッチ（図示せず）が操作されることにより、端末装置メイン処理を開始すると、端末装置１の制御部１４０は、記憶部１０２のアクセス許可を行い、内部ＲＡＭの作業領域を確保する等の初期化処理を行う（ステップＳ１０１）。
【００５２】
制御部１４０は、ステップＳ１０１の初期化処理が完了すると、コンテンツ配信システムＳへの参加処理を行う（ステップＳ１０２）。これにより、端末装置１は、コンテンツ配信システムＳのネットワーク２に参加することができる。この参加処理の詳細については後述する。
【００５３】
次に、制御部１４０は、ユーザによるキーボード１０５及びマウス１０６の操作により、周辺機器制御チップ１０７を介して、コンテンツのダウンロード指示があるか否かを判断する（ステップＳ１０３）。コンテンツのダウンロード指示があると判断した場合（ステップＳ１０３：Ｙ）、端末装置１はリクエスト端末装置１として機能し、ダウンロード処理を行う（ステップＳ１０４）。このダウンロード処理については後述する。そして、端末装置１のメイン電源スイッチがＯＦＦ操作されたか否かを判断し（ステップＳ１１６）。メイン電源スイッチがＯＦＦ操作されていない場合（ステップＳ１１６：Ｎ）、ステップＳ１０３へ移行し、メイン電源スイッチがＯＦＦ操作された場合（ステップＳ１１６：Ｙ）、端末装置メイン処理を終了する。
【００５４】
制御部１４０は、ステップＳ１０３において、コンテンツのダウンロード指示がないと判断した場合（ステップＳ１０３：Ｎ）、コンテンツ投入装置４から投入コンテンツを受信したか否かを判断する（ステップＳ１０５）。投入コンテンツを受信したと判断した場合（ステップＳ１０５：Ｙ）、受信した投入コンテンツをハードディスク装置１０３に記憶し（ステップＳ１０６）、自装置の端末情報を含む登録メッセージを、自装置のＤＨＴ１３２を参照して他の端末装置１へ送信し（ステップＳ１０７）、ステップＳ１１６へ移行する。ここで、投入コンテンツを記憶した端末装置１は、そのコンテンツを保持するコンテンツ保持端末装置１として機能する。また、登録メッセージは、転送を繰り返すことにより最終的にルート端末装置１へ送信され、ルート端末装置１が、コンテンツ保持端末装置１の端末情報を記憶する。
【００５５】
制御部１４０は、ステップＳ１０５において、投入コンテンツを受信していないと判断した場合（ステップＳ１０５：Ｎ）、コンテンツ送信要求メッセージを受信したか否かを判断する（ステップＳ１０８）。コンテンツ送信要求メッセージを受信したと判断した場合（ステップＳ１０８：Ｙ）、コンテンツ保持端末装置１としてコンテンツ送信処理を行い（ステップＳ１０９）、ステップＳ１１６へ移行する。このコンテンツ送信処理の詳細については後述する。
【００５６】
制御部１４０は、ステップＳ１０８において、コンテンツ送信要求メッセージを受信していないと判断した場合（ステップＳ１０８：Ｎ）、検索メッセージ等の他のメッセージを受信したか否かを判断する（ステップＳ１１０）。検索メッセージ等の他のメッセージを受信したと判断した場合（ステップＳ１１０：Ｙ）、メッセージ受信処理を行い（ステップＳ１１１）、ステップＳ１１６へ移行する。このメッセージ受信処理の詳細については後述する。ここで、端末装置１は、検索メッセージを受信した場合には、転送端末装置１またはルート端末装置１として機能する。
【００５７】
制御部１４０は、ステップＳ１１０において、検索メッセージ等の他のメッセージを受信していないと判断した場合（ステップＳ１１０：Ｎ）、ユーザによるキーボード１０５及びマウス１０６の操作により、周辺機器制御チップ１０７を介して、お勧めコンテンツ表示指示があるか否かを判断する（ステップＳ１１２）。お勧めコンテンツ表示指示があると判断した場合（ステップＳ１１２：Ｙ）、お勧めコンテンツ表示処理を行い（ステップＳ１１３）、ステップＳ１１６へ移行する。ここで、お勧めコンテンツ表示指示には、ユーザ操作による指示だけでなく、タイマーによる定期的な指示も含まれる。また、ユーザ操作による指示には、お勧めコンテンツを表示するための操作や、コンテンツ状態を表示するための操作による指示も含まれる。このお勧めコンテンツ表示処理の詳細については後述する。
【００５８】
制御部１４０は、ステップＳ１１２において、お勧めコンテンツ表示指示がないと判断した場合（ステップＳ１１２：Ｎ）、コンテンツ取得履歴の送信を要求する履歴送信要求があるか否かを判断する（ステップＳ１１４）。履歴送信要求があると判断した場合（ステップＳ１１４：Ｙ）、履歴送信処理を行い（ステップＳ１１５）、ステップＳ１１６へ移行する。この履歴送信処理の詳細については後述する。一方、履歴送信要求がないと判断した場合（ステップＳ１１４：Ｎ）、ステップＳ１１６へ移行する。
【００５９】
（コンテンツ配信システムへの参加処理）
次に、図６に示したステップＳ１０２におけるコンテンツ配信システムＳへの参加処理について詳細に説明する。図７は、コンテンツ配信システムＳへの参加処理のフローを示す図である。この参加処理は、通信プログラム１２２及び参加処理プログラム１２４により実現される。
【００６０】
図７を参照して、端末装置１の制御部１４０は、図６のステップＳ１０２においてコンテンツ配信システムＳへの参加処理を開始すると、まず、コンタクト先紹介装置３へコンタクト先端末装置１の所在情報を要求するための問い合わせを行い（ステップＳ１２１）、コンタクト先紹介装置３からコンタクト先端末装置１の所在情報を受信する（ステップＳ１２２）。
【００６１】
そして、制御部１４０は、コンタクト先端末装置１へ参加メッセージを送信し（ステップＳ１２３）、コンタクト先端末装置１及び参加メッセージの転送を受けた端末装置１からＤＨＴ１３２の端末情報を受信し（ステップＳ１２４）、受信した端末情報に基づいて、図４に示したような自装置のＤＨＴ１３２を生成する（ステップＳ１２５）。そして、コンテンツ配信システムＳへの参加処理を終了し、図６のステップＳ１０３へ移行する。
【００６２】
（コンテンツダウンロード処理）
次に、図６に示したステップＳ１０４におけるコンテンツダウンロード処理について詳細に説明する。図８は、コンテンツダウンロード処理のフローを示す図である。このダウンロード処理は、通信プログラム１２２及びコンテンツダウンロード処理プログラム１２５により実現される。
【００６３】
図８を参照して、端末装置１の制御部１４０は、図６のステップＳ１０４においてコンテンツダウンロード処理を開始すると、まず、ユーザ操作によるコンテンツのダウンロード指示に従い、［３．端末装置がコンテンツをダウンロードする際の動作」の箇所に示したように、そのコンテンツに対応するコンテンツＩＤに基づき自装置のＤＨＴ１３２を参照して宛先を決め、コンテンツ保持端末装置１の所在情報を取得するための検索メッセージを送信する（ステップＳ１３１）。この検索メッセージは、ルート端末装置１が受信するまで転送される。ルート端末装置１は、検索メッセージを受信すると、コンテンツ保持端末装置１の所在情報をリクエスト端末装置１へ送信する。
【００６４】
そして、制御部１４０は、ルート端末装置１からコンテンツ保持端末装置１の所在情報を受信し（ステップＳ１３２）、通信相手によるＤＨＴ書換処理を行う（ステップＳ１３３）。具体的には、制御部１４０は、ＤＨＴ１３２における各レベルのグループのうち、通信相手であるルート端末装置１の端末情報が属するレベルのグループに相当する位置を特定し、すなわち、ルート端末装置１についての、ＤＨＴ１３２内の相当する位置を特定し、その特定した位置に書き込まれている端末情報をルート端末装置１の端末情報に書き換える。この通信相手によるＤＨＴ書換処理の詳細については後述する。
【００６５】
また、制御部１４０は、コンテンツ保持端末装置１へコンテンツ送信要求メッセージを送信し（ステップＳ１３４）、コンテンツ保持端末装置１からコンテンツをダウンロードしてハードディスク装置１０３に記憶する（ステップＳ１３５）。また、制御部１４０は、通信相手によるＤＨＴ書換処理を行い（ステップＳ１３６）、リクエスト履歴に基づくＤＨＴ書換処理を行う（ステップＳ１３７）。具体的には、制御部１４０は、ＤＨＴ１３２における各レベルのグループのうち、コンテンツ保持端末装置１の端末情報が属するレベルのグループに相当する位置を特定し、すなわち、コンテンツ保持端末装置１についての、ＤＨＴ１３２内の相当する位置を特定し、コンテンツ保持端末装置１の端末情報に書き換える。このとき、リクエスト履歴に基づくＤＨＴ書換処理の場合は、ＤＨＴ１３２内の相当する位置の履歴フラグを「１」に設定する。この通信相手によるＤＨＴ書換処理及びリクエスト履歴に基づくＤＨＴ書換処理の詳細については後述する。また、制御部１４０は、ダウンロードしたコンテンツのコンテンツＩＤ、コンテンツ名称、コンテンツのジャンル、取得時刻等をコンテンツ取得履歴テーブル１３３に記憶する（ステップＳ１３８）。
【００６６】
このように、端末装置１は、コンテンツをダウンロードした契機に、ＤＨＴ１３２の端末情報を、そのコンテンツの送信元であるコンテンツ保持端末装置１の端末情報に書き換えるようにした。具体的には、端末装置１は、コンテンツ取得履歴テーブル１３３に、ダウンロードしたコンテンツに対応するコンテンツに関連する情報が記憶されている等の所定の条件（詳細については後述する。）を満たす場合に、ＤＨＴ１３２の端末情報を、コンテンツ保持端末装置１の端末情報に書き換えるようにした。これにより、端末装置１のＤＨＴ１３２には、端末装置１のユーザが所望したコンテンツに関連するコンテンツ（同じコンテンツ、同じジャンルのコンテンツ等）を取得したコンテンツ保持端末装置１の端末情報が記憶されるようになる。言い換えれば、端末装置１のＤＨＴ１３２には、端末装置１のユーザのリクエスト傾向に近いコンテンツ、すなわち、端末装置１のユーザの嗜好に近いコンテンツをリクエストした他の端末装置１の端末情報が集まってくるようになる。したがって、端末装置１は、ＤＨＴ１３２に記憶した端末情報を持つ他の端末装置１からコンテンツの取得履歴の情報を取得することにより、端末装置１を操作するユーザの嗜好に合ったコンテンツに関する情報を表示することができる。
【００６７】
（コンテンツ送信処理）
次に、図６に示したステップＳ１０９におけるコンテンツ送信処理について詳細に説明する。図９は、コンテンツ送信処理のフローを示す図である。このコンテンツ送信処理は、通信プログラム１２２及びコンテンツ送信処理プログラム１２６により実現される。
【００６８】
図９を参照して、端末装置１の制御部１４０は、図６のステップＳ１０９においてコンテンツ送信処理を開始すると、まず、通信相手によるＤＨＴ書換処理を行い（ステップＳ１４１）、コンテンツ送信要求メッセージを送信した通信相手であるリクエスト端末装置１についての、ＤＨＴ１３２内の相当する位置を特定し、リクエスト端末装置１の端末情報に書き換える。この通信相手によるＤＨＴ書換処理の詳細については後述する。
【００６９】
そして、制御部１４０は、受信したコンテンツ送信要求メッセージに対応するコンテンツをハードディスク装置１０３から読み出し、読み出したコンテンツをコンテンツ送信要求メッセージの送信元であるリクエスト端末装置１へ送信する（ステップＳ１４２）。また、制御部１４０は、リクエスト履歴に基づくＤＨＴ書換処理を行い（ステップＳ１４３）、ＤＨＴ１３２に対し、リクエスト端末装置１の端末情報に書き換えた箇所の履歴フラグを「１」に設定する。このリクエスト履歴に基づくＤＨＴ書換処理の詳細については後述する。そして、制御部１４０は、コンテンツ送信処理を終了する。
【００７０】
このように、端末装置１は、コンテンツ送信要求メッセージを受信した契機に、ＤＨＴ１３２の端末情報を、そのコンテンツ送信要求メッセージの送信元であるリクエスト端末装置１の端末情報に書き換えるようにした。具体的には、端末装置１は、コンテンツ取得履歴テーブル１３３に、受信したコンテンツ送信要求メッセージに対応するコンテンツに関連する情報が記憶されている等の所定の条件（詳細については後述する。）を満たす場合に、ＤＨＴ１３２の端末情報を、リクエスト端末装置１の端末情報に書き換えるようにした。これにより、端末装置１のＤＨＴ１３２には、端末装置１のユーザが所望したコンテンツに関連するコンテンツ（同じコンテンツ、同じジャンルのコンテンツ等）を取得したリクエスト端末装置１の端末情報が記憶されるようになる。言い換えれば、端末装置１のＤＨＴ１３２には、端末装置１のユーザのリクエスト傾向に近いコンテンツ、すなわち、端末装置１のユーザの嗜好に近いコンテンツをリクエストした他の端末装置１の端末情報が集まってくるようになる。したがって、端末装置１は、ＤＨＴ１３２に記憶した端末情報を持つ他の端末装置１からコンテンツの取得履歴の情報を取得することにより、端末装置１を操作するユーザの嗜好に合ったコンテンツに関する情報を表示することができる。
【００７１】
（メッセージ受信処理）
次に、図６に示したステップＳ１１１におけるメッセージ受信処理について詳細に説明する。図１０は、メッセージ受信処理のフローを示す図である。このメッセージ受信処理は、通信プログラム１２２及びメッセージ受信処理プログラム１２７により実現される。
【００７２】
図１０を参照して、端末装置１の制御部１４０は、図６のステップＳ１１１においてメッセージ受信処理を開始すると、まず、通信相手によるＤＨＴ書換処理を行い（ステップＳ１５１）、受信したメッセージの通信相手である端末装置１についての、ＤＨＴ１３２内の相当する位置を特定し、その端末装置１の端末情報に書き換える。この通信相手によるＤＨＴ書換処理の詳細については後述する。そして、制御部１４０は、受信したメッセージが検索メッセージであるか否かを判断する（ステップＳ１５２）。受信したメッセージが検索メッセージでない場合（ステップＳ１５２：Ｎ）、検索メッセージ以外の受信したメッセージに従った処理を行い（ステップＳ１５７）、メッセージ受信処理を終了する。
【００７３】
一方、端末装置１の制御部１４０は、ステップＳ１５２において、受信したメッセージが検索メッセージである場合（ステップＳ１５２：Ｙ）、リクエスト履歴に基づくＤＨＴ書換処理を行い（ステップＳ１５３）、ＤＨＴ１３２に対し、検索メッセージの送信元であるリクエスト端末装置１の端末情報に書き換えた箇所の履歴フラグを「１」に設定する。このリクエスト履歴に基づくＤＨＴ書換処理の詳細については後述する。
【００７４】
制御部１４０は、ステップＳ１５３のリクエスト履歴に基づくＤＨＴ書換処理が終了すると、［３．端末装置がコンテンツをダウンロードする際の動作」の箇所に示したように、受信した検索メッセージの宛先識別情報であるコンテンツＩＤと自装置のＤＨＴ１３２とに基づいて、自装置がルート端末装置１であるか否かを判断する（ステップＳ１５４）。自装置がルート端末装置１であると判断した場合（ステップＳ１５４：Ｙ）、検索メッセージに対応するコンテンツを保持するコンテンツ保持端末装置１の所在情報を、リクエスト端末装置１へ送信し（ステップＳ１５５）、メッセージ受信処理を終了する。一方、自装置がルート端末装置１でないと判断した場合、すなわち転送端末装置１であると判断した場合（ステップＳ１５４：Ｎ）、ＤＨＴ１３２を参照して、受信した検索メッセージを転送し（ステップＳ１５６）、メッセージ受信処理を終了する。
【００７５】
このように、端末装置１は、検索メッセージを受信した契機に、ＤＨＴ１３２の端末情報を、その検索メッセージの送信元であるリクエスト端末装置１の端末情報に書き換えるようにした。具体的には、端末装置１は、コンテンツ取得履歴テーブル１３３に、受信した検索メッセージに対応するコンテンツに関する情報が記憶されている等の所定の条件（詳細については後述する。）を満たす場合に、ＤＨＴ１３２の端末情報を、リクエスト端末装置１の端末情報に書き換えるようにした。これにより、端末装置１のＤＨＴ１３２には、端末装置１のユーザが所望したコンテンツに関連するコンテンツ（同じコンテンツ、同じジャンルのコンテンツ等）を取得したリクエスト端末装置１の端末情報が記憶されるようになる。言い換えれば、端末装置１のＤＨＴ１３２には、端末装置１のユーザのリクエスト傾向に近いコンテンツ、すなわち端末装置１のユーザの嗜好に近いコンテンツをリクエストした他の端末装置１の端末情報が集まってくるようになる。したがって、端末装置１は、ＤＨＴ１３２に記憶した端末情報を持つ他の端末装置１からコンテンツの取得履歴の情報を取得することにより、端末装置１を操作するユーザの嗜好に合ったコンテンツに関する情報を表示することができる。
【００７６】
（お勧めコンテンツ表示処理）
次に、図６に示したステップＳ１１３におけるお勧めコンテンツ表示処理について詳細に説明する。図１１は、お勧めコンテンツ表示処理のフローを示す図である。このお勧めコンテンツ表示処理は、通信プログラム１２２及びお勧めコンテンツ表示処理プログラム１２８により実現される。
【００７７】
図１１を参照して、端末装置１の制御部１４０は、図６のステップＳ１１３においてお勧めコンテンツ表示処理を開始すると、まず、ＤＨＴ１３２から履歴フラグ「１」の端末情報を読み出し（ステップＳ１６１）、読み出した端末情報を持つ端末装置１に対して、コンテンツ取得履歴の送信を要求するための履歴送信要求の情報を送信する（ステップＳ１６２）。履歴送信要求の情報を受信した他の端末装置１は、後述する履歴送信処理を行い、自装置が保持するコンテンツ取得履歴の情報を返信する。
【００７８】
そして、端末装置１の制御部１４０は、他の端末装置１からコンテンツの取得履歴の情報を受信すると、記憶部１０２に記憶する（ステップＳ１６３）。そして、制御部１４０は、記憶部１０２に記憶したコンテンツの取得履歴の情報を読み出し、読み出したコンテンツの取得履歴の情報から自装置で取得したコンテンツの情報を除いて集計し、例えばランキングを決定する等して、お勧めコンテンツの情報を表示する（ステップＳ１６４）。そして、お勧めコンテンツ表示処理を終了する。
【００７９】
このように、端末装置１は、ＤＨＴ１３２に記憶した履歴フラグ「１」の端末情報を持つ他の端末装置１から、コンテンツの取得履歴の情報を収集し、表示するようにした。この場合、履歴フラグ「１」の他の端末装置１は、端末装置１のユーザが所望したコンテンツに関連するコンテンツを取得した装置であるから、端末装置１は、ユーザが所望したコンテンツに関連するコンテンツの取得履歴の情報を収集し表示することができる。言い換えれば、端末装置１は、ユーザのリクエスト傾向に近いコンテンツの取得履歴の情報、すなわちユーザの嗜好に近いコンテンツの取得履歴の情報を収集し表示することができる。
【００８０】
（履歴送信処理）
次に、図６に示したステップＳ１１５における履歴送信処理について詳細に説明する。図１２は、履歴送信処理のフローを示す図である。この履歴送信処理は、通信プログラム１２２及び履歴送信処理プログラム１２９により実現される。
【００８１】
図１２を参照して、端末装置１の制御部１４０は、図６のステップＳ１１５において履歴送信処理を開始すると、まず、受信した履歴送信要求の情報及びＤＨＴ１３２に基づいて、履歴送信要求をした送信元がどのレベル（ｎ段）のグループに属するのかを特定する（ステップＳ１７１）。
【００８２】
そして、制御部１４０は、送信元からの要求を既に処理したか否か、すなわち、後述するステップＳ１７３の処理を既に行ったか否かを判断する（ステップＳ１７２）、送信元からの要求を処理していない場合（ステップＳ１７２：Ｎ）、コンテンツ取得履歴テーブル１３３に記憶したコンテンツ取得履歴の情報を読み出し送信元へ返信し（ステップＳ１７３）、ステップＳ１７４へ移行する。一方、送信元からの要求を既に処理した場合（ステップＳ１７２：Ｙ）、ステップＳ１７４へ移行する。
【００８３】
制御部１４０は、ステップＳ１７１にて特定した送信元のレベルｎ（ｎ段）がレベル１よりも大きいか否か判断し（ステップＳ１７４）、レベル１よりも大きいと判断した場合（ステップＳ１７４：Ｙ）、ｎから１を減算して新たなｎを求め（ステップＳ１７５）、ＤＨＴ１３２から履歴フラグ「１」が記憶されたレベルｎのグループの端末情報を読み出し、その端末情報を持つ端末装置１に対し、受信した履歴送信要求の情報を転送し（ステップＳ１７６）、履歴送信処理を終了する。一方、送信元のレベルｎがレベル１よりも大きくないと判断した場合（ステップＳ１７４：Ｎ）、履歴送信処理を終了する。
【００８４】
このように、履歴送信要求の情報を受信した端末装置１は、その履歴送信要求の情報の送信元がＤＨＴ１３２においてレベル２以下のグループに属する場合、さらに他の端末装置１に対し、受信した履歴送信要求の情報を転送するようにした。これにより、履歴送信要求の情報を送信した端末装置１は、自らのＤＨＴ１３２に記憶した履歴フラグ「１」の端末情報を持つ他の端末装置１だけでなく、当該他の端末装置１のＤＨＴ１３２に記憶した履歴フラグ「１」の端末情報を持つさらに他の端末装置１から、コンテンツの取得履歴の情報を収集し、お好みコンテンツの情報として表示することができる。この場合、履歴フラグ「１」の他の端末装置１及びさらに他の端末装置１は、端末装置１のユーザが所望したコンテンツに関連するコンテンツを取得した装置であるから、端末装置１は、ユーザが所望したコンテンツに関連するコンテンツの取得履歴の情報を、一層多く収集し表示することができる。言い換えれば、端末装置１は、ユーザのリクエスト傾向に近い、すなわちユーザの嗜好に近いコンテンツの取得履歴の情報を、一層多く収集し表示することができる。
【００８５】
（通信相手によるＤＨＴ書換処理）
次に、図８に示したステップＳ１３３、ステップＳ１３６、図９に示したステップＳ１４１、及び、図１０に示したステップＳ１５１における通信相手によるＤＨＴ書換処理について詳細に説明する。図１３は、通信相手によるＤＨＴ書換処理のフローを示す図である。この処理は、通信相手によるＤＨＴ書換処理プログラム１３０により実現される。
【００８６】
端末装置１の制御部１４０は、通信相手によるＤＨＴ書換処理を開始すると、ＤＨＴ１３２における各レベルのグループのうち、受信したメッセージ等の通信相手である端末装置１の端末情報が属するレベルのグループに相当する位置（以下、ＤＨＴ１３２内の相当する位置、という。）を特定し、特定したグループの位置に端末情報が記憶されていないか否か、すなわち、ＤＨＴ１３２内の相当する位置が空いているか否かを判断する（ステップＳ１８１）。例えば、メッセージを送信した端末装置１（通信相手）の端末ＩＤを「０１０１」とし、そのメッセージを受信した端末装置１が、図４に示したＤＨＴ１３２を保持しているものとする。この場合、メッセージを受信した端末装置１の制御部１４０は、通信相手からメッセージを受信すると、自装置のＤＨＴ１３２における各レベルのグループ（図４では１６個のグループ）のうち、通信相手の端末ＩＤ「０１０１」に基づき、通信相手が属するレベルのグループとして、レベル１のプレフィックス０のグループを特定する。そして、メッセージを受信した端末装置１の制御部１４０は、特定したグループには端末ＩＤ「０１００」及びＩＰアドレス「１０．１２３．２０．７３」の端末情報が記憶されている、すなわち、ＤＨＴ１３２内の相当する位置が空いていないことを判断する。
【００８７】
そして、制御部１４０は、ステップＳ１８１において、ＤＨＴ１３２内の相当する位置が空いていない（端末情報が記憶されている）と判断した場合（ステップＳ１８１：Ｎ）、そのＤＨＴ１３２内の相当する位置の履歴フラグが「１」であるか否かを判断する（ステップＳ１８２）。この履歴フラグは、ＤＨＴ１３２が生成される初期状態において「０」が設定されている。一方、制御部１４０は、ステップＳ１８１において、ＤＨＴ１３２内の相当する位置が空いている（端末情報が記憶されていない）と判断した場合（ステップＳ１８１：Ｙ）、ステップＳ１８５へ移行する。
【００８８】
制御部１４０は、ステップＳ１８２において、その相当する位置の履歴フラグが「１」であると判断した場合（ステップＳ１８２：Ｙ）、通信相手によるＤＨＴ書換処理を終了する。一方、制御部１４０は、ステップＳ１８２において、その相当する位置の履歴フラグが「１」でない（「０」である）と判断した場合（ステップＳ１８２：Ｙ）、ｒに乱数（０＜ｒ≦１）を設定し（ステップＳ１８３）、ｒが０．５以下であるか否かを判断する（ステップＳ１８４）。制御部１４０は、ｒが０．５以下でないと判断した場合（ステップＳ１８４：Ｎ）、通信相手によるＤＨＴ書換処理を終了する。また、ｒが０．５以下であると判断した場合（ステップＳ１８４：Ｙ）、ステップＳ１８５へ移行する。
【００８９】
制御部１４０は、ステップＳ１８１またはステップＳ１８４から移行して、ＤＨＴ１３２内の相当する位置に書き込まれている端末情報を、受信したメッセージ等の通信相手である端末装置１の端末情報に書き換え（ステップＳ１８５）、通信相手によるＤＨＴ書換処理を終了する。
【００９０】
このように、端末装置１は、通信相手によるＤＨＴ書換処理によって、ＤＨＴ１３２内の相当する位置が空いている場合、その位置に通信相手の端末情報を書き込み、ＤＨＴ１３２内の相当する位置が空いておらず、かつ、その位置の端末情報が既にリクエスト履歴に基づいて書き換えられている場合、その位置の端末情報を書き換えない。また、ＤＨＴ１３２内の相当する位置が空いておらず、かつ、その位置の端末情報が未だリクエスト履歴に基づいて書き換えられていない場合、ランダムに、その位置の端末情報を通信相手の端末情報に書き換える。
【００９１】
（リクエスト履歴に基づくＤＨＴ書換処理）
次に、図８に示したステップＳ１３７、図９に示したステップＳ１４３、及び、図１０に示したステップＳ１５３におけるリクエスト履歴に基づくＤＨＴ書換処理について詳細に説明する。図１４は、リクエスト履歴に基づくＤＨＴ書換処理のフローを示す図である。この処理は、リクエスト履歴に基づくＤＨＴ書換処理プログラム１３１により実現される。
【００９２】
端末装置１の制御部１４０は、リクエスト履歴に基づくＤＨＴ書換処理を開始すると、受信したメッセージ等の送信元である端末装置１の端末情報について、ＤＨＴ１３２内の相当する位置を特定し、特定したグループの位置に端末情報が記憶されていないか否か、すなわち、ＤＨＴ１３２内の相当する位置が空いているか否かを判断する（ステップＳ１９１）。
【００９３】
制御部１４０は、ステップＳ１９１において、ＤＨＴ１３２内の相当する位置が空いていない（端末情報が記憶されている）と判断した場合（ステップＳ１９１：Ｎ）、コンテンツ取得履歴テーブル１３３に、受信したメッセージ等に対応するコンテンツに関連する情報が記憶されているか否か、すなわち、所定のコンテンツに関連する情報が記憶されているか否かを判断する（ステップＳ１９２）。例えば、ダウンロードしたコンテンツ、受信したコンテンツ送信要求メッセージに対応するコンテンツ（ダウンロード要求されているコンテンツ）、または、受信した検索メッセージに対応するコンテンツ（検索されているコンテンツ）のコンテンツＩＤがコンテンツ取得履歴テーブル１３３に記憶されているか否かを判断する。尚、ダウンロードしたコンテンツ等と同じジャンルのコンテンツＩＤがコンテンツ取得履歴テーブル１３３に記憶されているか否かを判断するようにしてもよい。この場合、制御部１４０は、ジャンルとコンテンツＩＤとを対応つけたテーブルを記憶しておき、そのテーブルに基づいて判断する。
【００９４】
制御部１４０は、ステップＳ１９２において、コンテンツ取得履歴テーブル１３３に所定のコンテンツに関連する情報が記憶されていると判断した場合（ステップＳ１９２：Ｙ）、ＤＨＴ１３２内の相当する位置の履歴フラグが「１」であるか否かを判断する（ステップＳ１９３）。制御部１４０は、ＤＨＴ１３２内の相当する位置の履歴フラグが「１」であると判断した場合（ステップＳ１９３：Ｙ）、ｒに乱数（０＜ｒ≦１）を設定し（ステップＳ１９４）、ｒが０．５以下であるか否かを判断する（ステップＳ１９５）。制御部１４０は、ｒが０．５以下であると判断した場合（ステップＳ１９５：Ｙ）、ステップＳ１９６へ移行する。一方、ｒが０．５以下でないと判断した場合（ステップＳ１９５：Ｎ）、リクエスト履歴に基づくＤＨＴ書換処理を終了する。
【００９５】
制御部１４０は、ステップＳ１９１において、ＤＨＴ１３２内の相当する位置が空いている（端末情報が記憶されていない）と判断した場合（ステップＳ１９１：Ｙ）、または、ステップＳ１９３において、ＤＨＴ１３２内の相当する位置の履歴フラグが「１」でないと判断した場合（ステップＳ１９３：Ｎ）、ステップＳ１９６へ移行する。また、制御部１４０は、ステップＳ１９２において、コンテンツ取得履歴テーブル１３３に所定のコンテンツに関連する情報が記憶されていないと判断した場合（ステップＳ１９２：Ｎ）、リクエスト履歴に基づくＤＨＴ書換処理を終了する。
【００９６】
制御部１４０は、ステップＳ１９１、ステップＳ１９３またはステップＳ１９５から移行して、ＤＨＴ１３２内の相当する位置に書き込まれている端末情報を、メッセージ等の送信元である端末装置１の端末情報に書き換え（ステップＳ１８５）、その履歴フラグを「１」に設定し、リクエスト履歴に基づくＤＨＴ書換処理を終了する。
【００９７】
このように、端末装置１は、リクエスト履歴に基づくＤＨＴ書換処理によって、ＤＨＴ１３２内の相当する位置が空いている場合、その位置に送信元の端末情報を書き込み履歴フラグを「１」に設定し、ＤＨＴ１３２内の相当する位置が空いておらず、かつ、コンテンツ取得履歴テーブル１３３に所定のコンテンツが存在しない場合、その位置の端末情報を書き換えない。また、ＤＨＴ１３２内の相当する位置が空いておらず、コンテンツ取得履歴テーブル１３３に所定のコンテンツが存在しており、かつ、その位置の端末情報が未だリクエスト履歴に基づいて書き換えられていない場合、その位置の端末情報を送信元の端末情報に書き換えて履歴フラグを「１」に設定する。また、ＤＨＴ１３２内の相当する位置が空いておらず、コンテンツ取得履歴テーブル１３３に所定のコンテンツが存在しており、かつ、その位置の端末情報が既にリクエスト履歴に基づいて書き換えられている場合、ランダムに、その位置の端末情報を送信元の端末情報に書き換えて履歴フラグを「１」に設定する。
【００９８】
以上のように、本発明の実施形態によれば、端末装置１は、自らが取得したコンテンツの取得履歴の情報をコンテンツ取得履歴テーブル１３３に記憶し、ダウンロードしたコンテンツ、または受信したコンテンツ送信要求メッセージ若しくは検索メッセージに対応するコンテンツが、コンテンツ取得履歴テーブル１３３に記憶した取得履歴のコンテンツに関連するとき、ＤＨＴ１３２に記憶した端末情報を、それぞれ、そのコンテンツのダウンロード元であるコンテンツ保持端末装置１の端末情報、コンテンツ送信要求メッセージの送信元であるリクエスト端末装置１の端末情報、または検索メッセージの送信元であるリクエスト端末装置１の端末情報に書き換えるようにした。これにより、ＤＨＴ１３２には、端末装置１がリクエストしたコンテンツに関連するコンテンツについて、そのコンテンツをリクエストした端末装置１等の端末情報が集まるようになる。つまり、端末装置１のユーザが所望したコンテンツに関連するコンテンツ、言い換えれば、端末装置１のユーザの嗜好に近いコンテンツを取得したリクエスト端末装置１等の端末情報が記憶されるようになる。そして、端末装置１が、ユーザの指示に従ってお勧めコンテンツを表示する際に、ＤＨＴ１３２にて書き換えた端末情報を持つ端末装置１から、その端末装置１が取得したコンテンツの取得履歴の情報を受信し、表示するようにした。これにより、端末装置１は、ユーザの嗜好に合ったコンテンツに関する情報をユーザに提供することができ、このコンテンツは端末装置１のユーザに対するお勧めコンテンツになり得る。したがって、サーバ装置を使用することなく、Ｐ２Ｐの利点を生かすことにより、ユーザの嗜好に合ったコンテンツに関する情報を表示することができ、かつ、コンテンツ配信サービスの利用効率を向上させることが可能となる。
【００９９】
また、本発明の実施形態によれば、端末装置１は、ダウンロードしたコンテンツ、または送信要求メッセージ若しくは検索メッセージに対応するコンテンツが、コンテンツ取得履歴テーブル１３３に記憶した取得履歴のコンテンツに関連し、かつ、ＤＨＴ１３２内の相当する位置の端末情報が既に書き換えられているときには、乱数を用いてその端末情報を書き換えないようにした。これにより、端末装置１が、ユーザの指示に従ってお勧めコンテンツを表示する際に、ＤＨＴ１３２にて最初に書き換えた端末情報を持つ端末装置１から、その端末装置１が取得したコンテンツの取得履歴の情報を受信し、表示することができる。
【０１００】
また、本発明の実施形態によれば、端末装置１は、ダウンロードしたコンテンツ、または送信要求メッセージ若しくは検索メッセージに対応するコンテンツが、コンテンツ取得履歴テーブル１３３に記憶した取得履歴のコンテンツに関連するときに、ＤＨＴ１３２内の相当する位置の端末情報が既に書き換えられていても、乱数を用いてその端末情報を書き換えるようにした。これにより、端末装置１が、ユーザの指示に従ってお勧めコンテンツを表示する際に、ＤＨＴ１３２にて最新に書き換えた端末情報を持つ端末装置１から、そのリクエスト端末装置１が取得したコンテンツの取得履歴の情報を受信し、表示することができる。
【０１０１】
また、本発明の実施形態によれば、端末装置１は、ＤＨＴ１３２に記憶した端末情報を持つ他の端末装置１だけでなく、当該他の端末装置１のＤＨＴ１３２に記憶した端末情報を持つさらに他の端末装置１からも、コンテンツ取得履歴テーブル１３３に記憶したコンテンツの取得情報を収集して表示するようにした。これにより、サーバ装置を使用することなく、Ｐ２Ｐの利点を生かすことにより、ユーザの嗜好に合ったコンテンツに関する多くの情報を表示することができ、かつ、コンテンツ配信サービスの利用効率を一層向上させることが可能となる。
【０１０２】
以上、本発明の実施形態をいくつかの図面に基づいて詳細に説明したが、これらは例示であり、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。例えば、前記実施形態では、端末装置１が、ダウンロードしたコンテンツ、または送信要求メッセージ若しくは検索メッセージに対応するコンテンツが、コンテンツ取得履歴テーブル１３３に記憶した取得履歴のコンテンツに関連するときに、ＤＨＴ１３２に記憶した端末情報を書き換えるようにしたが、ＤＨＴ１３２を書き換えるのではなく、端末テーブルを用意し、その端末テーブルに、そのコンテンツ、コンテンツ送信要求メッセージまたは検索メッセージの送信元であるリクエスト端末装置１の端末情報をリストとして記憶するようにしてもよい。この場合、端末装置１は、ユーザの指示に従ってお勧めコンテンツを表示する際に、ＤＨＴ１３２の代わりに端末テーブルに記憶した端末情報を持つ端末装置１からコンテンツの取得履歴の情報を受信し、表示する。
【０１０３】
また、前記実施形態の通信システムは、ネットワーク２を介して接続される複数の端末装置１間で、各端末装置１が保持しているコンテンツを互いに送受信することにより、コンテンツの配信を可能としたコンテンツ配信システムＳを対象としたが、それに限定するものではない。要するに、複数の端末装置１の参加により構成され、ネットワーク２を介して端末装置１間でコンテンツの送受信を行う情報通信システムであればよい。
【図面の簡単な説明】
【０１０４】
【図１】本発明の実施形態による端末装置を含むコンテンツ配信システムの構成を示す概略図である。
【図２】本発明の実施形態による端末装置の構成を示す図である。
【図３】ＤＨＴを説明する図である。
【図４】ＤＨＴの一例である。
【図５】端末装置がコンテンツをダウンロードする際の動作の一例を示す図である。
【図６】端末装置メイン処理のフローを示す図である。
【図７】コンテンツ配信システムへの参加処理のフローを示す図である。
【図８】コンテンツダウンロード処理のフローを示す図である。
【図９】コンテンツ送信処理のフローを示す図である。
【図１０】メッセージ受信処理のフローを示す図である。
【図１１】お勧めコンテンツ表示処理のフローを示す図である。
【図１２】履歴送信処理のフローを示す図である。
【図１３】通信相手によるＤＨＴ書換処理のフローを示す図である。
【図１４】リクエスト履歴に基づくＤＨＴ書換処理のフローを示す図である。
【符号の説明】
【０１０５】
１  端末装置
２  ネットワーク
１０１  ＣＰＵ
１０２  記憶部
１０３  ハードディスク装置
１２３  メインプログラム
１２４  参加処理プログラム
１２５  コンテンツダウンロード処理プログラム
１２６  コンテンツ送信処理プログラム
１２７  メッセージ受信処理プログラム
１２８  お勧めコンテンツ表示処理プログラム
１２９  履歴送信処理プログラム
１３０  通信相手によるＤＨＴ書換処理プログラム
１３１  リクエスト履歴に基づくＤＨＴ書換処理プログラム
１３２  ＤＨＴ
１３３  コンテンツ取得履歴テーブル
１４０  制御部
【図１】
2009141708.tif 000003
【図２】
2009141708.tif 000004
【図３】
2009141708.tif 000005
【図４】
2009141708.tif 000006
【図５】
2009141708.tif 000007
【図６】
2009141708.tif 000008
【図７】
2009141708.tif 000009
【図８】
2009141708.tif 000010
【図９】
2009141708.tif 000011
【図１０】
2009141708.tif 000012
【図１１】
2009141708.tif 000013
【図１２】
2009141708.tif 000014
【図１３】
2009141708.tif 000015
【図１４】
2009141708.tif 000016