説明

メタデータ検索方法、利用者端末、およびメタデータ検索プログラム

【課題】 P2P環境において、ネットワーク内の全てのメタデータの中から必要なデータを高速に検索する。
【解決手段】 各メタデータはXMLの1個以上の要素に分割され、識別子と合わせてメタデータDB141にて管理される。メタデータの要素毎に期待値が設定され、これに端末資源値と掛け合わせ、重み値が生成される。重み値を要素毎に近隣の利用者端末に通知し、それを全利用者端末が行うことで近隣の利用者端末の中で最も高い重み値を持つ利用者端末を知り、それを繰り返すことで近隣の利用者端末の中でメタデータの要素毎に重み値の高い利用者端末に優先度を付けることで、メタデータルーティングテーブル123を生成する。該テーブルに従って優先度の高い利用者端末にメタデータをコピーし、検索クリエを転送する。キャッシュデータ配置または検索キーの転送先を決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はP2P(Peer to Peer)環境においてメタデータを検索する方法に関する。
【背景技術】
【0002】
従来の検索に関する技術には以下のようなものがある。
・インターネット上の検索システムとして、メタデータやコンテンツそのものを特定の端末(または専用のクラスタ)に集中的に保管してインデクシングを管理する、非特許文献1に代表されるようなディレクトリ型検索システムや非特許文献2や非特許文献3に代表されるような全文検索型システムなどがある。
・P2Pネットワークにおける代表的な検索手法としては、非特許文献5や非特許文献4(Content−Addressable Network)などの分散ハッシュテーブル(DHT:Distributed Hash Table)を用いた手法があり、P2Pネットワーク内で目的のメタデータ(検索対象)に完全一致するメタデータを高速に検索可能である。
・代表的なP2PツールであるFreenetでは、ネットワーク内の近隣のpeer(利用者端末)に対し、ファイル名とコンテンツ名のハッシュ値を用い発見の可能性の高いルートから優先的に検索パケットをルーティングするdepth−first方式をとっており、検索キーの情報がクラスタ化されることで、より高速化・効率化されている。
・非特許文献6等に代表されるP2Pネットワークにおけるキャッシング方式では、上記のような集中的な保管ではなく、分散的なメタデータの保管が可能となる。検索に成功したメタデータやよく参照されるメタデータを検索に用いられた経路(利用者から第3者peerを経由して目的のメタデータを持つpeerまでの経路)等にキャッシュさせることで、何度も参照されるメタデータは各peerのより近くに存在する(検索距離=検索ホップ数を短くする)ことになり、その結果、高速な検索が可能となる。極端な例でいえば、全てのメタデータを全てのpeerでキャッシュすれば、どのような検索を行っても、最も高速(検索距離が0)に検索することが可能であるが、当然全てのpeerが膨大なキャッシュ用のディスクスペースを用意できなければならない。それを、例えば参照の多い(または一度参照された)メタデータだけをキャッシュすることで、検索の効率をあまり落とさずに、大幅にディスクスペースを削減できる。
【非特許文献1】http://www.yahoo.com/
【非特許文献2】http://www.goo.ne.jp/
【非特許文献3】http://www.google.com/
【非特許文献4】CAN: http://homepage3.nifty.com/toremoro/p2p/dht1.html
【非特許文献5】Chord: http://homepage3.nifty.com/toremoro/p2p/dht2.html
【非特許文献6】http://e-words.jp/w/winny.html
【発明の開示】
【発明が解決しようとする課題】
【0003】
上記の従来の技術では以下のような問題がある。
・集中的に管理する方式は、ネットワーク上の全てのメタデータを管理するインデクシングサーバの維持管理に膨大なコストを必要とする。
・DHTに依存する方式は、検索キーのハッシュ値を元に対応するメタデータを保持するPeerを絞り込み検索する方式であるため、検索キーと検索対象が完全一致する検索では高速な検索が可能であるが、検索キーが検索対象の部分集合である部分一致型の検索の実現は難しい。
・Freenetでは近隣のpeerが保持するルーティングテーブルをメタデータ毎(ファイル名毎)に持つ必要があり、ネットワーク内のコンテンツが多種多様化するとルーティングテーブルがオーバーフローし非効率な検索となる問題や、検索要求が成功する毎にルーティングテーブルを追加するため、初期状態では非効率な検索となる。
・キャッシング方式は、一部の人気のあるコンテンツ・メタデータを、多数の利用者が参照することで効率性が上がるが、多くのメタデータが参照されるようになると、ディスクスペースを節減するために、古いメタデータを廃棄するタイミングが早くなり、効率性が落ちる。また、目的のメタデータが初めて参照される場合ではまったく効果が無いため、コンテンツが多種多様化すると効果が薄くなる。
【0004】
本発明の目的は、上記従来のメタデータ検索技術の問題を解決し、P2P環境において、検索キーと検索対象の部分一致可能で、かつ必要な検索にトラフィックを大幅に削減し、かつ高速化のためのキャッシュのために必要なディスクスペースを大幅に押さえて、ネットワーク内の全てのメタデータの中から必要なメタデータを高速に検索するメタデータ検索方法、利用者端末を提供することにある。
【課題を解決するための手段】
【0005】
本発明のメタデータ検索方法は、
構造化されたメタデータの1つ以上の要素とその内容である値の組み合わせと、同じく構造化されたメタデータをネットワーク内で一意に識別できる識別子とを一つの単位として管理するステップと、
前記メタデータの要素に対して、利用者が近い将来の一定時間における検索要求のうち、ある要素を対象に検索を行う頻度の予測である期待値、またはシステムによって割り振られる値と、端末資源値と掛け合わせた値によって重み値を生成するステップと、
前記重み値を要素毎に近隣の利用者端末に通知し、それを全利用者端末が行うことで近隣の利用者端末の中で最も高い重み値を持つ利用者端末を知り、それを繰り返すことで近隣の利用者端末の中でメタデータの要素毎に重み値の高い利用者端末に優先度を付けることで、メタデータのプッシュ型配置または検索クエリの転送先を決定するメタデータルーティングテーブルを生成するステップと、
前記メタデータルーティングテーブルに従って最も優先度の高い近隣の利用者端末に前記メタデータをコピーするステップと、
利用者端末から要求された検索クエリを前記メタデータルーティングテーブルに従って近隣の利用者端末に転送し、検索クリエが転送されてくると、自利用者端末内に目的のメタデータが存在するか調べるステップを
有する。
【0006】
このメタデータ管理方法によって、多品種のメタデータが生成されても非常に少ない資源で管理できる。
【0007】
このメタデータルーティングテーブル生成方法により、最大でも一つの利用者端末にメタデータの要素の数しかメタデータルーティングテーブルが作られないため、テーブルのオーバーフローなどの問題を防止できる。
【0008】
分割されたメタデータをそのメタデータルーティングテーブルに従ってプッシュ的に近隣の各利用者端末に配置する。メタデータが転送されてきた利用者端末はそのメタデータをキャッシュメタデータDBで管理する。それを繰り返すことでネットワーク内における近隣の中で比較的重み値の高い利用者端末にその要素のメタデータが集まる。
【0009】
検索要求時は、ある利用者の検索クエリ(メタデータ同様にXML等の構造化された記述を行う)をそのメタデータルーティングテーブルに従ってルーティング(優先度による転送)を行うことで、その利用者が要求するメタデータを高速に発見することができる。まずはメタデータ要素によって検索クエリを転送していくことで、検索キーと検索対象が完全一致する必要がなく、大まかな範囲での絞込み検索を実現する。
【0010】
これらにより、利用者は要求するメタデータの例えばファイル名などを完全に知らなくても、その一部分、または更新された日付や権利などのメタデータの一部を指定することで、要求するメタデータを高速に発見することができる。ネットワーク全体で見れば、少ない資源でこれを実現できる。
【発明の効果】
【0011】
P2Pネットワーク上で、各利用者端末は近隣の利用者端末の情報だけで全ての処理を行うため、検索時に全ネットワークに対してフラッディングを行う必要がないにも関わらず、各利用者端末は最大でも要素の数のルーティングテーブルを持つだけで全ネットワークからの検索が可能となり、テーブル数の爆発がおきない。
【0012】
メタデータはXML要素毎に各利用者端末で管理されるため、メタデータをそのままキャッシュするよりも利用者端末の資源が抑えられる。
【0013】
メタデータの要素によって範囲を絞ったルーティングが可能になるため、目的のメタデータを発見するために無駄な検索クエリを転送することがなく、不必要にネットワーク帯域を消費しない。同様の理由により、高速に目的のメタデータを発見できる。
【0014】
これらの利点より、様々な端末(デジタルカメラや携帯電話やPDA(Personal Digital Assistants)やパソコンなど)が存在するP2Pネットワーク上で多種多様なコンテンツが流通するサービス、例えば個人が様々な媒体を使ってコンテンツ発信できるようなネットワーク上のサービスでの、タイトルや作成日時や二次利用の権利など利用形態に応じた高速な検索が可能となる。
【発明を実施するための最良の形態】
【0015】
次に、本発明の実施の形態について図面を参照して説明する。
【0016】
図1は本発明が適用されるP2Pネットワークの一例を示している。このP2Pネットワークは4つの利用者端末1〜4で構成されている。
【0017】
図2は利用者端末1〜4の構成図である。利用者端末1〜4はアプリケーション11とメタデータルーティングテーブル管理部12と検索要求管理部13とメタデータ管理部14とP2Pネットワーク管理部15で構成されている。メタデータルーティングテーブル管理部12は期待値テーブル121と重み値テーブル122とメタデータルーティングテーブル123を含んでいる。検索要求管理部13はクエリ転送部131とクエリ照合部132を含んでいる。メタデータ管理部14はメタデータDB141とキャッシュメタデータDB142を含んでいる。
【0018】
アプリケーション11は利用者に対するヒューマンインターフェース(検索画面や結果表示など)を提供する。P2Pネットワーク管理部15は他の利用者端末と通信する機能を有している。メタデータ管理部14は、コンテンツのメタデータを、XML(eXtensible Markup Language)等の構造化されたメタデータの要素単位で、メタデータを特定できる識別子を付けて分割して管理する。メタデータルーティングテーブル管理部12は、メタデータの要素に対して利用者がどのくらいその要素を利用して検索等を行うかを表す期待値(期待値テーブル121に格納)、または、システムによって割り振られる値と、その利用者が利用する利用者端末の資源(利用可能なディスクスペースやCPU能力など)を表す端末資源値の積によって重み付けを行い、自利用端末の近隣の1つ以上の利用者端末の重みの値(重み値テーブル122に格納)によってメタデータのルーティングテーブル123を生成する。メタデータルーティングテーブル管理部12はP2Pネットワーク管理部15を介して、メタデータルーティングテーブル123に従って最も優先度の高い近隣の利用者端末にメタデータをコピーする。クエリ転送部131は、利用者から要求された検索クエリをメタデータルーティングテーブル123に従って近隣の利用者端末に転送する。クエリ照合部132は検索クエリが転送されてくると自利用者端末のメタデータDB141内に目的のメタデータが存在するかを調べる。
【0019】
[第1の実施形態]
[処理1]
利用者端末1のアプリケーション11は、表1に示すようなメタデータを登録する。
【0020】
【表1】

【0021】
登録されたメタデータは、メタデータ管理部14によって、図3に示すように、一つのメタデータ(通常は一つのコンテンツに対して一つのメタデータ)をXMLの1個以上の要素毎に分割し、メタデータをネットワーク内で一意に識別することができる識別子と合わせて、メタデータ管理部14のメタデータDB141においてXML形式で管理される。識別子は、例えばGUID(Global Unique Identifier:http://www.atmarkit.co.jp/icd/root/52/94084052.html)を用いることでP2Pネットワークの中で一意に決めることができる。
【0022】
[処理2]
メタデータルーティング管理部12は、表2に示すメタデータの要素毎に、利用者が設定した期待値を期待値テーブル121で管理する。
【0023】
【表2】

【0024】
期待値は、利用者の近い将来の一定時間における検索要求のうち、ある要素を対象に行う頻度等の予測である。例えば、利用者端末1では、表1に示すメタデータの要素のうち、日付で検索する頻度が高いため、表2に示すように利用者端末1では日付の期待値が0.6と、タイトル、作者の要素に比べて最も高くなっている。また、表2に示すように一つのコンテンツのメタデータでの期待値の合計は一定である。表3に示すように、メタデータルーティングテーブル管理部12はメタデータ期待値に、利用者が設定したディスクスペース許可量、CPU能力等の値を正規化した端末資源値と掛け合わせた値をメタデータ重み値とし、メタデータ重み値テーブル122で管理する。例えば、表3のように利用者端末1では端末資源値0.5であるため、タイトル要素の期待値0.2×0.5=0.1をタイトル要素の重み値となる。
【0025】
【表3】

【0026】
[処理3]
図4〜図6にメタデータの配置方法とルーティングテーブル生成方法の例を示す。
【0027】
まず、重み値の転送通知を全利用者端末で行う。P2Pネットワーク管理部15は表3に示す利用者端末1で設定されたメタデータ要素の重み値を、図4に示す、利用者端末1が隣接する利用者端末である利用者端末2と利用者端末3に通知する。同様に、利用者端末2は隣接する利用者端末1と3と4に重み値を通知する。これを繰り返し、全ての利用者端末1〜4が自身と隣接する全ての利用者端末の重み値を知る。
【0028】
[処理4]
次に、メタデータルーティングテーブル123を作成する。利用者端末1のメタデータルーティングテーブル管理部12は隣接する利用者端末である利用者端末2と3の中で要素1である<タイトル>の重み値の最も高い利用者端末である利用者端末3を優先度最高とし、次に要素1の重み値の高い利用者端末2、その次に要素1の重み値の高い端末1の順番で優先度をつけ、図5に示すようにメタデータルーティングテーブル123を作成する。例えば図4では、利用者端末1の要素1の重み値は0.1で、隣接する利用者端末である利用者端末2の要素1の重み値は0.06、利用者端末3の要素1の重み値は0.48であり、3つの利用者端末1〜3の中で最も要素1の重み値が高いのは利用者端末3であるので、利用者端末1の要素1の最優先ルーティング先は利用者端末3となる。同様に、他の要素2や要素3についても優先度をつける。他の利用者端末についても同様の処理を行い、図5に示す全てのメタデータルーティングテーブル123が作成される。
【0029】
[処理5]
次に、メタデータのプッシュ型の配置を行う。図6に示す利用者端末1のメタデータルーティングテーブル管理部12はP2Pネットワーク管理部15を介して、は図5に示すメタデータルーティングテーブル123における、要素1の優先度の最も高い利用者端末3に、利用者端末1の持つメタデータ#1を全てコピーする(図6の矢印)。コピーされたメタデータ#1は利用者端末3のキャッシュメタデータDB142に蓄積される。同様に、利用者端末1で要素3のメタデータルーティングテーブル123の最優先である利用者端末3に、メタデータ#3を全てコピーする。要素2のメタデータルーティングテーブル123の最優先端末は利用者端末1自身であるので、コピーしない。同様に、利用者端末3では要素1のメタデータルーティングテーブル123によりメタデータ1を利用者端末4にコピーし、要素2のメタデータルーティングテーブル123によりメタデータ#2を利用者端末1にコピーする。また、利用者端末1からコピーされたメタデータ#1、3についても、利用者端末3のメタデータルーティングテーブル123に従ってコピーを行う。全ての利用者端末1〜4で全ての要素について同様の処理を行うと、図6に示すように、自身がもともと持っていたメタデータはメタデータDB141にそのまま残り、ネットワーク内の他の各利用者端末のメタデータは、要素毎にキャッシュメタデータDB142に蓄積される。
【0030】
[処理6]
図6において、利用者端末1のアプリケーション11から、要素1である「タイトル」に含まれる「xcv」文字列の検索を行う。検索クエリは図7に示すような形式で表せ、検索キーと検索要素の組み合わせである。まず、検索クエリを入力されたアプリケーション11は、検索要求管理部13に検索クエリを渡す。まず、利用者端末内のメタデータを検索するため、クエリ照合部132が検索要求管理部13が受け取った検索クエリについて、メタデータ管理部14に利用者端末内の検索を要求する。メタデータ管理部14は利用者端末自身のメタデータDB141およびキャッシュメタデータDB142の中で、検索要素が「タイトル」で検索キーが「xcv」であるメタデータを検索する。検索に適合した場合には検索を終了し、結果をアプリケーション11に返す。検索に適合しなかった場合には、検索要求管理部13に結果を返し、処理7に続く。ただし、複数個の検索結果を必要とする場合は、ここで検索が適合した場合でも、検索要求管理部13に結果を返し、処理7に続く。ここでは、利用者端末1のメタデータDB141とキャッシュメタデータDB142の中に検索要素「タイトル」で検索キー「xcv」のメタデータは存在しないため、検索要求管理部13に結果を返し、処理7に続く。
【0031】
[処理7]
次に、検索要求管理部13はクエリ転送部131に対して、検索クエリを図5に示すメタデータルーティングテーブル123に従って転送するよう指示する。この場合では検索要素「タイトル」は要素1に該当するため、利用者端末1の要素1のメタデータルーティングテーブル123の最優先度である利用者端末3に対してクエリ転送部131から検索クエリを転送する。
【0032】
[処理8]
検索クエリを受信した利用者端末3のクエリ照合部132は、処理6と同様に、自身のメタデータDB141とキャッシュメタデータDB142の中で検索要素「タイトル」で検索キー「xcv」であるメタデータを検索する。検索に適合した場合には検索を終了し、結果をアプリケーション11に返す。検索適合が失敗した場合には検索要求管理部13に結果を返し、処理9に続く。ただし、複数個の検索結果を必要とする場合は、ここで検索適合が成功した場合でも、検索要求管理部13に結果を返し、処理9に続く。ここでは、利用者端末3のメタデータDB141とキャッシュメタデータDB142の中に検索要素「タイトル」で検索検索「xcv」のメタデータは存在しないため、検索要求管理部13に結果を返し、処理9に続く。
【0033】
[処理9]
次に、利用者端末3の検索要求管理部13は処理7と同様に検索クエリを図5に示すメタデータルーティングテーブル123に従って転送するよう指示する。この場合では検索要素「タイトル」は要素1に該当するため、利用者端末3の要素1のメタデータルーティングテーブル123の最優先度である利用者端末4に対してクエリ転送部131から検索クエリを転送する。
【0034】
[処理10]
利用者端末3から検索クエリを受信した利用者端末4の検索要求管理部13は、自身のメタデータDB141とキャッシュメタデータDB142の中で検索要素「タイトル」で検索キー「xcv」であるメタデータをクエリ照合部132により照合し、該当メタデータを発見する。複数個の検索結果を必要とする場合は、ここで検索適合が成功した場合でも、上記の処理を繰り返し、最終的に検索クエリの転送先がなくなるまで、または指定する検索結果の個数のメタデータを発見するまで続ける。検索結果の個数を制限しない場合には、適合するメタデータを全て発見する。
【0035】
[第2の実施形態]
第1の実施形態の場合よりも利用者端末数の多い、図8に示すP2Pネットワークにおける実施形態を示す。
【0036】
第1の実施形態と同様にメタデータが生成され、重み値が決まる。図8では一つの要素についてのメタデータの存在とその重み値を示す。ここでは仮に全ての利用者端末が何らかのメタデータを持っているとしているが、その限りではない。第1の実施形態と同様にメタデータルーティングテーブルを作成する。ここでは、図8に示す矢印の方向に最優先のメタデータルーティングテーブルが作られる。端末2、6、7については、隣接する利用者端末の中で自身が最も重み値が高いため、最優先のルーティング先は自身となる。第1の実施形態と同様にメタデータルーティングテーブルに従ってメタデータをコピーし、図9のようになる。
【0037】
図9に示す利用者端末1である検索クエリにより検索要求を行った場合、端末1のメタデータルーティングテーブル123に従い、自身のメタデータDB141およびキャッシュメタデータDB142を照合した後に利用者端末2に検索クエリを転送する。利用者端末2には多くの利用者端末からメタデータが集まっているため、検索に適合する確率が高い。仮に利用者端末2に適合するメタデータが無かったとしても、次に優先度の高い利用者端末4に検索クエリを転送し、利用者端末4では次点のルーティング先である端末7にクエリを転送し、より多くのメタデータが集まる利用者端末を優先的に検索可能である。その結果、検索クエリをネットワーク内に無駄に転送することなく、適合するメタデータを発見できる。
【0038】
[第3の実施形態]
複数の検索クエリにおけるAND検索およびOR検索の場合の処理を示す。ここでは2個の検索クエリでAND検索またはOR検索を行う場合を示す。
【0039】
メタデータの生成からメタデータルーティングテーブルを生成してメタデータをプッシュ的に配置するまでは第1の実施形態の処理1)〜5)と同様である。
【0040】
次に、図10に示すように、それぞれの検索クエリは独立に、第1の実施形態と同様の処理を行い、それぞれの検索キーに適合するメタデータを発見(ステップ101)した後、利用者端末1のキャッシュメタデータDB142に保管する(ステップ103)。その後、AND検索の場合は、メタデータ管理部14内において、共通する識別子を持つメタデータのみ選択(ステップ103)して表示する。OR検索の場合は、ステップ103を行わず、全てのメタデータが表示の対象となる。
【0041】
なお、利用者端末の機能は専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、CD−ROM等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的にプログラムを保持するもの(伝送媒体もしくは伝送波)、その場合のサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【図面の簡単な説明】
【0042】
【図1】本発明が適用されるP2Pネットワークの一例を示す図である。
【図2】利用者の端末の構成を示す図である。
【図3】要素毎のメタデータの一例を示す図である。
【図4】メタデータルーティングの一例(初期状態)を示す図である。
【図5】メタデータルーティングテーブルの一例(ルーティングテーブルの例)を示す図である。
【図6】メタデータルーティングの一例(メタデータのプッシュ型キャッシュ)を示す図である。
【図7】検索クエリの例を示す図である。
【図8】第2の実施形態のP2Pネットワークの例を示す図である。
【図9】第2の実施形態のP2Pネットワークのメタデータ移動後を示す図である。
【図10】本発明の第3の実施形態で、AND検索およびOR検索の一連の処理の例を示す図である。
【符号の説明】
【0043】
1〜8 利用者端末
11 アプリケーション
12 メタデータルーティングテーブル管理部
121 期待値テーブル
122 重み値テーブル
123 メタデータルーティングテーブル
13 検索要求管理部
131 クエリ転送部
132 クエリ照合部
14 メタデータ管理部
141 メタデータDB
142 キャッシュメタデータDB
15 P2Pネットワーク管理部
101〜103 ステップ

【特許請求の範囲】
【請求項1】
ネットワークを通じて、電子化されたコンテンツを公開・検索・発見するためのメタデータを検索する方法において、
構造化されたメタデータの1つ以上の要素とその内容である値の組み合わせと、同じく構造化されたメタデータをネットワーク内で一意に識別できる識別子とを一つの単位として管理するステップと、
前記メタデータの要素に対して、利用者が近い将来の一定時間における検索要求のうち、ある要素を対象に検索を行う頻度の予測である期待値、またはシステムによって割り振られる値と、端末資源値と掛け合わせた値によって重み値を生成するステップと、
前記重み値を要素毎に近隣の利用者端末に通知し、それを全利用者端末が行うことで近隣の利用者端末の中で最も高い重み値を持つ利用者端末を知り、それを繰り返すことで近隣の利用者端末の中でメタデータの要素毎に重み値の高い利用者端末に優先度を付けることで、メタデータのプッシュ型配置または検索クエリの転送先を決定するメタデータルーティングテーブルを生成するステップと、
前記メタデータルーティングテーブルに従って最も優先度の高い近隣の利用者端末に前記メタデータをコピーするステップと、
利用者から要求された検索クエリを前記メタデータルーティングテーブルに従って近隣の利用者端末に転送し、前記検索クエリが転送されてくると自利用者端末内に目的のメタデータが存在するか調べるステップと
を有するメタデータ検索方法。
【請求項2】
前記メタデータが存在しないか、存在してもさらに検索を続ける場合には、前記メタデータルーティングテーブルにしたがって次の利用者端末に前記検索クエリを転送する、請求項1に記載のメタデータ検索方法。
【請求項3】
最も優先度の高い利用者端末への転送先が無くなった場合、次点で優先度の高い利用者端末、その次に優先度の高い利用者端末と、順次優先度の低い利用者端末へ検索クエリ転送することでネットワーク内の全ての利用者端末に前記検索クエリを転送する、請求項2に記載のメタデータ検索方法。
【請求項4】
P2Pネットワークを構成する利用者端末において、
構造化されたメタデータの1つ以上の要素とその内容である値の組み合わせと、同じく構造化されたメタデータをネットワーク内で一意に識別できる識別子とを一つの単位として管理する手段と、
前記メタデータの要素に対して、利用者が近い将来の一定時間における検索要求のうち、ある要素を対象に検索を行う頻度の予測である期待値、またはシステムによって割り振られる値と、端末資源値と掛け合わせた値によって重み値を生成する手段と、
前記重み値を要素毎に近隣の利用者端末に通知し、それを全利用者端末が行うことで近隣の利用者端末の中で最も高い重み値をもつ利用者端末を知り、それを繰り返すことで近隣の利用者端末の中でメタデータの要素毎に重み値の高い利用者端末に優先度を付けることで、キャッシュデータ配置または検索クエリの転送先を決定するメタデータルーティングテーブルを生成する手段と、
前記メタデータルーティングテーブルに従って最も優先度の高い近隣の利用者端末に前記メタデータをコピーする手段と、
利用者から要求された検索クエリを前記メタデータルーティングテーブルに従って近隣の利用者端末に転送する手段と、
前記検索クエリが転送されてくると、自利用者端末内に目的のメタデータが存在するか調べる手段と
を有することを特徴とする利用者端末。
【請求項5】
請求項1から3のいずれかの方法をコンピュータに実行させるメタデータ検索プログラム。

【図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