説明

通信端末装置、コンピュータプログラムおよびコンテンツ検索方法

【課題】フラッディングと比べてトラフィックの抑制の観点で優れるコンテンツ検索を実現する。
【解決手段】複数のノードが相互にコンテンツを授受するネットワークにノードの一つとして接続される通信端末装置は、コンテンツ検索を行ったときに検索履歴をメモリに記憶させる蓄積管理部と、コンテンツ検索の対象である所望コンテンツと検索履歴の示す過去に検索されたコンテンツとが類似するか否かを、これらコンテンツのメタデータに基づいて判定する類似判定部と、検索履歴の示す過去に検索されたコンテンツを保有するノードのうちの、所望コンテンツに類似すると判定されたコンテンツを保有するノードに対して、所望コンテンツの保有の有無を問い合わせる検索部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本願は、ピアツーピア(以下、P2Pと記す)通信によるコンテンツの流通に用いられるコンテンツ検索方法、通信端末装置、および通信端末装置において実行されるコンピュータプログラムに関する。
【背景技術】
【0002】
P2Pネットワークにおけるコンテンツ検索の基本的な方法はフラッディング(バケツリレー型検索)である。ネットワークに参加するノードの一つが発行した検索クエリが、検索対象のコンテンツを保有するノードに届くまで、ノードからノードへ次々に伝播する。コンテンツを保有するノードに検索クエリが届くと、コンテンツを保有する旨の返答が、検索クエリの伝播経路を逆に進んで検索クエリの発行元のノードに届く。フラッディングには、検索クエリがコンテンツを保有するノードにほぼ確実に届くという利点がある。しかし、ネットワーク全体として通信のトラフィックが大きいという短所、および検索クエリの発行元からみて応答が遅いという短所がある。
【0003】
トラフィックを抑制する方法としてホップ数制限がある。ホップ数制限は検索クエリの伝播する範囲を制限する。検索クエリが経由するノードの数であるホップ数が制限値に達した時点で、検索は打ち切られる。
【0004】
検索の応答を早める方法として、多分木やノードのグループ化といったクエリの伝播形態を構造化する方法がある。ただし、この方法では検索クエリが並列に伝搬するので、P2Pネットワーク上に流れる検索クエリの数は単純なバケツリレーによる場合の数に比べて多くなる。すなわち、トラフィックは増大する。
【0005】
また、P2Pネットワークにおいて、ルーティングの手法として分散ハッシュテーブル(DHT: Distributed Hash Table)が用いられている。分散ハッシュテーブルでは、特定の幾つかのノードにコンテンツの所有状況を集約して保持させる。これにより、検索時のトラフィックをフラッディングの場合と比べて大幅に減少させることができ、かつ応答性に優れる検索を実現することができる。
【0006】
一方、P2Pネットワークではないコンピュータネットワークにおけるデータ検索に関して、過去の検索履歴を参照して検索を効率化する手法が開示されている(特許文献1)。この手法は、ユーザの指定したキーワードを含むデータを探し出すキーワード検索において、過去の検索に際して今回の検索のキーワードとの類似度が高い内容の回答を送ってきた回答元から順に優先的に検索要求を送る。検索要求の送り先を絞ることにより、ネットワークの負荷を軽減することができる。ただし、キーワード検索の結果には、キーワードを含んではいるがユーザの望むものではない結果(いわゆるノイズ)が含まれる場合がある。ノイズおよびその回答元が検索履歴に記録され、そのような検索履歴に基づいて以降の検索が行われてしまう。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平7−334516号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ネットワークにおいてコンテンツを円滑に流通させるには、コンテンツ検索に伴うトラフィックの過剰な増大を防ぐ必要がある。ホップ数制限はトラフィックの抑制に有効である。しかし、ホップ数制限を適用すると、ホップ数が制限を超える範囲に存在するノードには検索クエリが届かないので、P2Pネットワーク上にコンテンツが存在していたとしても検索で見つけられない場合が生じる。分散ハッシュテーブルのように前もってコンテンツの所有状況を集約する手法を適用すると、検索への準備として行われるコンテンツ所有状況の集約段階で多くのトラフィックが発生する。検索時以外に発生するトラフィックが増えるので、全体として検索に関係するトラフィックを抑えることが難しい。そこで、本願の開示は、フラッディングと比べてトラフィックの抑制の観点で優れるコンテンツ検索を実現する手段を提案する。
【課題を解決するための手段】
【0009】
複数のノードが相互にコンテンツを授受するネットワークにノードの一つとして接続される通信端末装置は、当該通信端末装置がコンテンツ検索を行ったときに、検索履歴をメモリに記憶させる蓄積管理部と、コンテンツ検索の対象である所望コンテンツと前記検索履歴の示す過去に検索されたコンテンツとが類似するか否かを、これらコンテンツのメタデータに基づいて判定する類似判定部と、前記検索履歴の示す過去に検索された前記コンテンツを保有するノードのうちの、前記所望コンテンツに類似すると判定されたコンテンツを保有するノードに対して、前記所望コンテンツの保有の有無を問い合わせる検索部と、を備える。
【0010】
他の態様の通信端末装置は、上記通信端末装置の要素に加えて、当該通信端末装置が該当する自ノードに対する他のノードからのコンテンツ保有についての問い合わせに対して、問い合わせの対象のコンテンツを当該通信端末装置が保有している場合に、保有する旨の回答と合わせて、前記検索履歴のうちの当該問い合わせの対象についての情報を応答メッセージとして前記他のノードに送信する検索応答部を備える。
【発明の効果】
【0011】
検索対象の所望コンテンツに類似するコンテンツを少なくとも過去に保有したノードに絞って所望コンテンツの保有の有無を問い合わせることにより、検索効率が向上する。フラッディングと比べて、結果的に無駄となる問い合わせが少なくなり、それによってトラフィックが低減される。
【図面の簡単な説明】
【0012】
【図1】ネットワークの概略を示す図である。
【図2】通信端末装置の構成を示す図である。
【図3】メタデータテーブルのデータ構成を示す図である。
【図4】履歴テーブルのデータ構成を示す図である。
【図5】検索クエリのデータ構成を示す図である。
【図6】検索応答のデータ構成を示す図である。
【図7】類似検索動作の流れを示す図である。
【図8】類似度算出部が実行する類似判定処理の流れを示す図である。
【図9】コンテンツ取得動作の流れを示す図である。
【図10】他ノードからの検索クエリに対する応答動作の流れを示す図である。
【図11】コンテンツの流通に関わる複数のノードの動作の第1例を示す図である。
【図12】コンテンツの流通に関わる複数のノードの動作の第2例を示す図である。
【図13】類似検索によるコンテンツの取得の例を示す図である。
【図14】通信端末装置に関わるハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0013】
実施形態の一例として、コンテンツをユーザに一斉配信するダウンロード放送サービスに関わるネットワークを挙げる。図1に示されるネットワーク1は、複数のノードN1,N2,N3,N4,N5が相互にデータをやり取りするP2Pネットワークである。ネットワーク1には図示のノードN1〜N5以外にも多数のノードが参加する。ノードN1〜N5は、例えばインターネットを介して互いに接続される。ネットワーク1において、ノードN1〜N5には、コンテンツCとしての放送番組が人工衛星を用いたデータ放送の形態で一斉に配信される。ノードN1〜N5のそれぞれは、衛星放送の受信によってコンテンツを取得する受信機としての機能と、ネットワーク上のコンテンツを検索して他のノードからコンテンツを取得する通信端末装置としての機能とを有する。例えば、衛星放送の受信機を備えまたはそれに接続されたパーソナルコンピュータやPDA(Personal Digital Assistant)といった各種の情報機器、およびネットワーク接続可能なテレビジョン受像機や他のマルチメディア機器がノードとして使用される。
【0014】
ダウンロード放送サービスの利用者、すなわちノードN1〜N5としてネットワーク1に接続される機器のユーザは、自己の使用する機器において蓄積されたコンテンツCを随時に視聴することができる。ネットワーク1においては、各ユーザは、例えば天候や環境条件に起因する受信の乱れのためにコンテンツCのデータ欠損が生じた場合に、コンテンツCを保有する他のユーザの機器から自己の機器へコンテンツCを転送させることができる。図1では、三つのノードN1,N4,N5がコンテンツCを保有しており、その中のノードN4からノードN2へコンテンツCの転送される状況が表されている。また、各ユーザは、放送時に自己の機器を動作させず、コンテンツCが受信されなかった場合にも、他のユーザの機器からコンテンツCを取得することができる。放送のあることを知らなかったり忘れたりしても、放送後の時点でネットワーク1上にコンテンツCが蓄積されていさえすれば、コンテンツCの視聴が可能である。
【0015】
このようにネットワーク1ではノードどうしの通信によってコンテンツが流通するので、データ欠損が生じた場合のコンテンツ補完要求に応えるサーバが必須ではない。仮に、クライアント・サーバ方式で補完要求に対処するには、十分に処理能力の高いサーバおよび大容量の通信インフラストラクチャが必要である。広域を対象とする衛星放送であるが故に、天候の影響で多数のノードで受信の乱れが生じ、補完要求が一時に集中するおそれがあるからである。各ノードN1〜N5がコンテンツを流通させる機能を有することによって、ネットワーク1のスケーラビリティが高まる。
【0016】
ダウンロード放送サービスには、P2P形式のコンテンツの流通に有利な特徴がある。第1に、放送スケジュールに従って一斉に配信されるので、随時に個別にコンテンツを配信する同規模のネットワークと比べて、多数のノードが同じコンテンツを保有する確率が大きい。特に放送から間もない時期では、放送されたコンテンツを削除せずに保持しているノードが多く、コンテンツ検索で当該コンテンツが見つかり易い。第2に、テレビジョン番組の視聴調査の結果からみて、あるコンテンツを利用したユーザは当該コンテンツと類似するコンテンツをも利用する傾向がある。すなわち、類似するコンテンツを保有するノードに対して優先的に問い合わせるコンテンツ検索によって所望のコンテンツの見つかる確率が大きい。第3に、放送されるコンテンツにメタデータに付与されるのが一般的であり、かつ放送局からの情報に基づいて作成される電子番組表からメタデータを取得することができる。ここでいうメタデータは、タイトル、あらすじ、出演者といったコンテンツに固有の情報であり、ユーザが視聴の要否を判断するときの参考となる情報である。メタデータに基づいてコンテンツの類似判断をすることにより、ユーザと嗜好の似た他のユーザのノードに対して優先的に問い合わせる効率的なコンテンツ検索を実現することができる。
【0017】
以下、ネットワーク1にノードの一つとして接続される機器において、放送済みのコンテンツの流通に関わる機能を実現する通信端末装置の構成および動作を説明する。以下の説明において、通信端末装置が該当するノードを“自ノード”といい、自ノード以外のノードを“他ノード”といって両者を区別することがある。
【0018】
図2に示される通信端末装置10は、メタデータを利用しない一般的なコンテンツ検索に関わるソフトウェア構成要素として、通信部12、P2P検索部14、コンテンツ取得部16、およびP2P検索応答部18を有する。また、通信端末装置10は、メタデータを利用する“類似検索”と呼称するコンテンツ検索に関わるソフトウェア構成要素として、類似検索部22、類似度算出部24、蓄積管理部26、および類似検索応答部28を有する。これらの要素は、図示しない所定のハードウェア要素によるコンピュータプログラムの実行によって実現される。
【0019】
通信部12は、ネットワーク1における他ノードの通信端末装置との間で、検索クエリおよび応答メッセージを送受信する。例えば、通信部12は、類似検索部22が発行する検索クエリ41を他ノードへ送信し、検索クエリ41に対する他ノードからの応答メッセージ42を類似検索部22に引き渡す。また、通信部12は、他ノードからの検索クエリ41bを受信して類似検索応答部28に引き渡し、検索クエリ41bに対する類似検索応答部28からの応答メッセージ42bを他ノードへ送信する。
【0020】
P2P検索部14は、例えばフラッディングのようにルーティングの規則に従って検索クエリを伝播させる手法を用いたコンテンツ検索(これを便宜的に“既存P2P検索”と呼称する)を行う。P2P検索部14が発行する検索クエリは通信部12を介して他ノードへ送信され、所望のコンテンツ(検索対象)を保有するノードに届くまでノードからノードへ伝播する。ただし、ホップ数が制限されている場合は、検索クエリが伝播する検索範囲はネットワーク1の一部に限定される。
【0021】
コンテンツ取得部16は、P2P検索部14または類似検索部22からの取得指示を受けて、指示によって指定されたコンテンツの転送を指定された他ノードに対して要求する。転送要求は通信部12を介して他ノードに送信される。他ノードから転送されたコンテンツを通信部12から受け取ると、コンテンツ取得部16は所定のメモリ内のコンテンツ蓄積部30にそのコンテンツを格納する。
【0022】
P2P検索応答部18は、他ノードからの既存P2P検索の検索クエリに応答する。本例では他ノードに対する応答の窓口が類似検索応答部28であるので、通信部12が受信した既存P2P検索の検索クエリは類似検索応答部28を経由してP2P検索応答部18に届く。P2P検索応答部18は、検索クエリの示すコンテンツがコンテンツ蓄積部30に蓄積されているか否かを調べ、その結果を示す応答メッセージを検索クエリの送信元へ送る。
【0023】
類似検索部22は、図示しない指示部からの検索指示を受けて、本実施形態のネットワーク1におけるコンテンツ流通を特徴づける類似検索を行う。類似検索部22に入力される検索指示には類似検索指示と既存P2P検索指示とがある。ただし、既存P2P検索指示が与えられたとき、類似検索部22は実質的に処理をせず、直ちに既存P2P検索指示をP2P検索部14に引き渡す。類似検索指示は、自ノードとしての機器のユーザが図示しないユーザインタフェースを用いて所定の操作を行ったときに、操作を受け付ける指示部によって類似検索部22に与えられる。または、自動検索モードが設定されている場合において、放送の受信状況を監視する受信監視部がデータ欠損を検知したときに、受信監視部から通知を受けた指示部によって類似検索指示が類似検索部22に与えられる。以下において“所望コンテンツ”とは、自ノードにおける検索指示が示す検索対象コンテンツを意味する。
【0024】
類似検索部22は、類似検索指示が与えられたときに、所望コンテンツの保有の有無を問い合わせる検索クエリ41を発行する。類似検索における検索クエリ41の宛先は、既存P2P検索における検索クエリの宛先がルーティングに従うのとは違って、所望コンテンツに応じて選定される。類似検索部22は、類似度算出部24と連携して所望コンテンツに類似するコンテンツを特定し、所望コンテンツに類似するコンテンツを保有しまたは保有していた他ノードを検索クエリ41の宛先に定める。
【0025】
検索クエリ41に対して他ノードから所望コンテンツを保有している旨の応答メッセージ42が返された場合、すなわち所望コンテンツが見つかった場合に、類似検索部22はコンテンツ取得部16に所望コンテンツの取得を依頼する。これを受けてコンテンツ取得部16が、所望コンテンツを取得してコンテンツ蓄積部30に格納する。
【0026】
類似度算出部24は、履歴テーブルT2に記録された検索履歴の示す過去に検索されたコンテンツについて、メタデータテーブルT1に記録されたメタデータに基づいて、所望コンテンツとの類似の度合を示す類似度を算出する。例えば、類似度は0から1までの範囲内の値をとる。そして、類似度算出部24は、算出した類似度が最も大きいコンテンツまたは類似度が閾値以上であるコンテンツを、所望コンテンツに類似するコンテンツ(以下、類似コンテンツという)であると判定する。この判定の結果に基づいて、上述のとおり検索クエリ41の宛先が定められる。
【0027】
類似度算出部24による類似度の算出には、メタデータの各項目の内容やメタデータに含まれる語句を比較する公知の技術を用いることができる。例えば、EPG(Electronic Program Guide)が提供するメタデータを利用して放送予定番組の中からユーザの嗜好に合致すると推定される推奨番組を抽出する手法(特許第4182743号公報、特開2008ー141416号公報参照)が適用可能である。
【0028】
蓄積管理部26は、P2P検索部18または類似検索部22によるコンテンツ検索、およびコンテンツ取得部16による所望コンテンツの取得が行われたときに、検索または取得に関わる所定のデータを履歴テーブルT2に記録する。履歴テーブルT2はコンテンツの検索および取得の履歴情報であり、不揮発性のメモリによって記憶される。本例では蓄積管理部26が、履歴テーブルT2の管理とともにメタデータテーブルT1およびコンテンツ蓄積部30の管理を受け持つ。ただし、履歴テーブルT2の管理以外を受け持つ別の管理部を設けてもよい。
【0029】
類似検索応答部28は、他ノードからの類似検索の検索クエリ41bに応答する。検索クエリ41bが問い合わせているコンテンツの保有の有無を調べるため、類似検索応答部28はメタデータテーブルT1またはコンテンツ蓄積部30のインデックス情報を参照する。そして、類似検索応答部28は、問い合わせに該当するコンテンツの保有の有無を示す応答メッセージ42bを検索クエリ41bの送信元へ送る。
【0030】
図3はメタデータテーブルT1のデータ構成を示す。メタデータテーブルT1は、放送の受信またはコンテンツ検索によって取得された取得済みコンテンツについてのメタデータの一覧である。コンテンツID(identification)、タイトル、詳細情報などの項目に区分してメタデータは管理される。
【0031】
図4は履歴テーブルT2のデータ構成を示す。履歴テーブルT2は、所望コンテンツとして検索されたコンテンツについて、保有応答ノードと取得元ノードとを示す。保有応答ノードとは、検索されたコンテンツを保有する旨の応答メッセージを返した他ノードである。取得元ノードとは、保有応答ノードから選ばれてコンテンツを自ノードに提供したノードである。
【0032】
図5は検索クエリ41のデータ構成を示す。検索クエリ41は、検索クエリID、所望コンテンツのコンテンツID、検索送信元ノード(自ノード)のノードID,および類似検索フラグを項目として有する。類似検索フラグは、類似検索と既存P2P検索とでクエリのフォーマットを共通化するために設けられた検索方法の識別子である。類似検索の検索クエリ41において、類似検索フラグの値は類似検索を示す値(図では「YES」)とされる。一方、既存P2P検索の場合には、類似検索フラグの値が空白とされる以外は検索クエリ41と同様の構成の検索クエリが発行される。
【0033】
図6は応答メッセージ42のデータ構成を示す。応答メッセージ42は、検索クエリID、該当コンテンツのコンテンツID、応答送信元ノード(自ノード)のノードID,および保有応答ノード一覧を項目として有する。該当コンテンツとは、検索クエリ41における所望コンテンツである。保有応答ノード一覧は、検索に関わった複数のノードが検索の機会を利用して互い検索履歴を共有し合えるようにするために設けられている。保有応答ノード一覧として書き込まれる情報は、履歴テーブルT2における該当コンテンツに対応する保有応答ノードおよび取得元ノードである。
【0034】
応答メッセージ42の各項目の値は、検索クエリIDを除いて、所望コンテンツの有無に応じて決まる。自ノードが該当コンテンツを保有していない場合は、検索クエリID以外の項目の値は空白とされる。自ノードが該当コンテンツを保有している場合は、各項目について所定の値またはデータが書き込まれる。応答メッセージ42のフォーマットは既存P2P検索における応答メッセージのフォーマットと共通である。既存P2P検索の場合には、保有応答ノード一覧は空白とされる。
【0035】
次に図7〜図10を参照して通信端末装置10の動作をさらに詳しく説明する。
【0036】
類似検索の動作の流れが図7に示される。コンテンツ検索は、ユーザによる検索指示操作に呼応して開始される。ユーザは、例えば電子番組表を表示させて放送済みの番組の中から視聴したい番組を所望コンテンツとして選び、それの検索を指示する。これにより、電子番組表が示す所望コンテンツのコンテンツIDおよびメタデータを含む検索指示が通信端末装置10に与えられる。本実施形態では、デフォルトの検索方式は類似検索であり、検索で所望コンテンツが見つかったときは自動的に他ノードから取得する設定がなされているものとする。
【0037】
図7において、類似検索の検索指示が類似検索部22に与えられると、検索指示で指定されている所望コンテンツが類似検索部22から類似度算出部24に通知され、類似度算出部24によって類似判定処理が実行される(#10)。類似判定処理では、後述のようにメタデータに基づいて類似コンテンツ一覧が作成される。
【0038】
類似コンテンツが無なかったか、または類似コンテンツ一覧における全ての類似コンテンツのそれぞれに注目した検索で所望コンテンツが見つからなかった場合は(#11でYES)、検索指示がP2P検索部14に引き渡される(#22)。これにより、P2P検索部14による検索が行われることになる。
【0039】
類似検索部22は、類似コンテンツ一覧に挙げられた類似コンテンツのうち、既に注目したものを除いて、最も類似度の高い一つの類似コンテンツに注目する(#12)。類似検索部22は、注目した類似コンテンツの取得元ノードのノードIDを履歴テーブルT2から取り込み(#13)、取得元ノードに対して所望コンテンツの有無を問い合わせる検索クエリ41を発行する(#14)。
【0040】
類似コンテンツの取得元ノードから所望コンテンツを保有している旨の応答メッセージ42が届けば(#15でYES)、検索に成功したことになる。検索が成功したとき、蓄積管理部26は、履歴テーブルT2に検索済みのコンテンツとして所望コンテンツを追加し、所望コンテンツに対応した保有応答ノードの欄の先頭に、最後に検索クエリ41を送ったノードのノードIDを格納する(#20)。また、蓄積管理部26は、応答メッセージ42における保有応答ノード一覧にあるノードIDを履歴テーブルT2における保有応答ノードの欄に格納する(#21)。
【0041】
一方、類似コンテンツの取得元ノードが所望コンテンツを保有していない場合は(#15でNO)、取得元ノードに代えて保有応答ノードに対して問い合わせが行われる。すなわち、類似検索部22は、履歴テーブルT2を参照し、類似コンテンツとして注目している過去に検索されたコンテンツに対応する保有応答ノードの一つに注目する(#17)。このとき、取得元ノードと同じ保有応答ノードは注目の対象外とされる。そして、類似検索部22は、注目した保有応答ノードに対して、所望コンテンツの有無を問い合わせる検索クエリ41を発行する(#18)。
【0042】
保有応答ノードから所望コンテンツを保有している旨の応答メッセージ42が届けば(#19でYES)、検索に成功したことになる。この場合も上述と同様に、蓄積管理部26は所望コンテンツに関する検索の履歴を履歴テーブルT2に記録する(#20、#21)。注目した保有応答ノードが所望コンテンツを保有していない場合は(#19でNO)、類似検索部22は、注目しているコンテンツに対応づけられている未注目の保有応答ノードがあるか否かをチェックする(#16)。未注目の保有応答ノードがあれば(#16でNO)、その一つに検索クエリ41が送られる(#17、#18)。検索に成功しない間は、ステップ#16〜#19の処理が繰り返される。全ての保有応答ノードに問い合わせても検索に成功しない場合は(#16でYES)、処理の流れはステップ#11に戻る。
【0043】
このように類似検索では、問い合わせをするノードを少なくとも過去に類似コンテンツを保有したノードに絞って所望コンテンツが検索される。所望コンテンツに類似するコンテンツを保有したノードが所望コンテンツを保有する確率は他のノードが保有する確率よりも大きいので、類似検索は効率的であると言える。検索クエリ41の宛先に選定に際して、より類似度の高い類似コンテンツを保有したノードが優先されるので、早期に所望コンテンツが見つかり易い。さらに、類似コンテンツの取得元ノードは類似コンテンツを蓄積していた実績をもつので、取得元ノードに所望コンテンツが蓄積されている確率は比較的に大きい。最初に取得元ノード対して問い合わせを行うことによって、より早期に所望コンテンツの見つかる確率が高まる。
【0044】
図8は類似度算出部24が実行する類似判定処理の流れを示す。まず、類似度算出部24は、空の類似コンテンツ一覧を作成する(#1)。類似コンテンツ一覧は、コンテンツIDと類似度とを項目として有した一時的に利用されるテーブルである。そして、類似度算出部24は、メタデータテーブルT1に記録されている取得済みのコンテンツの全てについて、一つずつ順に類似コンテンツであるか否かを判定する。詳しくは、類似度算出部24は取得済みのコンテンツの一つに注目してそれのメタデータをメタデータテーブルT1から取り込む(#3)。続いて類似度算出部24は、取得済みコンテンツのメタデータと所望コンテンツのメタデータとに基づいて類似度を算出する(#4)。算出には上述のように公知の手法が用いられる。類似度算出部24は、算出した類似度が予め設定された一定値以上であるか否かチェックする(#5)。このチェックが類似判定に相当する。すなわち、類似度が一定値以上であれば(#5でYES)、当該取得済みコンテンツは類似コンテンツであると判定されたことになる。類似度が一定値未満であれば(#5でNO)、当該取得済みコンテンツは類似コンテンツではないと判定されたことになる。当該取得済みコンテンツが類似コンテンツであれば(#5でYES)、類似度算出部24は当該取得済みコンテンツの類似度とコンテンツIDとを類似コンテンツ一覧に書き込む(#6)。当該取得済みコンテンツが類似コンテンツでなければ(#5でNO)、類似度算出部24はステップ#2に戻って全ての取得済みコンテンツについて判定を終えたか否かをチェックする。ステップ#2のチェックでYESになるまで、ステップ#3〜#6が繰り返される。
【0045】
図9はコンテンツ取得動作の流れを示す。コンテンツ取得部16は、類似検索部22またはP2P検索部14からの取得要求を受けると、履歴テーブルT2の保有応答ノードの欄から先頭のノードIDを取り出す(#31)。続いて、コンテンツ取得部16は、取り出したノードIDをもつノードから所望コンテンツを取得し、所望コンテンツおよびそのメタデータを蓄積する。所望コンテンツはコンテンツ蓄積部30で蓄積され(#32)、メタデータはメタデータテーブルT1に書き込まれる(#33)。そして、蓄積管理部26が所望コンテンツの取得元ノードのノードIDを履歴テーブルT2に書き込む(#34)。これによって取得の履歴が記録される。
【0046】
図10は他ノードからの検索クエリに対する応答動作の流れを示す。類似検索応答部28は、他ノードで発行された検索クエリ41bを通信部12から受け取ると(#51)、類似検索フラグをチェックする(#52)。類似検索フラグの値が類似検索を表わす「YES」でなければ、類似検索応答部28は検索クエリをP2P検索応答部18に引き渡す(#58)。この場合、P2P検索応答部18による応答が行われることになる。なお、P2P検索応答部18による応答では、問い合わせのあったコンテンツが無い場合には、検索クエリの送信元に応答するのではなく、ルーティングに従う所定のノードに検索クエリが転送される。
【0047】
類似検索フラグが類似検索を表わす場合(#52でYES)、類似検索応答部28は、問い合わせのあったコンテンツの蓄積(保有)の有無を調べ(#53)、その結果に応じて(#54)、次のような応答メッセージ42bを作成する。
【0048】
問い合わせに該当するコンテンツを蓄積している場合は(#54でYES)、応答メッセージ42bの「検索クエリID」の欄に他ノードからの検索クエリ41bのIDが格納され、「コンテンツID」の欄に問い合わせのあったコンテンツのIDが格納される。そして、「応答送信元ノードのノードID」の欄に自ノードのノードIDが格納される(#55)。加えて、応答メッセージ42bの「所有応答ノード一覧」の欄には、履歴テーブルT2における当該コンテンツの取得元ノードおよび保有応答ノードのノードIDが格納される(#56)。これに対して、問い合わせに該当するコンテンツを蓄積していない場合は(#54でNO)、「検索クエリID」の欄に他ノードからの検索クエリ41bのIDが格納され、それ以外の項目の欄を空白とした応答メッセージ42bが作成される。
【0049】
類似検索応答部28は、作成した応答メッセージ42bを検索クエリ41bが示す送信元ノード(検索クエリの発行元)へ送信する(#57)。
【0050】
図11および図12はコンテンツの流通に関わる複数のノードの動作の例を示す。図示の例では、五つのノードA,B,C,D,Zの間でコンテンツ「1」が流通する。既存P2P検索を効率化するためにノードがグループ化されており、グループごとに管理ノードとして動作するノードが定められている。ノードA,B,Zが一つのグループに属し、ノードZが管理ノードとして動作する。また、ノードC,Dが他の一つのグループに属し、ノードCが管理ノードとして動作する。管理ノードには管理ノード自身を含むグループ内の各ノードにおけるコンテンツの保有情報が集約される。ここでは、当初においてノードAのみがコンテンツ「1」を保有しているものとする。
【0051】
図11において、ノードAはコンテンツ「1」を保有することを管理ノードとしてのノードZに通知する(#100)。ノードZは自己が管理する保有ノード情報にノードAがコンテンツ「1」を保有すること追記する(#101)。この後、例えばノードBがコンテンツ「1」について既存P2P検索をする。既存P2P検索では管理ノードに対して検索依頼(検索クエリの発行)が行われる(#102)。検索依頼を受けたノードZは、ノードAがコンテンツ「1」を保有する旨の応答をノードBに送る(#103)。ノードBは、自己の履歴テーブルT2の保有応答ノードの欄にノードAのノードIDを格納し(#104)、その後にコンテンツ「1」を取得するためにノードAに対して転送を要求する(#105)。要求を受けたノードAは、ノードBにコンテンツ「1」を送信する(#106)。コンテンツ「1」を取得したノードBは、自己の履歴テーブルT2の取得元ノードの欄にノードAのノードIDを格納し(#107)、コンテンツ「1」を保有することをノードZに通知する(#108)。ノードZはノードAおよびBがコンテンツ「1」を保有することを示すように保有ノード情報を更新する(#109)。
【0052】
次に、例えばノードDがコンテンツ「1」について既存P2P検索をする(#110)。この時点で管理ノードとしてのノードCはコンテンツ「1」についての保有ノード情報を有していないものとする。検索依頼を受けたノードCは、自己の属するグループにコンテンツ「1」が無いので、ルーティングで予め決められている他のグループのノードZに検索依頼を転送する(#111)。ノードZは、保有ノード情報からコンテンツ「1」についてのデータを抽出し(#112)、ノードA,Bがコンテンツ「1」を保有する旨の応答をノードCに送る(#113)。ノードCは、自己の履歴テーブルT2の保有応答ノードの欄にノードA,BのノードIDを格納し(#114)、ノードCからの応答の内容を検索依頼元のノードDへ通知する(#115)。ノードDは、自己の履歴テーブルT2の保有応答ノードの欄にノードA,BのノードIDを格納し(#116)、その後にコンテンツ「1」を取得するために例えばノードAに対して転送を要求する(#117)。要求を受けたノードAは、ノードDにコンテンツ「1」を送信する(#118)。コンテンツ「1」を取得したノードDは、自己の履歴テーブルT2の取得元ノードの欄にノードAのノードIDを格納し(#119)、コンテンツ「1」を保有することをノードCに通知する(#120)。ノードCはノードDがコンテンツ「1」を保有することを示すように保有ノード情報を更新する(#121)。
【0053】
図12において、ステップ#100〜#116までの動作は図11の例と同様である。ノードDは、ステップ#110〜#115の既存P2P検索によってノードA,Bがコンテンツ「1」を保有するという情報を得た後、コンテンツ「1」を取得するためにノードBに対して転送を要求する(#117b)。要求を受けたノードBは、ノードDにコンテンツ「1」を送信する(#118)。コンテンツ「1」を取得したノードDは、自己の履歴テーブルT2の取得元ノードの欄にノードBのノードIDを格納し(#119b)、コンテンツ「1」を保有することをノードCに通知する(#120)。ノードCはノードDがコンテンツ「1」を保有することを示すように保有ノード情報を更新する(#121)。
【0054】
このように各ノードが既存P2P検索を行うごとに各ノードにおける履歴テーブルの保有応答ノードの欄が更新され、他ノードからコンテンツを取得するごとに取得元ノードの欄が更新される。つまり、各ノードは、既存P2P検索を行ったときに、あるコンテンツをどのノードが保有するかという保有状況に関して管理ノードがもつ情報と同等の情報を蓄積する。既存P2P検索において蓄積された保有状況に関する情報が類似検索における検索クエリの宛先の選定に利用される。
【0055】
図13は類似検索によるコンテンツの取得の例を示す。図示の例では、三つのノードA,B,Dが所望コンテンツCとしてのコンテンツ「2」の取得に関与する。自ノードをノードDとし、他ノードとしてのノードA,Bにそれぞれ通信端末装置10a,10bが対応するものとする。通信端末装置10a,10bの構成は自ノードに対応する上述の通信端末装置10の構成と同様である。
【0056】
自ノードDがコンテンツ「2」を保有していない状態において、通信端末装置10にコンテンツ「2」の検索指示が与えられ、検索指示には所望コンテンツCのメタデータDm(この例ではコンテンツ「2」のメタデータ)またはその照会先が含まれているものとする。
【0057】
所望コンテンツCのメタデータDmとメタデータテーブルT1内の取得済みコンテンツのメタデータとに基づいて、上述のとおり類似度算出部24によって類似コンテンツ一覧L1が作成される。図示の類似コンテンツ一覧L1では、コンテンツ「1」が類似コンテンツCsに挙げられている。このコンテンツ「1」については、履歴テーブルT2において、取得元としてノードAが、保有応答ノードとしてノードA,Bが記録されている。
【0058】
自ノードD(通信端末装置10)は、類似コンテンツCs(コンテンツ「1」)の取得元ノードである他ノードAに対して所望コンテンツC(コンテンツ「2」)の検索依頼を行う(#201)。すなわち、自ノードDから他ノードAへコンテンツ「2」の保有の有無を問い合わせるクエリ(検索クエリ41)が発行される。本例では他ノードAはコンテンツ「2」を保有していないので、その旨を示す実質的に空の応答メッセージ42が他ノードAから自ノードDへ送られる(#202)。そこで、自ノードDは、保有応答ノードとして記録されている他ノードBに対して検索依頼を行う(#203)。他ノードBはコンテンツ2を保有しているものとする。
【0059】
他ノードBは、コンテンツ2を保有している旨を示す応答メッセージ42を自ノードDに送る(#204)。この場合の応答メッセージ42は、他ノードBの履歴テーブルT2bから抽出されたコンテンツ2に関する情報(取得元ノードおよび保有応答ノードを示すノードID)を含む。応答メッセージ42を受け取った自ノードDは、応答送信元ノードであるノードBおよび応答メッセージ42の保有応答ノード一覧に記載されたノードF,G,…を履歴テーブルT2の保有応答ノードの欄に記録する(#205)。
【0060】
その後、自ノードDは、コンテンツ「2」を取得するために例えばノードBに対して転送を要求する(#206)。要求を受けたノードBは、ノードDにコンテンツ「2」を送信する(#207)。コンテンツ「2」を取得したノードDは、コンテンツ蓄積部30にコンテンツ「2」を格納するとともに、自己の履歴テーブルT2の取得元ノードの欄にノードBのノードIDを格納する(#208)。
【0061】
以上のようにメタデータを用いて検索対象ノードを絞り込む類似検索を行う通信端末装置10は、例えば図14に示す一般的なハードウェア構成を有したパーソナルコンピュータにおいて実現することができる。パーソナルコンピュータは、各種プログラムを実行するCPU(central processing unit)61、制御プログラムを記憶するROM(Read Only Memory)62、およびワークエリアとなるRAM(Random Access Memory)63を有する。データの蓄積にはストレージとしてのハードディスクドライブ64が用いられる。CD−ROM(Compact Disc Read Only Memory)やDVD(Digital Versatile Disk)にアクセスするためのリムーバブルメディアドライブ65およびネットワーク接続のための通信インタフェース66もパーソナルコンピュータの構成要素である。通信端末装置10を実現するコンピュータプログラムを、それを格納したリムーバブル記憶メディア651または通信インタフェース66を介して接続された外部装置から、ストレージ64にインストールすることができる。また、パーソナルコンピュータは、ヒューマンインタフェースデバイスとしてのディスプレイ67、キーボード68およびマウス69を含む。ヒューマンインタフェースデバイスとして赤外線または他の信号媒体を用いるリモートコントローラを備えてもよい。テレビジョン受像機に通信端末装置10を組み込む場合には、キーボード68およびマウス69に代えてリモートコントローラを備えてもよい。
【0062】
上述の実施形態において、類似度算出部24が一つの所望コンテンツCに対して作成する類似コンテンツ一覧の類似コンテンツ数を適宜に設定することができる。類似度をランク分けしてランクごとに類似コンテンツ数の上限を定めてもよい。検索クエリ41の宛先になる取得元ノードおよび保有応答ノードの総数の上限を定めてもよい。必ずしも取得済みコンテンツの全てについて類似度を算出する必要はなく、所定数の類似コンテンツを一覧に挙げた時点で類似判定を終了して類似検索を開始してもよい。類似度算出のアルゴリズムおよび類似か否かを決める閾値は、適宜に最適化することができる。
【0063】
ネットワーク1において流通させるコンテンツは、一つ放送番組の全体であってもよいし、一つ放送番組を小分けしたブロックであってもよい。IDが付されて一義的に特定できるデータを検索の対象(所望コンテンツ)とすることができる。
【0064】
ネットワーク1の各ノードにおけるコンテンツの一次取得の形態は、放送の受信に限らず、データ通信によるダウンロードまたは記憶媒体からの読み込みであってもよい。
【符号の説明】
【0065】
1 ネットワーク
N1,N2,N3,N4,N5 ノード
10 通信端末装置
26 蓄積管理部
C 所望コンテンツ(コンテンツ)
Dm メタデータ
24 類似度算出部(類似判定部)
T2 履歴テーブル(検索履歴)
22 類似検索部
28 類似検索応答部
42 応答メッセージ

【特許請求の範囲】
【請求項1】
複数のノードが相互にコンテンツを授受するためのネットワークにノードの一つとして接続される通信端末装置であって、
当該通信端末装置がコンテンツ検索を行ったときに、検索履歴をメモリに記憶させる蓄積管理部と、
コンテンツ検索の対象である所望コンテンツと前記検索履歴の示す過去に検索されたコンテンツとが類似するか否かを、これらコンテンツのメタデータに基づいて判定する類似判定部と、
前記検索履歴が示す過去に検索されたコンテンツを保有するノードのうちの、前記所望コンテンツに類似すると判定されたコンテンツを保有するノードに対して、前記所望コンテンツの保有の有無を問い合わせる検索部と、を備える
ことを特徴とする通信端末装置。
【請求項2】
前記蓄積管理部は、前記検索部による問い合わせに対する応答の中に、問い合わせ先ノードにおける前記所望コンテンツについての検索の履歴情報が含まれる場合に、前記応答に含まれる前記履歴情報を前記検索履歴に組み入れて記憶させる
請求項1に記載の通信端末装置。
【請求項3】
前記検索部は、前記所望コンテンツの保有の有無を問い合わせる際に、問い合わせ先のノードが保有する当該所望コンテンツについての検索の履歴情報の送信の要否を指定する
請求項1または2記載の通信端末装置。
【請求項4】
当該通信端末装置が該当する自ノードへの他のノードからのコンテンツ保有についての問い合わせに対して、問い合わせの対象のコンテンツを当該通信端末装置が保有している場合に、保有する旨の回答と合わせて、前記検索履歴のうちの当該問い合わせの対象についての情報を応答メッセージとして前記他のノードに送信する検索応答部を、さらに備える
請求項1ないし3のいずれかに記載の通信端末装置。
【請求項5】
複数のノードが相互にコンテンツを授受するためのネットワークにノードの一つとして接続される通信端末装置において実行されるコンピュータプログラムであって、
当該通信端末装置がコンテンツ検索を行ったときに、検索履歴をメモリに記憶させる蓄積管理部と、
コンテンツ検索の対象である所望コンテンツと前記検索履歴の示す過去に検索されたコンテンツとが類似するか否かを、これらコンテンツのメタデータに基づいて判定する類似判定部と、
前記検索履歴の示す過去に検索された前記コンテンツを保有するノードのうちの、前記所望コンテンツに類似するコンテンツを保有するノードに対して、前記所望コンテンツの保有の有無を問い合わせる検索部として、前記通信端末装置を動作させる
ことを特徴とするコンピュータプログラム。
【請求項6】
相互にコンテンツを授受する複数のノードを有するネットワークのためのコンテンツ検索方法であって、
前記複数のノードのそれぞれが自己の行なったコンテンツ検索の履歴を蓄積し、
前記各ノードが、コンテンツ検索を行うときに、検索の対象である所望コンテンツと過去に検索したコンテンツとが類似するか否かをこれらコンテンツのメタデータに基づいて判定し、自己の履歴が示す過去に検索したコンテンツを保有するノードのうちの、前記所望コンテンツに類似するコンテンツを保有するノードに対して、前記所望コンテンツの保有の有無を問い合わせる
ことを特徴とするコンテンツ検索方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate