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