(57)【要約】  第１データ同期サーバは、第１アプリケーションサーバから取得した更新データを第２データ同期サーバに転送する。第２データ同期サーバは、更新データを第２アプリケーションサーバに転送した後、第２管理情報における第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態の情報を更新する。第２データ同期サーバは、第１データ同期サーバに、更新データの第２アプリケーションサーバへのバックアップの完了を示す完了通知を送信する。第１データ同期サーバは、完了通知に応答して、第１管理情報における第１アプリケーションプログラムと第２アプリケーションプログラムとの同期状態の情報を更新する。
2017013791.tif 000002
【特許請求の範囲】
【請求項１】
第１アプリケーションプログラムを実行する、第１アプリケーションサーバと、
前記第１アプリケーションプログラムと同種の第２アプリケーションプログラムを実行し、前記第１アプリケーションプログラムのバックアップデータを保持する、第２アプリケーションサーバと、
前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態を管理する第１管理情報を保持する、第１データ同期サーバと、
前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態を管理する第２管理情報を保持する、第２データ同期サーバと、
を含み、
前記第１データ同期サーバは、
第１ネットワークを介して、前記第１アプリケーションサーバから前記第１アプリケーションプログラムによる更新データを取得し、
前記更新データを、第２ネットワークを介して前記第２データ同期サーバに転送し、
前記第２データ同期サーバは、
第３ネットワークを介して、前記更新データを前記第２アプリケーションサーバに転送し、
前記更新データを前記第２アプリケーションサーバに転送した後に、前記第２管理情報における前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態の情報を更新し、
前記更新データを前記第２アプリケーションサーバに転送した後に、前記第２ネットワークを介して前記第１データ同期サーバに、前記更新データの前記第２アプリケーションサーバへのバックアップの完了を示す完了通知を送信し、
前記第１データ同期サーバは、前記完了通知に応答して、前記第１管理情報における前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態の情報を更新する、データバックアップシステム。
【請求項２】
請求項１に記載のデータバックアップシステムであって、
前記第１管理情報及び前記第２管理情報は、前記第１データ同期サーバと前記第２データ同期サーバとの間における同期状態を管理する、データバックアップシステム。
【請求項３】
請求項１に記載のデータバックアップシステムであって、
前記第１アプリケーションサーバは、第１データ同期サーバ接続用プログラムを実行し、
前記第１アプリケーションサーバは、
前記第１アプリケーションプログラムが出力した更新データをファイルインタフェース介して前記データ同期サーバ接続用プログラムに渡し、
前記データ同期サーバ接続用プログラムを実行することによって、前記更新データを前記第１データ同期サーバへ送信する、データバックアップシステム。
【請求項４】
請求項３に記載のデータバックアップシステムであって、
前記第１アプリケーションサーバは、異常を検知すると、前記ファイルインタフェースを介して管理サーバに通知する、データバックアップシステム。
【請求項５】
請求項１に記載のデータバックアップシステムであって、
前記第１アプリケーションサーバは、障害により前記更新データの前記第１データ同期サーバへの送信を失敗した場合、前記更新データを退避ログとして保持し、
前記障害からの回復後、前記第１データ同期サーバは、前記退避ログを前記アプリケーションサーバから受信する、データバックアップシステム。
【請求項６】
請求項１に記載のデータバックアップシステムであって、
前記第１データ同期サーバは、インメモリ分散記憶システムに含まれ、
前記インメモリ分散記憶システムは、前記更新データを複数データ同期サーバのメモリ上で保持する、データバックアップシステム。
【請求項７】
請求項１に記載のデータバックアップシステムであって、
前記第１データ同期サーバは、
障害の発生箇所に応じた処理の情報を格納する障害時処理テーブルを保持し、
障害発生時に障害時処理テーブルが示す障害時処理を実行する、データバックアップシステム。
【請求項８】
請求項１に記載のデータバックアップシステムであって、
前記第１アプリケーションプログラムにおいて障害が発生し、前記第１管理情報と前記第２管理情報が、前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとが同期していることを示す場合、前記第１データ同期サーバ及び前記第２データ同期サーバは、サービスを提供するアクティブアプリケーションサーバを、前記第１アプリケーションサーバから前記第２アプリケーションサーバに切り替える切替処理、を実行する、データバックアップシステム。
【請求項９】
請求項８に記載のデータバックアップシステムであって、
前記第１アプリケーションサーバは、第１ロードバランサを介して、サービスを提供するためのサービスネットワークに接続し、
前記第２アプリケーションサーバは、第２ロードバランサを介して、前記サービスネットワークに接続し、
前記第１データ同期サーバは、前記切替処理において、前記第１ロードバランサの前記第１アプリケーションサーバのポートを閉塞し、
前記第２データ同期サーバは、前記切替処理において、前記第２ロードバランサの前記第２アプリケーションサーバのポートを閉塞解除する、データバックアップシステム。
【請求項１０】
データバックアップシステムを制御する方法であって、
前記データバックアップシステムは、
第１アプリケーションプログラムを実行する、第１アプリケーションサーバと、
前記第１アプリケーションプログラムと同種の第２アプリケーションプログラムを実行し、前記第１アプリケーションプログラムのバックアップデータを保持する、第２アプリケーションサーバと、
前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態を管理する第１管理情報を保持する、第１データ同期サーバと、
前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態を管理する第２管理情報を保持する、第２データ同期サーバと、
を含み、
前記方法は、
前記第１データ同期サーバが、第１ネットワークを介して、前記第１アプリケーションサーバから前記第１アプリケーションプログラムによる更新データを取得し、
前記第１データ同期サーバが、前記更新データを、第２ネットワークを介して前記第２データ同期サーバに転送し、
前記第２データ同期サーバが、第３ネットワークを介して、前記更新データを前記第２アプリケーションサーバに転送し、
前記第２データ同期サーバが、前記更新データを前記第２アプリケーションサーバに転送した後に、前記第１管理情報における前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態の情報を更新し、
前記第２データ同期サーバが、前記更新データを前記第２アプリケーションサーバに転送した後に、前記第２ネットワークを介して前記第１データ同期サーバに、前記更新データの前記第２アプリケーションサーバへのバックアップの完了を示す完了通知を送信し、
前記第１データ同期サーバが、前記完了通知に応答して、前記第１管理情報における前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態の情報を更新する、ことを含む方法。
【請求項１１】
データバックシステムにおいて使用されるデータ同期サーバであって、
前記データバックアップシステムは、
第１アプリケーションプログラムを実行する、第１アプリケーションサーバと、
前記第１アプリケーションプログラムと同種の第２アプリケーションプログラムを実行し、前記第１アプリケーションプログラムのバックアップデータを保持する、第２アプリケーションサーバと、
を含み、
前記データ同期サーバは、
プログラムを格納するメモリと、
前記プログラムを実行するプロセッサと、を含み、
前記メモリは、
前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態を管理する第１管理情報を格納し、
前記プロセッサは、
第１ネットワークを介して、前記第１アプリケーションサーバから前記第１アプリケーションプログラムによる更新データを取得し、
前記更新データを、第２ネットワークを介して第２データ同期サーバに転送し、
前記更新データの前記第２アプリケーションサーバへのバックアップの完了を示す完了通知を前記第２データ同期サーバから受信すると、前記完了通知に応答して、前記第１管理情報における前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態の情報を更新する、データ同期サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションデータのバックアップにおける同期管理に関する。
【背景技術】
【０００２】
近年、企業のデータセンタ又はクラウドシステムにおいて、災害等による被害を最小限に抑えるための予防措置、被害からの回復措置であるディザスターリカバリ（ＤＲ）、災害等が発生しても事業を継続する事業継続計画（ＢＣＰ）が求められている。【０００３】
ＤＲ、ＢＣＰのために、データセンタは、データを遠隔地に設置されたもう一か所のデータセンタ（以下、リモートデータセンタ）にデータバックアップを行っている。その中でも、分散データセンタ間でデータ同期サーバを利用した、データバックアップ（データ同期）のニーズが高まっている。本開示では、リモートデータセンタのデータの内容を、バックアップにより一致させることを「同期する」と表現する。【０００４】
例えば、特許文献１（特開２０１２−１９９７２９号）及び特許文献２（特表２００８−５２４６７７号）は、データセンタ間でデータ同期サーバを利用したデータ同期方法を開示している。【０００５】
具体的には、特許文献１は、データセンタ間のネットワークに接続された複数のデータ同期サーバが、クライアントである複数アプリケーション毎のデータの送信レートを制御する方法を開示する（要約）。特許文献２は、クライアントと、同期サーバと、データサーバとを有する３層同期システム内で空更新イベントを処理するための方法を開示する。当該方法は、クライアントのデータストアをデータサーバのデータストアと同期させるための同期要求を検出するステップと、同期要求が同期サーバに伝達される前に、事前確立指標に基づいて、データ更新が必要であるかどうかを判定するステップと、判定ステップの結果に基づいて同期イベントを選択的に開始するステップとを含む（〔０００７〕）。【０００６】
これらの方法は、クライアントであるアプリケーションやデータセンタが障害に陥った場合に、リモートデータセンタで保持しているデータを利用することで、サービスを回復することやサービスを継続することを目的としている。【０００７】
さらに、近年、通信、電力、交通といった社会インフラ分野でのＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）／Ｍ２Ｍ（Ｍａｃｈｉｎｅ  ｔｏ  Ｍａｃｈｉｎｅ）が普及し、企業システムやデータセンタが提供するサービスが多様化している。これらサービスを担うサーバ（またはシステム）には、膨大な通信端末（例えば、スマートフォン、センサデバイス等）が送受信するメッセージの処理性能と、社会インフラとしての高可用性も求められている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１２−１９９７２９号公報
【特許文献２】特表２００８−５２４６７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記のようなサービスを担うデータセンタまたは企業システムは、リモートデータセンタへデータバックアップを行っており、アプリケーション毎の複雑な同期管理及び障害切替え作業の複雑化の課題を持っていた。【００１０】
特許文献１は、データ同期サーバ間のデータ同期管理を開示するが、それ以外のアプリケーションのデータ同期管理、即ちアプリケーションの同期元から同期先までのエンドツーエンド同期管理について具体的に開示していない。【００１１】
特許文献２は、障害発生時に同期元であるクライアントがデータを紛失しないためのデーバックアップ方法を開示するが、データ同期サーバ、データセンタ間のネットワーク、リモートデータセンタ間の同期を管理する方法及び障害時に切替えを行う方法を開示していない。【００１２】
同期元で障害が発生した場合、アプリケーションの同期元と同期先のデータが同期できていなければ（または差異があってもサービス的に問題ないと判定するまでは）、リモートデータセンタの同期先のアプリケーションを利用してサービスの回復／継続することができない。【００１３】
そのため、データセンタの運用者は、同期元のアプリケーションのデータの更新履歴を示す更新ログや、運用コマンドを利用して、同期元と同期先のアプリケーションのデータの同期の差異を確認する。この作業は、アプリケーションの多様化により、より複雑化している。また、同期確認作業の時間が大きくなるほど、サービスの停止している時間（以下、障害切替時間）が大きくなり、可用性が低下する。
【課題を解決するための手段】
【００１４】
本発明の代表的な一例は、第１アプリケーションプログラムを実行する、第１アプリケーションサーバと、前記第１アプリケーションプログラムと同種の第２アプリケーションプログラムを実行し、前記第１アプリケーションプログラムのバックアップデータを保持する、第２アプリケーションサーバと、前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態を管理する第１管理情報を保持する、第１データ同期サーバと、前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態を管理する第２管理情報を保持する、第２データ同期サーバと、を含み、前記第１データ同期サーバは、第１ネットワークを介して、前記第１アプリケーションサーバから前記第１アプリケーションプログラムによる更新データを取得し、前記更新データを、第２ネットワークを介して前記第２データ同期サーバに転送し、前記第２データ同期サーバは、第３ネットワークを介して、前記更新データを前記第２アプリケーションサーバに転送し、前記更新データを前記第２アプリケーションサーバに転送した後に、前記第２管理情報における前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態の情報を更新し、前記更新データを前記第２アプリケーションサーバに転送した後に、前記第２ネットワークを介して前記第１データ同期サーバに、前記更新データの前記第２アプリケーションサーバへのバックアップの完了を示す完了通知を送信し、前記第１データ同期サーバは、前記完了通知に応答して、前記第１管理情報における前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態の情報を更新する、データバックアップシステムである。
【発明の効果】
【００１５】
本発明の一態様によれば、アプリケーションプログラム間のＥｎｄ  ｔｏ  Ｅｎｄのデータ同期状態を管理できる。
【図面の簡単な説明】
【００１６】
【図１】実施形態におけるシステム構成例を示す。
【図２Ａ】データ同期サーバの構成例を示す。
【図２Ｂ】データ同期サーバのデータ記憶部が格納する情報例を示す。
【図３Ａ】アプリケーションサーバの構成例を示す。
【図３Ｂ】アプリケーションサーバの同期用ファイルインタフェースの構成例を示す。
【図３Ｃ】アプリケーションサーバのディスク装置が格納する情報例を示す。
【図４Ａ】アプリケーション同期管理テーブルの例を示す。
【図４Ｂ】障害時処理テーブルの例を示す。
【図５】データ同期処理の正常時のシーケンスの例を示す。
【図６】データ同期処理の障害時のシーケンスの例を示す。
【図７】障害時の切替え処理のシーケンスの例を示す。
【図８】データ同期サーバのアプリケーション登録のシーケンスの例を示す。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。図１は、本実施形態の計算機システム構成を示すブロック図である。本実施の形態の計算機システムは、複数のデータセンタ１０９、１１９を含む。データセンタ１０９、１１９は、遠隔拠点に設置され、データセンタ間ネットワーク１０８で接続されている。通信端末１０１は、サービス用ネットワーク１０２を介して、データセンタ１０９、１１９に接続する。
【００１８】
データセンタ１０９は、ロードバランサ１０３、複数のアプリケーションサーバ１０４Ａ〜１０４Ｃ、データ同期サーバ１０６、運用管理サーバ１０７、及びそれらを接続する内部ネットワークを備える。データセンタ１１９は、ロードバランサ１１３、複数のアプリケーションサーバ１１４Ａ〜１０４Ｃ、データ同期サーバ１１６、運用管理サーバ１１７、及びそれらを接続する内部ネットワークを備える。
【００１９】
アプリケーションサーバ１０４Ａ〜１０４Ｃは、それぞれ、アプリケーションサーバ１１４Ａ〜１１４Ｃとペアを構成する。各ペアは、同期ペアであり、一方のアプリケーションサーバにおける更新は、他方のアプリケーションサーバにコピーされる。以下の説明において、アプリケーションサーバ１０４Ａ〜１０４Ｃ、１１４Ａ〜１１４Ｃが実行するアプリケーションプログラムは、一つであるとする。アプリケーションサーバは、複数のアプリケーションプログラムを実行してもよい。
【００２０】
以下に説明する例においては、データセンタ１０９のアプリケーションサーバ１１４Ａ〜１１４Ｃは、通常時にサービスを提供する。データセンタ１１９のアプリケーションサーバ１１４Ａ〜１１４Ｃは、ディザスターリカバリ（ＤＲ）、事業継続計画（ＢＣＰ）のための、バックアップである。アプリケーションサーバ１１４Ａ〜１１４Ｃにおける更新が、アプリケーションサーバ１１４Ａ〜１１４Ｃにバックアップコピーされる。
【００２１】
通信端末１０１は、携帯電話端末やタブレット、パーソナルコンピュータ、センサデバイス、車、メータなどのデータ通信可能な端末装置を示す。通信端末１０１は、サービス用ネットワーク１０２及びロードバランサ１０３を介して、アプリケーションサーバ１０４Ａ〜１０４Ｃと接続する。
【００２２】
たとえば、ユーザは通信端末１０１にインストールされたプログラムを実行し、通信端末１０１は、アクティブなアプリケーションサーバ１０４Ａ〜１０４Ｃとデータ通信を行うことにより、アプリケーションサーバ１０４Ａ〜１０４Ｃの提供するサービスを利用する。
【００２３】
サービス用ネットワーク１０２は、通信端末１０１とデータセンタ１０９、１１９とを接続するネットワークであり、例えば、通信キャリアが提供する無線または有線のネットワーク及びネットワーク設備である。サービス用ネットワーク１０２にはスマートグリッドのようなネットワーク形態も適用可能である。
【００２４】
ロードバランサ１０３は、通信端末１０１から送信されたデータをいずれかのアプリケーションサーバ１０４Ａ〜１０４Ｃへ振分ける負荷分散処理や、アプリケーションサーバ１０４Ａ〜１０４Ｃの障害を検知した場合にデータの振分けを停止する処理を行う。
【００２５】
アプリケーションサーバ１０４Ａ〜１０４Ｃは、通信端末１０１へサービスを提供する物理サーバ又は仮想サーバである。アプリケーションサーバ１０４Ａ〜１０４Ｃは、サービスを実現するための所定のデータを保持している。
【００２６】
例えば、アプリケーションサーバ１０４Ａ〜１０４Ｃにおいて、アプリケーションプログラムは、プログラム内部にリレーショナルデータベース（ＲＤＢ）やＫｅｙ−Ｖａｌｕｅ  Ｓｔｏｒｅ（ＫＶＳ）等のデータを格納するデータストアを保持する、データストアをミドルウェアとして利用する、又は、それ自体がＲＤＢやＫＶＳ等のデータストアである。
【００２７】
内部にデータストアを保持するプログラムは、たとえば、メールボックス、オンラインストレージシステム等の、ユーザ情報の管理サーバの制御プログラムである。本実施形態のデータ同期処理の対象データは、アプリケーションに格納されているデータであれば、その種類は問われない。
【００２８】
アプリケーションサーバ間のデータバックアップコピーにおいて、データ同期サーバ１０６は、アプリケーションサーバ１０４Ａ〜１０４Ｃの任意の一つ、例えばアプリケーションサーバ１０４Ａが更新したデータを取得し、データセンタ間ネットワーク１０８を介して、データ同期サーバ１１６へデータを送信する。同期先の対応するアプリケーションサーバ１１４Ａは、データ同期サーバ１１６から更新データを取得する。
【００２９】
本開示において、アプリケーションサーバ１０４Ａ〜１０４Ｃの一つのデータを、リモートデータセンタ１１９のアプリケーションサーバ１１４Ａ〜１１４Ｃの対応する一つへコピーする処理を、データ同期処理と呼ぶ。一つの装置から他の装置にデータをコピーすることを、データを同期する、と呼ぶ。アプリケーションサーバ１０４Ａ〜１０４Ｃの任意の一つと、アプリケーションサーバ１１４Ａ〜１１４Ｃのうちの対応するアプリケーションサーバの全データが一致する場合、それらのアプリケーションサーバは同期している、と呼ばれる。
【００３０】
図１の例において、データセンタ１０９は、複数のデータ同期サーバ１０６を含む。これにより、データ同期サーバ１０６自体の障害に対する可用性を高める。さらに、複数のデータ同期サーバ１０６のデータストアは、インメモリ型分散ＫＶＳで構成されている。同一のデータを複製し、複数のデータ同期サーバ１０６のメモリ上で保持することで、高速アクセス可能な記憶領域を実現する。
【００３１】
ただし、データ同期サーバ１０６が、インメモリ型分散ＫＶＳの記憶部を備えることは必須構成ではない。また、データセンタ１０９に存在するデータ同期サーバ１０６の数は一つでもよい。データセンタ１１９は、データセンタ１０９と同様に、データ同期サーバ１１６を含む。データ同期サーバ１１６の数及びそのデータストア構成については、データ同期サーバ１０６と同様に説明が適用される。
【００３２】
データセンタ間ネットワーク１０８は、データセンタ１０９と１１９との間を接続するネットワークであり、例えば、通信キャリアが提供する無線または有線のネットワーク及びネットワーク設備である。
【００３３】
アプリケーションサーバ１１４Ａ〜１１４Ｃは、１０４Ａ〜１０４Ｃのスタンバイサーバであり、アプリケーションサーバ１０４Ａ〜１０４Ｃのいずれかで障害が発生すると、対応するスタンバイサーバが通信端末１０１にサービスの提供を開始する。なお、一つのデータセンタが、異なるアプリケーションサーバペアのスタンバイアプリケーションンサーバとスタンバイアプリケーションサーバを含んでもよい。ロードバランサ１１３は、ロードバランサ１０３と同様の処理を行う。
【００３４】
本実施形態のデータ同期を適用可能なシステム構成は、図１の構成に限らず、他の構成のシステムにも適用可能である。たとえばデータセンタに企業内システムが適用されてもよく、本実施形態のデータ同期を、３拠点以上のデータセンタを含むシステムに適用可能である。
【００３５】
図２Ａは、データ同期サーバ１０６を実現する情報処理装置のハードウェア構成例を示す。データ同期サーバ１１６の構成も同様である。データ同期サーバを実現する情報処理装置は、プロセッサ２０２と、揮発性の主メモリ２０６と、不揮発性の補助記憶装置であるディスク装置２０９と、データセンタ間ネットワーク１０８にデータを送受信するための入出力回路インタフェース２０３と、これらを接続する内部通信線（バス）と、を含んで構成される。
【００３６】
主メモリ２０６は、データ同期サーバプログラム２０４と、データストアプログラム２０５を格納し、これらがプロセッサ２０２により実行される。データ同期サーバプログラム２０４、データストアプログラム２０５は、予め、主メモリ２０７または非一時的記憶媒体を含むディスク装置２０９に格納されていてもよい。
【００３７】
上記プログラム２０４、２０５は、図示していない着脱可能な非一時的記憶媒体または通信媒体（すなわちネットワークまたはそれを伝播するデジタル信号や搬送波）を介して、主メモリ２０７またはディスク装置２０９に導入されてもよい。ディスク装置２０９は、さらにデータ同期サーバプログラム２０４またはデータストアプログラム２０５が出力したデータ、ログ、設定ファイル等を格納する。
【００３８】
以下説明する内容は、データ同期サーバプログラム２０４、またはデータストアプログラム２０５がプロセッサ２０２により実行されることにより、データ同期サーバ１０６の機能として実現される。
【００３９】
データストアプログラム２０５は、データ記憶部２０８にデータを保持する。本実施例では、データストアプログラム２０５はインメモリ型分散ＫＶＳであり、データ記憶部２０８は高速アクセス可能でかつデータ永続性が保証される記憶領域である。
【００４０】
なお、データストアプログラム２０５は、主メモリ２０６の記憶領域に限定されることなく、データ記憶部２０８に、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の不揮発性メモリ、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介した外部記憶装置、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）等を適用することが可能である。
【００４１】
図２Ｂは、データ記憶部２０８が格納するデータを示す。データ記憶部２０８は、アプリケーション同期管理テーブル２３１、アプリケーション同期データ２３２、障害時処理テーブル２３３を格納する。
【００４２】
アプリケーション同期管理テーブル２３１は、アプリケーションサーバ１０４Ａ〜１０４Ｃとリモートデータセンタ１１９のアプリケーションサーバ１１４Ａ〜１１４Ｃの間のエンドツーエンドの同期状態を管理するための情報を格納する。アプリケーション同期データ２３２は、アプリケーションサーバ１０４Ａ〜１０４Ｃからリモートデータセンタ１１９のアプリケーションサーバ１１４Ａ〜１１４Ｃへ送信（同期）するデータ（以下、更新データ）を格納する。
【００４３】
障害時処理テーブル２３３には、障害の発生箇所と、その障害状況に応じた処理の情報を格納する。障害発生個所は、たとえば、アプリケーションサーバ１０４Ａ〜１１４Ｃ、アプリケーションサーバ１１４Ａ〜１１４Ｃ、リモートデータセンタのデータ同期サーバ１１６、データセンタ間ネットワーク１０８等を含む。
【００４４】
図３Ａは、アプリケーションサーバ１０４Ａ〜１０４Ｃを実現する情報処理装置のハードウェア構成例を示す。アプリケーションサーバ１１４Ａ〜１１４Ｃの構成も同様である。アプリケーションサーバを実現する情報処理装置は、プロセッサ３０２と、揮発性の主メモリ３０７と、不揮発性の補助記憶装置であるディスク装置３０９と、データセンタ１０９内のネットワークにデータを送受信するための入出力回路インタフェース３０３と、これらを接続する内部通信線（バス）と、を含んで構成される。
【００４５】
主メモリ３０７は、アプリケーションプログラム３０４と、同期用ファイルインタフェース（ファイルＩＦ）３０５と、データ同期サーバ接続用プログラム３０６と格納し、これらがプロセッサ３０２により実行される。アプリケーションプログラム３０４、データ同期サーバ接続用プログラム３０６は、予め、主メモリ３０７または非一時的記憶媒体を含むディスク装置３０９に格納されていてもよい。
【００４６】
上記プログラム３０４、３０６は、図示していない着脱可能な非一時的記憶媒体または通信媒体（すなわちネットワークまたはそれを伝播するデジタル信号や搬送波）を介して、主メモリ３０７またはディスク装置３０９に導入されてもよい。
【００４７】
同期用ファイルインタフェース３０５は、アプリケーションプログラム３０４からデータ同期するためのファイルを出力するインタフェースである。一般的なファイルインタフェースは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）により提供され、主メモリ３０７またはディスク装置３０９にデータを記憶する。本例の同期用ファイルインタフェース３０５は、データ同期サーバ接続用プログラム３０６と接続されている。
【００４８】
同期用ファイルインタフェース３０５は、同期処理のために、更新データを格納するディスク装置３０９へのアクセスや、アプリケーション内での同期処理のための追加処理を不要とし、アプリケーションサーバのＩ／Ｏ、ＣＰＵといったリソースの消費を低減できる。その結果、アプリケーションサーバの性能低下及び通信端末へ提供しているサービスへの影響を、低減できる。
【００４９】
同期用ファイルインタフェース３０５を実現する手段として、ＦＵＳＥ（Ｆｉｌｅｓｙｓｔｅｍ  ｉｎ  Ｕｓｅｒｓｐａｃｅ）がある。ＦＵＳＥは、ＯＳを改造せずに独自のファイルシステムを作成することができる機能である。本実施例では、ＦＵＳＥを利用することで、アプリケーションプログラム３０４は、同期用ファイルインタフェース３０５に対し一般的なファイルシステムのようにアクセスできる。アクセス内容（データ）は、ＦＵＳＥを介してデータ同期サーバ接続用プログラム３０６に渡される。
【００５０】
一般的にＲＤＢ等のアプリケーションは、更新データをファイルインタフェースに出力する機能を備えている。アプリケーションプログラム３０４は、同期用ファイルインタフェース３０５に、更新データのファイルを出力する。同期用ファイルインタフェース３０５により、アプリケーションプログラム３０４に改造を加えずに、データ同期サーバ接続用プログラム３０６がアプリケーションプログラム３０４の更新データを取得することが可能となる。
【００５１】
ＦＵＳＥによるファイルシステムが提供されている場合、アプリケーションプログラム３０４は、特定ディレクトリに更新データのファイルを格納する。ＯＳは、ファイルシステムへ格納されたファイルを、データ同期サーバ接続用プログラム３０６に転送する。
【００５２】
データ同期サーバ接続用プログラム３０６は、同期用ファイルインタフェース３０５を介して更新データを取得する。データ同期サーバ接続用プログラム３０６は、更新データと更新データに関する付加情報を、データ同期サーバ１０６へ送信する。付加情報は、たとえば、アプリケーション識別子及び後述するＤａｔａ＿ＩＤを含む。データ同期サーバ接続用プログラム３０６は、データ同期サーバ１０６と同期管理または生存監視のための通信を行う。
【００５３】
図３Ｂは、同期用ファイルインタフェース３０５の構成例を示す。同期用ファイルインタフェース３０５には、トランザクションログ３２１、及びエラーログ３２２が格納される。ただし、前述の通り、同期用ファイルインタフェース３０５は、データの受け渡しのめのインタフェースにすぎないため、これらのデータは実体を持たない（空ファイル）。
【００５４】
トランザクションログ３２１は、アプリケーションプログラム３０４の更新データを格納する。トランザクションログ３２１は空ファイルであり、更新データの実体は、データ同期サーバ接続用プログラム３０６に転送される。前述の通り、一般的なＲＤＢ等のアプリケーションは、更新データをトランザクションログとして出力する機能を備えている。リモートデータセンタのＲＤＢにトランザクションログを取り込ませることにより、アプリケーションサーバ間でデータを同期させることができる。
【００５５】
本例においては、データ同期サーバ１０６がトランザクションログ３２１の内容である更新データを取得し、当該更新データを転送されたデータ同期サーバ１１６が、当該更新データを、データセンタ１１９における対応するアプリケーションサーバへ読み込ませることにより、データ同期処理を実現する。
【００５６】
エラーログ３２２は、データ同期サーバ接続用プログラム３０６が、アプリケーションプログラム３０４のエラー又はデータ同期サーバ１０６との通信におけるエラーを通知するために使用される。エラーログ３２２は、データ同期サーバ接続用プログラム３０６が出力したエラー情報を示すファイルを格納する。エラーログ３２２は空ファイルであり、データ同期サーバ接続用プログラム３０６が出力したファイルは、不図示の送信プログラムに渡される。
【００５７】
送信プログラムは、そのファイルを運用管理サーバ１０７に転送し、運用管理サーバ１０７の表示装置が、エラー情報を表示する。これにより、エラーが運用者に通知される。エラー情報は、アプリケーションサーバにより運用者に通知されてもよい。これにより、最新のエラーが運用者に即時に通知される。
【００５８】
図３Ｃは、ディスク装置３０９が格納するデータを示す。ディスク装置３０９は、退避ログ３３１、エラーログ３３２、及びアプリケーション設定ファイル３３３を格納する。なお、退避ログ３３１、エラーログ３３２、及びアプリケーション設定ファイル３３３は、主メモリ３０７に格納されてもよい。
【００５９】
退避ログ３３１は、データ同期サーバ接続用プログラム３０６が、更新データ及び付加情報をデータ同期サーバ１０６へ所定時間内で送信できず、一時的な障害が発生していると判定した場合に、更新データ及び付加情報を出力するファイルである。退避ログ３３１により、一時的な通信障害時の更新データを、回復後に送信できる。
【００６０】
エラーログ３３２は、アプリケーションプログラム３０４が出力するエラー情報を格納する。アプリケーション設定ファイル３２３は、アプリケーションプログラム３０４が従う設定情報を格納する。運用管理サーバ１０７は、アプリケーション設定ファイル３２３を格納する。アプリケーション設定ファイル３２３は、アプリケーションプログラム３０４により参照され、トランザクションログの更新間隔、トランザクションログのファイルサイズ、トランザクションログの出力先及びファイル名等の情報を含む。
【００６１】
図４Ａは、データ同期サーバ１０６、１１６が保持するアプリケーション同期管理テーブル２３１の構成の例を示す。アプリケーション同期管理テーブル２３１は、データ同期サーバ間の同期状態及びアプリケーションサーバ間の同期状態を管理するために使用される。
【００６２】
以下において、アプリケーションサーバ１０４は、アプリケーションサーバ１０４Ａ〜１０４Ｃの内の一つであり、アプリケーションサーバ１１４は、アプリケーションサーバ１１４Ａ〜１１４Ｃの内の一つであり、アプリケーションサーバ１０４とペアを構成する。アプリケーションサーバ１０４がサービスを提供するアクティブなアプリケーションサーバであり、アプリケーションサーバ１１４は、スタンバイアプリケーションサーバでるとする。
【００６３】
アプリケーション同期管理テーブル２３１の各エントリは、管理ＩＤ４０１、アプリケーション情報４０２、データ同期サーバ間同期状態４０３、アプリケーション同期状態４０４、稼働情報４０５、及び、オプション情報４０６を含んで構成される。
【００６４】
管理ＩＤ４０１は、アプリケーション同期管理テーブル２３１の各エントリを管理するための識別子である。管理ＩＤ４０１の一つのエントリが、一つアプリケーションプログラム３０４の登録情報を格納する。
【００６５】
アプリケーション情報４０２は、データ同期処理の対象であるアプリケーションプログラム３０４の情報を示す。たとえば、アプリケーションの識別子、ＲＤＢ、ＫＶＳ、オリジナルのユーザアプリケーション等のアプリケーションの種別、バージョン、アプリケーション固有のデータ同期方式等の情報が格納される。アプリケーション情報４０２は、アプリケーションプログラムを実行するアプリケーションサーバの情報を格納してもよい。
【００６６】
データ同期サーバ間同期状態４０３は、データ同期サーバ１０６とデータ同期サーバ１１６との間の保持するデータの同期状態を示す。データ同期サーバ１０６、１１６間で、データが同期している場合、つまり、データ同期サーバ１０６が送信した直前のデータをデータ同期サーバ１１６が正常に受信している場合、データ同期サーバ間同期状態４０３は、「同期ＯＫ」を示す。
【００６７】
データ同期サーバ１０６、１１６間で、データが同期していない場合、つまり、データ同期サーバ１０６が送信したデータを、データ同期サーバ１１６が正常に受信できなかった場合、データ同期サーバ間同期状態４０３は、「同期ＮＧ」を示す。
【００６８】
データ同期サーバ１０６が、アプリケーションサーバ１０４が更新データを受信し、当該更新データの転送後にデータ同期サーバ１１６から正常な受信応答を受信する前において、データ同期サーバ間同期状態４０３は、「同期中」を示す。
【００６９】
データ同期サーバ間同期状態４０３は、さらに、Ｃｏｍ＿ＩＤとＤａｔａ＿ＩＤとを示す。Ｃｏｍ＿ＩＤは、データ同期サーバ１０６、１１６間における、データ同期のための通信のトランザクションをカウントするＩＤである。Ｄａｔａ＿ＩＤは、データ同期サーバ１０６、１１６間で転送されるデータのＩＤである。
【００７０】
アプリケーションサーバ１０４から更新データファイルがデータ同期サーバ１０６に転送される。当該更新データファイルには、バージョンを示すＤａｔａ＿ＩＤが付与される。更新データファイルのデータ同期サーバ１０６、１１６の転送（トランザクション）に、Ｃｏｍ＿ＩＤが付与される。データ同期サーバ１０６は、更新データファイルと共に、Ｄａｔａ＿ＩＤ及びＣｏｍ＿ＩＤをデータ同期サーバ１１６に送信する。
【００７１】
データ同期サーバ間同期状態４０３は、最後に同期した、つまり、データ同期サーバ１０６、１１６間で正常に転送された最後の更新データファイルのＣｏｍ＿ＩＤ及びＤａｔａ＿ＩＤを示す。各ＩＤは同期した時刻の情報を含む。データ同期サーバ間同期状態４０３は、データの中身が正しいかどうか確認するためのチェックサム情報を含んでもよい。データ同期サーバ間同期状態４０３が「同期中」との情報に加え、同期中の更新データのＣｏｍ＿ＩＤ及びＤａｔａ＿ＩＤを示してもよい。
【００７２】
アプリケーション同期状態４０４は、アプリケーションサーバ１０４、１１４間のエンドツーエンドの同期状態を示す。アプリケーションサーバ１０４、１１４のアプリケーションデータが同期している場合、アプリケーション同期状態４０４は「同期ＯＫ」を示し、さらに、同期完了している最後の更新データのＤａｔａ＿ＩＤを示す。
【００７３】
二つのアプリケーションサーバ１０４、１１４におけるアプリケーションのデータが、一致している場合、つまり、アプリケーションサーバ１０４におけるアプリケーションの全更新データが、アプリケーションサーバ１１４に反映されている場合、二つのアプリケーションサーバ１０４、１１４間において、アプリケーションは同期している。
【００７４】
データ同期サーバ１０６、１１６間でデータは同期されているが、データ同期サーバ１１６とアプリケーションサーバ１１４との間で同期処理中である場合、アプリケーション同期状態４０４は、「リモート同期中」を示す。アプリケーション同期状態４０４は、現在処理中のＤａｔａ＿ＩＤ及び直近の同期が完了している最終同期Ｄａｔａ＿ＩＤを示す。
【００７５】
エンドツーエンドの同期処理が停止している場合、アプリケーション同期状態４０４は、「同期ＮＧ」を示す。アプリケーション同期状態４０４は、さらに、その詳細なエラー要因と、最終同期Ｄａｔａ＿ＩＤとを示す。
【００７６】
アプリケーション同期状態４０４に加え、データ同期サーバ間同期状態４０３により、障害発生時に、運用者は障害箇所とデータ同期済みサーバとを迅速に特定することができる。なお、データ同期サーバ間同期状態４０３を省略してもよい。
【００７７】
稼働情報４０５は、データセンタ（ＤＣ）１０９、１１９のアプリケーションサーバの稼働状況を示す。本例においては、稼働情報４０５は、アプリケーションサーバが属するデータセンタの識別子を示す。
【００７８】
アプリケーションサーバが通信端末１０１へサービスを行っているアクティブ状態である場合、稼働情報４０５は「（Ａ）」を示す。アプリケーションサーバが、アクティブアプリケーションサーバのデータバックアップ先として稼働しているスタンバイ状態である場合、稼働情報４０５は「（Ｓ）」を示す。アプリケーションサーバの稼働状況が確認できない、または停止している場合、稼働情報４０５は「（−）」を示す。
【００７９】
オプション情報４０６は、アプリケーションサーバの同期処理に関する追加情報を示す。たとえば、「優先度」は、データ同期サーバによる同期処理の、アプリケーション間の優先度を示す。優先度が高いアプリケーションの同期処理が、低いアプリケーションよりも先に実行される。「多重度」は、同期（バックアップ）を実行するデータセンタの数を示す。「ロードバランサ閉（ＤＣ２）」は、データセンタＤＣ２のロードバランサが、当該アプリケーションを実行するアプリケーションサーバ用のポートが閉塞し、サービスを停止している状態を示す。
【００８０】
一つのアプリケーションサーバが複数のアプリケーションプログラムを実行する場合、アプリケーション同期管理テーブル２３１は、アプリケーションサーバとアプリケーションプログラムを関連付ける情報を格納する。
【００８１】
図４Ｂは、データ同期サーバ１０６、１１６の障害時処理テーブル２３３の一例を示す。データ同期サーバ１０６、１１６は、データ同期処理の対象である同一データセンタ内のアプリケーションサーバ毎に、１つの障害時処理テーブル２３３を保持する。データ同期サーバ１０６、１１６は、障害発生時に障害時処理テーブル２３３を参照することにより、図５における同期監視及び図６、７で示す障害対応処理及び切替処理を実行する。障害時処理テーブル２３３により障害発生箇所に応じた障害時処理を実現できる。
【００８２】
以下においては、データ同期サーバ１０６の障害時処理テーブル２３３の例を説明する。障害時処理テーブル２３３は、障害ポイント４５１、同期監視方法４５２、一時障害時処理情報４５３、障害時処理情報４５４、及びオプション情報４５５を含んで構成される。
【００８３】
障害ポイント４５１は、障害の発生箇所を示す。障害の発生箇所は、例えば、データ同期サーバ１０６以外の、同一データセンタ１０９内のアプリケーションサーバ１０４（ローカル）、リモートデータセンタ１１９のアプリケーションサーバ１１４、データ同期サーバ１１６、データセンタ間ネットワーク１０８である。
【００８４】
同期監視方法４５２は、データ同期サーバ１０６が障害ポイント４５１の同期状態及び生存状態を監視するための方法を示す。同期監視方法４５２は、たとえば、対象がアプリケーションサーバ１０４の場合、データ同期サーバ接続用プログラム３０６による同期用ファイルインタフェース３０５を介したファイル監視、およびデータ同期サーバ接続用プログラム３０６との同期監視を示す。同期監視方法４５２は、アプリケーションサーバ１０４のアプリケーションプログラム３０４、またはアプリケーション情報４０２に依存する。
【００８５】
一時障害時処理情報４５３は、データ同期サーバ１０６が障害ポイント４５３での一時的な障害を検知するためのタイムアウトの情報と、一時障害後の処理内容の情報を示す。障害時処理情報４５４は、切替処理等を行う必要のある永久的な障害を検知するための情報と、障害後の処理内容の情報を示す。オプション情報４５５は、障害時処理に関する追加の情報を示し、たとえば過去の障害履歴等の情報を示す。
【００８６】
以上の障害時処理テーブル２３３において、アプリケーション情報４０２に対応した初期設定が予め決定されており、データ同期サーバ１０６によるアプリケーション登録時に生成される。運用者は、運用管理サーバ１０７から障害時処理テーブル２３３を変更できる。データ同期サーバ１０６は、同期監視通信等により、通信状況を判定し、一時障害時処理情報４５３、障害時処理情報４５４の障害検知するためのタイムアウト等の設定を動的に変更してもよい。
【００８７】
図５は、正常時のデータ同期処理のシーケンスの一例を示す。アプリケーションサーバ１０４は、アプリケーションサーバ１０４Ａ〜１０４Ｃのいずれかであり、アプリケーションサーバ１１４は、アプリケーションサーバ１１４Ａ〜１１４Ｃにおいて、アプリケーションサーバ１０４とペアを構成するアプリケーションサーバである。以下において、アプリケーションサーバ１０４がアクティブであり、アプリケーションサーバ１１４がスタンバイであるとする。
【００８８】
なお、特に指摘がない場合、データ同期サーバ１０６、１１６の処理はデータ同期サーバプログラム２０４により実行され、アプリケーションサーバ１０４、１１４の処理は、データ同期サーバ接続用プログラム３０６によって実行される。以上の点は、他のシーケンス図において同様である。
【００８９】
ステップ５０１からステップ５０３は、各サーバ間の同期状態をチェックするためのシーケンスであり、定期的に実行される。サーバ間の同期状態のチェックは、障害時処理テーブル２３３に示す方法により実行される。ステップ５０１、５０３のように点線で示されるステップは、別プログラムを介した処理を含む場合があり、これらのステップはアプリケーションサーバ１０４（アプリケーションプログラム３０４）に依存する。
【００９０】
データ同期サーバ１０６は、アプリケーションサーバ１０４の同期状態及び生存状態（故障の有無）を定期的に監視する同期監視を実行する（ステップ５０１）。例えば、アプリケーションサーバ１０４内のデータ同期サーバ接続用プログラム３０６が、同期用ファイルインタフェース３０５を介して、アプリケーションプログラム３０４がエラーログ３３２に出力するエラー情報を監視する。
【００９１】
データ同期サーバ接続用プログラム３０６は、データ同期サーバ１０６に、エラーログ３３２出力ファイルの更新内容を送信する。他の方法として、データ同期サーバ１０６が、定期的にアプリケーションサーバ１０４に所定のコマンドを送信し、データ同期サーバ接続用クライアントプログラム３０６から返された応答を参照することによって実現してもよい。
【００９２】
ステップ５０２の同期監視通信は、データ同期サーバ１０６とデータ同期サーバ１１６間の同期状態及び相手サーバの障害の有無をチェックするためのものである。ステップ５０２の同期監視通信において、データ同期サーバ１０６は、アプリケーション識別子と、アプリケーションサーバ１０４からの受信済み更新データの最新のＤａｔａ＿ＩＤ及びＣｏｍ＿ＩＤとを、パケットに含める。データ同期サーバ１１６は、アプリケーション識別子と、データ同期サーバ１０６からの受信済み更新データの最新のＤａｔａ＿ＩＤ及びＣｏｍ＿ＩＤとを、パケットに含める。
【００９３】
データ同期サーバ１０６、１１６間の最新のＤａｔａ＿ＩＤ及びＣｏｍ＿ＩＤが一致しない場合、データ同期サーバ１０６は、未転送の更新データをデータ同期サーバ１１６に送信する。ステップ５０３は、ステップ５０１と同様である。
【００９４】
ステップ５１１以降のシーケンスは、アクティブであるアプリケーションサーバ１０４で更新されたデータを、スタンバイのアプリケーションサーバ１１４へ転送する。ステップ５１１からステップ５２３ステップにおいて、データ同期サーバ１０６及びデータ同期サーバ１１６は、アプリケーション同期管理テーブル２３１のデータ同期サーバ間同期状態４０３及びアプリケーション同期状態４０４を更新する。
【００９５】
最初に、アプリケーションサーバ１０４は、アプリケーションプログラム３０４による更新データ及び付加情報をデータ同期サーバ１０６へ送信する（ステップ５１１）。図５において、付加情報は更新データに含まれているものとする。更新データに付随する付加情報は、更新データをデータ同期サーバ１０６で管理するためのデータであり、更新データのバージョンを示すＤａｔａ＿ＩＤ、送信時刻、管理ＩＤ４０１の値を含んで構成される。アプリケーションサーバ１０４は、更新データに含まれる付加情報に、Ｃｏｍ＿ＩＤを含めてもよい。
【００９６】
ステップ５１１では、アプリケーションサーバ１０４内のアプリケーションプログラム３０４は、トランザクションログ３２１へ更新データを出力する。データ同期サーバ接続用プログラム３０６は、更新データを、同期用ファイルインタフェース３０５を介して受信し、更新データをデータ同期サーバ１０６へ送信する。
【００９７】
次に、データ同期サーバ１０６は、更新データをデータ記憶部２０８へ格納し（ステップ５１２）、正常に受信したことを示す受領応答をアプリケーションサーバ１０４へ送信する（ステップ５１３）。受領応答は、付加情報に含まれるアプリケーション識別子及びＤａｔａ＿ＩＤを含む。データ同期サーバ１０６は、アプリケーション同期管理テーブル２３１のデータ同期サーバ間同期状態４０３において、該当するアプリケーションの情報を「同期中」に更新する。ステップ５１３の後、データ同期サーバ１０６は、更新データをデータ同期サーバ１１６へ送信する（ステップ５１４）。
【００９８】
更新データの付加情報は、アプリケーション識別子、Ｄａｔａ＿ＩＤ、及びＣｏｍ＿ＩＤを含む。アプリケーションサーバ１０４から付加情報にＣｏｍ＿ＩＤが含まれていない場合、データ同期サーバ１０６は、Ｃｏｍ＿ＩＤを生成する。
【００９９】
データ同期サーバ１１６は、ステップ５１４で受信した更新データを、データ記憶部２０８へ格納する（ステップ５１５）。データ同期サーバ１１６は、正常に受信したことを示す受領応答をデータ同期サーバ１０６へ送信し、アプリケーション同期管理テーブル２３１のデータ同期サーバ間同期状態４０３において、同期状態を「同期ＯＫ」に更新し、さらに、Ｃｏｍ＿ＩＤとＤａｔａ＿ＩＤの値を更新する（ステップ５１６）。受領応答は、アプリケーション識別子、Ｄａｔａ＿ＩＤ及びＣｏｍ＿ＩＤを含む。
【０１００】
データ同期サーバ１０６は、受領応答を受信すると、データ同期サーバ１０６とデータ同期サーバ１１６間の同期が成立していると判定し、アプリケーション同期管理テーブル２３１を更新する（ステップ５２５）。具体的には、データ同期サーバ１０６は、データ同期サーバ間同期状態４０３において、同期状態を「同期ＯＫ」に更新し、Ｃｏｍ＿ＩＤとＤａｔａ＿ＩＤの値を更新する。データ同期サーバ１０６は、さらに、アプリケーション同期状態４０４において、同期状態を「リモート同期中」に更新し、同期中のＤａｔａ＿ＩＤの値を追加する。
【０１０１】
データ同期サーバ１１６は、ステップ５１４で受信した更新データを用いて、アプリケーションサーバ１１４のデータを更新する同期処理を行う（ステップ５１７）。データ同期サーバ１１６は、アプリケーション同期状態４０４において、同期状態を「リモート同期中」に更新し、同期中のＤａｔａ＿ＩＤの値を追加する。
【０１０２】
データ同期サーバ１１６は、更新データをアプリケーションサーバ１１４に送信する。例えば、データ同期サーバ１１６は、更新データをアプリケーションプログラム３０４が受信できるプロトコルに変換して送信する。または、データ同期サーバ１１６は、アプリケーションサーバ１１４の同期用ファイルインタフェース３０５に更新データのファイルを配置する。
【０１０３】
データ同期サーバ１１６は、アプリケーションサーバ１１４から受領応答を参照して、アプリケーションサーバ１１４の同期処理（データの更新処理）が正常に完了したかを確認する（ステップ５１８）。受領応答には、アプリケーション識別子及びＤａｔａ＿ＩＤが含まれ、例えば、データ同期サーバ接続用プログラム３０６により送信される。
【０１０４】
データ同期サーバ１１６は、アプリケーションサーバ１１４おける正常なデータ更新を確認すると、その結果を示す同期完了通知を、データ同期サーバ１０６へ送信する（ステップ５１９）。同期完了通知は、アプリケーション識別子、Ｄａｔａ＿ＩＤ及びＣｏｍ＿ＩＤを含む。その後、データ同期サーバ１１６は、更新データを削除する削除処理を実行する（ステップ５２０）。ステップ５１８は、ステップ５１７と同様である。
【０１０５】
データ同期サーバ１０６は、同期完了通知を受信すると、アプリケーションサーバ１０４からアプリケーションサーバ１１４のデータがエンドツーエンドで全て同期されたと判定する。データ同期サーバ１０６は、アプリケーション同期管理テーブル２３１のアプリケーション同期状態４０４において、同期状態を「同期ＯＫ」に更新し、リモート同期中のＤａｔａ＿ＩＤを残し、最終同期Ｄａｔａ＿ＩＤを削除する（以下、全同期確認処理と呼ぶ）（ステップ５２１）。
【０１０６】
ステップ５２１の後、データ同期サーバ１０６は、データ同期サーバ１１６へ、アプリケーション識別子、Ｄａｔａ＿ＩＤ及びＣｏｍ＿ＩＤを含む同期完了応答を送信し（ステップ５２２）、ステップ５１２で格納した更新データの削除処理を実行する（ステップ５２４）。ステップ５２２後、データ同期サーバ１１６は全同期確認処理を実行し、アプリケーション同期管理テーブル２３１を更新する（ステップ５２３）。データ同期サーバ１１６は、データ同期サーバ１０６の前に、全同期確認処理を実行してもよい。
【０１０７】
上述のように、データ同期サーバ１０６（１１６）は、アプリケーション同期管理テーブル２３１を用いて、同期元及び同期先のアプリケーションサーバ１０４、１１４並びにリモートデータセンタ１１９（１０９）のデータ同期サーバ１１６（１０６）と連携することにより、データセンタ１０９、１１９を跨いだアプリケーションプログラム間のＥｎｄ  ｔｏ  Ｅｎｄのデータ同期状態を管理できる。
【０１０８】
図６は、データ同期処理における一時的な障害時のシーケンスの一例を示す。一時的な障害は、永久的な障害と異なり、ある程度の時間で除去されることが想定されている。なお、永久的な障害のケースは図７を参照して後述する。データ同期サーバ１０６、１１６によるアプリケーション同期管理テーブル２３１の更新は図５と同様であり、詳細な説明を省略する。
【０１０９】
ステップ６０１〜６０４は、アプリケーションサーバ１０４とデータ同期サーバ１０６との間のネットワークの障害時のシーケンスの一例である。ステップ６１４〜６１６は、データ同期サーバ１１６、またはデータセンタ間ネットワーク１０８の障害時のシーケンスの一例である。ステップ６１７〜６２０は、アプリケーションサーバ１１４、またはデータセンタ１１９内のネットワークの障害時のシーケンスの一例である。
【０１１０】
以上の障害時シーケンスにおいて、データ同期サーバ１０６、１１６は、障害時処理テーブル２３３の一次障害時処理情報９０３を参照して障害時の対応方法を決定する。
【０１１１】
最初に、アプリケーションサーバ１０４は、更新データをデータ同期サーバ１０６へ送信しようとするが、ネットワークの一時的な障害により、更新データがデータ同期サーバ１０６に受信されない状況が発生したとする（ステップ６０１）。
【０１１２】
このとき、アプリケーションサーバ１０４内のデータ同期サーバ接続用プログラム３０６は、更新データの再送しようとするが、所定時間内に送信できず、一時的な障害があったと判定する。データ同期サーバ接続用プログラム３０６は、更新データを、退避ログ３３１として、ディスク装置３０９へ出力する（ステップ６０２）。
【０１１３】
ネットワーク障害からの回復の後、データ同期サーバ１０６とアプリケーションサーバ１０４とは、同期監視を再開し、互いの同期状態を確認する（ステップ６０３）。アプリケーションサーバ１０４の最新のＤａｔａ＿ＩＤとデータ同期サーバ１０６の最新のＤａｔａ＿ＩＤとが異なる場合、障害時処理テーブル２３３が示すように、データ同期サーバ１０６は、アプリケーションサーバ１０４に、退避ログ３３１に退避していた更新データを送信することを要求する。
【０１１４】
アプリケーションサーバ１０４は、退避ログ３３１に退避していた更新データをデータ同期サーバ１０６へ送信する（ステップ６０４）。アプリケーションサーバ１０４は、最新のＤａｔａ＿ＩＤが一致しない場合、データ同期サーバ１０６からの要求に拠らず、退避ログ３３１のデータを送信してもよい。
【０１１５】
ステップ６１１〜６１３は、ステップ５１１〜５１３と同様のシーケンスであり、アプリケーションサーバ１０４からデータ同期サーバ１０６へ更新データが送信される。次に、データ同期サーバ１０６は、ステップ６１１で受信した更新データをデータ同期サーバ１１６へ送信しようとするが、データ同期サーバ１１６、またはデータセンタ間ネットワーク１０８の一時的な障害により、更新データがデータ同期サーバ１１６に受信されない状況が発生したとする（ステップ６１４Ａ）。
【０１１６】
データ同期サーバ１０６は、受領応答を受信せずに所定時間経過した場合、更新データを再送する（ステップ６１４Ｂ）。ステップ６１４Ｂで再送に成功した場合、データ同期サーバ１１６は、ステップ５１５〜５１６と同様に、更新データを格納し（ステップ６１５）、受領応答をデータ同期サーバ１０６へ送信する（ステップ６１６）。
【０１１７】
次に、データ同期サーバ１１６は、ステップ５１７と同様に、アプリケーションサーバ１１４への同期処理を実行する（ステップ６１７Ａ）。ステップ６１７Ａがアプリケーションサーバ１１４またはデータセンタ１１９内のネットワークの一時障害により失敗した場合、データ同期サーバ１１６は、同期確認処理で同期できていない状態（同期ＮＧ）の検知と、同期ＮＧの詳細の情報を取得する（ステップ６１８Ａ）。
【０１１８】
たとえば、データ同期サーバ１１６は、正常な受領応答を受信できない場合、障害を確認するためのパケットをアプリケーションサーバ１１４に向けて送信する。データ同期サーバ１１６は、エラー応答を参照することで、障害位置や障害内容を知ることができる。エラー応答は、アプリケーションプログラム３０４、アプリケーションサーバ１１４の他プログラム、またはネットワーク上の通信装置から受信する。
【０１１９】
次に、データ同期サーバ１１６は、ステップ６１８で取得した情報を分析し、同期処理のためのパラメータを変更する（ステップ６１９）。ステップ６１９では、データ同期サーバ１１６は、たとえば、ステップ６１８の結果により、一回に送信するデータのサイズを小さくする。更新データは、小さくされたサイズのデータに分割されて送信される。
【０１２０】
ステップ６１９の後、データ同期サーバ１１６は、変更したパラメータにおいて、アプリケーションサーバ１１４に対する同期処理をリトライする（ステップ６１７Ｂ）。ステップ６１７Ｂが成功すれば、データ同期サーバ１１６は、同期できている状態（同期ＯＫ）を、受領応答を参照して確認し（ステップ６１８Ｂ）、同期完了通知をデータ同期サーバ１０６へ送信する（ステップ６２０）。
【０１２１】
データ同期サーバ１０６は、同期完了通知を所定時間受信できなければ、更新データをデータ同期サーバ１１６へ再送する。これは、データ同期サーバ１０６とデータ同期サーバ１１６が同期できていても、その直後にデータ同期サーバ１１６またはデータセンタ１１９がダウンしていた場合があり得るからである。
【０１２２】
データ同期サーバ１０６は、ステップ６１４Ｃにおいて、データセンタ１１９と異なるデータセンタ（データセンタ１１９の代行のデータセンタ）に更新データを送信し、他のデータセンタでデータ同期処理を継続してもよい。
【０１２３】
上述のように、データ同期サーバ１０６、１１６は、一時的障害発生時、アプリケーション同期管理テーブル２３１を利用して、障害箇所と障害状況に応じて、アプリケーションプログラム間のデータを高速に同期させてサービスの復旧時間を短縮できる。
【０１２４】
図７は、障害によるアプリケーションサーバ１０４の切替処理のシーケンスの一例を示す。切替処理は、永久的な障害が発生し、通信端末１０１へサービスを提供しているアクティブなアプリケーションサーバを、アプリケーションサーバ１０４からリモートデータセンタのスタンバイのアプリケーションサーバ１１４へ切り替える。
【０１２５】
データ同期サーバ１０６は、ステップ５０１と同様に同期監視を行い、アプリケーションサーバ１０４との間の同期状態及びアプリケーションサーバ１０４の生存状態を監視する（ステップ７０１）。アプリケーションサーバ１０４がサーバ障害等によりサービスできなくなった場合、ステップ７０１により、データ同期サーバ１０６が障害を検知し（ステップ７０２）、運用管理サーバ１０７へ異常を通知する（ステップ７０３）。
【０１２６】
アプリケーションプログラム３０４のエラーの場合、データ同期サーバ接続用プログラム３０６が、アプリケーションプログラム３０４のエラー情報を格納するエラーログ３３２を参照して、アプリケーションプログラム３０４のエラーを検知する。データ同期サーバ接続用プログラム３０６は、エラーログ３２２を介して、運用管理サーバ１０７へ検知したエラーを通知する（ステップ７０４）。運用管理サーバ１０７は、ステップ７０３またはステップ７０４後、表示装置において異常の内容を表示する（ステップ７０５）。また、データ同期サーバ接続用プログラム３０６は、データ同期サーバ１０６の障害を検知した場合、エラーログ３２２を介して、運用管理サーバ１０７へ通知する。
【０１２７】
ステップ７０６以降のシーケンスは、運用者がステップ７０５の結果から、アプリケーションサーバの切替処理を実行する場合のシーケンスである。運用者は、運用管理サーバ１０７に、アプリケーションサーバ１０４とアプリケーションサーバ１１４の同期状態を確認するための、同期状態確認用コマンドを入力する（ステップ７０６）。
【０１２８】
運用管理サーバ１０７は、ステップ７０６後、アプリケーションサーバ１０４とアプリケーションサーバ１１４の同期状態を確認する同期状態確認の要求を、データ同期サーバ１０６へ送信する（ステップ７１０）。データ同期サーバ１０６は、アプリケーション同期管理テーブル２３１を参照し、対象のアプリケーションの同期情報を運用管理サーバ１０７へ送信する（ステップ７１２）。具体的には、データ同期サーバ１０６は、データ同期サーバ間同期状態４０３及びアプリケーション同期状態４０４の対応アプリケーションの情報を送信する。
【０１２９】
運用管理サーバ１０７は、ステップ７１０Ａ、７１２と同様に、同期状態確認の要求をデータ同期サーバ１１６へ送信し（ステップ７１１）、アプリケーションの同期状態の情報を受信する（ステップ７１３）。アプリケーション同期管理テーブル２３１により、運用管理サーバ１０７は、迅速にアプリケーションサーバ１０４、１１４間の同期状態の情報を取得することができる。
【０１３０】
運用管理サーバ１０７は、ステップ７１２、７１３で取得した、アプリケーションサーバ１０４、１１４の同期情報を、表示装置において表示する（ステップ７１４）。運用者は、ステップ７１４の結果から、アプリケーションサーバ１０４とアプリケーションサーバ１１４のデータが同期できていることを確認できた場合、アプリケーションサーバ１０４の切替処理を開始するコマンドを入力する（ステップ７１５）。データ同期サーバ１０６、１１６から受信した同期情報が「同期中」、「同期ＮＧ」を含まず、一致する場合、アプリケーションサーバ１０４とアプリケーションサーバ１１４のデータが同期できている。
【０１３１】
アプリケーションサーバ１１４に未転送の更新データが、データ同期サーバ１０６又は１１６に存在する場合、運用者は、データ同期のために規定時間を待って、同期状態確認の要求をデータ同期サーバ１０６、１１６に再送する。ステップ７１４が障害によりアプリケーションサーバ１１４のデータ同期が不可能であることを示す場合、運用者は、回復のためのオペレーションを実行する。
【０１３２】
運用管理サーバ１０７は、アプリケーションサーバ１０４を切替するための、切替要求をデータ同期サーバ１０６へ送信する（ステップ７２１）。データ同期サーバ１０６は、ステップ７２１の後、アプリケーション同期管理テーブル２３１のアプリケーション同期状態４０４及び稼働情報４０５を更新する。
【０１３３】
次に、データ同期サーバ１０６は、切替対象のアプリケーションサーバ１０４に対応するロードバランサ１０３のポートを閉塞し、アプリケーション同期管理テーブル２３１のオプション情報４０６にポート閉塞の情報を追加し（ステップ７２３）、正常応答を運用管理サーバ１０７へ送信する（ステップ７２５）。
【０１３４】
また、運用管理サーバ１０７は、ステップ７１５後に、ステップ７２１と同様に、データ同期サーバ１１６へ切替要求を送信する（ステップ７２２）。データ同期サーバ１１６は、ステップ７２２後、アプリケーション同期管理テーブル２３１のアプリケーション同期状態４０４、稼働情報４０５を更新し、切替対象のアプリケーションサーバ１１４に対応するロードバランサ１１３のポートの閉塞解除し（ステップ７２４）、正常応答を運用管理サーバ１０７へ送信する。データ同期サーバ１０６、１１６が、ロードバランサ１０３、１１３を制御することで、迅速に切替処理を行うことができる。
【０１３５】
図７のシーケンスは、運用者の介入を前提しているが、データ同期サーバ１０６及びデータ同期サーバ１１６は、運用者の介入なしで、切替処理を実行してもよい。データ同期サーバ１０６、１１６は、障害時処理テーブル２３３の障害時処理情報９０４が示す障害時の対応処理を実行する。これにより、運用者の操作を不要とし、さらに、迅速な切替処理を実現できる。
【０１３６】
データ同期サーバ１０６、１１６が、運用管理サーバ１０７からの指示なしで切替処理を実行する場合、ステップ７０６、ステップ７１０〜７１５を省略することができる。データ同期サーバ１０６とデータ同期サーバ１１６とは、ステップ７１０〜７１３の代わりに同期監視（ステップ５０２）を実行し、アプリケーション同期管理テーブル２３１のアプリケーション同期状態４０４の情報を交換する。
【０１３７】
障害発生したアプリケーションプログラム３０４（アプリケーションサーバ１０４）の同期状態の情報が、同期完了を示し、データ同期サーバ１０６、１１６間において一致している場合、データ同期サーバ１０６、１１６は、切替処理を実行する。アプリケーションサーバ１０４が複数のアプリケーションプログラムを実行する場合、全てのアプリケーションプログラムの同期状態の情報が一致していることが条件である。
【０１３８】
例えば、データ同期サーバ１０６は、運用管理サーバ１０７の上記処理を実行する。つまり、データ同期サーバ１０６は、同期状態の情報が「同期中」、「同期ＮＧ」を含まず、さらに、一致するか判定する。当該条件を満たす場合、ステップ７２２及びステップ７２３を実行する。データ同期サーバ１１６は、データ同期サーバ１０６からの切替要求に応答して、ステップ７２４及び７２６を実行する。データ同期サーバ１０６、１１６の役割は逆でもよい。
【０１３９】
図８は、データ同期サーバ１０６におけるアプリケーション登録のシーケンスの一例を示す。運用者は、運用管理サーバ１０７に、登録したいアプリケーションサーバ１０４の情報、アプリケーションの種別、どのデータセンタのアプリケーションサーバ１０４をアクティブにするか、スタンバイにするか等の情報を入力する（ステップ８０１）。運用管理サーバ１０７は、入力された情報を元に登録要求をアクティブ側のデータ同期サーバ１０６へ送信する（ステップ８０２）。
【０１４０】
データ同期サーバ１０６は、アプリケーション同期管理テーブル２３１にエントリを追加し、運用管理サーバ１０７へ登録が成功したことを示す正常応答を送信する（ステップ８０３）。
【０１４１】
運用管理サーバ１０７は、さらに、スタンバイ側のデータ同期サーバ１１６へ、登録要求を送信する（ステップ８０４）。データ同期サーバ１１６は、ステップ９０３と同様に、アプリケーション同期管理テーブル２３１を更新し、運用管理サーバ１０７へ登録が成功したことを示す正常応答を返す送信する（ステップ８０５）。
【０１４２】
データ同期サーバ１０６とデータ同期サーバ１１６は、登録されたアプリケーションの同期監視のための通信を開始する（ステップ８０６）。既に他のアプリケーションがデータ同期サーバ１０６に登録されていて、同期監視が行われている場合は、ステップ８０６において、同期監視のためのパケットに、既存のアプリケーションの情報に加え、新規に登録されたアプリケーションの情報が含まれる。
【０１４３】
ステップ８０１の後、運用者は、運用管理サーバ１０７を使用して、新規に登録するアプリケーションプログラム３０４のアプリケーション設定ファイル３２３を更新し、更新ログの出力先を同期用ファイルインタフェース３０５に設定する（ステップ８１０）。アプリケーションサーバ１０４のデータ同期サーバ接続用プログラム３０６は、ステップ８１０以前にインストールされ稼働している。
【０１４４】
既に他のアプリケーションがデータ同期サーバ１０６で登録され、データ同期処理が行われている場合、運用者は、ステップ８０１及び８１０の簡単な作業だけで、新たなアプリケーションのデータ同期処理を実現することができる。アプリケーションプログラム３０４は、ディスク３０９を介さず、高速アクセス可能なデータ同期サーバ１０６のデータ記憶部２０８へ直接更新データを出力できるため、データ同期処理による処理性能低下を抑制できる。
【０１４５】
ステップ８１０後、データ同期サーバ１０６は、アプリケーションサーバ１０４の新たに登録されたアプリケーションの同期監視を開始する（ステップ８１１）。また、データ同期サーバ１１６も、アプリケーションサーバ１１４の新たに登録されたアプリケーションの同期監視を開始する（ステップ８１２）。
【０１４６】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１４７】
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード等の記録媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
【図１】
2017013791.tif 000003
【図２Ａ】
2017013791.tif 000004
【図２Ｂ】
2017013791.tif 000005
【図３Ａ】
2017013791.tif 000006
【図３Ｂ】
2017013791.tif 000007
【図３Ｃ】
2017013791.tif 000008
【図４Ａ】
2017013791.tif 000009
【図４Ｂ】
2017013791.tif 000010
【図５】
2017013791.tif 000011
【図６】
2017013791.tif 000012
【図７】
2017013791.tif 000013
【図８】
2017013791.tif 000014
【手続補正書】
【提出日】平成29年2月7日(2017.2.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１アプリケーションプログラムを実行する、第１アプリケーションサーバと、
前記第１アプリケーションプログラムと同種の第２アプリケーションプログラムを実行し、前記第１アプリケーションプログラムのバックアップデータを保持する、第２アプリケーションサーバと、
前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態を管理する第１管理情報を保持する、第１データ同期サーバと、
前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態を管理する第２管理情報を保持する、第２データ同期サーバと、
を含み、
前記第１データ同期サーバは、
第１ネットワークを介して、前記第１アプリケーションサーバから前記第１アプリケーションプログラムによる更新データを取得し、
前記更新データを、第２ネットワークを介して前記第２データ同期サーバに転送し、
前記第２データ同期サーバは、
第３ネットワークを介して、前記更新データを前記第２アプリケーションサーバに転送し、
前記更新データを前記第２アプリケーションサーバに転送した後に、前記第２管理情報における前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態の情報を更新し、
前記更新データを前記第２アプリケーションサーバに転送した後に、前記第２ネットワークを介して前記第１データ同期サーバに、前記更新データの前記第２アプリケーションサーバへのバックアップの完了を示す完了通知を送信し、
前記第１データ同期サーバは、前記完了通知に応答して、前記第１管理情報における前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態の情報を更新する、データバックアップシステム。
【請求項２】
請求項１に記載のデータバックアップシステムであって、
前記第１管理情報及び前記第２管理情報は、前記第１データ同期サーバと前記第２データ同期サーバとの間における同期状態を管理する、データバックアップシステム。
【請求項３】
請求項１に記載のデータバックアップシステムであって、
前記第１アプリケーションサーバは、第１データ同期サーバ接続用プログラムを実行し、
前記第１アプリケーションサーバは、
前記第１アプリケーションプログラムが出力した更新データをファイルインタフェースを介して前記第１データ同期サーバ接続用プログラムに渡し、
前記第１データ同期サーバ接続用プログラムを実行することによって、前記更新データを前記第１データ同期サーバへ送信する、データバックアップシステム。
【請求項４】
請求項３に記載のデータバックアップシステムであって、
前記第１アプリケーションサーバは、異常を検知すると、前記ファイルインタフェースを介して管理サーバに通知する、データバックアップシステム。
【請求項５】
請求項１に記載のデータバックアップシステムであって、
前記第１アプリケーションサーバは、障害により前記更新データの前記第１データ同期サーバへの送信を失敗した場合、前記更新データを退避ログとして保持し、
前記障害からの回復後、前記第１データ同期サーバは、前記退避ログを前記第１アプリケーションサーバから受信する、データバックアップシステム。
【請求項６】
請求項１に記載のデータバックアップシステムであって、
前記第１データ同期サーバは、インメモリ分散記憶システムに含まれ、
前記インメモリ分散記憶システムは、前記更新データを複数データ同期サーバのメモリ上で保持する、データバックアップシステム。
【請求項７】
請求項１に記載のデータバックアップシステムであって、
前記第１データ同期サーバは、
障害の発生箇所に応じた処理の情報を格納する障害時処理テーブルを保持し、
障害発生時に障害時処理テーブルが示す障害時処理を実行する、データバックアップシステム。
【請求項８】
請求項１に記載のデータバックアップシステムであって、
前記第１アプリケーションプログラムにおいて障害が発生し、前記第１管理情報と前記第２管理情報が、前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとが同期していることを示す場合、前記第１データ同期サーバ及び前記第２データ同期サーバは、サービスを提供するアクティブアプリケーションサーバを、前記第１アプリケーションサーバから前記第２アプリケーションサーバに切り替える切替処理、を実行する、データバックアップシステム。
【請求項９】
請求項８に記載のデータバックアップシステムであって、
前記第１アプリケーションサーバは、第１ロードバランサを介して、サービスを提供するためのサービスネットワークに接続し、
前記第２アプリケーションサーバは、第２ロードバランサを介して、前記サービスネットワークに接続し、
前記第１データ同期サーバは、前記切替処理において、前記第１ロードバランサの前記第１アプリケーションサーバのポートを閉塞し、
前記第２データ同期サーバは、前記切替処理において、前記第２ロードバランサの前記第２アプリケーションサーバのポートを閉塞解除する、データバックアップシステム。
【請求項１０】
データバックアップシステムを制御する方法であって、
前記データバックアップシステムは、
第１アプリケーションプログラムを実行する、第１アプリケーションサーバと、
前記第１アプリケーションプログラムと同種の第２アプリケーションプログラムを実行し、前記第１アプリケーションプログラムのバックアップデータを保持する、第２アプリケーションサーバと、
前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態を管理する第１管理情報を保持する、第１データ同期サーバと、
前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態を管理する第２管理情報を保持する、第２データ同期サーバと、
を含み、
前記方法は、
前記第１データ同期サーバが、第１ネットワークを介して、前記第１アプリケーションサーバから前記第１アプリケーションプログラムによる更新データを取得し、
前記第１データ同期サーバが、前記更新データを、第２ネットワークを介して前記第２データ同期サーバに転送し、
前記第２データ同期サーバが、第３ネットワークを介して、前記更新データを前記第２アプリケーションサーバに転送し、
前記第２データ同期サーバが、前記更新データを前記第２アプリケーションサーバに転送した後に、前記第１管理情報における前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態の情報を更新し、
前記第２データ同期サーバが、前記更新データを前記第２アプリケーションサーバに転送した後に、前記第２ネットワークを介して前記第１データ同期サーバに、前記更新データの前記第２アプリケーションサーバへのバックアップの完了を示す完了通知を送信し、
前記第１データ同期サーバが、前記完了通知に応答して、前記第１管理情報における前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態の情報を更新する、ことを含む方法。
【請求項１１】
データバックアップシステムにおいて使用されるデータ同期サーバであって、
前記データバックアップシステムは、
第１アプリケーションプログラムを実行する、第１アプリケーションサーバと、
前記第１アプリケーションプログラムと同種の第２アプリケーションプログラムを実行し、前記第１アプリケーションプログラムのバックアップデータを保持する、第２アプリケーションサーバと、
を含み、
前記データ同期サーバは、
プログラムを格納するメモリと、
前記プログラムを実行するプロセッサと、を含み、
前記メモリは、
前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態を管理する第１管理情報を格納し、
前記プロセッサは、
第１ネットワークを介して、前記第１アプリケーションサーバから前記第１アプリケーションプログラムによる更新データを取得し、
前記更新データを、第２ネットワークを介して第２データ同期サーバに転送し、
前記更新データの前記第２アプリケーションサーバへのバックアップの完了を示す完了通知を前記第２データ同期サーバから受信すると、前記完了通知に応答して、前記第１管理情報における前記第１アプリケーションプログラムと前記第２アプリケーションプログラムとの同期状態の情報を更新する、データ同期サーバ。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００８５
【補正方法】変更
【補正の内容】
【００８５】
一時障害時処理情報４５３は、データ同期サーバ１０６が障害ポイント４５１での一時的な障害を検知するためのタイムアウトの情報と、一時障害後の処理内容の情報を示す。障害時処理情報４５４は、切替処理等を行う必要のある永久的な障害を検知するための情報と、障害後の処理内容の情報を示す。オプション情報４５５は、障害時処理に関する追加の情報を示し、たとえば過去の障害履歴等の情報を示す。
【国際調査報告】
2017013791.tif 000015
2017013791.tif 000016
2017013791.tif 000017
2017013791.tif 000018