(57)【要約】【課題】監視対象サーバの２重ＡＣＴを防止すること。【解決手段】代行サーバ１０２Ａは、現用系である仮想マシンＶＭ１０３Ａ−ｉに対し制御系ＮＷ１１０経由でＨＢ要求信号を送信し、ＨＢ要求信号に対するＨＢ応答信号を制御系ＮＷ１１０経由で仮想マシンＶＭ１０３Ａ−ｉから受信し、ＨＢ応答信号を返さない場合、サービス系ＮＷ１２０経由でＨＢ要求信号を送信し、仮想マシンＶＭ１０３Ａ−ｉからのＨＢ応答信号の有無に基づいて、仮想マシンＶＭ１０３Ａ−ｉに障害が発生したか、または、代行サーバ１０２Ａと仮想マシンＶＭ１０３Ａ−ｉとの間を接続する制御系ＮＷ１１０の回線に障害が発生したかを判定し、第２代行サーバ１０２Ｂに判定結果を送信する。【選択図】図１
2014222431.tif 000002
【特許請求の範囲】
【請求項１】
第１サイト内の第１サーバ群内の現用系である第１サーバから第２サイト内の第２サーバ群内の前記第１サーバの待機系である第２サーバに死活確認を要求する要求信号を、前記第１サーバ群と前記第２サーバ群との間を通信可能に接続する第１ネットワーク経由で送信し、前記第２サーバから前記第１サーバに前記要求信号に対して応答する応答信号を、前記第１ネットワーク経由で送信するとともに、前記第１サーバ群と前記第２サーバ群との間を通信可能に接続する第２ネットワークを有する通信システムにおいて、
前記第１サイトは、前記第１サーバ群と前記第１ネットワークおよび第２ネットワーク経由で通信可能な第１代行サーバを有し、
前記第２サイトは、前記第２サーバ群と前記第１ネットワークおよび第２ネットワーク経由で通信可能な第２代行サーバを有し、
前記第１代行サーバおよび前記第２代行サーバは、前記第１ネットワークおよび第２ネットワーク経由で通信可能であり、
前記第１代行サーバは、
前記第１サーバ群内の現用系である第１サーバに対し前記第１のネットワーク経由で前記要求信号を送信し、
前記応答信号を返さない特定の第１サーバに対して前記第２のネットワーク経由で前記要求信号を送信し、
前記特定の第１サーバからの前記応答信号の有無に基づいて、前記特定の第１サーバに障害が発生したか、または、前記第１代行サーバと前記特定の第１サーバとの間を接続する前記第１ネットワークの回線に障害が発生したかを判定し、
前記第２代行サーバに判定結果を前記第１ネットワーク経由で送信し、
前記第２代行サーバは、
前記第１サーバへの前記要求信号を前記第１ネットワーク経由で前記第２サーバから受信し、
前記第２サーバからの前記要求信号に対する前記応答信号を前記第１ネットワーク経由で前記第２サーバに送信し、
前記判定結果を前記第１ネットワーク経由で前記第１代行サーバから受信し、
前記判定結果が前記特定の第１サーバに障害が発生したことを示す場合、前記第２サーバ群のうち前記特定の第１サーバの待機系となる特定の第２サーバに対する前記応答信号の送信を停止する、
ことを特徴とする通信システム。
【請求項２】
前記第１代行サーバは、
前記特定の第１サーバが復旧した場合、前記特定の第１サーバを待機系に設定する、
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記第２代行サーバは、
前記判定結果が前記第１代行サーバと前記特定の第１サーバとの間を接続する前記第１ネットワークの回線に障害が発生したことを示す場合、前記特定の第２サーバからの前記特定の第１サーバへの前記要求信号を受信し、
前記特定の第２サーバに対し前記応答信号を送信する、
ことを特徴とする請求項１に記載の通信システム。
【請求項４】
通信システムを構成する複数のサイトの各々に設けられ、各サイト内のサーバ群と第１ネットワークおよび第２ネットワークを介して通信可能な代行サーバ群の第１代行サーバであって、
前記第１代行サーバは、
他サイトの第２代行サーバと前記第１ネットワークおよび第２ネットワークを介して通信可能であり、
前記第１代行サーバと通信可能な第１サーバ群内の現用系である第１サーバに対し前記第１のネットワーク経由で死活確認を要求する要求信号を送信し、
前記要求信号に対して応答する応答信号を前記第１のネットワーク経由で前記第１サーバから受信し、
前記応答信号を返さない特定の第１サーバに対して前記第２のネットワーク経由で前記要求信号を送信し、
前記特定の第１サーバからの前記応答信号の有無に基づいて、前記特定の第１サーバに障害が発生したか、または、前記第１代行サーバと前記特定の第１サーバとの間を接続する前記第１ネットワークの回線に障害が発生したかを判定し、
前記第２代行サーバに判定結果を送信する、
ことを特徴とする代行サーバ。
【請求項５】
前記特定の第１サーバが復旧した場合、前記特定の第１サーバを待機系に設定する、
ことを特徴とする請求項４に記載の代行サーバ。
【請求項６】
第１サイト内の第１サーバ群内の現用系である第１サーバから第２サイト内の第２サーバ群内の前記第１サーバの待機系である第２サーバに死活確認を要求する要求信号を、前記第１サーバ群と前記第２サーバ群との間を通信可能に接続する第１ネットワーク経由で送信し、前記第２サーバから前記第１サーバに前記要求信号に対して応答する応答信号を、前記第１ネットワーク経由で送信するとともに、前記第１サーバ群と前記第２サーバ群との間を通信可能に接続する第２ネットワークを有する通信システムにおける障害復旧方法であって、
前記第１サイトは、前記第１サーバ群と前記第１ネットワークおよび第２ネットワーク経由で通信可能な第１代行サーバを有し、
前記第２サイトは、前記第２サーバ群と前記第１ネットワークおよび第２ネットワーク経由で通信可能な第２代行サーバを有し、
前記第１代行サーバおよび前記第２代行サーバは、前記第１ネットワークおよび第２ネットワーク経由で通信可能であり、
前記障害復旧方法は、
前記第１代行サーバが、
前記第１サーバ群内の現用系である第１サーバに対し前記第１のネットワーク経由で前記要求信号を送信し、
前記応答信号を返さない特定の第１サーバに対して前記第２のネットワーク経由で前記要求信号を送信し、
前記特定の第１サーバからの前記応答信号の有無に基づいて、前記特定の第１サーバに障害が発生したか、または、前記第１代行サーバと前記特定の第１サーバとの間を接続する前記第１ネットワークの回線に障害が発生したかを判定し、
前記第２代行サーバに判定結果を送信し、
前記第２代行サーバが、
前記判定結果を受信し、
前記判定結果が前記特定の第１サーバに障害が発生したことを示す場合、前記第２サーバ群のうち前記特定の第１サーバの待機系となる特定の第２サーバを、現用系に設定する、
ことを特徴とする障害復旧方法。
【請求項７】
前記第１代行サーバが、
前記特定の第１サーバが復旧した場合、前記特定の第１サーバを待機系に設定する、
ことを特徴とする請求項６に記載の障害復旧方法。
【請求項８】
前記第２代行サーバが、
前記判定結果が前記第１代行サーバと前記特定の第１サーバとの間を接続する前記第１ネットワークの回線に障害が発生したことを示す場合、前記特定の第２サーバからの前記特定の第１サーバへの前記要求信号を受信し、
前記特定の第２サーバに対し前記応答信号を送信する、
ことを特徴とする請求項６に記載の障害復旧方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハートビート信号により死活確認をおこなう通信システム、代行サーバ、および、障害復旧方法に関する。
【背景技術】
【０００２】
データセンター（以下、「ＤＣ」）内のサーバは、サーバのダウンやハードディスクのクラッシュ等のトラブルが発生した場合に、サービスの維持や復旧時間短縮のために冗長構成がなされている。また、冗長をなすサーバ同士がお互いの死活を監視するために、一定時間ごとにハートビート（以下、「ＨＢ」）信号と呼ばれる自身の正常性を冗長先に知らせる信号を送り合い、ＡＣＴ系（本番系、現用系ともいう）のサーバに障害発生した際は、ＨＢ信号が途切れ、ＳＢＹ系（待機系、予備系ともいう）のサーバはＡＣＴ系のサーバの故障を認識し、系の切り替えが行われる。
【０００３】
近年、ＤＣではハードウェアリソースを有効活用するために仮想化技術が進み、物理サーバ内の仮想マシンについても冗長構成がとられている。仮想マシン同士でＨＢ通信を行う技術が存在する（例えば、下記特許文献１を参照。）。また、冗長構成をとるサーバ同士が２重ＡＣＴを防ぐために、ハートビート用ネットワーク（ＮＷ）が断線した場合でも、通常のサービス系ＮＷを使用して、死活監視を実施するという技術が存在する（例えば、下記特許文献２を参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１６５６３７号公報
【特許文献２】特開２０１１−２０３９４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、ＤＣ間の仮想マシン同士でＨＢ通信をおこなうため、ＤＣ間の通信負荷が増大するという問題がある。また、障害発生元が仮想マシンではなくネットワークである場合、待機系の仮想マシンが現用系の仮想マシンの故障と判定してしまい、待機系の仮想マシンがフェイルオーバにより現用系に設定されるという、いわゆる２重ＡＣＴが生じてしまうという問題がある。また、単にネットワークを２重化するとコストが増大するという問題がある。
【０００６】
本発明は、監視対象サーバの２重ＡＣＴを防止することを目的とする。
【課題を解決するための手段】
【０００７】
本願において開示される発明の一側面となる通信システム、代行サーバ、および、障害復旧方法は、第１サイト内の第１サーバ群内の現用系である第１サーバから第２サイト内の第２サーバ群内の前記第１サーバの待機系である第２サーバに死活確認を要求する要求信号を、前記第１サーバ群と前記第２サーバ群との間を通信可能に接続する第１ネットワーク経由で送信し、前記第２サーバから前記第１サーバに前記要求信号に対して応答する応答信号を、前記第１ネットワーク経由で送信するとともに、前記第１サーバ群と前記第２サーバ群との間を通信可能に接続する第２ネットワークを有する通信システムにおいて、前記第１サイトは、前記第１サーバ群と前記第１ネットワークおよび第２ネットワーク経由で通信可能な第１代行サーバを有し、前記第２サイトは、前記第２サーバ群と前記第１ネットワークおよび第２ネットワーク経由で通信可能な第２代行サーバを有し、前記第１代行サーバおよび前記第２代行サーバは、前記第１ネットワークおよび第２ネットワーク経由で通信可能であり、前記第１代行サーバは、前記第１サーバ群内の現用系である第１サーバに対し前記第１のネットワーク経由で前記要求信号を送信し、前記応答信号を返さない特定の第１サーバに対して前記第２のネットワーク経由で前記要求信号を送信し、前記特定の第１サーバからの前記応答信号の有無に基づいて、前記特定の第１サーバに障害が発生したか、または、前記第１代行サーバと前記特定の第１サーバとの間を接続する前記第１ネットワークの回線に障害が発生したかを判定し、前記第２代行サーバに判定結果を前記第１ネットワーク経由で送信し、前記第２代行サーバは、前記第１サーバへの前記要求信号を前記第１ネットワーク経由で前記第２サーバから受信し、前記第２サーバからの前記要求信号に対する前記応答信号を前記第１ネットワーク経由で前記第２サーバに送信し、前記判定結果を前記第１ネットワーク経由で前記第１代行サーバから受信し、前記判定結果が前記特定の第１サーバに障害が発生したことを示す場合、前記第２サーバ群のうち前記特定の第１サーバの待機系となる特定の第２サーバに対する前記応答信号の送信を停止する、ことを特徴とする。
【発明の効果】
【０００８】
本発明の代表的な実施の形態によれば、監視対象サーバの２重ＡＣＴを防止することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【０００９】
【図１】代行サーバによる障害復旧例１を示す説明図である。
【図２】代行サーバによる障害復旧例２を示す説明図である。
【図３】代行サーバによる障害復旧例３を示す説明図である。
【図４】代行サーバによる障害復旧例４を示す説明図である。
【図５】通信システムの詳細なシステム構成例を示す説明図である。
【図６】代行サーバのハードウェア構成例を示すブロック図である。
【図７】自サイト用テーブルの記憶内容例を示す説明図である。
【図８】対向サイト用テーブルの記憶内容例を示す説明図である。
【図９】ＨＢパケットのデータ構造例を示す説明図である。
【図１０】代行サーバが送信する状態変化パケットのデータ構造例１を示す説明図である。
【図１１】代行サーバが送信する状態変化パケットのデータ構造例２を示す説明図である。
【図１２】代行サーバが送信する状態変化パケットのデータ構造例３を示す説明図である。
【図１３】代行サーバが送信する状態変化パケットのデータ構造例４を示す説明図である。
【図１４】代行サーバが送信する状態変化パケットのデータ構造例５を示す説明図である。
【図１５】代行サーバによる仮想マシン死活確認処理手順例を示すフローチャートである。
【図１６】図１５に示した第１の死活確認処理（ステップＳ１５０５）の詳細な処理手順例を示すフローチャートである。
【図１７】代行サーバによるＨＢパケットの代行送信処理手順例を示すフローチャートである。
【図１８】代行サーバによる対向代行サーバの死活確認処理手順例を示すフローチャートである。
【図１９】図１８に示した第２の死活確認処理（ステップＳ１８０２）の詳細な処理手順例を示すフローチャートである。
【図２０】ＡＣＴ系の仮想マシン故障時のシーケンス図である。
【図２１】ＡＣＴ系の仮想マシンのＨＢ送受信機構の故障時のシーケンス図である。
【図２２】代行サーバの故障時のＡＣＴ系の仮想マシンへの処理を示すシーケンス図である。
【図２３】代行サーバの故障時のＳＢＹ系の仮想マシンへの処理を示すシーケンス図である。
【発明を実施するための形態】
【００１０】
本実施の形態では、ＤＣ自体が破壊されるような大規模な災害へ対処するために、遠隔のＤＣサイト間で、各ＤＣサイト内のサーバ（物理サーバ、仮想マシンのいずれでもよい）同士がＨＢ信号を送受信する。数千〜数万以上のサーバを有する大規模ＤＣ同士で冗長構成をとることを考慮すると、ＤＣサイト間をつなぐＮＷに膨大なＨＢ信号が行き交うことになるため、本実施の形態では、ＨＢ信号を管理や、ＨＢ信号を対向のＤＣサイト（「冗長サイト」という）へ送信する代行サーバが採用される。
【００１１】
具体的には、代行サーバは、ＤＣサイト間で各ＤＣ内の各サーバが送受信するＨＢ信号をＤＣ入口で監視し、ＤＣサイト内のサーバ群のＨＢ有無を一元管理し、収集したＨＢ有無を示す情報を整理する。そして、代行サーバは、変更点のみ冗長サイトの代行サーバ（「対向代行サーバ」という）へ送信する。冗長サイトの対向代行サーバが受信したＨＢ情報をもとに冗長サイト内の各サーバ（「冗長先サーバ」という）へＨＢ信号を送信することにより、冗長先サーバとの間で制御系ＮＷでのＨＢ信号の送受信を実現する。冗長先サーバからＨＢ信号の応答が途絶えた場合、代行サーバは、サービス系ＮＷを介して、死活監視を継続する。
【００１２】
また、第１のＤＣサイト内の第１の代行サーバは対向代行サーバである第２の代行サーバに対し、第１のＤＣサイト内のサーバの状態変化を示す状態変化パケットを送信する。状態変化パケットが途絶えた場合、第２の代行サーバはサービス系ＮＷ経由で第１の代行サーバの死活確認を実施する。サービス系ＮＷで通信可能な場合は、第１の代行サーバと第２の代行サーバとの間においてサービス系ＮＷ経由で状態変化パケットが送受信される。サービス系ＮＷでも通信不可能な場合は、第１の代行サーバの故障と判断され、第２の代行サーバが第１のＤＣサイト内のサーバの死活監視をサービス系ＮＷで行うことになる。以下、本実施の形態では、各ＤＣサイトで代行サーバを採用した場合のＤＣサイトでの障害復旧例について説明する。
【００１３】
＜代行サーバによる障害復旧例＞
図１〜図４を用いて、代行サーバによる障害復旧例を説明する。まずは、図１を用いて、図１〜図４に共通する内容について説明する。
【００１４】
図１は、代行サーバによる障害復旧例１を示す説明図である。通信システム１００は、ＤＣサイト１０１ＡとＤＣサイト１０１Ｂと、両ＤＣサイト１０１Ａ、１０１Ｂを接続する２系統のネットワーク１１０、１２０と、を有する。ＤＣサイト１０１Ａからみれば、ＤＣサイト１０１Ｂは冗長先サイトであり、ＤＣサイト１０１Ｂからみれば、ＤＣサイト１０１Ａは冗長先サイトである。
【００１５】
ＤＣサイト１０１Ａは、代行サーバ１０２Ａと、複数のサーバ１０３Ａ−１〜１０３Ａ−ｍ（ｍは２以上の整数）を有する。サーバ１０３Ａ−ｉ（１≦ｉ≦ｍ）は、物理サーバ、仮想マシンのいずれでもよい。ＤＣサイト１０１Ｂは、代行サーバ１０２Ｂと、複数のサーバ１０３Ｂ−１〜１０３Ｂ−ｎ（ｎは２以上の整数）を有する。サーバ１０３Ｂ−ｊ（１≦ｊ≦ｎ）は、物理サーバ、仮想マシンのいずれでもよい。なお、複数のサーバ１０３Ａ−１〜１０３−ｍ内でＡＣＴ（現用）とＳＢＹ（待機）の関係にあるサーバが存在してもよいし、複数のサーバ１０３Ｂ−１〜１０Ｂ−ｎ内でＡＣＴ（現用）とＳＢＹ（待機）の関係にあるサーバが存在してもよい。
【００１６】
本例では、同一機能であるサーバ１０３Ａ−ｉおよびサーバ１０３Ｂ−ｊのいずれか一方がＡＣＴ（現用）であり、他方がＳＢＹ（待機）に設定されるものとする。ここでは、サーバ１０３Ａ−ｉをＡＣＴとし、サーバ１０３Ａ−ｉと同一機能であるサーバ１０３Ｂ−ｊをＳＢＹとする。このため、サーバ１０３Ａ−ｉとサーバ１０３Ｂ−ｊとの間でＨＢ信号を送受信しあう必要がある。
【００１７】
代行サーバ１０２Ａは、配下の複数のサーバ１０３Ａ−１〜１０３Ａ−ｍからのＨＢ信号をまとめ上げて、制御系ＮＷを介して代行サーバ１０２Ｂに送信する。ＨＢ信号をまとめ上げた死活確認情報については後述する。代行サーバ１０２Ｂは、代行サーバ１０２Ａからの死活確認情報を受信する。そして、代行サーバ１０２Ｂは、受信した死活確認情報を参照して、複数のサーバ１０３Ａ−１〜１０３Ａ−ｍからのＨＢ信号の要求に対し、ＨＢ信号を代理応答する。
【００１８】
同様に、代行サーバ１０２Ｂは、配下の複数のサーバ１０３Ｂ−１〜１０３Ｂ−ｎからのＨＢ信号をまとめ上げて、制御系ＮＷを介して代行サーバ１０２Ａに送信する。代行サーバ１０２Ａは、代行サーバ１０２Ｂからの死活確認情報を受信する。そして、代行サーバ１０２Ａは、受信した死活確認情報を参照して、複数のサーバ１０３Ｂ−１〜１０３Ｂ−ｎからのＨＢ信号の要求に対し、ＨＢ信号を代理応答する。
【００１９】
また、代行サーバ１０２Ａからみれば、代行サーバ１０２Ｂは対向代行サーバであり、代行サーバ１０２Ｂからみれば、代行サーバ１０２Ａは対向代行サーバである。
【００２０】
制御系ＮＷ１１０は、ＤＣサイト１０１ＡとＤＣサイト１０１Ｂとの間の死活確認のためのネットワークであり、サービス系ＮＷ１２０は、図示しない端末が、ＤＣサイト１０１Ａ、ＤＣサイト１０１Ｂで提供されるサービスを利用するために、ＡＣＴに設定されたサーバにアクセスするためのネットワークである。実線の双方向矢印は、制御系ＮＷ１１０の回線であり、一点鎖線の双方向矢印は、サービス系ＮＷ１２０の回線である。つぎに、代行サーバによる障害復旧例１の動作について説明する。
【００２１】
（ａ）は、ＡＣＴのサーバ１０３Ａ−ｉに障害が発生した状態を示す。代行サーバ１０２Ａは、配下の複数のサーバ１０３Ａ−１〜１０３Ａ−ｍにＨＢ信号の要求を送るが、サーバ１０３Ａ−ｉに障害が発生したため、サーバ１０３Ａ−ｉは、当該要求を受信できず、サーバ１０３Ａ−ｉからＨＢ信号が制御系ＮＷ１１０経由で送信されない（１）。
【００２２】
この場合、代行サーバ１０２Ａは、サーバ１０３Ａ−ｉからＨＢ信号が送信されないのは、サーバ１０３Ａ−ｉ自身に障害が発生したのか、サーバ１０３Ａ−ｉには障害が発生していないが、代行サーバ１０２Ａとサーバ１０３Ａ−ｉとを接続する制御系ＮＷ１１０の回線（双方向矢印）に障害が発生したのか、区別できない。
【００２３】
このため、代行サーバ１０２Ａは、サービス系ＮＷ１２０経由で、サーバ１０３Ａ−ｉに対しＨＢ信号の要求を送信する（２）。本例の場合、サーバ１０３Ａ−ｉ自身に障害が発生したため、サーバ１０３Ａ−ｉから代行サーバ１０２Ａには、サービス系ＮＷ１２０経由でもＨＢ信号が送信されない。これにより、代行サーバ１０２Ａは、代行サーバ１０２Ａとサーバ１０３Ａ−ｉとを接続する制御系ＮＷ１１０の回線に障害が発生したのではなく、サーバ１０３Ａ−ｉ自身に障害が発生したと判断する。したがって、代行サーバ１０２Ａは、代行サーバ１０２Ｂに、死活確認情報であるサーバ１０３Ａ−ｉの障害通知を制御系ＮＷ１１０経由で送信する（３）。
【００２４】
（ｂ）は、（ａ）の次状態である。代行サーバ１０２Ｂは、サーバ１０３Ａ−ｉの障害通知（３）を受信すると、サーバ１０３Ａ−ｉと同一機能であるＳＢＹのサーバ１０３Ｂ−ｊからのＨＢ信号の要求に対する代理応答を停止する（４）。代行サーバ１０２Ｂからの代理応答（４）がないことで、サーバ１０３Ｂ−ｊはフェイルオーバし、ＡＣＴになる（５）。
【００２５】
これにより、サービス系ＮＷ１２０に接続されている端末は、サービス系ＮＷ１２０経由で、ＡＣＴになったサーバ１０３Ｂ−ｊによりサービスの提供を受けることができる。このあと、サーバ１０３Ａ−ｉが復旧（６）した場合、サーバ１０３Ａ−ｉはＳＢＹとなり、代行サーバ１０２Ａとの間で死活確認が可能となる（７）。これにより、同一機能のサーバの２重ＡＣＴを防止することができる。
【００２６】
図２は、代行サーバによる障害復旧例２を示す説明図である。障害復旧例２は、ＡＣＴのサーバ１０３Ａ−ｉには障害が発生していないが、代行サーバ１０２Ａとサーバ１０３Ａ−ｉとを接続する制御系ＮＷ１１０の回線に障害が発生した場合の復旧例である。
【００２７】
（ａ）において、代行サーバ１０２Ａは、配下の複数のサーバ１０３Ａ−１〜１０３Ａ−ｍにＨＢ信号の要求を送るが、代行サーバ１０２Ａとサーバ１０３Ａ−ｉとを接続する制御系ＮＷ１１０の回線に障害が発生したため、サーバ１０３Ａ−ｉは、当該要求を受信できず、ＨＢ信号がサーバ１０３Ａ−ｉから制御系ＮＷ１１０経由で送信されない（１）。
【００２８】
この場合、代行サーバ１０２Ａは、サーバ１０３Ａ−ｉからＨＢ信号が送信されないのは、サーバ１０３Ａ−ｉ自身に障害が発生したのか、サーバ１０３Ａ−ｉには障害が発生していないが、代行サーバ１０２Ａとサーバ１０３Ａ−ｉとを接続する制御系ＮＷ１１０の回線に障害が発生したのか、区別できない。
【００２９】
このため、代行サーバ１０２Ａは、サービス系ＮＷ１２０経由で、サーバ１０３Ａ−ｉに対しＨＢ信号の要求を送信する（２）。本例の場合、代行サーバ１０２Ａとサーバ１０３Ａ−ｉとを接続する制御系ＮＷ１１０の回線に障害が発生したため、サーバ１０３Ａ−ｉから代行サーバ１０２Ａには、サービス系ＮＷ１２０経由でＨＢ信号が送信される。これにより、代行サーバ１０２Ａは、代行サーバ１０２Ａとサーバ１０３Ａ−ｉとを接続する制御系ＮＷ１１０の回線に障害が発生したと判断し、サーバ１０３Ａ−ｉが生存していることを確認する。したがって、代行サーバ１０２Ａは、代行サーバ１０２Ｂに、サーバ１０３Ａ−ｉの正常通知を制御系ＮＷ１１０経由で送信する（３）。
【００３０】
サーバ１０３Ａ−ｉの正常通知（３）を受信した代行サーバ１０２Ｂは、サーバ１０３Ａ−ｉと同一機能であるＳＢＹのサーバ１０３Ｂ−ｊからＨＢ信号の要求を受け付け、サーバ１０３Ｂ−ｊに対してＨＢ信号を代理応答する（４）。これにより、サーバ１０３Ｂ−ｊは、代行サーバ１０２Ａとサーバ１０３Ａ−ｉとを接続する制御系ＮＷ１１０の回線に障害が発生したにもかかわらず、サーバ１０３Ａ−ｉが生存していることを確認することができる。
【００３１】
（ｂ）は、（ａ）の次状態を示す。代行サーバ１０２Ａとサーバ１０３Ａ−ｉとを接続する制御系ＮＷ１１０の回線が復旧（５）した場合、代行サーバ１０２Ａは、サーバ１０３Ａ−ｉからＨＢ信号の要求を受け付け、サーバ１０３Ａ−ｉに対してＨＢ信号を送信する（５）。これにより、代行サーバ１０２Ａは、サーバ１０３Ａ−ｉが生存していることを確認する。したがって、代行サーバ１０２Ａは、代行サーバ１０２Ｂに、サーバ１０３Ａ−ｉの正常通知を制御系ＮＷ１１０経由で送信する（６）。
【００３２】
サーバ１０３Ａ−ｉの正常通知（６）を受信した代行サーバ１０２Ｂは、サーバ１０３Ａ−ｉと同一機能であるＳＢＹのサーバ１０３Ｂ−ｊからＨＢ信号の要求を受け付け、サーバ１０３Ｂ−ｊに対してＨＢ信号を代理応答する（７）。これにより、サーバ１０３Ｂ−ｊは、サーバ１０３Ａ−ｉが生存していることを確認することができる。また、障害発生前と同じ状態に戻すことができる。
【００３３】
図３は、代行サーバによる障害復旧例３を示す説明図である。障害復旧例３は、代行サーバ１０２Ａに障害が発生した場合の復旧例である。障害復旧例３では、ＡＣＴであるサーバについて説明する。ここでは、サーバ１０３Ａ−ｉはＡＣＴとする。ＳＢＹであるサーバについては図４で説明する。
【００３４】
（ａ）において、代行サーバ１０２Ａは、障害のため、サーバ１０３Ａ−ｉに対しＨＢ信号を要求できず、サーバ１０３Ａ−ｉの死活確認ができない（１）。これにより、代行サーバ１０２Ａは、代行サーバ１０２Ｂに対し死活確認情報を送信できない。
【００３５】
代行サーバ１０２Ｂは、代行サーバ１０２Ａから死活確認情報が送信されてこないため、サービス系ＮＷ１２０経由で代行サーバ１０２Ａの死活確認をおこなう（２）。本例の場合、代行サーバ１０２Ａから応答が返ってこないため、代行サーバ１０２Ｂは、代行サーバ１０２Ａに障害が発生したと判断する。
【００３６】
（ｂ）は、（ａ）の次状態を示す。代行サーバ１０２Ａの障害によりＨＢ信号の代理応答ができないため、代行サーバ１０２Ｂは、サービス系ＮＷ１２０経由で、ＤＣサイト１０１Ａ内のＡＣＴのサーバ１０３Ａ−ｉに対し、代行サーバ１０２Ａの替わりにＨＢ信号の要求を送り、サーバ１０３Ａ−ｉからＨＢ信号を受信する（３）。
【００３７】
代行サーバ１０２Ｂは、サーバ１０３Ｂ−ｊからＨＢ信号の要求があると、（３）によりサーバ１０３Ａ−ｉの生存を確認済みであるため、ＨＢ信号を送信したサーバ１０３Ａ−ｉの替わりに、サーバ１０３Ｂ−ｊにＨＢ信号を代理応答する（４）。これにより、代行サーバ１０２Ａに障害が発生した場合でも、サーバ１０３Ａ−ｉの死活確認をすることができる。
【００３８】
このあと、代行サーバ１０２Ａが復旧（５）した場合、代行サーバ１０２Ａは、サーバ１０３Ｂ−ｊの替わりにサーバ１０３Ａ−ｉにＨＢ信号を要求し、サーバ１０３Ａ−ｉからＨＢ信号を受信する（６）。これにより、代行サーバ１０２Ａは、サーバ１０３Ａ−ｉが生存していることを確認する。したがって、代行サーバ１０２Ａは、代行サーバ１０２Ｂに、サーバ１０３Ａ−ｉの正常通知を制御系ＮＷ１１０経由で送信する（７）。これにより、障害発生前と同じ状態に戻すことができる。
【００３９】
図４は、代行サーバによる障害復旧例４を示す説明図である。障害復旧例４は、代行サーバ１０２Ａに障害が発生した場合の復旧例である。図３との相違は、図３では、サーバ１０３Ａ−ｉはＡＣＴであったのに対し、図４では、サーバ１０３Ａ−ｉはＳＢＹである。
【００４０】
（ａ）において、代行サーバ１０２Ａは、障害のため、サーバ１０３Ａ−１〜１０３Ａ−ｍに対しＨＢ信号を要求できず、サーバ１０３Ａ−１〜１０３Ａ−ｍの死活確認ができない（１）。これにより、代行サーバ１０２Ａは、代行サーバ１０２Ｂに対し死活確認情報を送信できない。
【００４１】
代行サーバ１０２Ｂは、代行サーバ１０２Ａから死活確認情報が送信されてこないため、サービス系ＮＷ１２０経由で代行サーバ１０２Ａの死活確認をおこなう（２）。本例の場合、代行サーバ１０２Ａから応答が返ってこないため、代行サーバ１０２Ｂは、代行サーバ１０２Ａに障害が発生したと判断する。
【００４２】
代行サーバ１０２Ｂは、サーバ１０３Ａ−ｉのフェイルオーバ防止のため、制御系ＮＷ１１０経由で、サーバ１０３Ａ−ｉに対し、停止指示を送信する（３）。これにより、サーバ１０３Ａ−ｉは処理を停止する（４）。
【００４３】
（ｂ）は、（ａ）の次状態を示す。代行サーバ１０２Ａが復旧（５）した場合、代行サーバ１０２Ａは、代行サーバ１０２Ｂに回復通知を送信する（６）。代行サーバ１０２Ｂは、回復通知（６）を受信すると、サーバ１０３Ａ−ｉに起動指示を送信する（７）。そして、サーバ１０３Ａ−ｉは起動して、ＳＢＹとなる（８）。これにより、障害発生前と同じ状態に戻すことができる。
【００４４】
＜システム構成例＞
図５は、通信システム１００の詳細なシステム構成例を示す説明図である。通信システム１００は、異なるＤＣサイト間で冗長構成をなす複数のサーバが一定時間ごとにＨＢパケットを互いに送り合うようなシステムである。ＤＣサイト１０１Ａは、制御系ＮＷ１１０を介して、遠隔地のデータセンターであるＤＣサイト１０１ＢとＨＢ信号の送受信を行う。制御系ＮＷ１１０は、データベースの同期化データや各仮想マシン、物理サーバの制御信号、仮想マシンの構成ファイル等の制御系の信号がＤＣサイト１０１Ａ、１０１Ｂ間を行き交うネットワークである。図５中、点線双方向矢印は制御系ＮＷ１１０の回線である。
【００４５】
ＤＣサイト１０１Ａは、代行サーバ１０２Ａと、物理サーバＡ1〜物理サーバＡmとを備える。また、物理サーバＡ1は、物理サーバＡ1内に複数の仮想マシンを動作可能にさせる仮想サーバとして動作する仮想マシンＶＭ−Ａ1,1〜仮想マシンＶＭ−Ａ1,nを、物理サーバＡmは、仮想マシンＶＭ−Ａm,1、…を備える。
【００４６】
同様に、ＤＣサイト１０１Ｂは、代行サーバ１０２Ｂと、物理サーバＢ1〜物理サーバＢmとを備える。また、物理サーバＢ1は、物理サーバＢ1内に複数の仮想マシンを動作可能にさせる仮想サーバとして動作する仮想マシンＶＭ−Ｂ1,1〜ＶＭ−Ｂ1,nを、物理サーバＢmは、仮想マシンＶＭ−Ｂm,1、…を備える。
【００４７】
図５では、同じ添え字を持った仮想マシン同士が冗長構成をとっているものとし、（Ａ）がＡＣＴ系、（Ｓ）がＳＢＹ系を示す。
【００４８】
以下、代行サーバ１０２Ａを基準に説明するが、代行サーバ１０２Ｂについても同様である。代行サーバ１０２Ａは、ＤＣサイト１０１Ａ内の物理サーバや仮想マシンといった各サーバから送信されるＨＢ信号であるＨＢパケットＰ１を受信し、ＤＣサイト１０１Ａ内の各サーバのＨＢパケットＰ１の有無を示す情報（ＨＢ有無情報）を各サーバのアドレス、冗長先サーバのアドレスとともに管理する。
【００４９】
ＨＢパケットＰ１は、生存確認を要求するパケットと当該要求に応答するパケットの２種類がある。前者をＨＢ要求パケットと称し、後者をＨＢ応答パケットと称す。また、代行サーバ１０２Ａは、収集した各サーバのＨＢ有無情報を整理し、変化のあったサーバについては、ＨＢ信号である状態変化パケットＰ２を代行サーバ１０２Ｂへ制御系ＮＷ１１０経由で送信する。状態変化パケットＰ２は、仮想マシンの死活の変化を示す情報を含むパケットである。
【００５０】
この場合、代行サーバ１０２Ｂは、受信した状態変化パケットＰ２からＤＣサイト１０１Ａ内の各サーバのＨＢ有無情報を更新し、更新した情報をもとにＤＣサイト１０１Ｂ内の各サーバへＨＢパケットＰ１を送信する。以上の手順により、ＤＣサイト１０１Ａ内のサーバからＤＣサイト１０１Ｂ内の冗長先となるサーバへＨＢパケットＰ１が送信される。
【００５１】
一方、サービス系ＮＷ１２０は、端末５００とＡＣＴ系のサーバが通信するためのネットワークである。ＨＢパケットＰ１が途絶えた時には、仮想マシンや代行サーバ１０２Ａ、１０２Ｂが本当に故障しているのかどうか確認するため、もしくは故障箇所を特定するために、サービス系ＮＷ１２０が使用される。図５中、実線双方向矢印はサービス系ＮＷ１２０の回線である。
【００５２】
＜代行サーバのハードウェア構成例＞
図６は、代行サーバ１０２Ａのハードウェア構成例を示すブロック図である。代行サーバ１０２Ｂも同一構成であるため、代行サーバ１０２Ａを例に挙げて説明し、代行サーバ１０２Ａについては省略する。代行サーバ１０２Ａは、ＤＣ側制御系信号用ＩＦ６０１、ＤＣ側サービス系信号用ＩＦ６０２、ＮＷ側制御系信号用ＩＦ６０３、ＮＷ側サービス系信号用ＩＦ６０４、パケット処理部６０５、記憶部６０６、制御部６０７を備える、保守端末６１０と接続される。
【００５３】
ＤＣ側制御系信号用ＩＦ６０１は、ＤＣサイト１０１Ａ内の各仮想マシンと代行サーバ１０２Ａとの間のＨＢ信号を送受信するインターフェースである。ホストＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やハイバーバイザに対して仮想マシンの停止、再起動指示を出すためにも使用される。
【００５４】
ＤＣ側サービス系信号用ＩＦ６０２は、ＤＣサイト１０１Ａ内の仮想マシンのＨＢ信号が途絶えたときに、故障してサービスを停止したか、または、回線のみの故障でサービスは継続中であるかを確認するためのインターフェースである。
【００５５】
ＮＷ側制御系信号用ＩＦ６０３は、状態変化パケットＰ２を送受信するインターフェースである。ＮＷ側サービス系信号用ＩＦ６０４は、サービス系ＮＷ１２０経由で対向代行サーバ１０２ＢおよびＤＣサイト１０１Ａ内の仮想マシンの死活確認を行うインターフェースである。
【００５６】
パケット処理部６０５は、ヘッダ解析部６５１と、パケット挿入部６５２と、テーブル管理部６５３と、を備える。ヘッダ解析部６５１は、受信したＨＢパケットＰ１および状態変化パケットＰ２のヘッダを解析する。パケット挿入部６５２は、仮想マシンへ送るＨＢパケットＰ１および状態変化パケットＰ２を生成する。テーブル管理部６５３は、受信したＨＢパケットＰ１および状態変化パケットＰ２の情報から記憶部６０６内のテーブルを更新する。
【００５７】
記憶部６０６は、自サイト用テーブル６６１と、対向サイト用テーブル６６２と、を記憶する。自サイト用テーブル６６１および対向サイト用テーブル６６２については後述する。記憶部６０６は、自サイト用テーブル６６１および対向サイト用テーブル６６２により、各仮想マシンのＨＢ有無情報やＡＣＴ／ＳＢＹ情報を記憶する。
【００５８】
制御部６０７は、保守者が保守端末６１０を通して入力した各設定値をパケット処理部６０５および記憶部６０６に設定する。保守端末６１０は、自サイト用テーブル６６１および対向サイト用テーブル６６２の初期設定、状態変化パケットＰ２の送信間隔や冗長構成をなす組の設定、仮想マシンのフェールバック指示のために使用される。
【００５９】
＜テーブルの記憶内容例＞
図７は、自サイト用テーブル６６１の記憶内容例を示す説明図である。自サイト用テーブル６６１は、自ＤＣサイト内の各サーバのＨＢ情報が記録されるテーブルである。図７では、ＤＣサイト１０１Ａを自サイトとする。自サイト用テーブル６６１は、自ＤＣ側ＶＭアドレス（制御）、自ＤＣ側ＶＭアドレス（サービス）、物理グループ番号、減算カウンタ初期値、減算カウンタ値、ＨＢ有無情報、ＡＣＴ／ＳＢＹ情報を、仮想マシンごとに記憶する。各行が自ＤＣサイト内の仮想マシンに対応する。
【００６０】
自ＤＣ側ＶＭアドレス（制御）は、自ＤＣサイト内における仮想マシンに割り当てられた制御系ＮＷ１１０のアドレスである。自ＤＣ側ＶＭアドレス（サービス）は、自ＤＣサイトにおける仮想マシンに割り当てられたサービス系ＮＷ１２０のアドレスである。
【００６１】
物理グループ番号は、仮想マシンが配置される物理グループを一意に特定する番号である。減算カウンタ初期値は、減算カウンタの初期値であり、減算カウンタ値にロードされる。減算カウンタ値は、ＨＢ送信無と判断するまでの時間を計る値である。ＨＢ有無情報は、その仮想マシンについてＨＢ応答パケットＰ１の有無を示す情報である。たとえば、ＨＢ信号の要求を当該仮想マシンに送信した場合に、応答が返ってきた場合は「有」、返ってこない場合は「無」である。ＡＣＴ／ＳＢＹ情報は、その仮想マシンがＡＣＴであるかＳＢＹであるかを示す情報である。
【００６２】
仮想マシンからＨＢ応答パケットＰ１を受信すると、代行サーバは、ＨＢ有無情報が「１」に更新して、減算カウンタ値に減算カウンタ初期値をロードする。このあと、当該仮想マシンから次のＨＢ応答パケットＰ１を受信するかまたは減算カウント値が０になるまで、カウントダウンを続ける。代行サーバが仮想マシンからＨＢ応答パケットＰ１を受信しなくなると、減算カウンタ値が０になるため、代行サーバは、これを契機にＨＢ有無情報を「１」から「０」に更新する。
【００６３】
図８は、対向サイト用テーブル６６２の記憶内容例を示す説明図である。なお、図７と図８において、同一行番号どうしは、冗長構成をとる仮想マシンのペアとする。対向サイト用テーブル６６２は、冗長の対向ＤＣサイト内の各サーバのＨＢ情報が記録されるテーブルである。対向サイト用テーブル６６２は、対向ＤＣ側ＶＭアドレス（制御）、対向ＤＣ側ＶＭアドレス（サービス）、物理グループ番号、減算カウンタ初期値、減算カウンタ値、ＨＢ有無情報、ＡＣＴ／ＳＢＹ情報を、仮想マシンごとに記憶する。各行が対向冗長先サイト内の仮想マシン（以下、対向仮想マシン）に対応する。
【００６４】
対向ＤＣ側ＶＭアドレス（制御）は、対向仮想マシンに割り当てられた制御系ＮＷ１１０のアドレスである。対向ＤＣ側ＶＭアドレス（サービス）は、対向仮想マシンのサービス系ＮＷ１２０に割り当てられたアドレスである。
【００６５】
物理グループ番号は、対向仮想マシンが配置される物理グループを一意に特定する番号である。減算カウンタ初期値は、減算カウンタの初期値であり、減算カウンタ値にロードされる。減算カウンタ値は、ＨＢ送信無と判断するまでの時間を計る値である。
【００６６】
ＨＢ有無情報は、その対向仮想マシンについてＨＢ応答パケットＰ１の有無を示す情報である。たとえば、冗長サイトにおいて対向代行サーバがＨＢ要求パケットＰ１を当該対向仮想マシンに送信した場合に、応答が返ってきた場合は「有」、返ってこない場合は「無」である。ＨＢ有無情報は、代行サーバが対向代行サーバから状態変化パケットＰ２を受信した場合に、当該状態変化パケットＰ２の内容に従って更新される。ＡＣＴ／ＳＢＹ情報は、対向仮想マシンがＡＣＴであるかＳＢＹであるかを示す情報である。
【００６７】
減算カウンタ値は、ＨＢ要求パケットＰ１を自ＤＣサイト内の各サーバへ送信する時間を知らせるタイマーとして機能し、代行サーバがＨＢ要求パケットＰ１を代行送信する度に減算カウンタ初期値がロードされる。すなわち、減算カウンタ値が０になったときにＨＢ有無情報が「１」のときは、自サイト内の代行サーバは、自ＤＣサイト内の仮想マシンに対しＨＢ要求パケットＰ１を代行送信し、「０」のときは送信しない。これにより、冗長サイト内の対向仮想マシンが自ＤＣサイト内の仮想マシンに対しＨＢ要求パケットＰ１をあたかも送信しているかのようにみせかけることができる。
【００６８】
＜パケットのデータ構造例＞
図９は、ＨＢパケットＰ１のデータ構造例を示す説明図である。ＨＢパケットＰ１は、仮想マシンが送信するＨＢ信号である。ＨＢパケットＰ１は、ヘッダ情報として、送信元アドレスと、宛先アドレスと、パケット種類と、その他ヘッダ情報と、を有する。送信元アドレスは、ＨＢパケットＰ１を送信する仮想マシンのアドレスである。ＨＢパケットＰ１は代行サーバが送信する場合がある。この場合、送信元アドレスは、代行サーバのアドレスとなる。
【００６９】
宛先アドレスは、ＨＢパケットＰ１の宛先となる冗長サイト内の仮想マシンのアドレスである。パケット種類は、ＨＢパケットＰ１の種類を示す情報である。たとえば、パケット種類には、要求と応答がある。要求の場合は、ＨＢ要求パケットＰ１であり、応答の場合は、ＨＢ応答パケットＰ２である。自ＤＣサイトの代行サーバは、配下の仮想マシンからのＨＢパケットＰ１の宛先アドレスを参照して、対向サイト用テーブル６６２のＨＢ有無情報を確認する。
【００７０】
図１０〜図１４は、代行サーバが送信する状態変化パケットＰ２のデータ構造例を示す説明図である。図１０〜図１４において、状態変化パケットＰ２は、ヘッダ情報として、送信元アドレスと、宛先アドレスと、パケット種類と、物理グループと、状態情報と、状態変化ＶＭ番号と、その他ヘッダ情報と、を有する。
【００７１】
送信元アドレスは、状態変化パケットＰ２を送信する代行サーバのアドレスである。宛先アドレスは、対向ＤＣサイトの代行サーバのアドレスである。パケット種類は、状態変化パケットＰ２の種類を示す情報である。この項目を参照することで、状態変化パケットＰ２を受信した代行サーバは、受信したパケットが状態変化パケットＰ２であると特定することができる。物理グループ番号は、状態変化した仮想マシンが配置される物理グループを一意に特定する番号である。たとえば、「ＡＬＬ」は指定無しを意味し、「＃２」は、＃２の物理サーバ（ＤＣサイト１０１Ａの場合は、物理サーバＡ2）を示す。
【００７２】
状態情報は、状態変化を特定する情報である。本例では、状態情報は２ビットの情報であり、「全死（１１）」、「変化有（１０）」、「変化無（０１）」、「変化無（００）」の４種類がある。「全死（１１）」は、送信元アドレスにより特定される代行サーバの配下のすべての仮想マシンに障害が発生していることを示す。
【００７３】
「変化有（１０）」は、状態変化ＶＭ番号により特定される仮想マシンの状態が変化したことを示す。具体的には、「生⇒死」、または、「死⇒生」のいずれかを示すが、いずれであるかを特定する必要はない。なお、「生⇒死」は障害発生を示し、「死⇒生」は障害からの復旧を示す。
【００７４】
「変化無（０１）」は、状態変化ＶＭ番号により特定される仮想マシンの状態が変化していないことを示す。具体的には、障害発生中の仮想マシンは障害発生中、正常に動作している仮想マシンについては正常動作中であることを示す。
【００７５】
「変化無（００）」は、送信元アドレスにより特定される代行サーバの配下のすべての仮想マシンの状態が変化していないことを示す。具体的には、障害発生中の仮想マシンは障害発生中、正常に動作している仮想マシンについては正常動作中であることを示す。状態変化ＶＭ番号は、状態が変化した仮想マシンを一意に特定する番号である。状態情報が「全死（１１）」および「変化無（００）」の場合は、不要である。
【００７６】
図１０の状態変化パケットＰ２は、状態変化した仮想マシン台数が仮想マシン総数の半数以下の場合に送信される信号である。図１０の状態変化パケットＰ２は、たとえば、仮想マシンが１００台あるうち、仮想マシン＃１と仮想マシン＃４の２台の状態が変化した場合に送信される。
【００７７】
また、図１１の状態変化パケットＰ２は、状態変化した仮想マシン数が仮想マシン総数の過半数の場合に送信される信号である。図１１の状態変化パケットＰ２は、たとえば、仮想マシンが１００台あるうち、仮想マシン＃１と仮想マシン＃３の２台の状態が変化しなかった場合に送信される。すなわち、状態変化ＶＭ番号の番号列が短くなるように、状態情報と状態変化ＶＭ番号を選択することにより、状態変化パケットＰ２のデータサイズを圧縮することができる。
【００７８】
図１２の状態変化パケットＰ２は、物理グループ＃２で特定される物理サーバに障害が発生した場合の状態変化パケットＰ２である。特定の物理グループ内の全仮想マシンを指定することにより、状態変化ＶＭ番号を列挙する必要がないため、状態変化パケットＰ２のデータサイズを圧縮することができる。
【００７９】
図１３の状態変化パケットＰ２は、ＤＣサイト内のすべての物理サーバに障害が発生した場合の状態変化パケットＰ２である。全仮想マシンを指定することにより、状態変化ＶＭ番号を列挙する必要がないため、状態変化パケットＰ２のデータサイズを圧縮することができる。
【００８０】
図１４の状態変化パケットＰ２は、ＤＣサイト内のすべての仮想マシンが状態変化していない場合の状態変化パケットＰ２である。まったく状態変化がない場合に状態変化パケットＰ２を送信しないと、代行サーバの故障またはＤＣサイト自体の破壊を検知できなくなってしまうため、図１４の状態変化パケットＰ２が送信される。
【００８１】
代行サーバは状態変化パケットＰ２用のタイマーを持っており、保守者があらかじめ保守端末６１０からタイマーの周期を設定しておく。このタイマーを使い一定期間状態変化パケットＰ２の送信が無くなった場合、図１４に示した状態変化パケットＰ２を送信することになる。また、全仮想マシンを指定することにより、状態変化ＶＭ番号を列挙する必要がないため、状態変化パケットＰ２のデータサイズを圧縮することができる。
【００８２】
＜代行サーバによる仮想マシン死活確認処理＞
図１５は、代行サーバによる仮想マシン死活確認処理手順例を示すフローチャートである。図１５は、配下の仮想マシンの死活確認をおこなう処理手順例である。代行サーバは、自サイト用テーブル６６１のインデックスｉをｉ＝１に設定し（ステップＳ１５０１）、ｉ行目のエントリの減算カウンタ値が０であるか否かを判断する（ステップＳ１５０２）。
【００８３】
減算カウンタ値が０である場合（ステップＳ１５０２：Ｙｅｓ）、ｉ行目の仮想マシンはすでにＨＢ要求パケットＰ１を受信できない状況になっているため、代行サーバとしては何も行わない。このため、ステップＳ１５０６に移行する。
【００８４】
一方、減算カウンタ値が０以外である場合（ステップＳ１５０２：Ｎｏ）、代行サーバは、ｉ行目のエントリの減算カウンタ値を１減算する（ステップＳ１５０３）。そして、代行サーバは、再度ｉ行目のエントリの減算カウンタ値が０であるか否かを判断する（ステップＳ１５０４）。
【００８５】
減算カウンタ値が０でない場合（ステップＳ１５０４：Ｎｏ）、ステップＳ１５０６に移行する。一方、減算カウンタ値が０である場合（ステップＳ１５０４：Ｙｅｓ）、ＨＢパケットＰ１の受信時刻にも関わらず、ｉ行目の仮想マシンはＨＢ要求パケットＰ１を受信していないことになるため、代行サーバは、第１の死活確認処理を実行する（ステップＳ１５０５）。第１の死活確認処理（ステップＳ１５０５）は、サービス系ＮＷ１２０経由でｉ行目の仮想マシンの死活確認を実行する処理である（図１の（２）、図２の（２）を参照。）。第１の死活確認処理（ステップＳ１５０５）の詳細については図１６で後述する。
【００８６】
第１の死活確認処理（ステップＳ１５０５）のあと、代行サーバは、ｉ行目のエントリが最終行であるか否かを判断する（ステップＳ１５０６）。最終行でない場合（ステップＳ１５０６：Ｎｏ）、インデックスｉをインクリメントして（ステップＳ１５０７）、ステップＳ１５０２に戻る。一方、最終行である場合（ステップＳ１５０６：Ｙｅｓ）、ステップＳ１５０１に戻る。
【００８７】
図１６は、図１５に示した第１の死活確認処理（ステップＳ１５０５）の詳細な処理手順例を示すフローチャートである。まず、代行サーバは、サービス系ＮＷ１２０経由で送信して、冗長先サイトの仮想マシンに死活確認をおこなう（ステップＳ１６０１）。そして、代行サーバは、サービス系ＮＷ１２０経由での応答の有無により、当該仮想マシンが生存しているか否かを判断する（ステップＳ１６０２）。
【００８８】
応答がない場合（ステップＳ１６０２：Ｎｏ）、当該仮想マシンに障害が発生しているため、代行サーバは、自サイト用テーブル６６１の当該仮想マシンのＨＢ有無情報を「０（無）」に、サービスを「ＳＢＹ」に更新し、対向サイト用テーブル６６２の当該仮想マシンのサービスを「ＡＣＴ」に更新する（ステップＳ１６０３）。そして、代行サーバは、該当仮想マシンに障害があることを状態変化パケットＰ２で対向代行サーバへ通知して（Ｓ１６０４）、ステップＳ１５０６に移行する。一方、生存している場合（ステップＳ１６０２：Ｙｅｓ）、当該仮想マシンは正常であるため、代行サーバは、当該仮想マシンが回線異常によりＨＢパケットＰ１を送信できていないことを保守端末６１０に通知する（Ｓ１６０５）。代行サーバは、当該仮想マシンが「ＡＣＴ」であるか否かを判断し（ステップＳ１６０６）、当該仮想マシンが「ＡＣＴ」である場合、ステップＳ１５０６に移行する。代行サーバは、当該仮想マシンが「ＡＣＴ」でない場合、当該仮想マシンに停止指示を送信する（ステップＳ１６０７）。
【００８９】
なお、代行サーバは、仮想マシンからＨＢ応答パケットＰ１を受信した場合は、当該仮想マシンのＨＢ有無情報を「１（有）」に設定し、減算カウンタ値に減算カウンタ初期値をロードすることになる。
【００９０】
＜代行サーバによるＨＢパケットＰ１の代行送信処理＞
図１７は、代行サーバによるＨＢパケットＰ１の代行送信処理手順例を示すフローチャートである。代行サーバは、対向サイト用テーブル６６２のインデックスｉをｉ＝１に設定し（ステップＳ１７０１）、ｉ行目のエントリで特定される対向仮想マシンの減算カウンタ値が０であるか否かを判断する（ステップＳ１７０２）。ｉ行目のエントリで特定される対向仮想マシンとは、自サイト用テーブル６６１のｉ行目のエントリで特定される仮想マシンと冗長構成をとる冗長サイト側の仮想マシンである。
【００９１】
減算カウンタ値が０である場合（ステップＳ１７０２：Ｙｅｓ）、すでに対向仮想マシンがＨＢ要求パケットＰ１を送信できない状況になっているため、代行サーバとしては何も行わない。このため、ステップＳ１７０７に移行する。
【００９２】
一方、減算カウンタ値が０以外である場合（ステップＳ１７０２：Ｎｏ）、代行サーバは、ｉ行目のエントリで特定される対向仮想マシンの減算カウンタ値を１減算する（ステップＳ１７０３）。そして、代行サーバは、再度ｉ行目のエントリで特定される対向仮想マシンの減算カウンタ値が０であるか否かを判断する（ステップＳ１７０４）。
【００９３】
減算カウンタ値が０でない場合（ステップＳ１７０４：Ｎｏ）、ステップＳ１７０７に移行する。一方、減算カウンタ値が０である場合（ステップＳ１７０４：Ｙｅｓ）、ＨＢパケットＰ１の送信時刻にも関わらず、ＨＢ要求パケットＰ１を送信していないことになるため、代行サーバは、ｉ行目のエントリで特定される対向仮想マシンのＨＢ有無情報が有りか否かを判断する（ステップＳ１７０５）。無しの場合（ステップＳ１７０５：Ｎｏ）、ステップＳ１７０７に移行する。
【００９４】
一方、有りの場合（ステップＳ１７０５：Ｙｅｓ）、ｉ行目のエントリで特定される対向仮想マシンに対応する自ＤＣサイトの仮想マシンに対し、代行サーバはＨＢ要求パケットＰ１を代行送信し（ステップＳ１７０６）、ステップＳ１７０７に移行する。これにより、自サイト内の代行サーバは、冗長サイト内の対向仮想マシンが自ＤＣサイト内の仮想マシンに対しあたかもＨＢ要求パケットＰ１を送信しているかのようにみせかけることができる。
【００９５】
ステップＳ１７０７では、代行サーバは、ｉ行目のエントリが最終行であるか否かを判断する（ステップＳ１７０７）。最終行でない場合（ステップＳ１７０７：Ｎｏ）、ｉをインクリメントして（ステップＳ１７０８）、ステップＳ１７０２に戻る。一方、最終行である場合（ステップＳ１７０７：Ｙｅｓ）、ステップＳ１７０１に戻る。
【００９６】
＜代行サーバによる対向代行サーバの死活確認処理＞
図１８は、代行サーバによる対向代行サーバの死活確認処理手順例を示すフローチャートである。代行サーバは、あらかじめ設定された時間間隔で対向代行サーバから制御系ＮＷ１１０経由で状態変化パケットＰ２を受信したか否かを判断する（ステップＳ１８０１）。受信していない場合（ステップＳ１８０１：Ｎｏ）、第２の死活確認処理を実行して（ステップＳ１８０２）、ステップＳ１８０１に戻る。第２の死活確認処理（ステップＳ１８０２）の詳細については図１９で後述する。
【００９７】
一方、状態変化パケットＰ２を受信した場合（ステップＳ１８０１：Ｙｅｓ）、該当箇所について対向サイト用テーブル６６２を更新して（ステップＳ１８０３）、ステップＳ１８０１に戻る。具体的には、状態変化パケットＰ２で特定される対向仮想マシンについて状態変化パケットＰ２を反映するように、代行サーバは、対向サイト用テーブル６６２のＨＢ有無情報を更新する。
【００９８】
より具体的には、図１０または図１１の状態変化パケットＰ２において対向仮想マシンが状態変化した仮想マシンに該当する場合、対向サイト用テーブル６６２における対向仮想マシンのＨＢ有無情報を反転させる。すなわち、代行サーバは、「１（有）」の場合は「０（無）」に更新し、「０（無）」の場合は「１（有）」に更新する。
【００９９】
また、図１２または図１３の状態変化パケットＰ２において対向仮想マシンが状態変化（全死）した仮想マシンに該当する場合、「１（有）」になっている場合に限り、代行サーバは、対向サイト用テーブル６６２における対向仮想マシンのＨＢ有無情報を「０（無）」に更新する。なお、図１４に示した状態変化パケットＰ２の場合、いずれの対向仮想マシンも状態変化がないため、対向サイト用テーブル６６２のＨＢ有無情報は更新されない。
【０１００】
図１９は、図１８に示した第２の死活確認処理（ステップＳ１８０２）の詳細な処理手順例を示すフローチャートである。代行サーバは、サービス系ＮＷ１２０経由で、対向代行サーバの死活確認を行う（ステップＳ１９０１）。代行サーバは、対向代行サーバからの応答の有無を判断する（ステップＳ１９０２）。
【０１０１】
対向代行サーバからの応答がある場合（ステップＳ１９０２：Ｙｅｓ）、対向代行サーバに障害があるのではなく、制御系ＮＷ１１０に障害があることになる。したがって、代行サーバは、対向代行サーバに対し、状態変化パケットＰ２をサービス系ＮＷ１２０経由で送信して（ステップＳ１９０８）、ステップＳ１８０１に移行する。
【０１０２】
一方、ステップＳ１９０２において応答がない場合（ステップＳ１９０２：Ｎｏ）、対向代行サーバが故障したとみなし、代行サーバは、サービス系ＮＷ１２０で冗長先サイトの対向仮想マシンの死活確認をおこなう（ステップＳ１９０３）。そして、代行サーバは、冗長先サイトの対向仮想マシンから応答があるか否かを判断する（ステップＳ１９０４）。
【０１０３】
冗長先サイトの対向仮想マシンから応答がない場合（ステップＳ１９０４：Ｎｏ）、対向サイト用テーブル６６２において、冗長先サイトの対向仮想マシンのＨＢ有無情報を「０（無）」に更新する（ステップＳ１９０５）。また、このとき、代行サーバは、自サイト用テーブル６６１において、冗長先サイトの対向仮想マシンに対応する自サイトの仮想マシンのサービスをＳＢＹからＡＣＴに更新する。また、代行サーバは、冗長先サイト用テーブル６６２において、冗長先サイトの対向仮想マシンのサービスをＡＣＴからＳＢＹに更新する。そして、ステップＳ１８０１に移行する。
【０１０４】
また、ステップＳ１９０４において、冗長先サイトの対向仮想マシンから応答がある場合（ステップＳ１９０４：Ｙｅｓ）、代行サーバは、冗長先サイトの対向仮想マシンがＡＣＴであるか否かを、対向サイト用テーブル６６２を参照して判断する（ステップＳ１９０６）。冗長先サイトの対向仮想マシンがＡＣＴである場合（ステップＳ１９０６：Ｙｅｓ）、ステップＳ１８０１に移行する。一方、冗長先サイトの対向仮想マシンがＡＣＴでない場合（ステップＳ１９０６：Ｎｏ）、代行サーバは、制御系ＮＷ１１０経由で冗長先サイトの対向仮想マシンに停止指示を送信する（ステップＳ１９０７）。これにより、冗長先サイトの対向仮想マシンがＡＣＴにフェイルオーバするのを防止することができ、２重ＡＣＴを回避することができる。このあと、ステップＳ１８０１に移行する。
【０１０５】
＜通信システム１００のシーケンス＞
図２０〜図２３を用いて、通信システム１００のシーケンスを説明する。図２０〜図２３は、それぞれ図１〜図４に対応するシーケンスである。なお、前提として、ＤＣサイト１０１Ａの仮想マシンＶＭ−Ａ1,1がＤＣサイト１０１Ｂの仮想マシンＶＭ−Ｂ1,1と冗長構成をなしている。また、（Ｓ）はサービス系ＮＷ１２０のＩＦを、（Ｃ）は制御系ＮＷ１１０のＩＦを示す。
【０１０６】
図２０は、ＡＣＴ系の仮想マシン故障時のシーケンス図である。代行サーバ１０２Ａは仮想マシンＶＭ−Ａ1,1にＨＢ要求パケットを送信し（Ｓ１−１）、ＨＢ応答パケットを返す（Ｓ１−３）。同様に仮想マシンＶＭ−Ａ1,1も代行サーバ１０２Ａに対して、ＨＢ要求パケットを送信し、代行サーバからのＨＢ応答パケットを受けるが図２０では省略する。
【０１０７】
また、仮想マシンＶＭ−Ｂ1,1は代行サーバ１０２Ｂに対して、ＨＢ要求パケットを送信し（Ｓ１−２）、ＨＢ応答パケットを受信する（Ｓ１−４）。ＨＢ代行サーバ１０２Ｂにも仮想マシンＶＭ−Ｂ1,1に対してＨＢ要求パケットを送信しているが図２０では省略する。代行サーバ１０２Ｂから代行サーバ１０２Ａへの状態変化パケットＰ２についても図２０では省略する。
【０１０８】
仮想マシンＶＭ−Ａ1,1が故障すると（Ｓ１−５）、代行サーバ１０２Ａが仮想マシンＶＭ−Ａ1,1に対してＨＢ要求パケットを送信しても（Ｓ１−６）、応答パケットは返らない（Ｓ１−７）。以降、仮想マシンＶＭ−Ａ1,1が故障から回復するまで応答は回復しない（Ｓ１−１４、Ｓ１−１５、Ｓ１−１６）。
【０１０９】
代行サーバ１０２Ａは仮想マシンＶＭ−Ａ1,1からの応答パケットが返ってこなくなるとすぐに、サービス系ＮＷ１２０経由で仮想マシンＶＭ−Ａ1,1の死活を確認する（Ｓ１−８）。応答が返ってこないので（Ｓ１−９）、代行サーバ１０２Ａは、仮想マシンＶＭ−Ａ1,1が故障していると判断し、代行サーバ１０２Ｂへ状態変化パケットＰ２を送信する（Ｓ１−１０）。代行サーバ１０２Ｂは状態変化パケットＰ２を受信して、対向サイト用テーブル６６２の仮想マシンＶＭ−Ａ1,1に対するＨＢ有無情報を「１（有）」から「０（無）」へ更新する。この結果、仮想マシンＶＭ−Ｂ1,1のＨＢ要求パケット（Ｓ１−１１）に対しても応答を返さなくなる（Ｓ１−１２）。
【０１１０】
応答が無いことを仮想マシンＶＭ−Ｂ1,1が確認するとフェイルオーバし（Ｓ１−１３）、仮想マシンＶＭ−Ｂ1,1はＡＣＴ系に切り替わる。一定期間、代行サーバ１０２Ａから代行サーバ１０２Ｂに対して、状態変化パケットＰ２が送られないと、代行サーバの正常性を通知するため、代行サーバ１０２ＡはＨＢパケットＰ１を送信する（Ｓ１−１６）。図２０では、代行サーバ１０２Ａから仮想マシンＶＭ−Ａ1,1に対して、ＨＢ要求パケットＰ１への応答確認を３回行い、応答が来てから代行サーバ１０２Ｂへ仮想マシンＶＭ−Ａ1,1の回復を通知する（Ｓ１−１７）。ただし、回復と判断するまでの応答確認回数は１回でも可能である。代行サーバ１０２Ｂは回復通知を受け、対向サイト用テーブル６６２の仮想マシンＶＭ−Ａ1,1に対するＨＢ有無情報を「０（無）」から「１（有）」へ更新する。
【０１１１】
図２１は、ＡＣＴ系の仮想マシンのＨＢ送受信機構の故障時のシーケンス図である。ＨＢ送受信機構とは、代行サーバと仮想マシンとの間の制御系ＮＷ１１０の回線である。代行サーバ１０２Ａは仮想マシンＶＭ−Ａ1,1にＨＢ要求パケットを送信し（Ｓ２−１）、ＨＢ応答パケットを返す（Ｓ２−３）。同様に仮想マシンＶＭ−Ａ1,1もＨＢ代行サーバ１０２Ａに対して、ＨＢ要求パケットを送信し、ＨＢ代行サーバからのＨＢ応答パケットを受けるが図２１では省略する。
【０１１２】
また、仮想マシンＶＭ−Ｂ1,1は代行サーバ１０２Ｂに対して、ＨＢ要求パケットを送信し（Ｓ２−２）、ＨＢ応答パケットを受信する（Ｓ２−４）。代行サーバ１０２Ｂにも仮想マシンＶＭ−Ｂ1,1に対してＨＢ要求パケットを送信しているが図２１では省略する。代行サーバ１０２Ｂから代行サーバ１０２Ａへの状態変化パケットＰ２についても図２１では省略する。
【０１１３】
仮想マシンＶＭ−Ａ1,1が故障すると（Ｓ２−６）、代行サーバ１０２Ａが仮想マシンＶＭ−Ａ1,1に対してＨＢ要求パケットを送信しても（Ｓ２−７）、応答パケットは返らない（Ｓ２−８）。以降、仮想マシンＶＭ−Ａ1,1が故障から回復するまで応答は回復しない（Ｓ２−１１、Ｓ１−１２、Ｓ１−１３）。
【０１１４】
代行サーバ１０２Ａは仮想マシンＶＭ−Ａ1,1からのＨＢ応答パケットが返ってこなくなるとすぐに、サービス系ＮＷ１２０経由で仮想マシンＶＭ−Ａ1,1の死活を確認する（Ｓ２−９）。応答が返って来るため（Ｓ２−１０）、代行サーバ１０２Ａは、仮想マシンＶＭ−Ａ1,1は正常であると判断し、定期的にサービス系ＮＷ１２０経由で死活監視を行う。代行サーバ１０２Ａは代行サーバ１０２Ｂに対して定期的に正常性通知の状態変化パケットＰ２を送信し続ける（Ｓ２−５）。正常性通知の状態変化パケットＰ２とは、図１４に示した状態変化のない状態変化パケットＰ２である。
【０１１５】
図２２は、代行サーバの故障時のＡＣＴ系の仮想マシンへの処理を示すシーケンス図である。代行サーバ１０２Ａは仮想マシンＶＭ−Ａ1,1にＨＢ要求パケットを送信し（Ｓ３−１）、ＨＢ応答パケットを返す（Ｓ３−３）。同様に仮想マシンＶＭ−Ａ1,1もＨＢ代行サーバ１０２Ａに対して、ＨＢ要求パケットを送信し、代行サーバからのＨＢ応答パケットを受けるが図２２では省略する。また、仮想マシンＶＭ−Ｂ1,1は代行サーバ１０２Ｂに対して、ＨＢ要求パケットを送信し（Ｓ３−２）、ＨＢ応答パケットを受信する（Ｓ３−４）。代行サーバ１０２Ｂにも仮想マシンＶＭ−Ｂ1,1に対してＨＢ要求パケットを送信しているが図２２では省略する。代行サーバ１０２Ｂから代行サーバ１０２Ａへの状態変化パケットＰ２についても図２２では省略する。
【０１１６】
代行サーバ１０２Ａは代行サーバ１０２Ｂに対して定期的に正常性通知の状態変化パケットＰ２を送信し続ける（Ｓ３−５）。代行サーバ１０２Ａが故障すると（Ｓ３−６）、正常性通知パケットは送信できなくなる（Ｓ３−７）。正常性通知パケットが送信されなくなると代行サーバ１０２Ｂがこれを検知し、サービス系ＮＷ１２０経由で代行サーバ１０２ＡへＨＢ要求パケットを送信する（Ｓ３−９）。応答が無いため（Ｓ３−１０）、代行サーバ１０２Ａは故障したと代行サーバ１０２Ｂは判断し、サービス系ＮＷ１２０経由で仮想マシンＶＭ−Ａ1,1の死活監視を行う（Ｓ３−１１、Ｓ３−１２）。
【０１１７】
このとき、代行サーバ１０２Ａの故障のため、代行サーバ１０２Ａから仮想マシンＶＭ−Ａ1,1に対しても、ＨＢ要求パケットを送信できなくなるため、仮想マシンＶＭ−Ａ1,1は仮想マシンＶＭ−Ｂ1,1が故障したと判断する。しばらくして、代行サーバ１０２Ａが回復すると（Ｓ３−１３）、正常性通知の状態変化パケットＰ２を送信し始めるので（Ｓ３−１４）、代行サーバ１０２Ｂはこれを契機にサービス系ＮＷ１２０経由での仮想マシンＶＭ−Ａ1,1の死活監視を停止する。
【０１１８】
図２３は、代行サーバの故障時のＳＢＹ系の仮想マシンへの処理を示すシーケンス図である。仮想マシンＶＭ−Ａ1,1は代行サーバ１０２ＡにＨＢ要求パケットを送信し（Ｓ４−１）、ＨＢ応答パケットを返す（Ｓ４−３）。同様に代行サーバ１０２Ａも仮想マシンＶＭ−Ａ1,1に対して、ＨＢ要求パケットを送信し、仮想マシンＶＭ−Ａ1,1からの応答パケットを受けるが図２３では省略する。また、ＨＢ代行サーバ１０２Ｂは仮想マシンＶＭ−Ｂ1,1に対して、ＨＢ要求パケットを送信し（Ｓ４−２）、ＨＢ応答パケットを受信する（Ｓ４−４）。仮想マシンＶＭ−Ｂ1,1も代行サーバ１０２Ｂに対してＨＢ要求パケットを送信しているが図２３では省略する。代行サーバ１０２Ｂから代行サーバ１０２Ａへの状態変化パケットＰ２についても図２３では省略する。
【０１１９】
代行サーバ１０２Ａは代行サーバ１０２Ｂに対して定期的に正常性通知の状態変化パケットＰ２を送信し続ける（Ｓ４−５）。代行サーバ１０２Ａが故障すると（Ｓ４−６）、代行サーバ１０２Ａは正常性通知の状態変化パケットＰ２は送信できなくなる（Ｓ４−７）。正常性通知の状態変化パケットＰ２が送信されなくなると代行サーバ１０２Ｂがこれを検知し、サービス系ＮＷ１２０経由でＨＢ代行サーバ１０２ＡへＨＢ要求パケットを送信する（Ｓ４−８）。
【０１２０】
応答が無いため（Ｓ４−９）、代行サーバ１０２Ａは故障したと代行サーバ１０２Ｂは判断する。ここで仮想マシンＶＭ−Ａ1,1はＳＢＹ系なので、代行サーバ１０２ＡからＨＢ応答パケットが返ってこなくなるとＡＣＴ系にフェイルオーバしてしまう。これを防ぐために、代行サーバ１０２Ｂは制御系ＮＷ１１０経由で仮想マシンＶＭ−Ａ1,1に停止指示を出す（Ｓ４−１０）。この停止指示は仮想マシンＶＭ−Ａ1,1が代行サーバ１０２Ａに対して、ＨＢ要求不可を出すまでに実施される（Ｓ４−１１）。
【０１２１】
しばらくして、代行サーバ１０２Ａが回復すると（Ｓ４−１２）、正常性通知の状態変化パケットＰ２を送信し始めるので（Ｓ４−１３）、代行サーバ１０２Ｂはこれを契機に制御系ＮＷ１１０経由での仮想マシンＶＭ−Ａ1,1の起動を指示する（Ｓ４−１４）。仮想マシンＶＭ−Ａ1,1が起動すると、仮想マシンＶＭ−Ａ1,1が代行サーバ１０２Ａに対して、ＨＢ要求パケットを送信し始め（Ｓ４−１５）、代行サーバ１０２Ａもこれに応答するようになる（Ｓ４−１６）。
【０１２２】
なお、本実施例では、ＳＢＹ系の仮想マシンはＡＣＴ系の仮想マシンに対して、ＨＢ要求パケットを送信し、応答が返ってこなかった場合、自動でＡＣＴ系に切り替わること、仮想マシンの再起動時はＳＢＹ系で起動することを前提としている。ただし、ＡＣＴ系への切り替えまでのＨＢ要求パケットによる死活確認の回数は１回とは限らない。
【０１２３】
また、外部に各仮想マシンの状態を管理する管理サーバを設置し、該管理サーバでＡＣＴ系・ＳＢＹ系の切り替え、仮想マシンの起動やシャットダウン等を自由に行うことも可能である。この場合、代行サーバは管理サーバからＡＣＴ・ＳＢＹの情報を入手し、各テーブルの情報を更新する必要がある。
【０１２４】
以上説明したように、本実施例によれば、制御系ＮＷ１１０が断線した場合に、サービス系ＮＷ１２０経由で死活確認をおこなうことにより、代行サーバの２重化無しに待機系の仮想マシンがＡＣＴ化するのを防止することができる。これにより、代行サーバの可用性が向上し、コスト削減を図ることができる。
【０１２５】
また、制御系ネットワーク１２０の断線ではなく仮想マシン自体に障害が発生した場合も、サービス系ＮＷ１２０経由で死活確認をおこなうことにより、仮想マシンが障害発生元ではないと特定することができる。したがって、通常通り稼働させることで、これにより、代行サーバの可用性が向上し、コスト削減を図ることができる。
【０１２６】
また、代行サーバに障害が発生した場合でも、サービス系ＮＷ１２０経由で死活確認をおこなうことにより、仮想マシンが障害発生元ではないと特定することができる。また、障害が発生した代行サーバの配下の仮想マシンが待機系である場合、対向代行サーバから停止させることで、ＡＣＴ化するのを防止することができる。これにより、代行サーバの可用性が向上し、コスト削減を図ることができる。
【０１２７】
なお、本実施例では、主に「ＨＢ（ハートビート）」や「ＨＢ信号」を用いて説明したが、「ＨＢ（ハートビート）」には、この直接の名称のもの以外にも、死活を監視するための信号やその他の適宜の参照信号を含むことができる。
【０１２８】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【０１２９】
特許請求の範囲に記載した以外の本発明の観点の代表的なものとして、次のものがあげられる。
【０１３０】
（付記１）第１サイト内の第１サーバ群内の現用系である第１サーバから第２サイト内の第２サーバ群内の前記第１サーバの待機系である第２サーバに死活確認を要求する要求信号を、前記第１サーバ群と前記第２サーバ群との間を通信可能に接続する第１ネットワーク経由で送信し、前記第２サーバから前記第１サーバに前記要求信号に対して応答する応答信号を、前記第１ネットワーク経由で送信するとともに、前記第１サーバ群と前記第２サーバ群との間を通信可能に接続する第２ネットワークを有する通信システムにおいて、
前記第１サイトは、前記第１サーバ群と前記第１ネットワークおよび第２ネットワーク経由で通信可能な第１代行サーバを有し、
前記第２サイトは、前記第２サーバ群と前記第１ネットワークおよび第２ネットワーク経由で通信可能な第２代行サーバを有し、
前記第１代行サーバおよび前記第２代行サーバは、前記第１ネットワークおよび第２ネットワーク経由で通信可能であり、
前記第１代行サーバは、
前記第１サーバ群内の現用系である第１サーバに対し前記第１のネットワーク経由で前記要求信号を送信し、
前記第２サーバから前記要求信号に応答する前記応答信号を受信し、
前記応答信号の有無を示す状態変化信号を前記第１ネットワーク経由で前記第２代行サーバに送信し、
前記第２代行サーバは、
前記状態変化信号が前記第１代行サーバから送信されてこない場合、前記第２ネットワーク経由で前記要求信号を前記第１代行サーバに送信し、
前記第１代行サーバからの前記第２ネットワーク経由での前記要求信号に対する前記応答信号の有無に基づいて、前記第１代行サーバに障害が発生したか否かを判定し、
前記第１代行サーバに障害が発生したと判定された場合、前記第１サーバに対し前記第２ネットワーク経由で前記要求信号を送信し、
前記第１サーバから前記第２ネットワーク経由で前記要求信号に対する前記応答信号を受信する、
ことを特徴とする通信システム。
【０１３１】
（付記２）第１サイト内の第１サーバ群内の現用系である第１サーバから第２サイト内の第２サーバ群内の前記第１サーバの待機系である第２サーバに死活確認を要求する要求信号を、前記第１サーバ群と前記第２サーバ群との間を通信可能に接続する第１ネットワーク経由で送信し、前記第２サーバから前記第１サーバに前記要求信号に対して応答する応答信号を、前記第１ネットワーク経由で送信するとともに、前記第１サーバ群と前記第２サーバ群との間を通信可能に接続する第２ネットワークを有する通信システムにおいて、
前記第１サイトは、前記第１サーバ群と前記第１ネットワークおよび第２ネットワーク経由で通信可能な第１代行サーバを有し、
前記第２サイトは、前記第２サーバ群と前記第１ネットワークおよび第２ネットワーク経由で通信可能な第２代行サーバを有し、
前記第１代行サーバおよび前記第２代行サーバは、前記第１ネットワークおよび第２ネットワーク経由で通信可能であり、
前記第１代行サーバは、
前記要求信号を前記第１のネットワーク経由で前記第１サーバ群内の待機系である第１サーバに送信し、
前記要求信号に応答する前記応答信号を前記第１のネットワーク経由で前記第１サーバから受信し、
前記応答信号の有無を示す状態変化信号を前記第１ネットワーク経由で前記第２代行サーバに送信し、
前記第２代行サーバは、
前記状態変化信号が前記第１代行サーバから送信されてこない場合、前記要求信号を前記第２ネットワーク経由で前記第１代行サーバに送信し、
前記第１代行サーバからの前記第２ネットワーク経由での前記要求信号に対する前記応答信号の有無に基づいて、前記第１代行サーバに障害が発生したか否かを判定し、
前記第１代行サーバに障害が発生したと判定された場合、前記第１サーバに対し前記第２ネットワーク経由で前記第１サーバの停止指示を送信する、
ことを特徴とする通信システム。
（付記３）前記第２代行サーバは、
前記第１代行サーバが復旧した場合、前記第１サーバに対し前記第２ネットワーク経由で前記第１サーバの起動指示を送信する、
ことを特徴とする付記２に記載の通信システム。
【符号の説明】
【０１３２】
Ｐ１  ＨＢパケット
Ｐ２  状態変化パケット
１００  通信システム
１０１Ａ  第１ＤＣサイト
１０１Ｂ  第２ＤＣサイト
１０２Ａ  第１代行サーバ
１０２Ｂ  第２代行サーバ
１１０  制御系ＮＷ
１２０  サービス系ＮＷ
５００  端末
６０５  パケット処理部
６０６  記憶部
６０７  制御部
６１０  保守端末
６５１  ヘッダ解析部
６５２  パケット挿入部
６５３  テーブル管理部
６６１  自サイト用テーブル
６６２  対向サイト用テーブル
【図１】
2014222431.tif 000003
【図２】
2014222431.tif 000004
【図３】
2014222431.tif 000005
【図４】
2014222431.tif 000006
【図５】
2014222431.tif 000007
【図６】
2014222431.tif 000008
【図７】
2014222431.tif 000009
【図８】
2014222431.tif 000010
【図９】
2014222431.tif 000011
【図１０】
2014222431.tif 000012
【図１１】
2014222431.tif 000013
【図１２】
2014222431.tif 000014
【図１３】
2014222431.tif 000015
【図１４】
2014222431.tif 000016
【図１５】
2014222431.tif 000017
【図１６】
2014222431.tif 000018
【図１７】
2014222431.tif 000019
【図１８】
2014222431.tif 000020
【図１９】
2014222431.tif 000021
【図２０】
2014222431.tif 000022
【図２１】
2014222431.tif 000023
【図２２】
2014222431.tif 000024
【図２３】
2014222431.tif 000025