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

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

Info

Publication number
JP2010033398A
JP2010033398A JP2008195777A JP2008195777A JP2010033398A JP 2010033398 A JP2010033398 A JP 2010033398A JP 2008195777 A JP2008195777 A JP 2008195777A JP 2008195777 A JP2008195777 A JP 2008195777A JP 2010033398 A JP2010033398 A JP 2010033398A
Authority
JP
Japan
Prior art keywords
transaction
update data
production system
data
surrogate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008195777A
Other languages
English (en)
Other versions
JP5467625B2 (ja
Inventor
Noriaki Kono
紀昭 河野
Ritsuko Fusa
律子 房
Masaharu Murozumi
正晴 室住
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2008195777A priority Critical patent/JP5467625B2/ja
Priority to US12/510,322 priority patent/US20100030826A1/en
Publication of JP2010033398A publication Critical patent/JP2010033398A/ja
Application granted granted Critical
Publication of JP5467625B2 publication Critical patent/JP5467625B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2048Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated

Abstract

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

Description

本発明は、トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム、並びに該本番システムと該代行システムとの間でトランザクションの処理を切り替える方法及びそのコンピュータ・プログラムに関する。
24時間365日連続運転するシステムでは、ハードウェア又はソフトウェアの保守作業のために、本番システムを止めて、その代行システムを動かすことが必要になる。例えば金融機関のシステムの代行システムは、本番システムのデータ、例えば口座の残高を引き継ぐ必要がある。しかし、データの整合性をとりつつ本番システムのデータを代行システムにコピーするには、本番システムを停止し、その後に代行システムに切り替える必要がある。そのために、サービスの停止時間が生じてしまう。サービスの停止時間なしに代行システムに切り替える既存の技術としては、代行システムを本番システムと同時に稼動させておき、本番データを代行システムに常に反映させておく方法がある。ただし、この方法では、本番システムのピーク処理能力に合わせて代行システムの処理能力を用意する必要があるので費用がかかる。
下記特許文献1は、レプリケーションに要する時間の短縮に好適なシステム及び方法を記載する。
下記特許文献2は、ファイルバックアップとリモートレプリケーションとを行う機能を統合して、統合ストレージシステムを備えたコンピュータプライマリデータストレージシステムを記載する。
特開2006−268740号公報 特開2005−538470号公報
本番システムに代わって代行システムがトランザクションの処理を行う本番−代行システムにおいて、本番システムの保守作業時に、トランザクションの処理を停止させることなく、本番システムと代行システムを相互に切り替える方法が求められている。
本発明は、トランザクションを処理する本番システムのバックアップ・システムである代行システムを提供する。
該代行システムは、本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている上記本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含む上記データを取得し、該取得したデータを上記代行システムの記憶部にコピーする復元部と、
上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とを蓄積するメッセージ・キューから、上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを上記代行システムの記憶部にコピーするコピー部と、
上記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するトランザクション処理部と
を含む。
本発明の1つの実施態様では、上記静止点を識別可能にする情報が、上記コミットに関連付けられたタイム・スタンプ又は上記コミットに関連付けられた相対バイト・アドレスである。
本発明の1つの実施態様では、上記メッセージ・キューに蓄積されるデータが、更新データと該更新データのコミットに関連付けられたタイム・スタンプ又は該更新データのコミットに関連付けられた相対バイト・アドレスとを含む。
本発明の1つの実施態様では、上記静止点を識別可能にする情報が、ログ・サスペンド・コマンド又はBACKUP SYSTEM UTILITYを実行して取得される。該静止点を識別可能にする情報の取得は例えば、上記コピー部が上記静止点以降にコミットされた更新データを選択する際におこなう。
本発明の1つの実施態様では、上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信することが、静止点よりも早い時点で開始される。
本発明の1つの実施態様では、上記トランザクションの取得の開始が、上記受付キューから上記本番システムに送られたトランザクションについての処理が全て終了していることを確認することをさらに含む。
本発明の1つの実施態様では、上記代行システムの記憶部が、上記代行システムの上記トランザクション処理部で処理されたトランザクションについての少なくとも1つの更新データを含むデータをさらに格納する。
本発明の1つの実施態様では、代行システムのトランザクションについての更新データを格納する該代行システムの記憶部から、静止点直前でトランザクションがコミットされた最後の時点における、上記代行システムの上記少なくとも1の更新データを含む上記データを上記本番システムに送信する送信部をさらに含む。
本発明の1つの実施態様では、上記代行システムの上記トランザクション処理部で処理されたトランザクションについての少なくとも1つの更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とを、メッセージ・キューに送信する送信部をさらに含む。
本発明はまた、トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システムを提供する。該本番−代行システムは、トランザクションを受け付ける受付キューであって、該受付キューは、該トランザクションを処理する本番システム又は代行システムに接続されうる、上記受付キューを含む。
上記本番システムは、
上記受付キューからトランザクションを受信し、該受信したトランザクションを処理するトランザクション処理部と、
上記本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータを格納する記憶部と、
上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信する第1送信部と、
静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含む上記データを上記代行システムに送信する第2送信部と
を含む。
上記代行システムは、
上記本番システムから送信された上記少なくとも1の更新データを含むデータを取得し、該取得したデータを格納する代行システムの記憶部と、
上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを前記メッセージ・キューから上記代行システムの記憶部にコピーするコピー部と、
上記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するトランザクション処理部と
を含む。
本発明の1つの実施態様では、上記静止点を識別可能にする情報が、上記コミットに関連付けられたタイム・スタンプ又は上記コミットに関連付けられた相対バイト・アドレスである。
本発明の1つの実施態様では、上記メッセージ・キューに蓄積されるデータが、更新データと該更新データのコミットに関連付けられたタイム・スタンプ又は該更新データのコミットに関連付けられた相対バイト・アドレスとを含む。
本発明の1つの実施態様では、上記静止点を識別可能にする情報が、ログ・サスペンド・コマンド又はBACKUP SYSTEM UTILITYを実行して取得される。
本発明の1つの実施態様では、上記トランザクションの取得の開始が、上記受付キューから上記本番システムに送られたトランザクションについての処理が全て終了していることを確認することをさらに含む。
本発明の1つの実施態様では、上記代行システムの記憶部が、上記代行システムの上記トランザクション処理部で処理されたトランザクションについての少なくとも1つの更新データを含むデータをさらに格納する。
本発明の1つの実施態様では、代行システムのトランザクションについての更新データを格納する該代行システムの記憶部から、静止点直前でトランザクションがコミットされた最後の時点における、代行システムの上記少なくとも1の更新データを含む上記データを上記本番システムに送信する送信部をさらに含む。
本発明の1つの実施態様では、上記代行システムの上記トランザクション処理部で処理されたトランザクションについての少なくとも1つの更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とを、メッセージ・キューに送信する送信部をさらに含む。
本発明はまた、トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとの間でトランザクションの処理を切り替える方法を提供する。該方法は、代行システムに下記ステップを実行させることを含む。
該方法は、
本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている上記本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含む上記データを取得し、該取得したデータを該代行システムの記憶部にコピーするステップと、
上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とを蓄積するメッセージ・キューから、上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを上記代行システムの記憶部にコピーするステップと、
上記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するステップと
を含む。
本発明の1つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、ログ・サスペンド・コマンド又はBACKUP SYSTEM UTILITYを実行して、上記静止点を識別可能にする情報を取得するステップを含む。本発明の1つの実施態様では、上記静止点を識別可能にする情報が、上記コミットに関連付けられたタイム・スタンプ又は上記コミットに関連付けられた相対バイト・アドレスである。
本発明の1つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、上記代行システムで処理されたトランザクションについての少なくとも1の更新データを上記代行システムの記憶部に格納するステップを含む。
本発明の1つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、
代行システムから本番システムへの切り替え命令に応答して、
上記代行システムで処理されたトランザクションについての少なくとも1の更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とを、上記代行システムに関連付けられたメッセージ・キューに蓄積するステップ
を含む。
本発明の1つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、上記代行システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含む上記データを、上記本番システムに送信するステップを含む。
本発明の1つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、上記代行システムに関連付けられたメッセージ・キューから、上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを上記本番システムに送信するステップを含む。
本発明の1つの実施態様では、上記代行システムに下記ステップをさらに実行させることを含む。該ステップは、上記選択された更新データの全てを上記本番システムに送信後に、上記代行システムから上記本番システムにトランザクションの処理を切り替えるステップを含む。
本発明はまた、トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとの間でトランザクションの処理を切り替えるコンピュータ・プログラムを提供する。該コンピュータ・プログラムは、上記代行システムに、上記のいずれか一に記載の方法の各ステップを実行させる。
本発明はまた、トランザクションを処理する本番システムと、該本番システムのバックアップ・システムである代行システムと、トランザクションが処理される本番システム又は代行システムに接続されうる、トランザクションを受け付ける受付キューとを含む本番−代行システムにおいて、上記本番システムと上記代行システムとの間でトランザクションの処理を切り替える方法を提供する。
該方法は、上記本番システムに下記ステップを実行させる。該ステップは、
上記受付キューからトランザクションを受信し、該受信したトランザクションを処理するステップと、
上記本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータを本番システムの記憶部に格納するステップと、
上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信するステップと、
静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含む上記データを上記代行システムに送信するステップと、
を含む。
該方法はまた、上記代行システムに下記ステップを実行させる。該ステップは、
上記本番システムから送信された上記少なくとも1の更新データを含むデータを代行システムの記憶部に格納するステップと、
上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを上記メッセージ・キューから上記代行システムの記憶部にコピーするステップと、
上記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するステップと
を含む。
本発明の1つの実施態様では、該方法は、上記本番システムに下記ステップをさらに実行させる。該ステップは、上記本番システムから上記代行システムへの切り替え命令に応答して、上記静止点を設定するステップを含む。
本発明の1つの実施態様では、上記最後の時点における、上記少なくとも1の更新データを含む上記データを上記代行システムに送信するステップが、上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信することが開始されることに応じて実行される。
本発明の1つの実施態様では、該方法は、上記受付キューを監視するシステムに下記ステップをさらに実行させる。該ステップは、上記選択された更新データのコピーが終了する前に、上記受付キューから上記本番システムへのトランザクションの送信を停止するステップを含む。
本発明の1つの実施態様では、該方法は、上記代行システムに下記ステップをさらに実行させる。該ステップは、
上記代行システムから上記本番システムへの切り替え命令に応答して、
上記静止点を設定するステップと、
上記代行システムで処理されたトランザクションについての少なくとも1の更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信するステップと、
上記代行システムで処理されたトランザクションについての少なくとも1の更新データを含むデータを上記本番システムに送信するステップであって、上記更新データは、静止点前であってトランザクションがコミットされた最後の時点における更新データである、上記送信するステップと
を含む。
本発明の1つの実施態様では、該方法は、上記本番システムに下記ステップをさらに実行させる。該ステップは、
上記代行システムから送信された上記少なくとも1の更新データを含むデータを上記本番システムの記憶部に格納するステップと、
上記メッセージ・キューから送信された更新データを上記本番システムの記憶部にコピーするステップと
を含む。
本発明の1つの実施態様では、該方法は、上記代行システムに下記ステップをさらに実行させる。該ステップは、
上記選択された更新データを上記本番システムに送信後に、上記代行システムから上記本番システムにトランザクションの処理を切り替えるステップ
を含む。
本発明の実施態様によれば、本番システムから代行システムへの切り替えは、内部的に数秒処理が停止するだけで可能である。システム全体の処理停止は数秒であり、この間もトランザクションの受付は行われるので、エンド・ユーザから見ると無停止の状態でシステムの切り替えができる。
「トランザクション」とは、1以上の複数の関連する処理を1つの処理単位としてまとめたものをいう。トランザクションの例は、エンド・ユーザからの要求、システムから発行されるコマンド命令である。該トランザクションが処理された結果は例えば、システムが管理しているデータに反映される。上記処理は、データの更新処理とトランザクションの確定処理である。データの更新処理は例えば、SQLにおけるupdate(アップデート)、insert(インサート)、delete(デリート)である。トランザクションの確定処理は例えば、SQLにおけるcommit(コミット)である。トランザクションの実行により、該処理が実行される。該処理は、トランザクションごとに「全て成功」或いは「全て失敗」のいずれかになる。全て成功となるためには、上記トランザクションの確定処理が成功する必要がある。例えば、データの更新処理1、データの更新処理2及びトランザクションの確定処理で構成されるトランザクションが実行されたとする。ここで、データの更新処理1は成功したがデータの更新処理2が失敗し、トランザクションの確定処理が実行されずにトランザクションが終了した場合は、データの更新処理1は失敗したとみなされる。従って、データの更新処理1によって更新されたデータは、更新される前のデータに戻される。また、データの更新処理1及びデータの更新処理2は成功したが、トランザクションの確定処理が失敗し、トランザクションの確定処理が実行されずにトランザクションが終了した場合は、データの更新処理1及びデータの更新処理2は失敗したとみなされる。従って、データの更新処理1及びデータの更新処理2によって更新されたデータは、更新される前のデータに戻される。上記例では、データの更新処理1が成功し、データの更新処理2も成功し、トランザクションの確定処理も成功してはじめて、トランザクションに含まれる処理が全て成功したことになり、データの更新処理1、2によるデータ更新が確定される。
「本番システム」とは、トランザクションを処理するシステムをいう。本番システムは、平常時の運用に用いる。
「代行システム」とは、本番システムの代わりにトランザクションを処理するシステムをいう。代行システムが本番システムに代わる例は、本番システムを保守作業のために停止させ、保守作業の間に代行システムを稼働させる場合があるがこれに限定されない。該保守作業は例えば、何時行ってもかまわない。好ましくは、トランザクションの少ない時間帯、すなわちピーク時間帯以外の時間帯に保守を行う。この場合、代行システムは本番システムのピーク時間帯以外の時間帯の処理能力があればよいので、代行システムの費用を低減することが可能である。代行システムは、ユーザ・サービスの質を低下させないために、上記トランザクションの少ない時間帯における本番システムと同様の処理能力を有していることが望ましい。例えば、本番システムが中央演算処理装置(CPU)を5個有し、保守を行いたい時間帯において2個相当の処理能力しか用いていない場合に、代行システムは、CPUを2個有していることが望ましい。この場合、代行システムは、上記トランザクションの少ない時間帯の処理能力があればよいので、代行システムに要する費用を低減できる。
「更新データ」とは、トランザクションが処理される結果として得られるデータをいう。該データは、例えば金融機関のシステムであれば、出金というトランザクションが処理される結果として得られる口座の残高である。
「静止点」とは、バックアップ取得の実行開始前のデータの整合性が保証された時点のことをいう。該バックアップにより得られるバックアップ・データは、静止点の時点でコミット済みのトランザクションによる更新データを含み、静止点の時点でコミットされていないトランザクションによる更新データを含まない。バックアップ・データは、静止点前であってトランザクションがコミットされた最後の時点以降のデータである。静止点は、ログの相対バイト・アドレス又は時間で表される。
静止点は、本番−代行システムによって又は本番−代行システムの管理者によって、ログの相対バイト・アドレス又はマイクロ秒単位の時間で設定されうる。該設定は、例えばバックアップからデータを回復する機能を提供するユーティリティに対して行う。
「メッセージ・キュー」とは、上記更新データと該更新データに関連付けられ且つ静止点を識別可能にする情報とを蓄積するキューのことをいう。キューとは、コンピュータの基本的なデータ構造の一つである。本発明の1つの実施態様として、キューは、データを先入れ先出しのリスト構造で保持する。先入れ先出しのリスト構造では、キューからデータを取り出すときに、データは、先に入れられたデータから順に取り出される。
「更新データに関連付けられ且つ静止点を識別可能にする情報」とは、トランザクションが処理され更新データを得られる過程で得られる情報のうち、静止点を求めるために利用しうる情報をいう。該情報は例えば、コミットに関連付けられたタイム・スタンプ、コミットに関連付けられた相対バイト・アドレスを含む。上記情報は例えば、ログ・サスペンド・コマンド又はBACKUP SYSTEM UTILITYを実行して取得されうる。
本番−代行システムが静止点を自動で設定する場合、上記管理者は、更新データと該更新データに関連付けられ且つ静止点を識別可能にする情報をメッセージ・キューへ送信することを開始する時間をあらかじめ定めておく。上記送信の開始時間の設定は例えば、システムによって表示されるポップアップウインドウに開始時間を管理者が入力することによって行われうる。該自動で設定する静止点は例えば、上記送信の開始時間に、本番−代行システムで設定できる最長のトランザクション処理時間を加えた時間よりも後の時間とする。
上記管理者が静止点を例えばシステムによって表示されるポップアップウインドウに入力することによって設定する場合、本番−代行システムは、更新データ及び上記情報をメッセージ・キューへ送信することを開始する時間を自動で設定しうる。該自動で設定する時間は、例えば、上記静止点から本番−代行システムで設定できる最長のトランザクション処理時間を引いた時間より早い時間である。
上記管理者が、静止点を設定し且つ、上記更新データ及び上記情報をメッセージ・キューへ送信することを開始する時間をも設定する場合、管理者は、該静止点及び該時間を、例えばシステムによって表示されるポップアップウインドウに入力することによって設定しうる。ここで、該静止点及び該時間の間隔は、本番−代行システムで設定できる最長のトランザクション処理時間より大きい間隔である。
「タイム・スタンプ」とは、処理の実行された日時を示す情報をいう。該処理は、例えば更新処理、コミット処理、データベースのバックアップ取得コマンドの実行などの処理であるがこれらに限定されない。タイム・スタンプは、マイクロ秒単位で指定される。バックアップ取得の処理が実行された日時とその他の処理が実行された日時を比べることにより、静止点が識別されうる。
「静止点前」とは、静止点より前にコミットされたトランザクションのうち最後にコミットされたトランザクションがコミットされた時点を指す。
「相対バイト・アドレス」(RBA:Relative Byte Address)とは、システムで実行された処理が格納されているアドレスのことをいう。該アドレスは、1つ前に実行された処理が格納されたアドレスとの関係で表される。該アドレスを辿ることにより、バックアップ取得の処理とその他の処理との実行順が求められるため、静止点が識別されうる。
「ログ・サスペンド・コマンド」とは、ログ書き込みを伴うデータベース処理全てを一旦停止させる命令のことをいう。該ログは例えば、相対バイト・アドレス、タイム・スタンプ、処理の内容と処理の結果、リカバリ情報を含むが、これに限定されない。ログ・サスペンド・コマンドは、コマンド実行時点の相対バイト・アドレス及びタイム・スタンプを確定しこれらの取得を許すので、メッセージ・キューから、静止点以降にコミットされた更新データを選択するために、これらを使用することができる。
「受付キュー」とは、トランザクションを蓄積するキューのことをいう。受付キューは、本番システム及び代行システムとは別のシステム上にある。受付キューは、例えばエンド・ユーザのコンピュータに接続されエンド・ユーザからのトランザクションを蓄積するが、これに限定されない。また、本番システム又は代行システムは、受付キューに接続できる。受付キューに本番システム又は代行システムが接続されることにより、本番システム又は代行システムは受付キューからトランザクションを取得できる。
以下、図面に従って、本発明の実施態様を説明する。本実施態様は、本発明の好適な態様を説明するためのものであり、本発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断らない限り、同一の符号は、同一の対象を指す。
図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)にトランザクションの送信を開始する。
図2は、従来の方法である本番システムから代行システムの切り替え、及び本発明の実施態様である本番システムから代行システムの切り替えの概要を示す。
従来の方法において、本番−代行システムは、本番システムから代行システムへデータベースをコピーしている間及びシステムの切り替えの間、システムの処理を停止する。一方、本発明の実施態様において、本番−代行システムは、上記データベースをコピーする処理に該当する間、システムの処理をほとんど停止させない。システムの処理が停止するのは、システムの切り替えに必要な数秒のみである。よって、本発明の実施態様による方法は、従来の方法に比べて、システムの停止時間が大幅に短縮される。また、本発明の実施態様において、トランザクションの受付キューが設けられ、該受付キューがシステムの処理停止中も受付を行うので、トランザクションの処理は見掛け上停止しない。
図3Aは、本発明の実施態様である、本番システムの運用を示す。
ユーザからのトランザクション(311)は、処理受付キュー(309)に蓄えられる。処理受付キュー(309)は、トランザクション(311)を本番システム(301)に送信する。本番システム(301)は、処理受付キュー(309)からトランザクション(311)を取得する。本番システム(301)は、取得したトランザクション(311)を処理する。本番システム(301)が、該トランザクション(311)についてのコミットを実行することで、該処理が確定する。該処理の結果は、データベース(304)に反映される。なお、代行システム(305)は停止中である。
図3Bは、本発明の実施態様である、代行システムへの更新データの送信の開始を示す。
本番システム(301)は、キューレプリケーションにより、メッセージ・キュー(310)へ更新内容の送信(312)を開始する。ここで、更新内容は、トランザクションについての更新データと上記メッセージ・キュー(310)に入れる情報が記載されたログとを含む。キューレプリケーションは、データベースの更新内容をメッセージ・キューに送信することにより、一方のシステムでのデータベースの更新内容を他のシステムに反映できるユーティリティである。キューレプリケーションは例えば、IBM WebSphere Replication Serverとして製品化されている。管理者は、メッセージ・キューを代行システムに接続させるために、代行システム(305)を立ち上げる。ただし、メッセージ・キュー(310)へ更新内容の送信(312)を開始した時点では、まだ代行システム(305)はキューレプリケーションによる更新内容の反映(図示せず)を開始しない。また、本番システム(301)はまだ運用を停止しない。
図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システム、データベースを復元するユーティリティである。
図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)に対応する確定されたデータである。
図3Eは、本発明の実施態様である、代行システムでのデータベースの最新状態へのデータ反映を示す。
静止点以降にコミットされた更新内容は、メッセージ・キュー(310)に蓄積されている。代行システム(305)は、データベース復元後にメッセージ・キュー(310)から更新内容を取得し、更新内容の反映(314)を開始する。メッセージ・キュー(310)から更新内容の反映(314)をする際に、代行システム(305)は、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを上記キューから取得したログ又はバックアップ・データに付随するデータセットから読み込む。また代行システム(305)は、更新データに関連付けられ且つ静止点を識別可能にする情報を、更新内容に含まれる上記キューから取得したログから読み込む。代行システム(305)は、上記読み込んだ更新データに関連付けられ且つ静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いて、静止点以降にコミットされた更新が反映されるように、更新データを選択し、代行システム(301)で復元されたデータベースに反映する。該反映については後述する。
更新内容の選択は、本番システム(301)が実行しても良い。代行システム(305)に代わって本番システム(301)が更新内容の選択を実行する場合、本番システム(301)は、図3Bの説明において述べた更新データの送信の開始をせず、図3Cの説明において述べた静止点が確定した後、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いて、静止点以降にコミットされた更新が反映されるように、更新データを選択し、代行システム(305)に送信する。代行システム(305)は送信されてきた更新データを全て、代行システム(305)で復元されたデータベースに反映する。
また本番システムでは、運用を継続するとともに、更新内容の送信(312)も続ける。
このように、バックアップ・ユーティリティによる静止点でのバックアップの取得と同期して、キューレプリケーションによる更新内容の反映をすることにより、管理者は、トランザクションの処理を実質的には停止させずに代行システムへの切り替えを実現することができる。
図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)して更新を反映する。上記方法により、代行システムは、整合性のあるデータベースを復元できる。
図3Gは、本発明の実施態様である、代行システムへの切り替えの例を示す。
処理受付キュー(309)は、代行システム(305)側で更新内容の反映(314)が進み、メッセージ・キュー(310)がほぼ空になった段階で、本番システム(301)側へのトランザクション(327)の投入を停止する。処理受付キュー(309)は、本番システム(301)側のトランザクション処理が完了し、更新内容の反映(314)が終わるのを待って、代行システム(305)側へのトランザクション(328)の投入を開始する。上記例において、処理受付キュー(309)は、トランザクション処理の数及びメッセージ・キューに蓄積された更新内容の数を監視する機能を有する。該監視する機能は監視部によって実現され該監視部は、任意のシステムに含まれうる。代行システム(305)への切り替えの間、本番システム(301)及び代行システム(305)は通常数秒間の処理停止となる。該処理停止中は、処理受け付けキュー(309)が、トランザクション(311)をキューイングする。該キューイングにより、ユーザからみて、サービスの中断はない。
図3Hは、本発明の実施態様である、本番システムの停止の例を示す。
管理者は、本番システム(301)を停止し、必要な保守作業を行う。処理受付キュー(309)は、上記キューイングされたトランザクション及び新たに発生したトランザクションを代行システム(305)に送信する。代行システム(305)は、上記キューイングされたトランザクション及び新たに発生したトランザクションを順次処理する。該処理の結果は、データベース(308)に反映される。
なお、該保守作業は例えば、システムにおけるハードウェアの交換、及びソフトウェアのバージョンアップを含む。
管理者は、本番システム(301)のメンテナンス終了後、代行システム(305)から本番システム(301)へシステムを切り戻す必要がある。切り戻しは、上記本番システム(301)から代行システム(305)への切り替え手順を、代行システム(305)から本番システム(301)への切り替え手順に適用することにより、実行できる。
以下は、切り戻しの概略を示す。
1.代行システムは、キューレプリケーションにより、メッセージ・キューへ更新内容の送信を開始する。該更新内容は、更新データと、上記キューに入れる情報とが記載されたログを含む。
2.代行システムは、バックアップ・ユーティリティにより、データベースのバックアップ・データを取得する。代行システムは、該取得時の静止点を、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスとともに上記キューに入れる情報を記載するログに登録する。該登録は、代替的に、データベース管理システム(DBMS)が管理するデータセットに対して行い、これをバックアップ・データに含めてもよい。静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスは、ログ・サスペンド・コマンド又はBACKUP SYSTEM UTILITYを実行することで確定され、代行システムが取得できる。
3.本番システムは、復元ユーティリティを使用して、データベースをバックアップ・データから復元する。本番システムは、メッセージ・キューから上記更新内容の取得を開始する。本番システムは、上記ログもしくはバックアップ・データに付随するデータセットより、データベースのバックアップについての静止点を識別可能にする情報を取得する。本番システムはさらに、上記ログより、上記キューに入れる情報を取得する。本番システムは、データベースのバックアップについての静止点を識別可能にする情報及び上記キューに入れる情報を用いて、静止点以降にコミットされたトランザクションによる更新データを本番システムのデータベースに反映させる。
更新内容の選択は、代行システムが実行してもよい。本番システムに代わって代行システムが更新内容の選択を実行する場合、代行システムは上記1.において更新データの送信の開始をせず、上記2.において静止点が確定した後、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いて、静止点以降にコミットされた更新が反映されるように、更新データを選択し、本番システムに送信する。本番システムは、送信されてきた更新データの全てを、本番システムで復元されたデータベースに反映する。
4.監視部である処理受付キューは、本番システムでのデータベースへの更新データの反映が進み、メッセージ・キューがほぼ空になった段階で、代行システムへのトランザクションの投入を停止する。処理受付キューは、代行システムでのトランザクション処理が完了し、本番システムでのデータベースへの更新データの反映が終わるのを待って、本番システムへのトランザクションの投入を開始する。
図4Aは、本発明の実施態様である、代行システムから見た、システムの切り替え処理のフローチャートを示す。
1.本番システムから代行システムへの切り替え
システムの管理者は、本番システムにおいてメンテナンスを行うために、本番システムから代行システムへの切り替えを行う。システムの管理者は、静止点又は更新データとキューに入れる情報をメッセージ・キューへ送信することを開始する時間のどちらか一方もしくは両方をあらかじめ設定しておく。該設定は、例えばバックアップを取得する機能を提供するユーティリティに対して行う。システムの管理者が、静止点と該時間のどちらか一方のみを設定した場合、代行システムは、まだ設定されていない静止点又は該時間を設定する(ステップ401)。
代行システムは、本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含むデータを取得し、該取得したデータを代行システムの記憶部に復元する。ここで該データは、静止点の時点でバックアップ・ユーティリティを使用して作成されたバックアップ・データである。代行システムは、該取得及び該復元を、復元ユーティリティを使用して行う(ステップ402)。
代行システムは、上記復元が終了した後、メッセージ・キューに接続し、更新データ及びキューに入れる情報の取得を開始する。代行システムは、静止点以降にコミットされた更新データを選択する。代行システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。代行システムは、選択された更新データを取得する。代行システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する。なお、上記更新データの選択は、代替的に本番システムが実行してもよい。該選択を本番システムが行う場合、本番システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。代行システムは、本番システムで選択された更新データを取得する。代行システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する(ステップ403)。
代行システムは、上記選択して取得した更新データを上記復元したバックアップ・データに反映させる(ステップ404)。
代行システムは、該反映が全て終了することに応じて、受付キューからのトランザクション受け付けを開始する。代行システムは、トランザクション処理を開始する。該受け付け及び処理の開始は、メッセージ・キュー、本番システム及び代行システムを監視するシステムから指示される。該トランザクションの結果は、上記選択して取得した更新データが反映済みである復元したバックアップ・データに反映される(ステップ405)。
2.代行システムから本番システムへの切り替え
システムの管理者は、本番システムのメンテナンスの終了後、代行システムから本番システムへの切り替えを行う。システムの管理者は、静止点又は更新データとキューに入れる情報をメッセージ・キューへ送信することを開始する時間のどちらか一方もしくは両方をあらかじめ設定しておく。該設定は、例えばバックアップを取得する機能を提供するユーティリティに対して行う。システムの管理者が、静止点と該時間のどちらか一方のみを設定した場合、代行システムは、まだ設定されていない静止点又は該時間を設定する(ステップ406)。
代行システムは、更新データ及び上記キューに入れる情報の作成を開始する。代行システムは、該更新データ及び該情報を作成の都度メッセージ・キューに送信する(ステップ407)。
代行システムは、代行システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている代行システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含むデータであるバックアップ・データをバックアップ・ユーティリティを使用して作成する。代行システムは、該バックアップ・データを本番システムに送信する。該送信は、本番システムで実行される復元ユーティリティによって行われる。代行システムは、バックアップ・データ作成時に、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを、上記キューに入れる情報に登録する。該キューに入れる情報は、メッセージ・キューに送信される(ステップ408)。
本番システムは、上記復元が終了した後、メッセージ・キューに接続し、更新データ及びキューに入れる情報の取得を開始する。本番システムは、静止点以降にコミットされた更新データを選択する。本番システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。本番システムは、選択された更新データを取得する。本番システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する。なお、上記更新データの選択は、代替的に代行システムが実行してもよい。該選択を代行システムが行う場合、代行システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。本番システムは、代行システムで選択された更新データを取得する。本番システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する(ステップ409)。
代行システムは、本番システムの準備が完了したのち、トランザクションの受付を停止する。該停止は、メッセージ・キュー、本番システム及び代行システムを監視するシステムから指示される。トランザクションの送信は、本番システムに切り替えられる(ステップ410)。
図4Bは、本発明の実施態様である、本番システム及び代行システムそれぞれにおける処理のフローチャートを示す。
システムの管理者は、本番システムにおいてメンテナンスを行うために、本番システムから代行システムへの切り替えを行う。システムの管理者は、静止点又は更新データとキューに入れる情報をメッセージ・キューへ送信することを開始する時間のどちらか一方もしくは両方をあらかじめ設定しておく。システムの管理者が、静止点と該時間のどちらか一方のみを設定した場合において、本番システムは、まだ設定されていない静止点又は該時間を設定する(ステップ411)。
本番システムは、受付キューからトランザクションを受信している。該トランザクションは本番システムで処理され、該処理の結果は、本番システムの記憶部に格納されたデータに反映される(ステップ412)。
本番システムは、更新データ及び上記キューに入れる情報の作成を開始する。本番システムは、該更新データ及び該情報を作成の都度メッセージ・キューに送信する(ステップ413)。
本番システムは、本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含むデータであるバックアップ・データをバックアップ・ユーティリティを使用して作成する。本番システムは、該バックアップ・データを代行システムに送信する。該送信は、代行システムで実行される復元ユーティリティによって行われる。本番システムは、該バックアップ・データ作成時に、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを、上記キューに入れる情報に登録する。本番システムは、該キューに入れる情報を、メッセージ・キューに送信する(ステップ414)。
本番システムは、代行システムの準備が完了したのち、トランザクションの受付を停止する。該停止は、メッセージ・キュー、本番システム及び代行システムを監視するシステムから指示される。トランザクションの送信は、代行システムに切り替えられる(ステップ415)。
代行システムは、ステップ414において作成された、本番システムのバックアップ・データを取得し、該取得したデータを代行システムの記憶部に復元する(ステップ416)。
代行システムは、上記復元が終了した後、メッセージ・キューに接続し、更新データ及びキューに入れる情報の取得を開始する。代行システムは、静止点以降にコミットされた更新データを選択する。代行システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。代行システムは、選択された更新データを取得する。代行システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する(ステップ417)。なお上記取得は、代替的に本番システムが実行してもよい。該取得を本番システムが実行する場合、本番システムが、上記復元が終了した後、メッセージ・キューに接続し、更新データ及びキューに入れる情報の取得を開始する。本番システムは、静止点以降にコミットされた更新データを選択する。本番システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。本番システムは、選択された更新データを取得する。本番システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する。
代行システムは、上記選択して取得した更新データを上記復元したバックアップ・データに反映させる(ステップ418)。
代行システムは、該反映が全て終了することに応じて、受付キューからのトランザクションの受け付けを開始する。代行システムは、トランザクションの処理を開始する。該受け付け及び処理の開始は、メッセージ・キュー、本番システム及び代行システムを監視するシステムから指示される。該トランザクションの結果は、上記選択して取得した更新データが反映済みである復元したバックアップ・データに反映される(ステップ419)。
本発明の実施形態の本番システム及び代行システムそれぞれは、CPUとメイン・メモリと含み、これらはバスに接続されている。CPUは好ましくは、32ビット又は64ビットのアーキテクチャに基づくものであり、例えば、インテル社のXeon(商標)シリーズ、Core(商標)シリーズ、Pentium(商標)シリーズ、Celeron(商標)シリーズ、AMD社のPhenom(商標)シリーズ、Athlon(商標)シリーズなどを使用することができる。バスには、ディスプレイ・コントローラを介して、LCDモニタなどのディスプレイが接続される。ディスプレイは、コンピュータ・システムの管理のために、通信回線を介してネットワークに接続されたコンピュータについての情報と、そのコンピュータ上で動作中のソフトウェアについての情報を、適当なグラフィック・インターフェースで表示するために使用される。バスにはまた、IDE又はSATAコントローラを介して、ハードディスク又はシリコン・ディスクと、CD−ROM、DVD又はBlu−rayドライブが接続される。
ハードディスクには、オペレーティング・システム、データベース管理ソフト、その他のプログラム及びデータが、メイン・メモリにロード可能に記憶されている。
CD−ROM、DVD又はBDドライブは、必要に応じて、CD−ROM、DVD−ROM又はBDからプログラムをハードディスクに追加導入するために使用される。バスには更に、キーボード・マウスコントローラを介して、キーボード及びマウスが接続されている。
通信インタフェースは、例えばイーサネット(商標)・プロトコルに従うものであり、通信コントローラを介してバスに接続され、コンピュータ及び通信回線を物理的に接続する役割を担い、コンピュータのオペレーティング・システムの通信機能のTCP/IP通信プロトコルに対して、ネットワーク・インターフェース層を提供する。尚、通信回線は、有線LAN環境、或いは例えばIEEE802.11a/b/g/nなどの無線LAN接続規格に基づく無線LAN環境であってもよい。
なお、コンピュータ等のハードウェアを接続するためのネットワーク接続装置として使用できるものとして、上記のネットワーク・スイッチ以外に、これで尽きている訳ではないが、ルータ、ハードウェア管理コンソール等がある。要するに、ネットワーク運用管理用プログラムが導入されているコンピュータからの、所定のコマンドによる問い合わせに対して、それに接続されているコンピュータのIPアドレス、MACアドレスなどの構成情報を返すことができる機能をもつものである。ネットワーク・スイッチ及びルータは、アドレス解決プロトコル(ARP)のための、それに接続されているコンピュータのIPアドレス及び、それに対応するMACアドレスの対のリストを含むARPテーブルを含み、所定のコマンドによる問い合わせに対して、ARPテーブルの内容を返す機能をもつ。ハードウェア管理コンソールは、ARPテーブルよりも更に詳しい、コンピュータの構成情報を返すことができる。
以上、実施形態に基づき本発明を説明してきたが、本実施形態に記載されている内容は、本発明の一例であり、当業者なら、本発明の技術的範囲を逸脱することなく、さまざまな変形例に想到できることが明らかであろう。
本発明の実施態様であるシステム構成の例を示す。 従来の方法である本番システムから代行システムの切り替え、及び本発明の実施態様である本番システムから代行システムの切り替えの概要を示す。 本発明の実施態様である、本番システムの運用を示す。 本発明の実施態様である、代行システムへの更新データの送信の開始を示す。 本発明の実施態様である、本番システムのバックアップ取得を示す。 本発明の実施態様である、更新データに関連付けられ且つ静止点を識別可能にする情報を保存するためのログのデータ構造の例を示す。 本発明の実施態様である、代行システムでのデータベースの最新状態へのデータ反映の例を示す。 本発明の実施態様である、静止点以降にコミットされた更新を選択して反映する例を示す。 本発明の実施態様である、代行システムへの切り替えの例を示す。 本発明の実施態様である、本番システム停止の例を示す。 本発明の実施態様である、代行システムから見た、システムの切り替え処理のフローチャートを示す。 本発明の実施態様である、本番システム及び代行システムそれぞれにおける処理のフローチャートを示す。

Claims (23)

  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のいずれか一項に記載の方法の各ステップを実行させる、コンピュータ・プログラム。
JP2008195777A 2008-07-30 2008-07-30 トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム Expired - Fee Related JP5467625B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008195777A JP5467625B2 (ja) 2008-07-30 2008-07-30 トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム
US12/510,322 US20100030826A1 (en) 2008-07-30 2009-07-28 Production-alternate system including production system for processing transactions and alternate system as a backup system of the production system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008195777A JP5467625B2 (ja) 2008-07-30 2008-07-30 トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム

Publications (2)

Publication Number Publication Date
JP2010033398A true JP2010033398A (ja) 2010-02-12
JP5467625B2 JP5467625B2 (ja) 2014-04-09

Family

ID=41609414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008195777A Expired - Fee Related JP5467625B2 (ja) 2008-07-30 2008-07-30 トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム

Country Status (2)

Country Link
US (1) US20100030826A1 (ja)
JP (1) JP5467625B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015191451A (ja) * 2014-03-28 2015-11-02 富士通株式会社 情報処理装置、制御方法および制御プログラム

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8584145B1 (en) 2010-08-06 2013-11-12 Open Invention Network, Llc System and method for dynamic transparent consistent application-replication of multi-process multi-threaded applications
US9043640B1 (en) * 2005-08-26 2015-05-26 Open Invention Network, LLP System and method for event-driven live migration of multi-process applications
US8621275B1 (en) 2010-08-06 2013-12-31 Open Invention Network, Llc System and method for event-driven live migration of multi-process applications
US8286030B1 (en) 2009-02-09 2012-10-09 American Megatrends, Inc. Information lifecycle management assisted asynchronous replication
JP5537181B2 (ja) * 2010-02-17 2014-07-02 株式会社日立製作所 メッセージシステム
JP5460486B2 (ja) * 2010-06-23 2014-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション データをソートする装置及び方法
US10296517B1 (en) * 2011-06-30 2019-05-21 EMC IP Holding Company LLC Taking a back-up software agnostic consistent backup during asynchronous replication
US11392557B1 (en) * 2012-10-15 2022-07-19 Google Llc Efficient data backup in a distributed storage system
US11762849B2 (en) * 2013-01-14 2023-09-19 Mastercard International Incorporated Systems and methods for managing offline database access
CN104601448B (zh) * 2015-01-12 2017-11-28 腾讯科技(深圳)有限公司 一种对虚拟卡片进行处理的方法和装置
CN109871360A (zh) * 2018-12-28 2019-06-11 宁波瓜瓜农业科技有限公司 生产系统的监控方法和监控系统
US11922026B2 (en) 2022-02-16 2024-03-05 T-Mobile Usa, Inc. Preventing data loss in a filesystem by creating duplicates of data in parallel, such as charging data in a wireless telecommunications network

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101044A (ja) * 1999-09-29 2001-04-13 Toshiba Corp トランザクショナルファイル管理方法、トランザクショナルファイルシステム及び複合トランザクショナルファイルシステム
JP2001337844A (ja) * 2000-05-26 2001-12-07 Nec Software Chubu Ltd 無停止オンラインサービスのシステム、方法、及び記録媒体
JP2001350736A (ja) * 2000-06-08 2001-12-21 Hitachi Ltd オンライン処理方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2005055995A (ja) * 2003-08-07 2005-03-03 Hitachi Ltd ストレージ制御方法、および、冗長化機能を有するサーバシステム
JP2005222110A (ja) * 2004-02-03 2005-08-18 Hitachi Ltd ストレージサブシステム
JP2005538470A (ja) * 2002-09-10 2005-12-15 イグザグリッド システムズ, インコーポレイテッド ノーダルフェイルオーバを用いるプライマリーデータバックアップおよびリモートデータバックアップ
JP2006189964A (ja) * 2004-12-28 2006-07-20 Hitachi Ltd メッセージ配布方法、待機系ノード装置およびプログラム
JP2006268740A (ja) * 2005-03-25 2006-10-05 Nec Corp レプリケーションシステムと方法
JP2007501468A (ja) * 2003-08-06 2007-01-25 オラクル・インターナショナル・コーポレイション 効率的なバージョン制御を有するデータベース管理システム
JP2007241325A (ja) * 2004-12-21 2007-09-20 Nippon Telegr & Teleph Corp <Ntt> 多重化データベースシステム及びその同期化方法、仲介装置、仲介プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870537A (en) * 1996-03-13 1999-02-09 International Business Machines Corporation Concurrent switch to shadowed device for storage controller and device errors
US6714980B1 (en) * 2000-02-11 2004-03-30 Terraspring, Inc. Backup and restore of data associated with a host in a dynamically changing virtual server farm without involvement of a server that uses an associated storage device
US6856993B1 (en) * 2000-03-30 2005-02-15 Microsoft Corporation Transactional file system
US6934725B1 (en) * 2001-12-28 2005-08-23 Emc Corporation Management of file extent mapping to hasten mirror breaking in file level mirrored backups
US6957221B1 (en) * 2002-09-05 2005-10-18 Unisys Corporation Method for capturing a physically consistent mirrored snapshot of an online database from a remote database backup system
US7774565B2 (en) * 2005-12-21 2010-08-10 Emc Israel Development Center, Ltd. Methods and apparatus for point in time data access and recovery
US8099387B2 (en) * 2008-06-02 2012-01-17 International Business Machines Corporation Managing consistency groups using heterogeneous replication engines

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101044A (ja) * 1999-09-29 2001-04-13 Toshiba Corp トランザクショナルファイル管理方法、トランザクショナルファイルシステム及び複合トランザクショナルファイルシステム
JP2001337844A (ja) * 2000-05-26 2001-12-07 Nec Software Chubu Ltd 無停止オンラインサービスのシステム、方法、及び記録媒体
JP2001350736A (ja) * 2000-06-08 2001-12-21 Hitachi Ltd オンライン処理方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2005538470A (ja) * 2002-09-10 2005-12-15 イグザグリッド システムズ, インコーポレイテッド ノーダルフェイルオーバを用いるプライマリーデータバックアップおよびリモートデータバックアップ
JP2007501468A (ja) * 2003-08-06 2007-01-25 オラクル・インターナショナル・コーポレイション 効率的なバージョン制御を有するデータベース管理システム
JP2005055995A (ja) * 2003-08-07 2005-03-03 Hitachi Ltd ストレージ制御方法、および、冗長化機能を有するサーバシステム
JP2005222110A (ja) * 2004-02-03 2005-08-18 Hitachi Ltd ストレージサブシステム
JP2007241325A (ja) * 2004-12-21 2007-09-20 Nippon Telegr & Teleph Corp <Ntt> 多重化データベースシステム及びその同期化方法、仲介装置、仲介プログラム
JP2006189964A (ja) * 2004-12-28 2006-07-20 Hitachi Ltd メッセージ配布方法、待機系ノード装置およびプログラム
JP2006268740A (ja) * 2005-03-25 2006-10-05 Nec Corp レプリケーションシステムと方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015191451A (ja) * 2014-03-28 2015-11-02 富士通株式会社 情報処理装置、制御方法および制御プログラム
US9715522B2 (en) 2014-03-28 2017-07-25 Fujitsu Limited Information processing apparatus and control method

Also Published As

Publication number Publication date
US20100030826A1 (en) 2010-02-04
JP5467625B2 (ja) 2014-04-09

Similar Documents

Publication Publication Date Title
JP5467625B2 (ja) トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム
JP4283576B2 (ja) トランザクション同期方法、データベースシステム及びデータベース装置
JP4301849B2 (ja) 情報処理方法及びその実施システム並びにその処理プログラム並びにディザスタリカバリ方法およびシステム並びにその処理を実施する記憶装置およびその制御処理方法
US7293194B2 (en) Method and device for switching database access part from for-standby to currently in use
JP4291060B2 (ja) トランザクション処理方法,トランザクション制御装置およびトランザクション制御プログラム
KR101662212B1 (ko) 부분동기화 지원 데이터베이스 관리 시스템 및 데이터베이스 관리 시스템에서 부분동기화 방법
US9251008B2 (en) Client object replication between a first backup server and a second backup server
JP4224126B1 (ja) データベース管理サーバ装置、データベース管理システム、データベース管理方法およびデータベース管理プログラム
JP6220851B2 (ja) 2フェーズコミットコールの厳密な順序付けに基づいたトランザクションリカバリをサポートするためのシステムおよび方法
US7954003B2 (en) Fault management system in multistage copy configuration
JP5724735B2 (ja) データベース更新制御装置、データベース管理システムおよびデータベース更新制御プログラム
US10095444B1 (en) Tape emulation alternate data path
JP2014532932A (ja) 非同期複製システムにおける災害復旧中のメッセージ調整のための方法、システム、およびコンピュータ・プログラム
US20120278429A1 (en) Cluster system, synchronization controlling method, server, and synchronization controlling program
JP4289056B2 (ja) 計算機システム間のデータ二重化制御方法
US8601209B1 (en) Maintaining dasd and tape continuous availability
JP4870190B2 (ja) データ処理方法、計算機、及びデータ処理プログラム
JP2006338145A (ja) 多重化データベースシステム及びその同期化方法、仲介装置、仲介プログラム
JP2007058506A (ja) 文書管理サーバ、文書管理システム、及び、文書管理プログラムとその記録媒体
US8942073B1 (en) Maintaining tape emulation consistency
JP2009217587A (ja) バッチ処理装置及び方法
JP5480046B2 (ja) 分散トランザクション処理システム、装置、方法およびプログラム
JP4804653B2 (ja) 処理要求復旧システム
US9026849B2 (en) System and method for providing reliable storage
US20080002743A1 (en) System and method for synchronizing in-memory caches while being updated by a high rate data stream

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130515

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20131209

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140108

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20140108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees