(57)【要約】【課題】  ネットワークに大きな負荷が発生した場合やインデックスサーバに大きな負荷が発生した場合でも効率的な検索を行うことができるようにする。【解決手段】  測定部１２によりトラフィック量を測定し、測定値が閾値を超えたかを監視する。そして、超えると、切替処理部１３は、動作状態管理部１４の管理内容を参照して、端末処理部１５に対して動作状態をピュア型からインデックスサーバへ切り替えるように要求し、端末処理部１５は動作状態をピュア型からインデックスサーバへ切り替える。或いは、切替処理部１３は、端末処理部１５に対して自装置に子ノードとして接続されている装置の一部を切り離すように要求し、端末処理部１５は自装置に子ノードとして接続されている装置の一部を切り離す。【選択図】    図３
2005092784.tif 000002
【特許請求の範囲】
【請求項１】
ピア・ツー・ピア方式を用いて情報を検索する複数の装置における検索方式の動的切替方法において、
ピュア型として動作している夫々の装置は、ネットワークのトラフィックを測定し、このピュア動作時の測定値が予め定められたピュア動作時の閾値を超えたかを判断するピュア動作時測定手順を行い、
前記ピュア動作時測定手順において前記ピュア動作時の測定値が前記ピュア動作時の閾値を超えたと判断した装置は、
自装置の動作状態をピュア型からインデックスサーバに切り替える切替手順と、
他の装置が保有する情報を収集する情報収集手順と、
を行うことを特徴とする検索方式の動的切替方法。
【請求項２】
インデックスサーバとして動作している夫々の装置は、ネットワークのトラフィックを測定し、このサーバ動作時の測定値が予め定められたサーバ動作時の閾値を超えたかを判断するサーバ動作時測定手順を行い、
前記サーバ動作時測定手順において前記サーバ動作時の測定値が前記サーバ動作時の閾値を越えたと判断した装置は、
自装置から切り離す装置を選定する選定手順と、
前記選定手順において選定された前記自装置から切り離す装置に対して情報を送信する手順と、
を行うことを特徴とする請求項１に記載の検索方式の動的切替方法。
【請求項３】
前記選定手順では、
情報が収集された夫々の装置においてその装置の各情報の参照回数を合計した回数が収集された各情報の参照回数を合計した回数の予め定められた割合以上である装置があるかを判断する判断手順と、
前記判断手順において前記予め定められた割合以上である装置があると判断されると、当該装置を切り離す装置に選定する第１装置選定手順と、
前記第１装置選定手順において選定された装置に対して動作状態をピュア型に切り替えるように通知する第１切替通知手順と、
前記判断手順において前記予め定められた割合以上である装置がないと判断されると、切り離す装置として任意の装置を選定する第２装置選定手順と、
前記第２装置選定手順において選定された装置に対して動作状態をインデックスサーバに切り替えるように通知する第２切替通知手順と、
を行い、
前記第１切替通知手順における通知を受信した装置は、自装置の動作状態をピュア型に切り替える第１切替手順を行い、
前記第２切替通知手順における通知を受信した装置は、自装置の動作状態をインデックスサーバに切り替える第２切替手順を行うことを特徴とする請求項２に記載の検索方式の動的切替方法。
【請求項４】
ピア・ツー・ピア方式を用いて情報を検索し、検索方式を動的に切り替える装置において、
ピュア型として動作している時に、ネットワークのトラフィックを測定し、このピュア動作時の測定値が予め定められたピュア動作時の閾値を超えたかを判断するピュア動作時測定手段と、
前記ピュア動作時測定手段により前記ピュア動作時の測定値が前記ピュア動作時の閾値を超えたと判断された場合に、装置の動作状態をピュア型からインデックスサーバに切り替える切替処理手段と、
他の装置が保持する情報を収集し管理する管理手段と、
を備えたことを特徴とする検索方式を動的に切り替える装置。
【請求項５】
インデックスサーバとして動作している時に、ネットワークのトラフィックを測定し、このサーバ動作時の測定値が予め定められたサーバ動作時の閾値を超えたかを判断するサーバ動作時測定手段と、
前記サーバ動作時測定手段により前記サーバ動作時の測定値が前記サーバ動作時の閾値を越えたと判断された場合に、自装置から切り離す装置を選定する選定手段と、
前記選定手段により選定された前記自装置から切り離す装置に対して情報を送信する送信手段と、
を備えたことを特徴とする請求項４に記載の検索方式を動的に切り替える装置。
【請求項６】
ピア・ツー・ピア方式を用いて情報を検索する複数の装置における検索方式の動的切替方法を実行させる切替プログラムであって、
ピュア型として動作している夫々の装置は、ネットワークのトラフィックを測定し、このピュア動作時の測定値が予め定められたピュア動作時の閾値を超えたかを判断するピュア動作時測定手順を行い、
前記ピュア動作時測定手順において前記ピュア動作時の測定値が前記ピュア動作時の閾値を超えたと判断した装置は、
自装置の動作状態をピュア型からインデックスサーバに切り替える切替手順と、
他の装置が保持する情報を収集する情報収集手順と、
を行うことを特徴とする検索方式を動的に切り替える切替プログラム。
【請求項７】
インデックスサーバとして動作している夫々の装置は、ネットワークのトラフィックを測定し、このサーバ動作時の測定値が予め定められたサーバ動作時の閾値を超えたかを判断するサーバ動作時測定手順を行い、
前記サーバ動作時測定手順において前記サーバ動作時の測定値が前記サーバ動作時の閾値を越えたと判断した装置は、
自装置から切り離す装置を選定する選定手順と、
前記選定手順において選定された前記自装置から切り離す装置に対して情報を送信する手順と、
を行うことを特徴とする請求項６に記載の検索方式を動的に切り替える切替プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続された複数の装置に分散して保持されている情報をピア・ツウ・ピア方式を用いて検索する情報検索システムにおける検索方式の動的切替方法、検索方式を動的に切り替える装置、及び検索方式を動的に切り替える切替プログラムに関する。
【背景技術】
【０００２】
従来、ピア・ツー・ピア（Peer to Peer：Ｐ２Ｐ）型情報検索システム（以下、適宜、Ｐ２Ｐシステムという。）は、主に電子ファイルなどのコンテンツ情報がネットワークなどをネットワーク内に分散配置されている状態において、ネットワーク内に情報検索用のサーバや情報配送用のサーバを設置することなく、情報の検索・交換を可能とする技術である。この代表的なものとしては、グヌーテラ（Gnutella）やジャクスタ（ＪＸＳＴＡ）などがある。
Ｐ２Ｐシステムは、Ｐｕｒｅ（ピュア）型とＨｙｂｒｉｄ（ハイブリッド）型の２種類の形態がある。これらの概略について以下に記す。
【０００３】
以下、ピュア型のＰ２Ｐシステムの構成例について図１２及び図１３を参照しつつ説明する。図１２はピュア型のＰ２Ｐシステムの構成を示す構成図である。図１３は図１２の各端末装置の構成を示すブロック図である。
ピュア型のＰ２Ｐシステムは、複数台の端末装置で構成され、図１２においては４台の端末装置１００−１，１００−２，１００−３，１００−４が示されている。ピュア型においては、端末装置同士が全ての通信を直接行うＮ対Ｎの形態で構成される。
【０００４】
端末装置１００（図１２の装置１００−１〜１００−４など）は、図１３に示すように、通信プロトコル制御部１０１と、ユーザインターフェース１０２と、検索条件入力部１０３と、検索要求処理部１０４と、検索機能処理部１０５と、検索結果表示部１０６と、共有コンテンツ管理部１０７と、インデックス情報データベース１０８とを有しており、ＩＰネットワーク１２０に接続されている。
【０００５】
通信プロトコル制御部１０１は、ＩＰネットワーク１２０に接続され、装置間のデータの授受を正しく行えるように通信プロトコルを制御する。ユーザインターフェース１０２は、例えばキーボードやマウスなどの入力部やディスプレイなどの表示部などにより構成されている。例えば、ユーザによる検索条件の入力に用いられ、また、検索結果を表示する。
【０００６】
検索条件入力部１０３は、ユーザインターフェース１０２からの検索条件を検索要求処理部１０４へ出力する。検索要求処理部１０４は、検索条件入力部１０３からの検索条件に基づく検索要求パケットを送信する処理を行うとともに、送信した検索要求パケットに対する応答を受信する処理を行い、応答に基づいて検索結果を検索結果表示部１０６へ出する。検索機能処理部１０５は、インデックス情報データベース１０８を共有コンテンツ管理部１０７を介して参照して検索処理を行う。検索結果表示部１０６は、検索要求処理部１０４から受け取る検索結果をユーザインターフェース１０２の表示部に表示する処理を行う。共有コンテンツ管理部１０７はインデックス情報データベース１０８を管理する。インデックス情報データベース１０８はインデックス情報を格納する。
【０００７】
以下、ハイブリッド型のＰ２Ｐシステムの構成例について図１４及び図１５を参照しつつ説明する。図１４はハイブリッド型のＰ２Ｐシステムの構成を示す構成図である。図１５は図１４のインデックスサーバの構成を示すブロック図である。但し、図１４の各端末装置は図１３と実質的に同様の構成である。
【０００８】
ハイブリッド型のＰ２Ｐシステムは、インデックスサーバと複数台の端末装置とで構成され、図１４においては１台のインデックスサーバ１１０と、４台の端末装置１００−１，１００−２，１００−３，１００−４が示されている。ハイブリッド型においては、従来のクライアント・サーバ型と呼ばれるようなサーバと端末装置の関係が１対Ｎの構成と、ピュア型のような端末装置同士がＮ対Ｎの構成との２つを組み合わせた構成を持つ。
【０００９】
インデックスサーバ１１０は、図１５に示すように、通信プロトコル制御部１１１と、検索機能処理部１１２と、共有コンテンツ管理部１１３と、インデックス情報データベース１１４とを有しており、ＩＰネットワーク１２０に接続されている。通信プロトコル制御部１１１は、ＩＰネットワーク１２０に接続され、装置間のデータの授受を正しく行えるように通信プロトコルを制御する。検索機能処理部１１２は、共有コンテンツ管理部１１２を介してインデックス情報データベース１１３を参照して、通信プロトコル制御部１１１を介して受信した検索要求パケットに含まれる検索条件に基づく検索を行い、検索結果を応答する。共有コンテンツ管理部１１３はインデックス情報データベース１１４を管理する。インデックス情報データベース１１４はインデックス情報を格納する。
【００１０】
このようなＰ２Ｐシステムを応用した検索システムが開示されている（例えば、特許文献１、特許文献２参照。）。
【特許文献１】特開２００２−２２９８３６号公報
【特許文献２】特開２０００−１３７６４１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上述したピュア型においては、小規模なネットワークグループ上での情報共有に向いており、管理サーバなどを必要としないことから簡単に導入できるという特徴がある。しかしながら、ピュア型には、端末装置の数が増加すると検索の範囲が広くなり、検索速度が劣化するという問題がある。また、各端末装置間でブロードキャストされたパケットによりトラフィックが増加するという問題がある。さらに、同じ検索が複数の端末装置で行われるため一つのサーバ上で検索する場合と比べて検索効率が悪いという問題がある。
【００１２】
また、上述したハイブリッド型においては、大規模なネットワークグループ上での情報共有に向いており、ピュア型よりも検索速度やスケーラビリティに優れているという特徴がある。しかしながら、ハイブリッド型には、検索や問い合わせなどがサーバに集中することでサーバにかかる負荷が増大するという問題がある。また、サーバに障害が発生するとＰ２Ｐシステム全体が機能しなくなるという問題がある。
【００１３】
このように、ピュア型やハイブリッド型には夫々問題点を有しているが、上記特許公報に開示されている技術をはじめ、従来のＰ２Ｐシステムにおいては、端末装置１００（１００−１〜１００−４）は端末装置としてのみ動作し、インデックスサーバ１１０はインデックスサーバとしてのみ動作するように構成されている。このため、ピュア型或いはハイブリッド型のいずれかのみの動作しか行うことはできなかった。この結果、ネットワークに大きな負荷が発生した場合やインデックスサーバに大きな負荷が発生した場合には、効率的な検索を行うことができないという問題があった。
【００１４】
そこで、本発明は、ネットワークに大きな負荷が発生した場合やインデックスサーバに大きな負荷が発生した場合に効率的な検索を行うことができる検索方式の動的切替方法、検索方式を動的に切り替える装置、及び検索方式を動的に切り替える切替プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
請求項１に記載の発明は、ピア・ツー・ピア方式を用いて情報を検索する複数の装置における検索方式の動的切替方法において、ピュア型として動作している夫々の装置は、ネットワークのトラフィックを測定し、このピュア動作時の測定値が予め定められたピュア動作時の閾値を超えたかを判断するピュア動作時測定手順を行い、前記ピュア動作時測定手順において前記ピュア動作時の測定値が前記ピュア動作時の閾値を超えたと判断した装置は、自装置の動作状態をピュア型からインデックスサーバに切り替える切替手順と、他の装置が保有する情報を収集する情報収集手順と、を行うことを特徴とする。
【００１６】
請求項２に記載の発明は、インデックスサーバとして動作している夫々の装置は、ネットワークのトラフィックを測定し、このサーバ動作時の測定値が予め定められたサーバ動作時の閾値を超えたかを判断するサーバ動作時測定手順を行い、前記サーバ動作時測定手順において前記サーバ動作時の測定値が前記サーバ動作時の閾値を越えたと判断した装置は、自装置から切り離す装置を選定する選定手順と、前記選定手順において選定された前記自装置から切り離す装置に対して情報を送信する手順と、を行うことを特徴とする。
【００１７】
請求項３に記載の発明は、前記選定手順では、情報が収集された夫々の装置においてその装置の各情報の参照回数を合計した回数が収集された各情報の参照回数を合計した回数の予め定められた割合以上である装置があるかを判断する判断手順と、前記判断手順において前記予め定められた割合以上である装置があると判断されると、当該装置を切り離す装置に選定する第１装置選定手順と、前記第１装置選定手順において選定された装置に対して動作状態をピュア型に切り替えるように通知する第１切替通知手順と、前記判断手順において前記予め定められた割合以上である装置がないと判断されると、切り離す装置として任意の装置を選定する第２装置選定手順と、前記第２装置選定手順において選定された装置に対して動作状態をインデックスサーバに切り替えるように通知する第２切替通知手順と、を行い、前記第１切替通知手順における通知を受信した装置は、自装置の動作状態をピュア型に切り替える第１切替手順を行い、前記第２切替通知手順における通知を受信した装置は、自装置の動作状態をインデックスサーバに切り替える第２切替手順を行うことを特徴とする。
【００１８】
請求項４に記載の発明は、ピア・ツー・ピア方式を用いて情報を検索し、検索方式を動的に切り替える装置において、ピュア型として動作している時に、ネットワークのトラフィックを測定し、このピュア動作時の測定値が予め定められたピュア動作時の閾値を超えたかを判断するピュア動作時測定手段と、前記ピュア動作時測定手段により前記ピュア動作時の測定値が前記ピュア動作時の閾値を超えたと判断された場合に、装置の動作状態をピュア型からインデックスサーバに切り替える切替処理手段と、他の装置が保持する情報を収集し管理する管理手段と、を備えたことを特徴とする。
【００１９】
請求項５に記載の発明は、インデックスサーバとして動作している時に、ネットワークのトラフィックを測定し、このサーバ動作時の測定値が予め定められたサーバ動作時の閾値を超えたかを判断するサーバ動作時測定手段と、前記サーバ動作時測定手段により前記サーバ動作時の測定値が前記サーバ動作時の閾値を越えたと判断された場合に、自装置から切り離す装置を選定する選定手段と、前記選定手段により選定された前記自装置から切り離す装置に対して情報を送信する送信手段と、を備えたことを特徴とする。
【００２０】
請求項６に記載の発明は、ピア・ツー・ピア方式を用いて情報を検索する複数の装置における検索方式の動的切替方法を実行させる切替プログラムであって、ピュア型として動作している夫々の装置は、ネットワークのトラフィックを測定し、このピュア動作時の測定値が予め定められたピュア動作時の閾値を超えたかを判断するピュア動作時測定手順を行い、前記ピュア動作時測定手順において前記ピュア動作時の測定値が前記ピュア動作時の閾値を超えたと判断した装置は、自装置の動作状態をピュア型からインデックスサーバに切り替える切替手順と、他の装置が保持する情報を収集する情報収集手順と、を行うことを特徴とする。
【００２１】
請求項７に記載の発明は、インデックスサーバとして動作している夫々の装置は、ネットワークのトラフィックを測定し、このサーバ動作時の測定値が予め定められたサーバ動作時の閾値を超えたかを判断するサーバ動作時測定手順を行い、前記サーバ動作時測定手順において前記サーバ動作時の測定値が前記サーバ動作時の閾値を越えたと判断した装置は、自装置から切り離す装置を選定する選定手順と、前記選定手順において選定された前記自装置から切り離す装置に対して情報を送信する手順と、を行うことを特徴とする。
【発明の効果】
【００２２】
本発明によれば、トラフィック量に応じて検索方式が動的に切り替わるので、効率的な検索を行うことが可能になる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態について図面を参照しつつ説明する。但し、検索処理としてグヌーテラ（Gnutella）やジャクスタ（ＪＸＳＴＡ）など既知の技術を利用するものとする。
まず、本発明の実施の形態における情報検索システムの概略について図１及び図２を参照しつつ説明する。図１及び図２は、実施の形態における情報検索システムのネットワーク構成を示す図である。但し、図１及び図２では、各装置間の接続経路を図中の実線で表している。
【００２４】
図１の各装置１−１〜１−２８は、ピュア型のＰ２Ｐシステムでネットワークを構成している。図１の箇所２ａ〜２ｄでネットワークのトラフィックが増加し、Ｐ２Ｐシステム全体の負荷が発生したとする。このとき、負荷が発生した箇所２ａ〜２ｄに接続する装置の１台が、インデックスサーバへ動作を切り替える。そして、インデックスサーバへ動作を切り替えた装置は、周辺の装置からインデックス情報を収集し、以後、インデックスサーバ上で周辺の装置の検索処理を行う。尚、この切り替え動作を含む動作内容の詳細については後述する。
【００２５】
負荷が発生した箇所２ａ，２ｂ，２ｃ，２ｄに接続する１台の１−３，１−１１，１−１５，１−２５がインデックスサーバへ動作を切り替えた後のネットワーク構成は、図２に示す構成となる。図２では、図１の負荷が発生した箇所２ａ〜２ｄの夫々に対応する箇所２Ａ〜２Ｄで装置間がハイブリッド型の構成に切り替わっている。
【００２６】
図２のインデックスサーバとして動作している装置１−３，１−１１，１−１５，１−２５のうち、何台かに負荷が集中し、Ｐ２Ｐシステム全体の負荷が発生したとする。このとき、負荷が集中したインデックスサーバとして動作している装置に接続する装置の一部を切り離し、切り離した装置の動作をピュア型の通信方式に切り替える。或いは、負荷が集中したインデックスサーバとして動作している装置に接続する装置の一台を切り離して新たにインデックスサーバに動作を切り替え、そのインデックスサーバとして動作している装置に接続する装置の一部を切り離して新たにインデックスサーバとして動作するようになった装置に接続する。そして、負荷が集中したインデックスサーバとして動作している装置はインデックス情報をピュア型或いはインデックスサーバに動作を切り替えた装置へ移動させる。尚、この切り替え動作を含む動作内容の詳細については後述する。
【００２７】
但し、図１及び図２においてインデックスサーバとして動作している装置は、ネットワークを構成する任意の装置が動作を切り替えてなるものであり、予め定められた装置が動作を切り替えてなるものではない。また、インデックスサーバと端末とで構成されるハイブリッド型の形態は、装置の接続経路により任意の箇所で自己的に形成されるものであり、ネットワーク全体で１つだけ構成されるといった固定的な形態ではない。さらに、装置の動作形態によって、つまり、インデックスサーバの有無によって、ネットワークは図１に一例を示す形態や図２に一例を示す形態に動的に変化する。
【００２８】
以下、本発明の実施の形態における装置の構成について図３を参照しつつ説明する。図３は、本発明の実施の形態における装置の構成を示す図である。尚、図１及び図２のネットワークを構成する装置１−１〜１−２８は、図３に構成を示す装置と同様のものである。
【００２９】
装置１０は、通信プロトコル制御部１１と、測定部１２と、切替処理部１３と、動作状態管理部１４と、端末処理部１５と、ユーザインターフェース１６とを有し、ＩＰネットワーク３に接続されている。
通信プロトコル制御部１１は、ＩＰネットワーク３に接続されて、装置間のデータの授受を正しく行えるように通信プロトコルを制御する。
【００３０】
測定部１２は、ピュア型の動作時、又は、インデックスサーバの動作時における、ネットワークのトラフィック量を例えば常時測定する。ここでは、検索要求パケットの数或いは中継パケットの数を測定し、測定結果をネットワークのトラフィック量の近似値として取り扱う。ピュア型として動作している場合、各装置は検索要求パケットを隣接する装置に次々に転送する処理を行うことから、この時のパケットの転送数が自装置の接続するネットワークのトラフィック量として読み取ることができる。また、インデックスサーバとして動作している場合、検索要求パケットはインデックスサーバに集められることから、この時の集められるパケット数がハイブリッドで構成するネットワークのトラフィック量として読み取ることができる。但し、測定部１２は、動作状態管理部１４の管理内容を参照して、パケットの転送数を測定するか、自装置に集められるパケットの数を測定するかを決める。尚、測定部１２で測定する対象として、前述の検索要求パケットの数や中継パケットの数以外に、例えば、その装置へのアクセス数（セッション数）、パケットの転送速度（スループット）などがある。
測定部１２は、測定値のトラフィック量が予め定められた閾値を超えると、その旨のメッセージを切替処理部１３に通知する。尚、この閾値をピュア型の動作時とインデックスサーバの動作時とで異なるように設定してもよい。
【００３１】
切替処理部１３は、測定部１２から通知があると、動作状態管理部１４に管理されている動作状態を参照し、自装置の動作状態を切り替える。詳しくは、動作状態管理部１４に管理されている動作状態がピュア型であれば、切替処理部１３は端末処理部１５に対して動作状態をピュア型からハイブリッド型に切り替えるように通知する。これに併せて、切替処理部１３は、動作状態管理部１４の管理内容をピュア型からインデックスサーバへ変更する。また、動作状態管理部１４に管理されている動作状態がインデックスサーバであれば、切替処理部１３は端末処理部１５に対して自装置に接続されている装置（自装置の子ノードとして動作している装置）の一部を自装置から切り離すように通知する。
動作状態管理部１４は、自装置の現在の動作状態を記憶し、管理する。管理する動作状態として、ピュア型、インデックスサーバ、ハイブリッド型（インデックスサーバの子ノード）がある。
【００３２】
端末処理部１５は、動作状態をピュア型、インデックスサーバ、或いはハイブリッド型にする処理を行ったり、Ｐ２Ｐ方式の検索処理を行ったりする。この端末処理部１５は、Ｐ２Ｐ方式の共通の処理を行う共通処理部２０と、ピュア型での動作時における検出処理を行うピュア型処理部３０と、インデックスサーバでの動作時及びインデックスサーバの子ノードでの動作時における検索処理を行うハイブリッド型処理部４０とを有している。
【００３３】
共有処理部２０は、メッセージ処理部２１と、検索要求処理部２２と、検索結果処理部２３とを有している。メッセージ処理部２１は、各種処理の依頼などに関連したメッセージを送受信する処理を行う。検索要求処理部２２は、ユーザインターフェース１６を利用して指定された検索条件を含む検索要求パケットを送信したり、他の装置から検索要求パケットを受信したり、他の装置から受信した検索要求パケットを転送する処理を行う。検索結果処理部２３は、自装置が送信した検索要求パケットに対する応答メッセージを受信し、装置１０が備えるディスプレイにその応答メッセージの内容を表示する。
【００３４】
ピュア型処理部３０は、転送先ノード管理部３１と検索機能処理部３２とを有している。転送先ノード管理部３１は各種パケットを転送するために隣接する周辺の装置のＩＰ（Internet Protocol）アドレスなどの情報を管理し、記憶している。検索機能処理部３２は、検索に関する処理を行うものであって、インデックスデータベース（インデックスＤＢ）３２ａと検索処理部３２ｂとを有している。インデックスＤＢ３２ａは、インデックス情報を格納する。検索機能処理部３２ｂは、検索要求パケットに含まれる検索条件を基にインデックスＤＢ３２ａを参照して検索処理を行う。
【００３５】
ハイブリッド型処理部４０は、転送先ノード管理部４１と検索機能処理部４２とを有している。転送先ノード管理部４１は、インデックスサーバとして動作する場合には自装置に子ノードとしてぶらさがる装置のＩＰアドレスなどの情報を管理し、記憶する。また、転送先ノード管理部４１は、ハイブリッド型として動作している場合には接続先のインデックスサーバとして動作している装置のＩＰアドレスなどの情報を管理し、記憶する。検索機能処理部４２は、検索に関する処理を行うものであって、インデックスデータベース（インデックスＤＢ）４２ａと検索処理部４２ｂとを有している。インデックスＤＢ４２ａは、インデックス情報を格納する。このインデックス情報には自装置のインデックス情報と、他の装置から収集したインデックス情報とがあり、インデックス情報は当該インデックス情報の最初の保有元の装置のＩＰアドレスなどの情報に関連付けられている。検索処理部４２ｂは、検索要求パケットに含まれる検索条件を基にインデックスＤＢ４２ａを参照して検索処理を行う。この検索処理部４２ｂは、インデックス情報が関連付けられている最初の保有元の装置のＩＰアドレスなどの情報を利用して、どの装置のインデックス情報が検索にヒットしたかという情報を履歴情報として保持する。この履歴情報を利用することにより、どの装置のインデックス情報に対する参照頻度が高いかを判別できる。
【００３６】
ユーザインターフェース１６は、例えばキーボードやマウスなどの入力部やディスプレイなどの表示部などにより構成されている。例えば、ユーザによる検索条件の入力に用いられ、また、検索結果を表示する。
【００３７】
さらに、図４を参照しつつ図３に構成を示した装置の動作について説明する。図４は、実施の形態における情報検索システムのネットワーク構成を示す図であり、図１の一部に相当する。
図４の各装置１０−１〜１０−７（装置１０−１〜１０−７は、図３を参照しつつ説明した装置１０と同様の装置である。）は、ピュア型のＰ２Ｐシステムでネットワークを構成している。検索要求パケットが装置１０−１から装置１０−２，１０−３，１０−４へ送信される（図４中の実線）。この検索要求パケットを受信した装置１０−２，１０−３，１０−４は、夫々、自装置のピュア型処理部３０の転送先ノード管理部３１の管理内容に基づいて受信した検索要求パケットを転送する（図４中の点線）。このようにして、検索要求パケットが装置間を次々と転送され、各装置の共有処理部２０とピュア型処理部３０で検索処理が行われる。これにより、装置１０−１によって送信された検索要求パケットがネットワーク全体へ配信され、分散した装置上にある情報を検索することが可能になる。
【００３８】
図４において、装置１０−１から送信又は転送される検索要求パケットが増加したとする。この増加に伴い、装置１０−２，１０−３が転送する検索要求パケットの数が増加する。この状態が継続すると、装置１０−３において、測定部１２による測定値が予め定められた閾値を超える。そして、測定値が閾値を超えた旨の通知が測定部１２から切替処理部１３へ送信される。この通知を受けた切替処理部１３は、動作状態管理部１４の管理内容を参照し、その内容がピュア型であるので、端末処理部１５に対してインデックスサーバの処理に切り替わるように通知する。この通知を受けた端末処理部１５は動作状態をピュア型からインデックスサーバへ切り替える。これとともに、切替処理部１３は、動作状態管理部１４の管理内容をピュア型からインデックスサーバに変更する。これにより、ネットワークの構成がハイブリッド型の構成になる（図７参照）。
【００３９】
さらに、図５を参照しつつ図３に構成を示した装置の動作について説明する。図５は、実施の形態における装置がインデックスサーバに切り替わる時の動作を説明するための説明図である。
図４を参照しつつ説明したように、装置１０−３において測定部１２による測定値が予め定められた閾値を超えると、装置１０−３の動作状態がピュア型からインデックスサーバへと切り替わる。続いて、動作状態がインデックスサーバへ切り替わった装置１０−３から、自装置のピュア型処理部３０の転送先ノード管理部３１で管理されているＩＰアドレスなどの情報を利用して装置１０−２，１０−４，１０−５，１０−６，１０−７（転送先ノード管理部３１にＩＰアドレスなどの情報が管理されている全ての装置）に対して、自装置の動作状態がインデックスサーバへ切り替わったことを通知するための自装置のＩＰアドレスなどの情報を含む通知メッセージＭ１を送信する。
【００４０】
装置１０−２，１０−４，１０−５，１０−６，１０−７が装置１０−３から通知メッセージＭ１を受信すると、夫々、その装置の端末処理部１５は、動作状態をピュア型からハイブリッド型へ切り替える。この際、各装置の端末処理部１５は、通知メッセージＭ１を基に、自装置が接続するインデックスサーバである装置１０−３のＩＰアドレスなどの情報をハイブリッド型処理部４０の転送先ノード管理部４１に格納する。また、端末処理部１５は、動作状態管理部１４の管理内容をピュア型からハイブリッド型に変更する。
【００４１】
ハイブリッド型に動作が切り替わった装置１０−２，１０−４，１０−５，１０−６，１０−７において、夫々、その装置の端末処理部１５は、通知メッセージＭ１の送信元の装置１０−３に対して、自装置のピュア型処理部３０のインデックスＤＢ３２ａに格納されているインデックス情報Ｉｎｄｅｘ２，Ｉｎｄｅｘ４，Ｉｎｄｅｘ５，Ｉｎｄｅｘ６，Ｉｎｄｅｘ７を送信する（図５中点線）。その後も装置１０−２，１０−４，１０−５，１０−６，１０−７は自装置のインデックス情報が更新されると更新されたインデックス情報を装置１０−３に対して送信する。
【００４２】
装置１０−３において、インデックス情報Ｉｎｄｅｘ２，Ｉｎｄｅｘ４，Ｉｎｄｅｘ５，Ｉｎｄｅｘ６，Ｉｎｄｅｘ７が受信されると、装置１０−３の端末処理部１５は受信したインデックス情報を送信元（最初の保有元）の装置のＩＰアドレスなどの情報に関連付けてハイブリッド型処理部４０のインデックスＤＢ４２ａに格納する。これにより、装置１０−３のインデックスＤＢ４２ａに周辺の装置のインデックスが記憶され、装置１０−３上で検索処理が行われる。
【００４３】
さらに、図４及び図５を参照しつつ説明した検索方式の切替処理について図６を参照しつつ説明する。図６は検索方式の切替処理の動作を示すシーケンス図である。
【００４４】
装置１０−３に他の装置から検索要求パケットが送られてくる（ステップＳ１０１）。測定部１２において単位時間当たりの検索要求パケットの数を測定し、測定値に基づいてトラフィック量が予め定められた閾値を超えたかを監視する（ステップＳ１０２）。そして、トラフィック量が閾値を超えたことが検知されると、測定部１２は切替処理部１３に対してトラフィック量が閾値を超えた旨を通知する（ステップＳ１０３）。
【００４５】
切替処理部１３は、測定部１２からトラフィック量が閾値を超えた旨の通知を受け取ると、動作状態管理部１４の管理内容を参照し、その内容がピュア型であるので、端末処理部１５に対して動作状態をピュア型からインデックスサーバへ切り替えるように通知する（ステップＳ１０４）。通知とともに、切替処理部１３は動作状態管理部１４の管理内容をピュア型からインデックスサーバへ変更する。
【００４６】
端末処理部１５は、切替処理部１３からステップＳ１０４の通知を受け取ると、動作状態をピュア型からインデックスサーバへ切り替える（ステップＳ１０５）。
【００４７】
端末処理部１５は、ピュア型処理部３０の転送先ノード管理部３１にＩＰアドレスなどの情報が記憶されている装置（このシーケンスでは、装置１０−２，１０−４，１０−５，１０−６，１０−７）に対して、そのＩＰアドレスなどの情報を利用して、自装置の動作状態がインデックスサーバに切り替わった旨の通知を行うとともに、動作状態をハイブリッド型に切り替えるように要求する（ステップＳ１０６）。
【００４８】
ステップＳ１０６の通知及び要求を受け取った装置１０−２，１０−４，１０−５，１０−６，１０−７の夫々の端末処理部１５は動作状態をピュア型からハイブリッド型に切り替える。この際、夫々の端末処理部１５は、ハイブリッド型処理部４０の転送先ノード管理部４１にステップＳ１０６の通知及び要求を行った装置１０−３のＩＰアドレスなどの情報を格納する（ステップＳ１０７）。
【００４９】
装置１０−２，１０−４，１０−５，１０−６，１０−７の夫々において、端末処理部１５はそのピュア型処理部３０のインデックスＤＢ３２ａに格納されているインデックス情報をステップＳ１０６の通知及び要求を行った端末装置１０−３に対して送信する（ステップＳ１０８）。
【００５０】
装置１０−３の端末処理部１５は、自装置のハイブリッド型処理部４０の転送先ノード管理部４１に自装置のピュア型処理部３０の転送先ノード管理部３１に記憶されているＩＰアドレスなどの情報を記憶する（ステップＳ１０９）。さらに、端末処理部１５は、受信したインデックスの情報を送信元（最初の保有元）の装置のＩＰアドレスなどの情報に関連付けてハイブリッド型処理部４０のインデックスＤＢ４２ａに格納する（ステップＳ１１０）。
【００５１】
装置１０−２，１０−４，１０−５，１０−６，１０−７の夫々において、自装置のインデックス情報が更新されると、更新されたインデックス情報を、自装置のハイブリッド型処理部４０の転送先ノード管理部４１に記憶されているＩＰアドレスなどの情報を利用して、装置１０−３へ送信する（ステップＳ１１１）。そして、装置１０−３において、更新されたインデックス情報を受信すると、端末処理部１５は更新されたインデックス情報をハイブリッド型処理部４０のインデックスＤＢ４２ａに記憶する（ステップＳ１１２）。
【００５２】
上述したように、ネットワークのトラフィックが増加し、トラフィック量が予め定められた閾値を超えると、それを検知した装置の動作状態がピュア型からインデックスサーバに動的に切り替わる。これにより、ネットワーク内のトラフィックを下げ、効率的な検索を行うことが可能になる。
【００５３】
次に、図７を参照しつつ図３に構成を示した装置の動作について説明する。図７は、実施の形態における情報検索システムのネットワーク構成を示す図であり、図２のハイブリッド型で構成されているネットワークの一部に相当する。
【００５４】
図７において、装置１０−３は、上述の検索方式の切替処理によりインデックスサーバとして動作するようになっている。また、装置１０−２，１０−４，１０−５，１０−６，１０−７は、上述の検索方式の切替処理によりハイブリッド型として動作するようになっている。そして、装置１０−２，１０−４，１０−５，１０−６，１０−７は、インデックスサーバとして動作している装置１０−３を中心に接続されている。装置１０−２，１０−４，１０−５，１０−６，１０−７は、インデックス情報の更新があると、更新されたインデックス情報の更新パケットを装置１０−３に対して送信する（図７中点線）。また、装置１０−１は検索要求パケットを装置１０−３と送受信する（図７中実線）。
【００５５】
検索要求パケットが装置１０−１から装置１０−３へ送信される（図７中実線）。装置１０−３において、検索要求パケットが受信されると、装置１０−３の共有処理部２０とハイブリッド型処理部４０により検索要求パケットに対する検索処理が行われる。そして、装置１０−３から検索要求パケットの送信元である装置１０−１に対して検索処理の結果を応答する。これが繰り返されて、ネットワーク上に分散した装置上にある情報を検索することが可能になる。
【００５６】
図７において、装置１０−１から装置１０−３へ送信される検索要求パケットが増加したとする。この増加に伴い、装置１０−３へのアクセス負荷が増大する。この状態が継続すると、装置１０−３において、測定部１２による測定値が予め定められた閾値を超える。そして、測定値が閾値を超えた旨の通知が測定部１２から切替処理部１３へ送信される。この通知を受けた切替処理部１３は、動作状態管理部１４の管理内容を参照し、その内容がインデックスサーバであるので、端末処理部１５に対して自装置の子ノードの一部を切り離すように要求する。
【００５７】
端末処理部１５が切替処理部１３から自装置の子ノードの一部を切り離すように要求されると、端末処理部１５はハイブリッド型処理部４０の検索処理部４２ｂに格納されている履歴情報を利用して、インデックス情報の参照が特定の装置に集中しているかを判断する。言い換えると、装置１０−２から収集した各インデックス情報の参照回数を合計した回数（装置１０−２から収集したインデックス情報がＩｎｄｅｘＡ，ＩｎｄｅｘＢであり、夫々の参照回数がＡ回、Ｂ回であれば、Ａ＋Ｂ）が、装置１０−２，１０−４，１０−５，１０−６，１０−７から収集した各インデックス情報の参照回数を合計した回数（装置１０−２，１０−４，１０−５，１０−６，１０−７から収集したインデックス情報がＩｎｄｅｘＡ，ＩｎｄｅｘＢ，ＩｎｄｅｘＣ，ＩｎｄｅｘＤ，ＩｎｄｅｘＥ，ＩｎｄｅｘＦ，ＩｎｄｅｘＧであり、夫々の参照回数がＡ回、Ｂ回、Ｃ回、Ｄ回、Ｅ回、Ｆ回、Ｇ回であれば、Ａ＋Ｂ＋Ｃ＋Ｄ＋Ｅ＋Ｆ＋Ｇ）の予め定められた割合以上であるかを調べ、予め定められた割合以上であればインデックス情報の参照が装置１０−２に集中していると判断する。同様のことを装置１０−４，１０−５，１０−６，１０−７についても行う。そして、集中していると判断した場合には、集中していると判断された装置を子ノードから切り離す処理を行う。この切り離された装置は動作状態をピュア型に切り替える。これにより、負荷を分散させる。
【００５８】
一方、集中していないと判断された場合には、自装置の子ノード（ハイブリッド型として動作している装置）の１台の動作状態をインデックスサーバに切り替えて自装置から切り離すとともに、自装置の子ノードの一部を新たにインデックスサーバとなった装置の子ノードにして自装置から切り離す。これにより、負荷が分散される。
【００５９】
さらに、図７において記載した子ノードを切り離して、この切り離された装置の動作状態をピュア型に切り替える場合の動作について図８を参照しつつ説明する。図８は、実施の形態における切り離された装置がピュア型に切り替わるときの動作を説明するための説明図である。尚、図８においては、装置１０−２，１０−５のインデックス情報に参照が集中しているとして説明する。
【００６０】
図７において、上述したように装置１０−３の測定部１２による測定値が予め定められた閾値を超えると、測定部１２から切替処理部１３へ閾値を超えた旨の通知がされる。通知された切替処理部１３は、動作状態管理部１３の管理内容を参照して、その管理内容がインデックスサーバであるので、端末処理部１５に対して子ノードの一部を切り離すように要求する。この要求を受け取った端末処理部１５は、ハイブリッド型処理部４０の検索処理部４２ｂに格納されている履歴情報を参照し、インデックス情報の参照が特定の装置に集中しているかを判断する。ここでは、装置１０−２，１０−５のインデックス情報に参照が集中していると判断され、装置１０−２，１０−５を切り離す装置に選定する。尚、装置１０−２，１０−５のＩＰアドレスなどの情報が不要になった後にハイブリッド型処理部４０の転送先ノード管理部４１から削除される。
【００６１】
装置１０−３は、選定した装置１０−２，１０−５に対して動作状態をピュア型に切り替えるように通知するための通知メッセージＭ２を送信する。この通知メッセージＭ２を受信した装置１０−２，１０−５の夫々の端末処理部１５は、自装置の動作状態をピュア型へ切り替えるとともに、動作状態管理部１４の管理内容をハイブリッド型からピュア型へ変更する。また、装置１０−３は、装置１０−２，１０−５の夫々から受け取ってハイブリッド型処理部４０のインデックスＤＢ４２ａに格納されたインデックス情報ＩＮＤＥＸ１，ＩＮＤＥＸ２を元の装置１０−２，１０−５へ送信（返却）し、返却したインデックス情報をインデックスＤＢ４２ａから削除する。
【００６２】
装置１０−２，１０−５の夫々の端末処理部１５は、返却されたインデックス情報を自装置のピュア型処理部３０のインデックスＤＢ３２ａに格納する。この後、装置１０−１は装置１０−２，１０−３，１０−５と検索要求パケットの送受信を行う（図８中の実線）。尚、装置１０−４，１０−６，１０−７については、それまで通り装置１０−３を中心としたハイブリッド型で動作する。また、上述したように、装置１０−４，１０−６，１０−７は、夫々、更新されたインデックス情報を装置１０−３に対して送信する（図８中の実線）。
【００６３】
このように、装置１０−３に集中していた負荷（装置１０−２，１０−４，１０−５，１０−６，１０−７のインデックス情報に対する検索要求パケットによる負荷）を、装置１０−２，１０−５を切り離すことによって下げることができる。
【００６４】
さらに、図７及び図８を参照しつつ説明した検索方式の切替処理について図９を参照しつつ説明する。図９は検索方式の切替処理の動作を示すシーケンス図である。
【００６５】
装置１０−３に他の装置から検索要求パケットが送られてくる（ステップＳ２０１）。測定部１２において単位時間当たりの検索要求パケットの数を測定し、測定値に基づいてトラフィック量が予め定められた閾値を超えたかを監視する（ステップＳ２０２）。そして、トラフィック量が閾値を超えたことが検知されると、測定部１２は切替処理部１３に対してトラフィック量が閾値を超えた旨を通知する（ステップＳ２０３）。
【００６６】
切替処理部１３は、測定部１２からトラフィック量が閾値を超えた旨の通知を受け取ると、動作状態管理部１４の管理内容を参照し、その内容がインデックスサーバであるので、端末処理部１５に対して自装置の子ノードの一部を切り離すように通知する（ステップＳ２０４）。
【００６７】
端末処理部１５は、切替処理部１３からステップＳ２０４の通知を受け取ると、ハイブリッド型処理部４０の検索処理部４２ｂに記憶されている履歴情報を参照して、参照が特定の装置に集中しているかを判断する。このシーケンスでは、参照が装置１０−２，１０−５に集中していると判断され、装置１０−２，１０−５を切り離す装置に選定する（ステップＳ２０５）。尚、装置１０−２，１０−５のＩＰアドレスなどの情報が不要になった後、端末処理部１５は、ハイブリッド型処理部４０の転送先ノード管理部４１から装置１０−２，１０−５のＩＰアドレスなどの情報を削除する。
【００６８】
端末処理部１５は、ステップＳ２０５で選定した装置１０−２，１０−５に対して動作状態をピュア型に切り替えるように要求する（ステップＳ２０６）。この要求を受け取った装置１０−２，１０−５の夫々の端末処理部１５は自装置の動作状態をハイブリッド型からピュア型へ切り替える。この際、端末処理部１５は、動作状態管理部１４の管理内容をハイブリッド型からピュア型へ変更する（ステップＳ２０７）。
【００６９】
また、装置１０−３の端末処理部１５は、ハイブリッド型処理部４０のインデックスＤＢ４２ａに記憶されている装置１０−２から受け取ったインデックス情報を装置１０−２へ送信する。また、端末処理部１５は、ハイブリッド型処理部４０のインデックスＤＢ４２ａに記憶されている装置１０−５から受け取ったインデックス情報を装置１０−５へ送信する（ステップＳ２０８）。尚、端末処理部１５は、装置１０−２，１０−５へ送信したインデックス情報をハイブリッド型処理部４０のインデックスＤＢ４２ａから削除する。
【００７０】
装置１０−２，１０−５の夫々の端末処理部１５は、装置１０−３により送信されたインデックス情報を受信すると、受信したインデックス情報をピュア型処理部３０のインデックスＤＢ３２ａに格納する（ステップＳ２０９）。以後、端末１０−２，１０−５は、検索要求パケットを自装置上で処理し、検索結果を要求元の装置へ応答する。
【００７１】
上述したように、インデックスサーバとして動作している装置１０−３のトラフィック量が予め定められた閾値を超えると、参照が集中している装置１０−２，１０−５を切り離し、切り離した装置１０−２，１０−５の動作状態がハイブリッド型からピュア型に切り替わる。これにより、インデックスサーバとして動作している装置１０−３の負荷を下げ、効率的な検索が可能になる。
【００７２】
さらに、図７において記載した子ノードを切り離して、この切り離された装置の一部の動作状態をインデックスサーバに切り替える場合の動作について図１０を参照しつつ説明する。図１０は、実施の形態における切り離された装置がインデックスサーバに切り替わるときの動作を説明するための説明図である。尚、インデックス情報の参照が装置１０−２，１０−４，１０−５，１０−６，１０−７の何れにも集中していないとして説明する。
【００７３】
図７において、上述したように装置１０−３の測定部１２による測定値が予め定められた閾値を超えると、測定部１２から切替処理部１３へ閾値を超えた旨の通知がされる。通知された切替処理部１３は、動作状態管理部１３の管理内容を参照して、その管理内容がインデックスサーバであるので、端末処理部１５に対して子ノードの一部を切り離すように要求する。この要求を受け取った端末処理部１５は、ハイブリッド型処理部４０の検索処理部４２ｂに格納されている履歴情報を参照し、インデックス情報の参照が特定の装置に集中しているかを判断する。ここでは、インデックス情報の参照が装置１０−２，１０−４，１０−５，１０−６，１０−７の何れにも集中していないと判断する。そして、端末処理部１５は、動作状態をインデックスサーバに切り替える装置をハイブリッド型処理部４０の転送先ノード管理部４１に記憶されている転送先から無作為に選定し、ここでは、装置１０−２を選定する。また、端末処理部１５は、自装置から切り離し、新たにインデックスサーバとして動作することになる装置１０−２の子ノードとする装置をハイブリッド型処理部４０の転送先ノード管理部４１に記憶されている転送先から無作為に選定し、ここでは、装置１０−５，１０−６を選定する。尚、装置１０−２，１０−５，１０−６のＩＰアドレスなどの情報が不要になった後にハイブリッド型処理部４０の転送先ノード管理部４１から削除される。
【００７４】
装置１０−３は、装置１０−２に対して動作状態をインデックスサーバに切り替えるように通知するための通知メッセージＭ３を送信する。この通知メッセージＭ３を受信した装置１０−２の端末処理部１５は、自装置の動作状態をハイブリッド型からインデックスサーバに切り替え、動作状態管理部１４の管理内容をハイブリッド型からインデックスサーバへ変更する。
【００７５】
装置１０−３の端末処理部１５は装置１０−２に対して、ハイブリッド型処理部４０の転送先ノード管理部４１の管理内容を参照して、その装置１０−２の子ノードとなる装置１０−５，１０−６のＩＰアドレスなどの情報を送信する。そして、装置１０−２の端末処理部１５は、受信した装置１０−５，１０−６のＩＰアドレスなどの情報をハイブリッド型処理部４０の転送先ノード管理部４１に管理する。
【００７６】
また、装置１０−３の端末処理部１５は、装置１０−２に対して、ハイブリッド型処理部４０のインデックスＤＢ４２ａに記憶されている装置１０−２，１０−５，１０−６から受け取ったインデックス情報ＩＮＤＥＸ３をその最初の保有元の装置のＩＰアドレスなどの情報と関連付けて送信する。そして、装置１０−２の端末処理部１５は装置１０−３により送信されたインデックス情報をその最初の保有元の装置のＩＰアドレスなどの情報に関連付けてハイブリッド型処理部４０のインデックスＤＢ４２ａに格納する。
【００７７】
装置１０−２の端末処理部１５、自装置の子ノードとなる装置１０−５，１０−６に対して自装置がインデックスサーバになったことを通知するための自装置のＩＰアドレスなどの情報を含む通知メッセージＭ４を送信する。この通知メッセージＭ４を受信した装置１０−５，１０−６の夫々の端末処理部１５は、ハイブリッド型処理部４０の転送先ノード管理部４１の管理内容を装置１０−３のＩＰアドレスなどの情報から装置１０−２のＩＰアドレスなどの情報へ変更する。以後、装置１０−５，１０−６は、夫々、装置１０−２に対して、ハイブリッド型処理部４０の転送先ノード管理部４１に記憶されているＩＰアドレスなどの情報を利用して、更新されたインデックス情報を送信する（図１０中点線）。但し、装置１０−４，１０−７に関しては、そのまま装置１０−３に対して、ハイブリッド型処理部４０の転送先ノード管理部４１に記憶されているＩＰアドレスなどの情報を利用して、更新されたインデックス情報を送信する（図１０中点線）。尚、装置１０−１は、装置１０−２，１０−３との間で検索要求パケットを送受信する（図中実線）
【００７８】
このように、装置１０−３に集中していた負荷（装置１０−２，１０−４，１０−５，１０−６，１０−７のインデックス情報に対する検索要求パケットによる負荷）を、装置１０−２を２台目のインデックスサーバとして装置１０−３から切り離すと共に、装置１０−５，１０−６を装置１０−２の子ノードとして装置１０−３から切り離すことによって下げることができる。
【００７９】
さらに、図７及び図１０を参照しつつ説明した検索方式の切替処理について図１１を参照しつつ説明する。図１１は検索方式の切替処理の動作を示すシーケンス図である。
【００８０】
装置１０−３に他の装置から検索要求パケットが送られてくる（ステップＳ３０１）。測定部１２において単位時間当たりの検索要求パケットの数を測定し、測定値に基づいてトラフィック量が予め定められた閾値を超えたかを監視する（ステップＳ３０２）。そして、トラフィック量が閾値を超えたことが検知されると、測定部１２は切替処理部１３に対してトラフィック量が閾値を超えた旨を通知する（ステップＳ３０３）。
【００８１】
切替処理部１３は、測定部１２からトラフィック量が閾値を超えた旨の通知を受け取ると、動作状態管理部１４の管理内容を参照し、その内容がインデックスサーバであるので、端末処理部１５に対して自装置の子ノードの一部を切り離すように通知する（ステップＳ３０４）。
【００８２】
端末処理部１５は、切替処理部１３からステップＳ３０４の通知を受け取ると、ハイブリッド型処理部４０の検索処理部４２ｂに記憶されている履歴情報を参照して、参照が特定の装置に集中しているかを判断する。このシーケンスでは、参照が装置１０−２，１０−４，１０−５，１０−６，１０−７の何れにも集中していないと判断され、端末処理部１５はハイブリッド型処理部４０の転送先ノード管理部４１に記憶されている装置から無作為に動作状態をインデックスサーバに切り替える装置を選定し、このシーケンスでは装置１０−２を選定する。さらに、端末処理部１５はハイブリッド型処理部４０の転送先ノード管理部４１に記憶されている装置から無作為に装置１０−２の子ノードとする装置を選定し、このシーケンスでは装置１０−５，１０−６を選定する（ステップＳ３０５）。
【００８３】
端末処理部１５は、インデックスサーバに選定された装置１０−２に対して、動作状態をピュア型からインデックスサーバに切り替えるように要求する（ステップＳ３０６）。この要求を受け取った装置１０−２の端末処理部１５は動作状態をハイブリッド型からインデックスサーバに切り替える。この際、端末処理部１５は、動作状態管理部１４の管理内容をハイブリッド型からインデックスサーバへ変更する（ステップＳ３０７）。
【００８４】
装置１０−３の端末処理部１５は、ハイブリッド型処理部４０の転送先ノード管理部４１の管理内容を参照して、装置１０−２の子ノードになる装置１０−５，１０−６のＩＰアドレスなどの情報を装置１０−２に対して送信する。また、端末処理部１５は、装置１０−２，１０−５，１０−６のＩＰアドレスなどの情報に関連付けられてハイブリッド型処理部４０のインデックスＤＢ４２ａに格納されているインデックス情報を装置１０−２に対して送信する。この際、インデックス情報の最初の保有元が分かるように最初の保有元の装置のＩＰアドレスなどの情報に関連付けて送信する（ステップＳ３０８）。
【００８５】
装置１０−２の端末処理部１５は、自装置の子ノードになる装置１０−５，１０−６のＩＰアドレスなどの情報を受信すると、受信した装置１０−５，１０−６のＩＰアドレスなどの情報をハイブリッド型処理部４０の転送先ノード管理部４１に格納する。また、端末処理部１５は、インデックス情報を受信すると、受信したインデックス情報を最初の保有元の装置のＩＰアドレスなどの情報に関連付けてハイブリッド型処理部４０のインデックスＤＢ４２ａに格納する（ステップＳ３０９）。
【００８６】
端末処理部１５の端末処理部１５は自装置の子ノードになる装置１０−５，１０−６に対して、ハイブリッド型処理部４０の転送先ノード処理部４１に格納されたＩＰアドレスなどの情報を利用して、自装置がインデックスサーバになったことを通知する（ステップＳ３１０）。
【００８７】
ステップＳ３１０の通知を受けた装置１０−５，１０−６の夫々の端末処理部１５は、ハイブリッド型処理部４０の転送先ノード管理部４１の管理内容を装置１０−３のＩＰアドレスなどの情報から装置１０−２のＩＰアドレスなどの情報に変更する。つまり、接続先を通知元の装置１０−２に切り替える（ステップＳ３１１）。以後、装置１０−５，１０−６は、夫々、ハイブリッド型処理部４０の転送先ノード管理部４１の管理内容を利用して、更新されたインデックス情報を装置１０−２へ送信する（ステップＳ３１２）。そして、装置１０−２の端末処理部１５は、更新されたインデックス情報を受信すると、更新されたインデックス情報をハイブリッド型処理部４０のインデックスＤＢ４２ａに記憶する（ステップＳ３１３）。
【００８８】
上述したように、インデックスサーバとして動作している装置１０−３のトラフィック量が予め定められた閾値を超えると、装置１０−３の子ノードとなっている装置から無作為に選ばれた装置をインデックスサーバとして装置１０−３から切り離す。これとともに、無作為に選ばれた装置を新たなインデックスサーバとして動作する装置１０−２の子ノードにして装置１０−３から切り離す。これにより、インデックスサーバとして動作している装置１０−３の負荷を下げ、効率的な検索が可能になる。
【００８９】
以上、本発明の好適な実施の形態について説明したが、本発明は上述の実施の形態に限られるものではなく、特許請求の範囲に記載した限りにおいて様々な設計変更が可能なものである。
【００９０】
また、上述した実施の形態の各処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述した各処理を行ってもよい。尚、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００９１】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００９２】
【図１】実施の形態におけるピュア型の情報検索システムのネットワーク構成図。
【図２】実施の形態における一部にハイブリッド型を含む情報検索システムのネットワーク構成図。
【図３】実施の形態における装置の構成を示すブロック図。
【図４】検索方式の切替処理を説明する説明図。
【図５】検索方式の切替処理を説明する説明図。
【図６】検索方式の切替処理を示すシーケンス図。
【図７】検索方式の切替処理を説明する説明図。
【図８】検索方式の切替処理を説明する説明図。
【図９】検索方式の切替処理を示すシーケンス図。
【図１０】検索方式の切替処理を説明する説明図。
【図１１】検索方式の切替処理を示すシーケンス図。
【図１２】従来からあるピュア型のＰ２Ｐシステムのネットワーク構成図。
【図１３】図１２の端末装置の構成を示すブロック図。
【図１４】従来からあるハイブリッド型のＰ２Ｐシステムのネットワーク構成図。
【図１５】図１４のインデックスサーバの構成を示すブロック図。
【符号の説明】
【００９３】
１０  装置、  １１  通信プロトコル制御部、  １２  測定部、  １３  切替処理部、  １４  動作状態管理部、  １５  端末処理部、  ２０  共有処理部、  ２１メッセージ処理部、  ２２  検索要求処理部、  ２３  検索結果処理部、  ３０  ピュア型処理部、  ３１  転送先ノード管理部、  ３２  検索機能処理部、  ３２ａ  インデックスデータベース、  ３２ｂ  検索処理部、  ４０  ハイブリッド型処理部、  ４１  転送先ノード管理部、  ４２  検索機能処理部、  ４２ａ  インデックスデータベース、  ４２ｂ  検索処理部
【図１】
2005092784.tif 000003
【図２】
2005092784.tif 000004
【図３】
2005092784.tif 000005
【図４】
2005092784.tif 000006
【図５】
2005092784.tif 000007
【図６】
2005092784.tif 000008
【図７】
2005092784.tif 000009
【図８】
2005092784.tif 000010
【図９】
2005092784.tif 000011
【図１０】
2005092784.tif 000012
【図１１】
2005092784.tif 000013
【図１２】
2005092784.tif 000014
【図１３】
2005092784.tif 000015
【図１４】
2005092784.tif 000016
【図１５】
2005092784.tif 000017