説明

データ同期方法

【課題】系切り替え後、速やかに呼処理を再開(継続)する。
【解決手段】系切り替え後、新ACT系呼制御サーバ63の基本領域63Bのデータの再同期を新ACT系呼制御サーバ63から新SBY系呼制御サーバ64に対して開始する第1の同期ステップと、呼処理の継続信号を含む受信信号により生成されたデータを新ACT系呼制御サーバ63の一時領域63Aに退避させる退避ステップと、新ACT系呼制御サーバ63の一時領域63Aに退避させたデータの同期を新ACT系呼制御サーバ63から新SBY系呼制御サーバ64に対して開始する第2の同期ステップとを備え、新ACT系呼制御サーバ63の処理量を制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、二重化システムにおけるデータ同期方法に関し、特に、呼制御によりセッション確立の制御を行う呼制御システムにおけるデータ同期方法に関する。
【背景技術】
【0002】
従来より、システムの信頼性を高める手法の一つとして、システムを二重化することが知られている(例えば、特許文献1参照)。通常運用中に処理を行うシステムを現用系などと呼び、現用系に障害が発生したとき肩代わりするシステムを予備系などと呼ぶ。障害が発生すると、現用系と予備系とを切り替えて、以降は新現用系で処理を行うようになっている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−28708号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、従来の交換機をベースとした通信各社の独自開発では、開発期間が長くかかり、開発費も高くなるため、通信事業およびその装置開発に係る企業によってSAF(service availability forum)が設立された。SAFでは、仕様を共通化することで移植性を高め、コストを下げることを目的としている。近年は、複数のIPネットワークに設置された機器が連携して複雑なサービスを提供することから、相互接続性を高めることも目的としている。
【0005】
SAFでは、いくつかの分類に従って仕様を決めている。その中でも、ノード間でデータをコピー(同期)することで、障害発生時に前のデータを用いてサービスを継続することができるチェックポイント(CKPT)の仕組みがある。すなわち、障害が発生すると、現用系と予備系とを切り替えて、新現用系でCKPT機能により同期したデータを用いて呼処理をする。このとき、既に新現用系では呼処理を開始して、新規呼の受信信号をデータとして格納し、編集を開始している。よって、新現用系は信頼のある最新状態であるため、新現用系が持っているCKPTデータを新現用系から新予備系に対してコピー(再同期)するようになっている。これにより、障害発生前の状態から呼処理を再開(継続)することが可能となる。
【0006】
しかしながら、CKPTデータの再同期中に新現用系の呼情報が更新(変更)されると、新現用系と新予備系との間で情報の矛盾が発生する。このような矛盾を避けるためには、変更分の同期/未同期の管理もしくは未変更分の同期/未同期の管理が必要となる。CKPTの利用頻度の高い使用用途では、更新したところをさらに更新する場合もある。その場合は、更新分の更新分について管理などが必要となり、さらに処理が複雑になる。そのため、従来は、CKPTデータの再同期が完了するのを待って、呼処理を再開していた。もしくは、呼情報の損失により呼継続できないことを割り切っていた。
【0007】
本発明は、上述した従来の技術に鑑み、系切り替え後、速やかに呼処理を再開(継続)することができるデータ同期方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、第1の態様に係る発明は、通常運用中の呼処理は現用系呼制御サーバで実施し、障害が発生すると現用系呼制御サーバと予備系呼制御サーバとを切り替えて新現用系呼制御サーバで呼処理をする呼制御システムにおける新現用系呼制御サーバ上のデータ同期方法であって、系切り替え後、新現用系呼制御サーバの基本領域のデータの再同期を新現用系呼制御サーバから新予備系呼制御サーバに対して開始する第1の同期ステップと、呼処理の継続信号を含む受信信号により生成されたデータを新現用系呼制御サーバの一時領域に退避させる退避ステップと、新現用系呼制御サーバの一時領域に退避させたデータの同期を新現用系呼制御サーバから新予備系呼制御サーバに対して開始する第2の同期ステップとを備え、新現用系呼制御サーバの処理量を制御することを要旨とする。
【0009】
第2の態様に係る発明は、第1の態様に係る発明において、呼処理を制御する呼処理制御部から前記一時領域への書き込み要求を受けた場合、その応答を遅延させることを要旨とする。
【0010】
第3の態様に係る発明は、第1の態様に係る発明において、前記応答の遅延時間を(最小の再送間隔−内部信号処理時間)とすることを要旨とする。
【0011】
第4の態様に係る発明は、第1の態様に係る発明において、前記一時領域から前記基本領域への書き込み量よりも、呼処理を制御する呼処理制御部から前記一時領域への書き込み量を少なくすることを要旨とする。
【発明の効果】
【0012】
本発明によれば、系切り替え後、速やかに呼処理を再開(継続)することができるとともに、呼処理の再開(継続)による負荷を緩和することができるデータ同期方法を提供することが可能である。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態1におけるSIP通信システムのネットワーク構成図である。
【図2】本発明の実施形態1におけるCKPTの説明図である。
【図3】本発明の実施形態1における呼制御システムの機能ブロック図である。
【図4】本発明の実施形態1における呼制御システムの動作を示すフローチャートである。
【図5】本発明の実施形態1におけるデータ同期方法の説明図である。
【図6】本発明の実施形態2における新ACT系呼制御サーバの機能ブロック図である。
【図7】本発明の実施形態2における呼制御システムの動作を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【0015】
(実施形態1)
図1は、実施形態1におけるSIP通信システム1のネットワーク構成図である。このSIP通信システム1は、SIP(Session Initiation Protocol)による呼制御を行うシステムであり、図1に示すように、アクセス網2上の加入者端末2A,2B,2C,…と、IPネットワーク3上の転送装置3A,3B,3C,…と、加入者収容サーバ4A,4Bと、中継サーバ5A,5Bと、呼制御システム6と、ガイダンスサーバ7A,7Bとを備えている。
【0016】
加入者端末2A,2B,2C,…は、ユーザである加入者が利用するIP電話、HGW(ホームゲートウェイ)等であり、加入者端末間で利用するメディア通信を行うためのSIPネゴシエーションを行う機能を有する。転送装置3A,3B,3C,…は、加入者端末2A,2B,2C,…のメディア通信のトラヒックを転送する。加入者収容サーバ4Aは、加入者端末2A,2B,2CのSIP信号を中継するプロキシサーバであり、加入者収容サーバ4Bは、加入者端末2D,2E,2FのSIP信号を中継するプロキシサーバである。加入者収容サーバ4A,4Bは、加入者端末間のSIPネゴシエーションを中継し、加入者契約情報に基づいてSIP信号に補足する機能や、あらかじめ保持したルールに従ってSIP信号を編集する機能を有する。中継サーバ5A,5Bは、加入者収容サーバ4Aと4Bとを接続し、SIP信号を中継する機能を有する。呼制御システム6は、ACT系(現用系)呼制御サーバ61と、SBY系(予備系)呼制御サーバ62とを有する。
【0017】
加入者収容サーバ4A,4Bは、収容する範囲の加入者の情報を用いてサービスを行う。それに対して、ACT系呼制御サーバ61やSBY系呼制御サーバ62は、全国型のサービスなど、複数の加入者収容サーバにまたがるようなサービスを提供する。代表的な例としては、フリーダイヤルなど番号変換系のサービスや、着信ユーザの状態によりガイダンスを流すガイダンスサービスがある。サービスの提供の仕方は以下のようになる。
【0018】
まず、ユーザが加入者端末2Aから論理的な電話番号を指定して発呼すると、invite信号などの発呼信号がIPネットワーク3のエッジにある転送装置3Aから分岐されて加入者収容サーバ4Aに送られる。そして、加入者情報による処理が行われた後、宛先が論理番号である場合は呼制御システム6に送られ、着信先となる物理番号に変換される。その後、元の加入者収容サーバ4Aに返却、もしくは、着信先となる物理番号を収容する加入者収容サーバ4Bに接続される。ネットワークの構成や番号帯によっては、中継サーバ5A,5Bを経由して着信先の加入者収容サーバ4Bに接続される。発呼した加入者端末2Aを発側、着信した加入者端末2Dを着側と呼称する。加入者端末2A,2D間で許容可能な条件が交換され(SIPネゴシエーション)、確立した条件に基づいてメディア通信が行われる。ここでいうメディア通信は一般的に通話である。メディア通信に用いられる信号(パケット)は、アクセス網2とIPネットワーク3を経由して届けられる。加入者収容サーバ4A,4Bは経由しない。ガイダンス通信のガイダンス音声はガイダンスサーバ7A,7Bを経由して流される。全国規模の通話を対象としており、複数の加入者収容サーバから同時的に信号が送信されるため、処理頻度は極めて高い。これらの高頻度の呼処理を途切れることなく提供することのできる高可用性が求められている。
【0019】
呼制御システム6は、発側の加入者収容サーバ4Aから発呼信号を受けると、番号変換の他、宛先のIPアドレスやタイマの設定、経由情報の変更などの呼処理を行いながら呼情報を変更する。そして、図2に示すように、ACT系呼制御サーバ61からSBY系呼制御サーバ62に対してCKPTデータをコピー(同期)しながら呼処理を行い、その処理結果を発側の加入者収容サーバ4Aに応答する。もしくは、着側の加入者収容サーバ4Bに送信したり、ガイダンスサーバ7A,7Bに指示を出す場合もある。発側の加入者収容サーバ4Aと着側の加入者収容サーバ4Bが同じ場合もある。同期の単位は、CKPT最大サイズ(=セクション数×セクションサイズ)の範囲内で各開発者に裁量が与えられている。ここでは、発着の通信開始から通信終了までの呼に対して1セクションを用いて更新する度に同期することとする。通信開始は、発信者からなされる場合だけでなく、呼制御システム6からなされる場合もある。通信終了は、通信断など不本意に切断される場合もある。これらの場合を含め、通信開始から通信終了までの呼に対して1セクションを用いる。再送が期待できる信号は、データが消失しても再送により再実行できるため、自サーバから送信するタイミングで同期するようになっている。
【0020】
図3は、呼制御システム6の機能ブロック図である。図3(a)は系切り替え前、図3(b)は系切り替え後を示している。呼処理制御部611,631は、呼処理を制御するプロセスであり、ACT系で動作する。同期処理制御部612等は、他系との同期処理を制御するプロセスである。同期領域記憶部613等は、具体的にはCKPTバッファである。
【0021】
図3(a)に示すように、通常運用中の呼処理はACT系呼制御サーバ61で実施し、障害が発生するとACT系呼制御サーバ61とSBY系呼制御サーバ62とを切り替える。これにより、図3(b)に示すように、旧SBY系呼制御サーバ62は新ACT系呼制御サーバ63になり、また、旧ACT系呼制御サーバ61は新SBY系呼制御サーバ64になり、新ACT系呼制御サーバ63で呼処理を継続(再開)するようになっている。この場合、データが経由するルートは、呼処理制御部631、一時領域63A、基本領域63A、一時領域64A、基本領域64Bの順である。 ところで、系切り替え後は、速やかに新ACT系呼制御サーバ63で呼処理を継続(再開)する必要がある。新ACT系呼制御サーバ63は、同期されていたCKPTデータを用いて継続呼についても呼処理を継続することが可能である。このとき、新ACT系呼制御サーバ63は信頼のある最新状態であるため、新ACT系呼制御サーバ63から新SBY系呼制御サーバ64にCKPTデータを再同期する必要がある。
【0022】
しかしながら、CKPTデータの再同期中に新ACT系呼制御サーバ63の呼情報が更新されると、新ACT系呼制御サーバ63と新SBY系呼制御サーバ64との間で情報の矛盾が発生する。そのため、従来は、CKPTデータへの再同期が完了するのを待って、呼処理を再開していた。もしくは、呼情報の損失により呼継続できないことを割り切っていた。本実施形態では、系切り替え後、速やかに呼処理を再開(継続)することができるようにするため、以下の手法を採用している。
【0023】
図4は、呼制御システム6の動作を示すフローチャートである。ここでは、新ACT系呼制御サーバ63上のデータ同期方法に着目して説明する。
【0024】
まず、障害により系の切り替えが発生すると、新ACT系呼制御サーバ63の基本領域63Bのデータの再同期を新ACT系呼制御サーバ63から新SBY系呼制御サーバ64に対して開始する(ステップS11)。基本領域63Bは、CKPT内の記憶領域であり、図2に示す複数のセクションに相当する。次いで、呼処理の継続信号を含む受信信号により生成されたデータを新ACT系呼制御サーバ63の一時領域63Aに退避させる。ここでいう「退避」とは、一時的に蓄積するという意味である。このとき、呼処理の再開によって新ACT系呼制御サーバ63は高負荷状態であるため、この負荷を緩和するように再同期中における新ACT系呼制御サーバ63の処理量を制御するようになっている。具体的には、図3(b)に示すように、新ACT系呼制御サーバ63の同期処理制御部632は、呼処理制御部631から一時領域63Aへの書き込み要求を受けた場合、その応答を所定の時間だけ遅延させる(ステップS12→S13→S14→S15)。
【0025】
呼処理のメインフローでは、SIP信号を受けて、その信号の格納や編集、他系への書き込みを待って応答を返す。呼処理のメインフローは複数のワーカースレッドが行っているが、それぞれ、応答を返すまで持ちきりとなり、他の呼処理を行わない。よって、ワーカースレッド内の一処理であるCKPT管理で応答を遅延させることで、容易にCKPT所望の処理量に調整することが可能となる。
【0026】
書き込み応答の遅延時間は、再同期中に書き込み応答が返されてもCKPTバッファが溢れない適切な時間に設定しておく。すなわち、再同期中の新ACT系呼制御サーバ63では、新SBY系呼制御サーバ64へCKPTデータを転送すると同時に、呼処理制御部631からの書き込み要求を処理している。そのため、あらかじめ準備しているCKPTバッファが溢れるのを防止する仕組みが必要となる。そこで、再同期が完了するまでの間については、前記したように、書き込み応答を遅延させることで書き込み要求を制限することとしている。 これにより、呼処理制御部631の所要時間は呼制御システム6が受け付ける呼の間隔より長くなる。しかし、呼の間隔を長くすることは、呼制御システム6で処理する単位時間あたりの呼量を抑え、再同期中に限られたCKPT資源内で正常に動作させるために必要である。
【0027】
以下、遅延時間について更に詳しく説明する。
【0028】
例えば、30万BHCA(Busy Hour Call Attempts)の呼量がある場合は、3600000ms÷300000=12ms毎の処理要求頻度となる。BHCAとは、電話網が最も混雑する時間帯における回線呼び出しの回数の総量のことである。信号処理を遅延させ過ぎると、逆に、呼処理のメインフローの前段、つまり信号受信処理の段階から、再送信号による信号処理量が倍増してしまう。遅延時間がSIP信号の最初の再送間隔500ms未満であれば、再送は起こらない。呼処理サーバにSIP信号が入ってから出るまでの通常の処理時間(内部信号処理時間)を仮に50msとすると、遅延時間を450msまで伸ばすことが可能である。450ms毎の信号処理は、単純に計算すると、CKPTの処理量が8000BHCAである場合に相当するが、実際には、以下の平均保留時間が延びることにより呼量が下がる。また、外部からかかる信号量(SIP信号として呼処理サーバに入ってくる信号量)はそこまで下がらないので、信号受信バッファなど、呼処理の前段で構えるバッファをより多く必要とすることになる。内部信号処理時間を延ばすことは平均保留時間を延ばすことになる。平均保留時間が延びた場合も、次式に示すように、同時接続数制限により呼量は下がることになる。1呼あたりのSIP信号数が13信号であるとすると、それぞれ400ms遅延させた場合、α=13×400=5200ms≒5秒だけ平均保留時間を延ばすことができる。
【0029】
同時接続数×3600÷(平均保留時間+α)=減少した呼量
そこで、本実施形態では、遅延時間を(最小の再送間隔−内部信号処理時間)とする。また、平均保留時間を(最小の再送間隔−内部信号処理時間)×信号数と想定し、同時接続数×3600÷(平均保留時間+α)=減少した呼量として、減少した呼量分だけ余分に信号受信バッファなど内部バッファを多く設計するようにしている。
【0030】
以下、このようなデータ同期方法を図5に従って更に詳しく説明する。
【0031】
まず、図5(a)に示すように、通常運用中の呼処理はACT系呼制御サーバ61で実施し、呼毎に他系62のCKPTへの書き込みを待って、その書き込み応答を返す。異なる呼は、図5(b)に示すように、異なるセクションを使用する。障害により系の切り替えが発生すると、図5(c)に示すように、新ACT系呼制御サーバ63で呼処理を実施する。新ACT系呼制御サーバ63は、基本領域63Bのデータを新SBY系呼制御サーバ64に再同期する。そのため、再同期中は新規呼(図中の丸)を自系63の一時領域63Aに書き込むが、図5(c)(d)の時点では所定の時間が経過していないため書き込み応答を返さない。呼毎に所定の時間が経過すると、図5(e)に示すように、一時領域63Aに退避させたデータの同期を開始し、呼毎に他系64のCKPTへの書き込みを待って、その書き込み応答を返す。具体的には、一時領域63Aに退避させた継続呼(点線)や新規呼(一点鎖線)を新ACT系呼制御サーバ63の基本領域63Bに書き込みながら新SBY系呼制御サーバ64に転送するようになっている。再同期が完了すると、図5(f)に示すように、通常運用中の呼処理に戻る。
【0032】
図5に示すように、通常運用時から、一時領域63Aを経由して(または、一時領域63Aを経由するタイミングであるかどうかを判断しながら)、基本領域63Bを用いて呼処理を行う。これにより、一時領域63Aを使用するルートと基本領域63Bを使用するルートとを分けなくて済むため、処理プログラムを共通化することができる。
【0033】
以上のように、本実施形態における呼制御システム6によれば、系切り替え後、速やかに呼処理を再開(継続)することができるデータ同期方法を提供することができる。すなわち、新ACT系呼制御サーバ63は、一時領域を用いるようにしているので、基本領域へ新たな書き込みを行わずに呼処理を継続しながら新SBY系呼制御サーバ64を速やかに更新することができる。発話から終話まで(inviteからbyeまで)の一連の呼処理では、いくつものSIP信号の送受信がある。系が切り替わっても、この一連の呼処理を継続することができるので、通話中の呼が切れない。発話から終話までの一連の呼処理をなす信号を継続信号といい、updateやre−invite、再送信号も含む。
【0034】
また、本実施形態では、呼処理の再開(継続)による負荷を緩和するように、再同期中における新ACT系呼制御サーバ63の処理量を一時領域を用いて制御するようにしている。具体的には、呼処理制御部631から一時領域63Aへの書き込み要求を受けた場合、その応答を遅延させる。これにより、再同期中の呼量が過剰にならないように調整することができ、再同期中に一時領域63Aへの単位時間あたりの蓄積量を適切に保つことが可能となる。
【0035】
(実施形態2)
ところで、図5(e)に示すように、再同期中に一時領域63Aから基本領域63Bに書き込んでいる間も、一時領域63Aに退避される新規呼は増加する。そのため、新ACT系呼制御サーバ63から新SBY系呼制御サーバ64への転送速度が大きくなり、他の転送処理に影響を与えてしまう恐れがある。本実施形態では、このような不具合を回避するため、以下の手法を採用している。
【0036】
図6は、実施形態2における新ACT系呼制御サーバ63の機能ブロック図である。この新ACT系呼制御サーバ63は、新SBY系呼制御サーバ64への再同期中、一時領域63Aから基本領域63Bへの書き込み量よりも、呼処理制御部631から一時領域63Aへの書き込み量を少なくするようになっている。ここでは、図6(a)に示すように、一時領域63Aから基本領域63Bへの書き込み量が3つであるのに対して、図6(b)に示すように、呼処理制御部631から一時領域63Aへの書き込み量が2つである場合を例示している。
【0037】
図7は、実施形態2における呼制御システム6の動作を示すフローチャートである。
【0038】
まず、障害により系の切り替えが発生すると、基本領域63Bのデータの再同期を開始する点は前記実施形態1と同じである(ステップS21)。このとき、呼処理の再開によって新ACT系呼制御サーバ63は高負荷状態であるため、この負荷を緩和するように再同期中における新ACT系呼制御サーバ63の処理量を制御するようになっている。具体的には、一時領域63Aから基本領域63Bへ3つ書き込んだら、呼処理制御部631から一時領域63Aへ2つ書き込む(ステップS22→S23→S24)。一定時間が経過すると、通常運用中の呼処理に戻る。
【0039】
以上のように、本実施形態における呼制御システム6では、一時領域63Aから基本領域63Bへの書き込み量よりも、呼処理制御部631から一時領域63Aへの書き込み量を少なくするようにしている。その結果、新ACT系呼制御サーバ63から新SBY系呼制御サーバ64への転送速度が減速され、他の転送処理への影響を抑えることができる。これにより、再同期を優先しながら、一時領域63Aから基本領域63Bへの書き込みを通常の呼処理状態に近付けることが可能である。
【0040】
なお、ここでは、再同期中に、新ACT系呼制御サーバ63の一時領域に退避させたデータの同期を新ACT系呼制御サーバ63から新SBY系呼制御サーバ64に対して開始することとしているが、この開始タイミングは再同期中に限定されるものではない。すなわち、再同期完了後から開始することも可能である。
【0041】
なお、以上では好適な実施形態について説明したが、本発明は前記実施形態に限定されず、種々の変形が可能である。例えば、発側と着側が1対1の通信を例示して説明したが、本発明は電話会議サービスのような三者間通話等にも適用することが可能である。あわせて、再同期中に受ける呼を計算することができるので、例えば2割が4者通話だった場合は、呼量の2割を2セクション分として計算することにより、一時領域を適切なサイズに設定することが可能である。
【符号の説明】
【0042】
6…呼制御システム
61…現用系(ACT系)呼制御サーバ
62…予備系(SBY系)呼制御サーバ
63…新現用系(新ACT系)呼制御サーバ
63A…新現用系(新ACT系)呼制御サーバの一時領域
63B…新現用系(新ACT系)呼制御サーバの基本領域
64…新予備系(新SBY系)呼制御サーバ
631…呼処理制御部

【特許請求の範囲】
【請求項1】
通常運用中の呼処理は現用系呼制御サーバで実施し、障害が発生すると現用系呼制御サーバと予備系呼制御サーバとを切り替えて新現用系呼制御サーバで呼処理をする呼制御システムにおける新現用系呼制御サーバ上のデータ同期方法であって、
系切り替え後、新現用系呼制御サーバの基本領域のデータの再同期を新現用系呼制御サーバから新予備系呼制御サーバに対して開始する第1の同期ステップと、
呼処理の継続信号を含む受信信号により生成されたデータを新現用系呼制御サーバの一時領域に退避させる退避ステップと、
新現用系呼制御サーバの一時領域に退避させたデータの同期を新現用系呼制御サーバから新予備系呼制御サーバに対して開始する第2の同期ステップとを備え、
新現用系呼制御サーバの処理量を一時領域を用いて制御することを特徴とするデータ同期方法。
【請求項2】
呼処理を制御する呼処理制御部から前記一時領域への書き込み要求を受けた場合、その応答を遅延させることを特徴とする請求項1記載のデータ同期方法。
【請求項3】
前記応答の遅延時間を(最小の再送間隔−内部信号処理時間)とすることを特徴とする請求項2記載のデータ同期方法。
【請求項4】
前記一時領域から前記基本領域への書き込み量よりも、呼処理を制御する呼処理制御部から前記一時領域への書き込み量を少なくすることを特徴とする請求項1記載のデータ同期方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−46346(P2013−46346A)
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願番号】特願2011−184685(P2011−184685)
【出願日】平成23年8月26日(2011.8.26)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】