(57)【特許請求の範囲】
【請求項１】
ネットワークを介してアクセス可能なホストの持つデータベースに格納されている情報を検索し収集する情報収集システムにおいて、
外部から情報の検索を要求された場合に、少なくともホストのホスト識別子と該ホストの持つデータベースに格納されている情報の情報識別子との対応関係を示す情報を記憶している装置から、該要求された情報の情報識別子をキーとして、少なくとも、要求された情報の情報識別子と、該情報をそのデータベースに格納している１又は複数のホストのホスト識別子との対応関係を示す対応関係情報を取得する対応取得手段と、
求められた前記対応関係情報に基づいて、少なくとも、前記要求された情報の情報識別子と、該情報のための検索先とするホストのホスト識別子との対応を決定する第１の決定手段と、
前記第１の決定手段により検索先として決定されたホスト識別子が示すホストの各々について、検索方法として、当該ホストを検索先とすることが前記第１の決定手段により決定された情報それぞれについて個別に、当該情報の検索のための検索メッセージを当該ホストへ送信し当該ホストから該検索メッセージに基づく検索の実行により得られた結果を受信するリモート検索と、当該ホストを検索先とすることが前記第１の決定手段により決定された全情報について一括して、該全情報の検索のための検索プログラムを当該ホストへ送信し当該ホストから該検索プログラムによる検索の実行により得られた結果を受信する移動エージェント検索とのうちのいずれを使用すべきかを、当該ホストとの間での前記検索メッセージの転送に要する時間と、当該ホストにおける検索の実行に要する時間と、当該ホストとの間での検索の結果に係る情報の転送に要する時間とから求められる、リモート検索を使用した場合に要する時間コストと、当該ホストとの間での前記検索プログラムの転送に要する時間と、当該ホストにおける検索の実行に要する時間と、当該ホストとの間での検索の結果に係る情報の転送に要する時間とから求められる、移動エージェント検索を使用した場合に要する時間コストとに基づいて決定する第２の決定手段と、
前記第１の決定手段により検索先として決定されたホスト識別子が示すホストを対象として前記第２の決定手段により決定されたリモート検索又は移動エージェント検索を使用した検索を実行する検索実行手段とを備えたことを特徴とする情報収集システム。
【請求項２】
前記第２の決定手段は、評価パラメータとして、検索メッセージのデータ量、検索プログラムのデータ量、検索の結果に係る情報のデータ量、それらの単位データ量をホストとの間で転送するのに要する時間を示す通信コスト及びホストにおける１つの情報の検索の実行に要する時間を示す検索実行時間を有し、前記第１の決定手段により検索先として決定されたホスト識別子が示すホストの各々について前記決定を行うにあたって、これら評価パラメータ、及び当該ホストを検索先とすることが前記第１の決定手段により決定された情報の個数により与えられる、前記リモート検索の場合における前記検索メッセージを送信すべき回数又は前記移動エージェント検索の場合における１つの前記検索プログラムにより一括して検索すべき情報の個数に基づいて、当該ホストとの間での前記リモート検索の場合における前記検索メッセージ又は前記移動エージェント検索の場合における前記検索プログラムの転送に要する時間と、当該ホストにおける検索の実行に要する時間と、当該ホストとの間での検索の結果に係る情報の転送に要する時間との総和を求め、これを前記リモート検索又は前記移動エージェント検索を使用した場合に要する時間コストとすることを特徴とする請求項１に記載の情報収集システム。
【請求項３】
前記第２の決定手段は、前記第１の決定手段により検索先として決定されたホスト識別子が示すホストの各々について、前記リモート検索を使用した場合に要する時間コストと、前記移動エージェント検索を使用した場合に要する時間コストとを比較し、最小の時間コストを与える検索方法を、使用すべきものと決定することを特徴とする請求項１または２に記載の情報収集システム。
【請求項４】
前記対応取得手段は、前記対応関係情報として、前記情報識別子と、前記ホスト識別子との対応に加えて、該ホスト識別子のホストのデータベースに格納されている該情報識別子の情報が、マスターであるかコピーであるかについても求め、
前記第１の決定手段は、検索を要求された前記情報のうちマスターを検索することが指定されたものについては、該情報をそのデータベースに格納している前記ホストのうち、該情報をマスターとして持つものを検索先として決定することを特徴とする請求項１ないし３のいずれか１項に記載の情報収集システム。
【請求項５】
前記対応取得手段は、検索を要求された前記情報のうちマスターを検索することが指定されたものについては、前記対応関係情報として、前記情報識別子と、該情報のマスターをそのデータベースに格納しているホストのホスト識別子のみ求めることを特徴とする請求項１ないし４のいずれか１項に記載の情報収集システム。
【請求項６】
前記第１の決定手段は、検索先として決定されるホストの個数が最小になるように、前記対応を決定することを特徴とする請求項１ないし５のいずれか１項に記載の情報収集システム。
【請求項７】
前記情報収集システムは、それ自身も前記データベースを持つものであり、
前記対応関係を示す情報を記憶している装置は、前記情報収集システムの持つデータベースに格納されている情報に対応する前記ホスト識別子として、前記情報収集システムを示す識別子を記憶するものであり、
前記第１の決定手段は、検索を要求された情報の検索先となり得るホストを示すホスト識別子が複数あり、かつ、それら複数のホスト識別子のうちの一つが前記情報収集システム自身を示すものである場合には、該情報については前記情報収集システム自身の持つ前記データベースから検索することを決定することを特徴とする請求項１ないし６のいずれか１項に記載の情報収集システム。
【請求項８】
前記対応関係を示す情報を記憶している装置は、前記ネットワーク上に存在するサーバ装置またはホストであり、
前記対応取得手段は、前記サーバ装置またはホストに対して、前記ネットワークを介して、前記要求された情報の情報識別子をキーとして問い合わせを行うことによって、前記サーバ装置またはホストから前記対応関係情報を取得するものであることを特徴とする請求項１ないし７のいずれか１項に記載の情報収集システム。
【請求項９】
前記対応関係を示す情報を記憶している装置は、前記情報収集システム自身が備えるものであり、
前記対応取得手段は、前記対応関係を示す情報を記憶している装置に対して、前記要求された情報の情報識別子をキーとして問い合わせを行うことによって、前記対応関係を示す情報を記憶している装置から前記対応関係情報を取得するものであることを特徴とする請求項１ないし７のいずれか１項に記載の情報収集システム。
【請求項１０】
前記対応関係を示す情報を記憶している装置は、前記ホスト識別子のホストのデータベースに格納されている前記識別情報の情報が、マスターであるかコピーであるかについても管理することを特徴とする請求項８または９に記載の情報収集システム。
【請求項１１】
対応取得手段と第１の決定手段と第２の決定手段と検索実行手段とを備え、ネットワークを介してアクセス可能なホストの持つデータベースに格納されている情報を検索し収集する情報収集システムにおける情報収集方法において、
外部から情報の検索を要求された場合に、前記対応取得手段により、少なくともホストのホスト識別子と該ホストの持つデータベースに格納されている情報の情報識別子との対応関係を示す情報を記憶している装置から、該要求された情報の情報識別子をキーとして、少なくとも、要求された情報の情報識別子と、該情報をそのデータベースに格納している１又は複数のホストのホスト識別子との対応関係を示す対応関係情報を取得する対応取得ステップと、
前記第１の決定手段により、求められた前記対応関係情報に基づいて、少なくとも、前記要求された情報の情報識別子と、該情報のための検索先とするホストのホスト識別子との対応を決定する第１の決定ステップと、
前記第２の決定手段により、前記第１の決定ステップにおいて前記第１の決定手段により検索先として決定されたホスト識別子が示すホストの各々について、検索方法として、当該ホストを検索先とすることが前記第１の決定ステップにおいて前記第１の決定手段により決定された情報それぞれについて個別に、当該情報の検索のための検索メッセージを当該ホストへ送信し当該ホストから該検索メッセージに基づく検索の実行により得られた結果を受信するリモート検索と、当該ホストを検索先とすることが前記第１の決定ステップにおいて前記第１の決定手段により決定された全情報について一括して、該全情報の検索のための検索プログラムを当該ホストへ送信し当該ホストから該検索プログラムによる検索の実行により得られた結果を受信する移動エージェント検索とのうちのいずれを使用すべきかを、当該ホストとの間での前記検索メッセージの転送に要する時間と、当該ホストにおける検索の実行に要する時間と、当該ホストとの間での検索の結果に係る情報の転送に要する時間とから求められる、リモート検索を使用した場合に要する時間コストと、当該ホストとの間での前記検索プログラムの転送に要する時間と、当該ホストにおける検索の実行に要する時間と、当該ホストとの間での検索の結果に係る情報の転送に要する時間とから求められる、移動エージェント検索を使用した場合に要する時間コストとに基づいて決定する第２の決定ステップと、
前記検索実行手段により、前記第１の決定ステップにおいて前記第１の決定手段により検索先として決定されたホスト識別子が示すホストを対象として前記第２の決定ステップにおいて前記第２の決定手段により決定されたリモート検索又は移動エージェント検索を使用した検索を実行する検索実行ステップとを有することを特徴とする情報収集方法。
【請求項１２】
対応取得手段と第１の決定手段と第２の決定手段と検索実行手段とを備え、ネットワークを介してアクセス可能なホストの持つデータベースに格納されている情報を検索し収集する情報収集システムとしてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体であって、
外部から情報の検索を要求された場合に、前記対応取得手段により、少なくともホストのホスト識別子と該ホストの持つデータベースに格納されている情報の情報識別子との対応関係を示す情報を記憶している装置から、該要求された情報の情報識別子をキーとして、少なくとも、要求された情報の情報識別子と、該情報をそのデータベースに格納している１又は複数のホストのホスト識別子との対応関係を示す対応関係情報を取得する対応取得ステップと、
前記第１の決定手段により、求められた前記対応関係情報に基づいて、少なくとも、前記要求された情報の情報識別子と、該情報のための検索先とするホストのホスト識別子との対応を決定する第１の決定ステップと、
前記第２の決定手段により、前記第１の決定ステップにおいて前記第１の決定手段により検索先として決定されたホスト識別子が示すホストの各々について、検索方法として、当該ホストを検索先とすることが前記第１の決定ステップにおいて前記第１の決定手段により決定された情報それぞれについて個別に、当該情報の検索のための検索メッセージを当該ホストへ送信し当該ホストから該検索メッセージに基づく検索の実行により得られた結果を受信するリモート検索と、当該ホストを検索先とすることが前記第１の決定ステップにおいて前記第１の決定手段により決定された全情報について一括して、該全情報の検索のための検索プログラムを当該ホストへ送信し当該ホストから該検索プログラムによる検索の実行により得られた結果を受信する移動エージェント検索とのうちのいずれを使用すべきかを、当該ホストとの間での前記検索メッセージの転送に要する時間と、当該ホストにおける検索の実行に要する時間と、当該ホストとの間での検索の結果に係る情報の転送に要する時間とから求められる、リモート検索を使用した場合に要する時間コストと、当該ホストとの間での前記検索プログラムの転送に要する時間と、当該ホストにおける検索の実行に要する時間と、当該ホストとの間での検索の結果に係る情報の転送に要する時間とから求められる、移動エージェント検索を使用した場合に要する時間コストとに基づいて決定する第２の決定ステップと、
前記検索実行手段により、前記第１の決定ステップにおいて前記第１の決定手段により検索先として決定されたホスト識別子が示すホストを対象として前記第２の決定ステップにおいて前記第２の決定手段により決定されたリモート検索又は移動エージェント検索を使用した検索を実行する検索実行ステップとをコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク上のホストのデータベースに対する情報検索を行う情報収集システム及び情報収集方法に関する。
【０００２】
【従来の技術】
近年のコンピュータ・ネットワークの急速な発展に伴い、ネットワーク上で情報を提供し、あるいはネットワークを介して情報を入手することが、日常的に行われるようになってきており、またその重要性が増してきている。しかも、ネットワーク上で提供される情報の量は相当膨大になってきており、かつまた情報の更新頻度も高くなってきて（例えば、１日に数回以上）いることから、如何に情報検索、収集を効率良く行うかが重要になってきている。この傾向は、特にインターネットにおいて顕著であり、また企業内ＬＡＮなどについても同様の状況にあるものは多い（家庭内ＬＡＮなどが普及されれば、やはり同様の状況になっていくと考えられる）。
【０００３】
【発明が解決しようとする課題】
情報検索の方法としては、リモート検索がある。リモート検索は、情報を有するホストに対して、１つの検索要求毎に検索メッセージを送信し、結果を受け取る方法であるが、検索要求が連続する場合に検索メッセージの送受信がボトルネックとなるという欠点がある。
【０００４】
また、他の情報検索の方法としては、より柔軟な検索を実現するものと注目されている、移動エージェント検索がある。移動エージェント検索は、検索要求と結果を格納した検索プログラムを検索先ホストへ送り込み、各ホストでローカルな検索を行う手段であり、検索要求が多い場合に要求メッセージの送受信回数が少なくて済む。しかし、検索結果を検索プログラム内に格納して移動するため、移動回数が多いと通信コストが大きくなってしまうという欠点がある。
【０００５】
一方、Ｗｅｂサーバやデータベースのミラーリング技術などによって、所望する情報についてネットワーク中にマスターの他にコピーが存在していることがある。そして、情報の内容や検索の目的によっては、コピーを取得してきても構わない場合がある。しかしながら、このような場合に、マスターとその１または複数のコピーからなる複数の選択肢のうちのいずれにどのような方法でアクセスすれば情報検索の効率化に寄与するかについて、何ら指針が与えられていなかった。
【０００６】
本発明は、上記事情を考慮してなされたもので、ネットワーク上のホストのデータベースに対する効率の良い情報検索を実現する情報収集システム及び情報収集方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は、ネットワークを介してアクセス可能なホストの持つデータベースに格納されている情報を検索し収集する情報収集システムにおいて、外部から情報の検索を要求された場合に、少なくともホストのホスト識別子と該ホストの持つデータベースに格納されている情報の情報識別子との対応関係を示す情報を記憶している装置から、該要求された情報の情報識別子をキーとして、少なくとも、要求された情報の情報識別子と、該情報をそのデータベースに格納している１又は複数のホストのホスト識別子との対応関係を示す対応関係情報を取得する対応取得手段と、求められた前記対応関係情報に基づいて、少なくとも、前記要求された情報の情報識別子と、該情報のための検索先とするホストのホスト識別子との対応を決定する第１の決定手段と、前記第１の決定手段により検索先として決定されたホスト識別子が示すホストの各々について、検索方法として、当該ホストを検索先とすることが前記第１の決定手段により決定された情報それぞれについて個別に、当該情報の検索のための検索メッセージを当該ホストへ送信し当該ホストから該検索メッセージに基づく検索の実行により得られた結果を受信するリモート検索と、当該ホストを検索先とすることが前記第１の決定手段により決定された全情報について一括して、該全情報の検索のための検索プログラムを当該ホストへ送信し当該ホストから該検索プログラムによる検索の実行により得られた結果を受信する移動エージェント検索とのうちのいずれを使用すべきかを、当該ホストとの間での前記検索メッセージの転送に要する時間と、当該ホストにおける検索の実行に要する時間と、当該ホストとの間での検索の結果に係る情報の転送に要する時間とから求められる、リモート検索を使用した場合に要する時間コストと、当該ホストとの間での前記検索プログラムの転送に要する時間と、当該ホストにおける検索の実行に要する時間と、当該ホストとの間での検索の結果に係る情報の転送に要する時間とから求められる、移動エージェント検索を使用した場合に要する時間コストとに基づいて決定する第２の決定手段と、前記第１の決定手段により検索先として決定されたホスト識別子が示すホストを対象として前記第２の決定手段により決定されたリモート検索又は移動エージェント検索を使用した検索を実行する検索実行手段とを備えたことを特徴とする。
また、本発明は、対応取得手段と第１の決定手段と第２の決定手段と検索実行手段とを備え、ネットワークを介してアクセス可能なホストの持つデータベースに格納されている情報を検索し収集する情報収集システムにおける情報収集方法において、外部から情報の検索を要求された場合に、前記対応取得手段により、少なくともホストのホスト識別子と該ホストの持つデータベースに格納されている情報の情報識別子との対応関係を示す情報を記憶している装置から、該要求された情報の情報識別子をキーとして、少なくとも、要求された情報の情報識別子と、該情報をそのデータベースに格納している１又は複数のホストのホスト識別子との対応関係を示す対応関係情報を取得する対応取得ステップと、前記第１の決定手段により、求められた前記対応関係情報に基づいて、少なくとも、前記要求された情報の情報識別子と、該情報のための検索先とするホストのホスト識別子との対応を決定する第１の決定ステップと、前記第２の決定手段により、前記第１の決定ステップにおいて前記第１の決定手段により検索先として決定されたホスト識別子が示すホストの各々について、検索方法として、当該ホストを検索先とすることが前記第１の決定ステップにおいて前記第１の決定手段により決定された情報それぞれについて個別に、当該情報の検索のための検索メッセージを当該ホストへ送信し当該ホストから該検索メッセージに基づく検索の実行により得られた結果を受信するリモート検索と、当該ホストを検索先とすることが前記第１の決定ステップにおいて前記第１の決定手段により決定された全情報について一括して、該全情報の検索のための検索プログラムを当該ホストへ送信し当該ホストから該検索プログラムによる検索の実行により得られた結果を受信する移動エージェント検索とのうちのいずれを使用すべきかを、当該ホストとの間での前記検索メッセージの転送に要する時間と、当該ホストにおける検索の実行に要する時間と、当該ホストとの間での検索の結果に係る情報の転送に要する時間とから求められる、リモート検索を使用した場合に要する時間コストと、当該ホストとの間での前記検索プログラムの転送に要する時間と、当該ホストにおける検索の実行に要する時間と、当該ホストとの間での検索の結果に係る情報の転送に要する時間とから求められる、移動エージェント検索を使用した場合に要する時間コストとに基づいて決定する第２の決定ステップと、前記検索実行手段により、前記第１の決定ステップにおいて前記第１の決定手段により検索先として決定されたホスト識別子が示すホストを対象として前記第２の決定ステップにおいて前記第２の決定手段により決定されたリモート検索又は移動エージェント検索を使用した検索を実行する検索実行ステップとを有することを特徴とする。
【００１２】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための（あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための）プログラムとしても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【００１３】
本発明では、情報のマスターとコピーを有するホストの対応を管理する機能を、ネットワーク上のサーバとして設置しあるいはホストに搭載する。これにより、情報を有するホストの検索にかかるオーバーヘッドを大幅に減らすことができる。第１の決定手段は、検索したい情報を有するホストを管理サーバ等へ問い合わせるなどして、検索を行うホストを決定する。決定のための評価パラメータには、例えば、各ホストが有する情報の数などが与えられる。情報のマスターとコピーの判別が可能になるため、マスターの代わりにコピーを検索対象とすることによって検索ホスト数を減らすなど、通信オーバーヘッドを小さく抑えた効率の良い検索方法が導出可能になる。第２の決定手段では、例えば、検索実行時間、通信時間、検索要求のサイズ、情報サイズなどを評価パラメータとして与え、最も効率の良いデータベース検索方法を決定する。また、ホスト毎に異なる検索方法を選択することを許す。複数の検索方法を組み合わせることによって、検索時間の削減を可能にする。検索実行手段は、データベースに対して実際にアクセスする方法を有する。検索方法決定手段で決定した検索方法を用いて、データベースにアクセスする。
【００１４】
また、本発明において、決定に用いる評価パラメータ（例えば、検索実行時間、通信時間、検索要求のサイズ、情報サイズなど）のうち動的に変化する性質を有するものの全部または一部を学習するための手段を設けることによって、より現実的な評価パラメータを与えることが可能となり、より最適解に近い検索方法を決定することができる。
【００１５】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【００１６】
図１に、本発明の一実施形態に係るネットワーク・システムの構成例を示す。
【００１７】
このシステムでは、所定のネットワーク３を介して相互に通信可能な複数のコンピュータ（以下、コンピュータをホストと称する）が存在する。ホストは、所定のホスト識別子（以下、ホストＩＤと記述する）（例えば、ホスト名、あるいはＩＰアドレスなど）で識別されるものとする。ネットワーク３は、例えば、インターネット、企業内ＬＡＮ、家庭内ＬＡＮ、あるいはそれらが接続されたものなど、どのようなものでも適用可能であり、また、全ての部分が有線ネットワークで構成されていてもよいし、少なくとも一部が無線ネットワークで構成されていてもよい。なお、ホストは、計算機以外の装置・機器（例えば、専用の情報処理装置、携帯電話等）であってもよい（以下では、ホストの場合で説明する）。
【００１８】
複数のホスト１（情報検索ノードとしての機能を持つホスト）は、それぞれ、情報のマスターやコピーを記憶するためのデータベース１２を持っている。各情報は、所定の情報識別子（以下、情報ＩＤと記述する）で識別されるものとする。また、ホスト１は、それぞれ、詳しくは後述するようにして、ネットワークから情報を検索収集するための（すなわち、自ホストや他のホストの持つデータベース１２から所望の情報ＩＤを持つ情報を検索、収集するための）検索機能（検索部）１１を持っている。
【００１９】
なお、データベース１２は、実際にホスト１に内蔵されたものであってもよいし、実際にはホスト１の外部に接続されているが、他のホストからは、ホスト１に内蔵されているように見えるものであってもよい。
【００２０】
また、情報の形式は、特に限定されない。また、単一の形式の情報のみ扱うものであってもよいし、複数の形式の情報を扱うものであってもよい。
【００２１】
なお、ホスト１は、取得した情報を利用するための機能（例えば、表示機能、、編集機能、再生機能等）を持つ場合と、該機能を持たない場合とがある。後者の場合は、取得した情報を該ホストから他のネットワーク上のホストもしくは装置またはネットワーク外のホストもしくは装置などに転送して利用するか、あるいは必要なソフトウェア等を該ホストにインストールした後に利用することになる。
【００２２】
さて、図１のシステムにおいて、ある情報のマスターは、いずれかのホスト１のデータベース１２に格納されている。また、ある情報にコピーが存在する場合には、該コピーは、該情報のマスターを持つホスト１とは異なる１または複数のホスト１のデータベース１２に格納されている。なお、通常、各情報のマスターはそれぞれ所定のタイミングで更新され、各情報のコピーはそのマスターが更新されてから所定のタイムラグをもって更新されるので、コピーの内容は、マスターの内容と同じものになっているか、または古いバージョンのものになっている。
【００２３】
検索機能１１は、全情報に対して常にマスターとコピーの両方を検索対象とする構成、外部からの要求に応じて、検索対象の全情報ＩＤについて共通に、マスターのみ、マスターまたはコピーのいずれか（マスターでもコピーでもいずれでも可）、コピーのみ、のいずれかを検索対象とすることを可能とする構成、外部からの要求に応じて、検索対象の各情報ＩＤごとに個別に、マスターのみ、マスターまたはコピーのいずれか（マスターでもコピーでもいずれでも可）、コピーのみ、のいずれかを検索対象とすることを可能とする構成などが可能である。なお、コピーのみ検索対象とはしないようにすることも可能である。また、全情報に対してマスターのみを検索対象とする構成も可能である。また、そのような構成に対応するモードを複数備え、ユーザがいずれのモードで使用するかを設定可能にすることもできる。その他にも、種々のバリエーションが考えられる。
【００２４】
一方、ネットワーク３には、各ホスト１のデータベース１２に格納されている情報を、マスターかコピーかを区別して、一括管理する（すなわち、どの情報ＩＤの情報のマスターやコピーがそれぞれどのホストＩＤのホスト１に存在するかを管理する）マスター・コピー管理機能（マスター・コピー管理部）２１を搭載したホスト（管理サーバとしての機能を持つホスト）２が存在する。
【００２５】
ホスト２（のマスター・コピー管理機能２１）は、例えば、定期的に、各ホスト１とメッセージ交換することによって、情報ＩＤとマスター／コピーの区別とホストＩＤとの対応関係情報を収集する。
【００２６】
各ホスト１は、ホスト２に問い合わせることによって、所望の情報ＩＤの情報のマスターが存在するホスト１のホストＩＤと、該情報のコピーが存在する場合に該コピーを持つ１または複数のホスト１のホストＩＤを取得することができる。
【００２７】
なお、検索機能を持つホスト１のうちには、データベースを持たないものがあってもよい。この場合、データベースを持たないホストは、データベースを持つホスト１と同様に、他のホストの持つデータベースを検索することができる。
【００２８】
また、図１では、マスター・コピー管理機能２１を、検索機能１１を持つホスト１とは別のホスト２に搭載する場合の例を示したが、その代わりにあるいはそれに加えて、マスター・コピー管理機能２１を、検索機能を持つホスト１のいずれか１つもしくは複数に搭載してもよい（すべてのホスト１に搭載してもよい）。
【００２９】
なお、以下では、具体例を用いて説明する場合には、ホスト１として検索機能１１とデータベース１２を持つ４つのホストＡ〜Ｄが存在し、ホストＥにマスター・コピー管理機能２１が搭載されている場合を例にとったものを用いて説明するものとする。この場合のネットワーク・システムの構成例を、図２に示す。
【００３０】
図３に、本実施形態に係るホスト１が備える検索機能（検索部）１１の構成例を示す（なお、図３では、検索機能に関係する部分を示し、通信機能や入出力機能等に関する部分については省略している）。また、図４に、本実施形態に係るホスト１の検索処理の手順の一例を示す。
【００３１】
図３に示されるように、この検索機能１１は、ルート決定部１１１、検索方法決定部１１２、検索実行部１１３の各機能モジュールを含んでいる。
【００３２】
まず、検索機能１１に、検索したい情報の情報ＩＤが入力される（なお、これに加えて、対象をマスターのみにするか、マスターとコピーのいずれでもよいかなどの指示情報が与えられることもある）。
【００３３】
ルート決定部１１１は、検索したい情報の情報ＩＤをキーとして、該情報ＩＤの情報を持つホストのホストＩＤを、管理サーバとして機能するホスト（すなわちマスター・コピー管理機能２１を搭載したホスト）へ問い合わせ、該管理サーバとして機能するホストから、その応答を取得する（ステップＳ１）。
【００３４】
なお、問い合わせにあたっては、常に情報のマスターを持つホストおよびコピーを持つホストの両方を問い合わせる方法と、情報のマスターを持つホストのみ、情報のマスターを持つホストおよびコピーを持つホストの両方のいずれについて問い合わせるかを適宜使い分ける方法、情報のマスターを持つホストのみ、情報のマスターを持つホストおよびコピーを持つホストの両方、コピーを持つホストのみのいずれについて問い合わせるかを適宜使い分ける方法などがある。なお、１回の問い合わせで複数の情報ＩＤについて問い合わせできるようにするのが好ましい。
【００３５】
また、情報のマスターを持つホストおよびコピーを持つホストの両方を問い合わせる場合に、ホスト２からホスト１へ、情報ＩＤとホストＩＤの組を返答する方法と、情報ＩＤとホストＩＤとマスター／コピーの区別の組を返答する方法などがある。
【００３６】
なお、自ホストがマスター・コピー管理機能２１を持つものである場合には、例えば検索機能とマスター・コピー管理機能との間のプロセス間通信等を行えばよい。
【００３７】
次に、ルート決定部１１１は、ホスト２（のマスター・コピー管理機能２１）からの応答に含まれる情報ＩＤとホストＩＤの組（あるいは、情報ＩＤとホストＩＤとマスター／コピーの区別の組）に基づいて、要求された各々の情報ＩＤの情報をいずれのホストＩＤのホストで検索するかを決定する（ステップＳ２）。その際、例えば、各ホストが有する該当する情報の数などを評価パラメータとして与えることによって、検索ホスト数を最小とする、情報ＩＤとホストの組の集合を決定する。
【００３８】
なお、ルート決定部１１１は、問い合わせを行う部分と、決定を行う部分とを、別々に構成してもよい。
【００３９】
検索方法決定部１１２は、ルート決定部１１１の決定内容に基づいて、各ホストに対する検索方法を決定する（ステップＳ３）。評価パラメータとして、検索実行時間、通信時間、検索要求のサイズ、情報サイズを与えて、最も速い検索方法を決定する。
【００４０】
検索実行部１１３は、実際にデータベースにアクセスするための手段を提供する（ステップＳ４）。本実施形態では、リモート検索（情報を有するホストに対して１つの検索要求毎に検索メッセージを送信し結果を受け取る方法）、移動エージェント検索（検索要求を格納した検索プログラムを検索先ホストへ送り込み、該ホストでローカルな検索を行い、得られた結果を該検索プログラムに付加して、元のホストへ戻る方法、あるいは検索要求を格納した検索プログラムを検索先ホストへ送り込み、該ホストでローカルな検索を行い、得られた結果を該検索プログラムに付加し、そして次のホストへ移動し、以降同様にして検索先ホストをすべて巡回した後に、元のホストへ戻る方法）が利用可能であるものとする。
【００４１】
図５に、管理サーバとして機能するホストが備えるマスター・コピー管理機能（マスター・コピー管理部）２１の持つ管理テーブルの一例を示す。図５の例では、管理テーブルに、各ホストと、各ホストが有している情報の情報ＩＤと、マスター・コピーの区別との対応関係情報が、一元管理される。なお、Ｍは、情報のマスターを表し、Ｃは、情報のコピーを表すものとする。
【００４２】
図５の内容は、図２の場合の例を示したもので、例えば、ホストＡには、情報ＩＤ＝１の情報のマスターと、情報ＩＤ＝２のコピーと、情報ＩＤ＝３のマスターと、情報ＩＤ＝４のコピーとが格納されていることがわかる。また、情報ＩＤ＝１の情報については、ホストＡにマスターが、ホストＢにコピーが、ホストＣにコピーがそれぞれ格納されていることがわかる。
【００４３】
以下では、検索機能１１のルート検索部１１１についてより詳しく説明する。
【００４４】
図６に、ルート検索部１１１の処理手順の一例を示す。
【００４５】
ルート検索部１１１は、検索収集を行いたい情報の情報ＩＤを入力とし（なお、これに加えて、対象をマスターのみにするか、マスターとコピーのいずれでもよいかなどの指示情報をもを入力とすることもある）、入力された各情報ＩＤと実際に検索を行うホストＩＤとの組の集合を決定する。前述したように、ホストを選択する際には、マスター・コピー管理機能２１を持つホスト（または、自ホストのマスター・コピー管理機能２１）へ問い合わせを行う。
【００４６】
さて、本手順例では、ルート検索部１１１は、情報ＩＤが与えられたならば、未だ選択していない情報を最も多く有するホストを１つ選択する（ステップＳ１１）。
【００４７】
その際、条件を満たすホストが複数得られた場合には、所定の選択基準に従って、それらのうちからホストを１つ選択するものとする。例えば、トータルのホスト数を最小とする方を選択する方法、該当する情報をマスターとしてより多く持つ方を選択する方法、自ホストに検索対象とする情報のマスターまたはコピーがある場合には自ホストを優先的に選択する方法、予めホストに優先順位を割り当てておき、優先順位のより高いホストを選択する方法、現在の負荷がより低い方を選択する方法、現在の通信状態がより良い方を選択する方法、ランダムに選択する方法、それらの方法を適宜組み合わせた方法など、種々の方法がある。
【００４８】
なお、未だ選択していない情報を最も多く有するホストを１つ選択するのではなく、所定の評価関数によって、ホストを１つ選択するようにしてもよい。所定の評価関数のパラメータとしては、未だ選択していない情報のうち該ホストが持つ情報の数、未だ選択していない情報のうち該ホストが持つ情報のマスターの数、ホスト優先順位、現在の負荷、現在の通信状態など、種々のものが考えられる。
【００４９】
ここで、例えば、図２、図５の例の場合において、ホストＤにおいて、ルート検索部１１１に対して情報ＩＤ＝１〜６が入力されたとする。なお、ここでは、検索対象は、マスターとコピーを問わないものとする。この場合、未だ選択していない情報ＩＤ＝１〜６を最も多く有するホストは、それらのうちの４つを持つホストＡまたはホストＢである。ここでは、所定の選択基準に従って、ホストＡが選択されたものとする。すると、この時点で、情報ＩＤとホストＩＤの組：（１，Ａ）、（２，Ａ）、（３，Ａ）、（４，Ａ）が得られる。
【００５０】
ここで、対象となった情報ＩＤのすべてに対してホストが割り当てられたならば（ステップＳ１２）、終了に移るが、対象となった情報ＩＤのすべてに対してホストが割り当てられていなければ（ステップＳ１２）、ステップＳ１１を再実行する。
【００５１】
例えば、上記の例の場合、未だ選択していない情報が、情報ＩＤ＝５，６の２つあるので、ステップＳ１１に戻る。ここでは、ホストＢとホストＣが該当する情報をそれぞれ１つ持つことがわかり、ここでは、ホストＢが選択されたものとする。すると、この時点で、さらに、情報ＩＤとホストＩＤの組：（５，Ｂ）が得られる。
【００５２】
さらに、上記の例の場合、未だ選択していない情報が、情報ＩＤ＝６であるので、ステップＳ１１に戻る。ここでは、ホストＣが該当する情報を持つことがわかり、ホストＣが選択されることになる。この時点で、さらに、情報ＩＤとホストＩＤの組：（６，Ｃ）が得られる。
【００５３】
ここで、対象となった情報ＩＤのすべてに対してホストが割り当てられたことになるので（ステップＳ１２）、終了に移る。
【００５４】
このようにして、例えば、ホストＤから情報１〜６を検索収集する場合に、ルート検索部１１１に対して情報１〜６が入力されると、情報ＩＤとホストＩＤの組：（１，Ａ）、（２，Ａ）、（３，Ａ）、（４，Ａ）、（５，Ｂ）、（６，Ｃ）が決定される。
【００５５】
なお、マスターのみを検索対象とする要求を受け付ける構成を採用する場合には、まず、マスターのみ検索対象とすることを要求された情報ＩＤについて、情報ＩＤとホストＩＤの組を求め（この処理を、マスター・ホスト決定処理と呼ぶ）、次に、マスターでもコピーでもよいとされた情報ＩＤがあれば、図６のような手順を行えばよい。
【００５６】
なお、各ホストが有する該当する情報の個数を考慮してホストを選択する場合に、ステップＳ１１においては、各ホストが有する該当する情報の個数として、先のマスター・ホスト決定処理で決定済みの情報ＩＤを個数に含める方法１や、含めない方法２がある。
【００５７】
例えば、図５の例の場合において、ホストＤにおいて、ルート検索部１１１に対して情報ＩＤ＝１〜６が入力され、ここでは、情報ＩＤ＝５，６がマスターのみ検索対象とする要求を受けたものとする（すなわち、情報ＩＤ＝１〜４は、マスターでもコピーでも構わない）。この場合、マスター・ホスト決定処理では、情報ＩＤとホストＩＤの組：（５，Ｂ）、（６，Ｃ）が決定される。
【００５８】
次に、図６のステップＳ１１において、上記の方法２の場合には、該当する情報を４個持つホストＡが選択され、情報ＩＤとホストＩＤの組：（１，Ａ）、（２，Ａ）、（３，Ａ）、（４，Ａ）が決定する。
【００５９】
一方、図６のステップＳ１１において、上記の方法１の場合には、該当する情報を４個持つことになる２つのホストＡとホストＢのうちのいずれかが選択され、ホストＡが選択されたとすると、情報ＩＤとホストＩＤの組：（１，Ａ）、（２，Ａ）、（３，Ａ）、（４，Ａ）が決定する。また、ホストＢが選択されたとすると、情報ＩＤとホストＩＤの組：（１，Ｂ）、（２，Ｂ）、（３，Ｂ）が決定する。最後に、情報ＩＤ＝４の情報があるのは、ホストＡまたはホストＣであり、例えばそれらのうちからホストＣが選択されたとすると、情報ＩＤとホストＩＤの組：（４，Ｃ）が決定する。
【００６０】
なお、検索対象とする情報ＩＤのすべてについて、マスターのみ検索対象とすることを要求された場合には、マスター・ホスト決定処理において、すべての情報ＩＤとホストＩＤの組が定まる。この場合には、それ以降の図６のような処理はスキップされる。
【００６１】
なお、ここでは、情報ＩＤとホストＩＤの組を使用する場合を例にとって説明しているが、情報ＩＤとホストＩＤとマスター／コピーの区別の組を使用する場合（例えば、検索方法決定部１１２がマスター／コピーの区別を用いる場合、検索結果に検索した情報がマスターかコピーかの区別を含める場合など）には、例えば、（１，Ａ，Ｍ）、（２，Ａ，Ｃ）、（３，Ａ，Ｍ）、（４，Ａ，Ｃ）、（５，Ｂ，Ｍ）、（６，Ｃ，Ｍ）のようになる。
【００６２】
以下では、検索機能１１の検索方法決定部１１２についてより詳しく説明する。
【００６３】
図７に、検索方法決定部１１２の処理手順の一例を示す。
【００６４】
検索方法決定部１１２は、ルート検索部１１１により得られた、情報ＩＤとホストＩＤの組（あるいは、情報ＩＤとホストＩＤとマスター／コピーの区別の組）の集合を入力とし、各ホストに対する検索方法を決定する。前述したように、検索方法の選択肢には、例えば、リモート検索、移動エージェント検索がある。
【００６５】
与えられた情報ＩＤとホストＩＤの組の集合から、１つのホストと、該当する情報ＩＤを取り出し、該ホストについて、移動エージェント検索による検索時間コストと、リモート検索による検索時間コストとを計算する（ステップＳ３１）。なお、検索時間コストの定義の仕方あるいは計算のし方についてはいろいろな方法が考えられる。また、検索時間コストを計算する際の評価パラメータにも、検索時間コストの定義の仕方に応じて、いろいろなパラメータが考えられる。例えば、評価パラメータには、検索実行時間、通信時間、検索要求サイズ、情報サイズなどがある。
【００６６】
また、検索時間コストを計算するにあたって、現在あるいは最近の各ホストの負荷や、現在あるいは最近の各ホストとの間のネットワークの通信状態などをも考慮する方法もある（負荷や通信状態の把握は、例えば、定期的にホスト間でデータを交換したり、あるいは定期的にダミーの検索を行って観測する方法などがある）。
【００６７】
そして、移動エージェント検索による検索時間コストと、リモート検索による検索時間コストとを比較し、前者の方が低ければ（ステップＳ２３）、該ホストについては、移動エージェント検索を行うことを決定する（ステップＳ３４）。そうでなければ、（ステップＳ２３）、該ホストについては、リモート検索を行うことを決定する（ステップＳ３３）。
【００６８】
ここで、与えられた情報ＩＤとホストＩＤの組の集合に含まれるすべてのホストに対して検索方法が決定されていないならば（ステップＳ３５）、ステップＳ３１に戻り、すべて検索方法が決定されたならば（ステップＳ３５）、終了に移る。
【００６９】
なお、上記では、移動エージェント検索による検索時間コストと、リモート検索による検索時間コストとが等しい場合には、リモート検索を行うものとしたが、その代わりに、それらが等しい場合には、移動エージェント検索を行うものとするようにしてもよい。
【００７０】
例えば、先の例で得られた情報ＩＤとホストＩＤの組：（１，Ａ）、（２，Ａ）、（３，Ａ）、（４，Ａ）、（５，Ｂ）、（６，Ｃ）が与えられたとする。
【００７１】
また、検索時間コストを計算する際の評価パラメータとして、例えば、
・リモート検索の検索要求のサイズ＝１単位量
・移動エージェント検索の検索要求のサイズ＝１０単位量
・各情報のサイズ＝１０単位量
・任意のホスト間の通信コスト＝１０単位時間／１単位量
・各ホストでの検索実行時間＝１０単位時間／１情報
が定められているものとする。
【００７２】
ホストＡの４つの情報についてリモート検索を行うとした場合には、まず、情報Ｍ１に対して、
・ホストＤからＡへの検索要求メッセージのコスト＝１×１０＝１０単位時間
・ホストＡでの情報Ｍ１の検索時間のコスト＝１×１０＝１０単位時間
・ホストＡからＤへの情報Ｍ１転送のコスト＝１０×１０＝１００
から、それらを加算すると、
情報Ｍ１に対するリモート検索の検索時間コストは、
１０＋１０＋１００＝１２０単位時間
となる。
情報Ｃ２、Ｍ３、Ｃ４についても同様であるので、ホストＡについてリモート検索を行うとした場合の検索時間コストは、
１２０×４＝４８０単位時間
となる。
【００７３】
一方、ホストＡで移動エージェント検索を行うとした場合には、
・ホストＤからＡへの移動のコスト＝１×１０＝１０単位時間
・ホストＡでの情報Ｍ１、Ｃ２、Ｍ３、Ｃ４の検索時間のコスト＝４×１０＝４０単位時間
・情報Ｍ１、Ｃ２、Ｍ３、Ｃ４を持ってホストＡからＤへ移動するコスト＝１×１０＋（４×１０）×１０＝４１０単位時間
から、それらを加算すると、
ホストＡについて移動エージェント検索を行うとした場合の検索時間コストは、
１０＋４０＋４１０＝４６０単位時間
となる。
【００７４】
したがって、移動エージェント検索を行うとした場合の検索時間コストと、リモート検索を行うとした場合の検索時間コストとを比較すると、前者の方が低いので、ホストＡについては、移動エージェント検索を行うことが決定される。
【００７５】
次に、ホストＢで情報Ｍ５に対してリモート検索を行うとした場合には、
・ホストＤからＢへの検索要求メッセージのコスト＝１×１０＝１０単位時間
・ホストＢでの情報Ｍ５の検索時間のコスト＝１×１０＝１０単位時間
・ホストＢからＤへの情報Ｍ５転送のコスト＝１０×１０＝１００単位時間  から、それらを加算すると、
ホストＢについてリモート検索を行うとした場合の検索時間コストは、
１０＋１０＋１００＝１２０単位時間
となる。
【００７６】
一方、ホストＢで移動エージェント検索を行うとした場合には、
・ホストＤからＢへの移動のコスト＝１×１０＝１０単位時間
・ホストＢでの情報Ｍ５の検索時間のコスト＝１×１０＝１０単位時間
・情報Ｍ５を持ってホストＡからＤへ移動するコスト＝１×１０＋（１×１０）×１０＝１１０
から、それらを加算すると、
ホストＢについて移動エージェント検索を行うとした場合の検索時間コストは、
１０＋１０＋１１０＝１３０単位時間
となる。
【００７７】
したがって、移動エージェント検索を行うとした場合の検索時間コストと、リモート検索を行うとした場合の検索時間コストとを比較すると、後者の方が低いので、ホストＢについては、リモート検索を行うことが決定される。
【００７８】
なお、ホストＣについても、ホストＢと同様にして、リモート検索を行うことが決定される。
【００７９】
さて、以上のようにして検索の方法が決定されると、検索実行部１１３は、検索方法決定部１１２により決定された検索の方法に従って、検索を実行する。
【００８０】
例えば、上記の例の場合には、「ホストＡに対する情報ＩＤ＝１のマスター、情報ＩＤ＝２のコピー、情報ＩＤ＝３のマスター、情報ＩＤ＝４のコピーの移動エージェント検索」、「ホストＢに対する情報ＩＤ＝５のマスターのリモート検索」、「ホストＣに対する情報ＩＤ＝６のマスターのリモート検索」の、３つの検索が行われる。
【００８１】
なお、検索実行部１１３は、複数の検索を一つずつ順次に行う方法や、全部または一部の複数の検索について、一斉に要求を送信する方法など、種々のバリエーションがある。
【００８２】
検索の結果得られた情報は、例えば、表示され、あるいは保存され、あるいは、あるいは他のホストに転送され、あるいはその他の利用などがなされる。
【００８３】
ここで、本実施形態において例えば上記したように、ホストＡに対する情報Ｍ１、Ｃ２、Ｍ３、Ｃ４の移動エージェント検索、ホストＢに対する情報Ｍ５のリモート検索、ホストＣに対する情報Ｍ６のリモート検索を行う場合と、従来の技術において、６つの情報についてすべてリモート検索を行う場合と、６つの情報に対する検索を包含する１つの移動エージェント検索を行う場合とで、検索時間コストを比較する。なお、評価パラメータや検索時間コストの計算方法は、上記した例を用いる。
【００８４】
（１）本実施形態の場合
前述の計算から、全検索時間コストは、
４５０＋１２０＋１２０＝６９０単位時間
となる。
【００８５】
（２）従来のリモート検索のみの場合
前述のように１つの情報について１２０単位時間かかるので、６つの情報についてすべてリモート検索を行う場合には、
６×１２０＝７２０単位時間
となる。
【００８６】
（３）従来の移動エージェント検索のみの場合
例えば、ホストＡ、ホストＢ、ホストＣの順番に移動するものとすると、
・ホストＤからＡへの移動のコスト＝１×１０＝１０単位時間
・ホストＡでの情報Ｍ１、Ｃ２、Ｍ３、Ｃ４の検索時間のコスト＝４×１０＝４０単位時間
・情報Ｍ１、Ｃ２、Ｍ３、Ｃ４を持ってホストＡからＢへ移動するコスト＝１×１０＋（４×１０）×１０＝４１０単位時間
・ホストＢでの情報Ｍ５の検索時間のコスト＝１×１０＝１０単位時間
・情報Ｍ１、Ｃ２、Ｍ３、Ｃ４、Ｍ５を持ってホストＢからＣへ移動するコスト＝１×１０＋（５×１０）×５０＝５１０単位時間
・ホストＣでの情報Ｍ６の検索時間のコスト＝１×１０＝１０単位時間
・情報Ｍ１、Ｃ２、Ｍ３、Ｃ４、Ｍ５、Ｍ６を持ってホストＣからＤへ移動するコスト＝１×１０＋（６×１０）×１０＝６１０単位時間
から、それらを加算すると、
ホストＡについて移動エージェント検索を行うとした場合の検索時間コストは、
１０＋４０＋４１０＋１０＋５１０＋１０＋６１０＝１６００単位時間  となる。
【００８７】
このように、本実施形態によれば、リモート検索と移動エージェント検索の組み合わせ方を工夫することによって、最小の検索時間コストを得ることができ、従来よりもより高速な検索を可能にする。
【００８８】
ところで、上記した例は、移動エージェント検索を行うべきホストが２つ以上得られた場合には、各ホストごとに、逐次、移動エージェント検索を行うものであったが、移動エージェント検索を行うべきホストが２つ以上得られた場合には、移動エージェント検索を適宜マージして（すなわち、複数のホストを渡り歩く１つの移動エージェント検索にして）、トータルの検索時間コストを削減できるようにすることも可能である。
【００８９】
この場合、例えば、図７の手順に続いて、図８の手順を行えばよい。
【００９０】
すなわち、検索方法決定部１１２が図７の手順を行うことによって得られたホストとその検索方法のうち、移動エージェント検索すべきものとされたホストが複数あれば（ステップＳ４１）、トータルの検索時間コストが減少するような、移動エージェント検索のマージ方法（検索ルート）を探索してみる（ステップＳ４２）。
【００９１】
そして、トータルの検索時間コストが減少するような移動エージェント検索のマージ方法があれば（ステップＳ４３）、そのうちの一つを選択する（ステップＳ４４）。
【００９２】
一方、ステップＳ４１で移動エージェント検索すべきものとされたホストが複数ないか、またはステップＳ４３でトータルの検索時間コストが減少するような移動エージェント検索のマージ方法がなければ、移動エージェント検索のマージは行わないことが決定される。
【００９３】
例えば、図２、図９のような例の場合において、ホストＤにおいて、ルート検索部１１１に対して情報ＩＤ＝１〜８が入力されたとする。ここで、例えば、検索対象はマスターかコピーかを問わないことが指示されたものとし、情報ＩＤとホストＩＤの組として、（１，Ａ）、（２，Ａ）、（３，Ａ）、（４，Ａ）、（５，Ｂ）、（６，Ｃ）、（７，Ａ）、（８，Ｂ）が得られたものとし、そして、情報ＩＤ＝１，２，３，４，７の５つの情報を検索するホストＡと、情報ＩＤ＝５，８の２つの情報を検索するホストＢは、それぞれ、移動エージェント検索をすべきことが決定され、情報ＩＤ＝６の１つの情報を検索するホストＣは、リモート検索をすべきことが決定されたものとする。
【００９４】
ここで、例えば、ホストＡとホストＢを別個に移動エージェント検索する場合の検索時間コスト１（＝ホストＡを移動エージェント検索する検索時間コスト＋ホストＢを移動エージェント検索する検索時間コスト）と、まずホストＤからホストＡに移動しホストＡでローカル検索し次にホストＢに移動してホストＢでローカル検索しホストＤに戻るルートにしたときの移動エージェント検索する場合の検索時間コスト２と、まずホストＤからホストＢに移動しホストＢでローカル検索し次にホストＡに移動してホストＡでローカル検索しホストＤに戻るルートにしたときの移動エージェント検索する場合の検索時間コスト３と求める。
【００９５】
そして、それらを比較し、それらのうちで最も検索時間コストの少ないものを採用する。例えば、検索時間コスト１が最も少なければ、やはり、ホストＡとホストＢを別個に移動エージェント検索することになり、検索時間コスト２あるいは検索時間コスト３が最も小さければ、１つの検索要求で２つのホストを移動エージェント検索することになる。
【００９６】
いずれの方法が最も検索時間コストが少なくなるかは、例えば、リモート検索の検索要求のサイズ、移動エージェント検索の検索要求のサイズ、各情報のサイズ、任意のホスト間の通信コスト、各ホストでの検索実行時間などの評価パラメータの間の関係に応じて決まってくる。
【００９７】
また、移動エージェント検索すべきと決定されたホストが３つある場合には、取り得る全ての種類の方法について評価するようにしてもよい。
【００９８】
なお、全ての移動エージェント検索の方法（検索ルート）を評価するのではなく、所定の基準に従って選択した方法を１つずつ評価するものとし、移動エージェント検索すべきとされたホストについて全て別個に移動エージェント検索する場合の検索時間コストに比較して、一定以上の改善が見られれば（例えば、両検索時間コストの差が基準以上になり、あるいは商が基準以下になれば）、その時点で、その方法を採用するものと決定するようにしてもよい。
【００９９】
また、その際に、検索対象となった情報の数がより少ないホストを先に検索するような順番を持つ移動エージェント検索の方法から優先的に評価するようにしてもよい。また、評価する移動エージェント検索の方法の種類数の上限を定めておき、その範囲内で検索時間コストの改善が見られなければ、ホストを別個に移動エージェント検索するものと決定するようにしてもよい。
【０１００】
なお、以上では、マスター・コピー管理機能２１は、情報ＩＤとマスター／コピーの区別とホストＩＤとの対応関係情報を管理するものとして説明したが、検索機能１１として全情報に対して常にマスターとコピーの両方を検索対象とする構成すなわちマスターとコピーを区別しない構成を採用する場合には、マスター・コピー管理機能２１は、情報ＩＤとホストＩＤとの対応関係情報を管理し、マスター／コピーの区別は管理しない構成にしてもよい。
【０１０１】
ところで、検索方法決定部１１２では、検索実行時間や通信コスト、情報サイズなどを評価パラメータとして検索方法の決定を行うが、これらの評価パラメータには動的に変化する性質を有するものが含まれる場合がある。そこで、このような場合には、より最適解に近い検索方法が決定できるようにするために、（本実施形態に係るホスト１が備える）検索機能（検索部）１１に、検索結果の学習を行う機能を備えると好ましい。
【０１０２】
この場合の検索機能１１の構成例を、図１０に示す。図１０に示されるように、この検索機能１１は、ルート決定部１１１、検索方法決定部１１２、検索実行部１１３、検索結果学習部１１４の各機能モジュールを含んでいる。なお、ルート決定部１１１、検索方法決定部１１２、検索実行部１１３は、図３で説明したものと同様である。
【０１０３】
以下、検索結果学習部１１４について説明する。
【０１０４】
検索方法決定部１１２により選択された検索方法を使って、検索実行部１１３により各情報に対する検索が行われると、検索結果学習部１１４は、学習のために検索結果を保存する。
【０１０５】
検索方法決定部１１２は、例えば、検索方法の決定に用いるパラメータのうちの変化し得るものの全部または所定の一部について、過去の検索の際の実績値…例えば、実際に検索に要した時間や情報のサイズなど…を保存する。そして、必要に応じて統計処理あるいは予測処理などを行って、より最適な結果を与えると期待される評価パラメータを求める。
【０１０６】
なお、学習を行うために、定期的にあるいは検索の要求が少ないときなどに、ダミーの検索を行って、その結果を学習に反映させるようにしてもよい。
【０１０７】
このようにすることによって、検索方法決定部１１２により検索方法を決定する際、より現実的な評価パラメータを与えることが可能となる。
【０１０８】
また、ルート決定部１１１が動的に変化する性質を有する評価パラメータを用いる場合にも同様に、検索結果学習部１１４により該評価パラメータの学習を行うのが好ましい。
【０１０９】
以下では、本実施形態のハードウェア構成、ソフトウェア構成について説明する。
【０１１０】
本実施形態のホストに搭載する各種機能は、ハードウェアとしても、ソフトウェア（（コンピュータに所定の手段を実行させるための、あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための）プログラム）としても、実施可能である。また、ソフトウェアで実現する場合には、記録媒体によってプログラムを受け渡しすることも、通信媒体によってプログラムを受け渡しすることもできる。また、ソフトウェアで構成する場合には、マルチプロセッサを利用し、並列処理を行って、処理を高速化することも可能である。また、プログラムの形式は特に限定されない。また、ハードウェアとして構成する場合、半導体装置あるいはそれを搭載したボードあるいはＩＣカード等として形成することができる。
【０１１１】
なお、この発明の実施の形態で例示した構成は一例であって、それ以外の構成を排除する趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の一部を省いたり、例示した構成に別の機能あるいは要素を付加したり、それらを組み合わせたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構成なども可能である。
また、この発明の実施の形態で例示した各種構成部分についての各種バリエーションは、適宜組み合わせて実施することが可能である。
また、この発明の実施の形態は、個別装置としての発明、関連を持つ２以上の装置についての発明、システム全体としての発明、個別装置内部の構成部分についての発明、またはそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を包含・内在するものである。
従って、この発明の実施の形態に開示した内容からは、例示した構成に限定されることなく発明を抽出することができるものである。
【０１１２】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【０１１３】
【発明の効果】
本発明によれば、検索すべき情報がどのホストに存在するかという状況等に応じて、適宜複数の検索方法を組み合わせて検索を行うことができるようになり、これによって、ネットワーク上のホストのデータベースに対する効率の良い情報検索を実現することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るネットワーク・システムの構成例を示す図
【図２】同実施形態に係るネットワーク・システムの具体例を示す図
【図３】同実施形態に係る検索機能（検索部）の構成例を示す図
【図４】同実施形態に係る検索処理の手順の一例を示すフローチャート
【図５】同実施形態に係る管理テーブルの一例を示す図
【図６】同実施形態に係る検索機能（検索部）のルート検索部の処理手順の一例を示すフローチャート
【図７】同実施形態に係る検索機能（検索部）の検索方法決定部の処理手順の一例を示すフローチャート
【図８】同実施形態に係る検索機能（検索部）の検索方法決定部の処理手順の他の例を示すフローチャート
【図９】同実施形態に係る管理テーブルの他の例を示す図
【図１０】同実施形態に係る検索機能（検索部）の他の構成例を示す図
【符号の説明】
１，２…ホスト
３…ネットワーク
１１…検索機能（検索部）
１２…データベース
２１…マスター・コピー管理機能（マスター・コピー管理部）
１１１…ルート決定部
１１２…検索方法決定部
１１３…検索実行部
１１４…検索結果学習部
【図１】
0003842549.tif 000002
【図２】
0003842549.tif 000003
【図３】
0003842549.tif 000004
【図４】
0003842549.tif 000005
【図５】
0003842549.tif 000006
【図６】
0003842549.tif 000007
【図７】
0003842549.tif 000008
【図８】
0003842549.tif 000009
【図９】
0003842549.tif 000010
【図１０】
0003842549.tif 000011