(57)【特許請求の範囲】
【請求項１】
複数のノードが相互にコンテンツを授受するためのネットワークにノードの一つとして接続される通信端末装置であって、
当該通信端末装置がコンテンツ検索を行ったときに、検索履歴をメモリに記憶させる蓄積管理部と、
コンテンツ検索の対象である所望コンテンツと前記検索履歴の示す過去に検索されたコンテンツとが類似するか否かを、これらコンテンツのメタデータに基づいて判定する類似判定部と、
前記検索履歴が示す過去に検索されたコンテンツを保有するノードのうちの、前記所望コンテンツに類似すると判定されたコンテンツを保有するノードに対して、前記所望コンテンツの保有の有無を問い合わせる検索部と、を備え、
前記検索部は、前記所望コンテンツの保有の有無を問い合わせる際に、問い合わせ先のノードが保有する当該所望コンテンツについての検索の履歴情報の送信の要否を指定する
ことを特徴とする通信端末装置。
【請求項２】
前記蓄積管理部は、前記検索部による問い合わせに対する応答の中に、問い合わせ先ノードにおける前記所望コンテンツについての検索の履歴情報が含まれる場合に、前記応答に含まれる前記履歴情報を前記検索履歴に組み入れて記憶させる
請求項１に記載の通信端末装置。
【請求項３】
当該通信端末装置が該当する自ノードへの他のノードからのコンテンツ保有についての問い合わせに対して、問い合わせの対象のコンテンツを当該通信端末装置が保有している場合に、保有する旨の回答と合わせて、前記検索履歴のうちの当該問い合わせの対象についての情報を応答メッセージとして前記他のノードに送信する検索応答部を、さらに備える
請求項１または２記載の通信端末装置。
【請求項４】
複数のノードが相互にコンテンツを授受するためのネットワークにノードの一つとして接続される通信端末装置であって、
当該通信端末装置がコンテンツ検索を行ったときに、検索履歴をメモリに記憶させる蓄積管理部と、
コンテンツ検索の対象である所望コンテンツと前記検索履歴の示す過去に検索されたコンテンツとが類似するか否かを、これらコンテンツのメタデータに基づいて判定する類似判定部と、
前記検索履歴が示す過去に検索されたコンテンツを保有するノードのうちの、前記所望コンテンツに類似すると判定されたコンテンツを保有するノードに対して、前記所望コンテンツの保有の有無を問い合わせる検索部と、
当該通信端末装置が該当する自ノードへの他のノードからのコンテンツ保有についての問い合わせに対して、問い合わせの対象のコンテンツを当該通信端末装置が保有している場合に、保有する旨の回答と合わせて、前記検索履歴のうちの当該問い合わせの対象についての情報を応答メッセージとして前記他のノードに送信する検索応答部と、を備える
ことを特徴とする通信端末装置。
【請求項５】
前記蓄積管理部は、前記検索部による問い合わせに対する応答の中に、問い合わせ先ノードにおける前記所望コンテンツについての検索の履歴情報が含まれる場合に、前記応答に含まれる前記履歴情報を前記検索履歴に組み入れて記憶させる
請求項４に記載の通信端末装置。
【請求項６】
複数のノードが相互にコンテンツを授受するためのネットワークにノードの一つとして接続される通信端末装置において実行されるコンピュータプログラムであって、
当該通信端末装置がコンテンツ検索を行ったときに、検索履歴をメモリに記憶させる蓄積管理部と、
コンテンツ検索の対象である所望コンテンツと前記検索履歴の示す過去に検索されたコンテンツとが類似するか否かを、これらコンテンツのメタデータに基づいて判定する類似判定部と、
前記検索履歴の示す過去に検索された前記コンテンツを保有するノードのうちの、前記所望コンテンツに類似するコンテンツを保有するノードに対して、前記所望コンテンツの保有の有無を問い合わせ、その際に問い合わせ先のノードが保有する当該所望コンテンツについての検索の履歴情報の送信の要否を指定する検索部として、前記通信端末装置を動作させる
ことを特徴とするコンピュータプログラム。
【請求項７】
複数のノードが相互にコンテンツを授受するためのネットワークにノードの一つとして接続される通信端末装置において実行されるコンピュータプログラムであって、
前記通信端末装置がコンテンツ検索を行ったときに、検索履歴をメモリに記憶させる蓄積管理部と、
コンテンツ検索の対象である所望コンテンツと前記検索履歴の示す過去に検索されたコンテンツとが類似するか否かを、これらコンテンツのメタデータに基づいて判定する類似判定部と、
前記検索履歴の示す過去に検索された前記コンテンツを保有するノードのうちの、前記所望コンテンツに類似するコンテンツを保有するノードに対して、前記所望コンテンツの保有の有無を問い合わせる検索部と、
前記通信端末装置が該当する自ノードへの他のノードからのコンテンツ保有についての問い合わせに対して、問い合わせの対象のコンテンツを当該通信端末装置が保有している場合に、保有する旨の回答と合わせて、前記検索履歴のうちの当該問い合わせの対象についての情報を応答メッセージとして前記他のノードに送信する検索応答部として、前記通信端末装置を動作させる
ことを特徴とするコンピュータプログラム。
【請求項８】
相互にコンテンツを授受する複数のノードを有するネットワークのためのコンテンツ検索方法であって、
前記複数のノードのそれぞれが自己の行なったコンテンツ検索の履歴を蓄積し、
前記各ノードが、コンテンツ検索を行うときに、検索の対象である所望コンテンツと過去に検索したコンテンツとが類似するか否かをこれらコンテンツのメタデータに基づいて判定し、自己の履歴が示す過去に検索したコンテンツを保有するノードのうちの、前記所望コンテンツに類似するコンテンツを保有するノードに対して、前記所望コンテンツの保有の有無を問い合わせ、その際に問い合わせ先のノードが保有する当該所望コンテンツについての検索の履歴情報の送信の要否を指定する
ことを特徴とするコンテンツ検索方法。
【請求項９】
相互にコンテンツを授受する複数のノードを有するネットワークのためのコンテンツ検索方法であって、
前記複数のノードのそれぞれが自己の行なったコンテンツ検索の履歴を蓄積し、
前記各ノードが、コンテンツ検索を行うときに、検索の対象である所望コンテンツと過去に検索したコンテンツとが類似するか否かをこれらコンテンツのメタデータに基づいて判定し、自己の履歴が示す過去に検索したコンテンツを保有するノードのうちの、前記所望コンテンツに類似するコンテンツを保有するノードに対して、前記所望コンテンツの保有の有無を問い合わせ、自己への他のノードからのコンテンツ保有についての問い合わせに対して、問い合わせの対象のコンテンツを自己が保有している場合に、保有する旨の回答と合わせて、前記履歴のうちの当該問い合わせの対象についての情報を応答メッセージとして前記他のノードに送信する
ことを特徴とするコンテンツ検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、ピアツーピア（以下、Ｐ２Ｐと記す）通信によるコンテンツの流通に用いられるコンテンツ検索方法、通信端末装置、および通信端末装置において実行されるコンピュータプログラムに関する。
【背景技術】
【０００２】
Ｐ２Ｐネットワークにおけるコンテンツ検索の基本的な方法はフラッディング（バケツリレー型検索）である。ネットワークに参加するノードの一つが発行した検索クエリが、検索対象のコンテンツを保有するノードに届くまで、ノードからノードへ次々に伝播する。コンテンツを保有するノードに検索クエリが届くと、コンテンツを保有する旨の返答が、検索クエリの伝播経路を逆に進んで検索クエリの発行元のノードに届く。フラッディングには、検索クエリがコンテンツを保有するノードにほぼ確実に届くという利点がある。しかし、ネットワーク全体として通信のトラフィックが大きいという短所、および検索クエリの発行元からみて応答が遅いという短所がある。
【０００３】
トラフィックを抑制する方法としてホップ数制限がある。ホップ数制限は検索クエリの伝播する範囲を制限する。検索クエリが経由するノードの数であるホップ数が制限値に達した時点で、検索は打ち切られる。
【０００４】
検索の応答を早める方法として、多分木やノードのグループ化といったクエリの伝播形態を構造化する方法がある。ただし、この方法では検索クエリが並列に伝搬するので、Ｐ２Ｐネットワーク上に流れる検索クエリの数は単純なバケツリレーによる場合の数に比べて多くなる。すなわち、トラフィックは増大する。
【０００５】
また、Ｐ２Ｐネットワークにおいて、ルーティングの手法として分散ハッシュテーブル（DHT: Distributed Hash Table）が用いられている。分散ハッシュテーブルでは、特定の幾つかのノードにコンテンツの所有状況を集約して保持させる。これにより、検索時のトラフィックをフラッディングの場合と比べて大幅に減少させることができ、かつ応答性に優れる検索を実現することができる。
【０００６】
一方、Ｐ２Ｐネットワークではないコンピュータネットワークにおけるデータ検索に関して、過去の検索履歴を参照して検索を効率化する手法が開示されている（特許文献１）。この手法は、ユーザの指定したキーワードを含むデータを探し出すキーワード検索において、過去の検索に際して今回の検索のキーワードとの類似度が高い内容の回答を送ってきた回答元から順に優先的に検索要求を送る。検索要求の送り先を絞ることにより、ネットワークの負荷を軽減することができる。ただし、キーワード検索の結果には、キーワードを含んではいるがユーザの望むものではない結果（いわゆるノイズ）が含まれる場合がある。ノイズおよびその回答元が検索履歴に記録され、そのような検索履歴に基づいて以降の検索が行われてしまう。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平７−３３４５１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ネットワークにおいてコンテンツを円滑に流通させるには、コンテンツ検索に伴うトラフィックの過剰な増大を防ぐ必要がある。ホップ数制限はトラフィックの抑制に有効である。しかし、ホップ数制限を適用すると、ホップ数が制限を超える範囲に存在するノードには検索クエリが届かないので、Ｐ２Ｐネットワーク上にコンテンツが存在していたとしても検索で見つけられない場合が生じる。分散ハッシュテーブルのように前もってコンテンツの所有状況を集約する手法を適用すると、検索への準備として行われるコンテンツ所有状況の集約段階で多くのトラフィックが発生する。検索時以外に発生するトラフィックが増えるので、全体として検索に関係するトラフィックを抑えることが難しい。そこで、本願の開示は、フラッディングと比べてトラフィックの抑制の観点で優れるコンテンツ検索を実現する手段を提案する。
【課題を解決するための手段】
【０００９】
複数のノードが相互にコンテンツを授受するネットワークにノードの一つとして接続される通信端末装置は、当該通信端末装置がコンテンツ検索を行ったときに、検索履歴をメモリに記憶させる蓄積管理部と、コンテンツ検索の対象である所望コンテンツと前記検索履歴の示す過去に検索されたコンテンツとが類似するか否かを、これらコンテンツのメタデータに基づいて判定する類似判定部と、前記検索履歴の示す過去に検索された前記コンテンツを保有するノードのうちの、前記所望コンテンツに類似すると判定されたコンテンツを保有するノードに対して、前記所望コンテンツの保有の有無を問い合わせ、その際に問い合わせ先のノードが保有する当該所望コンテンツについての検索の履歴情報の送信の要否を指定する検索部と、を備える。
【００１０】
他の態様の通信端末装置は、上記通信端末装置の要素に加えて、当該通信端末装置が該当する自ノードに対する他のノードからのコンテンツ保有についての問い合わせに対して、問い合わせの対象のコンテンツを当該通信端末装置が保有している場合に、保有する旨の回答と合わせて、前記検索履歴のうちの当該問い合わせの対象についての情報を応答メッセージとして前記他のノードに送信する検索応答部を備える。
【発明の効果】
【００１１】
検索対象の所望コンテンツに類似するコンテンツを少なくとも過去に保有したノードに絞って所望コンテンツの保有の有無を問い合わせることにより、検索効率が向上する。フラッディングと比べて、結果的に無駄となる問い合わせが少なくなり、それによってトラフィックが低減される。
【図面の簡単な説明】
【００１２】
【図１】ネットワークの概略を示す図である。
【図２】通信端末装置の構成を示す図である。
【図３】メタデータテーブルのデータ構成を示す図である。
【図４】履歴テーブルのデータ構成を示す図である。
【図５】検索クエリのデータ構成を示す図である。
【図６】検索応答のデータ構成を示す図である。
【図７】類似検索動作の流れを示す図である。
【図８】類似度算出部が実行する類似判定処理の流れを示す図である。
【図９】コンテンツ取得動作の流れを示す図である。
【図１０】他ノードからの検索クエリに対する応答動作の流れを示す図である。
【図１１】コンテンツの流通に関わる複数のノードの動作の第１例を示す図である。
【図１２】コンテンツの流通に関わる複数のノードの動作の第２例を示す図である。
【図１３】類似検索によるコンテンツの取得の例を示す図である。
【図１４】通信端末装置に関わるハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１３】
実施形態の一例として、コンテンツをユーザに一斉配信するダウンロード放送サービスに関わるネットワークを挙げる。図１に示されるネットワーク１は、複数のノードＮ１，Ｎ２，Ｎ３，Ｎ４，Ｎ５が相互にデータをやり取りするＰ２Ｐネットワークである。ネットワーク１には図示のノードＮ１〜Ｎ５以外にも多数のノードが参加する。ノードＮ１〜Ｎ５は、例えばインターネットを介して互いに接続される。ネットワーク１において、ノードＮ１〜Ｎ５には、コンテンツＣとしての放送番組が人工衛星を用いたデータ放送の形態で一斉に配信される。ノードＮ１〜Ｎ５のそれぞれは、衛星放送の受信によってコンテンツを取得する受信機としての機能と、ネットワーク上のコンテンツを検索して他のノードからコンテンツを取得する通信端末装置としての機能とを有する。例えば、衛星放送の受信機を備えまたはそれに接続されたパーソナルコンピュータやＰＤＡ（Personal Digital Assistant）といった各種の情報機器、およびネットワーク接続可能なテレビジョン受像機や他のマルチメディア機器がノードとして使用される。
【００１４】
ダウンロード放送サービスの利用者、すなわちノードＮ１〜Ｎ５としてネットワーク１に接続される機器のユーザは、自己の使用する機器において蓄積されたコンテンツＣを随時に視聴することができる。ネットワーク１においては、各ユーザは、例えば天候や環境条件に起因する受信の乱れのためにコンテンツＣのデータ欠損が生じた場合に、コンテンツＣを保有する他のユーザの機器から自己の機器へコンテンツＣを転送させることができる。図１では、三つのノードＮ１，Ｎ４，Ｎ５がコンテンツＣを保有しており、その中のノードＮ４からノードＮ２へコンテンツＣの転送される状況が表されている。また、各ユーザは、放送時に自己の機器を動作させず、コンテンツＣが受信されなかった場合にも、他のユーザの機器からコンテンツＣを取得することができる。放送のあることを知らなかったり忘れたりしても、放送後の時点でネットワーク１上にコンテンツＣが蓄積されていさえすれば、コンテンツＣの視聴が可能である。
【００１５】
このようにネットワーク１ではノードどうしの通信によってコンテンツが流通するので、データ欠損が生じた場合のコンテンツ補完要求に応えるサーバが必須ではない。仮に、クライアント・サーバ方式で補完要求に対処するには、十分に処理能力の高いサーバおよび大容量の通信インフラストラクチャが必要である。広域を対象とする衛星放送であるが故に、天候の影響で多数のノードで受信の乱れが生じ、補完要求が一時に集中するおそれがあるからである。各ノードＮ１〜Ｎ５がコンテンツを流通させる機能を有することによって、ネットワーク１のスケーラビリティが高まる。
【００１６】
ダウンロード放送サービスには、Ｐ２Ｐ形式のコンテンツの流通に有利な特徴がある。第１に、放送スケジュールに従って一斉に配信されるので、随時に個別にコンテンツを配信する同規模のネットワークと比べて、多数のノードが同じコンテンツを保有する確率が大きい。特に放送から間もない時期では、放送されたコンテンツを削除せずに保持しているノードが多く、コンテンツ検索で当該コンテンツが見つかり易い。第２に、テレビジョン番組の視聴調査の結果からみて、あるコンテンツを利用したユーザは当該コンテンツと類似するコンテンツをも利用する傾向がある。すなわち、類似するコンテンツを保有するノードに対して優先的に問い合わせるコンテンツ検索によって所望のコンテンツの見つかる確率が大きい。第３に、放送されるコンテンツにメタデータが与されるのが一般的であり、かつ放送局からの情報に基づいて作成される電子番組表からメタデータを取得することができる。ここでいうメタデータは、タイトル、あらすじ、出演者といったコンテンツに固有の情報であり、ユーザが視聴の要否を判断するときの参考となる情報である。メタデータに基づいてコンテンツの類似判断をすることにより、ユーザと嗜好の似た他のユーザのノードに対して優先的に問い合わせる効率的なコンテンツ検索を実現することができる。
【００１７】
以下、ネットワーク１にノードの一つとして接続される機器において、放送済みのコンテンツの流通に関わる機能を実現する通信端末装置の構成および動作を説明する。以下の説明において、通信端末装置が該当するノードを“自ノード”といい、自ノード以外のノードを“他ノード”といって両者を区別することがある。
【００１８】
図２に示される通信端末装置１０は、メタデータを利用しない一般的なコンテンツ検索に関わるソフトウェア構成要素として、通信部１２、Ｐ２Ｐ検索部１４、コンテンツ取得部１６、およびＰ２Ｐ検索応答部１８を有する。また、通信端末装置１０は、メタデータを利用する“類似検索”と呼称するコンテンツ検索に関わるソフトウェア構成要素として、類似検索部２２、類似度算出部２４、蓄積管理部２６、および類似検索応答部２８を有する。これらの要素は、図示しない所定のハードウェア要素によるコンピュータプログラムの実行によって実現される。
【００１９】
通信部１２は、ネットワーク１における他ノードの通信端末装置との間で、検索クエリおよび応答メッセージを送受信する。例えば、通信部１２は、類似検索部２２が発行する検索クエリ４１を他ノードへ送信し、検索クエリ４１に対する他ノードからの応答メッセージ４２を類似検索部２２に引き渡す。また、通信部１２は、他ノードからの検索クエリ４１ｂを受信して類似検索応答部２８に引き渡し、検索クエリ４１ｂに対する類似検索応答部２８からの応答メッセージ４２ｂを他ノードへ送信する。
【００２０】
Ｐ２Ｐ検索部１４は、例えばフラッディングのようにルーティングの規則に従って検索クエリを伝播させる手法を用いたコンテンツ検索（これを便宜的に“既存Ｐ２Ｐ検索”と呼称する）を行う。Ｐ２Ｐ検索部１４が発行する検索クエリは通信部１２を介して他ノードへ送信され、所望のコンテンツ（検索対象）を保有するノードに届くまでノードからノードへ伝播する。ただし、ホップ数が制限されている場合は、検索クエリが伝播する検索範囲はネットワーク１の一部に限定される。
【００２１】
コンテンツ取得部１６は、Ｐ２Ｐ検索部１４または類似検索部２２からの取得指示を受けて、指示によって指定されたコンテンツの転送を指定された他ノードに対して要求する。転送要求は通信部１２を介して他ノードに送信される。他ノードから転送されたコンテンツを通信部１２から受け取ると、コンテンツ取得部１６は所定のメモリ内のコンテンツ蓄積部３０にそのコンテンツを格納する。
【００２２】
Ｐ２Ｐ検索応答部１８は、他ノードからの既存Ｐ２Ｐ検索の検索クエリに応答する。本例では他ノードに対する応答の窓口が類似検索応答部２８であるので、通信部１２が受信した既存Ｐ２Ｐ検索の検索クエリは類似検索応答部２８を経由してＰ２Ｐ検索応答部１８に届く。Ｐ２Ｐ検索応答部１８は、検索クエリの示すコンテンツがコンテンツ蓄積部３０に蓄積されているか否かを調べ、その結果を示す応答メッセージを検索クエリの送信元へ送る。
【００２３】
類似検索部２２は、図示しない指示部からの検索指示を受けて、本実施形態のネットワーク１におけるコンテンツ流通を特徴づける類似検索を行う。類似検索部２２に入力される検索指示には類似検索指示と既存Ｐ２Ｐ検索指示とがある。ただし、既存Ｐ２Ｐ検索指示が与えられたとき、類似検索部２２は実質的に処理をせず、直ちに既存Ｐ２Ｐ検索指示をＰ２Ｐ検索部１４に引き渡す。類似検索指示は、自ノードとしての機器のユーザが図示しないユーザインタフェースを用いて所定の操作を行ったときに、操作を受け付ける指示部によって類似検索部２２に与えられる。または、自動検索モードが設定されている場合において、放送の受信状況を監視する受信監視部がデータ欠損を検知したときに、受信監視部から通知を受けた指示部によって類似検索指示が類似検索部２２に与えられる。以下において“所望コンテンツ”とは、自ノードにおける検索指示が示す検索対象コンテンツを意味する。
【００２４】
類似検索部２２は、類似検索指示が与えられたときに、所望コンテンツの保有の有無を問い合わせる検索クエリ４１を発行する。類似検索における検索クエリ４１の宛先は、既存Ｐ２Ｐ検索における検索クエリの宛先がルーティングに従うのとは違って、所望コンテンツに応じて選定される。類似検索部２２は、類似度算出部２４と連携して所望コンテンツに類似するコンテンツを特定し、所望コンテンツに類似するコンテンツを保有しまたは保有していた他ノードを検索クエリ４１の宛先に定める。
【００２５】
検索クエリ４１に対して他ノードから所望コンテンツを保有している旨の応答メッセージ４２が返された場合、すなわち所望コンテンツが見つかった場合に、類似検索部２２はコンテンツ取得部１６に所望コンテンツの取得を依頼する。これを受けてコンテンツ取得部１６が、所望コンテンツを取得してコンテンツ蓄積部３０に格納する。
【００２６】
類似度算出部２４は、履歴テーブルＴ２に記録された検索履歴の示す過去に検索されたコンテンツについて、メタデータテーブルＴ１に記録されたメタデータに基づいて、所望コンテンツとの類似の度合を示す類似度を算出する。例えば、類似度は０から１までの範囲内の値をとる。そして、類似度算出部２４は、算出した類似度が最も大きいコンテンツまたは類似度が閾値以上であるコンテンツを、所望コンテンツに類似するコンテンツ（以下、類似コンテンツという）であると判定する。この判定の結果に基づいて、上述のとおり検索クエリ４１の宛先が定められる。
【００２７】
類似度算出部２４による類似度の算出には、メタデータの各項目の内容やメタデータに含まれる語句を比較する公知の技術を用いることができる。例えば、ＥＰＧ(Electronic Program Guide)が提供するメタデータを利用して放送予定番組の中からユーザの嗜好に合致すると推定される推奨番組を抽出する手法（特許第４１８２７４３号公報、特開２００８ー１４１４１６号公報参照）が適用可能である。
【００２８】
蓄積管理部２６は、Ｐ２Ｐ検索部１８または類似検索部２２によるコンテンツ検索、およびコンテンツ取得部１６による所望コンテンツの取得が行われたときに、検索または取得に関わる所定のデータを履歴テーブルＴ２に記録する。履歴テーブルＴ２はコンテンツの検索および取得の履歴情報であり、不揮発性のメモリによって記憶される。本例では蓄積管理部２６が、履歴テーブルＴ２の管理とともにメタデータテーブルＴ１およびコンテンツ蓄積部３０の管理を受け持つ。ただし、履歴テーブルＴ２の管理以外を受け持つ別の管理部を設けてもよい。
【００２９】
類似検索応答部２８は、他ノードからの類似検索の検索クエリ４１ｂに応答する。検索クエリ４１ｂが問い合わせているコンテンツの保有の有無を調べるため、類似検索応答部２８はメタデータテーブルＴ１またはコンテンツ蓄積部３０のインデックス情報を参照する。そして、類似検索応答部２８は、問い合わせに該当するコンテンツの保有の有無を示す応答メッセージ４２ｂを検索クエリ４１ｂの送信元へ送る。
【００３０】
図３はメタデータテーブルＴ１のデータ構成を示す。メタデータテーブルＴ１は、放送の受信またはコンテンツ検索によって取得された取得済みコンテンツについてのメタデータの一覧である。コンテンツＩＤ(identification)、タイトル、詳細情報などの項目に区分してメタデータは管理される。
【００３１】
図４は履歴テーブルＴ２のデータ構成を示す。履歴テーブルＴ２は、所望コンテンツとして検索されたコンテンツについて、保有応答ノードと取得元ノードとを示す。保有応答ノードとは、検索されたコンテンツを保有する旨の応答メッセージを返した他ノードである。取得元ノードとは、保有応答ノードから選ばれてコンテンツを自ノードに提供したノードである。
【００３２】
図５は検索クエリ４１のデータ構成を示す。検索クエリ４１は、検索クエリＩＤ、所望コンテンツのコンテンツＩＤ、検索送信元ノード（自ノード）のノードＩＤ，および類似検索フラグを項目として有する。類似検索フラグは、類似検索と既存Ｐ２Ｐ検索とでクエリのフォーマットを共通化するために設けられた検索方法の識別子である。類似検索の検索クエリ４１において、類似検索フラグの値は類似検索を示す値（図では「ＹＥＳ」）とされる。一方、既存Ｐ２Ｐ検索の場合には、類似検索フラグの値が空白とされる以外は検索クエリ４１と同様の構成の検索クエリが発行される。
【００３３】
図６は応答メッセージ４２のデータ構成を示す。応答メッセージ４２は、検索クエリＩＤ、該当コンテンツのコンテンツＩＤ、応答送信元ノード（自ノード）のノードＩＤ，および保有応答ノード一覧を項目として有する。該当コンテンツとは、検索クエリ４１における所望コンテンツである。保有応答ノード一覧は、検索に関わった複数のノードが検索の機会を利用して互い検索履歴を共有し合えるようにするために設けられている。保有応答ノード一覧として書き込まれる情報は、履歴テーブルＴ２における該当コンテンツに対応する保有応答ノードおよび取得元ノードである。
【００３４】
応答メッセージ４２の各項目の値は、検索クエリＩＤを除いて、所望コンテンツの有無に応じて決まる。自ノードが該当コンテンツを保有していない場合は、検索クエリＩＤ以外の項目の値は空白とされる。自ノードが該当コンテンツを保有している場合は、各項目について所定の値またはデータが書き込まれる。応答メッセージ４２のフォーマットは既存Ｐ２Ｐ検索における応答メッセージのフォーマットと共通である。既存Ｐ２Ｐ検索の場合には、保有応答ノード一覧は空白とされる。
【００３５】
次に図７〜図１０を参照して通信端末装置１０の動作をさらに詳しく説明する。
【００３６】
類似検索の動作の流れが図７に示される。コンテンツ検索は、ユーザによる検索指示操作に呼応して開始される。ユーザは、例えば電子番組表を表示させて放送済みの番組の中から視聴したい番組を所望コンテンツとして選び、それの検索を指示する。これにより、電子番組表が示す所望コンテンツのコンテンツＩＤおよびメタデータを含む検索指示が通信端末装置１０に与えられる。本実施形態では、デフォルトの検索方式は類似検索であり、検索で所望コンテンツが見つかったときは自動的に他ノードから取得する設定がなされているものとする。
【００３７】
図７において、類似検索の検索指示が類似検索部２２に与えられると、検索指示で指定されている所望コンテンツが類似検索部２２から類似度算出部２４に通知され、類似度算出部２４によって類似判定処理が実行される（＃１０）。類似判定処理では、後述のようにメタデータに基づいて類似コンテンツ一覧が作成される。
【００３８】
類似コンテンツが無なかったか、または類似コンテンツ一覧における全ての類似コンテンツのそれぞれに注目した検索で所望コンテンツが見つからなかった場合は（＃１１でＹＥＳ）、検索指示がＰ２Ｐ検索部１４に引き渡される（＃２２）。これにより、Ｐ２Ｐ検索部１４による検索が行われることになる。
【００３９】
類似検索部２２は、類似コンテンツ一覧に挙げられた類似コンテンツのうち、既に注目したものを除いて、最も類似度の高い一つの類似コンテンツに注目する（＃１２）。類似検索部２２は、注目した類似コンテンツの取得元ノードのノードＩＤを履歴テーブルＴ２から取り込み（＃１３）、取得元ノードに対して所望コンテンツの有無を問い合わせる検索クエリ４１を発行する（＃１４）。
【００４０】
類似コンテンツの取得元ノードから所望コンテンツを保有している旨の応答メッセージ４２が届けば（＃１５でＹＥＳ）、検索に成功したことになる。検索が成功したとき、蓄積管理部２６は、履歴テーブルＴ２に検索済みのコンテンツとして所望コンテンツを追加し、所望コンテンツに対応した保有応答ノードの欄の先頭に、最後に検索クエリ４１を送ったノードのノードＩＤを格納する（＃２０）。また、蓄積管理部２６は、応答メッセージ４２における保有応答ノード一覧にあるノードＩＤを履歴テーブルＴ２における保有応答ノードの欄に格納する（＃２１）。
【００４１】
一方、類似コンテンツの取得元ノードが所望コンテンツを保有していない場合は（＃１５でＮＯ）、取得元ノードに代えて保有応答ノードに対して問い合わせが行われる。すなわち、類似検索部２２は、履歴テーブルＴ２を参照し、類似コンテンツとして注目している過去に検索されたコンテンツに対応する保有応答ノードの一つに注目する（＃１７）。このとき、取得元ノードと同じ保有応答ノードは注目の対象外とされる。そして、類似検索部２２は、注目した保有応答ノードに対して、所望コンテンツの有無を問い合わせる検索クエリ４１を発行する（＃１８）。
【００４２】
保有応答ノードから所望コンテンツを保有している旨の応答メッセージ４２が届けば（＃１９でＹＥＳ）、検索に成功したことになる。この場合も上述と同様に、蓄積管理部２６は所望コンテンツに関する検索の履歴を履歴テーブルＴ２に記録する（＃２０、＃２１）。注目した保有応答ノードが所望コンテンツを保有していない場合は（＃１９でＮＯ）、類似検索部２２は、注目しているコンテンツに対応づけられている未注目の保有応答ノードがあるか否かをチェックする（＃１６）。未注目の保有応答ノードがあれば（＃１６でＮＯ）、その一つに検索クエリ４１が送られる（＃１７、＃１８）。検索に成功しない間は、ステップ＃１６〜＃１９の処理が繰り返される。全ての保有応答ノードに問い合わせても検索に成功しない場合は（＃１６でＹＥＳ）、処理の流れはステップ＃１１に戻る。
【００４３】
このように類似検索では、問い合わせをするノードを少なくとも過去に類似コンテンツを保有したノードに絞って所望コンテンツが検索される。所望コンテンツに類似するコンテンツを保有したノードが所望コンテンツを保有する確率は他のノードが保有する確率よりも大きいので、類似検索は効率的であると言える。検索クエリ４１の宛先に選定に際して、より類似度の高い類似コンテンツを保有したノードが優先されるので、早期に所望コンテンツが見つかり易い。さらに、類似コンテンツの取得元ノードは類似コンテンツを蓄積していた実績をもつので、取得元ノードに所望コンテンツが蓄積されている確率は比較的に大きい。最初に取得元ノード対して問い合わせを行うことによって、より早期に所望コンテンツの見つかる確率が高まる。
【００４４】
図８は類似度算出部２４が実行する類似判定処理の流れを示す。まず、類似度算出部２４は、空の類似コンテンツ一覧を作成する（＃１）。類似コンテンツ一覧は、コンテンツＩＤと類似度とを項目として有した一時的に利用されるテーブルである。そして、類似度算出部２４は、メタデータテーブルＴ１に記録されている取得済みのコンテンツの全てについて、一つずつ順に類似コンテンツであるか否かを判定する。詳しくは、類似度算出部２４は取得済みのコンテンツの一つに注目してそれのメタデータをメタデータテーブルＴ１から取り込む（＃３）。続いて類似度算出部２４は、取得済みコンテンツのメタデータと所望コンテンツのメタデータとに基づいて類似度を算出する（＃４）。算出には上述のように公知の手法が用いられる。類似度算出部２４は、算出した類似度が予め設定された一定値以上であるか否かチェックする（＃５）。このチェックが類似判定に相当する。すなわち、類似度が一定値以上であれば（＃５でＹＥＳ）、当該取得済みコンテンツは類似コンテンツであると判定されたことになる。類似度が一定値未満であれば（＃５でＮＯ）、当該取得済みコンテンツは類似コンテンツではないと判定されたことになる。当該取得済みコンテンツが類似コンテンツであれば（＃５でＹＥＳ）、類似度算出部２４は当該取得済みコンテンツの類似度とコンテンツＩＤとを類似コンテンツ一覧に書き込む（＃６）。当該取得済みコンテンツが類似コンテンツでなければ（＃５でＮＯ）、類似度算出部２４はステップ＃２に戻って全ての取得済みコンテンツについて判定を終えたか否かをチェックする。ステップ＃２のチェックでＹＥＳになるまで、ステップ＃３〜＃６が繰り返される。
【００４５】
図９はコンテンツ取得動作の流れを示す。コンテンツ取得部１６は、類似検索部２２またはＰ２Ｐ検索部１４からの取得要求を受けると、履歴テーブルＴ２の保有応答ノードの欄から先頭のノードＩＤを取り出す（＃３１）。続いて、コンテンツ取得部１６は、取り出したノードＩＤをもつノードから所望コンテンツを取得し、所望コンテンツおよびそのメタデータを蓄積する。所望コンテンツはコンテンツ蓄積部３０で蓄積され（＃３２）、メタデータはメタデータテーブルＴ１に書き込まれる（＃３３）。そして、蓄積管理部２６が所望コンテンツの取得元ノードのノードＩＤを履歴テーブルＴ２に書き込む（＃３４）。これによって取得の履歴が記録される。
【００４６】
図１０は他ノードからの検索クエリに対する応答動作の流れを示す。類似検索応答部２８は、他ノードで発行された検索クエリ４１ｂを通信部１２から受け取ると（＃５１）、類似検索フラグをチェックする（＃５２）。類似検索フラグの値が類似検索を表わす「ＹＥＳ」でなければ、類似検索応答部２８は検索クエリをＰ２Ｐ検索応答部１８に引き渡す（＃５８）。この場合、Ｐ２Ｐ検索応答部１８による応答が行われることになる。なお、Ｐ２Ｐ検索応答部１８による応答では、問い合わせのあったコンテンツが無い場合には、検索クエリの送信元に応答するのではなく、ルーティングに従う所定のノードに検索クエリが転送される。
【００４７】
類似検索フラグが類似検索を表わす場合（＃５２でＹＥＳ）、類似検索応答部２８は、問い合わせのあったコンテンツの蓄積（保有）の有無を調べ（＃５３）、その結果に応じて（＃５４）、次のような応答メッセージ４２ｂを作成する。
【００４８】
問い合わせに該当するコンテンツを蓄積している場合は（＃５４でＹＥＳ）、応答メッセージ４２ｂの「検索クエリＩＤ」の欄に他ノードからの検索クエリ４１ｂのＩＤが格納され、「コンテンツＩＤ」の欄に問い合わせのあったコンテンツのＩＤが格納される。そして、「応答送信元ノードのノードＩＤ」の欄に自ノードのノードＩＤが格納される（＃５５）。加えて、応答メッセージ４２ｂの「所有応答ノード一覧」の欄には、履歴テーブルＴ２における当該コンテンツの取得元ノードおよび保有応答ノードのノードＩＤが格納される（＃５６）。これに対して、問い合わせに該当するコンテンツを蓄積していない場合は（＃５４でＮＯ）、「検索クエリＩＤ」の欄に他ノードからの検索クエリ４１ｂのＩＤが格納され、それ以外の項目の欄を空白とした応答メッセージ４２ｂが作成される。
【００４９】
類似検索応答部２８は、作成した応答メッセージ４２ｂを検索クエリ４１ｂが示す送信元ノード（検索クエリの発行元）へ送信する（＃５７）。
【００５０】
図１１および図１２はコンテンツの流通に関わる複数のノードの動作の例を示す。図示の例では、五つのノードＡ，Ｂ，Ｃ，Ｄ，Ｚの間でコンテンツ「１」が流通する。既存Ｐ２Ｐ検索を効率化するためにノードがグループ化されており、グループごとに管理ノードとして動作するノードが定められている。ノードＡ，Ｂ，Ｚが一つのグループに属し、ノードＺが管理ノードとして動作する。また、ノードＣ，Ｄが他の一つのグループに属し、ノードＣが管理ノードとして動作する。管理ノードには管理ノード自身を含むグループ内の各ノードにおけるコンテンツの保有情報が集約される。ここでは、当初においてノードＡのみがコンテンツ「１」を保有しているものとする。
【００５１】
図１１において、ノードＡはコンテンツ「１」を保有することを管理ノードとしてのノードＺに通知する（＃１００）。ノードＺは自己が管理する保有ノード情報にノードＡがコンテンツ「１」を保有すること追記する（＃１０１）。この後、例えばノードＢがコンテンツ「１」について既存Ｐ２Ｐ検索をする。既存Ｐ２Ｐ検索では管理ノードに対して検索依頼（検索クエリの発行）が行われる（＃１０２）。検索依頼を受けたノードＺは、ノードＡがコンテンツ「１」を保有する旨の応答をノードＢに送る（＃１０３）。ノードＢは、自己の履歴テーブルＴ２の保有応答ノードの欄にノードＡのノードＩＤを格納し（＃１０４）、その後にコンテンツ「１」を取得するためにノードＡに対して転送を要求する（＃１０５）。要求を受けたノードＡは、ノードＢにコンテンツ「１」を送信する（＃１０６）。コンテンツ「１」を取得したノードＢは、自己の履歴テーブルＴ２の取得元ノードの欄にノードＡのノードＩＤを格納し（＃１０７）、コンテンツ「１」を保有することをノードＺに通知する（＃１０８）。ノードＺはノードＡおよびＢがコンテンツ「１」を保有することを示すように保有ノード情報を更新する（＃１０９）。
【００５２】
次に、例えばノードＤがコンテンツ「１」について既存Ｐ２Ｐ検索をする（＃１１０）。この時点で管理ノードとしてのノードＣはコンテンツ「１」についての保有ノード情報を有していないものとする。検索依頼を受けたノードＣは、自己の属するグループにコンテンツ「１」が無いので、ルーティングで予め決められている他のグループのノードＺに検索依頼を転送する（＃１１１）。ノードＺは、保有ノード情報からコンテンツ「１」についてのデータを抽出し（＃１１２）、ノードＡ，Ｂがコンテンツ「１」を保有する旨の応答をノードＣに送る（＃１１３）。ノードＣは、自己の履歴テーブルＴ２の保有応答ノードの欄にノードＡ，ＢのノードＩＤを格納し（＃１１４）、ノードＣからの応答の内容を検索依頼元のノードＤへ通知する（＃１１５）。ノードＤは、自己の履歴テーブルＴ２の保有応答ノードの欄にノードＡ，ＢのノードＩＤを格納し（＃１１６）、その後にコンテンツ「１」を取得するために例えばノードＡに対して転送を要求する（＃１１７）。要求を受けたノードＡは、ノードＤにコンテンツ「１」を送信する（＃１１８）。コンテンツ「１」を取得したノードＤは、自己の履歴テーブルＴ２の取得元ノードの欄にノードＡのノードＩＤを格納し（＃１１９）、コンテンツ「１」を保有することをノードＣに通知する（＃１２０）。ノードＣはノードＤがコンテンツ「１」を保有することを示すように保有ノード情報を更新する（＃１２１）。
【００５３】
図１２において、ステップ＃１００〜＃１１６までの動作は図１１の例と同様である。ノードＤは、ステップ＃１１０〜＃１１５の既存Ｐ２Ｐ検索によってノードＡ，Ｂがコンテンツ「１」を保有するという情報を得た後、コンテンツ「１」を取得するためにノードＢに対して転送を要求する（＃１１７ｂ）。要求を受けたノードＢは、ノードＤにコンテンツ「１」を送信する（＃１１８）。コンテンツ「１」を取得したノードＤは、自己の履歴テーブルＴ２の取得元ノードの欄にノードＢのノードＩＤを格納し（＃１１９ｂ）、コンテンツ「１」を保有することをノードＣに通知する（＃１２０）。ノードＣはノードＤがコンテンツ「１」を保有することを示すように保有ノード情報を更新する（＃１２１）。
【００５４】
このように各ノードが既存Ｐ２Ｐ検索を行うごとに各ノードにおける履歴テーブルの保有応答ノードの欄が更新され、他ノードからコンテンツを取得するごとに取得元ノードの欄が更新される。つまり、各ノードは、既存Ｐ２Ｐ検索を行ったときに、あるコンテンツをどのノードが保有するかという保有状況に関して管理ノードがもつ情報と同等の情報を蓄積する。既存Ｐ２Ｐ検索において蓄積された保有状況に関する情報が類似検索における検索クエリの宛先の選定に利用される。
【００５５】
図１３は類似検索によるコンテンツの取得の例を示す。図示の例では、三つのノードＡ，Ｂ，Ｄが所望コンテンツＣとしてのコンテンツ「２」の取得に関与する。自ノードをノードＤとし、他ノードとしてのノードＡ，Ｂにそれぞれ通信端末装置１０ａ，１０ｂが対応するものとする。通信端末装置１０ａ，１０ｂの構成は自ノードに対応する上述の通信端末装置１０の構成と同様である。
【００５６】
自ノードＤがコンテンツ「２」を保有していない状態において、通信端末装置１０にコンテンツ「２」の検索指示が与えられ、検索指示には所望コンテンツＣのメタデータＤｍ（この例ではコンテンツ「２」のメタデータ）またはその照会先が含まれているものとする。
【００５７】
所望コンテンツＣのメタデータＤｍとメタデータテーブルＴ１内の取得済みコンテンツのメタデータとに基づいて、上述のとおり類似度算出部２４によって類似コンテンツ一覧Ｌ１が作成される。図示の類似コンテンツ一覧Ｌ１では、コンテンツ「１」が類似コンテンツＣｓに挙げられている。このコンテンツ「１」については、履歴テーブルＴ２において、取得元としてノードＡが、保有応答ノードとしてノードＡ，Ｂが記録されている。
【００５８】
自ノードＤ（通信端末装置１０）は、類似コンテンツＣｓ（コンテンツ「１」）の取得元ノードである他ノードＡに対して所望コンテンツＣ（コンテンツ「２」）の検索依頼を行う（＃２０１）。すなわち、自ノードＤから他ノードＡへコンテンツ「２」の保有の有無を問い合わせるクエリ（検索クエリ４１）が発行される。本例では他ノードＡはコンテンツ「２」を保有していないので、その旨を示す実質的に空の応答メッセージ４２が他ノードＡから自ノードＤへ送られる（＃２０２）。そこで、自ノードＤは、保有応答ノードとして記録されている他ノードＢに対して検索依頼を行う（＃２０３）。他ノードＢはコンテンツ２を保有しているものとする。
【００５９】
他ノードＢは、コンテンツ２を保有している旨を示す応答メッセージ４２を自ノードＤに送る（＃２０４）。この場合の応答メッセージ４２は、他ノードＢの履歴テーブルＴ２ｂから抽出されたコンテンツ２に関する情報（取得元ノードおよび保有応答ノードを示すノードＩＤ）を含む。応答メッセージ４２を受け取った自ノードＤは、応答送信元ノードであるノードＢおよび応答メッセージ４２の保有応答ノード一覧に記載されたノードＦ，Ｇ，…を履歴テーブルＴ２の保有応答ノードの欄に記録する（＃２０５）。
【００６０】
その後、自ノードＤは、コンテンツ「２」を取得するために例えばノードＢに対して転送を要求する（＃２０６）。要求を受けたノードＢは、ノードＤにコンテンツ「２」を送信する（＃２０７）。コンテンツ「２」を取得したノードＤは、コンテンツ蓄積部３０にコンテンツ「２」を格納するとともに、自己の履歴テーブルＴ２の取得元ノードの欄にノードＢのノードＩＤを格納する（＃２０８）。
【００６１】
以上のようにメタデータを用いて検索対象ノードを絞り込む類似検索を行う通信端末装置１０は、例えば図１４に示す一般的なハードウェア構成を有したパーソナルコンピュータにおいて実現することができる。パーソナルコンピュータは、各種プログラムを実行するＣＰＵ(central processing unit)６１、制御プログラムを記憶するＲＯＭ（Read Only Memory）６２、およびワークエリアとなるＲＡＭ（Random Access Memory）６３を有する。データの蓄積にはストレージとしてのハードディスクドライブ６４が用いられる。ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)やＤＶＤ(Digital Versatile Disk)にアクセスするためのリムーバブルメディアドライブ６５およびネットワーク接続のための通信インタフェース６６もパーソナルコンピュータの構成要素である。通信端末装置１０を実現するコンピュータプログラムを、それを格納したリムーバブル記憶メディア６５１または通信インタフェース６６を介して接続された外部装置から、ストレージ６４にインストールすることができる。また、パーソナルコンピュータは、ヒューマンインタフェースデバイスとしてのディスプレイ６７、キーボード６８およびマウス６９を含む。ヒューマンインタフェースデバイスとして赤外線または他の信号媒体を用いるリモートコントローラを備えてもよい。テレビジョン受像機に通信端末装置１０を組み込む場合には、キーボード６８およびマウス６９に代えてリモートコントローラを備えてもよい。
【００６２】
上述の実施形態において、類似度算出部２４が一つの所望コンテンツＣに対して作成する類似コンテンツ一覧の類似コンテンツ数を適宜に設定することができる。類似度をランク分けしてランクごとに類似コンテンツ数の上限を定めてもよい。検索クエリ４１の宛先になる取得元ノードおよび保有応答ノードの総数の上限を定めてもよい。必ずしも取得済みコンテンツの全てについて類似度を算出する必要はなく、所定数の類似コンテンツを一覧に挙げた時点で類似判定を終了して類似検索を開始してもよい。類似度算出のアルゴリズムおよび類似か否かを決める閾値は、適宜に最適化することができる。
【００６３】
ネットワーク１において流通させるコンテンツは、一つ放送番組の全体であってもよいし、一つ放送番組を小分けしたブロックであってもよい。ＩＤが付されて一義的に特定できるデータを検索の対象（所望コンテンツ）とすることができる。
【００６４】
ネットワーク１の各ノードにおけるコンテンツの一次取得の形態は、放送の受信に限らず、データ通信によるダウンロードまたは記憶媒体からの読み込みであってもよい。
【符号の説明】
【００６５】
１    ネットワーク
Ｎ１，Ｎ２，Ｎ３，Ｎ４，Ｎ５    ノード
１０    通信端末装置
２６    蓄積管理部
Ｃ    所望コンテンツ（コンテンツ）
Ｄｍ    メタデータ
２４    類似度算出部（類似判定部）
Ｔ２    履歴テーブル（検索履歴）
２２    類似検索部
２８    類似検索応答部
４２    応答メッセージ
【図１】
0005505009.tif 000002
【図２】
0005505009.tif 000003
【図３】
0005505009.tif 000004
【図４】
0005505009.tif 000005
【図５】
0005505009.tif 000006
【図６】
0005505009.tif 000007
【図７】
0005505009.tif 000008
【図８】
0005505009.tif 000009
【図９】
0005505009.tif 000010
【図１０】
0005505009.tif 000011
【図１１】
0005505009.tif 000012
【図１２】
0005505009.tif 000013
【図１３】
0005505009.tif 000014
【図１４】
0005505009.tif 000015