(57)【要約】【課題】  計算機が使用するデータをストレージシステムが格納し、ストレージシステムがこのデータを別のストレージシステムに転送して別のストレージシステムにデータの複製を保持するシステムにおいて、ライトデータにライト時刻を付与しない計算機がストレージシステムに書き込んだデータについても、複製の整合性を保持する。【解決手段】  正ストレージシステムは、ライト要求にライト時刻が付与されている場合はライト時刻を記録すると共に受領したライトデータにこのライト時刻を付与し、ライト時刻が付与されていない場合は記録されているライト時刻を受領したライトデータに付与し、ライト時刻付きのライトデータを別のストレージシステムへ転送する。副ストレージシステムはライト時刻に基づき副ストレージシステム内の論理ボリュームへのライトデータを格納する。【選択図】  図１
2006221487.tif 000002
【特許請求の範囲】
【請求項１】
各々ホスト計算機と接続される複数の第一の記憶装置と、
各々いずれかの第一の記憶装置に接続される複数の第二の記憶装置とを有し、
前記複数の第一の記憶装置は各々、管理部からの指示に基づきホスト計算機から受信するライト要求の処理を保留し、その後前記管理部からの指示に基づきホスト計算機から受信するライト要求の処理を再開するよう構成されており、
前記複数の第一の記憶装置は各々、前記管理部の指示に従ってライト要求の処理を再開してから、次に前記管理部の指示に従ってライト要求の処理を保留するまでの間に処理したライト要求のライトデータをライトデータ集合として管理し、ライトデータ集合ごとにライトデータをいずれかの第二の記憶装置に送信するよう構成されており、
前記管理部は、前記複数の第一の記憶装置からライト要求の処理の保留の完了報告を受信した後に、前記複数の第一の記憶装置に新しいライトデータ集合の生成を指示して、該複数の第一の記憶装置において生成されるライトデータ集合に共通の識別情報を付与し、その後前記複数の第一の記憶装置にライト要求の処理の再開を指示するよう構成されており、
前記複数の第二の記憶装置は各々、ライトデータ集合ごとに第一の記憶装置から受信したライトデータを、該第二の記憶装置が有する論理ボリュームに格納するよう構成されており、前記複数の第二の記憶装置は前記管理部からの指示に基づいて同じ識別情報を有するライトデータ集合のライトデータを、第二の記憶装置が有する論理ボリュームに格納することを特徴とするシステム。
【請求項２】
請求項１記載のシステムであって、
前記管理部は、前記複数の第一の記憶装置からライト要求の処理の保留の完了報告を受信した後に、当該ライト要求の処理の保留が実行されるまでに前記複数の第一の記憶装置各々が処理したライト要求のライトデータが含まれるライトデータ集合について、ライトデータを前記複数の第二の記憶装置のいずれかに送信するよう、前記複数の第一の記憶装置に指示するよう構成されていることを特徴とするシステム。
【請求項３】
請求項２記載のシステムであって、
前記複数の第二の記憶装置は各々キャッシュメモリを有しており、いずれかの第一の記憶装置から受信したライトデータを前記キャッシュメモリに格納するよう構成されており、
前記管理部は、前記複数の第一の記憶装置が前記ライトデータ集合についてのライトデータの送信を終えた後に、前記複数の第二の記憶装置に対して、前記キャッシュメモリに格納されている前記ライトデータ集合のライトデータを、第二の記憶装置が有する論理ボリュームに格納するよう指示することを特徴とするシステム。
【請求項４】
請求項３記載のシステムであって、
前記複数の第二の記憶装置は各々、ライトデータ集合のライトデータの受信が完了した際に該ライトデータ集合に付与されている識別情報を該第二の記憶装置が有するメモリに記録するよう構成されており、
前記管理部は、前記複数の第二の記憶装置から前記メモリに記録された識別情報を収集し、収集した識別情報の値が一致する場合に、前記キャッシュメモリに格納されている前記ライトデータ集合のライトデータを、第二の記憶装置が有する論理ボリュームに格納するよう指示することを特徴とするシステム。
【請求項５】
請求項４記載のシステムであって、
前記複数の第一の記憶装置は各々、ライトデータ集合のライトデータをいずれかの第二の記憶装置に送信するに際して、該ライトデータ集合に付与されている識別情報を該第二の記憶装置に通知することを特徴とするシステム。
【請求項６】
請求項５記載のシステムであって、
前記複数の第一の記憶装置は各々、ホスト計算機からのライト要求に従って受信するライトデータについて、該ライトデータが属するライトデータ集合の識別情報を含むライトデータ管理情報を生成するよう構成されており、
ライトデータ集合のライトデータをいずれかの第二の記憶装置に送信するに際して、該ライトデータのライトデータ管理情報も該第二の記憶装置に送信するよう構成されていることを特徴とするシステム。
【請求項７】
請求項３記載のシステムであって、
前記複数の第一の記憶装置は各々、ライトデータ集合のライトデータの送信が完了した際に該ライトデータ集合に付与されている識別情報を該第一の記憶装置が有するメモリに記録するよう構成されており、
前記管理部は、前記複数の第一の記憶装置から前記メモリに記録された識別情報を収集し、収集した識別情報の値が一致する場合に、前記複数の第二の記憶装置各々が有するキャッシュメモリに格納されている前記ライトデータ集合のライトデータを、第二の記憶装置が有する論理ボリュームに格納するよう指示することを特徴とするシステム。
【請求項８】
請求項１記載のシステムであって、
前記複数の第一の記憶装置は各々、前記管理部の指示に従ってライト要求の処理を再開してから、次に前記管理部の指示に従ってライト要求の処理を保留するまでの間に、重複するアドレスに対する複数のライト要求を処理した場合には、最新のライトデータをライトデータ集合に属するライトデータとして管理するよう構成されていることを特徴とするシステム。
【請求項９】
請求項８記載のシステムであって、
前記複数の第一の記憶装置は各々、ライトデータ集合に属するライトデータをキャッシュメモリに格納しており、前記管理部の指示に従ってライト要求の処理を再開してから、次に前記管理部の指示に従ってライト要求の処理を保留するまでの間に、重複するアドレスに対する複数のライト要求を受信した場合には、アドレスの重複する部分についてキャッシュメモリ上でライトデータを更新するよう構成されていることを特徴とするシステム。
【請求項１０】
請求項３記載のシステムであって、
前記管理部は、前記複数の第一の記憶装置のいずれかが有することを特徴とするシステム。
【請求項１１】
請求項３記載のシステムであって、
前記管理部は、前記複数の第一の記憶装置に接続される計算機が有することを特徴とするシステム。
【請求項１２】
各々ホスト計算機と接続される複数の第一の記憶装置と、各々いずれかの第一の記憶装置に接続される複数の第二の記憶装置との間で実行されるリモートコピー方法であって、
前記複数の第一の記憶装置が各々、ホスト計算機から受信するライトデータを第一のライトデータ集合として管理するステップと、
前記複数の第一の記憶装置が各々、管理部からの指示に基づきホスト計算機から受信するライト要求の処理を保留して、該管理部にその旨を報告するステップと、
前記管理部が前記複数の第一の記憶装置からライト要求の処理の保留の完了報告を受信した後に、前記複数の第一の記憶装置に前記第一のライトデータ集合を第二のライトデータ集合に変更し、新たな第一のライトデータ集合を生成するよう指示するステップと、
前記複数の第一の記憶装置が各々、前記管理部からの指示に基づき前記第一のライトデータ集合を前記第二のライトデータ集合に変更し、新たな第一のライトデータ集合を管理する準備をして、その旨を前記管理部に報告するステップと、
前記管理部が前記複数の第一の記憶装置から報告を受信した後に、ライト要求の処理の保留を解除するよう該複数の第一の記憶装置に指示するステップと、
前記複数の第一の記憶装置が各々、前記管理部からの指示に基づいて、ライト要求の処理の保留を解除し、以降に処理するライト要求のライトデータを新たな第一のライトデータ集合として管理するステップと、
前記複数の第一の記憶装置が各々、前記管理部からの指示に基づいて、前記第二のライトデータ集合のライトデータを、いずれかの第二の記憶装置に送信するステップと、
前記複数の第二の記憶装置が各々、いずれかの第一の記憶装置から受信したライトデータを第三のライトデータ集合に属するライトデータとして管理するステップと、
前記複数の第二の記憶装置が各々、前記管理部からの指示に基づいて、前記第三のライトデータ集合を第四のライトデータ集合に変更し、該第四のライトデータ集合に属するライトデータを、第二の記憶装置が有する論理ボリュームに格納するステップとを有することを特徴とするリモートコピー方法。
【請求項１３】
請求項１２記載のリモートコピー方法であって、
前記管理部からの指示に基づいて生成される第一のライトデータ集合には、前記管理部から指定される前記複数の第一の記憶装置間で共通の識別情報が付与され、該第一のライトデータ集合に付与された識別情報は、第二のライトデータ集合、第三のライトデータ集合、及び第四のライトデータ集合に引き継がれることを特徴とするリモートコピー方法。
【請求項１４】
請求項１２記載のリモートコピー方法であって、
前記管理部は、前記複数の第二の記憶装置が、第一の記憶装置から前記第二のライトデータ集合に属するライトデータを受信し終わった後に、第三のライトデータ集合を第四のライトデータ集合に変更するよう、該複数の第二の記憶装置に指示することを特徴とするリモートコピー方法。
【請求項１５】
請求項１４記載のリモートコピー方法であって、
前記複数の第一の記憶装置が各々、前記第二のライトデータ集合に属するライトデータを第二の記憶装置に送信し終わった場合に、その旨を該第二の記憶装置に報告するステップと、
前記複数の第二の記憶装置が各々、第一の記憶装置から前記報告を受信した場合に、受信したライトデータが属する第三のライトデータ集合に付与されている識別情報を該第二の記憶装置が有するメモリに記録するステップと、
前記管理部が、前記複数の第二の記憶装置からメモリに記録されている識別情報を収集するステップとを有し、
前記管理部は、前記複数の第二の記憶装置から収集された識別情報の値が一致する場合に、前記複数の第二の記憶装置に、第三のライトデータ集合を第四のライトデータ集合に変更するよう指示することを特徴とするリモートコピー方法。
【請求項１６】
請求項１４記載のリモートコピー方法であって、
前記複数の第一の記憶装置が各々、前記第二のライトデータ集合に属するライトデータを第二の記憶装置に送信し終わった場合に、該第二のライトデータ集合に付与されている識別情報を該第一の記憶装置が有するメモリに記録するステップと、
前記管理部が、前記複数の第一の記憶装置からメモリに記録されている識別情報を収集するステップとを有し、
前記管理部は、前記複数の第一の記憶装置から収集された識別情報の値が一致する場合に、前記複数の第二の記憶装置に、第三のライトデータ集合を第四のライトデータ集合に変更するよう指示することを特徴とするリモートコピー方法。
【請求項１７】
請求項１２記載のリモートコピー方法であって、
前記複数の第一の記憶装置は各々、アドレス範囲の重複する領域に対して複数のライト要求を受信した場合に、最新のライト要求のライトデータを第一のライトデータ集合に属するライトデータとして管理することを特徴とするリモートコピー方法。
【請求項１８】
請求項１２記載のリモートコピー方法であって
前記管理部は、前記複数の第一の記憶装置のいずれかが有することを特徴とするリモートコピー方法。
【請求項１９】
請求項１２記載のリモートコピー方法であって、
前記管理部は、前記複数の第一の記憶装置に接続される計算機が有することを特徴とするリモートコピー方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機が使用するデータを格納し、計算機からデータの更新を受けるストレージシステムに関し、特に、複数のストレージシステム間でデータの複製を保持する処理に関する。
【背景技術】
【０００２】
特許文献１には、計算機が使用するデータをストレージシステムが格納し、遠隔地に設置された別のストレージシステムにこのデータのコピーを、データのライト順を反映しつつ格納する技術が開示されている。特許文献１に示された処理では、正側のホスト計算機からライトデータを受領した正側のストレージシステムは、ライトデータ受領後直ちに、ライトデータの受領完了を、正側のホスト計算機に報告する。このあと正側のホスト計算機はライトデータのコピーを、正側のストレージシステムから読み出す。このライトデータには、ライトデータについてのライト要求が発行された時刻であるライト時刻が付与されていて、ライトデータが正側のホスト計算機に読み出される際には、ライト時刻も正側のホスト計算機に渡される。さらに正側のホスト計算機はライトデータとライト時刻を副側のホスト計算機に転送する。ライトデータとライト時刻を受け取った副側のホスト計算機は、ライト時刻などの情報を副側のストレージシステムにある制御用のボリュームに書き込み、さらに各ライトデータに付与されたライト時刻を参照してライト時刻順にライトデータを副側のストレージシステムに書き込む。ライト時刻順にライトデータを副側のストレージシステムに書き込むことで、副側のストレージシステムに整合性のあるデータを保持することができる。
【０００３】
ここで、もしライト順を無視してライトデータを副側のストレージシステムに反映（副側のストレージシステムにライトデータを格納することを、以下、データを反映する、とも表現する。）していくと、例えば銀行口座のデータベースにおいて口座Ａから口座Ｂに預金を移す処理において、口座Ａの減額と口座Ｂの増額を１つのトランザクションとして再現できず、例えば副側のストレージシステムにおいて、口座Ａの預金額を減額する前に口座Ｂの預金額を増額している期間が生じ得る。この場合、副側のストレージシステムにおいて口座Ａの預金額が減額される前に、正側のストレージシステムに障害が発生して使用不可能になると、副側のストレージシステムには整合性のないデータが残ることになり、そのあと副側のホスト計算機で業務を引き継いだとしても正しくない処理を行うことになる。従ってライト順を守って副側のストレージシステムにライトデータを格納することにより、整合性のあるデータを保持することができ、関連のあるデータに対する関連のある操作間の順序の正しさが保証される。
【０００４】
特許文献２には、計算機が使用するデータをストレージシステムが格納し、このストレージシステムが格納されたデータを遠隔地に設置された別のストレージシステムにもコピーすることで、一方のストレージシステムが天災や火災などで使用不能になっても別のストレージシステムでデータを保持する技術が開示されている。
【０００５】
特許文献３には、計算機が使用するデータをストレージシステムが格納し、このストレージシステムが格納されたデータを遠隔地に設置された別のストレージシステムにもコピーし、さらにこの別のストレージシステムが受信したデータを第三のストレージシステムにもコピーすることで、データに対するより高いレベルの冗長性を得る技術が開示されている。
【０００６】
【特許文献１】欧州特許出願公開第０６７２９８５号明細書
【特許文献２】米国特許第６０９２０６６号公報
【特許文献３】米国特許第６２０９００２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示の技術では、ホスト計算機からのライトデータを副側のストレージシステムに反映する際に、ライトデータにホスト計算機が付与したライト時刻を用いてライト順序を守っているため、ホスト計算機がライトデータにライト時刻を付与しない場合は、副側のストレージシステムに格納しているデータの複製の整合性を保持することができない。いわゆるメインフレームのホスト計算機ではライト要求にライト時刻を付与できるが、いわゆるオープンシステムのホスト計算機ではライト要求にライト時刻を付与しない。従って、特許文献１に開示の技術ではオープンシステムのホスト計算機からのＩ／Ｏに対して、副側のストレージシステムに格納されるデータの複製の整合性を保持することができない。
【０００８】
また特許文献２および特許文献３にも、ホスト計算機にオープンシステムのホスト計算機が含まれている場合の副側のストレージシステムに格納されるデータの複製の整合性保持に関しての開示はない。
【０００９】
そこで、計算機が使用するデータをストレージシステムが格納し、このストレージシステムが格納しているデータを別のストレージシステムに転送して別のストレージシステムでもデータの複製を保持する計算機システムにおいて、オープンシステムのホスト計算機のようにライトデータにライト時刻を付与しないホスト計算機がストレージシステムに書き込むデータに対しても、別のストレージシステム（即ち、副側のストレージシステム）に格納されるデータの複製の整合性を保持する技術を開示する。
【課題を解決するための手段】
【００１０】
システムは、計算機に接続され、計算機から受信するデータが格納される第一の論理ボリュームを有する第一の記憶装置システムと、第一の記憶装置システムに接続され、第一の論理ボリュームに格納されるデータの複製データが格納される第二の論理ボリュームを有する第二の記憶装置システムとを有する。
【００１１】
第一の記憶装置システムは、計算機から受信したライトデータに時刻情報を付与し、ライトデータと時刻情報とを第二の記憶装置システムに送信し、第二の記憶装置システムは、第一の記憶装置システムから受信したライトデータを、該ライトデータに付与されている時刻情報に従って第二の論理ボリュームに格納する。
【発明の効果】
【００１２】
計算機が使用するデータをストレージシステムが格納し、このストレージシステムがデータを別のストレージシステムに転送してデータの複製を別のストレージシステムでも保持する計算機システムにおいて、オープンシステムのホスト計算機のようにライトデータにライト時刻を付与しないホスト計算機がストレージシステムに格納したデータについても、別のストレージシステム（副側のストレージシステム）に格納されるデータの複製の整合性を保持することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態を説明する。尚、本発明は以下に説明する実施形態によって限定されるものではない。
【実施例１】
【００１４】
図１は第一の実施形態における計算機システムの構成例を示す図である。
【００１５】
本システムは記憶装置（ストレージシステムともいう。）Ａ１００、メインフレームホスト計算機Ａ（ＭＦＡともいう。）６００、オープンシステムホスト計算機Ａ７００、記憶装置Ｂ１９０、メインフレームホスト計算機Ｂ（ＭＦＢともいう。）６９０、オープンシステムホスト計算機Ｂ７９０からなる。記憶装置Ａ１００とＭＦＡ６００、オープンシステムホストＡ７００はそれぞれＩ／Ｏパス９００で接続されている。記憶装置Ｂ１９０とＭＦＢ６９０、オープンシステムホストＢ７９０もそれぞれＩ／Ｏパス９００で接続されている。ＭＦＢ６９０とオープンシステムホストＢ７９０は、通常時はスタンバイ系である。ＭＦＡ６００とＭＦＢ６９０とオープンシステムホストＡ７００とオープンシステムホストＢ７９０はネットワーク９２０で接続されている。
【００１６】
ＭＦＡ６００とＭＦＢ６９０にはＯＳ６１０とアプリケーションソフトウェア（ＡＰＰ）６２０が存在する。またオープンシステムホストＡ７００とオープンシステムホストＢ７９０にもＯＳ７１０とＡＰＰ７２０が存在する。ＭＦＡ６００、ＭＦＢ６９０、オープンシステムホストＡ７００、若しくはオープンシステムホストＢ７９０のＡＰＰからＯＳを介して発行されるＩ／Ｏ要求がＩ／Ｏパス９００を介して記憶装置Ａ１００や記憶装置Ｂ１９０に発行される。ここではＤＢＭＳなどのソフトウェアもＡＰＰ６２０やＡＰＰ７２０に含む。
【００１７】
記憶装置Ａ１００は制御部２００、制御用メモリ３００、キャッシュ４００を有する。制御部２００はライトデータ受領部Ａ２１０とライトデータ転送部Ａ２２０を備える。制御部２００は制御用メモリ３００にアクセスして、制御用メモリに格納されている情報を利用して後述の処理を行う。キャッシュ４００は主にリードデータやライトデータを格納する高速なメモリであり、記憶装置Ａはこれを使用することによって高いＩ／Ｏ処理性能を実現することができる。尚、これらの部位は耐障害性、可用性のために二重化され、バックアップ電源が用意されていることが望ましい。
【００１８】
記憶装置Ｂ１９０も制御部２００、制御メモリ３００、キャッシュ４００を有する。制御部２００はライトデータ受領部Ｂ２１１とライトデータ反映指示部２３０と、ライトデータ反映部２４０を備える。制御メモリ３００とキャッシュ４００の役割は前述の記憶装置Ａ１００の説明と同様である。
【００１９】
記憶装置Ａ１００と記憶装置Ｂ１９０は、ＭＦＡ６００、オープンシステムホストＡ７００、ＭＦＢ６９０、オープンシステムホストＢ７９０に対し、データの記憶領域として論理ボリューム５００を提供する。１つの論理ボリューム５００は物理的には１つの装置である必要はなく、例えば複数の磁気ディスク装置に分散した記憶領域の集合であってもよい。また論理ボリュームは、例えばミラー構成や、パリティデータを付加したＲＡＩＤ構成などの冗長性を持たせた構成であってもよい。
【００２０】
記憶装置Ａ１００は上記のように論理ボリューム５００を提供するが、ＭＦＡ６００とオープンシステムホストＡ７００とでは、記憶装置Ａ１００が提供する論理ボリューム５００のタイプが異なり、またＩ／Ｏパス９００の論理的および／または物理的インタフェースが異なる。記憶装置Ｂ１９０、ＭＦＢ６９０、オープンシステムホストＢ７９０についても同様である。ＭＦＡ６００からのライト要求６３０には、ライト要求６３０の時刻がライト時刻６５０として含まれているが、オープンシステムホストＡ７００からのライト要求７３０には含まれていない。
【００２１】
記憶装置Ａ１００と記憶装置Ｂ１９０は転送パス９１０で接続されている。記憶装置Ａ１００と記憶装置Ｂ１９０は後述のように一方の論理ボリュームの内容の複製をもう一方の論理ボリュームに保持することができる。本実施例の例では記憶装置Ａ１００の論理ボリューム５００の内容の複製が、記憶装置Ｂ１９０の論理ボリューム５００に保持され、記憶装置Ａ１００の論理ボリューム５００に対して行われた更新の内容は転送パス９１０を介して記憶装置Ｂ１９０に送られ、記憶装置Ｂ１９０の論理ボリューム５００にも格納される。記憶装置Ａ１００と記憶装置Ｂ２００は複製について後述のように、論理ボリューム間の関係を示す管理情報を持ち、これを用いて上記の複製の保持が行われる。論理ボリューム間の関係および後述する論理ボリュームグループの関係はユーザの必要に応じてユーザにより設定される。
【００２２】
本実施例では、論理ボリューム間の関係はグループ化されている。論理ボリュームのグループの一例を表す概念図を図２に示す。破線は論理ボリューム５００間または論理ボリュームグループ間の複製関係、即ち正側（ソースともいう。）と副側（ターゲットともいう。）の対応関係を示している。本実施例ではこのような複数の論理ボリュームを有する論理ボリュームグループの単位で、記憶装置Ａ１００におけるライトデータの順序や、記憶装置間のライトデータの転送や、記憶装置Ｂ１９０における反映を管理していて、また上記のような処理に必要なリソースの割り当ても、論理ボリュームグループ単位で行っている。
【００２３】
もしこれらを個々の論理ボリューム毎に行うと、管理対象が多く管理が煩雑になり、また処理に必要なリソースも処理対象が多いため増大する可能性がある。一方、記憶装置Ａ１００全体で１つの単位としてしまうときめこまやかな管理が行えなくなる。特にメインフレームホストとオープンシステムホストでは論理ボリューム５００に対する性能などの要求が大きく異なるため、これらは別のグループに分けてそれぞれで処理を行うようにし、また処理に対するユーザからの操作やチューニング条件の設定などを別々に受けられるようにすることが好ましい。このような論理ボリュームグループを設けることで、ユーザや業務の必要に応じた、柔軟な複製処理および管理を提供することができる。
【００２４】
続いて、ＭＦＡ６００とオープンシステムホストＡ７００が使用する論理ボリューム５００を異なる論理ボリュームグループに属するようにしている場合において、各論理ボリューム５００へ行われたデータのライトに対する処理と、記憶装置Ｂ１９０へのデータの転送および記憶装置Ｂ１９０におけるデータの反映の処理について説明する。これらの処理によって記憶装置Ａ１００の各論理ボリューム間のライト順序どおりに複製への反映を行い、各複製間の整合性について、メインフレームホストのデータとオープンシステムホストのデータでも共通の整合性を常に維持できるようにする。
【００２５】
図３は、記憶装置Ａ１００が複製を作成している論理ボリューム５００（ソースとなる論理ボリューム５００）に対してＭＦＡ６００またはオープンシステムホストＡ７００からライト要求を受領した場合の処理を示した図である。ライトデータ受領部Ａ２１０はＭＦＡ６００またはオープンシステムホストＡ７００からライト要求を受領する（ステップ１０００）。ライトデータ受領部Ａ２１０は受領したライト要求にライト時刻６５０が含まれていれば（ステップ１００１）、ライトデータをキャッシュ４００に格納し（ステップ１００２）、シーケンシャル番号をライトデータに与えてライトデータ管理情報３３０を作成する（ステップ１００３）。このときライトデータ受領部Ａ２１０はライト時刻６５０をライトデータ管理情報３３０に記録する。またシーケンシャル番号を付与する際に、ライトデータ受領部Ａ２１０は、ライト対象の論理ボリュームが属する論理ボリュームグループのグループ管理情報３１０からシーケンシャル番号を参照し、これに１を加えた値をライトデータのシーケンシャル番号としてライトデータ管理情報３３０に記録し、この新しいシーケンシャル番号をグループ管理情報３１０に記録する。
【００２６】
図４は各論理ボリュームグループのグループ管理情報３１０の一例を示す図である。グループＩＤは記憶装置Ａ１００において論理ボリュームグループを特定するためのＩＤである。シーケンシャル番号は当該論理ボリュームグループに属する論理ボリュームに対するライトデータに連続的に与えられる番号であり、初期値は例えば０で、順次１ずつ増やした番号がライトデータに与えられていく。論理ボリューム数は当該論理ボリュームグループに属している論理ボリュームの数である。論理ボリューム番号は記憶装置Ａ１００において当該論理ボリュームグループに属している論理ボリュームのＩＤである。相手記憶装置ＩＤは、当該論理ボリュームグループと対となる論理ボリュームグループを有し、当該論理ボリュームグループに属する論理ボリュームの内容の複製を格納する記憶装置（本実施例では記憶装置Ｂ１９０）を特定するＩＤ（シリアル番号など）である。相手グループＩＤは相手記憶装置（記憶装置Ｂ１９０）において、当該論理ボリュームグループの対となる論理ボリュームグループ、即ち当該論理ボリュームグループに属する論理ボリュームの内容の複製を格納している論理ボリューム５００（相手論理ボリュームとも呼ぶ。）が属する論理ボリュームグループを特定するＩＤである。
【００２７】
図５は各ライトデータを管理するためのライトデータ管理情報３３０の一例を示す図である。論理ボリュームＩＤはライトデータが格納される論理ボリュームのＩＤである。ライトアドレスは前記論理ボリュームにおける当該ライトデータのライト開始アドレスである。ライトデータ長は当該ライトデータの長さである。ライトデータポインタはキャッシュ４００における当該ライトデータの格納開始アドレスである。シーケンシャル番号はライトデータが書き込まれる論理ボリュームが属する論理ボリュームグループにおいて、ライトデータに連続的に与えられている番号である。ライト時刻については後述する。転送必要ビットは当該ライトデータを記憶装置Ｂに転送する必要があるか否かを示すビットであり、ライトデータ受領部Ａ２１０がライトデータを受領してライトデータ管理情報３３０を作成する際にＯＮにする。ライトデータ管理情報３３０は例えば論理ボリュームグループ毎にリスト管理される。尚、論理ボリュームＩＤ、ライトアドレス、ライトデータ長は記憶装置ＡがＭＦＡ６００若しくはオープンシステムホストＡ７００から受信するライトコマンドから求めることができる。従って、ライトデータ受領部Ａ２１０はライトコマンド内の情報も用いてライトデータ管理情報３３０を作成することとなる。
【００２８】
図３に戻って、ステップ１００４でライトデータ受領部Ａ２１０はライト時刻６５０を制御用メモリ３００にライト時刻情報３４０として記録する。
【００２９】
ステップ１００１でライト要求にライト時刻が含まれていない場合には、ライトデータ受領部Ａ２１０はライトデータをキャッシュ４００に格納し（ステップ１００５）、ライト時刻情報３４０を参照してライトデータにライト時刻を与え、またグループ管理情報３１０を参照してシーケンシャル番号を与えてライトデータ管理情報３３０を作成する（ステップ１００６）。この際ライトデータ受領部Ａ２１０は、ライトデータ管理情報３００のライト時刻にはその時点でライト時刻情報３４０に記録されている時刻を記録し、シーケンシャル番号は前述のステップ１００３と同様の手順で求めて、ライトデータ管理情報３００に記録する。
【００３０】
最後にステップ１００７でＭＦＡ６００またはオープンシステムホストＡ７００にライト完了報告を行う。上記の処理には、キャッシュ４００に格納されたライトデータを論理ボリューム５００の物理的記録媒体へ書き込んだり、記憶装置Ｂ１９０へライトデータを転送したりといった時間のかかる処理は含まれず、これらは後に適当なタイミングで非同期に行う。よってライトデータ受領部Ａ２１０がライト要求を受領してからライト完了を報告するまでの時間は短時間ですみ、ＭＦＡ６００またはオープンシステムホストＡ７００に対する高速な応答を実現することができる。
【００３１】
図６は記憶装置Ａ１００から記憶装置Ｂ１９０へのライトデータの転送処理の一例を示す図である。ライトデータ転送部Ａ２２０はライトデータ管理情報３３０のリストを参照して、転送が必要なライトデータを求め、更にライトデータ管理情報３３０とグループ管理情報３１０と相手論理ボリューム情報３２０を参照して、記憶装置Ｂ１９０へ転送されるライトデータに関する情報を求める（ステップ１１００）。この情報には、ライトデータ管理情報３３０から取得したライトアドレス、ライトデータ長、シーケンシャル番号、ライト時刻と、相手論理ボリューム情報３２０から取得した相手記憶装置ＩＤ、相手論理ボリューム番号と、論理ボリュームＩＤを用いてグループ管理情報３１０から参照した相手グループ番号が含まれる。
【００３２】
図７は各論理ボリュームの相手論理ボリューム情報３２０の一例を示す図である。論理ボリュームＩＤはソース側の論理ボリューム（実施例１では記憶装置Ａが有する論理ボリューム）のＩＤである。相手記憶装置ＩＤは、当該論理ボリュームと対となっており当該論理ボリュームに格納されるデータの複製を格納する論理ボリューム（相手論理ボリュームともいう。）を有する記憶装置（実施例１では記憶装置Ｂ１９０）を特定するＩＤ（シリアル番号など）である。相手論理ボリュームＩＤは相手記憶装置（実施例１では記憶装置Ｂ１９０）において、相手論理ボリューム（即ち、論理ボリュームに格納されるデータの複製を格納するターゲット側の論理ボリューム５００）を特定するＩＤである。
【００３３】
次に図６に戻って、ライトデータ転送部Ａ２２０はライトデータとステップ１１００で求めた情報を記憶装置Ｂ１９０に転送する（ステップ１１０１）。記憶装置Ｂのライトデータ受領部Ｂ２１１は、受信したライトデータと情報をキャッシュ４００に格納し（ステップ１１０２）、受信した情報からライトデータ管理情報３３０を作成する（ステップ１１０３）。記憶装置Ｂ１９０のライトデータ管理情報３３０の項目は、記憶装置Ａ１００のライトデータ管理情報３３０のものと同じである。記憶装置Ｂ１９０のライトデータ管理情報３３０の内容に関しては、論理ボリュームＩＤは複製を格納するターゲット側の論理ボリューム５００のＩＤであり、ライトデータポインタは記憶装置Ｂ１９０のキャッシュ４００におけるライトデータの格納開始アドレスであり、転送必要ビットは常にＯＦＦであることが、記憶装置Ａ１００のライトデータ管理情報３３０とは異なるが、他は同じとなる。
【００３４】
記憶装置Ｂ１９０はグループ管理情報３１０も持つが、この項目も記憶装置Ａ１００のものと同じである。グループ管理情報３１０の内容に関しては、グループＩＤは複製を格納するターゲット側の論理ボリューム５００が属する論理ボリュームグループを特定するＩＤであり、相手記憶装置ＩＤはソースとなる記憶装置（実施例１では記憶装置Ａ１００）のＩＤであり、相手グループＩＤは相手記憶装置（実施例１では記憶装置Ａ１００）において相手論理ボリューム（即ちソースとなる論理ボリューム５００）が属する論理ボリュームグループを特定するＩＤとなる。また記憶装置Ｂ１９０は相手論理ボリューム情報３２０も持つが、これの項目も記憶装置Ａ１００のものと同じであって、内容に関しては、論理ボリュームＩＤは複製を格納する論理ボリューム５００を特定するＩＤであり、相手記憶装置ＩＤはソースとなる記憶装置（記憶装置Ａ１００）のＩＤを特定するＩＤであり、相手論理ボリュームＩＤは相手記憶装置（記憶装置Ａ１００）において相手論理ボリューム（ソースとなる論理ボリューム５００）を特定するＩＤとなる。
【００３５】
図６に戻って、次にライトデータ受領部Ｂ２１１は到着済みライト時刻情報３５０を更新する（ステップ１１０４）。
【００３６】
図８は各グループの到着済みライト時刻情報３５０の一例を示す図である。グループＩＤは記憶装置Ｂ１９０において論理ボリュームグループを特定するＩＤである。到着済みライトデータの最新ライト時刻は、記憶装置Ｂ１９０の論理ボリュームグループについて、ライトデータ受領部Ｂ２１１が受領したライトデータに与えられていたライト時刻のうち最も現時刻に近い最新の時刻である。但しシーケンシャル番号順で見て一部未到着のライトデータがある場合（途中抜けているライトデータがある場合）は、シーケンシャル番号順で連続している最後のライトデータ（抜けの直前のライトデータ）までを時刻比較の範囲として、これらのライトデータに付与されているライト時刻のうち最新の時刻が、到着済ライト時刻情報として記録される。
【００３７】
ライトデータ転送部Ａ２２０とライトデータ受領部Ｂ２１１との間のライトデータの転送においては、複数ライトデータを並列に同時に転送してもよい。このためライトデータ受領Ｂ２１１はライトデータをシーケンシャル番号順に受領するとは限らないが、後述するようにライトデータは各論理ボリュームグループごとに、シーケンシャル番号順に反映される（即ち記憶装置Ｂの論理ボリュームに格納される）ため、更新順序どおりに（即ち記憶装置Ａにおけるライトデータのライト順通りに）複製に反映される。
【００３８】
再び図６に戻って、最後にライトデータ受領部Ｂ２１１は、ライトデータ転送部Ａ２２０にライトデータ受領完了を報告する（ステップ１１０５）。これを受信した記憶装置Ａのライトデータ転送部Ａは、ライトデータ受領完了の報告に対応するライトデータについて、ライトデータ管理情報３３０の転送必要ビットをＯＦＦにする。この時点で記憶装置Ａ１００は、記憶装置Ｂへの転送用に保持していた転送済のライトデータをキャッシュから破棄できる。
【００３９】
図９は記憶装置Ｂ１９０におけるライトデータの反映処理（即ち、ライトデータの論理ボリュームへの格納処理）の一例を示す図である。
【００４０】
ライトデータ反映指示部Ｂ２３０は記憶装置Ｂ１９０の全論理ボリュームグループの到着済みライト時刻情報３５０を調べ、この中で最も過去の時刻を求める（ステップ１２００）。ライトデータ反映指示部Ｂ２３０は求めた時刻よりライト時刻が前のライトデータの論理ボリュームへの反映をライトデータ反映部Ｂ２４０に指示（若しくは許可）する（ステップ１２０１）。この指示（若しくは許可）を受けたライトデータ反映部２４０は、ライトデータ管理情報３３０とグループ管理情報３１０を参照して、ライト時刻順に、また同じライト時刻であれば各論理ボリュームグループにおけるシーケンシャル番号順に、指示された時刻範囲のライトデータ（即ちライト時刻がステップ１２００で求めた時刻より以前のライトデータ）を、複製を格納している論理ボリューム５００に対して反映する（即ちターゲット側の論理ボリュームにライトデータを格納する。）（ステップ１２０２）。ステップ１２０２において指示された範囲のライトデータを全て反映し終わったら、ライトデータ反映部Ｂ２４０は指示された処理の完了をライトデータ反映指示部２３０に報告する（ステップ１２０３）。記憶装置Ｂは、反映したライトデータはキャッシュ４００から破棄できる。
【００４１】
以上ステップ１２００からステップ１２０３の処理によって、１サイクルの反映処理が終了する。記憶装置Ａから転送されてくるライトデータを継続して反映するためにライトデータ反映指示部Ｂ２３０とライトデータ反映部Ｂ２４０は上記のサイクルを繰り返す。
【００４２】
上記の処理により、メインフレームホストによるデータの更新とオープンシステムホストによるデータの更新の間の順序を守って、記憶装置Ｂ１９０の更新されたデータの複製を格納し、各複製間のデータ整合性について、メインフレームホストのデータとオープンシステムホストのデータでも共通の整合性を維持することができる。
【００４３】
すなわち記憶装置Ａは、メインフレームホストから受信するライト要求６３０に含まれているライト時刻６５０を利用して、オープンシステムホストから受信するライトデータにもライト時刻を付与し、更に受信したライトデータをライト時刻と共にシーケンシャル番号をも用いて管理する。副側の記憶装置Ｂでは、反映可能な（即ちターゲット側の論理ボリュームに格納可能な）ライトデータを、シーケンシャル番号とライト時刻を用いて指定し、指定されたライトデータをターゲット側の論理ボリュームに格納する。この結果、途中のバッファリングや転送は並列であっても、メインフレームホストから書き込まれたデータとオープンシステムホストから書き込まれたデータとの間の書き込み順序を守った上で、副側の記憶装置Ｂ１９０の論理ボリュームにコピーデータを格納することができる。
【００４４】
また、例えば記憶装置Ａ１００に障害が発生し、先に更新されたライトデータが記憶装置Ｂ１９０に届かなかったとしても、届かなかったライトデータのライト時刻以降のライト時刻のライトデータにはついては、シーケンシャル番号が連続しないため、反映が許可されない。従って副側の記憶装置Ｂにおいてデータ更新の抜けは生じず、正側の記憶装置Ａと副側の記憶装置Ｂとの間の整合性が確保される。この結果、正側の記憶装置Ａに障害が生じた場合であっても、ＭＦＢ６９０やオープンシステムホストＢ７９０は整合性のとれた記憶装置Ｂ１９０の論理ボリューム５００の内容を用いて業務を引き継ぐことができる。
【００４５】
また上記の処理では記憶装置Ａが受信する全てのライトデータにライト時刻が与えられるため、データを使用するホストがメインフレームホストかオープンシステムホストかにかかわらず、任意の論理ボリューム５００においてどのライト時刻までのライトデータが記憶装置Ａから記憶装置Ｂへ転送済みか、記憶装置Ｂに到着ずみか、記憶装置Ｂにおいて反映済み（即ち論理ボリュームに格納済）か、等の情報を知ることができる。
【００４６】
尚、上記のステップ１２０２において処理負荷を軽減するために、ライト時刻順は無視して各論理ボリュームグループにおけるシーケンシャル番号順に、指示された時刻範囲のライトデータを、複製を格納している論理ボリューム５００に格納しても良い。この場合には、ステップ１２０３での処理完了報告のタイミングで複製間（即ち副側の記憶装置Ｂの論理ボリューム間）の整合性が保持されることになる。処理完了報告と次の処理完了報告との間の期間も整合性のあるデータを保持したい場合は、複製を格納している論理ボリューム５００のスナップショットを処理完了報告のタイミングで取得すればよい。このようなスナップショットを取得する方法としては例えば米国特許６６５８４３４号に開示の技術がある。この方法では記憶装置Ｂ１９０の別の論理ボリューム５００（副ボリューム）にスナップショットを取得すべきデータを格納している論理ボリューム５００（正ボリューム）の格納内容をコピーし、正ボリュームが更新されたら副ボリュームにも更新内容を反映することとなるが、本実施形態においては、一旦正ボリュームのスナップショットを副ボリュームに格納した時点で、反映を停止して、副ボリュームの内容を静止、確定させる。
【００４７】
また上記のライトデータの転送処理において、最初にライトデータ転送部Ａ２２０がライトデータ受領部Ｂ２１１に対してライトデータを転送するとしたが、最初にライトデータ受領部Ｂ２１１がライトデータ転送部２２０に対してライトデータの転送要求を発行し、この要求を受領したライトデータ転送部Ａ２２０がライトデータ受領部Ｂ２１１に対してライトデータを転送してもよい。ライトデータの転送要求を用いることで、記憶装置Ｂ１９０の処理の状況や負荷、ライトデータの蓄積量などに応じて、ライトデータの転送のペースを調整することが可能となる。
【００４８】
また上記の処理ではライトデータを格納する場所をキャッシュ４００としたが、別にライトデータ格納用の論理ボリューム５００を用意して、この論理ボリューム５００にライトデータを格納してもよい。一般にキャッシュ４００に対し論理ボリューム５００は大容量を用意できるため、より多くのライトデータを蓄積することが可能となる。
【００４９】
また上記の処理ではライト時刻情報３４０をメインフレームホストから受信するライト時刻６５０により更新するとしたが、記憶装置Ａ１００が内部に時計を有し、この時計を参照してライト時刻情報３４０を常時更新してもよい。この場合に、記憶装置Ａ１００が複製を作成している論理ボリューム５００（ソースとなる論理ボリューム５００）に対するライト要求を、ＭＦＡ６００またはオープンシステムホストＡ７００から受領した際に実行する処理の一例を図１０に示す。この処理は図３に示す処理に対応する処理である。
【００５０】
ライトデータ受領部Ａ２１０はＭＦＡ６００またはオープンシステムホストＡ７００からライト要求を受領する（ステップ１３００）。ライトデータ受領部Ａ２１０はライトデータをキャッシュ４００に格納し（ステップ１３０１）、記憶装置Ａが有する時計合わせて常時更新されているライト時刻情報３４０を参照してライトデータにライト時刻を与え、またグループ管理情報３１０を参照してライトデータにシーケンシャル番号を与えてライトデータ管理情報３３０を作成する（ステップ１３０２）。最後にＭＦＡ６００またはオープンシステムホストＡ７００にライト完了報告を行う（ステップ１３０３）。
【００５１】
また上記の処理では時刻をライト時刻情報３４０やライトデータ管理情報３００のライト時刻や到着済みライト時刻情報３５０に用いるとしたが、この際使用される時刻は必ずしも年、月、日、時、分、秒、ミリ秒、マイクロ秒、ナノ秒やもしくは通算時間といった形式でなくても良く、シーケンシャルな番号を用いてもよい。特に記憶装置Ａ１００がみずからライト時刻情報３４０を更新する場合の、記憶装置Ａ１００が複製を作成している論理ボリューム５００（ソースとなる論理ボリューム５００）に対するライト要求を、ＭＦＡ６００またはオープンシステムホストＡ７００から受領した場合の処理の一例を図１１に示す。この処理は図３や図１０に対応する処理である。尚、図１１においては、ライト時刻情報３４０の初期値は例えば０で、下記のように順次１ずつ増やした番号をライト時刻としてライトデータに与えていく。
【００５２】
ライトデータ受領部Ａ２１０はＭＦＡ６００またはオープンシステムホストＡ７００からライト要求を受領する（ステップ１４００）。ライトデータ受領部Ａ２１０はライトデータをキャッシュ４００に格納し（ステップ１４０１）、ライト時刻情報３４０から番号を読み出しこれに１を加えた値をライト時刻としてライトデータに与え（ステップ１４０２）、ステップ１４０２において１を加えられた後の値をライト時刻情報３４０として記録してライト時刻情報３４０を更新する（ステップ１４０３）。またグループ管理情報３１０を参照してシーケンシャル番号をライトデータに与えて（ステップ１４０４）、ライトデータ管理情報３３０を作成する（ステップ１４０５）。ライトデータ受領部Ａ２１０は、最後にＭＦＡ６００またはオープンシステムホストＡ７００にライト完了報告を行う（ステップ１４０６）。
【００５３】
このようにライト時刻としてシーケンシャルな番号を用いる場合は、記憶装置Ｂ１９０での処理においてライトデータ受領部Ｂ２１１が受信したライトデータに付与されているライト時刻を用いて到着済みライト時刻情報３５０を更新し、ライトデータ反映指示部Ｂ２３０が各論理ボリュームグループの到着済みライト時刻情報３５０をチェックして記憶装置Ｂの論理ボリュームに格納可能なライトデータの範囲を指定する代わりに、ライトデータ反映部２４０はライトデータ管理情報３３０のライト時刻に記録されるシーケンシャルな番号を参照して、記憶装置Ｂに到着しているライトデータを番号順に番号を飛ばすことなく論理ボリューム５００に反映（即ち格納）するようにしてもよい。
【実施例２】
【００５４】
図１２は第二の実施形態における計算機システムの構成例を示す図である。
【００５５】
実施例１との違いはＭＦＡ６００とオープンシステムホストＡ７００は記憶装置Ｃ１８０にＩ／Ｏパス９００を介して接続しており、記憶装置Ｃ１８０は転送パス９１０を介して記憶装置Ａ１００に接続している点である。本実施例では記憶装置Ｃ１８０の論理ボリューム５００に格納されているデータの複製を記憶装置Ａ１００の論理ボリューム５００に格納する。そしてさらに記憶装置Ａの論理ボリューム５００に格納されているデータの複製を実施例１に説明した処理と同様の処理で記憶装置Ｂ１９０の論理ボリューム５００に格納する。すなわち本実施例では記憶装置Ｃ１８０の論理ボリューム５００に格納されているデータの複製が記憶装置Ａ１００と記憶装置Ｂ１８０に格納される。
【００５６】
かかる処理を実現するために、記憶装置Ｃ１８０は実施例１で説明した記憶装置Ａ１００と同様の構成や各種情報などを備える。但し、ライトデータ受領部Ｃ２１２がライトデータに対するライト完了通知を送信するタイミングは実施例１とは異なる。ライトデータ受領部は下記の様に、記憶装置Ａのライトデータ受領部Ａから受領完了通知を受信した後にＭＦＡ６００若しくはオープンシステムホストＡにライト完了通知を送信する。その他の記憶装置Ｃの構成は実施例１で説明した記憶装置Ａと同様である。
【００５７】
ＭＦＡ６００やオープンシステムホストＡ７００から論理ボリューム５００へのライト要求６３０やライト要求７３０を受領した記憶装置Ｃ１８０は、受領したライトデータ６４０やライトデータ７４０を記憶装置Ｃ内の論理ボリュームに格納するとともに、記憶装置Ａのライトデータ受領部Ａ２１０に転送する。このとき実施例１で説明した処理とは異なり、記憶装置Ｃ１８０はライトデータ受領部Ａ２１０からの受領完了通知を待ってからＭＦＡ６００若しくはオープンシステムホストＡ７００にライト完了通知を送ることで、記憶装置Ｃ１８０はライトしたライトデータ６４０やライトデータ７４０の複製が記憶装置Ａ１００に存在することを保証する。これにより例えば記憶装置Ｃ１８０や転送パス９１０に障害が発生し記憶装置Ａ１００にデータが転送できなくなったとしても、記憶装置Ａ１００に転送されなかったライトデータはＭＦＡ６００やオープンシステムホストＡ７００にとってライトされていないことになるし、記憶装置Ａ１００に受領されたライトデータは確実にライトされていることになるので、ＭＦＡ６００上のＡＰＰ６２０やオープンシステムホストＡ７００上のＡＰＰ７２０の期待通りの複製が記憶装置Ａ１００に存在することとなる。
【００５８】
さらに記憶装置Ａ１００が受領したライトデータを記憶装置Ｂ１９０に全て送った後は、記憶装置Ｂ１９０にも期待通りの複製が存在するので、ＭＦＢ６９０やオープンシステムホストＢ７９０は、ＭＦＡ６００やオープンシステムホストＡ７００が実行していた処理が中断した時点においてＭＦＡ６００若しくはオープンシステムホストＡ７００が書き込み済みだと認識していたデータと同じ期待通りのデータを用いて業務を引き継ぐことができる。
【００５９】
実施例１で最初に示したようにライト時刻情報３４０をライトデータに付与されているライト時刻６５０により更新する場合、記憶装置Ｃ１００のライトデータ受領部Ｃ２１２は受領したライト要求６３０にライト時刻６５０が含まれていたならば、ライトデータ管理情報３３０にライト時刻も記録し、ライトデータ転送部Ｃ２２２はライトデータ転送時にライト時刻も記憶装置Ａ１００のライトデータ受領部Ａ２１０に転送する。
【００６０】
ライトデータと共にライト時刻を受領したライトデータ受領部Ａ２１０は、実施例１でメインフレームホストから受信したライト要求６３０を処理したのと同様の方法で、記憶装置Ｃから受信したライトデータとライト時刻を処理することで、記憶装置Ａ内の論理ボリュームに格納される各複製間の整合性を維持し、メインフレームホストから発行されるライトデータとオープンシステムホストから発行されるライトデータとの間でも整合性を維持することができる。
【００６１】
これにより大規模災害などで記憶装置Ｃ１８０と記憶装置Ａ１００の両方に障害が発生したとしても、ＭＦＢ６９０やオープンシステムホストＢ７９０は整合性のとれた記憶装置Ｂ１９０の論理ボリューム５００の内容を用いて業務を引き継ぐことができる。
【００６２】
実施例１の最後で示したように記憶装置Ａ１００がみずからライト時刻情報３４０を更新する場合は、記憶装置Ｃ１８０からのライト時刻の転送は不要で、記憶装置Ｃからライトデータを受領したライトデータ受領部Ａ２１０はライトデータを実施例１の最後で示した図１１の処理と同様に処理すればよい。
【００６３】
尚、記憶装置Ａ１００に接続して記憶装置Ａ１００にライトデータの複製を送信し、記憶装置Ａにライトデータの複製を格納させる記憶装置Ｃ１８０が複数台存在しても良い。
【００６４】
また図示していないメインフレームホストおよびオープンシステムホストが記憶装置Ａ１００にＩ／Ｏパスで接続している場合には、記憶装置Ａに接続されるメインフレームホストやオープンシステムホストは、ＭＦＡ６００やオープンシステムホストＡ７００や記憶装置Ｃ１８０に障害が発生した場合などに、整合性のとれた記憶装置Ａ１００の論理ボリューム５００の内容を用いて、ＭＦＡ６００やオープンシステムホストＡ７００が実行していた業務を引き継ぐことができる。
【実施例３】
【００６５】
図１３は実施例３における計算機システムの構成例を示す図である。
【００６６】
実施例１との主な違いは記憶装置Ａ１００と記憶装置Ｂ１９０がそれぞれ複数台あり、ＭＦＡ６００とオープンシステムホストＡ７００が複数台の記憶装置Ａ１００それぞれにＩ／Ｏパス９００を介して接続し、ＭＦＢ６９０とオープンシステムホストＢ７９０が複数の記憶装置Ｂ１９０それぞれにＩ／Ｏパス９００を介して接続し、ＭＦＡ６００に管理ソフトＡ８００が存在し、ＭＦＢ６９０に管理ソフトＢ８９０が存在する点である。その他の差異については以下に説明していく。
【００６７】
以下にＭＦＡ６００とオープンシステムホストＡ７００が使用する論理ボリューム５００について、各論理ボリューム５００へ行われたライトに対する処理と、記憶装置Ｂ１９０へのライトデータの転送および記憶装置Ｂ１９０におけるライトデータの反映（即ちライトデータの論理ボリュームへの格納）処理について説明する。これらの処理によって複数の記憶装置Ｂが有する複数の論理ボリューム各々に格納されている複製間の整合性について、メインフレームホストのデータとオープンシステムホストのデータとの間でも共通の整合性を維持できるようにする。
【００６８】
図１４は記憶装置Ａ１００が複製を作成している論理ボリューム５００（ソースとなる論理ボリューム５００）に対するライト要求を、ＭＦＡ６００またはオープンシステムホストＡ７００から受領した場合の処理の一例を示した図である。
【００６９】
ライトデータ受領部Ａ２１０はＭＦＡ６００またはオープンシステムホストＡ７００からライト要求を受領する（ステップ１５００）。ライトデータ受領部Ａ２１０はライトデータをキャッシュ４００に格納し（ステップ１５０１）、また実施例１と同様にグループ管理情報３１０を参照してシーケンシャル番号を取得してライトデータ管理情報３３０を作成する（ステップ１５０２）。最後にＭＦＡ６００またはオープンシステムホストＡ７００にライト完了報告を行う（ステップ１５０３）。グループ管理情報３１０は実施例１のものと同じである。本実施例のライトデータ管理情報３３０については後で説明する。
【００７０】
図１５は管理ソフトＡ８００が記憶装置Ａ１００に対してライト要求の処理の保留とマーカ作成を指示した場合の処理の一例を示した図である。後で説明するように、記憶装置Ａ１００の論理ボリューム５００に対する更新間でこの処理が行われたタイミングで、のちに各複製への反映の同期が行われて、複数の記憶装置Ｂ１９０に格納されている複製間の整合性が確立される。
【００７１】
まず管理ソフトＡ８００は全ての記憶装置Ａ１００にライト要求の処理の保留を指示する（ステップ１６００）。この指示を受けてライトデータ受領部Ａ２１０はライト要求の処理を保留し（ステップ１６０１）、保留を開始したことを管理ソフトＡ８００に報告する（ステップ１６０２）。管理ソフトＡ８００は指示した記憶装置Ａ１００全てから保留開始の報告があるのを確認してから次の処理に進む（ステップ１６０３、ステップ１６０４）。
【００７２】
次に管理ソフトＡ８００はマーカ作成を全ての記憶装置Ａ１００に指示する（ステップ１６０５）。この指示にはパラメータとしてマーカ番号が含まれる。マーカ番号については後述する。この指示を受けてマーカ作成部Ａ２５０は受領したマーカ番号を制御メモリ３００に格納されている図１６に示すマーカ番号情報３６０に記録し（ステップ１６０６）、情報伝達用の特殊なライトデータ（以降マーカと呼ぶ）を全論理ボリュームグループに対して作成する（ステップ１６０７）。尚、マーカとはライトデータ管理情報３００にマーカ属性を設定したライトデータである。
【００７３】
図１７は本実施例におけるライトデータのライトデータ管理情報３３０の一例を示す図であり、実施例１のライトデータ管理情報３３０に対してマーカ属性ビットとマーカ番号が加わっている。
【００７４】
マーカ属性ビットは当該ライトデータがマーカであることを示すビットであり、通常のライトデータではＯＦＦであるが、マーカに対してはＯＮに設定される。マーカ番号には前述のマーカ番号が設定される。マーカに対しても通常のライトデータ同様にグループにおけるシーケンシャル番号が取得され与えられる。すなわちマーカの作成に際してマーカ作成部Ａ２５０はライトデータ受領部Ａの処理と同様にグループのグループ管理情報３１０からシーケンシャル番号を参照し、これに１を加えた値を前記マーカのシーケンシャル番号としてライトデータ管理情報３３０に記録し、新しいシーケンシャル番号をグループ管理情報３１０に記録する。このようにマーカにはシーケンシャル番号が与えられて通常のライトデータ同様に記憶装置Ｂ１９０に転送されるが、マーカは論理ボリューム５００には反映されない。
【００７５】
マーカ番号はマーカがどの指示に基づいて作成されたかを特定するための番号であり、例えば初期値は０であって管理ソフトＡ８００はマーカ作成指示を発行する際にマーカ番号を１ずつ増やしてから発行する。管理ソフトＡ８００はマーカ番号情報３６０に記録されたマーカ番号を読み出して、現在のマーカ番号を確認することができる。
【００７６】
図１５に戻って、全論理ボリュームグループに対してマーカを作成したマーカ作成部Ａ２５０はマーカ作成完了を管理ソフトＡ８００に報告する（ステップ１６０８）。管理ソフトＡ８００は指示した記憶装置Ａ１００全てからマーカ作成完了の報告があるのを確認してから次の処理に進む（ステップ１６０９、ステップ１６１０）。
【００７７】
管理ソフトＡ８００は全ての記憶装置Ａ１００にライト要求の処理保留の解除を指示する（ステップ１６１１）。この指示を受けてライトデータ受領部Ａ２１０はライト要求の処理保留を解除し（ステップ１６１２）、保留解除したことを管理ソフトＡ８００に報告する（ステップ１６１３）。
【００７８】
図１８は記憶装置Ａ１００から記憶装置Ｂ１９０へのライトデータの転送処理の一例を示す図である。この処理は実施例１の図６で説明した転送処理とほぼ同様であるが、ライトデータ受領部Ｂ２１１による到着済みライト時刻情報３５０の更新が行われないことが異なる。尚記憶装置Ｂ１９０のライトデータ管理情報３３０は前述の図１７に示すライトデータ管理情報と同じであり、ステップ１７０３においては、ライトデータのマーカ属性の有無やマーカ番号もライトデータ管理情報３３０に記録される。
【００７９】
図１９は記憶装置Ｂ１９０における論理ボリュームへのライトデータの反映（格納）処理の一例を示す図である。まず管理ソフトＢ８９０は全ての記憶装置Ｂ１９０に、複製を格納する論理ボリューム５００へのマーカまでのライトデータの反映を指示する（ステップ１８００）。この指示を受けたライトデータ反映部Ｂ２４０はライトデータ情報３３０とグループ管理情報３１０を参照して、複製を格納する論理ボリューム５００に対してマーカまでのライトデータを各グループにおけるシーケンシャル番号順に反映する（ステップ１８０１）。即ちライトデータ反映部Ｂ２４０は、ライトデータをシーケンシャル番号順に論理ボリュームに格納してゆき、マーカ属性のライトデータ（即ちマーカ）を見つけたらデータの格納処理を停止し、反映完了を管理ソフトＢ８９０に報告する（ステップ１８０２）。上記の処理においてライトデータ反映部Ｂはマーカのライトデータ管理情報３３０に記録されているマーカ番号を調べ、マーカ番号が正しいか（前述のマーカ番号決定ルールと同じルールに従っているか、例えば初期値が０からなる番号で、前回のマーカ番号に対して１加えられた番号であるか）を判定し、正しくない場合は管理ソフトＢ８９０に異常を報告し、正しい場合はマーカ番号をマーカ番号情報３６０に記録して正常を報告する。管理ソフトＢ８９０はマーカ番号情報３６０に記録されたマーカ番号を読み出して、現在のマーカ番号を確認することができる。
【００８０】
管理ソフトＢ８９０は指示した記憶装置Ｂ１９０全てから正常な反映完了の報告があるのを確認してから次の処理に進む（ステップ１８０３、ステップ１８０４）。
【００８１】
次に管理ソフトＢ８９０は全ての記憶装置Ｂ１９０に、複製を格納する論理ボリューム５００のスナップショットの更新を指示する（ステップ１８０５）。この指示を受けたスナップショット取得部Ｂ２６０は論理ボリューム５００の内容のスナップショットを更新する（ステップ１８０６）。このようなスナップショットを取得する方法としては例えば米国特許６６５８４３４号に開示の技術がある。尚、本実施形態では実施例１で説明した方法と同様、スナップショット取得の時点でスナップショットデータを格納するボリュームへのライトデータの反映を停止して、スナップショットデータを格納するボリュームの内容を静止させる。スナップショットを更新したスナップショット取得部Ｂ２６０はスナップショット更新完了を管理ソフトＢ８９０に報告する（ステップ１８０７）。管理ソフトＢ８９０は指示した記憶装置Ｂ１９０全てからスナップショット更新完了の報告があるのを確認してから次の処理に進む（ステップ１８０８、ステップ１８０９）。
【００８２】
管理ソフトＡ８００と管理ソフトＢ８９０はそれぞれ上記ステップ１６００からステップ１６１３、及びステップ１８００からステップ１８０９の処理を繰り返す。これにより記憶装置Ａ１００の論理ボリューム５００への更新が、記憶装置Ｂ１９０の論理ボリューム５００に定常的に反映される。
【００８３】
上記のように処理することによって、ＭＦＡ６００とオープンシステムホストＡ７００によるデータ更新をとめて、更新状況を複数記憶装置間で統一するタイミング（チェックポイント）としてマーカを作成し、複数の副側の記憶装置Ｂが有する複数の副側論理ボリュームに格納されている複製データへの更新データの反映（即ち格納）はマーカが書き込まれる直前の時点で同期させることができるので、各複製間の整合性について、このマーカの時点でメインフレームホストのデータとオープンシステムホストのデータで共通の整合性を得ることができる。さらに複製データへの更新データの反映が、複数の複製データ間で同期した時点でスナップショットを取得して、共通の整合性を持つ複製をスナップショットボリュームに保持しているので、ＭＦＢ６９０やオープンシステムホストＢ７９０はスナップショットボリュームに格納されている整合性のとれたデータを用いて業務を引き継ぐことができる。
【００８４】
上記の処理では管理ソフトＢ８９０の指示に基づいて記憶装置Ｂ１９０がスナップショットを更新するとしたが、記憶装置Ｂが複数の複製データ間で更新データの反映を同期させるタイミングでスナップショットを更新してもよい。この場合の記憶装置Ｂ１９０における複製へのライトデータの反映処理の一例を図２０に示す。
【００８５】
管理ソフトＢ８９０は全ての記憶装置Ｂ１９０に、複製を格納する論理ボリューム５００へのマーカまでのライトデータの反映を指示する（ステップ１９００）。この指示を受けたライトデータ反映部Ｂ２４０は図１９で説明した処理と同様にライトデータを反映し、マーカを見つけたら反映を停止しスナップショット取得部Ｂ２６０に通知する（ステップ１９０１）。通知を受けたスナップショット取得部Ｂ２６０は論理ボリューム５００の内容のスナップショットを更新し、ライトデータ反映部Ｂ２４０に通知する（ステップ１９０２）。通知をうけたライトデータ反映部Ｂ２４０は反映完了を管理ソフトＢ８９０に報告する（ステップ１９０３）。管理ソフトＢ８９０は指示した記憶装置Ｂ１９０全てからスナップショット更新完了の報告があるのを確認してから次の処理に進む（ステップ１９０４、ステップ１９０５）。
【００８６】
また上記の処理では管理ソフトＡ８００または管理ソフトＢ８９０からの各種指示に対し記憶装置Ａ１００または記憶装置Ｂ１９０が処理完了を報告するとしているが、管理ソフトＡ８００または管理ソフトＢ８９０が前記指示に対して処理状態を定期的に記憶装置Ａ１００または記憶装置Ｂ１９０に問い合わせることで管理ソフトＡ８００または管理ソフトＢ８９０が記憶装置Ａ１００または記憶装置Ｂ１９０の各種処理完了を検出してもよい。
【００８７】
また上記の処理では記憶装置Ａ１００から記憶装置Ｂ１９０へのライトデータの転送処理を継続して行っているが、記憶装置Ａ１００はマーカを作成してライトデータを転送した後はライトデータの転送を停止し、さらに記憶装置Ｂ１９０は受領したマーカを反映処理で検出した後（マーカ以前のライトデータは反映した後）はライトデータの反映を停止し、すなわち記憶装置Ａ１００と記憶装置Ｂ１９０による複製処理を停止状態（サスペンド状態と呼ぶ）にしてもよい。ただし記憶装置Ｂ１９０は管理ソフトＢ８９０からの指示に関係なくマーカ検出まではライトデータの反映を行うとする。この場合、マーカ作成指示はサスペンド状態移行指示と等価となり、全ての記憶装置Ｂ１９０がサスペンド状態に移行した時点で、記憶装置Ｂ１９０の論理ボリューム５００には共通の整合性のある複製が作成される。複製処理を再開する際は論理ボリューム５００のスナップショットを取得してから、管理ソフトＡ８００または管理ソフトＢ８９０から複製処理再開を指示して記憶装置Ａ１００と記憶装置Ｂ１９０による複製処理を再開させる。この結果共通の整合性を持つ複製をスナップショットが格納されているデータに保持することができ、ＭＦＢ６９０やオープンシステムホストＢ７９０は整合性のとれたデータを用いて業務を引き継ぐことができる。
【００８８】
また上記の処理において管理ソフトＡ８００や管理ソフトＢ８９０と記憶装置Ａ１００や記憶装置Ｂ１９０との間の各種の指示、報告及び情報の送受信は、Ｉ／Ｏパス９００経由で実行されてもよく、ネットワーク９２０経由で実行されてもよい。マーカ作成指示が記憶装置Ａ１００へのライト要求の形式で行われる場合は、ライト要求の処理保留の対象外となる論理ボリューム５００を記憶装置Ａ１００に設け、マーカ作成指示はこの論理ボリューム５００に対して行われる。
【００８９】
また上記の処理において記憶装置Ａ１００と記憶装置Ｂ１９０は一対一で接続している必要はなく、それぞれの論理ボリューム５００および論理ボリュームグループがソースおよび複製として対応していれば、同じ台数である必要もない。
【００９０】
また上記の構成では管理ソフトＡ８００はＭＦＡ６００に存在し、管理ソフトＢ８９０はＭＦＢ６９０に存在するとしたが、管理ソフトＡ８００および管理ソフトＢ８９０はＭＦＡ６００、ＭＦＢ６９０、オープンシステムホストＡ７００、オープンシステムホストＢ７９０、記憶装置Ａ１００、記憶装置Ｂ１９０のいずれに存在してもかまわない。また記憶装置Ａ１００や記憶装置Ｂ１９０と接続する図示されていない他の計算機に存在してもよい。
【００９１】
上記の処理ではライトデータ反映部Ｂ２４０が正しいマーカ番号を決定するとしたが、正しいマーカ番号を管理ソフトＢが反映指示のパラメータとして記憶装置Ｂ１９０に指定してもよい。また管理ソフトＡ８００が記憶装置Ａ１００に対してライト要求の処理の保留とマーカ作成を指示する際に一意なマーカ番号を決定して記憶装置Ａ１００に指定するとともに管理ソフトＢ８９０に通知し、このマーカ番号を管理ソフトＢ８９０が記憶装置Ｂ１９０に指定してもよい。
【００９２】
上記の処理において、管理ソフトＡ８００が記憶装置Ａ１００に対してライト要求の処理の保留とマーカ作成を指示する契機は、ＡＰＰ６２０やＡＰＰ７２０の処理に連動して決定されてもよい。例えばＤＢＭＳのチェックポイント作成の契機でライト要求処理の保留とマーカ作成を指示することで、チェックポイントで複製への反映の同期が行われることになる。従って、チェックポイントにおける正側の論理ボリューム５００の格納内容が副側の論理ボリューム中の複製に反映された状態でスナップショットが取得され、ＭＦＢ６９０やオープンシステムホストＢ７９０はこの状態のデータを用いて業務を引き継ぐことができる。
【００９３】
また管理ソフトＡ８００が記憶装置Ａ１００に対してライト要求の処理の保留および保留解除を指示する代わりに、ＯＳ６１０やＯＳ７１０が管理ソフトＡ８００と連携することにより、ＭＦＡ６００やオープンシステムホストＡ７００が記憶装置Ａ１００へのライト要求の発行を保留したり、再開したりすることとしてもよい。
【００９４】
また実施例１で説明したように、キャッシュ４００とは別にライトデータ格納用の論理ボリューム５００を用意して、このライトデータ格納用論理ボリューム５００にライトデータを格納してもよい。またライトデータの転送処理においても、最初にライトデータ受領部Ｂ２１１がライトデータ転送部２２０に対してライトデータの転送要求を発行し、この要求を受領したライトデータ転送部Ａ２２０がライトデータ受領部Ｂ２１１に対してライトデータを転送してもよい。
【００９５】
本実施例で説明した処理はライト要求にライト時刻が含まれていなくても実施可能である。
【実施例４】
【００９６】
図２１は実施形態４における計算機システムの構成例を示す図である。
【００９７】
実施例３との違いはＭＦＡ６００とオープンシステムホストＡ７００は複数の記憶装置Ｃ１８０各々にＩ／Ｏパス９００を介して接続しており、複数の記憶装置Ｃ１８０は転送パス９１０を介して複数の記憶装置Ａ１００に接続している点である。さらに複数の記憶装置Ｃ１８０はネットワーク９２０で他の計算機や装置に接続している。尚、実施例４の記憶装置Ａ及び記憶装置Ｂは、実施例３における記憶装置Ａ及び記憶装置Ｂと同様の構成、機能を有する。
【００９８】
本実施例では実施例２と同様に記憶装置Ｃ１８０の論理ボリューム５００に格納されたデータの複製を記憶装置Ａ１００の論理ボリューム５００に格納する。すなわち記憶装置Ｃ１８０は実施例２と同様の構成や各種情報などを備えて、ＭＦＡ６００やオープンシステムホストＡ７００から論理ボリューム５００へのライト要求を受領した記憶装置Ｃ１８０は、受領したライトデータを格納するとともに、記憶装置Ａのライトデータ受領部Ａ２１０に転送するが、このとき実施例２と同様にライトデータ受領部Ａ２１０からの受領完了通知を待ってからＭＦＡ６００やオープンシステムホストＡ７００にライト完了通知を送り、記憶装置Ｃ１８０はライトしたライトデータ６４０やライトデータ７４０の複製が記憶装置Ａ１００に存在することを保証する。
【００９９】
さらに記憶装置Ａは記憶装置Ｃの論理ボリューム５００に格納されているデータの複製を、実施例３で説明した処理と同様の処理で記憶装置Ｂ１９０の論理ボリューム５００に格納する。上記のような処理により、実施例２で説明したように、例えば記憶装置Ｃ１８０や転送パス９１０に障害が発生し記憶装置Ａ１００にデータが転送できなくなったとしても、ＭＦＢ６９０やオープンシステムホストＢ７９０は、ＭＦＡ６００やオープンシステムホストＡ７００が処理を中断した際記憶装置Ｃに格納されていると認識している期待通りの内容を記憶装置Ｂから得ることができるので、このデータを用いて業務を引き継ぐことができる。
【０１００】
上記の処理において、管理ソフトＡ８００は、実施例３で記憶装置Ａ１００に対して行った処理と同様に、全ての記憶装置Ｃ１８０に対して、ライト要求の処理の保留や、マーカ作成や、ライト要求の処理保留の解除の指示を行う。実施例３のステップ１６００と同様に、まず管理ソフトＡ８００は全ての記憶装置Ｃ１８０にライト要求の処理の保留を指示する。この指示を受けた記憶装置Ｃ１８０のライトデータ受領部Ｃ２１２は実施例３のステップ１６０１とステップ１６０２で記憶装置Ａ１００が行った処理と同様に、ライト要求の処理を保留し、管理ソフトＡ８００に保留開始を報告する。前述のようにこの時点でＭＦＡ６００やオープンシステムホストＡ７００に対してライト完了通知済みのライトデータは記憶装置Ａ１００に転送済みであり、記憶装置Ａ１００においてライトデータのライトデータ管理情報３００が作成されている。管理ソフトＡ８００は実施例３のステップ１６０３とステップ１６０４と同様に、指示した記憶装置Ｃ１８０全てから保留開始の報告があるのを確認してから次の処理に進む。
【０１０１】
次に管理ソフト８００は実施例３のステップ１６０５と同様に、全ての記憶装置Ｃ１８０にマーカ作成を指示する。この指示を受領した記憶装置Ｃ１８０は複製を格納する記憶装置Ａ100マーカ作成指示を転送パス９１０またはネットワーク９２０を介して伝達する。マーカ作成指示を受けた記憶装置Ａ１００は、実施例３のステップ１６０６、ステップ１６０７とステップ１６０８と同様にマーカを作成し、前記記憶装置Ｃ１８０にマーカ作成完了を転送パス９１０またはネットワーク９２０を介して報告する。報告を受領した記憶装置Ｃ１８０は管理ソフト８００にマーカ作成完了を報告する。管理ソフトＡ８００は実施例３のステップ１６０９とステップ１６１０と同様に、指示した記憶装置Ｃ１８０全てからマーカ作成完了の報告があるのを確認してから次の処理に進む。
【０１０２】
次に管理ソフトＡ８００は実施例３のステップ１６１１と同様に、全ての記憶装置Ｃ１８０にライト要求の処理保留の解除を指示する。この指示を受けた記憶装置Ｃ１８０のライトデータ受領部Ｃ２１２は、実施例３のステップ１６１２とステップ１６１３で記憶装置Ａ１００が行った処理と同様に、ライト要求の処理保留を解除し、保留解除したことを管理ソフトＡ８００に報告する。
【０１０３】
すなわちライト要求の処理保留と保留解除は記憶装置Ｃ１８０が行い、その間のマーカ作成は記憶装置Ｃ１８０が記憶装置Ａ１００に指示を伝達して記憶装置Ａ１００が行う。前述のようにＭＦＡ６００やオープンシステムホストＡ７００に対してライト完了通知済みのライトデータは記憶装置Ａ１００に転送済みであり、記憶装置Ａ１００において係るライトデータのライトデータ管理情報３００が作成されているので、実施例３で記憶装置Ａ１００がライト要求の処理の保留を行うことと、本実施例で記憶装置Ｃ１８０がライト要求の処理の保留を行うことは同等である。よって上記の処理を行い、また他の処理を実施例３で説明したように行うことによって、本実施例の構成においても実施例３と同様に、ＭＦＡ６００とオープンシステムホストＡ７００によるデータ更新をとめて、更新状況を複数記憶装置間で統一するタイミング（チェックポイント）としてマーカを作成し、複製への更新の反映はマーカの時点で同期させ、各複製間の整合性について、この時点でメインフレームホストのデータとオープンシステムホストのデータで共通の整合性を得ることができる。さらに反映の同期の時点でスナップショットを取得して共通の整合性を持つ複製をスナップショットボリュームに保持し、ＭＦＢ６９０やオープンシステムホストＢ７９０は整合性のとれたデータを用いて業務を引き継ぐことができる。
【０１０４】
上記の処理では、管理ソフトＡ８００がマーカ作成を記憶装置Ｃ１８０に指示し、記憶装置Ｃ１８０はこの指示を記憶装置Ａ１００に伝達するとしたが、管理ソフトＡ８００が全ての記憶装置Ａ１００にマーカ作成を直接指示し、記憶装置Ａ１００が管理ソフト８００にマーカ作成完了を報告してもよい。すなわち管理ソフトＡ８００はまず全ての記憶装置Ｃ１８０にライト要求の処理の保留を指示し、指示した記憶装置Ｃ１８０全てから保留開始の報告があるのを確認して、実施例３のステップ１６０５と同様に、全ての記憶装置Ａ１８０にマーカ作成を指示する。この指示を受けた前記記憶装置Ａ１００は、実施例３のステップ１６０６、ステップ１６０７とステップ１６０８と同様にマーカを作成し、管理ソフト８００にマーカ作成完了を報告する。管理ソフトＡ８００は実施例３のステップ１６０９とステップ１６１０と同様に、指示した記憶装置Ａ１００全てからマーカ作成完了の報告があるのを確認して、全ての記憶装置Ｃ１８０にライト要求の処理保留の解除を指示するようにしてもよい。
【０１０５】
または記憶装置Ｃ１８０がマーカ作成部とマーカ番号情報３３０を有し、管理ソフトＡ８００からのマーカ作成の指示を受けてマーカを作成し、ライトデータとして作成したマーカを記憶装置Ａ１００に転送し、記憶装置Ａ１００のライトデータ受領部２１０からの受領報告を受けて、管理ソフトＡ８００にマーカ作成完了を報告してもよい。この場合は、記憶装置Ａ１００は受領したマーカを特殊なライトデータとして扱い、通常のライトデータ同様に処理して記憶装置Ｂ１９０に転送するが、複製への反映は行わない。
【０１０６】
いずれにせよ上記は記憶装置Ａ１００に接続して記憶装置Ａ１００に複製を置く記憶装置Ｃ１８０の数に関わらず実現できる。
【０１０７】
また図示していないメインフレームホストおよびオープンシステムホストが記憶装置Ａ１００にＩ／Ｏパスで接続している場合には、前記メインフレームホストおよび前記オープンシステムホストはＭＦＡ６００やオープンシステムホストＡ７００や記憶装置Ｃ１８０に障害が発生した場合などに整合性のとれた記憶装置Ａ１００の論理ボリューム５００の内容を用いて業務を引き継ぐことができる。
【実施例５】
【０１０８】
図２２は本発明を適用した計算機システムの実施例５における構成例を示す図である。
【０１０９】
実施例３との違いは管理ソフトＡ８００が１つの記憶装置Ａ１００に存在し、管理ソフトＢ８９０が１つの記憶装置Ｂ１９０に存在し、各記憶装置Ａ１００は転送バス９１０によって接続し、各記憶装置Ｂ１９０も転送パス９１０によって接続している点である。また各記憶装置Ｂ１９０は後述する到着済マーカ番号情報３７０を制御メモリ３００に有する。到着済マーカ番号情報３７０はグループ毎に存在する。その他の差異については以下に説明していく。
【０１１０】
以下にＭＦＡ６００とオープンシステムホストＡ７００が使用する論理ボリューム５００について、各論理ボリューム５００へ行われたライトに対する処理と、記憶装置Ｂ１９０への転送および記憶装置Ｂ１９０における反映の処理について説明する。これらの処理によって各複製間の整合性について、メインフレームホストのデータとオープンシステムホストのデータでも共通の整合性を常に維持できるようにする。本実施例では、各複製間の整合性を確保するための処理を、記憶装置Ａ１００および記憶装置Ｂ１９０が前述の転送パス９１０を介して制御することによって、記憶装置Ａ１００および記憶装置Ｂ１９０の処理のみで実現することができる。
【０１１１】
本実施例においては、複製が作成される論理ボリューム５００（ソースとなる論理ボリューム５００）に対して記憶装置Ａ１００がＭＦＡ６００またはオープンシステムホストＡ７００からライト要求を受領した場合の処理は、実施例３で説明した処理と同様であり、記憶装置Ａ１００は実施例３で図１４で説明した処理を行う。本実施例における各種管理情報は到着済マーカ番号情報３７０を除き、実施例３で説明したものと同様である。
【０１１２】
図２３は記憶装置Ａ１００に存在する管理ソフトＡ８００が各記憶装置Ａ１００に対してライト要求の処理の保留とマーカ作成を指示した場合の処理を示した図である。実施例３で図１５で説明した処理とほぼ同様である。但し、本実施例においては実施例３とは異なり、上述の様に管理ソフトＡが複数の記憶装置Ａのうちのある記憶装置Ａに存在するので、管理ソフトＡと記憶装置Ａとの間のやりとりは、管理ソフトＡと、管理ソフトＡが存在する記憶装置Ａ内のライトデータ受領部やマーカ作成部との間、若しくは、管理ソフトＡと、管理ソフトＡが存在する記憶装置Ａ以外の記憶装置Ａ内のライトデータ受領部やマーカ作成部との間で実行される。更に、本実施例においてはマーカ番号について、マーカ番号を採用する規則として、ステップ３００５で指定するマーカ番号は前回のマーカ番号に対して１を加えた番号（１ずつ増やした番号）としている。
【０１１３】
図２４は記憶装置Ａ１００から記憶装置Ｂ１９０へのライトデータの転送処理を示す図である。実施例３で図１８で説明した処理とほぼ同様であるが、ステップ３１０６でライトデータ受領部Ｂ２１１がライトデータ転送部Ａ２２０にライトデータ受領完了を報告する前に、ステップ３１０４でライトデータ受領部Ｂ２１１は受領したライトデータがマーカであるか判定し、マーカであった場合は、ステップ３１０５でライトデータ受領部Ｂ２１１は前記マーカのマーカ番号を図２５に示す到着済マーカ番号情報３７０に記録する点が異なる。到着済マーカ番号情報３７０はグループ毎に存在し、管理ソフトＢ８９０は各グループの到着済マーカ番号情報３７０に記録されたマーカ番号を読み出して各グループの到着済マーカ番号を取得することができる。
【０１１４】
図２６は記憶装置Ｂ１９０における複製へのライトデータの反映処理を示す図である。記憶装置Ｂ１９０に存在する管理ソフトＢ８９０は到着済マーカ番号情報３７０に記録されているマーカ番号を全ての記憶装置Ｂ１９０の全グループから取得し、取得したマーカ番号のうち最も小さいマーカ番号を求める（ステップ３２００）。次に管理ソフトＢ８９０は求めたマーカ番号を持つマーカまでのライトデータの論理ボリューム５００への反映を各グループに関し全ての記憶装置Ｂ１９０に指示する（ステップ３２０１）。この指示を受けたライトデータ反映部Ｂ２４０はライトデータ情報３３０とグループ管理情報３１０を参照して、複製を格納する論理ボリューム５００にライトデータを、各グループにおけるシーケンシャル番号順に、指示されたマーカまで反映する（ステップ３２０２）。ライトデータ反映部Ｂ２４０は各グループについてライトデータをシーケンシャル番号順に処理する中で、グループ毎に指示されたマーカを見つけたら反映を停止し、反映完了を管理ソフトＢ８９０に報告する（ステップ３２０３）。ステップ３２００で最も小さいマーカ番号を求めているので、このマーカ番号のマーカは各記憶装置Ｂ１９０の各グループに必ず到着しており、よって指示されたマーカまでのライトデータの反映は必ず可能である。ライトデータ反映部Ｂ２４０は反映したマーカのマーカ番号をマーカ番号情報３６０に記録し、管理ソフトＢ８９０はマーカ番号情報３６０に記録されたマーカ番号を読み出して確認することができる。管理ソフトＢ８９０は各グループに関し指示した記憶装置Ｂ１９０全てから正常な反映完了の報告があるのを確認してから次の処理に進む（ステップ３２０４、ステップ３２０５）。
【０１１５】
管理ソフトＡ８００と管理ソフトＢ８９０はそれぞれ上記の処理を繰り返す。これにより記憶装置Ａ１００の論理ボリューム５００への更新が、記憶装置Ｂ１９０の論理ボリューム５００に定常的に反映される。
【０１１６】
上記の反映処理ではスナップショットを用いずに各複製間の整合性を確保、維持するため、スナップショット用の論理ボリューム５００（副ボリューム）といったスナップショット用の記憶領域は不要である。一方、前述のような管理ソフトＡ８００および管理ソフトＢ８９０が記憶装置Ａ１００および記憶装置Ｂ１９０に存在する構成でも、実施例３で説明した反映処理のようにスナップショットを用いた整合性確保を行う処理は可能である。
【０１１７】
上記の処理により、複数の記憶装置Ａ１００および複数の記憶装置Ｂ１９０で作成される各複製間の整合性について、メインフレームホストのデータとオープンシステムホストのデータでも共通の整合性を常に維持できる。さらに各複製間の整合性を確保するための処理を、記憶装置Ａ１００および記憶装置Ｂ１９０が制御することによって、各複製間の整合性の確保を記憶装置Ａ１００および記憶装置Ｂ１９０の処理のみで実現することができ、ホスト上の資源を使用しなくてすむ。
【０１１８】
上記の処理において管理ソフトＡ８００や管理ソフトＢ８９０と記憶装置Ａ１００や記憶装置Ｂ１９０との間の各種の指示や報告や情報取得は転送パス９１０経由としたが、ネットワーク９２０経由でもよい。マーカ作成指示が記憶装置Ａ１００へのライト要求の形式で行われる場合は、ライト要求の処理保留の対象外となる論理ボリューム５００を記憶装置Ａ１００に設け、前記マーカ作成指示は前記論理ボリューム５００に対して行われる。
【０１１９】
また上記の処理において記憶装置Ａ１００と記憶装置Ｂ１９０は一対一で接続している必要はなく、それぞれの論理ボリューム５００およびグループがソースおよび複製として対応していれば、同じ台数である必要もない。
【０１２０】
また実施例１で説明したように、キャッシュ４００とは別にライトデータ格納用の論理ボリューム５００を用意して、前記論理ボリューム５００にライトデータを格納してもよく、またライトデータの転送処理において最初にライトデータ受領部Ｂ２１１がライトデータ転送部２２０に対してライトデータの転送要求を発行し、前記要求を受領したライトデータ転送部Ａ２２０がライトデータ受領部Ｂ２１１に対してライトデータを転送してもよい。
【０１２１】
また実施例４のように、記憶装置Ｃ１８０に相当する図示していない他の記憶装置Ｄを記憶装置Ａ１００に転送パス９１０を介して接続し、ＭＦＡ６００とオープンシステムホストＡ７０をこの他の記憶装置ＤにＩ／Ｏパス９００を介して接続してもよい。この場合、実施例２または実施例４で説明した処理と同様、記憶装置Ｄの論理ボリューム５００の複製を記憶装置Ａ１００の論理ボリューム５００に格納し、さらに本実施例で既に説明したように記憶装置Ａ１００の前記論理ボリューム５００の複製を記憶装置Ｂ１９０の論理ボリューム５００に格納することで、実施例４または実施例２で説明したように、例えば記憶装置Ｄや転送パス９１０に障害が発生し、記憶装置Ａ１００にデータが転送できなくなったとしても、ＭＦＢ６９０やオープンシステムホストＢ７９０はＭＦＡ６００やオープンシステムホストＡ７００の処理中断直後の期待通りの内容を用いて業務を引き継ぐことができる。
【０１２２】
上記の処理に関し、記憶装置Ａ１００は以下のインタフェース（ＣＬＩやＧＵＩやＡＰＩ）を提供する。
【０１２３】
（１）管理ソフトＡ８００が行う上記処理を開始または停止するインタフェース。
【０１２４】
（２）管理ソフトＡ８００の処理状態を取得または表示するインタフェース。
【０１２５】
（３）管理ソフトＡ８００が動作する記憶装置Ａ１００を決定または指定するインタフェース。前記記憶装置Ａ１００はユーザや管理者に指定されてもよく、処理負荷バランスを考慮して処理負荷の小さい記憶装置Ａ１００が自動的に選択されてもよい。また管理ソフトＡ８００が動作可能な記憶装置Ａ１００を示すインタフェースが提供され、ユーザや管理者は前記インタフェースを用いて管理ソフトＡ８００が動作可能な記憶装置Ａ１００を把握し、この中から管理ソフトＡ８００を動作させる前記記憶装置Ａ１００を選択し指定してもよい。
【０１２６】
（４）管理ソフトＡ８００が行う上記処理の対象となる記憶装置Ａ１００およびグループを指定するインタフェース。記憶装置Ａ１００のシリアル番号や識別子、グループ番号や識別子などがパラメータとして指定される。または管理ソフトＡ８００が行う上記処理の対象となることが可能な記憶装置Ａ１００およびグループを示すインタフェースが提供され、ユーザや管理者は前記インタフェースを用いて上記処理の対象となることが可能な記憶装置Ａ１００およびグループを把握し、この中から上記処理の対象となる記憶装置Ａ１００およびグループを選択し指定してもよい。
【０１２７】
（５）管理ソフトＡ８００が行う上記処理の対象から記憶装置Ａ１００またはグループを削除するインタフェース。記憶装置Ａ１００のシリアル番号や識別子、グループ番号や識別子などがパラメータとして指定される。または現在管理ソフトＡ８００が行う上記処理の対象となっている記憶装置Ａ１００およびグループを示すインタフェースが提供され、ユーザや管理者は前記インタフェースを用いて上記処理の対象から削除可能な記憶装置Ａ１００およびグループを把握し、この中から上記処理の対象から削除する記憶装置Ａ１００およびグループを選択し指定してもよい。
【０１２８】
（６）管理ソフトＡ８００が上記処理を繰り返す間隔（インターバル）を決定または指定するインタフェース。前記間隔はユーザや管理者に指定されてもよく、処理負荷を考慮して自動的に決定されてもよく、ライトデータ量に基づいて自動的に決定されてもよい。
【０１２９】
（７）管理ソフトＡ８００が行う上記処理において記憶装置Ａ１００からの報告を待つ上限時間を決定または指定するインタフェース。
【０１３０】
（８）管理ソフトＡ８００が行う上記処理において障害要因を特定または表示するインタフェース。
【０１３１】
（９）管理ソフトＡ８００が行う上記処理において障害が発生した場合の影響範囲を、管理ソフトＡ８００が行う上記処理の対象全体とするか、前記障害に関連する一部の記憶装置Ａ１００とするか、一部のグループとするか、一部の論理ボリューム５００とするかを選択するインタフェース。
【０１３２】
（１０）作成済マーカ番号を取得または表示するインタフェース。
【０１３３】
また上記の処理に関し、記憶装置Ｂ１９０は以下のユーザインタフェースを提供する。
【０１３４】
（１１）管理ソフトＢ８９０が行う上記処理を開始または停止するインタフェース。
【０１３５】
（１２）管理ソフトＢ８９０の処理状態を取得または表示するインタフェース。
【０１３６】
（１３）管理ソフトＢ８９０が動作する記憶装置Ｂ１９０を決定または指定するインタフェース。前記記憶装置Ｂ１９０はユーザや管理者に指定されてもよく、処理負荷バランスを考慮して処理負荷の小さい記憶装置Ｂ１９０が自動的に選択されてもよい。また管理ソフトＢ８９０が動作可能な記憶装置Ｂ１９０を示すインタフェースが提供され、ユーザや管理者は前記インタフェースを用いて管理ソフトＢ８９０が動作可能な記憶装置Ｂ１９０を把握し、この中から管理ソフトＢ８９０を動作させる前記記憶装置Ｂ１９０を選択し指定してもよい。
【０１３７】
（１４）管理ソフトＢ８９０が行う上記処理の対象となる記憶装置Ｂ１９０およびグループを指定するインタフェース。記憶装置Ｂ１９０のシリアル番号や識別子、グループ番号や識別子などがパラメータとして指定される。または管理ソフトＢ８９０が行う上記処理の対象となることが可能な記憶装置Ｂ１９０およびグループを示すインタフェースが提供され、ユーザや管理者は前記インタフェースを用いて上記処理の対象となることが可能な記憶装置Ｂ１９０およびグループを把握し、この中から上記処理の対象となる記憶装置Ｂ１９０およびグループを選択し指定してもよい。
【０１３８】
（１５）管理ソフトＢ８９０が行う上記処理の対象から記憶装置Ｂ１９０またはグループを削除するインタフェース。記憶装置Ｂ１９０のシリアル番号や識別子、グループ番号や識別子などがパラメータとして指定される。または現在管理ソフトＢ８９０が行う上記処理の対象となっている記憶装置Ｂ１９０およびグループを示すインタフェースが提供され、ユーザや管理者は前記インタフェースを用いて上記処理の対象から削除可能な記憶装置Ｂ１９０およびグループを把握し、この中から上記処理の対象から削除する記憶装置Ｂ１９０およびグループを選択し指定してもよい。
【０１３９】
（１６）管理ソフトＢ８９０が上記処理を繰り返す間隔（インターバル）を決定または指定するインタフェース。前記間隔はユーザや管理者に指定されてもよく、処理負荷を考慮して自動的に決定されてもよく、記憶装置Ｂ１９０に到着して反映されていないライトデータ量や、反映済マーカ番号と到着済マーカ番号の差に基づいて自動的に決定されてもよい。
【０１４０】
（１７）管理ソフトＢ８９０が行う上記処理において記憶装置Ｂ１９０からの報告を待つ上限時間を決定または指定するインタフェース。
【０１４１】
（１８）管理ソフトＢ８９０が行う上記処理において障害要因を特定するインタフェース。
【０１４２】
（１９）管理ソフトＢ８９０が行う上記処理において障害が発生した場合の影響範囲を、管理ソフトＢ８９０が行う上記処理の対象全体とするか、前記障害に関連する一部の記憶装置Ｂ１９０とするか、一部のグループとするか、一部の論理ボリューム５００とするかを選択するインタフェース。
【０１４３】
（２０）到着済マーカ番号および反映済マーカ番号を取得または表示するインタフェース。記憶装置Ｂ１９０のシリアル番号や識別子、グループ番号や識別子などがパラメータとして指定される。
【０１４４】
（２１）到着して反映していないライトデータ量を取得または表示するインタフェース。記憶装置Ｂ１９０のシリアル番号や識別子、グループ番号や識別子などがパラメータとして指定される。
【０１４５】
（２２）到着して反映していないライトデータを格納する記憶領域の大きさを指定するインタフェース。記憶装置Ｂ１９０のシリアル番号や識別子、グループ番号や識別子などがパラメータとして指定される。
【０１４６】
上記のインタフェースの形式としてはＣＬＩやＧＵＩやＡＰＩがありうる。また上記のインタフェースの使用方法としては、記憶装置Ａ１００や記憶装置Ｂ１９０の端末を直接使用することも可能であり、ネットワーク９２０やＩ／Ｏパス９１０や転送パス９２０を介してＭＦＡ６００やＭＦＢ６９０やオープンシステムホストＡ７００やオープンシステムホストＢ７９０や図示されていない他の計算機から遠隔で使用することも可能である。
【０１４７】
上の説明では管理ソフトＡ８００が記憶装置Ａ１００に存在し、管理ソフトＢ８９０が記憶装置Ｂ１９０に存在するとしたが、転送パス９１０やネットワーク９２０を介して各種の指示や報告や情報取得を行うことによって、管理ソフトＡ８００が記憶装置Ｂ１９０で動作してもよく、管理ソフトＢ８９０が記憶装置Ａ１００で動作してもよい。この場合でも各複製間の整合性を確保するための処理を、記憶装置Ａ１００および記憶装置Ｂ１９０が制御することによって、各複製間の整合性の確保を記憶装置Ａ１００および記憶装置Ｂ１９０の処理のみで実現することができ、ホスト上の資源を使用しなくてすむ。
【実施例６】
【０１４８】
図２７は本発明を適用した計算機システムの実施例６における構成例を示す図である。実施例６のシステム構成は実施例５と共通点が多いので、以下実施例５との差異点を説明する。実施例６と実施例５との主な違いは以下の通りである。
（１）管理ソフトＡ８００と管理ソフトＢ８９０が一つの記憶装置Ａ１００に存在する。
（２）マーカ作成時（Ｔ１）から次のマーカ作成時（Ｔ２）までに記憶装置Ａ100に到着したライトデータを記憶装置Ａにて差分集合としてグループ化しておき、記憶装置Ａ100から記憶装置Ｂ190へのデータの転送や、記憶装置Ｂ190におけるデータの反映を、この差分集合単位で実施する。尚、マーカ番号は本実施形態においては差分集合を識別するための識別情報として用いられる。
（３）上述の差分集合の管理と、差分集合の状態の操作のために、各記憶装置Ａ１００は差分集合切り替え部Ａ２７０を制御部２００に有し、各記憶装置Ｂ１９０は差分集合切り替え部Ｂ２７１を制御部２００に有する。また、各記憶装置Ａは送出済マーカ番号情報３８０を制御用メモリ３００に有している。
【０１４９】
その他の違いについては以下に順を追って述べる。
【０１５０】
まず差分集合を用いた処理の概要を以下に示す。
（Ａ）記憶装置Ａ１００は、ある時刻Ｔ１以降に受信した、記憶装置Ａ１００が有する論理ボリュームに対する書き込み要求のライトデータを、発生差分集合４１０として管理する。
（Ｂ）時刻Ｔ２となった時に記憶装置Ａ１００は発生差分集合４１０を送出差分集合４２０に変更する。そして記憶装置Ａ１００は、時刻Ｔ２以降に受信した論理ボリュームに対する書き込み要求のライトデータは、新たな発生差分集合４１０として管理する。更に記憶装置Ａ１００は送出差分集合４２０として管理されているライトデータを記憶装置Ｂ１９０に送信し、これを受信した記憶装置Ｂ１９０Ｂは受信したライトデータを受領差分集合４３０として管理する。
（Ｃ）記憶装置Ｂ１９０は、送出差分集合４２０のデータを全て受信したら、受領差分集合２３０を反映差分集合４４０に変更する。そして記憶装置Ｂ１９０は反映差分集合４４０中のライトデータを記憶装置Ｂ１９０が有する論理ボリュームに書き込むことで非同期リモートコピーを実現する。
【０１５１】
なお、上述の差分集合の状態の変更やライトデータの送信等は後述するように管理ソフトＡ８００や管理ソフトＢ８９０からの指示に基づいて行われる。また（Ａ）から（Ｃ）の処理はパイプライン処理のように並行に実施されてもよい。
【０１５２】
以下にＭＦＡ６００やオープンシステムホストＡ７００が使用する記憶装置Ａ１００の論理ボリューム５００に対して発行されたライト要求に対する処理と、記憶装置Ａ１００から記憶装置Ｂ１９０へのライトデータの転送処理、及び記憶装置Ｂ１９０におけるライトデータ反映の処理について説明する。
【０１５３】
図３２はライトデータ受領部Ａ２１０がＭＦＡ６００若しくはオープンシステムホストＡ７００からライト要求を受け付けた場合の処理の一例を示したフロー図である。以下、ステップごとに説明する。
【０１５４】
記憶装置Ａ１００のライトデータ受領部Ａ２１０がライト要求を受信した場合（ステップ４２０１）、ライトデータ受領部Ａ２１０はライトデータ（以降の説明ではこのライトデータをライトデータＮｅｗと呼ぶ）をキャッシュ４００に格納する（ステップ４２０２）。
【０１５５】
次にライトデータ受領部Ａ２１０は、ライトコマンドから得たライトデータＮｅｗのライト先の開始アドレス及び終了アドレス（開始アドレスとライト長から算出できる）で示される記憶領域内に、ステップ４２０１以前に受信したライトデータ（以降、ライトデータＯｌｄと呼ぶ）が存在するかどうか判断する。この判断は、例えば、ライトデータ管理情報３３０を検索することで行うことができる（ステップ４２０３）。尚、本実施形態におけるライトデータ管理情報３３０については後述する。
【０１５６】
判断の結果、ライトデータＯｌｄが存在しない場合はステップ４２０６に進み、存在する場合はステップ４２０８に進む。
【０１５７】
ステップ４２０６においてライトデータ受領部Ａ２１０は、マーカ番号情報３６０を参照し、マーカ番号情報３６０として記録されているマーカ番号をライト時刻としてライトデータ管理情報３３０を作成する。ここで本実施形態においては、マーカ番号は実施例５と同様管理ソフトＡ８００の指示に基づき１ずつインクリメントされ、各記憶装置Ａ１００の制御用メモリ３００にマーカ番号情報３６０として記録されているものとする。また、本実施形態においては、ライトデータ管理情報３３０として図１７に示すライトデータ管理情報と同様の情報を用いる。但し、本実施形態ではシーケンシャル番号、マーカ属性ビット、マーカ番号、転送必要ビットはライトデータ管理情報３３０に含まれていなくても良い。また本実施形態では上述の様に、ライトデータ管理情報３３０のライト時刻として、マーカ番号情報３６０に記録されているマーカ番号が用いられる。
【０１５８】
図３２に戻ってステップ４２０７でライトデータ受領部Ａ２１０は、ライト完了をライト要求を発行したＭＦＡ６００やオープンシステムホストＡ７００に報告し、処理を終了する。
【０１５９】
一方ステップ４２０８においてライトデータ受領部Ａ２１０は、ステップ４２０３で存在が確認されたライトデータＯｌｄのライトデータ管理情報３３０を参照し、ライトデータＯｌｄのライト管理情報３３０にライト時刻として記録されているマーカ番号と現在マーカ番号情報３６０として記録されているマーカ番号とを比較する。比較の結果、同じ値であればステップ４２０４に進み、異なる値（つまり、ライトデータＯｌｄがライトデータNewより１世代古いデータ）であればステップ４２０６に進む。
【０１６０】
ステップ４２０４でライトデータ受領部Ａ２１０は、ライトデータＮｅｗとライトデータＯｌｄをマージする。マージとはアドレスが重なりあう複数のライトデータ及びライトデータ管理情報３３０を一つにまとめることをさす。そしてステップ４２０５でライトデータ受領部Ａ２１０は、ライト完了をライト要求の発行元であるＭＦＡ６００やオープンシステムホストＡ７００に報告する。
【０１６１】
次に図２９を用いて、図３２のステップ４２０４にて説明したライトデータＮｅｗとライトデータＯｌｄのマージ操作の一例を示す。
【０１６２】
図２９のケース１の場合は、ライトデータ受領部Ａ２１０がキャッシュ４００上で、ライトデータＯｌｄのうちライトデータＮｅｗに相当する部分をライトデータＮｅｗで上書きする。更にライトデータ受領部Ａ２１０は、ライトデータＮｅｗのライトデータ管理情報３３０としてライトデータＯｌｄのライトデータ管理情報３３０をそのまま用いることができる。
【０１６３】
図２９のケース２の場合は、ライトデータ受領部Ａ２１０はライトデータＯｌｄを廃棄する。更にライトデータ受領部Ａ２１０は、ライトデータＯｌｄのライトデータ管理情報３３０のうち、ライトデータポインタをライトデータＮｅｗへのポインタに更新し、ライトアドレスとライトデータ長も各々ライトデータＮｅｗのライトアドレスとライトデータ長に更新して、更新後のライトデータ管理情報３３０をライトデータＮｅｗのライトデータ管理情報３３０とする。
【０１６４】
図２９のケース３または４の場合は、ライトデータ受領部Ａ２１０はキャッシュ４００上でライトデータＯｌｄの上にライトデータＮｅｗを上書きする。またライトデータ受領部Ａ２１０は、ライトデータＮｅｗのライトデータ管理情報３３０のライトアドレスとして、ライトデータＯｌｄとライトデータＮｅｗのライトアドレスのうち小さい方の値を用いる。またライトデータ受領部Ａ２１０は、ライトデータＯｌｄとライトデータＮｅｗの終了アドレスのうち、最も大きな終了アドレス求め、この終了アドレスから先に求めたライトアドレスを引いた値を、ライトデータＮｅｗのライトデータ管理情報３３０のライトデータ長に用いる。
【０１６５】
この様に図３２のステップ４２０４においてライトデータ受領部Ａ２１０がライトデータ及びライトデータ管理情報３３０のマージを行うことにより、同じ差分集合内には最新のライトデータのみが残ることとなる。つまり前述の時刻Ｔ１から時刻Ｔ２の間に重複するアドレスに複数回ライト要求があった場合には、アドレスが重複する範囲については最新のライト要求に基づくライトデータのみがキャッシュ４００上に残り、発生差分集合として記憶装置Ａ１００の制御部２００に管理される。従って、記憶装置Ａ１００から記憶装置Ｂ１９０へ転送されるデータの量を削減できる。
【０１６６】
図２８は、記憶装置Ａ１００から記憶装置Ｂ１９０へライトデータを送信する場合の、ライトデータ転送部Ａとライトデータ受領部Ｂの処理の一例について示したフロー図である。以下、フローを追って説明する。
【０１６７】
ライトデータ転送部Ａ２２０は送出差分集合４２０として管理されているライトデータデータを記憶装置Ｂ１９０へ送信する（ステップ４００１）。この際ライトデータ転送部Ａ２２０は、送出差分集合４２０のとして管理されているライトデータと共に、このライトデータのライトデータ管理情報３３０も記憶装置Ｂ１９０に送信する。
【０１６８】
ライトデータ転送部Ａ２２０がこのステップ４００１の送信処理を開始する契機は、図３１のステップ４１１６の説明で後述するように管理ソフトＡからの指示があった場合である。ライトデータ転送部Ａ２２０は送出差分集合４２０として管理されているライトデータを送出し終わったら、記憶装置Ｂ１９０にその旨を示す完了通知を送信し、ライトデータ受領部Ｂ２１１からの受信完了報告を待つ。
【０１６９】
尚本実施例ではキャッシュ４００内のライトデータが送出差分集合４２０に含まれるライトデータであるか否かを、マーカ番号情報３６０及びライトデータ管理情報３３０を参照することにより判別することができる。即ち、マーカ番号情報３６０が示すマーカ番号より１世代前の値（本実施例では１だけ小さい値）をライト時刻として持つライトデータ管理情報３３０を検索すると、このライトデータ管理情報３３０に対応するライトデータが、送出差分集合４２０に含まれるライトデータであるということになる。
【０１７０】
ライトデータ受領部Ｂ２１１は、送出差分集合４２０のデータを受信すると、受信したライトデータを受領差分集合４３０としてキャッシュ４００に保存する（ステップ４００３）。また受信したライトデータ管理情報３３０は制御用メモリ３００に保存する。
【０１７１】
ライトデータ受領部Ｂ２１１がライトデータ転送部Ａ２２０から完了通知を受信すると、ライトデータ受領部Ｂ２１１は送出差分集合４２０のデータの受信を全て完了した旨を認識し、ライトデータ転送部Ａ２２０へ受信完了報告を送信する（ステップ４００４）。
【０１７２】
そしてライトデータ受領部Ｂ２１１は制御用メモリ３００内の到着済マーカ番号情報３７０を更新する（ステップ４００５）。即ちライトデータ受領部Ｂ２１１は、受領差分集合４３０として管理されているライトデータのライトデータ管理情報３３０にライト時刻として記録されているマーカ番号を、到着済マーカ番号情報３７０として制御用メモリ３００に記録する。尚本実施形態では、この更新処理は、到着済マーカ番号情報３７０の値を１インクリメントする処理となる。
【０１７３】
一方、ライトデータ受領部Ｂ２１１から受信完了報告を受信したライトデータ転送部Ａ２２０は、送信済マーカ番号情報３８０を更新する（ステップ４００６）。即ちライトデータ転送部Ａ２２０は、ステップ４００１でライトデータ受領部Ｂ２１１に送信したライトデータのライトデータ管理情報３３０にライト時刻として記録されているマーカ番号を、送信済マーカ番号情報３８０として、制御用メモリ３００に記録する。尚本実施例ではこの更新処理は、送信済マーカ番号情報３８０の値を１インクリメントする処理となる。
【０１７４】
図３０と図３１は、ライト要求の一時保留処理と、差分集合の切り替え処理の一例を示すフロー図である。まず図３０から説明する。尚図３０のステップ４１００の時点で、全ての記憶装置Ａ１００において送出差分集合４２０のデータの転送が完了しており、全記憶装置Ａ１００の送出済マーカ番号情報３８０の値は等しいものとする。また同様に図３０のステップ４１００の時点で、全ての記憶装置Ｂ１９０において反映差分集合４４０として管理されているライトデータの論理ボリューム５００への反映が完了しており、全記憶装置Ｂ１９０の到着済マーカ番号情報３７０の値は等しいものとする。
【０１７５】
管理ソフトＡ８００は全記憶装置Ａ１００にライト要求の保留を指示する（ステップ４１００）。この指示を受信した各記憶装置Ａ１００のライトデータ受領部Ａ２１０は、指示を受けた後にＭＦＡ６００やオープンシステムホストＡ７００から受信したライト要求を保留し（ステップ４１０１）、ライト要求を保留した旨を管理ソフトＡ８００に報告する（ステップ４１０２）。
【０１７６】
管理ソフトＡ８００は全記憶装置Ａ１００からライト要求の保留開始完了が報告されるまで待つ（ステップ４１０３及びステップ４１０４）。全記憶装置Ａ１００から報告が上がって来たら、管理ソフトＡ８００は前回指定したマーカ番号より１値の大きいマーカ番号を指定して、マーカ番号情報３６０の更新を全記憶装置Ａ１００に指示する（ステップ４１０５）。
【０１７７】
この指示を受信した各記憶装置Ａ１００のマーカ作成部Ａ２５０は、指定されたマーカ番号をマーカ番号情報３６０に記録する（ステップ４１０６）。更に、各記憶装置Ａ１００の差分集合切り替え部Ａ２７０は、発生差分集合４１０を送出差分情報４２０に変更し、新しい発生差分集合を作成する（ステップ４１０８）。なお、差分集合切り替え部Ａ２７０は、新しい発生差分集合の作成に伴って、これまで送出差分集合であったライトデータやライトデータ管理情報を破棄してもよい。そして各記憶装置Ａ１００のマーカ作成部Ａ２５０は、管理ソフトＡ８００にマーカ番号情報３６０の更新完了を報告する（ステップ４１０９）。
【０１７８】
管理ソフトＡ８００は全記憶装置Ａ１００からマーカ番号情報３６０の更新完了が報告されるまで待つ（ステップ４１１０、ステップ４１１１）。
【０１７９】
図３１に移って、全記憶装置Ａ１００からマーカ番号情報３６０の更新完了報告がされたら、管理ソフトＡ８００は全記憶装置Ａ１００にライト要求の保留解除を指示する（ステップ４１１２）。この指示を受信した各記憶装置Ａ１００のライトデータ受領部Ａ２１０は、ライト要求の保留を解除し（ステップ４１１３）、その旨を管理ソフトＡ８００に報告する（ステップ４１１４）。
【０１８０】
次に管理ソフトＡ８００は、管理ソフトＢ８９０に受領差分集合４３０と反映差分集合４４０の切り替えと、反映差分集合４４０として管理されるライトデータの論理ボリューム５００に対する反映を指示する。なお、この指示を受信した管理ソフトＢ８９０及び記憶装置Ｂ１９０が実行する処理は図３３を用いて後述する。
【０１８１】
管理ソフトＡ８００は、全記憶装置Ａ１００のライトデータ転送部Ａ２２０に、送出差分集合として管理されているデータの記憶装置Ｂ１９０への転送を指示する（ステップ４１１６）。この指示を受信したライトデータ転送部Ａ２２０は図２８で説明した処理を実行する。
【０１８２】
管理ソフトＡは、ステップ４１１６で指示したデータの転送処理と、ステップ４１１５で指示したデータの反映処理の完了報告を待つ（ステップ４１１７及びステップ４１１８）。全ての記憶装置Ａ１００でデータ転送処理が完了し、また全ての記憶装置Ｂ１９０でデータの反映処理が完了した場合には、図３０のステップ４１００に再び戻り、図３０及び図３１にて説明した処理が繰り返し実行される。
【０１８３】
図３３は、管理ソフトＢ８９０が管理ソフトＡ８００から受領差分集合４３０と反映差分集合４４０の切り替えと、論理ボリューム５００に対するライトデータの反映指示を受け取った場合の処理の一例を示したフロー図である。
【０１８４】
管理ソフトＢは、全記憶装置Ｂ１９０について到着済マーカ番号情報３７０の値を収集し、この値が全記憶装置Ｂ１９０について同じ値になるまで待つ（ステップ４１１９）。つまり、管理ソフトＢは、全記憶装置Ｂ１９０について、送出差分集合４２０のデータの受信が完了するのを待つ。尚、ステップ４１１９において管理ソフトＢは、全記憶装置Ａ１００について送出済マーカ番号情報３８０の値を収集し、この値が全記憶装置Ａ１００について同じ値になるまで待つものとしても良い。
【０１８５】
次に管理ソフトＢは、各記憶装置Ｂ１９０の差分集合切り替え部Ｂ２７１とライトデータ反映部Ｂ２４０に対して、差分集合の切り替えと論理ボリューム５００に対するライトデータの反映を指示する（ステップ４１２０）。
【０１８６】
この指示を受信した記憶装置Ｂ１９０の差分集合切り替え部Ｂ２７１は、受領差分集合４３０を反映差分集合４４０に変更し、新しい受領差分集合４３０を設ける（ステップ４１２１）。なお、差分集合切り替え部Ｂ２７１は、新しい受領差分集合の作成に伴って、これまで反映差分集合であったライトデータやライトデータ管理情報を破棄してもよい。
【０１８７】
更にライトデータ反映部Ｂ２４０は、新しく反映差分集合４４０となった集合中のライトデータを論理ボリューム５００に書き込む（ステップ４１２２）。また、ライトデータ反映部Ｂ２４０は記憶装置Ｂ１９０のマーカ番号情報３６０の値を更新する。即ち論理ボリューム５００に反映されるライトデータのライトデータ管理情報３３０にライト時刻として記録されているマーカ番号が、記憶装置Ｂ１９０のマーカ番号情報３６０の値となる。尚本実施例ではこの処理は、マーカ番号情報３６０の値を１インクリメントすることによって実行される。
【０１８８】
反映差分集合４４０のライトデータが全て論理ボリューム５００に反映されたら、ライトデータ反映部Ｂ２４０は記憶装置Ｂ１９０のマーカ番号情報を１インクリメントしてから管理ソフトＢ８９０に処理の完了を報告する（ステップ４１２３）。報告は記憶装置Ａ１００を通じて行ってもよい。
【０１８９】
管理ソフトＢ８９０は全ての記憶装置Ｂ１９０について、差分集合の切り替えと論理ボリューム５００に対する反映についての完了報告を待ち、全ての記憶装置Ｂ１９０から完了報告があったら、その旨を管理ソフトＡ８００に報告する（ステップ４１２４）。
【０１９０】
尚、管理ソフトＢ８９０と差分集合切り替え部Ｂ２７１やライトデータ反映部Ｂ２４０との間のやりとりは、例えば記憶装置Ａ１００と記憶装置Ｂ１９０間を接続しているネットワーク経由で行われる。
【０１９１】
ここで、管理ソフトＢ８９０から各記憶装置Ｂ１９０に送信される差分集合の切り替えと論理ボリューム５００に対する反映指示は、記憶装置Ｂ１９０毎に出される。そのため、管理ソフトＢ８９０が指示している途中に記憶装置Ａ１００に障害が発生すると、障害回復が正しく行えない場合がある。この一例を図３４に示す。
【０１９２】
図３４は、図３３のステップ４１２０で管理ソフトＢ８９０がそれぞれの記憶装置Ｂ１９０に差分集合切り替えと反映を指示指示しているときに、記憶装置Ａ１００Ｌが障害停止した場合の動作について示している。より具体的には以下の時系列で反映の指示と記憶装置Ａ１００Ｌの障害停止が起きた場合を示している。
【０１９３】
（１）記憶装置Ａ１００Ｒの中の管理ソフトＢ８９０は、記憶装置Ｂ１９０Ｒに対してマーカ番号がＡの差分集合の反映を指示する。
【０１９４】
（２）記憶装置Ａ１００Ｌは障害によって停止する。
【０１９５】
（３）記憶装置Ａ１００Ｒの中の管理ソフトＢ８９０は、記憶装置Ａ１００Ｌを経由して記憶装置Ｂ１９０Ｌに対してマーカ番号がＡの差分集合の反映を指示する。しかし、記憶装置Ａ１００Ｌは障害停止しているため、記憶装置Ｂ１９０Ｌに対して反映指示が届かない。その結果、記憶装置Ｂ１９０Ｒの論理ボリューム５００のデータだけ先の時刻に進んでおり、ライト順序関係が保たれていない。
【０１９６】
そこでこの状態を回避するために、記憶装置Ｂ１９０Ｌか記憶装置Ｂ１９０Ｒのいずれかで、記憶装置Ｂ１９０の論理ボリューム５００を使う前に、以下のステップを有するプログラムを実行してもよい。なお、ここでは図３４の状況で反映が停止した状態を例として用いる。
【０１９７】
（初期状態）記憶装置Ｂ１９０Ｌと記憶装置Ｂ１９０Ｒ内部で、差分集合のデータ転送と反映が停止するまで待つ。すると、記憶装置Ｂ１９０Ｌの到着済みマーカ番号情報はＡであり、論理ボリュームに対してはマーカ番号がＡ−１の差分集合が反映された状態で停止する（つまり、マーカ番号情報はＡ−１）。また、記憶装置Ｂ１９０Ｒの到着済みマーカ番号情報の値はＡまたはＡ＋１であり、論理ボリューム５００に対してはマーカ番号がＡの差分集合が反映された状態で停止する（マーカ番号情報はＡ）。なお、管理ソフトＢ８９０は全ての到着済みマーカ番号が同じ値にならない限り反映を指示しないため、記憶装置Ｂ１９０Ｌの到着済みマーカ番号情報はＡより小さな値になることはない。
【０１９８】
（ステップＡ）記憶装置Ｂ１９０Ｌと記憶装置Ｂ１９０Ｒから到着済みマーカ番号情報とマーカ番号情報を集める。
【０１９９】
（ステップＢ）集めた到着済みマーカ番号情報から最も小さな値を選択する（以後、最小到着済みマーカ番号と呼ぶ）。本例ではＡが最小到着済みマーカ番号となる。
【０２００】
（ステップＣ）記憶装置Ｂ１９０Ｌのマーカ番号情報が最少到着済みマーカ番号より小さな値の場合は、記憶装置Ｂ１９０Ｌに対して反映指示を行う。本例では、記憶装置Ｂ１９０Ｌのマーカ番号情報はＡ−１であるため、記憶装置Ｂ１９０Ｌに対して反映が指示されるため、記憶装置Ｂ１９０Ｌの論理ボリューム５００はマーカ番号がＡの差分集合が反映される。
【０２０１】
（ステップＤ）記憶装置Ｂ１９０Ｒのマーカ番号情報が最少到着済みマーカ番号より小さな値の場合は、記憶装置Ｂ１９０Ｒに対して反映指示を行う。本例では、記憶装置Ｂ１９０Ｒのマーカ番号情報はＡであるため、反映は指示されずに記憶装置Ｂ１９０Ｌの論理ボリューム５００はマーカ番号がＡの差分集合が反映された状態のままである。
【０２０２】
なお、図３３のステップ１１１９とステップ４１２０の代わりとして、上記ステップＡ、ステップＢ、ステップＣを実行することで管理ソフトＢ８９０と処理の共通化を行ってもよい。
【０２０３】
なお、管理ソフトＡ８００と管理ソフトＢ８９０は、記憶装置Ａ１００ではなく、ＭＦＡ６００、オープンシステムホストＡ７００、ＭＦＢ６９０、オープンシステムホストＢ７９０、記憶装置Ｂ１９０に存在してもよい。この場合は管理ソフトＡ８００と管理ソフトＢ８９０に対する設定インターフェースは管理ソフトＡ８００と管理ソフトＢ８９０が存在する計算機に存在することが考えられるが、それ以外の場所から設定してもよい。また、管理ソフトＡ８００や管理ソフトＢ８９０から指示を発行するためのインタフェース、管理ソフトＡ８００や管理ソフトＢ８９０が情報を収集するためのインターフェースは、記憶装置Ａ１００や記憶装置Ｂ１９０から提供されてもよい。
【０２０４】
以上の実施例では差分集合に含まれるライトデータをライトデータ管理情報を用いて管理してきた。しかしその他の方法で管理しても構わない。例えばアドレスブロック毎のデータの差分の有無を示す情報である差分ビットマップを、差分集合ごとに用意して、差分ビットマップを用いて差分集合に含まれるライトデータを管理してもよい。
【０２０５】
また、以上の実施例では各記憶装置は送出差分集合のデータの転送や、受領差分集合４３０と反映差分集合４４０の切り替え及び反映差分集合４４０のデータの反映処理を、別々の指示を契機として実行していたが、一つの指示に基づき以下の順序でまとめて処理を行ってもよい。
（１）受領差分集合４３０と反映差分集合４４０の切り替えを伴った反映処理
（２）送出差分集合のデータ転送
（３）（１）と（２）の完了を待って報告
以上実施例１から実施例６では、記憶装置Ａ１００や記憶装置Ｂ１９０にメインフレームホストとオープンシステムホストの両方が接続されているケースを例に説明したが、メインフレームホストのみが接続されている場合であっても、これらの実施例は実施可能である。また、実施例３から実施例６については更に、オープンシステムホストのみが接続されている場合であっても実施可能である。
【図面の簡単な説明】
【０２０６】
【図１】実施例１における計算機システムの構成例を示す図である。
【図２】論理ボリュームグループの一例を示す概念図である。
【図３】記憶装置Ａがライト要求を受領した場合の処理の一例を示すフロー図である。
【図４】グループ管理情報の一例を示す図である。
【図５】ライトデータを管理するためのライトデータ管理情報の一例を示す図である。
【図６】記憶装置Ａから記憶装置Ｂへのライトデータの転送処理の一例を示すフロー図である。
【図７】論理ボリュームの相手論理ボリューム情報の一例を示す図である。
【図８】到着済みライト時刻情報の一例を示す図である。
【図９】記憶装置Ｂでのライトデータの反映処理の一例を示すフロー図である。
【図１０】記憶装置Ａがライト要求を受領した場合の処理の他の一例を示すフロー図である。
【図１１】記憶装置Ａがライト要求を受領した場合の処理の他の一例を示すフロー図である。
【図１２】実施例２における計算機システムの構成例を示す図である。
【図１３】実施例３における計算機システムの構成例を示す図である。
【図１４】実施例３での記憶装置Ａがライト要求を受領した場合の処理の一例を示すフロー図である。
【図１５】管理ソフトＡが記憶装置Ａに対してライト要求の処理の保留とマーカ作成を指示した場合の処理の一例を示すフロー図である。
【図１６】マーカ番号情報の一例を示す図である。
【図１７】ライトデータ管理情報の他の一例を示す図である。
【図１８】実施例３での記憶装置Ａから記憶装置Ｂへのライトデータの転送処理の一例を示すフロー図である。
【図１９】実施例３での記憶装置Ｂにおけるライトデータの反映処理の一例を示すフロー図である。
【図２０】実施例３での記憶装置Ｂにおけるライトデータの反映処理の他の一例を示すフロー図である。
【図２１】実施例４における計算機システムの構成例を示す図である。
【図２２】実施例５における計算機システムの構成図例を示す図である。
【図２３】実施例５での管理ソフトＡが記憶装置Ａに対してライト要求の処理の保留とマーカ作成を指示した場合の処理の一例を示すフロー図である。
【図２４】実施例５での記憶装置Ａから記憶装置Ｂへのライトデータの転送処理の一例を示すフロー図である。
【図２５】到着済マーカ番号情報の一例を示す図。
【図２６】実施例５での記憶装置Ｂにおける複製へのライトデータの反映処理の一例を示すフロー図である。
【図２７】実施例６における計算機システムの構成例を示す図である。
【図２８】ライトデータ転送部Ａ及びライトデータ受領部Ｂの処理の一例を示す図である。
【図２９】ライトデータＮｅｗとライトデータＯｌｄのマージ処理の一例を示す図である。
【図３０】ライト要求の保留と差分集合の切り替え処理の一例を示す図である。
【図３１】ライト要求の保留と差分集合の要り変え処理の一例を示す図である。
【図３２】実施例６におけるライト要求受信時の処理の一例を示す図である。
【図３３】差分集合の切り替え処理と、記憶装置Ｂ１９０でのデータの反映処理の一例を示す図である。
【図３４】ライトデータの反映指示の発行中に記憶装置に障害が生じた場合の一例を示す図である。
【符号の説明】
【０２０７】
１００…記憶装置Ａ
１８０…記憶装置Ｃ
１９０…記憶装置Ｂ
２００…制御部
２１０…ライトデータ受領部Ａ
２１１…ライトデータ受領部Ｂ
２１２…ライトデータ受領部Ｃ
２２０…ライトデータ転送部Ａ
２２２…ライトデータ転送部Ｃ
２３０…ライトデータ反映指示部Ｂ
２４０…ライトデータ反映部Ｂ
２５０…マーカ作成部Ａ
２６０…スナップショット取得部Ｃ
３００…制御用メモリ
３１０…グループ管理情報
３２０…相手論理ボリューム管理情報
３３０…ライトデータ管理情報
３４０…ライト時刻情報
３５０…到着済みライト時刻情報
３６０…マーカ番号情報
４００…キャッシュ
５００…論理ボリューム
６００…メインフレームホストＡ（ＭＦＡ）
６１０…ＯＳ
６２０…アプリケーションソフト（ＡＰＰ）
６３０…ライト要求
６４０…ライトデータ
６５０…ライト時刻
６９０…メインフレームホストＢ（ＭＦＢ）
７００…オープンシステムホストＡ
７１０…ＯＳ
７２０…アプリケーションソフト（ＡＰＰ）
７３０…ライト要求
７４０…ライトデータ
７９０…オープンシステムホストＢ
８００…管理ソフトＡ
８９０…管理ソフトＢ
９００…Ｉ／Ｏパス
９１０…転送パス
９２０…ネットワーク
【図１】
2006221487.tif 000003
【図２】
2006221487.tif 000004
【図３】
2006221487.tif 000005
【図４】
2006221487.tif 000006
【図５】
2006221487.tif 000007
【図６】
2006221487.tif 000008
【図７】
2006221487.tif 000009
【図８】
2006221487.tif 000010
【図９】
2006221487.tif 000011
【図１０】
2006221487.tif 000012
【図１１】
2006221487.tif 000013
【図１２】
2006221487.tif 000014
【図１３】
2006221487.tif 000015
【図１４】
2006221487.tif 000016
【図１５】
2006221487.tif 000017
【図１６】
2006221487.tif 000018
【図１７】
2006221487.tif 000019
【図１８】
2006221487.tif 000020
【図１９】
2006221487.tif 000021
【図２０】
2006221487.tif 000022
【図２１】
2006221487.tif 000023
【図２２】
2006221487.tif 000024
【図２３】
2006221487.tif 000025
【図２４】
2006221487.tif 000026
【図２５】
2006221487.tif 000027
【図２６】
2006221487.tif 000028
【図２７】
2006221487.tif 000029
【図２８】
2006221487.tif 000030
【図２９】
2006221487.tif 000031
【図３０】
2006221487.tif 000032
【図３１】
2006221487.tif 000033
【図３２】
2006221487.tif 000034
【図３３】
2006221487.tif 000035
【図３４】
2006221487.tif 000036