(57)【要約】【課題】  分散情報検索において、検索装置間の情報交換時に通信輻輳が発生しやすい問題を解決する。【解決手段】  分散情報検索を中継する配信サービスを探索して（Ｓ６００１）検出できなかった場合、自ホストから配信サービスを動的に起動し（Ｓ６００３）、他のホストからの検索要求情報の中継を開始し、当該他のホストを管理情報に登録する（Ｓ６００５）。【選択図】  図１２
2006003976.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に複数存在する端末の中で検索要求を受け付けた端末が行う情報検索方法であって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索工程と、
前記探索工程によって前記検索中継を行える端末を検出できなかった場合に、自らの配信手段により検索中継を行う工程とを備えることを特徴とする情報検索方法。
【請求項２】
前記検索中継を行う端末で、前記複数の端末の状況を管理することを特徴とする請求項１記載の情報検索方法。
【請求項３】
前記探索工程で、前記複数の端末に問い合わせを送信して応答を検出することで前記検索中継を行える端末を探索することを特徴とする請求項１記載の情報検索方法。
【請求項４】
前記探索工程で、前記配信手段を有し検索中継を行える端末を検出できた場合、当該検出した端末が有する配信手段により検索中継を行わせることを特徴とする請求項１記載の情報検索方法。
【請求項５】
前記複数の端末が、検索中継を行う請求項１または４記載の端末を、検索中継端末として登録する工程を備えることを特徴とする請求項１記載の情報検索方法。
【請求項６】
前記検索中継を行う端末で、前記検索要求した端末の情報を当該検索中継端末の管理情報に登録する工程を備えることを特徴とする請求項１記載の情報検索方法。
【請求項７】
前記複数の端末で、前記検索中継端末から検索要求情報を配信された時に、当該検索要求情報に対する検索処理を実行し、処理結果を返信する検索工程を備えることを特徴とする請求項１記載の情報検索方法。
【請求項８】
ネットワーク上に複数存在する情報検索装置である端末の中で検索要求を受け付けた端末であって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索手段と、
前記探索手段によって前記検索中継を行える端末を検出できなかった場合に、自らの配信手段により検索中継を行う手段とを備えることを特徴とする情報検索装置。
【請求項９】
ネットワーク上に複数存在する端末の中で検索要求を受け付けた端末で実行されるプログラムであって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索手順と、
前記探索手順によって前記検索中継を行える端末を検出できなかった場合に、自らの配信手段により検索中継を行う手順とを備えることを特徴とするコンピュータで読み取り可能なプログラム。
【請求項１０】
請求項９に記載のプログラムを格納するコンピュータ可読メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上の複数の端末に分散して格納されている情報を検索する分散情報検索方法及びその装置、プログラム、コンピュータ可読メモリに関する。
【背景技術】
【０００２】
ネットワークに接続された端末上に存在するデータを検索する検索装置として、いわゆるクライアントサーバモデルに基づく端末上で作動する検索サーバを設け、検索サーバに検索依頼を発行することでデータ検索を行う検索装置が一般的である。
【０００３】
しかしながら、検索対象とすべき端末がネットワーク上に複数存在していた場合、クライアントは複数の検索サーバにその都度、検索要求を発行する必要があり、かつ、そのネットワーク上の呼び出しアドレスおよび呼び出し手順を把握していなければならない。
【０００４】
一方、分散検索システムおよび分散検索システムにおける検索装置において、ネットワーク上で各端末が情報を転送しあうことで、分散情報検索を行い、分散ネットワークにおける情報転送処理において経由してきたホストコンピュータ経路情報を転送対象情報に埋め込むことにより重複した転送先ホストコンピュータの選択をしないように制御することが提案されている（例えば特許文献１参照）。
【特許文献１】特開平１１−１９５０４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の分散情報検索装置では、各端末間で自端末が保持する資源情報を交換しあうため、ネットワーク規模に応じて資源情報交換のための通信輻輳が発生しやすいという問題があった。この問題を解決するために、各端末の資源情報を集中管理する情報資源ディレクトリサーバを設けて、ディレクトリサーバによって問合せ先を決定する方式も既知技術として存在するが、集中管理方式の場合、サーバの設定、維持のための管理コストがユーザおよびシステム管理者にかかり、低コストで分散情報検索を行うことが困難であった。
【０００６】
本発明は上記の問題点に鑑みてなされたものであり、ネットワークに分散した複数の端末による検索要求情報の配信サービスを行う分散検索中継装置が既に存在する場合は、既存サービスを利用可能とし、配信サービスが存在しない場合も、動的にサービスを起動することにより、検索処理を行うユーザおよびシステム管理者による煩雑な設定作業などを行う必要のない操作性のよい分散情報検索方法及びその装置、プログラム、コンピュータ可読メモリを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するための本発明による情報検索方法は以下の構成を備える。即ち、
ネットワーク上に複数存在する端末の中で検索要求を受け付けた端末が行う情報検索方法であって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索工程と、
前記探索工程によって前記検索中継を行える端末を検出できなかった場合に、自らの配信手段により検索中継を行う工程とを備える。
【０００８】
上記の目的を達成するための本発明による情報検索装置は以下の構成を備える。即ち、
ネットワーク上に複数存在する情報検索装置である端末の中で検索要求を受け付けた端末であって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索手段と、
前記探索手段によって前記検索中継を行える端末が検出できなかった場合に、自らの配信手段により検索中継を行う手段とを備える。
【０００９】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
ネットワーク上に複数存在する端末の中で検索要求を受け付けた端末で実行されるプログラムであって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索手順と、
前記探索手順によって前記検索中継を行える端末が検出できなかった場合に、自らの配信手段により検索中継を行う手順を備える。
【発明の効果】
【００１０】
以上説明したように、本発明に依れば、ネットワークに分散した複数の端末による分散情報検索要求の配信を行う分散検索中継端末が存在しない場合も、動的に経路選択・配信サービスを起動することにより（待機状態などからの起動も含む）、検索処理を行うユーザおよびシステム管理者による煩雑な設定作業などを行う必要のない操作性のよい分散情報検索方法及び装置、プログラム、コンピュータ可読メモリを提供できる。
【発明を実施するための最良の形態】
【００１１】
＜実施形態１＞
以下、図面を参照して本発明の好適な実施形態を詳細に説明する。
【００１２】
図１は本発明の実施形態である分散情報検索装置の構成を示す図である。
【００１３】
図１において、１１はマイクロプロセッサ（ＣＰＵ）であり、分散情報検索のための演算、論理判断等を行い、アドレスバスＡＢ、コントロールバスＣＢ、データバスＤＢを介して、それらのバスに接続された各構成要素を制御する。
【００１４】
アドレスバスＡＢはＣＰＵ１１の制御の対象とする構成要素を指示するアドレス信号を転送する。コントロールバスＣＢはＣＰＵ１１の制御の対象とする各構成要素のコントロール信号を転送して印加する。データバスＤＢは各構成機器相互間のデータ転送を行う。
【００１５】
１２は読出し専用の固定メモリ（ＲＯＭ）であり、本実施形態で実行される処理プログラム等の制御プログラムコードを記憶する。
【００１６】
１３は書込み可能なランダムアクセスメモリ（ＲＡＭ）であり、各構成要素からの各種データの一時記憶に用いられる。
【００１７】
１４は外部メモリ（ＤＩＳＫ）であり、検索対象情報が格納される。また、これらのデータ及びプログラムを格納する記憶媒体としては、ＲＯＭ、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリカード、光磁気ディスクなどを用いることができる。
【００１８】
１５はキーボード（ＫＢ）であり、アルファベットキー、ひらがなキー、カタカナキー、句点等の文字記号入力キー、検索を指示する検索キー及び、カーソル移動を指示するカーソル移動キー等のような各種の機能キーを備えている。
【００１９】
１６は表示用ビデオメモリ（ＶＲＡＭ）であり、表示すべきデータのパターンを蓄える。
【００２０】
１７はＣＲＴコントローラ（ＣＲＴＣ）であり、表示用ビデオメモリＶＲＡＭ１６に蓄えられた内容を表示器ＣＲＴ１８に表示する役割を担う。
【００２１】
１８は陰極線管、液晶パネル等の表示装置（ＣＲＴ）であり、その表示装置ＣＲＴにおけるドット構成の表示パターンおよびカーソルの表示をＣＲＴコントローラ１７で制御する。
【００２２】
１９はネットワークコントローラ（ＮＩＣ）であり、Ｅｔｈｅｒｎｅｔ（登録商標）などのネットワークに接続し、図２において後述する複数のホスト計算機同士を接続する役割を担う。
【００２３】
かかる各構成要素からなる分散情報検索装置においては、キーボードＫＢ１５からの各種の入力及びネットワークコントローラから供給されるネットワーク経由の各種入力に応じて作動するものであって、キーボードＫＢ１５からの入力及びネットワークコントローラ１９からの入力が供給されると、まず、インタラプト信号がマイクロプロセッサＣＰＵ１１に送られ、そのマイクロプロセッサＣＰＵ１１が外部メモリＤＩＳＫ１４内に記憶してある各種の制御信号を読出し、それらの制御信号に従って、各種の制御が行われる。
【００２４】
また、本発明に係わるプログラムを格納した記憶媒体をシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが、記憶媒体に格納されたプログラムコードを読み出し実行することによっても本発明は達成される。
【００２５】
次に、本実施形態の分散情報検索装置を複数接続したネットワークの構成について、図２を用いて説明する。
【００２６】
図２は本発明の実施形態の分散情報検索装置を複数接続したネットワークの構成を示している。
【００２７】
図２において、白小円および黒小円は共通のネットワークアドレスを持つサブネットを構成するネットワークノードとなる端末である。白小円はそれぞれ図１において詳述の構成を持つ分散情報検索装置であり、分散検索中継装置を探索して、検出した後にユーザの検索要求を分散検索中継装置に送信するとともに、分散検索中継装置から送信される検索要求情報に対して、検索処理を行い、検索処理結果を分散検索中継装置など指定された端末に返信する機能を有する検索サービスを保持している。また、黒小円はそれぞれ図１において詳述の構成を持つ分散検索中継装置であり、検索サービスを保持しネットワーク上に複数存在する分散情報検索装置の所在管理を行い、分散情報検索装置からの検索要求を、所在管理している分散情報検索装置に配信し、分散情報検索装置から返信される検索結果をまとめて、検索要求を発呼した分散情報検索装置に返信するなどの中継サービスを保持している。さらに黒小円で表される分散情報検索装置は、分散検索経路を選択し配信するなどの中継サービスを保持するとともに、検索サービスを保持することも可能である。
【００２８】
図３は本発明の実施形態の分散情報検索装置において、検索要求情報を伝達する対象となる分散情報検索装置（以下では単にホストと呼称）の管理情報の構成例を示す図である。ホスト管理情報は図１におけるＲＡＭ１３もしくはＤＩＳＫ１４に格納されるものとする。
【００２９】
図３において、３０１はホスト識別名であり、各ホストの名称をＡＳＣＩＩ文字列で格納する。ホスト識別名は公知のＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）によって、対応するホストアドレス（ＩＰアドレス）を取得できる。
【００３０】
３０２はホストアドレスであり、本発明の実施形態においては各ホストを一意化する３２ビットのＩＰアドレスを格納する。
【００３１】
３０３はホストグループであり、共通のネットワークアドレスを持つ同一のサブネットに属するホストをグループ化し、グループを識別する識別子を格納する。
【００３２】
３０４は保持情報数で、各ホストが検索可能な情報の総数を示しており、図１のＤＩＳＫ１４に格納されている。本発明の実施形態においては情報の数とは、検索対象とするファイルシステム上でのファイルの数とする。
【００３３】
図３において図示されるホスト管理情報は、分散情報検索の実行される前に、各ホスト同士の自律的な接続確立処理により情報交換が行われることにより保持される情報である。または、ホストごとにシステム管理者により明示的に与えられる情報であるとする。
【００３４】
３０５は当該ホストのネットワークへの接続回線種別であり、回線速度と回線種別の情報を格納する。
【００３５】
図４は図２において図示される本発明の実施形態の分散情報検索ネットワークにおいて、各ホストに伝達される検索要求情報の構成例を示す図であり、図４においては、ホストアドレスとして”１９２．１６８．１０．１２７”を持つホストが受信した検索要求情報をホストアドレス”１９２．１６８．１０．１２５”を持つ”Ｈｏｓｔ１２５”に送信するメッセージを示している。
【００３６】
本発明の実施形態においては、検索要求情報はタグによりマークアップされたテキスト形式で記述され、図４において括弧＜  ＞で始まり、＜／  ＞で囲まれた部分が検索要求情報を構成する要素であるような整形式のＸＭＬ文書とする。
【００３７】
図４において＜Ｑｕｅｒｙ＞は検索要求情報のルートとなる要素タグであり、ひとつの検索要求情報は高々ひとつの＜Ｑｕｅｒｙ＞要素をもつものとする。
【００３８】
＜ＱｕｅｒｙＩＤ＞は検索要求情報を一意化する識別情報を表す要素タグである。検索要求情報の識別情報は、検索要求情報を作成したホストに固有なＭＡＣアドレスと、当該ホストにおいて当該検索要求情報を作成した時刻の情報との組合せで生成される。
【００３９】
＜ＱｕｅｒｙＰａｔｈ＞は当該検索要求情報を配信する対象となるホストを特定するとともに、当該検索要求情報を配信する順序を指定する要素タグであり、＜Ｈｏｓｔ＞要素でホストアドレスを指定し、配信すべき順序に従い、先に配信されるホストほど上位に配置される。また、＜ＱｕｅｒｙＰａｔｈ＞要素の末尾の値は当該検索要求情報を作成したホスト自身のホストアドレスを格納するものとする。図４においては、ホストアドレス”１９２．１６８．１０．１２７”のホストから１番目にホストアドレス”１９２．１６８．１０．１２５”のホストにメッセージを配信し、２番目にホストアドレス”１９２．１６８．１０．１５”のホストに伝達され、最後に自ホスト”１９２．１６８．１０．１２７”に伝達される。
【００４０】
＜ＱｕｅｒｙＰａｔｈ＞が空要素の場合は、伝送対象を特定しないことを意味し、当該検索要求情報は他ホストへの配信は行われない。
【００４１】
＜ＴｒａｎｓｍｉｓｓｉｏｎＦａｉｌｕｒｅ＞は当該検索要求情報を配信して伝達していく過程で、送信エラーなどにより、目的のホストにメッセージを送信できなかった場合に、送信できなかったホストの情報をホストアドレスで格納する送達不能情報を格納する要素タグである。図４においては、送達不能ホストはまだないため、空となっている。
【００４２】
＜ＱｕｅｒｙＩｎｆｏ＞は検索要求情報の検索要求を記述する要素タグであり、＜Ｋｅｙｗｏｒｄ＞、＜ＢｏｏｌｅａｎＣｏｎｄｉｔｉｏｎ＞、＜ＭｅｄｉａＴｙｐｅ＞を要素として持つ。
【００４３】
＜Ｋｅｙｗｏｒｄ＞は検索要求情報の検索要求キーワードを指定する。＜Ｋｅｙｗｏｒｄ＞要素は複数併記することが可能である。図４では、”Ｃｏｍｐｕｔｅｒ”と”Ｖｉｒｕｓ”の２つのキーワードが指定されている。＜ＢｏｏｌｅａｎＣｏｎｄｉｔｉｏｎ＞は＜Ｋｅｙｗｏｒｄ＞要素によって指定されたキーワードの検索条件を指定し、キーワード間の論理積を指定する”ＡＮＤ”とキーワード論理和を指定する”ＯＲ”を指定することができるものとする。＜ＭｅｄｉａＴｙｐｅ＞は検索したい情報のメディア種別を指定し、テキストファイルを指定する”Ｔｅｘｔ”、ビットマップ画像、圧縮画像など画像ファイルを指定する”Ｉｍａｇｅ”、動画ファイルを指定する”Ｍｏｖｉｅ”、メディア種別を指定しない”Ｎｏｎｅ”を指定することができるものとする。
【００４４】
＜ＲｅｔｕｒｎＡｄｄｒｅｓｓ＞は検索要求情報に対する情報検索の結果を返信する宛先ホスト情報を指定する。図４においては、検索要求発信元であるホスト”１９２．１６８．１０．１２７”が返信先として指定され、各ホストでの情報検索の結果は”１９２．１６８．１０．１２７”に送信される。
【００４５】
図５は図４において図示される本発明の実施形態の検索要求情報メッセージが、ホストアドレス”１９２．１６８．１０．１２５”を持つ”Ｈｏｓｔ１２５”によって受信され、分散情報検索要求をホストアドレス”１９２．１６８．１０．１５”を持つ”Ｈｏｓｔ１５”に送信するメッセージを示している。
【００４６】
図５において、Ｈｏｓｔ１２５は＜ＱｕｅｒｙＰａｔｈ＞情報から、自ホストに関する＜Ｈｏｓｔ＞１９２．１６８．１０．１２５＜／Ｈｏｓｔ＞を削除し、送信するホストである＜Ｈｏｓｔ＞１９２．１６８．１０．１５＜／Ｈｏｓｔ＞が先頭に来るように検索要求情報メッセージを更新して次のホストに送信する。
【００４７】
図６は図４において図示される本発明の実施形態の検索要求情報が、図５で示される＜ＱｕｅｒｙＰａｔｈ＞中の５０１のＨｏｓｔまで検索が終了した後に、ホストアドレス”１９２．１６８．２０．１２７”を持つ”ＳＶ００１”によって受信され、検索要求情報をホストアドレス”１９２．１６８．２０．４０”を持つ”ＣＬ００３”に送信しようとしたが、送信エラーを検知し、ホスト”ＣＬ００３”に送信できなかった場合に、次のホスト”ＣＬ００１”に送信する際の検索要求情報を示している。
【００４８】
図６において、ホスト”ＳＶ００１”は＜ＱｕｅｒｙＰａｔｈ＞情報から、自ホストに関する＜Ｈｏｓｔ＞１９２．１６８．２０．１２７＜／Ｈｏｓｔ＞を削除し、また、送信できなかった次ホストである＜Ｈｏｓｔ＞１９２．１６８．２０．４０＜／Ｈｏｓｔ＞を削除し、さらに次のホスト情報である＜Ｈｏｓｔ＞１９２．１６８．２０．２０＜／Ｈｏｓｔ＞が先頭に来るように検索要求情報メッセージを更新する（図５で示される＜ＱｕｅｒｙＰａｔｈ＞中の５０２の部分が残る）とともに、送信できなかったホスト情報＜Ｈｏｓｔ＞１９２．１６８．２０．４０＜／Ｈｏｓｔ＞を＜ＴｒａｎｓｍｉｓｓｉｏｎＦａｉｌｕｒｅ＞要素の値としてセットして次のホストに送信する。
【００４９】
次に、本実施形態で実行される分散情報検索処理について、図７から図１５のフローチャートを用いて説明する。
【００５０】
図１２は本発明の実施形態で実行される検索要求情報配信サービス起動処理を示すフローチャートである。
【００５１】
ユーザ等が検索を要求すると、ネットワーク上の分散情報検索装置の検索サービスが起動し、ステップＳ６００１において、検索要求情報配信サービスを有し分散検索中継を行える装置の探索を行う。分散検索中継装置の探索のために、検索サービスはネットワーク上の全ホストに対して問合せメッセージをブロードキャスト送信する。分散検索中継装置が問合せメッセージを受信すると、応答メッセージを発呼元の検索サービスを保持するホストに対して送信する。
【００５２】
次に、ステップＳ６００２で、ステップＳ６００１においてブロードキャスト送信した問合せメッセージに対する分散検索中継装置からの応答メッセージが受信できたかどうかを判別する。所定の時間内に応答メッセージを受信できなかった場合は、分散検索中継装置が存在しないものと判定し、ステップＳ６００３へ分岐し、分散検索中継装置からの応答メッセージを受信できた場合はステップＳ６００４へ分岐する。
【００５３】
ステップＳ６００３では、ステップＳ６００２において分散検索中継装置が存在していない場合に、当該検索サービスを保持する自ホストにおいて分散検索要求情報配信サービスを起動させ、他のホストに対して検索中継サービスを開始する。
【００５４】
次に、ステップＳ６００４で、当該検索サービスにおける検索要求の送信先として、ステップＳ６００２で応答メッセージを返信した検索要求情報の配信サービスを保持するホスト、または、ステップＳ６００３で起動した分散検索要求情報の配信サービスを保持する自ホストを検索サービスが保持する不図示の記憶領域に記憶する。
【００５５】
次にステップＳ６００５で、分散検索中継装置が保持する図３に詳述のホスト管理情報に、検索サービスを保持する自ホストを登録する。また、ステップＳ６００３で分散検索要求情報配信サービスを開始後、ネットワーク上の他のホストからの問合せメッセージを受信した場合は、問合せメッセージに対して応答メッセージを送信するとともに、当該問合せメッセージを送信したホスト情報をホスト管理情報に登録する。
【００５６】
以後、分散情報検索システムの処理について記述する。
【００５７】
図１３は分散情報検索の分散検索経路を選択し配信を制御するサービスが行う処理を示すフローチャートである。
【００５８】
ステップＳ７０００で、検索要求情報の受信処理を行う。検索要求情報受信は図２におけるユーザから指定された検索キーワード、検索条件などの検索要求を所定の通信プロトコルに従って行われる同種の検索装置で広く行われている公知の技術である。
【００５９】
ステップＳ７００１で、図３において詳述のホスト管理情報に記憶されているホスト数が所定値（例えば１２８）未満であるか否かを判別し、所定値未満である場合はステップＳ７００２で検索要求の伝送方式１による検索要求伝達処理を行い、所定値以上であった場合は、ステップＳ７００３で検索要求の伝送方式２による検索要求伝達処理を行う。この条件分岐は、ホスト数の他、検索中継装置の配信の負荷などを判別してもよい。
【００６０】
ステップＳ７００２は検索要求の伝送方式１による検索要求配信伝達処理であり、図７において詳述される。
【００６１】
ステップＳ７００３は検索要求の伝送方式２による検索要求配信伝達処理であり、図１４において詳述される。
【００６２】
図１５は別の実施形態において実行される分散情報検索の分散検索経路を選択し配信を制御するサービスが行う処理を示すフローチャートである。
【００６３】
ステップＳ９０００で、検索要求の受信処理を行う。分散情報検索要求受信は図２におけるユーザから指定された検索キーワード、検索条件などの検索要求を所定の通信プロトコルに従って行われる同種の検索装置で広く行われている公知の技術である。
【００６４】
ステップＳ９００１で、図３において詳述のホスト管理情報に記憶されている接続回線速度種別３０５が所定値（例えば１００Ｍｂｐｓ）未満であるか否かを判別し、所定値未満である場合はステップＳ９００３で検索要求の伝送方式１による検索要求伝達処理を行い、所定値以上であった場合は、ステップＳ９００２で検索要求の伝送方式２による検索要求伝達処理を行う。
【００６５】
ステップＳ９００２は検索要求の伝送方式１による検索要求伝達処理であり、図７において詳述される。
【００６６】
ステップＳ９００３は検索要求の伝送方式２による検索要求伝達処理であり、図１４において詳述される。
【００６７】
図７は分散情報検索の分散検索経路を選択し配信を制御するサービスが行う伝送方式１による処理を示すフローチャートである。
【００６８】
ステップＳ１００２で、ステップＳ７０００で受信した検索要求を処理する対象となるホストを選択し、検索要求メッセージを伝達する経路を決定する。なお、検索要求伝達パス決定処理の詳細については図８において後述する。
【００６９】
次に、ステップＳ１００３で、ステップＳ７０００で受信した検索要求から＜ＱｕｅｒｙＩｎｆｏ＞要素を作成し、ステップＳ１００２で決定された検索要求伝達パスから＜ＱｕｅｒｙＰａｔｈ＞要素を作成する。さらに、ＮＩＣ１９の提供するＭＡＣアドレスと作成時時刻を取得して、＜ＱｕｅｒｙＩＤ＞要素のデータを生成し、＜ＴｒａｎｓｍｉｓｓｉｏｎＦａｉｌｕｒｅ＞要素を追加する。そして、＜ＲｅｔｕｒｎＡｄｄｒｅｓｓ＞要素に自ホストのホストアドレスをセットして、検索要求情報メッセージを作成する。
【００７０】
次にステップＳ１００４で、検索要求情報メッセージをステップＳ１００２で決定された検索要求伝達パスに従い、パスの先頭のホストに送信する。検索要求送信処理の詳細については、図９において後述する。
【００７１】
次にステップＳ１００５で、各ホストからの検索処理結果の応答を受信する。検索応答受信処理の詳細については、図１０において後述する。
【００７２】
次に、ステップＳ１００６で、ステップＳ１００４において受信した各ホストからの検索結果を統合して、ひとつにまとめる。各ホストから返信される検索結果に含まれる情報の所在情報であるＵＲＩで一意化し、重複したＵＲＩを検索結果に含まないようにまとめ、検索スコアの降順にソートするものとする。
【００７３】
次に、ステップＳ１００７で、ステップＳ１００６においてまとめられた検索結果をステップＳ７０００において受信した検索要求を発信したホストに送信し、分散情報検索の処理を終了する。
【００７４】
次に、ステップＳ１００２の検索要求伝達パス決定処理の詳細について、図８を用いて説明する。
【００７５】
図８は伝送方式１による検索要求伝達パス決定処理の詳細を示すフローチャートである。
【００７６】
ステップＳ２００１で、図３において詳述のホスト管理情報を検索し、ホストグループ３０３が同一であるホストグループに属するホスト情報を取得する。
【００７７】
次に、ステップＳ２００２で、ステップＳ２００１で取得したホスト情報を保持情報数３０４の多い順に並び替え、同一ホストグループ内での配信順を決定して、検索要求伝達パスに加える。
【００７８】
次に、ステップＳ２００４において、ホスト管理情報のすべてのホスト情報について処理を終えたかどうかをチェックし、すべての処理を終えたならば、処理を終了し、未処理のホスト情報があれば、ステップＳ２００１へループし、次のホストグループに対する配信決定を行う。
【００７９】
次に、ステップＳ２００５において、不図示の転送失敗ホスト情報格納メモリより、転送不能ホスト情報を読み出し、転送不能ホストとして格納されているホスト情報があれば、検索要求伝達パスから削除する。
【００８０】
図９は検索要求送信処理の詳細を示すフローチャートである。
【００８１】
ステップＳ３００１で、検索要求情報メッセージの＜ＱｕｅｒｙＰａｔｈ＞要素に示される先頭の＜Ｈｏｓｔ＞要素によって示されるホストに対して、当該分散情報検索要求情報メッセージを送信する。メッセージの送受信は広く行なわれているＴＣＰ／ＩＰプロトコルによって行なわれるものとする。
【００８２】
次に、ステップＳ３００２で、当該ホストへの送信が成功したかどうかチェックし、送信成功であればステップＳ３００５へ分岐し、送信失敗であったならば、ステップＳ３００３へ進む。送信が成功であったかどうかは、図１１において後述する分散検索要求メッセージ受信処理において、正常に受信できた場合に、送信ホストに対して送出されるＡＣＫＮＯＷＬＥＤＧＥメッセージを受信することで判定する。
【００８３】
ステップＳ３００２において送信失敗であった場合、ステップＳ３００３で、検索要求情報メッセージの＜ＴｒａｎｓｍｉｓｓｉｏｎＦａｉｌｕｒｅ＞要素に送信失敗したホスト情報を追加し、ステップＳ３００４において、分散検索要求情報メッセージの＜ＱｕｅｒｙＰａｔｈ＞要素の値から、送信失敗したホスト情報を削除する。
【００８４】
次に、ステップＳ３００５で、分散検索要求情報の＜ＱｕｅｒｙＩｎｆｏ＞要素に示される情報に従い、自ホストの情報検索処理を行う。自ホストの情報検索処理は広く実施されている公知の技術であり、詳細は省略する。
【００８５】
次に、ステップＳ３００６で、ステップＳ３００５の自ホストの検索処理結果を分散検索要求情報メッセージの＜ＲｅｔｕｒｎＡｄｄｒｅｓｓ＞要素に示されるホストアドレスに送信する。検索処理結果の送信もまた、ＴＣＰ／ＩＰプロトコルによってＴＣＰパケットに検索結果データを格納して送信するものとする。
【００８６】
図１０は検索応答受信処理の詳細を示すフローチャートである。
【００８７】
ステップＳ４００１で、各ホストからの検索結果応答を受信する受信スレッドを生成し、受信スレッドにおいて、送信されてくる検索結果を受信する。ステップＳ４００２で、図７のステップＳ１００３において作成した分散検索要求情報の＜ＱｕｅｒｙＩＤ＞要素にセットされた値を持つ分散検索要求情報メッセージを受信する。
【００８８】
ステップＳ４００２で分散検索要求情報メッセージを受信した後、ステップＳ４００３で、ステップＳ１００２で決定した検索ホストのうち、受信した検索要求情報メッセージの＜ＴｒａｎｓｍｉｓｓｉｏｎＦａｉｌｕｒｅ＞要素に格納されたホスト情報を除くホスト情報をステップＳ４００１の受信スレッドに引き渡す。
【００８９】
分散検索処理結果受信スレッドはステップＳ４００３で引き渡されたすべてのホストからの検索結果を受信するまで受信と待機を行い、すべてのホストからの検索結果を受信したならステップＳ４００４で、分散情報検索結果を検索応答受信メインプロセスに引き渡す。
【００９０】
検索応答受信メインプロセスは、分散情報検索結果を受信スレッドから受け取った後、受信スレッドを破棄する。
【００９１】
次に、ステップＳ４００６で、分散検索要求情報メッセージの＜ＴｒａｎｓｍｉｓｓｉｏｎＦａｉｌｕｒｅ＞要素に示される転送失敗ホスト情報を不図示の転送失敗ホスト情報格納メモリに格納する。
【００９２】
図１１は分散検索要求情報メッセージ受信処理の詳細を示すフローチャートである。
【００９３】
ステップＳ５００１で、他のホストからの分散検索要求情報メッセージを受信待機し、検索要求メッセージを受信する。
【００９４】
次に、ステップＳ５００２で、分散検索要求情報メッセージの＜ＱｕｅｒｙＰａｔｈ＞要素のホスト情報リストの先頭にある自ホストの情報を＜ＱｕｅｒｙＰａｔｈ＞要素から削除する。
【００９５】
次に、ステップＳ５００３で、検索要求情報メッセージの＜ＱｕｅｒｙＰａｔｈ＞要素の先頭にホストに検索要求情報メッセージを送信する。この検索要求送信処理の詳細は図９において詳述したものと同様である。
【００９６】
図１４は分散情報検索の分散検索経路を選択し配信するサービスが行う伝送方式２による処理を示すフローチャートである。
【００９７】
ステップＳ８００１において、図３に詳述のホスト管理情報に登録されているホスト情報をひとつ取得する。
【００９８】
次に、ステップＳ８００２で、ステップＳ７０００で受信した検索要求から＜ＱｕｅｒｙＩｎｆｏ＞要素を作成し、＜ＱｕｅｒｙＰａｔｈ＞要素を空要素とし、さらに、ＮＩＣ１９の提供するＭＡＣアドレスと作成時時刻を取得して、＜ＱｕｅｒｙＩＤ＞要素のデータを生成し、＜ＴｒａｎｓｍｉｓｓｉｏｎＦａｉｌｕｒｅ＞要素を追加する。そして、＜ＲｅｔｕｒｎＡｄｄｒｅｓｓ＞要素に自ホストのホストアドレスをセットして、分散検索要求情報メッセージを作成する。
【００９９】
次に、ステップＳ８００３で、ステップＳ８００２において作成した分散検索要求情報メッセージをステップＳ８００１において取得したホスト情報を送信先として送信する。
【０１００】
次に、ステップＳ８００４で、図３に詳述のホスト管理情報に登録されているすべてのホスト情報を処理したかどうかを判別し、未処理ホストがあるならばステップＳ８００１へループし、すべてのホストに検索要求情報メッセージを送信し終えたならステップＳ８００５へ分岐する。
【０１０１】
次に、ステップＳ８００５で、ステップＳ８００３において送信した各ホストからの検索処理結果の応答を受信する。検索応答受信処理の詳細については図１０において詳述される。
【０１０２】
次に、ステップＳ８００６で、ステップＳ８００５において受信した各ホストからの検索結果を統合して、ひとつにまとめる。各ホストから返信される検索結果に含まれる情報の所在情報であるＵＲＩで一意化し、重複したＵＲＩを検索結果に含まないようにまとめ、検索スコアの降順にソートするものとする。
【０１０３】
次に、ステップＳ８００７で、ステップＳ８００６においてまとめられた検索結果をステップＳ７０００において受信した検索要求を発信したホストに送信し、分散情報検索の処理を終了する。
【０１０４】
＜実施形態２＞
上記実施形態では、分散検索要求情報メッセージはタグによりマークアップされたテキスト形式で記述されたＸＭＬ文書であるとしたが、各々の構成要素を識別可能としたバイナリ形式の情報をトランスポート層のデータパケットに格納するように構成することもできる。
【０１０５】
上記実施形態では、検索サービスが分散検索経路選択サービスを検索するために問合せメッセージをブロードキャスト送信するように処理しているが、サービスロケーションを管理するサービスディレクトリを設け、各サービスをサービスディレクトリに登録し、ディレクトリからのサービスロケーション情報の取得を行うように構成することもできる。
【０１０６】
上記実施形態では、分散検索経路選択サービスにおける分散情報検索要求メッセージの伝送方式をネットワーク上のホスト情報登録数に応じて判定される形態としたが、ネットワークの回線速度やホストの計算処理能力や処理負荷など、ホスト情報登録数以外の要素によって判別されるように構成することもできる。
【０１０７】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成されることは言うまでもない。
【０１０８】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１０９】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１１０】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１２】
以上、本発明の分散情報検索方法及び装置、プログラム、コンピュータ可読メモリについて詳細に説明したが、本発明の主旨を逸脱しない範囲での変更や改良が行われえることは言うまでもない。
【産業上の利用可能性】
【０１１３】
本発明は、ネットワークに接続された複数のホストコンピュータに分散して格納されている情報を検索する分散情報検索方法及び装置、プログラム、コンピュータ可読メモリに関するものである。
【図面の簡単な説明】
【０１１４】
【図１】本発明の実施形態である分散情報検索装置の構成を示す図である。
【図２】本発明の実施形態の分散情報検索装置によるネットワークの構成を示す図である。
【図３】本発明の実施形態のホスト情報管理テーブルを示す図である。
【図４】本発明の実施形態の分散情報検索要求メッセージを示す図である。
【図５】本発明の実施形態の分散情報検索要求メッセージを示す図である。
【図６】本発明の実施形態の分散情報検索要求メッセージを示す図である。
【図７】本発明の実施形態で実行される第１の伝送方式による分散情報検索処理を示すフローチャートである。
【図８】本発明の実施形態で実行される第１の伝送方式による検索要求伝達パス決定処理を示すフローチャートである。
【図９】本発明の実施形態で実行される第１の伝送方式による検索要求送信処理を示すフローチャートである。
【図１０】本発明の実施形態で実行される検索応答受信処理を示すフローチャートである。
【図１１】本発明の実施形態で実行される第２の伝送方式による検索要求受信処理を示すフローチャートである。
【図１２】本発明の実施形態で実行される分散検索経路選択サービス起動処理を示すフローチャートである。
【図１３】本発明の実施形態で実行される分散検索要求伝送方式決定処理を示すフローチャートである。
【図１４】本発明の実施形態で実行される第２の伝送方式による検索要求受信処理を示すフローチャートである。
【図１５】本発明の実施形態で実行される分散検索要求伝送方式決定処理を示すフローチャートである。
【符号の説明】
【０１１５】
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  ＤＩＳＫ
１５  ＫＢ
１６  ＶＲＡＭ
１７  ＣＲＴＣ
１８  ＣＲＴ
１９  ＮＩＣ
【図１】
2006003976.tif 000003
【図２】
2006003976.tif 000004
【図３】
2006003976.tif 000005
【図４】
2006003976.tif 000006
【図５】
2006003976.tif 000007
【図６】
2006003976.tif 000008
【図７】
2006003976.tif 000009
【図８】
2006003976.tif 000010
【図９】
2006003976.tif 000011
【図１０】
2006003976.tif 000012
【図１１】
2006003976.tif 000013
【図１２】
2006003976.tif 000014
【図１３】
2006003976.tif 000015
【図１４】
2006003976.tif 000016
【図１５】
2006003976.tif 000017