JP6374362B2 - 呼処理装置、セッション復旧方法及び呼処理サーバプログラム - Google Patents

呼処理装置、セッション復旧方法及び呼処理サーバプログラム Download PDF

Info

Publication number
JP6374362B2
JP6374362B2 JP2015155505A JP2015155505A JP6374362B2 JP 6374362 B2 JP6374362 B2 JP 6374362B2 JP 2015155505 A JP2015155505 A JP 2015155505A JP 2015155505 A JP2015155505 A JP 2015155505A JP 6374362 B2 JP6374362 B2 JP 6374362B2
Authority
JP
Japan
Prior art keywords
session
call processing
processing server
snapshot
execution unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015155505A
Other languages
English (en)
Other versions
JP2017034610A (ja
Inventor
山田 真一
真一 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015155505A priority Critical patent/JP6374362B2/ja
Publication of JP2017034610A publication Critical patent/JP2017034610A/ja
Application granted granted Critical
Publication of JP6374362B2 publication Critical patent/JP6374362B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、呼処理装置、セッション復旧方法及び呼処理サーバプログラムに関する。
近年、ネットワークシステムにおいて、通信サービスに係る呼を処理する呼処理サーバと、通信サービスの加入者データを格納する加入者データサーバとを連携させた加入者データサーバ連携方式が提唱されている。呼処理サーバは、サーバリソースの集約及び効率的利用によるコスト削減のために仮想化基盤上で動作する仮想マシンで実現される。そして、呼処理サーバは、高可用性を確保するためにスナップショットが定期的に取得される。スナップショットは、取得時点での仮想マシン上で動作する呼処理サーバのディスクイメージ及びメモリイメージを含む。呼処理サーバは、障害が発生した際には、最新のスナップショットからディスクイメージ及びメモリイメージが復元されることで、障害から復旧される。
3GPP(登録商標) TS 23.228 v13.2.0(2015-03) 3rd Generation Partnership Project;Technical Specification Group Services and System Aspects;IP Multimedia Subsystem(IMS);Stage2(Release13)、[online]、3GPP、[平成27年7月7日検索]、インターネット<URL:http://www.3gpp.org/ftp/Specs/archive/23_series/23.228/23228-d20.zip>
しかしながら、上記技術では、呼処理サーバは、障害復旧の際に、スナップショット取得時点での状態で復旧される。このため、ステートフルサーバである呼処理サーバは、対向する呼処理サーバ等の対向装置との間で、状態矛盾が発生したり、セッションの有効期限を示すセッションタイマの更新ができずにセッションが切断されたりするという問題がある。状態矛盾は、例えば、現在は存在しないセッションが復旧される等である。
本願が開示する実施形態の一例は、呼処理サーバの障害復旧の際に、対向装置との間で状態矛盾の発生防止を目的とする。
本願の実施形態の一例において、呼処理装置は、記憶部、判定部、復旧処理部を備える。記憶部は、対向装置とのセッションに係るセッション情報と、加入者データを記憶する。判定部は、自呼処理装置がスナップショットから復旧されたものである場合に、スナップショットの取得時刻から現在時刻までの経過時間が所定閾値以下であるか否かを判定する。復旧処理部は、判定部により経過時間が所定閾値以下であると判定された際に、セッション情報毎に、対向装置に対してセッションの更新要求を送信し、更新要求に対して対向装置から正常応答があった場合にはセッションを更新し、更新要求に対して対向装置から正常応答以外の応答があった場合にはセッションを切断してセッションに割り当てられたコンピュータリソースを解放する。また、復旧処理部は、判定部により経過時間が所定閾値を越えると判定された際に、記憶部に記憶されている全てのセッション情報についてセッションを切断してセッションに割り当てられたコンピュータリソースを解放する。
本願が開示する実施形態の一例によれば、例えば、呼処理サーバの障害復旧の際に、対向装置との間で状態矛盾が発生することを防止できる。
図1は、実施形態に係るネットワークシステムの一例を示す図である。 図2Aは、実施形態に係る加入者データの一例を示す図である。 図2Bは、実施形態に係るセッション情報の一例を示す図である。 図3Aは、実施形態に係るセッション復旧処理の一例を示すシーケンス図である。 図3Bは、実施形態に係るセッション復旧処理の一例を示すシーケンス図である。 図4は、実施形態に係るスナップショット取得間隔とCPU使用率との関係の一例を示す図である。 図5は、実施形態に係るスナップショット取得間隔とスナップショット数との関係の一例を示す図である。 図6は、プログラムが実行されることにより、実施形態に係る呼処理サーバが実現されるコンピュータの一例を示す図である。
以下、本願が開示する呼処理装置、セッション復旧方法及び呼処理サーバプログラムの実施形態の一例について、図面を参照して説明する。なお、以下の実施形態により、本願が開示する技術が限定されるものではない。また、以下の実施形態及びその他の実施形態は、適宜組合せてもよい。
(実施形態に係るネットワークシステム)
図1は、実施形態に係るネットワークシステムの一例を示す図である。実施形態に係るネットワークシステム1は、仮想化基盤上でのサーバ運用技術、例えばKVM(Kernel-based Virtual Machine)、VMware vSphere(登録商標)等により呼処理サーバが実現されるIP(Internet Protocol)電話サービスシステムである。また、ネットワークシステム1は、3GPPにより提唱されている次世代ネットワーク(IP Multimedia Subsystem)である、加入者データ原本を格納する加入者データサーバと呼処理制御を行う呼処理制御サーバとを連携した加入者データサーバ連携方式による呼処理方式を前提とする。
ネットワークシステム1は、IP電話端末2、物理サーバ100、対向呼処理サーバ200、加入者管理サーバ300、対向IP電話端末3を含む。IP電話端末2は、物理サーバ100と所定通信回線を介して接続される。また、物理サーバ100は、対向呼処理サーバ200と所定通信回線を介して接続される。また、物理サーバ100は、加入者管理サーバ300と所定通信回線を介して接続される。また、対向IP電話端末3は、対向呼処理サーバ200と所定通信回線を介して接続される。
なお、図1では、IP電話端末2、物理サーバ100、対向呼処理サーバ200、加入者管理サーバ300、対向IP電話端末3の数は、それぞれ1つのみ示すが、複数であってもよい。
IP電話端末2及び対向IP電話端末3は、加入者がIP電話サービスを利用する際に用いられる端末である。
物理サーバ100は、ホストOS(Operating System)上のゲストOS上で稼働する仮想マシンにて呼処理サーバが実現されるサーバ装置である。物理サーバ100は、1以上のCPU(Central Processing Unit)等の処理装置、1以上のRAM(Random Access Memory)等の一時記憶装置、1以上のHDD(Hard Disk Drive)、SSD(Solid State Drive)等の外部記憶装置を含んで構成される。
物理サーバ100は、ホストOS実行部110、ゲストOS実行部120を含む。ホストOS実行部110及びゲストOS実行部120は、物理サーバ100の物理資源を共有する。すなわち、ゲストOS実行部120は、物理サーバ100の全物理資源のうち、ホストOS実行部110に用いられる部分以外を用いる。なお、図1では、ホストOS実行部110及びホストOS実行部110上で動作するゲストOS実行部120は、1つのみ示すが、複数であってもよい。
ホストOS実行部110は、スナップショット取得部111、スナップショット記憶部112、障害復旧処理部113を含む。スナップショット取得部111は、ゲストOS実行部120又は後述の呼処理サーバ実行部130の実行中イメージであるメモリ状態及びディスク状態等のスナップショットを、取得間隔tで取得する。スナップショット取得部111は、取得した最新のスナップショットを、取得日時とともに、スナップショット記憶部112へ保存する。なお、取得間隔tについては、後述する。
障害復旧処理部113は、呼処理サーバ実行部130において障害が発生すると、スナップショット記憶部112に保存されるスナップショットを用いて、呼処理サーバ実行部130を復旧後、再稼働させる。障害復旧処理部113により再稼働された呼処理サーバ実行部130の記憶部132が保存する後述の加入者データ132a及びセッション情報132bは、スナップショットにより復旧されたデータとなる。そして、障害復旧処理部113は、再稼働させた呼処理サーバ実行部130に対して、スナップショットを用いて復旧されたことを示す、スナップショットの取得日時を含む復旧通知を通知する。
ゲストOS実行部120は、ホストOS実行部110上で動作する仮想マシンである。ゲストOS実行部120は、呼処理サーバ実行部130を含む。呼処理サーバ実行部130は、呼処理部131、記憶部132、セッション復旧処理部133を含む。呼処理部131は、例えばIP電話端末2及び対向IP電話端末3間のIP電話通信サービスのセッションに係る呼を処理する。
記憶部132は、加入者データ132a及びセッション情報132bを記憶する。記憶部132は、呼処理サーバ実行部130の起動時は、加入者データ132a及びセッション情報132bを保持していない。呼処理部131は、INVITE/REGISTERの受信時、加入者データの原本を格納する加入者管理サーバ300へアクセスして加入者データを取得後、記憶部132へ保存する。以後、呼処理部131は、記憶部132へ保存した加入者データ132aを用いて呼処理を実行する。記憶部132は、一度保存した加入者データを呼処理終了後も保持し続けてもよい。この場合、呼処理部131は、INVITE/REGISTERの受信時、記憶部132に保存されている加入者データ132aを参照して呼処理を実行する。また、呼処理部131は、確立したセッションに係るセッション管理情報をセッション情報132bにて管理する。なお、呼処理サーバ実行部130と、加入者管理サーバ300とは、多対多での接続が可能である。
図2Aに一例を示すように、加入者データ132aは、加入者単位で、加入者ID、更新フラグ、加入者情報、その他の情報を含む。加入者IDは、加入者の識別情報である。更新フラグは、後述するセッション復旧処理における加入者情報の最新化処理の完了及び未完了を示すフラグである。加入者情報は、ユーザ毎の契約情報、例えば留守番サービス契約している、転送サービス契約している等の情報である。図2Aでは、加入者ID、更新フラグ、加入者情報以外の情報は、図示を省略している。また、図2Bに一例を示すように、セッション情報132bは、セッション単位で、セッションID、セッション管理情報、その他の情報を含む。セッションIDは、セッションの識別情報である。セッション管理情報は、呼処理サーバ実行部130を介したIP電話サービスに係るセッションを管理する情報であり、例えば当該セッションに係るIP電話端末や呼処理サーバの接続情報、セッションの有効期限を示すセッションタイマ等を含む。図2Bでは、セッションID、セッション管理情報以外の情報は、図示を省略している。
セッション復旧処理部133は、ホストOS実行部110の障害復旧処理部113から、復旧通知を通知されると、復旧された加入者データ132aの更新フラグを全てON(ビット1)にする。そして、セッション復旧処理部133は、復旧通知に含まれるスナップショットの取得日時と、現在日時との差分を算出する。そして、セッション復旧処理部133は、スナップショットの取得日時と、現在日時との差分が所定閾値Th以下であるか否かを判定する。所定閾値Thは、運用サービスの特性上、復旧を要するセッションが存在するか否かを判定する閾値であり、サービスの種別に応じて適宜定められる閾値である。
セッション復旧処理部133は、スナップショットの取得日時と、現在日時との差分が所定閾値Th以下である場合には、復旧された呼処理サーバ実行部130が記憶部132のセッション情報132bに保持するセッション(例えばセッションタイマが0でないセッション)について、対向呼処理サーバ200又は対向IP電話端末3に対してセッションの更新を要求し、更新要求に対する正常応答を用いてセッション情報132bに保持されているセッションを更新する。セッションの更新は、有効期限、IP電話端末2及び対向IP電話端末3の接続情報等を含むセッション管理情報の更新や、その他の情報の更新を含む。
セッション復旧処理部133は、スナップショットの取得日時と、現在日時との差分が所定閾値Thより大である場合には、復旧された呼処理サーバ実行部130には復旧を要するセッションが存在しないと判定し、記憶部132のセッション情報132bに保持されている全てのセッションを切断し、切断したセッションに割り当てられていた全てのリソース(物理サーバ100の物理資源)を解放する。また、セッション復旧処理部133は、復旧された呼処理サーバ実行部130が記憶部132のセッション情報132bに保持するセッションについて、対向呼処理サーバ200又は対向IP電話端末3に対してセッションの更新を要求したが、更新要求に対して正常応答以外の応答を受信した場合も、当該セッションを切断し、当該セッションに割り当てられていたリソースを解放する。
また、セッション復旧処理部133は、復旧された呼処理サーバ実行部130の記憶部132が保持する加入者データ132aのうち、更新フラグがON(ビット1)かつセッションが張られていない全ての加入者データについて、加入者管理サーバ300に対して最新の加入者データを問合わせた結果をもとに、加入者データ132aを更新する。また、セッション復旧処理部133は、復旧された呼処理サーバ実行部130の記憶部132が保持する加入者データ132aのうち、呼処理部131がIP電話端末2から新たに受け付けたセッション開始要求に該当する加入者データについて、更新フラグが1である場合に、加入者管理サーバ300に対して最新の加入者データを問合わせた結果をもとに、加入者データ132aを更新する。
呼処理部131は、上記のようにして最新化された加入者情報132a及び更新されたセッション情報132bを用いて処理を継続する。
(実施形態に係るセッション復旧処理)
図3A及び図3Bは、実施形態に係るセッション復旧処理の一例を示すシーケンス図である。先ず、図3Aにおいて、ホストOS実行部110は、取得間隔tで、呼処理サーバ実行部130のスナップショットを取得する(ステップS11)。ホストOS実行部110は、ステップS11の処理を取得間隔tで繰り返す。
ホストOS実行部110は、呼処理サーバ(呼処理サーバ実行部130)の障害を検知すると(ステップS12)、スナップショット記憶部112に保存される最新のスナップショットを用いて、障害を検知した呼処理サーバ(呼処理サーバ実行部130)を復旧、再稼働させる(ステップS13)。そして、ホストOS実行部110は、再稼働させた呼処理サーバ実行部130に対して、スナップショット取得日時を含む復旧通知を送信する(ステップS14)。
呼処理サーバ実行部130は、ホストOS実行部11から復旧通知を受信すると、呼処理サーバ実行部130がスナップショットから復旧されたことを認識して、加入者データ132aの更新フラグを全てON(ビット1)にする(ステップS15)。次に、呼処理サーバ実行部130は、スナップショットの取得日時と、現在日時との差分時間Tを計算する(ステップS16)。次に、呼処理サーバ実行部130は、差分時間Tが所定閾値Th以下であるか否かを判定する(ステップS17)。呼処理サーバ実行部130は、差分時間Tが所定閾値Th以下である場合(ステップS17:Yes)、ステップS18へ処理を移す。一方、呼処理サーバ実行部130は、差分時間Tが所定閾値Thより大である場合(ステップS17:No)、ステップS23へ処理を移す。
ステップS18では、呼処理サーバ実行部130は、差分時間Tが所定閾値Th以下であるため、復旧すべき有効なセッションが存在する可能性があることから、セッション情報132bが保持するセッションについて、該当セッションの更新要求(例えばINVITE or UPDATE)を、該当の対向呼処理サーバ200又は対向IP電話端末3へ送信する。そして、呼処理サーバ実行部130は、対向呼処理サーバ200又は対向IP電話端末3から、セッションの更新要求に対する応答(例えば200 or それ以外)を受信する(ステップS19)。
次に、呼処理サーバ実行部130は、ステップS19で受信した応答が正常応答(例えば200)であるか否かを判定する(ステップS20)。呼処理サーバ実行部130は、受信した応答が正常応答である場合(ステップS20:Yes)、ステップS21へ処理を移す。一方、呼処理サーバ実行部130は、受信した応答が正常応答でない場合(ステップS20:No)、ステップS22へ処理を移す。ステップS20:Yes、すなわち、受信した応答が正常応答である場合は、対向呼処理サーバ200又は対向IP電話端末3において該当セッションは存在しており、ステップS18のセッションの更新要求によりセッションタイマの更新も完了している場合である。また、ステップS20:No、すなわち、受信した応答が正常応答でない場合は、対向呼処理サーバ200又は対向IP電話端末3において該当セッションは既に存在しない場合である。
ステップS21では、呼処理サーバ実行部130は、ステップS19で対向呼処理サーバ200又は対向IP電話端末3から受信した応答に含まれるセッション情報をもとにセッション情報132bの該当セッションを更新(最新化)する。呼処理サーバ実行部130は、ステップS21の処理が終了すると、ステップS24へ処理を移す。一方、ステップS22では、呼処理サーバ実行部130は、ステップS19で受信した正常でない応答に該当するセッションに割り当てられた物理サーバ100のリソース(物理資源)を解放する。呼処理サーバ実行部130は、ステップS18〜S19の処理を、セッション情報132bに保存される保持セッション分だけ繰り返す。
他方、ステップS23では、呼処理サーバ実行部130は、差分時間Tが所定閾値Thより大であるため、復旧すべき有効なセッションが存在しないと判定されるため、加入者データ132aに保存される全ての加入者データについて張られていたセッションを切断し、切断したセッションに割り当てられていた物理サーバ100のリソース(物理資源)を解放する。ステップS23の処理が終了すると、呼処理サーバ実行部130は、ステップS24へ処理を移す。
ステップS24では、呼処理サーバ実行部130は、新規セッション開始要求を受け付けたか否かを判定する。呼処理サーバ実行部130は、新規セッション開始要求を受け付けた場合(ステップS24:Yes)、ステップS31(図3B)へ処理を移す。一方、呼処理サーバ実行部130は、新規セッション開始要求を受け付けていない場合(ステップS24:No)、ステップS25へ処理を移す。なお、ステップS24は、呼処理サーバ実行部130は、加入者データ132aのうち、受け付けた新規セッション開始要求に該当する加入者データについてステップS31〜S39の処理を実行し、その他の加入者データについてステップS25〜S28の処理を実行し、ステップS25〜S28と、ステップS31〜S39とを並行して実行することを示す。
ステップS25では、呼処理サーバ実行部130は、加入者データ132aに保持される加入者データのうちの1つの加入者データについて、更新フラグがON(ビット1)かつセッションが張られていないかを判定する。呼処理サーバ実行部130は、更新フラグがON(ビット1)かつセッションが張られていない場合(ステップS25:Yes)、ステップS26へ処理を移す。一方、呼処理サーバ実行部130は、更新フラグがOFF(ビット0)又はセッションが張られている場合(ステップS25:No)、セッション復旧処理を終了する。
ステップS26では、呼処理サーバ実行部130は、加入者管理サーバ300に対して、加入者データ要求(SAR)を送信する。そして、呼処理サーバ実行部130は、加入者管理サーバ300から、加入者データ要求(SAR)に対する応答である最新の加入者データを受信(SAA)する(ステップS27)。そして、呼処理サーバ実行部130は、受信した加入車データで加入者データ132aを最新化し、加入者データ132aの該当加入者データの更新フラグをOFF(ビット0)にする(ステップS28)。ステップS28が終了すると、呼処理サーバ実行部130は、セッション復旧処理を終了する。呼処理サーバ実行部130は、ステップS26〜S27の処理を、加入者データ132aに保存される加入者データ分だけ繰り返す。
一方、ステップS31では、呼処理サーバ実行部130は、対向呼処理サーバ200又は対向IP電話端末3から、新規リクエスト(INVITE or REGISTER)を受信する。そして、呼処理サーバ実行部130は、対向呼処理サーバ200又は対向IP電話端末3に対して、ステップS31の新規リクエスト(INVITE or REGISTER)に対する応答として、100 Trying(INVITE)を送信する(ステップS32)。なお、呼処理サーバ実行部130と、対向呼処理サーバ200又は対向IP電話端末3とは、ステップS32とステップS33との間で中継信号の送受信を行うが、図示を省略している。
次に、呼処理サーバ実行部130は、加入者データ132aに保持される加入者データのうち、ステップS32で送信した100 Trying(INVITE)に該当する加入者データの更新フラグがON(ビット1)であるか否かを判定する(ステップS33)。呼処理サーバ実行部130は、ステップS32で送信した100 Trying(INVITE)に該当する加入者データの更新フラグがON(ビット1)である場合(ステップS33:Yes)、ステップS34へ処理を移す。一方、呼処理サーバ実行部130は、ステップS32で送信した100 Trying(INVITE)に該当する加入者データの更新フラグがOFF(ビット0)である場合(ステップS33:No)、ステップS37へ処理を移す。
ステップS34では、呼処理サーバ実行部130は、加入者管理サーバ300に対して、加入者データ要求(SAR)を送信する。そして、呼処理サーバ実行部130は、加入者管理サーバ300から、加入者データ要求(SAR)に対する応答である最新の加入者データを受信する(SAA)(ステップS35)。そして、呼処理サーバ実行部130は、受信した加入車データで加入者データ132aを最新化し、加入者データ132aの該当加入者データの更新フラグをOFF(ビット0)にする(ステップS36)。ステップS36が終了すると、呼処理サーバ実行部130は、ステップS37へ処理を移す。
ステップS37では、呼処理サーバ実行部130は、対向呼処理サーバ200又は対向IP電話端末3に対して、180 Ringing(INVITE)を送信する。そして、呼処理サーバ実行部130は、ステップS37で送信した180 Ringing(INVITE)に引き続き、対向呼処理サーバ200又は対向IP電話端末3に対して、200 OK(INVITE or REGISTER)を送信する(ステップS38)。そして、呼処理サーバ実行部130は、対向呼処理サーバ200又は対向IP電話端末3から、ステップS38で送信した200 OK(INVITE or REGISTER)に対する応答として、ACK(INVITE)を受信する(ステップS39)。ステップS39以降、呼処理サーバ実行部130と、対向呼処理サーバ200又は対向IP電話端末3とは、SIPシーケンスを実行するが、図示を省略している。SIPシーケンスが終了すると、セッション復旧処理は終了する。
(実施形態に係るスナップショット取得間隔とCPU使用率との関係)
図4は、実施形態に係るスナップショット取得間隔とCPU使用率との関係の一例を示す図である。スナップショットに使用可能なCPUリソースは、スナップショット取得間隔に連動する。ここで、図4に示すように、スナップショットを取得する取得間隔をtとする。また、スナップショットを取得開始して取得完了するまでに要する1回あたりの取得に要する時間をTとする。また、スナップショットを取得しないときのCPUリソースの使用率を1としたときの、スナップショットを取得する際に使用するCPUリソースの使用率の上昇割合をCとする。すると、呼処理サービスに使用可能なCPUリソースの割合は、下記の(1)式により見積もることができる。
Figure 0006374362
ここで、呼処理サービスで使用可能な物理サーバ100のCPUリソースの割合は、冗長化方式の種類(例えばACT−SBY方式やN−ACT方式等)により変化するため、ここでは変数αとする。変数αは、冗長化方式の種類によって定まる所定数(0<α<1)である。よって、上記の(1)式で示される呼処理サービスに使用可能なCPUリソースの割合が、下記の(2)式で示されるように、α以上であれば、スナップショット方式が効率的であると評価できる。
Figure 0006374362
上記の(2)式をtについて変形すると、下記の(3)式に示すように、取得間隔tの下限が求まる。
Figure 0006374362
なお、上記の(3)式は、CPUリソースに基づいて算出した評価式であるが、CPUリソースに限らず、CPU使用率、メモリ使用率、外部記憶装置の使用率、メモリアクセス時間、外部記憶装置のアクセス時間等、1以上のハードウェアリソースのスループット(性能指標)に基づいて同様に算出してもよい。
(実施形態に係るスナップショット取得間隔とスナップショット数との関係)
図5は、実施形態に係るスナップショット取得間隔とスナップショット数との関係の一例を示す図である。呼処理サーバが故障した場合、セッションの有効期限内(セッションタイマ満了前)に復旧させることができなければ、対向する他の呼処理サーバやIP電話端末によってセッションが切断される。
ここで、セッション開始後の初回のスナップショットを取得するまでの間に呼処理サーバに故障が発生した場合、セッション情報がスナップショットに含まれていないため、該当セッションを復旧させることができない。また、スナップショットの取得間隔tが大きいほど、スナップショット方式におけるCPUリソースの使用効率は良くなるが、初回のスナップショットを取得するまでの時間が長くなるため、スナップショットに含まれないセッションが多くなる。
例えば、図5に示すタイミングでセッションタイマが開始、更新され、終了するセッションの場合、タイミングBで呼処理サーバの故障発生の場合は、該当セッションは(n+1回目)のスナップショットに含まれるため、復旧できる。しかし、タイミングAで呼処理サーバの故障発生の場合は、該当セッションは(n回目)のスナップショットに含まれないため、復旧できない。
すなわち、セッションの生起以降、スナップショットに含まれないセッション数は、セッション平均生起率(呼/秒)と初回のスナップショット取得間隔の積(=スナップショット取得間隔内に生起されるセッション数)で算出できる。よって、取得間隔をt、平均セッション保持時間をt、セッション平均生起率をx、スナップショットに含まれないセッションの割合の上限値をr(ただし、t、xは、サービスの特性により定まり、rはスナップショットの要求品質により定まる)とすると、下記の(4)式のように、スナップショットに含まれないセッションの割合の評価式が導かれる。
Figure 0006374362
上記の(4)式をtについて変形すると、下記の(5)式のようになる。
Figure 0006374362
よって、上記の(3)式及び(5)式から、下記の(6)式のように、取得間隔tの評価式が求まる。下記の(6)式において、取得間隔tは、上限により近い値であればあるほど、CPUリソース効率が高まる一方、下限により近い値であればあるほど、スナップショットに含まれないセッションの数を減らすことができスナップショットの品質を高めることができる。すなわち、取得間隔tは、要求仕様に応じて、下記の(6)式の範囲内で適宜定めることができる。
Figure 0006374362
呼処理サーバの運用において、呼処理サーバの可用性は確保したいが、ACT−SBYやN−ACT等の冗長化方式では、別の待機サーバを準備するコストがかかる。そこで、実施形態では、ハードウェアコストを低減するために、仮想化基盤を利用し、仮想化基盤上で動作する仮想マシンにより呼処理サーバを実現する。また、実施形態では、呼処理サーバの可用性を実現するために、定期的に呼処理サーバのスナップショットを取得し、呼処理サーバの故障等で呼処理サービスが停止した場合に、スナップショットから復旧させる。
しかし、スナップショットから復旧させる方式では、スナップショット取得時点での状態で復旧されるため、呼処理サーバ等のステートフルサーバでは、対向装置との状態矛盾(現在は存在しないセッションが復旧される)が発生したり、セッションタイマ(セッションの有効期限)の更新ができずにセッションが切断されたりする可能性がある。
また、スナップショット取得後に生起したセッションは復旧できないことから、復旧できるセッション数を増加させるために、スナップショットの取得間隔を小さくする方法があるが、スナップショットの取得間隔を小さくすることによりスナップショット取得に多くのCPUリソースが使用され、呼処理サービスで使用可能なCPUリソースが少なくなる。
そこで、実施形態は、スナップショットからの復旧後、スナップショットの取得時刻と現在時刻の差分からセッション整合要否を判定する。そして、実施形態は、整合が必要な場合、対向装置にセッション更新要求を送信し、その応答により復旧された呼処理サーバの内部状態の合わせこみを行う。
また、実施形態は、「スナップショットの取得間隔に対する復旧できないセッション数」、「スナップショットの取得間隔に対するサービスに利用可能なCPUリソースの割合」からスナップショットの取得間隔の評価式を算出する。
よって、実施形態によれば、スナップショットからの復旧後に、対向装置との状態矛盾の解消(現在存在しないセッションは削除)、セッションタイマや加入者データの最新状態への更新が可能となる。また、実施形態によれば、呼処理サービスに求められるCPUリソースの利用効率と品質要件(故障時に復旧できないセッション数の割合)から、最適なスナップショットの取得間隔を決定することができる。
(その他の実施形態)
(1)ネットワークシステム1について
実施形態では、ネットワークシステム1は、IP電話サービスシステムであるとした。しかし、開示の技術は、これに限定されず、セッション単位で通信が管理される各種の通信システムであっても適用可能である。
(2)呼処理サーバの実装について
実施形態では、呼処理サーバは、物理サーバ100のホストOS実行部110上で動作するゲストOS実行部120上で稼働する呼処理サーバ実行部130により実現されるとした。すなわち、実施形態において、呼処理サーバは、物理基盤上の仮想基盤で稼働する仮想マシンにより実装されるとした。しかし、開示の技術は、これに限定されず、物理サーバ毎に仮想基盤を設けず呼処理サーバを物理サーバ上で直接稼働させてもよい。
(3)復旧及び再稼働の対象について
実施形態では、呼処理サーバ実行部130の障害を検知して呼処理サーバ実行部130の復旧及び再稼働を行うとした。しかし、開示の技術は、これに限定されず、呼処理サーバ実行部130を稼働させる仮想化基盤であるゲストOS実行部120の障害を検知し、ゲストOS実行部120及びゲストOS実行部120上で稼働する呼処理サーバである呼処理サーバ実行部130の復旧及び再稼働を行うとしてもよい。ゲストOS実行部120上で稼働する呼処理サーバ実行部130が複数である場合には、図3A及び図3Bに示したセッション復旧処理は、呼処理サーバ実行部130毎に行われる。
また、物理サーバ100において行われる各処理は、全部又は任意の一部が、CPU等の処理装置及び処理装置により解析実行されるプログラムにて実現されてもよい。また、物理サーバ100において行われる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
また、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともできる。もしくは、実施形態において説明した各処理のうち、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上述及び図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
(プログラムについて)
図6は、プログラムが実行されることにより、物理サーバが実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。コンピュータ1000において、これらの各部はバス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1041に挿入される。シリアルポートインタフェース1050は、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、例えばディスプレイ1061に接続される。
ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、物理サーバ100の各処理を規定するプログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、例えばハードディスクドライブ1031に記憶される。例えば、物理サーバ100における機能構成と同様の情報処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。
また、実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093やプログラムデータ1094は、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
実施形態及びその他の実施形態は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1 ネットワークシステム
2 IP電話端末
3 対向IP電話端末
100 物理サーバ
110 ホストOS実行部
111 スナップショット取得部
112 スナップショット記憶部
113 障害復旧処理部
120 ゲストOS実行部
130 呼処理サーバ実行部
131 呼処理部
132 記憶部
132a 加入者データ
132b セッション情報
133 セッション復旧処理部
200 対向呼処理サーバ
300 加入者管理サーバ
1000 コンピュータ
1010 メモリ
1020 CPU

Claims (5)

  1. 対向装置とのセッションに係るセッション情報と、加入者データを記憶する記憶部と、
    自呼処理装置がスナップショットから復旧されたものである場合に、前記スナップショットの取得時刻から現在時刻までの経過時間が所定閾値以下であるか否かを判定する判定部と、
    前記判定部により前記経過時間が所定閾値以下であると判定された際に、前記セッション情報毎に、前記対向装置に対して前記セッションの更新要求を送信し、前記更新要求に対して前記対向装置から正常応答があった場合には前記セッションを更新し、前記更新要求に対して前記対向装置から正常応答以外の応答があった場合には前記セッションを切断して前記セッションに割り当てられたコンピュータリソースを解放し、前記判定部により前記経過時間が所定閾値を越えると判定された際に、前記記憶部に記憶されている全ての前記セッション情報について前記セッションを切断して前記セッションに割り当てられたコンピュータリソースを解放する復旧処理部と
    を備えることを特徴とする呼処理装置。
  2. 前記復旧処理部は、
    加入者管理サーバから取得した加入者データで前記記憶部に記憶されている前記加入者データを最新化する
    ことを特徴とする請求項1に記載の呼処理装置。
  3. 自呼処理装置が備える前記記憶部を含む記憶装置の取得時点における状態を含む前記スナップショットが、下記の(1)式により定められる取得間隔tで取得される
    ことを特徴とする請求項1又は2に記載の呼処理装置。
    Figure 0006374362
  4. 呼処理装置が実行するセッション復旧方法であって、
    前記呼処理装置は、対向装置とのセッションに係るセッション情報と、加入者データを記憶する記憶部を備え、
    前記呼処理装置がスナップショットから復旧されたものである場合に、前記スナップショットの取得時刻から現在時刻までの経過時間が所定閾値以下であるか否かを判定する判定ステップと、
    前記判定ステップにより前記経過時間が所定閾値以下であると判定された際に、前記セッション情報毎に、前記対向装置に対して前記セッションの更新要求を送信し、前記更新要求に対して前記対向装置から正常応答があった場合には前記セッションを更新し、前記更新要求に対して前記対向装置から正常応答以外の応答があった場合には前記セッションを切断して前記セッションに割り当てられたコンピュータリソースを解放し、前記判定ステップにより前記経過時間が所定閾値を越えると判定された際に、前記記憶部に記憶されている全ての前記セッション情報について前記セッションを切断して前記セッションに割り当てられたコンピュータリソースを解放する復旧処理ステップと
    を含んだことを特徴とするセッション復旧方法。
  5. 請求項1、2又は3に記載の呼処理装置としてコンピュータを機能させるための呼処理サーバプログラム。
JP2015155505A 2015-08-05 2015-08-05 呼処理装置、セッション復旧方法及び呼処理サーバプログラム Active JP6374362B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015155505A JP6374362B2 (ja) 2015-08-05 2015-08-05 呼処理装置、セッション復旧方法及び呼処理サーバプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015155505A JP6374362B2 (ja) 2015-08-05 2015-08-05 呼処理装置、セッション復旧方法及び呼処理サーバプログラム

Publications (2)

Publication Number Publication Date
JP2017034610A JP2017034610A (ja) 2017-02-09
JP6374362B2 true JP6374362B2 (ja) 2018-08-15

Family

ID=57989490

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015155505A Active JP6374362B2 (ja) 2015-08-05 2015-08-05 呼処理装置、セッション復旧方法及び呼処理サーバプログラム

Country Status (1)

Country Link
JP (1) JP6374362B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10409697B2 (en) * 2017-02-23 2019-09-10 Salesforce.Com, Inc. Automated self-healing database system and method for implementing the same
CN112866485B (zh) * 2020-12-31 2022-09-02 深圳市珍爱捷云信息技术有限公司 恢复呼叫信息显示的方法、装置、服务器及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5851809B2 (ja) * 2011-11-24 2016-02-03 日本電信電話株式会社 呼制御に利用する情報の冗長化方法および呼制御システム

Also Published As

Publication number Publication date
JP2017034610A (ja) 2017-02-09

Similar Documents

Publication Publication Date Title
CN112534776B (zh) 用于在网络环境中检测网络功能失败和重启的方法及装置
US10862770B2 (en) NF service consumer restart detection using direct signaling between NFs
CN109104483B (zh) 一种基于事件通知的微服务动态负载均衡的方法及装置
CN102708018B (zh) 一种异常处理方法及系统、代理设备与控制装置
CN109151045B (zh) 一种分布式云系统及监控方法
CN109565448B (zh) 用于解决链路故障的方法、介质、计算单元和系统
CN103838593B (zh) 恢复虚拟机的方法、系统及控制器、服务器、寄宿主机
US11683218B2 (en) Compromised network node detection system
Nguyen et al. ECHO: A reliable distributed cellular core network for hyper-scale public clouds
US20180004582A1 (en) Timers in stateless architecture
CN104503861A (zh) 一种异常处理方法及系统、代理设备与控制装置
CN113206877A (zh) 一种会话保持方法及装置
JP6374362B2 (ja) 呼処理装置、セッション復旧方法及び呼処理サーバプログラム
JP2023156475A (ja) ネットワーク関連付け情報を回復するための方法及び装置
CN106557522B (zh) 一种用于提供定时功能的方法与设备
WO2016154921A1 (zh) 一种数据业务的数据传输方法及装置
JP6269199B2 (ja) 管理サーバおよび障害復旧方法、並びにコンピュータ・プログラム
US20210400015A1 (en) Short-term lease allocation for network address conflict reduction in dhcp failover deployments
US20220094589A1 (en) Communications methods and apparatus for minimizing and/or preventing message processing faults
CN106302077B (zh) 一种容灾倒回方法及设备
CN115349119A (zh) 用于在网络中部署网络功能(nf)集时的增强的5gc恢复的方法和装置
CN110890989A (zh) 一种通道连接方法及装置
Nguyen et al. A reliable distributed cellular core network for hyper-scale public clouds
CN113407369B (zh) 支持主备系统管理的智能平台管理系统及实现方法
CN114244690A (zh) 故障处理方法、装置、网络设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180622

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180717

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180719

R150 Certificate of patent or registration of utility model

Ref document number: 6374362

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150