説明

復旧システム、復旧方法、冗長制御装置及び冗長制御プログラム

【課題】予備拠点及び予備サーバを用意するためのコストを軽減し、サービス中断時間を短縮することができるようにする。
【解決手段】本発明の復旧システムは、各拠点に、サービス提供を実行する第1サーバと待機する第2サーバと上記サービス提供に必要なサービスデータを保存するデータ保存手段とを有して、サービスの提供を行う1又は複数のノードを備え、各ノードは、他の拠点に設置された他ノードとの間で代替関係が設定されており、データ保存手段は、自ノードが提供するサービスのサービスデータと、他の拠点の代替関係にある他ノードが提供するサービスのサービスデータとを保存するものであり、第2サーバが、第1サーバの障害又は他拠点の代替関係にある他ノードの障害発生時に、データ保存手段から必要なサービスデータを取得して、障害の生じたサービスの提供を実行することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、復旧システム、復旧方法、冗長制御装置及び冗長制御プログラムに関し、例えば、火災や地震等のように大規模な災害によって、ある拠点に設置したサーバ全体が使用不可能となった場合に、当該サーバが提供していたサービスを迅速に復旧させるシステムや方法等に適用し得るものである。
【背景技術】
【0002】
例えば、コールサーバ等のように音声通信を実現するサーバは高可用性が求められており、サーバ等に障害が発生した場合には、迅速かつ確実にサービスを復旧することが求められている。
【0003】
従来、上記のような高可能性が求められるサーバの復旧システムとしては、主として、次に示すような第1の方法〜第3の方法を用いて実現している。
【0004】
(第1の方法)
第1の方法は、例えば、2台のサーバが論理的に1台のサーバのように見せかける方法である。第1の方法について図2を用いて説明する。
【0005】
第1の方法では、サービスを提供するために参照する各種データは、2台のサーバ510及び520が共有して使用するストレージ530に格納されている。
【0006】
2台のサーバをそれぞれ0系サーバ510、1系サーバ520とし、2台のサーバと共有ストレージ530とを有してサービスを提供する単位を「ノード500」と呼ぶことにする。また、ノード500がサービスを提供する際に参照するデータを総称して、そのノード500の「サービスデータ」を呼ぶことにする。
【0007】
IPアドレスは、割り当て単位、及び、使用目的に応じて、物理IPアドレスと論理IPアドレスを使用する。物理IPアドレスは、サーバ単位に固定的に割り当て、サーバの稼働状態を監視する目的等で使用する。論理IPアドレスは、ノード単位に付与し、そのノードがサービスを提供するために使用する。
【0008】
2台のサーバの内、どちらか一方のサーバの稼働状態だけが「運転中」に設定され、もう一方のサーバの稼働状態は「待機中」に設定される。このとき、「運転中」のサーバに対して、ノードに割り当てられた論理IPアドレスを設定し、「運転中」のサーバがストレージ内のサービスデータを参照しながらサービスを提供する。
【0009】
例えば、図2(A)では、0系サーバ510が「運転中」となり、1系サーバが「待機中」となっている。その結果、0系サーバ510に論理IPアドレス「172.16.1.1」が設定され、0系サーバ510がストレージ530内のサービスデータを参照してサービスを提供している。
【0010】
そして、「運転中」のサーバが故障により使用不能となった場合には、「稼働中」のサーバの稼働状態が「運転中」に変わり、サービスの提供を引き継ぐ。その後、故障したサーバが修理されて復旧した場合、復旧したサーバの稼働状態は「待機中」となる。
【0011】
例えば、図2(A)において、「運転中」の0系サーバ510が故障した場合には、1系サーバ520の稼働状態が「待機中」から「運転中」に変更され、図2(B)に示す状態となる。
【0012】
図2(B)では、0系サーバ510が「故障中」のため、1系サーバ520が「運転中」となっている。その結果、1系サーバ520に論理IPアドレス「172.16.1.1」が設定され、1系サーバ520がストレージ530内のサービスデータを参照してサービスを提供することになる。また図2(B)において、「故障中」の0系サーバ510が復旧した場合には、0系サーバ520の稼働状態が「待機中」に設定され、図2(C)に示す状態となる。
【0013】
上記のように、第1の方法では、0系サーバと1系サーバの間でサービスを提供するサーバが切り替わってもサービスを提供するIPアドレスは同一の論理IPアドレスであるため、このノードと通信する他のノードから見た場合、サービスの中断時間はサーバの切り替え時間だけの短時間で済む。
【0014】
また、第1の方法では、サービスを提供するために使用する論理的IPアドレスを2台のサーバ間で動的に設定するため、2台のサーバは、同一拠点の同一サブネット内に設置する必要がある。
【0015】
このため、第1の方法の場合、故障のため片方のサーバが使用不能となる状況においては、短時間でサービスを回復することができるが、被災拠点内の全サーバが使用不能となるような状況においては、0系サーバと1系サーバの両方が同時に使用不能となるため、サービスを回復することができない。
【0016】
(第2の方法)
第2の方法は、拠点内の運用サーバの他に、予備サーバを設置しておく方法である。このとき、予備サーバのストレージには、同一拠点内の全ての運用サーバから、定期的にサービスデータをコピーしておく。第2の方法について図3を用いて説明する。
【0017】
通常は、運用サーバに対して、ノードに割り当てられた論理IPアドレスを設定し、運用サーバがストレージ内のサービスデータを参照しながらサービスを提供する。
【0018】
図3(A)では、運用サーバ540に論理IPアドレス「172.16.1.1」が設定され、運用サーバ540がストレージ550内のサービスデータを参照してサービスを提供する。
【0019】
そして、運用サーバが故障により使用不能となった場合には、予備サーバがサービスの提供を引き継ぐ。その後、故障した運用サーバが修理されて復旧した場合には、予備サーバから運用サーバにサービスの提供を引き継ぐ。
【0020】
例えば、図3(A)において、運用サーバ540が故障した場合には、図3(B)に示す状態となる。図3(B)では、運用サーバ540が「故障中」のため、予備サーバ560に論理IPアドレス「172.16.1.1」が設定され、予備サーバ560がストレージ570内に持っている故障した運用サーバ540のサービスデータを参照してサービスを提供する。
【0021】
その後、図3(B)において、故障した運用サーバ540が復旧した場合には、再び、図3(A)に示す状態に戻り、運用サーバ540がサービスを提供する。
【0022】
第2の方法の場合、運用サーバと予備サーバの間でサービスを提供するサーバが切り替わってもサービスを提供するIPアドレスは同一の論理IPアドレスであるため、このノードと通信する他のノードから見た場合、サービスの中断時間はサーバの切り替え時間だけの短時間となる。
【0023】
また、第2の方法では、サービスを提供するために使用する論理的IPアドレスを運用サーバと予備サーバの間で動的に設定するため、運用サーバと予備サーバは、同一拠点の同一サブネット内に設置する必要がある。
【0024】
このため、第2の方法の場合、故障のため運用サーバが使用不能となる状況においては、短時間でサービスを回復することができるが、被災拠点内の全サーバが使用不能となるような状況においては、運用サーバと予備サ−バの両方が同時に使用不能となるため、サービスを回復することができない。
【0025】
(第3の方法)
第3の方法は、被災拠点内の全サーバが使用不能となるような状況においてもサービスの提供を回復可能とするために、運用拠点とは異なる予備拠点に予備のノードを設置しておく方式である。このとき、予備拠点には、全ての拠点の全てのノードから、定期的にサービスデータをバックアップしておく。第3の方法について図4及び図5を用いて説明する。
【0026】
図4では、関東拠点と関西拠点が運用拠点で、東海拠点が予備拠点となっている。被災拠点内の全ノードが使用不能とった場合には、被災拠点のノード500に代わって、予備拠点のノード580がサービスの提供を引き継ぐ。
【0027】
図4において、関西拠点が被災して、関西拠点の運用サーバ510が使用不能となった場合には、図5に示すような状態となる。図5では、予備拠点の東海拠点にバックアップされた関西拠点のノード500のサービスデータを、東海拠点の予備ノード580にコピーし、東海拠点の予備ノード580が関西拠点の運用ノード500のサービスを引き継いでいる。
【0028】
ただし、予備ノード580は運用ノード500とは別な拠点のサブネット内に設置されているので、運用ノードと予備ノードでは異なる論理IPアドレスを使用することになる。このため、サービスを再開する前に、被災拠点以外の全ノードと予備拠点の全ノードにおいて、通信相手のIPアドレスに関する情報を変更する必要がある。
【0029】
図5では、サービスデータとして、電話番号から接続先ノードの論理IPアドレスを求めるためのルーチング情報を持っている場合を示している。
【0030】
例えば、図4のルーチング情報では電話番号「06」に対して関西1ノードの論理IPアドレス「172.17.1.1」が設定されており、電話番号「075」に対して関西2ノードの論理IPアドレス「172.17.2.1」が設定されている。
【0031】
被災した関西拠点の代わりに東海拠点がサービスを引き継ぐためには、図5のようにルーチング情報を書き換え、電話番号「06」に対して東海1ノードの論理IPアドレス「172.18.1.1」を設定し、電話番号「075」に対して東海2ノードの論理IPアドレス「172.18.1.2」を設定しなければならない。
【0032】
第3の方法では、被災拠点内の全サーバが使用不能となるような状況において、サービス提供を回復することが可能となっているが、バックアップからのサービスデータのコピー作業と、その後のサービスデータの変更作業が必要となるため、被災拠点のサービス提供が回復するまでには時間がかかる。
【先行技術文献】
【特許文献】
【0033】
【特許文献1】特開2007−6035号公報
【発明の概要】
【発明が解決しようとする課題】
【0034】
例えば、IP電話の接続を制御するサーバの場合、0系サーバと1系サーバとの間で「運転中」のサーバが切り替わっても、接続済みセッションを切断することなく、切り替わった系でセッションを継続できるようにする目的で、第1の方法を用いる場合がある。
【0035】
「運転中」状態のサーバが切り替わっても、接続済みセッションを0系サーバと1系サーバの間で引き継げるようにするため、セッションの情報を「運転中」の系から「待機中」の系への転送をする。
【0036】
系間でのセッション情報の転送は、セッション毎、及び、セッションの状態変更毎に必要となるため、セッション情報の転送に必要な通信量は大きい。このため、セッション情報の転送は、ストレージ経由ではなく、系間を接続する専用のLAN(ローカルエリアネットワーク)を用意して、直接系間で通信を実施する。
【0037】
このように、多量のセッション情報の転送を実施するため、IP電話の接続を制御するサーバでは、「運転中」状態のサーバと「待機中」状態のサーバが対になっている第1の方法の構成が望ましい。
【0038】
ただし、第1の方法だけでは、被災拠点の全てのノードが使用不能となるような状況ではサービスを継続できなくなるため、図4及び図5に示すように、第1の方法と第3の方法を併用する場合がある。
【0039】
しかしながら、第1の方法と第3の方法とを組み合わせた方法には、次のような問題が生じ得る。
【0040】
第1に、第1の方法のためのサーバ2重化に加えて、第3の方法のための予備拠点および予備サーバを用意する必要があり、コストが大きくなるという問題が生じ得る。
【0041】
第2に、拠点災害時の復旧には、第3の方法を用いるため、バックアップからのサービスデータのコピー作業と、その後のサービスデータの変更作業のため、サービス中断時間が長くなるという問題が生じ得る。
【0042】
そこで、本発明は、上記課題に鑑み、予備拠点及び予備サーバを用意するためのコストを軽減し、サービス中断時間を短縮することができる復旧システム、復旧方法、冗長制御装置及び冗長制御プログラムを提供する。
【課題を解決するための手段】
【0043】
かかる課題を解決するために、第1の本発明の復旧システムは、各拠点に、サービス提供を実行する第1サーバと待機する第2サーバと上記サービス提供に必要なサービスデータを保存するデータ保存手段とを有して、サービスの提供を行う1又は複数のノードを備え、(1)各ノードは、他の拠点に設置された他ノードとの間で代替関係が設定されており、(2)データ保存手段は、自ノードが提供するサービスのサービスデータと、他の拠点の代替関係にある他ノードが提供するサービスのサービスデータとを保存するものであり、(3)第2サーバが、第1サーバの障害又は他拠点の代替関係にある他ノードの障害発生時に、データ保存手段から必要なサービスデータを取得して、障害の生じたサービスの提供を実行することを特徴とする。
【0044】
第2の本発明の復旧方法は、各拠点に、サービス提供を実行する第1サーバと待機する第2サーバと上記サービス提供に必要なサービスデータを保存するデータ保存手段とを有して、サービスの提供を行う1又は複数のノードを備え、(1)各ノードは、他の拠点に設置された他ノードとの間で代替関係を設定し、(2)データ保存手段は、自ノードが提供するサービスのサービスデータと、他の拠点の代替関係にある他ノードが提供するサービスのサービスデータとを保存し、(3)第2サーバが、第1サーバの障害又は他拠点の代替関係にある他ノードの障害発生時に、データ保存手段から必要なサービスデータを取得して、障害の生じたサービスの提供を実行することを特徴とする。
【0045】
第3の本発明の冗長制御装置は、所定のサービスを提供する同一ノードにおける他のサーバ、又は、予め設定された他の拠点の代替関係が設定された他のサーバとの間で冗長構成をとるサーバの冗長制御装置であって、(1)自ノードが提供するサービスのサービスデータと、他の拠点の代替関係にある他ノードが提供するサービスのサービスデータとを保存するデータ保存手段と、(2)自ノードが通常時にサービスを提供する通常モード時の論理ノード情報と、他拠点の代替関係にあるノードのサービスを提供する代替モード時の論理ノード情報とをノード毎に予め設定したサーバ情報を格納するサーバ情報格納手段と、(3)自身の動作状態を認識する動作状態認識手段と、(4)動作状態認識手段により認識された自身の動作状態に応じて、サーバ情報から論理ノード情報を検索し、検索した論理ノード情報に対応するサービスデータをデータ保存手段から取得して冗長制御を行う冗長制御手段とを備えることを特徴とする。
【0046】
第4の本発明の冗長制御プログラムは、所定のサービスを提供する同一ノードにおける他のサーバ、又は、予め設定された他の拠点の代替関係が設定された他のサーバとの間で冗長構成をとるサーバの冗長制御プログラムであって、自ノードが提供するサービスのサービスデータと、他の拠点の代替関係にある他ノードが提供するサービスのサービスデータとを保存するデータ保存手段と、自ノードが通常時にサービスを提供する通常モード時の論理ノード情報と、他拠点の代替関係にあるノードのサービスを提供する代替モード時の論理ノード情報とをノード毎に予め設定したサーバ情報を格納するサーバ情報格納手段とを備える冗長制御装置を、(1)自身の動作状態を認識する動作状態認識手段、(2)動作状態認識手段により認識された自身の動作状態に応じて、サーバ情報から論理ノード情報を検索し、検索した論理ノード情報に対応するサービスデータをデータ保存手段から取得して冗長制御を行う冗長制御手段として機能させることを特徴とする。
【発明の効果】
【0047】
本発明によれば、予備拠点及び予備サーバを用意するためのコストを軽減し、サービス中断時間を短縮することができる。
【図面の簡単な説明】
【0048】
【図1】第1の実施形態の復旧システムの構成を示す構成図である。
【図2】従来の第1の復旧方法を説明する説明図である。
【図3】従来の第2の復旧方法を説明する説明図である。
【図4】従来の第3の復旧方法を説明する説明図である(その1)。
【図5】従来の第3の復旧方法を説明する説明図である(その2)。
【図6】第1の実施形態のサーバの内部構成を示す内部構成図である。
【図7】第1の実施形態のサーバの冗長制御部の機能構成を示すブロック図である。
【図8】第1の実施形態のサーバ情報の構成を説明する説明図である。
【図9】第1の実施形態のサービスデータの構成を説明する説明図である。
【図10】第1の実施形態のサーバにおける冗長制御処理を示すフローチャートである。
【図11】第1の実施形態において正常時の動作の様子を示す説明図である。
【図12】第1の実施形態において0系サーバが故障した場合の様子を示す説明図である。
【図13】第1の実施形態において他の拠点の代替関係にあるノードが故障した場合の様子を示す説明図である。
【図14】第1の実施形態において接続先決定処理を示すフローチャートである。
【図15】第1の実施形態の通常モードのときの接続先決定処理の様子を示す説明図である(その1)。
【図16】第1の実施形態の通常モードのときの接続先決定処理の様子を示す説明図である(その2)。
【図17】第1の実施形態の代替モードのときの接続先決定処理の様子を示す説明図である(その1)。
【図18】第1の実施形態の代替モードのときの接続先決定処理の様子を示す説明図である(その2)。
【図19】第2の実施形態の復旧システムの構成を示す構成図である。
【図20】第2の実施形態の第1の冗長制御処理におけるサーバの状態を説明する説明図である。
【図21】第2の実施形態の第1の冗長制御処理を行う予備サーバの冗長制御部の機能構成を示すブロック図である。
【図22】第2の実施形態の第1の冗長制御処理を示すフローチャートである。
【図23】第2の実施形態の論理IPアドレス取得処理を示すフローチャートである。
【図24】第2の実施形態の第1の冗長制御処理におけるサーバの状態を説明する説明図である。
【図25】第2の実施形態の第2の冗長制御処理におけるサーバの状態を説明する説明図である。
【図26】第2の実施形態の第2の冗長制御処理を行う予備サーバの冗長制御部の機能構成を示すブロック図である。
【図27】第2の実施形態の第2の冗長制御処理を示すフローチャートである。
【図28】第2の実施形態の第2の冗長制御処理におけるサーバの状態を説明する説明図である(その1)。
【図29】第2の実施形態の第2の冗長制御処理におけるサーバの状態を説明する説明図である(その2)。
【図30】第2の実施形態の第3の冗長制御処理におけるサーバの状態を説明する説明図である。
【図31】第2の実施形態の第3の冗長制御処理を行う予備サーバの冗長制御部の機能構成を示すブロック図である。
【図32】第2の実施形態の第3の冗長制御処理を示すフローチャートである。
【図33】第2の実施形態の第3の冗長制御処理におけるサーバの状態を説明する説明図である(その1)。
【図34】第2の実施形態の第3の冗長制御処理におけるサーバの状態を説明する説明図である(その2)。
【発明を実施するための形態】
【0049】
(A)第1の実施形態
以下では、本発明の復旧システム、復旧方法、冗長制御装置及び冗長制御プログラムの第1の実施形態を図面を参照しながら説明する。
【0050】
第1の実施形態は、例えば、IPネットワーク上で音声通信を実現するサーバ(例えばコールサーバ等)を各拠点に設置してIP電話サービスを提供するシステムの復旧システムに本発明を適用した場合の実施形態を例示して説明する。
【0051】
(A−1)第1の実施形態の構成
図1は、第1の実施形態に係るIP電話システムの復旧システムの構成を示す構成図である。図1に例示するように、第1の実施形態の復旧システム10Aは、IP電話サービスを提供する運用拠点として、例えば2箇所の関東拠点と関西拠点を備え、関東拠点と関西拠点との間でWAN(ワイドエリアネットワーク)を形成するネットワークである。
【0052】
関東拠点及び関西拠点ではそれぞれ、関東拠点LAN及び関西拠点LANが敷設されており、この関東拠点LAN及び関西拠点LANにはそれぞれ、3台のノードEN1〜EN3及びノードWN1〜WN3が接続されている。ここで、関東拠点LANと関西拠点LANは、それぞれ異なるサブネットである。
【0053】
ノードEN1〜EN3及びノードWN1〜WN3は、各拠点でのIP電話を制御するものであり、それぞれサーバを識別するための論理的なノード名が付与されている。関東拠点に設置のノードEN1〜EN3のノード名はそれぞれ「関東1」、「関東2」、「関東3」とし、関西拠点に設置のノードWN1〜WN3のノード名はそれぞれ「関西1」、「関西2」、「関西3」とする。
【0054】
ノードEN1〜EN3及びノードWN1〜WN3は、0系サーバ1及び1系サーバ2の2台のサーバと、ストレージ3とを少なくとも有して、2重化構成(冗長構成)によりサーバの故障に備えた高可用性を実現している。
【0055】
また、ノードEN1〜EN3及びノードWN1〜WN3は、異なる拠点のノードとの間で1対1の対応付けがなされている。この対応付けの関係により、拠点被災時に互いにサービス提供を代替して行うことができる。
【0056】
ここでは、「関東1」と「関西1」、「関東2」と「関西2」、「関東3」と「関西3」のノードが対応付けられて代替関係にある。例えば、関西拠点が被災して関西拠点の全てのノードWN1〜WN3が故障した場合、「関東1」ノードEN1が「関西1」ノードWN1のサービス提供を代替し、「関東2」ノードEN2が「関西2」ノードWN2のサービス提供を代替し、「関東3」ノードEN3が「関西3」ノードWN3のサービス提供を代替する。
【0057】
図6は、0系サーバ1及び1系サーバ2の構成を示す構成図である。0系サーバ1及び1系サーバ2は同じ構成を備えており、自身が動作する状態に応じて実行する動作モードが異なる。なお、図6では、0系サーバ1及び1系サーバ2をまとめてサーバ100と示す。
【0058】
図6において、サーバ100は、アプリケーション101、冗長制御部102、OS103、ハードディスク104を少なくとも有する。
【0059】
アプリケーション101は、自サーバが提供するサービスに関するアプリケーション(例えば、IP電話等)である。OS103は、例えばLinux(登録商標)等の一般的なOSを適用することができる。
【0060】
冗長制御部102は、OS103上で動作するものであり、自ノードにおける他のサーバや、他の拠点の代替関係にある他ノードの障害発生時に、ストレージ3からサービスの提供に必要なサービスデータを取得して、障害の生じたサービスの提供を実行する冗長制御を行うものである。
【0061】
図7は、冗長制御部102の機能構成を示すブロック図である。図7において、冗長制御部102は、動作モード認識部11、通常モード(運転中)制御部12、通常モード(待機中)制御部13、代替モード制御部14、接続先決定部15を少なくとも有する。
【0062】
動作モード認識部11が、自身の動作モードを認識するものである。動作モード認識部11は、自サーバの動作モードに応じて、通常モード(運転中)制御部12、通常モード(待機中)制御部13、代替モード制御部14による制御を実行させる。なお、動作モード認識部11の認識する動作モードとしては、通常モード(運転中)、通常モード(待機中)、代替モード、故障中などを認識する。
【0063】
例えば、自サーバが1系サーバの場合、動作モード認識部11は自サーバの通常時を通常モード(運転中)と認識する。しかし、既存の故障検出方法等により自サーバの故障が検出された場合、動作モード認識部11は故障中と認識する。
【0064】
また例えば、自サーバが0系サーバの場合、動作モード認識部11は自サーバの通常時を通常モード(待機中)と認識する。しかし、既存の故障検出方法(例えばping等を利用した生存確認方法を用いた故障検出方法)等により、自ノードの1系サーバ2の故障を検出した場合、動作モード認識部11は自サーバを通常モード(運転中)と認識する。さらに、例えば既存の故障検出方法(例えばping等を利用した生存確認方法を用いた故障検出方法)等により代替関係にある他拠点のノードが故障した場合、動作モード認識部11は自サーバを代替モードと認識する。
【0065】
通常モード(運転中)制御部12は、動作モードが通常モード(運転中)の場合に、自サーバの動作を制御するものである。通常モード(運転中)制御部12の機能構成としては、サーバ情報検索部121、論理IPアドレス設定部122、サービスデータ取得部123を少なくとも有する。
【0066】
サーバ情報検索部121は、自サーバの物理IPアドレスをキーとして、ハードディスク104に保持されるサーバ情報から、自サーバの動作モードに応じた論理ノード情報(論理ノード名及び論理IPアドレス)を検索して取得するものである。
【0067】
ここで、論理ノード情報とは、サービス提供を行う論理ノードに関する情報であり、特に論理ノード名及び論理IPアドレスをいう。
【0068】
論理IPアドレス設定部122は、サーバ情報検索部121により検索された通常モードの論理IPアドレスを自サーバに設定するものである。これにより、論理IPアドレスを用いてサービスの提供を実行することができる。
【0069】
サービスデータ取得部123は、サーバ情報検索部121により検索された通常モードの論理ノード名に対応するサービスデータを、ストレージ3から取得するものである。これにより、当該論理ノード名のサービスデータを取得することができ、このサービスデータを用いて引き続きサービス提供を継続することができる。
【0070】
通常モード(待機中)制御部13は、動作モードが通常モード(待機中)の場合に、自サーバの動作を待機状態に制御する。
【0071】
代替モード制御部14は、動作モードが代替モードの場合に、自サーバの動作を制御するものである。代替モード制御部14の機能構成としては、サーバ情報検索部141、論理IPアドレス設定部142、サービスデータ取得部143を少なくとも有する。
【0072】
サーバ情報検索部141は、自サーバの物理IPアドレスをキーとして、ハードディスク104に保持されるサーバ情報から、代替モードの論理ノード名及び論理IPアドレスを検索して取得するものである。
【0073】
論理IPアドレス設定部142は、サーバ情報検索部141により検索された代替モードの論理IPアドレスを自サーバに設定するものである。これにより、論理IPアドレスを用いてサービスの提供を実行することができる。
【0074】
サービスデータ取得部143は、サーバ情報検索部141により検索された代替モードの論理ノード名に対応するサービスデータを、ストレージ3から取得するものである。これにより、当該論理ノード名のサービスデータを取得することができ、このサービスデータを用いて引き続きサービス提供を継続することができる。
【0075】
接続先決定部15は、ストレージ3に保持されるサービスデータ(ルーチング情報)を用いて、ユーザ端末の電話番号から接続すべきサーバを決定するものである。接続先決定部15の処理は、動作の項において詳細に説明する。
【0076】
ハードディスク104は、各ノードEN1〜EN3及びWN1〜WN3の拠点間の代替関係を示すサーバ情報を保持するものである。全てのサーバは、同じ内容のサーバ情報をハードディスク104に保持している。
【0077】
図8は、サーバ情報の構成例を例示する説明図である。図8に示すように、サーバ情報は、「物理IP」、「通常モード」、「代替モード」を大きな項目とする。そして、図8に示すサーバ情報は、0系サーバと1系サーバの物理IPアドレス、代替運用していない「通常モード」での論理ノード名と論理IPアドレス、代替運用している「代替モード」での論理ノード名と論理IPアドレスを一組とした情報を持っている。
【0078】
また、図8に例示するサーバ情報は、「関東1」と「関西1」、「関東2」と「関西2」、「関東3」と「関西3」のノード組み合わせで代替関係を登録している。この設定の場合、関東拠点が被災した場合には、関東1〜関東3のサーバに代わりに関西1〜関西3のサーバが代替し、関西拠点が被災した場合には、関西1〜関西3に代わり、関東1〜関東3のサーバが代替してサービスを提供する。
【0079】
このように、代替関係にあるサーバは、互いに相手のサービスを引き継いでサービスの提供を行うため、各拠点間のサーバは、相互にサービスデータを定期的に交換し合い、相互のサービスデータをストレージ3に保持している。
【0080】
ストレージ3は、各ノードの0系サーバ1及び1系サーバ2が共用するサービスデータと、代替関係にある他拠点のノードのサービスデータを保持するものである。ここで、サービスデータとは、ノードがサービス提供する際に参照するデータの総称をいう。例えば、IP電話サービスを提供する場合、サービスデータは、呼の接続制御に必要なデータをいい、例えば、ユーザ情報やルーチング情報等を含む。
【0081】
ストレージ3は、代替関係にある他拠点のノードと定期的にサービスデータの交換を行い、サービスデータの更新を行っている。また、ストレージは、自ノードのサービスデータと、代替関係にある他ノードのサービスデータとの区別するために、サービスデータを論理ノード名毎に格納する。すなわち、例えば、関東1ノードEN1の場合、論理ノード名「関東1」のサービスデータと、論理ノード名「関西1」のサービスデータとを、論理ノード名がアクセスキーとなるようにして格納する。
【0082】
図9は、ストレージ3に保存されるサービスデータの例を示す構成図である。図9(A)及び図9(B)はユーザ情報の構成例であり、図9(C)はルーチング情報の構成例を示す。
【0083】
図9(A)及び図9(B)に例示するように、ユーザ情報は、ユーザ端末の電話番号とユーザ端末のIPアドレスとを対応付けた情報である。ここで、ユーザ端末は、接続するノードによる呼制御を受ける。そのため、各ノードEN1〜EN3及びWN1〜WN3は、それぞれ異なるユーザ情報を保持している。
【0084】
例えば、図9(A)は、「関東1」ノードEN1が保持するユーザ情報例であり、例えば電話番号が「0322220001」のユーザ端末のIPアドレスは「10.10.0.1」であることを示す。また、図9(B)は、「関西1」ノードWN1が保持するユーザ情報例であり、例えば、電話番号が「0622220001」のユーザ端末のIPアドレスは「10.20.0.1」であることを示す。
【0085】
図9(C)に例示するように、ルーチング情報は、電話番号に対して接続先となるノードとの対応関係を示す情報である。例えば、図9(C)において、電話番号「03」で始まる電話番号のユーザ端末の呼制御を行う場合には、「関東1」ノードEN1が接続先となる。
【0086】
なお、サービスデータは、例えばルーチング情報のようにノードを示す情報の場合、論理IPアドレスだけでなく、「論理ノード名」を用いて指定するようにする。
【0087】
(A−2)第1の実施形態の動作
次に、第1の実施形態の復旧システムの処理の動作を、図面を参照しながら詳細に説明する。
【0088】
図10は、各ノードのサーバ100における冗長制御処理の動作を示すフローチャートである。図10に示す処理では、サーバ100が、どの論理IPアドレスを用いて、どのノードのサービスを提供するかを決定する。
【0089】
(A−2−1)正常時の処理
まず、全拠点のサーバが正常に動作する場合を例示する。図11は、正常時のノードにおけるサーバの様子を示す説明図である。なお、図11では、「関東1」ノードEN1の様子を例示する。
【0090】
この場合、拠点の全ノードEN1〜EN3及びWN1〜WN3は、0系サーバ1及び1系サーバ2のどちらか一方が「運転中」に設定され、他方が「待機中」に設定される。また、両方のサーバはいずれも「通常モード」に設定される。
【0091】
例えば、図11(A)において、物理IPアドレス「172.16.1.10」の0系サーバ1が「運転中」である場合、0系サーバ1の動作モード認識部11は、自サーバが通常モード(運転中)であると判断し(ステップS101)、ステップS102に移行する。
【0092】
図11(B)に示すように、0系サーバ1において、通常モード(運転中)制御部12のサーバ情報検索部121は、自サーバの物理IPアドレス「172.16.1.10」をキーとして、サーバ情報の物理IPの欄を検索し、一致した行の通常モード欄から論理ノード名「関東1」及び論理IPアドレス「172.16.1.1」を取得する(ステップS102)。
【0093】
そして、論理IPアドレス設定部122は、論理IPアドレス「172.16.1.1」を自サーバに設定し(ステップS103)、サービスデータ取得部123が、論理ノード名「関東1」をキーとして、ストレージ3のサービスデータから「関東1」のサービスデータを取得する(ステップS104)。これにより、0系サーバ1は、「関東1」ノードEN1の通常モード(運転中)として動作し、「関東1」ノードEN1に求められるサービスを提供することができる。
【0094】
一方、例えば、図11(A)及び(C)に示すように、1系サーバ2は「待機中」となるため(ステップS101)、ステップS105に移行する。このとき、1系サーバ2は、正常に動作しているため「通常モード」であるから(ステップS105)、サービスの提供をせずに待機する(ステップS106)。
【0095】
(A−2−2)自ノードの「運転中」サーバの故障時の処理
次に、自ノードの「運転中」サーバの故障時の処理動作を説明する。図12は、「運転中」サーバの故障時の処理動作の様子を示す説明図である。
【0096】
例えば、図12(A)に示すように、「運転中」の0系サーバ1が故障した場合、1系サーバ2が、「待機中」から「運転中」に状態変更する。
【0097】
なお、状態変更処理の方法は、種々の方法を適用することができ、例えば、既存する故障検出方法等により0系サーバ1の故障検出を契機として、1系サーバ2は「待機中」から「運転中」に状態を変更する。
【0098】
まず、「関東1」ノードEN1において、状態変更により1系サーバ2は「運転中」となるから(ステップS101)、1系サーバ2のサーバ情報検索部121は、図12(B)に示すように、1系サーバ2の物理IPアドレス「172.16.1.11」をキーとして、サーバ情報の物理IP欄を検索して、一致する行の通常モード欄から、論理ノード名「関東1」及び論理IPアドレス「172.16.1.1」を取得する(ステップS102)。
【0099】
そして、論理IPアドレス設定部122は、論理IPアドレス「172.16.1.1」を自サーバに設定し(ステップS103)、サービスデータ取得部123が、論理ノード名「関東1」をキーとして、ストレージ3のサービスデータから「関東1」のサービスデータを取得する(ステップS104)。これにより、図12(C)に示すように、1系サーバ2は、「関東1」ノードEN1の通常モード(運転中)として動作し、「関東1」ノードEN1に求められるサービスを提供することができる。
【0100】
(A−2−3)拠点の全ノードが被災した場合の処理
次に、拠点の全ノードが被災した場合の処理動作を説明する。図13は、代替関係にあるノードが故障した場合の処理動作の様子を示す説明図である。
【0101】
例えば、関西拠点の「関西1」〜「関西3」の全ノードWN1〜WN3が被災に遭い、使用不能となった場合、関東拠点の「関東1」〜「関東3」のノードEN1〜EN3は「通常モード」から「代替モード」に状態変更する。
【0102】
なお、「代替モード」への状態変更の方法も、種々の方法を適用することができ、例えば、既存の故障検出方法等により代替関係にあるノード又はサーバの故障検出を契機として、「通常モード」から「代替モード」への状態変更とする方法を適用できる。
【0103】
例えば、図13(A)において、「関東1」ノードEN1の0系サーバ1は、「運転中」であるので、0系サーバ1は、引き続き論理IPアドレス「172.16.1.1」を用いて論理ノード名「関東1」のサービスを提供する。
【0104】
一方、図13(A)に例示する「待機中」の1系サーバ2は、「通常モード」から「代替モード」に変更するので(ステップS105)、ステップS107に移行し、代替ノードの論理IPアドレスと論理ノードが決められる。
【0105】
まず、図13(B)に示すように、1系サーバ2において、代替モード制御部14のサーバ情報検索部141は、自サーバの物理IPアドレス「172.16.1.11」をキーとして、サーバ情報の物理IP欄から検索し、一致する行の代替モード欄から論理モード名「関西1」及び論理IPアドレス「172.16.1.2」を取得する(ステップS107)。
【0106】
そして、論理IPアドレス設定部142は、論理IPアドレス「172.16.1.2」を自サーバに設定し(ステップS108)、サービスデータ取得部143が、論理ノード名「関西1」をキーとして、ストレージ3のサービスデータから「関西1」のサービスデータを取得する(ステップS109)。
【0107】
これにより、図13(C)に示すように、1系サーバ2は、代替モードとして動作し、「関西1」ノードWN1のサービスを提供することができる。一方、0系サーバ1は、通常モード(運転中)として動作し、「関東1」ノードEN1のサービスを提供することができる。
【0108】
(A−2−4)接続先サーバの決定処理
次に、各サーバが、ストレージ3に保持されるルーチン情報を参照して、ユーザ端末の電話番号から接続先とするサーバを決定する処理動作を説明する。図14は、接続先サーバの決定処理を示すフローチャートである。
【0109】
(a)通常モードの場合
図15及び図16は、全拠点のノードが正常に動作する場合の様子を示す説明する。
【0110】
図15に示すように、「関東1」ノードEN1及び「関西1」ノードWN1において、0系サーバ1と1系サーバ2のいずれか一方は「運転中」に設定され、他方は「待機中」に設定されており、両者は「通常モード」に設定されている。
【0111】
この場合に、例えば、電話番号「0622220001」のユーザ端末に接続するサーバを決定する場合の処理を例示する。
【0112】
まず、図16に示すように、サーバの接続先決定部15は、電話番号「0622220001」をキーとして、ストレージ3に保持されるルーチング情報を検索し、電話番号のプレフィックスが一致した行の論理ノード欄から論理ノード名「関西1」を取得する(ステップS201)。
【0113】
このとき、「関東1」ノードEN1のサーバは「通常モード」であるから(ステップS202)、ステップS203に移行する。接続先決定部15は、論理ノード名「関西1」をキーとして、サーバ情報の通常モードの欄の論理IP欄から、論理ノード名「関西1」の論理IPアドレス「172.17.1.1」を取得する(ステップS203)。
【0114】
その結果、電話番号「0622220001」に対しては、論理IPアドレス「172.17.1.1」が求まり、この論理IPアドレスが設定されている「関西1」ノードWN1の「運転中」である0系サーバに接続する。
【0115】
(b)代替モードの場合
図17は、関西拠点が災害に遭い、全ノードWN1が使用不能となり、関東拠点のノードEN1が代替モードとなっている場合の様子を示す説明図である。
【0116】
図17に示すように、この場合、関東拠点の「関東1」ノードEN1は「代替モード」の状態であり、0系サーバ1は「関東1」のサービスを提供し、1系サーバ2が「関西1」のサービスを提供している。
【0117】
この場合、電話番号「0622220001」のユーザ端末を接続するサーバを決定する場合を例示する。
【0118】
まず、図18に示すように、各サーバの接続先決定部15は、電話番号「0622220001」をキーとして、ストレージ3のルーチング情報を検索し、電話番号のプレフィックスが一致した行の論理ノード欄から論理ノード名「関西1」を取得する(ステップS201)。
【0119】
このとき、関東拠点のノードは代替モードであるから(ステップS202)、ステップS205に移行する。接続先決定部15は、論理ノード名「関西1」をキーとして、サーバ情報の代替モードの欄の論理IP欄から、論理ノード名「関西1」の論理IPアドレス「172.16.1.2」を取得する(ステップS205)。
【0120】
その結果、電話番号「0622220001」に対しては、論理IPアドレス「172.16.1.2」が求まり、この論理IPアドレスが設定されている「関東1」ノードEN1の1系サーバに接続する。
【0121】
(A−3)第1の実施形態の効果
上記のように、第1の実施形態によれば、拠点災害は発生していない場合、各ノードは0系サーバと1系サーバで2重化した構成となり、一方のサーバが「運転中」となり、他方のサーバが「待機中」となる。この時、「運転中」のサーバが改障しても「待機中」のサーバを「運転中」に変更することで、0系サーバと1系サーバの間でサービスを引継ぐことができる。また、その際のサービス中断時間は、サーバ切り替えに要する時間だけで済む。
【0122】
また、拠点災害が発した場合、被災拠点のノードの代わりに、代替関係にあるノードの「待機中」のサーバがサービスを引き継ぐことができる。また、その際のサービス中断時間は、サーバ切り替えに要する時間だけで済む。
【0123】
このように、故障に対する高可用性と、拠点災害に対する高可用性の両方を実現でき、かつ、予備拠点に予備サーバを設置するようなコストの追加が発生しない。
【0124】
その結果、従来のように予備拠点及び予備ノードを新たに設ける必要がなくなるので、従来よりもコストの改善ができる。また、サーバの切り替えだけの時間で済むので、サービス中断時間も短縮することができる。
【0125】
(B)第2の実施形態
次に、本発明の復旧システム、復旧方法、冗長制御装置及び冗長制御プログラムの第2の実施形態を図面を参照しながら説明する。
【0126】
第1の実施形態では、「待機中」サーバが、被災拠点のサーバの代わりに、サービスを提供する場合を説明した。
【0127】
しかし、この場合、代替モードのノードにおいては2重化を構成していない状態となる。従って、この状態でいずれかのサーバが故障となると、そのサーバが提供していたノードのサービスが提供できなくなる。
【0128】
そこで、第2の実施形態では、可用性のある第1の実施形態に対して、さらに拠点毎に予備サーバを設置して、さらに可用性を高めることができる。
【0129】
(B−1)第2の実施形態の全体構成
図19は、第2の実施形態の復旧システム10Bの構成を示す構成図である。図19に示すように、第2の実施形態の復旧システム10Bは、関東拠点及び関西拠点に、予備サーバ4及びストレージ5を新たに備える点である。
【0130】
予備サーバ4は、自身の拠点に設置されているノードの0系サーバ1又は1系サーバ2のいずれかが故障した場合に、そのノードが提供しているサービスを引き続き提供する予備的に設けられた代理サーバである。なお、予備サーバ4は、既存技術を利用して当該拠点のサーバの故障検出等をトリガとして動作する。
【0131】
また、予備サーバ4は、基本的には、0系サーバ1及び1系サーバ2と同じ構成を備えるが、冗長制御部102による冗長制御処理が0系サーバ1及び1系サーバ2と異なる。
【0132】
ここで、予備サーバ4による冗長制御処理の方法は、種々の方法を広く適用することができ、例えば後述する3つの方法を適用することができる。そこで、以下では、予備サーバ4による3つの方法例を説明する。
【0133】
なお、ストレージ5は、サービスデータを保持するものであるが、予備サーバ4の2重化方法の種別に応じて、どの範囲のサービスデータを保持するか変わってくる。そのため、以下では、ストレージ5に保持するサービスデータの範囲も含めて説明する。
【0134】
(B−2)第2の実施形態の詳細構成及び動作
(B−2−1)第1の冗長制御処理
第1の冗長制御処理は、予備サーバ4がストレージ5に、全拠点の全ノードEN1〜EN3及びWN1〜WN3のサービスデータをコピーして保持する方式である。
【0135】
図20は、第1の冗長制御処理を説明する説明図である。この場合、図20に示すノードEN1は代替モードであり、0系ノード1は「関東1」のサービスを提供しており、1系ノード2は「関西1」のサービスを提供している。
【0136】
ストレージ5は、全ての拠点の全てのノードEN1〜EN3及びWN1〜WN3のサービスデータを保持するものである。ここで、サービスデータのコピーは、例えば、被災拠点の有無に関わらず定期的に実行しても良いし、被災拠点が発生した場合に限定して、定期的に実行しても良い。
【0137】
予備サーバ4は、サーバ情報を参照して、故障を起こしたサーバが提供しているノードの論理ノード名に基づいて、論理IPアドレスを取得し、この論理IPアドレスを自サーバに設定して、故障したサーバが提供していたノードのサービスを引き続き提供するものである。
【0138】
図21は、予備サーバ4の冗長制御部102の機能構成を示すブロック図である。図21に示すように、予備サーバ4の冗長制御部102は、論理IPアドレス取得部411、論理IPアドレス設定部412、サービスデータ取得部413を少なくとも有する。
【0139】
論理IPアドレス取得部411は、故障したサーバが実行する論理ノード名をキーとして、サーバ情報から、通常モードの論理ノード欄から論理IPアドレスと、代替ノードの論理ノード欄から論理IPアドレスとを取得し、これらの論理IPアドレスから自身の物理IPアドレスと同一サブネットの論理IPアドレスを選択するものである。
【0140】
論理IPアドレス設定部412は、論理IPアドレス取得部411により選択された論理IPアドレスを自サーバに設定するものである。
【0141】
サービスデータ取得部413は、代理する論理ノード名をキーとして、ストレージ5からサービスデータを取得するものである。
【0142】
次に、第1の冗長制御処理の動作を、図面を参照しながら説明する。図20(A)に示すように、図20(A)の1系ノード2に故障が発生した場合に、1系ノード2が実行していた論理ノード名を指定して、故障サーバ(1系ノード2)から予備サーバ4に切り替える処理を例示する。
【0143】
図22は、第1の冗長制御処理の動作を示すフローチャートである。また、図23は、論理IPアドレスの取得処理を示すフローチャートである。
【0144】
例えば、図20(B)の1系ノード2は、「関西1」ノードWN1に対応するサービスを提供しているから、1系ノード2が故障すると、「関西1」ノードWN1のサービス提供ができなくなる。
【0145】
このため、予備サーバ4が代替する論理ノード名は「関西1」となる。予備サーバ4は論理ノード名「関西1」に対する論理IPアドレスを取得する(ステップS301)。
【0146】
図24(A)に示すように、論理IPアドレス取得部411は、論理ノード名「関西1」をキーとして、サーバ情報の通常モードの論理ノード欄を検索し、一致した行から通常モードの論理IPアドレス「172.17.1.1」を取得する(ステップS401)。
【0147】
また、論理IPアドレス取得部411は、論理ノード名「関西1」をキーとして、サーバ情報の代替モードの論理ノード欄を検索し、一致した行から代替モードの論理IPアドレス「172.16.1.2」を取得する(ステップS402)。
【0148】
次に、論理IPアドレス取得部411は、ステップS401及びS402で取得した論理IPアドレスのうち、予備サーバ4の物理IPアドレス「172.16.4.10」と同一サブネットの論理IPアドレス「172.16.1.2」を選択する(ステップS403)。
【0149】
その結果、図24(B)に示すように、予備サーバ4は、論理IPアドレス設定部412が論理IPアドレス「172.16.1.2」を設定し(ステップS302)、サービスデータ取得部413がストレージ5内の論理ノード名「関西1」のサービスデータを参照してサービスを提供する(ステップS303)。
【0150】
第1の冗長制御処理によれば、予備サーバ5のストレージサイズが全拠点全ノード分だけ必要となるが、サービス中断時間はサーバ切り替えの時間だけで済むので、サービス中断時間を短くできる。
【0151】
(B−2−2)第2の冗長制御処理
第2の冗長制御処理は、予備サーバ4のストレージ5に、サービスデータをコピーして保存しておかない方式である。
【0152】
図25(A)は、第2の冗長制御処理を説明する説明図である。この場合、図25(A)に示すノードEN1は代替モードであり、0系ノード1は「関東1」のサービスを提供しており、1系ノード2は「関西1」のサービスを提供している。
【0153】
ストレージ5は、サービスデータを保存しておらず、予備サーバ4がサービスを代替する論理ノードが決まった後に、その代替するノードのサービスデータをコピーして保存する。
【0154】
予備サーバ4は、サーバ情報を参照して、故障を起こしたサーバが提供しているノードの論理ノード名に基づいて、論理IPアドレスを取得し、この論理IPアドレスを自サーバに設定して、故障したサーバが提供していたノードのサービスを引き続き提供するものである。
【0155】
また、予備サーバ4は、サーバ情報を参照して、故障したノードの物理IPアドレスを検索し、その検索したノードから、サービスを継続するノードのサービスデータをストレージ5にコピーするものである。
【0156】
図26は、予備サーバ4の冗長制御部102の機能構成を示すブロック図である。図26に示すように、予備サーバ4の冗長制御部102は、論理IPアドレス取得部421、論理IPアドレス設定部422、物理IPアドレス取得部423、サービスデータコピー部424、サービスデータ取得部425を少なくとも有する。
【0157】
なお、論理IPアドレス取得部421、論理IPアドレス設定部422及びサービスデータ取得部425は、論理IPアドレス取得部411、論理IPアドレス設定部412及びサービスデータ取得部413と同じ処理を行うものである。
【0158】
物理IPアドレス取得部423は、論理IPアドレス取得部421が選択した論理IPアドレスをキーとして、サーバ情報の通常モードと代替モードの論理ノード欄を検索し、一致した行の物理IP欄から物理IPアドレスを取得するものである。この物理IPアドレスは、代替ノードのサービスデータをストレージ3に保持しているノードのサーバの物理IPアドレスである。
【0159】
サービスデータコピー部424は、物理IPアドレス取得部423により取得された物理IPアドレスを用いて、代替するノード名のサービスデータをストレージ5にコピーするものである。
【0160】
次に、第2の冗長制御処理の動作を、図面を参照しながら説明する。図25(B)に示すように、図25(A)の1系ノード2に故障が発生した場合に、1系ノード2が実行していた論理ノード名を指定して、故障サーバ(1系ノード2)から予備サーバ4に切り替える処理を例示する。
【0161】
図27は、第2の冗長制御処理の動作を示すフローチャートである。
【0162】
例えば、図25(B)の1系ノード2は、「関西1」ノードWN1に対応するサービスを提供しているから、1系ノード2が故障すると、「関西1」ノードWN1のサービス提供ができなくなる。
【0163】
このため、予備サーバ4が代替する論理ノード名は「関西1」となる。予備サーバ4は、図23のフローチャートで説明した方法により、論理ノード名「関西1」に対する論理IPアドレスを取得する(ステップS501)。
【0164】
図28に示すように、論理IPアドレス取得部421が、論理ノード名「関西1」の論理IPアドレス「172.16.1.2」を選択する(ステップS401〜S403)。
【0165】
次に、物理IPアドレス取得部423は、論理IPアドレス「172.16.1.2」をキーとして、サーバ情報の通常モードと代替モードの論理IP欄を検索し、一致した行の物理IP欄から2つの物理IPアドレス「172.16.1.10」と「172.16.1.11」を取得する(ステップS502)。
【0166】
そして、サービスデータコピー部424が、図29に示すように、2つの物理IPアドレス「172.16.1.10」と「172.16.1.11」のサーバに接続し、応答のあったサーバかに論理ノード名「関西1」を通知し、当該サーバから論理ノード名「関西1」に対応するサービスデータを取得し、ストレージ5に保持する(ステップS503)。
【0167】
その結果、図29に示すように、予備サーバ4は、論理IPアドレス設定部422が論理IPアドレス「172.16.1.2」を設定し(ステップS504)、サービスデータ取得部425がストレージ5内の論理ノード名「関西1」のサービスデータを参照してサービスを提供する(ステップS505)。
【0168】
第2の冗長制御処理によれば、予備サーバ4のストレージサイズが1ノード分だけで済むが、切り替え時にサービスデータをコピーするための時間だけ、サービスの中断時間が長くなる。
【0169】
(B−2−3)第3の冗長制御処理
第3の冗長制御処理は、予備サーバのストレージに、予備サーバ4と同一拠点のノードの分のサービスデータだけをコピーしておく方式である。
【0170】
ストレージ5は、同一拠点の各ノードのストレージ3が保持するサービスデータを保持するものである。このサービスデータのコピーは、例えば、被災拠点の有無に関わらず定期的に実行しても良いし、又例えば被災拠点が発生した場合に限定して、定期的に実行しても良い。
【0171】
予備サーバ4は、サーバ情報を参照して、故障を起こしたサーバが提供しているノードの論理ノード名に基づいて、論理IPアドレスを取得し、さらにその論理IPアドレスをキーとして、故障を起こしたサーバと同一ノードの他サーバの論理IPアドレスを取得するものである。
【0172】
また、予備サーバ4は、故障を起こしたサーバと同一ノードの他サーバに対して、故障を起こしたサーバが提供していたサービスを提供するように、状態変更を指示すると共に、自身が上記他サーバが提供していたサービスの提供を行うようにするものである。
【0173】
図31は、予備サーバ4の冗長制御部102の機能構成を示すブロック図である。図31に示すように、予備サーバ4の冗長制御部102は、論理IPアドレス取得部431、論理IPアドレス設定部432、サービスデータ確認部433、状態変更指示部434、サービスデータ取得部435を少なくとも有する。
【0174】
なお、論理IPアドレス取得部431、論理IPアドレス設定部432及びサービスデータ取得部435は、論理IPアドレス取得部411、論理IPアドレス設定部412及びサービスデータ取得部413と同じ処理を行うものである。
【0175】
サービスデータ確認部433は、代替する論理ノード名のサービスデータがストレージ5にあるか否かを確認するものである。
【0176】
状態変更指示部434は、サービスデータ確認部433により代替する論理ノード名のサービスデータがストレージ5にない場合、論理IPアドレス取得部431が取得した論理IPアドレスのサーバに対して、状態を「運用中」から「待機中」に変更指示するものである。
【0177】
次に、第3の冗長制御処理の動作を、図面を参照しながら説明する。図30(B)に示すように、図30(A)の1系ノード2に故障が発生した場合に、1系ノード2が実行していた論理ノード名を指定して、故障サーバ(1系ノード2)から予備サーバ4に切り替える処理を例示する。
【0178】
図32は、第3の冗長制御処理の動作を示すフローチャートである。
【0179】
例えば、図30(B)の1系ノード2は、「関西1」ノードWN1に対応するサービスを提供しているから、1系ノード2が故障すると、「関西1」ノードWN1のサービス提供ができなくなる。
【0180】
このため、予備サーバ4が代替する論理ノード名は「関西1」となる。予備サーバ4は、図23のフローチャートで説明した方法により、論理ノード名「関西1」に対する論理IPアドレスを取得する(ステップS601)。
【0181】
図33及び図34に示すように、論理IPアドレス取得部431が、論理ノード名「関西1」の論理IPアドレス「172.16.1.2」を選択する(ステップS401〜S403)。
【0182】
次に、サービスデータ確認部433は当該論理ノード名のサービスデータがストレージ5にあるか否かを確認する(ステップS602)。そして、ストレージ5にサービスデータがある場合、論理IPアドレス設定部432は、その論理IPアドレスを自サーバに設定して(ステップS604)、サービスデータ取得部435がサービスデータを参照しながらサービスを提供する(ステップS605)。
【0183】
一方、上記の例のように、サービスデータがストレージ5にない場合には、次のような処理を行う。
【0184】
論理IPアドレス取得部431は、論理IPアドレス「172.16.1.2」をキーとして、サーバ情報の代替モードの論理ノード欄を検索し、一致した行の通常ノード欄から論理ノード名及び論理IPアドレス「172.16.1.1」を取得する(ステップS606)。
【0185】
状態変更指示部434は、ステップS606で求めた論理IPアドレス「172.16.1.1」のサーバ(0系サーバ1)に接続し、そのサーバを「運転中」から「待機中」に変更指示を行う(ステップS607)。
【0186】
これにより、当該サーバ(0系サーバ1)は、第1の実施形態で説明した図10に示すような処理を行い、論理IPアドレス「172.16.1.2」を自サーバ(0系サーバ1)設定し、代替する論理ノード名「関西1」をキーとして、ストレージ内の関西1データを参照してサービスを提供する。
【0187】
また、予備サーバ4は、論理IPアドレス設定部432が論理IPアドレス「172.16.1.1」を設定し(ステップS608)、サービスデータ取得部435が論理ノード名「関東1」をキーとして、ストレージ5内の関東1のサービスデータを参照してサービスを提供する(ステップS609)。
【0188】
第3の冗長制御処理によれば、予備サーバ4のストレージサイズが拠点内の全ノード分だけで済むが、サーバ切り替えが2回発生する場合がある。
【0189】
(B−3)第2の実施形態の効果
上記のように、第2の実施形態によれば、拠点災害が発して、ある拠点の待機状態のサーバが被災拠点のサーバの代わりにサービスを提供している状態において、いずれかのサーバ故障が発生した場合、各拠点に設置された予備サーバに切り替えてサービスを提供することができる。
【0190】
(C)他の実施形態
上述した第1及び第2の実施形態では、IP電話の接続を制御するサーバに適用した場合を例として説明したが、その他のIPネットワークサーバにも適用可能である。
【0191】
上述した第1及び第2の実施形態では、関東と関西の2拠点の場合を例として説明したが、2拠点以上の複数拠点で運用する場合にも適用可能である。
【0192】
上述した第1及び第2の実施形態では、サービスデータの格納先として、ノード毎に0系サーバと1系サーバで共有するストレージを利用する形態で説明したが、拠点内の全ノードで共有する別サーバ(ファイルサーバやDBサーバ)を利用した場合にも適用可能である。
【符号の説明】
【0193】
1…0系サーバ、2…1系サーバ、3…ストレージ、4…予備サーバ、5…ストレージ、10A及び10B…復旧システム、101…アプリケーション、102…冗長制御部、
103…OS、104…ハードディスク、
11…動作モード認識部、12…通常モード(運転中)制御部、
13…通常モード(待機中)制御部、14…代替モード制御部、15…接続先決定部、
121…サーバ情報検索部、122…論理IPアドレス設定部、
123…サービスデータ取得部、141…サーバ情報検索部、
411、421、431…論理IPアドレス取得部、
142、412、422、432…論理IPアドレス設定部、
143、413、425、435…サービスデータ取得部、
423…物理IPアドレス取得部、424…サービスコピー部、
433…サービスデータ確認部、434…状態変更指示部。

【特許請求の範囲】
【請求項1】
各拠点に、サービス提供を実行する第1サーバと待機する第2サーバと上記サービス提供に必要なサービスデータを保存するデータ保存手段とを有して、サービスの提供を行う1又は複数のノードを備え、
上記各ノードは、他の拠点に設置された他ノードとの間で代替関係が設定されており、
上記データ保存手段は、自ノードが提供するサービスのサービスデータと、他の拠点の上記代替関係にある他ノードが提供するサービスのサービスデータとを保存するものであり、
上記第2サーバが、上記第1サーバの障害又は上記他拠点の代替関係にある他ノードの障害発生時に、上記データ保存手段から必要な上記サービスデータを取得して、障害の生じたサービスの提供を実行することを特徴とする復旧システム。
【請求項2】
上記第2サーバは、
自ノードが通常時にサービスを提供する通常モード時の論理ノード情報と、他拠点の代替関係にあるノードのサービスを提供する代替モード時の論理ノード情報とを上記ノード毎に予め設定したサーバ情報を格納するサーバ情報格納手段と、
障害発生時に、自身の動作状態に応じて上記サーバ情報から上記論理ノード情報を検索し、検索した上記論理ノード情報に対応する上記サービスデータを上記データ保存手段から取得して冗長制御を行う冗長制御手段と
を備えることを特徴とする請求項1に記載の復旧システム。
【請求項3】
上記各拠点に、当該拠点の上記各ノードのいずれかのサーバに障害が生じたときに、その障害サーバのサービス提供を実行する予備サーバ及び予備データ保存手段をさらに備え、
上記予備サーバが、上記障害サーバのサービス提供に係る上記サービスデータを上記予備データ保存手段から取得して、上記障害サーバのサービス提供を実行することを特徴とする請求項1又は2に記載の復旧システム。
【請求項4】
上記予備データ保存手段が、全拠点の全ノードのサービスデータを保存するものであり、
上記予備サーバは、上記障害サーバの上記論理ノード情報に対応する上記サービスデータを上記予備データ保存手段から取得してサービス提供を行う
ことを特徴とする請求項3に記載の復旧システム。
【請求項5】
上記予備サーバが、上記障害サーバの上記論理ノード情報に基づいて、上記サーバ情報から上記障害サーバの属する上記ノードを検索し、この検索した上記ノードから上記障害サーバのサービス提供に係る上記サービスデータを上記予備データ保存手段に複製してサービス提供を行うことを特徴とする請求項3に記載の復旧システム。
【請求項6】
上記予備データ保存手段が、自身と同一拠点に設置された全ノードのサービスデータを保存するものであり、
上記予備サーバが、
上記予備データ保存手段に、上記障害サーバの上記論理ノード情報に対応する上記サービスデータの有無を確認するサービスデータ確認部と、
上記サービスデータがある場合には、上記予備データ保存手段から上記サービスデータを取得してサービス提供する第1のサービスデータ取得部と、
上記サービスデータがない場合には、上記障害サーバと冗長構成をとるサーバに対して動作状態の変更指示を行う状態変更指示部と、
上記障害サーバと冗長構成をとるサーバがサービス提供していた上記論理ノード情報の上記サービスデータを上記予備データ保存手段から取得してサービス提供を行う第2のサービスデータ取得部と
を有することを特徴とする請求項3に記載の復旧システム。
【請求項7】
各拠点に、サービス提供を実行する第1サーバと待機する第2サーバと上記サービス提供に必要なサービスデータを保存するデータ保存手段とを有して、サービスの提供を行う1又は複数のノードを備え、
上記各ノードは、他の拠点に設置された他ノードとの間で代替関係を設定し、
上記データ保存手段は、自ノードが提供するサービスのサービスデータと、他の拠点の上記代替関係にある他ノードが提供するサービスのサービスデータとを保存し、
上記第2サーバが、上記第1サーバの障害又は上記他拠点の代替関係にある他ノードの障害発生時に、上記データ保存手段から必要な上記サービスデータを取得して、障害の生じたサービスの提供を実行する
ことを特徴とする復旧方法。
【請求項8】
所定のサービスを提供する同一ノードにおける他のサーバ、又は、予め設定された他の拠点の代替関係が設定された他のサーバとの間で冗長構成をとるサーバの冗長制御装置であって、
自ノードが提供するサービスのサービスデータと、他の拠点の上記代替関係にある他ノードが提供するサービスのサービスデータとを保存するデータ保存手段と、
自ノードが通常時にサービスを提供する通常モード時の論理ノード情報と、他拠点の代替関係にあるノードのサービスを提供する代替モード時の論理ノード情報とを上記ノード毎に予め設定したサーバ情報を格納するサーバ情報格納手段と、
自身の動作状態を認識する動作状態認識手段と、
上記動作状態認識手段により認識された自身の動作状態に応じて、上記サーバ情報から上記論理ノード情報を検索し、検索した上記論理ノード情報に対応する上記サービスデータを上記データ保存手段から取得して冗長制御を行う冗長制御手段と
を備えることを特徴とする冗長制御装置。
【請求項9】
所定のサービスを提供する同一ノードにおける他のサーバ、又は、予め設定された他の拠点の代替関係が設定された他のサーバとの間で冗長構成をとるサーバの冗長制御プログラムであって、
自ノードが提供するサービスのサービスデータと、他の拠点の上記代替関係にある他ノードが提供するサービスのサービスデータとを保存するデータ保存手段と、
自ノードが通常時にサービスを提供する通常モード時の論理ノード情報と、他拠点の代替関係にあるノードのサービスを提供する代替モード時の論理ノード情報とを上記ノード毎に予め設定したサーバ情報を格納するサーバ情報格納手段と
を備える冗長制御装置を、
自身の動作状態を認識する動作状態認識手段、
上記動作状態認識手段により認識された自身の動作状態に応じて、上記サーバ情報から上記論理ノード情報を検索し、検索した上記論理ノード情報に対応する上記サービスデータを上記データ保存手段から取得して冗長制御を行う冗長制御手段
として機能させることを特徴とする冗長制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate


【公開番号】特開2011−61626(P2011−61626A)
【公開日】平成23年3月24日(2011.3.24)
【国際特許分類】
【出願番号】特願2009−210924(P2009−210924)
【出願日】平成21年9月11日(2009.9.11)
【出願人】(308033722)株式会社OKIネットワークス (165)
【出願人】(591051645)株式会社OKIソフトウェア (173)
【Fターム(参考)】