(57)【特許請求の範囲】
【請求項１】
クライアント装置から検索命令を受信する命令受信部と、
前記検索命令を解析し、検索対象データを分散して管理する複数の管理装置それぞれに対する検索要求を作成する解析部と、
前記検索要求に対する検索結果を一時的に記憶する結果記憶部に記憶されている前記検索結果のデータ量に応じて、前記検索結果の要求が許可される第１許可状態と前記検索結果の要求が禁止される第１禁止状態とを切り替える第１切替部と、
前記管理装置それぞれに前記検索要求を送信するとともに、前記第１許可状態である場合に所定サイズ分の前記検索結果を要求する結果要求を前記管理装置それぞれに逐次送信する要求送信部と、
前記管理装置それぞれから前記所定サイズ分の前記検索結果を逐次受信して、前記結果記憶部に記憶する結果受信部と、
前記結果記憶部に記憶されている前記検索結果を集約して集約結果を生成し、集約済みの前記検索結果を前記結果記憶部から削除する集約部と、
前記集約結果を前記クライアント装置に送信する集約結果送信部と、
を備えることを特徴とする検索装置。
【請求項２】
前記第１切替部は、前記第１許可状態時に前記結果記憶部に記憶されている前記検索結果のデータ量が第１閾値以上となった場合に、前記第１許可状態から前記第１禁止状態に切り替え、前記第１禁止状態時に前記結果記憶部に記憶されている前記検索結果のデータ量が前記第１閾値より小さい第２閾値以下となった場合に、前記第１禁止状態から前記第１許可状態に切り替えることを特徴とする請求項１に記載の検索装置。
【請求項３】
前記第１切替部は、前記第１許可状態である場合、前記結果記憶部に記憶されている前記検索結果のデータ量を参照して前記所定サイズを決定することを特徴とする請求項１に記載の検索装置。
【請求項４】
請求項１に記載の検索装置と、前記検索装置とネットワークを介して接続される複数の前記管理装置と、を備える検索システムであって、
前記管理装置のそれぞれは、
前記検索装置から前記検索要求を受信するとともに、前記結果要求を逐次受信する要求受信部と、
前記検索対象データを記憶するデータ記憶部から、前記検索要求を満たす前記検索対象データの記憶位置を示すアドレスを逐次検索する検索部と、
前記データ記憶部から取得される前記検索対象データを一時的に記憶する一時記憶部に記憶されている前記検索対象データのデータ量に応じて、前記検索対象データの取得が許可される第２許可状態と前記検索対象データの取得が禁止される第２禁止状態とを切り替える第２切替部と、
前記第２許可状態である場合に、検索された前記アドレスが示す前記検索対象データを前記データ記憶部から取得して、前記一時記憶部に記憶する取得部と、
前記結果要求が受信される毎に、前記一時記憶部から前記所定サイズ分の前記検索対象データを取得し、取得した前記検索対象データを前記検索結果として前記検索装置に送信し、送信済みの前記検索対象データを前記一時記憶部から削除する検索結果送信部と、
を備えることを特徴とする検索システム。
【請求項５】
前記第２切替部は、前記第２許可状態時に前記一時記憶部に記憶されている前記検索対象データのデータ量が第３閾値以上となった場合に、前記第２許可状態から前記第２禁止状態に切り替え、前記第２禁止状態時に前記一時記憶部に記憶されている前記検索対象データのデータ量が前記第３閾値より小さい第４閾値以下となった場合に、前記第２禁止状態から前記第２許可状態に切り替えることを特徴とする請求項４に記載の検索システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索に関する。
【背景技術】
【０００２】
従来から、検索対象データを分散して管理する複数の管理装置と、各管理装置に検索を要求するとともに各管理装置の検索結果を集約する検索装置と、を備えるシェアードナッシング構成の分散検索システムが知られている（例えば、非特許文献１参照）。【０００３】
クライアント装置からの検索要求に対して大量の検索対象データが検索される場合に、各管理装置の検索結果を検索装置で全て保持するとなると、メモリに多くの記憶容量が必要になる。このため、従来の分散検索システムでは、検索装置は、クライアント装置から集約結果の取得が要求される毎に各管理装置に検索結果を要求し、要求した検索結果を集約して、クライアント装置に返却していた。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｍ．  ＴＡＭＥＲ  ＯＺＳＵ  ｅｔ  ａｌ．，  「Ｐｒｉｎｃｉｐｌｅ  ｏｆ  ＤＩＳＴＲＩＢＵＴＥＤ  ＤＡＴＡＢＡＳＥ  ＳＹＳＴＥＭＳ」，  ＰＲＥＮＴＩＣＥ  ＨＡＬＬ；  Ｓｅｃｏｎｄ  Ｅｄｉｔｉｏｎ，  １９９９．  １３．２．３  Ｐａｒａｌｌｅｌ  Ｓｙｓｔｅｍ  Ａｒｃｈｉｔｅｃｔｕｒｅｓ，  ｐｐ．４２４−４３０
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の検索システムでは、集約結果の取得に時間を要してしまう。【０００６】
本発明は、上記に鑑みてなされたものであり、記憶容量を増加せずに集約結果の取得時間を短縮することができる検索装置、及びシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明の一態様にかかる検索装置は、クライアント装置から検索命令を受信する命令受信部と、前記検索命令を解析し、検索対象データを分散して管理する複数の管理装置それぞれに対する検索要求を作成する解析部と、前記検索要求に対する検索結果を一時的に記憶する結果記憶部に記憶されている前記検索結果のデータ量に応じて、前記検索結果の要求が許可される第１許可状態と前記検索結果の要求が禁止される第１禁止状態とを切り替える第１切替部と、前記管理装置それぞれに前記検索要求を送信するとともに、前記第１許可状態である場合に所定サイズ分の前記検索結果を要求する結果要求を前記管理装置それぞれに逐次送信する要求送信部と、前記管理装置それぞれから前記所定サイズ分の前記検索結果を逐次受信して、前記結果記憶部に記憶する結果受信部と、前記結果記憶部に記憶されている前記検索結果を集約して集約結果を生成し、集約済みの前記検索結果を前記結果記憶部から削除する集約部と、前記集約結果を前記クライアント装置に送信する集約結果送信部と、を備えることを特徴とする。【０００８】
また、本発明の別の態様にかかる検索システムは、上記検索装置と、前記検索装置とネットワークを介して接続される複数の前記管理装置と、を備える検索システムであって、前記管理装置のそれぞれは、前記検索装置から前記検索要求を受信するとともに、前記結果要求を逐次受信する要求受信部と、前記検索対象データを記憶するデータ記憶部から、前記検索要求を満たす前記検索対象データの記憶位置を示すアドレスを逐次検索する検索部と、前記データ記憶部から取得される前記検索対象データを一時的に記憶する一時記憶部に記憶されている前記検索対象データのデータ量に応じて、前記検索対象データの取得が許可される第２許可状態と前記検索対象データの取得が禁止される第２禁止状態とを切り替える第２切替部と、前記第２許可状態である場合に、検索された前記アドレスが示す前記検索対象データを前記データ記憶部から取得して、前記一時記憶部に記憶する取得部と、前記結果要求が受信される毎に、前記一時記憶部から前記所定サイズ分の前記検索対象データを取得し、取得した前記検索対象データを前記検索結果として前記検索装置に送信し、送信済みの前記検索対象データを前記一時記憶部から削除する検索結果送信部と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、記憶容量を増加せずに集約結果の取得時間を短縮することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の検索システムの概略を示すブロック図。
【図２】本実施形態の検索システムの詳細を示すブロック図。
【図３】本実施形態の検索装置の状態遷移図。
【図４】本実施形態の管理装置の状態遷移図。
【図５】本実施形態の検索装置の処理手順を示すフローチャート。
【図６】本実施形態の管理装置の処理手順を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照しながら、本発明の検索システムの実施形態を詳細に説明する。
【００１２】
図１は、本実施形態の検索システム１の概略構成の一例を示すブロック図である。図１に示すように、検索対象データを分散して管理する複数の管理装置３と、各管理装置３に検索を要求するとともに各管理装置３の検索結果を集約する検索装置２とを備える。検索装置２及び複数の管理装置３は、ネットワーク４を介して接続されている。
【００１３】
本実施形態の検索システム１は、いわゆるシェアードナッシング構成の分散検索システムであり、複数の管理装置３は、それぞれ独立して計算機リソースを備えている。つまり、各管理装置３は、他の管理装置と計算機リソースを共有せず、それぞれ独立に検索対象データを管理している。各管理装置３で管理する検索対象データは、検索システム１で管理する検索対象データの全体集合を部分集合に分割したものである。なお本実施形態では、検索装置２の台数が１台、管理装置３の台数が１００台である場合を例にとり説明するが、検索装置２及び管理装置３の台数はこれに限定されるものではない。
【００１４】
また、ネットワーク４には、検索装置２に対して検索を命令するとともに検索装置２の集約結果を受信するクライアント装置５が接続されている。なお、ネットワーク４は、有線若しくは無線、またＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ)や公衆通信回線を問わず、どのようなネットワークであってもよい。
【００１５】
図２は、本実施形態の検索システム１の詳細構成の一例を示すブロック図である。図２に示すように、検索装置２は、通信部１０と、記憶部２０と、解析部３０と、第１切替部３２と、集約部３４とを備える。
【００１６】
通信部１０は、ネットワーク４を介してクライアント装置５や複数の管理装置３との間で通信を行うものであり、例えば、通信インターフェースなどの既存の通信装置やＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの既存の制御装置により実現できる。そして、通信部１０は、命令受信部１２と、要求送信部１４と、結果受信部１６と、集約結果送信部１８とを含む。なお、これらの各部の詳細については後述する。
【００１７】
記憶部２０は、検索装置２で実行される各種プログラムや検索装置２で行われる各種処理に使用される情報などを記憶する。記憶部２０は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、メモリカード、光ディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの磁気的、光学的、又は電気的に記憶可能な既存の記憶装置により実現できる。そして、記憶部２０は、結果記憶部２２を含む。なお、結果記憶部２２の詳細については後述する。
【００１８】
命令受信部１２は、クライアント装置５から検索命令を受信する。検索命令は、検索システム１で管理されている全ての検索対象データ（全体集合）を検索対象とする命令である。また、命令受信部１２は、クライアント装置５から、後述の集約部３４により集約される集約結果の送信を指示する送信命令を受信する。
【００１９】
解析部３０は、命令受信部１２により受信された検索命令を解析し、各管理装置３に対する検索要求を作成する。つまり、解析部３０は、命令受信部１２により受信された検索命令を各管理装置３で管理される検索対象データ（部分集合）に対する検索要求に分割する。例えば、解析部３０は、検索命令を解析した結果、“ｐａｔｅｎｔ”という名称のデータベースに記憶されている検索対象データが全て必要であると判断したとする。この場合、解析部３０は、“ｐａｔｅｎｔ”というデータベースを管理する管理装置３に対して、ｄｂ（“ｐａｔｅｎｔ”）／ｐａｔｅｎｔという検索式を検索要求として作成する。なお、この例では、“ｐａｔｅｎｔ”というデータベースのルートフォルダ（ルートディレクトリ）は、ｐａｔｅｎｔとなっている。
【００２０】
また、解析部３０は、作成した各検索要求に対する検索結果を集約するための集約ルールを作成する。
【００２１】
結果記憶部２２は、解析部３０により作成された検索要求に対する検索結果を一時的に記憶するものであり、本実施形態では、ＲＡＭにより実現される。
【００２２】
第１切替部３２は、結果記憶部２２に記憶されている検索結果のデータ量に応じて、検索結果の要求が許可される第１許可状態と検索結果の要求が禁止される第１禁止状態とを切り替える。
【００２３】
具体的には、第１切替部３２は、第１許可状態時に結果記憶部２２に記憶されている検索結果のデータ量が第１閾値以上となった場合に、第１許可状態から第１禁止状態に切り替える。また、第１切替部３２は、第１禁止状態時に結果記憶部２２に記憶されている検索結果のデータ量が第１閾値より小さい第２閾値以下となった場合に、第１禁止状態から第１許可状態に切り替える。
【００２４】
また、第１切替部３２は、第１許可状態である場合、結果記憶部２２に記憶されている検索結果のデータ量を参照して、後述の要求送信部１４により要求される検索結果の要求サイズを決定する。具体的には、第１切替部３２は、第１閾値から結果記憶部２２に記憶されている検索結果のデータ量を差し引いた空き容量を参照して、検索結果の要求サイズを決定する。例えば、第１切替部３２は、第１閾値が１ＧＢであり、結果記憶部２２に記憶されている検索結果のデータ量が０Ｂの場合、１００台の管理装置３それぞれに対する検索結果の要求サイズを１０ＭＢに決定する。
【００２５】
なお本実施形態では、第１許可状態であるか第１禁止状態であるかは、記憶部２０に記憶されているフラグなどにより管理されている。そして、第１切替部３２は、このフラグを切り替えることにより、第１許可状態及び第１禁止状態を切り替える。また本実施形態では、第１閾値及び第２閾値は、予め記憶部２０などに記憶されているものとする。
【００２６】
要求送信部１４は、各管理装置３に解析部３０により作成された検索要求を送信する。また、要求送信部１４は、第１許可状態である場合に所定サイズ分の検索結果を要求する結果要求を各管理装置３に逐次送信する。なお、所定サイズ（要求サイズ）は、前述したように、第１切替部３２により決定される。
【００２７】
結果受信部１６は、各管理装置３から所定サイズ分の検索結果を逐次受信して、結果記憶部２２に記憶する。また、結果受信部１６は、管理装置３が検索結果を全て送信した場合、当該管理装置３から、検索結果を全て送信したことを示す送信終了情報を受信する。結果受信部１６により送信終了情報が受信されると、第１切替部３２は、送信終了情報を送信した管理装置３を検索結果の要求対象から除外する。
【００２８】
集約部３４は、結果記憶部２２に記憶されている検索結果を集約して集約結果を生成し、集約済みの検索結果を結果記憶部２２から削除する。具体的には、集約部３４は、命令受信部１２により送信命令が受信される毎に、解析部３０により作成された集約ルールに従って検索結果を集約する。
【００２９】
集約結果送信部１８は、集約部３４により生成された集約結果をクライアント装置５に送信する。
【００３０】
なお、解析部３０、第１切替部３２、及び集約部３４については、例えば、既存の制御装置により実現できる。また本実施形態では、結果受信部１６、及び集約部３４は、並列動作するよう構成されている。
【００３１】
図３は、本実施形態の検索装置２の状態遷移の一例を示す状態遷移図である。なお、図３に示す例では、第１閾値が１ＧＢであり、第２閾値が７００ＭＢである場合の状態遷移を示している。
【００３２】
まず、検索装置２が処理を開始する時点では、結果記憶部２２には検索結果が記憶されていない。このため、第１切替部３２は、結果記憶部２２に記憶されている検索結果のデータ量は１ＧＢ未満と判定し、第１許可状態に設定する（矢印４０参照）。
【００３３】
第１許可状態では、検索結果の要求が許可されるため、要求送信部１４は、各管理装置３に結果要求を逐次送信する。これに伴い、結果受信部１６は、各管理装置３から検索結果を逐次受信して、結果記憶部２２に記憶する。一方、集約部３４は、クライアント装置５からの送信命令に従って、結果記憶部２２に記憶されている検索結果を集約して集約結果を生成し、集約済みの検索結果を結果記憶部２２から削除する。但し、クライアント装置５からの送信命令は、逐次行われるとは限らない。このため、第１許可状態では、結果記憶部２２から削除される検索結果よりも結果記憶部２２に新たに記憶される検索結果の方が多くなる傾向にあり、結果記憶部２２に記憶される検索結果のデータ量も増加する傾向にある。
【００３４】
第１許可状態は、第１切替部３２により結果記憶部２２に記憶されている検索結果のデータ量が１ＧＢ未満と判定されている間、継続する（矢印４１参照）。そして、第１切替部３２は、結果記憶部２２に記憶されている検索結果のデータ量が１ＧＢ以上であると判定すると、第１許可状態から第１禁止状態に切り替える（矢印４２参照）。
【００３５】
第１禁止状態では、検索結果の要求が禁止されるため、要求送信部１４は、管理装置３への結果要求の送信を停止する。これに伴い、管理装置３からの検索結果の送信も停止され、結果受信部１６による結果記憶部２２への検索結果の記憶も停止される。一方、集約部３４は、第１禁止状態においても、クライアント装置５からの送信命令に従って、結果記憶部２２に記憶されている検索結果を集約して集約結果を生成し、集約済みの検索結果を結果記憶部２２から削除する。このため、第１禁止状態では、結果記憶部２２に記憶されている検索結果のデータ量は減少する傾向にある。
【００３６】
第１禁止状態は、第１切替部３２により結果記憶部２２に記憶されている検索結果のデータ量が７００ＭＢを超えていると判定されている間、継続する（矢印４３参照）。そして、第１切替部３２は、結果記憶部２２に記憶されている検索結果のデータ量が７００ＭＢ以下であると判定すると、第１禁止状態から第１許可状態に切り替える（矢印４４参照）。
【００３７】
図２に戻り、管理装置３は、通信部５０と、記憶部６０と、検索部７０と、第２切替部７２と、取得部７４とを備える。
【００３８】
通信部５０は、ネットワーク４を介して検索装置２との間で通信を行うものであり、例えば、既存の通信装置や既存の制御装置により実現できる。そして、通信部５０は、要求受信部５２と、検索結果送信部５４とを含む。なお、これらの各部の詳細については後述する。
【００３９】
記憶部６０は、管理装置３で実行される各種プログラムや管理装置３で行われる各種処理に使用される情報などを記憶するものであり、検索装置２同様、既存の記憶装置により実現できる。そして、記憶部６０は、データ記憶部６２と、一時記憶部６４とを含む。なお、これらの各部の詳細については後述する。
【００４０】
要求受信部５２は、検索装置２から検索要求を受信する。また、要求受信部５２は、検索装置２から結果要求を逐次受信する。
【００４１】
データ記憶部６２は、検索対象データを記憶するものであり、例えば、ＨＤＤなどにより実現できる。データ記憶部６２は、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書のような構造化文書を管理するデータベースや、ＲＤＢ（ｒｅｌａｔｉｏｎａｌ  ｄａｔａｂａｓｅ）などとして機能する。
【００４２】
検索部７０は、データ記憶部６２から検索要求を満たす検索対象データの記憶位置を示すアドレスを逐次検索する。例えば、検索部７０は、要求受信部５２によりｄｂ（“ｐａｔｅｎｔ”）／ｐａｔｅｎｔという検索要求が受信された場合には、データ記憶部６２からこの検索要求を満たす検索対象データのアドレスを逐次検索する。
【００４３】
一時記憶部６４は、後述の取得部７４によりデータ記憶部６２から取得される検索対象データを一時的に記憶するものであり、本実施形態では、ＲＡＭにより実現される。
【００４４】
第２切替部７２は、一時記憶部６４に記憶されている検索対象データのデータ量に応じて、検索対象データの取得が許可される第２許可状態と検索対象データの取得が禁止される第２禁止状態とを切り替える。
【００４５】
具体的には、第２切替部７２は、第２許可状態時に一時記憶部６４に記憶されている検索対象データのデータ量が第３閾値以上となった場合に、第２許可状態から第２禁止状態に切り替える。また、第２切替部７２は、第２禁止状態時に一時記憶部６４に記憶されている検索対象データのデータ量が第３閾値より小さい第４閾値以下となった場合に、第２禁止状態から第２許可状態に切り替える。なお本実施形態では、第３閾値及び第４閾値は、予め設定されているものとする。
【００４６】
なお本実施形態では、第２許可状態であるか第２禁止状態であるかは、記憶部６０に記憶されているフラグなどにより管理されている。そして、第２切替部７２は、このフラグを切り替えることにより、第２許可状態及び第２禁止状態を切り替える。また本実施形態では、第３閾値及び第４閾値は、予め記憶部６０に記憶されているものとする。
【００４７】
取得部７４は、第２許可状態である場合に、検索部７０により検索されたアドレスが示す検索対象データをデータ記憶部６２から取得して、一時記憶部６４に記憶する。取得部７４による検索対象データの取得は、第２許可状態時のみ行われるが、検索部７０による検索対象データのアドレスの検索は、第２許可状態及び第２禁止状態に関わらず、検索が終了するまで継続して行われる。なお、検索対象データのデータサイズは、アドレスのデータサイズよりも数百から数百万倍程度大きなサイズとなる。特に、データ記憶部６２が構造化文書を管理するデータベースである場合、検索対象データのデータサイズは、アドレスのデータサイズよりも著しく大きくなる傾向にある。
【００４８】
検索結果送信部５４は、要求受信部５２により結果要求が受信される毎に、一時記憶部６４から結果要求で指定された所定サイズ分の検索対象データを取得し、取得した検索対象データを検索結果として検索装置２に送信し、送信済みの検索対象データを一時記憶部６４から削除する。例えば、検索結果送信部５４は、要求受信部５２により１０ＭＢ分の検索結果を要求する結果要求が受信された場合には、一時記憶部６４から１０ＭＢ分の検索対象データを取得して検索装置２に送信し、送信済みの検索対象データを一時記憶部６４から削除する。また、検索結果送信部５４は、取得部７４により取得される検索対象データを全て送信した場合、検索結果を全て送信したことを示す送信終了情報を検索装置２に送信する。
【００４９】
なお、検索部７０、第２切替部７２、及び取得部７４については、例えば、既存の制御装置により実現できる。また本実施形態では、検索部７０、取得部７４、及び検索結果送信部５４は、並列動作するよう構成されている。
【００５０】
図４は、本実施形態の管理装置３の状態遷移の一例を示す状態遷移図である。なお、図４に示す例では、第３閾値が１００ＭＢであり、第４閾値が５０ＭＢである場合の状態遷移を示している。
【００５１】
まず、管理装置３が処理を開始する時点では、一時記憶部６４には検索対象データが記憶されていない。このため、第２切替部７２は、一時記憶部６４に記憶されている検索対象データのデータ量は１００ＭＢ未満と判定し、第２許可状態に設定する（矢印８０参照）。
【００５２】
第２許可状態では、検索対象データの取得が許可されるため、取得部７４は、検索部７０により検索されたアドレスが示す検索対象データをデータ記憶部６２から逐次取得して、一時記憶部６４に記憶する。一方、検索結果送信部５４は、要求受信部５２により結果要求が受信される毎に、一時記憶部６４から所定サイズ分の検索対象データを取得し、取得した検索対象データを検索結果として検索装置２に送信し、送信済みの検索対象データを一時記憶部６４から削除する。但し、検索装置２が第１許可状態である場合には、検索装置２から結果要求は送信されず、要求受信部５２は、結果要求を受信しない。このため、第２許可状態では、一時記憶部６４から削除される検索対象データよりも一時記憶部６４に新たに記憶される検索対象データの方が多くなる傾向にあり、一時記憶部６４に記憶される検索対象データのデータ量も増加する傾向にある。
【００５３】
第２許可状態は、第２切替部７２により一時記憶部６４に記憶されている検索対象データのデータ量が１００ＭＢ未満と判定されている間、継続する（矢印８１参照）。そして、第２切替部７２は、一時記憶部６４に記憶されている検索対象データのデータ量が１００ＭＢ以上であると判定すると、第２許可状態から第２禁止状態に切り替える（矢印８２参照）。
【００５４】
第２禁止状態では、検索対象データの取得が禁止されるため、取得部７４は、データ記憶部６２からの検索対象データの取得及び一時記憶部６４への検索対象データの記憶を停止する。一方、検索結果送信部５４は、第２禁止状態においても、要求受信部５２により結果要求が受信されると、一時記憶部６４から所定サイズ分の検索対象データを取得し、取得した検索対象データを検索結果として検索装置２に送信し、送信済みの検索対象データを一時記憶部６４から削除する。このため、第２禁止状態では、一時記憶部６４に記憶されている検索対象データのデータ量は減少する傾向にある。
【００５５】
第２禁止状態は、第２切替部７２により一時記憶部６４に記憶されている検索対象データのデータ量が５０ＭＢを超えていると判定されている間、継続する（矢印８３参照）。そして、第２切替部７２は、一時記憶部６４に記憶されている検索対象データのデータ量が５０ＭＢ以下であると判定すると、第２禁止状態から第２許可状態に切り替える（矢印８４参照）。
【００５６】
図５は、本実施形態の検索装置２で行われる処理の手順の流れの一例を示すフローチャートである。
【００５７】
ステップＳ１０では、命令受信部１２は、クライアント装置５から検索命令を受信する。
【００５８】
ステップＳ１２では、解析部３０は、命令受信部１２により受信された検索命令を解析し、各管理装置３に対する検索要求を作成する。
【００５９】
ステップＳ１４では、要求送信部１４は、各管理装置３に解析部３０により作成された検索要求を送信する。
【００６０】
ステップＳ１６では、第１切替部３２は、第１許可状態であるか第１禁止状態であるかを確認し、第１許可状態である場合には（ステップＳ１６でＹｅｓ）ステップＳ１８に進み、第１禁止状態である場合には（ステップＳ１６でＮｏ）ステップＳ２４に進む。
【００６１】
ステップＳ１８では、第１切替部３２は、結果受信部１６により受信される送信終了情報（ステップＳ２４参照）を参照して検索結果の要求対象の管理装置３があるか否かを確認し、要求対象の管理装置３がある場合には（ステップＳ１８でＹｅｓ）ステップＳ２０に進み、要求対象の管理装置３がない場合には（ステップＳ１８でＮｏ）ステップＳ２４に進む。
【００６２】
ステップＳ２０では、第１切替部３２は、結果記憶部２２に記憶されている検索結果のデータ量を参照して、要求対象の管理装置３に対して要求する検索結果の要求サイズを決定する。詳細には、第１切替部３２は、検索結果の送信が完了していない管理装置３の台数と結果記憶部２２に記憶されている検索結果のデータ量とを参照して、要求対象の管理装置３に対して要求する検索結果の要求サイズを決定する。
【００６３】
ステップＳ２２では、要求送信部１４は、結果要求を各管理装置３に送信する。
【００６４】
ステップＳ２４では、結果受信部１６は、管理装置３から検索結果を受信したか否かを確認し、検索結果を受信した場合には（ステップＳ２４でＹｅｓ）ステップＳ２６に進み、検索結果を受信しなかった場合には（ステップＳ２４でＮｏ）ステップＳ３３に進む。なお、結果受信部１６は、管理装置３が検索結果を全て送信した場合、当該管理装置３から、検索結果を全て送信したことを示す送信終了情報を受信する。
【００６５】
ステップＳ２６では、結果受信部１６は、管理装置３から受信した所定サイズ分の検索結果を結果記憶部２２に記憶する。
【００６６】
ステップＳ２８では、第１切替部３２は、第１許可状態であるか第１禁止状態であるかを確認し、第１許可状態である場合には（ステップＳ２８でＹｅｓ）ステップＳ３０に進み、第１禁止状態である場合には（ステップＳ２８でＮｏ）ステップＳ３４に進む。
【００６７】
ステップＳ３０では、第１切替部３２は、結果記憶部２２に記憶されている検索結果のデータ量が第１閾値以上であるか否かを確認し、第１閾値以上である場合には（ステップＳ３０でＹｅｓ）ステップＳ３２に進み、第１閾値以上でない場合には（ステップＳ３０でＮｏ）ステップＳ３４に進む。
【００６８】
ステップＳ３２では、第１切替部３２は、第１許可状態から第１禁止状態に切り替える。
【００６９】
ステップＳ３３では、命令受信部１２は、クライアント装置５から集約結果の送信を指示する送信命令を受信したか否かを確認し、受信した場合には（ステップＳ３３でＹｅｓ）ステップＳ３４に進み、受信していない場合には（ステップＳ３３でＮｏ）ステップＳ１６に進む。
【００７０】
ステップＳ３４では、集約部３４は、解析部３０により作成された集約ルールに従って、結果記憶部２２に記憶されている検索結果を集約して集約結果を生成する。
【００７１】
ステップＳ３５では、集約結果送信部１８は、集約部３４により生成された集約結果をクライアント装置５に送信する。
【００７２】
ステップＳ３６では、集約部３４は、集約済みの検索結果を結果記憶部２２から削除する。
【００７３】
ステップＳ３８では、第１切替部３２は、第１禁止状態であるか第１許可状態であるかを確認し、第１禁止状態である場合には（ステップＳ３８でＹｅｓ）ステップＳ４０に進み、第１許可状態である場合には（ステップＳ３８でＮｏ）ステップＳ４４に進む。
【００７４】
ステップＳ４０では、第１切替部３２は、結果記憶部２２に記憶されている検索結果のデータ量が第２閾値以下であるか否かを確認し、第２閾値以下である場合には（ステップＳ４０でＹｅｓ）ステップＳ４２に進み、第２閾値以下でない場合には（ステップＳ４０でＮｏ）ステップＳ４４に進む。
【００７５】
ステップＳ４２では、第１切替部３２は、第１禁止状態から第１許可状態に切り替える。
【００７６】
ステップＳ４６では、検索装置２は、集約結果の送信が全て終了したか否かを確認し、全て完了した場合には（ステップＳ４６でＹｅｓ）処理を終了し、完了していない場合には（ステップＳ４６でＮｏ）ステップＳ１６に進む。
【００７７】
図６は、本実施形態の管理装置３で行われる処理の手順の流れの一例を示すフローチャートである。
【００７８】
ステップＳ６０では、要求受信部５２は、検索装置２から検索要求を受信する。
【００７９】
ステップＳ６２では、検索部７０は、データ記憶部６２から検索要求を満たす検索対象データのアドレスを逐次検索する。
【００８０】
ステップＳ６４では、取得部７４は、第２許可状態であるか第２禁止状態であるかを確認し、第２許可状態である場合には（ステップＳ６４でＹｅｓ）ステップＳ６６に進み、第２禁止状態である場合には（ステップＳ６４でＮｏ）ステップＳ７２に進む。
【００８１】
ステップＳ６６では、取得部７４は、検索部７０により検索されたアドレスが示す検索対象データをデータ記憶部６２から取得して、一時記憶部６４に記憶する。
【００８２】
ステップＳ６８では、第２切替部７２は、一時記憶部６４に記憶されている検索対象データのデータ量が第３閾値以上であるか否かを確認し、第３閾値以上である場合には（ステップＳ６８でＹｅｓ）ステップＳ７０に進み、第３閾値以上でない場合には（ステップＳ６８でＮｏ）ステップＳ７２に進む。
【００８３】
ステップＳ７０では、第２切替部７２は、第２許可状態から第２禁止状態に切り替える。
【００８４】
ステップＳ７２では、要求受信部５２は、検索装置２から結果要求を受信したか否かを確認し、結果要求を受信した場合には（ステップＳ７２でＹｅｓ）ステップＳ７４に進み、結果要求を受信しなかった場合には（ステップＳ７２でＮｏ）ステップＳ８４に進む。
【００８５】
ステップＳ７４では、検索結果送信部５４は、要求受信部５２により結果要求が受信されると、一時記憶部６４から結果要求で指定されたサイズを上限として検索対象データを取得し、取得した検索対象データを検索結果として検索装置２に送信する。なお、検索結果送信部５４は、取得部７４により取得される検索対象データを全て送信した場合、検索結果を全て送信したことを示す送信終了情報を検索装置２に送信する。
【００８６】
ステップＳ７６では、検索結果送信部５４は、送信済みの検索対象データを一時記憶部６４から削除する。
【００８７】
ステップＳ７８では、第２切替部７２は、第２禁止状態であるか第２許可状態であるかを確認し、第２禁止状態である場合には（ステップＳ７８でＹｅｓ）ステップＳ８０に進み、第２許可状態である場合には（ステップＳ７８でＮｏ）ステップＳ８４に進む。
【００８８】
ステップＳ８０では、第２切替部７２は、一時記憶部６４に記憶されている検索対象データのデータ量が第４閾値以下であるか否かを確認し、第４閾値以下である場合には（ステップＳ８０でＹｅｓ）ステップＳ８２に進み、第４閾値以下でない場合には（ステップＳ８０でＮｏ）ステップＳ８４に進む。
【００８９】
ステップＳ８２では、第２切替部７２は、第２禁止状態から第２許可状態に切り替える。
【００９０】
ステップＳ８４では、管理装置２は、検索結果（検索対象データ）の送信が全て完了したか否かを確認し、全て完了した場合には（ステップＳ８４でＹｅｓ）処理を終了し、完了していない場合には（ステップＳ８４でＮｏ）ステップＳ６２に進む。
【００９１】
なお、本実施形態の検索装置及び各管理装置は、ＣＰＵなどの制御装置と、ＲＯＭやＲＡＭなどの記憶装置と、ＨＤＤやリムーバブルドライブ装置などの外部記憶装置と、ディスプレイなどの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００９２】
以上のように、本実施形態の検索装置は、結果記憶部に記憶されている検索結果のデータ量が結果記憶部の記憶容量に応じたデータ量になるように、各管理装置に検索結果を要求する。そして本実施形態の検索装置は、クライアント装置から集約結果の取得が命令された場合に、各管理装置に検索結果を要求することなく、結果記憶部に記憶されている検索結果を集約してクライアント装置に返却する。
【００９３】
従って、本実施形態の検索装置によれば、検索結果が大量に検索された場合であっても、バッファオーバーフローなどを生じさせることなく検索結果を順次処理することができるとともに、記憶容量を増加せずにクライアント装置による集約結果の取得時間を短縮することができる。
【００９４】
例えば、本実施形態の検索装置は、１００台分の管理装置の検索結果を集約するが、各管理装置から１００ＧＢの検索結果が送信される場合、合計１０ＴＢ分の検索結果を受信することになる。このような場合であっても、本実施形態の検索装置は、結果記憶部に記憶されている検索結果のデータ量が７００ＭＢ〜１ＧＢ程度に収まるように各管理装置に検索結果を要求し、結果記憶部に記憶されている検索結果を順次集約してクライアント装置に返却する。このため本実施形態の検索装置は、１０ＴＢ分の検索結果が検索された場合であっても、検索結果を順次処理することができ、上述したような効果を奏する。
【００９５】
また、本実施形態の各管理装置は、一時記憶部に記憶されている検索対象データのデータ量が一時記憶部の記憶容量に応じたデータ量になるように、検索対象データを取得する。そして本実施形態の各管理装置は、検索装置から検索結果の取得が要求された場合に、一時記憶部に記憶されている検索対象データを検索装置に送信する。
【００９６】
従って、本実施形態の各管理装置によれば、検索結果が大量に検索され、検索結果として大量の検索対象データが取得される場合であっても、バッファオーバーフローなどを生じさせることなく取得された検索対象データを順次処理することができる。また、本実施形態の各管理装置によれば、記憶容量を増加せずに検索装置による検索対象データの取得時間を短縮することができる。
【００９７】
例えば、本実施形態の管理装置が、１００万件分の検索対象データを管理しており、その平均データサイズが１００ＫＢであるものとする。そして、管理装置で管理している全ての検索対象データを検索する検索要求が検索装置から行われた場合、１００ＧＢ分の検索対象データが一時記憶部に記憶されることになる。このような場合であっても、本実施形態の管理装置は、一時記憶部に記憶されている検索対象データのデータ量が５０ＭＢ〜１００ＭＢ程度に収まるように検索対象データを取得し、一時記憶部に記憶されている検索対象データを検索装置からの要求に従って順次検索装置に送信する。このため本実施形態の管理装置は、１００ＧＢ分の検索対象データが取得される場合であっても、取得した検索対象データを順次処理することができ、上述したような効果を奏する。
【００９８】
また、本実施形態の管理装置では、検索部、取得部、及び検索結果送信部が、並列動作するよう構成されているため、検索対象データの取得処理速度を向上できる。特に本実施形態の管理装置では、検索部、取得部、及び検索結果送信部による並列動作全体を制御するのではなく、一時記憶部に記憶されている検索対象データのデータ量に応じて取得部による検索対象データの取得を制御するだけなので、複雑な制御を行うことなく、検索対象データの取得処理速度を向上できる。
【００９９】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。
【０１００】
例えば、上記実施形態の検索装置及び管理装置の機能を、それぞれプログラムを実行することにより実現させるようにしてもよい。
【０１０１】
この場合、上記実施形態の検索装置及び管理装置それぞれで実行されるプログラムは、インストール可能な形式又は実行可能なファイル形式でコンピュータが読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供される。また、上記実施形態の検索装置及び管理装置それぞれで実行されるプログラムは、ＲＯＭ等に予め組み込んで提供するようにしてもよい。
【０１０２】
上記実施形態の検索装置及び管理装置それぞれで実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、ＣＰＵがＨＤＤ等からプログラムをＲＡＭ上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
【産業上の利用可能性】
【０１０３】
以上のように、本発明にかかる検索装置、及びシステムは、大量の検索対象データが検索される分散検索システムに適している。
【符号の説明】
【０１０４】
２  検索装置
３  管理装置
５  クライアント装置
１２  命令受信部
１４  要求送信部
１６  結果受信部
１８  集約結果送信部
２２  結果記憶部
３０  解析部
３２  第１切替部
３４  集約部
【図１】
0005514220.tif 000002
【図２】
0005514220.tif 000003
【図３】
0005514220.tif 000004
【図４】
0005514220.tif 000005
【図５】
0005514220.tif 000006
【図６】
0005514220.tif 000007