(57)【要約】【課題】システム規模及びシステムコストを増大させることなく、無停止メンテナンスを容易かつ確実に行なうことができるようにする。【解決手段】本発明の冗長システムは、仮想アドレスを用いてサービス提供する、運用系サーバ及び待機系サーバ間の系切り替えを行なう冗長システムにおいて、系切り替えの際、運用系サーバから待機系サーバに仮想アドレスの設定変更をした後に、運用系サーバにおいて残留した残留データの掃き出しを行なう残留データ掃き出し処理手段と、残留データの掃き出し処理完了後に、系切り替え処理を行なう系切り替え実行手段とを備えることを特徴とする。【選択図】      図１
2009118063.tif 000002
【特許請求の範囲】
【請求項１】
仮想アドレスを用いてサービス提供する、運用系サーバ及び待機系サーバ間の系切り替えを行なう冗長システムにおいて、
系切り替えの際、上記運用系サーバから上記待機系サーバに上記仮想アドレスの設定変更をした後に、上記運用系サーバにおいて残留した残留データの掃き出しを行なう残留データ掃き出し処理手段と、
上記残留データの掃き出し処理完了後に、系切り替え処理を行なう系切り替え実行手段と
を備えることを特徴とする冗長システム。
【請求項２】
上記残留データ掃き出し手段が、
上記運用系サーバのオペレーションシステムのソケットに滞留する受信信号の掃き出しを行なう滞留信号掃き出し部と、
上記運用系サーバにおいて、イベントキューに滞留しているイベントを掃き出す滞留イベント掃き出し部と、
待機系サーバへの同期転送機能を掃き出す同期転送機能掃き出し部と
を有することを特徴とする請求項１に記載の冗長システム。
【請求項３】
上記残留データ掃き出し処理手段が、外部から系切り替え要求を受信したときに系切り替え処理を開始することを特徴とする請求項１又は２に記載の冗長システム。
【請求項４】
予め設定された時刻に上記残留データ掃き出し処理手段に対して系切り替え要求を与える時刻管理手段をさらに備え、
上記残留データ掃き出し処理手段が、上記時刻管理手段からの系切り替え要求に従って系切り替え処理を開始することを特徴とする請求項１又は２に記載の冗長システム。
【請求項５】
仮想アドレスを用いてサービス提供する、運用系サーバ及び待機系サーバ間の系切り替えを行なう冗長方法において、
コンピュータが、残留データ掃き出し処理手段、系切り替え実行手段を備え、
上記残留データ掃き出し処理手段が、系切り替えの際、上記運用系サーバから上記待機系サーバに上記仮想アドレスの設定変更をした後に、上記運用系サーバにおいて残留した残留データの掃き出しを行なう残留データ掃き出し処理工程と、
系切り替え実行手段が、上記残留データの掃き出し処理完了後に、系切り替え処理を行なう系切り替え実行工程と
を有することを特徴とする冗長方法。
【請求項６】
仮想アドレスを用いてサービス提供する、運用系サーバ及び待機系サーバ間の系切り替えを行なう冗長プログラムにおいて、
コンピュータを、
系切り替えの際、上記運用系サーバから上記待機系サーバに上記仮想アドレスの設定変更をした後に、上記運用系サーバにおいて残留した残留データの掃き出しを行なう残留データ掃き出し処理手段、
上記残留データの掃き出し処理完了後に、系切り替え処理を行なう系切り替え実行手段
として機能させるための冗長プログラム。
【請求項７】
仮想アドレスを用いてサービス提供する、運用系サーバ及び待機系サーバ間の系切り替えを行なう冗長システムを構成するサーバにおいて、
系切り替えの際、上記運用系サーバから上記待機系サーバに上記仮想アドレスの設定変更をした後に、上記運用系サーバにおいて残留した残留データの掃き出しを行なう残留データ掃き出し処理手段と、
上記残留データの掃き出し処理完了後に、系切り替え処理を行なう系切り替え実行手段と
を備えることを特徴とするサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長システム、方法及びプログラム、並びに、サーバに関し、例えば、音声通信システムで利用される呼制御サーバの冗長システム技術に適用し得るものである。
【背景技術】
【０００２】
一般に、ＶｏＩＰ（Voice  Over  IP）の呼制御サーバは収容加入者の発着信制御を行なうものである。そのため、呼制御サーバが停止してしまうと、収容加入者の発着信が全て不可となってしまうので、ＶｏＩＰシステムにおける呼制御サーバは非常に重要な装置であり、呼制御サーバのメンテナンス時はＶｏＩＰシステムを停止させないまま行なうこと（いわゆる無停止メンテナンス）が要求される。
【０００３】
また、サーバシステムには、サーバに障害が発生してもシステムとして運用を継続させることが求められる。例えば、クライアント・サーバシステムにおいてシステムがダウンした際に、待機系のサーバを自動的に運用系サーバとして切り替えるような冗長機能を有するサーバシステムが特許文献１に示されている。
【０００４】
同様に、運用系サーバから待機系サーバに切り替える方法において、サービスの実行に必要なデータを運用系サーバから待機系サーバに転送してデータ同期させる技術が特許文献２に、そして、オブジェクト指向プログラムによって構築されたメモリ領域上のオブジェクトを操作してサービス提供を実現するサーバ内のオブジェクト救済システム方法が特許文献３に示されている。
【０００５】
また、多数のクライアントからの要求を複数のサーバで分担して処理するためにロードバランサ（負荷分散装置）が用いられている。
【０００６】
【特許文献１】特開２００３−２２８５２７号公報
【特許文献２】特開２００６−２８５４４８号公報
【特許文献３】特開２００６−２８５４４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１及び特許文献３に記載のシステムは、運用系サーバに障害が生じた際に、待機系サーバに自動的に切り替えられるようにしたシステムであり、運用系サーバのメンテナンスを任意に行なえるものではない。
【０００８】
任意にサーバを切り替える際には、以下の課題を解決させる必要がある。
【０００９】
（ａ）実行途中のプログラムの処理を完了させてから切り替える。
【００１０】
（ｂ）キューイングされたプログラムのイベントを掃き出してから切り替える。
【００１１】
（ｃ）ＯＳのソケットにプールされている（プログラムで刈り取る前の）ＳＩＰ信号等のイベントを掃き出してから切り替える。
【００１２】
また、上述したようにロードバランサを用いることは、単一サーバヘのアクセス集中を防いでサービスレベルを維持するだけでなく可用性や耐障害性を向上させる上で有効ではあるが、複数のサーバとは別に専用装置としてのロードバランサを設けなければならず、システム全体の規模が大がかりになり、非常にコスト高になるという問題があった。
【００１３】
そのため、システム規模及びシステムコストを増大させることなく、無停止メンテナンスを容易かつ確実に行なうことができる冗長システム、方法及びプログラム、並びに、サーバが求められている。
【課題を解決するための手段】
【００１４】
かかる課題を解決するために、第１の本発明の冗長システムは、仮想アドレスを用いてサービス提供する、運用系サーバ及び待機系サーバ間の系切り替えを行なう冗長システムにおいて、（１）系切り替えの際、運用系サーバから待機系サーバに仮想アドレスの設定変更をした後に、運用系サーバにおいて残留した残留データの掃き出しを行なう残留データ掃き出し処理手段と、（２）残留データの掃き出し処理完了後に、系切り替え処理を行なう系切り替え実行手段とを備えることを特徴とする。
【００１５】
第２の本発明の冗長方法は、仮想アドレスを用いてサービス提供する、運用系サーバ及び待機系サーバ間の系切り替えを行なう冗長方法において、コンピュータが、残留データ掃き出し処理手段、系切り替え実行手段を備え、（１）残留データ掃き出し処理手段が、系切り替えの際、運用系サーバから待機系サーバに仮想アドレスの設定変更をした後に、運用系サーバにおいて残留した残留データの掃き出しを行なう残留データ掃き出し処理工程と、（２）系切り替え実行手段が、残留データの掃き出し処理完了後に、系切り替え処理を行なう系切り替え実行工程とを有することを特徴とする。
【００１６】
第３の本発明の冗長プログラムは、仮想アドレスを用いてサービス提供する、運用系サーバ及び待機系サーバ間の系切り替えを行なう冗長プログラムにおいて、コンピュータを、（１）系切り替えの際、運用系サーバから待機系サーバに仮想アドレスの設定変更をした後に、運用系サーバにおいて残留した残留データの掃き出しを行なう残留データ掃き出し処理手段、（２）残留データの掃き出し処理完了後に、系切り替え処理を行なう系切り替え実行手段として機能させるためのものである。
【００１７】
第４の本発明のサーバは、仮想アドレスを用いてサービス提供する、運用系サーバ及び待機系サーバ間の系切り替えを行なう冗長システムを構成するサーバにおいて、（１）系切り替えの際、運用系サーバから待機系サーバに仮想アドレスの設定変更をした後に、運用系サーバにおいて残留した残留データの掃き出しを行なう残留データ掃き出し処理手段と、（２）残留データの掃き出し処理完了後に、系切り替え処理を行なう系切り替え実行手段とを備えることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、システム規模及びシステムコストを増大させることなく、無停止メンテナンスを容易かつ確実に行なうことができる。
【発明を実施するための最良の形態】
【００１９】
（Ａ）第１の実施形態
以下、本発明の冗長システム、方法及びプログラム、並びに、サーバの第１の実施形態について図面を参照しながら説明する。
【００２０】
第１の実施形態は、例えばＶｏＩＰネットワーク等の音声通信ネットワークにおける呼制御サーバに本発明を適用した実施形態を例示して説明する。
【００２１】
（Ａ−１）第１の実施形態の構成
図２は、第１の実施形態のＶｏＩＰネットワーク３の全体構成を示す全体構成図である。
【００２２】
図２において、ＶｏＩＰネットワーク３は、冗長構成を備えたＶｏＩＰ制御サーバ１Ａ及び１Ｂ、ＶｏＩＰ端末２Ａ及び２Ｂ、を少なくとも有して構成される。
【００２３】
なお、図２に示すＶｏＩＰネットワーク３では、呼制御プロトコルとしてＳＩＰ（Session  Initiation  Protocol）を採用する場合を例示するが、呼制御プロトコルは特に限定されるものではなく広く適用し得る。
【００２４】
ＶｏＩＰ呼制御サーバ１Ａ及び１Ｂはそれぞれ、収容する複数のＶｏＩＰ端末２Ａ及び２Ｂ間の呼を制御するものであり、冗長構成を備えている。なお、図２では、２台のサーバを備える場合を示したが、３台以上のサーバ間で冗長構成をとってもよい。
【００２５】
図３は、第１の実施形態の呼制御サーバ１（１Ａ及び１Ｂ）のハードウェア構成を示すブロック図である。図３に示すように、第１の実施形態の呼制御サーバ１は、ＣＰＵ１１、メモリ１２、外部記憶装置１３、通信部１４、を少なくとも有している。
【００２６】
第１の実施形態の呼制御サーバ１は、例えば、ＣＰＵ１１がメモリ１２に格納されているデータを用いて処理プログラムを実行することにより、処理プログラムに係る機能を実現することができる。メモリ１２及び外部記憶装置１３は、例えば、ＲＯＭ、ＲＡＭ、フラッシュメモリ等が該当し、処理プログラム、固定データ等を記憶するものである。通信部１４は、所定の通信方式に従って、サーバが収容する複数のＶｏＩＰ端末２Ａ及び２Ｂとの間で呼処理に必要なメッセージを授受するものである。また、通信部１４は、運用系と待機系のサーバ間の情報を送受したり、呼確立のために必要なデータベースサーバ等と接続したりするものである。
【００２７】
図１は、第１の実施形態の、運用系呼制御サーバ（以下、運用系サーバという）１Ａ及び待機系呼制御サーバ（以下、待機系サーバという）１Ｂの機能構成を示す機能ブロック図である。
【００２８】
図１において、第１の実施形態の運用系サーバ１Ａ及び待機系サーバ１Ｂは、メンテナンスのためのサーバ切り替え処理を行なうために、少なくとも、データ二重化機能部３０Ａ及び３０Ｂ、系構成管理機能部５０Ａ及び５０Ｂ、コマンド制御機能部２０Ａ及び２０Ｂ、定刻起動機能部４０Ａ及び４０Ｂ、呼制御機能部１０Ａ及び１０Ｂ、を有して構成される。
【００２９】
これらデータ二重化機能部３０Ａ及び３０Ｂ、系構成管理機能部５０Ａ及び５０Ｂ、コマンド制御機能部２０Ａ及び２０Ｂ、定刻起動機能部４０Ａ及び４０Ｂ、および、呼制御機能部１０Ａ及び１０Ｂは、オペレーションシステム（ＯＳ：例えば、Ｌｉｎｕｘ（登録商標）等）の上位に位置し、機能を提供するものである。
【００３０】
データ二重化機能部３０Ａ及び３０Ｂは、運用系サーバ１Ａから待機系サーバ１Ｂに切り替えるとき、運用系サーバ１Ａが提供中であったサービスを、待機系サーバ１Ｂに引き継ぐため、サービス提供に必要なデータを同期化（データを同値にすること）するものである。データ二重化機能部によるデータ二重化方法は、種々の方法を適用することができ、例えば特許文献２に記載されている方式で実現される。
【００３１】
系構成管理機能部５０Ａ及び５０Ｂは、運用系サーバ１Ａと待機系サーバ１Ｂとの間の二重化構成を管理するものであり、運用系サーバ１Ａ及び待機系サーバ１Ｂの決定や、運用系サーバ１Ａの障害時の系切り替えや、メンテナンス等による運用系サーバ１Ａの切り替えを行なうものである。また、系構成管理機能部５０Ａ及び５０Ｂは、系切り替え時に、通信部の先に接続する中継装置（例えばルータ等）のＡＲＰテーブル（ＩＰアドレス／ＭＡＣアドレス変換テーブル）の書き換え遅延を回避するため、インタフェースのＩＰアドレス（ここでは物理ＩＰアドレスとする）及びＭＡＣアドレス（ここでは物理ＭＡＣアドレスとする）とは別に、仮想的なＩＰアドレス（ここでは論理ＩＰアドレスとする）及び仮想的なＭＡＣアドレス（ここでは論理ＭＡＣアドレスとする）を設定して、論理ＩＰアドレスおよび論理ＭＡＣアドレスを用いて通信を実現するものである。系切り替え時に、待機系サーバ１Ｂの系構成管理機能部５０Ｂは、論理ＩＰアドレス及び論理ＭＡＣアドレスを設定することで迅速かつ確実な通信を実現する。
【００３２】
コマンド制御機能部２０Ａ及び２０Ｂは、保守者から投入されたコマンドを受け付けて、実際にコマンド処理を行なうプロセスとの橋渡しを行なうものである。
【００３３】
定刻起動機能部４０Ａ及び４０Ｂは、例えば、毎時、毎日、毎週、毎月などの指定した定刻に、指定したプログラムを起動する機能を提供するものである。この定刻起動機能部４０Ａ及び４０Ｂを用いて定期的に運用系サーバ１Ａの切り替えを行ない、待機系サーバ１Ｂが正常に動作することを確認する。
【００３４】
（Ａ−２）第１の実施形態の動作
次に、第１の実施形態の冗長システムにおいて、系切り替え処理について図面を参照して説明する。
【００３５】
図４は、第１の実施形態の保守者からのコマンドに基づいて系切り替えをする処理を示す動作フローチャートである。
【００３６】
図４において、保守者操作によりコマンドが運用系サーバ１Ａに与えられると（ステップＳ１０１、Ｓ１０２）、運用系サーバ１Ａにおいてコマンドが解析され、系切り替え要求であると判断されると、この系切り替え要求のコマンドが系構成管理機能部５０Ａに通知される。
【００３７】
そうすると、系構成管理機能部５０Ａは、運用系サーバ１Ａの論理ＩＰアドレス及び論理ＭＡＣアドレスを解放し（ステップＳ１０３）、待機系サーバ１Ｂに対して論理アドレスの設定要求を行なう（ステップＳ１０４）。これを受けて、待機系サーバ１Ｂの系構成管理機能部５０Ｂは、論理ＩＰアドレス及び論理ＭＡＣアドレスを設定する（ステップＳ１０５）。
【００３８】
ここで、ＶｏＩＰ端末や対向サーバ等は、論理ＩＰアドレスで呼制御サーバを認識しているため、この論理ＩＰアドレスの入れ替えを行なうことにより、通信を継続することができる。
【００３９】
例えば、図５は、論理ＩＰアドレス及び論理ＭＡＣアドレスの入れ替え処理を説明する説明図である。
【００４０】
図５において、当初は、サーバ１Ａが運用系であり、サーバ１Ｂが待機系であるとする。また、サーバ１Ａの物理ＩＰアドレスが「Ａ」、物理ＭＡＣアドレスが「α」であるとし、サーバ１Ｂの物理ＩＰアドレスが「Ｂ」、物理ＭＡＣアドレスが「β」であるとする。またこの場合、運用系側の論理ＩＰアドレスは「Ｃ」、論理ＭＡＣアドレスは「γ」であるとする。
【００４１】
そして、系切り替え要求を受け、系切り替え処理が行なわれると、系切り替え後に運用系となるサーバ１Ｂにおいて、論理ＩＰアドレス及び論理ＭＡＣアドレスが設定されることとなるので、ＶｏＩＰ端末等との通信を中断することなく通信を継続することができる。
【００４２】
このようにして、待機系サーバ１Ｂにおいて論理ＩＰアドレス及び論理ＭＡＣアドレスの設定がなされると、通信相手からの信号は待機系サーバ１Ｂに与えられることとなるので、運用系サーバ１Ａに信号が与えられることはなくなる。
【００４３】
続いて、運用系サーバ１Ａでは、待機系サーバ１Ｂから論理アドレス設定完了通知（Ｓ１０４‘）を受信すると、ＳＩＰ信号などＯＳにプールされているイベント信号の掃き出し処理を行ない（ステップＳ１０６）、ＯＳのソケットレベルで滞留している信号がなくなるまで全て刈り取り（ステップＳ１０７）、サーバ切り替えにより信号の紛失が発生しないように対応する。
【００４４】
次に、運用系サーバ１Ａでは、キューイングされているイベントの掃き出し処理を行ない（ステップＳ１０７）、アプリケーション側にて保持しているキュー（イベント）を全て刈り取り（ステップＳ１０９）、滞留しているプログラム処理がなくなるまで実行させる。これにより、キュー（イベント）の紛失が発生しないように対応する。
【００４５】
全ての処理が実行された後で、待機系サーバ１Ｂとの同期転送の掃き出し処理を行ない（ステップＳ１１０、Ｓ１１１）、運用系サーバ１Ａと全く同じデータの状態とする。これにより、待機系サーバ１Ｂにおいても、運用系サーバ１Ａと同じデータを保持していることとなる。
【００４６】
ここまで実施した後で、運用系サーバ１Ａは、待機系サーバ１Ｂに系切り替え指示（ＳＢＹ⇒ＡＣＴ指示）を行ない（ステップＳ１１２）、待機系であったサーバ１Ｂを運用系に変更する。
【００４７】
ここで、新運用系サーバ１Ｂでは、同期させたデータを元に呼制御処理に必要なオブジェクトを生成して、サービス継続が可能なプログラム状態に遷移させる（ステップＳ１１５）。また、新運用系サーバ１Ｂでは、呼処理動作に必要なデータベース等とのコネクションを生成する（ステップＳ１１６）。
【００４８】
一方、旧運用系サーバ１Ａでは、自サーバのクラスタ状態をＳＢＹ状態とし（ステップＳ１１３）、アプリケーションの各種呼制御処理（例えば、ＯＳのソケットからの信号の刈り取り処理や、データベースサーバ等とのコネクション確立処理など）をサービス停止状態に遷移させる。その後、同期データを受信可能状態に設定して、新運用系サーバ１Ｂとデータ同期状態とする（ステップＳ１１４）。
【００４９】
新運用系サーバ１Ｂでは、サービスに必要な初期化処理が完了したら、同期転送処理を行なう（Ｓ１１７）とともに、ＯＳのソケットからの信号刈り取り処理を開始させ、呼処理サービスを開始する（ステップＳ１１８）。その後、新運用系サーバ１Ｂは系切り替え完了の通知を保守者に行なう（ステップＳ１１９）。
【００５０】
なお、図４では、保守者からのコマンドにより系切り替え処理を行なう場合を例示して説明したが、定刻起動機能部４０Ａからの起動指示に基づいて行なう場合も同様に適用できる。
【００５１】
つまり、定刻起動機能部４０Ａによる処理は、予め指定された時刻になると、系切り替えプログラムが起動する。そして、起動された系切り替えプログラムは、系構成管理機能部３０Ａに対して系切り替え処理を通知する。以下の処理は、コマンドによる系切り替え処理と同様である。
【００５２】
（Ａ−３）第１の実施形態の効果
以上のように、第１の実施形態によれば、論理アドレスの変更後、新運用系サーバによる信号制御処理前に、系切り替え前の運用系サーバにおいて、受信信号の掃き出し処理、キューイングイベントの掃き出し処理及び同期プログラムの掃き出し処理を行なうことで、受信した信号やイベントを紛失することなく、系切り替え処理を実施することができる。
【００５３】
（Ｂ）他の実施形態
運用系サーバをメンテナンス等により停止させる場合に、ＶｏＩＰサービスを中断させないで待機系のサーバに切り替えることが可能である（無中断メンテナンス）。
【００５４】
また、系切り替え時にＶｏＩＰサービスを中断させないため、定期的に運用系サーバと待機系サーバを切り替えて潜在的な故障が発生していないことを確認することが可能である（無中断定期切り替え）。
【図面の簡単な説明】
【００５５】
【図１】第１の実施形態の運用系サーバと待機系サーバの内部機能を示す機能ブロック図である。
【図２】第１の実施形態のＶｏＩＰネットワークの全体構成を示す全体構成図である。
【図３】第１の実施形態の呼制御サーバのハードウェア構成を示す構成図である。
【図４】第１の実施形態の系切り替え処理を示すフローチャートである。
【図５】第１の実施形態の系切り替えに係る論理アドレスの設定変更を説明する説明図である。
【符号の説明】
【００５６】
１Ａ…呼制御サーバ（運用系）、１Ｂ…呼制御サーバ（待機系）、１０Ａ及び１０Ｂ…呼制御機能部、２０Ａ及び２０Ｂ…コマンド制御機能部、３０Ａ及び３０Ｂ…データ二重化機能部、４０Ａ及び４０Ｂ…定刻起動機能部、５０Ａ及び５０Ｂ…系構成管理機能部、６０Ａ及び６０Ｂ…オペレーションシステム。
【図１】
2009118063.tif 000003
【図２】
2009118063.tif 000004
【図３】
2009118063.tif 000005
【図４】
2009118063.tif 000006
【図５】
2009118063.tif 000007