JP2014532932A - 非同期複製システムにおける災害復旧中のメッセージ調整のための方法、システム、およびコンピュータ・プログラム - Google Patents

非同期複製システムにおける災害復旧中のメッセージ調整のための方法、システム、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP2014532932A
JP2014532932A JP2014539437A JP2014539437A JP2014532932A JP 2014532932 A JP2014532932 A JP 2014532932A JP 2014539437 A JP2014539437 A JP 2014539437A JP 2014539437 A JP2014539437 A JP 2014539437A JP 2014532932 A JP2014532932 A JP 2014532932A
Authority
JP
Japan
Prior art keywords
message
data center
request
history
transaction history
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.)
Pending
Application number
JP2014539437A
Other languages
English (en)
Inventor
ガルザ、ホセ、エミール
ホブソン、スティーヴン、ジェームス
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
Publication of JP2014532932A publication Critical patent/JP2014532932A/ja
Pending legal-status Critical Current

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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
    • 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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • 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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • 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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/855Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】非同期複製システムにおける災害復旧中のメッセージ調整のための方法およびシステムを提供すること。【解決手段】本方法は、メッセージ要求の送信先である主要データ・センタからリモートにあるゲートウェイにおいてメッセージ要求をインターセプトすること、メッセージ要求のコピーを主要データ・センタからリモートに要求メッセージ履歴に記憶すること、メッセージ要求を主要データ・センタに転送することを含む。本方法はさらに、主要データ・センタにおいてメッセージ要求のトランザクション履歴を記憶することであって、トランザクション履歴が主要データ・センタからの他のデータと共に災害復旧サイトにミラーリングされる、記憶すること、および、主要データ・センタに障害が発生したと決定するのに応答して、要求メッセージ履歴中のメッセージを、災害復旧サイトから取り出されたトランザクション履歴中のメッセージと比較することを含む。【選択図】図3

Description

本発明は、災害復旧中のメッセージ調整(message reconciliation)の分野に関する。特に、本発明は、災害復旧中の手動メッセージ調整を単純化することに関する。
完全なデータ・センタ損失をもたらす大きな混乱は、会社の事業運営能力に深刻な影響を与える可能性がある。多くの会社は、代替データ・センタ(通常は災害復旧(DR)サイトと呼ばれる)を保持することにより、そのようなリスクから自衛している。
主要サイトとDRサイトとの間の距離が100マイル(160.9344km)以上になることは珍しくない。これは、主要サイトを不能にする大規模な混乱の影響をDRサイトが受けないことを確実にするためである。
主要データ・センタに障害が発生した場合、DRサイトがオンラインになり、主要サイトに取って代わる。これが機能するためには、DRサイトは、ビジネス・データの最新コピーへのアクセスを有さなければならない。したがって、主要データ・センタが稼働するのに伴い、データがリモート・サイトに送られなければならない。
過去においてこれは、1日または1週間に1回の間隔で、データのコピーを磁気テープにとり、このテープをDRサイトに物理的に持っていくことによって行われた。今日、最新式のディスクは、リモート・サイトへの更新があればそれを自動的に伝搬(ミラーリング)し、したがって、DRサイトにおけるビジネス・データは、任意の程度まで最新のものにすることが可能である。アプリケーションがディスクに書き込むのに伴い、ディスク・コントローラが、更新をDRサイトのミラー・ディスクに自動的に伝搬する。
この伝搬を行うための方法として、以下の2つがある。
− 同期:主要サイト上での各書込み動作は、データがDRサイトにうまく書き込まれるまでは完了(書込み主体であるアプリケーションから見て)しない。
− 非同期:書込み動作は、データがローカルに書き込まれたときに完了する。データは後で伝搬される。
同期ミラーリングは、リモート・サイトは常に最新だが、アプリケーションに対するディスク応答時間が非常に長く、通常は平均25ミリ秒である(これは非常に遅く、1980年代初頭の応答時間と同様である)という問題を有する。トランザクション・レートが非常に低いときしか、設備はこのオプションを使用できる余裕がない。
非同期複製は、最新式のディスク上での通常の応答時間が1ミリ秒未満となるので、性能問題を引き起こすことはない。したがって、高トランザクション・ボリュームが可能である。しかし、データが非同期転送されるとき、DRサイトは、主要サイトに遅れをとることがある。これは、主要サイトに障害が発生したときに問題を生む。というのは、データが最新であると信頼できないからである。未送信のどんなデータも、実質上は失われる。例えば、システムが1秒当たり300個のトランザクションを処理している間にシステムに障害が発生した場合に、DRサイトが最低10秒分のトランザクション・データを失うということを、顧客が報告したとする。このことは、少なくとも3000個のトランザクションを主に手作業で調べて再処理しなければならないことを意味する。このプロセスは通常、「手動調整(manual reconciliation)」と呼ばれる。
手動調整は、難しいことで有名である。動作がDRサイトに切り替わったとき、どれくらいのデータが欠けているかを知るのは不可能である。一般に、これを知るには、機能停止時にどのトランザクションがサブミットされたかを検証するために、各ユーザに接触して尋ねる必要がある。次いでユーザは、自分のローカル・トランザクション・ログを調べ、それらをDRサイト中のデータと比較して、どのトランザクションが再サブミットされる必要があるか識別しなければならない。言い換えれば、この問題は、3000個(例えば)のトランザクションを再サブミットする必要があるということだけでなく、これらのトランザクションがどれであるかがわからないということでもある。多くの場合、いずれかの欠けているトランザクションを識別して解決するまでは、サービスの再開は不可能である。この結果、サービスが何時間も停止する。
非同期複製は、良い性能をもたらすが、リモート・サイトのデータが信頼性のない/古いものになる。同期複製は、データ保全性の問題に対処するが、システムが非常に遅くなり、許容できる解決法であることはめったにない。
したがって、前述の問題に対処することが、当技術分野で必要とされている。
本発明の第1の態様によれば、非同期複製システムにおける災害復旧中のメッセージ調整のための方法が提供される。本方法は、メッセージ要求の送信先である主要データ・センタからリモートにあるゲートウェイにおいてメッセージ要求をインターセプトすること、メッセージ要求のコピーを主要データ・センタからリモートに要求メッセージ履歴に記憶すること、メッセージ要求を主要データ・センタに転送すること、主要データ・センタにおいてメッセージ要求のトランザクション履歴を記憶することであって、トランザクション履歴が主要データ・センタからの他のデータと共に災害復旧サイトにミラーリングされる、記憶すること、および、主要データ・センタに障害が発生したと決定するのに応答して、要求メッセージ履歴中のメッセージを、災害復旧サイトから取り出されたトランザクション履歴中のメッセージと比較することを含む。
本発明の第2の態様によれば、非同期複製システムにおける災害復旧中のメッセージ調整のためのシステムが提供される。本システムは、プロセッサと、メッセージ要求をインターセプトするためのゲートウェイ・コンポーネントであって、メッセージ要求の送信先である主要データ・センタからリモートにあるゲートウェイ・コンポーネントと、メッセージ要求のコピーを主要データ・センタからリモートに要求メッセージ履歴に記憶するためのゲートウェイ記憶デバイスと、メッセージ要求を主要データ・センタに転送するためのメッセージ転送コンポーネントと、主要データ・センタにおいてメッセージ要求のトランザクション履歴を記憶するための、主要データ・センタにおけるトランザクション履歴コンポーネントであって、トランザクション履歴が主要データ・センタからの他のデータと共に災害復旧サイトにミラーリングされる、トランザクション履歴コンポーネントと、主要データ・センタに障害が発生したと決定するのに応答して、要求メッセージ履歴中のメッセージを、災害復旧サイトから取り出されたトランザクション履歴中のメッセージと比較するための調整コンポーネント(reconciliation component)とを備える。
本発明の第3の態様によれば、コンピュータ可読媒体に記憶され、ディジタル・コンピュータの内蔵メモリにロード可能なコンピュータ・プログラムが提供される。本コンピュータ・プログラムは、前記プログラムがコンピュータ上で実行されたときに本発明の第1の態様の方法を実施するためのソフトウェア・コード部分を備える。
さらなる態様から見ると、本発明は、非同期複製システムにおける災害復旧中のメッセージ調整のためのコンピュータ・プログラム製品を提供する。本コンピュータ・プログラム製品は、処理回路によって読取可能なコンピュータ可読記憶媒体であって、本発明のステップを実施する方法を実施するために処理回路によって実行される命令を記憶した、コンピュータ可読記憶媒体を備える。
次に、以下の図に示す好ましい実施形態を参照して、単なる例として本発明について述べる。
本発明によるシステムの一実施形態のブロック図である。 本発明をその中で実施できるコンピュータ・システムのブロック図である。 本発明による方法の態様の実施形態の流れ図である。 本発明による方法の態様の実施形態の流れ図である。 本発明による方法の態様の実施形態の流れ図である。
図に示す要素は、説明を簡単かつ明確にするために、必ずしも正確な縮尺で描かれていないことは理解されるであろう。例えば、いくつかの要素の寸法は、明確にするために他の要素に対して相対的に誇張されていることがある。さらに、適切と考えられる場合には、対応するまたは類似する特徴を示すために、各図の間で参照番号が繰り返されることもある。
以下の詳細な記述では、本発明の完全な理解を提供するために、多くの具体的な詳細を示す。しかし、これらの具体的な詳細がなくても本発明を実践できることは、当業者には理解されるであろう。他の場合では、本発明を曖昧にしないために、周知の方法、手順、およびコンポーネントについては詳細に述べていない。
非同期複製を用いるときに手動調整の労力を単純化する方法およびシステムについて述べる。述べる解決法は、災害復旧中に必要な手動調整の量を最小限にする助けとなる。この解決法は、要求メッセージが受信され、データベースが更新され、任意選択で返信が送信されるといった、メッセージ駆動型の作業に適用される。
図1を参照すると、ブロック図が、述べるシステム100の一実施形態を示す。
主要データ・センタ110が設けられるが、この主要データ・センタ110は、要求元アプリケーション101から要求メッセージを受信して、主要データ・センタ110における消費アプリケーション111のデータ(例えばデータベース・テーブル、キューなど)を更新する。要求メッセージに応答して、主要データ・センタ110の主要記憶デバイス120が更新されてよく、任意選択で、返信が要求元アプリケーション101に送信されてよい。
災害復旧(DR)データ・センタ130が、主要データ・センタ110からリモートに災害復旧サイトに設けられる。災害復旧データ・センタ130は災害復旧記憶デバイス140を有し、この災害復旧記憶デバイス140は、主要データ・センタ記憶デバイス120のミラー・ディスクを有する。
主要記憶デバイス120への書込みの非同期伝搬が、災害復旧記憶デバイス140に対して行われる。
述べるシステムにはゲートウェイ・コンポーネント150が設けられるが、要求元アプリケーション101からのメッセージは、主要データ・センタ110における消費アプリケーション111に直接送信されるのではなく、このゲートウェイ・コンポーネント150に送信される。ゲートウェイ・コンポーネント150は、主要データ・センタ110とは別個のデータ・センタ中で稼働する。ゲートウェイ・コンポーネント150は、主要データ・センタ110を不能にする大規模な混乱の影響を受けない場所に、主要データ・センタ110から離れて位置する。一実施形態では、ゲートウェイ・コンポーネント150は、災害復旧サイトに位置してもよい。
ゲートウェイ・コンポーネント150は、メッセージ転送コンポーネント151を備えてよい。ゲートウェイ・コンポーネント150のメッセージ転送コンポーネント151に要求メッセージが到着すると、メッセージのコピーが、ゲートウェイ記憶デバイス160の永続記憶域で要求メッセージ履歴161に保存され(例えばデータベース・テーブル、メッセージ・キュー、またはファイルとして)、その後、メッセージは、主要データ・センタ110で実行されている、メッセージの消費アプリケーション111に転送される。
主要データ・センタ110における消費アプリケーション111は、ゲートウェイ・コンポーネント150のメッセージ転送コンポーネント151を介して要求元アプリケーション101からメッセージ要求を受信するための要求受信コンポーネント112を備えてよい。消費アプリケーション111は、メッセージ要求に応答して主要記憶デバイス120中のデータ121を更新するための更新データ・コンポーネント114を備えるかまたはそれと通信してよい。消費アプリケーション111はまた、トランザクション履歴122(例えばデータベース・テーブルの形の)を更新するためのトランザクション履歴コンポーネント113を備えるかまたはそれと通信してよく、トランザクション履歴122は、主要データ・センタ110によって処理された各メッセージの状況を常に把握している。このトランザクション履歴122は、トランザクショナルに更新されてよく、ミラーリング・メカニズムの一部として災害復旧サイトに伝搬される。
消費アプリケーション111はまた、要求元アプリケーション101に返信する(ゲートウェイ・コンポーネント150のメッセージ転送コンポーネント151を介して行うことができる)ための返信コンポーネント115と、消費アプリケーション111がトランザクションをコミットするためのコミット・コンポーネント116とを備えてよい。
ゲートウェイ・コンポーネント150はまた、主要データ・センタ110に障害が発生したときに調整機能(reconciliation functionality)を提供する調整コンポーネント152を備えてよい。DRデータ・センタ130にはDR調整コンポーネント131が設けられてよく、このDR調整コンポーネント131は、DR記憶デバイス140に記憶されたトランザクション履歴142からの情報を提供する。この情報は、調整コンポーネント152の比較コンポーネント153によって、要求メッセージ履歴161と比較することができる。
ゲートウェイ・コンポーネント150はまた、失効したデータを要求メッセージ履歴161から一掃するためのハウスキーピング・コンポーネント154を備えてよい。
図2を参照すると、本発明の態様を実現するための例示的なシステムは、プログラム・コードの記憶または実行あるいはその両方を行うのに適したデータ処理システム200を含む。データ処理システム200は、システム・バス203を介してメモリ要素に直接または間接的に結合された少なくとも1つのプロセッサ201を備える。メモリ要素は、プログラム・コードの実際の実行中に利用されるローカル・メモリ、バルク記憶装置、およびキャッシュ・メモリを含んでよい。キャッシュ・メモリは、実行中にコードがバルク記憶装置から取り出されなければならない回数を低減するために、少なくともいくらかのプログラム・コードの一時的な記憶域を提供する。
メモリ要素は、読取専用メモリ(ROM)204およびランダム・アクセス・メモリ(RAM)205の形で、システム・メモリ202を含んでよい。ROM204には、BIOS(basic input/output system)206が記憶されてよい。RAM205には、オペレーティング・システム・ソフトウェア208を含めたシステム・ソフトウェア207が記憶されてよい。RAM205にはまた、ソフトウェア・アプリケーション210も記憶されてよい。
システム200はまた、磁気ハード・ディスク・ドライブなどの1次記憶手段211と、磁気ディスク・ドライブや光ディスク・ドライブなどの2次記憶手段212とを備えてよい。ドライブおよびそれらに関連するコンピュータ可読媒体は、コンピュータ実行可能命令、データ構造、プログラム・モジュール、および他のデータの不揮発性記憶域を、システム200に提供する。ソフトウェア・アプリケーションを、1次および2次記憶手段211、212、ならびにシステム・メモリ202に記憶することができる。
コンピューティング・システム200は、ネットワーク・アダプタ216を介した1つまたは複数のリモート・コンピュータへの論理接続を使用して、ネットワーク化された環境で動作することができる。
入出力デバイス213が、直接に、または介在I/Oコントローラを介して、システムに結合されてよい。ユーザは、キーボードやポインティング・デバイスなどの入力デバイス、または他の入力デバイス(例えばマイクロホン、ジョイ・スティック、ゲーム・パッド、衛星受信アンテナ、スキャナなど)を介して、コマンドおよび情報をシステム200に入力することができる。出力デバイスは、スピーカ、プリンタなどを含んでよい。表示デバイス214もまた、ビデオ・アダプタ215などのインタフェースを介してシステム・バス203に接続される。
図3を参照すると、流れ図300が、述べる方法の一態様の一実施形態を示す。要求元アプリケーションが、主要データ・センタにおける消費アプリケーションに要求メッセージを送信することができる(301)。要求メッセージは、主要データ・センタからリモートにあるゲートウェイ・コンポーネントにおいてインターセプトすることができる(302)。メッセージ要求のコピーを、やはり主要データ・センタからリモートに保持される要求メッセージ履歴データベースまたはリストに保存することができる(303)。要求メッセージ履歴は、要求の時間記録を含んでよい。次いでメッセージ要求は、主要データ・センタにおける消費アプリケーションに転送することができる(304)。
任意選択で、要求メッセージ履歴データベース中のメッセージは、事前定義済みの古さよりも古くなったときに除去されてよい。
図4を参照すると、流れ図400が、述べる方法の一態様の一実施形態を示す。主要データ・センタにおいて、転送された要求メッセージをゲートウェイ・コンポーネントから受信することができる(401)。要求メッセージを処理することができ(402)、主要データ・センタの主要記憶デバイス中のデータに対して更新を行うことができる。主要データ・センタにおけるトランザクション履歴データベースまたはリストを、トランザクショナルに更新することができる(403)。トランザクション履歴を、主要記憶デバイスからの他のデータと共に、ミラーリング・メカニズムの一部として災害復旧サイトに送信することができる。
図5を参照すると、流れ図が、述べる方法の一態様の一実施形態を示す。主要データ・センタに障害が発生したとき(501)、ゲートウェイ・コンポーネントに通知されてよく(502)、ゲートウェイ・コンポーネントは調整モードに入ることができる。
その後ゲートウェイ・コンポーネントに到着する要求メッセージは、保持することができ(503)、主要データ・センタにおける消費アプリケーションに転送しなくてよい。別法として、ゲートウェイ・コンポーネントは単に、調整モード(reconciliation mode)の終了まで要求メッセージを拒否することもできる(503)。
ゲートウェイ・コンポーネントにおける要求メッセージ履歴に記憶されたメッセージを、災害復旧サイトにおいて記憶されたトランザクション履歴中のエントリと比較する(504)。メッセージが対応するかどうか判定する(505)。対応する場合は、この要求は処理済みでありそのデータは災害復旧サイトに伝搬されたので、これらのメッセージは安全に廃棄することができる(506)。
メッセージが対応しない場合は、トランザクション履歴中に対応するエントリがない要求メッセージ履歴中のメッセージを、手動調整のために送信することができる(507)。この要求は、主要データ・センタにおいて処理されたかもしれないが、そのデータは災害復旧サイトに伝搬されなかった。
要求履歴中にメッセージがまだあるかどうか判定する(508)。要求履歴中の全てのメッセージが処理されると、要求履歴をクリアすることができる(509)。
ゲートウェイ・コンポーネントは調整モードを終了することができ(510)、また、主要データ・センタは動作可能でないと考えられるので、ゲートウェイ・コンポーネントは、入来する要求を災害復旧サイトにおける消費アプリケーションに転送することができる。
述べる方法は、要求メッセージ履歴中のエントリをトランザクション履歴中のエントリと相関させることができることに依拠する。これは、一意のメッセージ識別子をメッセージに割り当てることによって達成することができ、これはメッセージング・システムにおける知られた技法である。
述べる方法およびシステムは、メッセージの再サブミットが必要かどうか判定するためにどのメッセージを調べなければならないかを素早く識別することにより、調整プロセス(reconciliation process)を単純化する。トランザクションを解決するためにユーザと接触する必要はやはりあるかもしれないが、「あなたが10:00までにサブミットしたどんなトランザクションも失われた恐れがある」と言う代わりに、注意を要するメッセージのリストをユーザに提供することが可能である。これにより、疑わしいトランザクションの数、およびこれらを識別する時間がかなり絞られ、これによってまたサービス再開時間が短縮される。
トランザクションが再サブミットされなければならない場合、要求メッセージは、再送のために容易に入手可能である。述べるシステムがなければ、ユーザは、アプリケーションを再実行するか、またはブラウザ・フォームなどに記入する必要がある。これらのアクションは、時間がかかるだけでなくエラーを被りやすく、誤った情報を送信する問題を招く。例えば、1986ポンドの支払いが1896ポンドとして再送される恐れがあり、これは、慌ただしい状況で作業しているとき(データ・センタ機能停止の後もおそらく同様であろう)の典型的な失敗の1つである。
要求メッセージ履歴中のエントリ、およびトランザクション履歴中の行は、蓄積することになり、「刈込み」されなければならないことになる。提案される刈込みプロセスについて以下に述べる。
時間に基づいて開始されるハウスキーピング・プロセスを、ゲートウェイ・コンポーネント中で実施することができる。このプロセスは、任意の古さよりも古い全てのメッセージを要求メッセージ履歴から除去する。
古いエントリをトランザクション履歴から除去するには、以下の2つのオプションがある。
1)時間に基づいて開始されるプロセスが、主要データ・センタ中で実行され、古いエントリを削除する。
2)ゲートウェイ・コンポーネント・ハウスキーピング・プロセスが、クライアントとして主要データ・センタ・データベースに接続し、古い要求メッセージ履歴エントリとトランザクション履歴テーブル行の両方を削除する。これらの削除は「のろい」ものであり、したがって、これらの動作が2段階コミット・トランザクションとして実施されることは、必要でもなく賢明でもない。
述べる方法およびシステムは、知られている非同期ミラーリング技術を利用して、リモート災害復旧サイトにおいてトランザクションの首尾一貫したバックアップを維持する。トランザクション履歴が、データベースの2つのコピーに対して、どのビジネス・トランザクションが実行済みでありどのビジネス・トランザクションが未実行かを記録する。
述べる方法およびシステムは、データベース・アクセス方法(複数可)のトランザクショナル・セマンティクスを明示的に使用する。例えば、トランザクショナル・セマンティクスは、任意のメッセージについて、(a)このメッセージに関する全ての更新が完了し、このメッセージがトランザクション履歴データベース・テーブル中に現れることと、(b)このメッセージに関するどんな更新も行われておらず、このメッセージがトランザクション履歴データベース・テーブル中に現れないことの、いずれかを保証する。
述べる方法は、まだ削除されていないアイテムが復旧に絶対に必要であることを示すのではなく、いくつかのアイテムがもはや必要でなく削除できることのみを示すことに留意されたい。述べる方法は、冪等性のないトランザクションを扱うように意図され、したがって、リモート・データベース・コピーが完了として示す(したがって再び適用されてはならない)これらのアイテム(要求メッセージ)を厳密に識別することが必須である。これは、トランザクショナル・セマンティクスを利用して、メッセージを処理することによりアトミックにデータベースが更新されトランザクション履歴データベース・テーブルが更新される(両方とも行われるか、またはどちらも行われない)ことを確実にすることによって、達成される。
本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェア要素とソフトウェア要素の両方を含む実施形態の形をとることができる。好ましい一実施形態では、本発明はソフトウェアにおいて実現され、このソフトウェアは、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されない。
本発明は、コンピュータもしくは任意の命令実行システムによって使用されるかまたはそれに関連して使用されるプログラム・コードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能な、コンピュータ・プログラム製品の形をとることができる。本記述において、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって使用されるかまたはそれに関連して使用されるプログラムを、包含、記憶、通信、伝搬、または搬送できる、任意の装置とすることができる。
媒体は、電子、磁気、光学、電磁、赤外線、または半導体システム(または装置もしくはデバイス)、あるいは伝搬媒体とすることができる。コンピュータ可読媒体の例は、半導体メモリまたは固体メモリ、磁気テープ、取外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読取専用メモリ(ROM)、固定磁気ディスク、および光ディスクを含む。光ディスクの現在の例は、コンパクト・ディスク読取専用メモリ(CD−ROM)、コンパクト・ディスク読取り/書込み(CD−R/W)、およびDVDを含む。
本発明の範囲を逸脱することなく、上記に改善および変更を加えることもできる。

Claims (16)

  1. 非同期複製システムにおける災害復旧中のメッセージ調整のための方法であって、
    メッセージ要求の送信先である主要データ・センタからリモートにあるゲートウェイにおいて前記メッセージ要求をインターセプトすること(302)、
    前記メッセージ要求のコピーを前記主要データ・センタからリモートに要求メッセージ履歴に記憶すること(303)、
    前記メッセージ要求を前記主要データ・センタに転送すること(304)、
    前記主要データ・センタにおいて前記メッセージ要求のトランザクション履歴を記憶すること(403)であって、前記トランザクション履歴が前記主要データ・センタからの他のデータと共に災害復旧サイトにミラーリングされる、前記記憶すること(403)、および
    前記主要データ・センタに障害が発生したと決定する(501)のに応答して、前記要求メッセージ履歴中のメッセージを、前記災害復旧サイトから取り出された前記トランザクション履歴中のメッセージと比較すること(504)を含む方法。
  2. 前記主要データ・センタに障害が発生したと決定する(501)のに応答して調整モードを開始すること(502)を含み、前記調整モードでは、インターセプトされたメッセージが前記主要データ・センタに転送されない、請求項1に記載の方法。
  3. メッセージを比較すること(504)により、前記要求メッセージ履歴と前記トランザクション履歴との間で対応するメッセージが廃棄され(506)、対応しないメッセージの手動調整が促される(507)、請求項1または2に記載の方法。
  4. 前記要求メッセージ履歴が前記災害復旧サイトにおいて記憶される、請求項1ないし3のいずれか一項に記載の方法。
  5. 前記メッセージ要求を処理することによりアトミックに前記主要データ・センタにおけるデータが更新され(402)、前記トランザクション履歴が更新される(403)のを確実にすることを含む、請求項1ないし4のいずれか一項に記載の方法。
  6. 前記要求メッセージ履歴が時間記録を有し、所定の古さよりも古いメッセージが除去される、請求項1ないし5のいずれか一項に記載の方法。
  7. 時間に基づいて開始されるプロセスを前記主要データ・センタにおいて実施して、前記トランザクション履歴中の古いエントリを削除することを含む、請求項1ないし6のいずれか一項に記載の方法。
  8. 非同期複製システムにおける災害復旧中のメッセージ調整のためのシステムであって、
    プロセッサと、
    メッセージ要求をインターセプトするためのゲートウェイ・コンポーネント(150)であって、前記メッセージ要求の送信先である主要データ・センタ(110)からリモートにある前記ゲートウェイ・コンポーネント(150)と、
    前記メッセージ要求のコピーを前記主要データ・センタ(110)からリモートに要求メッセージ履歴(161)に記憶するためのゲートウェイ記憶デバイス(160)と、
    前記メッセージ要求を前記主要データ・センタ(110)に転送するためのメッセージ転送コンポーネント(151)と、
    前記主要データ・センタ(110)において前記メッセージ要求のトランザクション履歴(122)を記憶するための、前記主要データ・センタ(110)におけるトランザクション履歴コンポーネント(113)であって、前記トランザクション履歴(122)が前記主要データ・センタ(110)からの他のデータ(121)と共に災害復旧サイトにミラーリングされる、前記トランザクション履歴コンポーネント(113)と、
    前記主要データ・センタ(110)に障害が発生したと決定するのに応答して、前記要求メッセージ履歴(161)中のメッセージを、前記災害復旧サイトから取り出された前記トランザクション履歴(122)中のメッセージと比較するための調整コンポーネント(152)とを備えるシステム。
  9. 前記調整コンポーネント(152)が、前記主要データ・センタ(110)に障害が発生したと決定するのに応答して調整モードを開始し、前記調整モードでは、インターセプトされたメッセージが前記主要データ・センタ(110)に転送されない、請求項8に記載のシステム。
  10. 前記調整コンポーネント(152)が、メッセージを比較し、前記要求メッセージ履歴(161)と前記トランザクション履歴(122)との間で対応するメッセージを廃棄し、対応しないメッセージの手動調整を促すための比較コンポーネント(153)を備える、請求項8または9に記載のシステム。
  11. 前記要求メッセージ履歴(161)が前記災害復旧サイトにおいて記憶される、請求項8ないし10のいずれか一項に記載のシステム。
  12. 前記トランザクション履歴コンポーネント(113)が、前記メッセージ要求を処理することによりアトミックに前記主要データ・センタ(110)におけるデータ(121)が更新され前記トランザクション履歴(122)が更新されるのを確実にする、請求項8ないし11のいずれか一項に記載のシステム。
  13. 前記要求メッセージ履歴(161)が時間記録を有し、所定の古さよりも古いメッセージを除去するためのハウスキーピング・コンポーネント(154)が備わる、請求項8ないし12のいずれか一項に記載のシステム。
  14. 前記トランザクション履歴コンポーネント(113)が、時間に基づいて開始されるプロセスを前記主要データ・センタ(110)において実施して、前記トランザクション履歴(122)中の古いエントリを削除するものである、請求項8ないし13のいずれか一項に記載のシステム。
  15. コンピュータ可読媒体に記憶され、ディジタル・コンピュータの内蔵メモリにロード可能なコンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されたときに請求項1ないし7のいずれかに記載の方法を実施するためのソフトウェア・コード部分を備えるコンピュータ・プログラム。
  16. 非同期複製システムにおける災害復旧中のメッセージ調整のためのコンピュータ・プログラム製品であって、
    処理回路によって読取可能なコンピュータ可読記憶媒体であって、請求項1ないし7のいずれかに記載の方法を実施するために前記処理回路によって実行される命令を記憶したコンピュータ可読記憶媒体を備える、コンピュータ・プログラム製品。
JP2014539437A 2011-11-02 2012-10-25 非同期複製システムにおける災害復旧中のメッセージ調整のための方法、システム、およびコンピュータ・プログラム Pending JP2014532932A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1118936.2A GB2496377B (en) 2011-11-02 2011-11-02 Message reconciliation during disaster recovery
GB1118936.2 2011-11-02
PCT/IB2012/055869 WO2013064947A1 (en) 2011-11-02 2012-10-25 Message reconciliation during disaster recovery

Publications (1)

Publication Number Publication Date
JP2014532932A true JP2014532932A (ja) 2014-12-08

Family

ID=45375702

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014539437A Pending JP2014532932A (ja) 2011-11-02 2012-10-25 非同期複製システムにおける災害復旧中のメッセージ調整のための方法、システム、およびコンピュータ・プログラム

Country Status (7)

Country Link
US (1) US9442804B2 (ja)
JP (1) JP2014532932A (ja)
CN (1) CN103890736B (ja)
DE (1) DE112012004216T5 (ja)
GB (1) GB2496377B (ja)
IN (1) IN2014CN02287A (ja)
WO (1) WO2013064947A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10204027B2 (en) 2015-11-02 2019-02-12 Fujitsu Limited Log information collection system and log information collection method
CN112910970A (zh) * 2021-01-21 2021-06-04 中国工商银行股份有限公司 异地灾备数据同步方法、装置及系统

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2496377B (en) 2011-11-02 2014-07-30 Ibm Message reconciliation during disaster recovery
CN103971197A (zh) * 2014-03-24 2014-08-06 世纪禾光科技发展(北京)有限公司 一种跨境电子商务的对账方法及系统
US10171387B2 (en) 2014-12-11 2019-01-01 International Business Machines Corporation Message retrieval in a distributed computing network
ES2834880T3 (es) * 2015-03-10 2021-06-21 Bio Rad Laboratories Prueba combinada de sífilis treponémica y no treponémica
CN106921712B (zh) * 2015-12-28 2020-07-03 阿里巴巴集团控股有限公司 一种业务处理方法及装置
US9430337B1 (en) 2016-01-07 2016-08-30 International Business Machines Corporation Disaster recovery as a dynamic service
CN107508699B (zh) * 2017-08-04 2020-07-03 阿里巴巴(中国)有限公司 适用于库存业务的异地双活实现方法及系统
CN107786430B (zh) * 2017-10-13 2020-10-27 北京左医科技有限公司 机器人聊天方法及系统
CN109213631A (zh) * 2018-08-22 2019-01-15 郑州云海信息技术有限公司 一种事务处理方法、装置、设备及可读存储介质
US10884820B1 (en) * 2018-08-31 2021-01-05 Veritas Technologies Llc Intelligent and automatic replication load score based load balancing and resiliency of replication appliances
CN109901949B (zh) * 2019-02-25 2021-06-18 中国工商银行股份有限公司 双活数据中心的应用灾备系统及方法
US11288147B2 (en) 2019-11-22 2022-03-29 Visa International Service Association Method, system, and computer program product for maintaining data centers
CN113141393B (zh) * 2021-03-25 2023-04-07 杭州博联智能科技股份有限公司 动态边缘网关日志采集和管理方法、系统、设备及介质
CN116466960A (zh) * 2023-04-14 2023-07-21 北京星汉未来网络科技有限公司 一种数据库多活部署的方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189746A (ja) * 2000-12-21 2002-07-05 Just Syst Corp 電子ファイル検索装置、電子ファイル検索方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003006018A (ja) * 2001-06-25 2003-01-10 Mitsubishi Electric Corp 処理要求復旧方式及び処理要求復旧方法及びクライアント装置及びサーバ装置
JP2005317017A (ja) * 2004-04-28 2005-11-10 Internatl Business Mach Corp <Ibm> アプライアンス・ベースの業務継続アーキテクチャにおけるバックアップ・システム障害後の再同期時間の最短化
JP2006514374A (ja) * 2003-04-10 2006-04-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 障害からデータ・リポジトリを回復するための方法、データ処理システム、回復コンポーネント、記録媒体およびコンピュータ・プログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10333961A (ja) * 1997-05-30 1998-12-18 Kokusai Zunou Sangyo Kk データベースのリカバリーシステムおよびリカバリープログラムを記録したコンピュータ読み取り可能な記録媒体
US6163856A (en) 1998-05-29 2000-12-19 Sun Microsystems, Inc. Method and apparatus for file system disaster recovery
JP4546629B2 (ja) 2000-05-25 2010-09-15 株式会社日立製作所 記憶システム、記憶システムの応答方法及び記録媒体
EP1379949A4 (en) * 2001-03-05 2006-09-27 Sanpro Systems Inc SYSTEM AND METHOD FOR ASYNCHRONOUS REPLICATION FOR MEMORY ZONE NETWORKS
US6823349B1 (en) 2001-09-21 2004-11-23 Emc Corporation Method and system for establishing, maintaining, and using a persistent fracture log
WO2004025498A1 (en) * 2002-09-10 2004-03-25 Exagrid Systems, Inc. Method and apparatus for managing data integrity of backup and disaster recovery data
JP2004221880A (ja) 2003-01-14 2004-08-05 Pioneer Electronic Corp スピーカ装置
US7467168B2 (en) 2003-06-18 2008-12-16 International Business Machines Corporation Method for mirroring data at storage locations
US7457829B2 (en) * 2003-06-23 2008-11-25 Microsoft Corporation Resynchronization of multiple copies of a database after a divergence in transaction history
JP2005128811A (ja) * 2003-10-24 2005-05-19 Fujitsu Ltd 無停止型取引システム、取引端末およびバックアップ地区システム
US7383463B2 (en) 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
US7266656B2 (en) * 2004-04-28 2007-09-04 International Business Machines Corporation Minimizing system downtime through intelligent data caching in an appliance-based business continuance architecture
US20060004830A1 (en) 2004-06-07 2006-01-05 Lora Brian M Agent-less systems, methods and computer program products for managing a plurality of remotely located data storage systems
EP1867097B1 (en) 2005-03-10 2016-11-02 Telecom Italia S.p.A. Disaster recovery architecture
US7464126B2 (en) * 2005-07-21 2008-12-09 International Business Machines Corporation Method for creating an application-consistent remote copy of data using remote mirroring
JP4668763B2 (ja) * 2005-10-20 2011-04-13 株式会社日立製作所 ストレージ装置のリストア方法及びストレージ装置
US7644300B1 (en) 2007-04-20 2010-01-05 3Par, Inc. Fast resynchronization of data from a remote copy
CN101183377B (zh) 2007-12-10 2010-09-08 华中科技大学 一种基于消息中间件的高可用性数据库集群系统
WO2011015970A1 (en) 2009-08-04 2011-02-10 Axxana (Israel) Ltd. Data gap management in a remote data mirroring system
US9294564B2 (en) * 2011-06-30 2016-03-22 Amazon Technologies, Inc. Shadowing storage gateway
GB2496377B (en) 2011-11-02 2014-07-30 Ibm Message reconciliation during disaster recovery

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189746A (ja) * 2000-12-21 2002-07-05 Just Syst Corp 電子ファイル検索装置、電子ファイル検索方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003006018A (ja) * 2001-06-25 2003-01-10 Mitsubishi Electric Corp 処理要求復旧方式及び処理要求復旧方法及びクライアント装置及びサーバ装置
JP2006514374A (ja) * 2003-04-10 2006-04-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 障害からデータ・リポジトリを回復するための方法、データ処理システム、回復コンポーネント、記録媒体およびコンピュータ・プログラム
JP2005317017A (ja) * 2004-04-28 2005-11-10 Internatl Business Mach Corp <Ibm> アプライアンス・ベースの業務継続アーキテクチャにおけるバックアップ・システム障害後の再同期時間の最短化

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10204027B2 (en) 2015-11-02 2019-02-12 Fujitsu Limited Log information collection system and log information collection method
CN112910970A (zh) * 2021-01-21 2021-06-04 中国工商银行股份有限公司 异地灾备数据同步方法、装置及系统
CN112910970B (zh) * 2021-01-21 2023-04-07 中国工商银行股份有限公司 异地灾备数据同步方法、装置及系统

Also Published As

Publication number Publication date
US9442804B2 (en) 2016-09-13
GB2496377B (en) 2014-07-30
GB201118936D0 (en) 2011-12-14
WO2013064947A1 (en) 2013-05-10
US20140372800A1 (en) 2014-12-18
CN103890736A (zh) 2014-06-25
DE112012004216T5 (de) 2014-09-11
IN2014CN02287A (ja) 2015-06-19
GB2496377A (en) 2013-05-15
CN103890736B (zh) 2016-08-17

Similar Documents

Publication Publication Date Title
JP2014532932A (ja) 非同期複製システムにおける災害復旧中のメッセージ調整のための方法、システム、およびコンピュータ・プログラム
US7206911B2 (en) Method, system, and program for a system architecture for an arbitrary number of backup components
EP1771789B1 (en) Method of improving replica server performance and a replica server system
JP4301849B2 (ja) 情報処理方法及びその実施システム並びにその処理プログラム並びにディザスタリカバリ方法およびシステム並びにその処理を実施する記憶装置およびその制御処理方法
US7599967B2 (en) No data loss system with reduced commit latency
JP4236049B2 (ja) データのミラー・コピーを提供するための方法、システム、およびプログラム
JP4283576B2 (ja) トランザクション同期方法、データベースシステム及びデータベース装置
US8027952B2 (en) System and article of manufacture for mirroring data at storage locations
US7925633B2 (en) Disaster recovery system suitable for database system
US9639592B1 (en) Dynamically switching between synchronous and asynchronous replication
JP4668763B2 (ja) ストレージ装置のリストア方法及びストレージ装置
US20060069893A1 (en) Host implementation of triangular asynchronous replication
US20100049927A1 (en) Enhancement of data mirroring to provide parallel processing of overlapping writes
US20060129772A1 (en) Data processing method and system
JP5467625B2 (ja) トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム
US8005799B2 (en) Information management system
WO2009047751A2 (en) Fast data recovery system
WO2017101731A1 (zh) 数据库的服务提供方法和系统
US20150309887A1 (en) Automatic Failure Recovery Using Snapshots and Replicas
JP2017097791A (ja) データ処理装置
US9971654B2 (en) Safe storing data for disaster recovery
TWI735518B (zh) 資料庫的服務提供方法和系統
WO2024108903A1 (zh) 一种数据备份方法及装置
WO2011000701A1 (en) Disaster recovery for databases

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150626

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20150626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160408

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160707

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170227