"データごとに、該データを特定するための特定情報と、前記特定情報の複数の種類のうち該データを特定する際に用いられない種類である非特定種類を示す非特定種類情報との組み合わせを記憶する記憶部を有するデータベースと、前記記憶部に記憶された前記データの少なくとも一部について、前記特定情報と前記非特定種類情報との組み合わせと、複数種類の前記特定情報の組み合わせとのうち少なくとも一つを対応付けて記憶するキャッシュを有するキャッシュサーバとを有し、前記キャッシュサーバは、データ要求を受信すると、該データ要求に含まれる複数種類の前記特定情報各々の組み合わせが前記キャッシュに記憶されているかを判定する判定部と、前記判定部により記憶されていないと判定された場合に、前記データ要求に含まれる組み合わせを前記データベースに送信する特定情報送信部とを有し、前記データベースは、前記特定情報送信部により送信された組み合わせを受信すると、受信した組み合わせである受信組み合わせに相当する前記特定情報と前記非特定種類情報との組み合わせと、該特定情報と該非特定種類情報との組み合わせに対応付けられた前記データとを前記記憶部から取得し、前記キャッシュサーバに送信するキャッシュ応答部を有し、前記キャッシュサーバは、前記キャッシュ応答部により送信された前記特定情報と前記非特定種類情報との組み合わせが前記キャッシュに記憶されている場合には、記憶されていた前記特定情報と前記非特定種類情報との組み合わせに対応付けられるデータと対応付けて、前記受信組み合わせを前記キャッシュに格納し、前記キャッシュに記憶されていない場合には、前記キャッシュ応答部により送信されたデータと対応付けて、前記キャッシュ応答部により送信された前記特定情報と前記非特定種類情報との組み合わせと、前記受信組み合わせとを前記キャッシュに格納する格納部と、前記判定部により記憶されていると判定された場合には、前記キャッシュから前記データを取得して前記データ要求の送信元に送信し、前記判定部により記憶されていないと判定された場合には、前記キャッシュ応答部により送信された前記データを前記データ要求の送信元に送信するデータ送信部とを有することを特徴とするデータベースシステム。前記データベースの前記記憶部は、前記データごとに、該データを特定する際に用いられる特定情報種類に属する前記特定情報と、前記非特定種類情報との組み合わせを対応付けて記憶し、前記キャッシュ応答部は、前記特定情報送信部により送信された前記受信組み合わせを受信すると、該組み合わせに相当する前記特定情報と前記非特定種類情報との組み合わせの一つを選択し、選択した前記特定情報と前記非特定種類情報との組み合わせと、選択した該組み合わせに対応付けて記憶された前記データとを送信することを特徴とする請求項1に記載のデータベースシステム。前記データベースの前記記憶部は、前記データごとに、該データが特定される複数種類の前記特定情報の組み合わせと、該組み合わせに含まれる特定情報の種類のうち非特定種類となる特定情報を示す非特定種類情報との組み合わせを記憶し、前記キャッシュ応答部は、前記特定情報送信部により送信された前記受信組み合わせを受信すると、該組み合わせと一致する前記特定情報の組み合わせと前記非特定種類情報との組み合わせを前記記憶部から取得し、取得した該特定情報各々のうち取得した該非特定種類情報により示される特定情報を該非特定種類情報に置き換えた上で、置き換えた後の該組み合わせと、該組み合わせに対応付けて記憶された前記データとを送信することを特徴とする請求項1に記載のデータベースシステム。前記格納部は、前記キャッシュ応答部により送信された前記組み合わせに含まれる前記非特定種類情報を、該非特定種類情報に適用される可能性がある特定情報各々に置き換えた組み合わせ各々を生成し、生成した組み合わせ各々についても、該キャッシュ応答部により送信されたデータと対応付けて前記キャッシュに格納することを特徴とする請求項1~3のいずれか一つに記載のデータベースシステム。データごとに、該データを特定するための特定情報と、前記特定情報の複数の種類のうち該データを特定する際に用いられない種類である非特定種類を示す非特定種類情報との組み合わせを記憶する記憶部を有するデータベースと、前記データベースに記憶された前記データの少なくとも一部について、前記特定情報と前記非特定種類情報との組み合わせと、複数種類の前記特定情報の組み合わせとのうち少なくとも一つを対応付けて記憶するキャッシュを有するキャッシュサーバとを有するデータベースシステムで実行される制御方法であって、前記キャッシュサーバが、データ要求を受信すると、該データ要求に含まれる複数種類の前記特定情報各々の組み合わせが前記キャッシュに記憶されているかを判定する判定工程と、前記キャッシュサーバが、前記判定工程により記憶されていないと判定された場合に、前記データ要求に含まれる組み合わせを前記データベースに送信する特定情報送信工程と、前記データベースが、前記特定情報送信工程により送信された組み合わせを受信すると、受信した組み合わせである受信組み合わせに相当する前記記憶部に記憶された前記特定情報と前記非特定種類情報との組み合わせと、該特定情報と該非特定種類情報との組み合わせに対応付けられた前記データとを前記記憶部から取得し、前記キャッシュサーバに送信するキャッシュ応答工程と、前記キャッシュサーバが、前記キャッシュ応答工程により送信された前記特定情報と前記非特定種類情報との組み合わせが前記キャッシュに記憶されている場合には、記憶されていた前記特定情報と前記非特定種類情報との組み合わせに対応付けられるデータと対応付けて、前記受信組み合わせを前記キャッシュに格納し、前記キャッシュに記憶されていない場合には、前記キャッシュ応答工程により送信されたデータと対応付けて、前記キャッシュ応答部により送信された前記特定情報と前記非特定種類情報との組み合わせと、前記受信組み合わせとを前記キャッシュに格納する格納工程と、前記キャッシュサーバが、前記判定工程により記憶されていると判定された場合には、前記キャッシュから前記データを取得して前記データ要求の送信元に送信し、前記判定工程により記憶されていないと判定された場合には、前記キャッシュ応答工程により送信された前記データを前記データ要求の送信元に送信するデータ送信工程とを含むことを特徴とする制御方法。ここで、データベースからレコードを抽出する上で必要となる特定情報の集合が不明である場合に、上述した従来の検索アルゴリズムを応用し、以下に説明する処理を実行することが考えられるが、適切に検索できないという課題がある。なお、以下では、説明の便宜上、サービス特定情報要素にE1、E2、E3が含まれている場合を用いて説明する。また、E1に依存して、制御サービスデータの特定に必要なサービス特定情報要素の集合が、{E1}となるか、{E1,E2}となるか、{E1,E2,E3}となるかが決定される場合を用いて説明する。例えば、上述した従来の検索アルゴリズムを用いた検索を2回行う2回手法が考えられる。この場合、制御サービスデータの特定に用いられるサービス特定情報要素の集合を示すテーブルが予め作成される。図30は、制御サービスデータの特定に用いられるサービス特定情報要素の集合を示すテーブルの一例を示す図である。図30に示す例では、E1がServiceName-001である場合には、サービス特定情報要素の集合として{E1}が用いられることになる場合を示した。同様に、図30に示す例では、E1がServiceName-002である場合には、サービス特定情報要素の集合として{E1,E2,E3}が用いられることになる場合を示した。2回手法では、まず、予め作成したテーブルから、サービス特定情報要素の集合を検索する。その後、1回目の検索結果となるサービス特定情報要素の集合を一つのカラムとして2回目の検索を行うことで、制御サービスデータを特定する。図31-1~図31-3は、2回目の検索にて用いられるサービス特定情報要素の組み合わせの一例を示す図である。図31-1~図31-3は、それぞれ、サービス特定情報要素の集合が、{E1}{E1,E2}{E1,E2,E3}となる場合各々に対応する。なお、図31-1~図31-3に示す例では、サービス特定情報要素の組み合わせに対応付けて、制御サービスデータの一例を併せて示した。このように、2回手法を用いる場合には、検索アルゴリズムを2回実行することになり、検索性能が低下する。また、公知の検索アルゴリズムによる検索において、サービス特定情報要素の組み合わせ全てをキーとして、全てのキーについて検索を行う全手法が考えられる。図32は、全手法においてキーとして用いられるサービス特定情報要素の組み合わせを示すテーブルの一例を示す図である。図32に示すテーブルの場合、E1がServiceName-001となる場合には、E2やE3に関係なく同じ制御サービスデータとなることを踏まえ、E1の値に対応付けられた制御サービスデータは、E2とE3との組み合わせ全てについて、同じ値が登録される。図32に示す例では、E1としてServiceName-001を含むレコードが6つ登録され、6つのレコードの制御サービスデータがどれもデータ1となる。なお、図32に示す例では、サービス特定情報要素の組み合わせに対応付けて、制御サービスデータの一例を併せて示した。全手法の場合、{E1,E2,E3}を一つのカラムとして検索が行われることで、制御サービスデータを特定する。このように、全手法を用いる場合には、同じ制御サービスデータを有するレコードを複数登録されることになり、サーバのメモリまたはハードディスクなどのサーバの記憶域が浪費される。また、キャッシュ技術を用いて、制御サービスデータを格納して高速に処理する設計にした場合、キャッシュサーバのメモリに同じ制御サービスデータを持つレコードが複数登録されることになり、キャッシュサーバのメモリが重複した制御サービスデータにより浪費される結果、キャッシュサーバにキャッシュ可能なレコード数が減少し、少数の制御サービスデータによる処理しか受け持つことができなくなる。また、全手法に対してk-d木を用いた手法を適用し、レコードを集約して完全一致と部分一致とを併用する集約手法も考えられる。図32を参照して説明すると、図32に示すテーブルにおいて、同じ制御サービスデータを持つレコードを一つに集約し、且つ、検索方法として、完全一致検索と部分一致検索とを併用することで、制御サービスデータを特定する手法が考えられる。図33は、図32に示すテーブルにおいて、同じ制御サービスデータを持つレコードを一つに集約したテーブルの一例を示す図である。図32に示す例では、制御サービスデータデータ1を含むレコードが6であるのに対して、図33に示す例では、1つのレコードに集約されている。集約手法では、全てのサービス特定情報要素の組み合わせについて、完全一致検索と部分一致検索とを行い、制御サービスデータの検索を行う。例えば、集約手法では、まず、{E1,E2,E3}を指定した完全一致検索を行い、レコードが検索できない場合は、{E1,E2}を指定して、部分一致検索を行い、更に、レコードが検索できない場合は、{E1}のみを指定した部分一致検索を行うことで、制御サービスデータを特定する。また、集約手法では、{E1}のみを指定してもレコードが検索できない場合には、該当レコードが存在しないと判断する。このように、集約手法を用いる場合には、複数回の制御サービスデータの検索を行うことがあり、検索性能が低下する場合がある。また、集約手法を用いる場合には、部分一致検索を用いた場合、k-d木の中で、2つある検索経路のうち、HISON及びLOSONの双方を検索しなければならないことになり、検索のための処理負荷が増大し、検索性能が低下する。開示の技術は、上述に鑑みてなされたものであって、適切に検索可能となるデータベースシステム及び制御方法を提供することを目的とする。開示するデータベースシステムは、一つの態様において、データベースと、キャッシュサーバとを有する。データベースは、記憶部と、キャッシュ応答部とを有する。キャッシュサーバは、キャッシュと、判定部と、特定情報送信部と、格納部と、データ送信部とを有する。記憶部は、データごとに、該データを特定するための特定情報と、前記特定情報の複数の種類のうち該データを特定する際に用いられない種類である非特定種類を示す非特定種類情報との組み合わせを記憶する。キャッシュは、前記データベースに記憶された前記データの少なくとも一部について、前記特定情報と前記非特定種類情報との組み合わせと、複数種類の前記特定情報の組み合わせとのうち少なくとも一つと対応付けて記憶する。判定部は、データ要求を受信すると、該データ要求に含まれる複数種類の前記特定情報各々の組み合わせが前記キャッシュに記憶されているかを判定する。特定情報送信部は、前記判定部により記憶されていないと判定された場合に、前記データ要求に含まれる組み合わせを前記データベースに送信する。キャッシュ応答部は、前記特定情報送信部により送信された組み合わせである組み合わせを受信すると、受信した組み合わせである受信組み合わせに相当する前記記憶部に記憶された前記特定情報と前記非特定種類情報との組み合わせと、該特定情報と該非特定種類情報との組み合わせに対応付けられた前記データとを前記記憶部から取得し、前記キャッシュサーバに応答する。格納部は、前記キャッシュ応答部により送信された前記特定情報と前記非特定種類情報との組み合わせが前記キャッシュに記憶されている場合には、記憶されていた前記特定情報と前記非特定種類情報との組み合わせに対応付けられるデータと対応付けて、前記受信組み合わせを前記キャッシュに格納し、前記キャッシュに記憶されていない場合には、前記キャッシュ応答部により送信されたデータと対応付けて、前記キャッシュ応答部により送信された前記特定情報と前記非特定種類情報との組み合わせと、前記受信組み合わせとを前記キャッシュに格納する。データ送信部は、前記判定部により記憶されていると判定された場合には、前記キャッシュから前記データを取得して前記データ要求の送信元に送信し、前記判定部により記憶されていないと判定された場合には、前記キャッシュ応答部により送信された前記データを前記データ要求の送信元に送信する。開示するデータベースシステムの一つの態様によれば、適切に検索可能となるという効果を奏する。以下に、開示するデータベースシステム及び制御方法の実施例について、図面に基づいて詳細に説明する。なお、本実施例により開示する発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。[実施例1における全体構成]図1を用いて、実施例1におけるデータベースシステムの像を簡単に説明する。図1は、実施例1におけるデータベースシステムの全体像の一例を示す図である。図1に示すように、データベースシステムは、クライアント100と、データベースサーバ200と、キャッシュサーバ300とを有する。クライアント100と、データベースサーバ200と、キャッシュサーバ300とは、ネットワークを介して接続される。なお、図1に示す例では、クライアント100が1つあり、データベースサーバ200が1つあり、キャッシュサーバ300が2つある場合を示したが、これに限定されるものではなく、各装置は任意の数あって良い。クライアント100は、キャッシュサーバ300又はデータベースサーバ200に格納されているデータを要求するデータ要求をキャッシュサーバ300に送信する。また、クライアント100は、キャッシュサーバ300又はキャッシュサーバ300からのデータ応答を受信する。その後、例えば、クライアント100は、データ応答に含まれるデータを用いて、各種サービスを実行する。クライアント100は、例えば、利用者により用いられる情報処理端末が該当する。データベースサーバ200は、大容量の記憶部を有する。データベースサーバ200は、クライアント100により参照されるデータを記憶部に記憶する。具体的には、データベースサーバ200は、データごとに、データを特定するための特定情報と、特定情報の複数の種類のうちデータを特定する際に用いられない種類である非特定種類を示す非特定種類情報との組み合わせを記憶部に記憶する。また、データベースサーバ200は、図1のiに示すように、データが更新されると、InvalidationReport技術を用い、データベース上で変更となった情報IR情報を生成する。なお、以下に説明するように、データベースサーバ200とキャッシュサーバ300とは、IR情報を用いて、データベースサーバ200に記憶された情報のうち更新された情報を共有する。ただし、これに限定されるものではなく、IR情報を用いるのではなく、任意の手法を用いてデータベースサーバ200とキャッシュサーバ300とが共有しても良い。キャッシュサーバ300は、データベースサーバ200に記憶されたデータのうち、過去にキャッシュサーバ300が使用したデータをキャッシュ311に記憶する。具体的には、キャッシュサーバ300は、データベースサーバ200に記憶されたデータの少なくとも一部について、特定情報と非特定種類情報との組み合わせと、複数種類の特定情報の組み合わせとのうち少なくとも一つと対応付けてキャッシュ311に記憶する。キャッシュサーバ300は、過去に使用したデータをキャッシュ311に記憶して用いることで、高速なアクセスを実現する。キャッシュサーバ300は、クライアント100からデータ要求を受信すると、データ要求により要求されたデータを自装置のキャッシュ311に記憶している場合には、図1の4に示すように、キャッシュ311に記憶されたデータをデータ応答として送信する。一方、キャッシュサーバ300は、データ要求により要求されたデータを自装置のキャッシュ311に記憶していない場合には、図1の2に示すように、データ検索要求をデータベースサーバ200に送信する。その後、キャッシュサーバ300は、図1の3に示すように、データ検索要求に対する応答となるデータ応答をデータベースサーバ200から受信することで、データ要求により要求されたデータをデータベースサーバ200から取得する。キャッシュサーバ300は、受信したデータを自装置のキャッシュ311に格納した上で、図1の4に示すように、クライアント100にデータ応答として送信する。つまり、キャッシュサーバ300は、データ要求を受信すると、データ要求に含まれる複数種類の特定情報各々の組み合わせがキャッシュ311に記憶されているかを判定する。ここで、キャッシュサーバ300は、記憶されていないと判定した場合に、データ要求に含まれる組み合わせをデータベースサーバ200に送信する。その後、データベースサーバ200は、キャッシュサーバ300により送信された組み合わせである組み合わせを受信すると、受信した組み合わせである受信組み合わせに相当する特定情報と非特定種類情報との組み合わせと、特定情報と非特定種類情報との組み合わせに対応付けられたデータとを記憶部から取得し、キャッシュサーバ300に応答する。その後、キャッシュサーバ300は、データベースサーバ200により送信された特定情報と非特定種類情報との組み合わせがキャッシュ311に記憶されている場合には、記憶されていた特定情報と非特定種類情報との組み合わせに対応付けられるデータと対応付けて、受信組み合わせをキャッシュに格納する。また、キャッシュサーバ300は、キャッシュ311に記憶されていない場合には、データベースサーバ200により送信されたデータと対応付けて、データベースサーバ200により送信された特定情報と非特定種類情報との組み合わせと、受信組み合わせとをキャッシュ311に格納する。また、キャッシュサーバ300は、キャッシュ311に記憶されていると判定した場合には、キャッシュ311からデータを取得してデータ要求の送信元に送信し、キャッシュ311に記憶されていないと判定された場合には、データベースサーバ200により送信されたデータをデータ要求の送信元に送信する。また、キャッシュサーバ300は、図1のaに示すように、IR情報を要求するIR情報要求をデータベースサーバ200に送信し、図1のbに示すように、IR情報要求に対する応答であるIR情報応答を受信する。すなわち、キャッシュサーバ300は、自装置に対するIR情報の有無を確認する。ここで、自装置に対するIR情報がある場合とは、データベースサーバ200に記憶されたデータが更新され、キャッシュサーバ300のキャッシュ311に記憶されたデータが過去のデータとなっていることを示す。キャッシュサーバ300は、IR情報がデータベースサーバ200に存在する場合には、自装置のキャッシュ311に記憶された過去のデータをクライアント100に送信しないよう、キャッシュ311に記憶されているデータを削除する。また、キャッシュサーバ300は、IR情報が自装置のキャッシュ311に適用された場合には、図1のcに示すように、IR情報を削除する要求であるIR情報削除要求をデータベースサーバ200に送信する。その後、データベースサーバ200では、キャッシュサーバ300に適用されたIR情報が削除され、キャッシュサーバ300が、図1のdに示すように、IR情報削除要求に対する応答であるIR情報削除応答をデータベースサーバ200から受信する。[実施例1におけるデータベースサーバの構成]図2は、実施例1におけるデータベースサーバの構成の一例を示すブロック図である。図2に示すように、データベースサーバ200は、通信制御I/F部201と、記憶部210と、制御部220とを有する。通信制御I/F部201は、制御部220と接続される。通信制御I/F部201は、キャッシュサーバ300との間でやりとりする各種情報に関する通信を制御する。具体的には、通信制御I/F部201は、制御部220による制御に基づき、データ要求やIR情報要求、IR情報削除要求をキャッシュサーバ300に送信する。また、通信制御I/F部201は、制御部220による制御に基づき、キャッシュ311応答やIR情報応答、IR情報削除応答をキャッシュサーバ300に送信する。記憶部210は、制御部220と接続される。記憶部210は、制御部220による各種処理に用いるデータを記憶する。記憶部210は、例えば、RAMRandomAccessMemoryやROMReadOnlyMemory、フラッシュメモリFlashMemoryなどの半導体メモリ素子、又は、ハードディスクや光ディスクなどである。図2に示す例では、記憶部210は、ユーザ情報DB211と、IR情報DB212とを有する。ユーザ情報DB211は、少なくとも1種類の特定情報により特定されるデータごとに、該データを特定するための特定情報と、複数ある特定情報の種類のうちデータを特定する際に用いられない種類である非特定種類を示す非特定種類情報との組み合わせを記憶する。例えば、ユーザ情報DB211は、データごとに、データを特定する際に用いられる特定情報種類に属する特定情報と、非特定種類情報との組み合わせを記憶する。例えば、ユーザ情報DB211は、キー情報と属性値とを対応付けて記憶する。属性値とは、クライアント100により参照されるデータである。言い換えると、データ要求により要求される対象となるデータである。キー情報とは、属性値を一意に特定するための情報である。キー情報は、一つ又は複数の特定要素を含む。キー情報をサービス特定情報とも記載し、キー情報に含まれる要素各々をサービス特定情報要素や特定情報とも記載する。キー情報は、クライアント100により送信されるデータ要求に含まれる。なお、データ要求には、複数の種類の特定情報が含まれており、データ要求に含まれる特定情報の全てがキー情報として用いられない場合もある。言い換えると、データ要求には、データを特定する際に用いられない種類である非特定種類に属する特定情報が含まれる場合もある。なお、データ要求に含まれるキー情報に、N個の要素が含まれる場合を例に用いて、属性値とキー情報との関係について簡単に説明する。属性値には、N個の要素のうちN個の要素全てによって特定される属性値もあれば、N個の要素のうち一部の要素により特定される属性値もある。図3は、実施例1におけるユーザ情報DBに記憶された情報の一例を示す図である。図3に示すように、ユーザ情報DB211は、キー情報と属性値とを対応付けて記憶する。なお、図3に示す例では、キー情報に3つの要素が含まれる場合を示したが、これに限定されるものではなく、要素の数は任意であって良い。図3に示す例では、キー情報に含まれる3つの要素をそれぞれK1K2K3と示した。なお、図3におけるANYは、任意の要素に合致することを示す。言い換えると、非特定種類であることを示す。ANYをANY要素非特定種類情報とも記載する。同様に、図3に示す例では、キー情報ごとに一つの属性値が対応付けられた場合を示したが、これに限定されるものではなく、属性値の数は任意であって良い。図3に示す例では、ユーザ情報DB211は、K1ServiceName-001とK2ANYとK3ANYとを含むキー情報と、属性値データ1とを対応付けて記憶する。すなわち、ユーザ情報DB211は、キー情報がServiceName-001、UserType-001、AccountType-001や、ServiceName-001、UserType-002、AccountType-002である場合には、属性値データ1が特定されることを記憶する。言い換えると、ServiceName-001、UserType-001、AccountType-001や、ServiceName-001、UserType-002、AccountType-002がキー情報に含まれるデータ要求がクライアント100により送信された場合には、クライアント100に属性値データ1が送信されることを記憶する。また、図3に示す例では、ユーザ情報DB211は、K1ServiceName-002とK2UserType-001とK3AccountType-001とを含むキー情報と、属性値データ100とを対応付けて記憶する。言い換えると、ユーザ情報DB211は、ANYが含まれないキー情報に対応づけて属性値を記憶する。この場合、ServiceName-002とUserType-001とAccountType-001とをキー情報にデータ要求がクライアント100により送信された場合に、クライアント100に属性値データ100が送信されることを記憶する。IR情報DB212は、IR情報を記憶する。具体的には、IR情報DB212は、IR情報の適用先となるキャッシュサーバ300を識別するキャッシュサーバ名と、更新された属性値を特定するキー情報とを含むIR情報を記憶する。図4は、実施例1におけるIR情報DBに記憶された情報の一例を示す図である。図4に示すように、IR情報DB212は、キャッシュサーバ名キャッシュサーバAと、K1ServiceName-001とK2ANYとK3ANYとを含むキー情報とを含むIR情報を記憶する。すなわち、IR情報DB212は、K1ServiceName-001とK2ANYとK3ANYとにより特定される属性値が更新されたことを示し、キャッシュサーバAに適用されるIR情報を記憶する。IR情報DB212に記憶されるIR情報は、ユーザ情報DB211が更新される際に格納され、キャッシュサーバ300に適用された後に削除される。制御部220は、通信制御I/F部201及び記憶部210と接続される。制御部220は、OSOperatingSystemなどの制御プログラム、各種の処理手順などを規定したプログラム及び所要データなどを格納するための内部メモリを有し、種々の処理を制御する。制御部220は、例えば、ASICApplicationSpecificIntegratedCircuit、FPGAFieldProgrammableGateArray、CPUCentralProcessingUnit、MPUMicroProcessingUnitなどである。図2に示す例では、制御部220は、キャッシュ応答部221と、IR情報応答部222と、IR情報削除部223と、ユーザ情報更新部224とを有する。キャッシュ応答部221は、キャッシュサーバ300からデータ検索要求を受信すると、データ検索要求に含まれるキー情報が、ユーザ情報DB211に記憶されているか否かを判定する。言い換えると、キャッシュ応答部221は、ユーザ情報DB211を検索することで、データ検索要求に含まれるキー情報と一致するレコードを検索結果として取得する。例えば、キー情報にサービス特定情報要素E1、E2、E3が含まれる場合には、キャッシュ応答部221は、ユーザ情報DB211を検索することで、サービス特定情報要素E1、E2、E3に相当するキー情報を含むレコードを検索結果とする。なお、ユーザ情報DB211は、特定情報としてANYを記憶する場合がある。この結果、サービス特定情報要素E1、E2、E3に相当するキー情報を含むレコードが複数ある場合がある。このことを踏まえ、キャッシュ応答部221は、複数のレコードのうち優先するレコードを決定するための判定表である応答データ判定表を生成し、生成した応答データ判定表と合致するレコード全てをユーザ情報DB211から検索した上で、最も優先度の高いレコードを一つ検索結果として選択する。図5は、実施例1におけるキャッシュ応答部により用いられる応答データ判定表の一例を示す図である。図5に示す例では、サービス特定情報要素として、K1K2K3とがキー情報に含まれる場合を例に示した。言い換えると、例えば、ユーザ情報DB211に記憶されているデータのうち、K1K2K3をキー情報として含むレコードだけでなく、K1K2ANYをキー情報として含むレコードや、K1ANYK3をキー情報として含むレコード、K1ANYANYをキー情報として含むレコードなどについても検索結果となる場合を例に示した。図5に示す例では、応答データ判定表に記憶されたサービス特定情報要素の組み合わせのうち検索結果となり得る組み合わせと、優先度とが対応付けられた表となる。図5に示す例では、優先度の数字が大きければ大きい程、優先して検索結果とする場合を示した。すなわち、図5に示す例では、K1K2K3をキー情報として含むレコードが検索結果となる場合には、かかるレコードが検索結果とされることを示す。次に、K1K2ANYをキー情報として含むレコードが検索結果となる場合には、かかるレコードが検索結果とされることを示す。なお、図5に示す例では、キャッシュ応答部221が、応答データ判定表を用いて検索結果を一つ選択する場合を示したが、キャッシュ応答部221による処理はこれに限定されるものではなく、任意の手法を用いて良い。例えば、データ問い合わせ言語などで実現しても良い。ここで、図3に示すユーザ情報DB211と図5に示す応答データ判定表とを用いて、詳細な一例を説明する。また、キャッシュサーバ300からのデータ検索要求に含まれるキー情報が、ServiceName-003、UserType-001、AccounType-003である場合を用いて説明する。この場合、キャッシュ応答部221は、図5の応答データ判定表を用いてユーザ情報DB211を検索することで、優先度4のServiceName-003、UserType-001、AccounType-003、データ105を含むレコードと、優先度3のServiceName-003、UserType-001、ANY、データ10を含むレコードとが得られる。ここで、図5に示す応答データ判定表では、優先度4は優先度3と比較して高優先として扱われることとなり、キャッシュ応答部221は、検索結果として、ServiceName-003、UserType-001、AccounType-003、データ105を含むレコードを選択する。キャッシュ応答部221は、キャッシュサーバ300から受信したデータ検索要求に含まれるキー情報に相当するレコードをユーザ情報DB211が記憶している場合には、ユーザ情報DB211に記憶されたレコードを取得し、キャッシュサーバ300にデータ応答として送信する。例えば、キャッシュ応答部221は、検索結果となるレコードのキー情報と属性値とをユーザ情報DB211から取得し、データ応答をキャッシュサーバ300に送信する。また、キャッシュ応答部221は、キャッシュサーバ300から受信したデータ検索要求に含まれるキー情報を含むレコードをユーザ情報DB211が記憶していない場合には、キー情報なしをキャッシュサーバ300に応答する。なお、キャッシュ応答部221により送信されるデータ応答に含まれるキー情報は、データ検索要求に含まれるキー情報とは異なるキー情報と同一とはならない場合がある。例えば、キャッシュ応答部221が、ユーザ情報DB211からANYを含むレコードを検索結果として選択した場合には、データ検索要求に含まれるキー情報と同一とはならない。データ検索要求に含まれるキー情報にはANYは含まれないからである。このことを踏まえ、以下では、データ応答に含まれるキー情報に含まれる特定情報各々について、部分特定情報要素D1D2D3などと記載する。上述したように、キャッシュ応答部221は、キャッシュサーバ300により送信されたデータ検索要求に含まれる特定情報の組み合わせを受信すると、受信した組み合わせである受信組み合わせに相当する特定情報と非特定種類情報との組み合わせと、特定情報と非特定種類情報との組み合わせに対応付けられたデータとをユーザ情報DB211から取得し、キャッシュサーバ300に応答する。より詳細には、キャッシュ応答部221は、キャッシュサーバ300により送信された受信組み合わせを受信すると、組み合わせに相当する特定情報と非特定種類情報との組み合わせ各々のうち一つを選択し、選択した特定情報と非特定種類情報との組み合わせと、選択した組み合わせに対応付けて記憶されたデータとを送信する。IR情報応答部222は、キャッシュサーバ300からIR情報要求を受信すると、IR情報要求の送信元となるキャッシュサーバ300のキャッシュサーバ名を含むIR情報がIR情報DB212に記憶されているか否かを判定する。そして、IR情報応答部222は、IR情報DB212に記憶されていると判定した場合には、送信元となるキャッシュサーバ名を含む全てのIR情報から、キー情報を取得し、取得したキー情報を含むIR情報応答をキャッシュサーバ300に送信する。ここで、IR情報応答に含まれるキー情報は、ユーザ情報DB211において更新された属性値を特定するキー情報となる。また、IR情報応答部222は、IR情報DB212に記憶されていないと判定した場合には、IR情報なしをキャッシュサーバ300に応答する。IR情報削除部223は、キャッシュサーバ300からIR情報削除要求を受信すると、IR情報削除要求の送信元となるキャッシュサーバ300のキャッシュサーバ名を含むIR情報をIR情報DB212から削除し、削除結果をキャッシュサーバ300に応答する。ユーザ情報更新部224は、ユーザ情報DB211が更新されるごとに、更新されたレコードを示すキー情報と、データベースサーバ200に接続されたキャッシュサーバ300のキャッシュサーバ名とを含むIR情報を生成してIR情報DB212に格納する。ユーザ情報DB211が更新される場合とは、例えば、利用者によって、ユーザ情報DB211に記憶されたレコードが更新された場合や、ユーザ情報DB211に新たなレコードが追加された場合や、ユーザ情報DB211に記憶されたレコードが削除された場合などが該当する。[実施例1におけるキャッシュサーバの構成]図6は、実施例1におけるキャッシュサーバの構成の一例を示す図である。図6に示す例では、キャッシュサーバ300は、通信制御I/F部301と、記憶部310と、制御部320を有する。通信制御I/F部301は、制御部320と接続される。通信制御I/F部301は、データベースサーバ200、クライアント100との間でやりとりする各種情報に関する通信を制御する。具体的には、通信制御I/F部301は、制御部320による制御に基づき、クライアント100からデータ要求を受信し、データ応答をクライアント100に送信する。また、通信制御I/F部301は、制御部320による制御に基づき、データベースサーバ200にデータ検索要求やIR情報要求、IR情報削除要求を送信しデータ応答やIR情報応答、IR情報削除応答を受信する。記憶部310は、制御部320と接続される。記憶部310は、制御部320による各種処理に必要なデータ及びプログラムを格納する。記憶部310は、例えば、キャッシュ311が該当する。図6に示す例では、記憶部310は、キャッシュ311を有する。キャッシュ311は、データベースサーバ200のユーザ情報DB211に記憶された情報のうち一部を記憶する。つまり、キャッシュ311は、データベースに記憶されたデータの少なくとも一部について、特定情報と非特定種類情報との組み合わせと、複数種類の特定情報の組み合わせとのうち少なくとも一つと対応付けて記憶する。具体的には、ユーザ情報DB211に記憶された情報のうち、キャッシュサーバ300により用いられたデータのキャッシュを記憶する。以下では、オープンハッシュ法によるデータ構造を例に説明する。図7-1~図7-3は、実施例1におけるキャッシュに記憶された情報の一例を示す図である。図7に示す例では、キャッシュ311が、ハッシュテーブルと、レコードテーブルと、属性情報テーブルとを有する場合を示した。図7-1~図7-3は、ハッシュテーブルと、レコードテーブルと、属性情報テーブルとの一例を示す。それぞれ、図7-1~図7-3に示すように、ハッシュテーブルと、レコードテーブルと、属性情報テーブルとは、レコードIDと属性情報IDとによって連結される。言い換えると、図7-1~図7-3に示す例では、キャッシュ311において、レコードIDと属性情報IDとは、キャッシュ311に記憶されたデータを識別するためのデータとして用いられる。ただし、これに限定されるものではなく、任意の手法を用いて良く、例えば、レコードごとのメモリ上のアドレスなどを用いても良い。図7-1に示す例では、ハッシュテーブルは、ハッシュ値とレコードIDとを対応付けて記憶する。ここで、ハッシュテーブルに記憶されたハッシュ値は、キー情報を所定のハッシュ関数を用いて変換した値である。ハッシュテーブルに記憶されたレコードIDは、ハッシュテーブルとレコードテーブルとの連結に用いられる。図7-1に示す例では、ハッシュテーブルは、ハッシュ値0に対応付けてレコードID0を記憶する。また、同様に、ハッシュテーブルは、ハッシュ値1に対応付けてレコードID1を記憶する。図7-2に示すように、レコードテーブルは、レコードIDとキー情報と属性情報IDとを対応付けて記憶する。レコードテーブルに記憶されたレコードIDは、ハッシュテーブルに記憶されたレコードIDと対応する。属性情報IDは、レコードテーブルと属性情報テーブルとの連結に用いられる。図7-2に示す例では、レコードテーブルは、レコードID0と、K1ServiceName-001とK2ANYとK3ANYとを含むキー情報と、属性情報ID0とを対応付けて記憶する。図7-3に示すように、属性情報テーブルは、属性情報IDと、属性値と、属性値の有効期限を示す有効期限と参照元レコード一覧とを対応付けて記憶する。ここで、参照元レコード一覧は、同一の属性情報IDに対応付けられたレコードテーブルに含まれるレコードのレコードIDの一覧を示す。参照元レコード一覧は、可変長配列のような、複数の要素を含むことのできる構造をとる。図7-3に示す例では、属性情報テーブルは、属性情報ID0と属性値1と有効期限2011/1/1と参照元レコード一覧0、1とを対応付けて記憶する。なお、有効期限は、例えば、キャッシュ311にレコードが追加される時点から一定期間後の期日が用いられる。ただし、これに限定されるものではなく、任意の期日を用いて良い。なお、図7では、ハッシュテーブルの構造として、オープンハッシュ法を用いて記憶させる例を示したが、データ構造はこれに限るものではない。例えば、クローズドハッシュ法を用いても良い。また、図7に示す例では、キー情報が3個、属性値が1個の情報である場合を図示しているが、これに限定されるものではなく、任意の数の情報によって構成されても良い。制御部320は、通信制御I/F部301及び記憶部310と接続される。制御部320は、OSなどの制御プログラム、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、種々の処理を制御する。制御部320は、例えば、ASIC、FPGA、CPU、MPUなどである。また、図6に示す例では、制御部320は、キャッシュ判定部321と、IR情報判定部322と、応答処理部323とを有する。キャッシュ判定部321は、クライアント100からデータ要求を受信すると、受信したデータ要求に含まれるサービス特定情報要素を取得し、取得したサービス特定情報要素をキー情報としてキャッシュ311を検索する。つまり、キャッシュ判定部321は、データ要求を受信すると、データ要求に含まれる複数種類の特定情報各々の組み合わせがキャッシュ311に記憶されているかを判定する。また、キャッシュ判定部321は、判定結果に応じて、以下に説明する処理を実行する。具体的には、キャッシュ判定部321は、キャッシュ311に記憶されていないと判定した場合に、データ要求に含まれる組み合わせをデータベースサーバ200に送信する。その後、キャッシュ判定部321は、データベースサーバ200により送信された特定情報と非特定種類情報との組み合わせを受信する。ここで、キャッシュ判定部321は、データベースサーバ200により送信された特定情報と非特定種類情報との組み合わせがキャッシュ311に記憶されている場合には、記憶されていた特定情報と非特定種類情報との組み合わせに対応付けられるデータと対応付けて、受信組み合わせをキャッシュ311に格納する。一方、キャッシュ判定部321は、キャッシュに記憶されていない場合には、データベースサーバ200により送信されたデータと対応付けて、データベースサーバ200により送信された特定情報と非特定種類情報との組み合わせと、受信組み合わせとをキャッシュ311に格納する。また、キャッシュ判定部321は、キャッシュ311に記憶されていると判定した場合には、キャッシュ311からデータを取得してデータ要求の送信元に送信する。また、キャッシュ判定部321は、キャッシュ311に記憶されていないと判定した場合には、データベースサーバ200により送信されたデータをデータ要求の送信元に送信する。なお、キャッシュ判定部321は、判定部や特定情報送信部、格納部データ送信部とも称する。ここで、キャッシュ判定部321は、キャッシュ311の検索結果に応じて実行する一連の処理について、場合分けした上で、更に具体的に説明する。以下では、まず、キャッシュ311にキー情報が記憶されていた場合における処理について説明する。次に、キャッシュ判定部321による処理のうち、キャッシュ311にキー情報が記憶されておらず、データベースサーバ200から属性情報を取得できた場合における処理について説明する。続いて、キャッシュ判定部321による処理のうち、キャッシュ311にキー情報が記憶されておらず、データベースサーバ200から属性情報を取得できなかった場合における処理について説明する。キャッシュ判定部321による処理のうち、キャッシュ311にキー情報が記憶されていた場合における処理について説明する。この場合、キャッシュ判定部321は、キャッシュ311に記憶されていたキー情報に対応する属性値をキャッシュ311から取得し、データ応答をクライアント100に送信する。なお、ここで、キャッシュ判定部321は、取得した属性値に対応付けられた有効期限が有効期限切れとなっている場合には、データ応答を実行することなく、該当するレコードを削除する処理を実行する。キャッシュ判定部321は、取得した属性値に対応付けられたキー情報全てをキャッシュ311から特定し、特定したキー情報と属性値とを削除する。例えば、キャッシュ判定部321は、属性情報ID2に対応付けられた参照元レコード一覧に含まれるレコードID3を取得し、取得したレコードIDを含むレコードをキャッシュ311のレコードテーブルから削除する。この場合、その後、後述するキャッシュ311にキー情報が記憶されていない場合の処理を行う。図3と図7を用いて具体的に説明する。また、クライアント100から受信したデータ要求にK1ServiceName-002とK2UserType-001とK3AccountType-002とが含まれていた場合を用いて説明する。この場合、キャッシュ判定部321は、キー情報となるServiceName-002、UserType-001、AccountType-002からハッシュ値を算出する。以下では、ハッシュ値B-1が算出されたものとして説明する。キャッシュ判定部321は、ハッシュ値B-1を用いてキャッシュ311のハッシュテーブルを検索することで、レコードID3を取得する。そして、キャッシュ判定部321は、レコードID3を用いてキャッシュ311のレコードテーブルを検索し、検索結果となるレコードに含まれるキー情報と、クライアント100からのデータ要求から取得したキー情報とを比較し、検索対象となるキー情報が既に記憶されていると判定する。その後、キャッシュ判定部321は、キャッシュ311のレコードテーブルに記憶されたレコードのうち、レコードID3を含むレコードから属性情報ID2を取得し、キャッシュ311の属性情報テーブルから属性情報ID2に対応付けられた属性値データ101を取得する。また、キャッシュ判定部321は、取得した属性値データ101を応答処理部323に出力する。なお、ここで、キャッシュ判定部321は、属性情報ID2に対応付けられた有効期限が有効期限切れとなっていた場合には、キャッシュを削除する処理を実行する。その後、後述するキャッシュ311にキー情報が記憶されていない場合の処理を行う。次に、キャッシュ判定部321による処理のうち、キャッシュ311にキー情報が記憶されておらず、データベースサーバ200から属性情報を取得できた場合における処理について説明する。すなわち、例えば、キャッシュ311にキー情報が記憶されていた場合における処理において説明したように、キャッシュ判定部321は、検索対象となるキー情報が既に記憶されていると判定する。この際、クライアント100からのデータ要求から取得したキー情報が記憶されていないと判定する場合が該当する。この場合、キャッシュ判定部321は、データ要求から取得したキー情報を含むデータ検索要求をデータベースサーバ200に送信する。例えば、キャッシュ判定部321は、サービス特定情報要素E1、E2、E3を含むデータ検索要求をデータベースサーバ200に送信する。その後、キャッシュ判定部321は、データベースサーバ200から、データ検索結果として、部分特定情報要素D1、D2、D3と属性値とを含むデータ応答を受信する。ここで、受信したデータ応答に含まれる部分特定情報要素D1、D2、D3が、自装置のキャッシュ311にキー情報として既に記憶されている場合について説明する。この場合、キャッシュ判定部321は、データ要求から取得したサービス特定情報要素E1、E2、E3を、部分特定情報要素D1、D2、D3に対応付けて既に記憶されていた属性値に対応付けてキャッシュ311に格納する。より詳細な一例をあげて説明すると、キャッシュ判定部321は、データ要求から取得したサービス特定情報要素E1、E2、E3をキー情報とし、部分特定情報要素D1、D2、D3に対応付けて既に記憶されていた属性値と、新たに付与したレコードIDとを含むレコードをキャッシュ311のレコードテーブルに格納する。また、キャッシュ判定部321は、新たに付与したレコードIDを、サービス特定情報要素E1、E2、E3から算出したハッシュ値に対応付けてハッシュテーブルに格納する。また、キャッシュ判定部321は、キャッシュ311の属性情報テーブルに記憶されたレコードのうち、部分特定情報要素D1、D2、D3に対応付けて既に記憶されていた属性値を含むレコードについて、参照元レコード一覧に、新たに付与したレコードIDを追加する。そして、キャッシュ判定部321は、部分特定情報要素D1、D2、D3に対応付けて既に記憶されていた属性値を応答処理部323に出力する。図3と図7を用いて具体的に説明する。また、クライアント100から受信したデータ要求にK1ServiceName-001とK2UserType-001とK3AccountType-002とが含まれていた場合を用いて説明する。この場合、キャッシュ判定部321は、キー情報となるK1ServiceName-001とK2UserType-001とK3AccountType-002とからハッシュ値を算出する。以下では、ハッシュ値2が算出されたものとして説明する。今回の場合、キャッシュ311のハッシュテーブルは、ハッシュ値2に対応付けられたレコードIDを記憶していないため、キャッシュ判定部321は、K1ServiceName-001とK2UserType-001とK3AccountType-002とを含めた上でデータ検索要求をデータベースサーバ200に送信する。その後、例えば、キャッシュ判定部321は、データベースサーバ200から、部分特定情報要素D1、D2、D3として、ServiceName-001、ANY、ANYとを含み、属性値データ1とを含むデータ応答を受信する。その後、キャッシュ判定部321は、部分特定要素D1、D2、D3からハッシュ値をキー情報として、自装置のキャッシュ311のハッシュテーブルを検索する。ここで、キャッシュ判定部321は、レコードID0が得られた場合には、部分特定要素D1、D2、D3がキー情報として既に記憶されていると判定することとなる。この結果、キャッシュ判定部321は、例えば、レコードID0を用いて、キャッシュ311のレコードテーブルから属性情報ID0を取得する。そして、キャッシュ判定部321は、キャッシュ311のレコードテーブルに、新たに付与したレコードID4と、K1ServiceName-001とK2UserType-001とK3AccountType-002と、属性情報ID0とを含む新たなレコードをキャッシュ311のレコードテーブルに格納する。また、キャッシュ判定部321は、K1ServiceName-001とK2UserType-001とK3AccountType-002により算出されるハッシュ値が2である場合には、キャッシュ311のハッシュテーブルに対して、ハッシュ値2に対応付けてレコードID4を格納する。また、キャッシュ判定部321は、キャッシュ311の属性情報テーブルのうち、属性情報ID0を含むレコードの参照元レコード一覧にレコードID4を追加する。その後、キャッシュ判定部321は、属性情報ID0に対応付けられた属性値データ1を取得し、応答処理部323に出力する。図8-1~図8-3は、実施例1におけるキャッシュ判定部によりレコードが追加された後のキャッシュに記憶された情報の一例を示す図である。図8-1~図8-3は、それぞれ、図7-1~図7-3に対応する。なお、図8-1~図8-3に示す例では、レコードID4に加えて、レコードID56についても追加されている場合を示した。なお、属性情報ID2に対応付けられた有効期限が有効期限切れとなっていた場合には、参照元レコード一覧に含まれるレコードID013に対応するレコードを、キャッシュ311のレコードテーブルやハッシュテーブルから削除し、属性情報ID2を含むレコードを属性情報テーブルから削除する。ここで、受信したデータ応答に含まれる部分特定情報要素D1、D2、D3が、自装置のキャッシュ311にキー情報として既に記憶されていなかった場合について説明する。この場合、キャッシュ判定部321は、部分特定情報要素D1、D2、D3と、データベースサーバ200から取得した属性値を対応付けて、自装置のキャッシュ311に格納する。その後、キャッシュ判定部321は、部分特定情報要素D1、D2、D3に対応付けて格納した属性値を、サービス特定情報要素E1、E2、E3に対応させてキャッシュ311にレコードを格納し、属性値を応答処理部323に出力する。図3と図8を用いて具体的に説明する。また、クライアント100から受信したデータ要求にK1ServiceName-003とK2UserType-001とK3AccountType-001とが含まれていた場合を用いて説明する。この場合、キャッシュ判定部321は、キー情報となるK1ServiceName-003とK2UserType-001とK3AccountType-001とからハッシュ値を算出する。以下では、ハッシュ値3が算出されたものとして説明する。今回の場合、キャッシュ311のハッシュテーブルは、ハッシュ値3に対応付けられたレコードIDを記憶していないため、キャッシュ判定部321は、K1ServiceName-003とK2UserType-001とK3AccountType-001とを含めた上でデータ検索要求をデータベースサーバ200に送信する。その後、例えば、キャッシュ判定部321は、データベースサーバ200から、部分特定情報要素D1、D2、D3として、ServiceName-003、UserType-001、ANYを含み、属性値データ10を含むデータ応答を受信する。その後、キャッシュ判定部321は、部分特定要素D1、D2、D3からハッシュ値をキー情報として、自装置のキャッシュ311のハッシュテーブルを検索する。ここで、キャッシュ判定部321は、レコードID3が得られない場合には、部分特定要素D1、D2、D3がキー情報として既に記憶されていないと判定することとなる。この結果、キャッシュ判定部321は、新たに付与した属性情報ID3と属性値データ10とを含むレコードをキャッシュ311の属性情報テーブルに格納する。また、キャッシュ判定部321は、キャッシュ311のレコードテーブルに対して、新たに付与したレコード5と、キー情報として部分特定情報要素D1、D2、D3ServiceName-003、UserType-001、ANYと、属性情報ID3とを含むレコードを新たに格納する。また、キャッシュ判定部321は、キャッシュ311のハッシュテーブルに対して、新たに格納したレコードID5をハッシュ値4に対応付けて格納する。その後、キャッシュ判定部321は、キャッシュ311のレコードテーブルに対して、新たに付与したレコード5と、データ要求に含まれるキー情報K1、K2、K3ServiceName-003、UserType-001、AccountType-001、属性情報ID3とを含むレコードを格納する。また、キャッシュ判定部321は、キャッシュ311のハッシュテーブルに対して、データ要求に含まれるキー情報K1、K2、K3から算出されたハッシュ値が3である場合には、ハッシュ値3に対応付けてレコードID6を対応付けて格納する。その後、キャッシュ判定部321は、属性情報ID3の属性情報から、属性値データ10を取得し、応答処理部323に出力する。最後に、キャッシュ判定部321による処理のうち、キャッシュ311にキー情報が記憶されておらず、データベースサーバ200から属性情報を取得できなかった場合における処理について説明する。この場合、キャッシュ判定部321は、データなしをクライアント100に送信する。IR情報判定部322は、データベースサーバ200にIR情報要求を送信する。例えば、IR情報判定部322は、定期的にIR情報要求を送信したり、任意のタイミングにてIR情報要求を送信したりする。また、IR情報判定部322は、IR情報要求に対するIR情報をデータベースサーバ200から受信することで、データベースサーバ200から、自キャッシュサーバ300向けのIR情報として、ユーザ情報DB211に記憶された属性値のうち更新された属性値を示すキー情報K1、K2、K3を取得する。IR情報判定部322は、データベースサーバ200から受信したIR情報を用いて、キャッシュ311を更新する。つまり、IR情報判定部322は、キャッシュ311情報の最新化を行う。IR情報に含まれるキー情報がK1、K2、K3である場合を用いて説明する。IR情報判定部322は、IR情報のキー情報K1、K2、K3に基づき、自装置のキャッシュ311にキー情報K1、K2、K3と一致するキー情報が記憶されている場合には、自装置のキャッシュ311からキー情報K1、K2、K3と、キー情報K1、K2、K3に対応付けられた属性値とを削除する。つまり、IR情報判定部322は、後述するキャッシュ削除処理を実行したり、キャッシュ判定部321にキャッシュ削除処理を実行させたりする。また、IR情報判定部322は、IR情報に基づいてキャッシュ311を更新すると、IR情報に含まれるキー情報を含むIR情報削除要求をデータベースサーバ200に送信することで、データベースサーバ200から受信したIR情報をデータベースサーバ200から削除する。図8を用いて具体的に説明する。また、IR情報に含まれるキー情報K1、K2、K3が、ServiceName-001、UserType-001、AccountType-001である場合を用いて説明する。言い換えると、ServiceName-001、UserType-001、AccountType-001により特定される属性値が、更新されたか、新たに格納された場合を用いて説明する。この場合、例えば、IR情報判定部322は、最初に、キー情報からハッシュ値を算出する。以下では、ハッシュ値1が算出された場合を用いて説明する。IR情報判定部322は、ハッシュ値1に対応するレコードID1をキャッシュ311のハッシュテーブルから取得し、レコードID1に対応するレコードをキャッシュ311のレコードテーブルから取得する。そして、IR情報判定部322は、レコードID1を含むレコードをキャッシュ311のレコードテーブルから削除する。また、IR情報判定部322は、このタイミングにて、ハッシュテーブルからも、該当のレコードを削除するという動作を行う。また、IR情報判定部322は、取得したレコードID1を含むレコード内にある属性情報ID0を取得し、属性情報ID0を含むレコードをキャッシュ311の属性情報テーブルから取得し、参照元レコード一覧からレコードID1を削除する。ここで、上述した例では、属性情報テーブルから取得したレコードの参照元レコード一覧には、レコードID04が残っており、IR情報判定部322は、属性情報テーブルから取得したレコードそのものは削除しない。ただし、IR情報判定部322は、参照元レコード一覧からレコードIDを削除することで、参照元レコードID一覧にレコードIDが存在しなくなる場合には、取得したレコードそのものを属性情報テーブルから削除する。また、IR情報判定部322は、データベースサーバ200に、キー情報としてServiceName-001、UserType-001、AccountType-001を含むIR情報削除要求を送信する。ここで、キー情報K1、K2、K3にANY要素が含まれている場合について説明する。この場合、IR情報に含まれるキー情報により示される属性値に、複数のレコードが対応付けられていることがある。このことを踏まえ、IR情報判定部322は、削除対象の属性値の参照元レコード一覧を用いて、IR情報に含まれるキー情報により示される属性値を参照する全てのキー情報を削除する。例えば、IR情報に含まれるキー情報K1、K2、K3が、ServiceName-003、UserType-001、ANYである場合を用いて説明する。言い換えると、ServiceName-003、UserType-001、ANYにより特定される属性値が、更新されたか、新たに格納された場合を用いて説明する。この場合、IR情報判定部322は、最初に、キー情報からハッシュ値を算出する。以下では、ハッシュ値4が算出された場合を用いて説明する。IR情報判定部322は、ハッシュ値4に対応するレコードID5をキャッシュ311のハッシュテーブルから取得し、レコードID5に対応するレコードをキャッシュ311のレコードテーブルから取得する。そして、IR情報判定部322は、取得したレコードに含まれる属性情報ID3を取得し、属性情報ID3を含むレコードをキャッシュ311の属性情報テーブルから取得する。そして、IR情報判定部322は、属性情報テーブルから取得したレコードの参照元レコード一覧に含まれるレコードID56のレコードを、キャッシュ311のレコードテーブルから削除する。また、IR情報判定部322は、このタイミングにて、ハッシュテーブルからも、該当のレコードレコードID56のレコードを削除するという動作を行う。また、IR情報判定部322は、属性情報テーブルから、属性情報ID3のレコードを削除する。その後、IR情報判定部322は、データベースサーバ200に、キー情報としてServiceName-003、UserType-001、ANYを含むIR情報削除要求を送信する。応答処理部323は、キャッシュ判定部321から受信した属性値をクライアント100に送信する。具体的には、応答処理部323は、キャッシュ判定部321から受信した属性値と、クライアント100から受信したデータ要求に含まれるキー情報とを含むデータ応答をクライアント100に送信する。なお、上述した説明では、応答処理部323が、クライアント100から受信したデータ要求に含まれるキー情報を含むデータ応答を送信する場合を例に示したが、これに限定されるものではなく、キー情報を含めなくても良い。[データベースサーバのキャッシュ応答部による処理の流れ]図9は、実施例1におけるデータベースサーバのキャッシュ応答処理による処理の流れの一例を示すフローチャートである。図9に示すように、キャッシュ応答部221は、キャッシュサーバ300からデータ検索要求を受信するとステップS101、受信したデータ検索要求から、キー情報K1~KNを取得するステップS102。そして、キャッシュ応答部221は、キー情報から、応答データ判定表を得るステップS103。具体的には、キャッシュ応答部221は、取得したキー情報をもとに、図5に示すような応答データ判定表を作成する。そして、キャッシュ応答部221は、ユーザ情報DB211から、応答データ判定表に合致するデータを全て取得するステップS104。具体的には、キャッシュ応答部221は、応答データ判定表に記載されたキー情報と合致するデータが自装置内のユーザ情報DB211に存在するかを検索し、合致したデータ全てを取得する。ここで、キャッシュ応答部221は、データが存在する場合にはステップS105肯定、検索結果のうち、応答データ判定表の最も優先度が高いデータをデータ応答とするステップS106。具体的には、キャッシュ応答部221は、応答データ判定表の優先度が最も高いデータとなる属性値を検索結果として選択し、検索結果として属性値を選択した際に用いられた応答データ判定表のキー情報を部分特定情報要素D1~DNとして含むデータ応答であって、検索結果として取得した属性値を含むデータ応答をキャッシュサーバ300に送信する。一方、キャッシュ応答部221は、データが存在しない場合にはステップS105否定、キー情報なしを応答するステップS107。つまり、キャッシュ応答部221は、データ検索要求に含まれるキー情報が自装置のユーザ情報DB211に存在しない旨を示すデータ応答をキャッシュサーバ300に送信する。[データベースサーバのIR情報応答部による処理の流れ]図10は、実施例1におけるIR情報応答部による処理の流れの一例を示すフローチャートである。図10に示すように、IR情報応答部222は、キャッシュサーバ300からIR情報要求を受信するとステップS201と、受信したIR情報要求から、要求元のキャッシュサーバ名を取得するステップS202。つまり、IR情報応答部222は、IR情報要求の送信元となるキャッシュサーバ300のキャッシュサーバ名を取得する。そして、IR情報応答部222は、自装置のIR情報DB212から、IR情報一覧を取得するステップS203。つまり、IR情報応答部222は、取得したキャッシュサーバ名に対応するIR情報を全て取得する。ここで、IR情報応答部222は、自装置のIR情報DB212に該当のデータが存在する場合にはステップS204肯定、つまり、取得したキャッシュサーバ名を含むIR情報がIR情報DB212に記憶されており、IR情報を取得した場合には、IR情報応答部222は、キャッシュサーバ名に対応するIR情報の一覧をIR情報応答としてキャッシュサーバ300に送信するステップS205。言い換えると、IR情報応答部222は、IR情報要求の送信元となるキャッシュサーバ300に適用されるIR情報の一覧を送信する。一方、自装置のIR情報DB212に該当のデータが存在しない場合にはステップS204否定、IR情報応答部222は、IR情報なしを、キャッシュサーバ300に応答するステップS206。つまり、IR情報がないことを示すIR情報応答をキャッシュサーバ300に送信する。[データベースサーバのIR情報削除部による流れ]図11は、実施例1におけるデータベースサーバのIR情報削除部による流れの一例を示すフローチャートである。図11に示すように、IR情報削除部223は、キャッシュサーバ300からIR情報削除要求を受信するとステップS301、受信したIR情報削除要求から、要求元キャッシュサーバ名と、削除対象となるキー情報K1~KNを取得するステップS302。そして、IR情報削除部223は、自装置のIR情報DB212から、取得したキャッシュサーバ名とキー情報K1~KNとに該当するレコードを削除するステップS303。つまり、IR情報削除部223は、取得したキャッシュサーバ名及びキー情報に対応するIR情報がIR情報DB212に記憶されている場合には、IR情報DB212から該当のIR情報を削除する。そして、IR情報応答部222はIR削除応答をキャッシュサーバ300に送信するステップS304。[データベースサーバのユーザ情報更新部による処理]図12は、実施例1におけるデータベースサーバのユーザ情報更新部による処理の流れの一例を示すフローチャートである。図12に示すように、ユーザ情報更新部224は、登録対象データを受信するとステップS401、受信した登録対象データから、対象データの操作追加、更新、削除等、操作対象となるレコードのキー情報K1~KN及び属性値を取得するステップS402。例えば、ユーザ情報更新部224は、利用者から登録対象データを受信する。なお、登録対象データには、例えば、操作内容を特定するための情報や、キー情報、属性値などが含まれる。そして、ユーザ情報更新部224は、ユーザ情報DB211のキー情報K1~KNのレコードを編集するステップS403。具体的には、操作内容が追加である場合には、ユーザ情報更新部224は、登録対象データから取得したキー情報と属性値とを対応付けてユーザ情報DB211に格納する。また、操作内容が更新である場合には、ユーザ情報更新部224は、ユーザ情報DB211に記憶されたレコードのうち更新対象となるレコードの属性値を更新する。また、操作内容が削除である場合には、ユーザ情報更新部224は、登録対象データから取得したキー情報により特定されるレコードをユーザ情報DB211から削除する。そして、ユーザ情報更新部224は、自装置に接続されるキャッシュサーバ名の一覧を取得するステップS404。そして、ユーザ情報更新部224は、キャッシュサーバ名の一覧の先頭のキャッシュサーバ名を取得するステップS405。そして、ユーザ情報更新部224は、IR情報DB212へ、ユーザ情報DB211へ格納した情報のキー情報部分を格納するステップS406。つまり、ユーザ情報DB211は、取得したキャッシュサーバ名と、ユーザ情報DB211に対する操作対象となったレコードを特定するキー情報とを含むIR情報を生成し、IR情報DB212に格納する。例えば、ユーザ情報更新部224は、レコードを削除した場合には、削除されたレコードに含まれていたキー情報とキャッシュサーバ名とを含むIR情報を生成して格納する。そして、ユーザ情報更新部224は、キャッシュサーバ名の一覧を全て処理したかを判定し、処理していない場合にはステップS407否定、キャッシュサーバ名の一覧から次のキャッシュサーバ名を取得しステップS408、上述したステップS406に戻り、処理を繰り返す。一方、ユーザ情報更新部224は、キャッシュサーバ名の一覧を全て処理した場合にはステップS407肯定、処理を終了する。[キャッシュサーバのキャッシュ判定部による処理の流れ]図13は、実施例1におけるキャッシュサーバのキャッシュ判定部による処理の流れの一例を示すフローチャートである。図13に示すように、キャッシュ判定部321は、クライアント100からデータ要求を受信するとステップS501、受信したデータ要求からサービス特定情報要素E1~ENを取得し、取得したサービス特定情報要素をキー情報として、キャッシュ311のハッシュテーブルを検索するステップS502。例えば、キャッシュ判定部321は、データ要求から取得したサービス特定情報要素E1~EN各々を事前に決定しておいた手法にて連結し、連結した値をxとして、ハッシュ関数hxの入力とする。そして、キャッシュ判定部321は、ハッシュ関数hxで計算されたハッシュ値を用いて、キャッシュ311のハッシュテーブルに記憶されたレコードを絞り込む。そして、キャッシュ判定部321は、絞り込んだレコードのリストにおいて、サービス特定要素E1~ENと一致するキー情報K1~KNを有するレコードを検索する。なお、キャッシュ判定部321は、xとして、E1~ENの連結を用いる場合を用いて説明したが、これに限定されるものではなく、任意の手法を用いて良い。例えば、キャッシュ判定部321は、E1~ENに対する特定の演算によりxを導出して用いても良く、E1~ENまでのN個の値をパラメータとする関数を、ハッシュ関数として用いても良い。ここで、キャッシュ311のハッシュテーブルにキー情報としてE1~ENを持つレコードが存在しない場合にはステップS503否定、キャッシュ判定部321は、サービス特定情報要素E1~ENをキー情報として含むデータ検索要求をデータベースサーバ200に送信するステップS504。そして、キャッシュ判定部321は、データベースサーバ200から、データ検索要求に対するデータ応答として、部分特定情報要素D1~DNと、属性値を受信するステップS505。ここで、データベースサーバ200からのデータ応答が、検索結果なしの場合にはステップS506否定、キャッシュ判定部321は、キー情報なしとしステップS509、応答処理部323に結果を出力するステップS514。一方、上述したステップS506に戻り、データベースサーバ200からの検索結果が検索結果ありの場合にはステップS506肯定、キャッシュ判定部321は、サービス特定情報要素E1~EN、データベースサーバ200からのデータ応答に含まれる部分特定情報要素D1~DN、データベースサーバ200からのデータ応答に含まれる属性値、有効期限情報として、事前に決定しておく有効期限情報計算方法の結果を用いて、キャッシュ登録処理を行うステップS507。なお、キャッシュ登録処理の流れについては、図14を用いて後述する。キャッシュ登録処理が完了すると、キャッシュ判定部321は、キャッシュ登録処理の結果としてキャッシュ311に登録されたレコードを取得し、取得したレコードに含まれる属性情報IDから属性情報を取得ステップS508し、属性情報から属性値を取得するステップS513。つまり、キャッシュ判定部321は、取得したレコードに含まれる属性情報IDを含むレコードをキャッシュ311の属性情報テーブルから取得し、取得したレコードに含まれる属性値を取得する。そして、キャッシュ判定部321は、応答処理部323へ結果を出力するステップS514。つまり、キャッシュ判定部321は、取得した属性値を応答処理部323に出力する。また、上述したステップS503に戻り、キャッシュ311のハッシュテーブルにキー情報としてE1~ENを持つレコードが存在する場合にはステップS503肯定、キャッシュ判定部321は、レコード内の属性情報IDから属性情報を取得し、属性情報から有効期限情報を取得するステップS510。ここで、属性情報の有効期限が切れていない場合ステップS511否定、キャッシュ判定部321は、属性情報から属性値を取得ステップS513し、取得した属性値を用いて、応答処理部323へ属性値を出力するステップS514。また、上述したステップS511に戻り、属性情報の有効期限が切れていた場合にはステップS511肯定、キャッシュ判定部321は、サービス特定情報要素E1~ENを、キー情報として、キャッシュ削除処理を行うステップS512。なお、キャッシュ削除処理については、図15を用いて後述する。キャッシュ削除処理では、指定されたキー情報のレコードがキャッシュ311のハッシュテーブルに存在する場合、該当するレコードをハッシュテーブルから削除する。その後、キャッシュ判定部321は、キャッシュ削除処理が完了すると、ステップS504以降の処理を継続する。[キャッシュ登録処理の流れ]図14は、実施例1におけるキャッシュ登録処理の流れの一例を示すフローチャートである。図14に示すように、キャッシュ判定部321は、サービス特定情報要素E1~EN、部分特定情報要素D1~DN、属性値、有効期限情報を取得するステップS601。そして、キャッシュ判定部321は、部分特定情報要素D1~DNをキー情報としてハッシュ値を算出し、キャッシュ311のハッシュテーブルを検索するステップS602。ここで、キャッシュ311のハッシュテーブルにレコードが存在しない場合にはステップS603否定、キャッシュ判定部321は、属性値、有効期限情報を用いて新たな属性情報を作成するステップS604。例えば、キャッシュ判定部321は、取得した属性値と有効期限情報に加えて、新たに付与した属性情報IDを含むレコードをキャッシュ311の属性情報テーブルに格納する。そして、作成した属性情報の属性情報IDを取得ステップS605し、キャッシュ311のレコードテーブルに、新たなレコードIDを付与した上で、キー情報D1~DNと作成した属性情報IDとを対応付けてレコードを追加するとともに、新たに付与したレコードIDをハッシュテーブルに追加するステップS606。具体的には、キャッシュ判定部321は、部分特定情報要素D1~DNを、事前に決定しておいた方法を用いて連結し、連結した値をxとして、ハッシュ関数hxの入力とする。そして、キャッシュ判定部321は、ハッシュ関数hxで計算されたハッシュ値を用いて、ハッシュテーブルのレコードを絞り込み、絞り込んだレコードのリストに、レコードのキー情報としてD1~DN、属性情報IDを設定したレコードを追加する。また、キャッシュ判定部321は、新たなレコードIDをハッシュテーブルに追加する。そして、キャッシュ判定部321は、キャッシュ311のレコードテーブルに追加したレコードのレコードIDを取得しステップS607、属性情報の参照元レコード一覧に、レコードIDを追加するステップS608。つまり、キャッシュ判定部321は、上述したステップS604にて属性情報テーブルに格納したレコードの参照元レコード一覧に対して、上述したステップS606にてレコードテーブルに格納したレコードのレコードIDを追加する。そして、キャッシュ判定部321は、ステップS601にて取得しているサービス特定情報要素E1~ENと、部分特定情報要素D1~DNの各要素をそれぞれ比較し、各要素が全て等しい場合にはステップS613肯定、ハッシュテーブルに新たに追加したレコードを返却ステップS617し、処理を終了する。また、ステップS613に戻り、サービス特定情報要素E1~ENと、部分特定情報要素D1~DNの各要素が異なった場合にはステップS613否定、キャッシュ判定部321は、レコードテーブルに、新たにレコードIDを付与した上で、キー情報としてサービス特定情報要素E1~ENと、属性情報IDとを対応付けてレコードを追加し、新たに付与したレコードIDをハッシュテーブルに追加するステップS614。そして、キャッシュ判定部321は、キャッシュ311のレコードテーブルに追加したレコードのレコードIDを取得しステップS615、属性情報の参照元レコード一覧に、レコードIDを追加するステップS616。その後、ハッシュテーブルに新たに追加したレコードを返却ステップS617し、処理を終了する。また、ステップS603に戻り、レコードテーブルにレコードが存在する場合にはステップS603肯定、キャッシュ判定部321は、該当するレコード内の属性情報IDから、属性情報を取得し、属性情報に含まれる有効期限情報を取得するステップS609。そして、キャッシュ判定部321は、属性情報の有効期限情報が、有効期限切れでない場合にはステップS610否定、該当するレコードの属性情報IDから、属性情報を取得しステップS611、ステップS613以降の処理を継続する。一方、ステップS610に戻り、属性情報の有効期限情報が有効期限切れであった場合にはステップS610肯定、部分特定情報要素D1~DNをキー情報として、キャッシュ削除処理を行う。キャッシュ削除処理では、キャッシュ判定部321は、指定されたキー情報のレコードがハッシュテーブルに存在する場合、そのレコードをハッシュテーブルから削除する。その後、キャッシュ判定部321は、キャッシュ削除処理が完了すると、ステップS604以降の処理を継続する。[キャッシュ削除処理の流れ]図15には、実施例1におけるキャッシュ削除処理の流れの一例を示すフローチャートである。以下では、サービス特定情報要素K1~KNをキー情報として、キャッシュ削除処理を行う場合を例に説明する。以下では、キャッシュ判定部321を例に説明するが、これに限定されるものではなく、IR情報判定部322が実行しても良い。図15に示すように、キャッシュ判定部321は、削除対象を示すキー情報であるサービス特定情報要素K1~KNを取得するステップS701。そして、キャッシュ判定部321は、サービス特定情報要素K1~KNをキー情報としてハッシュ値を算出し、キャッシュ311のハッシュテーブルを検索するステップS702。そして、キャッシュ判定部321は、ハッシュテーブルにレコードが存在しない場合にはステップS703否定、削除対象のレコードは存在しないため、処理を終了する。一方、ハッシュテーブルにレコードが存在する場合にはステップS703肯定、キャッシュ判定部321は、有効期限切れに基づく削除として呼び出されたものかを判定するステップS704。ここで、有効期限切れによる削除ではない場合にはステップS704否定、キャッシュ判定部321は、キー情報K1~KN対応するレコードの中に、ANY要素があるかを判定するステップS705。ここで、キー情報K1~KNにANY要素がない場合にはステップS705否定、キャッシュ判定部321は、キー情報K1~KNに対応するレコードから属性情報IDを取得しステップS706、属性情報IDで示される属性情報から、参照元レコード一覧を取得するステップS707。つまり、キャッシュ判定部321は、属性情報IDを含むレコードを属性情報テーブルから取得し、取得したレコードに含まれる参照元レコード一覧を取得する。そして、キャッシュ判定部321は、参照元レコード一覧からレコードを削除するステップS708。つまり、キャッシュ判定部321は、参照元レコード一覧に存在するレコードIDから、キー情報K1~KNに対応するレコードIDを削除する。ここで、ステップS708の結果、参照元レコード一覧が空のリストとなった場合にはステップS709肯定、キャッシュ判定部321は、参照元レコード一覧が空となった属性情報を削除するステップS710。つまり、キャッシュ判定部321は、参照元レコード一覧が空となったレコードを属性情報テーブルから削除する。そして、キャッシュ判定部321は、キー情報K1~KNを用いて、レコードテーブルからレコードを削除するとともに、ハッシュテーブルからレコードIDを削除するステップS711。一方、ステップS709に戻り、参照元レコード一覧が空のリストとならなかった場合ステップS709否定、ステップS711からの処理を継続する。次に、ステップS704に戻り、有効期限切れによる削除の場合ステップS704肯定、又は、ステップS705に戻り、キー情報の中にANY要素がある場合ステップS705肯定について説明する。なお、有効期限切れによる削除の場合とは、例えば、図13のステップS511において、有効期限切れであるとしてキャッシュ削除処理が実行される場合が該当する。この場合、キャッシュ判定部321は、該当のレコードから属性情報IDを取得ステップS712し、属性情報IDで示される属性情報から参照元レコード一覧を取得するステップS713。そして、キャッシュ判定部321は、参照元レコード一覧の最初のレコードIDを取得するステップS714。その後、キャッシュ判定部321は、取得したレコードIDで示されるレコードをキャッシュ311のレコードテーブルから取得し、取得したレコードのキー情報がキー情報K1~KNと合致する場合に取得したレコードをレコードテーブルから削除するとともに、ハッシュテーブルからレコードIDを削除するステップS715。そして、キャッシュ判定部321は、参照元レコード一覧の全てのレコードIDをハッシュテーブルから削除していない場合にはステップS716否定、参照元レコード一覧の次のレコードIDを取得しステップS717、ステップS715の処理を継続する。また、ステップS716に戻り、参照元レコードの全てのレコードIDで示されるレコードをハッシュテーブルから削除した場合にはステップS716肯定、キャッシュ判定部321は、属性情報を削除しステップS718、処理を終了する。つまり、キャッシュ判定部321は、ステップS712にて取得した属性情報IDを含むレコードを属性情報テーブルから削除する。[キャッシュサーバのIR情報判定部による処理の流れ]図16は、実施例1におけるキャッシュサーバのIR情報判定部による処理の流れの一例を示すフローチャートである。図16に示すように、IR情報判定部322は、定期的にデータベースサーバ200へIR情報要求を送信しステップS801、データベースサーバ200からIR情報の一覧を受信するステップS802。そして、IR情報判定部322は、受信したIR情報一覧が存在する場合ステップS803肯定、つまり、データベースサーバ200からIR情報を受信したIR情報応答にIR情報が含まれている場合には、IR情報の一覧の先頭のIR情報を取得しステップS804、IR情報から、キー情報K1~KNを取得するステップS805。そして、IR情報判定部322は、キー情報K1~KNを用いて、図15で示されるキャッシュ削除処理を行いステップS806、キャッシュ削除処理終了後、データベースサーバ200に該当のIR情報について、IR情報削除要求を送信するステップS807。つまり、IR情報判定部322は、キャッシュサーバ300においてキー情報K1~KNを含むレコードについて削除されたことを踏まえ、キャッシュサーバ300に適用済みとなったIR情報を削除する旨の指示をデータベースサーバ200に送信する。その後、全てのIR情報を処理していない場合にはステップS808否定、IR情報判定部322は、IR情報の一覧から次のIR情報を取得しステップS809、ステップS805からの処理を繰り返す。一方、ステップS803に戻り、IR情報の一覧が存在しない場合にはステップS803否定、又は、ステップS808に戻り、全てのIR情報を処理した場合にはステップS808肯定、IR情報判定部322は、処理を終了する。[キャッシュサーバの応答部による処理の流れ]図17は、実施例1におけるキャッシュサーバの応答部による処理の流れの一例を示すフローチャートである。図17に示すように、応答処理部323は、キャッシュ判定部321から指定された属性情報をクライアントへの応答として組み立てるステップS901。つまり、応答処理部323は、キャッシュ判定部321から受信した属性値と、クライアント100から受信したデータ要求に含まれるキー情報とを含むデータ応答を生成したり、キー情報がないことを示すデータ応答を生成したりする。なお、上述した説明では、応答処理部323が、クライアント100から受信したデータ要求に含まれるキー情報を含むデータ応答を送信する場合を例に示したが、これに限定されるものではなく、キー情報を含めなくても良い。そして、応答処理部323は、生成したデータ応答をクライアント100に送信しステップS902、処理を終了する。[実施例1による効果]少なくとも1種類の特定情報により特定されるデータごとに、データを特定するための特定情報と、複数ある特定情報の種類のうちデータを特定する際に用いられない種類である非特定種類を示す非特定種類情報との組み合わせと対応付けて記憶する。また、キャッシュサーバ300は、データベースサーバ200に記憶されたデータの少なくとも一部について、特定情報と非特定種類情報との組み合わせと、複数種類の特定情報の組み合わせとのうち少なくとも一つと対応付けて記憶するキャッシュ311を有する。ここで、キャッシュサーバ300は、データ要求を受信すると、データ要求に含まれる複数種類の特定情報各々の組み合わせがキャッシュに記憶されているかを判定し、記憶されていないと判定した場合に、データ要求に含まれる組み合わせをデータベースサーバ200に送信する。また、データベースサーバ200は、キャッシュサーバ300により送信された組み合わせである組み合わせを受信すると、受信した組み合わせである受信組み合わせに相当する特定情報と非特定種類情報との組み合わせと、特定情報と非特定種類情報との組み合わせに対応付けられたデータとを記憶部から取得し、キャッシュサーバ300に応答する。また、キャッシュサーバ300は、データベースサーバ200により送信された特定情報と非特定種類情報との組み合わせがキャッシュ311に記憶されている場合には、記憶されていた特定情報と非特定種類情報との組み合わせに対応付けられるデータと対応付けて、受信組み合わせをキャッシュ311に格納する。また、データベースサーバ200は、キャッシュ311に記憶されていない場合には、データベースサーバ200により送信されたデータと対応付けて、データベースサーバ200により送信された特定情報と非特定種類情報との組み合わせと、受信組み合わせとをキャッシュ311に格納する。また、キャッシュサーバ300は、キャッシュ311に記憶されていると判定された場合には、キャッシュ311からデータを取得してデータ要求の送信元に送信し、記憶されていないと判定した場合には、データベースサーバ200により送信されたデータをデータ要求の送信元に送信する。この結果、適切に検索可能となる。具体的には、ANY要素を有するデータ構造のデータベースサーバとキャッシュサーバとを組み合わせ可能となる。また、データベースサーバからデータを抽出する上で必要となる特定情報の集合が受信時点において不明である場合が想定される状況下においても、キャッシュの容量を節約することが可能であり、一度の検索で抽出できることで検索性能の低下を防止可能となる。すなわち、例えば、キャッシュ311では、データが複数のキー情報と共有される結果、キャッシュ311の容量を節約することが可能となる。また、キャッシュサーバ300は、一度の検索において、キャッシュにデータが記憶されているか否かを判定可能となり、検索性能の低下を防止可能となる。また、データベースサーバ200では、{E1,ANY,...ANY}という1レコードで複数のキー情報を表現可能となり、データベースサーバ200の記憶装置の消費を防止可能となる。また、キャッシュサーバ300では、複数の属性値が複数のキー情報と対応付けられる結果、メモリ等の記憶装置に冗長に持つことを防止可能となる。このように、実施例1によれば、属性値が複数のキー情報にて共有される結果、キャッシュ311の容量を節約可能となる。また、上述したように、データ要求に含まれる複数種類の特定情報各々の組み合わせがキャッシュ311に記憶されているかの判定を、ハッシュ値を用いて実行することで、キャッシュ311に記憶されているかを迅速に判定可能となる。また、データベースサーバ200は、データごとに、データを特定する際に用いられる特定情報種類に属する特定情報と、非特定種類情報との組み合わせを対応付けて記憶する。また、データベースサーバ200は、キャッシュサーバ300により送信された受信組み合わせを受信すると、組み合わせに相当する特定情報と非特定種類情報との組み合わせ各々のうち一つを選択し、選択した特定情報と非特定種類情報との組み合わせと、選択した組み合わせに対応付けて記憶されたデータとを送信する。この結果、データベースサーバ200が、ANY要素を含むレコードを記憶することで、記憶部にて使用される容量を節約することが可能となる。実施例1に加えて、キャッシュサーバ300が、非特定種類情報を含む組み合わせと属性値とを受信した場合に、受信した属性値を、非特定種類情報に適用される可能性がある特定情報各々に特定種類情報を置き換えた組み合わせ各々と共有する場合について説明する。すなわち、例えば、ANY要素を含む組み合わせをキャッシュサーバ300が受信すると、受信した組み合わせに含まれるANY要素を、ANY要素に適用される可能性がある特定情報各々に置き換えた組み合わせ各々を生成し、生成した組み合わせ各々についても、受信したデータと対応付けてキャッシュ311に格納しても良い。以下では、実施例1と異なる点について説明し、その他の点については適宜説明を省略する。[実施例2におけるキャッシュサーバの構成]実施例2におけるキャッシュサーバでは、キャッシュ判定部321b以外については、実施例1と同様であり、説明を省略する。実施例2において、キャッシュ判定部321bは、クライアント100から受信したデータ要求から、サービス特定情報要素E1、E2、E3を取得し、これを、キー情報として、キャッシュ311に記憶される属性情報を検索する。キャッシュ判定部321bはキャッシュ311検索の結果に応じた処理を行い、応答を行う。キャッシュ311にキー情報が記憶されておらず、データベースサーバ200から属性情報を取得できた場合における処理について説明する。すなわち、クライアント100からのデータ要求から取得したキー情報がキャッシュ311に記憶されていない場合について説明する。この場合、キャッシュ判定部321bは、データ要求から取得したキー情報を含むデータ検索要求をデータベースサーバ200に送信する。例えば、キャッシュ判定部321は、サービス特定情報要素E1、E2、E3を含むデータ検索要求をデータベースサーバ200に送信する。その後、キャッシュ判定部321は、データベースサーバ200から、データ検索結果として、部分特定情報要素D1、D2、D3と属性値とを含むデータ応答を受信する。ここで、キャッシュ判定部321bは、部分特定情報要素D1、D2、D3が、自装置のキャッシュ311に既に存在する場合には、事前にキャッシュ311上に展開されるべき、サービス特定情報要素E1、E2、E3と、部分特定情報要素D1、D2、D3の対応が取れていないと判断し、部分特定情報要素D1、D2、D3を用いてキャッシュ311を削除した上で、部分特定情報要素D1、D2、D3がキャッシュ311に既に存在しない場合における処理を実行する。なお、部分特定情報要素D1、D2、D3がキャッシュ311に既に存在しない場合における処理については後述する。なお、実施例2の場合には、ANY要素が得られた場合には、ANY要素に適用される可能性のある特定情報の組み合わせ各々を生成し、受信した属性値と対応付けてキャッシュ311に予め登録しておくことになる。この結果、データベースサーバ200に問い合わせる際には、キャッシュ311に対応するレコードが何も記憶されていない場合となり、データベースサーバ200に問い合わせが行われない際には、キャッシュ311に対応するレコードがすべて記憶されている場合となる。このことを踏まえ、キャッシュ判定部321bは、問い合わせたにもかかわらず、データベースサーバ200から受信した部分特定情報要素D1、D2、D3が、自装置のキャッシュ311に既に存在する場合には、おかしいと判断し、キャッシュ311から削除した上で一連の処理を実行する。図7を用いて具体的に説明する。データ要求から取得したキー情報K1、K2、K3がServiceName-001、UserType-001、AccountType-002である場合を用いて説明する。キャッシュ判定部321bは、キー情報からハッシュ値を算出する。以下では、キャッシュ判定部321bにより算出されたハッシュ値が2である場合を用いて説明する。ここで、キャッシュ判定部321bは、キャッシュ311のハッシュテーブルには、ハッシュ値2に対応付けられたレコードIDが存在しないため、キー情報K1、K2、K3を含むデータ検索要求をデータベースサーバ200に送信する。例えば、キャッシュ判定部321bは、データベースサーバ200から、部分特定情報要素D1、D2、D3として、ServiceName-001、ANY、ANYとを含み、属性値データ1とを含むデータ応答を受信する。その後、キャッシュ判定部321は、部分特定要素D1、D2、D3をキー情報として、自装置のキャッシュ311のハッシュテーブルを検索する。ここで、キャッシュ判定部321は、レコードID0が得られた場合には、キャッシュ311のレコードテーブルからレコードID0に対応付けられる属性情報ID0を取得する。そして、キャッシュ判定部321bは、属性情報ID0を含むレコードを属性情報テーブルから取得し、取得したレコードの参照元レコード一覧に含まれるレコードID01を取得し、レコードID01を含むレコードをキャッシュ311のレコードテーブルから削除する。また、キャッシュ判定部321bは、属性情報ID0を含むレコードを属性情報テーブルから削除する。キャッシュ311にキー情報が記憶されておらず、データベースサーバ200から受信したデータ応答に含まれる部分特定情報要素D1、D2、D3がキャッシュ311に存在しない場合における処理について説明する。以下では、データベースサーバ200からデータ応答を受信した後の処理について説明する。キャッシュ判定部321bは、データベースサーバ200から受信した部分特定情報要素D1、D2、D3と、データベースサーバから取得した属性値とについて、キャッシュ登録処理を実行する。また、キャッシュ判定部321bは、データベースサーバ200から受信した部分特定情報要素のうち、ANY要素となっているカラムを取得する。そして、キャッシュ判定部321bは、ANY要素が存在する各々のカラムの位置から、事前に決定されているANY要素に入る可能性があるサービス特定情報要素の値の一覧を取得する。そして、キャッシュ判定部321bは、カラム各々のサービス特定情報要素の値の一覧を組み合わせ、ANY要素を展開したサービス特定情報要素の一覧を算出する。その後、キャッシュ判定部321bは、既にキャッシュ311に格納した属性情報を、算出したサービス特定情報要素の一覧のそれぞれのサービス特定情報要素E1、E2、E3の組み合わせに対応させたレコードを登録する。すなわち、キャッシュ判定部321bは、算出したサービス特定情報要素の一覧各々と、データベースサーバ200から取得した属性値とについて、キャッシュ登録処理を実行する。また、この際、キャッシュ判定部321bは、キャッシュ311の属性情報テーブルの参照元レコード一覧に、算出したサービス特定情報要素の一覧各々に対応するレコードIDを追加する。その後、キャッシュ判定部321bは、データベースサーバ200から受信した属性値を応答処理部323に出力する。図18-1~図18-3を用いて具体的に説明する。図18-1~図18-3は、実施例2におけるキャッシュに記憶された情報の一例を示す図である。図18-1~図18-3に示す例では、キャッシュ311が、ハッシュテーブルと、レコードテーブルと、属性情報テーブルとを有する場合を示した。図18-1~図18-3は、実施例2におけるハッシュテーブルと、レコードテーブルと、属性情報テーブルとの一例を示す。また、以下では、キャッシュ判定部321bが、クライアント100から受信したデータ要求にキー情報K1、K2、K3がServiceName-001、UserType-001、AccountType-001が含まれていた場合を用いて説明する。また、以下では、キャッシュ判定部321bが、データベースサーバ200から、部分特定情報要素D1、D2、D3として、ServiceName-001、ANY、ANYを含み、属性値データ1を含むデータ応答を受信した場合を用いて説明する。この場合、キャッシュ判定部321bは、データベースサーバ200からのデータ応答に含まれる部分特定要素D1、D2、D3をキー情報として、自装置のキャッシュ311を確認する。つまり、キャッシュ判定部321bは、部分特定要素D1、D2、D3からハッシュ値を算出し、算出したハッシュ値を用いてキャッシュ311のハッシュテーブルを検索する。以下では、算出されたハッシュ値が0であるものとして説明する。図18-1に示す例では、ハッシュテーブルのハッシュ値0にはレコードIDが存在しない。この場合、キャッシュ判定部321bは、新たに付与した属性情報ID0と属性値データ1とを含むレコードをキャッシュ311の属性情報テーブルに格納する。そして、キャッシュ判定部321bは、新たに付与したレコードID0と、キー情報として部分特定情報要素D1、D2、D3ServiceName-001、ANY、ANYと、属性情報ID0とを含むレコードをキャッシュ311のレコードテーブルに格納する。また、キャッシュ判定部321bは、属性情報ID0を含む属性情報テーブルに記憶されたレコードの参照元レコード一覧に対して、レコードID0を追加し、キャッシュ311のハッシュテーブルのハッシュ値0に対応付けてレコードID0を格納する。また、キャッシュ判定部321bは、部分特定要素D1、D2、D3のうち、ANYとなっている要素である、D2、D3の要素の、事前に決定されているサービス特定要素の値の一覧をそれぞれ得る。図19は、実施例2における事前に決定されているサービス特定要素の値の一覧の例である。図19に示す例では、部分特定要素D2がANYであった場合には、UserType-001又は、UserType-002を取りうることを示し、D3がANYであった場合には、AccountType-001又は、AccountType-002を取りうることを示す。図19に示す一覧は、例えば、予め生成されたり、キャッシュ判定部321bにより適宜生成されたりする。ここで、キャッシュ判定部321bは、ANYとなっているカラムの全ての組み合わせをサービス特定要素の一覧として算出する。例えば、ANYではない要素D1の値であるServiceName-001と、図19により示されるD2及びD3のサービス特定要素の値の一覧から、以下に記載する組み合わせ各々を算出する。なお、図19に示す一覧は、データベースシステム一意の情報であり、キャッシュサーバ内に格納されている。組み合わせ1{ServiceName-001,UserType-001,AccountType-001},組み合わせ2{ServiceName-001,UserType-001,AccountType-002},組み合わせ3{ServiceName-001,UserType-002,AccountType-001},組み合わせ4{ServiceName-001,UserType-002,AccountType-002}以下では、上述した組み合わせ1~組み合わせ4から算出されるハッシュ値が、それぞれ1~4であるものとして説明する。この場合、例えば、キャッシュ判定部321bは、キャッシュ311のレコードテーブルに対して、レコードID1と、キー情報として組み合わせ1と、属性情報ID0とを含むレコードを追加し、属性情報ID0を含む属性情報テーブルに格納されたレコードの参照元レコード一覧にレコードID1を追加し、ハッシュテーブルのハッシュ値1に対応付けてレコードID1を格納する。また、同様に、キャッシュ判定部321bは、他の組み合わせについても処理を実行する。図20-1~図20-3は、実施例2におけるキャッシュ判定部によるレコード登録処理後のキャッシュに記憶された情報の一例を示す図である。図20-1~図20-3は、それぞれ、キャッシュ311のハッシュテーブルと、レコードテーブルと、属性情報テーブルとに対応する。[キャッシュ登録処理の流れ]図21は、実施例2におけるキャッシュ登録処理の一例を示すフローチャートである。なお、図21に示す一連の処理のうち、S1001~S1003、S1005~S1010、S1019は、それぞれ、図14におけるステップS601~S603、S604~S608、S613、S617に対応する。以下では、図14に示す一連の処理と異なる点について説明し、同様の点については適宜省略する。図21に示すように、キャッシュ判定部321bは、サービス特定情報要素E1~EN、部分特定情報要素D1~DN、属性値、有効期限情報を取得しステップS1001。部分特定情報要素D1~DNをキー情報としてキャッシュ311のハッシュテーブルを検索するステップS1002。ここで、キャッシュ311のハッシュテーブルにレコードが存在しない場合にはステップS1003否定、キャッシュ311のレコードテーブルや属性情報テーブルにレコードを格納するステップS1005~S1009。その後、キャッシュ判定部321bは、サービス特定情報要素E1~ENと、部分特定情報要素D1~DNの各要素をそれぞれ比較し、各要素が全て等しい場合にはステップS1010肯定、ハッシュテーブルに新たに追加したレコードを返却しステップS1019、処理を終了する。一方、ステップS1010に戻り、キャッシュ判定部321bは、サービス特定情報要素E1~ENと、部分特定情報要素D1~DNの各要素が異なった場合について説明するステップS1010否定。キャッシュ判定部321bは、部分特定情報要素D1~DNの中で、ANYとなっているカラムに対応したサービス特定情報要素の値の一覧を取得するステップS1011。例えば、キャッシュ判定部321bは、予め生成された図19に示す表に基づいて、サービス特定情報要素の一覧を取得する。そして、キャッシュ判定部321bは、ANY要素となっている全てのカラムのサービス特定情報要素の値の一覧と、非ANY要素となっているカラムのサービス特定情報をもとに、ANY要素が示す、サービス特定情報要素の全ての組み合わせの一覧を取得するステップS1012。そして、キャッシュ判定部321bは、サービス特定情報要素の全ての組み合わせの一覧の最初のサービス特定情報要素を取得するステップS1013。そして、キャッシュ判定部321bは、キャッシュ311のハッシュテーブルに、キー情報としてサービス特定情報要素E1~ENと、属性情報IDを対応付けてレコードを追加するステップS1014。つまり、キャッシュ判定部321bは、取得した組み合わせをキー情報として含み、ステップS1005にて付与した属性情報IDを含み、新たに付与したレコードIDを含むレコードをキャッシュ311のレコードテーブルに格納する。そして、キャッシュ判定部321bは、キャッシュ311のレコードテーブルに追加したレコードのレコードIDを取得しステップS1015、属性情報の参照元レコード一覧に、レコードIDを追加するステップS1016。そして、サービス特定情報要素の全ての組み合わせの一覧を全て処理した場合にはステップS1017肯定、キャッシュ判定部321bは、ハッシュテーブルに新たに追加したサービス特定情報要素E1~ENに対応したレコードを返却ステップS1019し、処理を終了する。一方、ステップS1017に戻り、サービス特定情報要素の全ての組み合わせの一覧を全て処理していない場合にはステップS1017否定、キャッシュ判定部321bは、サービス特定情報要素の全ての組み合わせの一覧から、次のサービス特定情報要素を取得し、ステップS1014以降を継続するステップS1018。ステップS1003に戻り、ハッシュテーブルにレコードが存在する場合ステップS1003肯定について説明する。この場合、キャッシュ判定部321bは、部分特定情報要素D1~DNをキー情報として、キャッシュ削除処理を行うステップS1004。なお、キャッシュ削除処理の流れは、実施例1と同様であり、説明を省略する。そして、キャッシュ削除処理が完了すると、キャッシュ判定部321bは、ステップS1005以降の処理を継続する。[実施例2の効果]上述したように、実施例2によれば、キャッシュサーバ300は、組み合わせに含まれる非特定種類情報を、非特定種類情報に適用される可能性がある特定情報各々に置き換えた組み合わせ各々を生成し、生成した組み合わせ各々についても、データベースサーバ200により送信されたデータと対応付けてキャッシュ311に格納しておく。この結果、その後、キャッシュサーバ300には、ANY要素に対応する特定情報の組み合わせ各々が予めキャッシュ311に格納されることになり、キャッシュ311のヒット率を向上することが可能となる。実施例3では、データベースサーバ200のユーザ情報DB211cが、複数の要素からなるキー情報と属性値とに加えて、非特定要素情報を更に対応付けて記憶する。すなわち、以下では、データベースサーバ200が、データごとに、データが特定される複数種類の特定情報の組み合わせと、組み合わせに含まれる特定情報の種類に含まれる非特定種類を示す非特定種類情報との組み合わせを記憶する場合について説明する。以下では、実施例1と差分がある個所以外の点については、適宜省略する。[実施例3におけるデータベースサーバの構成]ユーザ情報DB211cは、複数の要素からなるキー情報と属性値とに加えて、非特定要素情報を更に対応付けて記憶する。つまり、ユーザ情報DB211cは、データごとに、データが特定される複数種類の特定情報の組み合わせと、組み合わせに含まれる特定情報の種類に含まれる非特定種類を示す非特定種類情報との組み合わせを記憶する。ここで、非特定要素情報とは、キー情報のうち、ANYとして扱われるサービス特定情報要素を示す情報である。図22は、実施例3におけるユーザ情報DBに記憶された情報の一例を示す図である。図22に示す例では、ユーザ情報DB211cは、キー情報K1、K2、K3と、非特定要素情報K2、K3と、属性値とを対応付けて記憶する。図22に示す例では、非特定要素情報として、K2又はK3がANY要素か否かを記憶する場合を示したがこれに限定されるものではなく、任意の情報を用いて良い。図22に示す例では、ユーザ情報DB211cは、キー情報ServiceName-001、UserType-001、AccountType-001と、非特定要素情報K2:ANYK3:ANYと、属性値データ1とを含むレコードを記憶する。すなわち、ユーザ情報DB211cは、サービス特定情報要素のうち、UserType-001とAccountType-001とについては、ANY要素であることを記憶する。つまり、ユーザ情報DB211cは、属性値データ1が、ServiceName-001、ANY、ANYと共有されることを記憶する。また、ユーザ情報DB211cは、キー情報ServiceName-002、UserType-001、AccountType-001と属性値データ100とを含み、非特定要素情報にデータがないレコードを記憶する。すなわち、ユーザ情報DB211cは、属性値データ100が、ServiceName-002、UserType-001、AccountType-001以外のキー情報と共有されないことを記憶する。言い換えると、ユーザ情報DB211cは、非特定要素情報ANYがない場合には、属性値が共有されないことを示す。IR情報DB212cは、IR情報を記憶する。図23は、実施例3におけるIR情報DBに記憶された情報の一例を示す図である。図23に示すように、IR情報DB212cは、キャッシュサーバ名、キー情報K1、K2、K3として、キャッシュサーバA、ServiceName-001、UserType-001、AccountType-001などを記録する。キャッシュ応答部221cは、キャッシュサーバ300からデータ検索要求を受信すると、受信したデータ検索要求に含まれるサービス特定情報要素E1、E2、E3をキー情報として、キー情報がユーザ情報DB211cに記憶されているか否かを検索する。ここで、ユーザ情報DB211cには、上述したように、非特定要素情報を記憶している。このことを踏まえ、キャッシュ応答部221cは、データが存在する場合には、キー情報のうち、非特定要素情報がANYであるカラムの値をANY要素に置き換えた上で、置き換えた後のキー情報を部分特定情報要素として属性値とともにキャッシュサーバ300に送信する。図22に示すユーザ情報DB211cを例に更に説明する。また、キャッシュサーバ300からのデータ検索要求に含まれるキー情報が、ServiceName-001、UserType-001、AccounType-001である場合を用いて説明する。この場合、キャッシュ応答部221cは、データ応答として、部分特定情報要素ServiceName-001、ANY、ANYと属性値データ1とを送信する。つまり、キャッシュ応答部221cは、キャッシュサーバ300により送信された受信組み合わせを受信すると、組み合わせと一致する複数種類の特定情報の組み合わせと非特定種類情報との組み合わせを記憶部から取得し、取得した特定情報各々のうち取得した非特定種類情報により示される特定情報を非特定種類情報に置き換えた上で、置き換えた後の組み合わせと、組み合わせに対応付けて記憶されたデータとを送信する。[実施例3におけるキャッシュサーバの構成]IR情報判定部322cは、データベースサーバ200から受信したIR情報を用いて、キャッシュ311を更新する。例えば、受信したIR情報にキー情報K1、K2、K3が含まれる場合を用いて説明する。この場合、IR情報判定部322cは、受信したIR情報に含まれるキー情報と一致するキー情報が自装置のキャッシュ311に存在する場合には、該当するキー情報K1、K2、K3と、該当するキー情報に対応付けられた属性値を削除することで、キャッシュ311を最新化する。ここで、IR情報判定部322cは、削除対象となる属性値に対応付けられた参照元レコード一覧を用いて、削除対象となる属性値を参照する全てのキー情報を削除する。そして、IR情報判定部322cは、キャッシュ311からレコードを削除した後、受信したIR情報に含まれるキー情報をもとに、データベースサーバ200からIR情報を削除する。つまり、IR情報判定部322cは、受信したIR情報に含まれるキー情報を含むIR情報削除要求をデータベースサーバ200に送信する。図20を用いて具体的に説明する。IR情報に含まれるキー情報K1、K2、K3が、ServiceName-001、UserType-001、AccountType-001であった場合を用いて説明する。言い換えると、データベースサーバ200において、ServiceName-001、UserType-001、AccountType-001により示される属性値が更新された場合を用いて説明する。この場合、IR情報判定部322cは、該当するキー情報は、任意のカラムが他のキー情報と共有されている可能性があるため、属性値を共有している全てのレコードを削除する。具体的には、IR情報判定部322cは、ServiceName-001、UserType-001、AccountType-001からハッシュ値を算出する。以下では、算出されたハッシュ値が1であるものとして説明する。この場合、IR情報判定部322cは、キャッシュ311のハッシュテーブルからハッシュ値1に対応付けられたレコードID1を取得し、レコードID1を含むレコードをレコードテーブルから取得する。そして、IR情報判定部322cは、取得したレコード内の属性情報ID0を取得し、属性情報ID0を含むレコードを属性情報テーブルから取得し、取得したレコードに含まれる参照元レコード一覧で示されるレコードID014を取得する。そして、IR情報判定部322cは、レコードID014を含むレコードをレコードテーブルから削除し、属性情報ID0を含むレコードを属性情報テーブルから削除する。そして、IR情報判定部322cは、データベースサーバ200に、ServiceName-001、UserType-001、AccountType-001をキー情報として含むIR情報削除要求を送信する。[実施例3におけるデータベースサーバのキャッシュ応答部による処理の流れ]図24は、実施例3におけるデータベースサーバのキャッシュ応答部による処理の流れの一例を示すフローチャートである。図24に示すように、キャッシュ応答部221cは、クライアント100からデータ検索要求を受信するとステップS1101、受信したデータ検索要求から、キー情報K1~KNを取得するステップS1102。そして、キャッシュ応答部221cは、受信したキー情報を持つレコードが自装置内のユーザ情報DB211cに存在するかを検索し、合致したデータを取得するステップS1103。ここで、キャッシュ応答部221cは、データが存在する場合にはステップS1104肯定、検索結果の非特定要素情報カラムをANY要素に置き換えて、部分特定情報要素と属性値を応答するステップS1105。つまり、キャッシュ応答部221cは、検索結果として得られたレコードに含まれるキー情報のうち、非特定要素情報ANYに対応する要素について、ANY要素に置き換えた上で、置き換えられた後のキー情報と属性値とを含むデータ応答をキャッシュサーバ300に送信する。一方、ステップS1104に戻り、自装置内のユーザ情報DB211cにデータが存在しない場合にはステップS1104否定、キャッシュ応答部221cは、キー情報なしを応答するステップS1106。[実施例3におけるキャッシュ削除処理の流れ]図25は、実施例3におけるキャッシュ削除処理の流れの一例を示すフローチャートである。図25に示すように、IR情報判定部322cは、削除対象を示すキー情報であるサービス特定情報要素K1~KNを取得するステップS1201。そして、IR情報判定部322cは、取得したK1~KNをキー情報としてハッシュ値を算出し、キャッシュ311のハッシュテーブルを検索するステップS1202。ここで、IR情報判定部322cは、ハッシュテーブルに、キー情報K1~KNに該当するレコードが存在しない場合にはステップS1203否定、削除対象のレコードは存在しないため、処理を終了する。一方、キー情報K1~KNに対応するレコードが、自装置内のハッシュテーブルに存在する場合にはステップS1203肯定、IR情報判定部322cは、該当するレコードから属性情報IDを取得しステップS1204、属性情報IDで示される属性情報から、参照元レコード一覧を取得するステップS1205。そして、IR情報判定部322cは、参照元レコード一覧の最初のレコードIDを取得するステップS1206。そして、IR情報判定部322cは、取得したレコードIDで示されるレコードをレコードテーブルから削除するとともに、削除したレコードのレコードIDをハッシュテーブルから削除するステップS1207。そして、IR情報判定部322cは、参照元レコード一覧の全てのレコードIDをハッシュテーブルから削除していない場合にはステップS1208否定、参照元レコード一覧の次のレコードIDを取得しステップS1209、ステップS1207の処理を継続する。一方、ステップS1208に戻り、参照元レコードの全てのレコードIDで示されるレコードをハッシュテーブルから削除した場合にはステップS1208肯定、属性情報テーブルから取得したレコードを削除しステップS1210、処理を終了する。[実施例3の効果]上述したように、実施例3によれば、データベースサーバ200は、データごとに、データが特定される複数種類の特定情報の組み合わせと、組み合わせに含まれる特定情報の種類に含まれる非特定種類を示す非特定種類情報との組み合わせを記憶する。また、データベースサーバ200は、特定情報送信部により送信された受信組み合わせを受信すると、組み合わせと一致する複数種類の特定情報の組み合わせと非特定種類情報との組み合わせを記憶部から取得し、取得した特定情報各々のうち取得した非特定種類情報により示される特定情報を非特定種類情報に置き換えた上で、置き換えた後の組み合わせと、組み合わせに対応付けて記憶されたデータとを送信する。この結果、データベースサーバ200における検索処理を迅速に実行可能となる。さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例を示す。例えば、上述した実施例3において、キャッシュサーバ300が、非特定種類情報を含む組み合わせを受信した場合に、特定情報に含まれる非特定種類情報に適用される可能性がある特定情報各々に特定種類情報を置き換えた組み合わせ各々をデータベースに送信しても良い。[システム構成]また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については図1~図25、特記する場合を除いて任意に変更することができる。また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散統合して構成することができる。例えば、キャッシュサーバ300とデータベースサーバ200との一部を統合しても良い。[プログラム]図26は、データベースシステムによる処理をプログラムにて実行するための制御プログラムによる情報処理が、コンピュータを用いて具体的に実現されることを示す図である。図26に例示するように、コンピュータ3000は、例えば、メモリ3010と、CPUCentralProcessingUnit3020とを有する。コンピュータ3000の各部はバス3100によって接続される。メモリ3010は、図26に例示するように、ROM3011及びRAM3012を含む。ROM3011は、例えば、BIOSBasicInputOutputSystem等のブートプログラムを記憶する。ここで、図26に例示するように、ハードディスクドライブ3080は、例えば、OS3081、アプリケーションプログラム3082、プログラムモジュール3083、プログラムデータ3084を記憶する。すなわち、開示の技術に係る制御プログラムは、コンピュータによって実行される指令が記述されたプログラムモジュール3083として、例えばハードディスクドライブ3080に記憶される。具体的には、上記実施例で説明した制御部220や制御部320と同様の情報処理を実行する手順各々が記述されたプログラムモジュールが、ハードディスクドライブ3080に記憶される。また、上記実施例で説明した記憶部210や記憶部310に記憶されるデータのように、制御プログラムによる情報処理に用いられるデータは、プログラムデータ3084として、例えばハードディスクドライブ3080に記憶される。そして、CPU3020が、ハードディスクドライブ3080に記憶されたプログラムモジュール3083やプログラムデータ3084を必要に応じてRAM3012に読み出し、各種の手順を実行する。なお、制御プログラムに係るプログラムモジュール3083やプログラムデータ3084は、ハードディスクドライブ3080に記憶される場合に限られない。例えば、プログラムモジュール3083やプログラムデータ3084は、着脱可能な記憶媒体に記憶されても良い。この場合、CPU3020は、ディスクドライブなどの着脱可能な記憶媒体を介してデータを読み出す。また、同様に、制御プログラムに係るプログラムモジュール3083やプログラムデータ3084は、ネットワークLANLocalAreaNetwork、WANWideAreaNetwork等を介して接続された他のコンピュータに記憶されても良い。この場合、CPU3020は、ネットワークインタフェース3070を介して他のコンピュータにアクセスすることで各種データを読み出す。[その他]なお、本実施例で説明した制御プログラムは、インターネットなどのネットワークを介して配布することができる。また、制御プログラムは、ハードディスク、フレキシブルディスクFD、CD-ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。"