(57)【要約】【課題】メインセンタ側が災害等で異常終了した場合であっても、リモートセンタ側の複数の記憶サブシステム間でデータの整合性が確保される記憶サブシステムのデータ二重化方法およびシステムを提供することを目的とする。【解決手段】メインセンタ１０１が、トランザクションの同期合わせポイントで、全ての記憶サブシステムに対して同期合わせ情報（ＣＰ）を出力する。記憶サブシステム１０５（１１０）は、受け付けたＣＰを、記憶サブシステム１０５（１１０）のコピー機能でリモートセンタ側１２１の記憶サブシステム１２５（１４０）に連絡する。ＣＰを受け取った記憶サブシステム１２５（１４０）は、周囲の記憶サブシステムと連絡を取り、同一のタイミングに取得されたＣＰが、自記憶サブシステムを含めた全ての記憶サブシステム１２５（１４０）に届いたとき、そのＣＰ以前に届いた更新情報を記憶媒体１２９（１４５）に反映する。【選択図】　図２
2004094710.tif 000002
【特許請求の範囲】
【請求項１】
メインセンタの複数の記憶サブシステムとリモートセンタの複数の記憶サブシステムとの間でデータの二重化を実現する記憶サブシステムのデータ二重化方法であって、
メインセンタ側において、受信したファイルの更新情報を、メインセンタ側の所定の記憶サブシステムの記憶媒体に反映するステップと、
メインセンタ側において、トランザクションの同期合わせポイントで該メインセンタ側の全ての記憶サブシステムに対して同期合わせ情報（以降、ＣＰと呼ぶ）を出力するステップと、
メインセンタ側の各記憶サブシステムからリモートセンタ側の各記憶サブシステムに、各記憶サブシステムが備えているコピー機能を利用してそれぞれ非同期で、前記ファイルの更新情報及び前記ＣＰを送信するステップと、
リモートセンタ側の各記憶サブシステムにおいて、受信したファイルの更新情報及び前記ＣＰをバッファ装置に保持するステップと、
リモートセンタ側の各記憶サブシステムにおいて、自記憶サブシステムを含めたリモートセンタ側の全ての記憶サブシステムで前記ＣＰが揃ったかどうかを判断するステップと、
リモートセンタ側の全ての記憶サブシステムで前記ＣＰが揃ったとき、前記バッファ装置に保持してある前記ＣＰ以前のファイルの更新情報を、記憶媒体に反映するステップと
を備えることを特徴とする記憶サブシステムのデータ二重化方法。
【請求項２】
メインセンタの複数の記憶サブシステムとリモートセンタの複数の記憶サブシステムとの間でデータの二重化を実現する記憶サブシステムのデータ二重化システムであって、
メインセンタ側において、受信したファイルの更新情報を、メインセンタ側の所定の記憶サブシステムの記憶媒体に反映する手段と、
メインセンタ側において、トランザクションの同期合わせポイントで該メインセンタ側の全ての記憶サブシステムに対して同期合わせ情報（以降、ＣＰと呼ぶ）を出力する手段と、
メインセンタ側の各記憶サブシステムからリモートセンタ側の各記憶サブシステムに、各記憶サブシステムが備えているコピー機能を利用してそれぞれ非同期で、前記ファイルの更新情報及び前記ＣＰを送信する手段と、
リモートセンタ側の各記憶サブシステムにおいて、受信したファイルの更新情報及び前記ＣＰをバッファ装置に保持する手段と、
リモートセンタ側の各記憶サブシステムにおいて、自記憶サブシステムを含めたリモートセンタ側の全ての記憶サブシステムで前記ＣＰが揃ったかどうかを判断する手段と、
リモートセンタ側の全ての記憶サブシステムで前記ＣＰが揃ったとき、前記バッファ装置に保持してある前記ＣＰ以前のファイルの更新情報を、記憶媒体に反映する手段と
を備えることを特徴とする記憶サブシステムのデータ二重化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータが参照・更新するためのデータを格納する記憶サブシステムに関し、特に記憶サブシステムの保有するデータを二重化する方法およびシステムに関する。
【０００２】
【従来の技術】
地震等の災害に備え、通常業務を行うメインセンタ側システムから数１００ｋｍ離れた場所にリモートセンタ側システムを設置し、これらのシステム間でデータ二重化を行う、いわゆる災害バックアップシステムを実現するデータ二重化システムが、既にいくつか実用化されている。
【０００３】
この種のデータ二重化システムでは、メインセンタ側システムのマスタファイルを更新した情報（以降、更新情報と呼ぶ）を回線などによりリモートセンタ側システムに送信し、メインセンタ側システムでマスタファイルを更新した内容と同一の内容になる様に、リモートセンタ側システムのバックアップファイルを更新する方法を採るのが一般的である。
【０００４】
また最近では、記憶サブシステムが備える記憶サブシステム間のコピー機能を利用した災害バックアップ方法が提案されており、特開２００１−２８２６２８はその一例となる技術を開示している。該公報に開示の方法では、メインセンタ側で発生した更新要求の順序に従ってリモートセンタ側でバックアップファイルの更新が行われる。
【０００５】
【発明が解決しようとする課題】
複数の記憶サブシステムに対して入出力を行うデータ二重化システムの場合、各々の記憶サブシステムが、任意のタイミングで遠隔地のリモートセンタへのコピーを行うと、メインセンタが被災したタイミングによっては、リモートセンタ側の複数記憶サブシステム間のデータに整合性が取れなくなり、リモートセンタ側にコピーされたデータを使用できなくなることが考えられる。
【０００６】
この問題について特開２００１−２８２６２８では、記憶サブシステム間で同一の時刻を共有し、リモートセンタに送信するデータに通番と時刻を付与し、メインセンタ側で発生した更新要求の順番に従ってリモートセンタ側のディスク記憶装置の更新を行う方法が提案されている。同様に、特開平６−２９０１２５号では、主事業所側の更新順序に従って二次事業所側で反映が行われる遠隔データバックアップ方法が提案されている。これらの方法では、発生した更新要求の順序で更新を行うため、例えば記憶サブシステム間で同一の時刻を共有する仕組みなどが必要である。また、更新順序で反映を行うということは、主事業所メインセンタ及び二次事業所リモートセンタに、更新順序を示す情報であるジャーナルなどを格納するためのディスクなどが必要であり、またジャーナルなどを転送するためには回線などのコストもかかるという問題がある。
【０００７】
また、特開２００１−２８２６２８の方法では、リモートセンタ側において、仕掛中トランザクションの決着を付ける（同期点に達していないトランザクションが行った更新はロールバック（更新の前の状態に戻す）し、同期点に達しているトランザクションが行った更新はロールフォワード（更新を有効にする）する）必要があるため、マスタファイルの他に、上位装置が取得している履歴情報（更新前後情報）についても、リモートセンタに送信する必要がある。履歴情報を見なければ、どこまでロールバックしあるいはロールフォワードすればよいか分からないからである。
【０００８】
本発明は、上記従来技術における問題点に鑑み、メインセンタ側が災害等で異常終了した場合であっても、リモートセンタ側の複数の記憶サブシステム間でデータの整合性を確保することができ、その場合に、記憶サブシステム間で同一の時刻を共有したり履歴情報をリモートセンタ側に送ったりする必要がない記憶サブシステムのデータ二重化方法およびシステムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、本発明では、メインセンタ側システムが、トランザクションの同期合わせポイントで、全ての記憶サブシステムに対して同期合わせ情報（ＣＰ）を出力するようにする。記憶サブシステムは、受け付けたＣＰを、記憶サブシステムのコピー機能でリモートセンタ側の記憶サブシステムに連絡する。ＣＰを受け取ったリモートセンタ側の記憶サブシステムは、周囲の記憶サブシステムと連絡を取り、メインセンタ側システムにおいて同一のタイミングに取得されたＣＰが、リモートセンタ側の全ての記憶サブシステムに届くまでの間、前回のＣＰ受信以降に届いたファイルの更新情報をバッファ装置に保持し、記憶媒体には反映しないこととする。同一のタイミングに取得されたＣＰが、全ての記憶サブシステムに届いた場合、それ以前に届いた更新情報を記憶媒体に反映する。このようにして、リモートセンタ側記憶サブシステム間のマスタファイルの整合性を確保することを特徴とする。
【００１０】
【発明の実施の形態】
以下、本発明による実施の形態について詳細に説明する。
【００１１】
図１は、本発明を適用したシステムの全体構成を示したものである。このシステムは、メインセンタ１０１と、リモートセンタ１２１を備える。メインセンタ１０１は、オンラインプログラム等が動作する上位装置１０２と複数の記憶サブシステムを備える。図１では、２台の記憶サブシステム１０５及び１１０を例として説明する。
【００１２】
上位装置１０２は、データ処理を行う中央処理装置（ＣＰＵ）を持つメインセンタ内のホストコンピュータであり、ファイル更新制御１０３とＣＰ書き込み制御１０４を備えている。ファイル更新制御１０３は、メインセンタ内の記憶サブシステム１０５（１１０）に対して入出力要求を発行する。ＣＰ書き込み制御１０４は、メインセンタ内の全ての記憶サブシステム１０５（１１０）に対して、トランザクションの同期合わせポイントで、同期合わせ情報（ＣＰ）を出力する。
【００１３】
メインセンタ１０１に複数台存在する記憶サブシステム１０５（１１０）は、入出力制御１０６（１１１）と、送信制御１０７（１１２）と、記憶媒体１０８（１１３）を備え、ファイル更新制御１０３からの入出力要求に従って、入出力処理を行う。入出力制御１０６（１１１）は、記憶媒体１０８（１１３）への入出力処理を行う。送信制御１０７（１１２）は、遠隔地にあるリモートセンタ１２１へのデータ送信（データコピー）を行う。
【００１４】
メインセンタ１０１から十分に離れた位置にあるリモートセンタ１２１には、記憶サブシステムが複数台設けられている。図１では、２台の記憶サブシステム１２５及び１４０を例として説明する。リモートセンタ１２１は、メインセンタの記憶サブシステム１０５（１１０）から送信されて来る更新情報を記憶媒体に反映する。
【００１５】
記憶サブシステム１２５（１４０）は、入出力制御１２６（１４１）、受信制御１２７（１４２）、記憶媒体１２９（１４５）に加えて、媒体反映制御１３０（１４６）とバッファ装置１２８（１４３）を備える。入出力制御１２６（１４１）は、メインセンタ１０１の記憶サブシステム１０５（１１０）から受信したデータを各バッファ装置１２８（１４３）に記憶する制御を行う。受信制御１２７（１４２）は、遠隔地からのデータ受信を制御する。記憶媒体１２９（１４５）は、メインセンタ１０１の記憶サブシステム１０５（１１０）のデータのバックアップ（二重化）用である。媒体反映制御１３０（１４６）は、更新情報を記憶媒体１２９（１４５）に反映する制御を行う。この制御により、リモートセンタ１２１の全ての記憶サブシステム１２５（１４０）がお互いに連絡を取り、全ての記憶サブシステム１２５（１４０）が同一の通番を持つＣＰを受信した場合にのみ、それ以前の更新情報を記憶媒体１２９（１４５）に反映する。ＣＰが揃うまでは、バッファ装置１２８（１４３）に更新情報を蓄積する。
【００１６】
図２は、図１のシステムにおけるデータの流れについて説明する図である。
【００１７】
メインセンタ１０１内の上位装置１０２が、記憶サブシステム１０５と１１０に対して、各々、更新情報（ＣＰＵが記憶サブシステムに書き込み要求を出したデータ）Ａ１と更新情報Ａ２、及び、更新情報Ｂ１と更新情報Ｂ２と更新情報Ｂ３を出力したとする（図２中の▲１▼）。この処理は、ファイル更新制御１０３が行う。このとき、トランザクションの同期合わせポイントにおいて、同期合わせ情報ＣＰ１とＣＰ２を、全ての記憶サブシステム１０５と１１０に対して出力する。この処理は、ＣＰ書き込み制御１０４が行う。
【００１８】
データを受けた記憶サブシステム１０５と１１０は、各々記憶媒体１０８と１１３に対して、ＣＰを除く更新情報のデータの部分を出力する。この処理は、入出力制御１０６（１１１）が行う。その後、記憶サブシステム１０５と１１０は、リモートセンタ１２１側の各々対応する記憶サブシステム１２５と１４０に対して、ＣＰを含むデータを転送する（図２中の▲２▼）。この処理は、送信制御１０７（１１２）が行う。
【００１９】
リモートセンタ１２１側の記憶サブシステム１２５と１４０は、受信したデータを各々バッファ装置１２８と１４３に記憶する。この処理は、入出力制御１２６（１４１）が行う。なお、このとき、記憶サブシステム１１０側のＣＰ２は、記憶サブシステム１４０には届いていないものとする。メインセンタ１０１側の記憶サブシステムからリモートセンタ１２１側の記憶サブシステムへのデータ転送は、各記憶サブシステムごとに独立で非同期に行われる。従って、記憶サブシステム１１０側のＣＰ２のみがリモートセンタ側に届いていないことがあり得る。
【００２０】
リモートセンタ１２１内の記憶サブシステム１２５と１４０は、お互いに連絡をとり、ＣＰ１までが全ての記憶サブシステム１２５と１４０に到着していることを確認し、ＣＰ１以前のデータを記憶媒体に出力する（図２中の▲３▼）。この処理は、媒体反映制御１３０（１４６）が行う。
【００２１】
このような流れにより、リモートセンタ１２１側の記憶サブシステム１２５（１４０）の状態は、メインセンタ側１０１でＣＰ１が出力された時点の整合性がとれた状態とすることができる。ＣＰはトランザクションの途中で発行されることはなく、ＣＰが発行されたときにはそれまでのトランザクションはすべて処理済になっているはずだからである。
【００２２】
この時点でメインセンタ１０１側が被災した場合、リモートセンタ１２１側では、履歴情報を使用した回復処理を行わなくても、メインセンタ１０１でＣＰ１が出力された時点の状態で、システムを継続することができる。
【００２３】
図２を参照して具体例を説明する。いま、記憶サブシステム１０８と１１３はともに銀行口座の情報を記憶したデータベースとする。記憶サブシステム１０８内の口座から１万円を引き出し、記憶サブシステム１１３内の口座にその１万円を振り込む処理を実行したとする。その直後にメインセンタ１０１が被災し、記憶サブシステム１０８の更新情報（１万円を引き出したという情報）のみがリモートセンタ１２１ヘ届いて、記憶サブシステム１１３の更新情報（１万円を振込んだという情報）がリモートセンタ１２１ヘ届いていないと、従来方式では１万円が消えてしまう。あるいは、通信の順序性が保証できない為、記憶サブシステム１１３の更新情報が先に届いて、記憶サブシステム１０８の更新情報が届かない場合もあり、この場合は１万円を引き出していないこととなる。
【００２４】
本実施形態のシステムでは、上記のような問題が発生すること防ぐために、メインセンタ１０１側の整合性のある瞬間のＤＢの状態が、そのままリモートセンタ１２１側に作られるようにしている。これを同期合わせ情報ＣＰを確認することで実現している。すなわち、リモートセンタ１２１内の全ての記憶サブシステムが受信したＣＰ以前のデータを記憶媒体に出力する。ＣＰはトランザクションの同期合わせポイントで出力されるので、上記の例であれば、１万円を引き出す処理の更新情報がリモートセンタ１２１ヘ届き、１万円を振り込む処理の更新情報がリモートセンタ１２１ヘ届いていないとすると、それらの処理に対応するＣＰはリモートセンタ１２１に届いていないことになる。従って、リモートセンタ１２１側で１万円を引き出す処理の更新情報はバッファには書き込まれているかもしれないがＤＢには書き込まれていないので、ＤＢの整合性は保たれている。この場合、上記の引き出しと振り込みについては履歴情報から復元する必要がある。もし、リモートセンタ１２１ヘＣＰが届いていれば、１万円を引き出す処理と１万円を振り込む処理の両方の更新情報がリモートセンタ１２１ヘ届きＤＢに反映されていると言うことである。この際、１万円を引き出す処理の更新情報と１万円を振り込む処理の更新情報は非同期にリモートセンタ１２１側へ送られ、どちらが先に届いていてもよい。ＣＰが届いたときにそこまでの更新情報をＤＢに反映させることで、リモートセンタ１２１のＤＢの整合性が常に保たれる。
【００２５】
図３は、メインセンタ１０１側におけるファイル更新制御１０３とＣＰ書き込み制御１０４の処理手順を示す。ファイル更新制御１０３の処理は各記憶サブシステムごとに実行され、ＣＰ書き込み制御１０４の処理は全記憶サブシステムに対して１つ実行される。
【００２６】
ステップ３０１で、ファイル更新制御１０３は、ＣＰＵからの更新要求を受け、記憶サブシステム１０５（１１０）にその更新要求を発行する。ステップ３０２で、ＣＰ取得タイミングであるかどうかを判断する。ＣＰ取得タイミングでなかった場合、ステップ３０１に戻る。ＣＰ書き込み制御１０４からのＣＰ取得タイミングの連絡を受け取ったとき、ステップ３０２から３０３に進み、ＣＰ取得準備完了をＣＰ書き込み制御１０４に連絡する。次に、ステップ３０４と３０５で、全ての記憶サブシステムのＣＰの取得が完了するまで待つ。ＣＰ書き込み制御１０４からＣＰ取得完了の連絡があったら、ステップ３０１に戻る。
【００２７】
ＣＰ書き込み制御１０４は、ステップ３１１で、ＣＰ取得タイミングになるまで所定の時間を待つ。ＣＰ取得タイミングになったら、ステップ３１２で、ＣＰ取得タイミングをファイル更新制御１０３に連絡する。ステップ３１３と３１４で、全ての記憶サブシステム１０５（１１０）に対応するファイル更新制御１０３がＣＰ取得準備を完了するまで待つ。全てのファイル更新制御１０３でＣＰ取得準備を完了した場合、ステップ３１５で、全ての記憶サブシステム１０５（１１０）に対して同じ通番のＣＰを出力し、そのＣＰを取得させる。ステップ３１６で、全ての記憶サブシステム１０５（１１０）のファイル更新制御１０３にＣＰ取得の完了を連絡し、ステップ３１１に戻る。
【００２８】
図４は、リモートセンタ１２１の各記憶サブシステムの媒体反映制御１３０（１４６）の処理のフローチャート例を示す。本処理は、メインセンタ１０１からのデータの受信を開始するときに動作を開始する。
【００２９】
ステップ４０１で、自記憶サブシステムを含めた全ての記憶サブシステムに届いているバッファ装置内のＣＰの通番を確認する（相互に連絡をとる）。ステップ４０２で、未出力（まだ記憶媒体に出力していない）かつ自記憶サブシステムを含めた全ての記憶サブシステムに共通する通番があるかどうかを判定する。バッファ装置内に未出力のＣＰが無い、又は未出力のＣＰがあっても全ての記憶サブシステムに共通する通番（全ての記憶サブシステムのバッファ装置内にある未出力のＣＰの通番を確認する）で無い場合は、ステップ４０５に移る。該当するＣＰがある場合は、ステップ４０３で、当該ＣＰ以前のデータを記憶媒体に出力する。そして、ステップ４０４で、当該ＣＰを含むそれ以前のデータをバッファ装置から削除する。
【００３０】
ステップ４０５で、全ての記憶サブシステムでの受信処理が終了、又はリモートセンタ１２１側のオペレータによる終了指示（メインセンタ１０１被災による反映処理中断）があるかを判定し、そうであれば処理を終了する。そうでない場合は、ステップ４０６に進んで適当な待ち時間の後、ステップ４０１に戻る。
【００３１】
図５は、ＣＰのデータ形式例を示した図である。ＣＰは、当該データがＣＰであることを識別するためのＣＰ識別子５０１と、メインセンタ側のＣＰ書き込み制御が付与した通番５０２を含む。なお、通番の代わりに、ＣＰを発行した時間などを用いてもよい。
【００３２】
【発明の効果】
以上述べたように本発明によれば、上位装置に手を加えることで、メインセンタ側の複数の記憶サブシステム間で同一の時刻を共有しなくても、リモートセンタ側の複数の記憶サブシステム間でデータの整合性を確保することができる。また、仕掛中トランザクションの決着を付ける必要が無いため、上位装置が取得している履歴情報をリモートセンタ側に送信する必要がなくなった。さらに、従来のメインセンタ側の更新順序に従ってリモートセンタ側でデータを反映する方式では、ジャーナルなどを格納するディスク等が必要で、そのジャーナルなどを転送する回線コストなども必要であったが、本発明では更新順序を転送する必要がないので、ジャーナル等を転送する必要もなく、回線コスト等を削減することができる。
【図面の簡単な説明】
【図１】本発明を適用した記憶サブシステムのデータ二重化システムの全体構成を示す図である。
【図２】本発明によるデータの流れについて説明するものである。
【図３】メインセンタ側の処理手順を示す図である。
【図４】本実施の形態による媒体反映制御の処理のフローチャートのー例を示す図である。
【図５】本発明によるＣＰのデータ形式例を示した図である。
【符号の説明】
１０１・・・メインセンタ
１０２・・・上位装置
１０３・・・ファイル更新制御
１０４・・・ＣＰ書き込み制御
１０５，１１０・・・記憶サブシステム
１０６，１１１・・・入出力制御
１０７，１１２・・・送信制御
１０８，１１３・・・記憶媒体
１２１・・・リモートセンタ
１２５，１４０・・・記憶サブシステム
１２６，１４１・・・入出力制御
１２７，１４２・・・受信制御
１２８，１４３・・・バッファ装置
１２９，１４５・・・記憶媒体
１３０，１４６・・・媒体反映制御
【図１】
2004094710.tif 000003
【図２】
2004094710.tif 000004
【図３】
2004094710.tif 000005
【図４】
2004094710.tif 000006
【図５】
2004094710.tif 000007