(57)【特許請求の範囲】
【請求項１】
移動通信端末に係る呼処理を行う複数の呼処理装置と、複数の呼処理管理データベース装置で構成される分散データベースであって、前記呼処理装置が前記移動通信端末に係る呼処理を行う際にデータ書き込み用としてアクセスする、当該移動通信端末に対応付いた呼処理の状態を示すステート情報であって前記移動通信端末の在圏エリアに関する情報を含むステート情報を、前記複数の呼処理管理データベース装置のうち一つの前記呼処理管理データベース装置にて格納する前記分散データベースと、を含む移動体通信システムにおけるデータベース管理装置であって、
前記呼処理装置と前記呼処理管理データベース装置との間のデータ入出力に関する遅延情報を、当該呼処理装置の識別情報と当該呼処理管理データベース装置の識別情報とに関連付けて格納する遅延情報格納手段と、
前記呼処理装置の識別情報と、当該呼処理装置が呼処理を行っている前記移動通信端末の識別情報とを取得する取得手段と、
前記取得手段によって前記呼処理装置の識別情報と前記移動通信端末の識別情報とが取得されると、前記遅延情報格納手段によって格納された、取得された前記呼処理装置の識別情報と関連付いた遅延情報に基づいて、取得された前記移動通信端末の識別情報が示す前記移動通信端末のステート情報を格納する前記呼処理管理データベース装置を特定する特定手段と、
移動通信端末の在圏エリアが変更となった場合を含め、ステート情報の変更又は取得が生じた場合に、前記特定手段によって特定された前記呼処理管理データベース装置に、前記取得手段によって取得された前記移動通信端末の識別情報が示す前記移動通信端末のステート情報を格納するように切り替える制御手段と、
を備えるデータベース管理装置。
【請求項２】
前記特定手段は、遅延情報に基づいて、前記取得手段によって取得された前記呼処理装置の識別情報が示す前記呼処理装置と前記呼処理管理データベース装置との間のデータ入出力の遅延が最小となる前記呼処理管理データベース装置を特定することを特徴とする請求項１に記載のデータベース管理装置。
【請求項３】
遅延情報は、前記呼処理装置と前記呼処理管理データベース装置との間のターンアラウンドタイムであることを特徴とする請求項１又は２に記載のデータベース管理装置。
【請求項４】
前記移動体通信システムはサーバ仮想化による冗長化構成をとり、前記呼処理装置は仮想サーバとして実装される、請求項１〜３の何れか一項に記載のデータベース管理装置。
【請求項５】
前記特定手段は、前記呼処理装置又は前記呼処理管理データベース装置の負荷状況にさらに基づいて前記呼処理管理データベース装置を特定する、請求項１〜４の何れか一項に記載のデータベース管理装置。
【請求項６】
前記呼処理管理データベース装置は、読み出し及び書き込みの両方が発生する項目と読み出しのみ発生する項目とのレコードを分けて管理する、請求項１〜５の何れか一項に記載のデータベース管理装置。
【請求項７】
移動通信端末に係る呼処理を行う複数の呼処理装置と、複数の呼処理管理データベース装置で構成される分散データベースであって、前記呼処理装置が前記移動通信端末に係る呼処理を行う際にデータ書き込み用としてアクセスする、当該移動通信端末に対応付いた呼処理の状態を示すステート情報であって前記移動通信端末の在圏エリアに関する情報を含むステート情報を、前記複数の呼処理管理データベース装置のうち一つの前記呼処理管理データベース装置にて格納する前記分散データベースと、を含む移動体通信システムにおけるデータベース管理装置であって、前記呼処理装置と前記呼処理管理データベース装置との間のデータ入出力に関する遅延情報を、当該呼処理装置の識別情報と当該呼処理管理データベース装置の識別情報とに関連付けて格納する遅延情報格納手段を備える前記データベース管理装置によるデータベース管理方法であって、
移動通信端末の在圏エリアが変更となった場合を含め、ステート情報の変更又は取得が生じた場合に、前記呼処理装置の識別情報と、当該呼処理装置が呼処理を行っている前記移動通信端末の識別情報とを取得する取得ステップと、
前記取得ステップにおいて前記呼処理装置の識別情報と前記移動通信端末の識別情報とが取得されると、前記遅延情報格納手段によって格納された、取得された前記呼処理装置の識別情報と関連付いた遅延情報に基づいて、取得された前記移動通信端末の識別情報が示す前記移動通信端末のステート情報を格納する前記呼処理管理データベース装置を特定する特定ステップと、
前記特定ステップにおいて特定された前記呼処理管理データベース装置に、前記取得ステップにおいて取得された前記移動通信端末の識別情報が示す前記移動通信端末のステート情報を格納するように切り替える制御ステップと、
を含むデータベース管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散データベースを構成する複数のデータベース装置の間で、マスタデータを格納するデータベース装置の切り替えを制御するデータベース管理装置及びデータベース管理方法に関する。
【背景技術】
【０００２】
従来、ネットワークに接続された複数のデータベース装置を、単一のデータベース装置であるかのように扱うことが可能な分散データベースが利用されている。一般的に、既存の分散データベースは、ハッシュ関数や管理ノードによりデータ格納場所を特定している。その際、分散データベースは、データを複数のデータベース装置に分散格納すると共に、マスタデータ（書き込み用アクセスデータ実体）とそのコピーを管理する。例えば、特許文献１に記載されている分散データベースシステムは、全てのデータベースの複製元になるマスタデータベースと、マスタデータベースの複製である分散配置されたデータベースとを含んでいる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−２９００９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、一般的に、分散データベースにおけるマスタデータを格納するデータベース装置（マスタデータ格納装置）は、装置の増設や故障が発生しない限り移動しない。ここで、例えば、移動体通信システムにおいて、移動通信端末に対応付いたデータ書き込み用の移動通信端末情報を分散データベースで管理する場合、マスタデータ格納装置にデータの入出力を行う入出力装置が、移動通信端末の移動に伴い、物理的・地理的に変更されても、マスタデータ格納装置が変更されない。それゆえに、当該入出力装置と分散データベースとの間のデータ入出力時間が長くかかり、結果として移動体通信システム全体の性能が下がる危険性がある。
【０００５】
本発明は、上記の問題点を鑑みてなされたものであり、移動体通信システムにおける分散データベースにおいてデータ入出力の遅延を短縮することで性能を向上することができるデータベース管理装置及びデータベース管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成する為に、本発明に係るデータベース管理装置は、移動通信端末に係る呼処理を行う複数の呼処理装置と、複数の呼処理管理データベース装置で構成される分散データベースであって、呼処理装置が移動通信端末に係る呼処理を行う際にデータ書き込み用としてアクセスする、当該移動通信端末に対応付いた呼処理の状態を示すステート情報であって移動通信端末の在圏エリアに関する情報を含むステート情報を、複数の呼処理管理データベース装置のうち一つの呼処理管理データベース装置にて格納する分散データベースと、を含む移動体通信システムにおけるデータベース管理装置であって、呼処理装置と呼処理管理データベース装置との間のデータ入出力に関する遅延情報を、当該呼処理装置の識別情報と当該呼処理管理データベース装置の識別情報とに関連付けて格納する遅延情報格納手段と、呼処理装置の識別情報と、当該呼処理装置が呼処理を行っている移動通信端末の識別情報とを取得する取得手段と、取得手段によって呼処理装置の識別情報と移動通信端末の識別情報とが取得されると、遅延情報格納手段によって格納された、取得された呼処理装置の識別情報と関連付いた遅延情報に基づいて、取得された移動通信端末の識別情報が示す移動通信端末のステート情報を格納する呼処理管理データベース装置を特定する特定手段と、移動通信端末の在圏エリアが変更となった場合を含め、ステート情報の変更又は取得が生じた場合に、特定手段によって特定された呼処理管理データベース装置に、取得手段によって取得された移動通信端末の識別情報が示す移動通信端末のステート情報を格納するように切り替える制御手段と、を備える。
【０００７】
本発明に係るデータベース管理装置では、取得手段によって呼処理装置の識別情報と当該呼処理装置が呼処理を行っている移動通信端末の識別情報とが取得されると、当該呼処理装置の識別情報と関連付いた遅延情報に基づいて、当該移動通信端末の識別情報が示す移動通信端末のステート情報を格納する呼処理管理データベース装置が特定され、当該呼処理管理データベース装置に当該ステート情報が格納されることでマスタデータ格納装置に切り替えられる。これにより、例えば、呼処理装置が物理的・地理的に変更されても、呼処理装置はデータ入出力の遅延が少ない、すなわちデータ入出力が速いマスタデータ格納装置とデータ入出力を行うことができる。つまり、移動体通信システムにおける分散データベースにおいてデータ入出力の遅延を短縮することで性能を向上することができる。
【０００８】
特定手段は、遅延情報に基づいて、取得手段によって取得された呼処理装置の識別情報が示す呼処理装置と呼処理管理データベース装置との間のデータ入出力の遅延が最小となる呼処理管理データベース装置を特定することとしてもよい。この構成によれば、呼処理装置はデータ入出力の遅延が最小のマスタデータ格納装置とデータ入出力を行うことができる。つまり、移動体通信システムにおける分散データベースにおいてデータ入出力の遅延を短縮することができ、それにより移動体通信システムの性能を向上することができる。
【０００９】
遅延情報は、呼処理装置と呼処理管理データベース装置との間のターンアラウンドタイムであることとしてもよい。この構成によれば、呼処理装置は、呼処理管理データベース装置との間のデータ入出力のターンアラウンドタイムに基づいて切り替えられたマスタデータ格納装置とデータ入出力を行うことができる。これにより、例えば、呼処理装置が物理的・地理的に変更されても、呼処理装置はデータ入出力のターンアラウンドタイムが小さい、すなわちデータ入出力のレスポンスが速いマスタデータ格納装置とデータ入出力を行うことができる。つまり、移動体通信システムにおける分散データベースにおいてデータ入出力の遅延を短縮することができ、それにより移動体通信システムの性能を向上することができる。
移動体通信システムはサーバ仮想化による冗長化構成をとり、呼処理装置は仮想サーバとして実装されることとしてもよい。
特定手段は、呼処理装置又は呼処理管理データベース装置の負荷状況にさらに基づいて呼処理管理データベース装置を特定することとしてもよい。
呼処理管理データベース装置は、読み出し及び書き込みの両方が発生する項目と読み出しのみ発生する項目とのレコードを分けて管理することとしてもよい。
【００１０】
ところで、本発明は、上記のようにデータベース管理装置の発明として記述できる他に、以下のようにデータベース管理方法の発明としても記述することができる。これはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
【００１１】
即ち、本発明に係るデータベース管理方法は、移動通信端末に係る呼処理を行う複数の呼処理装置と、複数の呼処理管理データベース装置で構成される分散データベースであって、呼処理装置が移動通信端末に係る呼処理を行う際にデータ書き込み用としてアクセスする、当該移動通信端末に対応付いた呼処理の状態を示すステート情報であって移動通信端末の在圏エリアに関する情報を含むステート情報を、複数の呼処理管理データベース装置のうち一つの呼処理管理データベース装置にて格納する分散データベースと、を含む移動体通信システムにおけるデータベース管理装置であって、呼処理装置と呼処理管理データベース装置との間のデータ入出力に関する遅延情報を、当該呼処理装置の識別情報と当該呼処理管理データベース装置の識別情報とに関連付けて格納する遅延情報格納手段を備えるデータベース管理装置によるデータベース管理方法であって、移動通信端末の在圏エリアが変更となった場合を含め、ステート情報の変更又は取得が生じた場合に、呼処理装置の識別情報と、当該呼処理装置が呼処理を行っている移動通信端末の識別情報とを取得する取得ステップと、取得ステップにおいて呼処理装置の識別情報と移動通信端末の識別情報とが取得されると、遅延情報格納手段によって格納された、取得された呼処理装置の識別情報と関連付いた遅延情報に基づいて、取得された移動通信端末の識別情報が示す移動通信端末のステート情報を格納する呼処理管理データベース装置を特定する特定ステップと、特定ステップにおいて特定された呼処理管理データベース装置に、取得ステップにおいて取得された移動通信端末の識別情報が示す移動通信端末のステート情報を格納するように切り替える制御ステップと、を含む。
【発明の効果】
【００１２】
本発明によれば、移動体通信システムにおける分散データベースにおいてデータ入出力の遅延を短縮することで性能を向上することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る移動体通信システムにおける分散データベースの処理の概要を示す図である。
【図２】本発明の実施形態に係る移動体通信システムを示す図である。
【図３】呼処理管理用データベースで保持されるデータを示す図である。
【図４】本発明の実施形態に係る移動体通信システムの処理の概要を示す図である。
【図５】本発明の実施形態に係る移動体通信システムを構成する装置の機能構成を示す図である。
【図６】遅延情報格納部で保持されるテーブルデータを示す図である。
【図７】本発明の実施形態に係る移動体通信システムを構成する装置のハードウェア構成を示す図である。
【図８】本発明の実施形態に係る移動体通信システムで実行される処理（データベース管理方法）を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
以下、図面と共に本発明に係るデータベース管理装置及びデータベース管理方法の実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００１５】
図１は、本実施形態に係る移動体通信システムにおける分散データベースの処理の概要を示す図である。図１を用いて、移動体通信システムでの適用に限定されない、一般的な分散データベースシステムで適用可能な分散データベースの処理の概要を説明する。図１に示す分散データベース２は、一般的な分散データベースであり、ネットワークに接続された複数のデータベース装置２０ａ、２０ｂ及び２０ｃ（以降、これらを総称してデータベース装置２０と呼ぶ）を含んで構成される。分散データベース２は、複数のデータベース装置２０を束ねて、仮想的な単一のデータベース装置であるかのように扱うことが可能である。データベース装置２０は、一般的なデータベース装置であり、図１に示す通り、物理的・地理的に分散して配置されている。分散データベース２において、データは複数のデータベース装置２０に冗長度を持って分散される。ここで、分散データベース２において、分散データベース２に含まれるデータベース装置２０のうち一つのデータベース装置に、書き込み用アクセスデータ実体であるマスタデータが格納され、残りのデータベース装置に、マスタデータのコピーが格納される。なお、マスタデータを格納するデータベース装置をマスタデータ格納装置と呼ぶ。分散データベース２に対してデータを書き込む場合は、マスタデータ格納装置に当該データを書き込む必要がある。
【００１６】
図１において、入出力装置３０ａ及び３０ｂ（以降、これらを総称して入出力装置３０と呼ぶ）は、分散データベース２に対して書き込み用データを入出力する一般的なサーバ装置である。図１に示す通り、入出力装置３０は物理的・地理的に分散して配置されている。ここで、入出力装置３０のうち、現時点において書き込み用データの入出力を行っている入出力装置３０を、主たる入出力装置と呼ぶ。
【００１７】
図１（ａ）では、データベース装置２０ａがマスタデータ格納装置として設定されており、入出力装置３０ａが主たる入出力装置である。ここで、図１（ｂ）に示す通り、主たる入出力装置が入出力装置３０ａから入出力装置３０ｂに変更された場合、従来技術ではマスタデータ格納装置は変更されないため、入出力装置３０ｂはマスタデータ格納装置であるデータベース装置２０ａに対して書き込み用データの入出力を行う必要がある。この場合、図１に示す通り、入出力装置３０ｂとデータベース装置２０ａとは地理的に離れており、その分データ入出力の遅延が発生し、分散データベース２のシステム全体の性能が低下する。
【００１８】
本実施形態に係る分散データベース２では、図１（ｂ）に示す通り、主たる入出力装置が入出力装置３０ａから入出力装置３０ｂに変更された場合、入出力装置３０とデータベース装置２０との間のデータ入出力に関する遅延情報に基づいてマスタデータ格納装置を変更する。例えば、本実施形態に係る分散データベース２では、図１（ｂ）に示す通り、マスタデータ格納装置を、入出力装置３０ｂとのデータ入出力の遅延が少ないデータベース装置２０ｂに切り替える。これにより、本実施形態に係る分散データベース２では、データ入出力の遅延を短縮することができ、それにより分散データベース２の性能を向上することができる。以上が、本実施形態に係る移動体通信システムにおける分散データベースであって、移動体通信システムでの適用に限定されない、一般的な分散データベースシステムで適用可能な分散データベース２における処理の概要の説明である。
【００１９】
以降の本実施形態の説明では、本発明に係るデータベース管理装置及びデータベース管理方法を、移動体通信システムに適用した実施形態について説明する。
【００２０】
図２に本実施形態に係る移動体通信システム１の構成を示す。移動体通信システム１は、移動通信端末（移動機）６０に移動体通信の機能を提供するシステムである。移動通信端末６０は、ユーザにより用いられて移動体通信システム（移動体通信網）に無線通信によって接続して移動体通信を行う装置である。具体的には、移動通信端末６０は、携帯電話機等に相当する。移動通信端末６０は、例えば、移動体通信システム１を介して対向ノード７０との間で呼接続を確立して通信を行う。対向ノード７０は、例えば、別の移動通信端末や移動通信端末６０に様々なサービスを提供するサーバ装置、あるいは他の通信網に接続するための装置（例えば、ＧＧＳＮ（Gateway GPRS Support Node））等に相当する。移動通信端末６０は、移動通信端末６０のユーザが移動体通信システム１の通信事業者と契約することによって移動体通信を行うことが可能になる。なお、移動通信端末６０は、従来の移動通信端末と同様のものでよい。
【００２１】
図２に示すように、移動体通信システム１は、データベース管理装置１０（データベース管理装置）と、複数の呼処理管理用データベース２０（データベース装置）と、複数の呼処理サーバ３０（制御装置）と、オープンフローネットワーク４と、ネットワークマネージャ５０とを含んで構成されている。なお、これらの構成１０、２０、３０、４は、移動体通信システム１（移動体通信網）のコアネットワークを構成するものである。
【００２２】
データベース管理装置１０は、後述の分散データベース２を構成する複数の呼処理管理用データベース２０の間で、マスタデータを格納する呼処理管理用データベース２０であるマスタデータ格納装置の切り替えを制御するデータベース管理装置である。より具体的には、データベース管理装置１０は、移動通信端末６０の位置情報と連動したマスタデータ格納装置の切り替えを制御する。データベース管理装置１０は、ハードウェアとしては一般的なサーバで構成される。なお、データベース管理装置１０の詳細については後述する。
【００２３】
呼処理管理用データベース２０は、呼処理に必要なデータを保持するデータベースである。呼処理管理用データベース２０は、このデータを、例えば、移動通信端末６０を特定する情報に対応付けて、移動通信端末６０毎に保持する。呼処理に必要なデータとしては、具体的には呼処理の状態を示すステート情報や移動通信端末６０に係る加入者プロファイルを保持する。ステート情報としては、移動通信端末６０の在圏エリアや、移動通信端末６０が通信中であるか待受中であるかの情報である。この情報は、後述するように呼処理サーバ３０によって読み出されると共に更新（書き込み）される。なお、本実施形態では、上述の呼処理に必要なデータのうち、書き込み用アクセスデータ実体（マスタデータ）を移動通信端末情報と呼ぶ。
【００２４】
また、加入者プロファイルのデータとしては、移動通信端末６０の電話番号、認証情報、契約速度等の情報がある。これらの情報は、移動通信端末６０のユーザが移動体通信システム１の通信事業者と契約した時に呼処理管理用データベース２０に加入者プロファイルとして新たに記憶（生成）される。これらの情報は、呼処理サーバ３０によって読み出されるが呼処理サーバ３０による更新（書き込み）はなされない。なお、移動通信端末６０毎に記憶されるデータには、このように読み出し（Ｒｅａｄ）と書き込み（Ｗｒｉｔｅ）の両方が発生する項目と読み出し（Ｒｅａｄ）のみ発生する項目とがある。呼処理管理用データベース２０において、これらの項目のレコードを分けて管理することで、Ｗｒｉｔｅの同期待ちでＲｅａｄが遅延することを防止するように工夫することができる。
【００２５】
呼処理管理用データベース２０は、複数の呼処理サーバ３０それぞれと接続されており、呼処理サーバ３０によって、呼処理管理用データベース２０が保持するデータの参照や登録、更新が行われる。呼処理管理用データベース２０は、データベースとして任意の構成をとることができるが、呼処理に必要なデータを保持することを考慮して、本実施形態では図２に示すように、複数の呼処理管理用データベース２０で構成される分散データベース２とし、ＳＰＯＦ（Single Point of Failure）が無いように構成している。そして、分散データベース２では、上述の呼処理に必要なデータは複数の呼処理管理用データベース２０に冗長度を持って分散されて格納され、移動通信端末情報は複数の呼処理管理用データベース２０のうち一つの呼処理管理用データベース２０にて格納される。
【００２６】
ここで呼処理とは、移動体通信システム１を介して移動通信端末６０と対向ノード７０との呼接続に係る処理である。例えば、移動通信端末６０と対向ノード７０との間の呼接続（通信セッション接続とも呼ばれる）を確立する処理、あるいは切断する処理等である。また、移動体通信システム１に在圏するための処理、即ち、位置登録の処理も本実施形態における呼処理に含むこととしてもよい。
【００２７】
呼処理サーバ３０は、ハードウェアとしては一般的なサーバであり、移動体通信システム１において呼処理を行う呼処理ノードである。呼処理サーバ３０は、図２に示すようにオープンフローネットワーク４を介して、移動通信端末６０及び対向ノード７０と接続されており、移動通信端末６０からの要求等に応じて呼処理を行う。呼処理サーバ３０は、図３に示すようにＨＷ（ハードウェア）層、ＯＳ（オペレーティングシステム）層及びＡＰＬ（アプリケーション）層の機能によって実現される。また、呼処理サーバ３０は、障害時やスケールアウト時の処理を容易にするため、仮想サーバとして実装してもよい。
【００２８】
図３に示すように、ＡＰＬ層では、呼情報、一時的な情報、プログラムがメモリ上に記憶される。呼情報は、呼処理に必要なデータであり、呼の状態遷移を保持するステート情報（例えば、通信中や待受中等の情報）や加入者プロファイルである。本実施形態において、分散データベース２において呼情報を格納及び管理する。呼情報は、呼処理管理用データベース２０から情報を取得する等して、呼処理の際のみに保持される。なお、呼情報は、呼処理後にも、キャッシュとして処理の効率化のために呼処理サーバ３０において保持されていてもよいが、呼処理サーバ３０は呼情報についての責任は持たない。このように、呼処理サーバ３０では、呼情報を外出ししている（分散データベース２で格納している）ため、いつでも呼処理サーバ３０の代替が可能である。一時的な情報は、呼処理（信号シーケンス）の途中で用いられる一時的な情報（位置登録、発信等のシーケンス途中の情報）である。例えば、待受中から通信中へ変わる過渡的な状態で用いられるテンポラリ情報である。プログラムは、呼処理サーバ３０の機能を実現するための実行コードそのもの（実行バイナリの情報）である。
【００２９】
移動体通信システム１には、複数の呼処理サーバ３０が含まれる。図２に示すように、災害により何れかの呼処理サーバ３０が故障する場合等を考慮して、複数の拠点（データセンタ等の場所）３を設け、それぞれの拠点３に１つ以上の呼処理サーバ３０を設けるようにすることが望ましい。呼処理サーバ３０は、望ましくはサーバ装置に仮想マシン技術を利用して、仮想化された仮想サーバとして実現される。なお、本実施形態では、呼処理ノードは仮想マシンとして説明するが、個々のサーバ装置による仮想マシンでない呼処理サーバとして実現されてもよい。呼処理サーバ３０は、従来の移動体通信システムでは例えば、ＳＧＳＮ（Serving  GPRS  Support  Node）、ＣＳＣＦ（Call  Session  Control  Function）、ＡＳ（Application  Server）、ＭＭＥ（Mobility  Management  Entity）等のノードに相当する。
【００３０】
オープンフローネットワーク４は、呼処理サーバ３０、移動通信端末６０及び対向ノード７０とそれぞれ接続されており、それらの装置の間の通信路を構成するフロー制御ネットワークである。なお、通常、オープンフローネットワーク４と移動通信端末６０とは、基地局（ＢＴＳ）や無線制御装置（ＲＮＣ）を介して接続されている。オープンフローネットワーク４は、互いに接続されているオープンフロースイッチである複数のノードによって構成されている。ノードは、通常オープンフローネットワークのオープンフロースイッチとして用いられる装置に相当する。後述するように、オープンフローネットワーク４は、ネットワークマネージャ５０のオープンフローコントローラからの制御を受けて情報の送受信を行う。具体的には、オープンフローネットワーク４の各ノードが、自身が受信した情報をどのノードに送信するかを示すフローエントリを、ネットワークマネージャ５０から受信して当該フローエントリに従った情報の送受信を行う。本説明では、オープンフローネットワークとして説明を行うが、ＳＤＮ（Software  defined  network）と呼ばれる、同様のフロー制御とその制御に従ってフロー転送処理を行うネットワークでもよい。
【００３１】
ネットワークマネージャ５０は、オープンフローネットワーク４における情報の送受信を制御する制御ノードである。制御は、例えば、ネットワークマネージャ５０が備える、負荷分散制御を行うオープンフローコントローラによって行われる。ネットワークマネージャ５０は、呼処理サーバ３０のそれぞれと接続されており、情報の送受信を行うことができる。例えば、ネットワークマネージャ５０は、呼処理サーバ３０の割り当てや、それに対応したオープンフローネットワーク４の経路制御を行う。ネットワークマネージャ５０は、その他にも、故障の監視や仮想化サーバのプロビジョニング等を行う。
【００３２】
以上の通り、移動体通信システム１は、移動通信端末６０に係る通信処理を行う複数の呼処理サーバ３０と、複数の呼処理管理用データベース２０で構成される分散データベース２であって、呼処理サーバ３０が移動通信端末６０に係る通信処理を行う際にデータ書き込み用としてアクセスする、当該移動通信端末６０に対応付いた移動通信端末情報を、複数の呼処理管理用データベース２０のうち一つの呼処理管理用データベース２０にて格納する分散データベース２と、を含む。
【００３３】
次に、図２に示す構成を元に、移動体通信システム１における全体的な処理の流れについて簡単に説明する。エンドユーザである移動通信端末６０からの信号は、オープンフローネットワーク４により該当ユーザを収容する呼処理サーバ３０へ届く。呼処理サーバ３０は、呼処理を行う過程で在圏状態や待受け又は通信中などのステート情報の変更が生じた場合、分散データベース２へステート情報を書き込む。ここで、障害や保守作業で呼処理サーバ３０を停止する場合、移動通信端末６０や対向ノード７０からの信号は、オープンフローネットワーク４により別の呼処理サーバ３０へ伝達する。該当信号のステート情報を持たない場合、分散データベース２からステート情報を取得して呼処理を継続する。以上が全体的な処理の流れである。
【００３４】
次に、図４に示す構成を元に、データベース管理装置１０の役割について簡単に説明する。図４は、図２と同様に移動体通信システム１の構成を示す図である。最初の状態として、移動通信端末６０はエリア６ａに在圏している。この状態において、移動通信端末６０からの信号は、オープンフローネットワーク４を経由して、オープンフローネットワーク４により割り当てられた呼処理サーバ３０ａに届く。そして呼処理サーバ３０ａは、移動通信端末６０のステート情報の変更が生じた場合、データベース管理装置１０によってマスタデータ格納装置に設定されている（マスタデータＭが格納されている）呼処理管理用データベース２０ａにステート情報を書き込む。
【００３５】
次の状態として、移動通信端末６０が地理的に移動し、エリア６ｂに在圏することになったとする。この状態において、移動通信端末６０からの信号は、オープンフローネットワーク４を経由して、オープンフローネットワーク４により割り当てられた呼処理サーバ３０ｂ（オープンフローネットワーク４により呼処理サーバ３０が呼処理サーバ３０ａから呼処理サーバ３０ｂに変更される）に届く。そして呼処理サーバ３０ｂは、移動通信端末６０のステート情報の変更が生じた場合、まずはデータベース管理装置１０に対してマスタデータ格納装置の位置情報を問い合わせる。ここでデータベース管理装置１０は、各呼処理管理用データベース２０と、ステート情報を入出力する主たる物理装置である呼処理サーバ３０との間の地理的情報を用いることで、データ入出力時間が最も短くなる呼処理管理用データベース２０をマスタデータ格納装置に切り替える（変更する）。ここでは、データベース管理装置１０は、呼処理管理用データベース２０ｂをマスタデータ格納装置に切り替える（マスタデータＭを呼処理管理用データベース２０ａから呼処理管理用データベース２０ｂに移動する）。以上が、データベース管理装置１０の役割についての説明である。
【００３６】
引き続いて、データベース管理装置１０及び呼処理サーバ３０の本実施形態に係る機能についてより詳細に説明する。図５は、本実施形態に係るデータベース管理装置１０及び呼処理サーバ３０の構成を示す機能ブロック図である。
【００３７】
まずはデータベース管理装置１０の機能について説明する。図５に示す通り、データベース管理装置１０は、遅延情報格納部１１（遅延情報格納手段）、取得要求受信部１２（取得手段）、特定部１３（特定手段）、制御部１４（制御手段）、及び位置情報送信部１５を含んで構成される。
【００３８】
遅延情報格納部１１は、分散データベース２にデータを入出力する呼処理サーバ３０と呼処理管理用データベース２０との間のデータ入出力に関する遅延情報を格納する。遅延情報は、具体的には、呼処理サーバ３０と呼処理管理用データベース２０との間のデータ入出力処理のターンアラウンドタイムである。
【００３９】
図６は、遅延情報格納部１１が格納する遅延情報の一例を示すテーブル図である。図６に示す通り、遅延情報格納部１１は、遅延情報として、呼処理サーバ３０の識別情報である呼処理サーバＩＤと、呼処理管理用データベース２０の識別情報である呼処理管理用データベースＩＤと、当該呼処理サーバ３０と当該呼処理管理用データベース２０との間のデータ入出力のターンアラウンドタイムである入出力遅延（ミリ秒）とを関連付けて予め格納する。例えば、図６において、呼処理サーバＩＤが「１」である呼処理サーバ３０と、呼処理管理用データベースＩＤが「ＤＢ３」である呼処理管理用データベース２０との間のデータ入出力のターンアラウンドタイムは「２０ミリ秒」であることを示している。遅延情報格納部１１は、呼処理サーバ３０の追加や削除等の変更のタイミング、及びデータベースやネットワークの増設などの変化に伴い、格納する遅延情報を随時更新する。遅延情報格納部１１は、予め、移動体通信システム１に含まれる全ての呼処理サーバ３０と、全ての呼処理管理用データベース２０との間のデータ入出力に関する遅延情報を測定し、格納してもよいし、そのうちの一部を測定し、格納してもよい。
【００４０】
取得要求受信部１２は、呼処理サーバ３０からマスタデータ格納装置の位置情報の取得要求を受信すると同時に、呼処理サーバ３０の識別情報と呼処理サーバ３０が通信処理を行っている移動通信端末６０の識別情報とを受信（取得）する。ここで、取得要求受信部１２は、呼処理サーバ３０の識別情報と、移動通信端末６０の識別情報とを呼処理サーバ３０から取得してもよいし、それぞれ別々の装置から取得してもよいし、データベース管理装置１０自身に格納されている識別情報を取得してもよい。取得要求受信部１２は、取得した呼処理サーバ３０の識別情報と移動通信端末６０の識別情報とを特定部１３に出力する。
【００４１】
特定部１３は、取得要求受信部１２によって呼処理サーバ３０の識別情報と移動通信端末６０の識別情報とが取得されると、遅延情報格納部１１によって格納された、取得された呼処理サーバ３０の識別情報と関連付いた遅延情報に基づいて、取得された移動通信端末６０の識別情報が示す移動通信端末６０の移動通信端末情報を格納する呼処理管理用データベース２０を特定する。具体的には、特定部１３は、取得要求受信部１２によって取得された呼処理サーバ３０の識別情報が示す呼処理サーバ３０と呼処理管理用データベース２０との間のデータ入出力の遅延が最小となる呼処理管理用データベース２０を特定する。
【００４２】
ここで、図６に示す遅延情報に基づいて、特定部１３による特定方法の詳細について説明する。特定部１３は、取得要求受信部１２から入力された呼処理サーバＩＤが「１」であった場合、図６に示す遅延情報において、呼処理サーバＩＤが「１」の行の入出力遅延のうち最小の値である「５」に対応する呼処理管理用データベースＩＤ「ＤＢ１」を抽出する。つまり、呼処理管理用データベースＩＤが「ＤＢ１」の呼処理管理用データベース２０を特定する。そして、特定部１３は、抽出した呼処理管理用データベースＩＤ「ＤＢ１」を制御部１４に出力する。
【００４３】
制御部１４は、特定部１３によって特定された呼処理管理用データベース２０に、取得要求受信部１２によって取得された移動通信端末６０の識別情報が示す移動通信端末６０の移動通信端末情報を格納するように切り替える。つまり、制御部１４は、特定部１３によって特定された呼処理管理用データベース２０をマスタデータ格納装置に切り替える。ここで、制御部１４は、切り替え前のマスタデータ格納装置である呼処理管理用データベース２０の呼処理管理用データベースＩＤ（切り替え前ＩＤ）を格納している。制御部１４は、具体的には、特定部１３によって特定された呼処理管理用データベース２０の呼処理管理用データベースＩＤ（切り替え後ＩＤ）が特定部１３から入力されると、切り替え前ＩＤが示す呼処理管理用データベース２０が格納しているマスタデータ（移動通信端末６０の移動通信端末情報）を、切り替え後ＩＤが示す呼処理管理用データベース２０に移し替える（マスタデータを設定する）。その後、特定部１３は、切り替え前ＩＤが示す呼処理管理用データベース２０に対してマスタデータの設定解除を行う。なお、制御部１４は、特定部１３によって特定された呼処理管理用データベース２０が、すでにマスタデータ格納装置であった場合、切り替え処理を行わない。最後に、特定部１３は、切り替え後ＩＤを位置情報送信部１５に出力する。
【００４４】
なお、制御部１４は、マスタデータ格納装置を切り替える際に、切り替え前のマスタデータ格納装置と切り替え後のマスタデータ格納装置とにおける格納されたデータの読み書きの許可に関するフラグを更新してもよい。例えば、制御部１４は、マスタデータを設定する際に、切り替え後ＩＤが示す呼処理管理用データベース２０のデータ書き込みフラグを許可に設定する。また、制御部１４は、マスタデータの設定解除を行う際に、切り替え前ＩＤが示す呼処理管理用データベース２０のデータ書き込みフラグを禁止に設定する。
【００４５】
位置情報送信部１５は、制御部１４によって切り替えられたマスタデータ格納装置の位置情報を、取得要求受信部１２によって受信された取得要求の送信元である呼処理サーバ３０へ送信する。具体的には、位置情報送信部１５は、特定部１３から入力された切り替え後ＩＤ又は切り替え後ＩＤが示す呼処理管理用データベース２０の位置情報（ＩＰアドレス等）を、呼処理サーバ３０へ送信する。以上が、データベース管理装置１０の機能についての説明である。
【００４６】
続いて、呼処理サーバ３０の機能について説明する。図５に示す通り、呼処理サーバ３０は、取得要求送信部３１、位置情報受信部３２、及び入出力部３３を含んで構成される。
【００４７】
取得要求送信部３１は、マスタデータ格納装置の位置情報の取得要求をデータベース管理装置１０に送信する。取得要求送信部３１は、取得要求を送信する際に、呼処理サーバ３０（自身）の識別情報と呼処理サーバ３０（自身）が通信処理を行っている移動通信端末６０の識別情報とを同時に送信してもよい。
【００４８】
位置情報受信部３２は、データベース管理装置１０からマスタデータ格納装置の位置情報を受信する。具体的には、位置情報受信部３２は、上述の切り替え後ＩＤ又は切り替え後ＩＤが示す呼処理管理用データベース２０の位置情報を受信する。
【００４９】
入出力部３３は、分散データベース２に対するデータの入出力を制御する。具体的には、入出力部３３は、位置情報受信部３２によって受信された位置情報が示すマスタデータ格納装置に対してデータの入出力を行う。例えば、入出力部３３が移動通信端末６０に対応付いた移動通信端末情報を呼処理管理用データベース２０に書き込む場合、まずは取得要求送信部３１に対して、マスタデータ格納装置の位置情報の取得要求を送信させ、その応答として位置情報受信部３２が受信した呼処理管理用データベース２０の位置情報に基づいて、入出力部３３は、当該呼処理管理用データベース２０に対して移動通信端末情報の書き込みを行う。以上が、呼処理サーバ３０の機能についての説明である。
【００５０】
引き続いて、図７に本実施形態に係るデータベース管理装置１０、呼処理管理用データベース２０、呼処理サーバ３０、及びネットワークマネージャ５０を構成するサーバ装置のハードウェア構成を示す。図７に示すように当該サーバ装置は、ＣＰＵ１０１、主記憶装置であるＲＡＭ（Random  Access  Memory）１０２及びＲＯＭ（Read  Only  Memory）１０３、通信を行うための通信モジュール１０４、並びにハードディスク等の補助記憶装置１０５等のハードウェアを備えるコンピュータを含むものとして構成される。これらの構成要素がプログラム等により動作することにより、上述した各データベース管理装置１０、呼処理管理用データベース２０、呼処理サーバ３０、及びネットワークマネージャ５０の機能が発揮される。以上が、移動体通信システム１の構成である。
【００５１】
引き続いて、図８のシーケンス図を用いて、本実施形態に係る移動体通信システム１で実行される処理であるデータベース管理方法を説明する。なお、本処理は、図４を用いて説明した処理と同様である。
【００５２】
はじめに、移動通信端末６０はエリア６ａにおいて呼処理サーバ３０ａに収容されている。呼処理サーバ３０ａにおいて移動通信端末情報（ステート情報）の取得や変更が生じた場合、呼処理サーバ３０ａの取得要求送信部３１によって、データベース管理装置１０に対してマスタデータ格納装置の位置情報の問い合わせが行われる（Ｓ１）。次に、データベース管理装置１０の取得要求受信部１２によって問い合わせが受信され、呼処理サーバ３０ａの識別情報と、呼処理サーバ３０ａが通信処理を行っている移動通信端末６０の識別情報とが取得されると（取得ステップ）、特定部１３によって、遅延情報格納部１１により格納されている遅延情報に基づいて、呼処理サーバ３０ａに最も入出力遅延が小さい呼処理管理用データベース２０である呼処理管理用データベース２０ａが特定される（Ｓ２、特定ステップ）。
【００５３】
次に、制御部１４によって、Ｓ２で特定された呼処理管理用データベース２０ａがマスタデータ格納装置として設定される（Ｓ３、制御ステップ）。次に、位置情報送信部１５によって、呼処理サーバ３０ａに対して呼処理管理用データベース２０ａの位置情報の応答がなされる（Ｓ４）。次に、呼処理サーバ３０ａの位置情報受信部３２によって、呼処理管理用データベース２０ａの位置情報が受信される。そして、呼処理サーバ３０ａは、呼処理におけるユーザデータアクセス時には、指定された呼処理管理用データベース２０ａにアクセス可能となり、呼処理サーバ３０ａにより移動通信端末６０の移動通信端末情報の取得や変更が実行される（Ｓ５）。
【００５４】
ここで、ユーザの移動に伴い、移動通信端末６０がエリア６ａから６ｂへ移動し、収容ノードが呼処理サーバ３０ｂに変更になったとする（Ｓ６）。呼処理サーバ３０ｂにおいて移動通信端末情報の取得や変更が生じた場合、呼処理サーバ３０ｂの取得要求送信部３１によって、データベース管理装置１０に対してマスタデータ格納装置の位置情報の問い合わせが行われる（Ｓ７）。次に、データベース管理装置１０の取得要求受信部１２によって問い合わせが受信され、呼処理サーバ３０ｂの識別情報と、呼処理サーバ３０ｂが通信処理を行っている移動通信端末６０の識別情報とが取得されると（取得ステップ）、特定部１３によって、遅延情報格納部１１により格納されている遅延情報に基づいて、呼処理サーバ３０ｂに最も入出力遅延が小さい呼処理管理用データベース２０である呼処理管理用データベース２０ｂが特定される（Ｓ８、特定ステップ）。
【００５５】
次に、制御部１４によって、Ｓ８で特定された呼処理管理用データベース２０ｂがマスタデータ格納装置として設定される（Ｓ９、制御ステップ）。続いて、制御部１４によって、以前のマスタデータ格納装置である呼処理管理用データベース２０ａに対してマスタデータ格納装置の設定解除が行われる（Ｓ１０、制御ステップ）。次に、位置情報送信部１５によって、呼処理サーバ３０ｂに対して呼処理管理用データベース２０ｂの位置情報の応答がなされる（Ｓ１１）。次に、呼処理サーバ３０ｂの位置情報受信部３２によって、呼処理管理用データベース２０ｂの位置情報が受信される。そして、呼処理サーバ３０ｂは、呼処理におけるユーザデータアクセス時には、指定された呼処理管理用データベース２０ｂにアクセス可能となり、呼処理サーバ３０ｂにより移動通信端末６０の移動通信端末情報の取得や変更が実行される（Ｓ１２）。
【００５６】
なお、Ｓ８にて特定された呼処理管理用データベース２０が呼処理管理用データベース２０ａであった場合、すなわち、特定部１３によって特定された呼処理管理用データベース２０がすでにマスタデータ格納装置であった場合、Ｓ９及びＳ１０がスキップされる（切り替え処理が行われない）。そして、Ｓ８に続いて、Ｓ１１にて、位置情報送信部１５によって、呼処理サーバ３０ｂに対して呼処理管理用データベース２０ａの位置情報の応答がなされ、Ｓ１２にて、呼処理サーバ３０ｂは、呼処理管理用データベース２０ａにアクセス可能となる。以上が、本実施形態に係る移動体通信システム１で実行される処理であるデータベース管理方法である。
【００５７】
上述したように本実施形態に係るデータベース管理装置１０では、取得要求受信部１２によって呼処理サーバ３０の識別情報と当該呼処理サーバ３０が通信処理を行っている移動通信端末６０の識別情報とが取得されると、当該呼処理サーバ３０の識別情報と関連付いた遅延情報に基づいて、当該移動通信端末６０の識別情報が示す移動通信端末６０の移動通信端末情報を格納する呼処理管理用データベース２０が特定され、当該呼処理管理用データベース２０に当該移動通信端末情報が格納されることでマスタデータ格納装置に切り替えられる。これにより、例えば、呼処理サーバ３０が物理的・地理的に変更されても、呼処理サーバ３０はデータ入出力の遅延が少ない、すなわちデータ入出力が速いマスタデータ格納装置とデータ入出力を行うことができる。つまり、移動体通信システム１における分散データベース２においてデータ入出力の遅延を短縮することで性能を向上することができる。
【００５８】
特定部１３は、遅延情報に基づいて、取得要求受信部１２によって取得された呼処理サーバ３０の識別情報が示す呼処理サーバ３０と呼処理管理用データベース２０との間のデータ入出力の遅延が最小となる呼処理管理用データベース２０を特定することとしてもよい。この構成によれば、呼処理サーバ３０はデータ入出力の遅延が最小のマスタデータ格納装置とデータ入出力を行うことができる。つまり、移動体通信システム１における分散データベース２においてデータ入出力の遅延を短縮することができ、それにより移動体通信システム１の性能を向上することができる。また、特定部１３は、呼処理サーバ３０や呼処理管理用データベース２０の負荷状況等にさらに基づいて呼処理管理用データベース２０を特定してもよい。
【００５９】
遅延情報は、呼処理サーバ３０と呼処理管理用データベース２０との間のターンアラウンドタイムであることとしてもよい。この構成によれば、呼処理サーバ３０は、呼処理管理用データベース２０との間のデータ入出力のターンアラウンドタイムに基づいて切り替えられたマスタデータ格納装置とデータ入出力を行うことができる。これにより、例えば、呼処理サーバ３０が物理的・地理的に変更されても、呼処理サーバ３０はデータ入出力のターンアラウンドタイムが小さい、すなわちデータ入出力のレスポンスが速いマスタデータ格納装置とデータ入出力を行うことができる。つまり、移動体通信システム１における分散データベース２においてデータ入出力の遅延を短縮することができ、それにより移動体通信システム１の性能を向上することができる。
【００６０】
以上説明した通り、従来では、移動端末の移動に伴い制御装置（ＭＭＥやＳＧＳＮ等）が物理的・地理的に変更されても、分散データベースのマスタデータを保持する物理装置が変更されないため、制御装置と分散データベースとの間のデータ入出力時間が長くかかり、結果としてシステム性能が下がる危険性があった。一方、本実施形態に係る移動体通信システム１では、サーバ仮想化による冗長化構成をとり、状態遷移を分散データベース２に情報を保持するが、移動通信ネットワークにおいては移動通信端末６０の移動に伴って、移動通信端末６０の制御装置である呼処理サーバ３０は物理的かつ地理的に変更される。そこで、該当データを入出力する主たる物理装置である呼処理サーバ３０との間の地理的情報を用いることで、データ入出力時間が最も短くなる分散データベース２のデータを保持する物理装置である呼処理管理用データベース２０に、書き込み用アクセスデータ実体を変更する。該当データの入出力遅延を最小化することにより、分散データベース２のターンアラウンドタイムが最小化し、システム性能が向上する。
【００６１】
なお、本実施形態では移動体通信システムを対象に説明しているが、本発明に係るデータベース管理装置及びデータベース管理方法は、分散データベースや分散ファイルシステムにも同様に適用することができる。
【符号の説明】
【００６２】
１…移動体通信システム、２…分散データベース、３…拠点、４…オープンフローネットワーク、６…拠点、１０…データベース管理装置、１１…遅延情報格納部、１２…取得要求受信部、１３…特定部、１４…制御部、１５…位置情報送信部、２０…呼処理管理用データベース、３０…呼処理サーバ、３１…取得要求送信部、３２…位置情報受信部、３３…入出力部、５０…ネットワークマネージャ、６０…移動通信端末、７０…対向ノード、１０１…ＣＰＵ、１０２…ＲＡＭ、１０３…ＲＯＭ、１０４…通信モジュール、１０５…補助記憶装置。
【図１】
0005973237.tif 000002
【図２】
0005973237.tif 000003
【図３】
0005973237.tif 000004
【図４】
0005973237.tif 000005
【図５】
0005973237.tif 000006
【図６】
0005973237.tif 000007
【図７】
0005973237.tif 000008
【図８】
0005973237.tif 000009