データベースを検索するための情報処理装置であって、グループのメンバである1または複数のユーザを前記グループごとに示す第1のキャッシュデータ、およびユーザをメンバとする1または複数のグループを前記ユーザごとに示す第2のキャッシュデータのいずれかを選択するためのキャッシュデータ選択部と、前記データベースの蓄積情報に基づいて、前記キャッシュデータ選択部によって選択された前記第1のキャッシュデータまたは前記第2のキャッシュデータを作成するためのキャッシュ作成処理部とを備える、情報処理装置。前記キャッシュデータ選択部は、過去に実行された前記検索の内容に基づいて前記第1のキャッシュデータおよび前記第2のキャッシュデータのいずれかを選択する、請求項1に記載の情報処理装置。前記情報処理装置は、さらに、前記データベースの蓄積情報に基づいて、各グループと前記グループのメンバであるユーザの数との対応関係を示す第1の対応情報、または各ユーザと前記ユーザをメンバとするグループの数との対応関係を示す第2の対応情報を作成するための対応情報作成部と、前記第1の対応情報に基づいて、ユーザ数で区分けした前記グループの度数分布を示す第1の分布情報を作成するか、または前記第2の対応情報に基づいて、グループ数で区分けした前記ユーザの度数分布を示す第2の分布情報を作成するための分布情報作成部とを備え、前記キャッシュ作成処理部は、前記データベースの蓄積情報ならびに前記第1の対応情報および前記第1の分布情報に基づいて前記第1のキャッシュデータを作成するか、または前記データベースの蓄積情報ならびに前記第2の対応情報および前記第2の分布情報に基づいて前記第2のキャッシュデータを作成する、請求項1または2に記載の情報処理装置。前記キャッシュ作成処理部は、前記キャッシュデータをビットマップデータで作成する代わりに、前記第1の対応情報および前記第1の分布情報、または前記第2の対応情報および前記第2の分布情報に基づいて、前記キャッシュデータの一部または全部を配列データで作成する、請求項3に記載の情報処理装置。前記キャッシュ作成処理部は、前記第1の分布情報において、ユーザ数の少ない区分に属する前記グループの情報を前記第1のキャッシュデータにおいて配列データで作成するか、または前記第2の分布情報において、グループ数の少ない区分に属する前記ユーザの情報を前記第2のキャッシュデータにおいて配列データで作成する、請求項4に記載の情報処理装置。前記情報処理装置は、さらに、過去に実行された前記検索の回数を検索の種類ごとに示す問い合わせ統計情報を記憶するための記憶部と、指定された前記検索のフィルタ条件に基づいて前記検索の種類を判別し、前記問い合わせ統計情報を更新するための問い合わせ判断部とを備え、前記キャッシュデータ選択部は、前記問い合わせ統計情報に基づいて前記第1のキャッシュデータおよび前記第2のキャッシュデータのいずれかを選択する、請求項2に記載の情報処理装置。データベースを検索するための情報処理装置における検索情報作成方法であって、グループのメンバである1または複数のユーザを前記グループごとに示す第1のキャッシュデータ、およびユーザをメンバとする1または複数のグループを前記ユーザごとに示す第2のキャッシュデータのいずれかを選択するステップと、前記データベースの蓄積情報に基づいて、選択した前記第1のキャッシュデータまたは前記第2のキャッシュデータを作成するステップとを含む、検索情報作成方法。データベースを検索するための情報処理装置における検索情報作成プログラムであって、コンピュータに、グループのメンバである1または複数のユーザを前記グループごとに示す第1のキャッシュデータ、およびユーザをメンバとする1または複数のグループを前記ユーザごとに示す第2のキャッシュデータのいずれかを選択するステップと、前記データベースの蓄積情報に基づいて、選択した前記第1のキャッシュデータまたは前記第2のキャッシュデータを作成するステップとを実行させるための、検索情報作成プログラム。上記のようなパフォーマンスの低下を解決する方法として、ビットマップデータを用いる方法が考えられる。すなわち、全ユーザ分のビットを用意し、ダイナミックグループごとに、当該グループのメンバであるユーザオブジェクトのビットを1で表し、メンバで無いユーザオブジェクトのビットを0で表したビットマップデータを作成する。そして、このビットマップデータをメモリにキャッシュすることで、検索の高速化を図る。しかしながら、上記のようなビットマップデータを用いる方法では、ユーザを指定し、当該ユーザが所属するダイナミックグループを参照する、といった検索の場合、ダイナミックグループごとに当該ユーザの所属の有無をチェックしなければならず、検索処理が遅くなってしまう。そして、特許文献1には、このような問題点を解決するための構成は開示されていない。この発明は、上述の課題を解決するためになされたもので、その目的は、検索処理の高速化を図ることが可能な情報処理装置、検索情報作成方法、および検索情報作成プログラムを提供することである。上記課題を解決するために、この発明のある局面に係わる情報処理装置は、データベースを検索するための情報処理装置であって、グループのメンバである1または複数のユーザを上記グループごとに示す第1のキャッシュデータ、およびユーザをメンバとする1または複数のグループを上記ユーザごとに示す第2のキャッシュデータのいずれかを選択するためのキャッシュデータ選択部と、上記データベースの蓄積情報に基づいて、上記キャッシュデータ選択部によって選択された上記第1のキャッシュデータまたは上記第2のキャッシュデータを作成するためのキャッシュ作成処理部とを備える。上記課題を解決するために、この発明のある局面に係わる検索情報作成方法は、データベースを検索するための情報処理装置における検索情報作成方法であって、グループのメンバである1または複数のユーザを上記グループごとに示す第1のキャッシュデータ、およびユーザをメンバとする1または複数のグループを上記ユーザごとに示す第2のキャッシュデータのいずれかを選択するステップと、上記データベースの蓄積情報に基づいて、選択した上記第1のキャッシュデータまたは上記第2のキャッシュデータを作成するステップとを含む。上記課題を解決するために、この発明のある局面に係わる検索情報作成プログラムは、データベースを検索するための情報処理装置における検索情報作成プログラムであって、コンピュータに、グループのメンバである1または複数のユーザを上記グループごとに示す第1のキャッシュデータ、およびユーザをメンバとする1または複数のグループを上記ユーザごとに示す第2のキャッシュデータのいずれかを選択するステップと、上記データベースの蓄積情報に基づいて、選択した上記第1のキャッシュデータまたは上記第2のキャッシュデータを作成するステップとを実行させるためのプログラムである。本発明によれば、検索処理の高速化を図ることができる。以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。本発明の実施の形態に係る情報処理装置は、典型的には、汎用的なアーキテクチャを有するコンピュータを基本構造としており、予めインストールされたプログラムを実行することで、後述するような各種機能を提供する。一般的に、このようなプログラムは、フレキシブルディスクFlexibleDiskおよびCD-ROMCompactDiskReadOnlyMemoryなどの記録媒体に格納されて、あるいはネットワークなどを介して流通する。本発明の実施の形態に係るプログラムは、OS等の他のプログラムの一部に組み込まれて提供されるものであってもよい。この場合でも、本発明の実施の形態に係るプログラム自体は、上記のような組み込み先の他のプログラムが有するモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本発明の実施の形態に係るプログラムとしては、このような他のプログラムに組み込まれた形態であってもよい。なお、代替的に、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。[装置構成]図1は、本発明の実施の形態に係る情報処理装置の概略構成図である。図1を参照して、情報処理装置201は、演算処理部であるCPUCentralProcessingUnit101と、メインメモリ102と、ハードディスク103と、入力インタフェース104と、表示コントローラ105と、データリーダ/ライタ106と、通信インタフェース107とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。CPU101は、ハードディスク103に格納されたプログラムコードをメインメモリ102に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ102は、典型的には、DRAMDynamicRandomAccessMemoryなどの揮発性の記憶装置であり、ハードディスク103から読み出されたプログラムに加えて、各種の演算処理結果を示すデータなどを保持する。また、ハードディスク103は不揮発性の磁気記憶装置であり、CPU101で実行されるプログラムに加えて、各種設定値などが格納される。このハードディスク103にインストールされるプログラムは、後述するように、記録媒体111に格納された状態で流通する。なお、ハードディスク103に加えて、あるいはハードディスク103に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。入力インタフェース104は、CPU101とキーボード108、マウス109および図示しないタッチパネルなどの入力部との間のデータ伝送を仲介する。すなわち、入力インタフェース104は、ユーザが入力部を操作することで与えられる操作指令などの外部からの入力を受付ける。表示コントローラ105は、表示部の典型例であるディスプレイ110と接続され、ディスプレイ110での表示を制御する。すなわち、表示コントローラ105は、CPU101による画像処理の結果などをユーザに対して表示する。ディスプレイ110は、たとえばLCDLiquidCrystalDisplayまたはCRTCathodeRayTubeである。データリーダ/ライタ106は、CPU101と記録媒体111の間のデータ伝送を仲介する。すなわち、記録媒体111は、情報処理装置201で実行されるプログラムなどが格納された状態で流通し、データリーダ/ライタ106は、この記録媒体111からプログラムを読み出す。また、データリーダ/ライタ106は、CPU101の内部指令に応答して、情報処理装置201における処理結果などを記録媒体111へ書き込む。なお、記録媒体111は、たとえば、CFCompactFlashおよびSDSecureDigitalなどの汎用的な半導体記憶デバイス、フレキシブルディスクFlexibleDiskなどの磁気記憶媒体、またはCD-ROMCompactDiskReadOnlyMemoryなどの光学記憶媒体である。通信インタフェース107は、CPU101と他のパーソナルコンピュータおよびサーバ装置などの間のデータ伝送を仲介する。通信インタフェース107は、典型的には、イーサネット登録商標またはUSBUniversalSerialBusの通信機能を有する。なお、記録媒体111に格納されたプログラムを情報処理装置201にインストールする形態に代えて、通信インタフェース107を介して配信サーバなどからダウンロードしたプログラムを情報処理装置201にインストールしてもよい。また、情報処理装置201には、必要に応じてプリンタなどの他の出力装置が接続されてもよい。[制御構造]次に、情報処理装置201における検索機能を提供するための制御構造について説明する。図2は、本発明の実施の形態に係る情報処理装置が提供する制御構造を示すブロック図である。図2に示す情報処理装置201における各ブロックは、ハードディスク103に格納されたプログラムコードなどをメインメモリ102に展開して、CPU101に実行させることで提供される。なお、図2に示す情報処理装置201の制御構造の一部もしくは全部を専用ハードウェアおよび/または配線回路によって実現してもよい。図2を参照して、情報処理装置201は、たとえばLDAPサーバであり、その制御構造として、LDAPプロトコル処理部1と、LDAP検索処理部2と、問い合わせ判断部3と、分布情報管理部5と、データ最適化処理部6と、キャッシュ作成処理部キャッシュデータ選択部7と、検索結果キャッシュ取得処理部8とを備える。また、情報処理装置201は、LDAPデータベース4と、キャッシュ9とを備える。LDAPデータベース4と、キャッシュ9とは、たとえば図1に示すハードディスク103またはメインメモリ102に格納される。図3は、本発明の実施の形態に係る情報処理装置における分布情報管理部の構成を示すブロック図である。図3を参照して、分布情報管理部5は、ソート情報作成部対応情報作成部51と、分布情報作成部52とを含む。図2および図3を参照して、LDAPプロトコル処理部1は、クライアントからLDAP操作要求を受け取り、受け取ったLDAP操作要求の示す操作を解析する。LDAP検索処理部2は、クライアントからの操作が検索であった場合に動作し、問い合わせ判断部3および検索結果キャッシュ取得処理部8を呼び出す。問い合わせ判断部3は、LDAPの検索処理が発生すると、当該検索のフィルタ条件に基づいて問い合わせのパターンを判断し、問い合わせ統計情報32を更新する。キャッシュ作成処理部7は、一定時間間隔で実行され、分布情報管理部5を呼び出す。分布情報管理部5は、内部のソート情報管理部51を呼び出す。ソート情報管理部51は、LDAPデータベース4から全エントリ情報を参照し、ソート情報53を作成してたとえばメインメモリ102に格納する。分布情報管理部5における分布情報作成部52は、ソート情報53を参照し、分布情報54を作成してたとえばメインメモリ102に格納する。キャッシュ作成処理部7は、問い合わせ統計情報32を参照し、また、データ最適化処理部6を呼び出し、キャッシュ9を作成する。なお、キャッシュ作成処理部7は、キャッシュの定期リフレッシュを行なう際には、分布情報管理部5の呼び出しも行なう。検索結果キャッシュ取得処理部8は、キャッシュ9を参照し、当該検索のフィルタ条件にマッチする情報を取得し、LDAP検索処理部2へ返却する。LDAP検索処理部2は、返却された検索結果の情報をLDAPプロトコル処理部1へ返却する。[動作]次に、本発明の実施の形態に係る情報処理装置の動作について図面を用いて説明する。本発明の実施の形態では、情報処理装置201を動作させることによって、本発明の実施の形態に係る検索情報作成方法が実施される。よって、本発明の実施の形態に係る検索情報作成方法の説明は、以下の情報処理装置201の動作説明に代える。なお、以下の説明においては、適宜図2を参照する。まず、検索処理時の動作について説明する。LDAP検索処理部2から呼び出された問い合わせ判断部3は、LDAPの検索処理に対して、検索のフィルタ条件に基づいて、問い合わせの種類を判別する。問い合わせ判断部3は、問い合わせ統計情報32を保持している。問い合わせ統計情報32は、問い合わせの種類および当該問い合わせの数がマッピングされたものである。図4は、問い合わせ統計情報の一例を示す図である。図4を参照して、問い合わせ統計情報32において、ダイナミックグループを指定し、そのメンバ情報を取得する問い合わせの数が85であり、ユーザを指定し、そのユーザをメンバとするダイナミックグループを取得する問い合わせの数が15である。図5は、本発明の実施の形態に係る情報処理装置における問い合わせ判断部の動作手順を示すフローチャートである。図5を参照して、問い合わせ判断部3は、問い合わせの種類を判別すると、判別した問い合わせの種類に対応する問い合わせ数に1を加えるステップS1およびS2。次に、LDAP検索処理部2は、検索結果キャッシュ取得処理部8を呼び出す。呼び出された検索結果キャッシュ取得処理部8は、キャッシュ9を参照し、検索のフィルタ条件を満たす情報を取得する。検索結果キャッシュ取得処理部8によって取得された情報は、LDAP検索処理部2からLDAPプロトコル処理部1へ返却され、検索結果としてLDAP利用者に返却される。次に、キャッシュの定期リフレッシュ時の動作について説明する。図6は、本発明の実施の形態に係る情報処理装置におけるソート情報作成部の動作手順を示すフローチャートである。図6を参照して、キャッシュ作成処理部7は、設定されたリフレッシュ間隔で動作する。この動作において、キャッシュ作成処理部7は、まず、分布情報管理部5を呼び出す。呼び出された分布情報管理部5において、ソート情報作成部51は、まず、LDAPデータベース4のエントリ情報を参照するステップS11。次に、ソート情報作成部51は、各ダイナミックグループのメンバに属するユーザ数を計算しステップS12、ダイナミックグループと、当該ダイナミックグループのメンバに属するユーザの数との対応関係を示すダイナミックグループ―ユーザ数情報を作成し、たとえばメインメモリ102に格納するステップS13。同様に、ソート情報作成部51は、各ユーザについて、当該ユーザをメンバとするダイナミックグループの数を計算しステップS14、ユーザと、当該ユーザをメンバとするダイナミックグループの数との対応関係を示すユーザ―ダイナミックグループ数情報を作成し、たとえばメインメモリ102に格納するステップS15。次に、ソート情報作成部51は、ダイナミックグループ―ユーザ数情報、およびユーザ―ダイナミックグループ数情報をそれぞれユーザ数およびダイナミックグループ数でソートするステップS16およびステップS17。そして、ソート情報作成部51は、これら2つのソート結果を合わせたソート情報53を作成し、たとえばメインメモリ102に格納する。図7aおよびbは、ソート情報の一例を示す図である。図7aおよびbを参照して、このソート情報53は、ダイナミックグループ-ユーザ数情報第1の対応情報と、ユーザ-ダイナミックグループ数情報第2の対応情報とを含む。ダイナミックグループ-ユーザ数情報において、識別番号が100番のダイナミックグループのメンバに属するユーザ数が2200であり、識別番号が166番のダイナミックグループのメンバに属するユーザ数が2270である。また、ユーザ-ダイナミックグループ数情報において、識別番号が1001番のユーザをメンバに持つロールの数が30であり、識別番号が5500番のユーザをメンバに持つロールの数が38である。次に、ソート情報53が作成されると、分布情報管理部5における分布情報作成部52は、ソート情報53を参照し、閾値を用いて分布情報54を作成する。この閾値は、ダイナミックグループ―ユーザ数情報およびユーザ―ダイナミックグループ数情報に対して2つずつ用意される。ここでは、ダイナミックグループ―ユーザ数情報に関する2つの閾値を閾値Aおよび閾値Bとし、ユーザ―ダイナミックグループ数情報に関する2つの閾値を閾値Cおよび閾値Dとする。図8は、本発明の実施の形態に係る情報処理装置における分布情報管理部の動作手順を示すフローチャートである。図8を参照して、まず、分布情報管理部5は、ダイナミックグループ―ユーザ数情報を参照しステップS21、閾値Aおよび閾値Bを用いて、ユーザ数が閾値A以下であるダイナミックグループの数、ユーザ数が閾値B以上であるダイナミックグループの数、およびユーザ数が閾値Aより多く、かつ閾値Bより少ないダイナミックグループの数を計算するステップS22。次に、分布情報管理部5は、この計算結果、ならびに閾値Aおよび閾値Bを含む情報、すなわち各ダイナミックグループのメンバの分布情報54を作成し、たとえばメインメモリ102に格納するステップS23。同様に、分布情報管理部5は、ユーザ―ダイナミックグループ数情報を参照しステップS24、閾値Cおよび閾値Dを用いて、ダイナミックグループ数が閾値C以下であるユーザの数、ダイナミックグループ数が閾値D以上であるユーザの数、およびダイナミックグループ数が閾値Cより多く、かつ閾値Dより少ないユーザの数を計算するステップS25。次に、分布情報管理部5は、この計算結果、ならびに閾値Cおよび閾値Dを含む情報、すなわち各ユーザが所属するダイナミックグループの分布情報54を作成し、たとえばメインメモリ102に格納するステップS26。図9aおよびbは、分布情報の一例を示す図である。図9aを参照して、分布情報54は、各ダイナミックグループのメンバの分布情報X第1の分布情報を含む。また、図9bを参照して、分布情報54は、各ユーザが所属するダイナミックグループの分布情報Y第2の分布情報を含む。各ダイナミックグループのメンバの分布情報Xにおいて、閾値Aが960であり、閾値Bが645000であり、ユーザ数が閾値A以下であるダイナミックグループの数が4300であり、ユーザ数が閾値B以上であるダイナミックグループの数が500であり、ユーザ数が閾値Aより多く、かつ閾値Bより少ないダイナミックグループの数が50200である。各ユーザが所属するダイナミックグループの分布情報Yにおいて、閾値Cが50であり、閾値Dが54500であり、ダイナミックグループが閾値C以下であるユーザの数が90000であり、ダイナミックグループ数が閾値D以上であるユーザの数が5であり、ダイナミックグループ数が閾値Cより多く、かつ閾値Dより少ないユーザの数が554995である。図10は、本発明の実施の形態に係る情報処理装置におけるキャッシュ作成処理部の動作手順を示すフローチャートである。図10を参照して、まず、キャッシュ作成処理部7は、問い合わせ統計情報32を参照し、キャッシュするビットマップデータを作成するステップS31。ここで、初期運用時の場合等、問い合わせ統計情報が有効でない場合には、予め設定されたモードを利用する。図11は、本発明の実施の形態に係る情報処理装置におけるキャッシュ作成処理部が作成するビットマップデータの一例を示す図である。図11を参照して、全ユーザ分のビットを用意し、ダイナミックグループごとに、当該グループのメンバであるユーザオブジェクトのビットを1で表し、メンバで無いユーザオブジェクトのビットを0で表したビットマップデータを作成する。図12は、本発明の実施の形態に係る情報処理装置が検索処理で用いるビットマップデータの一例を示す図である。図12を参照して、全ダイナミックグループ分のビットを用意し、ユーザオブジェクトごとに、当該ユーザオブジェクトの属するダイナミックグループのビットを1で表し、属さないダイナミックグループのビットを0で表したビットマップデータを作成する。再び図10を参照して、次に、キャッシュ作成処理部7は、データ最適化処理部6を呼び出すステップS32。図13は、本発明の実施の形態に係る情報処理装置におけるデータ最適化処理部の動作手順を示すフローチャートである。図13を参照して、データ最適化処理部6は、ソート情報53および分布情報54を参照し、閾値に収まるエントリ情報のデータ配列化処理、およびビット反転配列化処理を行ない、配列データを作成するステップS41。再び図10を参照して、キャッシュ作成処理部7は、作成したビットマップデータのうち、作成した配列データに対応するデータ部分を除いたものと、作成した配列データとを合わせて、キャッシュ9としてたとえばメインメモリ102に格納するステップS33。このように、情報処理装置201では、ダイナミックグループのメンバのユーザ数、およびユーザをメンバに持つダイナミックグループの数に応じて、データの格納形式を変更する。これにより、全体としてのデータ量を圧縮することができるため、キャッシュするデータの消費メモリ量を小さくすることができる。具体的な数値をあげて説明する。50万ユーザおよび5万ロールの条件下で、キャッシュデータの作成に関し、すべてビットマップ形式で格納する場合と、本発明の実施の形態に係る検索情報作成方法を適用する場合とで、キャッシュデータのサイズを比較する。簡単のため、ダイナミックグループを指定する問い合わせが圧倒的に多い環境とし、閾値Aを1000、閾値Bを499000とし、閾値A以下のダイナミックグループの数を40000とし、閾値B以上のダイナミックグループ数を0とする。ダイナミックグループを指定する問い合わせが圧倒的に多い環境では、問い合わせ統計情報から、キャッシュデータは、ダイナミックグループごとの所属ユーザ情報のデータが選択される。すべてビットマップ形式で格納する場合には、キャッシュデータのサイズは、500000×50000/8×1024×1024×1024[GB]≒3[GB]となる。これに対して、本発明の実施の形態に係る検索情報作成方法を適用する場合には、40000個のダイナミックグループの情報を配列データで作成することから、1つのダイナミックグループの情報に4バイトのデータが必要であるとすると、キャッシュデータのサイズは、500000×10000/8×1024×1024×102440000×32×1000/8×1024×1024×1024[GB]≒0.73[GB]となる。すなわち、本発明の実施の形態に係る検索情報作成方法を適用することにより、約2.3GBのメモリを節約することができる。ところで、全ユーザ分のビットを用意し、ダイナミックグループごとに、当該グループのメンバであるユーザオブジェクトのビットを1で表し、メンバで無いユーザオブジェクトのビットを0で表したビットマップデータを用いる方法では、ユーザを指定し、当該ユーザが所属するダイナミックグループを参照する、といった検索の場合、ダイナミックグループごとに当該ユーザの所属の有無をチェックしなければならず、検索処理が遅くなってしまう。これに対して、本発明の実施の形態に係る情報処理装置では、キャッシュ作成処理部7は、ダイナミックグループのメンバである1または複数のユーザをダイナミックグループごとに示す第1のキャッシュデータ、およびユーザをメンバとする1または複数のダイナミックグループをユーザごとに示す第2のキャッシュデータのいずれかを選択する。そして、キャッシュ作成処理部7は、LDAPデータベース4の蓄積情報に基づいて、選択した第1のキャッシュデータまたは第2のキャッシュデータを作成する。すなわち、本発明の実施の形態に係る情報処理装置では、たとえばLADPのダイナミックグループに関連する検索処理に対して、環境に合わせた適切なデータを作成かつキャッシュする。これにより、高速に検索結果を取得することができる。すなわち、本発明の実施の形態に係る情報処理装置における各構成要素のうち、キャッシュ作成処理部7からなる最小構成により、検索処理の高速化を図る、という本発明の目的を達成することが可能となる。また、本発明の実施の形態に係る情報処理装置では、キャッシュ作成処理部7は、過去に実行された検索の内容に基づいて第1のキャッシュデータおよび第2のキャッシュデータのいずれかを選択する。より詳細には、メインメモリ102またはハードディスク103は、過去に実行された検索の回数を検索の種類ごとに示す問い合わせ統計情報32を記憶する。問い合わせ判断部3は、指定された検索のフィルタ条件に基づいて検索の種類を判別し、問い合わせ統計情報32を更新する。そして、キャッシュ作成処理部7は、問い合わせ統計情報32に基づいて第1のキャッシュデータおよび第2のキャッシュデータのいずれかを選択する。すなわち、本発明の実施の形態に係る情報処理装置では、たとえばLDAPサーバの検索処理の傾向に基づいて、ダイナミックグループのどのような種類の情報をキャッシュするかを判断する。具体的には、問い合わせ判断部3が、過去のLDAP検索履歴を保持しており、この統計情報を元にキャッシュするデータの種類を決定する。このような構成により、検索パターンに応じた適切なデータをキャッシュすることができるため、利用者がよく利用する検索の場面で、高速に検索結果を返すことができる。また、キャッシュするデータに関し、全エントリ分のビットマップを用意し、各ビットの1/0によって各ユーザのダイナミックグループへの所属の有無を表わすようなデータを用いる方法では、ユーザおよびダイナミックグループの数が多くなると、キャッシュサイズが大きくなり、メモリを圧迫してしまう問題があった。また、特許文献1に記載の技術では、データベース管理システムにおいて、問い合わせ処理の実行プランを記憶装置自身が取得し、記憶装置内のデータ配置に基づいて、アクセスが行われるデータおよび当該アクセスの順序を予測する。そして、予測したデータを予めキャッシュメモリに格納することにより、アクセス性能の向上を図る。すなわち、アクセス順序からキャッシュするデータが定まると、定まったデータをすべてキャッシュしてしまう。これに対して、本発明の実施の形態に係る情報処理装置では、ソート情報作成部51は、LDAPデータベース4の蓄積情報に基づいて、各ダイナミックグループとダイナミックグループのメンバであるユーザの数との対応関係を示すダイナミックグループ-ユーザ数情報、または各ユーザとユーザをメンバとするダイナミックグループの数との対応関係を示すユーザ-ダイナミックグループ数情報を作成する。分布情報作成部52は、ダイナミックグループ-ユーザ数情報に基づいて、ユーザ数で区分けしたダイナミックグループの度数分布を示す分布情報Xを作成するか、またはユーザ-ダイナミックグループ数情報に基づいて、ダイナミックグループ数で区分けしたユーザの度数分布を示す分布情報Yを作成する。そして、キャッシュ作成処理部7は、LDAPデータベース4の蓄積情報ならびにダイナミックグループ-ユーザ数情報および分布情報Xに基づいて第1のキャッシュデータを作成するか、またはLDAPデータベース4の蓄積情報ならびにユーザ-ダイナミックグループ数情報および分布情報Yに基づいて第2のキャッシュデータを作成する。具体的には、キャッシュ作成処理部7は、キャッシュデータをビットマップデータで作成する代わりに、ダイナミックグループ-ユーザ数情報および分布情報X、またはユーザ-ダイナミックグループ数情報および分布情報Yに基づいて、キャッシュデータの一部または全部を配列データで作成する。すなわち、キャッシュ作成処理部7は、分布情報Xにおいて、ユーザ数の少ない区分に属するダイナミックグループの情報を第1のキャッシュデータにおいて配列データで作成するか、または分布情報Yにおいて、ダイナミックグループ数の少ない区分に属するユーザの情報を第2のキャッシュデータにおいて配列データで作成する。このような構成により、メモリにキャッシュすべきデータのサイズが大きく、キャッシュメモリに格納しきれないような場合でも、キャッシュするデータのサイズを小さくし、かつアクセス性能の向上を図ることができる。本発明の実施の形態に係る情報処理装置では、LDAPサーバの検索処理の傾向に基づいて、ダイナミックグループのどのような種類の情報をキャッシュするかを判断する構成、ダイナミックグループとユーザとの関連の分布情報を分析する構成、ならびに当該分布情報に基づいてデータ格納方式を適切に変更することで全体のデータ容量の圧縮を図る構成を有する。このような構成により、環境に合わせた適切なデータを作成かつキャッシュすることにより、全体のキャッシュデータの容量の圧縮を図ることができるため、メモリ使用量を抑えつつ、高速に検索結果を取得することができる。すなわち、LDAPサーバにおけるダイナミックグループ情報を効率的にメモリ上で管理することができるため、データベース検索のためのメモリ消費を抑えながら、検索処理の高速化を図ることができる。なお、本発明は、ビットマップおよび配列等のデータの格納形式には依存せず、一般に、フィルタ条件に従って決定される情報を扱うシステムにおいて、当該情報のキャッシュデータを効率的に管理する目的にも適用可能である。上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。上記実施の形態の一部または全部は以下の付記のようにも記載されうるが、本発明の範囲は、以下の付記に限定されるものではない。[付記1]データベースを検索するための情報処理装置であって、グループのメンバである1または複数のユーザを前記グループごとに示す第1のキャッシュデータ、およびユーザをメンバとする1または複数のグループを前記ユーザごとに示す第2のキャッシュデータのいずれかを選択するためのキャッシュデータ選択部と、前記データベースの蓄積情報に基づいて、前記キャッシュデータ選択部によって選択された前記第1のキャッシュデータまたは前記第2のキャッシュデータを作成するためのキャッシュ作成処理部とを備える、情報処理装置。[付記2]前記キャッシュデータ選択部は、過去に実行された前記検索の内容に基づいて前記第1のキャッシュデータおよび前記第2のキャッシュデータのいずれかを選択する、付記1に記載の情報処理装置。[付記3]前記情報処理装置は、さらに、前記データベースの蓄積情報に基づいて、各グループと前記グループのメンバであるユーザの数との対応関係を示す第1の対応情報、または各ユーザと前記ユーザをメンバとするグループの数との対応関係を示す第2の対応情報を作成するための対応情報作成部と、前記第1の対応情報に基づいて、ユーザ数で区分けした前記グループの度数分布を示す第1の分布情報を作成するか、または前記第2の対応情報に基づいて、グループ数で区分けした前記ユーザの度数分布を示す第2の分布情報を作成するための分布情報作成部とを備え、前記キャッシュ作成処理部は、前記データベースの蓄積情報ならびに前記第1の対応情報および前記第1の分布情報に基づいて前記第1のキャッシュデータを作成するか、または前記データベースの蓄積情報ならびに前記第2の対応情報および前記第2の分布情報に基づいて前記第2のキャッシュデータを作成する、付記1または2に記載の情報処理装置。[付記4]前記キャッシュ作成処理部は、前記キャッシュデータをビットマップデータで作成する代わりに、前記第1の対応情報および前記第1の分布情報、または前記第2の対応情報および前記第2の分布情報に基づいて、前記キャッシュデータの一部または全部を配列データで作成する、付記3に記載の情報処理装置。[付記5]前記キャッシュ作成処理部は、前記第1の分布情報において、ユーザ数の少ない区分に属する前記グループの情報を前記第1のキャッシュデータにおいて配列データで作成するか、または前記第2の分布情報において、グループ数の少ない区分に属する前記ユーザの情報を前記第2のキャッシュデータにおいて配列データで作成する、付記4に記載の情報処理装置。[付記6]前記情報処理装置は、さらに、過去に実行された前記検索の回数を検索の種類ごとに示す問い合わせ統計情報を記憶するための記憶部と、指定された前記検索のフィルタ条件に基づいて前記検索の種類を判別し、前記問い合わせ統計情報を更新するための問い合わせ判断部とを備え、前記キャッシュデータ選択部は、前記問い合わせ統計情報に基づいて前記第1のキャッシュデータおよび前記第2のキャッシュデータのいずれかを選択する、付記2に記載の情報処理装置。[付記7]データベースを検索するための情報処理装置における検索情報作成方法であって、グループのメンバである1または複数のユーザを前記グループごとに示す第1のキャッシュデータ、およびユーザをメンバとする1または複数のグループを前記ユーザごとに示す第2のキャッシュデータのいずれかを選択するステップと、前記データベースの蓄積情報に基づいて、選択した前記第1のキャッシュデータまたは前記第2のキャッシュデータを作成するステップとを含む、検索情報作成方法。[付記8]前記キャッシュデータを選択するステップにおいては、過去に実行された前記検索の内容に基づいて前記第1のキャッシュデータおよび前記第2のキャッシュデータのいずれかを選択する、付記7に記載の検索情報作成方法。[付記9]前記検索情報作成方法は、さらに、前記データベースの蓄積情報に基づいて、各グループと前記グループのメンバであるユーザの数との対応関係を示す第1の対応情報、または各ユーザと前記ユーザをメンバとするグループの数との対応関係を示す第2の対応情報を作成するステップと、前記第1の対応情報に基づいて、ユーザ数で区分けした前記グループの度数分布を示す第1の分布情報を作成するか、または前記第2の対応情報に基づいて、グループ数で区分けした前記ユーザの度数分布を示す第2の分布情報を作成するステップとを含み、前記キャッシュデータを作成するステップにおいては、前記データベースの蓄積情報ならびに前記第1の対応情報および前記第1の分布情報に基づいて前記第1のキャッシュデータを作成するか、または前記データベースの蓄積情報ならびに前記第2の対応情報および前記第2の分布情報に基づいて前記第2のキャッシュデータを作成する、付記7または8に記載の検索情報作成方法。[付記10]前記キャッシュデータを作成するステップにおいては、前記キャッシュデータをビットマップデータで作成する代わりに、前記第1の対応情報および前記第1の分布情報、または前記第2の対応情報および前記第2の分布情報に基づいて、前記キャッシュデータの一部または全部を配列データで作成する、付記9に記載の検索情報作成方法。[付記11]前記キャッシュデータを作成するステップにおいては、前記第1の分布情報において、ユーザ数の少ない区分に属する前記グループの情報を前記第1のキャッシュデータにおいて配列データで作成するか、または前記第2の分布情報において、グループ数の少ない区分に属する前記ユーザの情報を前記第2のキャッシュデータにおいて配列データで作成する、付記10に記載の検索情報作成方法。[付記12]前記検索情報作成方法は、さらに、過去に実行された前記検索の回数を検索の種類ごとに示す問い合わせ統計情報を記憶するステップと、指定された前記検索のフィルタ条件に基づいて前記検索の種類を判別し、前記問い合わせ統計情報を更新するステップとを含み、前記キャッシュデータを選択するステップにおいては、前記問い合わせ統計情報に基づいて前記第1のキャッシュデータおよび前記第2のキャッシュデータのいずれかを選択する、付記8に記載の検索情報作成方法。[付記13]データベースを検索するための情報処理装置における検索情報作成プログラムであって、コンピュータに、グループのメンバである1または複数のユーザを前記グループごとに示す第1のキャッシュデータ、およびユーザをメンバとする1または複数のグループを前記ユーザごとに示す第2のキャッシュデータのいずれかを選択するステップと、前記データベースの蓄積情報に基づいて、選択した前記第1のキャッシュデータまたは前記第2のキャッシュデータを作成するステップとを実行させるための、検索情報作成プログラム。[付記14]前記キャッシュデータを選択するステップにおいては、過去に実行された前記検索の内容に基づいて前記第1のキャッシュデータおよび前記第2のキャッシュデータのいずれかを選択する、付記13に記載の検索情報作成プログラム。[付記15]前記検索情報作成プログラムは、さらに、コンピュータに、前記データベースの蓄積情報に基づいて、各グループと前記グループのメンバであるユーザの数との対応関係を示す第1の対応情報、または各ユーザと前記ユーザをメンバとするグループの数との対応関係を示す第2の対応情報を作成するステップと、前記第1の対応情報に基づいて、ユーザ数で区分けした前記グループの度数分布を示す第1の分布情報を作成するか、または前記第2の対応情報に基づいて、グループ数で区分けした前記ユーザの度数分布を示す第2の分布情報を作成するステップとを実行させるプログラムであり、前記キャッシュデータを作成するステップにおいては、前記データベースの蓄積情報ならびに前記第1の対応情報および前記第1の分布情報に基づいて前記第1のキャッシュデータを作成するか、または前記データベースの蓄積情報ならびに前記第2の対応情報および前記第2の分布情報に基づいて前記第2のキャッシュデータを作成する、付記13または14に記載の検索情報作成プログラム。[付記16]前記キャッシュデータを作成するステップにおいては、前記キャッシュデータをビットマップデータで作成する代わりに、前記第1の対応情報および前記第1の分布情報、または前記第2の対応情報および前記第2の分布情報に基づいて、前記キャッシュデータの一部または全部を配列データで作成する、付記15に記載の検索情報作成プログラム。[付記17]前記キャッシュデータを作成するステップにおいては、前記第1の分布情報において、ユーザ数の少ない区分に属する前記グループの情報を前記第1のキャッシュデータにおいて配列データで作成するか、または前記第2の分布情報において、グループ数の少ない区分に属する前記ユーザの情報を前記第2のキャッシュデータにおいて配列データで作成する、付記16に記載の検索情報作成プログラム。[付記18]前記検索情報作成プログラムは、さらに、コンピュータに、過去に実行された前記検索の回数を検索の種類ごとに示す問い合わせ統計情報を記憶するステップと、指定された前記検索のフィルタ条件に基づいて前記検索の種類を判別し、前記問い合わせ統計情報を更新するステップとを実行させるプログラムであり、前記キャッシュデータを選択するステップにおいては、前記問い合わせ統計情報に基づいて前記第1のキャッシュデータおよび前記第2のキャッシュデータのいずれかを選択する、付記14に記載の検索情報作成プログラム。