(57)【要約】【課題】  分散インデックスサーバにおけるインデックスの最適配置を実現する構成を提供する。【解決手段】  複数のインデックスサーバを適用してインデックス情報を分散格納するシステムにおいて、登録インデックスのスナップシッョトとして設定される検索インデックスの配置先を、各インデックスサーバのデータ記憶容量や、アクセス数、あるいはデータ移動量を考慮して決定する。本構成により、複数のインデックスサーバの全体の記憶領域を有効活用が可能となり、各インデックスサーバのアクセス数に対応する処理負荷の分散が可能となり、さらに、検索インデックスの再配置によるデータ移動量も最小限としたインデックス配置処理が可能となる。【選択図】  図９
2006185019.tif 000002
【特許請求の範囲】
【請求項１】
インデックス情報を適用した検索処理を行なう検索システムであり、
インデックス情報の更新処理用データとしての登録インデックスと、検索処理に適用するインデックスデータであり登録インデックスに対応するスナップショットとして設定される検索インデックスとを保持する複数のインデックスサーバと、
前記複数のインデックスサーバにおける検索インデックスの配置決定処理を実行するインデックスサーバ管理部とを有し、
前記インデックスサーバ管理部は、
前記複数のインデックスサーバのインデックス情報の記憶領域としてのインデックス格納領域サイズと、登録インデックスサイズとに基づいて、各インデックスサーバに配置可能な検索インデックスの配置パターンを選択し、選択された配置可能パターン各々に対する評価処理に基づいて最適な配置パターンを決定する処理を実行する構成であり、
前記複数のインデックスサーバは、前記最適配置パターンに従って、検索インデックスの再配置を実行する構成であることを特徴とする検索システム。
【請求項２】
前記複数のインデックスサーバの各々は、
自己のインデックス格納領域に配置した検索インデックスに対するアクセス数をカウントする構成であり、
前記インデックスサーバ管理部は、
前記配置可能パターン各々に対する評価処理として、各配置パターンとした場合の各インデックスサーバの最大アクセス数と最小アクセス数との差を評価関数ＰＡとして算出し、該評価関数ＰＡが最小となる配置パターンを最適配置パターンとして選択する処理を実行する構成であることを特徴とする請求項１に記載の検索システム。
【請求項３】
前記インデックスサーバ管理部は、
前記配置可能パターン各々に対する評価処理として、各配置パターンとした場合のインデックスサーバ間のインデックス情報移動量を評価関数ＰＭとして算出し、該評価関数ＰＭが最小となる配置パターンを最適配置パターンとして選択する処理を実行する構成であることを特徴とする請求項１に記載の検索システム。
【請求項４】
前記複数のインデックスサーバの各々は、
自己のインデックス格納領域に配置した検索インデックスに対するアクセス数をカウントする構成であり、
前記インデックスサーバ管理部は、
前記配置可能パターン各々に対する評価処理として、各配置パターンとした場合の各インデックスサーバの最大アクセス数と最小アクセス数との差を評価関数ＰＡとして算出し、
さらに、各配置パターンとした場合のインデックスサーバ間のインデックス情報移動量を評価関数ＰＭとして算出し、
評価関数ＰＡと評価関数ＰＭとを適用した総合的な評価処理に基づいて、最適配置パターンの決定処理を実行する構成であることを特徴とする請求項１に記載の検索システム。
【請求項５】
インデックス情報の更新処理用データとしての登録インデックスと、検索処理に適用するインデックスデータであり登録インデックスに対応するスナップショットとして設定される検索インデックスとを保持する複数のインデックスサーバを有する検索システムにおける検索インデックスの配置構成の決定処理をコンピュータ上で実行させるコンピュータ・プログラムであり、
前記複数のインデックスサーバのインデックス情報の記憶領域としてのインデックス格納領域サイズと、登録インデックスサイズとに基づいて、各インデックスサーバに配置可能な検索インデックスの配置パターンを選択する配置可能パターン選択ステップと、
前記配置可能パターン各々に対する評価処理に基づいて最適な配置パターンを決定する最適配置パターン決定ステップと、
を有することを特徴とするコンピュータ・プログラム。
【請求項６】
前記最適配置パターン決定ステップは、
前記配置可能パターン各々に対する評価処理として、各配置パターンとした場合の各インデックスサーバに配置した検索インデックスに対する最大アクセス数と最小アクセス数との差を評価関数ＰＡとして算出するステップと、
前記評価関数ＰＡが最小となる配置パターンを最適配置パターンとして選択するステップと、
を有することを特徴とする請求項５に記載のコンピュータ・プログラム。
【請求項７】
前記最適配置パターン決定ステップは、
前記配置可能パターン各々に対する評価処理として、各配置パターンとした場合のインデックスサーバ間のインデックス情報移動量を評価関数ＰＭとして算出するステップと、
前記評価関数ＰＭが最小となる配置パターンを最適配置パターンとして選択するステップと、
を有することを特徴とする請求項５に記載のコンピュータ・プログラム。
【請求項８】
前記最適配置パターン決定ステップは、
前記配置可能パターン各々に対する評価処理として、各配置パターンとした場合の各インデックスサーバに配置した検索インデックスに対する最大アクセス数と最小アクセス数との差を評価関数ＰＡとして算出するステップと、
前記配置可能パターン各々に対する評価処理として、各配置パターンとした場合のインデックスサーバ間のインデックス情報移動量を評価関数ＰＭとして算出するステップと、
評価関数ＰＡと評価関数ＰＭとを適用した総合的な評価処理に基づいて、最適配置パターンの決定処理を実行するステップと、
を有することを特徴とする請求項５に記載のコンピュータ・プログラム。
【請求項９】
インデックス情報の更新処理用データとしての登録インデックスと、検索処理に適用するインデックスデータであり登録インデックスに対応するスナップショットとして設定される検索インデックスとを保持する複数のインデックスサーバを有する検索システムにおける検索インデックスの配置構成を決定する情報配置構成決定方法であり、
前記複数のインデックスサーバのインデックス情報の記憶領域としてのインデックス格納領域サイズと、登録インデックスサイズとに基づいて、各インデックスサーバに配置可能な検索インデックスの配置パターンを選択する配置可能パターン選択ステップと、
前記配置可能パターン各々に対する評価処理に基づいて最適な配置パターンを決定する最適配置パターン決定ステップと、
を有することを特徴とする情報配置構成決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索システム、および情報配置構成決定方法、並びにコンピュータ・プログラムに関する。さらに、詳細には、検索システムに適用されるインデックス情報の最適な配置構成を、様々な評価処理によって求め、最適なインデックス配置を実現する検索システム、および情報配置構成決定方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
昨今、インターネットあるいはイントラネットなどのネットワーク通信が盛んになり、様々なデータ通信、データ処理がネットワークを介して行なわれている。ネットワークを介したサービスの１つとして検索サービスがある。検索サービスは、例えばネットワーク接続されたパーソナルコンピュータ、携帯端末などのユーザ端末からの検索要求を検索サーバが受信し、検索サーバにおいて、検索要求に応じた処理を実行して処理結果をユーザ端末に送信するサービスである。
【０００３】
例えば、インターネットを介した検索処理を実行する場合、検索サービスを提供しているＷｅｂサイトにアクセスし、Ｗｅｂサイトの提示メニューに従って、キーワード、カテゴリなどの検索条件を入力しサーバに送信する。サーバは、これらの検索条件に従って、処理を実行し、処理結果をユーザ端末に表示する。
【０００４】
データ検索処理の実行機能を持つ検索エンジンは、例えば検索条件を設定した検索式に基づいてデータベースを検索し、それぞれの検索式に合致するデータをデータベースから抽出し、これを検索結果としてユーザ端末に出力する。
【０００５】
一般的なデータ検索システムでは、文書データから抽出したインデックス情報、例えば、文献名、著者、更新日、キーワードなどのインデックス情報を抽出して格納したインデックスサーバを利用した検索処理を行なっている。すなわち、検索サーバは、ユーザからの検索依頼に応じてインデックスサーバの格納情報に基づく検索処理を実行して、インデックスサーバからの抽出情報を検索結果としてユーザに提供する構成を採用している。この構成によって、膨大なデータを格納した文書データベースの検索を行なうことなく、必要な情報を効率的に取得しユーザに提供することができ、データ処理効率が向上する。
【０００６】
さらに、インデックスサーバを複数設定し、複数のインデックスサーバに、インデックス情報を分散して格納することにより負荷の分散を図ることが行なわれている。１つのインデックスサーバのみとすると、検索処理要求が同時に多数発生した場合など、過大な負荷が発生し、処理の遅延が生じてしまうが、複数のインデックスサーバを持つ構成とすることで、負荷分散が可能となり、処理効率を高めることができる。
【０００７】
インデックスサーバを利用したシステムでは、例えば文書データの本体を格納した文書データベースの更新に応じて、インデックスサーバを更新することが必要となる。すなわち、文書データベースに新規文書が格納された場合や、文書データベースに格納された文書が更新された場合など、文書データベースの格納データの変更があった場合に、その変更情報を反映させるための更新処理が必要となる。
【０００８】
インデックス情報の更新処理の実行中は検索要求に応じることができなくなるという事態を避けるため、一般的に、インデックスサーバは２つのインデックス格納部を持つ構成とされている。図１を参照して、インデックスサーバにおける２つのインデックス格納部の構成について説明する。
【０００９】
図１には、ネットワーク１０に接続されたインデックスサーバ１１，２１、文書管理サーバ３１、クライアント４１−１〜ｎを示している。クライアント４１−１〜ｎは、検索要求を行うユーザの端末であり、文書管理サーバ３１は、文書の本体を格納したサーバである。インデックスサーバ１１，２１は、文書管理サーバ３１に格納された文書本体データに基づくインデックス情報、すなわちキーワード、文献名、更新日情報などを含むインデックス情報を格納し、検索処理は、インデックスサーバの持つインデックス情報に基づいて実行される。
【００１０】
図には、２つのインデックスサーバ１１，２１のみを示してあるが、Ａ〜Ｎまで、複数のインデックスサーバがネットワーク１０に接続され、それぞれのインデックスサーバに、文書管理サーバ３１に格納された文書本体データに基づくインデックス情報が分散して格納されている。
【００１１】
上述したように、インデックス情報の更新処理の実行中、検索要求に応じることができなくなるという事態を避けるため、インデックスサーバは２つのインデックス格納部を持つ。１つは、文書管理サーバの更新に応じて随時、更新処理を行なうための登録インデックス格納部であり、もう１つは、検索処理のために適用される検索インデックス格納部である。検索インデックス格納部は、登録インデックス格納部のスナップショットとして構成される。すなわち、登録インデックス格納部は、文書管理サーバの更新毎に随時更新処理がなされるが、検索インデックス格納部は、一定タイミング毎に登録インデックス格納部に格納された更新情報に基づいて、まとめてデータ更新を行なう。このように更新処理用の登録インデックス格納部と、検索用の検索インデックス格納部を設けることで、データ更新および検索を滞りなく実行できる。
【００１２】
図に示す例では、インデックスサーバＡ１１は、登録インデックス格納部１２と検索インデックス格納部１３を有し、インデックスサーバＮ２１は、登録インデックス格納部２２と検索インデックス格納部２３を有している。インデックスサーバＡ１１の検索インデックス格納部１３は、登録インデックス格納部１２の格納データのスナップショット、すなわちある時点の登録インデックス格納部１２のコピーデータが格納され、インデックスサーバＮ２１の検索インデックス格納部２３は、登録インデックス格納部２２の格納データのスナップショット、すなわちある時点の登録インデックス格納部２２のコピーデータが格納されている。
【００１３】
このように、２つのインデックス格納部を設定した構成では、各サーバは、インデックス情報の格納領域として、登録インデックスのほぼ２倍のデータ格納領域が必要となる。すなわち、検索インデックス格納部の格納データ量は、登録インデックス格納部の格納データ量とほぼ等しくなるためである。
【００１４】
個々のインデックスサーバの持つデータ記憶領域には上限があり、格納可能なインデックス情報には制限がある。インデックスサーバを分散配置した構成では、あるインデックスサーバＡの登録インデックス情報はＰ（ＧＢｙｔｅ）、インデックスサーバＢの登録インデックス情報はＱ（ＧＢｙｔｅ）など、ばらつきが発生するのが一般的である。この場合、インデックスサーバＡは、登録用、検索用のインデックス情報格納領域として２Ｐ（ＧＢｙｔｅ）が必要となり、インデックスサーバＢは、登録用、検索用のインデックス情報格納領域として２Ｑ（ＧＢｙｔｅ）が必要となる。
【００１５】
このように、各インデックスサーバに要求されるインデックス情報格納領域は、様々にばらついた状態となる。このばらつきの結果、分散配置したインデックスサーバ全体に登録可能なインデックス情報量は、本来のインデックスサーバ全体の持つデータ格納量に比較して小さな値となる。すなわち分散配置された複数のインデックスサーバ全体の記憶領域を有効活用した構成とならないという問題が発生する。
【００１６】
なお、分散データベースのデータ再配置構成を開示した従来技術として、特許文献１に記載の構成がある。特許文献１には、各分散データベースの処理能力、例えばＣＰＵ性能などに応じて各分散データベースに格納するデータを再配置する構成を開示している。しかし、本文献は、上述した登録インデックスと検索インデックスなどの組み合わせデータについての再配置構成を開示するものではない。
【特許文献１】特開平６−２５９４７８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
本発明は、上述の問題点に鑑みてなされたものであり、分散配置される複数のインデックスサーバを有し、各インデックスサーバにデータ更新処理に対応した登録インデックス格納部と、検索処理に対応した検索インデックス格納部とを有する構成において、インデックス情報の最適な配置構成を、様々な評価処理によって求め、最適なインデックス配置を実現する検索システム、および情報配置構成決定方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明の第１の側面は、
インデックス情報を適用した検索処理を行なう検索システムであり、
インデックス情報の更新処理用データとしての登録インデックスと、検索処理に適用するインデックスデータであり登録インデックスに対応するスナップショットとして設定される検索インデックスとを保持する複数のインデックスサーバと、
前記複数のインデックスサーバにおける検索インデックスの配置決定処理を実行するインデックスサーバ管理部とを有し、
前記インデックスサーバ管理部は、
前記複数のインデックスサーバのインデックス情報の記憶領域としてのインデックス格納領域サイズと、登録インデックスサイズとに基づいて、各インデックスサーバに配置可能な検索インデックスの配置パターンを選択し、選択された配置可能パターン各々に対する評価処理に基づいて最適な配置パターンを決定する処理を実行する構成であり、
前記複数のインデックスサーバは、前記最適配置パターンに従って、検索インデックスの再配置を実行する構成であることを特徴とする検索システムにある。
【００１９】
さらに、本発明の検索システムの一実施態様において、前記複数のインデックスサーバの各々は、自己のインデックス格納領域に配置した検索インデックスに対するアクセス数をカウントする構成であり、前記インデックスサーバ管理部は、前記配置可能パターン各々に対する評価処理として、各配置パターンとした場合の各インデックスサーバの最大アクセス数と最小アクセス数との差を評価関数ＰＡとして算出し、該評価関数ＰＡが最小となる配置パターンを最適配置パターンとして選択する処理を実行する構成であることを特徴とする。
【００２０】
さらに、本発明の検索システムの一実施態様において、前記インデックスサーバ管理部は、前記配置可能パターン各々に対する評価処理として、各配置パターンとした場合のインデックスサーバ間のインデックス情報移動量を評価関数ＰＭとして算出し、該評価関数ＰＭが最小となる配置パターンを最適配置パターンとして選択する処理を実行する構成であることを特徴とする。
【００２１】
さらに、本発明の検索システムの一実施態様において、前記複数のインデックスサーバの各々は、自己のインデックス格納領域に配置した検索インデックスに対するアクセス数をカウントする構成であり、前記インデックスサーバ管理部は、前記配置可能パターン各々に対する評価処理として、各配置パターンとした場合の各インデックスサーバの最大アクセス数と最小アクセス数との差を評価関数ＰＡとして算出し、さらに、各配置パターンとした場合のインデックスサーバ間のインデックス情報移動量を評価関数ＰＭとして算出し、評価関数ＰＡと評価関数ＰＭとを適用した総合的な評価処理に基づいて、最適配置パターンの決定処理を実行する構成であることを特徴とする。
【００２２】
さらに、本発明の第２の側面は、
インデックス情報の更新処理用データとしての登録インデックスと、検索処理に適用するインデックスデータであり登録インデックスに対応するスナップショットとして設定される検索インデックスとを保持する複数のインデックスサーバを有する検索システムにおける検索インデックスの配置構成の決定処理をコンピュータ上で実行させるコンピュータ・プログラムであり、
前記複数のインデックスサーバのインデックス情報の記憶領域としてのインデックス格納領域サイズと、登録インデックスサイズとに基づいて、各インデックスサーバに配置可能な検索インデックスの配置パターンを選択する配置可能パターン選択ステップと、
前記配置可能パターン各々に対する評価処理に基づいて最適な配置パターンを決定する最適配置パターン決定ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００２３】
さらに、本発明のコンピュータ・プログラムの一実施態様において、前記最適配置パターン決定ステップは、前記配置可能パターン各々に対する評価処理として、各配置パターンとした場合の各インデックスサーバに配置した検索インデックスに対する最大アクセス数と最小アクセス数との差を評価関数ＰＡとして算出するステップと、前記評価関数ＰＡが最小となる配置パターンを最適配置パターンとして選択するステップと、を有することを特徴とする。
【００２４】
さらに、本発明のコンピュータ・プログラムの一実施態様において、前記最適配置パターン決定ステップは、前記配置可能パターン各々に対する評価処理として、各配置パターンとした場合のインデックスサーバ間のインデックス情報移動量を評価関数ＰＭとして算出するステップと、前記評価関数ＰＭが最小となる配置パターンを最適配置パターンとして選択するステップと、を有することを特徴とする。
【００２５】
さらに、本発明のコンピュータ・プログラムの一実施態様において、前記最適配置パターン決定ステップは、前記配置可能パターン各々に対する評価処理として、各配置パターンとした場合の各インデックスサーバに配置した検索インデックスに対する最大アクセス数と最小アクセス数との差を評価関数ＰＡとして算出するステップと、前記配置可能パターン各々に対する評価処理として、各配置パターンとした場合のインデックスサーバ間のインデックス情報移動量を評価関数ＰＭとして算出するステップと、評価関数ＰＡと評価関数ＰＭとを適用した総合的な評価処理に基づいて、最適配置パターンの決定処理を実行するステップと、を有することを特徴とする。
【００２６】
さらに、本発明の第３の側面は、
インデックス情報の更新処理用データとしての登録インデックスと、検索処理に適用するインデックスデータであり登録インデックスに対応するスナップショットとして設定される検索インデックスとを保持する複数のインデックスサーバを有する検索システムにおける検索インデックスの配置構成を決定する情報配置構成決定方法であり、
前記複数のインデックスサーバのインデックス情報の記憶領域としてのインデックス格納領域サイズと、登録インデックスサイズとに基づいて、各インデックスサーバに配置可能な検索インデックスの配置パターンを選択する配置可能パターン選択ステップと、
前記配置可能パターン各々に対する評価処理に基づいて最適な配置パターンを決定する最適配置パターン決定ステップと、
を有することを特徴とする情報配置構成決定方法にある。
【００２７】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータシステムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータシステム上でプログラムに応じた処理が実現される。
【００２８】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００２９】
本発明の構成によれば、分散配置される複数のインデックスサーバにデータ更新処理に対応した登録インデックス格納部と、検索処理に対応した検索インデックス格納部とを設定した検索システム構成において、各インデックスサーバのインデックス情報の記憶領域としてのインデックス格納領域サイズと、登録インデックスサイズとに基づいて、各インデックスサーバに配置可能な検索インデックスの配置パターンを選択し、さらに、配置可能パターン各々に対する様々な評価処理に基づいて最適な配置パターンを決定する構成としたので、インデックスサーバの全体の記憶領域および各々の記憶領域を考慮した最適配置パターンの決定が可能となり、記憶領域の有効利用を実現したインデックス配置が実現される。
【００３０】
さらに、本発明の構成によれば、登録インデックスのスナップシッョトとして設定される検索インデックスを固定的に保持するのではなく、各インデックスサーバのデータ記憶容量や、アクセス数、あるいはデータ移動量を考慮して、設定するサーバを決定して配置する構成としたので、複数のインデックスサーバの全体の記憶領域を有効活用することが可能となるのみならず、各インデックスサーバのアクセス数に基づく処理負荷の分散が可能となり、さらに、検索インデックスの再配置によるデータ移動量についても、最小限としたインデックス配置処理が可能となる。
【発明を実施するための最良の形態】
【００３１】
以下、図面を参照しながら本発明の検索システム、および情報配置構成決定方法、並びにコンピュータ・プログラムの詳細について説明する。
【００３２】
図２は本発明の検索システムを構成したネットワーク構成を示す図である。図２に示すネットワーク１００は、インターネット、イントラネットなどのネットワークであり、ネットワーク１００には、複数のインデックスサーバ１１０〜１２０、文書管理サーバ１６０、クライアント１７１−１〜ｎ、インデックスサーバ管理部１５０が接続されている。これらの各要素は、ネットワーク１００を介したデータ通信が可能な構成を持つ。
【００３３】
クライアント１７１−１〜ｎは、検索要求を行うユーザの端末であり、文書管理サーバ１６０は、検索対象としての文書の本体を格納したサーバである。インデックスサーバ１１０〜１２０は、文書管理サーバ１６０に格納された文書本体データに基づくインデックス情報、すなわちキーワード、文献名、更新日情報などを含むインデックス情報を格納しており、クライアント１７１−１〜ｎからの検索要求に応じてインデックス情報に基づく検索処理を実行して、検索結果をクライアント１７１−１〜ｎに提供する。
【００３４】
図には、２つのインデックスサーバＡ１１０，インデックスサーバＮ１２０のみを示してあるが、インデックスサーバは、２つに限らず、複数のインデックスサーバがネットワーク１００に接続され、それぞれのインデックスサーバに、文書管理サーバ１６０に格納された文書本体データに基づくインデックス情報が分散して格納されている。
【００３５】
先に説明したように、インデックス情報の更新処理の実行中、検索要求に応じることができなくなるという事態を避けるため、インデックスサーバは２つのインデックス格納部を持つ。１つは、文書管理サーバの更新に応じて随時、更新処理を行なうための登録インデックス格納部であり、もう１つは、検索処理のために適用される検索インデックス格納部である。検索インデックス格納部は、登録インデックス格納部のある時点のコピーデータを格納したスナップショット格納部として構成される。
【００３６】
すなわち、登録インデックス格納部は、文書管理サーバの更新毎などに随時、更新処理がなされるが、検索インデックス格納部は、検索処理を阻害しないタイミングで登録インデックス格納部に格納された更新情報に基づいてまとめてデータ更新がなされる。このように更新処理用の登録インデックス格納部と、検索用の検索インデックス格納部を設けることで、データ更新および検索を滞りなく実行することができる。
【００３７】
先に、図１を参照して説明した従来構成では、各インデックスサーバは、自己の登録インデックス格納部のコピーデータとしてのスナップショットを検索インデックス格納部に保持する構成であったが、図２に示す本発明のシステムでは、各インデックスサーバは、自己の登録インデックス格納部のコピーデータを検索インデックス格納部に保持するとは限らず、他のインデックスサーバの登録インデックス格納部のコピーデータを検索インデックス格納部に保持する場合がある。
【００３８】
すなわち、例えば３つのインデックスサーバＡ〜Ｃが存在する場合、
インデックスサーバＡ〜Ｃにおいて保持すべき登録インデックス、検索インデックスは、登録インデックスＡ〜Ｃ、検索インデックスＡ〜Ｃの各インデックス情報となる。従来構成では、各インデックスサーバＡ〜Ｃは、
インデックスサーバＡ：登録インデックスＡ、検索インデックスＡ
インデックスサーバＢ：登録インデックスＢ、検索インデックスＢ
インデックスサーバＣ：登録インデックスＣ、検索インデックスＣ
の組み合わせで、各インデックス情報を格納していた。
【００３９】
本発明のシステムでは、各インデックスサーバＡ〜Ｃは、例えば、
インデックスサーバＡ：登録インデックスＡ、検索インデックスＣ
インデックスサーバＢ：登録インデックスＢ、検索インデックスＡ
インデックスサーバＣ：登録インデックスＣ、検索インデックスＢ
のように、各インデックス情報を保持する場合がある。
【００４０】
すなわち、各インデックスサーバは、データ更新処理用の登録インデックス格納部のコピーデータとして、検索インデックス格納部の格納データを設定するのではなく、自己の登録インデックス格納部のコピーデータとしての検索インデックスを他のインデックスサーバに提供し、他のインデックスサーバの登録インデックスのコピーデータとしての検索インデックスを他のインデックスサーバから受領して、自己の検索インデックス格納部に格納する場合がある。
【００４１】
これらのインデックス配置構成の決定処理は、図２に示すインデックスサーバ管理部１５０が実行する。インデックスサーバ管理部１５０は、各インデックスサーバの持つインデックス格納領域の容量、登録インデックスの情報量、さらに、各種の評価処理に基づいて各インデックスサーバにおける格納データの配置を決定する。
【００４２】
図２に示す例では、インデックスサーバＡ１１０は、インデックス格納領域１１１を有し、ここに、登録インデックス格納部Ａ１１２と、図示しないインデックスサーバＣの登録インデックスのコピーデータ（スナップショット）を格納した検索インデックス格納部Ａ（ｃ）１１３を有する。なお、以下の説明において、インデックスＸ（ｙ）またはインデックス格納部Ｘ（ｙ）は、ＸがインデックスＸ（ｙ）を保有するインデックスサーバの記号に対応し、ｙが、インデックスＸ（ｙ）に格納されたインデックス情報に対応する登録インデックス情報を保持するインデックスサーバの識別子に対応する。
【００４３】
すなわち、インデックスサーバＡ１１０のインデックス格納領域１１１に設定された検索インデックス格納部Ａ（ｃ）１１３は、図示しないインデックスサーバＣの登録インデックスのコピーデータ（スナップショット）を検索インデックス情報として格納している。同様に、インデックスサーバＮ１２０は、インデックス格納領域１２１を有し、ここに、登録インデックス格納部Ｎ１２２と、図示しないインデックスサーバＢの登録インデックスのコピーデータ（スナップショット）を格納した検索インデックス格納部Ｎ（ｂ）１２３を有する。すなわち、インデックスサーバＮ１２０のインデックス格納領域１２１に設定された検索インデックス格納部Ｎ（ｂ）１２３は、図示しないインデックスサーバＢの登録インデックスのコピーデータ（スナップショット）を検索インデックス情報として格納している。
【００４４】
図３に、登録インデックス格納部および検索インデックス格納部に格納されるインデックス情報の例を示す。インデックス情報は、例えば図３に示すように、
（Ａ）キーワードに基づいて、文書ＩＤ、日付データ、出現頻度の情報を取得可能としたインデックス１
（Ｂ）文書ＩＤに基づいて、文書名、フォルダ名、更新日付、要約などの書誌情報を取得可能としたインデックス２
これら２つのインデックス情報によって構成される。
【００４５】
これらのインデックスは、文書の実体データを格納した文書管理サーバ１６０から収集する。インデックス収集処理は、定期的に、あるいは文書管理サーバ１６０に対する新規文書の格納時などに実行され、各インデックスサーバの登録インデックス格納部に格納される。登録インデックス格納部に格納された更新データは、検索処理を阻害しないタイミングで、検索インデックス格納部に格納される。ただし、本発明のシステム構成では、上述したように、各インデックスサーバの保持する検索インデックス格納部は、自己の保持する登録インデックス格納部のスナップショットではなく、他のインデックスサーバの保持する登録インデックス格納部のスナップショットとして設定されるので、検索インデックス格納部に対するデータ更新処理は、従来とは異なり、各インデックスサーバの総合的な処理として実行される。この処理の詳細については、後述する。
【００４６】
インデックス情報を利用した文書インデックスの検索処理は、各インデックスサーバにおいて、検索インデックス格納部に格納されたインデックス情報に基づいて実行される。例えば、クライアント１７１−１〜ｎを介して入力した検索式に含まれるキーワードに基づいて、まず、図３に示すインデックス１を参照して、各キーワードからヒットする文書ＩＤを探す処理を実行し、さらに、日付データ、出現頻度などからスコアを算出する。さらに、ヒットした文書ＩＤから表示用の書誌情報をインデックス２から取得し、取得した情報をクライアントに提供する。
【００４７】
インデックスサーバの検索部の算出するヒットコンテンツのスコアは、例えば、ヒットコンテンツの表示順を設定するために使用される。例えば、ヒットコンテンツにおける出現頻度と、キーワードを含むコンテンツの、全コンテンツ数に対する存在割合の逆数に基づく値として算出するインバース・ドキュメント頻度とをパラメータとして含む算出式を適用したコンテンツスコア算出処理や、インバース・ドキュメント頻度と、コンテンツ更新日付の新しいものを大きな値として算出する日付に基づく関数算出値をパラメータとして含む算出式を適用したコンテンツスコア算出処理などが適用される。
【００４８】
インデックスサーバ管理部１５０は、各インデックスサーバの持つインデックス格納領域の容量、登録インデックスの情報量などに応じて、検索インデックス格納部に格納すべきインデックス情報を設定して、各インデックスサーバにおける格納データの配置を決定する。以下、このデータ配置処理の詳細について説明する。
【００４９】
まず、以下の説明において使用する記号を以下のように定義する。
インデックスサーバＸ：ＩＳＸ
インデックスサーバＸのインデックス格納領域サイズ（格納可能なデータ容量）：ＩＤＳＸ
登録インデックスｉ（ｉ＝１，２，・・・）：ＲＩＤＸ−ｉ
登録インデックスｉのサイズ（データ容量）：ＲＩＤＳＸ−ｉ
検索インデックスｉ（ｉ＝１，２，・・・）：ＳＩＤＸ−ｉ
検索インデックスｉのサイズ（データ容量）：ＳＩＤＳＸ−ｉ
所定期間の検索インデックスｉに対するインデックスアクセス数：ＩＤＡＸ−ｉ
【００５０】
なお、インデックスアクセス数は、所定期間のアクセス数であり、具体的には、検索インデックスの配置の変更処理を行なった更新時からのアクセス数のカウント値である。
また、インデックスサーバＸの検索インデックスｉのインデックス情報がインデックスサーバＹの登録インデックスｊ（ｊ＝１，２，・・・）ＲＩＤＹ−ｊのスナップショットである場合、インデックスサーバＸの検索インデックスｉは、
検索インデックスｉ（ｉ＝１，２，・・・）：ＳＩＤＸ−ｉ（Ｙ−ｊ）
として示す。
【００５１】
例えば、インデックスサーバＡが存在し、インデックスサーバＡのインデックス格納領域サイズは１００Ｇｂｙｔｅであり、インデックスサーバＡには、登録インデックスが２つ（登録インデックスＡ−１、登録インデックスＡ−２）が存在し、登録インデックスＡ−１のサイズ（データ容量）が２０Ｇｂｙｔｅ、登録インデックスＡ−２のサイズ（データ容量）が３０Ｇｂｙｔｅであり、さらに、サイズ（データ容量）が１０Ｇｂｙｔｅの検索インデックスが１つ存在し、所定期間のインデックスに対するアクセス数は５０回である場合、インデックスサーバＡに対応する情報は、以下のように示される。
【００５２】
インデックスサーバＡ：ＩＳＡ
インデックスサーバＡのインデックス格納領域サイズ（格納可能なデータ容量）：ＩＤＳＡ＝１００Ｇｂｙｔｅ
登録インデックスｉ（ｉ＝１，２）：ＲＩＤＡ−１，ＲＩＤＡ−２
登録インデックスｉのサイズ（データ容量）：ＲＩＤＳＡ−１＝２０Ｇｂｙｔｅ，ＲＩＤＳＡ−２＝３０Ｇｂｙｔｅ，
検索インデックスｉ（ｉ＝１）：ＳＩＤＡ−１
検索インデックスｉのサイズ（データ容量）：ＳＩＤＳＡ−１＝１０Ｇｂｙｔｅ
所定期間の検索インデックスＳＩＤＳＡ−１に対するインデックスアクセス数：ＩＤＡＡ−１＝５０
【００５３】
また、インデックスサーバＡの検索インデックスＳＩＤＡ−１がインデックスサーバＢの登録インデックスＲＩＤＢ−１のスナップショットである場合、インデックスサーバＡの検索インデックスは、
ＳＩＤＡ−１（Ｂ−１）
として示される。
【００５４】
インデックスサーバ管理部１５０の構成および処理について、図４以下を参照して説明する。図４は、インデックスサーバ管理部１５０の機能構成を示すブロック図である。
【００５５】
インデックスサーバ管理部１５０は、インデックスサーバ情報取得部２０１、インデックスサーバ情報整理部２０２、検索インデックス配置決定部２０３、検索インデックス配置指示部２０４を有する。これらの各処理部の実行する処理について、以下、順次説明する。
【００５６】
図５は、右側のフローがインデックスサーバ管理部１５０の実行する検索インデックスの配置更新処理であり、左側のフローがインデックスサーバ管理部１５０の指示に従ってインデックスサーバ情報の提供処理、および検索インデックス情報の転送処理を実行するインデックスサーバの処理を示すフローである。
【００５７】
まず、ステップＳ１０１において、インデックスサーバ管理部１５０のインデックスサーバ情報取得部２０１は、管理対象の各インデックスサーバに対して、インデックスサーバ情報を要求して取得する。各インデックスサーバは、ステップＳ１２１において、インデックスサーバ情報をインデックスサーバ管理部１５０に提供する。
【００５８】
インデックスサーバがインデックスサーバ管理部１５０に対して提供するインデックスサーバ情報には、図４に示すインデックス格納領域情報２１１、登録インデックス情報２１２、アクセス数情報２１３があり、インデックスサーバ管理部１５０のインデックスサーバ情報取得部２０１は、これらの各情報を各インデックスサーバから受領する。
【００５９】
各情報の構成データについて説明する。なお、以下の説明では、インデックス情報の管理処理対象のインデックスサーバをＡ，Ｂ，Ｃ、すなわちＩＳＡ，ＩＳＢ，ＩＳＣの３つとして、各インデックスサーバは、図６に示す登録インデックス、検索インデックスを持つ構成であることを想定して説明する。なお、この例は、一例であり、本発明は、本例に限らず、様々な設定の場合に対応可能である。
【００６０】
図６に示すように、インデックスサーバＡ３１０は、５０Ｇｂｙｔｅのインデックス格納領域３１１を有し、３０Ｇｂｙｔｅの登録インデックスＡ−１，３１２と、検索インデックスＡ−１（Ｃ−１）３１３を有する。ここで、検索インデックスＡ−１（Ｃ−１）３１３の識別子［Ａ−１（Ｃ−１）］は、［位置識別子（データ識別子）］の構成であり、先に記述されたＡ−１が位置識別子であり、検索インデックスの配置位置およびシーケンス番号を示している。すなわち、インデックスサーバＡに配置された第１の検索インデックスであることを示している。登録インデックスＡ−１，３１２のＡ−１も同様の位置識別子としての意味をもつ。
【００６１】
また、検索インデックスＡ−１（Ｃ−１）３１３の後に記述された（Ｃ−１）は、データ識別子であり、検索インデックスＡ−１（Ｃ−１）３１３のデータが、どの登録インデックスのスナップショットであるかを識別するデータである。すなわち、この例では、検索インデックスＡ−１（Ｃ−１）３１３のデータ識別子は（Ｃ−１）であり、検索インデックスＡ−１（Ｃ−１）３１３のデータは、インデックスサーバＣ３３０の登録インデックスＣ−１，３３２のスナップショット（コピーデータ）であることを意味している。
【００６２】
なお、検索インデックスのデータ容量は記述されていないが、基本的に、検索インデックスのデータ量は、対応する登録インデックスのデータ容量に相当する。すなわち、この例では、検索インデックスＡ−１（Ｃ−１）３１３のデータは、３０Ｇｂｙｔｅの登録インデックスＣ−１，３３２のスナップショット（コピーデータ）であるので、ほぼ３０Ｇｂｙｔｅとなる。
【００６３】
インデックスサーバＡ３１０は、さらに、アクセス数登録テーブル３１８を有する。アクセス数登録テーブルは、検索インデックスＡ−１（Ｃ−１）３１３に対するアクセス数、すなわち検索処理に際してアクセスされた回数のカウント値を格納している。このカウント値は、インデックスサーバ管理部による検索インデックスの配置処理が実行された時点でリセットされる。すなわち、前回の配置処理からのアクセス数が、アクセス数登録テーブルに格納される。なお、アクセス数登録テーブルに登録されるインデックス名は、そのアクセス数登録テーブルを持つインデックスサーバの保有する検索インデックスの位置識別子が設定される。この場合は、検索インデックスＡ−１（Ｃ−１）３１３の位置識別子［Ａ−１］が設定され、検索インデックスＡ−１（Ｃ−１）３１３に対する前回の配置処理以後のアクセス数が５０回であることを示している。
【００６４】
インデックスサーバＢ３２０は、８０Ｇｂｙｔｅのインデックス格納領域３２１を有し、２０Ｇｂｙｔｅの登録インデックスＢ−１，３２２と、２０Ｇｂｙｔｅの登録インデックスＢ−２，３２３と、検索インデックスＢ−１（Ｂ−１）３２４、検索インデックスＢ−２（Ｂ−２）３２５を有する。検索インデックスＢ−１（Ｂ−１）３２４は登録インデックスＢ−１，３２２のスナップショットであり、検索インデックスＢ−２（Ｂ−２）３２５は登録インデックスＢ−２，３２３のスナップショットである。
【００６５】
インデックスサーバＢ３２０は、さらに、アクセス数登録テーブル３２８を有する。本例では、アクセス数登録テーブル３２８のデータは、検索インデックスＢ−１（Ｂ−１）３２４に対するアクセス数、すなわち前回の配置処理以後のアクセス数が３０回であり、検索インデックスＢ−２（Ｂ−２）３２５に対するアクセス数が５０回であることを示している。
【００６６】
インデックスサーバＣ３３０は、１００Ｇｂｙｔｅのインデックス格納領域３３１を有し、３０Ｇｂｙｔｅの登録インデックスＣ−１，３３２と、検索インデックスＣ−１（Ａ−１）３３３を有する。検索インデックスＣ−１（Ａ−１）３３３はインデックスサーバＡ３１０の登録インデックスＡ−１，３１２のスナップショットである。
【００６７】
インデックスサーバＣ３３０は、さらに、アクセス数登録テーブル３３８を有する。本例では、アクセス数登録テーブル３３８のデータは、検索インデックスＣ−１（Ｃ−１）３３３に対するアクセス数、すなわち前回の配置処理以後のアクセス数が２０回であることを示している。
【００６８】
インデックスサーバがインデックスサーバ管理部１５０に対して提供するインデックスサーバ情報について、図７を参照して説明する。インデックスサーバがインデックスサーバ管理部１５０に対して提供するインデックスサーバ情報には、先に図４を参照して説明したインデックス格納領域情報２１１、登録インデックス情報２１２、アクセス数情報２１３があり、インデックスサーバ管理部１５０のインデックスサーバ情報取得部２０１は、これらの各情報を各インデックスサーバから受領する。
【００６９】
各情報の構成データについて図７を参照して説明する。図７（ａ）は、インデックス格納領域情報２１１、図７（ｂ）は、登録インデックス情報２１２、図７（ｃ）は、アクセス数情報２１３を示している。
【００７０】
本例では、管理対象のインデックスサーバはＡ，Ｂ，Ｃ、すなわちＩＳＡ，ＩＳＢ，ＩＳＣの３つのインデックスサーバであり、これらの各サーバから取得したインデックスサーバ情報に基づいて図７に示す各情報が構成される。
【００７１】
図７（ａ）はインデックス格納領域情報であり、管理対象のインデックスサーバＩＳＡ，ＩＳＢ，ＩＳＣのインデックス格納領域サイズ（Ｇｂｙｔｅ）情報を持つ。図７（ａ）のインデックス格納領域情報は、図６に示す構成例に対応するものであり、
インデックスサーバＩＳＡのインデックス格納領域サイズＩＤＳＡ＝５０Ｇｂｙｔｅ
インデックスサーバＩＳＢのインデックス格納領域サイズＩＤＳＢ＝８０Ｇｂｙｔｅ
インデックスサーバＩＳＣのインデックス格納領域サイズＩＤＳＣ＝１００Ｇｂｙｔｅ
である。
【００７２】
図７（ｂ）は登録インデックス情報であり、管理対象のインデックスサーバＩＳＡ，ＩＳＢ，ＩＳＣの登録インデックスの識別子としての名称と、サイズに関する情報を持つ。図７（ｂ）のインデックス格納領域情報は、図６に示す構成例に対応するものであり、
インデックスサーバＩＳＡについては、
登録インデックスＲＩＤＡ−１がサイズＲＩＤＳＡ−１＝３０Ｇｂｙｔｅ
インデックスサーバＩＳＢについては、
登録インデックスＲＩＤＢ−１がサイズＲＩＤＳＢ−１＝２０Ｇｂｙｔｅ
登録インデックスＲＩＤＢ−２がサイズＲＩＤＳＢ−２＝２０Ｇｂｙｔｅ
インデックスサーバＩＳＣについては、
登録インデックスＲＩＤＣ−１がサイズＲＩＤＳＣ−１＝３０Ｇｂｙｔｅ
であるとの情報を持つ。
【００７３】
図７（ｃ）はアクセス数情報であり、管理対象のインデックスサーバＩＳＡ，ＩＳＢ，ＩＳＣの検索インデックスの識別子と、アクセス数の対応情報を持つ。図７（ｃ）のアクセス数情報は、図６に示す構成例に対応するものであり、
インデックスサーバＩＳＡについては、
検索インデックスＳＩＤＡ−１（Ｃ−１）がアクセス数＝５０回
インデックスサーバＩＳＢについては、
検索インデックスＲＩＤＢ−１（Ｂ−１）がアクセス数＝３０回
検索インデックスＲＩＤＢ−２（Ｂ−２）がアクセス数＝５０回
インデックスサーバＩＳＣについては、
検索インデックスＲＩＤＣ−１（Ａ−１）がアクセス数＝２０回
であることを示している。
【００７４】
インデックスサーバ管理部１５０のインデックスサーバ情報取得部２０１は、これらの各情報を各インデックスサーバから受領し、受領した情報をインデックスサーバ情報整理部２０２（図４参照）に提供する。インデックスサーバ情報整理部２０２は、これらの受領情報に基づいて、インデックス情報管理テーブル２１４を生成する。この処理が、図５に示すフローのステップＳ１０２の処理である。
【００７５】
インデックスサーバ情報整理部２０２の生成するインデックス情報管理テーブル２１４の具体例について、図８を参照して説明する。インデックスサーバ情報整理部２０２は、インデックスサーバ情報取得部２０１が各インデックスサーバから取得したインデックス格納領域情報、登録インデックス情報、アクセス数を適用して、新たにインデックスサーバ情報管理テーブル２１４を生成する。
【００７６】
図８（ｅ）に示すテーブルが、インデックスサーバ情報整理部２０２が生成するインデックスサーバ情報管理テーブル２１４である。
【００７７】
インデックスサーバ情報整理部２０２は、インデックスサーバ情報取得部２０１が各インデックスサーバから取得したインデックス格納領域情報、登録インデックス情報に基づいて、図８（ｅ）に示すインデックスサーバ情報管理テーブルのインデックスサーバ名、インデックス格納領域サイズ、登録インデックス名、登録インデックスサイズを設定し、さらに、アクセス数については、先に説明したアクセス数情報とに基づいて、各登録インデックスに対応するアクセス数を求め、図８（ｅ）に示すインデックスサーバ情報管理テーブルに登録する。
【００７８】
例えば、図８（ｅ）に示すインデックスサーバ情報管理テーブルの最上段のエントリは、インデックスサーバＩＳＡの登録インデックスＲＩＤＡ−１に関する登録情報である。インデックスサーバＩＳＡの登録インデックスＲＩＤＡ−１に対応するコピーデータとしてのスナップショットデータは、インデックスサーバＩＳＣの検索インデックスＳＩＤＣ−１（Ａ−１）に対応し、この検索インデックスＳＩＤＣ−１（Ａ−１）のアクセス数を、（ｃ）アクセス数情報から求めて、図８（ｅ）に示すインデックスサーバ情報管理テーブルのアクセス数として設定される。
【００７９】
すなわち、検索インデックスＳＩＤＸ（Ｙ）のアクセス数を取得し、データ識別子［Ｙ］に対応する登録インデックスＹのアクセス数を、図８（ｅ）に示すインデックスサーバ情報管理テーブルの登録インデックスＹのアクセス数として設定する。これは、実際のデータの対応を考慮したものである。
【００８０】
この図８（ｅ）に示すインデックスサーバ情報管理テーブルの生成処理が、図５のフローに示すステップＳ１０２の処理として、図４に示すインデックス情報整理部２０２において実行される。
【００８１】
次に、図４に示す検索インデックス配置決定部２０３において、図５のフローに示すステップＳ１０３の処理、すなわち、検索インデックス配置決定が実行される。図４に示す検索インデックス配置決定部２０３は、インデックス情報整理部２０２の生成したインデックスサーバ情報管理テーブル（図８（ｅ）参照）に基づいて、新たな検索インデックス配置構成を決定し決定した配置情報を持つ更新後検索インデックス配置登録テーブル２１５を生成する。
【００８２】
図５のフローに示すステップＳ１０４の処理、すなわち、図４に示す検索インデックス配置決定部２０３における検索インデックス配置決定処理の詳細シーケンスについて、図９に示すフローチャートを参照して説明する。検索インデックス配置決定部２０３における検索インデックス配置決定処理では、最適な検索インデックスの配置構成を求めるために、評価関数を適用した処理を実行する。
【００８３】
図９に示すフローチャートの各ステップの処理について説明する。ステッブＳ２０１において、検索インデックス配置決定部２０３は、処理対象となるインデックスサーバ数＝ｎと、登録インデックスの総数＝ｍを入力する。図６に示す構成例では、
インデックスサーバ数＝ｎ＝３
登録インデックスの総数＝ｍ＝４
となる。
【００８４】
次に、ステップＳ２０２において、インデックスサーバ数＝ｎと、登録インデックスの総数＝ｍとに基づいて、検索インデックスの全配置パターンをリストアップする。このリスト例を図１０に示す。図１０に示す例は、図６に示す構成例、すなわち、
インデックスサーバ数＝ｎ＝３
登録インデックスの総数＝ｍ＝４
とした場合の配置パターンを示している。
【００８５】
図１０に示すリストは、本例における４つの登録インデックスＲＩＤＡ−１、ＲＩＤＢ−１、ＲＩＤＢ−２、ＲＩＤＣ−１のコピーデータとしてのスナップショットからなる検索インデックスを３つのサーバＩＳＡ，ＩＳＢ，ＩＳＣのいずれに配置するかを設定したリストである。配置パターンの総数は、ｎｍ通りとなり、本例では３４＝８１通りとなる。例えば配置パターンＮｏ．＝１は、登録インデックスＲＩＤＡ−１、ＲＩＤＢ−１、ＲＩＤＢ−２、ＲＩＤＣ−１のコピーデータとしてのスナップショットからなる４つの検索インデックスをサーバＩＳＡに配置するパターンを示している。
【００８６】
次に、ステップＳ２０３において、これらの全配置パターンから、実現可能な配置パターンを選択する。各インデックスサーバのインデックスデータ格納領域のデータ容量は、インデックス格納領域サイズであり、このインデックス格納領域サイズを超えるデータの格納はできない。ステップＳ２０３では、各インデックスサーバのインデックス格納領域サイズ情報と、移動しない登録インデックスのサイズ情報とを用いて、ステップＳ２０２においてリスト化された各パターンの実現性の可否を判定する。なお、登録インデックスＲＩＤＡ−１、ＲＩＤＢ−１、ＲＩＤＢ−２、ＲＩＤＣ−１のコピーデータとしてのスナップショットからなる４つの検索インデックスは、それぞれ対応する登録インデックスのサイズと同一であると仮定して判定する。
【００８７】
この判定処理について、図１１のテーブルを参照して説明する。図１１のテーブルは、図１０のリストの各パターン（Ｎｏ．１〜８１）を実行した場合、各インデックスサーバには位置される検索インデックスの総容量を算出したテーブルである。
【００８８】
登録インデックスＲＩＤＡ−１（３０Ｇｂｙｔｅ）、ＲＩＤＢ−１（２０Ｇｂｙｔｅ）、ＲＩＤＢ−２（２０Ｇｂｙｔｅ）、ＲＩＤＣ−１（３０Ｇｂｙｔｅ）のコピーデータとしてのスナップショットからなる４つの検索インデックスもそれぞれ同一サイズを持つものと想定している。
【００８９】
例えばＮｏ．１のパターンでは、全ての登録インデックスＲＩＤＡ−１（３０Ｇｂｙｔｅ）、ＲＩＤＢ−１（２０Ｇｂｙｔｅ）、ＲＩＤＢ−２（２０Ｇｂｙｔｅ）、ＲＩＤＣ−１（３０Ｇｂｙｔｅ）のコピーデータとしてのスナップショットからなる４つの検索インデックスをインデックスサーバＩＳＡに配置する想定であり、この想定では、インデックスサーバＩＳＡに配置する検索インデックスのデータの総容量は３０＋２０＋２０＋３０＝１００Ｇｂｙｔｅとなる。
【００９０】
インデックスサーバＩＳＡのインデックス格納領域は５０Ｇｂｙｔｅであり、また、インデックスサーバＩＳＡのインデックス格納領域に固定的に配置される登録インデックスＲＩＤＡ−１のサイズＲＩＤＳＡ−１＝３０Ｇｂｙｔｅである。従って、インデックスサーバＩＳＡのインデックス格納領域（５０Ｇｂｙｔｅ）に配置可能な検索インデックスのサイズは、５０−３０＝２０Ｇｂｙｔｅ以下であり、配置パターンＮｏ．１は実現可能な配置パターンではないとの結論が得られる。
【００９１】
同様に、インデックスサーバＩＳＢのインデックス格納領域は８０Ｇｂｙｔｅであり、また、インデックスサーバＩＳＢのインデックス格納領域に固定的に配置される登録インデックスＲＩＤＢ−１のサイズＲＩＤＳＢ−１＝２０Ｇｂｙｔｅ、登録インデックスＲＩＤＢ−２のサイズＲＩＤＳＢ−２＝２０Ｇｂｙｔｅである。従って、インデックスサーバＩＳＢのインデックス格納領域（８０Ｇｂｙｔｅ）に配置可能な検索インデックスのサイズは、８０−２０−２０＝４０Ｇｂｙｔｅ以下となる。
【００９２】
同様に、インデックスサーバＩＳＣのインデックス格納領域は１００Ｇｂｙｔｅであり、また、インデックスサーバＩＳＣのインデックス格納領域に固定的に配置される登録インデックスＲＩＤＣ−１のサイズＲＩＤＳＢ−１＝３０Ｇｂｙｔｅである。従って、インデックスサーバＩＳＣのインデックス格納領域（１００Ｇｂｙｔｅ）に配置可能な検索インデックスのサイズは、１００−３０＝７０Ｇｂｙｔｅ以下となる。
【００９３】
これらの条件に基づいて全配置パターン（Ｎｏ．１〜８１）について実現可否を判定する。例えば配置パターン７４は、登録インデックスＲＩＤＡ−１（３０Ｇｂｙｔｅ）、ＲＩＤＢ−１（２０Ｇｂｙｔｅ）のコピーデータとしてのスナップショットからなる２つの検索インデックスをインデックスサーバＩＳＣに配置し、登録インデックスＲＩＤＢ−２（２０Ｇｂｙｔｅ）のコピーデータとしてのスナップショットからなる検索インデックスをインデックスサーバＩＳＡに配置し、登録インデックスＲＩＤＣ−１（３０Ｇｂｙｔｅ）のコピーデータとしてのスナップショットからなる検索インデックスをインデックスサーバＩＳＢに配置する設定である。
【００９４】
この配置パターン７４は、
登録インデックスＲＩＤＡ−１（３０Ｇｂｙｔ）を持つインデックスサーバＩＳＡ（インデックス格納領域（５０Ｇｂｙｔｅ）に配置予定の検索インデックスの容量は、２０ＧＢｙｔｅであり、３０＋２０≦５０となり、インデックスサーバＩＳＡにおいて許容可能なデータ配置であり、
登録インデックスＲＩＤＢ−１（２０Ｇｂｙｔ）と、登録インデックスＲＩＤＢ−２（２０Ｇｂｙｔ）を持つインデックスサーバＩＳＢ（インデックス格納領域（８０Ｇｂｙｔｅ）に配置予定の検索インデックスの容量は、３０ＧＢｙｔｅであり、２０＋２０＋３０≦８０となり、インデックスサーバＩＳＢにおいても許容可能なデータ配置であり、
登録インデックスＲＩＤＣ−１（３０Ｇｂｙｔ）を持つインデックスサーバＩＳＣ（インデックス格納領域（１００Ｇｂｙｔｅ）に配置予定の検索インデックスの容量は、５０ＧＢｙｔｅであり、３０＋５０≦１００となり、インデックスサーバＩＳＣにおいても許容可能なデータ配置となり、
結果として、配置パターン７４は実現可能な配置パターンと判定される。
【００９５】
次にこれらの実現可能な配置パターンのみについて、ステップＳ２０４において、インデックスに対するアクセス数に基づく評価関数ＰＡを算出する。
【００９６】
インデックスに対するアクセス数に基づく評価関数ＰＡは、各実現可能パターンにおける各サーバの保持する検索インデックスに対する総アクセス数［ＳＸ］、すなわち、
［ＳＸ］＝ΣＩＤＡＸ−ｉ
の最大値［ＭＡＸ（ＳＸ）］と最小値［ＭＩＮ（ＳＸ）］の差分値、すなわち、
ＰＡ＝ＭＡＸ（ＳＸ）−ＭＩＮ（ＳＸ）
として算出する。
【００９７】
この算出評価関数ＰＡが最も小さい値となる配置パターンを最適配置パターンとして選択する。
【００９８】
図１２を参照して、アクセス数に基づく評価関数ＰＡの算出処理、評価関数ＰＡに基づく最適配置パターンの選択処理例について説明する。図１２のリストは、各インデックスサーバのインデックス格納領域サイズ、登録インデックスサイズに基づいて配置可能なパターンのみを抽出したリストである。
【００９９】
これらの実現可能な選択パターンの各々について、アクセス数に基づく評価関数ＰＡの算出を実行する。例えば、配置パターンＮｏ．３６は、登録インデックスＲＩＤＡ−１のコピーデータとしてのスナップショットとして構成される検索インデックスをインデックスサーバＩＳＢに配置し、登録インデックスＲＩＤＢ−１のスナップショットとしての検索インデックスをインデックスサーバＩＳＡに配置し、登録インデックスＲＩＤＢ−２のスナップショットとしての検索インデックスをインデックスサーバＩＳＣに配置し、登録インデックスＲＩＤＣ−１のスナップショットとしての検索インデックスをインデックスサーバＩＳＣに配置する設定である。
【０１００】
この設定において、各インデックスサーバＩＳＡ，ＩＳＢ，ＩＳＣ各々の設定予定の検索インデックスのアクセス数の総計を算出する。すなわち、
［ＳＸ］＝ΣＩＤＡＸ−ｉ
を算出する。
【０１０１】
例えば、配置パターンＮｏ．３６では、インデックスサーバＩＳＡには、登録インデックスＲＩＤＢ−１のスナップショットとしての検索インデックスが配置される。登録インデックスＲＩＤＢ−１のアクセス数は、先にインデックスサーバ情報整理部２０２が設定したインデックスサーバ情報管理テーブル（図８参照）から求めることができる。図８（ｅ）に示すインデックスサーバ情報管理テーブルには、登録インデックスＲＩＤＢ−１のアクセス数＝５０回が登録されている。図１２の配置パターンＮｏ．３６は、インデックスサーバＩＳＡには、登録インデックスＲＩＤＢ−１のスナップショットとしての検索インデックスのみが配置されるので、インデックスサーバＩＳＡの総アクセス数［ＳＡ］は、ＳＡ＝３０となる。
【０１０２】
また、配置パターンＮｏ．３６では、インデックスサーバＩＳＢには、登録インデックスＲＩＤＡ−１のスナップショットとしての検索インデックスが配置される。登録インデックスＲＩＤＡ−１のアクセス数は、図８（ｅ）に示すインデックスサーバ情報管理テーブルに、アクセス数＝２０回が登録されている。図１２の配置パターンＮｏ．３６は、インデックスサーバＩＳＢには、登録インデックスＲＩＤＡ−１のスナップショットとしての検索インデックスのみが配置されるので、インデックスサーバＩＳＢの総アクセス数［ＳＢ］は、ＳＢ＝２０となる。
【０１０３】
また、配置パターンＮｏ．３６では、インデックスサーバＩＳＣには、登録インデックスＲＩＤＢ−２と、登録インデックスＲＩＤＣ−１のスナップショットとしての２つの検索インデックスが配置される。登録インデックスＲＩＤＢ−２と、登録インデックスＲＩＤＣ−１個々のアクセス数は、図８（ｅ）に示すインデックスサーバ情報管理テーブルから、それぞれ、登録インデックスＲＩＤＢ−２のアクセス数＝５０回、登録インデックスＲＩＤＣ−１のアクセス数＝５０回が求められる。従って、インデックスサーバＩＳＣの総アクセス数［ＳＣ］は、ＳＣ＝５０＋５０＝１００となる。
【０１０４】
結果として、配置パターンＮｏ．３６では、
インデックスサーバＩＳＡの総アクセス数：ＳＡ＝３０、
インデックスサーバＩＳＢの総アクセス数：ＳＢ＝２０、
インデックスサーバＩＳＣの総アクセス数：ＳＣ＝１００、
となる。
【０１０５】
さらに、これらの各インデックスサーバの総アクセス数の最大値［ＭＡＸ（ＳＸ）］と最小値［ＭＩＮ（ＳＸ）］の差分値として評価関数ＰＡを算出する。すなわち、
ＰＡ＝ＭＡＸ（ＳＸ）−ＭＩＮ（ＳＸ）
として評価関数ＰＡを算出する。
配置パターンＮｏ．３６では、
インデックスサーバの総アクセス数の最大値［ＭＡＸ（ＳＸ）］＝ＳＣ＝１００、
インデックスサーバの総アクセス数の最小値［ＭＩＮ（ＳＸ）］＝ＳＢ＝２０、
であるので、
ＰＡ＝ＭＡＸ（ＳＸ）−ＭＩＮ（ＳＸ）
＝１００−２０＝８０となる。
【０１０６】
このような算出処理に従って、すべての実現も可能な配置パターンに対応する評価関数ＰＡを算出する。この結果が、図１２に示すデータエントリ［ＰＡ］に示すデータとなる。これらの各パターンに対応する評価関数ＰＡから最小値を持つパターンを最適配置パターンとして選択する。図１２の例では、配置パターン７４が、最小の評価関数ＰＡ＝０を有する唯一のパターンとして選択される。
【０１０７】
配置パターンＮｏ．７４は、登録インデックスＲＩＤＡ−１のコピーデータとしてのスナップショットとして構成される検索インデックスをインデックスサーバＩＳＣに配置し、登録インデックスＲＩＤＢ−１のスナップショットとしての検索インデックスをインデックスサーバＩＳＣに配置し、登録インデックスＲＩＤＢ−２のスナップショットとしての検索インデックスをインデックスサーバＩＳＡに配置し、登録インデックスＲＩＤＣ−１のスナップショットとしての検索インデックスをインデックスサーバＩＳＢに配置する設定である。
【０１０８】
この配置パターンが最適配置パターンとして選択されることになる。図９に示すフローチャートのステップＳ２０４において、上述した手順で、アクセス数に基づく評価関数ＰＡの算出が行なわれ、ステップＳ２０５において、最小の評価関数ＰＡを持つ唯一の配置パターンの選択が実現されたか否かを判定する。図１２に示した上述の例のように最小の評価関数ＰＡを持つ唯一の配置パターンの選択に成功した場合は、ステップＳ２０９に進み、この配置パターンを更新配置パターンとして選択して、配置パターン決定処理（図５のステップＳ１０３の処理）を終了する。
【０１０９】
しかし、上述のアクセス数に基づく評価関数ＰＡのみでは、唯一の最適配置パターンが決定できない場合がある。すなわち、図１２に示した上述の例のように最小の評価関数ＰＡを持つ唯一の配置パターンの選択に成功せず、最小の評価関数ＰＡを持つ配置パターンが複数ある場合がある。このような場合には、もう１つの評価関数ＰＭを算出し、評価関数ＰＭに基づいて最適な配置パターンを選択する処理を実行する。
【０１１０】
この処理が、図９のフローに示すステップＳ２０６の処理である。ステップＳ２０６では、ステップＳ２０３において求められた実現可能な配置パターンの各々について評価関数ＰＭを算出する。評価関数ＰＭは、各実現可能なインデックス配置を行なう場合に必要となるインデックス情報の移動量に相当する評価関数ＰＭである。現在のインデックス配置から、更新後の配置とした場合に必要となる各インデックスサーバ間で必要となるインデックス情報の情報量を評価関数ＰＭとして算出し、移動量としての評価関数ＰＭが最小値を持つ配置パターンを最適配置パターンとして選択するものである。評価関数ＰＭは、
登録インデックス：ＲＩＤＲ−ｉ
配置先インデックスササーバ：ＩＳＳ
としたとき、
ＰＭ＝Σ（（Ｒ！＝Ｓ）？ＲＩＤＳＲ−ｉ：０）
として示される。
すなわち、移動量としての評価関数ＰＭの算出は、それぞれの登録インデックス（ＲＩＤＲ−ｉ）について、登録インデックス（ＲＩＤＲ−ｉ）が属するインデックスサーバと異なるインデックスサーバに対して対応する検索インデックスをスナップショットとして設定する場合に、登録インデックス（ＲＩＤＲ−ｉ）のサイズ（ＲＩＤＳＲ−ｉ）を、順次加算して算出する。なお、同一サーバ内のデータ移動は０を加算（データ移動なし）する。
【０１１１】
この処理について、図１３を参照して説明する。図１３のリストは、図１２に示すリストと同様、各インデックスサーバのインデックス格納領域サイズ、登録インデックスサイズに基づいて配置可能なパターンのみを抽出したリストである。
【０１１２】
これらの実現可能な選択パターンの各々について、各配置パターンとした場合に必要となる各インデックスサーバ間で必要となるインデックス情報の移動情報量を評価関数ＰＭとして算出する。
【０１１３】
例えば、配置パターンＮｏ．３６は、登録インデックスＲＩＤＡ−１のコピーデータとしてのスナップショットとして構成される検索インデックスをインデックスサーバＩＳＢに配置し、登録インデックスＲＩＤＢ−１のスナップショットとしての検索インデックスをインデックスサーバＩＳＡに配置し、登録インデックスＲＩＤＢ−２のスナップショットとしての検索インデックスをインデックスサーバＩＳＣに配置し、登録インデックスＲＩＤＣ−１のスナップショットとしての検索インデックスをインデックスサーバＩＳＣに配置する設定である。
【０１１４】
この設定におけるインデックスデータの移動量について、図１４を参照して説明する。図１４には、先に図６を参照して説明した更新前の各インデックスサーバの登録インデックスおよび検索インデックスの格納状況を示し、さらに、図１３の配置パターンＮｏ．＝３６とした場合に必要となるデータ移動を矢印で示してある。
【０１１５】
配置パターンＮｏ．３６において、
（１）登録インデックスＲＩＤＡ−１のコピーデータとしてのスナップショットとして構成される検索インデックスをインデックスサーバＩＳＢに配置するために、３０Ｇｂｙｔｅの登録インデックスＲＩＤＡ−１のデータ移動が必要となる。
（２）登録インデックスＲＩＤＢ−１のスナップショットとしての検索インデックスをインデックスサーバＩＳＡに配置するために、２０Ｇｂｙｔｅの登録インデックスＲＩＤＢ−１のデータ移動が必要となる。
（３）登録インデックスＲＩＤＢ−２のスナップショットとしての検索インデックスをインデックスサーバＩＳＣに配置するために、２０Ｇｂｙｔｅの登録インデックスＲＩＤＢ−２のデータ移動が必要となる。
（４）登録インデックスＲＩＤＣ−１のスナップショットとしての検索インデックスをインデックスサーバＩＳＣに配置するためのデータ移動は同一サーバ内であるので、移動データ量＝０Ｇｂｙｔｅとなる。
【０１１６】
この結果、配置パターンＮｏ．３６に対応するインデックス配置とした場合に必要となる各インデックスサーバ間で必要となるインデックス情報の情報量、すなわち評価関数ＰＭは、
ＰＭ＝３０＋２０＋２０＋０＝７０
となる。
【０１１７】
この評価関数ＰＭの算出を、図１３に示す実現可能な配置パターンのすべてにおいて実行すると、図１３に示す配置パターン６９が最もデータ移動の少ないパターン、すなわち、最小の評価関数ＰＭを持つ配置パターンとして選択される。
【０１１８】
配置パターンＮｏ．６９は、登録インデックスＲＩＤＡ−１のコピーデータとしてのスナップショットとして構成される検索インデックスをインデックスサーバＩＳＣに配置し、登録インデックスＲＩＤＢ−１のスナップショットとしての検索インデックスをインデックスサーバＩＳＢに配置し、登録インデックスＲＩＤＢ−２のスナップショットとしての検索インデックスをインデックスサーバＩＳＢに配置し、登録インデックスＲＩＤＣ−１のスナップショットとしての検索インデックスをインデックスサーバＩＳＣに配置する設定である。
【０１１９】
この設定におけるインデックスデータの移動量について、図１５を参照して説明する。図１４には、先に図６を参照して説明した更新前の各インデックスサーバの登録インデックスおよび検索インデックスの格納状況を示し、さらに、図１３の配置パターンＮｏ．＝６９とした場合に必要となるデータ移動を矢印で示してある。
【０１２０】
配置パターンＮｏ．６９において、
（１）登録インデックスＲＩＤＡ−１のコピーデータとしてのスナップショットとして構成される検索インデックスをインデックスサーバＩＳＣに配置するためには、３０Ｇｂｙｔｅの登録インデックスＲＩＤＡ−１のデータ移動が必要となる。
（２）登録インデックスＲＩＤＢ−１のスナップショットとしての検索インデックスをインデックスサーバＩＳＢに配置するためのデータ移動は同一サーバ内であるので、移動データ量＝０Ｇｂｙｔｅとなる。
（３）登録インデックスＲＩＤＢ−２のスナップショットとしての検索インデックスをインデックスサーバＩＳＢに配置するためのデータ移動は同一サーバ内であるので、移動データ量＝０Ｇｂｙｔｅとなる。
（４）登録インデックスＲＩＤＣ−１のスナップショットとしての検索インデックスをインデックスサーバＩＳＣに配置するためのデータ移動は同一サーバ内であるので、移動データ量＝０Ｇｂｙｔｅとなる。
【０１２１】
この結果、配置パターンＮｏ．６９に対応するインデックス配置とした場合に必要となる各インデックスサーバ間で必要となるインデックス情報の情報量、すなわち評価関数ＰＭは、
ＰＭ＝３０＋０＋０＋０＝３０
となる。
【０１２２】
図１３に示すリスト、すなわち、各インデックスサーバのインデックス格納領域サイズ、登録インデックスサイズに基づいて配置可能なパターンのみを抽出したリストの中で、最小の評価関数ＰＭとなるのは、この配置パターンＮｏ．６９となる。配置パターンＮｏ．６９の検索インデックス配置は、この配置パターンに移行する場合に必要となるインデックスサーバ間のインデックス情報の移動量が最も少ないパターンであり、最小の評価関数ＰＭが得られる。
【０１２３】
図９のステップＳ２０６において、各実現可能な配置パターンの各々について、インデックスの移動量に基づく評価関数ＰＭを算出し、ステップＳ２０７において、評価関数ＰＭに基づいて唯一の配置パターンの選択が可能か否か、すなわち、実現可能な配置パターンから最小の評価関数ＰＭを有する１つの配置パターンが選択可能かいなかを判定する。
【０１２４】
唯一の配置パターンが選択できた場合は、ステップＳ２０９において、その選択配置パターンを更新配置パターンとして決定し、配置パターン決定処理（図５のステップＳ１０３の処理）を終了する。
【０１２５】
しかし、上述のインデックス移動量に基づく評価関数ＰＭを適用しても、唯一の最適配置パターンが決定できない場合がある。すなわち、図１３に示した上述の例のように最小の評価関数ＰＭを持つ唯一の配置パターンの選択に成功せず、最小の評価関数ＰＭを持つ配置パターンが複数ある場合がある。このような場合には、ステップＳ２０８に進み、算出済みのアクセス数に基づく評価関数ＰＡと情報移動量に基づく評価関数ＰＭを適用して１つの配置パターンを決定する。決定処理の態様は、例えば、アクセス数に基づく評価関数ＰＡと情報移動量に基づく評価関数ＰＭの双方の値がともに小さいパターンを優先選択する処理、あるいは、例えば、両者の評価関数に重みを設定するパラメータα、βを適用し、
ＰＴ＝αＰＡ＋βＰＭ
に基づいて、トータル評価関数ＰＴを算出し、このトータル評価関数の最も小さい配置パターンを選択するなどの処理が可能である。
【０１２６】
ステップＳ２０８において、上述の処理を実行し、ステップＳ２０９において、その選択配置パターンを更新配置パターンとして決定し、配置パターン決定処理（図５のステップＳ１０３の処理）を終了する。
【０１２７】
なお、図９に示す配置パターン決定処理シーケンスは、アクセス数に基づく評価関数ＰＡの算出、評価関数ＰＡに基づく配置パターンの選択、情報移動量に基づく評価関数ＰＭの算出、評価関数ＰＭに基づく配置パターンの選択、これらの選択処理において唯一の配置パターンが求められなかった場合に、評価関数ＰＡ、評価関数ＰＭに基づく配置パターンの選択というシーケンスとした例であるが、配置パターンの決定シーケンスはこの順番に行なうことは必須ではない。
【０１２８】
例えば、情報移動量に基づく評価関数ＰＭの算出と、評価関数ＰＭに基づく最適配置パターンの決定処理を先に実行してもよい。あるいは、前述したトータルの評価関数ＰＴを最初から算出して、この評価関数ＰＴに基づいて最適配置パターンを決定する処理を行なうようにしてもよい。
【０１２９】
また、上述した評価関数以外の評価関数の適用も可能である。例えば、インデックスサーバのインデックス格納領域に複数のＨＤＤが存在する場合など、ＨＤＤの数、すなわち並列アクセスの可能なＨＤＤ数などを考慮した評価関数を設定し、これらの評価関数を適用した配置パターン決定処理を行なう構成としてもよい。
【０１３０】
図４に示すインデックスサーバ管理部１５０の検索インデックス配置決定部２０３は、上述した処理に従って更新後の検索インデックスの配置パターンを決定し、決定した結果に基づいて更新後検索インデックス配置登録テーブル２１５を生成し、記憶部に格納する。
【０１３１】
検索インデックス配置決定部２０３の生成する更新後検索インデックス配置登録テーブル２１５のデータ構成例を図１６に示す。図１６のテーブルは、図１２に示すリストの配置パターンＮｏ．７４に対応する設定例である。
【０１３２】
すなわち、先に説明したアクセス数に基づく評価関数ＰＡが最小値を持つ配置パターンであり、登録インデックスＲＩＤＡ−１のコピーデータとしてのスナップショットとして構成される検索インデックスをインデックスサーバＩＳＣに配置し、登録インデックスＲＩＤＢ−１のスナップショットとしての検索インデックスをインデックスサーバＩＳＣに配置し、登録インデックスＲＩＤＢ−２のスナップショットとしての検索インデックスをインデックスサーバＩＳＡに配置し、登録インデックスＲＩＤＣ−１のスナップショットとしての検索インデックスをインデックスサーバＩＳＢに配置する設定である。
【０１３３】
この配置パターンに対応して設定される更新後検索インデックス配置登録テーブル２１５のデータ構成が図１６に示すテーブルとして設定される。図１６のテーブルでは、
（１）インデックスサーバＩＳＡ、
登録インデックス：ＲＩＤＡ−１、
検索インデックスＳＩＤＡ−１（Ｂ−２）
（２）インデックスサーバＩＳＢ、
登録インデックス：ＲＩＤＢ−１、ＲＩＤＢ−２、
検索インデックスＳＩＤＢ−１（Ｃ−１）
（３）インデックスサーバＩＳＣ、
登録インデックス：ＲＩＤＣ−１、
検索インデックスＳＩＤＣ−１（Ａ−１）、ＳＩＤＣ−２（Ｂ−１）、
の各インデックスが配置されることを示している。
これは、配置パターンＮｏ．７４に対応する検索インデックスの配置構成を持つ。
【０１３４】
図４に示す検索インデックス配置指示部２０４は、図１６に示す更新後検索インデックス配置登録テーブルに従って、各インデックスサーバに対して、検索インデックスの転送、配置指示を送信する。この処理が、図５の処理フローにおけるステップＳ１０４の処理である。
【０１３５】
図５の処理フローにおけるステップＳ１２２では、各インデックスサーバが、インデックスサーバ管理部からの検索インデックス配置情報を受領し、必要に応じて、自己の登録インデックスのスナップショットを生成し、他のインデックスサーバに送信する。また、必要に応じて、他のインデックスサーバの保持する登録インデックスのスナップショットを受信して、自己のインデックス格納領域に検索インデックスとして格納する処理を実行する。これらの処理の結果として、例えば図１６に示す更新後検索インデックス配置登録テーブルに従った検索インデックスの配置が行なわれることになる。
【０１３６】
さらに、各インデックスサーバは、検索インデックスの配置更新の後、ステップＳ１２３において、各インデックスサーバにおいて管理するアクセス数登録テーブルをリセットしてアクセス数＝０に設定する処理を行なう。この処理の後、次回の更新まで、継続してアクセス数のカウントが行なわれ、次回更新時にインデックスサーバ管理部からのインデックスサーバ情報の取得要求に応じてこのカウントデータをインデックスサーバ管理部に提供することになる。
【０１３７】
図１６に示す更新後検索インデックス配置登録テーブルに従って検索インデックスの配置の更新がなされた結果を図１７に示す。なお、更新前の構成は、図６の構成である。
【０１３８】
インデックスサーバＩＳＡ３１０は、登録インデックス：ＲＩＤＡ−１３１２の他に、検索インデックスＳＩＤＡ−１（Ｂ−２）４１１を有する。この検索インデックスＳＩＤＡ−１（Ｂ−２）４１１は、インデックスサーバＩＳＢの登録インデックス：ＲＩＤＢ−２３２３のスナップショットである。
【０１３９】
インデックスサーバＩＳＢ３２０は、登録インデックス：ＲＩＤＢ−１３２２、登録インデックス：ＲＩＤＢ−２３２３の他に、検索インデックスＳＩＤＢ−１（Ｃ−１）４２１を有する。この検索インデックスＳＩＤＢ−１（Ｃ−１）４２１は、インデックスサーバＩＳＣの登録インデックス：ＲＩＤＣ−１３３２のスナップショットである。
【０１４０】
インデックスサーバＩＳＣ３３０は、登録インデックス：ＲＩＤＣ−１３３２の他に、検索インデックスＳＩＤＣ−１（Ａ−１）４３１と、検索インデックスＳＩＤＣ−２（Ｂ−１）４３２を有する。検索インデックスＳＩＤＣ−１（Ａ−１）４３１は、インデックスサーバＩＳＡの登録インデックス：ＲＩＤＡ−１３１２のスナップショットであり、検索インデックスＳＩＤＣ−２（Ｂ−１）４３２は、インデックスサーバＩＳＢの登録インデックス：ＲＩＤＢ−１３２２のスナップショットである。
これは、図１２のリスト中の配置パターンＮｏ．７４に対応する検索インデックスの配置構成である。
【０１４１】
また、各インデックスサーバのアクセス数登録テーブルは、図に示すように、すべてリセット、すなわちアクセス数＝０に設定される。この更新後に、改めてアクセス数がカウントされることになる。なお、アクセス数登録テーブルは、インデックスサーバに設置される検索インデックスごとにカウント値を登録する構成を持つ。
【０１４２】
以上、説明したように、本発明のインデックス配置、更新処理構成では、複数のインデックスサーバを適用して、インデックス情報を分散格納するシステムにおいて、登録インデックスのスナップシッョトとして設定される検索インデックスを登録インデックスを保持するインデックスサーバに固定的に保持するのではなく、各インデックスサーバのデータ記憶容量や、アクセス数、あるいはデータ移動量を考慮して、設定するサーバを決定して配置する構成とした。本構成により、複数のインデックスサーバの全体の記憶領域を有効活用することが可能となる。また、各インデックスサーバのアクセス数に基づく処理負荷を均等に分散することが可能となる。さらに、検索インデックスの再配置によるデータ移動量を最小とすることを考慮した処理を行なう構成であるので、データ移動に伴う処理負荷を過大に増大させることもない。
【０１４３】
最後に、上述した処理を実行するインデックスサーバ管理部、およびインデックスサーバを構成する情報処理装置のハードウェア構成例について、図１８を参照して説明する。
【０１４４】
インデックスサーバ管理部、およびインデックスサーバの各々は、データ処理機能、データ通信機能を備えた情報処理装置として構成される。図１８は、１つの情報処理装置構成例を示すハードウェア例である。なお、上述の説明では、インデックスサーバと、インデックスサーバ管理部を全く独立した構成として説明したが、１つのインデックスサーバがインデックスサーバ管理部としての機能を併せ持つ構成としてもよい。
【０１４５】
図１８に示す情報処理装置の構成について説明する。ＣＰＵ（Central Processing Unit）５０１は、ＯＳ（Operating System)に対応する処理や、インデックス管理サーバにおいては、上述の実施例において説明した検索インデックスの配置パターン決定処理、各評価関数の算出処理などを実行し、インデックスサーバにおいては、クライアントからの要求に応じた検索処理などを実行する。これらの処理は、各情報処理装置のＲＯＭ、ハードディスクなどのデータ記憶部に格納されたコンピュータ・プログラムに従って実行される。
【０１４６】
ＲＯＭ（Read Only Memory）５０２は、ＣＰＵ５０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Random Access Memory）５０３は、ＣＰＵ５０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス５０４により相互に接続されている。
【０１４７】
ホストバス５０４は、ブリッジ５０５を介して、ＰＣＩ(Peripheral Component Interconnect/Interface)バスなどの外部バス５０６に接続されている。
【０１４８】
キーボード５０８、ポインティングデバイス５０９は、ユーザにより操作される入力デバイスである。ディスプレイ５１０は、液晶表示装置またはＣＲＴ（Cathode Ray Tube）などから成り、各種情報をテキストやイメージで表示する。
【０１４９】
ＨＤＤ（Hard Disk Drive）５１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ５０１によって実行するプログラムや情報を記録または再生させる。ハードディスクは、例えば、インデックスサーバであれば、インデックス情報の格納領域、アクセス数登録テーブルの格納領域として利用され、また、インデックスサーバ管理部であれば、各種隔離データの格納領域として利用される。さらに、データ処理プログラム等、各種コンピュータ・プログラムが格納される。
【０１５０】
ドライブ５１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体５２１に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インタフェース５０７、外部バス５０６、ブリッジ５０５、およびホストバス５０４を介して接続されているＲＡＭ５０３に供給する。
【０１５１】
接続ポート５１４は、外部接続機器５２２を接続するポートであり、ＵＳＢ，ＩＥＥＥ１３９４等の接続部を持つ。接続ポート５１４は、インタフェース５０７、および外部バス５０６、ブリッジ５０５、ホストバス５０４等を介してＣＰＵ５０１等に接続されている。通信部５１５は、ネットワークに接続され、ＣＰＵ５０１、またはＨＤＤ５１１等からの供給データの送信、データ受信を実行する。
【０１５２】
なお、図１８に示す情報処理装置のハードウェア構成例は、ＰＣを適用して構成した装置の一例であり、本発明の情報処理装置は、図１８に示す構成に限らず、上述した実施例において説明した処理を実行可能な構成であればよい。
【０１５３】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１５４】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１５５】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【０１５６】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１５７】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１５８】
以上、説明したように、本発明の構成によれば、分散配置される複数のインデックスサーバにデータ更新処理に対応した登録インデックス格納部と、検索処理に対応した検索インデックス格納部とを設定した検索システム構成において、各インデックスサーバのインデックス情報の記憶領域としてのインデックス格納領域サイズと、登録インデックスサイズとに基づいて、各インデックスサーバに配置可能な検索インデックスの配置パターンを選択し、さらに、配置可能パターン各々に対する様々な評価処理に基づいて最適な配置パターンを決定する構成としたので、インデックスサーバの全体の記憶領域および各々の記憶領域を考慮した最適配置パターンの決定が可能となり、記憶領域の有効利用を実現したインデックス配置が実現される。
【０１５９】
さらに、本発明の構成によれば、登録インデックスのスナップシッョトとして設定される検索インデックスを固定的に保持するのではなく、各インデックスサーバのデータ記憶容量や、アクセス数、あるいはデータ移動量を考慮して、設定するサーバを決定して配置する構成としたので、複数のインデックスサーバの全体の記憶領域を有効活用することが可能となるのみならず、各インデックスサーバのアクセス数に基づく処理負荷の分散が可能となり、さらに、検索インデックスの再配置によるデータ移動量についても、最小限としたインデックス配置処理が可能となる。
【図面の簡単な説明】
【０１６０】
【図１】登録インデックスと検索インデックスを有する検索システムの構成について説明する図である。
【図２】本発明の検索システムの構成について説明する図である。
【図３】インデックス格納部に格納されるインデックス情報のデータ構成について説明する図である。
【図４】インデックスサーバ管理部の機能構成について説明する図である。
【図５】検索インデックスの配置決定、更新処理シーケンスについて説明するフローチャートを示す図である。
【図６】インデックスサーバにおける登録インデックスと検索インデックスの配置例について説明する図である。
【図７】インデックスサーバ情報について説明する図である。
【図８】インデックスサーバ情報管理テーブルの構成、および生成処理について説明する図である。
【図９】検索インデックスの配置決定処理シーケンスについて説明するフローチャートを示す図である。
【図１０】検索インデックスの配置パターンのリストを示す図である。
【図１１】検索インデックスの配置パターンから実現可能な配置パターンを選択する処理について説明する図である。
【図１２】アクセス数に基づく評価関数を適用して最適な検索インデックスの配置パターンを選択する処理について説明する図である。
【図１３】インデックス情報の移動量に基づく評価関数を適用して最適な検索インデックスの配置パターンを選択する処理について説明する図である。
【図１４】インデックス情報の移動量について説明する図である。
【図１５】インデックス情報の移動量が最小になる配置パターンにおけるインデックス情報移動について説明する図である。
【図１６】更新後検索インデックス配置登録テーブルのデータ構成について説明する図である。
【図１７】更新後検索インデックス配置登録テーブルに基づいて検索インデックスの配置を更新した後のインデックス配置構成について説明する図である。
【図１８】インデックスサーバ、およびインデックスサーバ管理部を構成する情報処理装置のハードウェア構成例について説明する図である。
【符号の説明】
【０１６１】
１０  ネットワーク
１１，２１  インデックスサーバ
１２，２２  登録インデックス格納部
１３，２３  検索インデックス格納部
３１  文書管理サーバ
４１  クライアント
１００  ネットワーク
１１０，１２０  インデックスサーバ
１１１，１２１  インデックス格納領域
１１２，１２２  登録インデックス格納部
１１３，１２３  検索インデックス格納部
１５０  インデックスサーバ管理部
１６０  文書管理サーバ
１７１  クライアント
２０１  インデックスサーバ情報取得部
２０２  インデックスサーバ情報整理部
２０３  検索インデックス配置決定部
２０４  検索インデックス配置指示部
２１１  インデックス格納領域情報
２１２  登録インデックス情報
２１３  アクセス数情報
２１４  インデックスサーバ情報管理テーブル
２１５  更新後検索インデックス配置登録テーブル
３１０，３２０，３３０  インデックスサーバ
３１１，３２１，３３１  インデックス格納領域
３１２，３２２，３２３，３３２  登録インデックス格納部
３１３，３２４，３２５，３３３  検索インデックス格納部
３１８，３２８，３３８  アクセス数登録テーブル
４１１，４２１，４３１，４３２  検索インデックス格納部
５０１  ＣＰＵ(Central Processing Unit)
５０２  ＲＯＭ（Read-Only-Memory）
５０３  ＲＡＭ（Random Access Memory）
５０４  ホストバス
５０５  ブリッジ
５０６  外部バス
５０７  インタフェース
５０８  キーボード
５０９  ポインティングデバイス
５１０  ディスプレイ
５１１  ＨＤＤ（Hard Disk Drive）
５１２  ドライブ
５１４  接続ポート
５１５  通信部
５２１  リムーバブル記録媒体
５２２  外部接続機器
【図１】
2006185019.tif 000003
【図２】
2006185019.tif 000004
【図３】
2006185019.tif 000005
【図４】
2006185019.tif 000006
【図５】
2006185019.tif 000007
【図６】
2006185019.tif 000008
【図７】
2006185019.tif 000009
【図８】
2006185019.tif 000010
【図９】
2006185019.tif 000011
【図１０】
2006185019.tif 000012
【図１１】
2006185019.tif 000013
【図１２】
2006185019.tif 000014
【図１３】
2006185019.tif 000015
【図１４】
2006185019.tif 000016
【図１５】
2006185019.tif 000017
【図１６】
2006185019.tif 000018
【図１７】
2006185019.tif 000019
【図１８】
2006185019.tif 000020