(57)【特許請求の範囲】
【請求項１】
データを格納する第１の論理ボリュームが設定された第１のディスク装置と、
前記第１のディスク装置へのデータの読み書きを制御する第１の制御部と、ホスト計算機及び他のディスク制御装置に接続する第１のインターフェースと、前記第１のディスク装置に接続する第１のディスクインターフェースと、を備えた第１のディスク制御装置と、
ネットワークを介して前記第１のインターフェースに接続され、前記第１のディスク装置へのデータの入出力を要求するホスト計算機と、を備えた第１の計算機システムと、
データを格納する第２の論理ボリュームが設定された第２のディスク装置と、
前記第２のディスク装置へのデータの読み書きを制御する第２の制御部と、前記第１のディスク制御装置に接続する第２のインターフェースと、前記第２のディスク装置に接続する第２のディスクインターフェースと、を備えた第２のディスク制御装置と、を備えた第２の計算機システムと、で実行されるデータの入出力方法において、
前記ホスト計算機が、前記第１のディスク制御装置に、前記第１のディスク装置の論理ボリュームのデータの入出力を要求する第１のステップと、
前記第１の制御部が、前記入出力要求が更新要求である場合は当該更新要求に係る更新データを前記第１の論理ボリュームに格納する第２のステップと、
前記第１の制御部が、前記更新要求を前記第２のディスク制御装置に送信する第３のステップと、
前記第１の制御部から送信された更新要求に更新データが属するグループを示す情報が付与されている場合は、前記第２の制御部が、前記更新要求に係る更新データを一時的に蓄積する第４のステップと、
前記更新データが属するグループを示す情報に係るデータの入出力要求が前記第１のディスク制御装置においてすべて完了した場合は、前記第２の制御部が、前記蓄積された更新データのうち、前記更新データが属するグループを示す情報が同一である更新データを、前記第２の論理ボリュームに格納する第５のステップと、を備え、
前記ホスト計算機において、アプリケーションプログラムとＯＳとが稼働しており、
前記アプリケーションプログラム又は前記ＯＳにより前記更新要求に係る論理ボリュームに対する他の入出力要求を禁止に設定することが要求されている場合に、前記ホスト計算機又は前記第１の制御部が前記更新要求に更新データのグループを示す情報を付与することを特徴とするデータの入出力方法。
【請求項２】
データを格納する一以上の論理ボリュームが設定された第１のディスク装置と、
プロセッサとメモリとを備え、前記メモリに格納されたプログラムの処理によって前記第１のディスク装置へのデータの読み書きを制御する第１の制御部と、ホスト計算機及び他のディスク制御装置に接続する第１のインターフェースと、前記第１のディスク装置に接続する第１のディスクインターフェースと、を備えた第１のディスク制御装置と、
ネットワークを介して前記第１のインターフェースに接続されており、プロセッサとメモリとを備え、前記メモリに格納されたアプリケーションプログラム及びＯＳの処理によって前記第１のディスク装置へのデータの入出力を要求するホスト計算機と、を備えた第１の計算機システムと、
データを格納する一以上の論理ボリュームが設定された第２のディスク装置と、
プロセッサとメモリとを備え、前記メモリに格納されたプログラムの処理によって前記第２のディスク装置へのデータの読み書きを制御する第２の制御部と、前記第１のディスク制御装置に接続する第２のインターフェースと、前記第２のディスク装置に接続する第２のディスクインターフェースと、を備えた第２のディスク制御装置と、を備えた第２の計算機システムと、を備える計算機ネットワークシステムにおいて、
前記ホスト計算機は、前記第１のディスク制御装置に、前記第１の論理ボリュームのデータの入出力を要求し、
前記第１の制御部は、前記入出力要求が更新要求である場合は、当該更新要求に係る更新データを前記第１のディスク装置の論理ボリュームに格納し、前記更新要求を前記第２のディスク制御装置に送信し、
前記第２の制御部は、
前記第１の制御部から送信された更新要求に、更新データが属するグループを示す情報が付与されている場合は、前記更新要求に係る更新データを一時的に蓄積し、
前記更新データが属するグループを示す情報に係るデータの入出力要求が前記第１のディスク制御装置においてすべて完了した場合は、前記蓄積された更新データのうち、前記更新データが属するグループを示す情報が同一である更新データを、前記第２の論理ボリュームに格納し、
前記アプリケーションプログラム又は前記ＯＳが前記更新要求に係る論理ボリュームに対する他の入出力要求を禁止に設定することを要求している場合に、前記ホスト計算機又は前記第１の制御部は、前記更新要求に更新データのグループを示す情報を付与することを特徴とする計算機ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージサブシステム間のリモートコピー技術に関する。
【背景技術】
【０００２】
近年、２４時間連続運転のニーズ拡大により、災害時におけるリカバリ時間の短縮が求められている。この要求に答える技術として、計算機を経由せずに遠隔地に配置されたストレージサブシステムにボリュームの複製を作成する機能（リモートコピー）がある。
【０００３】
リモートコピーを適用した場合、災害時に複製元ボリューム（以降正ボリュームと呼ぶ）から、複製先ボリューム（以降、副ボリュームと呼ぶ）に切り替えて業務を再開することによって短時間でのリカバリが可能である。リモートコピーに関しては、異なる記憶制御装置間でホストコンピュータを介さずデータを複製する技術が開示されている（特許文献１参照）。
【特許文献１】特開平１１−８５４０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
現在のリモートコピーは、計算機からの入出力単位でのデータ更新の保証していない。
【０００５】
このため、計算機上のアプリケーションプログラムが、複数の更新入出力要求により論理的に意味のある１つのデータを更新する場合、その論理的に意味のあるデータ更新の途中でリモートコピーが中断すると、副ボリュームのデータはアプリケーションプログラムから見て不正なデータとなることがあった。このように不正なデータを持った副ボリュームを用いて業務を再開するためには、アプリケーションプログラム側のジャーナルを用いて副ボリュームのデータを回復してから業務を再開する必要があった。
【０００６】
また、ボリューム管理情報すなわち、ボリューム上のファイルを管理するための情報やボリューム自体を管理するための情報の更新中にリモートコピーが中断した場合には、ファイル破壊やボリューム全体の情報破壊となることもあった。このような場合には、副ボリューム全体をバックアップから回復し、さらにアプリケーションプログラム側のジャーナルによってバックアップ時点からのデータを回復する必要があった。
【０００７】
そこで本発明では、副ボリュームにおいて、論理的に意味のある１つのデータ更新単位ごとにデータ更新の保証するための技術を開示する。また、既存のアプリケーションプログラムやＯＳはボリュームの管理情報などのシステムにとって重要な情報を更新する際には、更新の開始から終了までボリュームの排他を行っている。そこで、既存のアプリケーションプログラムやＯＳに実装されているボリュームの排他指示及び排他解除指示を更新データグループの切り分け契機とすることで、容易に実装可能な実施例を示す。
【課題を解決するための手段】
【０００８】
本発明による実施の形態の一例は、ホスト計算機が、第１のディスク制御装置に、第１のディスク装置の論理ボリュームのデータの入出力を要求する第１のステップと、第１の制御部が、入出力要求が更新要求である場合は、当該更新要求に係る更新データを第１の論理ボリュームに格納する第２のステップと、第１の制御部が、更新要求を第２のディスク制御装置に送信する第３のステップと、第２の制御部が、第１の制御部から送信された更新要求に更新データが属するグループを示す情報が付与されている場合は、更新要求に係る更新データを一時的に蓄積する第４のステップと、第２の制御部が、更新データが属するグループを示す情報に係るデータの入出力要求が第１のディスク制御装置においてすべて完了した場合は、蓄積された更新データのうち、更新データが属するグループを示す情報が同一である更新データを、第２の論理ボリュームに格納する第５のステップと、を備え、前記ホスト計算機において、アプリケーションプログラムとＯＳとが稼働しており、
前記アプリケーションプログラム又は前記ＯＳにより更新要求に係る論理ボリュームに対する他の入出力要求を禁止に設定することが要求されている場合に、前記ホスト計算機又は前記第１の制御部が前記更新要求に更新データのグループを示す情報を付与するステップを備えることを特徴とする。
【発明の効果】
【０００９】
どのようなタイミングでリモートコピーが中断しても、副ボリュームのデータをアプリケーションから見て整合性の取れた状態に維持することができる。
【発明を実施するための最良の形態】
【００１０】
以下に、本発明の実施形態を図面を参照して説明する。なお、本発明は以下に示す実施形態によって限定されるものではない。
＜第１実施形態＞
図１は、本発明の第１の実施の形態の計算機システムの構成ブロック図である。
【００１１】
この計算機システムは、メインサイト１とリモートサイト２とがネットワーク１５によって接続されている。
【００１２】
メインサイト１は、ホスト計算機１０Ａ、ディスク制御装置２０Ａ及びディスク装置３０Ａを含む。また、リモートサイト２は、ホスト計算機１０Ｂ、ディスク制御装置２０Ｂ及びディスク装置３０Ｂを含む。
【００１３】
ホスト計算機１０Ａは、ディスク装置３０Ａに格納されるデータの入出力を、ディスク制御装置２０Ａに要求する。ディスク制御装置２０Ａは、ホスト計算機１０Ａからの要求に基づいて、ディスク装置３０Ａに格納されているデータの読み出し／書き込みを制御する。
【００１４】
また、同様に、ホスト計算機１０Ｂは、ディスク装置３０Ｂに格納されるデータの入出力を、ディスク制御装置２０Ｂに要求する。ディスク制御装置２０Ｂは、ホスト計算機１０Ｂからの要求に基づいて、ディスク装置３０Ｂに格納されているデータの読み出し／書き込みを制御する。
【００１５】
また、ディスク制御装置２０Ａは、ディスク装置３０Ａに格納されているデータを、ディスク制御装置２０Ｂを介して、ディスク装置３０Ｂにコピーする処理を実行する。
【００１６】
ホスト計算機１０Ａは、ＣＰＵ１１、メモリ１２及びインターフェース１３を備える。
【００１７】
ＣＰＵ１１は、メモリ１２に格納されているプログラム等を実行し、そのプログラムに規定された処理を実行する。メモリ１２は、ホスト計算機１０Ａで稼働するプログラムやデータ等を格納する。インターフェース１３は、ディスク制御装置２０Ａとでデータを送受信する。
【００１８】
ディスク制御装置２０Ａは、インターフェース２１、ＣＰＵ２２、メモリ２３及びディスクインターフェース２４を備える。
【００１９】
インターフェース２１は、ホスト計算機１０Ａ又はディスク制御装置２０Ｂとでデータを送受信する。ＣＰＵ２２は、メモリ２３に格納されているプログラム等を実行し、そのプログラムに規定された処理を実行する。メモリ２３は、ディスク制御装置２０Ａで稼働するプログラムやデータ等を格納する。ディスクインターフェース２４は、ディスク装置３０Ａとでデータを送受信する。また、インターフェース２１は、ディスク制御装置２０Ｂに接続されたネットワーク１５０が接続されている。このネットワーク１５０は、ＬＡＮ（Local Area Network）やＳＡＮ（Storage Area Network）等によって構成される。
【００２０】
ディスク装置３０Ａは、複数の磁気ディスク３１を備える。この磁気ディスク３１によって、論理ボリュームが構成されている。
【００２１】
リモートサイト２に含まれるホスト計算機１０Ｂ、ディスク制御装置２０Ｂ及びディスク装置３０Ｂの構成は、ホスト計算機１０Ａ、ディスク制御装置２０Ａ及びディスク装置３０Ａの構成とほぼ同一である。なお、ホスト計算機１０Ｂは、ディスク装置３０Ｂに格納されるデータの入出力を、ディスク制御装置２０Ｂに要求するよう構成されている。なお、これらは、特に区別する場合を除き、ホスト計算機１０、ディスク制御装置２０又はディスク装置３０とも記載する。
【００２２】
図２は、前述のように構成された計算機システムの機能ブロック図である。
【００２３】
ホスト計算機１０Ａは、アプリケーションプログラム１０１とＯＳ１０２とが稼働している。これらは、前述のように、メモリ１２に格納されているプログラムをＣＰＵ１１が読み出して実行することによって、それぞれの機能が実現されている。
【００２４】
アプリケーションプログラム１０１は、ディスク装置３０Ａに設定されている論理ボリュームに格納されるファイルやデータの入出力を要求する。ＯＳ１０２は、アプリケーションプログラム１０１からの入出力要求を受け取り、これをディスク制御装置２０Ａへの入出力要求に変換して、ディスク制御装置２０Ａに送信する。
【００２５】
ポート１０５は、ホスト計算機１０Ａのインターフェース１３とディスク制御装置２０Ａのインターフェース２１との間に設定された論理的な接続経路である。
【００２６】
ＯＳ１０２は、入出力データ管理プログラム１０３及び入出力実行管理プログラム１０４を含む。これらのプログラムは、アプリケーションプログラム１０１からの入出力要求に基づいて、ディスク制御装置２０Ａに対して、論理ボリュームの状態の通知や設定、排他要求等を設定する。
【００２７】
ディスク制御装置２０Ａは、入出力受付部１１２Ａと入出力制御コンポーネント１１３Ａとデータコピー制御コンポーネント１１４Ａとが稼働している。これらは、前述のように、メモリ２３に格納されているプログラムをＣＰＵ２２が読み出して実行することによって、それぞれの機能が実現されている。
【００２８】
入出力受付部１１２Ａは、ホスト計算機１０Ａから送信された入出力要求を受け取ると、その内容を判定して、入出力制御コンポーネント１１３Ａ又はデータコピー制御コンポーネント１１４Ａに処理を渡す。入出力制御コンポーネント１１３Ａは、受け取った入出力要求に基づいて、ディスク装置３０Ａへのデータの入出力を実行する。データコピー制御コンポーネント１１４Ａは、受け取った入出力要求に基づいて、ディスク制御装置３０Ｂとの間でデータコピーに関する制御を実行する。
【００２９】
ポート１１１Ａは、ディスク制御装置２０Ａのインターフェース２１と、ホスト計算機１０Ａのインターフェース１３との間に設定された論理的な接続経路である。ポート１１５Ａは、ディスク制御装置２０Ａのインターフェース２１と、ディスク制御装置２０Ｂのインターフェース２１との間に設定された論理的な接続経路である。
【００３０】
ディスク装置３０Ａには、複数の論理ボリュームが設定されている。なお、メインサイト１のディスク装置３０Ａに設定された論理ボリュームを、以降は正ボリューム１２１と呼び、リモートサイト２のディスク装置３０Ｂに設定された論理ボリュームを以降は副ボリューム１８１と呼ぶ。ディスク制御装置２０Ａ及び２０Ｂは、ホスト計算機１０Ａからのデータ書き込み要求を受け取ると、その書き込みデータを、正ボリューム１２１に書き込むと共に、副ボリューム１８１にも書き込むための処理をする。なお、この処理を、以降はリモートコピーと呼ぶ。
【００３１】
なお、ホスト計算機１０Ｂ及びディスク制御装置２０Ｂの構成は、ホスト計算機１０Ａ及びディスク制御装置２０Ｂとほぼ同一である。
【００３２】
図３は、ホスト計算機１０のＯＳ１０２に含まれる入出力データ管理プログラム１０３と入出力実行管理プログラム１０４との説明図である。
【００３３】
入出力データ管理プログラム１０３は、データ構造管理部２０１、データアクセス制御部２０２及び要求部２０５を含む。また、要求部２０５は、排他要求部２０３及び更新データグループ要求部２０４を含む。
【００３４】
データ構造管理部２０１は、ホスト計算機１０が論理ボリュームに格納するデータの構造に関するデータ構造情報２０６を管理する。
【００３５】
ボリューム情報管理部２５２は、ホスト計算機１０が管理する論理ボリュームの状態に関するボリューム状態情報２５８を管理する。このボリューム状態情報２５８は、論理ボリュームごとに別々の情報として管理されるのが一般的であるが、複数の論理ボリュームの情報を一つのボリューム状態情報２５８として、まとめて管理してもよい。
【００３６】
更新データグループ管理部２５３は、アプリケーションプログラム１０１からの入出力要求に付与するための更新データグループを判別する更新データグループＩＤ２５９を管理する。なお、更新データグループＩＤ２５９は計算機システム内でユニークな情報でなければならない。
【００３７】
データアクセス制御部２０２は、ＯＳ１０２自身やアプリケーションプログラム１０１からの入出力要求を受け取ると、入出力対象データのデータ構造情報２０６からその入出力要求を実現する一連の入出力コマンド群を生成する。また、論理ボリュームの排他／排他解除が必要と判定した場合には排他要求部２０３に論理ボリュームの排他要求指示／排他解除要求を指示する。また、アプリケーションプログラム１０１から入出力要求を更新データグループとして扱うように指示された場合や、生成した入出力コマンド群を更新データグループとして扱う必要があると判定した場合に、更新データグループ要求部２０４に更新データグループ登録指示／登録解除を指示する。
【００３８】
要求部２０５は、データアクセス制御部２０２からの要求に応じて、状態制御部２５７の排他制御部２５４と更新データグループ制御部２５５にボリュームの排他／排他解除を要求する。また、更新データグループ制御部２５５への更新データグループ登録指示／登録解除を指示する。
【００３９】
入出力実行管理プログラム１０４は、入出力実行制御部２５１、ボリューム状態管理部２５２、更新データグループ管理部２５３及び状態制御部２５７を含む。状態制御部２５７は、排他制御部２５４、更新データグループ制御部２５５及びボリューム状態制御部２５６を含む。
【００４０】
入出力実行制御部２５１は、ボリューム状態情報２５８に設定された情報に従って、データアクセス制御部２０２によって生成された入出力コマンド群に排他コマンドを付与する。排他コマンドの付与は、排他制御部２５４よって排他コマンドの作成指示がある場合に実行される。また、入出力コマンド群に更新データグループＩＤを付与する。更新データグループＩＤの付与は、更新データグループ制御部２５５よって更新データグループＩＤ付与の指示がある場合に実行される。また、入出力コマンド群にその他ボリュームの制御に必要なコマンド群（制御用コマンド群）を付与する。そして、この入出力コマンド群をディスク制御装置２０に送信することによって入出力を実行する。
【００４１】
また、入出力実行制御部２５１は、排他制御部２５４からの排他解除コマンドの実行要求や更新データグループ制御部２５５からの更新データグループ解除指示コマンドの実行要求があった場合には、これらの要求をディスク制御装置２０に送信する。
【００４２】
排他制御部２５４は、排他要求部２０３からの論理ボリュームの排他要求／排他解除要求をボリューム状態情報２５８に反映する。また、論理ボリュームを排他する必要が生じた場合には、ボリューム状態情報２５８を介して入出力実行制御部２５１に排他コマンドの作成を指示すると共に、更新データグループ制御部２５５に対して更新データグループの登録を指示する。また、論理ボリュームの排他を解除する必要が生じた場合には、排他解除コマンドを作成する。そして、入出力実行制御部２５１に排他解除コマンドの実行を指示すると共に、更新データグループ制御部２５５に更新データグループの登録解除を指示する。
【００４３】
更新データグループ制御部２５５は、更新データグループ要求部２０４又は排他制御部２５４からの更新データグループ登録指示／登録解除指示をボリューム状態情報２５８に反映する。また、更新データグループ登録指示によってボリューム状態情報２５８に更新データグループＩＤの登録が必要となった場合には、更新データグループＩＤテーブル２５９から未使用の更新データグループＩＤ２５９を取得して、これをボリューム状態情報２５８に設定する。また、更新データグループ登録解除指示によって不要な更新データグループＩＤが生じた場合には、更新データグループＩＤテーブル２５９に更新データグループＩＤを返却する。また、更新データグループＩＤを付与した入出力要求の副ボリュームへの反映が必要と判定した場合には、更新データグループの反映を指示するためのコマンドを作成して、入出力実行制御部２５１に反映を指示するコマンドの実行を指示する。
【００４４】
ボリューム状態制御部２５６は、入出力実行制御部２５１から入出力実行可否の判定要求があった場合に、入出力対象ボリュームのボリューム状態情報２５８から入出力実行可否を判定する。また、入出力実行制御部２５１からボリューム状態情報の取得要求があった場合は、入出力対象ボリュームのボリューム状態情報２５８を入出力実行制御部２５１に渡す。
【００４５】
図４Ａは、データ構造情報２０６の説明図である。
【００４６】
データ構造情報２０６は、ホスト計算機１０のアプリケーション１０１が管理するデータ単位ごとに生成され、データ構造管理部２０１によって管理される。
【００４７】
データ構造情報２０６は、データＩＤ３０１、データ構造形式情報３０２及び固有情報３０３を含む。
【００４８】
データＩＤ３０１は、対象のデータの識別子である。データ構造形式情報３０２は、対象のデータがどのような形式で管理されているかを示す情報である。固有情報３０３は、対象のデータが格納されている領域の情報である。
【００４９】
図４Ｂは、実際にデータ構造情報２０６に格納される情報の一例の説明図である。
【００５０】
データＩＤ３０１には、対象のデータの識別子が格納される。
【００５１】
データ構造形式情報３０２には、対象のデータの形式が格納される。図４Ｂの例では「データ形式１」が格納されている。
【００５２】
固有情報３０３には、対象のデータが格納されている領域の情報がそれぞれ格納される。一般的に、データはセクタサイズに分割されて論理ボリュームに格納される。図４Ｂの例では、対象のデータが二つの領域に分割されており、それぞれ領域Ａ、領域Ｂであることを示す。各領域には、領域の先頭アドレス３５１及び領域長３５２が格納される。また、固有情報３０３には、対象のデータにさらに領域が追加される場合に備え、予備領域が確保されている。このデータは必要に応じて領域の追加／削除が行われる。データ量の増加によりこのデータに新たなデータが追加された場合には、領域Ｃを予備領域から確保して、領域の先頭アドレス３５１及び領域長３５２を設定する。
【００５３】
図４Ｃは、ユーザから見たデータ３６０と論理ボリューム上の実際のデータの格納位置とを示す説明図である。
【００５４】
図４Ｂに示す例のデータは、いくつかの領域に分割され、それぞれが論理ボリュームに格納される論理ボリュームでは、これらをボリューム管理情報３７１として管理している。一方、アプリケーションプログラム１０１等、ユーザ側からは、このデータは、領域Ａ３６１、領域Ｂ３６２は連続領域に見える。また、前述のように領域Ｃ３６３を追加した場合には、データ構造情報３５０及びボリューム管理情報３７１に領域Ｃ情報を追加する。
【００５５】
図５は、ボリューム状態情報２５８の説明図である。
【００５６】
ボリューム状態情報２５８は、論理ボリュームの構成を示す情報を格納するものであり、ボリューム状態管理部２５２によって論理ボリュームごとに管理される。
【００５７】
ボリューム状態情報２５８は、ボリュームＩＤ４１３、更新データグループ登録関連情報４００、ボリューム排他関連情報４１０及びその他ボリューム状態情報４２０を含む。
【００５８】
ボリュームＩＤ４１３は、論理ボリュームの識別子である。
【００５９】
更新データグループ登録関連情報４００は、更新データグループ登録カウンタ４０１、更新データグループＩＤ４０２及び更新データグループ登録状態情報４０３を含む。
【００６０】
更新データグループ登録カウンタ４０１は、データアクセス制御部２０２への更新データグループ登録指示／登録解除指示の回数をカウントするためのカウンタが格納される。更新データグループＩＤ４０２は、更新データグループ制御部２５５によって更新データグループＩＤが取得された場合に、そのボリュームに関連付けられた更新データグループＩＤを格納する。更新データグループ登録状態情報４０３は、入出力実行制御部２５１に対して更新データグループＩＤの付与要否を通知するための情報である。
【００６１】
更新データグループ制御部２５５は、入出力実行制御部２５１に対して更新データグループＩＤの付与を指示する場合は、更新データグループ登録状態情報４０３を登録中状態に設定する。また、更新データグループＩＤの付与が不要な場合は、更新データグループ登録状態情報４０３を、登録解除中状態に設定する。
【００６２】
ボリューム排他関連情報４１０は、ボリューム排他要求カウンタ４１１及びボリューム排他状態情報４１２を含む。
【００６３】
ボリューム排他要求カウンタ４１１は、排他要求部２０３から排他制御部２５４へのボリュームの排他要求指示／排他解除要求指示の回数をカウントするためのカウンタである。ボリューム排他状態情報４１２は、ボリュームの排他状態が格納される。
【００６４】
排他制御部２５４は、論理ボリュームが排他されておらず、かつ、排他要求がない場合は、ボリューム排他状態情報４１１を排他解除状態に設定する。また、論理ボリュームが排他されていないが排他要求がある場合、すなわちボリュームの排他処理中は、ボリューム排他状態情報４１２を排他要求中状態に設定する。また、論理ボリュームが排他状態であり、かつ、排他解除要求がある場合、すなわちボリュームの排他解除処理中には、ボリューム排他状態情報４１２を排他解除要求中状態に設定する。
【００６５】
その他ボリューム状態情報４２０は、ボリュームの状態を管理するための様々な情報を含む。例えば、ボリュームの空き容量やボリュームの障害情報等が格納される。
【００６６】
図６は更新データグループＩＤテーブル２５９の説明図である。
【００６７】
更新データグループＩＤ２５９テーブルは、更新データグループ管理部２５３によって、未使用の更新データグループＩＤが管理される。
【００６８】
更新データグループ管理部２５３は、更新データグループ登録指示によってボリューム状態情報２５８に更新データグループＩＤの登録が必要となった場合には、更新データグループＩＤテーブル２５９から未使用の更新データグループＩＤ２５９を取得する。取得された更新データグループＩＤは、更新データグループＩＤテーブル２５９から削除される。また、更新データグループ登録解除指示によって不要な更新データグループＩＤが生じた場合には、更新データグループＩＤテーブル２５９に更新データグループＩＤを返却する。返却された更新データグループＩＤは、未使用の更新データグループＩＤとする。
【００６９】
なお、更新データグループＩＤは、リスト形式で空きＩＤを管理する方式や、ボリュームごとにユニークな情報、例えばボリュームに付けられたシリアル番号やボリューム状態情報２５８のアドレス等をＩＤとして使用する方式等によって管理される。また、更新データグループとして扱う更新単位は、単一のフォルダやファイルに関する更新入出力要求に限定されるものではなく、複数のフォルダやメインフレームで一般的に呼ばれるデータセット、複数ファイルやメインフレームで一般的に呼ばれるメンバを、一つの単位とした更新データグループＩＤとして管理してもよい。
【００７０】
図７は、ディスク制御装置２０の入出力受付部１１２、入出力制御コンポーネント１１３及びデータコピー制御コンポーネント１１４の説明図である。
【００７１】
入出力制御コンポーネント１１３は、入出力制御部１３１１及びボリューム状態管理部１３１２を含む。
【００７２】
データコピー制御コンポーネント１１４は、データコピー制御部１３０１及びデータバッファ部１３０２を含む。
【００７３】
データバッファ部１３０２は、リモートコピーのリモートサイト２側のディスク制御装置２０Ｂにおいて、更新データグループＩＤが付与されたデータ更新要求を更新データ情報１３０３に変換して蓄積する部分である。
【００７４】
ボリューム状態管理部１３１２は、ディスク制御装置２０が管理しているボリュームの情報であるボリューム情報１３１３を管理する。
【００７５】
データコピー制御部１３０１は、ディスク制御装置２０間のリモートコピーを制御する。より具体的には、メインサイト１のディスク制御装置２０Ａにおいては、データ更新要求や更新データグループ解除指示コマンドをリモートサイト２のディスク制御装置２０Ｂに送信する。一方、リモートサイト２のディスク制御装置２０Ｂにおいては、データバッファ部１３０２に更新データ情報１３０３を蓄積する。また、更新データグループ解除指示コマンドの要求に従って、データバッファ部１３０２の情報を副ボリューム１８１に反映する。
【００７６】
入出力制御部１３１１は、入出力受付部１１２を介して受信したコマンドを実行する。メインサイト１のディスク制御装置２０Ａにおいては、データ更新要求や更新データグループ解除指示コマンドをデータコピー制御部１３０１に送信する。一方、リモートサイト２のディスク制御装置２０Ｂにおいては、入出力受付部１７２からのデータ更新要求や更新データグループ解除指示コマンドをデータコピー転送部１３０１に送信する。また、データコピー制御部１３０１からのデータ更新要求を副ボリューム１８１に対して実行する。
【００７７】
また、入出力制御部１３１１は、排他コマンドを実行してボリューム情報１３１３に排他状態を設定したり、排他解除コマンドを実行してボリューム情報１３１３に排他解除状態を設定する。
【００７８】
図８は、更新データ情報１３０３の説明図である。
【００７９】
リモートサイト２のディスク制御装置２０Ｂにおいて、データコピー制御コンポーネント１１４のデータコピー０制御部１３０１が、受信した更新データグループＩＤが付与されたデータ更新要求を、更新データ情報１３０３として格納する。
【００８０】
更新データ情報１３０３は、更新データシーケンス番号１４０１、タイムスタンプ１４０２、更新データグループＩＤ１４０３及びデータ更新除法１４０４を含む。
【００８１】
更新データシーケンス番号１４０１は、メインサイトのディスク制御装置がリモートサイトにおけるデータ更新順序を保証するために付与する通し番号である。タイムスタンプ１４０２は、ホスト計算機１０が入出力コマンド群に付与した時刻（タイムスタンプ）を反映した情報である。なお、このタイムスタンプ１４０２をそのまま更新データシーケンス番号１４０１として使用してもよい。更新データグループＩＤ１４０３は、更新データ情報１３０３がどの更新データグループに属するかを示す情報である。データ更新情報１４０４は、更新対象データと更新内容とを含む情報である。
【００８２】
図９は、ボリューム情報１３１３の説明図である。
【００８３】
ボリューム情報１３１３は、入出力制御コンポーネント１１３の入出力制御部１３１１によって管理され、ディスク制御装置２０のディスク装置３０に設定された各論理ボリュームの情報が格納される。
【００８４】
ボリューム情報１３１３は、ボリュームＩＤ１５０４、ボリューム排他情報１５０１、リモートボリューム情報１５０２及びその他ボリューム情報１５０３とを含む。
【００８５】
ボリュームＩＤ１５０４は、その論理ボリュームの識別子である。ボリューム排他情報１５０１は、その論理ボリュームが排他に設定されているか否かを示す識別子である。リモートボリューム情報１５０２は、メインサイトの正ボリュームに対して設定されているリモートサイトの副ボリュームの情報である。その他ボリューム情報１５０３は、ボリュームを管理するための様々な情報、例えば、ボリュームの空き容量やボリュームの障害情報等を含む。
【００８６】
次に、前述のように構成された計算機システムの処理を説明する。
【００８７】
前述のように構成された計算機システムでは、メインサイト１において、ホスト計算機１０Ａがディスク制御装置２０Ａに対して、ディスク装置３０Ａの正ボリューム１３１に格納されるデータの入出力を要求する。この入出力要求がデータの更新要求である場合は、ディスク制御装置２０Ａは、更新要求に係る更新データを、正ボリューム１３１に格納すると共に、リモートサイト２のディスク制御装置２０Ｂに要求して、副ボリューム１８１にも格納する。このように、メインサイト１のデータをリモートサイト２に格納する処理をリモートコピーと呼ぶ。
【００８８】
ここで、メインサイト１からリモートサイト２へのデータの更新の途中で、災害の発生等によってリモートコピーが中断した場合には、ホスト計算機１０Ａにとって有効なデータのグループ（例えばファイルなど）のうちの一部データの更新が滞ってしまい、データの破壊やボリューム破壊となる。これを防ぐために、本発明では、ホスト計算機１０Ａにとって有効なデータのグループを更新データグループとして設定し、この更新データグループに属するすべてのデータを一つの単位として副ボリューム１８１に反映させる処理を実行する。以降、この処理について具体的に説明する。
【００８９】
図１０は、計算機システムの処理の概略のフローチャートである。
【００９０】
ホスト計算機１０において、ホスト計算機１０上で動作するアプリケーションプログラム１０１又はＯＳ１０２が入出力要求を作成する（ステップＳ２３０１）。
【００９１】
ＯＳ１０２は、この入出力要求に対して、複数の更新入出力要求を１つの更新データグループとして扱う必要があるかを判定する（ステップＳ２３０２）。複数の更新入出力要求を更新データグループとして扱う必要がある場合には、入出力要求に更新データグループを識別するための情報を付与する（ステップＳ２３０３）。そして、ポート１０５を経由して、ディスク制御装置２０Ａに入出力要求を送信する（ステップＳ２３０４）。
【００９２】
なお、入出力要求を更新データグループとして扱う必要がない場合には、更新データグループを識別する情報を付与することなく、ポート１０５を経由して、入出力要求をディスク制御装置２０Ａに送信する（ステップＳ２３０４）。
【００９３】
ディスク制御装置２０Ａにおいて、ポート１１１を経由して入出力受付部１１２が入出力要求を受け取る。この入出力要求は、入出力制御部１３１１が正ボリューム１２１に対して実行する（ステップＳ２３１１）。
【００９４】
次に、入出力制御部１３１１は、入出力要求の種別を判定する（ステップＳ２３１２）。入出力要求が更新要求である場合は、入出力制御部１３１１は、この更新要求を、入出力受付部１１２、ポート１１５及びネットワーク１５０を介してリモートサイト２のディスク制御装置２０Ｂに送信する（ステップＳ２３１３）。
【００９５】
ディスク制御装置２０Ｂにおいて、ポート１１５を経由して入出力受付部１１２が更新要求を受け取る。入出力制御部１３１１は、メインサイト１からの更新要求に更新データグループ情報が付与されているかを判定する（ステップＳ２３２１）。情報が付与されている場合は、更新要求をデータバッファ部１３０２に蓄積する（ステップＳ２３２２）。情報が付与されていない場合には、更新データを入出力制御コンポーネント１１３を介して副ボリューム１８１に対して入出力要求を実行する（ステップＳ２３２３）。すなわち、更新データグループを判別するための情報が付与されていない場合には、通常のリモートコピーとなる。更新データグループの更新入出力実行がすべて完了したら、ホスト計算機１０に通知する（ステップＳ２３３１）
次に、ホスト計算機１０Ａは、リモートサイト２のディスク制御装置２０Ｂに蓄積された更新データグループの更新要求を副ボリューム１８１に反映する指示を作成する（ステップＳ２３４１）そしてこれをディスク制御装置２０Ａに送信する（ステップＳ２３４２）。
【００９６】
ディスク制御装置２０Ａは、更新データグループの反映指示をディスク制御装置２０Ｂに送信する（ステップＳ２３５１）。
【００９７】
この反映指示を受けたディスク制御装置２０Ｂは、データバッファ部１３０２に蓄積した更新情報の中から反映指示によって指示された更新データグループの更新要求を検索して、副ボリューム１８１に対して入出力要求を実行する（ステップＳ２３６１）。
【００９８】
以上のような処理によって、ホスト計算機１０Ａからの入出力要求がディスク制御装置２０Ａを介してディスク装置３０の正ボリューム１２１に実行される。また、この入出要求は、リモートサイト２においても、ディスク制御装置２０Ｂを介してディスク装置３０Ｂの副ボリューム１８１に実行される。このとき、更新データは、ディスク制御装置２０Ｂのデータバッファ部１３０２に蓄積しておき、ホスト計算機１０Ａから反映指示があったときに、この更新データをまとめて副ボリューム１８１に対して入出力する。
【００９９】
なお、この計算機システムにおいて、災害が発生したときは、メインサイト１のホスト計算機１０Ａ、ディスク制御装置２０Ａ及びディスク装置３０Ａによって実行して業務を、リモートサイト２のホスト計算機１０Ｂ、ディスク制御装置２０Ｂ及びディスク装置３０Ｂに切り替えて業務を再開する。
【０１００】
図１１は、ホスト計算機１０の処理のフローチャートである。
【０１０１】
このフローチャートは、ホスト計算機１０のＯＳ１０２の入出力データ管理プログラム１０３と入出力実行管理プログラム１０４とで実行される処理の概略である。
【０１０２】
入出力管理プログラム１０３のデータアクセス制御部２０２は、ＯＳ１０２又はアプリケーションプログラム１０１からの入出力要求を受け取ると、その入出力要求を分析して、入出力対象データのデータ構造情報２０６をデータ構造管理部２０１から取得する（ステップＳ２４１０）。
【０１０３】
次に、データアクセス制御部２０２は、入出力要求の分析結果とデータ構造情報２０６からボリュームの排他要否と更新データグループの登録要否を判定して、要求部２０５を介して状態制御部２５５にボリュームの排他や更新データグループＩＤの登録を指示する（ステップＳ２４２０）。
【０１０４】
要求部２０５の指示を受けた状態制御部２５７は、ボリューム状態管理部２５８に更新データグループＩＤ及びボリューム排他情報を設定する（ステップＳ２４３０）。次に、データアクセス制御部２０２は、入出力要求に対応した入出力コマンド群を生成して、入出力実行制御部２５１に送信する（ステップＳ２４４０）。
【０１０５】
入出力実行制御部２５１は、データアクセス制御部２０２からの入出力要求を受け取ると、まず、状態制御部２５７に入出力要求の実行可否を判定させる。この結果、入出力が実行可能であると判定した場合は、入出力実行制御部２５１は、ボリューム状態管理部２５２に設定された情報から更新データグループＩＤの付与要否を判定する。この結果、付与が必要と判定した場合は、入出力要求に更新データグループＩＤを付与する（ステップＳ２４５０）。そして、入出力実行制御部２５１は、入出力要求をディスク制御装置２０Ａに送信する（ステップＳ２４６０）。
【０１０６】
ホスト計算機１０は、このステップＳ２４１０乃至Ｓ２４６０の処理によって、ディスク制御装置２０Ａを介して、論理ボリュームにデータの入出力を処理する。なお、更新データグループＩＤは、入出力要求に係る一連の更新データ（更新データグループ）のすべての入出力要求が完了するまでの間、又は、入出力要求に係る論理ボリュームを排他に設定している間、のいずれかの場合に、付与が必要を判定する。
【０１０７】
その後、更新データグループに属するすべての入出力要求をディスク制御装置２０Ａに送信した場合は、データアクセス制御部２０２は、要求部２０５を介して状態制御部２５７に、更新データグループの解除を指示する。状態制御部２５７は更新データグループの解除指示を受けると、解除指示用のコマンドを作成して、入出力実行制御部２５１に解除指示用のコマンドの実行を指示する。入出力実行制御部２５１は解除指示用のコマンドをディスク制御装置２０Ａに送信する（ステップＳ２４７０）。
【０１０８】
図１２は、メインサイト１のディスク制御装置２０Ａの処理のフローチャートである。
【０１０９】
ディスク制御装置２０Ａにおいて、入出力制御コンポーネント１１３及びデータコピー制御コンポーネント１１４は、入出力受付部１１２を介してホスト計算機１０Ａからの入出力要求を受けたときに、本フローチャートの処理を実行する。
【０１１０】
ディスク制御装置２０Ａにおいて、入出力コンポーネント１１３の入出力制御部１３１１は、ポート１１１及び入出力受付部１１２を介して受けた入出力要求を分析する（ステップＳ２５１０）そして、分析の結果、入出力要求の種別を判定する（ステップＳ２５２０）。
【０１１１】
入出力要求が参照入出力要求であると判定した場合は、入出力制御部１３１１は、正ボリューム１２１からデータを読み出して、入出力受付部１１２及びポート１１１を介して、要求元のホスト計算機１０Ａに読み出したデータを送信する（ステップＳ２５４０）。
【０１１２】
入出力要求が参照要求でないと判定した場合は、さらに更新要求又は更新データグループの反映指示要求であるかを判定する（ステップＳ２５３０）。
【０１１３】
入出力要求が更新入出力要求であると判定した場合は、入出力制御部１３１１は、正ボリューム１２１に対してデータを書き込む（ステップＳ２５５０）。そして、データコピー制御部１３０１に、この入出力要求を渡す（ステップＳ２５６０）。データコピー制御部１３０１は、受け取った更新入出力要求を、入出力受付部１１２及びポート１１５を介してディスク制御装置２０Ｂに送信する（ステップＳ２５７０）。
【０１１４】
入出力要求が更新データグループの反映指示要求であると判定した場合は、入出力制御部１３１１は、ステップＳ２５５０の処理することなく、データコピー制御部１３０１に、この入出力要求を渡す（ステップＳ２５６０）。データコピー制御部１３０１は、受け取った更新入出力要求を、入出力受付部１１２及びポート１１５を介してディスク制御装置２０Ｂに送信する（ステップＳ２５７０）。
【０１１５】
以上の処理によって、ホスト計算機１０Ａから送信された入出力要求が処理される。
【０１１６】
図１３は、リモートサイト２のディスク制御装置２０Ｂの処理のフローチャートである。
【０１１７】
ディスク制御装置２０Ｂにおいて、入出力制御コンポーネント１１３及びデータコピー制御コンポーネント１１４は、入出力受付部１１２を介してディスク制御装置２０Ａからの入出力要求を受けたときに、本フローチャートの処理を実行する。
【０１１８】
入出力制御部１３１１は、ポート１１５及び入出力受付部１１２Ｂを介して受け取った更新入出力要求又は更新データグループの反映指示をデータコピー制御部１３０１に渡す（ステップＳ２６１０）。データコピー制御部１３０１は渡されたのが更新入出力要求かを判定し（ステップＳ２６２０）、更新入出力要求の場合には要求に更新データグループＩＤが付与されているかを判定する（ステップＳ２６３０）。情報が付与されている場合にはデータバッファ部１３０２に更新入出力要求を蓄積し（ステップＳ２６４０）、付与されていない場合には入出力制御部１３１１に更新入出力要求を送信し、副ボリューム１８１に反映する（ステップＳ２６５０）。更新入出力要求でない場合（更新データグループの反映指示の場合）には、データバッファ部１３０２から反映を指示された更新データグループの更新入出力要求を検索し、入出力制御部１３１１に反映を指示された更新データグループの更新入出力要求を送信し、副ボリューム１８１への反映する（ステップＳ２６６０）。
【０１１９】
図１４はデータアクセス制御部２０２の制御の流れを示したフローチャートである。
【０１２０】
データアクセス制御部２０２は、入出力要求を受け取ると、その要求の内容を分析する。すなわち、受け取った入出力要求が、ＯＳ１０２からの入出力要求であるかアプリケーションプログラム１０１からの入出力要求、更新要求又は参照要求であるか、ボリュームの排他要求であるか、更新データグループの登録／登録解除指示であるかを分析する（ステップＳ６０１）。
【０１２１】
まず、分析の結果、ＯＳ１０２からの入出力要求であるか、アプリケーションプログラム１０１からの入出力要求であるかを判定する（ステップＳ６０２）。
【０１２２】
ＯＳ１０２からの入出力要求の場合には、データアクセス制御部２０２は、データ構造管理部２０１から入出力対象データのデータ構造情報２０６を取得する（ステップＳ６０３）。そして、ステップＳ６０１の分析結果と取得したデータ構造情報２０６とからボリュームを排他とするかの要否を判定する（ステップＳ６０４）。
【０１２３】
ボリュームの排他が必要であると判定した場合には、データアクセス制御部２０２は、排他要求部２０３にボリュームの排他を指示する（ステップＳ６０５）。そして、ステップＳ６０８に移行する
一方、ボリュームの排他が不要と判定した場合には、ステップＳ６０１の分析結果と取得したデータ構造情報２０６とから更新データグループ登録の指示の要否を判定する（ステップＳ６０６）。更新データグループ登録指示が必要な場合は、データアクセス制御部２０２は、更新データグループ要求部２０４に更新データグループ登録を指示する（ステップＳ６０７）。
【０１２４】
ステップＳ６０８では、入出力コマンド群の生成及び入出力実行制御部２５１への入出力要求処理を実行する。なおこの処理の詳細は図１５で説明する。
【０１２５】
データアクセス制御部２０２は、この入出力要求処理を、入出力要求を実現するすべての入出力コマンド群の実行処理が完了するまで繰り返す（ステップＳ６０９）。
【０１２６】
すべての入出力コマンド群の実行処理が完了したら、データアクセス制御部２０２は、ステップＳ６０４においてボリュームの排他を指示したか否かを判定する（ステップＳ６１０）。ボリュームの排他を指示した場合は、データアクセス制御部２０２は、排他要求部２０３にボリュームの排他解除を指示する（ステップＳ６１１）。一方、ボリュームの排他を指示していない場合には、データアクセス制御部２０２は、更新データグループ登録解除指示の要否を判定する（ステップＳ６１２）。更新データグループ登録解除指示が必要な場合は、データアクセス制御部２０２は、更新データグループ要求部２０４に更新データグループ登録解除を指示する（ステップＳ６１３）。
【０１２７】
ステップＳ６０２において、ＯＳ１０２からの入出力要求でない場合、すなわち、アプリケーションプログラム１０１からの入出力要求の場合には、データアクセス制御部２０２は、要求がボリュームの排他／排他解除指示ではあるか否かを判定する（ステップＳ６１４）。入出力要求がボリュームの排他／排他解除指示でない場合は、データアクセス制御部２０２は、入出力要求が更新データグループ登録／登録解除指示であるか否かを判定する（ステップＳ６１８）。
【０１２８】
入出力要求が更新データグループ登録／登録解除指示でない場合には、データアクセス制御部２０２は、その入出力要求に対応する入出力コマンド群の生成と入出力実行制御部２５１への入出力要求処理を実行する（ステップＳ６２２）。なお、このステップＳ６２２に処理の詳細は図１５で説明する。
【０１２９】
ステップＳ６１４において排他／排他解除指示であると判定した場合には、データアクセス制御部２０２は、指示種別を判別する（ステップＳ６１５）。指示種別がボリュームの排他指示の場合は、データアクセス制御部２０２は、排他要求部へボリュームの排他を指示する（ステップＳ６１６）。指示種別がボリュームの排他解除指示の場合は、データアクセス制御部２０２は、排他要求部へボリュームの排他解除を指示する（ステップＳ６１７）。
【０１３０】
ステップＳ６１８において、更新データグループ登録／登録解除指示であると判定した場合は、データアクセス制御部２０２は、指示種別を判別する（ステップＳ６１９）。指示種別が更新データグループ登録指示の場合は、データアクセス制御部２０２は、更新データグループ要求部２０４に更新データグループ登録を指示する（ステップＳ６２０）。更新データグループ登録解除指示の場合は、データアクセス制御部２０２は、更新データグループ要求部２０４に更新データグループ登録解除を指示する（ステップＳ６２１）。
【０１３１】
そして最後に、データアクセス制御部２０２は、入出力要求元であるアプリケーションプログラム１０１に、実行完了を通知して、実行結果を報告する（ステップＳ６２３）。
【０１３２】
図１５はデータアクセス制御部２０２における入出力コマンド群の生成と入出力実行制御部２５１への入出力要求処理のフローチャートである。
【０１３３】
データアクセス制御部２０２は、データ構造管理部２０１から入出力対象データのデータ構造情報２０６を取得すると（ステップＳ７０１）、ステップＳ６０１で分析した入出力要求の分析結果とデータ構造情報２０６とに対応する入出力コマンド群を生成する（ステップＳ７０２）。
【０１３４】
そして、データアクセス制御部２０２は、入出力実行制御部２５１に生成した入出力コマンド群の実行を指示して（ステップＳ７０３）、入出力実行制御部２５１からの入出力完了報告を待つ（ステップＳ７０４）。
【０１３５】
図１６Ａは、要求部２０５の排他要求部２０３の処理のフローチャートである。
【０１３６】
排他要求部２０３は、データアクセス制御部２０２からの指示を受け取ると（ステップＳ８０１）、その指示が排他指示であるか排他解除指示であるか否かを判定する（ステップＳ８０２）。指示が排他指示の場合には、排他要求部２０３は、排他制御部２５４へボリュームの排他を指示する（ステップＳ８０３）。一方、排他解除指示の場合には、排他要求部２０３は、排他制御部２５４へボリュームの排他解除を指示する（ステップＳ８０４）。
【０１３７】
図１６Ｂは要求部２０５の更新データグループ要求部２０４の処理のフローチャートである。
【０１３８】
更新データグループ要求部２０４は、データアクセス制御部２０２からの指示を受け取ると（ステップＳ８５１）、その指示が更新データグループ登録指示であるか更新データグループ登録解除指示であるか否かを判定する（ステップＳ８５２）。
【０１３９】
指示が更新データグループ登録指示の場合は、更新データグループ要求部２０４は、更新データグループ制御部２５５に更新データグループ登録を指示する（ステップＳ８５３）。
【０１４０】
指示が更新データグループ登録解除指示の場合には、更新データグループ要求部２０４は、更新データグループ制御部２５５へ更新データグループ登録解除を指示する（ステップＳ８５４）。
【０１４１】
図１７は、ボリューム状態制御部２５６の処理のフローチャートである。
【０１４２】
ボリューム状態制御部２５６は、入出力実行制御部２５１からの要求の受け取ると、要求種別を分析する（ステップＳ９０１）。そして、ボリューム状態管理部２５２から要求対象のボリューム状態情報２５８を取得する（ステップＳ９０２）。
【０１４３】
次に、ボリューム状態制御部２５６は、要求種別を判定し（ステップＳ９０３）、要求種別がボリューム状態情報の取得要求の場合にはボリューム状態管理部から取得したボリューム状態情報２５８を入出力実行制御部に渡す（ステップＳ９０４）。入出力実行可否の判定要求の場合には、ボリューム状態情報２５８から入出力の実行可否を判定し（ステップＳ９０５）、入出力が実行可能な場合には入出力実行制御部２５１へ入出力が実行可であることを報告する（ステップＳ９０６）。入出力が実行不可能な場合、例えば、他の入出力要求の実行完了待ちやボリュームに障害がある場合などは、入出力実行制御部２５１に入出力が実行不可であることを報告する。
【０１４４】
図１８は、排他制御部２５４の処理のフローチャートである。
【０１４５】
排他制御部２５４は、排他要求部２０３からの要求を受け取ると、その要求がボリューム排他指示であるか否かを判定する（ステップＳ１００１）。ボリューム排他指示の場合は、排他制御部２５４は、ボリューム状態情報２５８のボリューム排他要求カウンタ４１１が０であるか否かを判定する（ステップＳ１００２）。このとき、ボリューム排他要求カウンタ４１１が０の場合は、排他制御部２５４は、ボリューム排他状態情報４１２を排他要求中状態、すなわち、ボリューム排他処理中であること示す状態に設定する（ステップＳ１００３）。そして、排他制御部２５４は、更新データグループ制御部へ更新データグループの登録を指示する（ステップＳ１００４）。
【０１４６】
次に、排他制御部２５４は、ボリューム排他要求カウンタ４１１に１を加算する（ステップＳ１００５）。ボリューム排他要求カウンタ４１１が０より大きい場合は、排他制御部２５４は、ボリューム排他状態情報４１２を変更せずにボリューム排他要求カウンタ４１１に１を加算する（ステップＳ１００５）。
【０１４７】
一方、ボリューム排他指示でない場合、すなわち、ボリュームの排他解除指示の場合は、排他制御部２５４は、ボリューム排他状態情報４１２が排他状態であるか否かを判定する（ステップＳ１００６）。ボリューム排他状態情報４１２が排他状態である場合は、ボリューム排他要求カウンタ４１１から１を減算する（ステップＳ１００７）。そして、排他制御部２５４は、１を減算した結果、ボリューム排他要求カウンタ４１１が０になったか否かを判定する（ステップＳ１００８）。
【０１４８】
ボリューム排他要求カウンタ４１１が０の場合は、排他制御部２５４は、ボリューム排他状態情報４１２を排他解除要求中状態に設定する（ステップＳ１００９）。そして、更新データグループ制御部へ更新データグループの登録解除を指示する（ステップＳ１０１０）。そして、排他制御部２５４は、排他解除コマンドを作成して入出力実行制御部２５１に排他解除コマンドの実行を指示する（ステップＳ１０１１）。
【０１４９】
なお、ステップＳ１００６において、排他状態ではない場合、すなわち排他されていないのに排他解除要求された場合は、排他制御部２５４は処理をせずに終了する。
【０１５０】
図１９は、更新データグループ制御部２５５の処理のフローチャートである。
【０１５１】
更新データグループ制御部２５５は、更新データグループ要求部２０４又は排他制御部２５４からの指示種別を判定する（ステップＳ１１０１）。
【０１５２】
指示種別が更新データグループ登録指示の場合は、更新データグループ制御部２５５は、更新データグループ登録要求カウンタ４０１が０であるか否かを判定する（ステップＳ１１０２）。更新データグループ登録カウンタ４０１が０の場合は、更新データグループ管理部２５３から未使用の更新データグループＩＤ２５９を取得し（ステップＳ１１０３）、取得した更新データグループＩＤをボリューム状態情報２５８に設定する（ステップＳ１１０４）。そして、更新データグループ登録状態情報４０３を更新データグループ登録中状態に設定（ステップＳ１１０５）して、更新データグループ登録要求カウンタ４０１に１を加算する（ステップＳ１１０６）。
【０１５３】
一方、ステップＳ１１０２で更新データグループ登録要求カウンタ４０１が０より大きい場合は、更新データグループ制御部２５５は、更新データグループ登録カウンタ４０１に１を加算する（ステップＳ１１０６）。
【０１５４】
ステップＳ１１０１において、更新データグループ登録解除指示の場合は、更新データグループ制御部２５５は、ボリューム状態情報２５８の更新データグループ登録状態情報４０３が更新データグループ登録中状態であるか否かを判定する（ステップＳ１１０７）。また、更新データグループ登録中状態の場合は、更新データグループ制御部２５５は、更新データグループ登録要求カウンタ４０１から１を減算する（ステップＳ１１０８）。１を減算した結果、更新データグループ登録要求カウンタ４０１が０であるか否かを判定する（ステップＳ１１０９）。
【０１５５】
更新データグループ登録カウンタ４０１が０の場合は、更新データグループ制御部２５５は、更新データグループ登録状態情報４０３を更新データグループ登録解除中状態に設定する（ステップＳ１１１０）。そして、ボリューム状態情報２５８の更新データグループＩＤを更新データグループ管理部２５３に返却する（ステップＳ１１１１）。
【０１５６】
次に、更新データグループ制御部２５５は、更新データグループ解除指示コマンドを作成して、入出力実行制御部２５１に更新データグループ解除指示コマンドの実行を指示する（ステップＳ１１１２）。なお、ステップＳ１１０７で更新データグループ登録状態情報４０３が更新データグループ登録中状態でない場合、すなわち、更新データグループが登録されていないのに登録解除要求された場合は、更新データグループ制御部２５５は、処理をせずに終了する。
【０１５７】
図２０は、前述のカウンタの説明図である。
【０１５８】
図２０の例は、三つのアプリケーションプログラムＡ、Ｂ、ＣとＯＳの入出力要求及び更新データグループの登録／登録解除指示のタイミングを示す。
【０１５９】
どのタイミングで更新データグループの登録／登録解除が指示されたかによって、更新データグループ登録要求カウンタの値を設定する。このカウンタの値によって、入出力要求を１つの更新データグループとして扱う範囲が決定される。
【０１６０】
前述の図１９の処理によって、更新データグループ登録要求カウンタの値が更新データグループ登録指示によって０から１に変わったときから、更新データグループ登録解除指示によって１から０に変わるまでの区間の入出力要求は、１つの更新データグループとして扱う。具体的には、図において四角記号で示す入出力要求は、すべて１つの更新データグループとして扱われる。
【０１６１】
例えばアプリケーションプログラムＡによって入出力要求があったとき、タイミングＴ１の時点で更新データグループの登録要求があった場合は、カウンタが１加算される。その後、他のアプリケーションプログラムＢ又はＣから更新データグループ登録要求があった場合は、その要求毎にカウンタが１加算される。その後、アプリケーションプログラムＢ又はＣからの更新データグループ登録解除要求があった場合は、カウンタがそれぞれ１ずつ減算される。そして、最終的に、Ｔ２のタイミングで指示された更新データグループ登録解除指示によって、カウンタが０となる。これによって、更新データグループに属するデータをすべてリモートサイト２の副ボリューム１８１に一括反映するための指示をディスク制御装置２０Ｂに送信する。
【０１６２】
図２１は入出力実行制御部２５１の処理のフローチャートである。
【０１６３】
入出力実行制御部２５１は、入出力の実行に先立ちボリューム状態制御部２５６に入出力実行可否の判定を要求して（ステップＳ１２０１）、ボリューム状態制御部２５６の判定結果から入出力実行可能な状態であるか否かを判定する（ステップＳ１２０２）。
判定結果が入出力実行不可であった場合には、入出力実行制御部２５１は、入出力要求を実行せずに待ち状態又はエラーとする（ステップＳ１２０３）。
【０１６４】
判定結果が入出力実行可能であった場合には、入出力実行制御部２５１は、ボリューム状態制御部２５６にボリューム状態情報２５８を取得するよう要求する（ステップＳ１２０４）。そして、取得したボリューム排他状態情報４１３が排他要求中状態であるか否かを判定し（ステップＳ１２０５）、排他要求中状態の場合には、入出力実行制御部２５１は、データアクセス制御部から渡された入出力コマンド群にボリュームの排他コマンドを付与する（ステップＳ１２０６）。
【０１６５】
次に、入出力実行制御部２５１は、更新データグループ登録状態情報４０３が更新データグループ登録中状態であるか否かを判定する（ステップＳ１２０７）。更新データグループ登録中状態でない場合には、入出力実行制御部２５１は、ボリューム状態情報２５８に設定された更新データグループＩＤ４０２を取得して（ステップＳ１２０８）、入出力コマンド群に更新データグループＩＤを付与する（ステップＳ１２０９）。
【０１６６】
次に、入出力実行制御部２５１は、入出力コマンド群にボリュームの制御に必要な制御用コマンド群とタイムスタンプを付与して（ステップＳ１２１０）、入出力コマンド群をディスク制御装置に送信する（ステップＳ１２１１）。
【０１６７】
入出力コマンド群をディスク制御装置に送信した後は、入出力実行制御部２５１は、ディスク制御装置から入出力完了の報告があるまで待つ（ステップＳ１２１２）。入出力完了報告を受け取ったときは、ボリューム状態が排他要求中状態又は排他解除要求中状態であるか否かを判定し（ステップＳ１２１３、ステップＳ１２１４）、排他要求中状態の場合は、入出力実行制御部２５１は、ボリューム排他状態情報４１２を排他状態とする（ステップＳ１２１５）。一方、排他解除要求中状態の場合は、入出力実行制御部２５１は、ボリューム排他状態情報４１２を排他解除状態とする（ステップＳ１２１６）。そして最後に、入出力要求元へ入出力完了を報告する（ステップＳ１２１７）。
【０１６８】
図２２は、メインサイト１のディスク制御装置２０Ａのデータコピー制御部１３０１の処理のフローチャートである。
【０１６９】
データコピー制御部１３０１は、入出力制御部１３１１からコマンドを受け取った場合は（ステップＳ１６０１）、受け取ったコマンドに更新データグループＩＤが付与されているか否かを判定する（ステップＳ１６０２）。
【０１７０】
更新データグループＩＤが付与されている場合には、データコピー制御部１３０１は、更新データグループ解除指示コマンドでないかを判定する（ステップＳ１６０３）。更新データグループ解除指示コマンドでない場合は、データコピー制御部１３０１は、入出力制御部１３１１から受け取った更新入出力コマンド群を更新データ情報１３０３に変換する（ステップＳ１６０４）。そして、データコピー制御部１３０１は、ディスク制御装置で管理している更新データシーケンス番号１４０１を付与して（１６０５）、ボリューム情報管理部１３１２からリモートボリューム情報１５０２を取得して（ステップＳ１６０６）、入出力受付部１１２を介してリモートサイトのディスク制御装置（ディスク制御装置２０Ｂ）に送信する（ステップＳ１６０７）。
【０１７１】
図２３はリモートサイト２のディスク制御装置２０Ｂのデータコピー制御部１３０１の処理のフローチャートである。
【０１７２】
データコピー制御部１３０１は、入出力制御部１３１１からコマンドを受け取った場合は（ステップＳ１７０１）、受け取ったコマンドに更新データグループＩＤが付与されているか否かを判定する（ステップＳ１７０２）。
【０１７３】
更新データグループＩＤが付与されている場合は、データコピー制御部１３０１は、更新データグループ解除指示コマンドであるか否かを判定する（ステップＳ１７０３）。更新データグループ解除指示コマンドでない場合には、データバッファ部１３０２に更新データ情報１３０３を蓄積する（ステップＳ１７０４）。
【０１７４】
更新データグループ解除指示コマンドの場合は、データコピー制御部１３０１は、データバッファ部１３０２に蓄積された更新データ情報１３０３を更新データシーケンス番号順に並び替える（ソートする）（ステップＳ１７０５）。
【０１７５】
次に、データコピー制御部１３０１は、データバッファ部１３０２から更新データグループ解除指示コマンドと同じ更新データグループＩＤを持ち、かつ更新データシーケンス番号が更新データグループ解除指示コマンドに付与されたものより小さい更新データ情報を検索する（ステップＳ１７０６）。検索の結果、データコピー制御部１３０１は、条件に一致する更新データ情報１３０３を入出力制御部１３１１に送信して、データ更新を実行する（ステップＳ１７０７）。
【０１７６】
ステップＳ１７０２において、更新データグループＩＤが付与されていない場合には、データコピー制御部１３０１は、更新データ情報を入出力制御部に送信して、データ更新を実行する（ステップＳ１７０８）。
【０１７７】
なお、更新データグループＩＤが付与されていない場合には、通常のリモートコピーを実行する。
【０１７８】
図２４は、メインサイトのディスク制御装置２０Ａの入出力制御部１３１１の処理のフローチャートである。
【０１７９】
入出力制御部１３１１は、コマンドを受け取ると、そのコマンドを分析する（ステップＳ１８０１）。そして、受け取ったコマンドが更新データグループ解除指示コマンドであるか否かを判定する（ステップＳ１８０２）。
【０１８０】
更新データグループ解除指示コマンドの場合は、入出力制御部１３１１は、データコピー制御部１３０１へ更新データコピー解除指示コマンドを送信する（ステップＳ１８０３）。
【０１８１】
更新データグループ解除指示コマンドでない場合は、入出力制御部１３１１は、ボリューム情報１３１３から入出力対象ボリュームへの入出力実行可否を判定する（ステップＳ１８０４）。そして、入出力実行可否を判定する（ステップＳ１８０５）。
【０１８２】
判定の結果、入出力が実行不可だった場合は、入出力制御部１３１１は、入出力の実行をエラーとし計算機にエラー終了を報告する（ステップＳ１８０６）。
【０１８３】
判定の結果、入出力が実行可能である場合は、入出力制御部１３１１は、入出力対象ボリュームへ入出力を実行する（ステップＳ１８０７）。そして、入出力の実行が完了するまで待ち、入出力が正常終了したか否かを判定する（ステップＳ１８０８）。
【０１８４】
入出力が異常終了した場合は、入出力制御部１３１１は、入出力の実行をエラーとし計算機へエラー終了を報告する（ステップＳ１８０６）。
【０１８５】
入出力が正常終了した場合には、入出力制御部１３１１は、ホスト計算機１０Ａに入出力の正常終了を報告する（ステップＳ１８０９）。そして、入出力制御部１３１１は、正常終了した要求がデータ更新要求か否かを判定する（ステップＳ１８１０）。データ更新要求の場合にはデータコピー制御部１３０１へデータ更新要求を送信する（ステップＳ１８１１）。
【０１８６】
図２５はリモートサイト２のディスク制御装置２０Ｂの入出力制御部１３１１の処理のフローチャートである。
【０１８７】
入出力制御部１３１１は、入出力受付部１１２又はデータコピー制御部１３０１から更新データ情報・更新データグループ解除指示コマンドを受け取ると、そのコマンドを分析する（ステップＳ１９０１）。そして、要求・コマンドがデータコピー制御部１３０１からのデータ更新要求か否かを判定する（ステップＳ１９０２）
データコピー制御部１３０１からの要求でない場合は、入出力制御部１３１１は、コマンド／更新データ情報をデータコピー制御部１３０１に送信する（ステップＳ１９０４）。
【０１８８】
データコピー制御部１３０１からのデータ更新要求の場合は、入出力制御部１３１１は、ボリューム情報１３１３からデータ更新対象ボリュームの入出力実行可否を判定して（ステップＳ１９０４）データの更新が可能か否かを判定する（ステップＳ１９０５）。
【０１８９】
データ更新が可能な場合は、入出力制御部１３１１は、対象ボリュームへのデータ更新を実行する（ステップＳ１９０６）。一方、データ更新が不可能な場合は、入出力制御部１３１１は、データ更新要求をエラーとする（ステップＳ１９０７）。
【０１９０】
図２６は、更新入出力要求を受け取ったときの、ホスト計算機１０Ａからディスク制御装置２０Ａに送信するコマンド群の一例である。
【０１９１】
このコマンド群は、制御用コマンド群と複数のデータ書き込みコマンド２００５とを含む。制御用コマンド群は、ディスク制御装置２０の指示する１つ又は複数の制御用コマンド２００１、その制御用コマンド２００１に対応するタイムスタンプ２００２、及び、必要な場合は更新データグループＩＤ２００３及び排他コマンド２００４を含む。
【０１９２】
以上のように本発明の第１の実施の形態では、メインサイト１において、ホスト計算機１０Ａがディスク制御装置２０Ａに対して、ディスク装置３０Ａの正ボリューム１３１に格納されるデータの入出力を要求する。この入出力要求に、更新データがどのグループに属するかの情報（更新データグループＩＤ）を付与することによって、ホスト計算機１０Ａから見て有効なデータの範囲を設定する。リモートサイト２のディスク制御装置２０Ｂにおいては、この更新データグループＩＤが同一の要求データを一時的に蓄積して、反映要求があったときに、更新データグループＩＤが同一の要求データを一括して副ボリューム１８１に格納する。このようにすることによって、ホスト計算機１０Ａから見て有効なデータの単位で副ボリュームに反映されるため、メインサイト１に障害が発生した場合にも、リモートサイトの副ボリューム１８１に格納されたデータによって業務を迅速に普及することが可能となり、かつ、障害によるデータ障害やボリューム障害を最小限にとどめることが可能となる。
＜第２実施形態＞
次に、第２の実施の形態について説明する。
【０１９３】
第２の実施形態の計算機システムは、前述の第１の実施形態においてホスト計算機１０Ａの入出力実行管理プログラム１０４が持っていた更新データグループ制御部２５５と更新データグループ管理部２５３との機能を、メインサイト１のディスク制御装置２０Ａの入出力制御コンポーネントに持たせた。
【０１９４】
すなわち、第１の実施形態の計算機システムでは、ホスト計算機１０Ａのソフトウェアの指示によって更新データグループを取り扱う。これに対して第２の実施形態では、ディスク制御装置２０の判断によって、更新データグループを取り扱う。
【０１９５】
なお、第１の実施の形態と同一の構成には同一の符号を付し、その説明は省略する。
【０１９６】
図２７は、第２の実施の形態の計算機システムの機能ブロック図である。
【０１９７】
入出力制御コンポーネント１１３は、前述した更新データグループ制御部２５５に相当する機能を実行する更新データグループ制御コンポーネント２１０１と更新データグループ管理部２５３を含む。
【０１９８】
更新データグループ制御コンポーネント２１０１は、入出力受付部１１２を介して受け取ったコマンドを受信する更新データグループ制御コンポーネント２１０１は、受け取ったコマンドがボリュームの排他／排他解除コマンドであるか否かを判定する。コマンドが排他／排他解除コマンドである場合は、必要に応じて更新データグループ管理部２５３に対して更新データグループＩＤ２５９の取得及び返却を要求する。
【０１９９】
また、更新データグループ制御コンポーネント２１０１は、ボリューム情報管理部１３１２のボリューム情報１３１３に、更新データグループＩＤの設定及び設定の解除をする。
【０２００】
また、更新データグループ制御コンポーネント２１０１は、コマンドが排他解除コマンドである場合は、必要に応じて更新データグループ解除指示コマンドを作成して、入出力制御部１３１１に送信する。
【０２０１】
また、更新データグループ制御コンポーネント２１０１は、コマンドがボリュームの排他／排他解除以外の場合には、当該コマンドの入出力対象ボリュームに対応するボリューム情報１３１３を取得して、更新データグループＩＤの付与の要否を判断する。更新データグループＩＤの付与が必要な場合は、当該コマンドに更新データグループＩＤを付与する。
【０２０２】
図２８は更新データグループ制御コンポーネント２１０１の処理のフローチャートである。
【０２０３】
更新データグループ制御コンポーネント２１０１は、入出力受付部１１２からのコマンドを受け取ると、そのコマンドの内容を分析する（ステップＳ２２０１）。そして、コマンド種別がボリューム排他／排他解除コマンドであるか否かを判定する（ステップＳ２２０２）。
【０２０４】
コマンドがボリュームの排他／排他解除コマンドである場合は、更新データグループ制御コンポーネント２１０１は、ボリューム情報管理部１３１２から要求対象のボリュームのボリューム情報１３１３を取得して（ステップＳ２２０３）、コマンド種別を判別する（ステップＳ２２０４）。コマンドが排他コマンドの場合は、更新データグループ制御コンポーネント２１０１は、ボリューム情報１３１３の排他情報が排他解除状態であること、すなわち、要求対象ボリュームが排他中であるか否かを判定する（ステップＳ２２０５）。
【０２０５】
対象ボリュームが排他中でない場合は、更新データグループ制御コンポーネント２１０１は、更新データグループ管理部２５３から未使用の更新データグループＩＤ２５９を取得して（ステップＳ２２０６）、取得した更新データグループＩＤをボリューム情報１３１３に設定する（ステップＳ２２０７）。
【０２０６】
一方、ステップＳ２２０４において、コマンドの種別が排他解除コマンドの場合は、更新データグループ制御コンポーネント２１０１は、ボリューム情報１３１３の排他情報が排他状態である、すなわち、要求対象ボリュームが排他中であるか否かを判定する（ステップＳ２２０８）。
【０２０７】
対象ボリュームが排他中の場合は、更新データグループ制御コンポーネント２１０１は、ボリューム情報１３１３に設定した更新データグループＩＤを解除して（ステップＳ２２０９）、不要になった更新データグループＩＤ２５９を更新データグループ管理部２５３に返却する。そして、更新データグループ解除指示コマンドを作成して、入出力制御部１３１１に渡す（ステップＳ２２１１）。
【０２０８】
一方、ステップＳ２２０２において、コマンド種別がボリュームの排他／排他解除コマンドでない場合は、更新データグループ制御コンポーネント２１０１は、ボリューム情報管理部１３１２からボリューム情報１３１３を取得して（ステップＳ２２１２）、コマンドの要求対象ボリュームのボリューム情報１３１３に更新データグループＩＤが設定されているか否かを判定する（ステップＳ２２１３）。更新データグループＩＤが設定されている場合は、更新データグループ制御コンポーネント２１０１は、コマンドに対してボリューム情報１３１３に設定された更新データグループＩＤを付与する（ステップＳ２２１４）。
【０２０９】
なお、以降の処理は前述した第１の実施の形態と同一である。
【０２１０】
以上のような処理によって、ホスト計算機１０Ａからの入出力要求があったときに、ディスク制御装置２０Ａは、要求データグループＩＤを当該コマンドに付与するか否かを決定する。より具体的には、入出力要求がボリュームの排他要求コマンドである場合に、要求対象ボリュームへの入出力コマンドに更新データグループＩＤを付与する。これはホスト計算機１０Ａによってボリュームが排他に設定されている間は、当該ボリュームへの入出力データは一つの意味のあるデータのグループであると見なせるからである。
【０２１１】
このようにすることによって、ホスト計算機１０Ａは、入出力要求を送信する従来のホスト計算機に何ら手を加えることなく、ディスク制御装置２０側の機能によって、前述した第１の実施の形態を同様に、ホスト計算機１０Ａから見て有効なデータの単位で副ボリュームに反映されるため、メインサイト１に障害が発生した場合にも、リモートサイトの副ボリューム１８１に格納されたデータによって業務を迅速に普及することが可能となり、かつ、障害によるデータ障害やボリューム障害を最小限にとどめることが可能となる。
＜第３実施形態＞
次に、第３の実施の形態について説明する。
【０２１２】
第３の実施の形態の計算機システムは、前述の第１の実施の形態とは異なり、ディスク装置３０Ａ及び３０Ｂが、ディスク制御装置２０を制御するための情報を格納するためのボリューム（リモート制御用ボリューム１２２及び１８２）備える。
【０２１３】
すなわち、ディスク制御装置２０が受け取るコマンドは、リモート制御用ボリュームにデータとして書き込まれる。ディスク制御装置２０は、リモート制御用ボリュームに書き込まれたデータを参照して、コマンドに対応する処理を実行する。
【０２１４】
なお、第１の実施の形態と同一の構成には同一の符号を付し、その説明は省略する。
【０２１５】
以下に、第３の実施の形態の計算機システムの処理を説明する。
【０２１６】
ホスト計算機１９Ａのアプリケーションプログラム１０１又はＯＳ１０２が、入出力要求を作成する。
【０２１７】
このとき、ホスト計算機１０Ａは、作成した入出力要求を更新データグループとして扱う必要があるか否かを判断する。更新データグループとして扱う必要がある場合には、この入出力要求に更新データグループＩＤを付与する。
【０２１８】
そして、ホスト計算機１０Ａは作成した入出力要求をメインサイト１のディスク制御装置２０Ａに送信する。
【０２１９】
ディスク制御装置２０Ａは、送信された入出力要求を、まず正ボリューム１２１に対して実行する。具体的には、例えば入出力要求がデータ更新要求であれば、対象ボリュームの対象データを更新する。
【０２２０】
次に、ディスク制御装置２０Ａは、入出力要求の種別を判定する。種別が更新要求の場合は、ディスク制御装置２０Ａは、リモートサイト２のディスク制御装置２０Ｂにこの更新要求の入出力要求を送信する。
【０２２１】
ディスク制御装置２０Ｂは、送信された更新要求に更新データグループＩＤが付与されているかを判断する。更新データグループＩＤが付与されている場合は、この更新要求を、ディスク制御装置２０Ｂのデータバッファ部１３０２に、蓄積する。一方、更新要求に更新データグループＩＤが付与されていない場合は、副ボリューム１８１に対して更新要求を実行する。
【０２２２】
そして、ディスク制御装置２０Ｂは、更新データグループの入出力実行がすべて完了するまでこの処理を繰り返す。
【０２２３】
ディスク制御装置２０Ａは、更新データグループの入出力実行がすべて完了したら、更新データグループの反映指示情報をリモート制御用ボリューム１２２にデータとして書き込む。なお、更新データグループの入出力実行の完了は、前述の第１又は第２の実施の形態で説明したように、ホスト計算機１０Ａからの指示でもよいし、ボリュームの排他解除要求によって、ディスク制御装置２０Ａが判断してもよい。
【０２２４】
このリモート制御用ボリューム１２２に書き込まれたデータは、リモートコピー機能によって、リモートサイト２のリモート制御用ボリューム１８２にコピーされる。
【０２２５】
ディスク制御装置２０Ｂのデータコピー制御コンポーネント１１４Ｂは、定期的に、リモート制御用ボリューム１８２を参照している。そして、このリモート制御用ボリューム１８２に、更新データグループの反映指示情報が格納されていることを確認する。
【０２２６】
なお、データコピー制御コンポーネント１１４Ｂがリモート制御用ボリューム１８２に実行された更新要求を監視して、更新要求があった場合に反映指示情報の確認をしてもよい。
【０２２７】
データコピー制御コンポーネント１１４Ｂは、リモート制御用ボリューム１８２に更新データグループの反映指示が格納されていた場合は、データバッファ部１３０２に蓄積された情報のうち、反映指示に対応する更新データグループを取得して、これを副ボリュームに反映する。
【０２２８】
このように、本発明の第３の実施の形態では、ディスク制御装置２０にコマンドを送信する代わりに、制御のための論理ボリュームを設け、この論理ボリュームにコマンドに相当するデータを書き込むことによって、対象のディスク制御装置２０に指示することができる。
【図面の簡単な説明】
【０２２９】
【図１】本発明の実施の形態の計算機システムの構成ブロック図である。
【図２】本発明の実施の形態の計算機システムの機能ブロック図である。
【図３】本発明の実施の形態の入出力データ管理プログラムと入出力実行管理プログラムとの説明図である。
【図４Ａ】本発明の実施の形態のデータ構造情報の説明図である。
【図４Ｂ】本発明の実施の形態のデータ構造情報の一例の説明図である。
【図４Ｃ】本発明の実施の形態のユーザから見たデータと論理ボリューム上の実際のデータの格納位置とを示す説明図である。
【図５】本発明の実施の形態のボリューム状態情報の説明図である。
【図６】本発明の実施の形態の更新データグループＩＤテーブルの説明図である。
【図７】本発明の実施の形態の入出力受付部、入出力制御コンポーネント及びデータコピー制御コンポーネントの説明図である。
【図８】本発明の実施の形態の更新データ情報の説明図である。
【図９】本発明の実施の形態のボリューム情報の説明図である。
【図１０】本発明の実施の形態の計算機システムの処理の概略のフローチャートである。
【図１１】本発明の実施の形態のホスト計算機の処理のフローチャートである。
【図１２】本発明の実施の形態のメインサイトのディスク制御装置の処理のフローチャートである。
【図１３】本発明の実施の形態のリモートサイトのディスク制御装置の処理のフローチャートである。
【図１４】本発明の実施の形態のデータアクセス制御部の処理のフローチャートである。
【図１５】本発明の実施の形態のデータアクセス制御部における入出力コマンド群の生成と入出力実行制御部の入出力要求処理のフローチャートである。
【図１６Ａ】本発明の実施の形態の排他要求部の処理のフローチャートである。
【図１６Ｂ】本発明の実施の形態の更新データグループ要求部の処理のフローチャートである。
【図１７】本発明の実施の形態のボリューム状態制御部の処理のフローチャートである。
【図１８】本発明の実施の形態の排他制御部の処理のフローチャートである。
【図１９】本発明の実施の形態の更新データグループ制御部の処理のフローチャートである。
【図２０】本発明の実施の形態のカウンタの説明図である。
【図２１】本発明の実施の形態の入出力実行制御部の処理のフローチャートである。
【図２２】本発明の実施の形態のメインサイトのディスク制御装置のデータコピー制御部の処理のフローチャートである。
【図２３】本発明の実施の形態のリモートサイトのディスク制御装置のデータコピー制御部の処理のフローチャートである。
【図２４】本発明の実施の形態のメインサイトのディスク制御装置の入出力制御部の処理のフローチャートである。
【図２５】本発明の実施の形態のリモートサイトのディスク制御装置の入出力制御部の処理のフローチャートである。
【図２６】ホスト計算機からディスク制御装置に送信するコマンド群の一例である。
【図２７】本発明の第２の実施の形態の計算機システムの機能ブロック図である。
【図２８】本発明の第２の実施の形態の更新データグループ制御コンポーネントの処理のフローチャートである。
【図２９】本発明の第３の実施の形態の計算機システムの機能ブロック図である。
【符号の説明】
【０２３０】
１０  ホスト計算機
１０１  アプリケーションプログラム
１０２  ＯＳ（オペレーティングシステム）
１０３  入出力データ管理プログラム
１０４  入出力実行管理プログラム
１１２  入出力受付部
１１３  入出力制御コンポーネント
１１４  データコピー制御コンポーネント
１１５  ポート
１２１  正ボリューム
１５０  ネットワーク
１８１  副ボリューム
２０１  データ構造管理部
２０２  データアクセス制御部
２０３  排他要求部
２０４  更新データグループ要求部
２０５  要求部
２０６  データ構造情報
２５１  入出力実行制御部
２５２  ボリューム状態管理部
２５３  更新データグループ管理部
２５４  排他制御部
２５５  更新データグループ制御部
２５６  ボリューム状態制御部
２５７  状態制御部
２５８  ボリューム状態情報
２５９  更新データグループＩＤ
３０１  データ構造形式情報
３０２  固有情報
３５０  データ構造情報
【図１】
0004790377.tif 000002
【図２】
0004790377.tif 000003
【図３】
0004790377.tif 000004
【図４Ａ】
0004790377.tif 000005
【図４Ｂ】
0004790377.tif 000006
【図４Ｃ】
0004790377.tif 000007
【図５】
0004790377.tif 000008
【図６】
0004790377.tif 000009
【図７】
0004790377.tif 000010
【図８】
0004790377.tif 000011
【図９】
0004790377.tif 000012
【図１０】
0004790377.tif 000013
【図１１】
0004790377.tif 000014
【図１２】
0004790377.tif 000015
【図１３】
0004790377.tif 000016
【図１４】
0004790377.tif 000017
【図１５】
0004790377.tif 000018
【図１６Ａ】
0004790377.tif 000019
【図１６Ｂ】
0004790377.tif 000020
【図１７】
0004790377.tif 000021
【図１８】
0004790377.tif 000022
【図１９】
0004790377.tif 000023
【図２０】
0004790377.tif 000024
【図２１】
0004790377.tif 000025
【図２２】
0004790377.tif 000026
【図２３】
0004790377.tif 000027
【図２４】
0004790377.tif 000028
【図２５】
0004790377.tif 000029
【図２６】
0004790377.tif 000030
【図２７】
0004790377.tif 000031
【図２８】
0004790377.tif 000032
【図２９】
0004790377.tif 000033