情報検索方法及びその装置,プログラム、コンピュータ可読メモリ
【課題】 分散情報検索において、検索装置間の情報交換時に通信輻輳が発生しやすい問題を解決する。
【解決手段】 分散情報検索を中継する配信サービスを探索して(S6001)検出できなかった場合、自ホストから配信サービスを動的に起動し(S6003)、他のホストからの検索要求情報の中継を開始し、当該他のホストを管理情報に登録する(S6005)。
【解決手段】 分散情報検索を中継する配信サービスを探索して(S6001)検出できなかった場合、自ホストから配信サービスを動的に起動し(S6003)、他のホストからの検索要求情報の中継を開始し、当該他のホストを管理情報に登録する(S6005)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク上の複数の端末に分散して格納されている情報を検索する分散情報検索方法及びその装置、プログラム、コンピュータ可読メモリに関する。
【背景技術】
【0002】
ネットワークに接続された端末上に存在するデータを検索する検索装置として、いわゆるクライアントサーバモデルに基づく端末上で作動する検索サーバを設け、検索サーバに検索依頼を発行することでデータ検索を行う検索装置が一般的である。
【0003】
しかしながら、検索対象とすべき端末がネットワーク上に複数存在していた場合、クライアントは複数の検索サーバにその都度、検索要求を発行する必要があり、かつ、そのネットワーク上の呼び出しアドレスおよび呼び出し手順を把握していなければならない。
【0004】
一方、分散検索システムおよび分散検索システムにおける検索装置において、ネットワーク上で各端末が情報を転送しあうことで、分散情報検索を行い、分散ネットワークにおける情報転送処理において経由してきたホストコンピュータ経路情報を転送対象情報に埋め込むことにより重複した転送先ホストコンピュータの選択をしないように制御することが提案されている(例えば特許文献1参照)。
【特許文献1】特開平11−195048号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記従来の分散情報検索装置では、各端末間で自端末が保持する資源情報を交換しあうため、ネットワーク規模に応じて資源情報交換のための通信輻輳が発生しやすいという問題があった。この問題を解決するために、各端末の資源情報を集中管理する情報資源ディレクトリサーバを設けて、ディレクトリサーバによって問合せ先を決定する方式も既知技術として存在するが、集中管理方式の場合、サーバの設定、維持のための管理コストがユーザおよびシステム管理者にかかり、低コストで分散情報検索を行うことが困難であった。
【0006】
本発明は上記の問題点に鑑みてなされたものであり、ネットワークに分散した複数の端末による検索要求情報の配信サービスを行う分散検索中継装置が既に存在する場合は、既存サービスを利用可能とし、配信サービスが存在しない場合も、動的にサービスを起動することにより、検索処理を行うユーザおよびシステム管理者による煩雑な設定作業などを行う必要のない操作性のよい分散情報検索方法及びその装置、プログラム、コンピュータ可読メモリを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するための本発明による情報検索方法は以下の構成を備える。即ち、
ネットワーク上に複数存在する端末の中で検索要求を受け付けた端末が行う情報検索方法であって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索工程と、
前記探索工程によって前記検索中継を行える端末を検出できなかった場合に、自らの配信手段により検索中継を行う工程とを備える。
【0008】
上記の目的を達成するための本発明による情報検索装置は以下の構成を備える。即ち、
ネットワーク上に複数存在する情報検索装置である端末の中で検索要求を受け付けた端末であって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索手段と、
前記探索手段によって前記検索中継を行える端末が検出できなかった場合に、自らの配信手段により検索中継を行う手段とを備える。
【0009】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
ネットワーク上に複数存在する端末の中で検索要求を受け付けた端末で実行されるプログラムであって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索手順と、
前記探索手順によって前記検索中継を行える端末が検出できなかった場合に、自らの配信手段により検索中継を行う手順を備える。
【発明の効果】
【0010】
以上説明したように、本発明に依れば、ネットワークに分散した複数の端末による分散情報検索要求の配信を行う分散検索中継端末が存在しない場合も、動的に経路選択・配信サービスを起動することにより(待機状態などからの起動も含む)、検索処理を行うユーザおよびシステム管理者による煩雑な設定作業などを行う必要のない操作性のよい分散情報検索方法及び装置、プログラム、コンピュータ可読メモリを提供できる。
【発明を実施するための最良の形態】
【0011】
<実施形態1>
以下、図面を参照して本発明の好適な実施形態を詳細に説明する。
【0012】
図1は本発明の実施形態である分散情報検索装置の構成を示す図である。
【0013】
図1において、11はマイクロプロセッサ(CPU)であり、分散情報検索のための演算、論理判断等を行い、アドレスバスAB、コントロールバスCB、データバスDBを介して、それらのバスに接続された各構成要素を制御する。
【0014】
アドレスバスABはCPU11の制御の対象とする構成要素を指示するアドレス信号を転送する。コントロールバスCBはCPU11の制御の対象とする各構成要素のコントロール信号を転送して印加する。データバスDBは各構成機器相互間のデータ転送を行う。
【0015】
12は読出し専用の固定メモリ(ROM)であり、本実施形態で実行される処理プログラム等の制御プログラムコードを記憶する。
【0016】
13は書込み可能なランダムアクセスメモリ(RAM)であり、各構成要素からの各種データの一時記憶に用いられる。
【0017】
14は外部メモリ(DISK)であり、検索対象情報が格納される。また、これらのデータ及びプログラムを格納する記憶媒体としては、ROM、フロッピー(登録商標)ディスク、CD−ROM、DVD−ROM、メモリカード、光磁気ディスクなどを用いることができる。
【0018】
15はキーボード(KB)であり、アルファベットキー、ひらがなキー、カタカナキー、句点等の文字記号入力キー、検索を指示する検索キー及び、カーソル移動を指示するカーソル移動キー等のような各種の機能キーを備えている。
【0019】
16は表示用ビデオメモリ(VRAM)であり、表示すべきデータのパターンを蓄える。
【0020】
17はCRTコントローラ(CRTC)であり、表示用ビデオメモリVRAM16に蓄えられた内容を表示器CRT18に表示する役割を担う。
【0021】
18は陰極線管、液晶パネル等の表示装置(CRT)であり、その表示装置CRTにおけるドット構成の表示パターンおよびカーソルの表示をCRTコントローラ17で制御する。
【0022】
19はネットワークコントローラ(NIC)であり、Ethernet(登録商標)などのネットワークに接続し、図2において後述する複数のホスト計算機同士を接続する役割を担う。
【0023】
かかる各構成要素からなる分散情報検索装置においては、キーボードKB15からの各種の入力及びネットワークコントローラから供給されるネットワーク経由の各種入力に応じて作動するものであって、キーボードKB15からの入力及びネットワークコントローラ19からの入力が供給されると、まず、インタラプト信号がマイクロプロセッサCPU11に送られ、そのマイクロプロセッサCPU11が外部メモリDISK14内に記憶してある各種の制御信号を読出し、それらの制御信号に従って、各種の制御が行われる。
【0024】
また、本発明に係わるプログラムを格納した記憶媒体をシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが、記憶媒体に格納されたプログラムコードを読み出し実行することによっても本発明は達成される。
【0025】
次に、本実施形態の分散情報検索装置を複数接続したネットワークの構成について、図2を用いて説明する。
【0026】
図2は本発明の実施形態の分散情報検索装置を複数接続したネットワークの構成を示している。
【0027】
図2において、白小円および黒小円は共通のネットワークアドレスを持つサブネットを構成するネットワークノードとなる端末である。白小円はそれぞれ図1において詳述の構成を持つ分散情報検索装置であり、分散検索中継装置を探索して、検出した後にユーザの検索要求を分散検索中継装置に送信するとともに、分散検索中継装置から送信される検索要求情報に対して、検索処理を行い、検索処理結果を分散検索中継装置など指定された端末に返信する機能を有する検索サービスを保持している。また、黒小円はそれぞれ図1において詳述の構成を持つ分散検索中継装置であり、検索サービスを保持しネットワーク上に複数存在する分散情報検索装置の所在管理を行い、分散情報検索装置からの検索要求を、所在管理している分散情報検索装置に配信し、分散情報検索装置から返信される検索結果をまとめて、検索要求を発呼した分散情報検索装置に返信するなどの中継サービスを保持している。さらに黒小円で表される分散情報検索装置は、分散検索経路を選択し配信するなどの中継サービスを保持するとともに、検索サービスを保持することも可能である。
【0028】
図3は本発明の実施形態の分散情報検索装置において、検索要求情報を伝達する対象となる分散情報検索装置(以下では単にホストと呼称)の管理情報の構成例を示す図である。ホスト管理情報は図1におけるRAM13もしくはDISK14に格納されるものとする。
【0029】
図3において、301はホスト識別名であり、各ホストの名称をASCII文字列で格納する。ホスト識別名は公知のDNS(Domain Name System)によって、対応するホストアドレス(IPアドレス)を取得できる。
【0030】
302はホストアドレスであり、本発明の実施形態においては各ホストを一意化する32ビットのIPアドレスを格納する。
【0031】
303はホストグループであり、共通のネットワークアドレスを持つ同一のサブネットに属するホストをグループ化し、グループを識別する識別子を格納する。
【0032】
304は保持情報数で、各ホストが検索可能な情報の総数を示しており、図1のDISK14に格納されている。本発明の実施形態においては情報の数とは、検索対象とするファイルシステム上でのファイルの数とする。
【0033】
図3において図示されるホスト管理情報は、分散情報検索の実行される前に、各ホスト同士の自律的な接続確立処理により情報交換が行われることにより保持される情報である。または、ホストごとにシステム管理者により明示的に与えられる情報であるとする。
【0034】
305は当該ホストのネットワークへの接続回線種別であり、回線速度と回線種別の情報を格納する。
【0035】
図4は図2において図示される本発明の実施形態の分散情報検索ネットワークにおいて、各ホストに伝達される検索要求情報の構成例を示す図であり、図4においては、ホストアドレスとして”192.168.10.127”を持つホストが受信した検索要求情報をホストアドレス”192.168.10.125”を持つ”Host125”に送信するメッセージを示している。
【0036】
本発明の実施形態においては、検索要求情報はタグによりマークアップされたテキスト形式で記述され、図4において括弧< >で始まり、</ >で囲まれた部分が検索要求情報を構成する要素であるような整形式のXML文書とする。
【0037】
図4において<Query>は検索要求情報のルートとなる要素タグであり、ひとつの検索要求情報は高々ひとつの<Query>要素をもつものとする。
【0038】
<QueryID>は検索要求情報を一意化する識別情報を表す要素タグである。検索要求情報の識別情報は、検索要求情報を作成したホストに固有なMACアドレスと、当該ホストにおいて当該検索要求情報を作成した時刻の情報との組合せで生成される。
【0039】
<QueryPath>は当該検索要求情報を配信する対象となるホストを特定するとともに、当該検索要求情報を配信する順序を指定する要素タグであり、<Host>要素でホストアドレスを指定し、配信すべき順序に従い、先に配信されるホストほど上位に配置される。また、<QueryPath>要素の末尾の値は当該検索要求情報を作成したホスト自身のホストアドレスを格納するものとする。図4においては、ホストアドレス”192.168.10.127”のホストから1番目にホストアドレス”192.168.10.125”のホストにメッセージを配信し、2番目にホストアドレス”192.168.10.15”のホストに伝達され、最後に自ホスト”192.168.10.127”に伝達される。
【0040】
<QueryPath>が空要素の場合は、伝送対象を特定しないことを意味し、当該検索要求情報は他ホストへの配信は行われない。
【0041】
<TransmissionFailure>は当該検索要求情報を配信して伝達していく過程で、送信エラーなどにより、目的のホストにメッセージを送信できなかった場合に、送信できなかったホストの情報をホストアドレスで格納する送達不能情報を格納する要素タグである。図4においては、送達不能ホストはまだないため、空となっている。
【0042】
<QueryInfo>は検索要求情報の検索要求を記述する要素タグであり、<Keyword>、<BooleanCondition>、<MediaType>を要素として持つ。
【0043】
<Keyword>は検索要求情報の検索要求キーワードを指定する。<Keyword>要素は複数併記することが可能である。図4では、”Computer”と”Virus”の2つのキーワードが指定されている。<BooleanCondition>は<Keyword>要素によって指定されたキーワードの検索条件を指定し、キーワード間の論理積を指定する”AND”とキーワード論理和を指定する”OR”を指定することができるものとする。<MediaType>は検索したい情報のメディア種別を指定し、テキストファイルを指定する”Text”、ビットマップ画像、圧縮画像など画像ファイルを指定する”Image”、動画ファイルを指定する”Movie”、メディア種別を指定しない”None”を指定することができるものとする。
【0044】
<ReturnAddress>は検索要求情報に対する情報検索の結果を返信する宛先ホスト情報を指定する。図4においては、検索要求発信元であるホスト”192.168.10.127”が返信先として指定され、各ホストでの情報検索の結果は”192.168.10.127”に送信される。
【0045】
図5は図4において図示される本発明の実施形態の検索要求情報メッセージが、ホストアドレス”192.168.10.125”を持つ”Host125”によって受信され、分散情報検索要求をホストアドレス”192.168.10.15”を持つ”Host15”に送信するメッセージを示している。
【0046】
図5において、Host125は<QueryPath>情報から、自ホストに関する<Host>192.168.10.125</Host>を削除し、送信するホストである<Host>192.168.10.15</Host>が先頭に来るように検索要求情報メッセージを更新して次のホストに送信する。
【0047】
図6は図4において図示される本発明の実施形態の検索要求情報が、図5で示される<QueryPath>中の501のHostまで検索が終了した後に、ホストアドレス”192.168.20.127”を持つ”SV001”によって受信され、検索要求情報をホストアドレス”192.168.20.40”を持つ”CL003”に送信しようとしたが、送信エラーを検知し、ホスト”CL003”に送信できなかった場合に、次のホスト”CL001”に送信する際の検索要求情報を示している。
【0048】
図6において、ホスト”SV001”は<QueryPath>情報から、自ホストに関する<Host>192.168.20.127</Host>を削除し、また、送信できなかった次ホストである<Host>192.168.20.40</Host>を削除し、さらに次のホスト情報である<Host>192.168.20.20</Host>が先頭に来るように検索要求情報メッセージを更新する(図5で示される<QueryPath>中の502の部分が残る)とともに、送信できなかったホスト情報<Host>192.168.20.40</Host>を<TransmissionFailure>要素の値としてセットして次のホストに送信する。
【0049】
次に、本実施形態で実行される分散情報検索処理について、図7から図15のフローチャートを用いて説明する。
【0050】
図12は本発明の実施形態で実行される検索要求情報配信サービス起動処理を示すフローチャートである。
【0051】
ユーザ等が検索を要求すると、ネットワーク上の分散情報検索装置の検索サービスが起動し、ステップS6001において、検索要求情報配信サービスを有し分散検索中継を行える装置の探索を行う。分散検索中継装置の探索のために、検索サービスはネットワーク上の全ホストに対して問合せメッセージをブロードキャスト送信する。分散検索中継装置が問合せメッセージを受信すると、応答メッセージを発呼元の検索サービスを保持するホストに対して送信する。
【0052】
次に、ステップS6002で、ステップS6001においてブロードキャスト送信した問合せメッセージに対する分散検索中継装置からの応答メッセージが受信できたかどうかを判別する。所定の時間内に応答メッセージを受信できなかった場合は、分散検索中継装置が存在しないものと判定し、ステップS6003へ分岐し、分散検索中継装置からの応答メッセージを受信できた場合はステップS6004へ分岐する。
【0053】
ステップS6003では、ステップS6002において分散検索中継装置が存在していない場合に、当該検索サービスを保持する自ホストにおいて分散検索要求情報配信サービスを起動させ、他のホストに対して検索中継サービスを開始する。
【0054】
次に、ステップS6004で、当該検索サービスにおける検索要求の送信先として、ステップS6002で応答メッセージを返信した検索要求情報の配信サービスを保持するホスト、または、ステップS6003で起動した分散検索要求情報の配信サービスを保持する自ホストを検索サービスが保持する不図示の記憶領域に記憶する。
【0055】
次にステップS6005で、分散検索中継装置が保持する図3に詳述のホスト管理情報に、検索サービスを保持する自ホストを登録する。また、ステップS6003で分散検索要求情報配信サービスを開始後、ネットワーク上の他のホストからの問合せメッセージを受信した場合は、問合せメッセージに対して応答メッセージを送信するとともに、当該問合せメッセージを送信したホスト情報をホスト管理情報に登録する。
【0056】
以後、分散情報検索システムの処理について記述する。
【0057】
図13は分散情報検索の分散検索経路を選択し配信を制御するサービスが行う処理を示すフローチャートである。
【0058】
ステップS7000で、検索要求情報の受信処理を行う。検索要求情報受信は図2におけるユーザから指定された検索キーワード、検索条件などの検索要求を所定の通信プロトコルに従って行われる同種の検索装置で広く行われている公知の技術である。
【0059】
ステップS7001で、図3において詳述のホスト管理情報に記憶されているホスト数が所定値(例えば128)未満であるか否かを判別し、所定値未満である場合はステップS7002で検索要求の伝送方式1による検索要求伝達処理を行い、所定値以上であった場合は、ステップS7003で検索要求の伝送方式2による検索要求伝達処理を行う。この条件分岐は、ホスト数の他、検索中継装置の配信の負荷などを判別してもよい。
【0060】
ステップS7002は検索要求の伝送方式1による検索要求配信伝達処理であり、図7において詳述される。
【0061】
ステップS7003は検索要求の伝送方式2による検索要求配信伝達処理であり、図14において詳述される。
【0062】
図15は別の実施形態において実行される分散情報検索の分散検索経路を選択し配信を制御するサービスが行う処理を示すフローチャートである。
【0063】
ステップS9000で、検索要求の受信処理を行う。分散情報検索要求受信は図2におけるユーザから指定された検索キーワード、検索条件などの検索要求を所定の通信プロトコルに従って行われる同種の検索装置で広く行われている公知の技術である。
【0064】
ステップS9001で、図3において詳述のホスト管理情報に記憶されている接続回線速度種別305が所定値(例えば100Mbps)未満であるか否かを判別し、所定値未満である場合はステップS9003で検索要求の伝送方式1による検索要求伝達処理を行い、所定値以上であった場合は、ステップS9002で検索要求の伝送方式2による検索要求伝達処理を行う。
【0065】
ステップS9002は検索要求の伝送方式1による検索要求伝達処理であり、図7において詳述される。
【0066】
ステップS9003は検索要求の伝送方式2による検索要求伝達処理であり、図14において詳述される。
【0067】
図7は分散情報検索の分散検索経路を選択し配信を制御するサービスが行う伝送方式1による処理を示すフローチャートである。
【0068】
ステップS1002で、ステップS7000で受信した検索要求を処理する対象となるホストを選択し、検索要求メッセージを伝達する経路を決定する。なお、検索要求伝達パス決定処理の詳細については図8において後述する。
【0069】
次に、ステップS1003で、ステップS7000で受信した検索要求から<QueryInfo>要素を作成し、ステップS1002で決定された検索要求伝達パスから<QueryPath>要素を作成する。さらに、NIC19の提供するMACアドレスと作成時時刻を取得して、<QueryID>要素のデータを生成し、<TransmissionFailure>要素を追加する。そして、<ReturnAddress>要素に自ホストのホストアドレスをセットして、検索要求情報メッセージを作成する。
【0070】
次にステップS1004で、検索要求情報メッセージをステップS1002で決定された検索要求伝達パスに従い、パスの先頭のホストに送信する。検索要求送信処理の詳細については、図9において後述する。
【0071】
次にステップS1005で、各ホストからの検索処理結果の応答を受信する。検索応答受信処理の詳細については、図10において後述する。
【0072】
次に、ステップS1006で、ステップS1004において受信した各ホストからの検索結果を統合して、ひとつにまとめる。各ホストから返信される検索結果に含まれる情報の所在情報であるURIで一意化し、重複したURIを検索結果に含まないようにまとめ、検索スコアの降順にソートするものとする。
【0073】
次に、ステップS1007で、ステップS1006においてまとめられた検索結果をステップS7000において受信した検索要求を発信したホストに送信し、分散情報検索の処理を終了する。
【0074】
次に、ステップS1002の検索要求伝達パス決定処理の詳細について、図8を用いて説明する。
【0075】
図8は伝送方式1による検索要求伝達パス決定処理の詳細を示すフローチャートである。
【0076】
ステップS2001で、図3において詳述のホスト管理情報を検索し、ホストグループ303が同一であるホストグループに属するホスト情報を取得する。
【0077】
次に、ステップS2002で、ステップS2001で取得したホスト情報を保持情報数304の多い順に並び替え、同一ホストグループ内での配信順を決定して、検索要求伝達パスに加える。
【0078】
次に、ステップS2004において、ホスト管理情報のすべてのホスト情報について処理を終えたかどうかをチェックし、すべての処理を終えたならば、処理を終了し、未処理のホスト情報があれば、ステップS2001へループし、次のホストグループに対する配信決定を行う。
【0079】
次に、ステップS2005において、不図示の転送失敗ホスト情報格納メモリより、転送不能ホスト情報を読み出し、転送不能ホストとして格納されているホスト情報があれば、検索要求伝達パスから削除する。
【0080】
図9は検索要求送信処理の詳細を示すフローチャートである。
【0081】
ステップS3001で、検索要求情報メッセージの<QueryPath>要素に示される先頭の<Host>要素によって示されるホストに対して、当該分散情報検索要求情報メッセージを送信する。メッセージの送受信は広く行なわれているTCP/IPプロトコルによって行なわれるものとする。
【0082】
次に、ステップS3002で、当該ホストへの送信が成功したかどうかチェックし、送信成功であればステップS3005へ分岐し、送信失敗であったならば、ステップS3003へ進む。送信が成功であったかどうかは、図11において後述する分散検索要求メッセージ受信処理において、正常に受信できた場合に、送信ホストに対して送出されるACKNOWLEDGEメッセージを受信することで判定する。
【0083】
ステップS3002において送信失敗であった場合、ステップS3003で、検索要求情報メッセージの<TransmissionFailure>要素に送信失敗したホスト情報を追加し、ステップS3004において、分散検索要求情報メッセージの<QueryPath>要素の値から、送信失敗したホスト情報を削除する。
【0084】
次に、ステップS3005で、分散検索要求情報の<QueryInfo>要素に示される情報に従い、自ホストの情報検索処理を行う。自ホストの情報検索処理は広く実施されている公知の技術であり、詳細は省略する。
【0085】
次に、ステップS3006で、ステップS3005の自ホストの検索処理結果を分散検索要求情報メッセージの<ReturnAddress>要素に示されるホストアドレスに送信する。検索処理結果の送信もまた、TCP/IPプロトコルによってTCPパケットに検索結果データを格納して送信するものとする。
【0086】
図10は検索応答受信処理の詳細を示すフローチャートである。
【0087】
ステップS4001で、各ホストからの検索結果応答を受信する受信スレッドを生成し、受信スレッドにおいて、送信されてくる検索結果を受信する。ステップS4002で、図7のステップS1003において作成した分散検索要求情報の<QueryID>要素にセットされた値を持つ分散検索要求情報メッセージを受信する。
【0088】
ステップS4002で分散検索要求情報メッセージを受信した後、ステップS4003で、ステップS1002で決定した検索ホストのうち、受信した検索要求情報メッセージの<TransmissionFailure>要素に格納されたホスト情報を除くホスト情報をステップS4001の受信スレッドに引き渡す。
【0089】
分散検索処理結果受信スレッドはステップS4003で引き渡されたすべてのホストからの検索結果を受信するまで受信と待機を行い、すべてのホストからの検索結果を受信したならステップS4004で、分散情報検索結果を検索応答受信メインプロセスに引き渡す。
【0090】
検索応答受信メインプロセスは、分散情報検索結果を受信スレッドから受け取った後、受信スレッドを破棄する。
【0091】
次に、ステップS4006で、分散検索要求情報メッセージの<TransmissionFailure>要素に示される転送失敗ホスト情報を不図示の転送失敗ホスト情報格納メモリに格納する。
【0092】
図11は分散検索要求情報メッセージ受信処理の詳細を示すフローチャートである。
【0093】
ステップS5001で、他のホストからの分散検索要求情報メッセージを受信待機し、検索要求メッセージを受信する。
【0094】
次に、ステップS5002で、分散検索要求情報メッセージの<QueryPath>要素のホスト情報リストの先頭にある自ホストの情報を<QueryPath>要素から削除する。
【0095】
次に、ステップS5003で、検索要求情報メッセージの<QueryPath>要素の先頭にホストに検索要求情報メッセージを送信する。この検索要求送信処理の詳細は図9において詳述したものと同様である。
【0096】
図14は分散情報検索の分散検索経路を選択し配信するサービスが行う伝送方式2による処理を示すフローチャートである。
【0097】
ステップS8001において、図3に詳述のホスト管理情報に登録されているホスト情報をひとつ取得する。
【0098】
次に、ステップS8002で、ステップS7000で受信した検索要求から<QueryInfo>要素を作成し、<QueryPath>要素を空要素とし、さらに、NIC19の提供するMACアドレスと作成時時刻を取得して、<QueryID>要素のデータを生成し、<TransmissionFailure>要素を追加する。そして、<ReturnAddress>要素に自ホストのホストアドレスをセットして、分散検索要求情報メッセージを作成する。
【0099】
次に、ステップS8003で、ステップS8002において作成した分散検索要求情報メッセージをステップS8001において取得したホスト情報を送信先として送信する。
【0100】
次に、ステップS8004で、図3に詳述のホスト管理情報に登録されているすべてのホスト情報を処理したかどうかを判別し、未処理ホストがあるならばステップS8001へループし、すべてのホストに検索要求情報メッセージを送信し終えたならステップS8005へ分岐する。
【0101】
次に、ステップS8005で、ステップS8003において送信した各ホストからの検索処理結果の応答を受信する。検索応答受信処理の詳細については図10において詳述される。
【0102】
次に、ステップS8006で、ステップS8005において受信した各ホストからの検索結果を統合して、ひとつにまとめる。各ホストから返信される検索結果に含まれる情報の所在情報であるURIで一意化し、重複したURIを検索結果に含まないようにまとめ、検索スコアの降順にソートするものとする。
【0103】
次に、ステップS8007で、ステップS8006においてまとめられた検索結果をステップS7000において受信した検索要求を発信したホストに送信し、分散情報検索の処理を終了する。
【0104】
<実施形態2>
上記実施形態では、分散検索要求情報メッセージはタグによりマークアップされたテキスト形式で記述されたXML文書であるとしたが、各々の構成要素を識別可能としたバイナリ形式の情報をトランスポート層のデータパケットに格納するように構成することもできる。
【0105】
上記実施形態では、検索サービスが分散検索経路選択サービスを検索するために問合せメッセージをブロードキャスト送信するように処理しているが、サービスロケーションを管理するサービスディレクトリを設け、各サービスをサービスディレクトリに登録し、ディレクトリからのサービスロケーション情報の取得を行うように構成することもできる。
【0106】
上記実施形態では、分散検索経路選択サービスにおける分散情報検索要求メッセージの伝送方式をネットワーク上のホスト情報登録数に応じて判定される形態としたが、ネットワークの回線速度やホストの計算処理能力や処理負荷など、ホスト情報登録数以外の要素によって判別されるように構成することもできる。
【0107】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成されることは言うまでもない。
【0108】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0109】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0110】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0111】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0112】
以上、本発明の分散情報検索方法及び装置、プログラム、コンピュータ可読メモリについて詳細に説明したが、本発明の主旨を逸脱しない範囲での変更や改良が行われえることは言うまでもない。
【産業上の利用可能性】
【0113】
本発明は、ネットワークに接続された複数のホストコンピュータに分散して格納されている情報を検索する分散情報検索方法及び装置、プログラム、コンピュータ可読メモリに関するものである。
【図面の簡単な説明】
【0114】
【図1】本発明の実施形態である分散情報検索装置の構成を示す図である。
【図2】本発明の実施形態の分散情報検索装置によるネットワークの構成を示す図である。
【図3】本発明の実施形態のホスト情報管理テーブルを示す図である。
【図4】本発明の実施形態の分散情報検索要求メッセージを示す図である。
【図5】本発明の実施形態の分散情報検索要求メッセージを示す図である。
【図6】本発明の実施形態の分散情報検索要求メッセージを示す図である。
【図7】本発明の実施形態で実行される第1の伝送方式による分散情報検索処理を示すフローチャートである。
【図8】本発明の実施形態で実行される第1の伝送方式による検索要求伝達パス決定処理を示すフローチャートである。
【図9】本発明の実施形態で実行される第1の伝送方式による検索要求送信処理を示すフローチャートである。
【図10】本発明の実施形態で実行される検索応答受信処理を示すフローチャートである。
【図11】本発明の実施形態で実行される第2の伝送方式による検索要求受信処理を示すフローチャートである。
【図12】本発明の実施形態で実行される分散検索経路選択サービス起動処理を示すフローチャートである。
【図13】本発明の実施形態で実行される分散検索要求伝送方式決定処理を示すフローチャートである。
【図14】本発明の実施形態で実行される第2の伝送方式による検索要求受信処理を示すフローチャートである。
【図15】本発明の実施形態で実行される分散検索要求伝送方式決定処理を示すフローチャートである。
【符号の説明】
【0115】
11 CPU
12 ROM
13 RAM
14 DISK
15 KB
16 VRAM
17 CRTC
18 CRT
19 NIC
【技術分野】
【0001】
本発明は、ネットワーク上の複数の端末に分散して格納されている情報を検索する分散情報検索方法及びその装置、プログラム、コンピュータ可読メモリに関する。
【背景技術】
【0002】
ネットワークに接続された端末上に存在するデータを検索する検索装置として、いわゆるクライアントサーバモデルに基づく端末上で作動する検索サーバを設け、検索サーバに検索依頼を発行することでデータ検索を行う検索装置が一般的である。
【0003】
しかしながら、検索対象とすべき端末がネットワーク上に複数存在していた場合、クライアントは複数の検索サーバにその都度、検索要求を発行する必要があり、かつ、そのネットワーク上の呼び出しアドレスおよび呼び出し手順を把握していなければならない。
【0004】
一方、分散検索システムおよび分散検索システムにおける検索装置において、ネットワーク上で各端末が情報を転送しあうことで、分散情報検索を行い、分散ネットワークにおける情報転送処理において経由してきたホストコンピュータ経路情報を転送対象情報に埋め込むことにより重複した転送先ホストコンピュータの選択をしないように制御することが提案されている(例えば特許文献1参照)。
【特許文献1】特開平11−195048号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記従来の分散情報検索装置では、各端末間で自端末が保持する資源情報を交換しあうため、ネットワーク規模に応じて資源情報交換のための通信輻輳が発生しやすいという問題があった。この問題を解決するために、各端末の資源情報を集中管理する情報資源ディレクトリサーバを設けて、ディレクトリサーバによって問合せ先を決定する方式も既知技術として存在するが、集中管理方式の場合、サーバの設定、維持のための管理コストがユーザおよびシステム管理者にかかり、低コストで分散情報検索を行うことが困難であった。
【0006】
本発明は上記の問題点に鑑みてなされたものであり、ネットワークに分散した複数の端末による検索要求情報の配信サービスを行う分散検索中継装置が既に存在する場合は、既存サービスを利用可能とし、配信サービスが存在しない場合も、動的にサービスを起動することにより、検索処理を行うユーザおよびシステム管理者による煩雑な設定作業などを行う必要のない操作性のよい分散情報検索方法及びその装置、プログラム、コンピュータ可読メモリを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するための本発明による情報検索方法は以下の構成を備える。即ち、
ネットワーク上に複数存在する端末の中で検索要求を受け付けた端末が行う情報検索方法であって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索工程と、
前記探索工程によって前記検索中継を行える端末を検出できなかった場合に、自らの配信手段により検索中継を行う工程とを備える。
【0008】
上記の目的を達成するための本発明による情報検索装置は以下の構成を備える。即ち、
ネットワーク上に複数存在する情報検索装置である端末の中で検索要求を受け付けた端末であって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索手段と、
前記探索手段によって前記検索中継を行える端末が検出できなかった場合に、自らの配信手段により検索中継を行う手段とを備える。
【0009】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
ネットワーク上に複数存在する端末の中で検索要求を受け付けた端末で実行されるプログラムであって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索手順と、
前記探索手順によって前記検索中継を行える端末が検出できなかった場合に、自らの配信手段により検索中継を行う手順を備える。
【発明の効果】
【0010】
以上説明したように、本発明に依れば、ネットワークに分散した複数の端末による分散情報検索要求の配信を行う分散検索中継端末が存在しない場合も、動的に経路選択・配信サービスを起動することにより(待機状態などからの起動も含む)、検索処理を行うユーザおよびシステム管理者による煩雑な設定作業などを行う必要のない操作性のよい分散情報検索方法及び装置、プログラム、コンピュータ可読メモリを提供できる。
【発明を実施するための最良の形態】
【0011】
<実施形態1>
以下、図面を参照して本発明の好適な実施形態を詳細に説明する。
【0012】
図1は本発明の実施形態である分散情報検索装置の構成を示す図である。
【0013】
図1において、11はマイクロプロセッサ(CPU)であり、分散情報検索のための演算、論理判断等を行い、アドレスバスAB、コントロールバスCB、データバスDBを介して、それらのバスに接続された各構成要素を制御する。
【0014】
アドレスバスABはCPU11の制御の対象とする構成要素を指示するアドレス信号を転送する。コントロールバスCBはCPU11の制御の対象とする各構成要素のコントロール信号を転送して印加する。データバスDBは各構成機器相互間のデータ転送を行う。
【0015】
12は読出し専用の固定メモリ(ROM)であり、本実施形態で実行される処理プログラム等の制御プログラムコードを記憶する。
【0016】
13は書込み可能なランダムアクセスメモリ(RAM)であり、各構成要素からの各種データの一時記憶に用いられる。
【0017】
14は外部メモリ(DISK)であり、検索対象情報が格納される。また、これらのデータ及びプログラムを格納する記憶媒体としては、ROM、フロッピー(登録商標)ディスク、CD−ROM、DVD−ROM、メモリカード、光磁気ディスクなどを用いることができる。
【0018】
15はキーボード(KB)であり、アルファベットキー、ひらがなキー、カタカナキー、句点等の文字記号入力キー、検索を指示する検索キー及び、カーソル移動を指示するカーソル移動キー等のような各種の機能キーを備えている。
【0019】
16は表示用ビデオメモリ(VRAM)であり、表示すべきデータのパターンを蓄える。
【0020】
17はCRTコントローラ(CRTC)であり、表示用ビデオメモリVRAM16に蓄えられた内容を表示器CRT18に表示する役割を担う。
【0021】
18は陰極線管、液晶パネル等の表示装置(CRT)であり、その表示装置CRTにおけるドット構成の表示パターンおよびカーソルの表示をCRTコントローラ17で制御する。
【0022】
19はネットワークコントローラ(NIC)であり、Ethernet(登録商標)などのネットワークに接続し、図2において後述する複数のホスト計算機同士を接続する役割を担う。
【0023】
かかる各構成要素からなる分散情報検索装置においては、キーボードKB15からの各種の入力及びネットワークコントローラから供給されるネットワーク経由の各種入力に応じて作動するものであって、キーボードKB15からの入力及びネットワークコントローラ19からの入力が供給されると、まず、インタラプト信号がマイクロプロセッサCPU11に送られ、そのマイクロプロセッサCPU11が外部メモリDISK14内に記憶してある各種の制御信号を読出し、それらの制御信号に従って、各種の制御が行われる。
【0024】
また、本発明に係わるプログラムを格納した記憶媒体をシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが、記憶媒体に格納されたプログラムコードを読み出し実行することによっても本発明は達成される。
【0025】
次に、本実施形態の分散情報検索装置を複数接続したネットワークの構成について、図2を用いて説明する。
【0026】
図2は本発明の実施形態の分散情報検索装置を複数接続したネットワークの構成を示している。
【0027】
図2において、白小円および黒小円は共通のネットワークアドレスを持つサブネットを構成するネットワークノードとなる端末である。白小円はそれぞれ図1において詳述の構成を持つ分散情報検索装置であり、分散検索中継装置を探索して、検出した後にユーザの検索要求を分散検索中継装置に送信するとともに、分散検索中継装置から送信される検索要求情報に対して、検索処理を行い、検索処理結果を分散検索中継装置など指定された端末に返信する機能を有する検索サービスを保持している。また、黒小円はそれぞれ図1において詳述の構成を持つ分散検索中継装置であり、検索サービスを保持しネットワーク上に複数存在する分散情報検索装置の所在管理を行い、分散情報検索装置からの検索要求を、所在管理している分散情報検索装置に配信し、分散情報検索装置から返信される検索結果をまとめて、検索要求を発呼した分散情報検索装置に返信するなどの中継サービスを保持している。さらに黒小円で表される分散情報検索装置は、分散検索経路を選択し配信するなどの中継サービスを保持するとともに、検索サービスを保持することも可能である。
【0028】
図3は本発明の実施形態の分散情報検索装置において、検索要求情報を伝達する対象となる分散情報検索装置(以下では単にホストと呼称)の管理情報の構成例を示す図である。ホスト管理情報は図1におけるRAM13もしくはDISK14に格納されるものとする。
【0029】
図3において、301はホスト識別名であり、各ホストの名称をASCII文字列で格納する。ホスト識別名は公知のDNS(Domain Name System)によって、対応するホストアドレス(IPアドレス)を取得できる。
【0030】
302はホストアドレスであり、本発明の実施形態においては各ホストを一意化する32ビットのIPアドレスを格納する。
【0031】
303はホストグループであり、共通のネットワークアドレスを持つ同一のサブネットに属するホストをグループ化し、グループを識別する識別子を格納する。
【0032】
304は保持情報数で、各ホストが検索可能な情報の総数を示しており、図1のDISK14に格納されている。本発明の実施形態においては情報の数とは、検索対象とするファイルシステム上でのファイルの数とする。
【0033】
図3において図示されるホスト管理情報は、分散情報検索の実行される前に、各ホスト同士の自律的な接続確立処理により情報交換が行われることにより保持される情報である。または、ホストごとにシステム管理者により明示的に与えられる情報であるとする。
【0034】
305は当該ホストのネットワークへの接続回線種別であり、回線速度と回線種別の情報を格納する。
【0035】
図4は図2において図示される本発明の実施形態の分散情報検索ネットワークにおいて、各ホストに伝達される検索要求情報の構成例を示す図であり、図4においては、ホストアドレスとして”192.168.10.127”を持つホストが受信した検索要求情報をホストアドレス”192.168.10.125”を持つ”Host125”に送信するメッセージを示している。
【0036】
本発明の実施形態においては、検索要求情報はタグによりマークアップされたテキスト形式で記述され、図4において括弧< >で始まり、</ >で囲まれた部分が検索要求情報を構成する要素であるような整形式のXML文書とする。
【0037】
図4において<Query>は検索要求情報のルートとなる要素タグであり、ひとつの検索要求情報は高々ひとつの<Query>要素をもつものとする。
【0038】
<QueryID>は検索要求情報を一意化する識別情報を表す要素タグである。検索要求情報の識別情報は、検索要求情報を作成したホストに固有なMACアドレスと、当該ホストにおいて当該検索要求情報を作成した時刻の情報との組合せで生成される。
【0039】
<QueryPath>は当該検索要求情報を配信する対象となるホストを特定するとともに、当該検索要求情報を配信する順序を指定する要素タグであり、<Host>要素でホストアドレスを指定し、配信すべき順序に従い、先に配信されるホストほど上位に配置される。また、<QueryPath>要素の末尾の値は当該検索要求情報を作成したホスト自身のホストアドレスを格納するものとする。図4においては、ホストアドレス”192.168.10.127”のホストから1番目にホストアドレス”192.168.10.125”のホストにメッセージを配信し、2番目にホストアドレス”192.168.10.15”のホストに伝達され、最後に自ホスト”192.168.10.127”に伝達される。
【0040】
<QueryPath>が空要素の場合は、伝送対象を特定しないことを意味し、当該検索要求情報は他ホストへの配信は行われない。
【0041】
<TransmissionFailure>は当該検索要求情報を配信して伝達していく過程で、送信エラーなどにより、目的のホストにメッセージを送信できなかった場合に、送信できなかったホストの情報をホストアドレスで格納する送達不能情報を格納する要素タグである。図4においては、送達不能ホストはまだないため、空となっている。
【0042】
<QueryInfo>は検索要求情報の検索要求を記述する要素タグであり、<Keyword>、<BooleanCondition>、<MediaType>を要素として持つ。
【0043】
<Keyword>は検索要求情報の検索要求キーワードを指定する。<Keyword>要素は複数併記することが可能である。図4では、”Computer”と”Virus”の2つのキーワードが指定されている。<BooleanCondition>は<Keyword>要素によって指定されたキーワードの検索条件を指定し、キーワード間の論理積を指定する”AND”とキーワード論理和を指定する”OR”を指定することができるものとする。<MediaType>は検索したい情報のメディア種別を指定し、テキストファイルを指定する”Text”、ビットマップ画像、圧縮画像など画像ファイルを指定する”Image”、動画ファイルを指定する”Movie”、メディア種別を指定しない”None”を指定することができるものとする。
【0044】
<ReturnAddress>は検索要求情報に対する情報検索の結果を返信する宛先ホスト情報を指定する。図4においては、検索要求発信元であるホスト”192.168.10.127”が返信先として指定され、各ホストでの情報検索の結果は”192.168.10.127”に送信される。
【0045】
図5は図4において図示される本発明の実施形態の検索要求情報メッセージが、ホストアドレス”192.168.10.125”を持つ”Host125”によって受信され、分散情報検索要求をホストアドレス”192.168.10.15”を持つ”Host15”に送信するメッセージを示している。
【0046】
図5において、Host125は<QueryPath>情報から、自ホストに関する<Host>192.168.10.125</Host>を削除し、送信するホストである<Host>192.168.10.15</Host>が先頭に来るように検索要求情報メッセージを更新して次のホストに送信する。
【0047】
図6は図4において図示される本発明の実施形態の検索要求情報が、図5で示される<QueryPath>中の501のHostまで検索が終了した後に、ホストアドレス”192.168.20.127”を持つ”SV001”によって受信され、検索要求情報をホストアドレス”192.168.20.40”を持つ”CL003”に送信しようとしたが、送信エラーを検知し、ホスト”CL003”に送信できなかった場合に、次のホスト”CL001”に送信する際の検索要求情報を示している。
【0048】
図6において、ホスト”SV001”は<QueryPath>情報から、自ホストに関する<Host>192.168.20.127</Host>を削除し、また、送信できなかった次ホストである<Host>192.168.20.40</Host>を削除し、さらに次のホスト情報である<Host>192.168.20.20</Host>が先頭に来るように検索要求情報メッセージを更新する(図5で示される<QueryPath>中の502の部分が残る)とともに、送信できなかったホスト情報<Host>192.168.20.40</Host>を<TransmissionFailure>要素の値としてセットして次のホストに送信する。
【0049】
次に、本実施形態で実行される分散情報検索処理について、図7から図15のフローチャートを用いて説明する。
【0050】
図12は本発明の実施形態で実行される検索要求情報配信サービス起動処理を示すフローチャートである。
【0051】
ユーザ等が検索を要求すると、ネットワーク上の分散情報検索装置の検索サービスが起動し、ステップS6001において、検索要求情報配信サービスを有し分散検索中継を行える装置の探索を行う。分散検索中継装置の探索のために、検索サービスはネットワーク上の全ホストに対して問合せメッセージをブロードキャスト送信する。分散検索中継装置が問合せメッセージを受信すると、応答メッセージを発呼元の検索サービスを保持するホストに対して送信する。
【0052】
次に、ステップS6002で、ステップS6001においてブロードキャスト送信した問合せメッセージに対する分散検索中継装置からの応答メッセージが受信できたかどうかを判別する。所定の時間内に応答メッセージを受信できなかった場合は、分散検索中継装置が存在しないものと判定し、ステップS6003へ分岐し、分散検索中継装置からの応答メッセージを受信できた場合はステップS6004へ分岐する。
【0053】
ステップS6003では、ステップS6002において分散検索中継装置が存在していない場合に、当該検索サービスを保持する自ホストにおいて分散検索要求情報配信サービスを起動させ、他のホストに対して検索中継サービスを開始する。
【0054】
次に、ステップS6004で、当該検索サービスにおける検索要求の送信先として、ステップS6002で応答メッセージを返信した検索要求情報の配信サービスを保持するホスト、または、ステップS6003で起動した分散検索要求情報の配信サービスを保持する自ホストを検索サービスが保持する不図示の記憶領域に記憶する。
【0055】
次にステップS6005で、分散検索中継装置が保持する図3に詳述のホスト管理情報に、検索サービスを保持する自ホストを登録する。また、ステップS6003で分散検索要求情報配信サービスを開始後、ネットワーク上の他のホストからの問合せメッセージを受信した場合は、問合せメッセージに対して応答メッセージを送信するとともに、当該問合せメッセージを送信したホスト情報をホスト管理情報に登録する。
【0056】
以後、分散情報検索システムの処理について記述する。
【0057】
図13は分散情報検索の分散検索経路を選択し配信を制御するサービスが行う処理を示すフローチャートである。
【0058】
ステップS7000で、検索要求情報の受信処理を行う。検索要求情報受信は図2におけるユーザから指定された検索キーワード、検索条件などの検索要求を所定の通信プロトコルに従って行われる同種の検索装置で広く行われている公知の技術である。
【0059】
ステップS7001で、図3において詳述のホスト管理情報に記憶されているホスト数が所定値(例えば128)未満であるか否かを判別し、所定値未満である場合はステップS7002で検索要求の伝送方式1による検索要求伝達処理を行い、所定値以上であった場合は、ステップS7003で検索要求の伝送方式2による検索要求伝達処理を行う。この条件分岐は、ホスト数の他、検索中継装置の配信の負荷などを判別してもよい。
【0060】
ステップS7002は検索要求の伝送方式1による検索要求配信伝達処理であり、図7において詳述される。
【0061】
ステップS7003は検索要求の伝送方式2による検索要求配信伝達処理であり、図14において詳述される。
【0062】
図15は別の実施形態において実行される分散情報検索の分散検索経路を選択し配信を制御するサービスが行う処理を示すフローチャートである。
【0063】
ステップS9000で、検索要求の受信処理を行う。分散情報検索要求受信は図2におけるユーザから指定された検索キーワード、検索条件などの検索要求を所定の通信プロトコルに従って行われる同種の検索装置で広く行われている公知の技術である。
【0064】
ステップS9001で、図3において詳述のホスト管理情報に記憶されている接続回線速度種別305が所定値(例えば100Mbps)未満であるか否かを判別し、所定値未満である場合はステップS9003で検索要求の伝送方式1による検索要求伝達処理を行い、所定値以上であった場合は、ステップS9002で検索要求の伝送方式2による検索要求伝達処理を行う。
【0065】
ステップS9002は検索要求の伝送方式1による検索要求伝達処理であり、図7において詳述される。
【0066】
ステップS9003は検索要求の伝送方式2による検索要求伝達処理であり、図14において詳述される。
【0067】
図7は分散情報検索の分散検索経路を選択し配信を制御するサービスが行う伝送方式1による処理を示すフローチャートである。
【0068】
ステップS1002で、ステップS7000で受信した検索要求を処理する対象となるホストを選択し、検索要求メッセージを伝達する経路を決定する。なお、検索要求伝達パス決定処理の詳細については図8において後述する。
【0069】
次に、ステップS1003で、ステップS7000で受信した検索要求から<QueryInfo>要素を作成し、ステップS1002で決定された検索要求伝達パスから<QueryPath>要素を作成する。さらに、NIC19の提供するMACアドレスと作成時時刻を取得して、<QueryID>要素のデータを生成し、<TransmissionFailure>要素を追加する。そして、<ReturnAddress>要素に自ホストのホストアドレスをセットして、検索要求情報メッセージを作成する。
【0070】
次にステップS1004で、検索要求情報メッセージをステップS1002で決定された検索要求伝達パスに従い、パスの先頭のホストに送信する。検索要求送信処理の詳細については、図9において後述する。
【0071】
次にステップS1005で、各ホストからの検索処理結果の応答を受信する。検索応答受信処理の詳細については、図10において後述する。
【0072】
次に、ステップS1006で、ステップS1004において受信した各ホストからの検索結果を統合して、ひとつにまとめる。各ホストから返信される検索結果に含まれる情報の所在情報であるURIで一意化し、重複したURIを検索結果に含まないようにまとめ、検索スコアの降順にソートするものとする。
【0073】
次に、ステップS1007で、ステップS1006においてまとめられた検索結果をステップS7000において受信した検索要求を発信したホストに送信し、分散情報検索の処理を終了する。
【0074】
次に、ステップS1002の検索要求伝達パス決定処理の詳細について、図8を用いて説明する。
【0075】
図8は伝送方式1による検索要求伝達パス決定処理の詳細を示すフローチャートである。
【0076】
ステップS2001で、図3において詳述のホスト管理情報を検索し、ホストグループ303が同一であるホストグループに属するホスト情報を取得する。
【0077】
次に、ステップS2002で、ステップS2001で取得したホスト情報を保持情報数304の多い順に並び替え、同一ホストグループ内での配信順を決定して、検索要求伝達パスに加える。
【0078】
次に、ステップS2004において、ホスト管理情報のすべてのホスト情報について処理を終えたかどうかをチェックし、すべての処理を終えたならば、処理を終了し、未処理のホスト情報があれば、ステップS2001へループし、次のホストグループに対する配信決定を行う。
【0079】
次に、ステップS2005において、不図示の転送失敗ホスト情報格納メモリより、転送不能ホスト情報を読み出し、転送不能ホストとして格納されているホスト情報があれば、検索要求伝達パスから削除する。
【0080】
図9は検索要求送信処理の詳細を示すフローチャートである。
【0081】
ステップS3001で、検索要求情報メッセージの<QueryPath>要素に示される先頭の<Host>要素によって示されるホストに対して、当該分散情報検索要求情報メッセージを送信する。メッセージの送受信は広く行なわれているTCP/IPプロトコルによって行なわれるものとする。
【0082】
次に、ステップS3002で、当該ホストへの送信が成功したかどうかチェックし、送信成功であればステップS3005へ分岐し、送信失敗であったならば、ステップS3003へ進む。送信が成功であったかどうかは、図11において後述する分散検索要求メッセージ受信処理において、正常に受信できた場合に、送信ホストに対して送出されるACKNOWLEDGEメッセージを受信することで判定する。
【0083】
ステップS3002において送信失敗であった場合、ステップS3003で、検索要求情報メッセージの<TransmissionFailure>要素に送信失敗したホスト情報を追加し、ステップS3004において、分散検索要求情報メッセージの<QueryPath>要素の値から、送信失敗したホスト情報を削除する。
【0084】
次に、ステップS3005で、分散検索要求情報の<QueryInfo>要素に示される情報に従い、自ホストの情報検索処理を行う。自ホストの情報検索処理は広く実施されている公知の技術であり、詳細は省略する。
【0085】
次に、ステップS3006で、ステップS3005の自ホストの検索処理結果を分散検索要求情報メッセージの<ReturnAddress>要素に示されるホストアドレスに送信する。検索処理結果の送信もまた、TCP/IPプロトコルによってTCPパケットに検索結果データを格納して送信するものとする。
【0086】
図10は検索応答受信処理の詳細を示すフローチャートである。
【0087】
ステップS4001で、各ホストからの検索結果応答を受信する受信スレッドを生成し、受信スレッドにおいて、送信されてくる検索結果を受信する。ステップS4002で、図7のステップS1003において作成した分散検索要求情報の<QueryID>要素にセットされた値を持つ分散検索要求情報メッセージを受信する。
【0088】
ステップS4002で分散検索要求情報メッセージを受信した後、ステップS4003で、ステップS1002で決定した検索ホストのうち、受信した検索要求情報メッセージの<TransmissionFailure>要素に格納されたホスト情報を除くホスト情報をステップS4001の受信スレッドに引き渡す。
【0089】
分散検索処理結果受信スレッドはステップS4003で引き渡されたすべてのホストからの検索結果を受信するまで受信と待機を行い、すべてのホストからの検索結果を受信したならステップS4004で、分散情報検索結果を検索応答受信メインプロセスに引き渡す。
【0090】
検索応答受信メインプロセスは、分散情報検索結果を受信スレッドから受け取った後、受信スレッドを破棄する。
【0091】
次に、ステップS4006で、分散検索要求情報メッセージの<TransmissionFailure>要素に示される転送失敗ホスト情報を不図示の転送失敗ホスト情報格納メモリに格納する。
【0092】
図11は分散検索要求情報メッセージ受信処理の詳細を示すフローチャートである。
【0093】
ステップS5001で、他のホストからの分散検索要求情報メッセージを受信待機し、検索要求メッセージを受信する。
【0094】
次に、ステップS5002で、分散検索要求情報メッセージの<QueryPath>要素のホスト情報リストの先頭にある自ホストの情報を<QueryPath>要素から削除する。
【0095】
次に、ステップS5003で、検索要求情報メッセージの<QueryPath>要素の先頭にホストに検索要求情報メッセージを送信する。この検索要求送信処理の詳細は図9において詳述したものと同様である。
【0096】
図14は分散情報検索の分散検索経路を選択し配信するサービスが行う伝送方式2による処理を示すフローチャートである。
【0097】
ステップS8001において、図3に詳述のホスト管理情報に登録されているホスト情報をひとつ取得する。
【0098】
次に、ステップS8002で、ステップS7000で受信した検索要求から<QueryInfo>要素を作成し、<QueryPath>要素を空要素とし、さらに、NIC19の提供するMACアドレスと作成時時刻を取得して、<QueryID>要素のデータを生成し、<TransmissionFailure>要素を追加する。そして、<ReturnAddress>要素に自ホストのホストアドレスをセットして、分散検索要求情報メッセージを作成する。
【0099】
次に、ステップS8003で、ステップS8002において作成した分散検索要求情報メッセージをステップS8001において取得したホスト情報を送信先として送信する。
【0100】
次に、ステップS8004で、図3に詳述のホスト管理情報に登録されているすべてのホスト情報を処理したかどうかを判別し、未処理ホストがあるならばステップS8001へループし、すべてのホストに検索要求情報メッセージを送信し終えたならステップS8005へ分岐する。
【0101】
次に、ステップS8005で、ステップS8003において送信した各ホストからの検索処理結果の応答を受信する。検索応答受信処理の詳細については図10において詳述される。
【0102】
次に、ステップS8006で、ステップS8005において受信した各ホストからの検索結果を統合して、ひとつにまとめる。各ホストから返信される検索結果に含まれる情報の所在情報であるURIで一意化し、重複したURIを検索結果に含まないようにまとめ、検索スコアの降順にソートするものとする。
【0103】
次に、ステップS8007で、ステップS8006においてまとめられた検索結果をステップS7000において受信した検索要求を発信したホストに送信し、分散情報検索の処理を終了する。
【0104】
<実施形態2>
上記実施形態では、分散検索要求情報メッセージはタグによりマークアップされたテキスト形式で記述されたXML文書であるとしたが、各々の構成要素を識別可能としたバイナリ形式の情報をトランスポート層のデータパケットに格納するように構成することもできる。
【0105】
上記実施形態では、検索サービスが分散検索経路選択サービスを検索するために問合せメッセージをブロードキャスト送信するように処理しているが、サービスロケーションを管理するサービスディレクトリを設け、各サービスをサービスディレクトリに登録し、ディレクトリからのサービスロケーション情報の取得を行うように構成することもできる。
【0106】
上記実施形態では、分散検索経路選択サービスにおける分散情報検索要求メッセージの伝送方式をネットワーク上のホスト情報登録数に応じて判定される形態としたが、ネットワークの回線速度やホストの計算処理能力や処理負荷など、ホスト情報登録数以外の要素によって判別されるように構成することもできる。
【0107】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成されることは言うまでもない。
【0108】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0109】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0110】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0111】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0112】
以上、本発明の分散情報検索方法及び装置、プログラム、コンピュータ可読メモリについて詳細に説明したが、本発明の主旨を逸脱しない範囲での変更や改良が行われえることは言うまでもない。
【産業上の利用可能性】
【0113】
本発明は、ネットワークに接続された複数のホストコンピュータに分散して格納されている情報を検索する分散情報検索方法及び装置、プログラム、コンピュータ可読メモリに関するものである。
【図面の簡単な説明】
【0114】
【図1】本発明の実施形態である分散情報検索装置の構成を示す図である。
【図2】本発明の実施形態の分散情報検索装置によるネットワークの構成を示す図である。
【図3】本発明の実施形態のホスト情報管理テーブルを示す図である。
【図4】本発明の実施形態の分散情報検索要求メッセージを示す図である。
【図5】本発明の実施形態の分散情報検索要求メッセージを示す図である。
【図6】本発明の実施形態の分散情報検索要求メッセージを示す図である。
【図7】本発明の実施形態で実行される第1の伝送方式による分散情報検索処理を示すフローチャートである。
【図8】本発明の実施形態で実行される第1の伝送方式による検索要求伝達パス決定処理を示すフローチャートである。
【図9】本発明の実施形態で実行される第1の伝送方式による検索要求送信処理を示すフローチャートである。
【図10】本発明の実施形態で実行される検索応答受信処理を示すフローチャートである。
【図11】本発明の実施形態で実行される第2の伝送方式による検索要求受信処理を示すフローチャートである。
【図12】本発明の実施形態で実行される分散検索経路選択サービス起動処理を示すフローチャートである。
【図13】本発明の実施形態で実行される分散検索要求伝送方式決定処理を示すフローチャートである。
【図14】本発明の実施形態で実行される第2の伝送方式による検索要求受信処理を示すフローチャートである。
【図15】本発明の実施形態で実行される分散検索要求伝送方式決定処理を示すフローチャートである。
【符号の説明】
【0115】
11 CPU
12 ROM
13 RAM
14 DISK
15 KB
16 VRAM
17 CRTC
18 CRT
19 NIC
【特許請求の範囲】
【請求項1】
ネットワーク上に複数存在する端末の中で検索要求を受け付けた端末が行う情報検索方法であって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索工程と、
前記探索工程によって前記検索中継を行える端末を検出できなかった場合に、自らの配信手段により検索中継を行う工程とを備えることを特徴とする情報検索方法。
【請求項2】
前記検索中継を行う端末で、前記複数の端末の状況を管理することを特徴とする請求項1記載の情報検索方法。
【請求項3】
前記探索工程で、前記複数の端末に問い合わせを送信して応答を検出することで前記検索中継を行える端末を探索することを特徴とする請求項1記載の情報検索方法。
【請求項4】
前記探索工程で、前記配信手段を有し検索中継を行える端末を検出できた場合、当該検出した端末が有する配信手段により検索中継を行わせることを特徴とする請求項1記載の情報検索方法。
【請求項5】
前記複数の端末が、検索中継を行う請求項1または4記載の端末を、検索中継端末として登録する工程を備えることを特徴とする請求項1記載の情報検索方法。
【請求項6】
前記検索中継を行う端末で、前記検索要求した端末の情報を当該検索中継端末の管理情報に登録する工程を備えることを特徴とする請求項1記載の情報検索方法。
【請求項7】
前記複数の端末で、前記検索中継端末から検索要求情報を配信された時に、当該検索要求情報に対する検索処理を実行し、処理結果を返信する検索工程を備えることを特徴とする請求項1記載の情報検索方法。
【請求項8】
ネットワーク上に複数存在する情報検索装置である端末の中で検索要求を受け付けた端末であって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索手段と、
前記探索手段によって前記検索中継を行える端末を検出できなかった場合に、自らの配信手段により検索中継を行う手段とを備えることを特徴とする情報検索装置。
【請求項9】
ネットワーク上に複数存在する端末の中で検索要求を受け付けた端末で実行されるプログラムであって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索手順と、
前記探索手順によって前記検索中継を行える端末を検出できなかった場合に、自らの配信手段により検索中継を行う手順とを備えることを特徴とするコンピュータで読み取り可能なプログラム。
【請求項10】
請求項9に記載のプログラムを格納するコンピュータ可読メモリ。
【請求項1】
ネットワーク上に複数存在する端末の中で検索要求を受け付けた端末が行う情報検索方法であって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索工程と、
前記探索工程によって前記検索中継を行える端末を検出できなかった場合に、自らの配信手段により検索中継を行う工程とを備えることを特徴とする情報検索方法。
【請求項2】
前記検索中継を行う端末で、前記複数の端末の状況を管理することを特徴とする請求項1記載の情報検索方法。
【請求項3】
前記探索工程で、前記複数の端末に問い合わせを送信して応答を検出することで前記検索中継を行える端末を探索することを特徴とする請求項1記載の情報検索方法。
【請求項4】
前記探索工程で、前記配信手段を有し検索中継を行える端末を検出できた場合、当該検出した端末が有する配信手段により検索中継を行わせることを特徴とする請求項1記載の情報検索方法。
【請求項5】
前記複数の端末が、検索中継を行う請求項1または4記載の端末を、検索中継端末として登録する工程を備えることを特徴とする請求項1記載の情報検索方法。
【請求項6】
前記検索中継を行う端末で、前記検索要求した端末の情報を当該検索中継端末の管理情報に登録する工程を備えることを特徴とする請求項1記載の情報検索方法。
【請求項7】
前記複数の端末で、前記検索中継端末から検索要求情報を配信された時に、当該検索要求情報に対する検索処理を実行し、処理結果を返信する検索工程を備えることを特徴とする請求項1記載の情報検索方法。
【請求項8】
ネットワーク上に複数存在する情報検索装置である端末の中で検索要求を受け付けた端末であって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索手段と、
前記探索手段によって前記検索中継を行える端末を検出できなかった場合に、自らの配信手段により検索中継を行う手段とを備えることを特徴とする情報検索装置。
【請求項9】
ネットワーク上に複数存在する端末の中で検索要求を受け付けた端末で実行されるプログラムであって、検索要求情報を他の複数の端末へ配信する配信手段を有し検索中継を行える端末を探索する探索手順と、
前記探索手順によって前記検索中継を行える端末を検出できなかった場合に、自らの配信手段により検索中継を行う手順とを備えることを特徴とするコンピュータで読み取り可能なプログラム。
【請求項10】
請求項9に記載のプログラムを格納するコンピュータ可読メモリ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2006−3976(P2006−3976A)
【公開日】平成18年1月5日(2006.1.5)
【国際特許分類】
【出願番号】特願2004−177057(P2004−177057)
【出願日】平成16年6月15日(2004.6.15)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成18年1月5日(2006.1.5)
【国際特許分類】
【出願日】平成16年6月15日(2004.6.15)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]