(57)【特許請求の範囲】
【請求項１】
分散データベースと、前記分散データベースに記憶させるデータの取得と利用とを行うクライアントと、前記分散データベースに記憶させるデータをキャッシュする複数のキャッシュサーバと、キャッシュデータ管理装置と、代理装置とを備えるデータベースシステムであって、
前記キャッシュデータ管理装置は、
前記分散データベースに記憶させるデータの識別コードと前記キャッシュサーバそれぞれがキャッシュすべきデータとを対応付けたテーブルを有し、
前記代理装置から前記分散データベースへのアクセスの際に利用するキャッシュサーバの問合せを受信すると、複数の前記キャッシュサーバのうち前記代理装置が利用するデータに対応するキャッシュサーバを第１のアクセス先とし、他の前記キャッシュサーバを第２のアクセス先とするアクセス情報を問合せに対する応答として送信し、
前記キャッシュサーバからキャッシュすべきデータの問合せを受信すると、前記テーブルに基づいて、キャッシュすべきデータの識別コードのリストを応答として送信し、
前記キャッシュサーバは、
前記代理装置からデータを前記分散データベースに記憶させる蓄積要求を受信すると、当該蓄積要求に含まれるデータが自サーバにおいてキャッシュすべきデータであるか否かを判定し、判定結果に応じて当該データをメモリキャッシュに記憶させた後に、前記分散データベースに当該データを記憶させるキャッシュ対象判定部を有し、
前記代理装置は、前記クライアントからデータを前記分散データベースに記憶させる蓄積要求を受信すると、前記分散データベースへのアクセスの際に利用するキャッシュサーバの問合せを前記キャッシュデータ管理装置へ送信し、
前記代理装置は、前記キャッシュデータ管理装置から受ける応答に含まれる前記第１のアクセス先に対して、前記第２のアクセス先よりも優先してアクセスすることによって、前記データを前記分散データベースに記憶させることを要求する
ことを特徴とするデータベースシステム。
【請求項２】
請求項１に記載のデータベースシステムにおいて、
前記キャッシュ対象判定部は、
前記メモリキャッシュにデータを記憶させてから一定期間が経過すると当該データをクリアする
ことを特徴とするデータベースシステム。
【請求項３】
請求項１又は請求項２に記載のデータベースシステムにおいて、
前記代理装置は、
前記第１のアクセス先で示されるキャッシュサーバから応答がない場合に、前記第２のアクセス先で示されるキャッシュサーバを介して前記分散データベースにアクセスする
ことを特徴とするデータベースシステム。
【請求項４】
分散データベースと、前記分散データベースに記憶させるデータの取得と利用とを行うクライアントと、前記分散データベースに記憶させるデータをキャッシュする複数のキャッシュサーバと、前記分散データベースに記憶させるデータの識別コードと前記キャッシュサーバそれぞれがキャッシュすべきデータとを対応付けたテーブルを有するキャッシュデータ管理装置と、代理装置とを備えるデータベースシステムにおけるデータベース制御方法であって、
前記代理装置が、前記クライアントからデータを前記分散データベースに記憶させる蓄積要求を受信すると、前記分散データベースへのアクセスの際に利用するキャッシュサーバの問合せを前記キャッシュデータ管理装置へ送信する第１のステップと、
前記キャッシュデータ管理装置が、前記代理装置から前記分散データベースへのアクセスの際に利用するキャッシュサーバの問合せを受信すると、複数の前記キャッシュサーバのうち前記代理装置が利用するデータに対応するキャッシュサーバを第１のアクセス先とし、他の前記キャッシュサーバを第２のアクセス先とするアクセス情報を問合せに対する応答として送信する第２のステップと、
前記キャッシュデータ管理装置が、前記キャッシュサーバからキャッシュすべきデータの問合せを受信すると、前記テーブルに基づいて、キャッシュすべきデータの識別コードのリストを応答として送信する第３のステップと、
前記代理装置が、前記キャッシュデータ管理装置から受ける応答に含まれる前記第１のアクセス先に対して、前記第２のアクセス先よりも優先してアクセスすることによって、前記データを前記分散データベースに記憶させることを要求する第４のステップと、
前記キャッシュサーバが、前記代理装置からデータを前記分散データベースに記憶させる蓄積要求を受信すると、当該蓄積要求に含まれるデータが自サーバにおいてキャッシュすべきデータであるか否かを判定し、判定結果に応じて当該データをメモリキャッシュに記憶させた後に、前記分散データベースに当該データを記憶させる第５のステップと
を含むことを特徴とするデータベース制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースシステム及びデータベース制御方法に関する。
【背景技術】
【０００２】
分散データベースに記憶されているデータへのアクセスを高速化するために、データを一時的に記憶するキャッシュを用いることが行われている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−０７７０６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、分散データベースを構成する各データベースに記憶されているデータの更新が並行して行われた場合などにおけるデータの整合性を保つための処理が煩雑になってしまうという問題があった。
【０００５】
上記事情に鑑み、本発明は、簡便な処理で、分散データベースに記憶されているデータの整合性を保ちつつ、キャッシュを利用したデータへのアクセスを高速化できるデータベースシステム及びデータベース制御方法を提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の一態様は、分散データベースと、前記分散データベースに記憶させるデータの取得と利用とを行うクライアントと、前記分散データベースに記憶させるデータをキャッシュする複数のキャッシュサーバと、キャッシュデータ管理装置と、代理装置とを備えるデータベースシステムであって、前記キャッシュデータ管理装置は、前記分散データベースに記憶させるデータの識別コードと前記キャッシュサーバそれぞれがキャッシュすべきデータとを対応付けたテーブルを有し、前記代理装置から前記分散データベースへのアクセスの際に利用するキャッシュサーバの問合せを受信すると、複数の前記キャッシュサーバのうち前記代理装置が利用するデータに対応するキャッシュサーバを第１のアクセス先とし、他の前記キャッシュサーバを第２のアクセス先とするアクセス情報を問合せに対する応答として送信し、前記キャッシュサーバからキャッシュすべきデータの問合せを受信すると、前記テーブルに基づいて、キャッシュすべきデータの識別コードのリストを応答として送信し、前記キャッシュサーバは、前記代理装置からデータを前記分散データベースに記憶させる蓄積要求を受信すると、当該蓄積要求に含まれるデータが自サーバにおいてキャッシュすべきデータであるか否かを判定し、判定結果に応じて当該データをメモリキャッシュに記憶させた後に、前記分散データベースに当該データを記憶させるキャッシュ対象判定部を有し、前記代理装置は、前記クライアントからデータを前記分散データベースに記憶させる蓄積要求を受信すると、前記分散データベースへのアクセスの際に利用するキャッシュサーバの問合せを前記キャッシュデータ管理装置へ送信し、前記代理装置は、前記キャッシュデータ管理装置から受ける応答に含まれる前記第１のアクセス先に対して、前記第２のアクセス先よりも優先してアクセスすることによって、前記データを前記分散データベースに記憶させることを要求することを特徴とするデータベースシステムである。
【０００７】
本発明の一態様は、上記のデータベースシステムにおいて、前記キャッシュ対象判定部は、前記メモリキャッシュにデータを記憶させてから一定期間が経過すると当該データをクリアすることを特徴とする。
【０００８】
本発明の一態様は、上記のデータベースシステムにおいて、前記代理装置は、前記第１のアクセス先で示されるキャッシュサーバから応答がない場合に、前記第２のアクセス先で示されるキャッシュサーバを介して前記分散データベースにアクセスすることを特徴とする。
【０００９】
本発明の一態様は、分散データベースと、前記分散データベースに記憶させるデータの取得と利用とを行うクライアントと、前記分散データベースに記憶させるデータをキャッシュする複数のキャッシュサーバと、前記分散データベースに記憶させるデータの識別コードと前記キャッシュサーバそれぞれがキャッシュすべきデータとを対応付けたテーブルを有するキャッシュデータ管理装置と、代理装置とを備えるデータベースシステムにおけるデータベース制御方法であって、前記代理装置が、前記クライアントからデータを前記分散データベースに記憶させる蓄積要求を受信すると、前記分散データベースへのアクセスの際に利用するキャッシュサーバの問合せを前記キャッシュデータ管理装置へ送信する第１のステップと、前記キャッシュデータ管理装置が、前記代理装置から前記分散データベースへのアクセスの際に利用するキャッシュサーバの問合せを受信すると、複数の前記キャッシュサーバのうち前記代理装置が利用するデータに対応するキャッシュサーバを第１のアクセス先とし、他の前記キャッシュサーバを第２のアクセス先とするアクセス情報を問合せに対する応答として送信する第２のステップと、前記キャッシュデータ管理装置が、前記キャッシュサーバからキャッシュすべきデータの問合せを受信すると、前記テーブルに基づいて、キャッシュすべきデータの識別コードのリストを応答として送信する第３のステップと、前記代理装置が、前記キャッシュデータ管理装置から受ける応答に含まれる前記第１のアクセス先に対して、前記第２のアクセス先よりも優先してアクセスすることによって、前記データを前記分散データベースに記憶させることを要求する第４のステップと、前記キャッシュサーバが、前記代理装置からデータを前記分散データベースに記憶させる蓄積要求を受信すると、当該蓄積要求に含まれるデータが自サーバにおいてキャッシュすべきデータであるか否かを判定し、判定結果に応じて当該データをメモリキャッシュに記憶させた後に、前記分散データベースに当該データを記憶させる第５のステップとを含むことを特徴とするデータベース制御方法である。
【発明の効果】
【００１０】
本発明によれば、キャッシュサーバがキャッシュすべきデータを限定していることにより、クライアントが他のキャッシュサーバを介して分散データベースにアクセスした場合でも、複数のキャッシュサーバに同じデータのキャッシュがされ整合性が崩れることを防ぐことができる。本発明では、キャッシュデータ管理装置を設け、クライアントがキャッシュデータ管理装置にアクセス先のキャッシュサーバを問い合せるという簡便な処理で、分散データベースに記憶されているデータとキャッシュサーバに一時的に記憶されているデータとの整合性を保ちつつ、キャッシュサーバを利用したデータへのアクセスの高速化が可能となる。
【図面の簡単な説明】
【００１１】
【図１】実施形態におけるデータベースシステムの構成例を示すブロック図である。
【図２】実施形態のデータベースシステムにおいて分散データベース２に基地局情報を記憶させる処理の一例を示す図である。
【図３】実施形態のデータベースシステムにおいて基地局情報利用装置１２が基地局情報を検索する処理の一例を示す図である。
【図４】実施形態のデータベースシステムにおいて分散データベース２に基地局情報を記憶させる処理の一例を示す図である。
【図５】実施形態のデータベースシステムにおいて基地局情報利用装置１２が基地局情報を検索する処理の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明に係る実施形態におけるデータベースシステム及びデータベース制御方法を説明する。図１は、実施形態におけるデータベースシステムの構成例を示すブロック図である。図１に示すように、データベースシステムは、複数の基地局情報蓄積装置１１、複数の基地局情報利用装置１２、分散データベース２、複数のキャッシュサーバ３、キャッシュデータ管理装置４及びプロキシ装置５を備えている。図１に示す構成例では、データベースシステムがキャッシュデータ管理装置４を一つ備える構成が示されているが、キャッシュデータ管理装置４を複数備えて冗長化されていてもよい。
【００１３】
また、図１に示す構成例では、分散データベース２に対するクライアントとしての基地局情報蓄積装置１１及び基地局情報利用装置１２と、キャッシュサーバ３と、キャッシュデータ管理装置４と、プロキシ装置５とがネットワーク６を介して通信可能に接続されている構成が示されているが、クライアントとプロキシ装置５とを通信可能に接続するネットワークと、プロキシ装置５とキャッシュサーバ３とを通信可能に接続するネットワークと、プロキシ装置５とキャッシュデータ管理装置４とを通信可能に接続するネットワークと、キャッシュサーバ３とキャッシュデータ管理装置４とを通信可能に接続するネットワークとが個別に存在していてもよい。
【００１４】
複数の基地局情報蓄積装置１１は、それぞれが定められた地域に対応して設けられている。基地局情報蓄積装置１１は、自装置に対応付けられている地域の基地局情報を取得する。基地局情報蓄積装置１１は、プロキシ装置５を介して、取得した基地局情報を分散データベース２に記憶させる。基地局情報には、自身に対応する地域及び自身に対応する基地局を一意に識別する識別コードが含まれている。
【００１５】
複数の基地局情報利用装置１２は、基地局情報蓄積装置１１と同様に、それぞれが定められた地域に対応して設けられている。基地局情報利用装置１２は、任意の地域の基地局情報を識別コードに基づいて、プロキシ装置５を介して分散データベース２から取得する。基地局情報利用装置１２は、取得した基地局情報に基づいて、自装置が対応付けられている地域における基地局の制御に用いる制御情報の生成や、基地局の制御などを行う。
【００１６】
分散データベース２は、複数の基地局情報蓄積装置１１によって取得された複数の地域における基地局情報を記憶する。分散データベース２は、複数の地域における基地局情報を記憶する複数のデータベース２１を有している。分散データベース２に記憶される基地局情報は、アクセス頻度や更新頻度などに基づいて、複数のデータベース２１のいずれかのデータベース２１に分散して記憶される。
【００１７】
複数のデータベース２１は、ネットワーク２２を介して通信可能に接続されている。データベース２１は、キャッシュサーバ３から受信した基地局情報の蓄積要求に応じて、自身が基地局情報を記憶したり、他のデータベース２１に基地局情報を記憶させたりする。また、データベース２１は、キャッシュサーバ３から受信した基地局情報の検索要求に応じて、自身が記憶している基地局情報を応答として送信したり、他のデータベース２１に記憶されている基地局装置を他のデータベース２１から受信して転送したりする。
【００１８】
複数のキャッシュサーバ３は、それぞれが分散データベース２におけるデータベース２１のいずれかに通信可能に接続されている。キャッシュサーバ３は、地域ごとに設けられている。キャッシュサーバ３には、それぞれを識別及びアクセスする際に用いられるアドレスが一意に割り当てられている。キャッシュサーバ３は、キャッシュ対象判定部３１、及び、メモリキャッシュ３２を有している。キャッシュ対象判定部３１は、自サーバがキャッシュすべき基地局情報の識別コードを含むキャッシュ対象情報をキャッシュデータ管理装置４から受信して記憶する。
【００１９】
キャッシュ対象判定部３１は、プロキシ装置５から受信する基地局情報の蓄積要求に含まれる基地局情報とキャッシュ対象情報とに基づいて、自サーバのメモリキャッシュ３２に当該基地局情報を記憶させるか否かを判定する。キャッシュ対象判定部３１は、判定結果に応じて、プロキシ装置５から受信した基地局情報をメモリキャッシュ３２に記憶させる。また、キャッシュ対象判定部３１は、プロキシ装置５から受信した基地局情報の蓄積要求を分散データベース２に送信して、基地局情報を分散データベース２に記憶させる。キャッシュ対象判定部３１は、基地局情報をメモリキャッシュ３２に記憶させる際に、当該基地局情報にメモリキャッシュ３２に記憶させるときの時刻を対応付けて記憶させる。
【００２０】
また、キャッシュ対象判定部３１は、プロキシ装置５から受信する基地局情報の検索要求を受信すると、当該検索要求に含まれる識別コードとキャッシュ対象情報とに基づいて、検索要求に含まれる識別コードにより示される基地局情報がキャッシュ対象であるか否かを判定する。更に、キャッシュ対象判定部３１は、検索要求に含まれる識別コードにより示される基地局情報がキャッシュ対象である場合、当該基地局情報がメモリキャッシュ３２に記憶されているか否かを判定する。キャッシュ対象判定部３１は、検索要求の対象である基地局情報がメモリキャッシュ３２に記憶されている場合、当該基地局情報をメモリキャッシュ３２から読み出す。キャッシュ対象判定部３１は、基地局情報の検索要求を送信したプロキシ装置５に、読み出した基地局情報を検索結果として送信する。
【００２１】
キャッシュ対象判定部３１は、受信した基地局情報の検索要求で要求されている基地局情報が自サーバにおけるキャッシュ対象でない場合、又はキャッシュ対象であってもメモリキャッシュ３２に記憶されていない場合、受信した基地局情報の検索要求を分散データベース２に送信する。キャッシュ対象判定部３１は、分散データベース２に送信した基地局の検索要求に対する基地局情報を受信する。キャッシュ対象判定部３１は、受信した基地局情報を基地局情報の検索要求の送信元のプロキシ装置５に送信する。
【００２２】
キャッシュデータ管理装置４は、データベースシステムが備えるキャッシュサーバ３ごとに、キャッシュサーバ３がキャッシュすべき基地局情報の識別コードのリストを含むテーブルを有している。キャッシュデータ管理装置４は、キャッシュサーバ３からキャッシュすべき基地局情報の問合せを受信すると、当該キャッシュサーバ３に対応付けられている識別コードのリストをテーブルから読み出す。キャッシュデータ管理装置４は、読み出した識別コードのリストを、キャッシュ対象情報として問合せの送信元のキャッシュサーバ３に送信する。
【００２３】
また、キャッシュデータ管理装置４は、基地局情報を分散データベース２に記憶させる際にアクセスすべきキャッシュサーバ３を問い合せる要求をプロキシ装置５から受信する。この問合せには、基地局情報に対応する識別コードが含まれる。キャッシュデータ管理装置４は、受信した問合せの要求に含まれる識別コードに対応付けられているキャッシュサーバ３をテーブルで特定し、特定したキャッシュサーバ３のアドレスを第１のアクセス先とし、他のキャッシュサーバ３のアドレスを第２のアクセス先に定める。キャッシュデータ管理装置４は、第１のアクセス先と第２のアクセス先とを含むアクセス先情報を問合せの送信元のプロキシ装置５に送信する。
【００２４】
また、キャッシュデータ管理装置４は、基地局情報を分散データベース２において検索する際にアクセスすべきキャッシュサーバ３を問い合せる要求をプロキシ装置５から受信する。この問合せには、基地局情報又は地域に対応する識別コードが含まれる。キャッシュデータ管理装置４は、受信した問合せの要求に含まれる識別コードに対応付けられているキャッシュサーバ３をテーブルで特定し、特定したキャッシュサーバ３のアドレスを第１のアクセス先とし、他のキャッシュサーバ３のアドレスを第２のアクセス先に定める。キャッシュデータ管理装置４は、第１のアクセス先と第２のアクセス先とを含むアクセス先情報を問合せの送信元のプロキシ装置５に送信する。
【００２５】
プロキシ装置５は、基地局情報蓄積装置１１及び基地局情報利用装置１２の要求に応じて、キャッシュサーバ３ａ、キャッシュサーバ３ｂ及びキャッシュデータ管理装置４に対して行われる処理を代行する。以下、より詳細にプロキシ装置５について説明する。
【００２６】
プロキシ装置５は、基地局情報蓄積装置１１から基地局情報の蓄積要求を受信する。この基地局情報の蓄積要求には、基地局情報に対応する識別コードが含まれる。プロキシ装置５は、この識別コードを用いて、キャッシュサーバ３の問い合わせをキャッシュデータ管理装置４に送信する。プロキシ装置５は、問い合わせに対してキャッシュデータ管理装置４から送信されるキャッシュサーバの通知を受信する。プロキシ装置５は、基地局情報蓄積装置１１から受信された基地局情報の蓄積要求と同様の内容を含む蓄積要求を、キャッシュデータ管理装置４から通知されたキャッシュサーバ３に送信する。
【００２７】
プロキシ装置５は、基地局情報利用装置１２から基地局情報の検索要求を受信する。この基地局情報の検索要求には、基地局情報に対応する識別コードが含まれる。プロキシ装置５は、この識別コードを用いて、キャッシュサーバ３の問い合わせをキャッシュデータ管理装置４に送信する。プロキシ装置５は、問い合わせに対してキャッシュデータ管理装置４から送信されるキャッシュサーバの通知を受信する。プロキシ装置５は、基地局情報利用装置１２から受信された基地局情報の検索要求と同様の内容を含む検索要求を、キャッシュデータ管理装置４から通知されたキャッシュサーバ３に送信する。
【００２８】
図２は、実施形態のデータベースシステムにおいて分散データベース２に基地局情報を記憶させる処理の一例を示す図である。図２に示す例では、データベースシステムが２つのキャッシュサーバ３（キャッシュサーバ３ａとキャッシュサーバ３ｂ）を備える場合を示している。また、基地局情報蓄積装置１１が記憶させる基地局情報にキャッシュサーバ３ａが対応付けられている場合について説明する。
【００２９】
キャッシュサーバ３ａにおいて、キャッシュ対象判定部３１は、自サーバがキャッシュすべき基地局情報（キャッシュ対象）を問い合せる要求を、キャッシュデータ管理装置４に送信する（ステップＳ１１）。
【００３０】
キャッシュデータ管理装置４は、自装置が有するテーブルから、問合せ要求の送信元のキャッシュサーバ３ａがキャッシュすべき基地局情報を示す識別コードのリストを読み出す。キャッシュデータ管理装置４は、読み出した識別コードのリストを問合せ要求の返信としてキャッシュサーバ３ａに送信して、キャッシュ対象を通知する（ステップＳ１２）。キャッシュサーバ３ａにおいて、キャッシュ対象判定部３１はキャッシュデータ管理装置４から通知された識別コードのリストを記憶する。
【００３１】
キャッシュサーバ３ｂにおいて、キャッシュ対象判定部３１は、自サーバがキャッシュすべき基地局情報（キャッシュ対象）を問い合せる要求を、キャッシュデータ管理装置４に送信する（ステップＳ１３）。
【００３２】
キャッシュデータ管理装置４は、自装置が有するテーブルから、問合せ要求の送信元のキャッシュサーバ３ｂがキャッシュすべき基地局情報を示す識別コードのリストを読み出す。キャッシュデータ管理装置４は、読み出した識別コードのリストを問合せ要求の返信としてキャッシュサーバ３ｂに送信して、キャッシュ対象を通知する（ステップＳ１４）。キャッシュサーバ３ｂにおいて、キャッシュ対象判定部３１はキャッシュデータ管理装置４から通知された識別コードのリストを記憶する。
【００３３】
基地局情報蓄積装置１１は、自装置が取得した基地局情報を分散データベース２に記憶させる要求を示す蓄積要求をプロキシ装置５に送信する（ステップＳ１５）。蓄積要求には、情報が蓄積される対象となる基地局の情報（基地局情報）が含まれる。プロキシ装置５は、基地局情報蓄積装置１１から蓄積要求を受信すると、受信された基地局情報を分散データベース２に記憶させる際にアクセスすべきキャッシュサーバ３を問い合せる要求をキャッシュデータ管理装置４に送信する（ステップＳ１６）。
【００３４】
キャッシュデータ管理装置４は、問合せ要求に含まれる基地局情報の識別コードに基づいて第１のアクセス先（キャッシュサーバ３ａ）と第２のアクセス先（キャッシュサーバ３ｂ）とを定め、第１のアクセス先と第２のアクセス先とを含むアクセス情報を、問合せ要求の返信としてプロキシ装置５に送信する（ステップＳ１７）。
【００３５】
プロキシ装置５は、キャッシュデータ管理装置４から受信したアクセス情報に含まれる第１のアクセス先（キャッシュサーバ３ａ）に、分散データベース２に記憶させる基地局情報と当該基地局情報を記憶させる要求とを含む蓄積要求を送信する（ステップＳ１８）。
【００３６】
キャッシュサーバ３ａは、プロキシ装置５から蓄積要求を受信する。キャッシュサーバ３ａにおいて、キャッシュ対象判定部３１は、受信した蓄積要求に含まれる基地局情報の識別コードが、記憶している識別コードのリストに含まれていることを検出する。キャッシュ対象判定部３１は、受信した蓄積要求に含まれる基地局情報がキャッシュすべき基地局情報であると判定し、当該基地局情報と現在の時刻とを対応付けてメモリキャッシュ３２に記憶させる（ステップＳ１９）。
【００３７】
キャッシュ対象判定部３１は、メモリキャッシュ３２に基地局情報を記憶させると、当該基地局情報を分散データベース２に記憶させる保存要求を分散データベース２に送信する（ステップＳ２０）。
【００３８】
キャッシュ対象判定部３１は、分散データベース２から保存完了の通知を受信すると（ステップＳ２１）、基地局情報の蓄積が完了したことを蓄積要求の送信元のプロキシ装置５に送信して、蓄積完了の通知をする（ステップＳ２２）。蓄積完了の通知を受信したプロキシ装置５は、ステップＳ１５において受信された蓄積要求の送信元である基地局情報蓄積装置１１に対し、蓄積完了の通知をする（ステップＳ２３）。
【００３９】
図３は、実施形態のデータベースシステムにおいて基地局情報利用装置１２が基地局情報を検索する処理の一例を示す図である。図３に示す例では、図２に示した例と同様に、データベースシステムが２つのキャッシュサーバ３（キャッシュサーバ３ａとキャッシュサーバ３ｂ）を備える場合を示している。また、基地局情報利用装置１２が検索の対象とする基地局情報にキャッシュサーバ３ａが対応付けられ、キャッシュサーバ３ａが有するメモリキャッシュ３２に当該基地局情報が記憶されている場合について説明する。なお、図３におけるステップＳ１１〜ステップＳ１４は、図２におけるステップＳ１１〜ステップＳ１４と同じ処理であり、その説明を省略する。
【００４０】
基地局情報利用装置１２は、自装置が利用する基地局情報を分散データベース２において検索することの要求を示す検索要求をプロキシ装置５に送信する（ステップＳ３１）。検索要求には、情報が検索される対象となる基地局の情報（基地局情報）が含まれる。プロキシ装置５は、基地局情報利用装置１２から検索要求を受信すると、受信された基地局情報を分散データベース２において検索する際にアクセスすべきキャッシュサーバ３を問い合せる要求をキャッシュデータ管理装置４に送信する（ステップＳ３２）。
【００４１】
キャッシュデータ管理装置４は、問合せ要求に含まれる基地局情報の識別コードに基づいて第１のアクセス先と第２のアクセス先とを定め、第１のアクセス先と第２のアクセス先とを含むアクセス情報を、問合せ要求の返信としてプロキシ装置５に送信する（ステップＳ３３）。
【００４２】
プロキシ装置５は、キャッシュデータ管理装置４から受信したアクセス情報に含まれる第１のアクセス先（キャッシュサーバ３ａ）に、利用する基地局情報の識別コードと当該基地局情報の検索を要求する検索要求を送信する（ステップＳ３４）。
【００４３】
キャッシュサーバ３ａは、プロキシ装置５から検索要求を受信する。キャッシュサーバ３ａにおいて、キャッシュ対象判定部３１は、受信した検索要求に含まれる基地局情報の識別コードが、記憶している識別コードのリストに含まれていることを検出する。キャッシュ対象判定部３１は、受信した検索要求で示される基地局情報がキャッシュすべき基地局情報であると判定し、更にメモリキャッシュ３２に当該基地局情報が記憶されていることを検出する。キャッシュ対象判定部３１は、検索要求に対応する基地局情報をメモリキャッシュ３２から読み出す（ステップＳ３５）。
【００４４】
キャッシュ対象判定部３１は、検索要求の送信元のプロキシ装置５に検索結果として、読み出した基地局情報を送信する（ステップＳ３６）。検索結果を受信したプロキシ装置５は、ステップＳ３１において受信された検索要求の送信元である基地局情報利用装置１２に対し、検索結果を送信する（ステップＳ３７）。
【００４５】
図４は、実施形態のデータベースシステムにおいて分散データベース２に基地局情報を記憶させる処理の一例を示す図である。図４に示す例では、図２に示した例と同様に、データベースシステムが２つのキャッシュサーバ３（キャッシュサーバ３ａとキャッシュサーバ３ｂ）を備える場合を示している。また、基地局情報蓄積装置１１が記憶させる基地局情報にキャッシュサーバ３ａが対応付けられている。なお、図４に示す例では、ネットワーク６における障害によって基地局情報蓄積装置１１とキャッシュサーバ３ａとが通信不能になっている場合について説明する。なお、図４におけるステップＳ１１〜ステップＳ１７は、図２におけるステップＳ１１〜ステップＳ１７と同じ処理であり、その説明を省略する。
【００４６】
プロキシ装置５は、キャッシュデータ管理装置４から受信したアクセス情報に含まれる第１のアクセス先（キャッシュサーバ３ａ）に、分散データベース２に記憶させる基地局情報と当該基地局情報を記憶させる要求とを含む蓄積要求を送信する（ステップＳ４１）。
【００４７】
プロキシ装置５は、蓄積要求に対する応答がキャッシュサーバ３ａから得られないことから、ネットワーク６又はキャッシュサーバ３ａに障害が発生していると判定する。プロキシ装置５は、アクセス情報に含まれる第２のアクセス先（キャッシュサーバ３ｂ）に、分散データベース２に記憶させる基地局情報と当該基地局情報を記憶させる要求とを含む蓄積要求を送信する（ステップＳ４２）。
【００４８】
キャッシュサーバ３ｂは、プロキシ装置５から蓄積要求を受信する。キャッシュサーバ３ｂにおいて、キャッシュ対象判定部３１は、受信した蓄積要求に含まれる基地局情報の識別コードが、記憶している識別コードのリストに含まれていないことを検出する。キャッシュ対象判定部３１は、受信した蓄積要求に含まれる基地局情報がキャッシュすべき基地局情報でないと判定し、当該基地局情報を分散データベース２に記憶させる保存要求を分散データベース２に送信する（ステップＳ４３）。
【００４９】
キャッシュ対象判定部３１は、分散データベース２から保存完了の通知を受信すると（ステップＳ４４）、基地局情報の蓄積が完了したことを蓄積要求の送信元のプロキシ装置５に送信して、蓄積完了の通知をする（ステップＳ４５）。蓄積完了の通知を受信したプロキシ装置５は、ステップＳ１５において受信された蓄積要求の送信元である基地局情報蓄積装置１１に対し、蓄積完了の通知をする（ステップＳ２３）。
【００５０】
キャッシュサーバ３ａにおいて、キャッシュ対象判定部３１は、メモリキャッシュ３２に記憶されている基地局情報に対応付けられている時刻に基づいて、基地局情報をメモリキャッシュ３２に記憶させてから一定期間が経過しているか否かを判定する。一定期間が経過していると判定した場合、キャッシュ対象判定部３１は、記憶させてから一定期間が経過している基地局情報をメモリキャッシュ３２からクリア（削除）する（ステップＳ４６）。
【００５１】
図５は、実施形態のデータベースシステムにおいて基地局情報利用装置１２が基地局情報を検索する処理の一例を示す図である。図５に示す例では、図２に示した例と同様に、データベースシステムが２つのキャッシュサーバ３（キャッシュサーバ３ａとキャッシュサーバ３ｂ）を備える場合を示している。また、基地局情報利用装置１２が検索の対象とする基地局情報にキャッシュサーバ３ａが対応付けられている。なお、図５に示す例では、ネットワーク６における障害によって基地局情報利用装置１２とキャッシュサーバ３ａとが通信不能になっている場合について説明する。なお、図５におけるステップＳ１１〜ステップＳ１４及びステップＳ３１〜ステップＳ３３は、図３におけるステップＳ１１〜ステップＳ１４及びステップＳ３１〜ステップＳ３３と同じ処理であり、その説明を省略する。
【００５２】
プロキシ装置５は、キャッシュデータ管理装置４から受信したアクセス情報に含まれる第１のアクセス先（キャッシュサーバ３ａ）に、利用する基地局情報の識別コードと当該基地局情報の検索を要求する検索要求を送信する（ステップＳ５１）。
【００５３】
プロキシ装置５は、検索要求に対する応答がキャッシュサーバ３ａから得られないことから、ネットワーク６又はキャッシュサーバ３ａに障害が発生していると判定する。プロキシ装置５は、アクセス情報に含まれる第２のアクセス先（キャッシュサーバ３ｂ）に、利用する基地局情報の識別コードと当該基地局情報の検索を要求する検索要求を送信する（ステップＳ５２）。
【００５４】
キャッシュサーバ３ｂは、プロキシ装置５から検索要求を受信する。キャッシュサーバ３ｂにおいて、キャッシュ対象判定部３１は、受信した検索要求に含まれる基地局情報の識別コードが、記憶している識別コードのリストに含まれていないことを検出する。キャッシュ対象判定部３１は、受信した検索要求で示される基地局情報がキャッシュすべき基地局情報でないと判定し、当該検索要求を分散データベース２に送信する（ステップＳ５３）。
【００５５】
キャッシュ対象判定部３１は、分散データベース２から検索要求で示される基地局情報を検索結果として受信すると（ステップＳ５４）、当該検索結果を検索要求の送信元のプロキシ装置５に送信する（ステップＳ５５）。検索結果を受信したプロキシ装置５は、ステップＳ３１において受信された検索要求の送信元である基地局情報利用装置１２に対し、検索結果を送信する（ステップＳ３７）。
【００５６】
図４及び図５において、プロキシ装置５がネットワーク６の障害のためにキャッシュサーバ３ａにアクセスできない場合における処理を説明したが、キャッシュサーバ３ａに障害が発生してダウンしている場合においても同様の処理が行われる。なお、キャッシュサーバ３ａがダウンしている場合には、図４におけるステップＳ４６のメモリキャッシュ３２のクリアは行われない。
【００５７】
実施形態のデータベースシステムによれば、ある基地局情報をキャッシュすべきキャッシュサーバ３が停止している場合、クライアント（基地局情報蓄積装置１１及び基地局情報利用装置１２）の要求（蓄積要求、検索要求）を受けたプロキシ装置５は、第２のアクセス先で示される他のキャッシュサーバ３を介して分散データベース２にアクセスする。このとき、他のキャッシュサーバ３は、自サーバがキャッシュすべき基地局情報以外をメモリキャッシュ３２に記憶させない。これにより、ある基地局情報をキャッシュすべきキャッシュサーバ３が復旧した後に、他のキャッシュサーバ３に更新されない基地局情報が残ることを防ぎ、プロキシ装置５及びクライアントが他のキャッシュサーバ３に記憶されている古い基地局情報を取得してしまうことを防ぐことができる。
【００５８】
また、実施形態のデータベースシステムによれば、キャッシュサーバ３は、メモリキャッシュ３２に記憶している基地局情報に対して、一定期間において新たな蓄積要求（更新要求）を受信しなかった場合に当該基地局情報を無効な情報としてクリアする。これにより、ネットワーク６の障害（例えば、切断）によりプロキシ装置５がある基地局情報をキャッシュするキャッシュサーバ３ではなく、第２のアクセス先で示されるキャッシュサーバ３を介して分散データベース２にアクセスした場合に、分散データベース２における基地局情報とキャッシュサーバ３がキャッシュしている基地局情報とにおける不一致を解消することができる。
【００５９】
分散データベースの可用性を生かすために、単一障害点とならないようにメモリキャッシュを分散データベースの各ノードに配置した場合、分散データベースはどのノードからでもデータ更新が可能であるので様々な場所から分散データベースのデータが更新される。この場合、メモリキャッシュのデータと分散データベースのデータとの整合性がなってしまう。これに対して、本実施形態のデータベースシステムでは、キャッシュサーバ３にキャッシュさせる基地局情報を限定しているので、キャッシュサーバ３にキャッシュされている基地局情報と、分散データベース２に記憶されている基地局情報とにおける整合性が崩れることを防ぎ、信頼性のある基地局情報を高速に蓄積、検索することが可能になる。また、本実施形態のデータベースシステムでは、プロキシ装置５がアクセス先のキャッシュサーバ３をキャッシュデータ管理装置４に問い合せるという簡便な処理で、分散データベース２におけるデータの整合性を保ちつつ、キャッシュサーバを利用したデータへのアクセスの高速化を図ることができる。
【００６０】
また、キャッシュサーバ３がキャッシュする基地局情報を限定し、キャッシュされている基地局情報に一定期間の有効期限を設けていることにより、キャッシュサーバ３が停止したり、キャッシュサーバ３への通信に障害が生じたりした際に、他のキャッシュサーバ３を介して分散データベース２に基地局情報を記憶させた後に、キャッシュサーバ３が復帰した場合でも、メモリキャッシュ３２と分散データベース２との整合性を保つことができる。
【００６１】
また、プロキシ装置５から一定期間において基地局情報の蓄積要求がない場合にメモリキャッシュ３２をクリアするので、ネットワーク６等のダウンによりプロキシ装置５と、キャッシュを行っているキャッシュサーバ３との通信が行えない状況が続いて、プロキシ装置５が他のキャッシュサーバ３に基地局情報の蓄積要求を行った後に、プロキシ装置５と、キャッシュを行っているキャッシュサーバ３との通信が回復した場合でも、キャッシュサーバ３が検索要求を受信したときに古い基地局情報をプロキシ装置５に返信することを防ぐことができる。
【００６２】
また、クライアント（基地局情報蓄積装置１１及び基地局情報利用装置１２）は、プロキシ装置５に要求（蓄積要求及び検索要求）を送信すれば、プロキシ装置５から要求に対する応答を得ることができる。すなわち、クライアントは、キャッシュデータ管理装置４への問い合わせを行う必要が無い。同様に、クライアントは、キャッシュデータ管理装置４に対する問い合わせ結果やネットワーク６の状況に応じて、アクセス先となるキャッシュサーバ３を判定する必要が無い。そのため、クライアントは煩雑な処理を行う必要が無くなる。
【００６３】
上述した実施形態における基地局情報蓄積装置１１、基地局情報利用装置１２、キャッシュサーバ３、キャッシュデータ管理装置４、プロキシ装置５のいずれか又はすべてをコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、更に前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されるものであってもよい。
【００６４】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００６５】
分散データベースの可用性を保ちつつメモリキャッシュによる高速化が不可欠な用途にも適用できる。
【符号の説明】
【００６６】
１１…基地局情報蓄積装置
１２…基地局情報利用装置
２…分散データベース
２１…データベース
２２…ネットワーク
３、３ａ、３ｂ…キャッシュサーバ
３１…キャッシュ対象判定部
３２…メモリキャッシュ
４…キャッシュデータ管理装置
５…プロキシ装置（代理装置）
６…ネットワーク
【要約】
【課題】キャッシュされるデータの整合性を保ちつつキャッシュを利用したデータへのアクセスを高速化する。
【解決手段】複数のキャッシュサーバとキャッシュデータ管理装置と代理装置とを備える。代理装置はクライアントに代わってキャッシュサーバやキャッシュデータ管理装置と通信する。キャッシュデータ管理装置は各キャッシュサーバがキャッシュすべきデータのテーブルを有し、キャッシュすべきデータの問合せに応じてキャッシュすべきデータの識別コードを応答として送信する。キャッシュサーバは、代理装置からデータを分散データベースに記憶させる要求を受信すると、当該要求に含まれるデータが自サーバにおいてキャッシュすべきデータであるか否かを判定し、判定結果に応じてデータをメモリキャッシュに記憶させた後に、分散データベースにデータを記憶させるキャッシュ対象判定部を有する。
【選択図】図１【図１】
0005908057.tif 000002
【図２】
0005908057.tif 000003
【図３】
0005908057.tif 000004
【図４】
0005908057.tif 000005
【図５】
0005908057.tif 000006