(57)【要約】【課題】  通信処理における遅延を防止する。【解決手段】  通信処理ノード８０は、通信処理を行うＳ−ＣＳＣＦ６０と、移動通信端末１０のステート情報を保持する分散データベース５０へのアクセスを行うステート管理機構７０を備える。ステート管理機構７０は、ステート情報をキャッシュとして保持する保持部７１と、移動通信端末１０に応じた分散データベース５０へのアクセス権を示すキーを保持すると共にアクセスの対象のステート情報に係る移動通信端末１０に対応するキーをロックするロック部７３と、キーがロックされた後に、Ｓ−ＣＳＣＦ６０に対して分散データベース５０へのアクセス依頼に対する応答を出力し、当該出力後にキャッシュ及び分散データベース５０への書き込みを行う書込部７４と、分散データベース５０への書き込みが終了したらキーのロックを解除するロック解除部７６とを備える。【選択図】  図１
2014229202.tif 000002
【特許請求の範囲】
【請求項１】
通信端末の通信に係る通信処理を実行すると共に、通信端末毎に通信処理の状態を示すステート情報を保持するデータベースと接続される通信処理ノードであって、
前記通信処理を行う通信処理手段と、
前記データベースへのアクセスを行う代理処理手段とを、備え、
前記通信処理手段は、前記通信処理に必要な前記データベースへのアクセスを代理処理手段に依頼すると共に、当該依頼に対する代理処理手段からの応答を入力すると当該通信処理を進め、
前記代理処理手段は、
前記データベースに保持された前記通信端末に係るステート情報を取得してキャッシュとして保持する保持手段と、
前記通信処理手段から前記データベースへのアクセスの依頼を受け付ける依頼受付手段と、
前記通信端末に応じた前記データベースへのアクセス権を示すキーを保持すると共に、前記依頼受付手段によって前記依頼が受け付けられると、当該アクセスの対象のステート情報に係る通信端末に対応するキーがロックされていないか否かを確認してロックされていない場合に当該キーをロックするロック手段と、
前記依頼受付手段によって受け付けられた前記依頼が前記データベースへの書き込みを行うものである場合には、前記ロック手段によって前記キーがロックされた後に、前記通信処理手段に対して当該依頼に対する応答を出力し、当該出力後に前記キャッシュ及び当該データベースへの書き込みを行う書込手段と、
前記依頼受付手段によって受け付けられた前記依頼が前記データベースからの読み出しを行うものである場合には、前記ロック手段によって前記キーがロックされた後に、前記保持手段によって保持されている情報を読み出して、前記通信処理手段に対して当該依頼に対する応答として読み出した情報を応答として出力する読出手段と、
前記書込手段による前記データベースへの書き込み、又は前記読出手段による前記保持手段によって保持されている情報の読み出しが終了したら、前記キーのロックを解除するロック解除手段と、を備える通信処理ノード。
【請求項２】
前記通信処理手段は、物理マシン上で仮想化された仮想マシンによって構成される請求項１に記載の通信処理ノード。
【請求項３】
請求項１又は２に記載の複数の通信処理ノードと前記データベースと制御ノードとを含む通信システムであって、
前記制御ノードは、
前記通信端末毎に通信処理を行う通信処理ノードを決定する決定手段と、
前記決定手段による決定に応じて前記通信端末毎に前記キーを通信処理ノード間で移動させる制御を行う移動手段と、を備え、
前記通信処理ノードの前記ロック手段は、前記制御ノードによる制御を受けて前記キーの移動を行う、通信システム。
【請求項４】
通信端末の通信に係る通信処理を実行すると共に、通信端末毎に通信処理の状態を示すステート情報を保持するデータベースと接続される通信処理ノードによる通信処理方法であって、
前記通信処理ノードは、
前記通信処理を行う通信処理手段と、
前記データベースへのアクセスを行う代理処理手段とを、備え、
前記代理処理手段は、
前記データベースに保持された前記通信端末に係るステート情報を取得してキャッシュとして保持する保持手段と、
前記通信端末に応じた前記データベースへのアクセス権を示すキーを保持するロック手段と、を備え、
前記通信処理手段が、前記通信処理に必要な前記データベースへのアクセスを代理処理手段に依頼すると共に、当該依頼に対する代理処理手段からの応答を入力すると当該通信処理を進めるステップと、
前記代理処理手段が、
前記通信処理手段から前記データベースへのアクセスの依頼を受け付ける依頼受付ステップと、
前記依頼受付ステップにおいて前記依頼が受け付けられると、前記ロック手段に保持された当該アクセスの対象のステート情報に係る通信端末に対応するキーがロックされていないか否かを確認してロックされていない場合に当該キーをロックするロックステップと、
前記依頼受付ステップにおいて受け付けられた前記依頼が前記データベースへの書き込みを行うものである場合には、前記ロックステップにおいて前記キーがロックされた後に、前記通信処理手段に対して当該依頼に対する応答を出力し、当該出力後に前記キャッシュ及び当該データベースへの書き込みを行う書込ステップと、
前記依頼受付ステップにおいて受け付けられた前記依頼が前記データベースからの読み出しを行うものである場合には、前記ロック手段によって前記キーがロックされた後に、前記保持手段によって保持されている情報を読み出して、前記通信処理手段に対して当該依頼に対する応答として読み出した情報を応答として出力する読出ステップと、
前記書込ステップにおける前記データベースへの書き込み、又は前記読出ステップにおける前記保持手段によって保持されている情報の読み出しが終了したら、前記キーのロックを解除するロック解除ステップと、
を含む通信処理方法。
【請求項５】
通信端末の通信に係る通信処理を実行すると共に、通信端末毎に通信処理の状態を示すステート情報を保持するデータベースと接続される複数の通信処理ノードと制御ノードとを含む通信システムによる通信処理方法であって、
前記通信処理ノードは、
前記通信処理を行う通信処理手段と、
前記データベースへのアクセスを行う代理処理手段とを、備え、
前記代理処理手段は、
前記データベースに保持された前記通信端末に係るステート情報を取得してキャッシュとして保持する保持手段と、
前記通信端末に応じた前記データベースへのアクセス権を示すキーを保持するロック手段と、を備え、
前記通信処理手段が、前記通信処理に必要な前記データベースへのアクセスを代理処理手段に依頼すると共に、当該依頼に対する代理処理手段からの応答を入力すると当該通信処理を進めるステップと、
前記代理処理手段が、
前記通信処理手段から前記データベースへのアクセスの依頼を受け付ける依頼受付ステップと、
前記依頼受付ステップにおいて前記依頼が受け付けられると、前記ロック手段に保持された当該アクセスの対象のステート情報に係る通信端末に対応するキーがロックされていないか否かを確認してロックされていない場合に当該キーをロックするロックステップと、
前記依頼受付ステップにおいて受け付けられた前記依頼が前記データベースへの書き込みを行うものである場合には、前記ロックステップにおいて前記キーがロックされた後に、前記通信処理手段に対して当該依頼に対する応答を出力し、当該出力後に前記キャッシュ及び当該データベースへの書き込みを行う書込ステップと、
前記依頼受付ステップにおいて受け付けられた前記依頼が前記データベースからの読み出しを行うものである場合には、前記ロック手段によって前記キーがロックされた後に、前記保持手段によって保持されている情報を読み出して、前記通信処理手段に対して当該依頼に対する応答として読み出した情報を応答として出力する読出ステップと、
前記書込ステップにおける前記データベースへの書き込み、又は前記読出ステップにおける前記保持手段によって保持されている情報の読み出しが終了したら、前記キーのロックを解除するロック解除ステップと、
前記制御ノードが、
前記通信端末毎に通信処理を行う通信処理ノードを決定する決定ステップと、
前記決定ステップにおける決定に応じて前記通信端末毎に前記キーを通信処理ノード間で移動させる制御を行う移動ステップと、
前記ロック手段が、前記制御ノードによる制御を受けて前記キーの移動を行うステップと、
を含む通信処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信端末の通信に係る通信処理を実行する通信処理ノード、及び当該通信処理ノードを含む通信システム、並びに当該通信処理ノード又は当該通信システムによる通信処理方法に関する。
【背景技術】
【０００２】
従来から、移動体通信網におけるノードにおいて、移動通信端末のサービスプロファイル等の情報をキャッシュに保持して、キャッシュの情報が参照されて移動通信機能が提供されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−３０８９３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、仮想化技術によって、移動体通信網におけるノードの仮想化を行うことができる。例えば、呼処理等の通信処理を行う通信処理サーバ（例えば、Ｓ−ＣＳＣＦ（Serving-Call Session Control Function））を仮想化サーバで実現することができる。これにより、通信処理サーバが故障した場合には、新たに仮想化サーバによる通信処理サーバを新たに生成して、新たな通信処理サーバに通信処理を行わせることができる。あるいは、通信処理サーバの負荷が大きくなった場合には、仮想化サーバによる通信処理サーバを新たに生成して、負荷を分担することができる。この場合、負荷が大きくなった通信処理サーバで通信処理が行われていた移動通信端末の一部を、新たな通信処理サーバにおいて通信処理させる。
【０００５】
上記のように移動通信端末に対する通信処理を、任意の通信処理サーバにおいて行わせる場合には、特許文献１に示されているように移動通信端末のサービスプロファイルだけではなく、移動通信端末における通信処理の状態（ステート）を任意の通信処理サーバにおいて参照できるようにしておく必要がある。例えば、移動通信端末における通信処理の状態を示す情報を任意の通信処理サーバからアクセス可能なデータベースに格納しておく必要がある。即ち、通信処理サーバにおけるステートレス化を行う必要がある。
【０００６】
通信状態の一貫性を維持するため、通信処理サーバによる通信処理はデータベースへの読み出し又は書き込みが完了してから行われる必要がある。例えば、通信処理サーバは、接続されている通信接続を切断する要求を受信して処理する場合、データベースから当該要求に係る移動通信端末の通信処理の状態を示す情報の読み書きを行った後、次のノードへ必要な信号を送信する。しかしながら、データベースへの読み書きは通信処理のボトルネックとなり、通信処理の遅延につながってしまう。
【０００７】
本発明は、上記の問題点を鑑みてなされたものであり、上記の枠組みの通信システムにおいても、通信処理における遅延を防止する通信処理ノード、通信システム及び通信処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明に係る通信処理ノードは、通信端末の通信に係る通信処理を実行すると共に、通信端末毎に通信処理の状態を示すステート情報を保持するデータベースと接続される通信処理ノードであって、通信処理を行う通信処理手段と、データベースへのアクセスを行う代理処理手段とを、備え、通信処理手段は、通信処理に必要なデータベースへのアクセスを代理処理手段に依頼すると共に、当該依頼に対する代理処理手段からの応答を入力すると当該通信処理を進め、代理処理手段は、データベースに保持された通信端末に係るステート情報を取得してキャッシュとして保持する保持手段と、通信処理手段からデータベースへのアクセスの依頼を受け付ける依頼受付手段と、通信端末に応じたデータベースへのアクセス権を示すキーを保持すると共に、依頼受付手段によって依頼が受け付けられると、当該アクセスの対象のステート情報に係る通信端末に対応するキーがロックされていないか否かを確認してロックされていない場合に当該キーをロックするロック手段と、依頼受付手段によって受け付けられた依頼がデータベースへの書き込みを行うものである場合には、ロック手段によってキーがロックされた後に、通信処理手段に対して当該依頼に対する応答を出力し、当該出力後にキャッシュ及び当該データベースへの書き込みを行う書込手段と、依頼受付手段によって受け付けられた依頼がデータベースからの読み出しを行うものである場合には、ロック手段によってキーがロックされた後に、保持手段によって保持されている情報を読み出して、通信処理手段に対して当該依頼に対する応答として読み出した情報を応答として出力する読出手段と、書込手段によるデータベースへの書き込み、又は読出手段による保持手段によって保持されている情報の読み出しが終了したら、キーのロックを解除するロック解除手段と、を備える。
【０００９】
本発明に係る通信処理ノードでは、通信処理の際にステート情報の読み出しを行う場合には、代理処理手段のキャッシュの情報を利用して通信処理が行われるため、通信処理の際のデータベースからの読み出しを必要とせずに通信処理を行うことができる。また、通信処理の際にデータベースへの書き込みを行う場合には、代理処理手段がデータベースへの書き込みを代理するので、データベースへの書き込みを待たずに通信処理を行うことができる。また、キーのロックによりデータベースの一貫性が維持される。即ち、本発明に係る通信処理ノードによれば、データベースにステート情報を保持する通信システムにおいても、通信処理における遅延を防止することができる。
【００１０】
通信処理手段は、物理マシン上で仮想化された仮想マシンによって構成されるとしてもよい。この構成によれば、仮想マシンによって通信処理手段が実現される場合に、通信処理における遅延を防止することができる。
【００１１】
また、本発明に係る通信システムは、上記の複数の通信処理ノードとデータベースと制御ノードとを含む通信システムであって、制御ノードは、通信端末毎に通信処理を行う通信処理ノードを決定する決定手段と、決定手段による決定に応じて通信端末毎にキーを通信処理ノード間で移動させる制御を行う移動手段と、を備え、通信処理ノードのロック手段は、制御ノードによる制御を受けてキーの移動を行う。この構成によれば、例えば、通信端末毎に通信処理を行う通信処理ノードが変更される場合であっても、適切に通信処理における遅延を防止することができる。
【００１２】
ところで、本発明は、上記のように通信処理ノード及び通信システムの発明として記述できる他に、以下のように通信処理方法の発明としても記述することができる。これはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
【００１３】
即ち、本発明に係る通信処理方法は、通信端末の通信に係る通信処理を実行すると共に、通信端末毎に通信処理の状態を示すステート情報を保持するデータベースと接続される通信処理ノードによる通信処理方法であって、通信処理ノードは、通信処理を行う通信処理手段と、データベースへのアクセスを行う代理処理手段とを、備え、代理処理手段は、データベースに保持された通信端末に係るステート情報を取得してキャッシュとして保持する保持手段と、通信端末に応じたデータベースへのアクセス権を示すキーを保持するロック手段と、を備え、通信処理手段が、通信処理に必要なデータベースへのアクセスを代理処理手段に依頼すると共に、当該依頼に対する代理処理手段からの応答を入力すると当該通信処理を進めるステップと、代理処理手段が、通信処理手段からデータベースへのアクセスの依頼を受け付ける依頼受付ステップと、依頼受付ステップにおいて依頼が受け付けられると、ロック手段に保持された当該アクセスの対象のステート情報に係る通信端末に対応するキーがロックされていないか否かを確認してロックされていない場合に当該キーをロックするロックステップと、依頼受付ステップにおいて受け付けられた依頼がデータベースへの書き込みを行うものである場合には、ロックステップにおいてキーがロックされた後に、通信処理手段に対して当該依頼に対する応答を出力し、当該出力後にキャッシュ及び当該データベースへの書き込みを行う書込ステップと、依頼受付ステップにおいて受け付けられた依頼がデータベースからの読み出しを行うものである場合には、ロック手段によってキーがロックされた後に、保持手段によって保持されている情報を読み出して、通信処理手段に対して当該依頼に対する応答として読み出した情報を応答として出力する読出ステップと、書込ステップにおけるデータベースへの書き込み、又は読出ステップにおける保持手段によって保持されている情報の読み出しが終了したら、キーのロックを解除するロック解除ステップと、を含む。
【００１４】
また、本発明に係る通信処理方法は、通信端末の通信に係る通信処理を実行すると共に、通信端末毎に通信処理の状態を示すステート情報を保持するデータベースと接続される複数の通信処理ノードと制御ノードとを含む通信システムによる通信処理方法であって、通信処理ノードは、通信処理を行う通信処理手段と、データベースへのアクセスを行う代理処理手段とを、備え、代理処理手段は、データベースに保持された通信端末に係るステート情報を取得してキャッシュとして保持する保持手段と、通信端末に応じたデータベースへのアクセス権を示すキーを保持するロック手段と、を備え、通信処理手段が、通信処理に必要なデータベースへのアクセスを代理処理手段に依頼すると共に、当該依頼に対する代理処理手段からの応答を入力すると当該通信処理を進めるステップと、代理処理手段が、通信処理手段からデータベースへのアクセスの依頼を受け付ける依頼受付ステップと、依頼受付ステップにおいて依頼が受け付けられると、ロック手段に保持された当該アクセスの対象のステート情報に係る通信端末に対応するキーがロックされていないか否かを確認してロックされていない場合に当該キーをロックするロックステップと、依頼受付ステップにおいて受け付けられた依頼がデータベースへの書き込みを行うものである場合には、ロックステップにおいてキーがロックされた後に、通信処理手段に対して当該依頼に対する応答を出力し、当該出力後にキャッシュ及び当該データベースへの書き込みを行う書込ステップと、依頼受付ステップにおいて受け付けられた依頼がデータベースからの読み出しを行うものである場合には、ロック手段によってキーがロックされた後に、保持手段によって保持されている情報を読み出して、通信処理手段に対して当該依頼に対する応答として読み出した情報を応答として出力する読出ステップと、書込ステップにおけるデータベースへの書き込み、又は読出ステップにおける保持手段によって保持されている情報の読み出しが終了したら、キーのロックを解除するロック解除ステップと、制御ノードが、通信端末毎に通信処理を行う通信処理ノードを決定する決定ステップと、決定ステップにおける決定に応じて通信端末毎にキーを通信処理ノード間で移動させる制御を行う移動ステップと、ロック手段が、制御ノードによる制御を受けてキーの移動を行うステップと、を含む。
【発明の効果】
【００１５】
本発明によれば、データベースにステート情報を保持する通信システムにおいても、通信処理における遅延を防止することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係る通信システムである移動体通信システムの構成を示す図である。
【図２】物理ノードのソフトウェア構成を示す図である。
【図３】ステート管理機構の機能構成を示す図である。
【図４】ネットワークマネージャの機能構成を示す図である。
【図５】本発明の実施形態に係る移動体通信システムを構成する装置のハードウェア構成を示す図である。
【図６】本発明の実施形態に係る通信処理ノード及び移動体通信システムで実行される処理（通信処理方法）を示すシーケンス図である。
【図７】本発明の実施形態に係る通信処理ノード及び移動体通信システムで実行される処理（通信処理方法）を示すフローチャートである。
【図８】本発明の実施形態に係る通信処理ノード及び移動体通信システムで実行される処理（通信処理方法）を示すシーケンス図である。
【図９】本発明の実施形態に係る通信処理ノード及び移動体通信システムで実行される処理（通信処理方法）を示すシーケンス図である。
【発明を実施するための形態】
【００１７】
以下、図面と共に本発明に係る通信処理ノード、通信システム及び通信処理方法の実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００１８】
図１に本実施形態に係る通信システムである移動体通信システム１の構成を示す。移動体通信システム１は、移動通信端末（移動機、ＵＥ：User Equipment）１０に移動体通信の機能を提供するシステムである。移動通信端末１０は、ユーザにより用いられて移動体通信システム１（移動体通信網）に無線通信によって接続して移動体通信を行う装置である。具体的には、移動通信端末１０は、携帯電話機等に相当する。移動通信端末１０は、例えば、移動体通信システム１を介して別の移動通信端末１０やその他の対向ノードとの間に呼接続等の通信接続を確立して通信を行う。その他の対向ノードは、例えば、移動通信端末１０に様々なサービスを提供するサーバ装置、あるいは他の通信網に接続するための装置（例えば、ＧＧＳＮ（Gateway GPRS Support Node））等に相当する。移動通信端末１０は、移動通信端末１０のユーザが移動体通信システム１の通信事業者と契約することによって移動体通信を行うことが可能になる。なお、移動通信端末１０は、従来の移動通信端末と同様のものでよい。
【００１９】
図１に示すように移動体通信システム１は、１以上あるいは複数の物理ノード（物理サーバ）２０と、オープンフローネットワーク３０と、ネットワークマネージャ４０とを含んで接続されている。これらの構成２０，３０，４０は、移動体通信システム１（移動体通信網）のコアネットワークを構成するものである。物理ノード２０は、移動体通信システム１において通信処理を行う物理的な装置である。通信処理は、各物理ノード２０で実現される通信処理ノードによって行われる。
【００２０】
通信処理は、移動通信端末が移動体通信を行うための処理である。通信処理は、移動通信端末１０毎に行われる。通信処理には、例えば呼処理が含まれる。ここで呼処理とは、移動体通信システム１を介して移動通信端末１０と通信相手の装置との呼接続に係る処理である。例えば、移動通信端末１０と通信相手の装置との間の呼接続（通信セッション接続、あるいは通信接続とも呼ばれる）を確立する処理、あるいは切断する処理等である。
【００２１】
物理ノード２０は、図１に示すようにオープンフローネットワーク３０を介して、移動通信端末１０と接続されており、情報の送受信を行うことができるようになっている。また、複数の物理ノード２０間も接続されており、物理ノード２０同志で情報の送受信ができるようになっている。また、複数の拠点（データセンタ等の場所）を設け、それぞれの拠点に１つ以上の物理ノード２０を設けるようにすることが望ましい。複数の拠点に物理ノード２０を設けるのは、各拠点の物理ノードが最寄の地域の通信処理を担当すると共に、災害により隣接地域の物理ノード２０が故障する場合の代替処理等を考慮したものである。
【００２２】
物理ノード２０では、機能的な構成として、分散データベース５０と、Ｓ−ＣＳＣＦ６０と、ステート管理機構７０とが実現される。分散データベース５０は、複数の物理ノード２０上の分散データベース５０と互いに連携することでデータベースとしての機能を発揮する。
【００２３】
分散データベース５０は、通信処理に必要なデータを保持するデータベースである。分散データベース５０は、このデータを、例えば、移動通信端末１０を特定する情報に対応付けて、移動通信端末１０毎に保持する。通信処理に必要なデータとしては、具体的には通信処理の状態を示すステート情報や移動通信端末１０に係る加入者プロファイルを保持する。ステート情報としては、例えば、移動通信端末１０が通信中であるか（通話状態であるか）、待受中（終話状態）であるかを示す情報（通信接続の状態を示す情報）である。また、ステート情報には、上記の情報がいつ更新されたかの時刻を示すタイムスタンプ（例えば、ｕｎｉｘ時間）の情報が含まれていてもよい。この情報は、後述するように各ステート管理機構７０によって読み出されると共に更新（書き込み）される。また、ステート情報には移動通信端末１０の在圏エリアの情報が含まれていてもよい。
【００２４】
なお、通信処理に必要なデータを保持するデータベースは、必ずしも分散データベース５０の構成をとる必要はなく、データベースとして任意の構成をとることができる。例えば、Ｓ−ＣＳＣＦ６０及びステート管理機構７０が実現される物理ノード２０とは別の装置上で実現されていてもよいし、あるいは、１つの装置上で実現されていてもよい。但し、本実施形態のようにＳＰＯＦ（Single Point of Failure）が無いように、複数の物理ノード２０で実現される分散データベース５０とすることが望ましい。
【００２５】
分散データベース５０は、図１に示すように複数の物理ノード２０にわたって実現されている場合には、各物理ノード２０の分散データベース５０では、分散データベース５０全体の一部の情報が格納されている。例えば、１つの物理ノード２０の分散データベース５０には、１０００人分のユーザ（１０００台分の移動通信端末１０）の情報が格納されている。また、１つの移動通信端末１０の情報が、複数の物理ノード２０の分散データベース５０に格納されていてもよい。即ち、移動通信端末１０の情報が、冗長化されていてもよい。
【００２６】
本実施形態に係る通信処理ノード８０は、Ｓ−ＣＳＣＦ６０と、ステート管理機構７０とを含んで構成する。Ｓ−ＣＳＣＦ６０は、移動体通信システム１において通信処理を行う通信処理手段である。例えば、移動通信端末１０間の呼接続を確立する処理、あるいは切断する処理を行う。Ｓ−ＣＳＣＦ６０は、移動通信端末１０からの要求等に応じて呼接続を行う。上記の通信処理自体は、従来の通信処理ノードと同様に行われる。また、Ｓ−ＣＳＣＦ６０は、物理ノード上で仮想化された仮想マシン（ＶＭ：Virtual Machine）上の仮想化サーバとして構成される。これは、後述するスケールイン又はスケールアウト時の処理を容易にするためである。移動通信端末１０毎に通信処理を行うＳ−ＣＳＣＦ６０が、ネットワークマネージャ４０によって定められている。
【００２７】
本実施形態では、移動通信端末１０に対する通信処理を、任意のＳ−ＣＳＣＦ６０において行わせることができる。そのためにステート情報を分散データベース５０で保持しておくようにしている（ステート情報の外出し）。即ち、Ｓ−ＣＳＣＦ６０は、ステートレス化したサーバ（ステートレスサーバ）である。但し、通信処理の迅速化のため、後述するようにステート情報は物理ノード２０上のキャッシュに保持されている。
【００２８】
Ｓ−ＣＳＣＦ６０は、通信処理を実行する上で分散データベース５０に保持される情報の読み出し及び書き込みが必要となる。本実施形態では、Ｓ−ＣＳＣＦ６０は、分散データベース５０に保持される情報の読み出し及び書き込みを直接行わず、ステート管理機構７０に代理させる。即ち、Ｓ−ＣＳＣＦ６０は、分散データベース５０に保持される情報の読み出し及び書き込みをステート管理機構７０に依頼する。即ち、ステート管理機構７０が、Ｓ−ＣＳＣＦ６０による分散データベース５０に保持される情報の読み出し及び書き込みをフックする。Ｓ−ＣＳＣＦ６０は、当該依頼に対するステート管理機構７０からの応答を受領すると通信処理を継続して進める。その具体例については後述する。
【００２９】
ステート管理機構７０は、Ｓ−ＣＳＣＦ６０からの依頼に基づき、分散データベース５０に保持される情報の読み出し及び書き込みに係る処理を行う手段である。即ち、ステート管理機構７０は、Ｓ−ＣＳＣＦ６０を代理して分散データベース５０へのアクセスを行う代理処理手段である。ステート管理機構７０の機能の詳細については後述する。ステート管理機構７０は当該機能を実現するために、キャッシュ（機構）７０１及びロック（機構）７０２を有している。
【００３０】
キャッシュ７０１は、移動通信端末１０毎に分散データベース５０に保持されている情報をキャッシュしておく手段である。キャッシュ７０１は、Ｓ−ＣＳＣＦ６０が、分散データベース５０に保持されている情報を迅速に参照できるようにするためのものである。キャッシュ７０１は、物理ノード２０上の高速にアクセス可能なメモリ等によって実現される。また、ロック７０２は、分散データベース５０に保持されている情報の一貫性を保つためのものである。より詳細には後述する。なお、ロック７０２は、上記のキャッシュ７０１上に構成されていてもよい。
【００３１】
図２は、物理ノード２０のソフトウェア構成を示す図である。物理ノード２０は、物理的な装置のコンピュータである物理マシン２１上でソフトウェアが実行されることで実現される。物理マシン２１上では、まず、ホストＯＳ（Operating System）２２が実行される。ホストＯＳ２２上では、仮想マシンを実現するための仮想マシンゲストＯＳ２３が実行され、仮想マシンゲストＯＳ２３上でアプリケーションが実行されてＳ−ＣＳＣＦ６０が実現される。また、分散データベース５０及びステート管理機構７０はホストＯＳ２２上で実現される。
【００３２】
図１に戻り、説明を続ける。図１に示すようにオープンフローネットワーク３０は、移動通信端末１０及び物理ノード２０とそれぞれ接続されており、それらの装置間の通信路を構成するフロー制御ネットワークである。なお、通常、オープンフローネットワーク３０と移動通信端末１０とは、基地局（ＢＴＳ）や無線制御装置（ＲＮＣ）を介して接続されている。オープンフローネットワーク３０は、互いに接続されている複数のオープンフロースイッチ３１によって構成されている。オープンフローネットワーク３０は、ネットワークマネージャ４０のオープンフローコントローラからの制御を受けて情報の送受信を行う。具体的には、オープンフローネットワーク３０の各オープンフロースイッチ３１が、自身が受信した情報をどのノードに送信するかを示すフローエントリをネットワークマネージャ４０から受信して当該フローエントリに従った情報の送受信を行う。本説明では、オープンフローネットワークとして説明を行うが、ＳＤＮ（Software defined network）と呼ばれる、同様のフロー制御とその制御に従ってフロー転送処理を行うネットワークでもよい。
【００３３】
ネットワークマネージャ４０は、ネットワーク管理制御システムを構成する制御ノードである。ネットワーク管理制御システムには、ネットワーク運用ポリシ、ネットワーク運用・制御シナリオ、ネットワークリソース管理、ネットワークトポロジ管理、ネットワークトポロジ変更、ネットワークリソース制御、仮想サーバ制御及びフロー制御の機能を有している。ネットワーク運用ポリシは、ネットワークリソース管理が把握した状態（輻輳や故障等）に基づいて、どのようにネットワークを制御するかを決定するための判断基準（サービスに関わる品質条件や確保すべき帯域等）を保持する機能である。ネットワーク運用・制御シナリオは、ネットワークリソース運用ポリシを参照して、ネットワーク管理が把握した状態を、ポリシを満たす状態にするための制御手順を与える機能である。ネットワークリソース管理は、ネットワーク内に配備されるサーバやスイッチ等から情報を受信して把握する機能である。
【００３４】
ネットワークトポロジ管理は、ネットワークリソース管理により把握した情報から、ネットワーク内の装置接続状況を把握して管理する機能である。ネットワークトポロジ変更は、仮想化サーバの仮想化マシンの配置・移動制御やスイッチ等の設定変更制御により、ネットワークの装置接続状態を変更する機能である。ネットワークリソース制御は、仮想化サーバの仮想マシンの配置・移動制御やスイッチ等の設定変更制御である。仮想サーバ制御は、仮想化サーバ（物理サーバに同じ）から、サーバの情報を受信してサーバの状態を把握する機能である（ＣＰＵ使用率や故障の有無等）。フロー制御は、オープンフローネットワーク３０のフロー制御を行う機能である。本実施形態に係るネットワークマネージャ４０は、上記の機能を利用したものである。上記の制御の一部は、例えば、ネットワークマネージャ４０が備える、負荷分散制御を行うオープンフローコントローラによって行われる。
【００３５】
ネットワークマネージャ４０は、仮想マシン制御線によって、物理ノード２０のそれぞれと接続されており、情報の送受信を行うことができる。また、ネットワークマネージャ４０は、オープンフロースイッチ制御線によって、オープンフローネットワーク３０のオープンフロースイッチ３１のそれぞれと接続されており、情報の送受信を行うことができる。
【００３６】
引き続いて、ステート管理機構７０及びネットワークマネージャ４０の本実施形態に係る機能についてより詳細に説明する。図３に示すようにステート管理機構７０は、保持部７１と、依頼受付部７２と、ロック部７３と、書込部７４と、読出部７５と、ロック解除部７６とを備えて構成される。
【００３７】
保持部７１は、分散データベース５０に保持された移動通信端末１０に係るステート情報を取得してキャッシュ７０１として保持する保持手段である。保持部７１は、保持部７１を備えるステート管理機構７０に対応付けられたＳ−ＣＳＣＦ６０が通信処理を行う移動通信端末１０のステート情報を分散データベース５０から取得する。なお、ステート情報には、分散データベース５０に保持された情報と同様に、情報がいつ更新されたかの時刻を示すタイムスタンプ（例えば、ｕｎｉｘ時間）が含まれていてもよい。
【００３８】
移動通信端末１０には通信処理を行う１つのＳ−ＣＳＣＦ６０が割り当てられる。この割当は、後述するように例えばネットワークマネージャ４０によって行われる。割当が行われた際、ネットワークマネージャ４０からＳ−ＣＳＣＦ６０に対して通信処理対象となる移動通信端末１０が通知される。その際、ステート管理機構７０でもその通知を受け、Ｓ−ＣＳＣＦ６０が通信処理を行う移動通信端末１０が把握される。保持部７１は、Ｓ−ＣＳＣＦ６０が通信処理を行う移動通信端末１０を把握したタイミングで、分散データベース５０に当該移動通信端末１０のステート情報を要求し、分散データベース５０から当該要求に応じて当該移動通信端末１０に係るステート情報を入力（受信）することでステート情報を取得する。また、保持部７１は、当該保持部７１を備えるステート管理機構７０に対応付けられたＳ−ＣＳＣＦ６０（移動後のＳ−ＣＳＣＦ６０）の前に移動通信端末１０の通信処理を担当していたＳ−ＣＳＣＦ６０（移動前のＳ−ＣＳＣＦ６０）に対応付けられたステート管理機構７０から移動通信端末１０に係るステート情報を入力（受信）することとしてもよい。
【００３９】
また、保持部７１は、ステート情報だけでなく、例えば、加入者プロファイル等の移動通信端末１０に対する通信処理を行うために必要な情報も分散データベース５０から取得してキャッシュとして保持しておく。保持部７１に保持される情報（キャッシュ）は、書込部７４及び読出部７５からアクセスされる。
【００４０】
依頼受付部７２は、Ｓ−ＣＳＣＦ６０から分散データベース５０へのアクセスの依頼を受け付ける依頼受付手段である。上述したように当該依頼は、Ｓ−ＣＳＣＦ６０が移動通信端末１０に係る通信処理を行う際に、当該移動通信端末１０のステート情報にアクセスする際に行われる。従って、当該依頼は移動通信端末１０が特定されて行われる。依頼受付部７２は、Ｓ−ＣＳＣＦ６０からの依頼を受け付けると依頼に係る情報をロック部７３に出力する。
【００４１】
ロック部７３は、移動通信端末１０に応じた分散データベース５０へのアクセス権を示すキーを、上述したロック（機構）７０２において保持するロック手段である。上述したように移動通信端末１０には通信処理を行う１つのＳ−ＣＳＣＦ６０が割り当てられる。そのため、分散データベース５０へアクセスできるのは、移動通信端末１０毎に１つの割り当てられたＳ−ＣＳＣＦ６０に対応付けらえたステート管理機構７０だけである。移動通信端末１０のキーを保持していないステート管理機構７０は、分散データベース５０の当該移動通信端末１０に係るステート情報にアクセスすることができない。即ち、移動通信端末１０のキーを保持していないステート管理機構７０に対応するＳ−ＣＳＣＦ６０は、当該移動通信端末１０に係る通信処理が禁止されている。
【００４２】
上記のように各ステート管理機構７０では、Ｓ−ＣＳＣＦ６０に割り当てられた移動通信端末１０のキャッシュとキーとが保持されている。例えば、Ｓ−ＣＳＣＦ６０に割り当てられた移動通信端末１０が２０００台であれば、２０００台分のキャッシュとキーとが保持されている。
【００４３】
ロック部７３は、保持部７１がステート情報を保持するタイミングと同様のＳ−ＣＳＣＦ６０が通信処理を行う移動通信端末１０を把握したタイミングで、当該移動通信端末１０のキーを取得する。この取得は、例えば、ネットワークマネージャ４０によって指示される。また、ロック部７３は、当該ロック部７３を備えるステート管理機構７０に対応付けられたＳ−ＣＳＣＦ６０（移動後のＳ−ＣＳＣＦ６０）の前に移動通信端末１０の通信処理を担当していたＳ−ＣＳＣＦ６０（移動前のＳ−ＣＳＣＦ６０）に対応付けられたステート管理機構７０から移動通信端末１０のキーを入力（受信）することとしてもよい。なお、キーに係る情報を実際にステート管理機構７０間で送受信する必要はなく、ネットワークマネージャ４０からキーの生成が指示された場合にロック部７３において移動通信端末１０のキーを生成すればよい。
【００４４】
ロック部７３は、依頼受付部７２から依頼に係る情報を入力すると、アクセスの対象のステート情報に係る移動通信端末１０に対応するキーがロックされていないか否かを確認する。当該キーがロックされていなければ、ロック部７３は当該キーをロックする。キーをロックすることで、依頼受付部７２から入力された情報に係る依頼に対してのみ、保持部７１に保持されたキャッシュ及び分散データベース５０へのアクセスを可能とする。当該キーがロックされていたら、ロック部７３は当該キーのロックが解除されるのを待ち、当該キーのロックが解除されたら当該キーをロックする。この場合、具体的には、ロックの要求をしておき、ロックが解除される順番待ちを行う。これにより、保持部７１に保持されたキャッシュ及び分散データベース５０に保持されている情報の一貫性が保たれる。なお、キーをロックした際、最後にロックした者（最終ロック者）を示す情報（例えば、ステート管理機構７０を特定する情報）をキーに対応付けて記憶しておいてもよい。
【００４５】
ロック部７３は、キーのロックを行った後、依頼受付部７２から依頼に係る情報を参照して、当該依頼が分散データベース５０への書き込みを行うものであるか、当該依頼が分散データベース５０からの読み出しを行うものであるかを確認する。なお、分散データベース５０への書き込みを行うものであるか、又は分散データベース５０からの読み出しを行うものであるかは、通信処理に応じて予め設定されており、上記の確認は上記に設定に応じて行うことができる。分散データベース５０への書き込みを行う場合は、例えば、移動通信端末１０の通信状態が変化して、変化した状態を示す情報を分散データベース５０に格納させる場合である。具体的には例えば、通信を行っていた移動通信端末１０の通信接続がＢＹＥシーケンス等により切断され、移動通信端末１０の通信状態が通信中から待受中に変化した場合である。
【００４６】
分散データベース５０からの読み出しを行う場合は、例えば、分散データベース５０に格納された情報を変更する必要はないが、通信処理に必要な情報を取得する場合である。具体的には例えば、ＢＹＥシーケンス等の通信処理において、信号を別の通信処理ノード等に送信する場合である。
【００４７】
ロック部７３は、依頼受付部７２から依頼が分散データベース５０への書き込みを行うものであると判断した場合は、当該依頼を示す情報を書込部７４に出力する。依頼を示す情報は、例えば、書き込み対象となる情報や書き込みに係る移動通信端末１０を示す情報を含む。ロック部７３は、依頼受付部７２から依頼が分散データベース５０からの読み出しを行うものであると判断した場合は、当該依頼を示す情報を読出部７５に出力する。依頼を示す情報は、例えば、読み出し対象となる情報や読み出しに係る移動通信端末１０を示す情報を含む。
【００４８】
書込部７４は、保持部７１に保持されたキャッシュ及び分散データベース５０に保持されている情報への書き込みを行う書込手段である。書込部７４は、ロック部７３によってキーがロックされた後、ロック部７３から依頼を示す情報が入力されると、Ｓ−ＣＳＣＦ６０に対して当該依頼に対する応答を出力する。Ｓ−ＣＳＣＦ６０は、当該応答を入力すると引き続き通信処理を継続して行う。
【００４９】
移動体通信網において、ステート情報を分散データベースにおいて管理する形態では、通常、分散データベースに保持されている情報の一貫性を保つため、通信処理サーバは分散データベースへの書き込みの応答を受信してから、続きの通信処理を行う。分散データベースへの書き込みは、通信の発生等によりキャッシュへのアクセス等と比べて時間がかかる。そのため、通信処理の遅延の原因となっていた。一方、本実施形態においては、Ｓ−ＣＳＣＦ６０は、実際に分散データベース５０に書き込みが行われる前に応答を入力して、通信処理を継続するため非常に通信処理の遅延を防止することができる。
【００５０】
書込部７４は、Ｓ−ＣＳＣＦ６０に対して当該依頼に対する応答を出力した後、保持部７１に保持されたキャッシュ及び分散データベース５０に保持されている情報への、当該依頼に係る書き込みを実行する。書込部７４は、書き込みを実行するとその旨をロック解除部７６に通知する。書込部７４は、分散データベース５０への書き込みを行う際にデータを複数の物理ノード２０の分散データベース５０に書き込むこととしてもよい。これにより、ステート情報の可用性、分散耐性を向上させることができる。
【００５１】
読出部７５は、ロック部７３によってキーがロックされた後、ロック部７３から依頼を示す情報が入力されると、保持部７１にキャッシュとして保持されている当該依頼に係る情報を読み出して、読み出した情報をＳ−ＣＳＣＦ６０に対して当該依頼に対する応答として出力する読出手段である。読出部７５による読み出しは、キャッシュから行われるため、分散データベース５０から読み出す場合と比べて高速に行われる。Ｓ−ＣＳＣＦ６０は、当該応答を入力すると、応答の情報を利用して引き続き通信処理を継続して行う。読出部７５は、読み出しを完了するとその旨をロック解除部７６に通知する。
【００５２】
ロック解除部７６は、ロック部７３によってロックされたキーのロックを解除する（キー解除する）ロック解除手段である。ロック解除部７６は、書込部７４から、分散データベース５０への書き込みが終了した旨の通知を受けると、又は読出部７５から、保持部７１によって保持されている情報の読み出しが終了した旨の通知を受けるとロックを解除する。ロックが解除されると、ロック部７３は、Ｓ−ＣＳＣＦ６０から別の依頼に対してキーをロックすることができる。以上が、ステート管理機構７０の機能構成である。
【００５３】
図４に示すようにネットワークマネージャ４０は、決定部４１と、移動部４２とを備えて構成される。また、本実施形態のようにＳ−ＣＳＣＦ６０を仮想マシンによって構成されることとした場合、ネットワークマネージャ４０は、仮想化されたＳ−ＣＳＣＦ６０の制御を行う仮想マシン制御部（図示せず）を、更に備えることとしてもよい。この制御によって、具体的には、Ｓ−ＣＳＣＦ６０のプロビジョニングが行われる。
【００５４】
決定部４１は、移動通信端末１０毎に通信処理を行うＳ−ＣＳＣＦ６０を決定する決定手段である。具体的には、決定部４１は、Ｓ−ＣＳＣＦ６０又は物理ノード２０の状態を把握し、当該状態に応じて移動通信端末１０に対する通信処理が適切に行われるように移動通信端末１０に対してＳ−ＣＳＣＦ６０を決定する。決定部４１に把握されるＳ−ＣＳＣＦ６０の状態は、例えば、各Ｓ−ＣＳＣＦ６０又は各物理ノード２０の負荷や、各Ｓ−ＣＳＣＦ６０又は各物理ノード２０が故障していないか否かの状態である。これらの情報は、例えば、定期的な決定部４１から各Ｓ−ＣＳＣＦ６０又は各物理ノード２０への問い合わせによって、あるいは、各Ｓ−ＣＳＣＦ６０又は各物理ノード２０からの自発的な送信によって、状態を示す情報を受信することによって決定部４１で把握される。なお、移動通信端末１０に対するＳ−ＣＳＣＦ６０の割当は、必ずしも上記に限られず、ラウンドロビン等の任意の方法で行われればよい。また、当該割当は、移動通信端末１０が移動体通信網に新たに在圏したタイミングや、その他特定のＳ−ＣＳＣＦ６０又は各物理ノード２０の負荷が高まった状態や故障した場合に行われる。また、一定時間毎に行われてもよい。
【００５５】
決定部４１は、移動通信端末１０毎に通信処理を行うＳ−ＣＳＣＦ６０を決定すると、当該移動通信端末１０からの信号が決定したＳ−ＣＳＣＦ６０に送信されるようにオープンフローネットワーク３０を制御する。具体的には、決定部４１は、移動通信端末１０からの信号が決定したＳ−ＣＳＣＦ６０に送信されるようにフローエントリを生成して、生成したフローエントリをオープンフローネットワーク３０の各オープンフロースイッチ３１に送信する。
【００５６】
また、決定部４１は、物理ノード２０上に新たな仮想マシンを起動して、新たなＳ−ＣＳＣＦ６０を生成して、新たなＳ−ＣＳＣＦ６０に移動通信端末１０を割り当ててもよい。即ち、決定部４１は、仮想マシンのスケールアウトを行ってもよい。また、決定部４１は、Ｓ−ＣＳＣＦ６０に割り当てられた移動通信端末１０全てを別のＳ−ＣＳＣＦ６０に割り当てて、仮想マシンを終了（巻き取り）してもよい。即ち、決定部４１は、仮想マシンのスケールインを行ってもよい。上記のスケールアウトやスケールインは、仮想マシン制御部がＨｙｐｅｒｖｉｓｏｒに指示を送ることで仮想マシンを新たにプロビジョニングさせる等の制御によって行われる。
【００５７】
決定部４１は、移動通信端末１０に対するＳ−ＣＳＣＦ６０の割当を変更した場合（Ｓ−ＣＳＣＦ６０の移動があった場合）、あるいは、新たに移動通信端末１０に対してＳ−ＣＳＣＦ６０を割り当てた場合、その旨を移動部４２に通知する。
【００５８】
移動部４２は、決定部４１による決定に応じて移動通信端末１０毎にステート管理機構７０のキーを通信処理ノード８０間で移動させる制御を行う移動手段である。移動部４２は、移動前後のステート管理機構７０に対して、移動通信端末１０を指定してキーを移動させるように指示を行う。移動元のステート管理機構７０では、当該指示が受信されて、ロック部７３が当該指示に係る移動通信端末１０のキーをロックし、ロックしたキーを移動する。
【００５９】
移動後のステート管理機構７０では、ロック部７３が当該移動通信端末１０のキーを受け付ける。移動後のステート管理機構７０では、ロック部７３が当該キーをロックし、保持部７１が当該キーに係る移動通信端末１０の、分散データベース５０で保持されるステート情報を取得してキャッシュとして保持する。ステート情報の取得は、上述したように分散データベース５０から行われてもよいし、移動前のステート管理機構７０から行われてもよい。また、移動元（スケール元）のステート管理機構７０又は物理ノード２０が故障していた場合には、上記の移動の処理ができないため、新たに移動後のステート管理機構７０に移動通信端末１０のキーを割り当ててもよい。また、新たに移動通信端末１０が移動体通信網に在圏した場合も同様である。保持部７１によってステート情報が取得されて保持されると、ロック解除部７６が当該キーのロックを解除する。上記のようにステート管理機構７０のロック部７３は、移動部４２による制御を受けてキーの移動を行う。
【００６０】
図５に本実施形態に係る物理ノード２０、オープンフローネットワーク３０のオープンフロースイッチ３１及びネットワークマネージャ４０を構成するサーバ装置のハードウェア構成を示す。図５に示すように当該サーバ装置は、ＣＰＵ１０１、主記憶装置であるＲＡＭ（Random Access Memory）１０２及びＲＯＭ（Read Only Memory）１０３、通信を行うための通信モジュール１０４、並びにハードディスク等の補助記憶装置１０５等のハードウェアを備えるコンピュータを含むものとして構成される。これらの構成要素がプログラム等により動作することにより、上述した各ノード２０，３１，４０の機能が発揮される。以上が、移動体通信システム１の構成である。
【００６１】
引き続いて、図６、図８及び図９のシーケンス図並びに図７のフローチャートを用いて、本実施形態に係る移動体通信システム１で実行される処理である通信処理方法を説明する。まず、図６のシーケンス図を用いてキーの移動がない場合の処理を説明する。ここでは、移動通信端末１０の１つである「移動通信端末１」と別の移動通信端末１０である「移動通信端末２」との間の通信接続が切断される処理（ＢＹＥシーケンス）と、「移動通信端末１」から新たな発信処理（ＩＮＶＩＴＥシーケンス）とが行われる例を示す。また、「移動通信端末１」は、「Ｓ−ＣＳＣＦ１」で示されるＳ−ＣＳＣＦ６０で通信処理され、「移動通信端末２」は、「Ｓ−ＣＳＣＦ２」で示されるＳ−ＣＳＣＦ６０で通信処理されるものとされている。即ち、「Ｓ−ＣＳＣＦ１」に対応付けられた（同じ物理ノード２０上で実現される）ステート管理機構７０保持部７１では、「移動通信端末１」のステート情報（キャッシュ）とキーとが保持されている。また、「Ｓ−ＣＳＣＦ２」に対応付けられた（同じ物理ノード２０上で実現される）ステート管理機構７０の保持部７１では、「移動通信端末２」のステート情報（キャッシュ）とキーとが保持されている。また、Ｓ−ＣＳＣＦ６０と移動通信端末１０とは、Ｐ−ＣＳＣＦ（Proxy-Call Session Control Function）を介して信号の送受信が行われてもよい。
【００６２】
本処理では、まず、「移動通信端末１」から「Ｓ−ＣＳＣＦ１」に通信接続の切断を要求するＢＹＥの信号が送信される（Ｓ００１）。この信号の送信は、例えば、「移動通信端末１」において、ユーザが通信切断を行う操作を行うことをトリガとして行われる。当該信号は、「Ｓ−ＣＳＣＦ１」によって受信される（Ｓ００１、通信処理ステップ）。続いて、ＢＹＥの信号の処理を行うため、「Ｓ−ＣＳＣＦ１」から「Ｓ−ＣＳＣＦ１」に対応付けられたステート管理機構７０に対して、データ読み出しの依頼がなされる（Ｓ００２、通信処理ステップ）。ステート管理機構７０では、依頼受付部７２によって当該依頼が受け付けられる（Ｓ００２、依頼受付ステップ）。当該依頼に係る情報は、依頼受付部７２からロック部７３に出力される。
【００６３】
ロック部７３によって、依頼に係る「移動通信端末１」に対応するキーがロックされていないことが確認され、当該キーがロックされる（Ｓ００３，Ｓ００４、ロックステップ）。このロックにより、当該依頼に係るキャッシュへのアクセスが可能になる。続いて、当該依頼は読み出しに係るものであるため、当該依頼を示す情報がロック部７３から読出部７５に出力される。続いて、当該依頼を示す情報に基づいて、読出部７５によって保持部７１に保持されたキャッシュから「移動通信端末１」のステート情報が読み出される（Ｓ００５，Ｓ００６、読出ステップ）。当該ステート情報は、ＢＹＥシーケンスを行うために必要な情報である。読み出しが完了すると、その旨が読出部７５からロック解除部７６に通知される。続いて、ロック解除部７６によって、ロック部７３によってロックされたキーのロックが解除される（Ｓ００７，Ｓ００８、ロック解除ステップ）。
【００６４】
一方で、読出部７５によって読み出されたステート情報は、「Ｓ−ＣＳＣＦ１」からの依頼の応答として、「Ｓ−ＣＳＣＦ１」に出力される（Ｓ００９、読出ステップ）。「Ｓ−ＣＳＣＦ１」では、そのステート情報が入力されて通信処理が進められる。具体的には、「移動通信端末２」の通信処理を行う「Ｓ−ＣＳＣＦ２」にＢＹＥの信号が送信される（Ｓ０１０、通信処理ステップ）。「Ｓ−ＣＳＣＦ２」への信号の送信は、ステート管理機構７０からＳ００９において入力されたステート情報に基づいて行われる。
【００６５】
続いて、「Ｓ−ＣＳＣＦ２」によってＢＹＥの信号が受信される。続いて、ＢＹＥの信号の処理を行うため、「Ｓ−ＣＳＣＦ２」から「Ｓ−ＣＳＣＦ２」に対応付けられたステート管理機構７０に対して、データ読み出しの依頼がなされる（Ｓ０１１、通信処理ステップ）。ステート管理機構７０では、依頼受付部７２によって当該依頼が受け付けられる（Ｓ０１１、依頼受付ステップ）。当該依頼に係る情報は、依頼受付部７２からロック部７３に出力される。
【００６６】
続いて、ロック部７３によって、依頼に係る「移動通信端末２」に対応するキーがロックされていないことが確認され、当該キーがロックされる（Ｓ０１２，Ｓ０１３、ロックステップ）。このロックにより、当該依頼に係るキャッシュへのアクセスが可能になる。続いて、当該依頼は読み出しに係るものであるため、当該依頼を示す情報がロック部７３から読出部７５に出力される。続いて、当該依頼を示す情報に基づいて、読出部７５によって保持部７１に保持されたキャッシュから「移動通信端末２」のステート情報が読み出される（Ｓ０１４，Ｓ０１５、読出ステップ）。当該ステート情報は、ＢＹＥシーケンスを行うために必要な情報である。読み出しが完了すると、その旨が読出部７５からロック解除部７６に通知される。続いて、ロック解除部７６によって、ロック部７３によってロックされたキーのロックが解除される（Ｓ０１６，Ｓ０１７、ロック解除ステップ）。
【００６７】
一方で、読出部７５によって読み出されたステート情報は、「Ｓ−ＣＳＣＦ２」からの依頼の応答として、「Ｓ−ＣＳＣＦ２」に出力される（Ｓ０１８、読出ステップ）。「Ｓ−ＣＳＣＦ２」では、そのステート情報が入力されて通信処理が進められる。具体的には、「移動通信端末２」にＢＹＥの信号が送信される（Ｓ０１９、通信処理ステップ）。「移動通信端末２」への信号の送信は、ステート管理機構７０からＳ０１８において入力されたステート情報に基づいて行われる。
【００６８】
続いて、「移動通信端末２」によってＢＹＥの信号が受信されて、それに対する応答である２００ＯＫの信号が「移動通信端末２」から「Ｓ−ＣＳＣＦ２」が送信される（Ｓ０２０）。続いて、「Ｓ−ＣＳＣＦ２」によって２００ＯＫの信号が受信される。続いて、当該信号の受信に応じた処理を行うため、「Ｓ−ＣＳＣＦ２」から「Ｓ−ＣＳＣＦ２」に対応付けられたステート管理機構７０に対して、データ書き込みの依頼がなされる（Ｓ０２１、通信処理ステップ）。このデータ書き込みは、「移動通信端末２」のステート情報を通信中（通話状態）から待受中（終話状態）に変更するものである。ステート管理機構７０では、依頼受付部７２によって当該依頼が受け付けられる（Ｓ０２１、依頼受付ステップ）。当該依頼に係る情報は、依頼受付部７２からロック部７３に出力される。
【００６９】
続いて、ロック部７３によって、依頼に係る「移動通信端末２」に対応するキーがロックされていないことが確認され、当該キーがロックされる（Ｓ０２２，Ｓ０２３、ロックステップ）。このロックにより、当該依頼に係るキャッシュへのアクセスが可能になる。続いて、当該依頼は書き込みに係るものであるため、当該依頼を示す情報がロック部７３から書込部７４に出力される。続いて、書込部７４に当該依頼を示す情報が入力されると、まず、書込部７４から「Ｓ−ＣＳＣＦ２」に依頼に対する応答が出力される（Ｓ０２４、書込ステップ）。「Ｓ−ＣＳＣＦ２」では、書き込み依頼に対する応答を入力すると通信処理が進められる。具体的には、「移動通信端末１」の通信処理を行う「Ｓ−ＣＳＣＦ１」にＳ０１０のＢＹＥの信号に対する応答である２００ＯＫの信号が送信される（Ｓ０２５、通信処理ステップ）。
【００７０】
一方、書込部７４から「Ｓ−ＣＳＣＦ２」に依頼に対する応答が出力された後、続いて、書込部７４によって保持部７１に保持されたキャッシュとして保持されている情報に対して、当該依頼に係る書き込みが実行される（Ｓ０２６，Ｓ０２７、書込ステップ）。続いて、書込部７４によって分散データベース５０に保持されている情報に対して、当該依頼に係る書き込みが実行される（Ｓ０２８，Ｓ０２９、書込ステップ）。書き込みが完了すると、その旨が書込部７４からロック解除部７６に通知される。続いて、ロック解除部７６によって、ロック部７３によってロックされたキーのロックが解除される（Ｓ０３０，Ｓ０３１、ロック解除ステップ）。
【００７１】
Ｓ０２５において、「Ｓ−ＣＳＣＦ２」から送信された２００ＯＫの信号は、「Ｓ−ＣＳＣＦ１」によって受信される。続いて、当該信号の受信に応じた処理を行うため、「Ｓ−ＣＳＣＦ１」から「Ｓ−ＣＳＣＦ１」に対応付けられたステート管理機構７０に対して、データ書き込みの依頼がなされる（Ｓ０３２、通信処理ステップ）。このデータ書き込みは、「移動通信端末１」のステート情報を通信中（通話状態）から待受中（終話状態）に変更するものである。ステート管理機構７０では、依頼受付部７２によって当該依頼が受け付けられる（Ｓ０３２、依頼受付ステップ）。当該依頼に係る情報は、依頼受付部７２からロック部７３に出力される。
【００７２】
続いて、ロック部７３によって、依頼に係る「移動通信端末１」に対応するキーがロックされていないことが確認され、当該キーがロックされる（Ｓ０３３，Ｓ０３４、ロックステップ）。このロックにより、当該依頼に係るキャッシュへのアクセスが可能になる。続いて、当該依頼は書き込みに係るものであるため、当該依頼を示す情報がロック部７３から書込部７４に出力される。続いて、書込部７４に当該依頼を示す情報が入力されると、まず、書込部７４から「Ｓ−ＣＳＣＦ１」に依頼に対する応答が出力される（Ｓ０３５、書込ステップ）。「Ｓ−ＣＳＣＦ１」では、書き込み依頼に対する応答を入力すると通信処理が進められる。具体的には、「移動通信端末１」にＳ００１のＢＹＥの信号に対する応答である２００ＯＫの信号が送信される（Ｓ０３６、通信処理ステップ）。「移動通信端末１」では、２００ＯＫの信号が受信されて、「移動通信端末１」におけるＢＹＥシーケンスが終了する。
【００７３】
一方、書込部７４から「Ｓ−ＣＳＣＦ１」に依頼に対する応答が出力された後、続いて、書込部７４によって保持部７１に保持されたキャッシュとして保持されている情報に対して、当該依頼に係る書き込みが実行される（Ｓ０３７，Ｓ０３８、書込ステップ）。続いて、書込部７４によって分散データベース５０に保持されている情報に対して、当該依頼に係る書き込みが実行される（Ｓ０３９，Ｓ０４０、書込ステップ）。書き込みが完了すると、その旨が書込部７４からロック解除部７６に通知される。続いて、ロック解除部７６によって、ロック部７３によってロックされたキーのロックが解除される（Ｓ０４１，Ｓ０４２、ロック解除ステップ）。以上で、一連のＢＹＥシーケンスが終了する。
【００７４】
本処理では、続いて、「移動通信端末１」から「Ｓ−ＣＳＣＦ１」に通信接続の確立を要求するＩＮＶＩＴＥの信号が送信される。この信号の送信は、例えば、「移動通信端末１」において、ユーザが通信接続の確立を行う操作を行うことをトリガとして行われる。当該信号は、「Ｓ−ＣＳＣＦ１」によって受信される（Ｓ０５１、通信処理ステップ）。続いて、ＩＮＶＩＴＥの信号の処理を行うため、「Ｓ−ＣＳＣＦ１」から「Ｓ−ＣＳＣＦ１」に対応付けられたステート管理機構７０に対して、データ読み出しの依頼がなされる（Ｓ０５２、通信処理ステップ）。ステート管理機構７０では、依頼受付部７２によって当該依頼が受け付けられる（Ｓ０５２、依頼受付ステップ）。当該依頼に係る情報は、依頼受付部７２からロック部７３に出力される。
【００７５】
続いて、ロック部７３によって、依頼に係る「移動通信端末１」に対応するキーがロックされていないことが確認され、当該キーがロックされる（Ｓ０５３，Ｓ０５４、ロックステップ）。このロックにより、当該依頼に係るキャッシュへのアクセスが可能になる。続いて、当該依頼は読み出しに係るものであるため、当該依頼を示す情報がロック部７３から読出部７５に出力される。続いて、当該依頼を示す情報に基づいて、読出部７５によって保持部７１に保持されたキャッシュから「移動通信端末１」のステート情報が読み出される（Ｓ０５５，Ｓ０５６、読出ステップ）。当該ステート情報は、ＩＮＶＩＴＥシーケンスを行うために必要な情報である。読み出しが完了すると、その旨が読出部７５からロック解除部７６に通知される。続いて、ロック解除部７６によって、ロック部７３によってロックされたキーのロックが解除される（Ｓ０５７，Ｓ０５８、ロック解除ステップ）。
【００７６】
一方で、読出部７５によって読み出されたステート情報は、「Ｓ−ＣＳＣＦ１」からの依頼の応答として、「Ｓ−ＣＳＣＦ１」に出力される（Ｓ０５９、読出ステップ）。「Ｓ−ＣＳＣＦ１」では、そのステート情報が入力されて通信処理が進められる。具体的には、Ｉ−ＣＳＣＦにＩＮＶＩＴＥの信号が送信される（Ｓ０６０、通信処理ステップ）。Ｉ−ＣＳＣＦ（Interrogating-Call Session Control Function）への信号の送信は、ステート管理機構７０からＳ０５９において入力されたステート情報に基づいて行われる。
【００７７】
以上が、キーの移動がない場合の移動体通信システム１で実行される処理である。ステート情報を分散データベースに預ける形式であれば、通常、ステート情報の読み込み及び書き込みの度に分散データベースへのアクセスが発生する。分散データベースの一貫性を保つため、Ｓ−ＣＳＣＦ等の通信処理ノードは分散データベースからの応答を待ってから通信処理を進めることとなる。そのため、その遅延が通信処理に対するボトルネックとなる。
【００７８】
しかしながら、本実施形態では、通信処理の際にステート情報の読み出しを行う場合には、ステート管理機構７０のキャッシュの情報を利用して通信処理が行われるため、通信処理の際のデータベースからの読み出しを必要とせずに通信処理を行うことができる。これにより、分散データベース５０へアクセスする場合と比べて迅速なデータの取得及び通信処理が可能となる。通信処理の際に分散データベース５０への書き込みを行う場合には、キーがロックされた後、実際の書き込みの前にＳ−ＣＳＣＦ６０に対して応答がなされて、Ｓ−ＣＳＣＦ６０による通信処理が進められる。即ち、ステート管理機構７０が分散データベース５０への書き込みを代理するので、分散データベース５０への書き込みを待たずに通信処理を行うことができる。これにより、分散データベース５０へアクセスする場合と比べて迅速な通信処理を行うことが可能になる。特に分散データベース５０の可用性や分散耐性の向上を図るため、データを複数の物理ノード２０の分散データベース５０に書き込む場合には、分散データベース５０への書き込みの書き込み遅延が大きくなる。そのような場合であっても、本実施形態によれば迅速な通信処理を行うことが可能となる。
【００７９】
また、キーのロックにより分散データベース５０及びステート管理機構７０のキャッシュ７０１の一貫性が維持される。上記の通り、本実施形態によれば、分散データベース５０にステート情報を保持する移動体通信システム１においても、通信処理における遅延を防止することができる。なお、本実施形態では、各Ｓ−ＣＳＣＦ６０に対応するステート管理機構７０においてキーを管理している。キーを、Ｓ−ＣＳＣＦ６０とは異なる１つの装置において集中的に管理することも考えられる。しかし、この方法ではキーをロックするために通信遅延が発生する。即ち、本実施形態は、キーを集中的に管理する手法に比べて遅延の発生をより防止することができる。
【００８０】
引き続いて、キーの移動が発生する場合の処理について説明する。まず、具体例として図７のフローチャートを用いて、仮想マシンのスケールイン又はスケールアウトが行われる場合キーの割り当ての処理について説明する。
【００８１】
本処理では、まず、ネットワークマネージャ４０の決定部４１において、スケールイン及びスケールアウトの何れかが行うかが決定される（Ｓ１０１）。続いて、スケールアウトが行われると決定された場合（Ｓ１０１のスケールアウト）には、決定部４１の制御によって所定の物理ノード２０において仮想マシンが起動される（Ｓ１０２）。この際、仮想マシン上には、Ｓ−ＣＳＣＦ６０が生成され、また同一の物理ノード２０上にはステート管理機構７０が生成される。
【００８２】
Ｓ１０１においてスケールインが行われると決定された場合（Ｓ１０１のスケールイン）、又はＳ１０２において仮想マシンが生成された場合に続いて、決定部４１によって、スケール元の物理ノード２０又は通信処理ノード８０が故障したか否かが判断される（Ｓ１０３）。スケール元の物理ノード２０又は通信処理ノード８０が故障している場合（Ｓ１０３のＹＥＳ）には、決定部４１によって、当該物理ノード２０上のＳ−ＣＳＣＦ６０（通信処理ノード８０）で通信処理が行われていた全ての移動通信端末１０をスケール先のＳ−ＣＳＣＦ６０（通信処理ノード８０）に移動させると決定される（Ｓ１０４、決定ステップ）。続いて、決定部４１によって、当該移動通信端末１０と移動先の通信処理ノード８０のＳ−ＣＳＣＦ６０と移動通信端末１０との間で信号の送受信が行われるようにオープンフローネットワーク３０が制御される。
【００８３】
また、移動通信端末１０に対して新たなＳ−ＣＳＣＦ６０が割り当てられると、ネットワークマネージャ４０において、その旨が決定部４１から移動部４２に通知される。上記のようにスケール元の物理ノード２０又は通信処理ノード８０が故障している場合、スケール元の物理ノード２０のステート管理機構７０からキーの移動ができないため、移動部４２によって、影響する移動通信端末１０（スケール元の物理ノード２０のステート管理機構７０でキーが保持されていた移動通信端末１０）のキーが新たに移動先の通信処理ノード８０のステート管理機構７０に割り当てられる（Ｓ１０５、移動ステップ）。具体的には、移動部４２からステート管理機構７０に対して、対象となる移動通信端末１０のキーを割り当てる指示が行われる。移動後のステート管理機構７０では、ロック部７３によって、当該移動通信端末１０のキーが受け付けられる（当該移動通信端末１０のキーが生成して保持される）。
【００８４】
一方、スケール元の物理ノード２０又は通信処理ノード８０が故障していない場合（Ｓ１０３のＮＯ）、続いて、決定部４１によって、当該物理ノード２０上のＳ−ＣＳＣＦ６０（通信処理ノード８０）で通信処理が行われていた一部の移動通信端末１０をスケール先のＳ−ＣＳＣＦ６０（通信処理ノード８０）に移動させると決定される（Ｓ１０６、決定ステップ）。移動させる移動通信端末１０は、例えば、一部の物理ノード２０の負荷が極端に大きくならないような方法等で任意に決められる。続いて、決定部４１によって、決定された移動通信端末１０と移動先の通信処理ノード８０のＳ−ＣＳＣＦ６０との間で信号の送受信が行われるようにオープンフローネットワーク３０が制御される。
【００８５】
また、移動通信端末１０に対して新たなＳ−ＣＳＣＦ６０が割り当てられると、ネットワークマネージャ４０において、その旨が決定部４１から移動部４２に通知される。続いて、移動部４２によって、決定された移動通信端末１０のキーが、移動元の通信処理ノード８０のステート管理機構７０から移動先の通信処理ノード８０のステート管理機構７０に移動される。具体的には、移動部４２からの制御によって、移動元のステート管理機構７０のロック部７３により移動通信端末１０のキーがロックされる（Ｓ１０７、ロックステップ）。続いて、ロックされたキーから、移動元のステート管理機構７０から移動先のステート管理機構７０に移動される（例えば、移動元のステート管理機構７０のロック部７３から、移動先のステート管理機構７０のロック部７３にその旨が通知される）（Ｓ１０８、移動ステップ）。これにより、移動後のステート管理機構７０では、ロック部７３によって、当該移動通信端末１０のキーが保持される。
【００８６】
Ｓ１０５又はＳ１０８の後、続いて、スケールインである場合には（Ｓ１０９のスケールイン）、ネットワークマネージャ４０からの制御によりスケール元の仮想マシンが巻き取られる（Ｓ１１０）。スケールアウトである場合（Ｓ１０９のスケールアウト）、又はスケールインである場合にＳ１１０の後、新たに移動通信端末１０のキーが取得された移動後のステート管理機構７０では、以下の処理が行われる。
【００８７】
ロック部７３によって、移動された移動通信端末１０のキーがロックされる（Ｓ１１１、ロックステップ）。続いて、保持部７１により、当該キーに係る移動通信端末１０の、分散データベース５０で保持されるステート情報が取得されてキャッシュとして保持される（Ｓ１１２、取得ステップ）。保持部７１によってステート情報が取得されて保持されると、ロック解除部７６によって当該キーのロックが解除される（Ｓ１１３、ロック解除ステップ）。以上が、仮想マシンのスケールイン又はスケールアウトが行われる場合キーの割り当ての処理である。
【００８８】
引き続いて、図８のシーケンス図を用いて仮想マシンのスケールアウトが行われてキーが移動する処理について説明する。本処理の開始時点では、移動通信端末１０は、「Ｓ−ＣＳＣＦ１」によって通信処理が行われるよう設定されている。即ち、移動通信端末１０からの移動体通信網への信号は、オープンフロースイッチ３１を経由して「Ｓ−ＣＳＣＦ１」によって受信される（Ｓ２０１，Ｓ２０２）。なお、図８では、オープンフロースイッチ３１は、１つしか示されていないが複数のオープンフロースイッチ３１が存在している。
【００８９】
本処理では、まず、ネットワークマネージャ４０の決定部４１によって、スケールアウトが行われることが決定される（Ｓ２０３）。続いて、決定部４１によって、上記の決定に応じて「Ｓ−ＣＳＣＦ１」が実現されている物理ノード２０とは異なる物理ノード２０で仮想マシンを起動し、当該仮想マシン上で新たな「Ｓ−ＣＳＣＦ２」及びそれに対応するステート管理機構７０を起動するよう指示が行われる（Ｓ２０４）。当該指示に応じて、「Ｓ−ＣＳＣＦ２」とステート管理機構７０とが物理ノード２０において起動され、起動完了通知がネットワークマネージャ４０に対して行われる（Ｓ２０５）。
【００９０】
続いて、決定部４１によって、「Ｓ−ＣＳＣＦ１」で通信処理されていた移動通信端末１０（特定の移動通信端末１０）が、「Ｓ−ＣＳＣＦ２」で通信処理するように決定される（Ｓ２０６、決定ステップ）。当該決定が、決定部４１から移動部４２に通知される。続いて、移動部４２によって移動前のステート管理機構７０に対して移動通信端末１０のキーの移動が指示される（Ｓ２０７、移動ステップ）。一方で、ネットワークマネージャ４０の決定部４１によって、移動通信端末１０と移動先の「Ｓ−ＣＳＣＦ２」との間で信号の送受信が行われるようにオープンフロースイッチ３１が制御される。これにより、移動通信端末１０からの移動体通信網への信号は、オープンフロースイッチ３１を経由して「Ｓ−ＣＳＣＦ２」によって受信される（Ｓ２０９，Ｓ２１０）。
【００９１】
キーの移動が指示された移動元のステート管理機構７０では、ロック部７３により移動通信端末１０のキーがロックされる（Ｓ２１１，Ｓ２１２、移動ステップ）。キーがロックされると当該キーが移動元のステート管理機構７０から移動先のステート管理機構７０に移動される（Ｓ２１３）。これにより、移動後のステート管理機構７０では、ロック部７３によって、当該移動通信端末１０のキーが保持される。
【００９２】
続いて、移動後のステート管理機構７０では、ロック部７３によって移動された移動通信端末１０のキーがロックされる（Ｓ２１４，Ｓ２１５、ロックステップ）。続いて、保持部７１により、当該キーに係る移動通信端末１０の、分散データベース５０で保持されるステート情報が取得されて（Ｓ２１６，Ｓ２１７、取得ステップ）キャッシュとして保持される（Ｓ２１８，Ｓ２１９、取得ステップ）。保持部７１によってステート情報が取得されて保持されると、ロック解除部７６によって当該キーのロックが解除される（Ｓ２２０，Ｓ２２１、ロック解除ステップ）。以上が、仮想マシンのスケールアウトが行われてキーが移動する処理である。
【００９３】
引き続いて、図９のシーケンス図を用いて通信処理が行われている途中で、移動通信端末１０の通信処理を行うＳ−ＣＳＣＦ６０が変更される場合の処理について説明する。本処理の開始時点では、「移動通信端末１」は、別の移動通信端末１０との間で通信接続が確立されて通信を行っており、また、「Ｓ−ＣＳＣＦ２」によって通信処理が行われている。なお、図９においては、線の種別（実線か破線か）及び線の太さで通信処理を分けている。
【００９４】
本処理では、「移動通信端末１」と別の移動通信端末１０との間の通信接続が切断されるＢＹＥシーケンスに係る信号が、「移動通信端末１」からＳ−ＣＳＣＦ２に送信される（Ｓ３０１）。当該信号は、「Ｓ−ＣＳＣＦ２」によって受信される（Ｓ３０１、通信処理ステップ）。続いて、当該信号の処理を行うため、「Ｓ−ＣＳＣＦ２」から「Ｓ−ＣＳＣＦ２」に対応付けられたステート管理機構７０に対して、データ読み出しの依頼がなされる（Ｓ３０２、通信処理ステップ）。ステート管理機構７０では、依頼受付部７２によって当該依頼が受け付けられる（Ｓ３０２、依頼受付ステップ）。当該依頼に係る情報は、依頼受付部７２からロック部７３に出力される。
【００９５】
続いて、ロック部７３によって、依頼に係る「移動通信端末１」に対応するキーがロックされていないことが確認され、当該キーがロックされる（Ｓ３０３，Ｓ３０４、ロックステップ）。このロックにより、当該依頼に係るキャッシュへのアクセスが可能になる。続いて、当該依頼は読み出しに係るものであるため、当該依頼を示す情報がロック部７３から読出部７５に出力される。続いて、当該依頼を示す情報に基づいて、読出部７５によって保持部７１に保持されたキャッシュから「移動通信端末１」のステート情報が読み出される（Ｓ３０５，Ｓ３０６、読出ステップ）。当該ステート情報は、ＢＹＥシーケンスを行うために必要な情報である。読み出しが完了すると、その旨が読出部７５からロック解除部７６に通知される。続いて、ロック解除部７６によって、ロック部７３によってロックされたキーのロックが解除される（Ｓ３０７，Ｓ３０８、ロック解除ステップ）。
【００９６】
一方で、読出部７５によって読み出されたステート情報は、「Ｓ−ＣＳＣＦ２」からの依頼の応答として、「Ｓ−ＣＳＣＦ２」に出力される（Ｓ３０９、読出ステップ）。「Ｓ−ＣＳＣＦ２」では、そのステート情報が入力されて通信処理が進められる。具体的には、ＢＹＥシーケンスに係る別のノードにＢＹＥシーケンスに係る信号が送信される（Ｓ３１０、通信処理ステップ）。当該信号は、当該別のノード等において適宜処理される（Ｓ３１１）。
【００９７】
このタイミングにおいて、ネットワークマネージャ４０の決定部４１によって、「移動通信端末１」に対する通信処理を行うＳ−ＣＳＣＦ６０が「Ｓ−ＣＳＣＦ２」から「Ｓ−ＣＳＣＦ１」に変更される。変更に係る処理は、図８に示した処理と同様である（Ｓ３１２）。移動後のステート管理機構７０では、ロック部７３によって移動された移動通信端末１０のキーがロックされる（Ｓ３１３，Ｓ３１４（図８のＳ２１４，Ｓ２１５に相当））。続いて、保持部７１により、当該キーに係る移動通信端末１０の、分散データベース５０で保持されるステート情報の要求がなされる（Ｓ３１５、取得ステップ）。
【００９８】
このタイミングにおいて、Ｓ３１１での処理により、「移動通信端末１」のＢＹＥシーケンスに係る信号が、変更後のＳ−ＣＳＣＦ６０である「Ｓ−ＣＳＣＦ１」に送信される。当該信号は、「Ｓ−ＣＳＣＦ１」によって受信される（Ｓ３１６、通信処理ステップ）。続いて、当該信号の処理を行うため、「Ｓ−ＣＳＣＦ１」から「Ｓ−ＣＳＣＦ１」に対応付けられたステート管理機構７０に対して、データ書き込みの依頼がなされる（Ｓ３１７、通信処理ステップ）。ステート管理機構７０では、依頼受付部７２によって当該依頼が受け付けられる（Ｓ３１７、依頼受付ステップ）。当該依頼に係る情報は、依頼受付部７２からロック部７３に出力される。
【００９９】
続いて、ロック部７３によって、依頼に係る「移動通信端末１」に対応するキーがロックされていることが確認される。ロック部７３によって、当該キーの要求を行う（Ｓ３１８、ロックステップ）が、Ｓ３１３でのロックが解除されるまでキーのロックを行うことができず、ロックの順番待ちとなる。
【０１００】
このタイミングにおいて、「移動通信端末１」とは別の「移動通信端末２」から、「移動通信端末１」との通信接続を行うためのＩＮＶＩＴＥシーケンスに係る信号が送信される。当該信号は、「Ｓ−ＣＳＣＦ１」によって受信される（Ｓ３１９、通信処理ステップ）（なお、この処理例では「移動通信端末２」側の通信処理は省略している）。続いて、当該信号の処理を行うため、「Ｓ−ＣＳＣＦ１」から「Ｓ−ＣＳＣＦ１」に対応付けられたステート管理機構７０に対して、データ読み出しの依頼がなされる（Ｓ３２０、通信処理ステップ）。ステート管理機構７０では、依頼受付部７２によって当該依頼が受け付けられる（Ｓ３２０、依頼受付ステップ）。当該依頼に係る情報は、依頼受付部７２からロック部７３に出力される。
【０１０１】
続いて、ロック部７３によって、依頼に係る「移動通信端末１」に対応するキーがロックされていることが確認される。ロック部７３によって、当該キーの要求を行う（Ｓ３２１、ロックステップ）が、Ｓ３１３でのロックが解除されるまでキーのロックを行うことができず、ロックの順番待ちとなる。「移動通信端末１」のキーのロックは、Ｓ３１７においても要求されているため次の順番となる。
【０１０２】
このタイミングにおいて、Ｓ３１５での要求に応じて分散データベース５０からステート管理機構７０に対してステート情報が送信される（Ｓ３２２）。ステート管理機構７０では、保持部７１によってこのステート情報が取得（受信）されて（Ｓ３２２、取得ステップ）キャッシュとして保持される（Ｓ３２３，Ｓ３２４、取得ステップ）。保持部７１によってステート情報が取得されて保持されると、ロック解除部７６によって当該キーのロックが解除される（Ｓ３２５，Ｓ３２６、ロック解除ステップ）。
【０１０３】
上記のようにロックが解除されると、順番待ちであったＳ３１８のロックが実行される（Ｓ３２７、ロックステップ）。このロックにより、Ｓ３１７の依頼に係るキャッシュへのアクセスが可能になる。続いて、当該依頼は書き込みに係るものであるため、当該依頼を示す情報がロック部７３から書込部７４に出力される。続いて、書込部７４に当該依頼を示す情報が入力されると、まず、書込部７４から「Ｓ−ＣＳＣＦ１」に依頼に対する応答が出力される（Ｓ３２８、書込ステップ）。「Ｓ−ＣＳＣＦ１」では、書き込み依頼に対する応答を入力すると通信処理が進められる。具体的には、Ｓ３０１の信号に対する応答の信号が「移動通信端末１」に送信される（Ｓ３２９、通信処理ステップ）。「移動通信端末１」ではこの信号が受信されて、「移動通信端末１」におけるＢＹＥシーケンスが終了する。
【０１０４】
一方、書込部７４から「Ｓ−ＣＳＣＦ１」に依頼に対する応答が出力された後、続いて、書込部７４によって保持部７１に保持されたキャッシュとして保持されている情報に対して、当該依頼に係る書き込みが実行される（Ｓ３３０，Ｓ３３１、書込ステップ）。続いて、書込部７４によって分散データベース５０に保持されている情報に対して、当該依頼に係る書き込みが実行される（Ｓ３３２，Ｓ３３３、書込ステップ）。書き込みが完了すると、その旨が書込部７４からロック解除部７６に通知される。続いて、ロック解除部７６によって、ロック部７３によってロックされたキーのロックが解除される（Ｓ３３４，Ｓ３３５、ロック解除ステップ）。以上で、一連のＢＹＥシーケンスが終了する。
【０１０５】
上記のようにロックが解除されると、順番待ちであったＳ３２１のロックが実行される（Ｓ３３６、ロックステップ）。このロックにより、Ｓ３２０の依頼に係るキャッシュへのアクセスが可能になる。続いて、当該依頼は読み出しに係るものであるため、当該依頼を示す情報がロック部７３から読出部７５に出力される。続いて、当該依頼を示す情報に基づいて、読出部７５によって保持部７１に保持されたキャッシュから「移動通信端末１」のステート情報が読み出される（Ｓ３３７，Ｓ３３８、読出ステップ）。当該ステート情報は、ＩＮＶＩＴＥシーケンスを行うために必要な情報である。読み出しが完了すると、その旨が読出部７５からロック解除部７６に通知される。続いて、ロック解除部７６によって、ロック部７３によってロックされたキーのロックが解除される（Ｓ３３９，Ｓ３４０、ロック解除ステップ）。
【０１０６】
一方で、読出部７５によって読み出されたステート情報は、「Ｓ−ＣＳＣＦ１」からのＳ３２０の依頼の応答として、「Ｓ−ＣＳＣＦ１」に出力される（Ｓ３４１、読出ステップ）。「Ｓ−ＣＳＣＦ１」では、そのステート情報が入力されて適宜、通信処理が進められる（これ以降の処理の図示を省略する）。
【０１０７】
図７〜図９の処理例を用いて説明したように、本実施形態によれば、通信処理中に移動通信端末１０の通信処理ノード８０が変更される場合であっても、適切に通信処理における遅延を防止することができる。即ち、本実施形態のような仮想マシンを用いたエラスティックコアにおいて適切に遅延を防止することができる。
【０１０８】
なお、上述した実施形態では、通信処理手段として、Ｓ−ＣＳＣＦとしたが、通信処理を行う任意のノードとすることができる。また、通信処理も上述した例に限られず任意の通信処理を対象とすることができる。
【０１０９】
また、本実施形態は、仮想マシンを用いて通信処理手段を構成することとしていたが、上述した必ずしも仮想マシンによって実現される必要はない。但し、仮想マシンを用いることで、ステート情報を分散データベース５０で保持し、移動通信端末１０の通信処理を行う通信処理ノードを変更しうる構成を容易にとることができる。本発明によれば、仮想マシンを用いたこのような構成において通信処理における遅延を防止することができる。
【０１１０】
また、上述した実施形態では、移動通信端末に移動体通信の機能を提供する移動体通信システムであるものとしたが、本発明は、必ずしも移動体通信システムである必要はない。本発明は、固定の通信端末に固定通信の機能を提供する固定通信システムに適用することが可能である。固定の通信端末と固定通信システムとは、上述した移動体通信システムとは異なり、有線で接続されている。上述した実施形態を、移動通信端末を固定通信端末と、移動体通信を固定通信と、移動体通信システムを固定通信システムとそれぞれ置き換えることで本発明に係る固定通信システムの実施形態とすることができる。但し、この場合、具体的なノードは固定通信システムに応じたものである。また、上述した実施形態における移動体通信に特有の情報は、固定通信システムにおいては不要である。また、移動体通信と固定通信とが混在した通信システムにおいて本発明を実施することも可能である。
【０１１１】
即ち、本発明は、移動通信端末、移動体通信及び移動体通信システムに限られるものではなく、上述した実施形態と同様の枠組みを有するものであれば、任意の通信端末、任意の通信、及び任意の通信システムに適用することが可能である。
【符号の説明】
【０１１２】
１…移動体通信システム、１０…移動通信端末、２０…物理ノード、２１…物理マシン、２２…ホストＯＳ、２３…仮想マシンゲストＯＳ、３０…オープンフローネットワーク、３１…オープンフロースイッチ、４０…ネットワークマネージャ、４１…決定部、４２…移動部、５０…分散データベース、６０…Ｓ−ＣＳＣＦ、７０…ステート管理機構、７０１…キャッシュ、７０２…ロック、７１…保持部、７２…依頼受付部、７３…ロック部、７４…書込部、７５…読出部、７６…ロック解除部、８０…通信処理ノード、１０１…ＣＰＵ、１０２…ＲＡＭ、１０３…ＲＯＭ、１０４…通信モジュール、１０５…補助記憶装置。
【図１】
2014229202.tif 000003
【図２】
2014229202.tif 000004
【図３】
2014229202.tif 000005
【図４】
2014229202.tif 000006
【図５】
2014229202.tif 000007
【図６】
2014229202.tif 000008
【図７】
2014229202.tif 000009
【図８】
2014229202.tif 000010
【図９】
2014229202.tif 000011