(57)【要約】【課題】低コストなマルチホップ・リモートコピーを実現する。【解決手段】  ソースストレージと接続されるソースエッジデバイスと、ターゲットストレージに接続されるターゲットエッジデバイスとを有するリモートコピーネットワーク（RCN）を介して、リモートコピーを実行する。RCNはネットワーク事業者が提供するネットワークであるため、ストレージ装置を有するユーザはＲＣＮを所有し管理することなくリモートコピーを実行できる。  ソースエッジデバイスはソースストレージからリモートコピーI/Oを受信し、これにシーケンシャル番号を付与したログエントリを作成して、ログエントリをターゲットエッジデバイスに送信する。ターゲットエッジデバイスは、受信したログエントリからリモートコピーI/Oを取得し、シーケンシャル番号順にターゲットストレージにリモートコピーI/Oを送信する。【選択図】  図１
2005157712.tif 000002
【特許請求の範囲】
【請求項１】
第一のストレージシステム及び第二のストレージシステムとが接続されるリモートコピーネットワークであって、
前記第一のストレージシステムと接続される第一のエッジデバイスと、
前記第二のストレージシステムと接続される第二のエッジデバイスと、
前記第一のエッジデバイス及び前記第二のエッジデバイスを接続するネットワークとを有し、
前記第一のエッジデバイスは、前記第一のストレージシステムから、前記第二のストレージシステムへデータをリモートコピーするための、リモートコピーI/O要求を受信し、
前記第一のエッジデバイスは、受信したリモートコピーI/O要求に対する応答を、前記第一のストレージシステムに送信し、
リモートコピーI/O要求に対する応答を送信した後に、前記第一のエッジデバイスは、リモートコピーI/O要求と該リモートコピーI/O要求の受信順序を示すシーケンシャル番号とを有するログ情報を、前記第二のエッジデバイスに向けて送信し、
前記第二のエッジデバイスは、受信したログ情報からリモートコピーI/O要求を取り出し、取り出したリモートコピーI/O要求を、ログ情報中のシーケンシャル番号が示す順序に従って前記第二のストレージシステムに送信することを特徴とするリモートコピーネットワーク。
【請求項２】
請求項１記載のリモートコピーネットワークにおいて、
前記第一のストレージシステムは第一のボリュームを有しており、前記第一のストレージシステムは第一のストレージ識別情報で、前記第一のボリュームは第一のボリューム識別情報で識別され、
前記第二のストレージシステムは第二のボリュームを有しており、前記第二のストレージシステムは第二のストレージ識別情報で、前記第二のボリュームは第二のボリューム識別情報で識別され、
前記第一のエッジデバイスには、前記第二のストレージ識別情報と同じ値を有する第一の仮想ストレージ識別情報及び前記第二のボリューム識別情報と同じ値を有する第二の仮想ボリューム識別情報が割り当てられ、
前記第二のエッジデバイスには、前記第一のストレージ識別情報と同じ値を有する第二の仮想ストレージ識別情報及び前記第一のボリューム識別情報と同じ値を有する第二の仮想ボリューム識別情報が割り当てられ、
前記第一のエッジデバイスは、前記第一のストレージシステムから、前記第一のストレージ識別情報及び前記第一のボリューム識別情報を送信元の識別情報とし、前記第二のストレージ識別情報及び前記第二のボリューム識別情報を送信先の識別情報とするリモートコピーI/O要求を受信し、該リモートコピーI/O要求を有するログ情報を前記第二のエッジデバイスへ送信することを特徴とするリモートコピーネットワーク。
【請求項３】
請求項１記載のリモートコピーネットワークにおいて、
前記第一のストレージシステムは第一のボリュームを有しており、前記第一のストレージシステムは第一のストレージ識別情報で、前記第一のボリュームは第一のボリューム識別情報で識別され、
前記第二のストレージシステムは第二のボリュームを有しており、前記第二のストレージシステムは第二のストレージ識別情報で、前記第二のボリュームは第二のボリューム識別情報で識別され、
前記第一のエッジデバイスには、第一の仮想ストレージ識別情報と第一の仮想ボリューム識別情報とが割り当てられており、
前記第一のエッジデバイスは、前記第一のストレージシステムから、前記第一のストレージ識別情報及び前記第一のボリューム識別情報を送信元の識別情報とし、前記第一の仮想ストレージ識別情報及び前記第一の仮想ボリューム識別情報を送信先の識別情報とするリモートコピーI/O要求を受信し、送信先を前記第二のストレージ識別情報と前記第二のボリューム情報に変換して、変換後のI/O要求を有するログ情報を前記第二のエッジデバイスに送信することを特徴とするリモートコピーネットワーク。
【請求項４】
請求項１記載のリモートコピーネットワークにおいて、
更に、前記第一のエッジデバイスから前記第二のエッジデバイスへのログ情報の送信を中継する少なくとも一のコアデバイスを有することを特徴とするリモートコピーネットワーク。
【請求項５】
請求項４記載のリモートコピーネットワークにおいて、
前記第一のエッジデバイス、前記第二のエッジデバイス、及び前記コアデバイスはルータ装置であることを特徴とするリモートコピーネットワーク。
【請求項６】
請求項１記載のリモートコピーネットワークにおいて、
前記第一のエッジデバイスは、前記第二のエッジデバイスへ向けて送信したログ情報を記憶しておき、前記第二のエッジデバイスから前記ログ情報に対する応答を受信した場合に、記憶しておいた前記ログ情報を削除することを特徴とするリモートコピーネットワーク。
【請求項７】
請求項６記載のリモートコピーネットワークにおいて、
前記第一のエッジデバイスは、前記第二のエッジデバイスへ向けて送信したログ情報が前記第二のエッジデバイスで受信されなかった場合に、記憶しておいたログ情報を前記第二のエッジデバイスへ向けて再送することを特徴とするリモートコピーネットワーク。
【請求項８】
請求項６記載のリモートコピーネットワークにおいて、
更に、前記第一のエッジデバイス及び前記第二のエッジデバイスと接続される管理ネットワークと、
前記管理ネットワークに接続される管理サーバとを有しており、
ログ情報には更に、前記第一のエッジデバイスがリモートコピーI/O要求を受信した際の時刻情報が含まれており、
前記第一のエッジデバイスは、前記第二のエッジデバイスから前記ログ情報に対する応答を受信した場合に、現時刻から該応答に対応するログ情報に含まれる時刻情報の値を差し引いて求められる  遅れ時間をメモリに記録し、
前記第一のエッジデバイスは、前記メモリに記録された遅れ時間を前記管理ネットワークを介して前記管理サーバに送信し、
前記管理サーバが前記遅れ時間を出力することを特徴とするリモートコピーネットワーク。
【請求項９】
請求項１記載のリモートコピーネットワークにおいて、
更に、第四のストレージシステムと接続される第三のエッジデバイスを有し、
前記第一のエッジデバイスは更に第三のストレージシステムと接続されており、
前記第一のエッジデバイスは、前記第三のストレージシステムから前記第四のストレージシステムへデータをリモートコピーするためのリモートコピーI/O要求を受信し、
前記第一のエッジデバイスは、前記第一のストレージシステムから受信するリモートコピーI/O要求と前記第三のストレージシステムから受信するリモートコピーI/O要求とを区別して処理することを特徴とするリモートコピーネットワーク。
【請求項１０】
請求項１記載のリモートコピーネットワークにおいて、
更に、前記第一のエッジデバイス及び前記第二のエッジデバイスと接続される管理ネットワークと、
前記管理ネットワークに接続される管理サーバとを有しており、
前記管理サーバは、前記第一のストレージシステムがリモートコピー元のストレージシステムであり、前記第二のストレージシステムが前記第一のストレージシステムに対応するリモートコピー先のストレージシステムである旨を示すペア情報を受け付け、前記管理ネットワークを介して、受け付けたペア情報を前記第一のエッジデバイス及び前記第二のエッジデバイスに配布することを特徴とするリモートコピーネットワーク。
【請求項１１】
第一のストレージシステムに接続され、第一のストレージシステムから第二のストレージシステムへのデータのリモートコピーを中継する中継装置であって、
前記第一のストレージシステムと接続される第一のインタフェース部と、
前記第二のストレージシステムと接続される他の中継装置と、ネットワークを介して接続される第二のインタフェース部と、
プロセッサと、
メモリを有しており、
前記第一のインタフェース部は、前記第一のストレージシステムから前記第二のストレージシステムにデータをリモートコピーするためのリモートコピーI/O要求を受信し、該リモートコピーI/O要求に対する応答を、前記第一のストレージシステムに返信し、
前記プロセッサは、リモートコピーI/O要求と、該リモートコピーI/O要求の受信順序を示すシーケンシャル番号とを有するログ情報とを作成して前記メモリに記憶し、
前記第二のインタフェース部は、作成したログ情報を、リモートコピーI/O要求に対応する応答を返信した後に、前記他の中継装置に対して送信し、
前記第二のインタフェース部は、ログ情報に対する応答を受信し、
前記プロセッサは、受信した応答に対応するログ情報を、前記メモリから削除することを特徴とする中継装置。
【請求項１２】
請求項１１記載の中継装置であって、
前記第二のインタフェース部がログ情報に対する応答を受信しない場合に、
前記第二のインタフェース部は、前記メモリに格納されているログ情報を再送することを特徴とする中継装置。
【請求項１３】
請求項１１記載の中継装置であって、
更に管理サーバとネットワークを介して接続される第三のインタフェース部を有しており、
前記ログ情報には、更に前記第一のインタフェース部がリモートコピーＩ/Ｏ要求を受信した時点の時刻情報が含まれており、
前記第二のインタフェース部が、ログ情報に対する応答を受信した場合に、
前記プロセッサは、前記応答を受信した時点の時刻から、前記応答に対応するログ情報に含まれる時刻情報の値を差し引いた、遅れ時間を計算し、
前記第三のインタフェース部は、遅れ時間を前記管理サーバに送信することを特徴とする中継装置。
【請求項１４】
請求項１１記載の中継装置であって、
更に管理サーバと接続される第三のインタフェース部を有しており、
該中継装置には第一の仮想ストレージ識別情報と第一の仮想ボリューム情報とが割り当てられており、
前記第三のインタフェース部は、前記第一の仮想ストレージ識別情報及び前記第一の仮想ボリューム情報をリモートコピーの送信先情報、前記第一のストレージシステムの識別情報である第一のストレージ識別情報と前記第一のストレージシステムが有する第一のボリュームの識別情報である第一のボリューム識別情報とをリモートコピーの送信元情報とするペア情報を、前記管理サーバから受信することを特徴とする中継装置。
【請求項１５】
請求項１４記載の中継装置であって、
前記第一の仮想ストレージ識別情報は、前記第二の記憶装置システムの識別情報である第二のストレージ識別情報と同じ値を有し、
前記第一の仮想ボリューム情報は、前記第二の記憶装置システムが有する第二のボリュームの識別情報である第二のボリューム識別情報と同じ値を有することを特徴とする中継装置。
【請求項１６】
請求項１４記載の中継装置であって、
前記第一のインタフェース部が受信するリモートコピーI/O要求には、送信元の情報として前記第一のストレージ識別情報と前記第一のボリューム識別情報が、送信先の情報として前記第一の仮想ストレージ情報と前記第一の仮想ボリューム情報が含まれており、
前記プロセッサは、送信先の情報を、前記第二のストレージシステムの識別情報である第二のストレージ識別情報と、前記第二のストレージシステムが有する第二のボリュームの識別情報である第二のボリューム識別情報とに変換して、変換後のリモートコピーI/O要求を有するログ情報を作成することを特徴とする中継装置。
【請求項１７】
第二のストレージシステムに接続され、第一のストレージシステムから第二のストレージシステムへのデータのリモートコピーを中継する中継装置であって、
前記第一のストレージシステムと接続される他の中継装置と、ネットワークを介して接続される第一のインタフェース部と、
前記第二のストレージシステムと接続される第二のインタフェース部と、
プロセッサとを有しており、
前記第一のインタフェース部は、前記第一のストレージシステムから前記第二のストレージシステムにデータをリモートコピーするためのリモートコピーI/O要求と、リモートコピーI/O要求の前記他の中継装置における受信順序を示すシーケンシャル番号とを有する、ログ情報を、前記他の中継装置から受信し、
前記プロセッサは受信したログ情報からリモートコピーI/Oを取得し、
前記第二のインタフェース部は、取得したリモートコピーI/O要求を、ログ情報に含まれるシーケンシャル番号順に、前記第二のストレージシステムに送信することを特徴とする中継装置。
【請求項１８】
請求項１７記載の中継装置であって、
更に管理サーバと接続される第三のインタフェース部を有しており、
該中継装置には第二の仮想ストレージ識別情報と第二の仮想ボリューム情報とが割り当てられており、
前記第三のインタフェース部は、前記第二の仮想ストレージ識別情報及び前記第二の仮想ボリューム情報をリモートコピーの送信元情報、前記第二のストレージシステムの識別情報である第二のストレージ識別情報と前記第二のストレージシステムが有する第二のボリュームの識別情報である第二のボリューム識別情報をリモートコピーの送信先情報とするペア情報を、前記管理サーバから受信することを特徴とする中継装置。
【請求項１９】
請求項１８記載の中継装置であって、
前記第二の仮想ストレージ識別情報は、前記第一のストレージシステムの識別情報である第一のストレージ識別情報と同じ値を有し、
前記第二の仮想ボリューム識別情報は、前記第一のストレージシステムが有する第一のボリュームの識別情報である第一のボリューム識別情報と同じ値を有することを特徴とする中継装置。
【請求項２０】
請求項１８記載の中継装置であって、
前記第一のインタフェース部が受信するログ情報中のリモートコピーI/O要求には、送信元の情報として前記第一のストレージ識別情報と前記第一のボリューム識別情報が、送信先の情報として前記第二のストレージ情報と前記第二のボリューム情報が含まれており、
前記プロセッサは、受信したログ情報中のリモートコピーI/O要求を取得し、送信元の情報を、前記第二の仮想ストレージ識別情報と前記第二の仮想ボリューム識別情報とに変換し、
前記第二のインタフェース部は変換後のリモートコピーI/O要求を前記第二のストレージシステムに送信することを特徴とする中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージを含んだ情報処理システムに関し、さらに詳しくは２台以上のストレージと、ネットワーク装置群で構成されるリモートコピーネットワーク（以下、ＲＣＮとも呼ぶ。）により実行される、リモートコピー及び災害復旧技術に関する。
【背景技術】
【０００２】
ストレージを有する情報処理システムにおいて電源障害や天災等の災害によってストレージに障害が発生した場合、当該情報処理システムを使用する業務が一時的に停止したり、最悪の場合、ストレージに格納されたデータが失われることがある。このような事態を回避するために、当該情報処理システムとは異なる遠隔地に用意されたストレージに、当該情報処理システムのストレージに格納されたデータを転送して複製する技術（以下「リモートコピー」と称する。）が存在する。
【０００３】
リモートコピーには同期リモートコピー及び非同期リモートコピーの二種類が存在し、各々長所と短所がある。具体的には、同期リモートコピーでは、情報処理システムのストレージは、情報処理システムの計算機からの書き込み要求があった場合、遠隔地に存在するストレージへのその書き込み要求に付随するデータの転送が完了した後に、その書き込み要求に対する応答を計算機に行う。したがって、同期リモートコピーでは障害によるデータ消失が少ないが、ストレージ間の回線遅延が増加すると計算機とストレージ間のＩ／Ｏ性能が悪化する。
【０００４】
一方、特許文献１に記載の非同期リモートコピーでは、情報処理システムのストレージは、書き込み要求に対する計算機への返答と書き込み要求に付随するデータの遠隔地への転送とを独立したタイミングで実施する。したがって、非同期リモートコピーではストレージ間の距離が長くても、遠隔地にデータをコピーする前に計算機へ返答することができるので、計算機への応答性能の低下を招きにくい。しかし、非同期リモートコピーでは、データ消失の可能性は同期リモートコピーより高くなる。
【０００５】
さらに近年は、同期リモートコピーと非同期リモートコピーを組み合わせたマルチホップ方式が発明されている（特許文献２、特許文献３）。
【０００６】
【特許文献１】米国特許第３１４９３２５号明細書
【０００７】
【特許文献２】特開２００３−１２２５０９号公報
【特許文献３】特開２０００−３０５８５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特許文献２または特許文献３のいずれの方式も中間に存在する装置はストレージの所有者が管理することを前提としているため、装置所有コスト・管理コスト増加が問題となる。そこで、装置所有コスト・管理コスト増加を抑えることのできるマルチホップ・リモートコピー技術を開示する。
【課題を解決するための手段】
【０００９】
ソースストレージとに接続されるソースエッジデバイスと、ターゲットストレージに接続されるターゲットエッジデバイスとを有するリモートコピーネットワーク（RCN）を介して、リモートコピーを実行する。
【００１０】
ソースエッジデバイスはソースストレージからリモートコピーI/O要求を受信し、これにシーケンシャル番号を付与したログエントリを作成して、ターゲットエッジデバイスに送信する。ターゲットエッジデバイスは、受信したログエントリからリモートコピーI/O要求を取得し、シーケンシャル番号順にターゲットストレージにリモートコピーI/O要求を送信する。
【発明の効果】
【００１１】
ストレージ間でマルチホップ・リモートコピーを実行する際の装置所有コスト、管理コストを低減することができる。
【発明を実施するための最良の形態】
【００１２】
以下に本発明の実施形態を説明する。尚本発明は以下に説明する実施形態に限定されるものではない。
【００１３】
図１は本発明の一実施形態における、情報処理システムの概要例を示す図である。
【００１４】
情報処理システムは、リモートコピーネットワーク１０１と、広域ネットワーク１０２と、管理サーバー１０３と、管理ネットワーク１５０、ホスト計算機（以下ホストと呼ぶ。）１１１及びホスト１２１と、外部ストレージ１１２及び外部ストレージ１２２で構成される。なお、以後の説明を容易にするため、外部ストレージ１１２はリモートコピーのコピー元ボリューム１１３を持つストレージとしてソース外部ストレージ１１２と呼び、外部ストレージ１２２はコピー先ボリューム１２３を持つストレージとしてターゲット外部ストレージ１２２と呼ぶことがある。ソースとターゲットという呼び名は、ホスト１１１とホスト１２１、ボリューム１１３とボリューム１２３、仮想ストレージ１０６と仮想ストレージ１０７、仮想ボリューム１０８と仮想ボリューム１０９の関係を表現するためにも使う。なお、この関係は固定されたものではなく、ある一の外部ストレージがソースとターゲットの両方の役割をもってもよい。
【００１５】
リモートコピーネットワーク１０１と、広域ネットワーク１０２と、管理ネットワーク１５０と、管理サーバ１０３は、ネットワーク事業者が提供する。従って、本実施形態においては、ソース側ホストとソース外部ストレージ、及びターゲット側ホストとターゲット外部ストレージを有する顧客が、ホストと外部ストレージをリモートコピーネットワークに接続することによって、リモートコピーネットワークを介したリモートコピーが実行される。このため、顧客はリモートコピーネットワークを管理・維持することなくマルチホップ・リモートコピーを実行することができ、マルチホップ・リモートコピーにおける装置所有コスト、管理コストを低減することができる。
【００１６】
ホスト１１１及びホスト１２１はトランザクション処理等の業務を実施するアプリケーションプログラムが動作する計算機であり、ボリューム１１３はホスト１１１が用いるボリューム、ボリューム１２３はホスト１２１が用いるボリュームである。
【００１７】
リモートコピーネットワーク１０１はエッジデバイス１０４及びエッジデバイス１０５、コアデバイス２０２を含む複数の装置を含むネットワークである。尚、エッジデバイス、コアデバイスはルータ若しくはゲートウィ装置の一種であっても良い。外部ストレージ１１２及び外部ストレージ１２２はエッジデバイス１０４若しくはエッジデバイス１０５を介してリモートコピーネットワーク１０１に接続される。エッジデバイス１０４若しくはエッジデバイス１０５とコアデバイス２０２間では、リモートコピー要求及びリモートコピー要求に伴いリモートコピーされるデータ（以下、これらをリモートコピーＩ／Ｏ要求、若しくはＲＩＯとも呼ぶ。）を時間順序情報を含むログエントリ２１１という形式で転送する。ＲＩＯをログエントリに変換する処理はエッジデバイスにて実行される。
【００１８】
エッジデバイスは、リモートコピーネットワーク１０１の外部に存在する外部ストレージと接続される装置である。
【００１９】
コアデバイス２０２は、エッジデバイス１０４によって作成・転送されたログエントリ２１１を別のエッジデバイス１０５またはコアデバイス２０２へ転送する装置である。
【００２０】
仮想ストレージ１０６若しくは仮想ストレージ１０７は、エッジデバイス１０４若しくはエッジデバイス１０５が外部ストレージ１１２若しくは外部ストレージ１２２に対して提供する仮想的なストレージである。エッジデバイスは、自らと接続されている外部ストレージに対して、この外部ストレージがリモートコピーのペアを組んでいる相手方の外部ストレージとして自らを見せるべく、あたかもリモートコピーのペア相手の外部ストレージかのように振舞う仮想ストレージを提供する（例えば、エッジデバイス１０４は外部ストレージ１２２のように振舞う仮想ストレージ１０６を外部ストレージ１１２に提供し、エッジデバイス１０５は外部ストレージ１１２のように振舞う仮想ストレージ１０７を外部ストレージ１２２に提供する）。
【００２１】
エッジデバイスとコアデバイス２０２はネットワークによって接続される（図示せず）。その接続形態としては、Ｇｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ（登録商標）（以下、ＧｂＥとも呼ぶ。）上でＩＰプロトコルを用いた接続形態が考えられるが、これら以外のネットワーク媒体やプロトコルを用いても良い。また、エッジデバイス１０４若しくはエッジデバイス１０５から外部ストレージ１１２若しくは外部ストレージ１２２への接続は、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ（以下、ＦＣとも呼ぶ。）やＥＳＣＯＮ、ＦＩＣＯＮ、ＧｂＥ等上を、プロトコルとしてＳＣＳＩ、ｉＳＣＳＩ、ｉＦＣＰ、ｍＦＣＰ、ＦＣＩＰ等を用いて接続することが考えられるが、これら以外のネットワーク媒体やプロトコルを用いても良い。なお、以後の説明では、エッジデバイスから外部ストレージへの接続にはＦＣとＳＣＳＩを、エッジデバイスとコアデバイス２０２との間の接続にはＧｂＥとＩＰプロトコルとＵＤＰプロトコルを用いるものとするが、これによって本発明の権利範囲を当該プロトコルに限定するものではない。
【００２２】
ＦＣフレーム２２０は、外部ストレージとエッジデバイス間でＦＣを介して通信するためのフレームであり、ＧｂＥフレーム２１０はエッジデバイスとコアデバイス間若しくは複数のコアデバイス間でＧｂＥを介して通信するためのフレームであり、ログエントリ２１１はＧｂＥフレーム２１０によって転送される。
【００２３】
管理サーバー１０３は外部ストレージ１１２及び外部ストレージ１２２の所有者（顧客）がリモートコピーネットワーク１０１に必要な情報を設定したり、リモートコピーネットワークの設定情報や状態情報を参照するための計算機であり、広域ネットワーク１０２と管理ネットワーク150に接続される。ホスト１１１及びホスト１２１は管理サーバー１０３と通信するために、広域ネットワーク１０２を用いる。なお、広域ネットワーク１０２はホスト１１１及びホスト１２１と管理サーバー１０３との通信を可能とするものであればどのような形態でもよく、リモートコピーネットワーク１０１に含まれていても良い。また、複数の外部ストレージが一つのエッジデバイスへ接続されてもよい。
【００２４】
管理ネットワーク150は、リモートコピーネットワーク１０１内に存在する装置（例えばエッジデバイス１０４やエッジデバイス１０５、コアデバイス２０２等）と管理サーバ１０３とが接続されるネットワークである。管理サーバは管理ネットワーク150を介してリモートコピーネットワーク１０１内のエッジデバイスやコアデバイスへの設定を行い、またエッジデバイスやコアデバイスから情報を収集して、収集した情報を広域ネットワーク１０２経由でホストに提供する。なお、管理ネットワーク150はリモートコピーネットワーク１０１の一部分であってもよく、広域ネットワーク１０３の一部分であってもよい。
【００２５】
なお、図中には記載していないが、外部ストレージ１１２及び外部ストレジ１２２は同期リモートコピープログラムまたは非同期リモートコピープログラムを格納したメモリと、これらのプログラムを実行するプロセッサを有するものとする。
【００２６】
同期リモートコピープログラムが実行されると、外部ストレージはコピーの状態を示すために、ペア状態（Ｓｉｍｐｌｅｘ（Ｘ）、Ｉｎｉｔｉａｌ−Ｃｏｐｙｉｎｇ（ＩＣ）、Ｄｕｐｌｅｘ（Ｄ）、Ｓｕｓｐｅｎｄ（Ｓ）及びＤｕｐｌｅｘ−Ｐｅｎｄｉｎｇ（ＤＰ）の５つの状態がある。）を定義し、内部でその情報を管理する。
【００２７】
Ｓｉｍｐｌｅｘ状態は、ソースボリュームとターゲットボリューム間での同期リモートコピーが開始されていない状態である。Ｄｕｐｌｅｘ状態は、同期リモートコピーが開始され、後述する初期化コピーも完了してソースボリュームとターゲットボリュームの内容が同一となった状態である。同期リモートコピーの場合、ソースボリュームに書き込まれたデータがターゲットボリュームにコピー（以下、係るコピーを更新コピーとも呼ぶ。）されてから、書き込みを行ったホストに対して書き込み完了の返事が返る。
【００２８】
なお、例えばボリューム毎に一意な識別子が保存される領域が存在する等の理由で、ボリュームの特定の部分についてソースボリュームとターゲットボリュームの内容が同一でない場合があっても良いものとする。
【００２９】
Ｉｎｉｔｉａｌ−Ｃｏｐｙｉｎｇ状態は、Ｓｉｍｐｌｅｘ状態からＤｕｐｌｅｘ状態へ遷移するまでの中間状態である。この期間中は、ソースボリュームからターゲットボリュームへの初期化コピー（ソースボリュームに既に格納されていたデータのコピー）が行われる。初期化コピーが完了し、Ｄｕｐｌｅｘ状態へ遷移するために必要な内部処理が終わった段階でペア状態はＤｕｐｌｅｘとなる。
【００３０】
Ｓｕｓｐｅｎｄ状態は、更新コピーが停止した状態である。この状態では、ソースボリューム及びターゲットのボリュームのデータの巨視的な同一性は保障されなくなる。オペレータ、ホスト、外部ストレージを管理する計算機等の指示を契機に、ペア状態は、他の状態からＳｕｓｐｅｎｄ状態へ遷移する。
【００３１】
それ以外にＳｕｓｐｅｎｄ状態へペア状態が遷移する場合として、ソースボリュームからターゲットボリュームへの同期リモートコピーを行うことが出来なくなった場合がある。この場合にはストレージが自動的にペア状態をＳｕｓｐｅｎｄ状態に遷移する。以後の説明では、後者の場合を障害Ｓｕｓｐｅｎｄ状態と呼ぶ。障害Ｓｕｓｐｅｎｄ状態となる代表的な原因としては、ソースボリューム若しくはターゲットのボリュームの障害、ソース外部ストレージ若しくはターゲットの外部ストレージの障害、ソース外部ストレージ及びターゲット外部ストレージ間の通信路障害（本実施形態の場合は、外部ストレージ１１２若しくは外部ストレージ１２２とエッジデバイス１０４若しくはエッジデバイス１０５間の回線障害や、エッジデバイス１０４及びエッジデバイス１０５を含むリモートコピーネットワークの障害）が考えられる。しかし、これ以外の障害も障害Ｓｕｓｐｅｎｄの原因となり得る。
【００３２】
Ｓｕｓｐｅｎｄ状態若しくは障害Ｓｕｓｐｅｎｄ状態の外部ストレージは、Ｄｕｐｌｅｘ−Ｐｅｎｄｉｎｇ状態にペア状態が遷移した際にソースボリュームとターゲットボリューム間で差分コピーを実行できるように、Ｓｕｓｐｅｎｄ状態若しくは障害Ｓｕｓｐｅｎｄ状態中に更新されたデータが格納されたボリューム内の記憶領域を記録する。なお、記録に使用するデータ構造についてはビットマップやログが考えられるが、これ以外でもよい。
【００３３】
Ｄｕｐｌｅｘ−Ｐｅｎｄｉｎｇ状態は、Ｓｕｓｐｅｎｄ状態からＤｕｐｌｅｘ状態に遷移するまでの中間状態である。この状態では、ソースボリュームとターゲットボリュームのデータの内容を一致させるために、ソースボリュームからターゲットボリュームへのデータのコピーが実行される。ソースボリュームとターゲットボリュームのデータの同一性が確保されると、ペア状態はＤｕｐｌｅｘとなる。なお、Ｄｕｐｌｅｘ−Ｐｅｎｄｉｎｇ状態におけるデータのコピーは、前述したＳｕｓｐｅｎｄ状態中のデータ更新領域を記録した情報を利用して、更新が必要な部分だけをコピーする差分コピーが用いられても良い。なお、Ｉｎｉｔｉａｌ−Ｃｏｐｙｉｎｇ状態とＤｕｐｌｅｘ−Ｐｅｎｄｉｎｇ状態は、これらをまとめて一つの状態として管理装置の画面に表示したり、状態を遷移させても良い。
【００３４】
一方の非同期リモートコピーの場合、ソースボリュームからターゲットボリュームへのデータコピーの方法として、以下の方法がある。
【００３５】
例えば、ソース外部ストレージが、データが書き込まれたボリュームのアドレスを含んだ制御情報及び書き込まれたデータの組（以下「ログエントリ」と呼ぶ。）を、データの書き込みの度に作成し、これをターゲット外部ストレージへ転送し、ターゲット外部ストレージがログエントリに格納されている更新データをターゲットボリュームへ書き込む方法がある（以下、ログエントリに格納されているデータをボリュームに書き込むことを、ログエントリをボリュームに反映させる、と表現する）。さらにこの発展形として、ログエントリの制御情報に、更新データがソースボリュームに書き込まれた時間や順序を示す情報を含め、ターゲットボリュームへログエントリを反映させる際にはこの時間や順序を示す情報を利用して、更新データがソースボリュームに書き込まれた順序どおりにターゲットボリュームにログエントリを反映する方法がある。
【００３６】
非同期リモートコピーが実行される際にも、ソース・ターゲット外部ストレージは、ペア状態（Ｓｉｍｐｌｅｘ、Ｉｎｉｔｉａｌ−Ｃｏｐｙｉｎｇ、Ｄｕｐｌｅｘ、Ｓｕｓｐｅｎｄ、Ｄｕｐｌｅｘ−Ｐｅｎｄｉｎｇ及びＳｕｓｐｅｎｄｉｎｇ（ＳＩ））を管理する。Ｓｉｍｐｌｅｘ、Ｉｎｉｔｉａｌ−Ｃｏｐｙｉｎｇ、Ｓｕｓｐｅｎｄ及びＤｕｐｌｅｘ−Ｐｅｎｄｉｎｇ状態については同期リモートコピーと同様である。
【００３７】
Ｄｕｐｌｅｘ状態も基本的には同期リモートコピーの場合と同じであるが、更新コピーがホストからの書き込みと非同期に行われるため、データの同一性は同期リモートコピーとは異なり、ホストが書き込み要求に対する完了応答をソース外部ストレージから受信した後であっても、ターゲットボリュームに更新データが書き込まれるまでの間は、ソースボリューム内のデータとターゲットボリューム内のデータは一致していない。
【００３８】
Ｓｕｓｐｅｎｄｉｎｇ状態とは、Ｄｕｐｌｅｘ状態からＳｕｓｐｅｎｄ状態へ遷移するまでの中間状態であり、非同期リモートコピーの場合は、Ｓｕｓｐｅｎｄｉｎｇ状態を経由してＳｕｓｐｅｎｄ状態へ遷移する。尚、この状態で、ソース外部ストレージ及びターゲット外部ストレージは、各々が有するメモリに保持されているログエントリをターゲット外部ストレージへ反映させる処理を行っても良い。また、同期リモートコピーのＳｕｓｐｅｎｄ状態の説明で述べた、ソースボリュームに対する書き込み位置の記録と同様の方法で、ソース外部ストレージ及びターゲット外部ストレージは、ターゲットボリュームに反映できなかったログエントリ内の更新データの書き込み位置を記録する。
【００３９】
図９は、リモートコピーネットワークを利用したリモートコピー処理の一例を示すフロー図である。
（１）まず、顧客とＲＣＮ提供者が契約を行う（ステップ９０１）。
（２）ＲＣＮ提供者は、顧客に顧客ＩＤを割り当て、割り当てられた顧客ＩＤと契約条件に定められた顧客特有の設定を管理サーバー１０３に入力、設定する（ステップ９０２）。
（３）顧客は、ＲＣＮに接続するソース外部ストレージ１１２及びターゲット外部ストレージ１２２のＷＷＮ（ＷｏｒｌｄＷｉｄｅＮａｍｅ）と、これら外部ストレージの接続先となるエッジデバイス１０４及びエッジデバイス１０５の識別情報を、管理サーバー１０３に入力、設定する（ステップ９０３）。この設定情報を元に、管理サーバー１０３はエッジデバイス１０４及びエッジデバイス１０５に仮想ストレージ１０６や仮想ストレージ１０７の生成を指示したり、リモートコピーネットワーク１０１の経路設定を行う。
（４）顧客は、ホスト１１１または他の計算機にペア生成指示を入力することにより、ソース外部ストレージ１１２に対してペア生成を指示する（ステップ９０４）。ソース外部ストレージ１１２に対する指示は、エッジデバイス１０４、リモートコピーネットワーク１０１、エッジデバイス１０５を経由してターゲット外部ストレージ１２２に到着する。ペア生成指示を契機に、ソースボリューム１１３からターゲットボリューム１２３へ初期化コピーが行われる。
（５）ソースボリューム１１３とターゲットボリューム１２３のペアがＤｕｐｌｅｘ状態となり、ソース外部ストレージとターゲット外部ストレージ間でリモートコピー処理が実行される（ステップ９０５）。
（６）リモートコピーネットワーク１０１の内部で障害があった場合は、外部ストレージ１１２若しくは外部ストレージ１２２が自ら障害を検知するか、リモートコピーネットワーク１０１が障害発生を外部ストレージ１１２若しくは外部ストレージ１２２に通知することで、これらの外部ストレージはペア状態を障害Ｓｕｓｐｅｎｄ状態に遷移させる。その後、ＲＣＮ提供者が保守作業を完了させた後に、顧客が管理サーバ若しくは他の計算機からソース外部ストレージ１１２に再同期を指示して再同期を行う（ステップ９０８、９０９）。
（７）計画保守や、ターゲット外部ストレージ１２２を一時的に別アプリケーションプログラムで用いる等の理由でリモートコピーを停止させたい場合は、顧客がホスト１１１若しくはホスト１２１、管理サーバ若しくは他の計算機を介してソース外部ストレージ１１２にＳｕｓｐｅｎｄ状態への遷移を指示する（ステップ９１０）。その後、リモートコピー停止の理由が解消した段階で、顧客がホスト１１１若しくはホスト１２１管理サーバ若しくは他の計算機を介してソース外部ストレージ１１２に再同期を指示して再同期を行う（ステップ９０９）。
（８）ソース外部ストレージ１１２に障害（サイト障害）が発生した場合は、顧客はターゲット外部ストレージ１２２に接続されたホスト１２１でアプリケーションを再開する（ステップ９１１）。なお、サイト障害の検知や再開処理は管理者による手作業でもよいし、クラスタソフトと呼ばれるホスト監視・アプリケーション再立ち上げを担うソフトが行っても良い。
【００４０】
図３はエッジデバイス、コアデバイス、及び管理サーバーのハードウェアアーキテクチャの一例を示した図である。
【００４１】
いずれの装置もメモリ３１１、ＣＰＵ３１２、ディスク装置３１３を有し、これらが内部ネットワークまたはバスで相互結合されている。各装置上に存在するプログラムはメモリ３１１内に存在し、プログラムはメモリ３１１、ＣＰＵ３１２、ディスク装置３１３が共同して動作することで実行される。ただし、ディスク装置３１３は必須の構成要素ではない。
【００４２】
さらに、エッジデバイスとコアデバイスはＧｂＥで通信するためのハードウェアであるＧｂＥインターフェース３１５を有する。エッジデバイスは外部ストレージとＦＣで通信するためのＦＣインターフェース３１４を有する。また、エッジデバイスとコアデバイスと管理サーバーは、管理ネットワーク150を用いて通信するためのネットワークインターフェース３１６を有する。なお、ネットワークインターフェース３１６はＦＣインターフェース３１４やＧｂＥインターフェース３１５と同じものが考えられるが、通信可能であれば、１００Ｂａｓｅ−ＴのＥｔｈｅｒｎｅｔインターフェースのような他のネットワーク媒体・プトロコルに対応したインタフェースであってもよい。
【００４３】
図４はエッジデバイス又はコアデバイスがメモリ３１１若しくはディスク装置３１３内に有し、エッジデバイス又はコアデバイスにて動作するプログラムの一例を示した図である。
【００４４】
ＦＣプロトコルスタック４０１はエッジデバイスで実行され、ＦＣを介してデータ転送を行うためのプログラムである。ＩＰプロトコルスタック４１０はエッジデバイスまたはコアデバイス２０２で実行され、ＧｂＥを介してＩＰに従ってデータ転送を行うためのプログラムである。なお、ＧｂＥインタフェース３１５またはＦＣインターフェース３１４を操作するためのインターフェースドライバプログラム、ＦＣプロトコルスタック４０１が有するＰｏｒｔＩＤとＷＷＮの変換情報、ＩＰプロトコルスタック４１０が有するＩＰアドレスとＭＡＣ（ＭｅｄｉａＡｃｃｅｓｓＣｏｎｔｒｏｌ）アドレスの変換情報がエッジデバイスのメモリ３１１内に存在するが、図では省略している。また、図には記していないが、エッジデバイス及びコアデバイスのメモリ上にＯＳが存在してもよい。
【００４５】
ＲＩＯプロトコルスタック４０２は、外部ストレージから受信するＲＩＯをエッジデバイスが解釈するためのプログラムであり、エッジデバイスが有する。
【００４６】
仮想ストレージ提供プログラム４０３は、外部ストレージのように振舞う仮想的なストレージを外部ストレージに対して提供するためのプログラムであり、エッジデバイスが有する。外部ストレージに対して、当該外部ストレージのリモートコピーペアの相手先外部ストレージの様に振舞う仮想ストレージを提供しようとする場合、ペアの相手先の構成情報（即ち、ＷＷＮ、製品番号、ボリュームの数、ボリュームを識別するためのＬＵＮ、容量、エミュレーションタイプその他）と同じ構成情報を仮想ストレージの構成情報として外部ストレージに提供する。係る処理を実行するためのプログラムが仮想ストレージ提供プログラム４０３である。そして、仮想ストレージ提供プログラムは、自身が接続する外部ストレージのペア相手の外部ストレージの構成情報を含むＲＩＯを外部ストレージから受信すると、このＲＩＯは自エッジデバイス宛てのＲＩＯだと認識して処理する。
【００４７】
但し、仮想ストレージが独自に持たなければならない情報がある場合（例えば、ＷＷＮについてはペアの相手先外部ストレージのＷＷＮを使用することができず、仮想ストレージ固有の値を使用しなければならない場合等）は、仮想ストレージ提供プログラム４０３は、ペアの相手先の構成情報ではなく、仮想ストレージ固有の構成情報を外部ストレージに対して提供する。
【００４８】
ログエントリ生成・反映プログラム４０６は、外部ストレージ提供プログラム４０３、ＲＩＯプロトコルスタック４０１、ＦＣプロトコルスタック４０１から取得した仮想ストレージ１０６に対するＲＩＯをもとに、ログエントリ２１１を作成するためのプログラムでエッジデバイスが有する。また、ログエントリ生成・反映プログラム４０６は、ログエントリ転送プログラム４０７から取得したログエントリ２１１からＲＩＯを作成した後に、このＲＩＯを外部ストレージに対して転送する処理をも実行するプログラムである。
【００４９】
ＲＩＯプロトコルスタック４０２、仮想ストレージ提供プログラム４０３、ログエントリ生成・反映プログラム４０６はエッジデバイス１０６・１０７上で動作する。
【００５０】
ログエントリ転送プログラム４０７は、ログ通信プロトコルスタック４０９や、ＩＰプロトコルスタック４１０を利用してログエントリ２１１の転送を行うためのプログラムであり、エッジデバイス及びコアデバイスが有する。
【００５１】
ログ転送プロトコルスタック４０９は、他のエッジデバイスまたはコアデバイスとの間で、ログエントリ２１１を転送するために必要な通信処理を行うプログラムである。
【００５２】
ログエントリ転送プログラム４０７とログ転送プロトコルスタック４０９は、エッジデバイス１０６・１０７とコアデバイス２０２で動作する。
【００５３】
まとめ転送プログラム４２０は、ログエントリ２１１の転送を効率よく行うために、コアデバイス上で動作するログエントリ転送プログラム４０７を制御するプログラムである。まとめ転送プログラムはコアデバイスが有する。まとめ転送プログラム４２０は、ログエントリ２１１を受信してから転送するまで一定時間待ち、ログエントリを転送する時はコアデバイス２０２に蓄積された複数のログエントリ２１１をまとめて転送する。ただし、まとめ転送プログラム４２０は用いなくても良い。
【００５４】
図５は管理サーバ１０３のメモリに格納され、管理サーバ１０３にて動作するプログラム、及び管理サーバのメモリに格納される情報の一例を示す図である。
【００５５】
ＲＣＮ設定インターフェースプログラム５０１は、複数の外部ストレージ間でのリモートコピー処理をリモートコピーネットワーク１０１を用いて実行するための設定を行うプログラムである。ＲＣＮ設定インターフェースプログラム５０１はさらに、リモートコピーネットワークの設定情報、ストレージ接続情報５０３、仮想ストレージ情報４０４、アクセス制御情報４０５、経路情報４０８、ペア情報４１１を出力し、ユーザに参照させるためのプログラムでもある。広域ネットワーク１０２に接続されたホストまたはそれ以外の計算機は、管理サーバに格納された当該プログラムを用いることで、リモートコピーネットワーク１０１の状態を参照したり、図９のステップ９０３に対応する設定（即ち、ＲＣＮを構成するエッジデバイスやコアデバイスへの設定）を行うことができる。
【００５６】
ＲＣＮ設定インターフェースプログラム５０１を用いて設定される情報の例としては、以下の二つが考えられるが、顧客や管理者は管理サーバで動作するＲＣＮ設定インタフェースプログラムに対して設定情報を入力することにより、これ以外の設定を行ってもよい。
（Ａ）リモートコピーネットワーク１０１に接続する外部ストレージのＷＷＮと、外部ストレージの接続先エッジデバイスのＩＤ
（Ｂ）リモートコピーネットワーク１０１中で、データの書き込み順序が保証されるソースボリューム及びターゲットボリューム（またはソース外部ストレージとターゲット外部ストレージ、若しくはソースエッジデバイスとターゲットエッジデバイス）のペアのリスト
また、ＲＣＮ設定インターフェースプログラム５０１が提供する情報としては、前述の２つの設定値のほか、以下の項目が考えられるが、ＲＣＮ設定インタフェースプログラムはこれ以外の項目を出力してもよい。
（Ａ）仮想ストレージに割り当てられたＷＷＮ
（Ｂ）ソース外部ストレージへの書き込みデータが、ターゲット外部ストレージに反映されるまでの遅れ時間
（Ｃ）リモートコピーネットワーク１０１内部に残るログエントリの有無
なお、ＲＣＮ設定インターフェースプログラム５０１は、図９のステップ９０３において各顧客の契約形態に応じＲＣＮへの設定を実行する際、エッジデバイスの選択範囲、ＲＣＮに接続する外部ストレージの数、順序保証するボリュームのペア数等の入力値を、契約形態に基づき制限する処理を実施してもよい。
【００５７】
ＲＣＮ設定プログラム５０２は、以下の２つの機能を含むプログラムである。
（Ａ）ＲＣＮ設定インターフェース５０１によって設定された情報を元に、ストレージ接続情報５０３、仮想ストレージ情報４０４、アクセス制御情報４０５、経路情報４０８、ペア情報４１１を更新し、エッジデバイスとコアデバイスに配布する、設定・配布機能
（Ｂ）エッジデバイスによるペア情報４１１と順序保証情報４１３の更新を収集する更新収集機能
なお、ＲＣＮ設定プログラム５０２はこれ以外の情報をリモートコピーネットワーク１０１やエッジデバイス、コアデバイス２０２から収集したり、設定する機能を含んでも良い。  管理サーバのメモリには、上述のＲＣＮ設定インタフェースプログラム５０１及びＲＣＮ設定プログラムの他に、後述するストレージ接続情報５０３、仮想ストレージ情報４０４、アクセス制御情報４０５、経路情報４０８、ペア情報４１１が格納されている。
【００５８】
図６と図７は、管理サーバー１０３、エッジデバイス、若しくはコアデバイスで用いられる情報の一例を示した図である。
【００５９】
ストレージ接続情報５０３は、外部ストレージのエッジデバイスに対する接続状況を管理する情報である。当該情報は、エッジデバイスのＩＤ６３１と顧客ＩＤ６３２とエッジデバイスに接続される外部ストレージのＷＷＮ６３３を含む。本情報は、顧客がＲＣＮ設定インターフェースプログラム５０１を用いて管理サーバに設定することが考えられるが、それ以外の方法で作成されてもよい。
【００６０】
仮想ストレージ情報４０４は、エッジデバイスが提供する仮想ストレージに関する情報である。仮想ストレージＷＷＮ６１２はエッジデバイスが外部ストレージに対して提供する仮想ストレージのＷＷＮを登録する領域である。対応エッジＩＤ６１３と対応ストレージＷＷＮ６１４は、仮想ストレージが外部ストレージに対して振舞う当該外部ストレージのリモートコピーのペア相手である外部ストレージが接続されているエッジデバイスのＩＤと、ペア相手の外部ストレージのＷＷＮを登録する領域である。本実施例では、仮想ストレージ１０６のＷＷＮとして、外部ストレージ１２２のＷＷＮを、仮想ストレージ１０７のＷＷＮとして外部ストレージ１１２のＷＷＮを割り当てる。図１を例とすると、仮想ストレージ情報４０４には以下の値が登録される。
＜仮想ストレージ１０６のための設定＞
（Ａ）エッジＩＤ６１１として、エッジデバイス１０４のＩＤ
（Ｂ）仮想ストレージＷＷＮ６１２として、ターゲット外部ストレージ１２２のＷＷＮ
（Ｃ）対応エッジＩＤとしてエッジデバイス１０５のＩＤ
（Ｄ）対応ストレージＷＷＮとしてターゲット外部ストレージ１２２のＷＷＮ
＜仮想ストレージ１０７のための設定＞
（Ａ）エッジＩＤ６１１としてエッジデバイス１０５のＩＤ
（Ｂ）仮想ストレージＷＷＮ６１２として、ソース外部ストレージ１１２のＷＷＮ
（Ｃ）対応エッジＩＤとしてエッジデバイス１０４のＩＤ
（Ｄ）対応ストレージＷＷＮとしてソース外部ストレージ１１２のＷＷＮ
尚、ターゲットボリューム、ソースボリューム、仮想ターゲットボリューム、及び仮想ソースボリュームの識別番号（ＬＵＮ）は、本実施形態においては同じ値であるものとする。
【００６１】
アクセス制御情報４０５はエッジデバイスが提供する仮想ストレージのアクセス制御を管理する情報である。当該情報には、エッジデバイスのＩＤ６２１、仮想ストレージのＷＷＮ６２２、仮想ストレージへのアクセスを許可する外部ストレージのＷＷＮ６２３が含まれる。エッジデバイスは複数の顧客によって共用されることも考えられるため、ある顧客の仮想ストレージに別顧客の外部ストレージからアクセスできないようにすることが、アクセス制御情報４０５の一般的な設定と考えられる。しかし、これ以外の設定方針を採用しても良い。また、エッジデバイスはこれ以外の情報によってアクセス制御を行っても良い。
【００６２】
顧客毎にアクセス可能範囲を分ける場合であれば、アクセス制御情報４０５はストレージ接続情報５０３と仮想ストレージ情報４０４を元に管理サーバによって作成される。図１の例では、以下の通りに設定することで、仮に図示しなかった別顧客の外部ストレージがエッジデバイス１０４若しくはエッジデバイス１０５に接続されていたとしても、この別顧客の外部ストレージからは、仮想ストレージ１０６及び仮想ストレージ１０７を利用できない。
＜仮想ストレージ１０６のアクセス制御情報の設定＞
（Ａ）エッジＩＤ６２１としてエッジデバイス１０４のＩＤ
（Ｂ）仮想ストレージＷＷＮ６２２として仮想ストレージ１０６のＷＷＮ
（Ｃ）アクセス許可ストレージＷＷＮ６２３としてソース外部ストレージ１１２のＷＷＮ
＜仮想ストレージ１０７のアクセス制御情報の設定＞
（Ａ）エッジＩＤ６２１としてエッジデバイス１０５のＩＤ
（Ｂ）仮想ストレージＷＷＮ６２２として仮想ストレージ１０７のＷＷＮ
（Ｃ）アクセス許可ストレージＷＷＮ６２３としてターゲット外部ストレージ１２２のＷＷＮ
経路情報４０８はソース側のエッジデバイス１０４が作成したログエントリ２１１をターゲット側のエッジデバイス１０５に転送するための経路を管理する情報である。当該情報には、ソース外部ストレージ１１２のＷＷＮ７１１とターゲット外部ストレージ１２２のＷＷＮ７１２と、ソース外部ストレージ及びターゲット外部ストレージ間でログエントリ２１１を送受信するための通過経路７１４が含まれる。ＲＣＮ設定プログラム５０２は、顧客から管理端末に対してソース外部ストレージ及びターゲット外部ストレージの識別情報と、これらのストレージが接続されるソース側エッジデバイスとターゲット側エッジデバイスの識別情報が入力されると、各コアデバイス２０２の処理限界とまとめ転送の効果を考慮してソース外部ストレージ１０４とターゲット外部ストレージ１０５間のコアデバイス２０２の数が少なくなるように、経路計算して経路情報を作成する。なお、経路決定の方式はデータ転送のＱｏＳを考慮したり、エッジデバイスまたはコアデバイス２０２が被災する可能性を考慮して計算する方法が考えられるが、これ以外の方法であってもよい。また、本実施例の経路情報４０８はソース外部ストレージとターゲット外部ストレージのペア毎に経路を設定するケースを想定したものであるが、順序保証グループ単位、ソースボリュームとターゲットボリュームのペア単位に経路情報が設定されてもよい。
【００６３】
ペア情報４１１は主にリモートコピーネットワーク１０１においてＲＩＯの順序を保証すべきソースボリュームとターゲットボリュームの組を管理するための情報である。当該情報は、ソース外部ストレージ１１２の実際のＷＷＮ７２１とソースボリュームのＬＵＮ７２２、ターゲット外部ストレージ１２２の実際のＷＷＮ７２３とターゲットボリュームのＬＵＮ７２４、現在のペア状態７２５、順序保証のためのＩＤ７２６、リモートコピーネットワーク１０１内部に障害が発生した場合に用いる差分ビットマップ７２７から構成される。
【００６４】
ペア情報４１１の作成方法には、以下の３つの方法がある。
（Ａ）外部ストレージからのペア生成要求（このペア生成要求には、ソース外部ストレージ１１２のＷＷＮとソースボリューム１１３のＬＵＮ、ターゲット外部ストレージ１２２のＷＷＮとターゲットボリューム１２３のＬＵＮが含まれる）をエッジデバイスが受信し、エッジデバイスでペア情報を作成する方法。この場合には、順序保証ＩＤ７２５の登録方法について以下の２つの方法が考えられる。
（Ａ−１）ソースボリュームが同じソース外部ストレージに存在し、かつターゲットボリュームも同じターゲット外部ストレージに存在するペアに同一ＩＤを割り当てる方法。この方法では、同じ外部ストレージ間でリモートコピーを実行するボリュームペアには同じIDが割り当てられる。
（Ａ−２）同じソースエッジデバイス及びターゲットエッジデバイスを用いてリモートコピー処理が実行されるボリュームペアに同一IDを割り当てる方法。
（Ｂ）ペア作成の前に、管理者がＲＣＮ設定インターフェースプログラム５０１を用いて、更新順序情報と共に入力する方法。
【００６５】
尚、これらを組み合わせた方法を用いても良い。
【００６６】
順序保証情報４１３は主にログエントリ２１１のシーケンシャル番号８０４を作成するための情報である。当該情報には、順序保証ＩＤ７３１、ログ生成カウンタ値７３２、ログ反映カウンタ値７３３、ログ削除カウンタ値７３４、反映遅れ時間７３５が含まれる。ログ生成カウンタ値７３２はログエントリ２１１が作成される度にエッジデバイスでインクリメントされ、ログ削除カウンタ値７３４はエッジデバイス１０４でログエントリ２１１が削除されるたびにインクリメントされる。ログ反映カウンタ値７３３はエッジデバイスがログエントリ２１１を外部ストレージ１２２に反映する度にインクリメントされる。
【００６７】
反映遅れ時刻７３５には、エッジデバイスがログエントリを外部ストレージに反映する度に現在時刻からログエントリ２１１のＩ／Ｏ時間８０４を引いた値が登録される。この情報は定期的にエッジデバイスから管理サーバのＲＣＮ設定インターフェースプログラム５０１に送信され、管理サーバが出力することにより顧客に提供される。
【００６８】
尚、図６及び図７には図示されていないが、エッジデバイスにはログエントリも記憶される。ログエントリは図１５に示すログ記憶領域４１３に記憶されており、ログ記憶領域４１３は、一つ以上のログエントリ２１１を記憶する領域１７０２と記憶場所を管理する管理情報１７０１を含む。ログエントリ生成・反映プログラム４０６は、ＲＣＮ設定インターフェースプログラム５０１からの要求に応じて、ログ記憶領域４１３の情報を取得し、これをRCN設定インタフェースプログラムに提供する。
【００６９】
仮想ストレージ情報４０４、アクセス制御情報４０５、ペア情報４１１は複製がエッジデバイスに存在する。また、経路情報４０８は複製がエッジデバイスとコアデバイス２０２に存在する。なお、複製は部分的な複製であっても良い。
【００７０】
図８はログエントリ２１１のデータ構造例について示した模式図である。
【００７１】
「ターゲットストレージのＷＷＮとボリュームＬＵＮ情報」８０１は、ログエントリ２１１に変換されたＲＩＯの転送先となる外部ストレージのＷＷＮとＬＵＮを示す情報である。「ソースストレージのＷＷＮとボリュームＬＵＮ情報」８０２は、ログエントリ２１１に変換されたＲＩＯの転送元の外部ストレージのＷＷＮとＬＵＮを示す情報である。
【００７２】
順序保証ＩＤ８０３、「Ｉ／Ｏ時間とシーケンシャル番号情報」８０４は、ログエントリ２１１間での反映順序を伝えるための情報である。すなわち、I/O時間は、ソース外部ストレージに対してホストからログエントリに含まれるライトデータが書き込まれた時間であり、シーケンシャル番号はホストからソースストレージ装置へのライトデータの書き込み順序を示す番号である。
【００７３】
ＲＩＯ領域８０５は、ログエントリへの変換の対象となったＲＩＯを格納する領域である。
【００７４】
なお、ログエントリ２１１はこれ以外の情報を含んでも良い。
【００７５】
図１４はＦＣフレーム２２０とＧｂＥフレーム２１０の一例を示す図である。
【００７６】
ＦＣフレーム２２０には、転送元ＰｏｒｔＩＤ１４１１、転送先ＰｏｒｔＩＤ１４１２、ＲＩＯ領域１４１４、その他ヘッダ情報１４１３が含まれる。ＲＩＯ領域には転送対象のＲＩＯが含まれている。
【００７７】
ＧｂＥフレームには、転送元ＩＰアドレス１４２１、転送先ＩＰアドレス１４２２、ログエントリ領域１４２４、その他ヘッダ情報１４２３が含まれる。ログエントリ領域には転送対象のログエントリが含まれている。
【００７８】
なお、フレームの最大サイズを越えるＲＩＯ若しくはログエントリを転送するため等の理由で、ＲＩＯやログエントリを複数のフレームに分割して送信してもよい。
【００７９】
図１０と図１１は、図９のステップ９０４でペア生成の指示が発行されてから初期化コピーが実施され、ペア状態がＤｕｐｌｅｘに遷移するまでのシステム動作の一例を表すフロー図である。
【００８０】
なお、図９のステップ９０３では、ＲＣＮ設定インターフェースプログラム５０１による設定と、ＲＣＮ設定プログラム５０２によるストレージ接続情報５０３、仮想ストレージ情報４０４、アクセス制御情報４０５、経路情報４０８、ペア情報４１１の更新が完了しているものとする。また、エッジデバイスとコアデバイス２０２は前述の情報を元に仮想ストレージの提供、アクセス制御を開始し、順序保証情報４１３の初期化も完了しているとする。
＜Ｓｉｍｐｌｅｘ状態からＩｎｉｔｉａｌ−Ｃｏｐｙｉｎｇ状態への遷移＞
（１）ホスト１１１は、ボリューム１１３とボリューム１２３がペアとなるよう指示するペア生成指示のＳＣＳＩコマンドを、ソース外部ストレージ１１２に送信する（ステップ１００１）。
（２）ソース外部ストレージ１１２は、ソース側の仮想ストレージ１０６を提供するエッジデバイス１０４へ、ホストから受信したＳＣＳＩコマンド(ペア生成指示)に応じたＲＩＯ（ペア生成）を有するＦＣフレームを送信する（ステップ１００２）。尚、本実施形態においては、ボリューム１２３と仮想ボリューム１０８は同じ識別情報（ＷＷＮとＬＵＮ）で識別される。したがってソース外部ストレージ１１２が前述のＲＩＯ（ペア生成）をソース側エッジデバイス１０４へ送信することによって、ソース側エッジデバイス１０４にボリューム１１３と仮想ボリューム１０８とをペアとするよう指示したことと同様の結果となる。
（３）ソース側エッジデバイス１０４はソース外部ストレージから受信したＲＩＯ(ペア生成)を含むログエントリ（ペア生成）を作成し、これをＧｂＥフレームに格納してターゲット側エッジデバイス１０５へ送信する（ステップ１００３）。
（４）ターゲット側仮想ストレージ１０７を提供しているエッジデバイス１０５は、ログエントリ（ペア生成）を受信すると、ログエントリに含まれるＲＩＯ（ペア生成）を有するＦＣフレームをターゲット外部ストレージ１２２へ送信する。尚、本実施形態においては、ボリューム１１３と仮想ボリューム１０９は各々同じ識別情報（ＷＷＮとＬＵＮ）で識別される。したがって、ターゲット側エッジデバイス１０５にとっては、受信したログエントリ（ペア生成）は、仮想ボリューム１０９とボリューム１２３をペアとするよう指示するログエントリと同様の意味を持つ（ステップ１００４）。
（５）ＲＩＯ（ペア生成）を受信したターゲット外部ストレージ１２２は、ボリューム１１３とボリューム１２３間のペア状態をＩｎｉｔｉａｌ−Ｃｏｐｙｉｎｇに変更する（ステップ１００５）。
（６）ターゲット外部ストレージ１２２は、ターゲット側仮想ストレージ１０７を提供しているエッジデバイス１０５へＩｎｉｔｉａｌ−Ｃｏｐｙｉｎｇ状態への遷移が完了した旨を示すＲＩＯ（Ｉｎｉｔｉａｌ−Ｃｏｐｙｉｎｇ遷移完了（以下、ＩＣＯＫと呼ぶ。））を含むＦＣフレームを送信する（ステップ１００６）。
（７）ＲＩＯ（ＩＣＯＫ）を受信したターゲット側エッジデバイス１０５は、仮想ボリューム１０９とボリューム１２３間のペア状態をＩｎｉｔｉａｌ−Ｃｏｐｙｉｎｇに変更する（ステップ１００７）。
（８）ターゲット側エッジデバイス１０５は、ＲＩＯ（ＩＣＯＫ）を有するログエントリ（ＩＣＯＫ）を作成し、ログエントリ（ＩＣＯＫ）を有するＧｂＥフレームを、ソース側エッジデバイス１０４へ送信する（ステップ１００８）。
（９）ソース側エッジデバイス１０４はボリューム１１３と仮想ボリューム１０８間のペア状態をＩｎｉｔｉａｌ−Ｃｏｐｙｉｎｇに変更する（ステップ１００７）。
（１０）ソース側仮想ストレージ１０６を提供しているエッジデバイス１０４は、受信したログエントリに含まれるＲＩＯ（ＩＣＯＫ）を、ＦＣフレームにてソース外部ストレージ１１２に送信する（ステップ１０１０）。
（１１）ソース外部ストレージ１１２は、ボリューム１１３とボリューム１２３間のペア状態をＩｎｉｔｉａｌ−Ｃｏｐｙｉｎｇに変更する（ステップ１０１１）。
（１２）ソース外部ストレージ１１２は、ホスト１１１へＳＣＳＩコマンド（ＩＣＯＫ）を転送する（ステップ１０１２）。
【００８１】
＜初期化コピー＞
（１３）ソース外部ストレージ１１２からターゲット外部ストレージ１２２への初期化コピーを行う（ステップ１０１３）。初期化コピーの方法は後述する通常運用中の書き込みと同じ動作である。
＜ペア状態のＤｕｐｌｅｘ遷移＞
（１４）ソース外部ストレージ１１２は、ソース側の仮想ストレージ１０６を提供するエッジデバイス１０４へ、ソースボリューム１１３とターゲットボリューム１２３との間のペア状態をDuplex状態へ遷移するよう指示するＲＩＯ（Ｄｕｐｌｅｘ遷移）を、ＦＣフレームの形で送信する（ステップ１１０１）。尚、前述の様に、ターゲットボリューム１２３とソース側のエッジデバイス１０４が提供する仮想ボリューム１０８は同じ識別情報で識別されるので、ソース外部ストレージ１１２が送信するＲＩＯ（Ｄｕｐｌｅｘ遷移）は、ソース側のエッジデバイス１０４にとっては、結果的にソースボリューム１１３と仮想ボリューム１０８との間のペア状態をＤｕｐｌｅｘ状態に遷移するよう指示するＲＩＯということになる。
（１５）ソース側エッジデバイス１０４は、受信したＲＩＯ（Ｄｕｐｌｅｘ遷移）を有するログエントリ（Ｄｕｐｌｅｘ遷移）を作成し、ターゲット側エッジデバイス１０５へログエントリ（Ｄｕｐｌｅｘ遷移）をＧｂＥフレームの形式で送信する（ステップ１１０２）。
（１６）ログエントリ（Ｄｕｐｌｅｘ遷移）を受信した、ターゲット側仮想ストレージ１０７を提供するエッジデバイス１０５は、ログエントリ（Ｄｕｐｌｅｘ遷移）内に含まれるＲＩＯ（Ｄｕｐｌｅｘ遷移）をターゲット外部ストレージ１２２へ転送する（ステップ１１０３）。尚、前述の様に、ソースボリューム１１３とターゲット側のエッジデバイス１０５が提供する仮想ボリューム１０９は同じ識別情報で識別されるので、ターゲットエッジデバイス１０５にとっては、受信したログエントリ（Ｄｕｐｌｅｘ遷移）は、仮想デバイス１０９とターゲットボリューム１２３との間のペア状態をＤｕｐｌｅｘ状態に遷移するよう指示するログエントリ、ということになる。
（１７）ＲＩＯ（Ｄｕｐｌｅｘ遷移）を受信したターゲット外部ストレージ１２２は、ボリューム１１３とボリューム１２３間のペア状態をＤｕｐｌｅｘに変更する（ステップ１１０４）。
（１８）ターゲット外部ストレージ１２２は、ターゲット側仮想ストレージ１０７を提供するエッジデバイス１０５へＤｕｐｌｅｘ状態への遷移完了を報告するＲＩＯ（Ｄｕｐｌｅｘ遷移完了（以下ＤＯＫと呼ぶ。））を送信する（ステップ１１０５）。
（１９）ターゲット側エッジデバイス１０５はＲＩＯ（ＤＯＫ）を受信すると、仮想ボリューム１０９とボリューム１２３間のペア状態をＤｕｐｌｅｘに変更する（ステップ１１０６）。
（２０）さらにターゲット側エッジデバイス１０５は受信したＲＩＯ（ＤＯＫ）を有するログエントリ（ＤＯＫ）をソース側エッジデバイス１０４へ送信する（ステップ１１０７）。
（２１）ログエントリ（ＤＯＫ）を受信したソース側エッジデバイス１０４はボリューム１１３と仮想ボリューム１０８間のペア状態をＤｕｐｌｅｘに変更する（ステップ１１０８）。
（２２）さらにソース側仮想ストレージ１０６を有するエッジデバイス１０４は、受信したログエントリ（ＤＯＫ）中に含まれるＲＩＯ（ＤＯＫ）をソース外部ストレージ１０４へ送信する（ステップ１１０９）。
（２３）ソース外部ストレージ１０３は、ボリューム１１３とボリューム１３２間のペア状態をＤｕｐｌｅｘに変更する（ステップ１１１０）。
【００８２】
図１６は、情報処理システムにおいて、ホストからソース外部ストレージシステムに対してデータの書き込みがあった場合の、コマンド転送処理（すなわち、通常運用中の書き込み処理）の一例を示すタイムラインである。なお、本タイムラインではＦＣやＩＰ（ＵＤＰ，ＴＣＰ）レベルのＡｃｋｎｏｗｌｅｄｇｅＭｅｓｓａｇｅは省略している。
（１）ソース側ホストはデータの書き込みを指示するＳＣＳＩコマンド（書き込み（以下、ＷＲと呼ぶ。））をソース外部ストレージ１１２に送信する（矢印１６０１）。このＳＣＳＩコマンド（ＷＲ）にはデータの書き込み先であるボリューム１１３を指定するための情報（ＷＷＮ（より正確にはPortIDおよびＬＵＮが含まれている。）
（２）ソース外部ストレージ１１２はＳＣＳＩコマンド（ＷＲ）に含まれるＷＷＮおよびＬＵＮに基づいて内部に有するペア情報を参照し、ターゲットストレージのＷＷＮとターゲットＬＵＮを取得する。そして、ソース外部ストレージ１１２は、転送元ＰｏｒｔＩＤ１４１１にソース外部ストレージ１１２のＷＷＮから計算されるＰｏｒｔＩＤ、転送先ＰｏｒｔＩＤ１４１２に取得したＷＷＮから計算されるＰｏｒｔＩＤを有するＦＣフレームを送信する。尚このＦＣフレームにはデータの書き込みを指示するＲＩＯ（ＷＲ）が含まれており、ＲＩＯ（ＷＲ）にはソースボリューム１１３とターゲットボリューム１２３の識別情報（ＷＷＮとＬＵＮ）が含まれている（矢印１６０２）。本実施形態においては前述の様に、ターゲット外部ストレージ１１２のＷＷＮは仮想ストレージ１０６のＷＷＮと等しく、ターゲットボリューム１２３のＬＵＮは仮想ボリューム１０８のＬＵＮと等しいので、ソース外部ストレージ１１２が送信したＲＩＯ（ＷＲ）は仮想ストレージ１０６を提供するソース側エッジデバイス１０４に受信される。
（３）ソース側エッジデバイス１０４はＲＩＯ（ＷＲ）からログエントリ２１１（ＷＲ）を作成すると共に、書き込み完了を報告するＲＩＯ（書き込み完了（以下、ＷＲＯＫと呼ぶ。））をソース外部ストレージ１１２へ送信する（矢印１６０３）。
（４）ＲＩＯ（ＷＲＯＫ）を受信したソース外部ストレージ１１２は、ＳＣＳＩコマンド（ＷＲＯＫ）をソース側ホスト１１１へ送信するする（矢印１６０４）。
（５）ソース側エッジデバイス１０４は、経路情報４０８に従って作成したログエントリ（ＷＲ）をコアデバイス２０２へ送信する（矢印１６０５）。この時、ソース側エッジデバイス１０４は送信が完了したログエントリ（ＷＲ）のコピーをとっておく。
（６）コアデバイス２０２はログエントリ２１１（ＷＲ）を経路情報４０８に従ってターゲット側エッジデバイス１０５へ転送する（矢印１６０６）。
（７）ターゲット側エッジデバイス１０５はログエントリ２１１（ＷＲ）をＲＩＯ（ＷＲ）に変換し、変換後のＲＩＯをターゲット外部ストレージ１２２へ送信する（矢印１６０７）。
（８）ターゲット外部ストレージ１２２は受信したＲＩＯ（ＷＲ）をボリューム１２３に反映させ、ＲＩＯ（ＷＲＯＫ）をターゲット側仮想ストレージ１０７を提供するエッジデバイス１０５へ送信する（矢印１６０８）。
（９）ターゲット側エッジデバイス１０５は、受信したＲＩＯ（ＷＲＯＫ）を有するログエントリ２１１（ＷＲＯＫ）を作成し、経路情報４０８に従って当該ログエントリ２１１をコアデバイス２０２へ送信する（矢印１６０９）。その後、ターゲット側エッジデバイス１０５は当該ログエントリ２１１（ＷＲＯＫ）を削除する。
（１０）コアデバイス２０２は受信したログエントリ２１１（ＷＲＯＫ）を経路情報４０８に従ってソース側エッジデバイス１０４へ転送する（矢印１６１０）。
（１１）ソース側エッジデバイス１０４はログエントリ（ＷＲＯＫ）を受信すると、このログエントリ（ＷＲＯＫ）に対応するログエントリ（ＷＲ）を削除する。
【００８３】
なお、上述の例はコアデバイス２０２を中間で一回経由した場合だが、コアデバイス２０２が無い場合はコアデバイス２０２による転送処理を省略すればよく、コアデバイス２０２が複数ある場合は、コアデバイス２０２間での転送処理を加えればよい。
【００８４】
ターゲット側エッジデバイス１０５若しくはコアデバイス２０２が障害等の理由でログエントリ（WR）を消失した場合は、ソース側エッジデバイス１０４が保持するログエントリ（WR）を再送する。例えば、ソース側エッジデバイス１０４がログエントリ（ＷＲＯＫ）を規定時間内に受信しない場合等に係る再送が実行される。そうした再送でもリモートコピーが継続できない場合（図９のステップ９０８に対応）は、エッジデバイス１０４およびエッジデバイス１０５が外部ストレージ１１２および外部ストレージ１２２に対して障害Ｓｕｓｐｅｎｄ状態への遷移を指示する。この時、ソース側エッジデバイス１０４は、ログ記憶領域に保持しているログエントリ（ＲＷ）をペア情報４１１の差分ビットマップ７２７に変換して保持する。
【００８５】
図１２はＳｕｓｐｅｎｄ状態若しくは障害Ｓｕｓｐｅｎｄ状態からの再同期処理の一例を示した図である。
（０）外部ストレージ１１２は、Ｓｕｓｐｅｎｄ状態または障害Ｓｕｓｐｅｎｄ状態となった後、ボリューム１１３に対する書き込みの更新位置を差分ビットマップ１２１１へ記録する。同様に外部ストレージ１２２は、Ｓｕｓｐｅｎｄ状態若しくは障害Ｓｕｓｕｐｅｎｄ状態となった後にボリューム１２３に対する書き込みがあった場合、更新位置を差分ビットマップ１２１３へ記録する。
（１）ホスト１１１がソース外部ストレージ１１２へ再同期を指示するＳＣＳＩコマンド（再同期）を送信する（データ１２０１）。このＳＣＳＩコマンドには再同期するボリュームペア、即ちソースボリューム１１３とターゲットボリュームの識別情報（ＬＵＮとＷＷＮ）が含まれている。
（２）ソース外部ストレージ１１２は受信したＳＣＳＩコマンド（再同期）に基づいて、ソース側仮想ストレージ１０６を提供するソース側エッジデバイス１０４へＲＩＯ（再同期）を送信する（データ１２０２）。このＲＩＯ（再同期）にも再同期すべきボリュームのペアのＬＵＮとＷＷＮが含まれている。尚、本実施形態においては、ボリューム１２３と仮想ボリューム１０８は同じ識別情報（ＷＷＮとＬＵＮ）で識別される。したがってソース外部ストレージ１１２が前述のＲＩＯ（再同期）をソース側エッジデバイス１０４に送信することによって、ソース側エッジデバイスにボリューム１１３と仮想ボリューム１０８とのペアを再同期するよう指示したことと同様の結果となる。
（３）ソース側エッジデバイス１０４はＲＩＯ（再同期）をこのＲＩＯ（再同期）を有するログエントリ２１１（再同期）へ変換し、コアデバイス２０２へ転送する（データ１２０３）。
（４）コアデバイス２０２はログエントリ２１１（再同期）をターゲット側エッジデバイス１０５へ転送する（データ１２０４）。
（５）ターゲット側仮想ストレージ１０７を提供するターゲット側エッジデバイス１０５は、受信したログエントリ（再同期）をＲＩＯ（再同期）へ変換し、ターゲット側外部ストレージ１２２へ送信する（データ１２０５）。尚、本実施形態においては、ボリューム１１３と仮想ボリューム１０９は同じ識別情報（ＷＷＷとＬＵＮ）で識別される。したがって、ターゲット側エッジデバイスにとっては、ログエントリ（再同期）は、仮想ボリューム１０９とターゲットボリューム１２３との間の再同期指示を意味することとなる。
（６）ターゲット外部ストレージ１２２はＲＩＯ（再同期）を受信すると、自身が有するボリューム１１３とボリューム１２３間のペア状態をＤｕｐｌｅｘ−ｐｅｎｄｉｎｇへ変更する。そしてターゲット外部ストレージ１２２は、ターゲット側仮想ストレージ１０７を提供するエッジデバイス１０５へ、ターゲット外部ストレージ１２２が有する差分ビットマップ１２１３を含むＲＩＯ（Ｄｕｐｌｅｘ−Ｐｅｎｄｉｎｇ遷移完了（以下、ＤＰＯＫと呼ぶ。））を送信する（データ１２０６）。
（７）ターゲット側エッジデバイス１０７は、自身が有するターゲットボリューム１２３と仮想ボリューム１０９間のペア状態をＤｕｐｌｅｘ−ｐｅｎｄｉｎｇへ変更する。更にターゲット側エッジデバイス１０７は、受信したＲＩＯ（ＤＰＯＫ）を含むログエントリ２１１（ＤＰＯＫ）をコアデバイスに送信する（データ１２０７）。
（８）コアデバイス２０２は、受信したログエントリ（ＤＰＯＫ）をソース側エッジデバイス１０４へ転送する（データ１２０８）。
（９）ソース側エッジデバイス１０４は受信したログエントリ(ＤＰＯＫ)中に含まれる差分ビットマップ１２１３と差分ビットマップ７２７を結合し、差分ビットマップ１２０９を作成する。（データ１２０９）。
（１０）ソース側仮想ストレージ１０６を有するソース側エッジデバイス１０４は、自身が有するボリューム１１３と仮想ボリューム１０８間のペア状態をＤｕｐｌｅｘ−ｐｅｎｄｉｎｇへ変更する。更にソース側仮想ストレージ１０６を提供するソース側エッジデバイス１０４は、ソース外部ストレージ１１２へ差分ビットマップ１２０９を含むＲＩＯ（ＤＰＯＫ）を送信する（データ１２１０）。
（１１）ソース外部ストレージ１１２は、差分ビットマップ１２０９と自らが保持していた差分ビットマップ１２１１を結合し、新たな差分ビットマップ１２１１とする（データ１２１１）。
（１２）ソース外部ストレージ１１２は、自身が有するボリューム１１３とボリューム１２３間のペア状態をＤｕｐｌｅｘ−ｐｅｎｄｉｎｇへ変更する。更にソース外部ストレージ１１２は、ホスト１１１へＳＣＳＩコマンド（ＤＰＯＫ）を転送する（データ１２１２）。
（１３）そして、ソース外部ストレージ１１２は差分ビットマップ１２１１に従った差分コピーを開始する。
【００８６】
図１３は通常運用中のソース側サイトが被災し、ターゲット側ホストでフェイルオーバーする時の、ターゲット側のホスト１２１、ターゲット外部ストレージ１２２、ターゲット側エッジデバイス１０５の動作例を示したフロー図である。尚、図１３に示す処理は図９のステップ９１１に対応する。
（１）ターゲット側ホスト１２１は、ソース側のサイト障害を検知する（ステップ１３０１）。なお、検知する契機は、クラスタソフトやターゲット側エッジデバイス１０５や管理サーバー１０３からの通知時が考えられるが、これ以外でもよい。
（２）ターゲット側ホスト１２１は、ターゲット外部ストレージ１２２へＳＣＳＩコマンド（Ｓｕｓｐｅｎｄ指示）を送信する（ステップ１３０２）。このＳＣＳＩコマンドには、ペア状態をＳｕｓｐｅｎｄ状態若しくは障害Ｓｕｓｐｅｎｄ状態へ遷移するボリュームペア、即ちソースボリューム１１３とターゲットボリューム１２３の識別情報（ＷＷＮとＬＵＮ）が含まれる。
（３）ターゲット外部ストレージ１２２は、ターゲット側仮想ストレージ１０７を提供するターゲット側エッジデバイス１０５へ、ＲＩＯ（Ｓｕｓｐｅｎｄ指示）を送信する（ステップ１３０３）。このＲＩＯ（Ｓｕｓｐｅｎｄ指示）にも上述のボリューム１１３およびボリューム１２３の識別情報が含まれる。
（４）ターゲット側エッジデバイス１０５は受信したＲＩＯ（Ｓｕｓｐｅｎｄ指示）を有するログエントリ（Ｓｕｓｐｅｎｄ指示）を作成し、ソース側エッジデバイス１０４へログエントリ２１１（Ｓｕｓｐｅｎｄ指示）を送信する（ステップ１３０４）。ソース側エッジデバイス１０４は当該ログエントリを受け取った時、以下の処理を実行する。
（Ａ）まずソース側エッジデバイス１０４は、ボリューム１１３およびボリューム１２３（ソース側エッジデバイスにとっては仮想ボリューム１０８である。）のペアに関する全てのログエントリ２１１を他のコアデバイス２０２またはエッジデバイスへ転送する。
（Ｂ）次に、ソース側エッジデバイス１０４は、ボリューム１１３および仮想ボリューム１０８間に関するペア状態を障害Ｓｕｓｐｅｎｄへ変更する。尚、前述の様に本実施形態では、仮想ボリューム１０８とターゲットボリューム１２３は同じ識別情報（ＷＷＮおよびＬＵＮ）で識別されるので、前述のログエントリ（Ｓｕｓｐｅｎｄ指示）を受信したソース側エッジデバイス１０４は、このログエントリ（Ｓｕｓｐｅｎｄ指示）をソースボリューム１１３と仮想ボリューム１０８間のペア状態を障害Ｓｕｓｐｅｎｄへ変更するよう指示するものだと解釈する。
（Ｃ）そして、ソース側エッジデバイス１０４は、ペア状態が障害Ｓｕｓｐｅｎｄに遷移した旨の報告である、ログエントリ（Ｓｕｓｐｅｎｄ遷移完了（以下、ＳＯＫと呼ぶ。））を作成し、ターゲット側エッジデバイス１０５へ送信する。
（５）ターゲット側エッジデバイス１０５はタイマー値をリセットする（ステップ１３０５）。
（６）ターゲット側エッジデバイス１０５は、現在のタイマー値がタイムアウト設定値を越えている場合は、ステップ１３１０に進み、そうでなければステップ１３０７に進む（ステップ１３０６）。
（７）ターゲット側エッジデバイス１０５は、他のエッジデバイスやコアデバイス２０２から転送されるログエントリ２１１を受信し、受信したログエントリ２１１がソース側エッジデバイス１０４からのログエントリ（ＳＯＫ）かどうかを確認する（ステップ１３０７、１３０８）。もし、そうであればステップ１３１０に進み、そうでなければステップ１３０９に進む。なお、ステップ１３０８でステップ１３１０へ遷移する条件として、「ログエントリ（ＳＯＫ）の欠落がない」を加えても良い。
（８）ターゲット側エッジデバイス１０５は、受信したログエントリ内のI/O時間とシーケンシャル番号を参照して、ライトデータのライト順序の関係を守りつつ、受信したログエントリ２１１をＲＩＯへ変換し、ターゲット外部ストレージへRIOを送信する（ステップ１３０９）。その後に、ステップ１３０６へ戻る。なお、転送されたＲＩＯはターゲット外部ストレージ１２２のボリューム１２３に反映される。
（９）ターゲット側エッジデバイス１０５は、ターゲットボリューム１２３と仮想ボリューム１０９間のペア状態を障害Ｓｕｓｐｅｎｄに変更した後に、ターゲット外部ストレージ１２２へＲＩＯ（ＳＯＫ）を送信する（ステップ１３１０）。RIO（SOK）を受け取ったターゲット外部ストレージ１２２は、ターゲットボリューム１２３とソースボリューム１１３の間のペア状態を障害Ｓｕｓｐｅｎｄに変更した後に、ターゲット側ホスト１２１へステップ１３０２に対するＳＣＳＩコマンド（ＳＯＫ）を転送する（ステップ１３１１）。
（１０）ターゲット側ホスト１２１は、ターゲット外部ストレージ１２２内のボリューム１２３を用いてアプリケーションプログラムによる処理を再開する（ステップ１３１２）。
【００８７】
なお、本手順の変形として、ステップ１３０３の直後にステップ１３１０、１３１１、１３１２を実行して、障害Ｓｕｓｐｅｎｄへの遷移を迅速に行う方法がある。この場合、ターゲット外部ストレージ１０５がＲＩＯ（ＳＯＫ）を送信した後もリモートコピーネットワーク１０１にログエントリ２１１が残っている。この場合、ＲＣＮ設定インターフェースプログラム５０１を用いて、ＲＣＮから残存ログエントリの有無を取得することで、問題を解決する。また、もしターゲット外部ストレージ１２２が、障害Ｓｕｓｐｅｎｄへの遷移完了後に、ＲＣＮがログエントリとして保持していたライトデータをターゲットボリューム１２３に反映するためのＲＩＯ（ＷＲ）を受け付けない場合は、これらのライトデータをＳＣＳＩコマンド（ＷＲ）を用いて反映してもよい。
【００８８】
図１９は通常運用中にソースボリューム１１３に対する書き込み（ＷＲ）が行われた時の、ソース側エッジデバイス１０４の処理の一例を示すフロー図である。
（１）仮想ストレージ提供プログラム４０３は、ホストからソース外部ストレージに書き込まれたライトデータを有するＲＩＯ（ＷＲ）含んだＦＣフレーム２２０を、ソース外部ストレージから受信し、ログエントリ生成・反映プログラム４０６へ渡す（ステップ１９０１）。ＦＣフレームの受信は、ＲＩＯプロトコルスタック４０２とＦＣプロトコルスタック４０１を通じて行われる。ログエントリ生成・反映プログラム４０６へ渡すデータは、転送元ＰｏｒｔＩＤ１４１１から変換した転送元ＷＷＮ、転送先ＰｏｒｔＩＤ１４１２から変換した転送先ＷＷＮとＲＩＯ領域１４１４に含まれるＲＩＯである。
（２）ログエントリ生成・反映プログラム４０６は、ステップ１９０１で渡されたデータを元に、ログ記憶領域４１３へログエントリ（ＷＲ）を作成する（ステップ１９０２）。ログエントリ（ＷＲ）には以下の（Ａ）〜（Ｅ）に示す値が登録される。
（Ａ）「ターゲットストレージＷＷＮとＬＵＮ」８０１としてステップ１９０１で渡された転送先ＷＷＮとＲＩＯ（ＷＲ）に含まれるリモートコピーのターゲットＬＵＮ。
（Ｂ）「ソースストレージＷＷＮとＬＵＮ」８０２としてステップ１９０１で渡された転送元ＷＷＮと、ペア情報４１１を参照して得られるソースＬＵＮ７２２。尚、ソースＬＵＮは、ペア情報４１１において、ソースストレージＷＷＮ７２１が転送元ＷＷＮ、ターゲットトレージＷＷＮ７２３が転送先ＷＷＮ、ターゲットＬＵＮ７２４がＲＩＯ（ＷＲ）に含まれるリモートコピーのターゲットＬＵＮという条件をキーにソースＬＵＮ７２２を検索することにより得ることができる。
（Ｃ）順序保証ＩＤ８０１として（Ａ）と（Ｂ）の情報に対応するペア情報４１１中の順序保証ＩＤ７２６
（Ｄ）「Ｉ／Ｏ時間とシーケンシャル番号」８０４としてソース側エッジデバイス１０４の現在時刻と、（Ｃ）で求めた順序保証ＩＤの値に対応する順序保証情報４１２のログ生成カウンタ値７３１
（Ｅ）ＲＩＯ領域８０５に格納されるデータとして、ステップ１９０１で渡されたＲＩＯ（ＷＲ）
（３）次にソース側エッジデバイス１０４はステップ１９０２で用いた順序保証情報４１２のログ生成カウンタ値７３１を１インクリメントする（ステップ１９０３）。
（４）仮想ストレージ提供プログラム４０３は、ソース外部ストレージ１１２へライト処理の完了を通知するためのＲＩＯ（ＷＲＯＫ）を送信する（ステップ１９０４）。
（５）そして、ソース側エッジデバイスは、ログエントリ（ＷＲ）の転送先となるエッジデバイスまたはコアデバイス２０２を決定する（ステップ１９０５）。そして転送先が決定すると、転送先のＩＰアドレスを取得する。尚、転送先の決定とＩＰアドレスの取得は以下の（Ａ）（Ｂ）に示す手順で行われる。
（Ａ）まずソース側エッジデバイスは、ステップ１９０２で求めた転送元ＷＷＮと転送先ＷＷＮに対応する経路情報４０８の通過経路７１３（ＩＰアドレスのリストである）を取得する。
（Ｂ）次に（Ａ）で取得したリストから、ソース側エッジデバイス１０４が有するＩＰアドレスの次のＩＰアドレスを選択し、これを転送先のＩＰアドレスとする。
（６）ログエントリ転送プログラム４０７は、ステップ１９０２で生成したログエントリ２１１（ＷＲ）を、ステップ１９０５で求めたＩＰアドレスに対して送信する（ステップ１９０６）。転送は、ログ転送プロトコルスタック４０９とＩＰプロトコルスタック４１０とが共同で実行する。
（７）ログエントリ転送プログラム４０７は、コアデバイス２０２やターゲット側エッジデバイス１０５からのログエントリ（ＷＲＯＫ）を受信し、ログ記憶領域４１３へ保存する（ステップ１９０７）。なお、ログエントリ（ＷＲＯＫ）のシーケンシャル番号８０４には、ステップ１９０６で送信したログエントリ（ＷＲ）と同じシーケンシャル番号８０４が入っている。
（８）ログエントリ転送プログラム４０７は、ログ記憶領域４１３内に保存されているログエントリ（ＷＲ）と、これに対応するログエントリ２１１（ＷＲＯＫ）を削除する（ステップ１９０８）。尚ログエントリ（ＷＲ）とログエントリ（ＷＲＯＫ）との対応関係はログエントリ内の順序保証ＩＤとシーケンシャル番号の対応関係を参照すれば（即ち順序保証ＩＤとシーケンシャル番号が一致するか否かを調べれば）分かる。
（９）ステップ１９０７でソース側エッジデバイスは、削除したログエントリ（ＷＲ）から予め順序保証ＩＤ８０３とシーケンシャル番号８０４を取り出しておき、これに対応した順序保証情報４１２のログ削除カウンタ値７３３をインクリメントする（ステップ１９０９）。
【００８９】
図２０は通常運用中に、ホストからソースボリューム１１３に対する書き込み（ＷＲ）が行われた時のターゲット側エッジデバイス１０５の処理の一例を示すフロー図である。
（１）ターゲット側エッジデバイス１０５のログエントリ転送プログラム４０７は、ログ転送プロトコルスタック４０７とＩＰプロトコルスタック４１０を通じて、ログエントリ（ＷＲ）を受信し、ログ記憶領域４１３へ保存する（ステップ２００１、２００２）。
（２）ログエントリ生成・反映プログラム４０６は、ログ記憶領域４１３から順序関係を守って反映可能なログエントリ（ＷＲ）を検索する（ステップ２００３）。検索は、ログエントリに含まれる順序保証ＩＤ毎に、順序保証情報４１３のログ反映カウンタ７３３の値をインクリメントした値と同じ値のシーケンシャル番号を持つログエントリ（ＷＲ）を探すことで行われる。
（３）ログエントリ生成・反映プログラム４０６は、ステップ２００３で検索したログエントリ（ＷＲ）をＲＩＯ（ＷＲ）へ変換する（ステップ２００４）。変換は、ログエントリのＲＩＯ領域８０５からＲＩＯを取り出すことで行われる。
（４）仮想ストレージ提供プログラム４０３は、ステップ２００４で変換したＲＩＯ（ＷＲ）を、ターゲット外部ストレージ１２２へ送信する（ステップ２００５）。
（５）仮想ストレージ提供プログラム４０３は、ターゲット外部ストレージ１２２からのＲＩＯ（ＷＲＯＫ）を受信する（ステップ２００６）。
（６）ログエントリ生成・反映プログラム４０６は、ステップ２００３で検索したログエントリ（ＷＲ）から順序保証ＩＤ８０３とシーケンシャル番号８０４を取り出し、対応する順序保証情報４１２のログ反映カウンタ値７３３をインクリメントする（ステップ２００７）。また、現在時刻と反映したログエントリ（ＷＲ）のＩ／Ｏ時間８０４の差分を順序保証情報４１３の反映遅れ時刻７３５に登録する。
（７）ログエントリ生成・反映プログラム４０６は、受信したRIO(WROK)を有するログエントリ（ＷＲＯＫ）をログ記憶領域４１３へ作成する（ステップ２００８）。ログエントリには以下の（A）から（E）に示す値を登録する。
（Ａ）「ターゲットストレージＷＷＮとＬＵＮ」８０１としてステップ２００３で検索の結果選択したログエントリ（ＷＲ）の「ソースストレージＷＷＮとＬＵＮ」８０２
（Ｂ）「ソースストレージＷＷＮとＬＵＮ」８０２としてステップ２００３で取得したログエントリ（ＷＲ）の「ターゲットストレージＷＷＮとＬＵＮ」８０１
（Ｃ）順序保証ＩＤ８０１としてステップ２００３で取得したログエントリ２１１（ＷＲ）の順序保証ＩＤ８０１
（Ｄ）「Ｉ／Ｏ時間とシーケンシャル番号」８０４としてステップ２００３で取得したログエントリ（ＷＲ）の「Ｉ／Ｏ時間とシーケンシャル番号」８０４
（Ｅ）ＲＩＯ領域８０５としてステップ２００６で受信したＲＩＯ（ＷＲＯＫ）
（８）ログエントリ転送プログラム４０７は、ログエントリ（ＷＲＯＫ）の転送先となるコアデバイス２０２またはソース側エッジデバイス１０４を経路情報を参照して決定する（ステップ２００９）。尚、転送先の決定は前述のステップ１９０５と同様である。
（９）ログエントリ転送プログラム４０７は、ログ転送プロトコルスタック４０９とＩＰプロトコルスタック４１０を通じて、ステップ２００８にて作成したログエントリ（ＷＲＯＫ）をステップ２００９で決定したＩＰアドレスに対して送信する（ステップ２０１０）。
（１０）ログエントリ生成・反映プログラム４０６は、ステップ２００３にて選択したログエントリ（WR）と、ステップ２００８にて作成したログエントリ（WROK）をログ記憶領域４１３から削除する（ステップ２０１１）。
【００９０】
図１７と図１８はペア生成中のソース側エッジデバイス１０４の処理の一例を示した図である。
（１）仮想ストレージ提供プログラム４０３は、ＲＩＯ（ペア生成）を受信する（ステップ１７０１）。なお、ＲＩＯ（ペア生成）には、ソース外部ストレージ１１２のＷＷＮ、ソース側ボリューム１１３のＬＵＮ、ターゲット外部ストレージ１２２のＷＷＮ、ターゲット側ボリューム１２３のＬＵＮが含まれる。
（２）仮想ストレージ提供プログラム４０３は、受信したＲＩＯ（ペア生成）を元に、生成するペアに関するソースとターゲットの情報等を、ペア情報４１１に記録する（ステップ１７０２）。その際、ペア状態７２５はＳｉｍｐｌｅｘに更新する。
（３）ログエントリ生成・反映プログラム４０６は、ＲＩＯ（ペア生成）を有するログエントリ（ペア生成）をログ記憶領域４１３に作成する（ステップ１７０３）。ログエントリの作成方法は図１９のステップ１９０２と同じである。
（４）ログエントリ生成・反映プログラム４０６は、順序保証情報４１２のログ生成カウンタ値７３２をインクリメントする（ステップ１７０４）。
（５）ログエントリ転送プログラム４０７は、ログエントリ（ペア生成）の送信先となるコアデバイス２０２またはエッジデバイスを決定する（ステップ１７０５）。送信先の決定方法は、図１９のステップ１９０５と同じである。
（６）ログエントリ転送プログラム４０７は、ステップ１７０３にて作成したログエントリ（ペア生成）をステップ１７０５で決定したＩＰアドレスに対して送信する（ステップ１７０６）。
（７）ログエントリ転送プログラム４０７は、コアデバイス２０２またはエッジデバイス１０５からのログエントリ（Ｉｎｉｔｉａｌ−Ｃｏｐｙｉｎｇ遷移完了（以下、ＩＣＯＫと呼ぶ。））を受信する（ステップ１７０７）。このログエントリ（ＩＣＯＫ）には、ソース外部ストレージ１１２のＷＷＮ、ソース側ボリューム１１３のＬＵＮ、ターゲット外部ストレージ１２２のＷＷＮ、ターゲット側ボリューム１２３のＬＵＮが含まれる。
（８）ソース側エッジデバイスは、受信したログエントリ（ＩＣＯＫ）内のボリュームペアに関する情報に基づいて、ペア情報４１１内の対応するペアのペア状態７２５をＩｎｉｔｉａｌ−Ｃｏｐｙｉｎｇに更新する（ステップ１７１１）。
（９）仮想ストレージ提供プログラム４０３は、受信したログエントリ（ＩＣＯＫ）からＲＩＯ（ＩＣＯＫ）を抽出し、ソース外部ストレージ１１２へ送信する（ステップ１７０８）。
（１０）ログエントリ生成・反映プログラム４０６は、ステップ１７０７で受信したログエントリ（ＩＣＯＫ）と、このログエントリ（ＩＣＯＫ）と同じペアに関するログエントリ（ペア生成）を、ログ記憶領域４１３から削除する（ステップ１７０９）。
（１１）ログエントリ生成・反映プログラム４０６は順序保証情報４１３のログ削除カウンタ値７３４をインクリメントする（ステップ１７１０）。
（１２）そして、ソース側エッジデバイス１０４は、初期化コピー処理を開始する（ステップ１８０１）。本ステップの処理は通常運用のデータコピーと同じである。
（１３）仮想ストレージ提供プログラム４０３は、ＲＩＯ（Ｄｕｐｌｅｘ遷移）を受信する（ステップ１８０２）。ＲＩＯ（Ｄｕｐｌｅｘ遷移）には、ソース外部ストレージ１１２のＷＷＮ、ソース側ボリューム１１３のＬＵＮ、ターゲット外部ストレージ１２２のＷＷＮ、ターゲット側ボリューム１２３のＬＵＮが含まれる。
（１４）ログエントリ生成・反映プログラム４０６は、受信したＲＩＯ（Ｄｕｐｌｅｘ遷移）からログエントリ（Ｄｕｐｌｅｘ遷移）をログ記憶領域４１３に作成する（ステップ１８０３）。ログエントリ２１１の作成方法は図１９のステップ１９０２と同じである。
（１５）ログエントリ生成・反映プログラム４０６は、順序保証情報４１２のログ生成カウンタ値７３２をインクリメントする（ステップ１８０４）。
（１６）ログエントリ転送プログラム４０７は、ログエントリ（Ｄｕｐｌｅｘ遷移）の転送先となるコアデバイス２０２またはエッジデバイスを決定する（ステップ１８０５）。決定方法は、図１９のステップ１９０５と同じである。
（１７）ログエントリ転送プログラム４０７は、ステップ１８０３にて作成したログエントリ（Ｄｕｐｌｅｘ遷移）をステップ１８０５で決定したＩＰアドレスに対して送信する（ステップ１８０６）。
（１８）ログエントリ転送プログラム４０７は、コアデバイス２０２またはエッジデバイス１０５からのログエントリ（Ｄｕｐｌｅｘ遷移完了（以下、ＤＯＫと呼ぶ。））を受信する（ステップ１８０７）。このログエントリ（ＤＯＫ）には、ソース外部ストレージ１１２のＷＷＮ、ソース側ボリューム１１３のＬＵＮ、ターゲット外部ストレージ１２２のＷＷＮ、ターゲット側ボリューム１２３のＬＵＮが含まれる。
（１９）ソース側エッジデバイスは、受信したログエントリ（ＤＯＫ）内のボリュームペアに関する情報に基づいて、このボリュームペアに対応するペア情報４１１のペア状態７２５をＤｕｐｌｅｘに更新する（ステップ１８１１）。
（２０）仮想ストレージ提供プログラム４０３は、受信したログエントリ（ＤＯＫ）からＲＩＯ（ＤＯＫ）を抽出し、ソース外部ストレージ１１２へこのＲＩＯ（ＤＯＫ）を送信する（ステップ１８０８）。
（２１）ログエントリ生成・反映プログラム４０６は、ステップ１８０７で受信したログエントリ（ＤＯＫ）と、このログエントリ（ＤＯＫ）と同じペアに関するログエントリ（Ｄｕｐｌｅｘ遷移）をログ記憶領域４１３から削除する（ステップ１８０９）。
（２２）ログエントリ生成・反映プログラム４０６は順序保証情報４１３のログ削除カウンタ値７３４をインクリメントする（ステップ１８１０）。
【００９１】
図２１と図２２はペア生成中のターゲット側エッジデバイス１０５の処理の一例を示した図である。
（１）ログエントリ転送プログラム４０７は、ログエントリ（ペア生成）を受信する（ステップ２１０１）。このログエントリ（ペア生成）には生成すべきペアを識別するための情報（即ちターゲット側のＷＷＮとＬＵＮ、ソース側のＷＷＮとＬＵＮ）が含まれる。
（２）ログエントリ生成・反映プログラム４０６は、受信したログエントリ（ペア生成）をログ記憶領域４１３に記憶する（ステップ２１０２）。
（３）仮想ストレージ提供プログラム４０３は、ステップ２１０２で受信したログエントリ（ペア生成）を元に、生成するペアを、ペア情報４１１へ登録する（ステップ２１０３）。その際、ペア状態７２５はＳｉｍｐｌｅｘに更新する。
（４）ログエントリ生成・反映プログラム４０６は、ログエントリ（ペア生成）をＲＩＯ（ペア生成）へ変換する（ステップ２１０４）。
（５）仮想ストレージ提供プログラム４０３は、ステップ２１０４で変換したＲＩＯ（ペア生成）を、ターゲット外部ストレージ１２２へ送信する（２１０５）。
（６）仮想ストレージ提供プログラム４０３は、ターゲット外部ストレージ１２２からのＲＩＯ（Ｉｎｉｔｉａｌ−Ｃｏｐｙｉｎｇ遷移完了（以下、ＩＣＯＫと呼ぶ。））を受信する（ステップ２１０６）。このＲＩＯ（ＩＣＯＫ）には、ペアを識別するための情報が含まれる。
（７）ログエントリ生成・反映プログラム４０６は、受信したＲＩＯ（ＩＣＯＫ）が示すペアに対応する順序保証情報４１２のログ反映カウンタ値をインクリメントする。また、現在時刻と受信したＲＩＯ（ＩＣＯＫ）と同じペアに関するログエントリ（ペア生成）のＩ／Ｏ時間８０４の差分を順序保証情報４１３の反映遅れ時刻７３５に登録する。（ステップ２１０７）。
（８）更にターゲット側エッジデバイスは、受信したＲＩＯ（ＩＣＯＫ）が示すペアについて、ペア情報４１１のペア状態７２５をＩｎｉｔｉａｌ−Ｃｏｐｙｉｎｇに更新する（ステップ２１０８）。
（９）ログエントリ生成・反映プログラム４０６は、受信したＲＩＯ（ＩＣＯＫ）を含むログエントリ（ＩＣＯＫ）をログ記憶領域４１３へ作成する（ステップ２１０９）。ログエントリの作成方法は図２０のステップ２００８と同じである。
（１０）ログエントリ転送プログラム４０７は、ログエントリ（ＩＣＯＫ）の転送先となるコアデバイスまたはエッジデバイスのＩＰアドレスを決定する（ステップ２１１０）。
（１１）ログエントリ転送プログラム４０７は、ステップ２１０９にて作成したログエントリをステップ２１１０で決定したＩＰアドレスに対して送信する（ステップ２１１１）。
（１２）ログエントリ生成・反映プログラム４０６は、ステップ２１０９で作成したログエントリ（ＩＣＯＫ）と、このログエントリ（ＩＣＯＫ）と同じペアに関するログエントリ（ペア生成）とをログ記憶領域４１３から削除する（ステップ２１１２）。
（１３）ターゲット側エッジデバイスは、初期化コピーを行う（ステップ２２０１）。本ステップの動作は通常運用のデータコピーと同じである。
（１４）ログエントリ転送プログラム４０７は、ログエントリ（Ｄｕｐｌｅｘ遷移）を受信する（ステップ２２０２）。
（１５）ログエントリ生成・反映プログラム４０６は、ログエントリ（Ｄｕｐｌｅｘ遷移）をログ記憶領域４１３に記憶する（ステップ２２０３）。
（１６）ログエントリ生成・反映プログラム４０６は、ログエントリ（Ｄｕｐｌｅｘ遷移）をＲＩＯ（Ｄｕｐｌｅｘ遷移）へ変換する（ステップ２２０４）。
（１７）仮想ストレージ提供プログラム４０３は、ステップ２２０４で変換したＲＩＯ（Ｄｕｐｌｅｘ遷移）を、ターゲット外部ストレージ１２２へ送信する（２２０５）。
（１８）仮想ストレージ提供プログラム４０３は、ターゲット外部ストレージ１２２からＲＩＯ（Ｄｕｐｌｅｘ遷移完了（以下、ＤＯＫと呼ぶ。））を受信する（ステップ２２０６）。
（１９）ログエントリ生成・反映プログラム４０６は、受信したＲＩＯ（ＤＯＫ）が示すボリュームペアに関する順序保証情報４１２のログ反映カウンタ値をインクリメントする。また、現在時刻と受信したＲＩＯ（ＤＯＫ）と同じペアに関するログエントリ（Ｄｕｐｌｅｘ遷移）のＩ／Ｏ時間８０４の差分を順序保証情報４１３の反映遅れ時刻７３５に登録する。（ステップ２２０７）。
（２０）ターゲット側エッジデバイスは、受信したＲＩＯ（ＤＯＫ）が示すボリュームペアについて、ペア情報４１１のペア状態７２５をＤｕｐｌｅｘに更新する（ステップ２２０８）。
（２１）ログエントリ生成・反映プログラム４０６は、受信したＲＩＯ（ＤＯＫ）を有するログエントリ（ＤＯＫ）をログ記憶領域４１３へ作成する（ステップ２２０９）。
（２２）ログエントリ転送プログラム４０７は、ログエントリ２１１（ＤＯＫ）の転送先となるコアデバイスまたはエッジデバイスのＩＰアドレスを決定する（ステップ２２１０）。
（２３）ログエントリ転送プログラム４０７は、ステップ２２０９にて作成したログエントリ２１１をステップ２２１０で決定したＩＰアドレスに対して送信する（ステップ２２１１）。
（１２）ログエントリ生成・反映プログラム４０６は、ステップ２２０９で作成したログエントリ（ＤＯＫ）と、このログエントリ（ＤＯＫ）と同じペアに関するログエントリ（Ｄｕｐｌｅｘ遷移）をログ記憶領域４１３から削除する（ステップ２１１２）。
【００９２】
以上の実施形態によれば、ソース外部ストレージとターゲット外部ストレージには、エッジデバイスやコアデバイスの存在を意識させることなく、直接両ストレージ間でリモートコピー処理を実行しているかのように認識させながら、ＲＣＮ内のエッジデバイス及びコアデバイスによってソース外部ストレージからターゲット外部ストレージへデータを中継することにより、リモートコピー処理を実行することができる。
【００９３】
次に、上述の実施形態の変形例について説明する。
【００９４】
図２はこの変形例に関する情報処理システムの一例を示す図である。
【００９５】
第一の実施例との相違は、仮想ストレージ１０６のＷＷＮが外部ストレージ１２２のＷＷＮとは異なり、仮想ストレージ１０７のＷＷＮが外部ストレージ１１２のＷＷＮとは異なることである。
【００９６】
管理サーバー１０３のＲＣＮ設定プログラム５０２は、上述の実施形態に加えて、仮想ストレージ１０６及び仮想ストレージ１０７のＷＷＮを決定する。決定は、当該プログラム内部で行っても良いし、エッジデバイス１０４若しくはエッジデバイス１０５から情報を受け取って決定してもよい。
【００９７】
ＲＣＮ設定インターフェースプログラム５０１は、上述の実施形態に加えて、ホスト１１１にＲＣＮ設定プログラム５０２が決定した仮想ストレージ１０６のＷＷＮを、ホスト１２１にＲＣＮ設定プログラム５０２が決定した仮想ストレージ１０７のＷＷＮを送信する。したがって、ホスト１１１がソースボリューム１１３とターゲットボリューム１２３のボリュームペアに関するＳＣＳＩコマンドを送信する場合には、本変形例では、ソースボリューム１１３と仮想ボリューム１０８を識別するための情報として、ソース外部ストレージのＷＷＮとソースボリュームのＬＵＮ、仮想ストレージ１０６のＷＷＮと仮想ボリューム１０８のＬＵＮ（仮想ボリューム１０８のＬＵＮはターゲットボリューム１２３のＬＵＮと同じ値であるものとする。尚本発明はこの例には限られない。）を使用する。
【００９８】
エッジデバイスの仮想ストレージ提供プログラム４０３は、前述の実施形態に加えて、ＲＩＯの送信・受信をするときに、仮想ストレージ情報４０４を用いて以下の変換を行う。
（Ａ）ソース側エッジデバイス１０４がＦＣフレームを受信した場合は、ＦＣフレーム２２０の転送先ＰｏｒｔＩＤ１４１２から得られるＷＷＮを、ソース側仮想ストレージ１０６のＷＷＮから、ターゲット側外部ストレージ１２２のＷＷＮに変更する。
（Ｂ）ターゲット側エッジデバイス１０５がＦＣフレームを受信した場合は、ＦＣフレーム２２０の転送先ＰｏｒｔＩＤ１４１２から得られるＷＷＮを、ターゲット側仮想ストレージ１０７のＷＷＮから、ソース側外部ストレージ１１２のＷＷＮに変更する。
（Ｃ）ソース側エッジデバイス１０４がＦＣフレームを送信する場合は、ログエントリ２１１のターゲットストレージＷＷＮをソース仮想ストレージのＷＷＮに変換し、変換後のソース仮想ストレージのＷＷＮから計算されるＰｏｒｔＩＤをＦＣフレームの転送元ＰｏｒｔＩＤとする。
（Ｄ）ターゲット側エッジデバイス１０５がＦＣフレームを送信する場合は、ログエントリ２１１のソースストレージＷＷＮをターゲット仮想ストレージのＷＷＮに変換し、変換後のターゲット仮想ストレージのＷＷＮから計算されるＰｏｒｔＩＤをＦＣフレームの転送元ＰｏｒｔＩＤとする。
【００９９】
更に、他の変形例として、外部ストレージとエッジデバイスとの接続をＩＰネットワークにて行うことが考えられる。この場合、ＦＣインターフェース３１４はＩＰネットワークに接続可能なインターフェースとなり、ＦＣプロトコルスタック４０１はＩＰプロトコルスタック４１０と同じになる。この時、下記の情報中のＷＷＮについては、ＷＷＮに代わってＭＡＣアドレス若しくはＩＰアドレスが使用される。
（Ａ）ストレージ接続情報５０３
（Ｂ）仮想ストレージ情報４０４
（Ｃ）アクセス制御情報４０５
（Ｄ）経路情報４０８
（Ｅ）ペア情報４１１
（Ｆ）ログエントリ２１１
また、各プログラムもＷＷＮを使用して処理していたプロセスは、ＷＷＮに代わり、ＩＰアドレス若しくはＭＡＣアドレスを用いて処理する。
【図面の簡単な説明】
【０１００】
【図１】リモートコピーが実行される情報処理システムの一例を示す図である。
【図２】リモートコピーが実行される情報処理システムの変形例を示す図である。
【図３】エッジデバイス、コアデバイス、及び管理サーバのハードウェア構成の一例を示す図である。
【図４】エッジデバイス若しくはコアデバイスによって実行されるプログラムの一例を示す図である。
【図５】管理サーバが有する情報、プログラムの一例を示す図である。
【図６】管理サーバ、エッジデバイス、若しくはコアデバイスで用いられる情報の一例を示す図である。
【図７】管理サーバ、エッジデバイス、若しくはコアデバイスで用いられる情報の一例を示す図である。
【図８】ログエントリの一例を示す図である。
【図９】リモートコピーネットワークを利用したリモートコピー処理の一例を示す図である。
【図１０】情報処理システムにおける、ペア生成処理、初期コピー処理の一例を示す図である。
【図１１】情報処理システムにおける、初期コピー処理、Ｄｕｐｌｅｘ状態への遷移処理の一例を示す図である。
【図１２】Ｓｕｓｐｅｎｄ状態若しくは障害Ｓｕｓｐｅｎｄ状態からの再同期処理の一例を示す図である。
【図１３】フェイルオーバ時の処理の一例を示す図である。
【図１４】ＦＣフレームとＧｂＥフレームの一例を示す図である。
【図１５】ログ記憶領域の一例を示す図である。
【図１６】ホストからソース外部ストレージシステムにデータが書き込まれた場合における処理の一例を示す図である。
【図１７】ペア生成中のソース側エッジデバイスの処理の一例を示す図である。
【図１８】ペア生成中のソース側エッジデバイスの処理の一例を示す図である。
【図１９】通常運用中のソース側エッジデバイスの処理の一例を示す図である。
【図２０】通常運用中のターゲット側エッジデバイスの処理の一例を示す図である。
【図２１】ペア生成中のターゲット側エッジデバイスの処理の一例を示す図である。
【図２２】ペア生成中のターゲット側エッジデバイスの処理の一例を示す図である。
【符号の説明】
【０１０１】
１０１・・・リモートコピーネットワーク（ＲＣＮ）
１０３・・・管理サーバ
１０４・・・ソース側エッジデバイス
１０５・・・ターゲット側エッジデバイス
１０６・・・ソース側仮想ストレージ
１０７・・・ターゲット側仮想ストレージ
１０８・・・ソース側仮想ボリューム
１０９・・・ターゲット側仮想ボリューム
１１１・・・ソース側ホスト
１１２・・・ソース外部ストレージ
１１３・・・ソースボリューム
１２１・・・ターゲット側ホスト
１２２・・・ターゲット外部ストレージ
１２３・・・ターゲットボリューム
２０２・・・コアデバイス
【図１】
2005157712.tif 000003
【図２】
2005157712.tif 000004
【図３】
2005157712.tif 000005
【図４】
2005157712.tif 000006
【図５】
2005157712.tif 000007
【図６】
2005157712.tif 000008
【図７】
2005157712.tif 000009
【図８】
2005157712.tif 000010
【図９】
2005157712.tif 000011
【図１０】
2005157712.tif 000012
【図１１】
2005157712.tif 000013
【図１２】
2005157712.tif 000014
【図１３】
2005157712.tif 000015
【図１４】
2005157712.tif 000016
【図１５】
2005157712.tif 000017
【図１６】
2005157712.tif 000018
【図１７】
2005157712.tif 000019
【図１８】
2005157712.tif 000020
【図１９】
2005157712.tif 000021
【図２０】
2005157712.tif 000022
【図２１】
2005157712.tif 000023
【図２２】
2005157712.tif 000024