"コンピュータに、格納部に格納された複数のレコードの一部分である第1のレコード群のうち、第1の検索条件を満たすレコードを抽出する第1の検索処理を実行させ、前記第1の検索処理の実行中に第2の検索条件を受け付けた場合に、前記格納部に格納された前記複数のレコードの前記第1のレコード群とは異なる一部分である第2のレコード群に含まれるレコードのうち、前記第1の検索条件を満たすレコード及び前記第2の検索条件を満たすレコードを抽出する第2の検索処理を実行させる、ことを特徴とする検索制御プログラム。前記コンピュータに、更に、前記第2の検索条件を受け付ける前に受け付けた前記第2のレコード群に含まれるレコードを更新対象とする更新要求に応じて、更新対象のレコードの更新前のレコードと更新後のレコードを前記格納部に格納し、前記第2の検索処理を行なう際に、さらに、前記更新前のレコードが前記第1の検索条件を満たす場合に前記更新前のレコードを抽出し、前記更新後のレコードが前記第2の検索条件を満たす場合に、前記更新後のレコードを抽出する、ことを実行させることを特徴とする請求項1に記載の検索制御プログラム。前記コンピュータに、さらに、前記更新前のレコード及び前記更新後のレコードを前記格納部に格納する場合に、前記更新前のレコード及び前記更新後のレコードのそれぞれを識別する版情報を、それぞれのレコードに付加し、前記更新前のレコード及び前記更新後のレコードを抽出する場合に、それぞれのレコードに付加された版情報に応じて抽出するか否かを判断する、ことを実行させることを特徴とする請求項2に記載の検索制御プログラム。コンピュータに、格納部に格納された複数のレコードを複数のレコード群に分割し、分割された前記複数のレコード群のそれぞれについて、複数の検索要求に基づく一括検索処理を実行する、ことを実行させる検索制御プログラムであって、前記複数の検索要求は、検索対象のレコード群についての一括検索処理の実行前に受け付けた検索要求を含むことを特徴とする検索制御プログラム。前記コンピュータに、更に、受け付けた検索要求に基づく検索処理を、前記複数のレコード群のそれぞれについて少なくとも1回実行させることを特徴とする請求項4に記載の検索制御プログラム。前記コンピュータに、更に、前記複数のレコード群のうちの第1のレコード群について前記一括検索処理を実行中に、前記複数のレコード群のうちの第2のレコード群に含まれるレコードについての更新要求を受け付けた場合に、前記第1のレコード群についての前記一括検索処理の終了後であって、前記第2のレコード群についての一括検索処理の開始前に、前記更新要求に応じた更新処理を実行させることを特徴とする請求項4に記載の検索制御プログラム。前記コンピュータに、更に、前記第1のレコード群について前記一括検索処理を実行中に、前記第2のレコード群に含まれるレコードについての削除要求を受け付けた場合に、第1のレコード群についての前記一括検索処理の終了後までに受け付けた検索要求に応じた一括検索処理を、前記複数のレコード群に少なくとも1回実行した後に、前記削除要求に応じた削除処理を実行させることを特徴とする請求項4に記載の検索制御プログラム。格納部に格納された複数のレコードの一部分である第1のレコード群のうち、第1の検索条件を満たすレコードを抽出する第1の検索処理を実行し、前記第1の検索処理の実行中に第2の検索条件を受け付けた場合に、前記格納部に格納された前記複数のレコードの前記第1のレコード群とは異なる一部分である第2のレコード群に含まれるレコードのうち、前記第1の検索条件を満たすレコード及び前記第2の検索条件を満たすレコードを抽出する第2の検索処理を実行する、ことを特徴とする検索方法。前記第2の検索条件を受け付ける前に受け付けた前記第2のレコード群に含まれるレコードを更新対象とする更新要求に応じて、更新対象のレコードの更新前のレコードと更新後のレコードを前記格納部に格納し、前記第2の検索処理を行なう際に、さらに、前記更新前のレコードが前記第1の検索条件を満たす場合に前記更新前のレコードを抽出し、前記更新後のレコードが前記第2の検索条件を満たす場合に、前記更新後のレコードを抽出する、ことを特徴とする請求項8に記載の検索方法。複数のレコードを格納する格納部と、検索要求を受付ける要求受付け部と、前記要求受付け部が第1の検索要求を受け付けた場合に、前記格納部に格納された複数のレコードの一部分である第1のレコード群のうち、第1の検索条件を満たすレコードを抽出する第1の検索処理を実行し、前記第1の検索要求の実行中に前記要求受付け部が第2の検索要求を受け付けた場合に、前記格納部に格納された前記複数のレコードの前記第1のレコード群とは異なる一部分である第2のレコード群に含まれるレコードのうち、前記第1の検索条件を満たすレコード及び前記第2の検索条件を満たすレコードを抽出する第2の検索処理を実行する検索制御部とを含む、ことを特徴とする検索システム。前記検索制御部が、前記第2の検索条件を受け付ける前に受け付けた前記第2のレコード群に含まれるレコードを更新対象とする更新要求に応じて、更新対象のレコードの更新前のレコードと更新後のレコードを前記格納部に格納し、前記第2の検索処理を行なう際に、さらに、前記更新前のレコードが前記第1の検索条件を満たす場合に前記更新前のレコードを抽出し、前記更新後のレコードが前記第2の検索条件を満たす場合に、前記更新後のレコードを抽出する、ことを特徴とする請求項10に記載の検索システム。一括検索処理を実行した場合に、一括検索処理の実行中にデータベースに到着する新たな検索要求は、一括検索処理が終了するまで、その実行を待たされる。この場合、新たな検索要求の待ち時間は、最大で一括検索処理に要する時間に及ぶ。このため、例えば、一括検索処理の実行の開始直後にデータベースに到着する新たな検索要求に応じた処理のレスポンスは、およそ一括検索処理に要する時間の2倍となる。一方、一括検索処理の実行の終了直前にデータベースに到着する新たな検索要求に応じた処理のレスポンスは、およそ一括検索処理に要する時間となる。従って、検索要求に応じた処理のレスポンスは、検索要求が到着するタイミングに依存して、最大で2倍と大きくばらつく。更新要求についても、同様である。本発明は、検索要求に応じた処理のレスポンスの遅れを抑制することを目的とする。開示される検索制御プログラムは、コンピュータに、格納部に格納された複数のレコードの一部分である第1のレコード群のうち、第1の検索条件を満たすレコードを抽出する第1の検索処理を実行させ、第1の検索処理の実行中に第2の検索条件を受け付けた場合に、格納部に格納された複数のレコードの第1のレコード群とは異なる一部分である第2のレコード群に含まれるレコードのうち、第1の検索条件を満たすレコード及び第2の検索条件を満たすレコードを抽出する第2の検索処理を実行させる。開示される検索制御プログラムによれば、データベースシステムにおいて実行される一括検索処理の制御において、検索要求に応じた処理のレスポンスの遅れを抑制することができる。図1は、検索システムの一例を示す図である。検索システムは、検索装置100と、複数のクライアント200と、検索装置100と複数のクライアント200との間を接続するネットワーク300とを含む。検索装置100は、例えばデータベースサーバである。複数のクライアント200は、各々、アプリケーション201を含む。各々のアプリケーション201は、実行要求を発行する実行要求部であり、ネットワーク300を介して、実行要求を検索装置100へ送信する。実行要求は、例えば、検索要求、更新要求である。検索要求は、データの参照のみを行う要求である。更新要求は、データの更新を新たな版の生成により実行する要求である。検索装置100は、検索要求を受信すると、受信した検索要求を実行して、検索要求に対する応答として、検索結果であるデータを、ネットワーク300を介して、要求元であるクライアント200へ返信する。要求元であるクライアント200は、検索結果であるデータを受信する。検索装置100は、更新要求を受信すると、受信した更新要求を実行して、データを更新する。図2は、図1の検索システムに設けられる検索装置の一例を示す図である。検索装置100は、要求受付部1と、更新制御部2と、検索制御部3と、更新実行部4と、データ格納部5と、一括検索実行部6と、結果返却部7とを含む。要求受付部1は、更新要求キュー11と、検索要求キュー12とを含む。検索制御部3は、一括検索のための制御情報、具体的には、検索要求集合格納部に格納された検索要求集合31と、検索要求/バージョンID対応情報格納部に格納された検索要求/バージョンID対応情報32と、検索要求/区間ID対応情報格納部に格納された検索要求/区間ID対応情報33と、次の一括検索実施区間情報格納部に格納された次の一括検索実施区間情報34とを含む。データ格納部5は、一括検索のための制御情報、具体的には、格納データ集合格納部に格納された格納データ集合51と、最新バージョンID情報格納部に格納されたバージョンID情報52と、バージョンID/データ対応情報格納部に格納されたバージョンID/データ対応情報53と、区間ID/データ対応情報格納部に格納された区間ID/データ対応情報54とを含む。検索要求集合格納部、検索要求/バージョンID対応情報格納部、検索要求/区間ID対応情報格納部、次の一括検索実施区間情報格納部は、検索制御部3に設けられる。格納データ集合格納部、最新バージョンID情報格納部、バージョンID/データ対応情報格納部、区間ID/データ対応情報格納部は、データ格納部5に設けられる。検索要求集合31、検索要求/バージョンID対応情報32、検索要求/区間ID対応情報33、次の一括検索実施区間情報34、格納データ集合51、バージョンID情報52、バージョンID/データ対応情報53、区間ID/データ対応情報54については後述する。検索装置1は、データベースであるデータ格納部5に複数のデータレコードを格納するデータベースサーバである。データ格納部5において、実際のデータは、格納データ集合51に格納される。検索装置1は、クライアント200から送信された更新要求に従って、更新制御部2の制御の下で、更新実行部4により、データベースであるデータ格納部5に格納されたデータを更新する。検索装置1は、クライアント200から送信された検索要求に従って、検索制御部3の制御の下で、一括検索実行部6により、データベースであるデータ格納部5に格納されたデータを一括検索する。要求受付部1は、クライアント200のアプリケーション201から送信された検索要求を受信、換言すれば、受付けて、検索要求を受信した順に検索要求キュー12に繋ぐ。検索要求は、例えば、要求の種別検索と、検索するデータのバージョンと、検索条件とを含む。検索条件は、例えば検索するデータのデータ名レコードIDである。検索制御部3は、検索要求キュー12を参照して、検索要求キュー12に存在する1又は複数の検索要求を取り出し、取り出した1又は複数の検索要求を一括検索のための検索要求集合31に追加する。また、検索制御部3は、一括検索を実行する対象の区間である一括検索実施区間、換言すれば、次の一括検索実施区間を決定する。そして、検索制御部3は、一括検索実行部6を呼び出して、呼び出した一括検索実行部6に検索要求集合31を渡して、決定した一括検索実施区間についての一括検索を依頼する。検索要求集合31は、例えば、複数の検索要求をOR論理和結合した1個の検索式クエリであるが、これに限られない。検索要求集合31は、複数の検索要求から新たに生成した検索式等であっても良い。複数の検索要求から新たに生成した検索式は、例えば、ハイトラフィック技術などの一括検索技術を適用するために生成した検索要求のグループである。一括検索実行部6は、検索制御部3から一括検索の依頼を受けると、依頼された一括検索実施区間についての一括検索を実行する。換言すれば、一括検索実行部6は、データベースであるデータ格納部5の格納データ集合51に格納された複数のデータを一括検索する。一括検索実行部6は、一括検索を実行した結果である検索結果を、一括検索の依頼に対する応答として、検索制御部3に返す。一括検索処理では、検索対象のデータから取り出したデータについて、複数の検索要求をまとめた検索要求集合を用いて照合が行なわれるので、検索対象のデータを取り出すのは1回ずつでよい。これにより、データをスキャンする回数を大きく減らすことができ、その結果、複数の検索要求に応じた検索処理の処理速度が向上する。本実施形態では、決定された実施区間のデータに対して一括検索処理を行なう。検索制御部3は、一括検索実行部6から検索結果を返されると、返された検索結果を結果返却部7へ送る。結果返却部7は、検索要求の要求元であるクライアント200のアプリケーション201へ、検索結果を送信、換言すれば、返却する。検索制御部3は、格納データ集合51に格納された複数のデータについての検索を終了した検索要求を、検索要求集合31から削除する。また、要求受付部1は、クライアント200のアプリケーション201から送信された更新要求を受信して、更新要求を受信した順に更新要求キュー11に繋ぐ。更新要求は、例えば、要求の種別更新と、更新前のデータのバージョンと、更新前のデータと更新後のデータとの差分とを含む。更新制御部2は、更新要求キュー11を参照して、更新要求キュー11に存在する1又は複数の更新要求を取り出す。また、更新制御部2は、データの新たなバージョン、換言すれば、最新バージョンIDを決定する。これにより、データの最新のバージョンが決定される。そして、更新制御部2は、更新実行部4を呼び出して、呼び出した更新実行部4に取り出した1又は複数の更新要求及び最新バージョンIDを渡して、データの更新を依頼する。更新実行部4は、更新制御部2からデータの更新の依頼を受けると、依頼されたデータの更新を実行する。換言すれば、更新実行部4は、1又は複数の更新要求に従って、データベースであるデータ格納部5の格納データ集合51に格納されたデータを更新する。これにより、更新要求の実行の都度、格納データ集合51において、データの新しいバージョンが生成される。複数の検索要求の実行の詳細、及び、更新要求の実行の詳細については、後述する。図3は、図2の検索装置のハードウェア構成の一例を示す図である。CPU101は、ROM102に格納された制御プログラムに従って、検索装置100を制御する。CPU101は、例えば主メモリであるRAM103上の検索プログラムを実行する。これにより、要求受付部1、更新制御部2、検索制御部3、更新実行部4、一括検索実行部6、結果返却部7が実現される。検索プログラムは、例えば、CD-ROMやDVD等の記録媒体109に格納され、記録媒体109からハードディスク106に入力され、ハードディスク106からRAM103にロードされる。データ格納部5は、例えばハードディスク106に設けられる。換言すれば、データは、例えばハードディスク106に格納される。データは、例えば、CD-ROMやDVD等の記録媒体109に格納され、記録媒体109からハードディスク106に入力され、必要に応じてハードディスク106からRAM103にロードされ、更新実行部4又は一括検索実行部6により処理される。入力装置104は、例えばキーボードであり、マウス等を含んでも良い。出力装置105は、例えばディスプレイであり、プリンタ等の出力装置を含んでも良い。CPU101、ROM102、RAM103、入力装置104、出力装置105、及び、ハードディスク106、ネットワーク接続部107は、バス108を介して、相互に接続される。ネットワーク接続部107は、例えば、送受信装置であり、ネットワーク300に接続され、ネットワーク300を介して他のコンピュータ、例えばクライアント200に接続される。これにより、検索装置100は、クライアント200との間で通信を行う。なお、データ格納部5が、検索装置100とネットワークを介して接続された他の情報処理装置に設けられるようにしても良い。この場合、データ格納部5は、他の情報処理装置の例えばハードディスクに設けられる。データは、例えば、CD-ROMやDVD等の記録媒体に格納され、記録媒体から他の情報処理装置のハードディスクに入力され、必要に応じて他の情報処理装置のハードディスクからRAMにロードされ、ネットワーク接続部から検索装置100のネットワーク接続部107へ送信され、検索装置100の更新実行部4又は一括検索実行部6により処理される。以下、説明の便宜上、最初に、図4及び図5を参照して、検索装置100におけるデータ構造について詳細に説明する。図4は、データ構造説明図である。図4は、特に、格納データ集合51と、格納データ集合51を一括検索するための種々の制御情報について示す。格納データ集合51は、データベースであるデータ格納部5に格納されたデータそれ自体である。格納データ集合51は、レコード1レコード2等のように、複数のデータを含む。各々のデータは、レコード1のようなデータ名、例えばレコードIDを持ち、レコードIDにより表される。レコードIDは、データを一意に定める識別情報である。格納データ集合51は、レコード2レコード2’等のように、あるデータについての複数のバージョンを含む。レコード2’は、レコード2が1回更新されたデータ、換言すれば、レコード2のバージョンIDに1を加えたバージョンIDを持つデータである。これにより、検索要求毎に異なるバージョンのデータを検索対象とする場合でも、複数回の一括検索処理ではなく、一回の一括検索処理で検索を完了することができる。バージョンID情報52は、格納データ集合51に格納されたデータにおける、現在の最も新しいバージョンを表す。データのバージョンは、バージョンIDにより表される。バージョンIDは、データのバージョンを一意に定める識別情報である。従って、バージョンID情報52は、格納データ集合51に格納されたデータの最新のバージョンIDである。バージョンIDは、図4において、格納データ集合51の右側に数字1~3で表される。従って、図4に示す例においては、格納データ集合51には、バージョン1~3のデータが格納されている。バージョンID/データ対応情報53は、バージョンIDとデータとの対応を示す情報であり、更新処理によって生成されるバージョン版と、そのバージョンに含まれるデータの対応関係を表す。図4において、例えばレコード1とバージョンID1とが、バージョンID/データ対応情報53の一部である線分で結ばれている。これにより、例えばレコード1が更新処理によってバージョンID1として生成されたこと、換言すれば、レコード1はバージョンID1を持つことが表される。なお、実際には、バージョンID/データ対応情報53は、例えばバージョンID/データ対応テーブルに格納される。この場合、バージョンID/データ対応テーブルには、レコード1等のデータに対応して、当該データのバージョンIDが格納される。区間ID/データ対応情報54は、区間IDとデータとの対応を示す情報であり、格納データ集合をいくつかに分割したそれぞれを示す区間IDと、その区間に分割されたデータの対応関係を表す。区間IDは、図4において、格納データ集合51の左側にアルファベットA~Cで表される。従って、図4に示す例においては、格納データ集合51は、区間A~Cに分割されている。区間A~Cには、各々、複数のデータレコードが含まれる。従って、図4に示す例の格納データ集合51は、区間A~Cに属する複数のレコード群を含む。図4において、例えばレコード1と区間IDAとが、区間ID/データ対応情報54の一部である線分で結ばれている。これにより、例えばレコード1が更新処理によって区間Aに分割されたこと、換言すれば、レコード1は区間IDAを持つことが表される。なお、実際には、区間ID/データ対応情報54は、例えば区間ID/データ対応テーブルに格納される。この場合、区間ID/データ対応テーブルには、レコード1等のデータに対応して、当該データの区間IDが格納される。データベースであるデータ格納部5は、更新実行部4から更新要求の実行を依頼されると、更新要求を実行する。これにより、データ格納部5は、更新要求の実行の都度に、格納データ集合51、バージョンID情報52、バージョンID/データ対応情報53、区間ID/データ対応情報54を作成又は更新し、各々の格納部に格納する。検索要求集合31は、受付けられた検索要求であって、かつ、まだ検索処理が終了していない検索要求の集合を表す。検索要求集合31は、検索要求1検索要求2等のように、複数の検索要求を含む。各々の検索要求は、1のような検索要求IDを持ち、検索要求IDにより表される。検索要求IDは、検索要求を一意に定める識別情報である。検索要求/バージョンID対応情報32は、検索要求と検索対象データバージョンIDの対応を示す情報であり、検索要求が検索対象とするデータのバージョンを表す。図4において、例えば検索要求1とバージョンID1とが、検索要求/バージョンID対応情報32の一部である点線で結ばれている。これにより、例えば検索要求1がバージョンID1を持つデータを検索対象とすることが表される。なお、実際には、検索要求/バージョンID対応情報32は、例えば検索要求/バージョンID対応テーブルに格納される。この場合、検索要求/バージョンID対応テーブルには、検索要求1等の検索要求に対応して、当該検索要求が検索対象とするデータのバージョンIDが格納される。検索要求/区間ID対応情報33は、検索要求と検索開始区間IDの対応を示す情報であり、当該検索要求の検索が開始された区間の区間IDを表す。図4において、例えば検索要求1と区間IDAとが、検索要求/区間ID対応情報33の一部である点線で結ばれている。これにより、例えば検索要求1が区間IDAから開始されたことが表される。なお、実際には、検索要求/区間ID対応情報33は、例えば検索要求/区間ID対応テーブルに格納される。この場合、検索要求/区間ID対応テーブルには、検索要求1等の検索要求に対応して、当該検索要求が開始された区間IDが格納される。次の一括検索実施区間情報34は、次の一括検索実施区間IDを示す情報であり、一括検索実行部6が、次に検索対象とする区間を表す。詳しくは後述するように、一括検索実行部6は、格納データ集合51を複数の区間に分割し、分割した複数の区間を予め定められた所定の順番で巡回しながら一括検索を行う。従って、次の一括検索実施区間情報34は、一括検索実行部6により次に一括検索される区間の区間IDである。検索制御部3は、検索要求キュー12から検索要求を取り出すと、一括検索を実行するために、検索要求の取出しの都度に、検索要求集合31、検索要求/バージョンID対応情報32、検索要求/区間ID対応情報33、次の一括検索実施区間情報34を作成又は更新し、各々の格納部に格納する。図5は、データ構造説明図である。図5は、特に、格納データ集合51におけるデータレコードの追加、更新、削除について示す。格納データ集合51において、バージョンIDが1であるデータは、レコード1~レコード4である。従って、更新実行部4は、最初に、レコード1~レコード4を格納データ集合51に格納する。この格納処理において、更新実行部4は、区間Aにレコード1及びレコード2を割当て、区間Bにレコード3及びレコード4を割当てる。これにより、各区間に属するレコードIDの数を等しくすることができる。次に、更新実行部4は、更新要求に従ってデータの一部を更新することにより、バージョンIDが2であるデータを生成する。図5の例においては、レコード3が更新置換されることによりレコード3’とされ、レコード5が追加される。レコード3の更新要求は置換要求であり、レコード5の更新要求は追加要求である。レコード3’は、区間Bに属するレコード3を更新したデータであるので、区間Bに属するようにされる。また、レコード3’は、現在における最新のバージョンIDが1であるので、バージョンID2を持つ。なお、最新のバージョンIDが2にインクリメントされる。一方、レコード5は、新たに追加されたデータであるので、新たな区間Cに属するようにされる。また、レコード5は、バージョンID2を持つ。次に、更新実行部4は、新たな更新要求に従ってデータの一部を更新することにより、バージョンIDが3であるデータを生成する。図5の例においては、レコード2が更新置換されることによりレコード2’とされ、レコード6が追加され、レコード4が削除される。レコード2の更新要求は置換要求であり、レコード6の更新要求は追加要求であり、レコード4の更新要求は削除要求である。レコード2’は、区間Aに属するレコード2を更新したデータであるので、区間Aに属するようにされる。また、レコード2’は、現在における最新のバージョンIDが2であるので、バージョンID3を持つ。なお、最新のバージョンIDが3にインクリメントされる。一方、レコード6は、新たに追加されたデータであるので、区間Cに属するようにされる。また、レコード6は、バージョンID3を持つ。次に、図6を参照して、検索装置100における一括検索について説明する。図6は、検索処理の説明図である。なお、図6において、例えば検索要求1をq1と表わすこととする。一括検索実行部6は、複数の区間A~Cに分割された格納データ集合51を、予め定められた所定の順番で巡回しながら、サイクリックに、一括検索を行う。換言すれば、一括検索実行部6は、区間A、区間B、区間Cの順で一括検索を実行し、これを繰り返す。例えば、ポイントA1で区間Aの一括検索を開始して、ポイントB1で区間Aの一括検索を終了する。ポイントB1で区間Bの一括検索を開始して、ポイントC1で区間Bの一括検索を終了する。ポイントC1で区間Cの一括検索を開始して、ポイントA2で区間Cの一括検索を終了する。そして、ポイントA2以後も、同様に、以上の順番で一括検索を繰り返す。ポイントA1からポイントB1までが区間Aであり、ポイントB1からポイントC1までが区間Bであり、ポイントC1からポイントA2までが区間Cである。検索制御部3は、新たな検索要求が到着すると、到着した検索要求を検索要求集合31に追加する。例えば、ポイントA1以前にq1が検索要求キュー12に到着しているので、q1が検索要求集合31とされる。これにより、一括検索実行部6は、検索要求集合q1により、区間Aについて、一括検索を実行する。検索要求集合q1は、1個の検索要求しか含まないが、検索要求集合である。また、区間Aの一括検索中に、q2が検索要求キュー12に到着するので、新たにq2が検索要求集合31に追加される。従って、一括検索実行部6は、検索要求集合q1,q2により、区間Bについて、一括検索を実行する。ある検索要求についての一括検索が終了した場合、換言すれば、格納データ集合51の複数の区間A~Cの全てについてある検索要求を含む一括検索が終了した場合、検索制御部3は、当該検索要求を検索要求集合31から削除する。例えば、q1の検索はポイントA1から開始されるので、ポイントA2において、複数の区間A~Cの全てについて検索が終了する。そこで、検索制御部3は、ポイントA2において、q1を検索要求集合31から削除する。また、q2の検索はポイントB1から開始されるので、検索制御部3は、ポイントB2において、q2を検索要求集合31から削除する。従って、検索要求が検索要求キュー12に到着するタイミングに依存して、異なるポイント及び異なる区間から一括検索が開始される。これにより、一括検索の途中で、新たに検索要求キュー12に到着した検索要求を検索要求集合31に加えることができる。一方、一括検索が複数の区間A~Cについて連続して繰り返し実行されると、一括検索の途中で、新たに更新要求キュー11に到着した更新要求を実行することができない。そこで、検索処理が途切れるまで更新処理を待たせると共に、検索処理が途切れるポイントが設けられる。具体的には、ポイントA1、B1、C1等において、換言すれば、格納データ集合51の複数の区間A~Cの各々についての一括検索が終了する都度に、更新要求キュー11に到着している1又は複数の更新要求が実行される。従って、ポイントを通過する都度、ポイントの各々において、終了した一括検索の後処理、更新要求の処理、開始される一括検索の前処理が実行される。終了した一括検索の後処理は、例えば、一括検索の結果が一括検索実行部6から検索制御部3へ返される処理、全ての区間について検索を終了した検索要求を削除する処理である。更新要求の処理は、例えば、更新実行部4が更新要求を実行する処理である。開始される一括検索の前処理は、例えば、新たな検索要求に基づいて検索要求集合31、検索要求/バージョンID対応情報32、検索要求/区間ID対応情報33、次の一括検索実施区間情報34等を生成し、一括検索を一括検索実行部6に依頼する処理である。以上により、一括検索を実行しつつ更新要求を実行することができる。これにより、一括検索において、1個のバージョンのデータだけを検索するのではなく、検索要求集合31に含まれる複数の検索要求が検索対象とする複数のバージョンのデータの和集合を検索することができる。これにより、検索するデータからいずれかのバージョンが漏れることを防止することができる。なお、検索要求集合31に含まれるある検索要求からみると、当該検索要求自体の検索対象でないバージョンに対する検索結果が含まれることになる。そこで、後述するように、検索結果から、他の検索要求の検索対象であるバージョンを除く。これにより、検索結果に不要な結果が含まれないようにすることができる。以上の図2~図6から判るように、複数の検索要求を含む一括検索及び更新要求は、以下のように実行される。データベースであるデータ格納部5は、図4及び図5に示すように、データの追加、更新、削除の都度に、格納データ集合51、バージョンID情報52、バージョンID/データ対応情報53、区間ID/データ対応情報54を、データの追加、更新、削除を反映した内容に更新する。具体的には、データ格納部5は、更新実行部4からの更新要求に従って、格納データ集合51のデータレコードを追加、更新、削除する。この時、データ格納部5は、図4及び図5に示すように、格納データ集合51におけるレコードIDが定まる。これにより、データ格納部5は、格納データ集合格納部に格納された格納データ集合51に含まれる複数のデータ、換言すれば、複数のレコードを、複数の区間A~C、換言すれば、複数のレコード群に分割する。データ格納部5は、格納データ集合51のデータの追加又は更新の都度に、最新バージョンIDを生成して、最新バージョンID情報に格納する。バージョンID情報52は、現在のバージョンID情報52を1だけインクリメントすることにより生成される。データ格納部5は、格納データ集合51のデータの追加又は更新の都度に、バージョンID/データ対応情報53を生成して、バージョンID/データ対応情報格納部に追加する。バージョンID/データ対応情報53は、追加又は更新されたデータレコードに、当該追加又は更新に応じて生成された最新バージョンIDを対応付けることにより生成される。データ格納部5は、格納データ集合51のデータの追加又は更新の都度に、追加又は更新されたデータレコードが検索を開始する区間IDとの対応を示す区間ID/データ対応情報54を生成して、区間ID/データ対応情報格納部に追加する。区間ID/データ対応情報54は、追加又は更新されたデータに、当該追加又は更新されたデータが属する区間IDを対応付けることにより生成される。追加又は更新されたデータが属する区間IDは、前述したように、データの追加又は更新の際に定まる。一方、検索制御部3は、図6に示すように、格納データ集合51の複数の区間、換言すれば、複数のレコード群について、一括検索を、予め定められた順序で繰り返し実行させる。一括検索は、検索要求集合31、換言すれば、複数の検索要求を満たすか否かの検索を一括して実行する検索処理である。ここで、複数の検索要求は、検索対象の区間の直前の区間について、換言すれば、検索対象のレコード群の直前のレコード群についての検索の実行中に受付けた検索要求を含む。検索制御部3は、図4及び図6に示すように、検索要求キュー12からの検索要求の取出しの都度に、換言すれば、図6に示すポイントの各々において、検索要求集合31、検索要求/バージョンID対応情報32、検索要求/区間ID対応情報33、次の一括検索実施区間情報34を、取出した検索要求を反映した内容に更新する。ここで、検索要求キュー12からの検索要求の取出しは、前述したように、1個の区間についての一括検索が終了したポイントにおいて実行される。従って、以下に説明する、検索要求集合31、検索要求/バージョンID対応情報32、検索要求/区間ID対応情報33、次の一括検索実施区間情報34の更新も、1個の区間についての一括検索が終了したポイントにおいて実行される。具体的には、検索制御部3は、検索要求キュー12から取出した1又は複数の検索要求を、検索要求集合31に追加する。換言すれば、検索制御部3は、現在の検索要求集合31に含まれる1又は複数の検索要求に、検索要求キュー12から取出した1又は複数の検索要求を追加した、新たな検索要求集合31を生成する。この時、複数の検索要求の各々が検索対象とするデータのバージョンは、互いに異なっていても良い。換言すれば、異なるバージョンのデータについても一括検索を実行することができる。これにより、複数の検索要求の間における分離レベルを向上することができる。検索制御部3は、検索要求集合31への検索要求の追加の都度に、検索要求/バージョンID対応情報32を生成して、検索要求/バージョンID対応情報格納部に追加する。検索要求/バージョンID対応情報32は、検索要求集合31における検索要求に、当該検索要求が検索対象とするデータのバージョンIDを対応付けることにより生成される。検索要求が検索対象とするデータのバージョンIDは、例えば、当該検索要求において定められる。なお、後述するように、検索制御部3が、検索要求が検索対象とするデータのバージョンIDを決定するようにしても良い。検索制御部3は、検索要求集合31への検索要求の追加の都度に、検索要求/区間ID対応情報33を生成して、検索要求/区間ID対応情報格納部に追加する。検索要求/区間ID対応情報33は、検索要求集合31における検索要求に、当該検索要求が検索を開始する区間IDを対応付けることにより生成される。検索要求が検索を開始する区間IDとしては、以下に説明するように、新たに生成された次の一括検索実施区間情報34が用いられる。検索制御部3は、検索要求集合31への検索要求の追加の都度に、次の一括検索実施区間情報34を生成して、次の一括検索実施区間情報格納部に格納する。次の一括検索実施区間情報34は、現在の次の一括検索実施区間情報34が示す区間IDの次の区間IDを求めることにより生成される。この後、検索制御部3は、一括検索実行部6を呼び出して、呼び出した一括検索実行部6に一括検索を依頼する。一括検索実行部6は、検索要求集合31に含まれる複数の検索要求が検索対象とする1又は複数のバージョンのデータの和集合を求める。そして、一括検索実行部6は、求めたデータの和集合を、検索要求集合31を用いて一括検索する。一括検索実行部6は、一括検索による検索結果から、検索対象でないバージョンを除く。図6に示す1個の検索要求q1についての検索は、格納データ集合51に格納された複数のレコードの一部分である1個の区間から、換言すれば、第1のレコード群からレコードを順次読み出し、読み出したレコードが検索要求q1を満たすか否かを判定し、判定の結果に応じて検索要求q1を満たす1又は複数のレコードを取得する処理である。ここで、例えば、第1の検索要求q1を受け付けた場合に、格納データ集合51の第1のレコード群について、第1の検索要求q1を満たすレコードを取得する、第1の検索が実行される。また、例えば、第1の検索要求q1の実行中に第2の検索要求q2を受け付けた場合に、第1のレコード群とは異なる第2のレコード群について、第1の検索要求q1を満たすレコード及び第2の検索要求q2を満たすレコードを取得する、第2の検索が実行される。従って、例えば、図6に示す第1の検索要求q1及び第2の検索要求q2を含む検索要求集合31による一括検索は、格納データ集合51に格納された複数のレコードの一部分である1個の区間からレコードを順次読み出し、読み出したレコードが第1の検索要求q1又は第2の検索要求q2を満たすか否かを判定し、判定の結果に応じて第1の検索要求q1を満たすレコード及び第2検索要求q2を満たすレコードを取得する処理である。例えば、第1の区間について第1の検索要求q1の実行中に第2の検索要求q2を受け付けた場合、第1の区間とは異なり第1の区間に続く第2の区間について、第1の検索要求q1及び第2の検索要求q2を含む検索要求集合31による一括検索が実行される。これにより、検索要求を実行するまでの待ち時間を削減することができ、また、検索要求に対するレスポンスのばらつきを小さくすることができる。この後、検索制御部3は、格納データ集合51の全ての区間、換言すれば、複数のレコード群の全てについて例えば検索要求q1が実行された後に、図6に示すポイントA2において、検索要求q1を、検索要求集合31に含まれる複数の検索要求から除く。検索要求q1についての検索処理は、一括検索のための検索要求集合31に含まれるので、検索要求集合31についての検索処理に含まれる。検索要求集合31についての検索処理の実行に応じて、検索制御部3は、検索要求/バージョンID対応情報32と、検索要求/区間ID対応情報33と、の検索要求q1に関する情報を更新する。一方、複数の区間のいずれかの区間について、換言すれば、複数のレコード群のいずれかのレコード群について一括検索を実行中に、格納データ集合51の複数のレコードのいずれかについての更新要求が受け付けられる場合がある。この場合、更新制御部2は、当該区間について実行中の一括検索が終了した後であって、実行中の一括検索の対象である区間の次の区間が開始される前に、更新要求を実行させる。換言すれば、更新制御部2は、実行中の一括検索の対象であるレコード群の次に一括検索の対象となるレコード群についての一括検索が開始される前に、図6に示すポイントの各々において、更新要求を実行させる。これにより、更新要求を実行するまでの待ち時間を削減することができ、また、更新要求に対するレスポンスのばらつきを小さくすることができる。ここで、例えば、図6に示す第1の検索要求q1を受け付けてから第2の検索要求q2を受け付けるまでの間に、前述の第2のレコード群に含まれるレコードについての更新要求を受け付ける場合がある。この場合、更新実行部4は、更新要求に応じて更新を行なう。これに応じて、データ格納部5は、更新前のレコード及び更新後のレコードのそれぞれと、それぞれを識別するバージョンID版情報とを関連付けて記憶する。また、データ格納部5は、第1の検索要求q1と更新前のレコードのバージョンIDとを対応付け、第2の検索要求q2と更新後のレコードのバージョンIDとを対応付けて記憶する。この後、一括検索実行部6は、第1の検索要求q1及び第2の検索要求q2を含む検索要求集合31による一括検索を実行して、第1の検索要求q1を満たすレコード及び第2検索要求q2を満たすレコードを取得する。更に、検索制御部3は、取得したレコードのうち、更新前のレコード及び更新後のレコードのいずれかであるレコードについて、第1の検索要求q1を満たすレコードであるか否かの判定を行い、第2の検索要求q2を満たすレコードであるか否かの判定を行う。また、複数の区間のいずれかの区間について、換言すれば、複数のレコード群のいずれかのレコード群について一括検索を実行中に、格納データ集合51の複数のレコードのいずれかについての削除要求が受け付けられる場合がある。この場合、更新制御部2は、当該区間について実行中の一括検索が終了した後において、更に、全ての区間、換言すれば、複数のレコード群の全てについて、予め定められた順序に従って、少なくとも1回の一括検索が実行された後に、削除要求を実行させる。次に、処理フローを参照して、検索処理及び更新処理について説明する。図7は、要求受付処理フローを示す。要求受付部1は、クライアント200のアプリケーション201からの要求実行要求を受信するまで待つS11。要求受付部1は、要求を受信すると、受信した要求が検索要求であるか更新要求であるかを判定するS12。受信した要求が検索要求である場合、要求受付部1は、受信した検索要求を検索要求キュー12に追加しS13、S11を繰り返す。受信した要求が更新要求である場合、要求受付部1は、受信した更新要求を更新要求キュー11に追加しS14、S11を繰り返す。換言すれば、要求受付部1は、受信した要求を検索要求と更新要求とに分類して、各々のキューに追加する。なお、受信した要求を検索要求と更新要求とに分類することなく、1個のキューに到着順に追加するようにしても良い。図8は、実行要求処理フローを示す。更新制御部2は、要求受付部1の更新要求キュー11をチェックしてS21、新たな更新要求が更新要求キュー11に存在するか否かを判定するS22。新たな更新要求が更新要求キュー11に存在する場合S22Yes、更新実行部4は、更新要求キュー11から新たな更新要求を取り出して、取り出した新たな更新要求に基づいて新しいデータの版を作成して、データベースであるデータ格納部5に格納された旧版のデータの更新処理を実行するS23。新たな更新要求が更新要求キュー11に存在しない場合S22No、更新実行部4は、S23の実行を省略する。この後、検索制御部3は、要求受付部1の検索要求キュー12をチェックしてS24、新たな検索要求が検索要求キュー12に存在するか否かを判定するS25。新たな検索要求が検索要求キュー12に存在する場合S25Yes、検索制御部3は、更新要求キュー11から新たな検索要求を取り出して、取り出した新たな検索要求を検索要求集合に加えるS26。新たな検索要求が検索要求キュー12に存在しない場合S25No、検索制御部3は、S26の実行を省略する。この後、一括検索実行部6は、現在の検索対象である区間を検索要求集合を用いて一括検索することにより、検索要求集合による検索結果一括検索結果であるデータの和集合を求め、求めたデータの和集合から不要な検索結果を除くS27。この後、検索制御部3は、検索対象区間を現在の区間の次の区間に設定しS28、一括検索結果から検索対象でないバージョンのデータを除いた残りを、検索の結果として、結果返却部7に送るS29。結果返却部7は、受取った検索の結果を、要求元であるクライアント200のアプリケーション201に返信する。この後、検索制御部3は、全区間の検索を終了した検索要求を、検索要求集合から除きS210、S21を繰り返す。なお、S21~S210の処理は、いずれの処理を先に実行するようにしても良い。図8の実行要求処理フローにおいて、図9に示すように、一括検索実行部6は、区間A、区間B、区間Cの順に、サイクリックに一括検索を実行する。次の一括検索実施区間情報34は、区間Aの一括検索時にはBとされ、区間Bの一括検索時にはCとされ、区間Cの一括検索時にはAとされる。従って、次の一括検索実施区間情報34は、一括検索の実行に1区間分だけ先行して、所定の順で、サイクリックに変化する。また、バージョンID情報52は、更新処理を実行する都度に追加される。また、バージョンID/データ対応情報53も、更新処理を実行する都度に追加される。また、検索要求集合31は、検索要求キュー12から検索要求が取出される都度に増加し、検索要求が全ての区間の検索を終了する都度に減少する。図10は、更新要求処理フローを示す。更新制御部2は、要求受付部1の更新要求キュー11をチェックしてS31、新たな更新要求が更新要求キュー11に存在するか、又は、更新要求キュー11が空であるかを判定するS32。なお、S31及びS32は、図8のS21及びS22と同一であり、図10と図8との関係を明確に示すために、再度、図10に示される。一方、以下のS33~S38は、図8のS23に相当する。新たな更新要求が更新要求キュー11に存在する場合、更新実行部4は、更新要求キュー11に存在する全ての更新要求を取り出してS33、現在のデータバージョンIDに基づいて、新しいデータバージョンIDを取得するS34。例えば、更新実行部4は、バージョンID情報52、換言すれば、現在のデータバージョンIDを参照し、参照したデータバージョンIDを1だけインクリメントすることにより、新しいデータバージョンIDを取得する。次に、更新実行部4は、現在のバージョンに対するバージョンIDとデータの対応に基づいて、新しいバージョンに対するバージョンIDとデータの対応を作成するS35。例えば、更新実行部4は、バージョンID/データ対応情報53、換言すれば、現在のバージョンに対するバージョンIDとデータの対応をコピーする。そして、更新実行部4は、コピーしたバージョンIDとデータの対応におけるバージョンIDを新しいバージョンIDに置換する。これにより、新しいバージョンに対するバージョンIDとデータの対応が作成される。この後、更新実行部4は、格納データ集合51について更新処理を実行した後S36、ループが終了したか、又は、ループがその途中であるかを判定するS37。ループがその途中である場合、更新実行部4は、S36を繰り返す。ループが終了した場合、更新実行部4は、バージョンID情報52、換言すれば、最新データバージョンIDを、S34において取得した新しいデータバージョンIDに更新するS38。また、S38において、更新実行部4は、バージョンID/データ対応情報53、換言すれば、バージョンIDとデータの対応に、S35において作成した新しいバージョンに対するバージョンIDとデータの対応を追加する。S32において、更新要求キュー11が空である場合、以下のS33~S38は、省略される。換言すれば、更新実行部4は、処理を実行しない。なお、図10の例においては、更新要求キュー11から取り出した全ての更新要求について1個のバージョンを生成しているが、更新要求キュー11から取り出した複数の更新要求の各々について、異なるバージョンを生成するようにしても良い。図11は、更新実行処理フローを示す。更新実行部4は、更新要求の種別をチェックしS41、更新要求が追加要求、更新置換要求、削除要求のいずれであるかを判定するS42。更新要求が追加要求である場合、更新実行部4は、追加要求に従って、新しいデータ、換言すれば、追加データを作成して、作成した追加データを格納データ集合51、換言すれば、データ集合に追加するS43。次に、更新実行部4は、新しいバージョンに対するバージョンIDとデータに、追加データについてのバージョンID及びデータを加えるS44。次に、更新実行部4は、追加データの区間IDを決定し、当該決定に基づいて、区間IDとデータの対応に、追加データについての区間ID及びデータを加えるS45。更新要求が更新要求である場合、更新実行部4は、更新要求に従って、データの新しいバージョン、換言すれば、置換後のデータを作成して、作成した置換後のデータを格納データ集合51、換言すれば、データ集合に追加するS46。次に、更新実行部4は、新しいバージョンに対するバージョンIDとデータに、置換後のデータについてのバージョンID及びデータを加えるS47。次に、更新実行部4は、区間IDとデータの対応に、置換後のデータについての区間ID及びデータを加えるS48。更に、更新実行部4は、新しいバージョンに対するバージョンIDとデータから、置換前のデータを除くS49。更新要求が削除要求である場合、更新実行部4は、削除要求に従って、新しいバージョンに対するバージョンIDとデータから、削除データを除くS410。なお、図11の例においては、更新要求が追加要求である場合には、追加されるデータの持つ属性に従って、追加される区間が決定される。例えば、図5を参照して前述したように、レコード3’は区間Bに属するレコード3を更新したデータであるので区間Bに属するようにされ、レコード5は新たに追加されるデータであるので新たな区間Cに属するようにされる。しかし、例えば、追加されるデータの順に追加先の区間を、区間A、区間B、区間Cのように、順番に変更するようにしても良い。この場合、1個の区間に属するデータの数を予め定めるようにしても良い。図11の更新実行処理フローにおいては、図12に示すように、バージョンIDとデータレコードとの対応関係は、新しいバージョンID例では3の1つ前のバージョンIDとデータと例では2の対応関係に基づいて生成される。例えば、図12に示すように、現在のバージョンID2には、バージョンID/データ対応情報53により、レコード1、2、3’、4、5が対応付けられている。これは、図5に示すバージョンID2の状態である。新しいバージョンIDは3である。新しいバージョンID3とデータレコードとの対応関係は、バージョンID2とデータとの対応関係に基づいて生成される。新しいバージョンID3の状態が、図5に示す状態であるとする。この場合、最初に、新しいバージョンID3には、バージョンID2とデータとの対応関係をコピーすることにより、レコード1、2、3’、4、5が対応付けられる。次に、レコード2の更新要求によってレコード2がレコード2’に置換されるので、レコード2との対応が削除され、レコード2’との対応が追加される。更に、レコード4の削除要求によってレコード4との対応が削除され、レコード6の追加要求によってレコード6との対応が追加される。図13は、検索要求処理フローを示す。検索制御部3は、要求受付部1の検索要求キュー12をチェックしてS51、新たな検索要求が検索要求キュー12に存在するか、又は、検索要求キュー12が空であるかを判定するS52。なお、S51及びS52は、図8のS24及びS25と同一であり、図13と図8との関係を明確に示すために、再度、図13に示される。一方、以下のS53~S512は、図8のS26~S210に相当する。新たな検索要求が検索要求キュー12に存在する場合、検索要求の実行の開始処理が実行される。具体的には、検索制御部3は、検索要求キュー12に存在する全ての検索要求を取り出してS53、取り出した検索要求を、検索要求集合31、換言すれば、検索要求出力へ加えるS54。また、検索制御部3は、取り出した検索要求の検索対象バージョンを、検索要求/バージョンID対応情報32、換言すれば、検索要求と検索対象データバージョンIDの対応に追加しS55、また、取り出した検索要求に対する検索要求と検索開始区間IDの対応を、次の一括検索実施区間IDにするS56。S52において、検索要求キュー12が空である場合、検索制御部3は、S53~S56を省略する。この後、一括検索実行部6は、次の一括検索実施区間IDの指す区間に対して一括検索処理を実施するS57。これにより、検索要求キュー12に新たな検索要求があるか否かに拘らず、1個の区間について一括検索が実行される。この後、検索制御部3は、次の一括検索実施区間を次の区間に変更するS58。更に、検索制御部3は、検索要求と検索開始区間IDの対応を参照し、検索開始区間が次の一括検索実施区間に一致するものがあるかチェックしS59、検索開始区間が次の一括検索実施区間に一致するものがあるか否かを判定するS510。検索開始区間が次の一括検索実施区間に一致するものがない場合、検索制御部3は、S51を繰り返す。検索開始区間が次の一括検索実施区間に一致するものがある場合、検索要求の実行の終了処理が行われる。このように、検索制御部3の処理は、検索要求の実行の開始処理、一括検索処理、検索要求の実行の終了処理を含む。具体的には、検索制御部3は、一致する検索要求に対する検索結果を、結果返却部7へ送るS511。更に、検索制御部3は、一致する検索要求を検索要求集合31から除きS512、S51を繰り返す。ここで、検索制御部3は、S512において、一致する検索要求とバージョンIDとの対応を示す情報を検索要求/バージョンID対応情報32から除き、一致する検索要求と区間IDとの対応を示す情報を検索要求/区間ID対応情報33から除く。なお、S511においては、検索結果をまとめて結果返却部7へ送るが、これに代えて、1個の区間についての一括検索を終了する都度に、1個の区間における検索結果を結果返却部7に送るようにしてもよい。図13の検索要求処理フローにおいては、図14に示すように、例えば、次の一括検索実施区間情報34により示される次の一括検索実施区間が区間Bである時点で、最新バージョンID情報により示される最新のデータのバージョンIDは2である。換言すれば、バージョンID3のデータである、レコード2’及びレコード6は存在しない。また、次の一括検索実施区間が区間Bである時点で、バージョンID3のデータにおいて、レコード4は削除されていない。一方、次の一括検索実施区間が区間Bである時点で、換言すれば、区間Aの一括検索の実行中の時点で、検索要求2及び検索要求3が、検索要求キュー21に到着する。そこで、検索要求2及び検索要求3は、区間Aの一括検索の終了後、区間Bの一括検索から検索要求集合31に追加される。また、区間Aの一括検索の実行中の時点で、レコード2’の更新要求、レコード6の追加要求、レコード4の削除要求が更新要求キュー11に到着する。そこで、図15に示すように、区間Aの一括検索の終了後、区間Bの一括検索の開始前に、バージョンID3のデータが作成される。これにより、レコード2’が更新され、レコード6が追加され、レコード4が削除される。この後、図15に示すように、次の一括検索実施区間が区間Cに変更されると共に、区間Bの一括検索が開始される。この後、次の一括検索実施区間が、図15に示すように、区間A、区間B、区間Cの順で変更され、更に、これが繰り返される。これにより、例えば区間Aから検索が開始される検索要求1が一巡して、再度次の一括検索実施区間が区間Aになると、検索要求1は、全ての区間A~区間Cについて検索されたことになる。そこで、検索結果が結果返却部7に送られ、検索要求1が検索要求集合31から除かれる。図16は、一括検索実行処理フローを示す。一括検索実行部6は、検索要求集合31に含まれる複数の検索要求をグループ化する、換言すれば、一括検索のための検索式を生成するS61。次に、一括検索実行部6は、検索要求と検索対象データバージョンIDの対応を参照し、検索要求集合31に含まれる複数の検索要求の全てについて、検索対象とするデータのバージョンIDの和集合を取得するS62。次に、一括検索実行部6は、バージョンIDとデータ集合の対応を参照し、S62において取得した全てのバージョンIDに対するデータの和集合を取得するS63。次に、一括検索実行部6は、次の一括検索実施区間に対する区間IDとデータ集合の対応を参照し、次の一括検索実施区間に対するデータを取得するS64。この後、一括検索実行部6は、一括検索対象バージョン集合に対するデータと次の一括検索実施区間に対するデータの共通部分積集合に含まれるデータを、一括検索するS65。この後、一括検索実行部6は、一括検索処理の結果を検索要求ごとの結果に振り分けるS66。次に、一括検索実行部6は、検索要求と検索対象データバージョンIDの対応とバージョンIDとデータ集合の対応を参照し、検索要求ごとの検索結果から、検索対象データ集合に含まれないデータに対する検索結果を除くS67。次に、一括検索実行部6は、ループが終了したか、又は、ループがその途中であるかを判定するS68。ループがその途中である場合、一括検索実行部6は、S67を繰り返す。ループが終了した場合、一括検索実行部6は、処理を終了する。図16の一括検索実行処理において、図13と同様に、前処理、一括検索処理、後処理の3個の処理が実行される。前処理は、S61~S64であり、検索結果から漏れがないようにするために一括検索処理の入力となる一括検索の対象であるデータ集合を求める処理である。一括検索処理は、S65であり、一括検索の対象であるデータ集合について、実際の一括検索を実行する処理である。後処理は、S66~S68であり、一括検索の結果から各検索要求にとっての不要な検索結果を除く処理である。なお、図16の例においては、前処理、一括検索処理、後処理が順番に実行されているが、前処理、一括検索処理、後処理を別のプロセス又はスレッドで実行して、並行に実行するようにしても良い。ここで、前処理について、図4を参照して説明する。例えば、図4において、区間Bについて一括検索を実行するとする。この場合の前処理は、以下のようになる。検索要求集合31に含まれる各々の検索要求が検索対象とするデータのバージョンIDの和集合は、{バージョンID1,バージョンID2}であるS62。従って、バージョンID1に対応するデータとバージョンID2に対応するデータの和集合は、{レコード1,レコード2,レコード3,レコード3’,レコード4,レコード5}であるS63。一方、区間Bについての次の一括検索実施区間に対するデータの和集合は、{レコード3,レコード3’,レコード4}であるS64。従って、以上に述べた2個の和集合の共通部分は{レコード3,レコード3’,レコード4}であり、この共通部分について一括検索が実行される。次に、後処理について、前処理と同様に、図4を参照して説明する。例えば、図4において、以上の前処理の後に区間Bについて一括検索を実行したとする。この場合の後処理は、以下のようになる。一括検索の結果において、例えば検索要求1にとって、レコード3’は検索要求1の検索対象バージョン1に含まれないデータである。そこで、検索要求1に対して返却される検索結果から、レコード3’が除かれる。検索要求2、3についても、同様に、各々に返却される検索結果から、各々にとって不要なレコードが除かれる。なお、一括検索により得られた検索結果に含まれるデータレコードがある検索要求にとって不要か否かを、以下のように判定するようにしても良い。例えば、データ毎の検索結果に、そのデータが含まれるバージョンIDの一覧を付加するようにしても良い。例えば、図4のレコード1の検索結果に対しては、{バージョンID1,バージョンID2,バージョンID3}を、レコード2の検索結果に対しては、{バージョンID1,バージョンID2}という情報を付加する。なお、バージョンIDが番号で表現される場合には、データ毎の検索結果に、バージョンID1からバージョンID3までのようにバージョンIDの範囲を示す情報を付加するようにしても良い。また、検索結果に対するバージョンの判定を、検索要求のクエリ検索式の一部と見なすようにしても良い。この場合、検索結果が、検索対象であるバージョンに含まれるかどうかを、元の検索要求のクエリに対するAND条件論理積として追加することができる。例えば、図4の検索要求2についてのクエリは検索要求2の本来の検索式ANDバージョンID2のようにクエリに追加する。これにより、一括検索と同時に、不要な検索結果を除去することができる。次に、検索要求処理の他の例について説明する。図17~図19は、検索要求処理の他の例の説明図である。図13の検索要求処理においては、検索要求が検索対象とするデータのバージョンはクライアント200のアプリケーション201から送信され、従って、一括検索実行部6は、受信したバージョンを検索対象とする。しかし、検索要求が検索要求キュー12に到着した時点における最新のデータのバージョンを、当該検索要求の検索対象のバージョンとするようにしても良い。この場合、検索要求は常に最新のバージョンを検索するので、古いバージョンにしか含まれないデータは削除することができる。しかし、新しいバージョンのデータが生成され古いバージョンが最新バージョンで無くなった瞬間においては、まだ古いバージョンに対する検索処理が行われている。従って、最新バージョンで無くなった瞬間に、古いバージョンを削除することはできない。換言すれば、削除要求を実行するまで古いバージョンは削除されない。しかし、古いバージョンのデータは、最新バージョンに更新された後に検索を開始した検索処理が全てのデータ、換言すれば、全ての区間について一巡して検索を実行すれば、それ以後、検索対象になることはない。そこで、図17に示すように、検索制御部3は、一括検索のための制御情報として、バージョンID/区間ID対応情報35を保持する。バージョンID/区間ID対応情報35は、検索制御部3のバージョンID/区間ID対応情報格納部に格納される。バージョンID/区間ID対応情報35は、バージョンIDと検索終了区間の区間IDとの対応を示す情報であり、データのバージョン版と、そのバージョンのデータが最後に検索される区間IDの対応関係を表す。なお、実際には、バージョンID/区間ID対応情報35は、例えばバージョンID/区間ID対応テーブルに格納される。この場合、バージョンID/区間ID対応テーブルには、バージョンIDに対応して、当該バージョンのデータが最後に検索される区間IDが格納される。図17において、例えば、バージョンID1と区間IDB、及び、バージョンID2と区間IDBが、バージョンID/区間ID対応情報35の一部である点線で結ばれている。これにより、例えばバージョンID1及び2のデータが、最終的には、区間Bまで検索対象とされることが表される。図18及び図19は、一体となって、検索要求処理フローの他の例を示す。検索制御部3は、図13のS51~S56と同様に、S71~S76を実行する。換言すれば、検索制御部3は、要求受付部1の検索要求キュー12をチェックしてS71、新たな検索要求が検索要求キュー12に存在するかを判定するS72。新たな検索要求が検索要求キュー12に存在する場合、検索制御部3は、検索要求キュー12に存在する全ての検索要求を取り出してS73、取り出した検索要求を検索要求集合31へ加えS74、取り出した検索要求の検索対象バージョンを検索要求/バージョンID対応情報32に追加しS75、取り出した検索要求に対する検索要求と検索開始区間IDの対応を次の一括検索実施区間IDにするS76。この後、検索制御部3は、各々の検索要求に対し、検索要求と検索終了区間IDの対応、換言すれば、検索対象であるデータのバージョンIDに対応する検索終了区間IDを、次の一括検索実施区間IDに変更するS77。S72において、検索要求キュー12が空である場合、検索制御部3は、S73~S77を省略する。この後、一括検索実行部6は、図13のS57と同様に、次の一括検索実施中区間IDの指す区間に対して一括検索処理を実施するS78。この後、検索制御部3は、図13のS58~S512と同様に、S79~S713を実行する。換言すれば、検索制御部3は、次の一括検索実施区間を次の区間に変更しS79、検索開始区間が次の一括検索実施区間に一致するものがあるかチェックしS710、判定するS711。検索開始区間が次の一括検索実施区間に一致するものがない場合、検索制御部3は、S71を繰り返す。検索開始区間が次の一括検索実施区間に一致するものがある場合、検索制御部3は、一致する検索要求に対する検索結果を、結果返却部7へ送りS712、一致する検索要求を検索要求集合31から除くS713。この後、検索制御部3は、バージョンIDと検索終了区間IDの対応を参照し、検索終了区間IDが次の一括検索実施区間IDと等しいバージョンIDを求めS714、求めたバージョンIDが最新バージョンであるか否かを判定するS715。求めたバージョンIDが最新バージョンである場合S715Yes、検索制御部3は、S71を繰り返す。これにより、求めたバージョンIDが最新バージョンである場合には、当該バージョンIDのデータは、検索を終了したバージョンであっても、削除されない。これは、当該バージョンIDのデータは、最新バージョンであるので、その後に発行される新たな検索要求の検索対象となるためである。求めたバージョンIDが最新バージョンでない場合S715No、検索制御部3は、求めたバージョンIDについてのバージョンIDとデータ集合の対応を削除するS716。更に、検索制御部3は、以上の処理によりどのバージョンIDとも対応しなくなったデータのレコードを、格納データ集合51から削除しS717、S71を繰り返す。以上の処理、特に、S77、S714~S717によれば、検索の開始により、バージョンIDと検索終了区間IDの対応は、当該バージョンIDについての検索が開始されるたびに上書きされ、かつ、そのときの区間IDが設定される。ここで、検索を開始するときの区間は検索を終了するときの区間であるので、設定した区間IDは、検索終了のタイミングを示す。また、バージョンIDと検索終了区間IDの対応は当該バージョンIDについての検索の開始の都度に上書きされるので、当該バージョンIDについての最も遅い検索が検索を終了する区間IDが設定される。これにより、あるバージョンIDを持つデータについて、当該データの検索が終了した時点で、直ちに、当該データを削除することができ、格納データ集合51を効率よく使用することができる。なお、クライアント200のアプリケーション201毎の一連の処理の情報検索要求の情報をシステム内に保持し、例えばその一連の処理が開始した時点のバージョンを検索対象とするようにしても良い。この場合も、検索要求は常に最新のバージョンを検索する訳ではないので、あるバージョンが最新バージョンで無くなった瞬間に古いバージョンを削除することはできない。しかし、この場合にも、検索要求が検索要求キュー12に到着した時点における最新のデータのバージョンを検索対象のバージョンとする場合と同様に、図17~図19を適用することができる。次に、検索要求処理の更に他の例について説明する。図20~図25は、検索要求処理の更に他の例の説明図である。図13の実施例では、検索要求キュー12に新たに到着した検索要求は、そのまま検索要求集合31に追加される。しかし、検索要求キュー12に新たに到着した検索要求を検索要求集合31に追加するかどうかを判定し、予め定められた条件に該当する場合に追加するようにしても良い。そこで、追加の判定の条件として、以下に述べるコストCとベネフィットBとを用いる。ここで、検索要求集合31に新しいバージョンを検索する検索要求を加える場合におけるコストCは、当該新しいバージョンだけにしか含まれないデータを検索する時間である。例えば、図21を参照して後述するように、複数のバージョンに対して一括検索処理を行うと、不要なデータを検索することになる。検索要求集合31に新しいバージョンを検索する検索要求を加える場合におけるベネフィットBは、追加しようとする検索要求の待ち時間の削減分である。ベネフィットBがコストCを上回る場合には、新しいバージョンを検索する検索要求を検索要求集合31に追加する。これにより、検索装置100の全体として、平均の検索性能が向上することができる。ベネフィットBがコストC以下である場合には、新しいバージョンを検索する検索要求を検索要求集合31に追加しない。これにより、検索装置100の全体として、平均の検索性能が低下することを防止することができる。以下、検索要求の検索対象を、検索を開始する時点の最新バージョンとして検索を実行する場合における、コストCとベネフィットBとを計算する。なお、ここで、更新要求及び検索要求は時間的に均等な間隔で更新要求キュー11及び検索要求キュー12に到着するものとし、更新要求によってあるデータが他のデータに置換されるものとし、合計のデータ件数は変わらないものとする。例えば、図20に示すように、データは、区間A~区間Eに分割される。検索対象の区間は、AからEまでこの順に一括検索され、これを繰り返す。1回目の区間Aの一括検索をA[1]と表し、2回目の区間Aの一括検索をA[2]と表し、他の区間についても同様に表すとする。更に、図20において、区間A~区間Eの各々について一括検索を開始する都度に、新たなバージョンの検索要求が加えられる。データのバージョンは、0から9まで更新される。結果として、図20は、一括検索の対象であるデータのバージョンの変化を示す。具体的には、図20において、左右に延びる太線は、各々、あるバージョンについての検索処理の実施区間を示す。点線で囲まれた部分は、各々、ある区間における検索体操であるデータのバージョンの集合を示す。左右に延びる区間に対応する矢印は、各々、ある区間の検索中に検索要求キュー12に到着した検索要求の集合を示す。区間に対応する矢印と太線とを結ぶ上下に延びる矢印は、各々、当該矢印で表される区間、換言すれば、検索要求の集合についての検索開始区間及び検索対象であるバージョンを示す。例えば、最初のバージョン番号バージョンID0に対する一括検索は、区間A[1]から開始される。バージョン番号0に対する検索処理は、その後、区間E[1]の一括検索が終了するまで続く。区間A[1]の一括検索が終了すると、区間A[1]の一括検索中に到着した更新要求が実行される。これにより、最新バージョンが1に更新される。従って、区間A[1]の一括検索中に到着して区間B[1]から検索を開始する第2の検索要求集合の検索対象であるバージョンも1になる。第2の検索要求集合による検索は、その後、区間A[2]に対する一括検索が終了するまで続く。以上ように、あるバージョンに対する検索要求はオーバラップしながら続いていく。ここで、検索要求のオーバラップについて、ある区間に着目すると以下の通りである。例えば、区間A[2]に着目してみると、区間A[2]に対する一括検索において、検索対象となるバージョンの集合は、バージョン番号1~5の5個である。同様に、区間B[2]に着目してみると、区間B[2]に対する一括検索において、検索対象となるバージョンの集合は、バージョン番号2~6の5個である。そこで、ある区間において一括検索するデータに着目すると、図21のようになる。図21は、例えば区間A[2]に着目して、当該区間A[2]において一括検索されるデータのバージョンを示す。図21において、U1,2はバージョンが1から2へ変更された際に更新された部分であり、U2,3はバージョンが2から3へ変更された際に更新された部分であり、U3,4はバージョンが3から4へ変更された際に更新された部分であり、U4,5はバージョンが4から5へ変更された際に更新された部分である。なお、図21において、図21における更新を図23における更新と区別するために、添え字-1を付している。例えば、U1,2-1がレコード2であるとすると、レコード2は、バージョンが1から2へ変更された際に更新された部分2~5と、更新されていない部分1とを含む。また、例えば、U2,3-1がレコード4であるとすると、レコード4は、バージョンが2から3へ変更された際に更新された部分3~5と、更新されていない部分1~2とを含む。図21において、ある1個の区間についての検索を実行しバージョンが変更される都度に、Δn1件のデータが更新される。従って、バージョン番号1~5のデータを検索する場合、元のデータに加えて、Δn1×4件のデータを追加して検索することになる。ある1個の区間で変更されるデータ量Δn1は、図21により示されるように、データの全体件数N件、平均検索時間L秒、更新頻度r件/秒から求めることができる。最初に、区間の数をM個とすると、区間の検索中に更新される件数Δn1は、Δn1=L×r/Mで求められる。また、区間の平均検索件数n1は、n1=N/MΔn1×M-1で求められる。この後、検索速度v件/秒が、v=n1×M/Lで求められる。次に、図20の例において、新たな検索要求を、2回目の区間Aの検索処理を開始するタイミングであるA[2]では追加せずに、次の区間B[2]で追加する場合について、図22に示す。この場合、バージョン番号5のデータは検索されない。従って、2回目の区間A[2]での最新バージョンであるバージョン番号5のデータを検索する検索要求が、図22に示すように、存在しなくなる。このため、区間A[2]及びそれ以降の区間B[2]、区間C[2]、区間D[2]、区間E[2]の5区間において、検索対象となるバージョンの集合が変化する。一方、バージョン番号5のデータは検索されない代わりに、区間B[2]からバージョン番号6のデータが検索される。従って、区間B[2]から検索を開始する、換言すれば、次のバージョンを検索する検索要求の数は2倍になる。検索対象となるバージョンの集合の変化を、図23に示す。図23Aに示すように、影響のある最初の区間A[2]においては、バージョン番号5のデータを検索する検索要求が存在しない。このため、バージョン番号5だけに含まれるデータを検索しなくてもよい。換言すれば、U4,5-2において、部分5は、バージョン番号5にしか含まれないので、検索されない。このため、検索データ量がΔn1分減少する。しかし、次の区間B[2]においてはバージョン6を検索する検索要求が存在する。このため、図23Bに示すように、バージョン番号5だけに含まれるデータが存在しない。換言すれば、U4,5-3において、部分5~6は、バージョン番号6のデータの検索において検索される。このため、検索データ量は減少しない。バージョン番号5のデータを検索しないことによる検索データ量は、バージョン番号5が最も新しいバージョンである区間A[2]を検索する場合と、バージョン番号5が最も古いバージョンである区間E[2]を検索する場合について、合わせて2×Δn1件の減少となる。バージョン番号5のデータを検索しない場合において、検索のレスポンスに対する影響を図24に示す。図24において、前述したように、検索データ量が減少する区間はA[2]及びE[2]である。これにより、バージョン番号1~4を検索する検索要求の実行の時間と、バージョン番号6~9を検索する検索要求の実行の時間とが減少する。以上から、区間A[2]でバージョン番号5のデータの検索を行わない場合のレスポンスの総減少量、換言すれば、区間A[2]でバージョン番号5のデータの検索を行う場合の検索要求を追加する場合のコストCが求められる。例えば、対象区間の検索時間の減少時間Δl秒は、Δl=Δn1/vで求められる。検索要求の到着頻度をs個/秒とすると、各々の区間で検索を開始する検索要求の数q1個は、q1=s×L/Mで求められる。従って、検索のレスポンスの総減少量C個×sは、C=Δl×2×M-1×q1で求められる。一方、バージョン番号5のデータを検索する場合のベネフィットBは、区間E[1]に到着したq1個の検索要求の検索開始までの待ち時間が1区間分減少することである。そこで、コストCとベネフィットBとが、図25に示すように、比較される。具体的には、コストCは、図25Aに示すように求められる。ベネフィットBは、図25Bに示すように求められる。ここで、コストCとベネフィットBとの比較式は、図25Cに示すように、簡単化することができ、v/r>2M-1となる。換言すれば、コストCとベネフィットBとの比較結果は、更新頻度rと検索速度vの比と、区間の数Mとから求まる定数によって定まることが判る。例えば、更新頻度rが多くなると、v/r>2M-1が成立しなくなる、換言すれば、コストCがベネフィットBよりも小さくなくなる。従って、検索制御部3は、更新頻度rと検索速度vと区間の数Mとに基づいて、式v/r>2M-1が成立するか否かを判定する。式v/r>2M-1が成立する場合、検索制御部3は、コストCよりベネフィットBが大きいと判定して、検索要求を途中で追加する。これにより、検索装置100全体として、レスポンスを向上させることができる。式v/r>2M-1が成立しない場合、検索制御部3は、コストCよりベネフィットBが小さいと判定して、検索要求を途中で追加しない。これにより、検索装置100全体として、レスポンスが低下することを防止することができる。"