説明

トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム

【課題】本番システムの保守作業時に、トランザクションの処理を停止させることなく、本番システムと代行システムを相互に切り替える方法。
【解決手段】代行システムは、本番システムで処理されたトランザクションについてのデータが格納されている本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、少なくとも1の更新データを含むデータを取得し、取得したデータを代行システムの記憶部にコピーする復元部と、更新データと静止点を識別可能にする情報とを蓄積するメッセージ・キューから、静止点を識別可能にする情報を用いて選択され、且つ静止点以降にコミットされた更新データを代行システムの記憶部にコピーするコピー部と、コピー終了に応じて、トランザクションの受付キューから少なくとも1のトランザクションを取得し、取得したトランザクションの処理を開始するトランザクション処理部とを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム、並びに該本番システムと該代行システムとの間でトランザクションの処理を切り替える方法及びそのコンピュータ・プログラムに関する。
【背景技術】
【0002】
24時間365日連続運転するシステムでは、ハードウェア又はソフトウェアの保守作業のために、本番システムを止めて、その代行システムを動かすことが必要になる。例えば金融機関のシステムの代行システムは、本番システムのデータ、例えば口座の残高を引き継ぐ必要がある。しかし、データの整合性をとりつつ本番システムのデータを代行システムにコピーするには、本番システムを停止し、その後に代行システムに切り替える必要がある。そのために、サービスの停止時間が生じてしまう。サービスの停止時間なしに代行システムに切り替える既存の技術としては、代行システムを本番システムと同時に稼動させておき、本番データを代行システムに常に反映させておく方法がある。ただし、この方法では、本番システムのピーク処理能力に合わせて代行システムの処理能力を用意する必要があるので費用がかかる。
【0003】
下記特許文献1は、レプリケーションに要する時間の短縮に好適なシステム及び方法を記載する。
下記特許文献2は、ファイルバックアップとリモートレプリケーションとを行う機能を統合して、統合ストレージシステムを備えたコンピュータプライマリデータストレージシステムを記載する。
【特許文献1】特開2006−268740号公報
【特許文献2】特開2005−538470号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
本番システムに代わって代行システムがトランザクションの処理を行う本番−代行システムにおいて、本番システムの保守作業時に、トランザクションの処理を停止させることなく、本番システムと代行システムを相互に切り替える方法が求められている。
【課題を解決するための手段】
【0005】
本発明は、トランザクションを処理する本番システムのバックアップ・システムである代行システムを提供する。
該代行システムは、本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている上記本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含む上記データを取得し、該取得したデータを上記代行システムの記憶部にコピーする復元部と、
上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とを蓄積するメッセージ・キューから、上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを上記代行システムの記憶部にコピーするコピー部と、
上記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するトランザクション処理部と
を含む。
【0006】
本発明の1つの実施態様では、上記静止点を識別可能にする情報が、上記コミットに関連付けられたタイム・スタンプ又は上記コミットに関連付けられた相対バイト・アドレスである。
【0007】
本発明の1つの実施態様では、上記メッセージ・キューに蓄積されるデータが、更新データと該更新データのコミットに関連付けられたタイム・スタンプ又は該更新データのコミットに関連付けられた相対バイト・アドレスとを含む。
【0008】
本発明の1つの実施態様では、上記静止点を識別可能にする情報が、ログ・サスペンド・コマンド又はBACKUP SYSTEM UTILITYを実行して取得される。該静止点を識別可能にする情報の取得は例えば、上記コピー部が上記静止点以降にコミットされた更新データを選択する際におこなう。
【0009】
本発明の1つの実施態様では、上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信することが、静止点よりも早い時点で開始される。
【0010】
本発明の1つの実施態様では、上記トランザクションの取得の開始が、上記受付キューから上記本番システムに送られたトランザクションについての処理が全て終了していることを確認することをさらに含む。
【0011】
本発明の1つの実施態様では、上記代行システムの記憶部が、上記代行システムの上記トランザクション処理部で処理されたトランザクションについての少なくとも1つの更新データを含むデータをさらに格納する。
【0012】
本発明の1つの実施態様では、代行システムのトランザクションについての更新データを格納する該代行システムの記憶部から、静止点直前でトランザクションがコミットされた最後の時点における、上記代行システムの上記少なくとも1の更新データを含む上記データを上記本番システムに送信する送信部をさらに含む。
【0013】
本発明の1つの実施態様では、上記代行システムの上記トランザクション処理部で処理されたトランザクションについての少なくとも1つの更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とを、メッセージ・キューに送信する送信部をさらに含む。
【0014】
本発明はまた、トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システムを提供する。該本番−代行システムは、トランザクションを受け付ける受付キューであって、該受付キューは、該トランザクションを処理する本番システム又は代行システムに接続されうる、上記受付キューを含む。
上記本番システムは、
上記受付キューからトランザクションを受信し、該受信したトランザクションを処理するトランザクション処理部と、
上記本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータを格納する記憶部と、
上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信する第1送信部と、
静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含む上記データを上記代行システムに送信する第2送信部と
を含む。
上記代行システムは、
上記本番システムから送信された上記少なくとも1の更新データを含むデータを取得し、該取得したデータを格納する代行システムの記憶部と、
上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを前記メッセージ・キューから上記代行システムの記憶部にコピーするコピー部と、
上記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するトランザクション処理部と
を含む。
【0015】
本発明の1つの実施態様では、上記静止点を識別可能にする情報が、上記コミットに関連付けられたタイム・スタンプ又は上記コミットに関連付けられた相対バイト・アドレスである。
【0016】
本発明の1つの実施態様では、上記メッセージ・キューに蓄積されるデータが、更新データと該更新データのコミットに関連付けられたタイム・スタンプ又は該更新データのコミットに関連付けられた相対バイト・アドレスとを含む。
【0017】
本発明の1つの実施態様では、上記静止点を識別可能にする情報が、ログ・サスペンド・コマンド又はBACKUP SYSTEM UTILITYを実行して取得される。
【0018】
本発明の1つの実施態様では、上記トランザクションの取得の開始が、上記受付キューから上記本番システムに送られたトランザクションについての処理が全て終了していることを確認することをさらに含む。
【0019】
本発明の1つの実施態様では、上記代行システムの記憶部が、上記代行システムの上記トランザクション処理部で処理されたトランザクションについての少なくとも1つの更新データを含むデータをさらに格納する。
【0020】
本発明の1つの実施態様では、代行システムのトランザクションについての更新データを格納する該代行システムの記憶部から、静止点直前でトランザクションがコミットされた最後の時点における、代行システムの上記少なくとも1の更新データを含む上記データを上記本番システムに送信する送信部をさらに含む。
【0021】
本発明の1つの実施態様では、上記代行システムの上記トランザクション処理部で処理されたトランザクションについての少なくとも1つの更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とを、メッセージ・キューに送信する送信部をさらに含む。
【0022】
本発明はまた、トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとの間でトランザクションの処理を切り替える方法を提供する。該方法は、代行システムに下記ステップを実行させることを含む。
該方法は、
本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている上記本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含む上記データを取得し、該取得したデータを該代行システムの記憶部にコピーするステップと、
上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とを蓄積するメッセージ・キューから、上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを上記代行システムの記憶部にコピーするステップと、
上記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するステップと
を含む。
【0023】
本発明の1つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、ログ・サスペンド・コマンド又はBACKUP SYSTEM UTILITYを実行して、上記静止点を識別可能にする情報を取得するステップを含む。本発明の1つの実施態様では、上記静止点を識別可能にする情報が、上記コミットに関連付けられたタイム・スタンプ又は上記コミットに関連付けられた相対バイト・アドレスである。
【0024】
本発明の1つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、上記代行システムで処理されたトランザクションについての少なくとも1の更新データを上記代行システムの記憶部に格納するステップを含む。
【0025】
本発明の1つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、
代行システムから本番システムへの切り替え命令に応答して、
上記代行システムで処理されたトランザクションについての少なくとも1の更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とを、上記代行システムに関連付けられたメッセージ・キューに蓄積するステップ
を含む。
【0026】
本発明の1つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、上記代行システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含む上記データを、上記本番システムに送信するステップを含む。
【0027】
本発明の1つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、上記代行システムに関連付けられたメッセージ・キューから、上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを上記本番システムに送信するステップを含む。
【0028】
本発明の1つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、上記選択された更新データの全てを上記本番システムに送信後に、上記代行システムから上記本番システムにトランザクションの処理を切り替えるステップを含む。
【0029】
本発明はまた、トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとの間でトランザクションの処理を切り替えるコンピュータ・プログラムを提供する。該コンピュータ・プログラムは、上記代行システムに、上記のいずれか一に記載の方法の各ステップを実行させる。
【0030】
本発明はまた、トランザクションを処理する本番システムと、該本番システムのバックアップ・システムである代行システムと、トランザクションが処理される本番システム又は代行システムに接続されうる、トランザクションを受け付ける受付キューとを含む本番−代行システムにおいて、上記本番システムと上記代行システムとの間でトランザクションの処理を切り替える方法を提供する。
該方法は、上記本番システムに下記ステップを実行させる。該ステップは、
上記受付キューからトランザクションを受信し、該受信したトランザクションを処理するステップと、
上記本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータを本番システムの記憶部に格納するステップと、
上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信するステップと、
静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含む上記データを上記代行システムに送信するステップと、
を含む。
該方法はまた、上記代行システムに下記ステップを実行させる。該ステップは、
上記本番システムから送信された上記少なくとも1の更新データを含むデータを代行システムの記憶部に格納するステップと、
上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを上記メッセージ・キューから上記代行システムの記憶部にコピーするステップと、
上記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するステップと
を含む。
【0031】
本発明の1つの実施態様では、該方法は、上記本番システムに下記ステップをさらに実行させる。該ステップは、上記本番システムから上記代行システムへの切り替え命令に応答して、上記静止点を設定するステップを含む。
【0032】
本発明の1つの実施態様では、上記最後の時点における、上記少なくとも1の更新データを含む上記データを上記代行システムに送信するステップが、上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信することが開始されることに応じて実行される。
【0033】
本発明の1つの実施態様では、該方法は、上記受付キューを監視するシステムに下記ステップをさらに実行させる。該ステップは、上記選択された更新データのコピーが終了する前に、上記受付キューから上記本番システムへのトランザクションの送信を停止するステップを含む。
【0034】
本発明の1つの実施態様では、該方法は、上記代行システムに下記ステップをさらに実行させる。該ステップは、
上記代行システムから上記本番システムへの切り替え命令に応答して、
上記静止点を設定するステップと、
上記代行システムで処理されたトランザクションについての少なくとも1の更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信するステップと、
上記代行システムで処理されたトランザクションについての少なくとも1の更新データを含むデータを上記本番システムに送信するステップであって、上記更新データは、静止点前であってトランザクションがコミットされた最後の時点における更新データである、上記送信するステップと
を含む。
【0035】
本発明の1つの実施態様では、該方法は、上記本番システムに下記ステップをさらに実行させる。該ステップは、
上記代行システムから送信された上記少なくとも1の更新データを含むデータを上記本番システムの記憶部に格納するステップと、
上記メッセージ・キューから送信された更新データを上記本番システムの記憶部にコピーするステップと
を含む。
【0036】
本発明の1つの実施態様では、該方法は、上記代行システムに下記ステップをさらに実行させる。該ステップは、
上記選択された更新データを上記本番システムに送信後に、上記代行システムから上記本番システムにトランザクションの処理を切り替えるステップ
を含む。
【発明の効果】
【0037】
本発明の実施態様によれば、本番システムから代行システムへの切り替えは、内部的に数秒処理が停止するだけで可能である。システム全体の処理停止は数秒であり、この間もトランザクションの受付は行われるので、エンド・ユーザから見ると無停止の状態でシステムの切り替えができる。
【発明を実施するための最良の形態】
【0038】
「トランザクション」とは、1以上の複数の関連する処理を1つの処理単位としてまとめたものをいう。トランザクションの例は、エンド・ユーザからの要求、システムから発行されるコマンド命令である。該トランザクションが処理された結果は例えば、システムが管理しているデータに反映される。上記処理は、データの更新処理とトランザクションの確定処理である。データの更新処理は例えば、SQLにおけるupdate(アップデート)、insert(インサート)、delete(デリート)である。トランザクションの確定処理は例えば、SQLにおけるcommit(コミット)である。トランザクションの実行により、該処理が実行される。該処理は、トランザクションごとに「全て成功」或いは「全て失敗」のいずれかになる。全て成功となるためには、上記トランザクションの確定処理が成功する必要がある。例えば、データの更新処理1、データの更新処理2及びトランザクションの確定処理で構成されるトランザクションが実行されたとする。ここで、データの更新処理1は成功したがデータの更新処理2が失敗し、トランザクションの確定処理が実行されずにトランザクションが終了した場合は、データの更新処理1は失敗したとみなされる。従って、データの更新処理1によって更新されたデータは、更新される前のデータに戻される。また、データの更新処理1及びデータの更新処理2は成功したが、トランザクションの確定処理が失敗し、トランザクションの確定処理が実行されずにトランザクションが終了した場合は、データの更新処理1及びデータの更新処理2は失敗したとみなされる。従って、データの更新処理1及びデータの更新処理2によって更新されたデータは、更新される前のデータに戻される。上記例では、データの更新処理1が成功し、データの更新処理2も成功し、トランザクションの確定処理も成功してはじめて、トランザクションに含まれる処理が全て成功したことになり、データの更新処理1、2によるデータ更新が確定される。
【0039】
「本番システム」とは、トランザクションを処理するシステムをいう。本番システムは、平常時の運用に用いる。
【0040】
「代行システム」とは、本番システムの代わりにトランザクションを処理するシステムをいう。代行システムが本番システムに代わる例は、本番システムを保守作業のために停止させ、保守作業の間に代行システムを稼働させる場合があるがこれに限定されない。該保守作業は例えば、何時行ってもかまわない。好ましくは、トランザクションの少ない時間帯、すなわちピーク時間帯以外の時間帯に保守を行う。この場合、代行システムは本番システムのピーク時間帯以外の時間帯の処理能力があればよいので、代行システムの費用を低減することが可能である。代行システムは、ユーザ・サービスの質を低下させないために、上記トランザクションの少ない時間帯における本番システムと同様の処理能力を有していることが望ましい。例えば、本番システムが中央演算処理装置(CPU)を5個有し、保守を行いたい時間帯において2個相当の処理能力しか用いていない場合に、代行システムは、CPUを2個有していることが望ましい。この場合、代行システムは、上記トランザクションの少ない時間帯の処理能力があればよいので、代行システムに要する費用を低減できる。
【0041】
「更新データ」とは、トランザクションが処理される結果として得られるデータをいう。該データは、例えば金融機関のシステムであれば、出金というトランザクションが処理される結果として得られる口座の残高である。
【0042】
「静止点」とは、バックアップ取得の実行開始前のデータの整合性が保証された時点のことをいう。該バックアップにより得られるバックアップ・データは、静止点の時点でコミット済みのトランザクションによる更新データを含み、静止点の時点でコミットされていないトランザクションによる更新データを含まない。バックアップ・データは、静止点前であってトランザクションがコミットされた最後の時点以降のデータである。静止点は、ログの相対バイト・アドレス又は時間で表される。
静止点は、本番−代行システムによって又は本番−代行システムの管理者によって、ログの相対バイト・アドレス又はマイクロ秒単位の時間で設定されうる。該設定は、例えばバックアップからデータを回復する機能を提供するユーティリティに対して行う。
【0043】
「メッセージ・キュー」とは、上記更新データと該更新データに関連付けられ且つ静止点を識別可能にする情報とを蓄積するキューのことをいう。キューとは、コンピュータの基本的なデータ構造の一つである。本発明の1つの実施態様として、キューは、データを先入れ先出しのリスト構造で保持する。先入れ先出しのリスト構造では、キューからデータを取り出すときに、データは、先に入れられたデータから順に取り出される。
【0044】
「更新データに関連付けられ且つ静止点を識別可能にする情報」とは、トランザクションが処理され更新データを得られる過程で得られる情報のうち、静止点を求めるために利用しうる情報をいう。該情報は例えば、コミットに関連付けられたタイム・スタンプ、コミットに関連付けられた相対バイト・アドレスを含む。上記情報は例えば、ログ・サスペンド・コマンド又はBACKUP SYSTEM UTILITYを実行して取得されうる。
【0045】
本番−代行システムが静止点を自動で設定する場合、上記管理者は、更新データと該更新データに関連付けられ且つ静止点を識別可能にする情報をメッセージ・キューへ送信することを開始する時間をあらかじめ定めておく。上記送信の開始時間の設定は例えば、システムによって表示されるポップアップウインドウに開始時間を管理者が入力することによって行われうる。該自動で設定する静止点は例えば、上記送信の開始時間に、本番−代行システムで設定できる最長のトランザクション処理時間を加えた時間よりも後の時間とする。
上記管理者が静止点を例えばシステムによって表示されるポップアップウインドウに入力することによって設定する場合、本番−代行システムは、更新データ及び上記情報をメッセージ・キューへ送信することを開始する時間を自動で設定しうる。該自動で設定する時間は、例えば、上記静止点から本番−代行システムで設定できる最長のトランザクション処理時間を引いた時間より早い時間である。
上記管理者が、静止点を設定し且つ、上記更新データ及び上記情報をメッセージ・キューへ送信することを開始する時間をも設定する場合、管理者は、該静止点及び該時間を、例えばシステムによって表示されるポップアップウインドウに入力することによって設定しうる。ここで、該静止点及び該時間の間隔は、本番−代行システムで設定できる最長のトランザクション処理時間より大きい間隔である。
【0046】
「タイム・スタンプ」とは、処理の実行された日時を示す情報をいう。該処理は、例えば更新処理、コミット処理、データベースのバックアップ取得コマンドの実行などの処理であるがこれらに限定されない。タイム・スタンプは、マイクロ秒単位で指定される。バックアップ取得の処理が実行された日時とその他の処理が実行された日時を比べることにより、静止点が識別されうる。
「静止点前」とは、静止点より前にコミットされたトランザクションのうち最後にコミットされたトランザクションがコミットされた時点を指す。
【0047】
「相対バイト・アドレス」(RBA:Relative Byte Address)とは、システムで実行された処理が格納されているアドレスのことをいう。該アドレスは、1つ前に実行された処理が格納されたアドレスとの関係で表される。該アドレスを辿ることにより、バックアップ取得の処理とその他の処理との実行順が求められるため、静止点が識別されうる。
【0048】
「ログ・サスペンド・コマンド」とは、ログ書き込みを伴うデータベース処理全てを一旦停止させる命令のことをいう。該ログは例えば、相対バイト・アドレス、タイム・スタンプ、処理の内容と処理の結果、リカバリ情報を含むが、これに限定されない。ログ・サスペンド・コマンドは、コマンド実行時点の相対バイト・アドレス及びタイム・スタンプを確定しこれらの取得を許すので、メッセージ・キューから、静止点以降にコミットされた更新データを選択するために、これらを使用することができる。
【0049】
「受付キュー」とは、トランザクションを蓄積するキューのことをいう。受付キューは、本番システム及び代行システムとは別のシステム上にある。受付キューは、例えばエンド・ユーザのコンピュータに接続されエンド・ユーザからのトランザクションを蓄積するが、これに限定されない。また、本番システム又は代行システムは、受付キューに接続できる。受付キューに本番システム又は代行システムが接続されることにより、本番システム又は代行システムは受付キューからトランザクションを取得できる。
【0050】
以下、図面に従って、本発明の実施態様を説明する。本実施態様は、本発明の好適な態様を説明するためのものであり、本発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断らない限り、同一の符号は、同一の対象を指す。
【0051】
図1は、本発明の実施態様であるシステム構成の例を示す。
本番システム(101)は、平常時の運用においてトランザクションを処理するシステムである。代行システム(105)は、例えば本番システム(101)を保守作業のために停止する際に、本番システム(101)の代わりに、トランザクションを処理するシステムである。代行システム(105)は、トランザクションの処理に関して、本番システム(101)と同じ機能を有する。処理受付キュー(109)は、トランザクションを蓄積するキューであり、本番システム(101)又は代行システム(105)に該トランザクションを送る。処理受付キュー(109)は、本番システム(101)及び代行システム(105)とは別のシステム上にある。処理受付キュー(109)は、本番システム(101)及び代行システム(105)がともに停止している場合も、トランザクションの受付を行うことができる。トランザクションは、例えばエンド・ユーザのコンピュータ(図示せず)から、処理受付キュー(109)に蓄積される。本番システム(101)又は代行システム(105)は、処理受付キュー(109)からトランザクションを取得する。代替的に、処理受付キュー(109)を制御するシステムが、本番システム(101)又は代行システム(105)にトランザクションを送信するようにしてもよい。トランザクションは、本番システム(101)又は代行システム(105)が管理するデータを更新する処理を含む。トランザクションは、トランザクション処理部であるアプリケーションサーバ(102、106)で処理される。更新データを含むデータは、格納部(104、108)に記録される。復元部(103、107)は、格納部(104、108)に記録された該データのバックアップ・データの作成及び復元を行う。なお、格納部(104、108)は、データベースとすることもできる。格納部(104、108)をデータベースとした場合、復元部(103、107)をデータベース管理システムとすることもできる。データベース管理システム(103、107)は、データベースに関する制御を行う。
本番システム(101)から代行システム(105)に切り替える場合におけるシステム構成は以下の通りである。本番システム(101)の復元部(103)は、上記トランザクションから更新データを取得する。本番システム(101)の復元部(103)は、更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報(以下キューに入れる情報)を作成する。本番システム(101)の復元部(103)は、本番システム(101)の格納部(104)に記録された更新データを含むデータのバックアップ・データを作成する。本番システム(101)の復元部(103)は、バックアップ・データについての静止点を識別可能にする情報を作成する。該情報は、上記キューに入れる情報又はバックアップ・データに含める。本番システム(101)の復元部(103)は、送信部を含みうる。該送信部は、上記更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー(110)に送信する。図1では、メッセージ・キュー(110)は、本番システムと代行システムと共通であるように示されているが、メッセージ・キュー(110)は、本番システム(101)に含まれていてもよいし、本番システム(101)と独立に存在していてもよい。送信部は、上記バックアップを代行システム(105)に送信する。本番システム(101)の送信部によって代行システム(105)に送信されたバックアップ・データは、代行システム(105)の復元部(107)によって取得され、代行システム(105)の格納部(108)に復元される。復元部(103、107)は、コピー部を含みうる。代行システム(105)のコピー部は、更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー(110)から取得する。代替的に、本番システム(101)のコピー部が、更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー(110)から取得してもよい。該取得によって、更新データ及び上記キューに入れる情報が記載されたログは、メッセージ・キュー(110)から削除されうる。該コピー部は、上記キューに入れる情報及び上記バックアップ・データについての静止点を識別可能にする情報を用いて更新データを選択する。代行システム(105)のコピー部は、選択された更新データを代行システム(105)の格納部(108)にコピーする。監視部(111)は、メッセージ・キュー(110)を監視する。監視部(111)は、メッセージ・キュー(110)内の更新データがほぼ空になることに応じて、本番システム(101)のアプリケーションサーバ(102)にトランザクション停止の要求を通知する。本番システム(101)のアプリケーションサーバ(102)は、該通知を受けると、トランザクションの取得を停止する。また監視部(111)は、メッセージ・キュー(110)内の更新データがほぼ空になることに応じて、受付キュー(109)にトランザクション停止の要求を通知するようにしてもよい。受付キュー(109)は、該通知を受けると、トランザクションの送信を停止する。監視部(111)は、メッセージ・キュー(110)内の更新データが無くなることに応じて、代行システム(105)のアプリケーションサーバ(106)にトランザクション開始の許可を通知する。メッセージ・キュー(110)内の上記更新データは、本番システム(101)によって行われるトランザクション処理の全てに対応する更新データを含む。代行システム(105)のアプリケーションサーバ(106)は、該通知を受けると、処理受付キュー(109)からトランザクションの取得を開始する。また監視部(111)は、メッセージ・キュー(110)内の更新データが無くなることに応じて、処理受付キュー(109)にトランザクションの切り替えを通知するようにしてもよい。処理受付キュー(109)は、該通知を受けると、代行システム(105)にトランザクションの送信を開始する。
代行システム(105)から本番システム(101)に切り替える場合におけるシステム構成は以下の通りである。代行システム(105)の復元部(107)は、上記トランザクションから更新データを取得する。代行システム(105)の復元部(107)は、上記キューに入れる情報を作成する。代行システム(105)の復元部(107)は、代行システム(105)の格納部(108)に記録された更新データを含むデータのバックアップ・データを作成する。代行システム(105)の復元部(107)は、バックアップ・データについての静止点を識別可能にする情報を作成する。該情報は、上記キューに入れる情報又はバックアップ・データに含める。代行システム(105)の復元部(107)は、送信部を含みうる。該送信部は、上記更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー(110)に送信する。送信部は上記バックアップを本番システム(101)に送信する。図1では、メッセージ・キュー(110)は、本番システムと代行システムと共通であるように示されているが、メッセージ・キュー(110)は、代行システム(105)に含まれていてもよいし、代行システム(105)と独立に存在していてもよい。代行システム(105)の送信部によって本番システム(101)に送信されたバックアップ・データは、本番システム(101)の復元部(103)によって取得され、本番システム(101)の格納部(104)に復元される。復元部(103、107)は、コピー部を含みうる。本番システム(101)のコピー部は、更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー(110)から取得する。代替的に、代行システム(105)のコピー部が、更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー(110)から取得してもよい。該取得によって、更新データ及び上記キューに入れる情報が記載されたログは、メッセージ・キュー(110)から削除されうる。該コピー部は、上記キューに入れる情報及び上記バックアップ・データについての静止点を識別可能にする情報を用いて更新データを選択する。本番システム(101)コピー部は、選択された更新データを本番システム(101)の格納部(104)にコピーする。監視部(111)は、メッセージ・キュー(110)を監視する。監視部(111)は、メッセージ・キュー(110)内の更新データがほぼ空になることに応じて、代行システム(105)のアプリケーションサーバ(106)にトランザクション停止の要求を通知する。代行システム(105)のアプリケーションサーバ(106)は、該通知を受けると、トランザクションの取得を停止する。また監視部は、メッセージ・キュー(110)内の更新データがほぼ空になることに応じて、受付キュー(109)にトランザクション停止の要求を通知するとしてもよい。受付キュー(109)は、該通知を受けると、トランザクションの送信を停止する。監視部(111)は、メッセージ・キュー(110)内の更新データが無くなることに応じて、本番システム(101)のアプリケーションサーバ(102)にトランザクション開始の許可を通知する。メッセージ・キュー(110)内の上記更新データは、代行システム(105)によって行われるトランザクション処理の全てに対応する更新データを含む。本番システム(101)のアプリケーションサーバ(102)は、該通知を受けると、処理受付キュー(109)からトランザクションの取得を開始する。また監視部(111)は、メッセージ・キュー(110)内の更新データが無くなることに応じて、処理受付キュー(109)にトランザクションの切り替えを通知するようにしてもよい。処理受付キュー(109)は、該通知を受けると、本番システム(105)にトランザクションの送信を開始する。
【0052】
図2は、従来の方法である本番システムから代行システムの切り替え、及び本発明の実施態様である本番システムから代行システムの切り替えの概要を示す。
従来の方法において、本番−代行システムは、本番システムから代行システムへデータベースをコピーしている間及びシステムの切り替えの間、システムの処理を停止する。一方、本発明の実施態様において、本番−代行システムは、上記データベースをコピーする処理に該当する間、システムの処理をほとんど停止させない。システムの処理が停止するのは、システムの切り替えに必要な数秒のみである。よって、本発明の実施態様による方法は、従来の方法に比べて、システムの停止時間が大幅に短縮される。また、本発明の実施態様において、トランザクションの受付キューが設けられ、該受付キューがシステムの処理停止中も受付を行うので、トランザクションの処理は見掛け上停止しない。
【0053】
図3Aは、本発明の実施態様である、本番システムの運用を示す。
ユーザからのトランザクション(311)は、処理受付キュー(309)に蓄えられる。処理受付キュー(309)は、トランザクション(311)を本番システム(301)に送信する。本番システム(301)は、処理受付キュー(309)からトランザクション(311)を取得する。本番システム(301)は、取得したトランザクション(311)を処理する。本番システム(301)が、該トランザクション(311)についてのコミットを実行することで、該処理が確定する。該処理の結果は、データベース(304)に反映される。なお、代行システム(305)は停止中である。
【0054】
図3Bは、本発明の実施態様である、代行システムへの更新データの送信の開始を示す。
本番システム(301)は、キューレプリケーションにより、メッセージ・キュー(310)へ更新内容の送信(312)を開始する。ここで、更新内容は、トランザクションについての更新データと上記メッセージ・キュー(310)に入れる情報が記載されたログとを含む。キューレプリケーションは、データベースの更新内容をメッセージ・キューに送信することにより、一方のシステムでのデータベースの更新内容を他のシステムに反映できるユーティリティである。キューレプリケーションは例えば、IBM WebSphere Replication Serverとして製品化されている。管理者は、メッセージ・キューを代行システムに接続させるために、代行システム(305)を立ち上げる。ただし、メッセージ・キュー(310)へ更新内容の送信(312)を開始した時点では、まだ代行システム(305)はキューレプリケーションによる更新内容の反映(図示せず)を開始しない。また、本番システム(301)はまだ運用を停止しない。
【0055】
図3Cは、本発明の実施態様である、本番システムのバックアップ取得を示す。
本番システム(301)は、バックアップ・ユーティリティにより、本番システムのデータベースのバックアップ・データ(313)を取得する。バックアップ・ユーティリティは、本番システムの更新業務を停止させずにバックアップを一度に取得するユーティリティである。該バックアップは高速で取得できることが好ましい。該バックアップ・ユーティリティの例としては、IBM DB2として製品化済みであるBACKUP SYSTEM UTILITYがある。DB2とは、IBMが提供する関係データベース管理システム製品及び関連製品群である。BACKUP SYSTEM UTILITYは、IBMのディスクサブシステムであるESSなどが有する機能であるFLASHCOPYと呼ばれる高速コピー機能と兼用することでデータベース・システム全体のコピーを高速に取得できる。該取得は、FLASHCOPYにより数十秒で終了する。本番システム(301)は、上記バックアップ・ユーティリティによりデータベースのバックアップ・データ(313)を取得している間も、処理を続行することができる。ここで取得されるバックアップ・データ(313)は、静止点の時点でコミット済みのトランザクションによる更新データを含み、静止点の時点でコミットされていないトランザクションによる更新データを含まない。バックアップ(313)の取得の際に、本番システム(301)は、該取得時の静止点を、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスとともに、上記キューに入れる情報を記載するログに登録する。該登録は、代替的に、データベース管理システム(DBMS)(303)が管理するデータセットに対して行い、これをバックアップ・データ(313)に含めてもよい。データセットは、上記キューに入れる情報を記載するログと同じフォーマットとすることができる。静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスは、ログ・サスペンド・コマンド又はBACKUP SYSTEM UTILITYを実行することで確定され、本番システム(301)が該確定された静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを取得できる。BACKUP SYSTEM UTILITYは、バックアップを取得するためのユーティリティであるが、BACKUP SYSTEM UTILITYの実行でバックアップとあわせて静止点に関する情報を得ることができる。本番システム(301)は、バックアップ・データ(313)の取得を、上記キューレプリケーション開始の数分後に行う。本番システム(301)がバックアップ・データ(313)の取得を開始する時間は、バックアップ・データ(313)取得時に処理中であろうトランザクションが開始する前に、キューレプリケーションが開始されているような時間から決定する。一例として本番システム(301)は、キューレプリケーションの開始後、システムで設定できる最長のトランザクション処理時間より間隔をあけて、バックアップ・データ(313)を取得する。例えば、600秒以内にトランザクションが終了しない場合、該トランザクションが取り消されるよう設定された本番システム(301)であれば、キューレプリケーションの開始から600秒よりも後にバックアップ・データ(313)の取得を行う。詳細には、本番システム(301)は、キューレプリケーションの開始から601秒後にバックアップ・データ(313)の取得を行う。このようにすれば、キューレプリケーションの開始前に開始したトランザクションは、バックアップ・データ(313)取得の前に全て終了していることになるので、バックアップ・データ(313)の取得処理の自動化が可能になる。バックアップ・ユーティリティによるバックアップ・データの取得時に、本番システム(301)は運用を停止しない。
代行システム(305)は、本番システム(301)から、バックアップ・データ(313)をコピーして取得する。該コピーにより、バックアップ・データ(313)は、代行システム(305)が利用可能な状態に復元される。例えば、代行システム(305)は、データベースを復元できる復元ユーティリティを使用して、静止点前であってトランザクションがコミットされた最後の時点における、更新データを含むデータのデータベースをバックアップ・データ(313)から復元する。復元ユーティリティは例えば、RESTORE SYSTEM UTILITYであり、IBM DB2として製品化済みである。RESTORE SYSTEM UTILITYは、BACKUP SYSTEM UTILITYで取得したバックアップ・データからDB2システム、データベースを復元するユーティリティである。
【0056】
図3Dは、本発明の実施態様である、更新データに関連付けられ且つ静止点を識別可能にする情報を保存するためのログのデータ構造の例を示す。
ログ(317)は、領域(318A〜320A)及び領域(318B〜320B)で示されるように、相対バイト・アドレス(RBA)、タイム・スタンプ及び処理内容の3項目の繰り返しで構成される。また、ログ(317)は、リカバリ情報(321)を有することもできる。該リカバリ情報(321)は例えば、復元するデータベースの保存先のアドレス、及び代行システムにおけるデータベースの復元時間を含む。
以下に、トランザクション(315)についてのログ(317)の出力の例を示す。トランザクション(315)は、更新処理(316A)及びコミット処理(316B)で構成されるトランザクションである。トランザクション(315)が開始されると、最初に更新処理(316A)が実行される。実行された更新処理(316A)が格納された相対バイト・アドレスは、ログ(317)の領域(318A)に書き出される。実行された更新処理(316A)の実行時間であるタイム・スタンプは、ログ(317)の領域(319A)に書き出される。該時間は、例えば更新処理(316A)を開始した時間及び終了した時間である。実行された更新処理(316A)の処理内容は、ログ(317)の領域(320A)に書き出される。該処理内容は例えば、更新処理(316A)に対応するSQL文、更新処理(316A)に対応する更新されたデータである。次に、更新処理(316B)が実行される。実行されたコミット処理(316B)が格納された相対バイト・アドレスは、ログ(317)の領域(318B)に書き出される。実行されたコミット処理(316B)の実行時間であるタイム・スタンプは、ログ(317)の領域(319B)に書き出される。実行されたコミット処理(316B)の処理内容は、ログ(317)の領域(320B)に書き出される。該処理内容は例えば、コミット処理(316B)に対応するSQL文、コミット処理(316B)に対応する確定されたデータである。
【0057】
図3Eは、本発明の実施態様である、代行システムでのデータベースの最新状態へのデータ反映を示す。
静止点以降にコミットされた更新内容は、メッセージ・キュー(310)に蓄積されている。代行システム(305)は、データベース復元後にメッセージ・キュー(310)から更新内容を取得し、更新内容の反映(314)を開始する。メッセージ・キュー(310)から更新内容の反映(314)をする際に、代行システム(305)は、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを上記キューから取得したログ又はバックアップ・データに付随するデータセットから読み込む。また代行システム(305)は、更新データに関連付けられ且つ静止点を識別可能にする情報を、更新内容に含まれる上記キューから取得したログから読み込む。代行システム(305)は、上記読み込んだ更新データに関連付けられ且つ静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いて、静止点以降にコミットされた更新が反映されるように、更新データを選択し、代行システム(301)で復元されたデータベースに反映する。該反映については後述する。
更新内容の選択は、本番システム(301)が実行しても良い。代行システム(305)に代わって本番システム(301)が更新内容の選択を実行する場合、本番システム(301)は、図3Bの説明において述べた更新データの送信の開始をせず、図3Cの説明において述べた静止点が確定した後、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いて、静止点以降にコミットされた更新が反映されるように、更新データを選択し、代行システム(305)に送信する。代行システム(305)は送信されてきた更新データを全て、代行システム(305)で復元されたデータベースに反映する。
また本番システムでは、運用を継続するとともに、更新内容の送信(312)も続ける。
このように、バックアップ・ユーティリティによる静止点でのバックアップの取得と同期して、キューレプリケーションによる更新内容の反映をすることにより、管理者は、トランザクションの処理を実質的には停止させずに代行システムへの切り替えを実現することができる。
【0058】
図3Fは、本発明の実施態様である、静止点以降にコミットされた更新を選択して反映する例を示す。
本番システムは、上記キューに入れる情報を記載するログへの書き込み及びキューレプリケーションでの更新内容の送信を、更新のつど行う。データベースの更新はトランザクションのコミット処理が行われた時点で、トランザクション単位で確定する。システムが、静止点を用いてデータベースをバックアップ及び復元すると、静止点でコミット済みのトランザクションの更新は有効になる。また静止点でコミットされていないトランザクションの更新はロールバックされ、データは更新前の状態に戻る。本発明の実施態様では、キューレプリケーションからの更新内容の反映時に、静止点以降でコミットされたトランザクションを選択して更新内容を反映することにより、バックアップと同期した更新内容の反映を実現する。また、静止点以降で開始されたトランザクションは無条件で反映される。
図の矢印(322A〜324A、322B〜324B及び322C〜324C)は、トランザクションを示す。矢印の始点(左側)がトランザクションの開始を表し、矢印の終点(右側)がトランザクションの終了を表す。矢印の下にある三角形はトランザクション中の処理を表す。該処理には、更新及びコミットがある。矢印の終点の下にある三角形がコミットを表し、その他の三角形が更新を表す。
トランザクション(322A〜324A)は、本番システムで受け付けたトランザクションの例である。トランザクション(322A)は、本番システムでのトランザクション処理中に、キューレプリケーションが開始された例である。また、トランザクション(322A)は、静止点でのバックアップ取得の実行前にコミットが終了している。トランザクション(322A)は、メッセージ・キュー内において、キューレプリケーション開始以前の処理を含まないので、トランザクション(322B)で表されるように部分の情報しか有しない。また、トランザクション(322A)は、バックアップにおいて、静止点前にトランザクションがコミットされているため、トランザクション(322C)で表されるように全トランザクションの情報を有する。代行システムは、例えば、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプを比較する。代替的に、本番システムが例えば、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプを比較してもよい。トランザクション(322B)において、コミット処理についてのタイム・スタンプの示す時間は、静止点についてのタイム・スタンプの示す時間よりも早い。よって、トランザクション(322A)は、静止点前にコミットが終了しているトランザクションであると判断される。別の方法として、代行システムは、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較する。代替的に、本番システムが、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較してもよい。トランザクション(322B)において、コミット処理についての相対バイト・アドレスの示すアドレスは、静止点についての相対バイト・アドレスの示すアドレスよりも前にある。よって、トランザクション(322A)は、静止点前にコミットが終了しているトランザクションであると判断される。よって、トランザクション(322A)は、代行システムにおいて、メッセージ・キューの内容が反映されず、バックアップから状態が復元される。
トランザクション(323A)は、本番システムでのトランザクション処理中に、静止点でのバックアップ取得が実行された例である。トランザクション(323A)は、メッセージ・キュー内において、トランザクション(323B)で表されるように全トランザクションの情報を有する。またトランザクション(323A)は、バックアップにおいて、静止点後にトランザクションがコミットされているため、トランザクション(323C)で表されるように静止点前のトランザクションの情報しか有さず、復元の対象とはならない。代行システムは例えば、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプとを比較する。代替的に、本番システムが、上記と同様にして、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプを比較してもよい。トランザクション(323B)において、コミット処理についてのタイム・スタンプの示す時間は、静止点についてのタイム・スタンプの示す時間よりも遅い。よって、トランザクション(323A)は、静止点以降にコミットが終了しているトランザクションであると判断される。別の方法として、代行システムは、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較する。代替的に、本番システムが、上記と同様にして、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較してもよい。トランザクション(323B)において、コミット処理についての相対バイト・アドレスの示すアドレスは、静止点についての相対バイト・アドレスの示すアドレスよりも後にある。よって、トランザクション(323A)は、静止点以降にコミットが終了しているトランザクションであると判断される。よって、トランザクション(323A)は、代行システムにおいて、バックアップから状態は復元されず、メッセージ・キューの内容が反映されることにより復元される。
トランザクション(324A)は、本番システムでのトランザクション処理が、静止点でのバックアップ取得後に開始された例である。トランザクション(324A)は、メッセージ・キュー内において、トランザクション(324B)で表されるように全トランザクションの情報を有する。また、トランザクション(324A)は、バックアップにおいて、静止点後にトランザクションが開始されているため、トランザクション(324C)で表されるようにトランザクションの情報を有さず、復元の対象とはならない。代行システムは例えば、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプとを比較する。代替的に、本番システムが、上記と同様にして、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプを比較してもよい。トランザクション(324B)において、コミット処理についてのタイム・スタンプの示す時間は、静止点についてのタイム・スタンプの示す時間よりも遅い。よって、トランザクション(324A)は、静止点以降にコミットが終了しているトランザクションであると判断される。別の方法として、代行システムは、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較する。代替的に、本番システムが、上記と同様にして、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較してもよい。トランザクション(324B)において、コミット処理についての相対バイト・アドレスの示すアドレスは、静止点についての相対バイト・アドレスの示すアドレスよりも後にある。よって、トランザクション(324A)は、静止点以降にコミットが終了しているトランザクションであると判断される。よって、トランザクション(324A)は、代行システムにおいて、バックアップから状態は復元されず、メッセージ・キューの内容が反映されることにより復元される。
すなわち、代行システムは、データベースのバックアップから、静止点でコミット済みのデータを復元(325)する。また、代行システムは、キューレプリケーションでの更新内容から、静止点以降でコミットされたトランザクションを選択(326)して更新を反映する。代替的に、本番システムが、上記と同様にして、キューレプリケーションでの更新内容から、静止点以降でコミットされたトランザクションを選択(326)して更新を反映する。上記方法により、代行システムは、整合性のあるデータベースを復元できる。
【0059】
図3Gは、本発明の実施態様である、代行システムへの切り替えの例を示す。
処理受付キュー(309)は、代行システム(305)側で更新内容の反映(314)が進み、メッセージ・キュー(310)がほぼ空になった段階で、本番システム(301)側へのトランザクション(327)の投入を停止する。処理受付キュー(309)は、本番システム(301)側のトランザクション処理が完了し、更新内容の反映(314)が終わるのを待って、代行システム(305)側へのトランザクション(328)の投入を開始する。上記例において、処理受付キュー(309)は、トランザクション処理の数及びメッセージ・キューに蓄積された更新内容の数を監視する機能を有する。該監視する機能は監視部によって実現され該監視部は、任意のシステムに含まれうる。代行システム(305)への切り替えの間、本番システム(301)及び代行システム(305)は通常数秒間の処理停止となる。該処理停止中は、処理受け付けキュー(309)が、トランザクション(311)をキューイングする。該キューイングにより、ユーザからみて、サービスの中断はない。
【0060】
図3Hは、本発明の実施態様である、本番システムの停止の例を示す。
管理者は、本番システム(301)を停止し、必要な保守作業を行う。処理受付キュー(309)は、上記キューイングされたトランザクション及び新たに発生したトランザクションを代行システム(305)に送信する。代行システム(305)は、上記キューイングされたトランザクション及び新たに発生したトランザクションを順次処理する。該処理の結果は、データベース(308)に反映される。
なお、該保守作業は例えば、システムにおけるハードウェアの交換、及びソフトウェアのバージョンアップを含む。
【0061】
管理者は、本番システム(301)のメンテナンス終了後、代行システム(305)から本番システム(301)へシステムを切り戻す必要がある。切り戻しは、上記本番システム(301)から代行システム(305)への切り替え手順を、代行システム(305)から本番システム(301)への切り替え手順に適用することにより、実行できる。
以下は、切り戻しの概略を示す。
1.代行システムは、キューレプリケーションにより、メッセージ・キューへ更新内容の送信を開始する。該更新内容は、更新データと、上記キューに入れる情報とが記載されたログを含む。
2.代行システムは、バックアップ・ユーティリティにより、データベースのバックアップ・データを取得する。代行システムは、該取得時の静止点を、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスとともに上記キューに入れる情報を記載するログに登録する。該登録は、代替的に、データベース管理システム(DBMS)が管理するデータセットに対して行い、これをバックアップ・データに含めてもよい。静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスは、ログ・サスペンド・コマンド又はBACKUP SYSTEM UTILITYを実行することで確定され、代行システムが取得できる。
3.本番システムは、復元ユーティリティを使用して、データベースをバックアップ・データから復元する。本番システムは、メッセージ・キューから上記更新内容の取得を開始する。本番システムは、上記ログもしくはバックアップ・データに付随するデータセットより、データベースのバックアップについての静止点を識別可能にする情報を取得する。本番システムはさらに、上記ログより、上記キューに入れる情報を取得する。本番システムは、データベースのバックアップについての静止点を識別可能にする情報及び上記キューに入れる情報を用いて、静止点以降にコミットされたトランザクションによる更新データを本番システムのデータベースに反映させる。
更新内容の選択は、代行システムが実行してもよい。本番システムに代わって代行システムが更新内容の選択を実行する場合、代行システムは上記1.において更新データの送信の開始をせず、上記2.において静止点が確定した後、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いて、静止点以降にコミットされた更新が反映されるように、更新データを選択し、本番システムに送信する。本番システムは、送信されてきた更新データの全てを、本番システムで復元されたデータベースに反映する。
4.監視部である処理受付キューは、本番システムでのデータベースへの更新データの反映が進み、メッセージ・キューがほぼ空になった段階で、代行システムへのトランザクションの投入を停止する。処理受付キューは、代行システムでのトランザクション処理が完了し、本番システムでのデータベースへの更新データの反映が終わるのを待って、本番システムへのトランザクションの投入を開始する。
【0062】
図4Aは、本発明の実施態様である、代行システムから見た、システムの切り替え処理のフローチャートを示す。
1.本番システムから代行システムへの切り替え
システムの管理者は、本番システムにおいてメンテナンスを行うために、本番システムから代行システムへの切り替えを行う。システムの管理者は、静止点又は更新データとキューに入れる情報をメッセージ・キューへ送信することを開始する時間のどちらか一方もしくは両方をあらかじめ設定しておく。該設定は、例えばバックアップを取得する機能を提供するユーティリティに対して行う。システムの管理者が、静止点と該時間のどちらか一方のみを設定した場合、代行システムは、まだ設定されていない静止点又は該時間を設定する(ステップ401)。
代行システムは、本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含むデータを取得し、該取得したデータを代行システムの記憶部に復元する。ここで該データは、静止点の時点でバックアップ・ユーティリティを使用して作成されたバックアップ・データである。代行システムは、該取得及び該復元を、復元ユーティリティを使用して行う(ステップ402)。
代行システムは、上記復元が終了した後、メッセージ・キューに接続し、更新データ及びキューに入れる情報の取得を開始する。代行システムは、静止点以降にコミットされた更新データを選択する。代行システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。代行システムは、選択された更新データを取得する。代行システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する。なお、上記更新データの選択は、代替的に本番システムが実行してもよい。該選択を本番システムが行う場合、本番システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。代行システムは、本番システムで選択された更新データを取得する。代行システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する(ステップ403)。
代行システムは、上記選択して取得した更新データを上記復元したバックアップ・データに反映させる(ステップ404)。
代行システムは、該反映が全て終了することに応じて、受付キューからのトランザクション受け付けを開始する。代行システムは、トランザクション処理を開始する。該受け付け及び処理の開始は、メッセージ・キュー、本番システム及び代行システムを監視するシステムから指示される。該トランザクションの結果は、上記選択して取得した更新データが反映済みである復元したバックアップ・データに反映される(ステップ405)。
2.代行システムから本番システムへの切り替え
システムの管理者は、本番システムのメンテナンスの終了後、代行システムから本番システムへの切り替えを行う。システムの管理者は、静止点又は更新データとキューに入れる情報をメッセージ・キューへ送信することを開始する時間のどちらか一方もしくは両方をあらかじめ設定しておく。該設定は、例えばバックアップを取得する機能を提供するユーティリティに対して行う。システムの管理者が、静止点と該時間のどちらか一方のみを設定した場合、代行システムは、まだ設定されていない静止点又は該時間を設定する(ステップ406)。
代行システムは、更新データ及び上記キューに入れる情報の作成を開始する。代行システムは、該更新データ及び該情報を作成の都度メッセージ・キューに送信する(ステップ407)。
代行システムは、代行システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている代行システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含むデータであるバックアップ・データをバックアップ・ユーティリティを使用して作成する。代行システムは、該バックアップ・データを本番システムに送信する。該送信は、本番システムで実行される復元ユーティリティによって行われる。代行システムは、バックアップ・データ作成時に、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを、上記キューに入れる情報に登録する。該キューに入れる情報は、メッセージ・キューに送信される(ステップ408)。
本番システムは、上記復元が終了した後、メッセージ・キューに接続し、更新データ及びキューに入れる情報の取得を開始する。本番システムは、静止点以降にコミットされた更新データを選択する。本番システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。本番システムは、選択された更新データを取得する。本番システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する。なお、上記更新データの選択は、代替的に代行システムが実行してもよい。該選択を代行システムが行う場合、代行システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。本番システムは、代行システムで選択された更新データを取得する。本番システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する(ステップ409)。
代行システムは、本番システムの準備が完了したのち、トランザクションの受付を停止する。該停止は、メッセージ・キュー、本番システム及び代行システムを監視するシステムから指示される。トランザクションの送信は、本番システムに切り替えられる(ステップ410)。
【0063】
図4Bは、本発明の実施態様である、本番システム及び代行システムそれぞれにおける処理のフローチャートを示す。
システムの管理者は、本番システムにおいてメンテナンスを行うために、本番システムから代行システムへの切り替えを行う。システムの管理者は、静止点又は更新データとキューに入れる情報をメッセージ・キューへ送信することを開始する時間のどちらか一方もしくは両方をあらかじめ設定しておく。システムの管理者が、静止点と該時間のどちらか一方のみを設定した場合において、本番システムは、まだ設定されていない静止点又は該時間を設定する(ステップ411)。
本番システムは、受付キューからトランザクションを受信している。該トランザクションは本番システムで処理され、該処理の結果は、本番システムの記憶部に格納されたデータに反映される(ステップ412)。
本番システムは、更新データ及び上記キューに入れる情報の作成を開始する。本番システムは、該更新データ及び該情報を作成の都度メッセージ・キューに送信する(ステップ413)。
本番システムは、本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含むデータであるバックアップ・データをバックアップ・ユーティリティを使用して作成する。本番システムは、該バックアップ・データを代行システムに送信する。該送信は、代行システムで実行される復元ユーティリティによって行われる。本番システムは、該バックアップ・データ作成時に、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを、上記キューに入れる情報に登録する。本番システムは、該キューに入れる情報を、メッセージ・キューに送信する(ステップ414)。
本番システムは、代行システムの準備が完了したのち、トランザクションの受付を停止する。該停止は、メッセージ・キュー、本番システム及び代行システムを監視するシステムから指示される。トランザクションの送信は、代行システムに切り替えられる(ステップ415)。
代行システムは、ステップ414において作成された、本番システムのバックアップ・データを取得し、該取得したデータを代行システムの記憶部に復元する(ステップ416)。
代行システムは、上記復元が終了した後、メッセージ・キューに接続し、更新データ及びキューに入れる情報の取得を開始する。代行システムは、静止点以降にコミットされた更新データを選択する。代行システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。代行システムは、選択された更新データを取得する。代行システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する(ステップ417)。なお上記取得は、代替的に本番システムが実行してもよい。該取得を本番システムが実行する場合、本番システムが、上記復元が終了した後、メッセージ・キューに接続し、更新データ及びキューに入れる情報の取得を開始する。本番システムは、静止点以降にコミットされた更新データを選択する。本番システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。本番システムは、選択された更新データを取得する。本番システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する。
代行システムは、上記選択して取得した更新データを上記復元したバックアップ・データに反映させる(ステップ418)。
代行システムは、該反映が全て終了することに応じて、受付キューからのトランザクションの受け付けを開始する。代行システムは、トランザクションの処理を開始する。該受け付け及び処理の開始は、メッセージ・キュー、本番システム及び代行システムを監視するシステムから指示される。該トランザクションの結果は、上記選択して取得した更新データが反映済みである復元したバックアップ・データに反映される(ステップ419)。
【0064】
本発明の実施形態の本番システム及び代行システムそれぞれは、CPUとメイン・メモリと含み、これらはバスに接続されている。CPUは好ましくは、32ビット又は64ビットのアーキテクチャに基づくものであり、例えば、インテル社のXeon(商標)シリーズ、Core(商標)シリーズ、Pentium(商標)シリーズ、Celeron(商標)シリーズ、AMD社のPhenom(商標)シリーズ、Athlon(商標)シリーズなどを使用することができる。バスには、ディスプレイ・コントローラを介して、LCDモニタなどのディスプレイが接続される。ディスプレイは、コンピュータ・システムの管理のために、通信回線を介してネットワークに接続されたコンピュータについての情報と、そのコンピュータ上で動作中のソフトウェアについての情報を、適当なグラフィック・インターフェースで表示するために使用される。バスにはまた、IDE又はSATAコントローラを介して、ハードディスク又はシリコン・ディスクと、CD−ROM、DVD又はBlu−rayドライブが接続される。
【0065】
ハードディスクには、オペレーティング・システム、データベース管理ソフト、その他のプログラム及びデータが、メイン・メモリにロード可能に記憶されている。
【0066】
CD−ROM、DVD又はBDドライブは、必要に応じて、CD−ROM、DVD−ROM又はBDからプログラムをハードディスクに追加導入するために使用される。バスには更に、キーボード・マウスコントローラを介して、キーボード及びマウスが接続されている。
【0067】
通信インタフェースは、例えばイーサネット(商標)・プロトコルに従うものであり、通信コントローラを介してバスに接続され、コンピュータ及び通信回線を物理的に接続する役割を担い、コンピュータのオペレーティング・システムの通信機能のTCP/IP通信プロトコルに対して、ネットワーク・インターフェース層を提供する。尚、通信回線は、有線LAN環境、或いは例えばIEEE802.11a/b/g/nなどの無線LAN接続規格に基づく無線LAN環境であってもよい。
【0068】
なお、コンピュータ等のハードウェアを接続するためのネットワーク接続装置として使用できるものとして、上記のネットワーク・スイッチ以外に、これで尽きている訳ではないが、ルータ、ハードウェア管理コンソール等がある。要するに、ネットワーク運用管理用プログラムが導入されているコンピュータからの、所定のコマンドによる問い合わせに対して、それに接続されているコンピュータのIPアドレス、MACアドレスなどの構成情報を返すことができる機能をもつものである。ネットワーク・スイッチ及びルータは、アドレス解決プロトコル(ARP)のための、それに接続されているコンピュータのIPアドレス及び、それに対応するMACアドレスの対のリストを含むARPテーブルを含み、所定のコマンドによる問い合わせに対して、ARPテーブルの内容を返す機能をもつ。ハードウェア管理コンソールは、ARPテーブルよりも更に詳しい、コンピュータの構成情報を返すことができる。
【0069】
以上、実施形態に基づき本発明を説明してきたが、本実施形態に記載されている内容は、本発明の一例であり、当業者なら、本発明の技術的範囲を逸脱することなく、さまざまな変形例に想到できることが明らかであろう。
【図面の簡単な説明】
【0070】
【図1】本発明の実施態様であるシステム構成の例を示す。
【図2】従来の方法である本番システムから代行システムの切り替え、及び本発明の実施態様である本番システムから代行システムの切り替えの概要を示す。
【図3A】本発明の実施態様である、本番システムの運用を示す。
【図3B】本発明の実施態様である、代行システムへの更新データの送信の開始を示す。
【図3C】本発明の実施態様である、本番システムのバックアップ取得を示す。
【図3D】本発明の実施態様である、更新データに関連付けられ且つ静止点を識別可能にする情報を保存するためのログのデータ構造の例を示す。
【図3E】本発明の実施態様である、代行システムでのデータベースの最新状態へのデータ反映の例を示す。
【図3F】本発明の実施態様である、静止点以降にコミットされた更新を選択して反映する例を示す。
【図3G】本発明の実施態様である、代行システムへの切り替えの例を示す。
【図3H】本発明の実施態様である、本番システム停止の例を示す。
【図4A】本発明の実施態様である、代行システムから見た、システムの切り替え処理のフローチャートを示す。
【図4B】本発明の実施態様である、本番システム及び代行システムそれぞれにおける処理のフローチャートを示す。

【特許請求の範囲】
【請求項1】
トランザクションを処理する本番システムのバックアップ・システムである代行システムであって、
本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている前記本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも1の更新データを含む前記データを取得し、該取得したデータを前記代行システムの記憶部にコピーする復元部と、
前記更新データと該更新データのそれぞれに関連付けられ且つ前記静止点を識別可能にする情報とを蓄積するメッセージ・キューから、前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記代行システムの記憶部にコピーするコピー部と、
前記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するトランザクション処理部と
を含む、前記代行システム。
【請求項2】
前記静止点を識別可能にする情報が、前記コミットに関連付けられたタイム・スタンプ又は前記コミットに関連付けられた相対バイト・アドレスである、請求項1に記載の代行システム。
【請求項3】
前記メッセージ・キューに蓄積されるデータが、更新データと該更新データのコミットに関連付けられたタイム・スタンプ又は該更新データのコミットに関連付けられた相対バイト・アドレスとを含む、請求項1に記載の代行システム。
【請求項4】
前記静止点を識別可能にする情報が、ログ・サスペンド・コマンドを実行して取得される、請求項1に記載の代行システム。
【請求項5】
前記トランザクションの取得の開始が、前記受付キューから前記本番システムに送られたトランザクションについての処理が全て終了していることを確認することをさらに含む、請求項1に記載の代行システム。
【請求項6】
前記代行システムの記憶部が、前記代行システムの前記トランザクション処理部で処理されたトランザクションについての少なくとも1の更新データを含むデータをさらに格納する、請求項1に記載の代行システム。
【請求項7】
代行システムのトランザクションについての更新データを格納する該代行システムの記憶部から、静止点直前でトランザクションがコミットされた最後の時点における、代行システムの前記少なくとも1の更新データを含む前記データを前記本番システムに送信する送信部をさらに含む、請求項1に記載の代行システム。
【請求項8】
前記代行システムの前記トランザクション処理部で処理されたトランザクションについての少なくとも1つの更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とを、メッセージ・キューに送信する送信部をさらに含む、請求項6に記載の代行システム。
【請求項9】
トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システムであって、
トランザクションを受け付ける受付キューであって、該受付キューは、該トランザクションを処理する本番システム又は代行システムに接続されうる、前記受付キューを含み、
前記本番システムは、
前記受付キューからトランザクションを受信し、該受信したトランザクションを処理するトランザクション処理部と、
前記本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータを格納する記憶部と、
前記更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とをメッセージ・キューに送信する第1送信部と、
静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも1の更新データを含む前記データを前記代行システムに送信する第2送信部と
を含み、
前記代行システムは、
前記本番システムから送信された前記少なくとも1の更新データを含むデータを取得し、該取得したデータを格納する代行システムの記憶部と、
前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記メッセージ・キューから前記代行システムの記憶部にコピーするコピー部と、
前記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するトランザクション処理部と
を含む、前記本番−代行システム。
【請求項10】
トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとの間でトランザクションの処理を切り替える方法であって、
本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている前記本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも1の更新データを含む前記データを取得し、該取得したデータを該代行システムの記憶部にコピーするステップと、
前記更新データと該更新データのそれぞれに関連付けられ且つ前記静止点を識別可能にする情報とを蓄積するメッセージ・キューから、前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記代行システムの記憶部にコピーするステップと、
前記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するステップと
を含む、前記方法。
【請求項11】
前記代行システムで処理されたトランザクションについての少なくとも1の更新データを前記代行システムの記憶部に格納するステップをさらに含む、請求項10に記載の方法。
【請求項12】
代行システムから本番システムへの切り替え命令に応答して、
前記代行システムで処理されたトランザクションについての少なくとも1の更新データと該更新データのそれぞれに関連付けられ且つ前記静止点を識別可能にする情報とを、前記代行システムに関連付けられたメッセージ・キューに蓄積するステップ
をさらに含む、請求項11に記載の方法。
【請求項13】
前記代行システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも1の更新データを含む前記データを、前記本番システムに送信するステップ
をさらに含む、請求項12に記載の方法。
【請求項14】
前記代行システムに関連付けられたメッセージ・キューから、前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記本番システムに送信するステップ
をさらに含む、請求項13に記載の方法。
【請求項15】
前記選択された更新データの全てを前記本番システムに送信後に、前記代行システムから前記本番システムにトランザクションの処理を切り替えるステップをさらに含む、請求項14に記載の方法。
【請求項16】
トランザクションを処理する本番システムと、該本番システムのバックアップ・システムである代行システムと、トランザクションが処理される本番システム又は代行システムに接続されうる、トランザクションを受け付ける受付キューとを含む本番−代行システムにおいて、前記本番システムと前記代行システムとの間でトランザクションの処理を切り替える方法であって、
前記本番システムが、
前記受付キューからトランザクションを受信し、該受信したトランザクションを処理するステップと、
前記本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータを本番システムの記憶部に格納するステップと、
前記更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とをメッセージ・キューに送信するステップと、
静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも1の更新データを含む前記データを前記代行システムに送信するステップと、
を実行し、
前記代行システムが、
前記本番システムから送信された上記少なくとも1の更新データを含むデータを代行システムの記憶部にコピーするステップと、
前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記メッセージ・キューから前記代行システムの記憶部にコピーするステップと、
前記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するステップと
を実行する、前記方法。
【請求項17】
前記本番システムから前記代行システムへの切り替え命令に応答して、
前記本番システムが、前記静止点を設定するステップをさらに実行する、請求項16に記載の方法。
【請求項18】
前記最後の時点における、前記少なくとも1の更新データを含む前記データを前記代行システムに送信するステップが、前記更新データと該更新データのそれぞれに関連付けられ且つ前記静止点を識別可能にする情報とをメッセージ・キューに送信することが開始されることに応じて実行される、請求項16に記載の方法。
【請求項19】
前記選択された更新データのコピーが終了する前に、
前記受付キューから前記本番システムへのトランザクションの送信を停止するステップをさらに含む、請求項16に記載の方法。
【請求項20】
前記代行システムから前記本番システムへの切り替え命令に応答して、
前記代行システムが、
前記静止点を設定するステップと、
前記代行システムで処理されたトランザクションについての少なくとも1の更新データと該更新データのそれぞれに関連付けられ且つ前記静止点を識別可能にする情報とをメッセージ・キューに送信するステップと、
前記代行システムで処理されたトランザクションについての少なくとも1の更新データを含むデータを前記本番システムに送信するステップであって、前記更新データは、静止点前であってトランザクションがコミットされた最後の時点における更新データである、前記送信するステップと
をさらに実行する、請求項16に記載の方法。
【請求項21】
前記本番システムが、
前記代行システムから送信された上記少なくとも1の更新データを含むデータを前記本番システムの記憶部にコピーするステップと、
前記メッセージ・キューから送信された更新データを前記本番システムの記憶部にコピーするステップと
をさらに実行し、
前記代行システムが、
前記選択された更新データを前記本番システムに送信後に、前記代行システムから前記本番システムにトランザクションの処理を切り替えるステップ
をさらに実行する、請求項20に記載の方法。
【請求項22】
トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システムであって、
トランザクションを受け付ける受付キューであって、該受付キューは、該トランザクションを処理する本番システム又は代行システムに接続されうる、前記受付キューを含み、
前記本番システムは、
前記受付キューからトランザクションを受信し、該受信したトランザクションを処理するトランザクション処理部と、
前記本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータを格納する記憶部と、
前記更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とをメッセージ・キューに送信する第1送信部であって、前記静止点を識別可能にする情報が、前記コミットに関連付けられたタイム・スタンプ若しくは前記コミットに関連付けられた相対バイト・アドレスであり又はログ・サスペンド・コマンドを実行して取得される、前記第1送信部と、
静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも1の更新データを含む前記データを前記代行システムに送信する第2送信部と
を含み、
前記代行システムは、
前記本番システムから送信された前記少なくとも1の更新データを含むデータを取得し、該取得したデータを格納する代行システムの記憶部と、
前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記メッセージ・キューから前記代行システムの記憶部にコピーするコピー部と、
前記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するトランザクション処理部と
を含む、前記本番−代行システム。
【請求項23】
トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとの間でトランザクションの処理を切り替えるコンピュータ・プログラムであって、前記代行システムに、請求項10〜15のいずれか一項に記載の方法の各ステップを実行させる、コンピュータ・プログラム。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図3C】
image rotate

【図3D】
image rotate

【図3E】
image rotate

【図3F】
image rotate

【図3G】
image rotate

【図3H】
image rotate

【図4A】
image rotate

【図4B】
image rotate


【公開番号】特開2010−33398(P2010−33398A)
【公開日】平成22年2月12日(2010.2.12)
【国際特許分類】
【出願番号】特願2008−195777(P2008−195777)
【出願日】平成20年7月30日(2008.7.30)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【復代理人】
【識別番号】100085545
【弁理士】
【氏名又は名称】松井 光夫
【復代理人】
【識別番号】100118599
【弁理士】
【氏名又は名称】村上 博司
【Fターム(参考)】