(57)【要約】      （修正有）【課題】本番システムの保守作業時に、トランザクションの処理を停止させることなく、本番システムと代行システムを相互に切り替える方法。【解決手段】代行システムは、本番システムで処理されたトランザクションについてのデータが格納されている本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、少なくとも１の更新データを含むデータを取得し、取得したデータを代行システムの記憶部にコピーする復元部と、更新データと静止点を識別可能にする情報とを蓄積するメッセージ・キューから、静止点を識別可能にする情報を用いて選択され、且つ静止点以降にコミットされた更新データを代行システムの記憶部にコピーするコピー部と、コピー終了に応じて、トランザクションの受付キューから少なくとも１のトランザクションを取得し、取得したトランザクションの処理を開始するトランザクション処理部とを含む。【選択図】図１
2010033398.tif 000002
【特許請求の範囲】
【請求項１】
トランザクションを処理する本番システムのバックアップ・システムである代行システムであって、
本番システムで処理されたトランザクションについての少なくとも１の更新データを含むデータが格納されている前記本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも１の更新データを含む前記データを取得し、該取得したデータを前記代行システムの記憶部にコピーする復元部と、
前記更新データと該更新データのそれぞれに関連付けられ且つ前記静止点を識別可能にする情報とを蓄積するメッセージ・キューから、前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記代行システムの記憶部にコピーするコピー部と、
前記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも１のトランザクションを取得し、そして該取得したトランザクションの処理を開始するトランザクション処理部と
を含む、前記代行システム。
【請求項２】
前記静止点を識別可能にする情報が、前記コミットに関連付けられたタイム・スタンプ又は前記コミットに関連付けられた相対バイト・アドレスである、請求項１に記載の代行システム。
【請求項３】
前記メッセージ・キューに蓄積されるデータが、更新データと該更新データのコミットに関連付けられたタイム・スタンプ又は該更新データのコミットに関連付けられた相対バイト・アドレスとを含む、請求項１に記載の代行システム。
【請求項４】
前記静止点を識別可能にする情報が、ログ・サスペンド・コマンドを実行して取得される、請求項１に記載の代行システム。
【請求項５】
前記トランザクションの取得の開始が、前記受付キューから前記本番システムに送られたトランザクションについての処理が全て終了していることを確認することをさらに含む、請求項１に記載の代行システム。
【請求項６】
前記代行システムの記憶部が、前記代行システムの前記トランザクション処理部で処理されたトランザクションについての少なくとも１の更新データを含むデータをさらに格納する、請求項１に記載の代行システム。
【請求項７】
代行システムのトランザクションについての更新データを格納する該代行システムの記憶部から、静止点直前でトランザクションがコミットされた最後の時点における、代行システムの前記少なくとも１の更新データを含む前記データを前記本番システムに送信する送信部をさらに含む、請求項１に記載の代行システム。
【請求項８】
前記代行システムの前記トランザクション処理部で処理されたトランザクションについての少なくとも１つの更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とを、メッセージ・キューに送信する送信部をさらに含む、請求項６に記載の代行システム。
【請求項９】
トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システムであって、
トランザクションを受け付ける受付キューであって、該受付キューは、該トランザクションを処理する本番システム又は代行システムに接続されうる、前記受付キューを含み、
前記本番システムは、
前記受付キューからトランザクションを受信し、該受信したトランザクションを処理するトランザクション処理部と、
前記本番システムで処理されたトランザクションについての少なくとも１の更新データを含むデータを格納する記憶部と、
前記更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とをメッセージ・キューに送信する第１送信部と、
静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも１の更新データを含む前記データを前記代行システムに送信する第２送信部と
を含み、
前記代行システムは、
前記本番システムから送信された前記少なくとも１の更新データを含むデータを取得し、該取得したデータを格納する代行システムの記憶部と、
前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記メッセージ・キューから前記代行システムの記憶部にコピーするコピー部と、
前記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも１のトランザクションを取得し、そして該取得したトランザクションの処理を開始するトランザクション処理部と
を含む、前記本番−代行システム。
【請求項１０】
トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとの間でトランザクションの処理を切り替える方法であって、
本番システムで処理されたトランザクションについての少なくとも１の更新データを含むデータが格納されている前記本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも１の更新データを含む前記データを取得し、該取得したデータを該代行システムの記憶部にコピーするステップと、
前記更新データと該更新データのそれぞれに関連付けられ且つ前記静止点を識別可能にする情報とを蓄積するメッセージ・キューから、前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記代行システムの記憶部にコピーするステップと、
前記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも１のトランザクションを取得し、そして該取得したトランザクションの処理を開始するステップと
を含む、前記方法。
【請求項１１】
前記代行システムで処理されたトランザクションについての少なくとも１の更新データを前記代行システムの記憶部に格納するステップをさらに含む、請求項１０に記載の方法。
【請求項１２】
代行システムから本番システムへの切り替え命令に応答して、
前記代行システムで処理されたトランザクションについての少なくとも１の更新データと該更新データのそれぞれに関連付けられ且つ前記静止点を識別可能にする情報とを、前記代行システムに関連付けられたメッセージ・キューに蓄積するステップ
をさらに含む、請求項１１に記載の方法。
【請求項１３】
前記代行システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも１の更新データを含む前記データを、前記本番システムに送信するステップ
をさらに含む、請求項１２に記載の方法。
【請求項１４】
前記代行システムに関連付けられたメッセージ・キューから、前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記本番システムに送信するステップ
をさらに含む、請求項１３に記載の方法。
【請求項１５】
前記選択された更新データの全てを前記本番システムに送信後に、前記代行システムから前記本番システムにトランザクションの処理を切り替えるステップをさらに含む、請求項１４に記載の方法。
【請求項１６】
トランザクションを処理する本番システムと、該本番システムのバックアップ・システムである代行システムと、トランザクションが処理される本番システム又は代行システムに接続されうる、トランザクションを受け付ける受付キューとを含む本番−代行システムにおいて、前記本番システムと前記代行システムとの間でトランザクションの処理を切り替える方法であって、
前記本番システムが、
前記受付キューからトランザクションを受信し、該受信したトランザクションを処理するステップと、
前記本番システムで処理されたトランザクションについての少なくとも１の更新データを含むデータを本番システムの記憶部に格納するステップと、
前記更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とをメッセージ・キューに送信するステップと、
静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも１の更新データを含む前記データを前記代行システムに送信するステップと、
を実行し、
前記代行システムが、
前記本番システムから送信された上記少なくとも１の更新データを含むデータを代行システムの記憶部にコピーするステップと、
前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記メッセージ・キューから前記代行システムの記憶部にコピーするステップと、
前記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも１のトランザクションを取得し、そして該取得したトランザクションの処理を開始するステップと
を実行する、前記方法。
【請求項１７】
前記本番システムから前記代行システムへの切り替え命令に応答して、
前記本番システムが、前記静止点を設定するステップをさらに実行する、請求項１６に記載の方法。
【請求項１８】
前記最後の時点における、前記少なくとも１の更新データを含む前記データを前記代行システムに送信するステップが、前記更新データと該更新データのそれぞれに関連付けられ且つ前記静止点を識別可能にする情報とをメッセージ・キューに送信することが開始されることに応じて実行される、請求項１６に記載の方法。
【請求項１９】
前記選択された更新データのコピーが終了する前に、
前記受付キューから前記本番システムへのトランザクションの送信を停止するステップをさらに含む、請求項１６に記載の方法。
【請求項２０】
前記代行システムから前記本番システムへの切り替え命令に応答して、
前記代行システムが、
前記静止点を設定するステップと、
前記代行システムで処理されたトランザクションについての少なくとも１の更新データと該更新データのそれぞれに関連付けられ且つ前記静止点を識別可能にする情報とをメッセージ・キューに送信するステップと、
前記代行システムで処理されたトランザクションについての少なくとも１の更新データを含むデータを前記本番システムに送信するステップであって、前記更新データは、静止点前であってトランザクションがコミットされた最後の時点における更新データである、前記送信するステップと
をさらに実行する、請求項１６に記載の方法。
【請求項２１】
前記本番システムが、
前記代行システムから送信された上記少なくとも１の更新データを含むデータを前記本番システムの記憶部にコピーするステップと、
前記メッセージ・キューから送信された更新データを前記本番システムの記憶部にコピーするステップと
をさらに実行し、
前記代行システムが、
前記選択された更新データを前記本番システムに送信後に、前記代行システムから前記本番システムにトランザクションの処理を切り替えるステップ
をさらに実行する、請求項２０に記載の方法。
【請求項２２】
トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システムであって、
トランザクションを受け付ける受付キューであって、該受付キューは、該トランザクションを処理する本番システム又は代行システムに接続されうる、前記受付キューを含み、
前記本番システムは、
前記受付キューからトランザクションを受信し、該受信したトランザクションを処理するトランザクション処理部と、
前記本番システムで処理されたトランザクションについての少なくとも１の更新データを含むデータを格納する記憶部と、
前記更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とをメッセージ・キューに送信する第１送信部であって、前記静止点を識別可能にする情報が、前記コミットに関連付けられたタイム・スタンプ若しくは前記コミットに関連付けられた相対バイト・アドレスであり又はログ・サスペンド・コマンドを実行して取得される、前記第１送信部と、
静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも１の更新データを含む前記データを前記代行システムに送信する第２送信部と
を含み、
前記代行システムは、
前記本番システムから送信された前記少なくとも１の更新データを含むデータを取得し、該取得したデータを格納する代行システムの記憶部と、
前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記メッセージ・キューから前記代行システムの記憶部にコピーするコピー部と、
前記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも１のトランザクションを取得し、そして該取得したトランザクションの処理を開始するトランザクション処理部と
を含む、前記本番−代行システム。
【請求項２３】
トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとの間でトランザクションの処理を切り替えるコンピュータ・プログラムであって、前記代行システムに、請求項１０〜１５のいずれか一項に記載の方法の各ステップを実行させる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム、並びに該本番システムと該代行システムとの間でトランザクションの処理を切り替える方法及びそのコンピュータ・プログラムに関する。
【背景技術】
【０００２】
２４時間３６５日連続運転するシステムでは、ハードウェア又はソフトウェアの保守作業のために、本番システムを止めて、その代行システムを動かすことが必要になる。例えば金融機関のシステムの代行システムは、本番システムのデータ、例えば口座の残高を引き継ぐ必要がある。しかし、データの整合性をとりつつ本番システムのデータを代行システムにコピーするには、本番システムを停止し、その後に代行システムに切り替える必要がある。そのために、サービスの停止時間が生じてしまう。サービスの停止時間なしに代行システムに切り替える既存の技術としては、代行システムを本番システムと同時に稼動させておき、本番データを代行システムに常に反映させておく方法がある。ただし、この方法では、本番システムのピーク処理能力に合わせて代行システムの処理能力を用意する必要があるので費用がかかる。
【０００３】
下記特許文献１は、レプリケーションに要する時間の短縮に好適なシステム及び方法を記載する。
下記特許文献２は、ファイルバックアップとリモートレプリケーションとを行う機能を統合して、統合ストレージシステムを備えたコンピュータプライマリデータストレージシステムを記載する。
【特許文献１】特開２００６−２６８７４０号公報
【特許文献２】特開２００５−５３８４７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本番システムに代わって代行システムがトランザクションの処理を行う本番−代行システムにおいて、本番システムの保守作業時に、トランザクションの処理を停止させることなく、本番システムと代行システムを相互に切り替える方法が求められている。
【課題を解決するための手段】
【０００５】
本発明は、トランザクションを処理する本番システムのバックアップ・システムである代行システムを提供する。
該代行システムは、本番システムで処理されたトランザクションについての少なくとも１の更新データを含むデータが格納されている上記本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも１の更新データを含む上記データを取得し、該取得したデータを上記代行システムの記憶部にコピーする復元部と、
上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とを蓄積するメッセージ・キューから、上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを上記代行システムの記憶部にコピーするコピー部と、
上記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも１のトランザクションを取得し、そして該取得したトランザクションの処理を開始するトランザクション処理部と
を含む。
【０００６】
本発明の１つの実施態様では、上記静止点を識別可能にする情報が、上記コミットに関連付けられたタイム・スタンプ又は上記コミットに関連付けられた相対バイト・アドレスである。
【０００７】
本発明の１つの実施態様では、上記メッセージ・キューに蓄積されるデータが、更新データと該更新データのコミットに関連付けられたタイム・スタンプ又は該更新データのコミットに関連付けられた相対バイト・アドレスとを含む。
【０００８】
本発明の１つの実施態様では、上記静止点を識別可能にする情報が、ログ・サスペンド・コマンド又はＢＡＣＫＵＰ  ＳＹＳＴＥＭ  ＵＴＩＬＩＴＹを実行して取得される。該静止点を識別可能にする情報の取得は例えば、上記コピー部が上記静止点以降にコミットされた更新データを選択する際におこなう。
【０００９】
本発明の１つの実施態様では、上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信することが、静止点よりも早い時点で開始される。
【００１０】
本発明の１つの実施態様では、上記トランザクションの取得の開始が、上記受付キューから上記本番システムに送られたトランザクションについての処理が全て終了していることを確認することをさらに含む。
【００１１】
本発明の１つの実施態様では、上記代行システムの記憶部が、上記代行システムの上記トランザクション処理部で処理されたトランザクションについての少なくとも１つの更新データを含むデータをさらに格納する。
【００１２】
本発明の１つの実施態様では、代行システムのトランザクションについての更新データを格納する該代行システムの記憶部から、静止点直前でトランザクションがコミットされた最後の時点における、上記代行システムの上記少なくとも１の更新データを含む上記データを上記本番システムに送信する送信部をさらに含む。
【００１３】
本発明の１つの実施態様では、上記代行システムの上記トランザクション処理部で処理されたトランザクションについての少なくとも１つの更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とを、メッセージ・キューに送信する送信部をさらに含む。
【００１４】
本発明はまた、トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システムを提供する。該本番−代行システムは、トランザクションを受け付ける受付キューであって、該受付キューは、該トランザクションを処理する本番システム又は代行システムに接続されうる、上記受付キューを含む。
上記本番システムは、
上記受付キューからトランザクションを受信し、該受信したトランザクションを処理するトランザクション処理部と、
上記本番システムで処理されたトランザクションについての少なくとも１の更新データを含むデータを格納する記憶部と、
上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信する第１送信部と、
静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも１の更新データを含む上記データを上記代行システムに送信する第２送信部と
を含む。
上記代行システムは、
上記本番システムから送信された上記少なくとも１の更新データを含むデータを取得し、該取得したデータを格納する代行システムの記憶部と、
上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを前記メッセージ・キューから上記代行システムの記憶部にコピーするコピー部と、
上記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも１のトランザクションを取得し、そして該取得したトランザクションの処理を開始するトランザクション処理部と
を含む。
【００１５】
本発明の１つの実施態様では、上記静止点を識別可能にする情報が、上記コミットに関連付けられたタイム・スタンプ又は上記コミットに関連付けられた相対バイト・アドレスである。
【００１６】
本発明の１つの実施態様では、上記メッセージ・キューに蓄積されるデータが、更新データと該更新データのコミットに関連付けられたタイム・スタンプ又は該更新データのコミットに関連付けられた相対バイト・アドレスとを含む。
【００１７】
本発明の１つの実施態様では、上記静止点を識別可能にする情報が、ログ・サスペンド・コマンド又はＢＡＣＫＵＰ  ＳＹＳＴＥＭ  ＵＴＩＬＩＴＹを実行して取得される。
【００１８】
本発明の１つの実施態様では、上記トランザクションの取得の開始が、上記受付キューから上記本番システムに送られたトランザクションについての処理が全て終了していることを確認することをさらに含む。
【００１９】
本発明の１つの実施態様では、上記代行システムの記憶部が、上記代行システムの上記トランザクション処理部で処理されたトランザクションについての少なくとも１つの更新データを含むデータをさらに格納する。
【００２０】
本発明の１つの実施態様では、代行システムのトランザクションについての更新データを格納する該代行システムの記憶部から、静止点直前でトランザクションがコミットされた最後の時点における、代行システムの上記少なくとも１の更新データを含む上記データを上記本番システムに送信する送信部をさらに含む。
【００２１】
本発明の１つの実施態様では、上記代行システムの上記トランザクション処理部で処理されたトランザクションについての少なくとも１つの更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とを、メッセージ・キューに送信する送信部をさらに含む。
【００２２】
本発明はまた、トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとの間でトランザクションの処理を切り替える方法を提供する。該方法は、代行システムに下記ステップを実行させることを含む。
該方法は、
本番システムで処理されたトランザクションについての少なくとも１の更新データを含むデータが格納されている上記本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも１の更新データを含む上記データを取得し、該取得したデータを該代行システムの記憶部にコピーするステップと、
上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とを蓄積するメッセージ・キューから、上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを上記代行システムの記憶部にコピーするステップと、
上記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも１のトランザクションを取得し、そして該取得したトランザクションの処理を開始するステップと
を含む。
【００２３】
本発明の１つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、ログ・サスペンド・コマンド又はＢＡＣＫＵＰ  ＳＹＳＴＥＭ  ＵＴＩＬＩＴＹを実行して、上記静止点を識別可能にする情報を取得するステップを含む。本発明の１つの実施態様では、上記静止点を識別可能にする情報が、上記コミットに関連付けられたタイム・スタンプ又は上記コミットに関連付けられた相対バイト・アドレスである。
【００２４】
本発明の１つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、上記代行システムで処理されたトランザクションについての少なくとも１の更新データを上記代行システムの記憶部に格納するステップを含む。
【００２５】
本発明の１つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、
代行システムから本番システムへの切り替え命令に応答して、
上記代行システムで処理されたトランザクションについての少なくとも１の更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とを、上記代行システムに関連付けられたメッセージ・キューに蓄積するステップ
を含む。
【００２６】
本発明の１つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、上記代行システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも１の更新データを含む上記データを、上記本番システムに送信するステップを含む。
【００２７】
本発明の１つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、上記代行システムに関連付けられたメッセージ・キューから、上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを上記本番システムに送信するステップを含む。
【００２８】
本発明の１つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、上記選択された更新データの全てを上記本番システムに送信後に、上記代行システムから上記本番システムにトランザクションの処理を切り替えるステップを含む。
【００２９】
本発明はまた、トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとの間でトランザクションの処理を切り替えるコンピュータ・プログラムを提供する。該コンピュータ・プログラムは、上記代行システムに、上記のいずれか一に記載の方法の各ステップを実行させる。
【００３０】
本発明はまた、トランザクションを処理する本番システムと、該本番システムのバックアップ・システムである代行システムと、トランザクションが処理される本番システム又は代行システムに接続されうる、トランザクションを受け付ける受付キューとを含む本番−代行システムにおいて、上記本番システムと上記代行システムとの間でトランザクションの処理を切り替える方法を提供する。
該方法は、上記本番システムに下記ステップを実行させる。該ステップは、
上記受付キューからトランザクションを受信し、該受信したトランザクションを処理するステップと、
上記本番システムで処理されたトランザクションについての少なくとも１の更新データを含むデータを本番システムの記憶部に格納するステップと、
上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信するステップと、
静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも１の更新データを含む上記データを上記代行システムに送信するステップと、
を含む。
該方法はまた、上記代行システムに下記ステップを実行させる。該ステップは、
上記本番システムから送信された上記少なくとも１の更新データを含むデータを代行システムの記憶部に格納するステップと、
上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを上記メッセージ・キューから上記代行システムの記憶部にコピーするステップと、
上記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも１のトランザクションを取得し、そして該取得したトランザクションの処理を開始するステップと
を含む。
【００３１】
本発明の１つの実施態様では、該方法は、上記本番システムに下記ステップをさらに実行させる。該ステップは、上記本番システムから上記代行システムへの切り替え命令に応答して、上記静止点を設定するステップを含む。
【００３２】
本発明の１つの実施態様では、上記最後の時点における、上記少なくとも１の更新データを含む上記データを上記代行システムに送信するステップが、上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信することが開始されることに応じて実行される。
【００３３】
本発明の１つの実施態様では、該方法は、上記受付キューを監視するシステムに下記ステップをさらに実行させる。該ステップは、上記選択された更新データのコピーが終了する前に、上記受付キューから上記本番システムへのトランザクションの送信を停止するステップを含む。
【００３４】
本発明の１つの実施態様では、該方法は、上記代行システムに下記ステップをさらに実行させる。該ステップは、
上記代行システムから上記本番システムへの切り替え命令に応答して、
上記静止点を設定するステップと、
上記代行システムで処理されたトランザクションについての少なくとも１の更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信するステップと、
上記代行システムで処理されたトランザクションについての少なくとも１の更新データを含むデータを上記本番システムに送信するステップであって、上記更新データは、静止点前であってトランザクションがコミットされた最後の時点における更新データである、上記送信するステップと
を含む。
【００３５】
本発明の１つの実施態様では、該方法は、上記本番システムに下記ステップをさらに実行させる。該ステップは、
上記代行システムから送信された上記少なくとも１の更新データを含むデータを上記本番システムの記憶部に格納するステップと、
上記メッセージ・キューから送信された更新データを上記本番システムの記憶部にコピーするステップと
を含む。
【００３６】
本発明の１つの実施態様では、該方法は、上記代行システムに下記ステップをさらに実行させる。該ステップは、
上記選択された更新データを上記本番システムに送信後に、上記代行システムから上記本番システムにトランザクションの処理を切り替えるステップ
を含む。
【発明の効果】
【００３７】
本発明の実施態様によれば、本番システムから代行システムへの切り替えは、内部的に数秒処理が停止するだけで可能である。システム全体の処理停止は数秒であり、この間もトランザクションの受付は行われるので、エンド・ユーザから見ると無停止の状態でシステムの切り替えができる。
【発明を実施するための最良の形態】
【００３８】
「トランザクション」とは、１以上の複数の関連する処理を１つの処理単位としてまとめたものをいう。トランザクションの例は、エンド・ユーザからの要求、システムから発行されるコマンド命令である。該トランザクションが処理された結果は例えば、システムが管理しているデータに反映される。上記処理は、データの更新処理とトランザクションの確定処理である。データの更新処理は例えば、ＳＱＬにおけるｕｐｄａｔｅ（アップデート）、ｉｎｓｅｒｔ（インサート）、ｄｅｌｅｔｅ（デリート）である。トランザクションの確定処理は例えば、ＳＱＬにおけるｃｏｍｍｉｔ（コミット）である。トランザクションの実行により、該処理が実行される。該処理は、トランザクションごとに「全て成功」或いは「全て失敗」のいずれかになる。全て成功となるためには、上記トランザクションの確定処理が成功する必要がある。例えば、データの更新処理１、データの更新処理２及びトランザクションの確定処理で構成されるトランザクションが実行されたとする。ここで、データの更新処理１は成功したがデータの更新処理２が失敗し、トランザクションの確定処理が実行されずにトランザクションが終了した場合は、データの更新処理１は失敗したとみなされる。従って、データの更新処理１によって更新されたデータは、更新される前のデータに戻される。また、データの更新処理１及びデータの更新処理２は成功したが、トランザクションの確定処理が失敗し、トランザクションの確定処理が実行されずにトランザクションが終了した場合は、データの更新処理１及びデータの更新処理２は失敗したとみなされる。従って、データの更新処理１及びデータの更新処理２によって更新されたデータは、更新される前のデータに戻される。上記例では、データの更新処理１が成功し、データの更新処理２も成功し、トランザクションの確定処理も成功してはじめて、トランザクションに含まれる処理が全て成功したことになり、データの更新処理１、２によるデータ更新が確定される。
【００３９】
「本番システム」とは、トランザクションを処理するシステムをいう。本番システムは、平常時の運用に用いる。
【００４０】
「代行システム」とは、本番システムの代わりにトランザクションを処理するシステムをいう。代行システムが本番システムに代わる例は、本番システムを保守作業のために停止させ、保守作業の間に代行システムを稼働させる場合があるがこれに限定されない。該保守作業は例えば、何時行ってもかまわない。好ましくは、トランザクションの少ない時間帯、すなわちピーク時間帯以外の時間帯に保守を行う。この場合、代行システムは本番システムのピーク時間帯以外の時間帯の処理能力があればよいので、代行システムの費用を低減することが可能である。代行システムは、ユーザ・サービスの質を低下させないために、上記トランザクションの少ない時間帯における本番システムと同様の処理能力を有していることが望ましい。例えば、本番システムが中央演算処理装置（ＣＰＵ）を５個有し、保守を行いたい時間帯において２個相当の処理能力しか用いていない場合に、代行システムは、ＣＰＵを２個有していることが望ましい。この場合、代行システムは、上記トランザクションの少ない時間帯の処理能力があればよいので、代行システムに要する費用を低減できる。
【００４１】
「更新データ」とは、トランザクションが処理される結果として得られるデータをいう。該データは、例えば金融機関のシステムであれば、出金というトランザクションが処理される結果として得られる口座の残高である。
【００４２】
「静止点」とは、バックアップ取得の実行開始前のデータの整合性が保証された時点のことをいう。該バックアップにより得られるバックアップ・データは、静止点の時点でコミット済みのトランザクションによる更新データを含み、静止点の時点でコミットされていないトランザクションによる更新データを含まない。バックアップ・データは、静止点前であってトランザクションがコミットされた最後の時点以降のデータである。静止点は、ログの相対バイト・アドレス又は時間で表される。
静止点は、本番−代行システムによって又は本番−代行システムの管理者によって、ログの相対バイト・アドレス又はマイクロ秒単位の時間で設定されうる。該設定は、例えばバックアップからデータを回復する機能を提供するユーティリティに対して行う。
【００４３】
「メッセージ・キュー」とは、上記更新データと該更新データに関連付けられ且つ静止点を識別可能にする情報とを蓄積するキューのことをいう。キューとは、コンピュータの基本的なデータ構造の一つである。本発明の１つの実施態様として、キューは、データを先入れ先出しのリスト構造で保持する。先入れ先出しのリスト構造では、キューからデータを取り出すときに、データは、先に入れられたデータから順に取り出される。
【００４４】
「更新データに関連付けられ且つ静止点を識別可能にする情報」とは、トランザクションが処理され更新データを得られる過程で得られる情報のうち、静止点を求めるために利用しうる情報をいう。該情報は例えば、コミットに関連付けられたタイム・スタンプ、コミットに関連付けられた相対バイト・アドレスを含む。上記情報は例えば、ログ・サスペンド・コマンド又はＢＡＣＫＵＰ  ＳＹＳＴＥＭ  ＵＴＩＬＩＴＹを実行して取得されうる。
【００４５】
本番−代行システムが静止点を自動で設定する場合、上記管理者は、更新データと該更新データに関連付けられ且つ静止点を識別可能にする情報をメッセージ・キューへ送信することを開始する時間をあらかじめ定めておく。上記送信の開始時間の設定は例えば、システムによって表示されるポップアップウインドウに開始時間を管理者が入力することによって行われうる。該自動で設定する静止点は例えば、上記送信の開始時間に、本番−代行システムで設定できる最長のトランザクション処理時間を加えた時間よりも後の時間とする。
上記管理者が静止点を例えばシステムによって表示されるポップアップウインドウに入力することによって設定する場合、本番−代行システムは、更新データ及び上記情報をメッセージ・キューへ送信することを開始する時間を自動で設定しうる。該自動で設定する時間は、例えば、上記静止点から本番−代行システムで設定できる最長のトランザクション処理時間を引いた時間より早い時間である。
上記管理者が、静止点を設定し且つ、上記更新データ及び上記情報をメッセージ・キューへ送信することを開始する時間をも設定する場合、管理者は、該静止点及び該時間を、例えばシステムによって表示されるポップアップウインドウに入力することによって設定しうる。ここで、該静止点及び該時間の間隔は、本番−代行システムで設定できる最長のトランザクション処理時間より大きい間隔である。
【００４６】
「タイム・スタンプ」とは、処理の実行された日時を示す情報をいう。該処理は、例えば更新処理、コミット処理、データベースのバックアップ取得コマンドの実行などの処理であるがこれらに限定されない。タイム・スタンプは、マイクロ秒単位で指定される。バックアップ取得の処理が実行された日時とその他の処理が実行された日時を比べることにより、静止点が識別されうる。
「静止点前」とは、静止点より前にコミットされたトランザクションのうち最後にコミットされたトランザクションがコミットされた時点を指す。
【００４７】
「相対バイト・アドレス」（ＲＢＡ：Relative Byte Address）とは、システムで実行された処理が格納されているアドレスのことをいう。該アドレスは、１つ前に実行された処理が格納されたアドレスとの関係で表される。該アドレスを辿ることにより、バックアップ取得の処理とその他の処理との実行順が求められるため、静止点が識別されうる。
【００４８】
「ログ・サスペンド・コマンド」とは、ログ書き込みを伴うデータベース処理全てを一旦停止させる命令のことをいう。該ログは例えば、相対バイト・アドレス、タイム・スタンプ、処理の内容と処理の結果、リカバリ情報を含むが、これに限定されない。ログ・サスペンド・コマンドは、コマンド実行時点の相対バイト・アドレス及びタイム・スタンプを確定しこれらの取得を許すので、メッセージ・キューから、静止点以降にコミットされた更新データを選択するために、これらを使用することができる。
【００４９】
「受付キュー」とは、トランザクションを蓄積するキューのことをいう。受付キューは、本番システム及び代行システムとは別のシステム上にある。受付キューは、例えばエンド・ユーザのコンピュータに接続されエンド・ユーザからのトランザクションを蓄積するが、これに限定されない。また、本番システム又は代行システムは、受付キューに接続できる。受付キューに本番システム又は代行システムが接続されることにより、本番システム又は代行システムは受付キューからトランザクションを取得できる。
【００５０】
以下、図面に従って、本発明の実施態様を説明する。本実施態様は、本発明の好適な態様を説明するためのものであり、本発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断らない限り、同一の符号は、同一の対象を指す。
【００５１】
図１は、本発明の実施態様であるシステム構成の例を示す。
本番システム（１０１）は、平常時の運用においてトランザクションを処理するシステムである。代行システム（１０５）は、例えば本番システム（１０１）を保守作業のために停止する際に、本番システム（１０１）の代わりに、トランザクションを処理するシステムである。代行システム（１０５）は、トランザクションの処理に関して、本番システム（１０１）と同じ機能を有する。処理受付キュー（１０９）は、トランザクションを蓄積するキューであり、本番システム（１０１）又は代行システム（１０５）に該トランザクションを送る。処理受付キュー（１０９）は、本番システム（１０１）及び代行システム（１０５）とは別のシステム上にある。処理受付キュー（１０９）は、本番システム（１０１）及び代行システム（１０５）がともに停止している場合も、トランザクションの受付を行うことができる。トランザクションは、例えばエンド・ユーザのコンピュータ（図示せず）から、処理受付キュー（１０９）に蓄積される。本番システム（１０１）又は代行システム（１０５）は、処理受付キュー（１０９）からトランザクションを取得する。代替的に、処理受付キュー（１０９）を制御するシステムが、本番システム（１０１）又は代行システム（１０５）にトランザクションを送信するようにしてもよい。トランザクションは、本番システム（１０１）又は代行システム（１０５）が管理するデータを更新する処理を含む。トランザクションは、トランザクション処理部であるアプリケーションサーバ（１０２、１０６）で処理される。更新データを含むデータは、格納部（１０４、１０８）に記録される。復元部（１０３、１０７）は、格納部（１０４、１０８）に記録された該データのバックアップ・データの作成及び復元を行う。なお、格納部（１０４、１０８）は、データベースとすることもできる。格納部（１０４、１０８）をデータベースとした場合、復元部（１０３、１０７）をデータベース管理システムとすることもできる。データベース管理システム（１０３、１０７）は、データベースに関する制御を行う。
本番システム（１０１）から代行システム（１０５）に切り替える場合におけるシステム構成は以下の通りである。本番システム（１０１）の復元部（１０３）は、上記トランザクションから更新データを取得する。本番システム（１０１）の復元部（１０３）は、更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報（以下キューに入れる情報）を作成する。本番システム（１０１）の復元部（１０３）は、本番システム（１０１）の格納部（１０４）に記録された更新データを含むデータのバックアップ・データを作成する。本番システム（１０１）の復元部（１０３）は、バックアップ・データについての静止点を識別可能にする情報を作成する。該情報は、上記キューに入れる情報又はバックアップ・データに含める。本番システム（１０１）の復元部（１０３）は、送信部を含みうる。該送信部は、上記更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー（１１０）に送信する。図１では、メッセージ・キュー（１１０）は、本番システムと代行システムと共通であるように示されているが、メッセージ・キュー（１１０）は、本番システム（１０１）に含まれていてもよいし、本番システム（１０１）と独立に存在していてもよい。送信部は、上記バックアップを代行システム（１０５）に送信する。本番システム（１０１）の送信部によって代行システム（１０５）に送信されたバックアップ・データは、代行システム（１０５）の復元部（１０７）によって取得され、代行システム（１０５）の格納部（１０８）に復元される。復元部（１０３、１０７）は、コピー部を含みうる。代行システム（１０５）のコピー部は、更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー（１１０）から取得する。代替的に、本番システム（１０１）のコピー部が、更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー（１１０）から取得してもよい。該取得によって、更新データ及び上記キューに入れる情報が記載されたログは、メッセージ・キュー（１１０）から削除されうる。該コピー部は、上記キューに入れる情報及び上記バックアップ・データについての静止点を識別可能にする情報を用いて更新データを選択する。代行システム（１０５）のコピー部は、選択された更新データを代行システム（１０５）の格納部（１０８）にコピーする。監視部（１１１）は、メッセージ・キュー（１１０）を監視する。監視部（１１１）は、メッセージ・キュー（１１０）内の更新データがほぼ空になることに応じて、本番システム（１０１）のアプリケーションサーバ（１０２）にトランザクション停止の要求を通知する。本番システム（１０１）のアプリケーションサーバ（１０２）は、該通知を受けると、トランザクションの取得を停止する。また監視部（１１１）は、メッセージ・キュー（１１０）内の更新データがほぼ空になることに応じて、受付キュー（１０９）にトランザクション停止の要求を通知するようにしてもよい。受付キュー（１０９）は、該通知を受けると、トランザクションの送信を停止する。監視部（１１１）は、メッセージ・キュー（１１０）内の更新データが無くなることに応じて、代行システム（１０５）のアプリケーションサーバ（１０６）にトランザクション開始の許可を通知する。メッセージ・キュー（１１０）内の上記更新データは、本番システム（１０１）によって行われるトランザクション処理の全てに対応する更新データを含む。代行システム（１０５）のアプリケーションサーバ（１０６）は、該通知を受けると、処理受付キュー（１０９）からトランザクションの取得を開始する。また監視部（１１１）は、メッセージ・キュー（１１０）内の更新データが無くなることに応じて、処理受付キュー（１０９）にトランザクションの切り替えを通知するようにしてもよい。処理受付キュー（１０９）は、該通知を受けると、代行システム（１０５）にトランザクションの送信を開始する。
代行システム（１０５）から本番システム（１０１）に切り替える場合におけるシステム構成は以下の通りである。代行システム（１０５）の復元部（１０７）は、上記トランザクションから更新データを取得する。代行システム（１０５）の復元部（１０７）は、上記キューに入れる情報を作成する。代行システム（１０５）の復元部（１０７）は、代行システム（１０５）の格納部（１０８）に記録された更新データを含むデータのバックアップ・データを作成する。代行システム（１０５）の復元部（１０７）は、バックアップ・データについての静止点を識別可能にする情報を作成する。該情報は、上記キューに入れる情報又はバックアップ・データに含める。代行システム（１０５）の復元部（１０７）は、送信部を含みうる。該送信部は、上記更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー（１１０）に送信する。送信部は上記バックアップを本番システム（１０１）に送信する。図１では、メッセージ・キュー（１１０）は、本番システムと代行システムと共通であるように示されているが、メッセージ・キュー（１１０）は、代行システム（１０５）に含まれていてもよいし、代行システム（１０５）と独立に存在していてもよい。代行システム（１０５）の送信部によって本番システム（１０１）に送信されたバックアップ・データは、本番システム（１０１）の復元部（１０３）によって取得され、本番システム（１０１）の格納部（１０４）に復元される。復元部（１０３、１０７）は、コピー部を含みうる。本番システム（１０１）のコピー部は、更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー（１１０）から取得する。代替的に、代行システム（１０５）のコピー部が、更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー（１１０）から取得してもよい。該取得によって、更新データ及び上記キューに入れる情報が記載されたログは、メッセージ・キュー（１１０）から削除されうる。該コピー部は、上記キューに入れる情報及び上記バックアップ・データについての静止点を識別可能にする情報を用いて更新データを選択する。本番システム（１０１）コピー部は、選択された更新データを本番システム（１０１）の格納部（１０４）にコピーする。監視部（１１１）は、メッセージ・キュー（１１０）を監視する。監視部（１１１）は、メッセージ・キュー（１１０）内の更新データがほぼ空になることに応じて、代行システム（１０５）のアプリケーションサーバ（１０６）にトランザクション停止の要求を通知する。代行システム（１０５）のアプリケーションサーバ（１０６）は、該通知を受けると、トランザクションの取得を停止する。また監視部は、メッセージ・キュー（１１０）内の更新データがほぼ空になることに応じて、受付キュー（１０９）にトランザクション停止の要求を通知するとしてもよい。受付キュー（１０９）は、該通知を受けると、トランザクションの送信を停止する。監視部（１１１）は、メッセージ・キュー（１１０）内の更新データが無くなることに応じて、本番システム（１０１）のアプリケーションサーバ（１０２）にトランザクション開始の許可を通知する。メッセージ・キュー（１１０）内の上記更新データは、代行システム（１０５）によって行われるトランザクション処理の全てに対応する更新データを含む。本番システム（１０１）のアプリケーションサーバ（１０２）は、該通知を受けると、処理受付キュー（１０９）からトランザクションの取得を開始する。また監視部（１１１）は、メッセージ・キュー（１１０）内の更新データが無くなることに応じて、処理受付キュー（１０９）にトランザクションの切り替えを通知するようにしてもよい。処理受付キュー（１０９）は、該通知を受けると、本番システム（１０５）にトランザクションの送信を開始する。
【００５２】
図２は、従来の方法である本番システムから代行システムの切り替え、及び本発明の実施態様である本番システムから代行システムの切り替えの概要を示す。
従来の方法において、本番−代行システムは、本番システムから代行システムへデータベースをコピーしている間及びシステムの切り替えの間、システムの処理を停止する。一方、本発明の実施態様において、本番−代行システムは、上記データベースをコピーする処理に該当する間、システムの処理をほとんど停止させない。システムの処理が停止するのは、システムの切り替えに必要な数秒のみである。よって、本発明の実施態様による方法は、従来の方法に比べて、システムの停止時間が大幅に短縮される。また、本発明の実施態様において、トランザクションの受付キューが設けられ、該受付キューがシステムの処理停止中も受付を行うので、トランザクションの処理は見掛け上停止しない。
【００５３】
図３Ａは、本発明の実施態様である、本番システムの運用を示す。
ユーザからのトランザクション（３１１）は、処理受付キュー（３０９）に蓄えられる。処理受付キュー（３０９）は、トランザクション（３１１）を本番システム（３０１）に送信する。本番システム（３０１）は、処理受付キュー（３０９）からトランザクション（３１１）を取得する。本番システム（３０１）は、取得したトランザクション（３１１）を処理する。本番システム（３０１）が、該トランザクション（３１１）についてのコミットを実行することで、該処理が確定する。該処理の結果は、データベース（３０４）に反映される。なお、代行システム（３０５）は停止中である。
【００５４】
図３Ｂは、本発明の実施態様である、代行システムへの更新データの送信の開始を示す。
本番システム（３０１）は、キューレプリケーションにより、メッセージ・キュー（３１０）へ更新内容の送信（３１２）を開始する。ここで、更新内容は、トランザクションについての更新データと上記メッセージ・キュー（３１０）に入れる情報が記載されたログとを含む。キューレプリケーションは、データベースの更新内容をメッセージ・キューに送信することにより、一方のシステムでのデータベースの更新内容を他のシステムに反映できるユーティリティである。キューレプリケーションは例えば、ＩＢＭ  ＷｅｂＳｐｈｅｒｅ  Ｒｅｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｅｒとして製品化されている。管理者は、メッセージ・キューを代行システムに接続させるために、代行システム（３０５）を立ち上げる。ただし、メッセージ・キュー（３１０）へ更新内容の送信（３１２）を開始した時点では、まだ代行システム（３０５）はキューレプリケーションによる更新内容の反映（図示せず）を開始しない。また、本番システム（３０１）はまだ運用を停止しない。
【００５５】
図３Ｃは、本発明の実施態様である、本番システムのバックアップ取得を示す。
本番システム（３０１）は、バックアップ・ユーティリティにより、本番システムのデータベースのバックアップ・データ（３１３）を取得する。バックアップ・ユーティリティは、本番システムの更新業務を停止させずにバックアップを一度に取得するユーティリティである。該バックアップは高速で取得できることが好ましい。該バックアップ・ユーティリティの例としては、ＩＢＭ  ＤＢ２として製品化済みであるＢＡＣＫＵＰ  ＳＹＳＴＥＭ  ＵＴＩＬＩＴＹがある。ＤＢ２とは、ＩＢＭが提供する関係データベース管理システム製品及び関連製品群である。ＢＡＣＫＵＰ  ＳＹＳＴＥＭ  ＵＴＩＬＩＴＹは、ＩＢＭのディスクサブシステムであるＥＳＳなどが有する機能であるＦＬＡＳＨＣＯＰＹと呼ばれる高速コピー機能と兼用することでデータベース・システム全体のコピーを高速に取得できる。該取得は、ＦＬＡＳＨＣＯＰＹにより数十秒で終了する。本番システム（３０１）は、上記バックアップ・ユーティリティによりデータベースのバックアップ・データ（３１３）を取得している間も、処理を続行することができる。ここで取得されるバックアップ・データ（３１３）は、静止点の時点でコミット済みのトランザクションによる更新データを含み、静止点の時点でコミットされていないトランザクションによる更新データを含まない。バックアップ（３１３）の取得の際に、本番システム（３０１）は、該取得時の静止点を、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスとともに、上記キューに入れる情報を記載するログに登録する。該登録は、代替的に、データベース管理システム（ＤＢＭＳ）（３０３）が管理するデータセットに対して行い、これをバックアップ・データ（３１３）に含めてもよい。データセットは、上記キューに入れる情報を記載するログと同じフォーマットとすることができる。静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスは、ログ・サスペンド・コマンド又はＢＡＣＫＵＰ  ＳＹＳＴＥＭ  ＵＴＩＬＩＴＹを実行することで確定され、本番システム（３０１）が該確定された静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを取得できる。ＢＡＣＫＵＰ  ＳＹＳＴＥＭ  ＵＴＩＬＩＴＹは、バックアップを取得するためのユーティリティであるが、ＢＡＣＫＵＰ  ＳＹＳＴＥＭ  ＵＴＩＬＩＴＹの実行でバックアップとあわせて静止点に関する情報を得ることができる。本番システム（３０１）は、バックアップ・データ（３１３）の取得を、上記キューレプリケーション開始の数分後に行う。本番システム（３０１）がバックアップ・データ（３１３）の取得を開始する時間は、バックアップ・データ（３１３）取得時に処理中であろうトランザクションが開始する前に、キューレプリケーションが開始されているような時間から決定する。一例として本番システム（３０１）は、キューレプリケーションの開始後、システムで設定できる最長のトランザクション処理時間より間隔をあけて、バックアップ・データ（３１３）を取得する。例えば、６００秒以内にトランザクションが終了しない場合、該トランザクションが取り消されるよう設定された本番システ��（３０１）であれば、キューレプリケーションの開始から６００秒よりも後にバックアップ・データ（３１３）の取得を行う。詳細には、本番システム（３０１）は、キューレプリケーションの開始から６０１秒後にバックアップ・データ（３１３）の取得を行う。このようにすれば、キューレプリケーションの開始前に開始したトランザクションは、バックアップ・データ（３１３）取得の前に全て終了していることになるので、バックアップ・データ（３１３）の取得処理の自動化が可能になる。バックアップ・ユーティリティによるバックアップ・データの取得時に、本番システム（３０１）は運用を停止しない。
代行システム（３０５）は、本番システム（３０１）から、バックアップ・データ（３１３）をコピーして取得する。該コピーにより、バックアップ・データ（３１３）は、代行システム（３０５）が利用可能な状態に復元される。例えば、代行システム（３０５）は、データベースを復元できる復元ユーティリティを使用して、静止点前であってトランザクションがコミットされた最後の時点における、更新データを含むデータのデータベースをバックアップ・データ（３１３）から復元する。復元ユーティリティは例えば、ＲＥＳＴＯＲＥ  ＳＹＳＴＥＭ  ＵＴＩＬＩＴＹであり、ＩＢＭ  ＤＢ２として製品化済みである。ＲＥＳＴＯＲＥ  ＳＹＳＴＥＭ  ＵＴＩＬＩＴＹは、ＢＡＣＫＵＰ  ＳＹＳＴＥＭ  ＵＴＩＬＩＴＹで取得したバックアップ・データからＤＢ２システム、データベースを復元するユーティリティである。
【００５６】
図３Ｄは、本発明の実施態様である、更新データに関連付けられ且つ静止点を識別可能にする情報を保存するためのログのデータ構造の例を示す。
ログ（３１７）は、領域（３１８Ａ〜３２０Ａ）及び領域（３１８Ｂ〜３２０Ｂ）で示されるように、相対バイト・アドレス（ＲＢＡ）、タイム・スタンプ及び処理内容の３項目の繰り返しで構成される。また、ログ（３１７）は、リカバリ情報（３２１）を有することもできる。該リカバリ情報（３２１）は例えば、復元するデータベースの保存先のアドレス、及び代行システムにおけるデータベースの復元時間を含む。
以下に、トランザクション（３１５）についてのログ（３１７）の出力の例を示す。トランザクション（３１５）は、更新処理（３１６Ａ）及びコミット処理（３１６Ｂ）で構成されるトランザクションである。トランザクション（３１５）が開始されると、最初に更新処理（３１６Ａ）が実行される。実行された更新処理（３１６Ａ）が格納された相対バイト・アドレスは、ログ（３１７）の領域（３１８Ａ）に書き出される。実行された更新処理（３１６Ａ）の実行時間であるタイム・スタンプは、ログ（３１７）の領域（３１９Ａ）に書き出される。該時間は、例えば更新処理（３１６Ａ）を開始した時間及び終了した時間である。実行された更新処理（３１６Ａ）の処理内容は、ログ（３１７）の領域（３２０Ａ）に書き出される。該処理内容は例えば、更新処理（３１６Ａ）に対応するＳＱＬ文、更新処理（３１６Ａ）に対応する更新されたデータである。次に、更新処理（３１６Ｂ）が実行される。実行されたコミット処理（３１６Ｂ）が格納された相対バイト・アドレスは、ログ（３１７）の領域（３１８Ｂ）に書き出される。実行されたコミット処理（３１６Ｂ）の実行時間であるタイム・スタンプは、ログ（３１７）の領域（３１９Ｂ）に書き出される。実行されたコミット処理（３１６Ｂ）の処理内容は、ログ（３１７）の領域（３２０Ｂ）に書き出される。該処理内容は例えば、コミット処理（３１６Ｂ）に対応するＳＱＬ文、コミット処理（３１６Ｂ）に対応する確定されたデータである。
【００５７】
図３Ｅは、本発明の実施態様である、代行システムでのデータベースの最新状態へのデータ反映を示す。
静止点以降にコミットされた更新内容は、メッセージ・キュー（３１０）に蓄積されている。代行システム（３０５）は、データベース復元後にメッセージ・キュー（３１０）から更新内容を取得し、更新内容の反映（３１４）を開始する。メッセージ・キュー（３１０）から更新内容の反映（３１４）をする際に、代行システム（３０５）は、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを上記キューから取得したログ又はバックアップ・データに付随するデータセットから読み込む。また代行システム（３０５）は、更新データに関連付けられ且つ静止点を識別可能にする情報を、更新内容に含まれる上記キューから取得したログから読み込む。代行システム（３０５）は、上記読み込んだ更新データに関連付けられ且つ静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いて、静止点以降にコミットされた更新が反映されるように、更新データを選択し、代行システム（３０１）で復元されたデータベースに反映する。該反映については後述する。
更新内容の選択は、本番システム（３０１）が実行しても良い。代行システム（３０５）に代わって本番システム（３０１）が更新内容の選択を実行する場合、本番システム（３０１）は、図３Ｂの説明において述べた更新データの送信の開始をせず、図３Ｃの説明において述べた静止点が確定した後、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いて、静止点以降にコミットされた更新が反映されるように、更新データを選択し、代行システム（３０５）に送信する。代行システム（３０５）は送信されてきた更新データを全て、代行システム（３０５）で復元されたデータベースに反映する。
また本番システムでは、運用を継続するとともに、更新内容の送信（３１２）も続ける。
このように、バックアップ・ユーティリティによる静止点でのバックアップの取得と同期して、キューレプリケーションによる更新内容の反映をすることにより、管理者は、トランザクションの処理を実質的には停止させずに代行システムへの切り替えを実現することができる。
【００５８】
図３Ｆは、本発明の実施態様である、静止点以降にコミットされた更新を選択して反映する例を示す。
本番システムは、上記キューに入れる情報を記載するログへの書き込み及びキューレプリケーションでの更新内容の送信を、更新のつど行う。データベースの更新はトランザクションのコミット処理が行われた時点で、トランザクション単位で確定する。システムが、静止点を用いてデータベースをバックアップ及び復元すると、静止点でコミット済みのトランザクションの更新は有効になる。また静止点でコミットされていないトランザクションの更新はロールバックされ、データは更新前の状態に戻る。本発明の実施態様では、キューレプリケーションからの更新内容の反映時に、静止点以降でコミットされたトランザクションを選択して更新内容を反映することにより、バックアップと同期した更新内容の反映を実現する。また、静止点以降で開始されたトランザクションは無条件で反映される。
図の矢印（３２２Ａ〜３２４Ａ、３２２Ｂ〜３２４Ｂ及び３２２Ｃ〜３２４Ｃ）は、トランザクションを示す。矢印の始点（左側）がトランザクションの開始を表し、矢印の終点（右側）がトランザクションの終了を表す。矢印の下にある三角形はトランザクション中の処理を表す。該処理には、更新及びコミットがある。矢印の終点の下にある三角形がコミットを表し、その他の三角形が更新を表す。
トランザクション（３２２Ａ〜３２４Ａ）は、本番システムで受け付けたトランザクションの例である。トランザクション（３２２Ａ）は、本番システムでのトランザクション処理中に、キューレプリケーションが開始された例である。また、トランザクション（３２２Ａ）は、静止点でのバックアップ取得の実行前にコミットが終了している。トランザクション（３２２Ａ）は、メッセージ・キュー内において、キューレプリケーション開始以前の処理を含まないので、トランザクション（３２２Ｂ）で表されるように部分の情報しか有しない。また、トランザクション（３２２Ａ）は、バックアップにおいて、静止点前にトランザクションがコミットされているため、トランザクション（３２２Ｃ）で表されるように全トランザクションの情報を有する。代行システムは、例えば、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプを比較する。代替的に、本番システムが例えば、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプを比較してもよい。トランザクション（３２２Ｂ）において、コミット処理についてのタイム・スタンプの示す時間は、静止点についてのタイム・スタンプの示す時間よりも早い。よって、トランザクション（３２２Ａ）は、静止点前にコミットが終了しているトランザクションであると判断される。別の方法として、代行システムは、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較する。代替的に、本番システムが、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較してもよい。トランザクション（３２２Ｂ）において、コミット処理についての相対バイト・アドレスの示すアドレスは、静止点についての相対バイト・アドレスの示すアドレスよりも前にある。よって、トランザクション（３２２Ａ）は、静止点前にコミットが終了しているトランザクションであると判断される。よって、トランザクション（３２２Ａ）は、代行システムにおいて、メッセージ・キューの内容が反映されず、バックアップから状態が復元される。
トランザクション（３２３Ａ）は、本番システムでのトランザクション処理中に、静止点でのバックアップ取得が実行された例である。トランザクション（３２３Ａ）は、メッセージ・キュー内において、トランザクション（３２３Ｂ）で表されるように全トランザクションの情報を有する。またトランザクション（３２３Ａ）は、バックアップにおいて、静止点後にトランザクションがコミットされているため、トランザクション（３２３Ｃ）で表されるように静止点前のトランザクションの情報しか有さず、復元の対象とはならない。代行システムは例えば、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプとを比較する。代替的に、本番システムが、上記と同様にして、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプを比較してもよい。トランザクション（３２３Ｂ）において、コミット処理についてのタイム・スタンプの示す時間は、静止点についてのタイム・スタンプの示す時間よりも遅い。よって、トランザクション（３２３Ａ）は、静止点以降にコミットが終了しているトランザクションであると判断される。別の方法として、代行システムは、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較する。代替的に、本番システムが、上記と同様にして、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較してもよい。トランザクション（３２３Ｂ）において、コミット処理についての相対バイト・アドレスの示すアドレスは、静止点についての相対バイト・アドレスの示すアドレスよりも後にある。よって、トランザクション（３２３Ａ）は、静止点以降にコミットが終了しているトランザクションであると判断される。よって、トランザクション（３２３Ａ）は、代行システムにおいて、バックアップから状態は復元されず、メッセージ・キューの内容が反映されることにより復元される。
トランザクション（３２４Ａ）は、本番システムでのトランザクション処理が、静止点でのバックアップ取得後に開始された例である。トランザクション（３２４Ａ）は、メッセージ・キュー内において、トランザクション（３２４Ｂ）で表されるように全トランザクションの情報を有する。また、トランザクション（３２４Ａ）は、バックアップにおいて、静止点後にトランザクションが開始されているため、トランザクション（３２４Ｃ）で表されるようにトランザクションの情報を有さず、復元の対象とはならない。代行システムは例えば、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプとを比較する。代替的に、本番システムが、上記と同様にして、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプを比較してもよい。トランザクション（３２４Ｂ）において、コミット処理についてのタイム・スタンプの示す時間は、静止点についてのタイム・スタンプの示す時間よりも遅い。よって、トランザクション（３２４Ａ）は、静止点以降にコミットが終了しているトランザクションであると判断される。別の方法として、代行システムは、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較する。代替的に、本番システムが、上記と同様にして、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較してもよい。トランザクション（３２４Ｂ）において、コミット処理についての相対バイト・アドレスの示すアドレスは、静止点についての相対バイト・アドレスの示すアドレスよりも後にある。よって、トランザクション（３２４Ａ）は、静止点以降にコミットが終了しているトランザクションであると判断される。よって、トランザクション（３２４Ａ）は、代行システムにおいて、バックアップから状態は復元されず、メッセージ・キューの内容が反映されることにより復元される。
すなわち、代行システムは、データベースのバックアップから、静止点でコミット済みのデータを復元（３２５）する。また、代行システムは、キューレプリケーションでの更新内容から、静止点以降でコミットされたトランザクションを選択（３２６）して更新を反映する。代替的に、本番システムが、上記と同様にして、キューレプリケーションでの更新内容から、静止点以降でコミットされたトランザクションを選択（３２６）して更新を反映する。上記方法により、代行システムは、整合性のあるデータベースを復元できる。
【００５９】
図３Ｇは、本発明の実施態様である、代行システムへの切り替えの例を示す。
処理受付キュー（３０９）は、代行システム（３０５）側で更新内容の反映（３１４）が進み、メッセージ・キュー（３１０）がほぼ空になった段階で、本番システム（３０１）側へのトランザクション（３２７）の投入を停止する。処理受付キュー（３０９）は、本番システム（３０１）側のトランザクション処理が完了し、更新内容の反映（３１４）が終わるのを待って、代行システム（３０５）側へのトランザクション（３２８）の投入を開始する。上記例において、処理受付キュー（３０９）は、トランザクション処理の数及びメッセージ・キューに蓄積された更新内容の数を監視する機能を有する。該監視する機能は監視部によって実現され該監視部は、任意のシステムに含まれうる。代行システム（３０５）への切り替えの間、本番システム（３０１）及び代行システム（３０５）は通常数秒間の処理停止となる。該処理停止中は、処理受け付けキュー（３０９）が、トランザクション（３１１）をキューイングする。該キューイングにより、ユーザからみて、サービスの中断はない。
【００６０】
図３Ｈは、本発明の実施態様である、本番システムの停止の例を示す。
管理者は、本番システム（３０１）を停止し、必要な保守作業を行う。処理受付キュー（３０９）は、上記キューイングされたトランザクション及び新たに発生したトランザクションを代行システム（３０５）に送信する。代行システム（３０５）は、上記キューイングされたトランザクション及び新たに発生したトランザクションを順次処理する。該処理の結果は、データベース（３０８）に反映される。
なお、該保守作業は例えば、システムにおけるハードウェアの交換、及びソフトウェアのバージョンアップを含む。
【００６１】
管理者は、本番システム（３０１）のメンテナンス終了後、代行システム（３０５）から本番システム（３０１）へシステムを切り戻す必要がある。切り戻しは、上記本番システム（３０１）から代行システム（３０５）への切り替え手順を、代行システム（３０５）から本番システム（３０１）への切り替え手順に適用することにより、実行できる。
以下は、切り戻しの概略を示す。
１．代行システムは、キューレプリケーションにより、メッセージ・キューへ更新内容の送信を開始する。該更新内容は、更新データと、上記キューに入れる情報とが記載されたログを含む。
２．代行システムは、バックアップ・ユーティリティにより、データベースのバックアップ・データを取得する。代行システムは、該取得時の静止点を、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスとともに上記キューに入れる情報を記載するログに登録する。該登録は、代替的に、データベース管理システム（ＤＢＭＳ）が管理するデータセットに対して行い、これをバックアップ・データに含めてもよい。静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスは、ログ・サスペンド・コマンド又はＢＡＣＫＵＰ  ＳＹＳＴＥＭ  ＵＴＩＬＩＴＹを実行することで確定され、代行システムが取得できる。
３．本番システムは、復元ユーティリティを使用して、データベースをバックアップ・データから復元する。本番システムは、メッセージ・キューから上記更新内容の取得を開始する。本番システムは、上記ログもしくはバックアップ・データに付随するデータセットより、データベースのバックアップについての静止点を識別可能にする情報を取得する。本番システムはさらに、上記ログより、上記キューに入れる情報を取得する。本番システムは、データベースのバックアップについての静止点を識別可能にする情報及び上記キューに入れる情報を用いて、静止点以降にコミットされたトランザクションによる更新データを本番システムのデータベースに反映させる。
更新内容の選択は、代行システムが実行してもよい。本番システムに代わって代行システムが更新内容の選択を実行する場合、代行システムは上記１．において更新データの送信の開始をせず、上記２．において静止点が確定した後、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いて、静止点以降にコミットされた更新が反映されるように、更新データを選択し、本番システムに送信する。本番システムは、送信されてきた更新データの全てを、本番システムで復元されたデータベースに反映する。
４．監視部である処理受付キューは、本番システムでのデータベースへの更新データの反映が進み、メッセージ・キューがほぼ空になった段階で、代行システムへのトランザクションの投入を停止する。処理受付キューは、代行システムでのトランザクション処理が完了し、本番システムでのデータベースへの更新データの反映が終わるのを待って、本番システムへのトランザクションの投入を開始する。
【００６２】
図４Ａは、本発明の実施態様である、代行システムから見た、システムの切り替え処理のフローチャートを示す。
１．本番システムから代行システムへの切り替え
システムの管理者は、本番システムにおいてメンテナンスを行うために、本番システムから代行システムへの切り替えを行う。システムの管理者は、静止点又は更新データとキューに入れる情報をメッセージ・キューへ送信することを開始する時間のどちらか一方もしくは両方をあらかじめ設定しておく。該設定は、例えばバックアップを取得する機能を提供するユーティリティに対して行う。システムの管理者が、静止点と該時間のどちらか一方のみを設定した場合、代行システムは、まだ設定されていない静止点又は該時間を設定する（ステップ４０１）。
代行システムは、本番システムで処理されたトランザクションについての少なくとも１の更新データを含むデータが格納されている本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも１の更新データを含むデータを取得し、該取得したデータを代行システムの記憶部に復元する。ここで該データは、静止点の時点でバックアップ・ユーティリティを使用して作成されたバックアップ・データである。代行システムは、該取得及び該復元を、復元ユーティリティを使用して行う（ステップ４０２）。
代行システムは、上記復元が終了した後、メッセージ・キューに接続し、更新データ及びキューに入れる情報の取得を開始する。代行システムは、静止点以降にコミットされた更新データを選択する。代行システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。代行システムは、選択された更新データを取得する。代行システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する。なお、上記更新データの選択は、代替的に本番システムが実行してもよい。該選択を本番システムが行う場合、本番システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。代行システムは、本番システムで選択された更新データを取得する。代行システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する（ステップ４０３）。
代行システムは、上記選択して取得した更新データを上記復元したバックアップ・データに反映させる（ステップ４０４）。
代行システムは、該反映が全て終了することに応じて、受付キューからのトランザクション受け付けを開始する。代行システムは、トランザクション処理を開始する。該受け付け及び処理の開始は、メッセージ・キュー、本番システム及び代行システムを監視するシステムから指示される。該トランザクションの結果は、上記選択して取得した更新データが反映済みである復元したバックアップ・データに反映される（ステップ４０５）。
２．代行システムから本番システムへの切り替え
システムの管理者は、本番システムのメンテナンスの終了後、代行システムから本番システムへの切り替えを行う。システムの管理者は、静止点又は更新データとキューに入れる情報をメッセージ・キューへ送信することを開始する時間のどちらか一方もしくは両方をあらかじめ設定しておく。該設定は、例えばバックアップを取得する機能を提供するユーティリティに対して行う。システムの管理者が、静止点と該時間のどちらか一方のみを設定した場合、代行システムは、まだ設定されていない静止点又は該時間を設定する（ステップ４０６）。
代行システムは、更新データ及び上記キューに入れる情報の作成を開始する。代行システムは、該更新データ及び該情報を作成の都度メッセージ・キューに送信する（ステップ４０７）。
代行システムは、代行システムで処理されたトランザクションについての少なくとも１の更新データを含むデータが格納されている代行システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも１の更新データを含むデータであるバックアップ・データをバックアップ・ユーティリティを使用して作成する。代行システムは、該バックアップ・データを本番システムに送信する。該送信は、本番システムで実行される復元ユーティリティによって行われる。代行システムは、バックアップ・データ作成時に、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを、上記キューに入れる情報に登録する。該キューに入れる情報は、メッセージ・キューに送信される（ステップ４０８）。
本番システムは、上記復元が終了した後、メッセージ・キューに接続し、更新データ及びキューに入れる情報の取得を開始する。本番システムは、静止点以降にコミットされた更新データを選択する。本番システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。本番システムは、選択された更新データを取得する。本番システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する。なお、上記更新データの選択は、代替的に代行システムが実行してもよい。該選択を代行システムが行う場合、代行システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。本番システムは、代行システムで選択された更新データを取得する。本番システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する（ステップ４０９）。
代行システムは、本番システムの準備が完了したのち、トランザクションの受付を停止する。該停止は、メッセージ・キュー、本番システム及び代行システムを監視するシステムから指示される。トランザクションの送信は、本番システムに切り替えられる（ステップ４１０）。
【００６３】
図４Ｂは、本発明の実施態様である、本番システム及び代行システムそれぞれにおける処理のフローチャートを示す。
システムの管理者は、本番システムにおいてメンテナンスを行うために、本番システムから代行システムへの切り替えを行う。システムの管理者は、静止点又は更新データとキューに入れる情報をメッセージ・キューへ送信することを開始する時間のどちらか一方もしくは両方をあらかじめ設定しておく。システムの管理者が、静止点と該時間のどちらか一方のみを設定した場合において、本番システムは、まだ設定されていない静止点又は該時間を設定する（ステップ４１１）。
本番システムは、受付キューからトランザクションを受信している。該トランザクションは本番システムで処理され、該処理の結果は、本番システムの記憶部に格納されたデータに反映される（ステップ４１２）。
本番システムは、更新データ及び上記キューに入れる情報の作成を開始する。本番システムは、該更新データ及び該情報を作成の都度メッセージ・キューに送信する（ステップ４１３）。
本番システムは、本番システムで処理されたトランザクションについての少なくとも１の更新データを含むデータが格納されている本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも１の更新データを含むデータであるバックアップ・データをバックアップ・ユーティリティを使用して作成する。本番システムは、該バックアップ・データを代行システムに送信する。該送信は、代行システムで実行される復元ユーティリティによって行われる。本番システムは、該バックアップ・データ作成時に、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを、上記キューに入れる情報に登録する。本番システムは、該キューに入れる情報を、メッセージ・キューに送信する（ステップ４１４）。
本番システムは、代行システムの準備が完了したのち、トランザクションの受付を停止する。該停止は、メッセージ・キュー、本番システム及び代行システムを監視するシステムから指示される。トランザクションの送信は、代行システムに切り替えられる（ステップ４１５）。
代行システムは、ステップ４１４において作成された、本番システムのバックアップ・データを取得し、該取得したデータを代行システムの記憶部に復元する（ステップ４１６）。
代行システムは、上記復元が終了した後、メッセージ・キューに接続し、更新データ及びキューに入れる情報の取得を開始する。代行システムは、静止点以降にコミットされた更新データを選択する。代行システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。代行システムは、選択された更新データを取得する。代行システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する（ステップ４１７）。なお上記取得は、代替的に本番システムが実行してもよい。該取得を本番システムが実行する場合、本番システムが、上記復元が終了した後、メッセージ・キューに接続し、更新データ及びキューに入れる情報の取得を開始する。本番システムは、静止点以降にコミットされた更新データを選択する。本番システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。本番システムは、選択された更新データを取得する。本番システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する。
代行システムは、上記選択して取得した更新データを上記復元したバックアップ・データに反映させる（ステップ４１８）。
代行システムは、該反映が全て終了することに応じて、受付キューからのトランザクションの受け付けを開始する。代行システムは、トランザクションの処理を開始する。該受け付け及び処理の開始は、メッセージ・キュー、本番システム及び代行システムを監視するシステムから指示される。該トランザクションの結果は、上記選択して取得した更新データが反映済みである復元したバックアップ・データに反映される（ステップ４１９）。
【００６４】
本発明の実施形態の本番システム及び代行システムそれぞれは、ＣＰＵとメイン・メモリと含み、これらはバスに接続されている。ＣＰＵは好ましくは、３２ビット又は６４ビットのアーキテクチャに基づくものであり、例えば、インテル社のＸｅｏｎ（商標）シリーズ、Ｃｏｒｅ（商標）シリーズ、Ｐｅｎｔｉｕｍ（商標）シリーズ、Ｃｅｌｅｒｏｎ（商標）シリーズ、ＡＭＤ社のＰｈｅｎｏｍ（商標）シリーズ、Ａｔｈｌｏｎ（商標）シリーズなどを使用することができる。バスには、ディスプレイ・コントローラを介して、ＬＣＤモニタなどのディスプレイが接続される。ディスプレイは、コンピュータ・システムの管理のために、通信回線を介してネットワークに接続されたコンピュータについての情報と、そのコンピュータ上で動作中のソフトウェアについての情報を、適当なグラフィック・インターフェースで表示するために使用される。バスにはまた、ＩＤＥ又はＳＡＴＡコントローラを介して、ハードディスク又はシリコン・ディスクと、ＣＤ−ＲＯＭ、ＤＶＤ又はＢｌｕ−ｒａｙドライブが接続される。
【００６５】
ハードディスクには、オペレーティング・システム、データベース管理ソフト、その他のプログラム及びデータが、メイン・メモリにロード可能に記憶されている。
【００６６】
ＣＤ−ＲＯＭ、ＤＶＤ又はＢＤドライブは、必要に応じて、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又はＢＤからプログラムをハードディスクに追加導入するために使用される。バスには更に、キーボード・マウスコントローラを介して、キーボード及びマウスが接続されている。
【００６７】
通信インタフェースは、例えばイーサネット（商標）・プロトコルに従うものであり、通信コントローラを介してバスに接続され、コンピュータ及び通信回線を物理的に接続する役割を担い、コンピュータのオペレーティング・システムの通信機能のＴＣＰ／ＩＰ通信プロトコルに対して、ネットワーク・インターフェース層を提供する。尚、通信回線は、有線ＬＡＮ環境、或いは例えばＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎなどの無線ＬＡＮ接続規格に基づく無線ＬＡＮ環境であってもよい。
【００６８】
なお、コンピュータ等のハードウェアを接続するためのネットワーク接続装置として使用できるものとして、上記のネットワーク・スイッチ以外に、これで尽きている訳ではないが、ルータ、ハードウェア管理コンソール等がある。要するに、ネットワーク運用管理用プログラムが導入されているコンピュータからの、所定のコマンドによる問い合わせに対して、それに接続されているコンピュータのＩＰアドレス、ＭＡＣアドレスなどの構成情報を返すことができる機能をもつものである。ネットワーク・スイッチ及びルータは、アドレス解決プロトコル（ＡＲＰ）のための、それに接続されているコンピュータのＩＰアドレス及び、それに対応するＭＡＣアドレスの対のリストを含むＡＲＰテーブルを含み、所定のコマンドによる問い合わせに対して、ＡＲＰテーブルの内容を返す機能をもつ。ハードウェア管理コンソールは、ＡＲＰテーブルよりも更に詳しい、コンピュータの構成情報を返すことができる。
【００６９】
以上、実施形態に基づき本発明を説明してきたが、本実施形態に記載されている内容は、本発明の一例であり、当業者なら、本発明の技術的範囲を逸脱することなく、さまざまな変形例に想到できることが明らかであろう。
【図面の簡単な説明】
【００７０】
【図１】本発明の実施態様であるシステム構成の例を示す。
【図２】従来の方法である本番システムから代行システムの切り替え、及び本発明の実施態様である本番システムから代行システムの切り替えの概要を示す。
【図３Ａ】本発明の実施態様である、本番システムの運用を示す。
【図３Ｂ】本発明の実施態様である、代行システムへの更新データの送信の開始を示す。
【図３Ｃ】本発明の実施態様である、本番システムのバックアップ取得を示す。
【図３Ｄ】本発明の実施態様である、更新データに関連付けられ且つ静止点を識別可能にする情報を保存するためのログのデータ構造の例を示す。
【図３Ｅ】本発明の実施態様である、代行システムでのデータベースの最新状態へのデータ反映の例を示す。
【図３Ｆ】本発明の実施態様である、静止点以降にコミットされた更新を選択して反映する例を示す。
【図３Ｇ】本発明の実施態様である、代行システムへの切り替えの例を示す。
【図３Ｈ】本発明の実施態様である、本番システム停止の例を示す。
【図４Ａ】本発明の実施態様である、代行システムから見た、システムの切り替え処理のフローチャートを示す。
【図４Ｂ】本発明の実施態様である、本番システム及び代行システムそれぞれにおける処理のフローチャートを示す。
【図１】
2010033398.tif 000003
【図２】
2010033398.tif 000004
【図３Ａ】
2010033398.tif 000005
【図３Ｂ】
2010033398.tif 000006
【図３Ｃ】
2010033398.tif 000007
【図３Ｄ】
2010033398.tif 000008
【図３Ｅ】
2010033398.tif 000009
【図３Ｆ】
2010033398.tif 000010
【図３Ｇ】
2010033398.tif 000011
【図３Ｈ】
2010033398.tif 000012
【図４Ａ】
2010033398.tif 000013
【図４Ｂ】
2010033398.tif 000014