(57)【要約】【課題】  各検索ノード間で転送される検索結果のトラフィックを削減することができ、また、最終的な検索結果受信ノードにおけるレーティング等による処理負荷を低減すること。【解決手段】  通信ネットワークに接続された複数の検索ノード３０Ａ〜３０Ｅに蓄積されるリソースを検索する際に、一度に取得する結果のリソース数としてユーザの要望する値を検索要求のメッセージに設定し、各検索ノード３０Ａ〜３０Ｅが検索要求を受信すると、検索要求の検索条件に適合するリソース情報を検索する。更に、通信ネットワークを経由して他の検索ノードに検索要求を転送し、他の検索ノードより受信した検索結果と自ノード内で検索した結果をレーティングし、評価の順位の高いものから検索要求メッセージに設定されたリソース数のリソース情報を検索結果として検索要求元へ返信する。【選択図】      図５
2005301430.tif 000002
【特許請求の範囲】
【請求項１】
通信網に分散して接続された複数の検索ノード装置に蓄積されているリソース情報を検索する分散型検索システムにおいて、
前記リソース情報の検索要求を行う検索要求情報に、リソース情報の検索条件と、当該検索要求情報の転送範囲と、前記検索条件に適合した検索結果の中から検索要求元に応答として返信するリソース情報の数とを設定し、
この検索要求情報を受信した検索ノード装置は、前記検索要求情報の検索条件に適合するリソース情報を検索すると共に、その受信した検索要求情報を転送範囲に従って他検索ノード装置へ転送し、
この転送後に、他検索ノード装置より受信した検索結果と自検索ノード装置内での検索結果とをレーティングすることによって評価の順位を付け、この順位の高い順に検索結果のリソース情報を前記数だけ選択し、この選択されたリソース情報を検索要求元へ検索結果として返信する
ことを特徴とする分散型検索システム。
【請求項２】
通信網に分散して接続され、検索要求に応じて検索されるリソース情報を蓄積する検索ノード装置において、
リソース情報の検索条件と、当該検索要求情報の転送範囲と、前記検索条件に適合した検索結果の中から検索要求元に応答として返信するリソース情報の数とが設定された検索要求情報を受信する第１の受信手段と、
前記第１の受信手段で受信された検索要求情報を、当該検索要求情報に設定された転送範囲に従って他検索ノード装置へ転送する第１の送信手段と、
前記第１の受信手段で受信された検索要求情報に設定された検索条件に適合するリソース情報を検索する検索手段と、
前記第１の送信手段から送信された検索要求情報に基づき他検索ノード装置で検索された検索結果を受信する第２の受信手段と、
前記第２の受信手段で受信された他検索ノード装置での検索結果と自検索ノード装置での検索結果とをレーティングする評価手段と、
前記評価手段でのレーティングによる順位の高い順に検索結果のリソース情報を、前記検索要求情報に設定されたリソース情報の数だけ選択する検索結果処理手段と、
前記検索結果処理手段で選択されたリソース情報を検索要求元へ検索結果として返信する第２の送信手段と
を備えたことを特徴とする分散型検索システム。
【請求項３】
前記検索結果処理手段によってレーティング処理された検索結果を記憶する記憶手段を更に備え、
前記検索結果処理手段は、前記第１の受信手段で検索要求元より同一の検索条件にて検索結果の追加要求の情報が受信された際に、この受信された追加検索要求情報に設定された転送範囲内の他検索ノード装置の検索結果が前記記憶手段に記憶されている場合、この記憶された検索結果が前記第２の送信手段から検索要求元へ返信されるように処理し、前記他検索ノード装置の検索結果が記憶手段に記憶されていない場合、不足しているリソース情報の数の取得範囲を設定し、この設定が行われた検索要求情報を用いて他検索ノード装置へ再度検索要求を行う
ことを特徴とする請求項２に記載の検索ノード装置。
【請求項４】
通信網に分散して接続された複数の検索ノード装置に蓄積されているリソース情報を検索する分散型検索方法において、
前記リソース情報の検索要求を行う検索要求情報に、リソース情報の検索条件と、当該検索要求情報の転送範囲と、前記検索条件に適合した検索結果の中から検索要求元に応答として返信するリソース情報の数とを設定する第１のステップと、
前記第１のステップで設定された検索要求情報を受信する第２のステップと、
前記第２のステップで受信された検索要求情報を、当該検索要求情報に設定された転送範囲に従って他検索ノード装置へ転送する第３のステップと、
前記第２のステップで受信された検索要求情報に設定された検索条件に適合するリソース情報を検索する第４のステップと、
前記第３のステップで転送された検索要求情報に基づき他検索ノード装置で検索された検索結果を受信する第５のステップと、
前記第５のステップで受信された他検索ノード装置での検索結果と自検索ノード装置での検索結果とをレーティングする第６のステップと、
前記第６のステップでのレーティングによる順位の高い順に検索結果のリソース情報を、前記検索要求情報に設定されたリソース情報の数だけ選択する第７のステップと、
前記第７のステップで選択されたリソース情報を検索要求元へ検索結果として返信する第８のステップと
を含むことを特徴とする分散型検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワーク上に分散して配置されると共に相互に接続された検索ノードによって、ユーザ要求によるコンテンツ等の情報の検索を行うための分散型検索システム、検索ノード装置及び分散型検索方法に関する。
【背景技術】
【０００２】
従来、ネットワーク上に分散配置された複数の検索ノードが通信回線を介して相互に接続され、これら検索ノードが連携してコンテンツの検索を行うピアツーピア（Ｐ２Ｐ）型の検索システムが知られている（例えば、特許文献１と非特許文献１）。このＰ２Ｐ型検索システムを図７に示す。
このようなアーキテクチャでは、サーバを介さずに検索ノード同士が直接情報の遣り取りを行なうため、サーバを設置する必要がない。また、爆発的に増加するリソース情報（単に、リソースとも称す）を分散して処理するために、クライアントサーバ型の検索システムに比べてスケーラビリティがあるという利点がある。
【０００３】
Ｐ２Ｐ型検索システムでは、検索要求が発生するとＰ２Ｐネットワークに接続された検索ノード間で、検索要求メッセージを順次転送し、検索要求メッセージを受信した各検索ノードにおいてノード内に保持されたリソース情報の中から、検索対象のリソースを検索することで、複数検索ノードを利用した検索を実現している。
このようなＰ２Ｐ型の検索方法として、該当する検索結果が得られるまで、或いは他の検索ノードが尽きるまで検索要求メッセージを順次検索ノード間で転送する方法や、検索要求メッセージをＰ２Ｐネットワーク上のある範囲まで転送し、その中で該当するリソースを保持する検索ノードから検索結果が検索要求元へ返送される方法などがある。
【０００４】
このようなＰ２Ｐ型検索システムにおける検索方法を、図７を参照して説明する。
図７に示すように、リソースの取得を要求するノード１０Ａは、隣接のノード１０Ｂ，ｌ０Ｃに対して検索要求メッセージを送信する。この検索要求メッセージを受信したノード１０Ｂ，１０Ｃは、要求されているリソースを自ノードで保持しているかどうかを調べる。この結果、該当するリソースが発見されない場合は、検索要求メッセージの送信元以外で隣接している検索ノード１０Ｄ，１０Ｅ，１０Ｆ，１０Ｇに対して検索要求メッセージを送信する。この検索要求メッセージを受信した検索ノード１０Ｄ，１０Ｅ，１０Ｆ，１０Ｇは、検索ノード１０Ｂ，１０Ｃと同様に自ノードの検索及び隣接ノードへの検索要求メッセージ転送の処理を行う。
【０００５】
このように、検索要求メッセージを受信した各検索ノードにおいて検索を実施し、検索要求の条件に該当するリソースを保持する例えば検索ノード１０Ｄは、検索結果を検索応答メッセージとして検索要求送信先の検索ノード１０Ｂに返送する。この検索応答メッセージは検索要求メッセージの伝播してきた経路を逆に辿り、元々の検索要求を発信した検索ノード１０Ａに届けられる。
【０００６】
この方式においては、該当する検索結果が得られるまで複数の経路に検索要求メッセージが転送されるため、検索要求元へ送信される検索要求応答メッセージの数は、最大で検索要求メッセージが伝播する経路（検索ノード）の数となる。
また、別の検索方法として、図８に示すように、検索結果が得られるかどうかによらず検索要求メッセージが一旦ホップ数やＴＴＬ(Time To Live)で指定する範囲内の全ての検索ノードへ送信され、検索要求メッセージを受信した各ノードは自ノード内で該当するリソースを発見した場合に、検索要求メッセージの送信元に検索応答メッセージを送信する方法がある。
【０００７】
即ち、図８に示すように、リソースの取得を要求するノード２０Ａは、隣接ノード２０Ｂ，２０Ｃに対して検索要求メッセージを送信し、検索要求メッセージを受信したノード２０Ｂ，２０Ｃが検索要求メッセージの送信元以外に接続している検索ノード２０Ｄ，２０Ｅ，２０Ｆ，２０Ｇに対して検索要求メッセージを転送し、最終的には検索要求メッセージの到達範囲として指定された転送ホップ数内の検索ノード全てに検索要求メッセージが到達する。
【０００８】
そして、検索要求メッセージの転送先から検索応答メッセージを受信し、その検索結果に自ノードの検索結果を追加して検索要求メッセージの送信元に検索応答メッセージを返送する。この検索応答メッセージを受信した検索要求元のノード２０Ａは、全ノードから集められた検索結果を検索システムのポリシーに基づいてレーティング（評価）を行い、上位のリソースを検索結果としてユーザに提示する。
【０００９】
上記の何れの場合においても、各検索ノードから得られる検索結果は検索要求元のノードに集められ、検索結果として得られた複数のリソースをレーティングした後、順位が高い順に検索結果をユーザに提示する。
この他、分散型検索システムとして特許文献２及び３がある。特許文献２の内容は次の通りである。検索の主体となるセンタと、このセンタと接続される複数のノードとからなるネットワーク上に分散している複数の情報を検索する場合に、センタから全ノードに対する情報要求と共に検索条件を伝達して、各々のノード毎に検索を実行した後、検索条件と一致した情報を有するノードのみをセンタに応答させる。
【００１０】
特許文献３の内容は次の通りである。ネットワークに接続された各ノード間で通信を行う分散システムにおいて、各々のノードで分散して実行される部分処理の結果を結合することを繰り返すことにより最終的な処理結果を得る分散処理方法であって、結合処理の手続き情報及び中間結果情報を転送情報単位として各ノード間を、ネットワークを介して巡回させながら部分処理を実行する。この結果を保持する各ノードが、ネットワークから転送情報単位を取得し、この転送情報単位の手続き情報に基づき、当該ノードが保持する部分処理結果と、その取得した転送情報単位の中間結果情報とを用いて結合処理の一部を行い、この結果に応じて、先に取得した中間結果情報を更新し、先に取得した手続き情報と共にネットワークへ送出する。
【特許文献１】特開２００４−２１７７０号公報
【特許文献２】特開平５−２３５９５４号公報
【特許文献３】特開平１０−２７１６４号公報
【非特許文献１】Ｇｎｕｔｅｌｌａ＜ＵＲＬ  ｈｔｔｐ：／／ｗｗｗ．ｇｎｕｔｅｌｌａ．ｃｏｍ／＞
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ところで、従来の分散型検索システムである上記特許文献１及び非特許文献１のＰ２Ｐ型検索システムにおいては、検索結果が元々検索要求を送信したノードに全て集まり、検索結果をレーティングするのは元々の検索要求を送信したノードであった。
しかし、検索要求の条件に該当するリソースの数が非常に多い場合には、全てを受信してレーティングを処理するのはノードに非常に大きな負荷がかかるという問題がある。また、ユーザがそれほど多数の検索結果を必要としない場合には、レーティングされた結果のうち上位の結果のみが利用され、下位の結果については利用されない場合が多いが、利用するしないにかかわらず、全ての検索結果はネットワーク上で転送されるためトラフィックが高くなるという問題がある。
【００１２】
また、上記特許文献２及び３のシステムでは、レーティングを行うことができず、また特許文献３においては各ノードで分散して実行される部分処理の結果をノード間で転送しながら結合することを繰り返すのでトラフィックが高くなるという問題がある。
本発明は、このような課題に鑑みてなされたものであり、各検索ノード間で転送される検索結果のトラフィックを削減することができ、また、最終的な検索結果受信ノードにおけるレーティング等による処理負荷を低減することができる分散型検索システム、検索ノード装置及び分散型検索方法を提供することを目的としている。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の請求項１による分散型検索システムは、通信網に分散して接続された複数の検索ノード装置に蓄積されているリソース情報を検索する分散型検索システムにおいて、前記リソース情報の検索要求を行う検索要求情報に、リソース情報の検索条件と、当該検索要求情報の転送範囲と、前記検索条件に適合した検索結果の中から検索要求元に応答として返信するリソース情報の数とを設定し、この検索要求情報を受信した検索ノード装置は、前記検索要求情報の検索条件に適合するリソース情報を検索すると共に、その受信した検索要求情報を転送範囲に従って他検索ノード装置へ転送し、この転送後に、他検索ノード装置より受信した検索結果と自検索ノード装置内での検索結果とをレーティングすることによって評価の順位を付け、この順位の高い順に検索結果のリソース情報を前記数だけ選択し、この選択されたリソース情報を検索要求元へ検索結果として返信することを特徴としている。
【００１４】
この構成によれば、検索を実施した各検索ノード装置において検索結果のレーティング処理を行い、上位の検索結果のみ検索要求元へ返信することで、必要な情報のみを通信網へ流すことができるので、通信網のトラフィックを低減させることができる。更に、検索結果のレーティング処理の負荷を各ノード装置に分散して処理させるので、最終的な検索結果受信ノード装置での処理負荷の集中を減らすことが可能となる。
【００１５】
また、本発明の請求項２による検索ノード装置は、通信網に分散して接続され、検索要求に応じて検索されるリソース情報を蓄積する検索ノード装置において、リソース情報の検索条件と、当該検索要求情報の転送範囲と、前記検索条件に適合した検索結果の中から検索要求元に応答として返信するリソース情報の数とが設定された検索要求情報を受信する第１の受信手段と、前記第１の受信手段で受信された検索要求情報を、当該検索要求情報に設定された転送範囲に従って他検索ノード装置へ転送する第１の送信手段と、前記第１の受信手段で受信された検索要求情報に設定された検索条件に適合するリソース情報を検索する検索手段と、前記第１の送信手段から送信された検索要求情報に基づき他検索ノード装置で検索された検索結果を受信する第２の受信手段と、前記第２の受信手段で受信された他検索ノード装置での検索結果と自検索ノード装置での検索結果とをレーティングする評価手段と、前記評価手段でのレーティングによる順位の高い順に検索結果のリソース情報を、前記検索要求情報に設定されたリソース情報の数だけ選択する検索結果処理手段と、前記検索結果処理手段で選択されたリソース情報を検索要求元へ検索結果として返信する第２の送信手段とを備えたことを特徴としている。
【００１６】
この構成によれば、検索を実施した各検索ノード装置において検索結果のレーティング処理を行い、上位の検索結果のみ検索要求元へ返信することで、必要な情報のみを通信網へ流すことができるので、通信網のトラフィックを低減させることができる。更に、検索結果のレーティング処理の負荷を各ノード装置に分散して処理させるので、最終的な検索結果受信ノード装置での処理負荷の集中を減らすことが可能となる。
【００１７】
また、本発明の請求項３による検索ノード装置は、請求項２において、前記検索結果処理手段によってレーティング処理された検索結果を記憶する記憶手段を更に備え、前記検索結果処理手段は、前記第１の受信手段で検索要求元より同一の検索条件にて検索結果の追加要求の情報が受信された際に、この受信された追加検索要求情報に設定された転送範囲内の他検索ノード装置の検索結果が前記記憶手段に記憶されている場合、この記憶された検索結果が前記第２の送信手段から検索要求元へ返信されるように処理し、前記他検索ノード装置の検索結果が記憶手段に記憶されていない場合、不足しているリソース情報の数の取得範囲を設定し、この設定が行われた検索要求情報を用いて他検索ノード装置へ再度検索要求を行うことを特徴としている。
【００１８】
この構成によれば、一旦レーティング処理された検索結果を記憶しておき、検索要求元より同一の検索条件にて検索結果の追加要求があった場合には、その追加検索要求情報に設定された転送範囲内の他検索ノード装置の検索結果が記憶されていれば、この検索結果を検索要求元へ返信する。また、記憶されていない場合は、不足しているリソース情報の数の取得範囲を検索要求情報に設定し、この検索要求情報を用いて他検索ノード装置へ再度検索要求を行う。この要求によって得られた検索結果を用いてレーティング処理などを行った検索結果が検索要求元へ返信されるので、無駄な情報の送信を無くすことができる。
【００１９】
また、本発明の請求項４による分散型検索方法は、通信網に分散して接続された複数の検索ノード装置に蓄積されているリソース情報を検索する分散型検索方法において、前記リソース情報の検索要求を行う検索要求情報に、リソース情報の検索条件と、当該検索要求情報の転送範囲と、前記検索条件に適合した検索結果の中から検索要求元に応答として返信するリソース情報の数とを設定する第１のステップと、前記第１のステップで設定された検索要求情報を受信する第２のステップと、前記第２のステップで受信された検索要求情報を、当該検索要求情報に設定された転送範囲に従って他検索ノード装置へ転送する第３のステップと、前記第２のステップで受信された検索要求情報に設定された検索条件に適合するリソース情報を検索する第４のステップと、前記第３のステップで転送された検索要求情報に基づき他検索ノード装置で検索された検索結果を受信する第５のステップと、前記第５のステップで受信された他検索ノード装置での検索結果と自検索ノード装置での検索結果とをレーティングする第６のステップと、前記第６のステップでのレーティングによる順位の高い順に検索結果のリソース情報を、前記検索要求情報に設定されたリソース情報の数だけ選択する第７のステップと、前記第７のステップで選択されたリソース情報を検索要求元へ検索結果として返信する第８のステップとを含むことを特徴としている。
【００２０】
この方法によれば、検索を実施した各検索ノード装置において検索結果のレーティング処理を行い、上位の検索結果のみ検索要求元へ返信することで、必要な情報のみを通信網へ流すことができるので、通信網のトラフィックを低減させることができる。更に、検索結果のレーティング処理の負荷を各ノード装置に分散して処理させるので、最終的な検索結果受信ノード装置での処理負荷の集中を減らすことが可能となる。
【発明の効果】
【００２１】
以上説明したように本発明によれば、各検索ノード間で転送される検索結果のトラフィックを削減することができ、また、最終的な検索結果受信ノードにおけるレーティング等による処理負荷を低減することができるという効果がある。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態を、図面を参照して説明する。
（実施の形態）
図１は、本発明の実施の形態に係る分散型検索システムの構成を示す図である。
図１に示す分散型検索システム１は、インターネット等の通信ネットワーク上で分散配置され、相互に接続された検索ノード（検索ノード装置）３０（３０Ａ〜３０Ｇ）によって検索を行うシステムである。なお、本明細書の各図において検索ノードを単にノードと記載し、本文中でもノードと表現する場合もある。
【００２３】
図２は、検索ノード３０Ｂを代表とした検索ノードの構成を示すブロック図である。
この図２に示すように、検索ノード３０Ｂは、検索要求メッセージ受信部（第１の受信手段）３０１と、検索要求メッセージ送信部（第１の送信手段）３０２と、検索処理部（検索手段）３０３と、検索結果評価部（評価手段）３０４と、リソースデータベース３０５と、検索結果処理部（検索結果処理手段）３０６と、検索結果キャッシュ部（記憶手段）３０７と、検索応答メッセージ送信部（第２の送信手段）３０８と、検索応答メッセージ受信部（第２の受信手段）３０９とを備えて構成されている。
【００２４】
検索要求メッセージ受信部３０１は、通信インタフェースに接続されたモジュールであり、検索を要求する他の検索ノード（ここでは検索ノード３０Ａ）から、通信ネットワークを介して送信されてきた自ノード３０Ｂ宛て検索要求メッセージを受信する。この受信した検索要求メッセージには、検索条件、検索要求メッセージを転送する範囲（転送ホップ数）、検索結果としてユーザが要求するリソース数の範囲が設定されている。
【００２５】
また、検索要求メッセージ受信部３０１は、受信した検索要求メッセージの転送範囲に、検索要求メッセージ送信元を起点として自ノード３０Ｂより先の検索ノードが含まれる場合には、当該検索要求メッセージを検索要求メッセージ送信部３０２へ送る。
検索要求メッセージ送信部３０２は、検索要求メッセージの送信元検索ノード以外で自ノード３０Ｂが接続されている検索ノード（ここでは検索ノード３０Ｄ及び３０Ｅ）に対して当該検索要求メッセージを転送する。
【００２６】
検索処理部３０３は、検索要求メッセージ受信部３０１からの検索要求メッセージに記述された検索条件を基にリソースデータベース３０５を検索することによって得られた検索結果を、検索結果評価部３０４へ出力する。
検索結果評価部３０４は、検索処理部３０３で得られた検索結果のリソースに対して、分散型検索システム１のポリシーである検索条件への適合度やリソースの人気等に応じて評価（レーティング）を行い、このリソースの評価値を当該リソースの情報（例えばＵＲＬ等）と共に検索結果処理部３０６へ出力する。
【００２７】
検索応答メッセージ受信部３０９は、隣接ノードに転送した検索要求メッセージに対する検索結果を検索応答メッセージとして受信し、この検索応答メッセージによる検索結果を検索結果処理部３０６へ出力する。
検索結果処理部３０６は、検索応答メッセージ受信部３０９からの検索応答メッセージによる検索結果を自ノード内の検索結果とマージし、評価値を基に順番を付け、このうち、検索要求メッセージで要望された範囲内に入る上位の検索結果を検索応答メッセージ送信部３０８へ出力する。また、マージした検索結果は、検索結果キャッシュ部３０７に一定期間保存する。
検索応答メッセージ送信部３０８は、検索要求メッセージで要望された範囲内の検索結果を、検索応答メッセージとして検索要求元の検索ノードへ送信する。
【００２８】
次に、このような構成の検索ノードによって、要求に応じた情報の検索処理を行う際の動作を、図３に示すフローチャートを参照して説明する。
ステップＳ１において、例えば検索ノード３０Ｂが、検索要求メッセージ受信部３０１にて検索ノード３０Ａからの検索要求メッセージを受信すると、ステップＳ２において、その検索要求メッセージが当該検索ノード３０Ｂにおいて同一条件で検索結果を追加で要求した際の検索要求メッセージであるか否かが判断される。この判断は、１回目の検索ではＮｏとなる。
【００２９】
また、検索要求メッセージ受信部３０１は、受信された検索要求メッセージに設定された転送範囲を確認することによって、検索要求メッセージ送信元を起点として自ノード３０Ａより先の検索ノードが転送範囲に含まれている場合、ステップＳ３において、検索要求メッセージ送信元以外の隣接ノード３０Ｄ，３０Ｅに対して検索要求メッセージを転送する。
【００３０】
次に、ステップＳ４において、自ノード３０Ａ内で検索処理部３０３によって検索要求の条件に該当するリソースの検索をリソースデータベース３０５から行い、この検索結果のリソースを検索結果評価部３０４へ出力する。
ステップＳ５において、検索結果評価部３０４は、その検索結果のリソースに対して、分散型検索システム１のポリシーである検索条件への適合度やリソースの人気等に応じたレーティングを行い、この評価値を当該リソースの情報と共に検索結果処理部３０６へ出力する。
【００３１】
上記ステップＳ３にて検索要求メッセージを隣接ノード３０Ｄ，３０Ｅに対して転送しているので、ステップＳ６において、その隣接ノード３０Ｄ，３０Ｅからの検索応答メッセージを検索応答メッセージ受信部３０９で受信する。この受信された検索応答メッセージは検索結果処理部３０６へ出力される。そして、ステップＳ７において、検索結果処理部３０６が、その受信された検索応答メッセージによる検索結果と自ノード３０Ａの検索結果とをマージする。
【００３２】
このマージした検索結果は評価値を基に順位づけされ、ステップＳ８において、検索結果キャッシュ部３０７に一定期間保存される。また、ステップＳ９において、その順位づけされた検索結果は、検索要求メッセージにて指定された範囲内で上位の検索結果から順に検索応答メッセージとして検索応答メッセージ送信部３０８によって検索要求元へ送信される。
【００３３】
上記ステップＳ８にて検索結果キャッシュ部３０７にキャッシュされた検索結果の一例を図４に示す。この図４に示すように、検索結果には、各リソース名が順位付けされて配列され、更に評価値と取得先及びその取得先での順位が対応付けられている。
上記ステップＳ２において、検索ノード３０Ｂにて同一条件で検索結果を追加で要求する検索要求メッセージを受信したと判断された場合、ステップＳ１０において、検索結果処理部３０６は検索結果キャッシュ部３０７を検索することによって、キャッシュしていた検索結果を利用して検索応答メッセージを検索要求元へ返す。
【００３４】
これを行う際、ステップＳ１１にて、検索結果処理部３０６は、キャッシュしていた検索結果を参照して他ノード３０Ｄ，３０Ｅより取得した検索結果の最下位が、要求されたランクに含まれるか否かを判断する。更に説明すると、他ノード３０Ｄ，３０Ｅから評価の高いリソースの結果が得られる可能性があるので、他ノード３０Ｄ，３０Ｅより取得したリソースの最下位が、追加で要求された検索結果の範囲において最下位より上位にあるか否かを判断する。
【００３５】
この判断結果がＹｅｓの場合、ステップＳ１２において、隣接ノード３０Ｄ，３０Ｅが該当する結果を更に保持しているか否かを判断し、この結果がＹｅｓの場合は、ステップＳ１３において、隣接ノード３０Ｄ，３０Ｅに検索要求メッセージを送信する。そして、ステップＳ１４において、隣接ノード３０Ｄ，３０Ｅから検索要求メッセージに応じた検索応答メッセージを受信する。そしてステップＳ１５にて検索結果のマージを行い、上記ステップＳ８へ進む。
【００３６】
つまり、検索結果を返したノード３０Ｄ，３０Ｅに対して再度リソース情報として含まれる可能性のある検索結果の要求範囲を設定して検索要求メッセージを送信し、追加で他ノードより検索結果を取得する。
図４に示す例の場合、検索応答として返す結果のうち順位が２２位以降のリソースとしてノード３０Ｄより更に評価のよい結果が得られる可能性があるため、検索結果として返すリソースの範囲を最大３に設定して検索要求を送信する。
【００３７】
図５に、図１で示す分散型検索システム１の構成で複数の検索ノード３０Ａ〜３０Ｅが分散されて配置されている状況において、検索ノード３０Ａ〜３０Ｅ間で遣り取りされる検索手順の例を示す。
この図５では、ステップＳ２１において、ユーザよりある条件のリソースのうち上位１０件の検索結果を返すように、ノード３０Ａに指示する様子が示されている。
【００３８】
ノード３０Ａは、ステップＳ２２において、検索要求メッセージを隣接しているノード３０Ｂ，３０Ｃに送信する。ノード３０Ｂ，３０Ｃにおいても、ステップＳ２３において、検索要求メッセージを受信するとそれぞれの隣接ノードであるノード３０Ｄ，３０Ｅに検索要求メッセージを転送する。
各ノード３０Ａ〜３０Ｅでは、ステップＳ２４〜Ｓ２８において、自ノード内に蓄積されたリソース情報より検索要求に適合するリソースを検索し、更にステップＳ２９〜Ｓ３３において、その検索されたリソースを条件にどの程度適合しているかをノード毎に同じ基準でレーティングし、リソースの順序をつける。
【００３９】
この例では、ノード３０Ａ〜３０Ｅにて保持していた該当リソースの数がそれぞれ、４０件、５件、２０件、３０件、７０件であるとする。
まず、ステップＳ３４において、ノード３０Ｃでは自ノードで検索した結果より上位１０の検索結果を評価値と共に検索応答メッセージとしてノード３０Ａに返信する。同様にステップＳ３５において、ノード３０Ｅも自ノードで検索した結果より上位１０の検索結果を評価値と共に検索応答メッセージとしてノード３０Ｂに返信する。更に、ステップＳ３５において、ノード３０Ｄからも上位１０件の検索結果を返信する。
【００４０】
ノード３０Ｂでは、ステップＳ３７において、自ノードにおいて検索した結果とノード３０Ｄ，３０Ｅより取得した検索結果をマージし、ステップＳ３８において、評価の高い１０件をノード３０Ａに検索応答として返す。ノード３０ＡでもステップＳ３９において、同様のマージ処理を行い、ステップＳ４０において、最終的にノード３０Ａよりユーザに対して検索結果上位１０件が提示される。
【００４１】
図６に、図５の一連の検索に引き続き、ユーザが再度同条件にて検索結果の追加取得を行なう手順の例を示す。
ステップＳ４１において、ユーザから検索要求１１〜２０位を追加で要求があった場合、ステップＳ４２において、ノード３０Ａではキャッシュしていた結果を確認し、要求された範囲内の検索結果の順位が全ノードの結果を反映されたものである場合には、ステップＳ４３において、キャッシュされていた結果をユーザに提示する。
【００４２】
次に、ステップＳ４４において、再度検索結果の追加の提示要求２１〜３０位の要求が発生した場合に、ステップＳ４５におけるノード３０Ａのキャッシュ確認において、ノード３０Ｂからの検索結果のリソースにさらに要求された範囲での結果が残っている可能性があれば、ステップＳ４６において、ノード３０Ｂに対して検索結果（１１〜２０位）の追加検索要求を行う。
【００４３】
次に、ステップＳ４７において、ノード３０Ｂでは同様に自ノード内のキャッシュを確認し、ノード３０Ｄにて更に要求された範囲で検索結果が残っている可能性があれば、ステップＳ４８において、ノード３０Ｄに対して検索結果（１１〜２０位）の追加検索要求を行う。ステップＳ４９において、ノード３０Ｄにてキャッシュを確認し、ノード３０Ｄにて更に要求された範囲で検索結果１１〜２０位が残っている場合には、この検索結果（１１〜２０位）を、ステップＳ５０においてノード３０Ｂへ返信する。
【００４４】
ノード３０Ｂでは、ステップＳ５１において、自ノードにおいて検索した結果とノード３０Ｄより取得した検索結果（１１〜２０位）とをマージし、ステップＳ５２において、評価の高い１０件（１１〜２０位）をノード３０Ａに検索応答として返す。ノード３０ＡでもステップＳ５３において、同様のマージ処理を行い、ステップＳ５４において、最終的にノード３０Ａよりユーザに対して検索結果（２１〜３０位）が提示される。
このようにしてキャッシュを確認し、結果として全ノード３０Ａ〜３０Ｅの結果が反映されていないと判断される場合には、再度隣接ノードに問い合わせを行う。
【００４５】
以上説明したように本実施の形態の分散型検索システム１によれば、分散環境において検索を行い、その結果を伝播して不要なトラフィックを最小限にすることが可能となる。また、検索結果を最後に取得した検索ノードで検索結果のレーティング処理を行なう場合に、ネットワーク上に流れるトラフィックを低減させると共に、検索結果のレーティング処理の負荷を各検索ノードに多分散して処理させることで、最終的な検索結果受信ノードでの処理負荷の集中をなくすことが可能となる。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施の形態に係る分散型検索システムの構成を示す図である。
【図２】上記実施の形態に係る分散型検索システムの検索ノードの構成を示すブロック図である。
【図３】上記実施の形態に係る分散型検索システムの検索ノードによって、要求に応じた情報の検索処理を行う際の動作を説明するためのフローチャートである。
【図４】上記実施の形態に係る分散型検索システムの検索ノードの検索結果キャッシュ部にキャッシュされた検索結果の一例を示す図である。
【図５】上記実施の形態に係る分散型検索システムの各検索ノード間で遣り取りされる検索手順を説明するためのシーケンス図である。
【図６】上記実施の形態に係る分散型検索システムの各検索ノード間での検索にてユーザが再度同条件にて検索結果の追加取得を行なう手順を説明するためのシーケンス図である。
【図７】従来の分散型検索システムであるＰ２Ｐ型検索システムの構成を示す図である。
【図８】従来の他の分散型検索システムの構成を示す図である。
【符号の説明】
【００４７】
１  分散型検索システム
３０Ａ，３０Ｂ，３０Ｃ，３０Ｄ，３０Ｅ，３０Ｆ，３０Ｇ  検索ノード
３０１  検索要求メッセージ受信部
３０２  検索要求メッセージ送信部
３０３  検索処理部
３０４  検索結果評価部
３０５  リソースデータベース
３０６  検索結果処理部
３０７  検索結果キャッシュ部
３０８  検索応答メッセージ送信部
３０９  検索応答メッセージ受信部
【図１】
2005301430.tif 000003
【図２】
2005301430.tif 000004
【図３】
2005301430.tif 000005
【図４】
2005301430.tif 000006
【図５】
2005301430.tif 000007
【図６】
2005301430.tif 000008
【図７】
2005301430.tif 000009
【図８】
2005301430.tif 000010