特許第5908057号(P5908057)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エヌ・ティ・ティ・アドバンステクノロジ株式会社の特許一覧

特許5908057データベースシステム及びデータベース制御方法
<>
  • 特許5908057-データベースシステム及びデータベース制御方法 図000002
  • 特許5908057-データベースシステム及びデータベース制御方法 図000003
  • 特許5908057-データベースシステム及びデータベース制御方法 図000004
  • 特許5908057-データベースシステム及びデータベース制御方法 図000005
  • 特許5908057-データベースシステム及びデータベース制御方法 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】5908057
(24)【登録日】2016年4月1日
(45)【発行日】2016年4月26日
(54)【発明の名称】データベースシステム及びデータベース制御方法
(51)【国際特許分類】
   G06F 12/00 20060101AFI20160412BHJP
   G06F 13/00 20060101ALI20160412BHJP
【FI】
   G06F12/00 546K
   G06F12/00 545A
   G06F13/00 520C
【請求項の数】4
【全頁数】15
(21)【出願番号】特願2014-254052(P2014-254052)
(22)【出願日】2014年12月16日
【審査請求日】2014年12月16日
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成26年度、総務省「複数周波数帯の動的利用による周波数有効利用技術の研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000102739
【氏名又は名称】エヌ・ティ・ティ・アドバンステクノロジ株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】特許業務法人 志賀国際特許事務所
(72)【発明者】
【氏名】山崎 秀夫
(72)【発明者】
【氏名】赤埴 淳一
(72)【発明者】
【氏名】瀬下 貴加子
【審査官】 田中 幸雄
(56)【参考文献】
【文献】 特開2012−18607(JP,A)
【文献】 特開2012−59257(JP,A)
【文献】 山崎秀夫ほか,基地局情報管理データベースの高速化,電子情報通信学会2014年総合大会講演論文集 通信2 PROCEEDINGS OF THE 2014 IEICE GENERAL CONFERENCE,日本,2014年 3月 4日,206ページ
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
分散データベースと、前記分散データベースに記憶させるデータの取得と利用とを行うクライアントと、前記分散データベースに記憶させるデータをキャッシュする複数のキャッシュサーバと、キャッシュデータ管理装置と、代理装置とを備えるデータベースシステムであって、
前記キャッシュデータ管理装置は、
前記分散データベースに記憶させるデータの識別コードと前記キャッシュサーバそれぞれがキャッシュすべきデータとを対応付けたテーブルを有し、
前記代理装置から前記分散データベースへのアクセスの際に利用するキャッシュサーバの問合せを受信すると、複数の前記キャッシュサーバのうち前記代理装置が利用するデータに対応するキャッシュサーバを第1のアクセス先とし、他の前記キャッシュサーバを第2のアクセス先とするアクセス情報を問合せに対する応答として送信し、
前記キャッシュサーバからキャッシュすべきデータの問合せを受信すると、前記テーブルに基づいて、キャッシュすべきデータの識別コードのリストを応答として送信し、
前記キャッシュサーバは、
前記代理装置からデータを前記分散データベースに記憶させる蓄積要求を受信すると、当該蓄積要求に含まれるデータが自サーバにおいてキャッシュすべきデータであるか否かを判定し、判定結果に応じて当該データをメモリキャッシュに記憶させた後に、前記分散データベースに当該データを記憶させるキャッシュ対象判定部を有し、
前記代理装置は、前記クライアントからデータを前記分散データベースに記憶させる蓄積要求を受信すると、前記分散データベースへのアクセスの際に利用するキャッシュサーバの問合せを前記キャッシュデータ管理装置へ送信し、
前記代理装置は、前記キャッシュデータ管理装置から受ける応答に含まれる前記第1のアクセス先に対して、前記第2のアクセス先よりも優先してアクセスすることによって、前記データを前記分散データベースに記憶させることを要求する
ことを特徴とするデータベースシステム。
【請求項2】
請求項1に記載のデータベースシステムにおいて、
前記キャッシュ対象判定部は、
前記メモリキャッシュにデータを記憶させてから一定期間が経過すると当該データをクリアする
ことを特徴とするデータベースシステム。
【請求項3】
請求項1又は請求項2に記載のデータベースシステムにおいて、
前記代理装置は、
前記第1のアクセス先で示されるキャッシュサーバから応答がない場合に、前記第2のアクセス先で示されるキャッシュサーバを介して前記分散データベースにアクセスする
ことを特徴とするデータベースシステム。
【請求項4】
分散データベースと、前記分散データベースに記憶させるデータの取得と利用とを行うクライアントと、前記分散データベースに記憶させるデータをキャッシュする複数のキャッシュサーバと、前記分散データベースに記憶させるデータの識別コードと前記キャッシュサーバそれぞれがキャッシュすべきデータとを対応付けたテーブルを有するキャッシュデータ管理装置と、代理装置とを備えるデータベースシステムにおけるデータベース制御方法であって、
前記代理装置が、前記クライアントからデータを前記分散データベースに記憶させる蓄積要求を受信すると、前記分散データベースへのアクセスの際に利用するキャッシュサーバの問合せを前記キャッシュデータ管理装置へ送信する第1のステップと、
前記キャッシュデータ管理装置が、前記代理装置から前記分散データベースへのアクセスの際に利用するキャッシュサーバの問合せを受信すると、複数の前記キャッシュサーバのうち前記代理装置が利用するデータに対応するキャッシュサーバを第1のアクセス先とし、他の前記キャッシュサーバを第2のアクセス先とするアクセス情報を問合せに対する応答として送信する第2のステップと、
前記キャッシュデータ管理装置が、前記キャッシュサーバからキャッシュすべきデータの問合せを受信すると、前記テーブルに基づいて、キャッシュすべきデータの識別コードのリストを応答として送信する第3のステップと、
前記代理装置が、前記キャッシュデータ管理装置から受ける応答に含まれる前記第1のアクセス先に対して、前記第2のアクセス先よりも優先してアクセスすることによって、前記データを前記分散データベースに記憶させることを要求する第4のステップと、
前記キャッシュサーバが、前記代理装置からデータを前記分散データベースに記憶させる蓄積要求を受信すると、当該蓄積要求に含まれるデータが自サーバにおいてキャッシュすべきデータであるか否かを判定し、判定結果に応じて当該データをメモリキャッシュに記憶させた後に、前記分散データベースに当該データを記憶させる第5のステップと
を含むことを特徴とするデータベース制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データベースシステム及びデータベース制御方法に関する。
【背景技術】
【0002】
分散データベースに記憶されているデータへのアクセスを高速化するために、データを一時的に記憶するキャッシュを用いることが行われている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2013−077063号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、分散データベースを構成する各データベースに記憶されているデータの更新が並行して行われた場合などにおけるデータの整合性を保つための処理が煩雑になってしまうという問題があった。
【0005】
上記事情に鑑み、本発明は、簡便な処理で、分散データベースに記憶されているデータの整合性を保ちつつ、キャッシュを利用したデータへのアクセスを高速化できるデータベースシステム及びデータベース制御方法を提供することを目的としている。
【課題を解決するための手段】
【0006】
本発明の一態様は、分散データベースと、前記分散データベースに記憶させるデータの取得と利用とを行うクライアントと、前記分散データベースに記憶させるデータをキャッシュする複数のキャッシュサーバと、キャッシュデータ管理装置と、代理装置とを備えるデータベースシステムであって、前記キャッシュデータ管理装置は、前記分散データベースに記憶させるデータの識別コードと前記キャッシュサーバそれぞれがキャッシュすべきデータとを対応付けたテーブルを有し、前記代理装置から前記分散データベースへのアクセスの際に利用するキャッシュサーバの問合せを受信すると、複数の前記キャッシュサーバのうち前記代理装置が利用するデータに対応するキャッシュサーバを第1のアクセス先とし、他の前記キャッシュサーバを第2のアクセス先とするアクセス情報を問合せに対する応答として送信し、前記キャッシュサーバからキャッシュすべきデータの問合せを受信すると、前記テーブルに基づいて、キャッシュすべきデータの識別コードのリストを応答として送信し、前記キャッシュサーバは、前記代理装置からデータを前記分散データベースに記憶させる蓄積要求を受信すると、当該蓄積要求に含まれるデータが自サーバにおいてキャッシュすべきデータであるか否かを判定し、判定結果に応じて当該データをメモリキャッシュに記憶させた後に、前記分散データベースに当該データを記憶させるキャッシュ対象判定部を有し、前記代理装置は、前記クライアントからデータを前記分散データベースに記憶させる蓄積要求を受信すると、前記分散データベースへのアクセスの際に利用するキャッシュサーバの問合せを前記キャッシュデータ管理装置へ送信し、前記代理装置は、前記キャッシュデータ管理装置から受ける応答に含まれる前記第1のアクセス先に対して、前記第2のアクセス先よりも優先してアクセスすることによって、前記データを前記分散データベースに記憶させることを要求することを特徴とするデータベースシステムである。
【0007】
本発明の一態様は、上記のデータベースシステムにおいて、前記キャッシュ対象判定部は、前記メモリキャッシュにデータを記憶させてから一定期間が経過すると当該データをクリアすることを特徴とする。
【0008】
本発明の一態様は、上記のデータベースシステムにおいて、前記代理装置は、前記第1のアクセス先で示されるキャッシュサーバから応答がない場合に、前記第2のアクセス先で示されるキャッシュサーバを介して前記分散データベースにアクセスすることを特徴とする。
【0009】
本発明の一態様は、分散データベースと、前記分散データベースに記憶させるデータの取得と利用とを行うクライアントと、前記分散データベースに記憶させるデータをキャッシュする複数のキャッシュサーバと、前記分散データベースに記憶させるデータの識別コードと前記キャッシュサーバそれぞれがキャッシュすべきデータとを対応付けたテーブルを有するキャッシュデータ管理装置と、代理装置とを備えるデータベースシステムにおけるデータベース制御方法であって、前記代理装置が、前記クライアントからデータを前記分散データベースに記憶させる蓄積要求を受信すると、前記分散データベースへのアクセスの際に利用するキャッシュサーバの問合せを前記キャッシュデータ管理装置へ送信する第1のステップと、前記キャッシュデータ管理装置が、前記代理装置から前記分散データベースへのアクセスの際に利用するキャッシュサーバの問合せを受信すると、複数の前記キャッシュサーバのうち前記代理装置が利用するデータに対応するキャッシュサーバを第1のアクセス先とし、他の前記キャッシュサーバを第2のアクセス先とするアクセス情報を問合せに対する応答として送信する第2のステップと、前記キャッシュデータ管理装置が、前記キャッシュサーバからキャッシュすべきデータの問合せを受信すると、前記テーブルに基づいて、キャッシュすべきデータの識別コードのリストを応答として送信する第3のステップと、前記代理装置が、前記キャッシュデータ管理装置から受ける応答に含まれる前記第1のアクセス先に対して、前記第2のアクセス先よりも優先してアクセスすることによって、前記データを前記分散データベースに記憶させることを要求する第4のステップと、前記キャッシュサーバが、前記代理装置からデータを前記分散データベースに記憶させる蓄積要求を受信すると、当該蓄積要求に含まれるデータが自サーバにおいてキャッシュすべきデータであるか否かを判定し、判定結果に応じて当該データをメモリキャッシュに記憶させた後に、前記分散データベースに当該データを記憶させる第5のステップとを含むことを特徴とするデータベース制御方法である。
【発明の効果】
【0010】
本発明によれば、キャッシュサーバがキャッシュすべきデータを限定していることにより、クライアントが他のキャッシュサーバを介して分散データベースにアクセスした場合でも、複数のキャッシュサーバに同じデータのキャッシュがされ整合性が崩れることを防ぐことができる。本発明では、キャッシュデータ管理装置を設け、クライアントがキャッシュデータ管理装置にアクセス先のキャッシュサーバを問い合せるという簡便な処理で、分散データベースに記憶されているデータとキャッシュサーバに一時的に記憶されているデータとの整合性を保ちつつ、キャッシュサーバを利用したデータへのアクセスの高速化が可能となる。
【図面の簡単な説明】
【0011】
図1】実施形態におけるデータベースシステムの構成例を示すブロック図である。
図2】実施形態のデータベースシステムにおいて分散データベース2に基地局情報を記憶させる処理の一例を示す図である。
図3】実施形態のデータベースシステムにおいて基地局情報利用装置12が基地局情報を検索する処理の一例を示す図である。
図4】実施形態のデータベースシステムにおいて分散データベース2に基地局情報を記憶させる処理の一例を示す図である。
図5】実施形態のデータベースシステムにおいて基地局情報利用装置12が基地局情報を検索する処理の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本発明に係る実施形態におけるデータベースシステム及びデータベース制御方法を説明する。図1は、実施形態におけるデータベースシステムの構成例を示すブロック図である。図1に示すように、データベースシステムは、複数の基地局情報蓄積装置11、複数の基地局情報利用装置12、分散データベース2、複数のキャッシュサーバ3、キャッシュデータ管理装置4及びプロキシ装置5を備えている。図1に示す構成例では、データベースシステムがキャッシュデータ管理装置4を一つ備える構成が示されているが、キャッシュデータ管理装置4を複数備えて冗長化されていてもよい。
【0013】
また、図1に示す構成例では、分散データベース2に対するクライアントとしての基地局情報蓄積装置11及び基地局情報利用装置12と、キャッシュサーバ3と、キャッシュデータ管理装置4と、プロキシ装置5とがネットワーク6を介して通信可能に接続されている構成が示されているが、クライアントとプロキシ装置5とを通信可能に接続するネットワークと、プロキシ装置5とキャッシュサーバ3とを通信可能に接続するネットワークと、プロキシ装置5とキャッシュデータ管理装置4とを通信可能に接続するネットワークと、キャッシュサーバ3とキャッシュデータ管理装置4とを通信可能に接続するネットワークとが個別に存在していてもよい。
【0014】
複数の基地局情報蓄積装置11は、それぞれが定められた地域に対応して設けられている。基地局情報蓄積装置11は、自装置に対応付けられている地域の基地局情報を取得する。基地局情報蓄積装置11は、プロキシ装置5を介して、取得した基地局情報を分散データベース2に記憶させる。基地局情報には、自身に対応する地域及び自身に対応する基地局を一意に識別する識別コードが含まれている。
【0015】
複数の基地局情報利用装置12は、基地局情報蓄積装置11と同様に、それぞれが定められた地域に対応して設けられている。基地局情報利用装置12は、任意の地域の基地局情報を識別コードに基づいて、プロキシ装置5を介して分散データベース2から取得する。基地局情報利用装置12は、取得した基地局情報に基づいて、自装置が対応付けられている地域における基地局の制御に用いる制御情報の生成や、基地局の制御などを行う。
【0016】
分散データベース2は、複数の基地局情報蓄積装置11によって取得された複数の地域における基地局情報を記憶する。分散データベース2は、複数の地域における基地局情報を記憶する複数のデータベース21を有している。分散データベース2に記憶される基地局情報は、アクセス頻度や更新頻度などに基づいて、複数のデータベース21のいずれかのデータベース21に分散して記憶される。
【0017】
複数のデータベース21は、ネットワーク22を介して通信可能に接続されている。データベース21は、キャッシュサーバ3から受信した基地局情報の蓄積要求に応じて、自身が基地局情報を記憶したり、他のデータベース21に基地局情報を記憶させたりする。また、データベース21は、キャッシュサーバ3から受信した基地局情報の検索要求に応じて、自身が記憶している基地局情報を応答として送信したり、他のデータベース21に記憶されている基地局装置を他のデータベース21から受信して転送したりする。
【0018】
複数のキャッシュサーバ3は、それぞれが分散データベース2におけるデータベース21のいずれかに通信可能に接続されている。キャッシュサーバ3は、地域ごとに設けられている。キャッシュサーバ3には、それぞれを識別及びアクセスする際に用いられるアドレスが一意に割り当てられている。キャッシュサーバ3は、キャッシュ対象判定部31、及び、メモリキャッシュ32を有している。キャッシュ対象判定部31は、自サーバがキャッシュすべき基地局情報の識別コードを含むキャッシュ対象情報をキャッシュデータ管理装置4から受信して記憶する。
【0019】
キャッシュ対象判定部31は、プロキシ装置5から受信する基地局情報の蓄積要求に含まれる基地局情報とキャッシュ対象情報とに基づいて、自サーバのメモリキャッシュ32に当該基地局情報を記憶させるか否かを判定する。キャッシュ対象判定部31は、判定結果に応じて、プロキシ装置5から受信した基地局情報をメモリキャッシュ32に記憶させる。また、キャッシュ対象判定部31は、プロキシ装置5から受信した基地局情報の蓄積要求を分散データベース2に送信して、基地局情報を分散データベース2に記憶させる。キャッシュ対象判定部31は、基地局情報をメモリキャッシュ32に記憶させる際に、当該基地局情報にメモリキャッシュ32に記憶させるときの時刻を対応付けて記憶させる。
【0020】
また、キャッシュ対象判定部31は、プロキシ装置5から受信する基地局情報の検索要求を受信すると、当該検索要求に含まれる識別コードとキャッシュ対象情報とに基づいて、検索要求に含まれる識別コードにより示される基地局情報がキャッシュ対象であるか否かを判定する。更に、キャッシュ対象判定部31は、検索要求に含まれる識別コードにより示される基地局情報がキャッシュ対象である場合、当該基地局情報がメモリキャッシュ32に記憶されているか否かを判定する。キャッシュ対象判定部31は、検索要求の対象である基地局情報がメモリキャッシュ32に記憶されている場合、当該基地局情報をメモリキャッシュ32から読み出す。キャッシュ対象判定部31は、基地局情報の検索要求を送信したプロキシ装置5に、読み出した基地局情報を検索結果として送信する。
【0021】
キャッシュ対象判定部31は、受信した基地局情報の検索要求で要求されている基地局情報が自サーバにおけるキャッシュ対象でない場合、又はキャッシュ対象であってもメモリキャッシュ32に記憶されていない場合、受信した基地局情報の検索要求を分散データベース2に送信する。キャッシュ対象判定部31は、分散データベース2に送信した基地局の検索要求に対する基地局情報を受信する。キャッシュ対象判定部31は、受信した基地局情報を基地局情報の検索要求の送信元のプロキシ装置5に送信する。
【0022】
キャッシュデータ管理装置4は、データベースシステムが備えるキャッシュサーバ3ごとに、キャッシュサーバ3がキャッシュすべき基地局情報の識別コードのリストを含むテーブルを有している。キャッシュデータ管理装置4は、キャッシュサーバ3からキャッシュすべき基地局情報の問合せを受信すると、当該キャッシュサーバ3に対応付けられている識別コードのリストをテーブルから読み出す。キャッシュデータ管理装置4は、読み出した識別コードのリストを、キャッシュ対象情報として問合せの送信元のキャッシュサーバ3に送信する。
【0023】
また、キャッシュデータ管理装置4は、基地局情報を分散データベース2に記憶させる際にアクセスすべきキャッシュサーバ3を問い合せる要求をプロキシ装置5から受信する。この問合せには、基地局情報に対応する識別コードが含まれる。キャッシュデータ管理装置4は、受信した問合せの要求に含まれる識別コードに対応付けられているキャッシュサーバ3をテーブルで特定し、特定したキャッシュサーバ3のアドレスを第1のアクセス先とし、他のキャッシュサーバ3のアドレスを第2のアクセス先に定める。キャッシュデータ管理装置4は、第1のアクセス先と第2のアクセス先とを含むアクセス先情報を問合せの送信元のプロキシ装置5に送信する。
【0024】
また、キャッシュデータ管理装置4は、基地局情報を分散データベース2において検索する際にアクセスすべきキャッシュサーバ3を問い合せる要求をプロキシ装置5から受信する。この問合せには、基地局情報又は地域に対応する識別コードが含まれる。キャッシュデータ管理装置4は、受信した問合せの要求に含まれる識別コードに対応付けられているキャッシュサーバ3をテーブルで特定し、特定したキャッシュサーバ3のアドレスを第1のアクセス先とし、他のキャッシュサーバ3のアドレスを第2のアクセス先に定める。キャッシュデータ管理装置4は、第1のアクセス先と第2のアクセス先とを含むアクセス先情報を問合せの送信元のプロキシ装置5に送信する。
【0025】
プロキシ装置5は、基地局情報蓄積装置11及び基地局情報利用装置12の要求に応じて、キャッシュサーバ3a、キャッシュサーバ3b及びキャッシュデータ管理装置4に対して行われる処理を代行する。以下、より詳細にプロキシ装置5について説明する。
【0026】
プロキシ装置5は、基地局情報蓄積装置11から基地局情報の蓄積要求を受信する。この基地局情報の蓄積要求には、基地局情報に対応する識別コードが含まれる。プロキシ装置5は、この識別コードを用いて、キャッシュサーバ3の問い合わせをキャッシュデータ管理装置4に送信する。プロキシ装置5は、問い合わせに対してキャッシュデータ管理装置4から送信されるキャッシュサーバの通知を受信する。プロキシ装置5は、基地局情報蓄積装置11から受信された基地局情報の蓄積要求と同様の内容を含む蓄積要求を、キャッシュデータ管理装置4から通知されたキャッシュサーバ3に送信する。
【0027】
プロキシ装置5は、基地局情報利用装置12から基地局情報の検索要求を受信する。この基地局情報の検索要求には、基地局情報に対応する識別コードが含まれる。プロキシ装置5は、この識別コードを用いて、キャッシュサーバ3の問い合わせをキャッシュデータ管理装置4に送信する。プロキシ装置5は、問い合わせに対してキャッシュデータ管理装置4から送信されるキャッシュサーバの通知を受信する。プロキシ装置5は、基地局情報利用装置12から受信された基地局情報の検索要求と同様の内容を含む検索要求を、キャッシュデータ管理装置4から通知されたキャッシュサーバ3に送信する。
【0028】
図2は、実施形態のデータベースシステムにおいて分散データベース2に基地局情報を記憶させる処理の一例を示す図である。図2に示す例では、データベースシステムが2つのキャッシュサーバ3(キャッシュサーバ3aとキャッシュサーバ3b)を備える場合を示している。また、基地局情報蓄積装置11が記憶させる基地局情報にキャッシュサーバ3aが対応付けられている場合について説明する。
【0029】
キャッシュサーバ3aにおいて、キャッシュ対象判定部31は、自サーバがキャッシュすべき基地局情報(キャッシュ対象)を問い合せる要求を、キャッシュデータ管理装置4に送信する(ステップS11)。
【0030】
キャッシュデータ管理装置4は、自装置が有するテーブルから、問合せ要求の送信元のキャッシュサーバ3aがキャッシュすべき基地局情報を示す識別コードのリストを読み出す。キャッシュデータ管理装置4は、読み出した識別コードのリストを問合せ要求の返信としてキャッシュサーバ3aに送信して、キャッシュ対象を通知する(ステップS12)。キャッシュサーバ3aにおいて、キャッシュ対象判定部31はキャッシュデータ管理装置4から通知された識別コードのリストを記憶する。
【0031】
キャッシュサーバ3bにおいて、キャッシュ対象判定部31は、自サーバがキャッシュすべき基地局情報(キャッシュ対象)を問い合せる要求を、キャッシュデータ管理装置4に送信する(ステップS13)。
【0032】
キャッシュデータ管理装置4は、自装置が有するテーブルから、問合せ要求の送信元のキャッシュサーバ3bがキャッシュすべき基地局情報を示す識別コードのリストを読み出す。キャッシュデータ管理装置4は、読み出した識別コードのリストを問合せ要求の返信としてキャッシュサーバ3bに送信して、キャッシュ対象を通知する(ステップS14)。キャッシュサーバ3bにおいて、キャッシュ対象判定部31はキャッシュデータ管理装置4から通知された識別コードのリストを記憶する。
【0033】
基地局情報蓄積装置11は、自装置が取得した基地局情報を分散データベース2に記憶させる要求を示す蓄積要求をプロキシ装置5に送信する(ステップS15)。蓄積要求には、情報が蓄積される対象となる基地局の情報(基地局情報)が含まれる。プロキシ装置5は、基地局情報蓄積装置11から蓄積要求を受信すると、受信された基地局情報を分散データベース2に記憶させる際にアクセスすべきキャッシュサーバ3を問い合せる要求をキャッシュデータ管理装置4に送信する(ステップS16)。
【0034】
キャッシュデータ管理装置4は、問合せ要求に含まれる基地局情報の識別コードに基づいて第1のアクセス先(キャッシュサーバ3a)と第2のアクセス先(キャッシュサーバ3b)とを定め、第1のアクセス先と第2のアクセス先とを含むアクセス情報を、問合せ要求の返信としてプロキシ装置5に送信する(ステップS17)。
【0035】
プロキシ装置5は、キャッシュデータ管理装置4から受信したアクセス情報に含まれる第1のアクセス先(キャッシュサーバ3a)に、分散データベース2に記憶させる基地局情報と当該基地局情報を記憶させる要求とを含む蓄積要求を送信する(ステップS18)。
【0036】
キャッシュサーバ3aは、プロキシ装置5から蓄積要求を受信する。キャッシュサーバ3aにおいて、キャッシュ対象判定部31は、受信した蓄積要求に含まれる基地局情報の識別コードが、記憶している識別コードのリストに含まれていることを検出する。キャッシュ対象判定部31は、受信した蓄積要求に含まれる基地局情報がキャッシュすべき基地局情報であると判定し、当該基地局情報と現在の時刻とを対応付けてメモリキャッシュ32に記憶させる(ステップS19)。
【0037】
キャッシュ対象判定部31は、メモリキャッシュ32に基地局情報を記憶させると、当該基地局情報を分散データベース2に記憶させる保存要求を分散データベース2に送信する(ステップS20)。
【0038】
キャッシュ対象判定部31は、分散データベース2から保存完了の通知を受信すると(ステップS21)、基地局情報の蓄積が完了したことを蓄積要求の送信元のプロキシ装置5に送信して、蓄積完了の通知をする(ステップS22)。蓄積完了の通知を受信したプロキシ装置5は、ステップS15において受信された蓄積要求の送信元である基地局情報蓄積装置11に対し、蓄積完了の通知をする(ステップS23)。
【0039】
図3は、実施形態のデータベースシステムにおいて基地局情報利用装置12が基地局情報を検索する処理の一例を示す図である。図3に示す例では、図2に示した例と同様に、データベースシステムが2つのキャッシュサーバ3(キャッシュサーバ3aとキャッシュサーバ3b)を備える場合を示している。また、基地局情報利用装置12が検索の対象とする基地局情報にキャッシュサーバ3aが対応付けられ、キャッシュサーバ3aが有するメモリキャッシュ32に当該基地局情報が記憶されている場合について説明する。なお、図3におけるステップS11〜ステップS14は、図2におけるステップS11〜ステップS14と同じ処理であり、その説明を省略する。
【0040】
基地局情報利用装置12は、自装置が利用する基地局情報を分散データベース2において検索することの要求を示す検索要求をプロキシ装置5に送信する(ステップS31)。検索要求には、情報が検索される対象となる基地局の情報(基地局情報)が含まれる。プロキシ装置5は、基地局情報利用装置12から検索要求を受信すると、受信された基地局情報を分散データベース2において検索する際にアクセスすべきキャッシュサーバ3を問い合せる要求をキャッシュデータ管理装置4に送信する(ステップS32)。
【0041】
キャッシュデータ管理装置4は、問合せ要求に含まれる基地局情報の識別コードに基づいて第1のアクセス先と第2のアクセス先とを定め、第1のアクセス先と第2のアクセス先とを含むアクセス情報を、問合せ要求の返信としてプロキシ装置5に送信する(ステップS33)。
【0042】
プロキシ装置5は、キャッシュデータ管理装置4から受信したアクセス情報に含まれる第1のアクセス先(キャッシュサーバ3a)に、利用する基地局情報の識別コードと当該基地局情報の検索を要求する検索要求を送信する(ステップS34)。
【0043】
キャッシュサーバ3aは、プロキシ装置5から検索要求を受信する。キャッシュサーバ3aにおいて、キャッシュ対象判定部31は、受信した検索要求に含まれる基地局情報の識別コードが、記憶している識別コードのリストに含まれていることを検出する。キャッシュ対象判定部31は、受信した検索要求で示される基地局情報がキャッシュすべき基地局情報であると判定し、更にメモリキャッシュ32に当該基地局情報が記憶されていることを検出する。キャッシュ対象判定部31は、検索要求に対応する基地局情報をメモリキャッシュ32から読み出す(ステップS35)。
【0044】
キャッシュ対象判定部31は、検索要求の送信元のプロキシ装置5に検索結果として、読み出した基地局情報を送信する(ステップS36)。検索結果を受信したプロキシ装置5は、ステップS31において受信された検索要求の送信元である基地局情報利用装置12に対し、検索結果を送信する(ステップS37)。
【0045】
図4は、実施形態のデータベースシステムにおいて分散データベース2に基地局情報を記憶させる処理の一例を示す図である。図4に示す例では、図2に示した例と同様に、データベースシステムが2つのキャッシュサーバ3(キャッシュサーバ3aとキャッシュサーバ3b)を備える場合を示している。また、基地局情報蓄積装置11が記憶させる基地局情報にキャッシュサーバ3aが対応付けられている。なお、図4に示す例では、ネットワーク6における障害によって基地局情報蓄積装置11とキャッシュサーバ3aとが通信不能になっている場合について説明する。なお、図4におけるステップS11〜ステップS17は、図2におけるステップS11〜ステップS17と同じ処理であり、その説明を省略する。
【0046】
プロキシ装置5は、キャッシュデータ管理装置4から受信したアクセス情報に含まれる第1のアクセス先(キャッシュサーバ3a)に、分散データベース2に記憶させる基地局情報と当該基地局情報を記憶させる要求とを含む蓄積要求を送信する(ステップS41)。
【0047】
プロキシ装置5は、蓄積要求に対する応答がキャッシュサーバ3aから得られないことから、ネットワーク6又はキャッシュサーバ3aに障害が発生していると判定する。プロキシ装置5は、アクセス情報に含まれる第2のアクセス先(キャッシュサーバ3b)に、分散データベース2に記憶させる基地局情報と当該基地局情報を記憶させる要求とを含む蓄積要求を送信する(ステップS42)。
【0048】
キャッシュサーバ3bは、プロキシ装置5から蓄積要求を受信する。キャッシュサーバ3bにおいて、キャッシュ対象判定部31は、受信した蓄積要求に含まれる基地局情報の識別コードが、記憶している識別コードのリストに含まれていないことを検出する。キャッシュ対象判定部31は、受信した蓄積要求に含まれる基地局情報がキャッシュすべき基地局情報でないと判定し、当該基地局情報を分散データベース2に記憶させる保存要求を分散データベース2に送信する(ステップS43)。
【0049】
キャッシュ対象判定部31は、分散データベース2から保存完了の通知を受信すると(ステップS44)、基地局情報の蓄積が完了したことを蓄積要求の送信元のプロキシ装置5に送信して、蓄積完了の通知をする(ステップS45)。蓄積完了の通知を受信したプロキシ装置5は、ステップS15において受信された蓄積要求の送信元である基地局情報蓄積装置11に対し、蓄積完了の通知をする(ステップS23)。
【0050】
キャッシュサーバ3aにおいて、キャッシュ対象判定部31は、メモリキャッシュ32に記憶されている基地局情報に対応付けられている時刻に基づいて、基地局情報をメモリキャッシュ32に記憶させてから一定期間が経過しているか否かを判定する。一定期間が経過していると判定した場合、キャッシュ対象判定部31は、記憶させてから一定期間が経過している基地局情報をメモリキャッシュ32からクリア(削除)する(ステップS46)。
【0051】
図5は、実施形態のデータベースシステムにおいて基地局情報利用装置12が基地局情報を検索する処理の一例を示す図である。図5に示す例では、図2に示した例と同様に、データベースシステムが2つのキャッシュサーバ3(キャッシュサーバ3aとキャッシュサーバ3b)を備える場合を示している。また、基地局情報利用装置12が検索の対象とする基地局情報にキャッシュサーバ3aが対応付けられている。なお、図5に示す例では、ネットワーク6における障害によって基地局情報利用装置12とキャッシュサーバ3aとが通信不能になっている場合について説明する。なお、図5におけるステップS11〜ステップS14及びステップS31〜ステップS33は、図3におけるステップS11〜ステップS14及びステップS31〜ステップS33と同じ処理であり、その説明を省略する。
【0052】
プロキシ装置5は、キャッシュデータ管理装置4から受信したアクセス情報に含まれる第1のアクセス先(キャッシュサーバ3a)に、利用する基地局情報の識別コードと当該基地局情報の検索を要求する検索要求を送信する(ステップS51)。
【0053】
プロキシ装置5は、検索要求に対する応答がキャッシュサーバ3aから得られないことから、ネットワーク6又はキャッシュサーバ3aに障害が発生していると判定する。プロキシ装置5は、アクセス情報に含まれる第2のアクセス先(キャッシュサーバ3b)に、利用する基地局情報の識別コードと当該基地局情報の検索を要求する検索要求を送信する(ステップS52)。
【0054】
キャッシュサーバ3bは、プロキシ装置5から検索要求を受信する。キャッシュサーバ3bにおいて、キャッシュ対象判定部31は、受信した検索要求に含まれる基地局情報の識別コードが、記憶している識別コードのリストに含まれていないことを検出する。キャッシュ対象判定部31は、受信した検索要求で示される基地局情報がキャッシュすべき基地局情報でないと判定し、当該検索要求を分散データベース2に送信する(ステップS53)。
【0055】
キャッシュ対象判定部31は、分散データベース2から検索要求で示される基地局情報を検索結果として受信すると(ステップS54)、当該検索結果を検索要求の送信元のプロキシ装置5に送信する(ステップS55)。検索結果を受信したプロキシ装置5は、ステップS31において受信された検索要求の送信元である基地局情報利用装置12に対し、検索結果を送信する(ステップS37)。
【0056】
図4及び図5において、プロキシ装置5がネットワーク6の障害のためにキャッシュサーバ3aにアクセスできない場合における処理を説明したが、キャッシュサーバ3aに障害が発生してダウンしている場合においても同様の処理が行われる。なお、キャッシュサーバ3aがダウンしている場合には、図4におけるステップS46のメモリキャッシュ32のクリアは行われない。
【0057】
実施形態のデータベースシステムによれば、ある基地局情報をキャッシュすべきキャッシュサーバ3が停止している場合、クライアント(基地局情報蓄積装置11及び基地局情報利用装置12)の要求(蓄積要求、検索要求)を受けたプロキシ装置5は、第2のアクセス先で示される他のキャッシュサーバ3を介して分散データベース2にアクセスする。このとき、他のキャッシュサーバ3は、自サーバがキャッシュすべき基地局情報以外をメモリキャッシュ32に記憶させない。これにより、ある基地局情報をキャッシュすべきキャッシュサーバ3が復旧した後に、他のキャッシュサーバ3に更新されない基地局情報が残ることを防ぎ、プロキシ装置5及びクライアントが他のキャッシュサーバ3に記憶されている古い基地局情報を取得してしまうことを防ぐことができる。
【0058】
また、実施形態のデータベースシステムによれば、キャッシュサーバ3は、メモリキャッシュ32に記憶している基地局情報に対して、一定期間において新たな蓄積要求(更新要求)を受信しなかった場合に当該基地局情報を無効な情報としてクリアする。これにより、ネットワーク6の障害(例えば、切断)によりプロキシ装置5がある基地局情報をキャッシュするキャッシュサーバ3ではなく、第2のアクセス先で示されるキャッシュサーバ3を介して分散データベース2にアクセスした場合に、分散データベース2における基地局情報とキャッシュサーバ3がキャッシュしている基地局情報とにおける不一致を解消することができる。
【0059】
分散データベースの可用性を生かすために、単一障害点とならないようにメモリキャッシュを分散データベースの各ノードに配置した場合、分散データベースはどのノードからでもデータ更新が可能であるので様々な場所から分散データベースのデータが更新される。この場合、メモリキャッシュのデータと分散データベースのデータとの整合性がなってしまう。これに対して、本実施形態のデータベースシステムでは、キャッシュサーバ3にキャッシュさせる基地局情報を限定しているので、キャッシュサーバ3にキャッシュされている基地局情報と、分散データベース2に記憶されている基地局情報とにおける整合性が崩れることを防ぎ、信頼性のある基地局情報を高速に蓄積、検索することが可能になる。また、本実施形態のデータベースシステムでは、プロキシ装置5がアクセス先のキャッシュサーバ3をキャッシュデータ管理装置4に問い合せるという簡便な処理で、分散データベース2におけるデータの整合性を保ちつつ、キャッシュサーバを利用したデータへのアクセスの高速化を図ることができる。
【0060】
また、キャッシュサーバ3がキャッシュする基地局情報を限定し、キャッシュされている基地局情報に一定期間の有効期限を設けていることにより、キャッシュサーバ3が停止したり、キャッシュサーバ3への通信に障害が生じたりした際に、他のキャッシュサーバ3を介して分散データベース2に基地局情報を記憶させた後に、キャッシュサーバ3が復帰した場合でも、メモリキャッシュ32と分散データベース2との整合性を保つことができる。
【0061】
また、プロキシ装置5から一定期間において基地局情報の蓄積要求がない場合にメモリキャッシュ32をクリアするので、ネットワーク6等のダウンによりプロキシ装置5と、キャッシュを行っているキャッシュサーバ3との通信が行えない状況が続いて、プロキシ装置5が他のキャッシュサーバ3に基地局情報の蓄積要求を行った後に、プロキシ装置5と、キャッシュを行っているキャッシュサーバ3との通信が回復した場合でも、キャッシュサーバ3が検索要求を受信したときに古い基地局情報をプロキシ装置5に返信することを防ぐことができる。
【0062】
また、クライアント(基地局情報蓄積装置11及び基地局情報利用装置12)は、プロキシ装置5に要求(蓄積要求及び検索要求)を送信すれば、プロキシ装置5から要求に対する応答を得ることができる。すなわち、クライアントは、キャッシュデータ管理装置4への問い合わせを行う必要が無い。同様に、クライアントは、キャッシュデータ管理装置4に対する問い合わせ結果やネットワーク6の状況に応じて、アクセス先となるキャッシュサーバ3を判定する必要が無い。そのため、クライアントは煩雑な処理を行う必要が無くなる。
【0063】
上述した実施形態における基地局情報蓄積装置11、基地局情報利用装置12、キャッシュサーバ3、キャッシュデータ管理装置4、プロキシ装置5のいずれか又はすべてをコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、更に前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、PLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されるものであってもよい。
【0064】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【0065】
分散データベースの可用性を保ちつつメモリキャッシュによる高速化が不可欠な用途にも適用できる。
【符号の説明】
【0066】
11…基地局情報蓄積装置
12…基地局情報利用装置
2…分散データベース
21…データベース
22…ネットワーク
3、3a、3b…キャッシュサーバ
31…キャッシュ対象判定部
32…メモリキャッシュ
4…キャッシュデータ管理装置
5…プロキシ装置(代理装置)
6…ネットワーク
【要約】
【課題】キャッシュされるデータの整合性を保ちつつキャッシュを利用したデータへのアクセスを高速化する。
【解決手段】複数のキャッシュサーバとキャッシュデータ管理装置と代理装置とを備える。代理装置はクライアントに代わってキャッシュサーバやキャッシュデータ管理装置と通信する。キャッシュデータ管理装置は各キャッシュサーバがキャッシュすべきデータのテーブルを有し、キャッシュすべきデータの問合せに応じてキャッシュすべきデータの識別コードを応答として送信する。キャッシュサーバは、代理装置からデータを分散データベースに記憶させる要求を受信すると、当該要求に含まれるデータが自サーバにおいてキャッシュすべきデータであるか否かを判定し、判定結果に応じてデータをメモリキャッシュに記憶させた後に、分散データベースにデータを記憶させるキャッシュ対象判定部を有する。
【選択図】図1
図1
図2
図3
図4
図5