(57)【要約】【課題】非同期リモートコピー先において、副ボリュームを利用できるようにする。【解決手段】  メインストレージシステム２０Ｐの仮想テープが更新されると、ジャーナルデータが作成される。ジャーナルデータは、メインサイト１Ｐ内のコンピュータ１０Ｐからライトデータを受信するタイミングとは非同期で、ＤＲストレージシステム２０Ｓに送信される。ジャーナルデータには、更新の開始を通知するマーカと、更新の終了を通知するマーカとが含まれる。ＤＲストレージシステム２０Ｓは、更新開始から更新終了までの間、コピー先データの利用を禁止し、それ以外の期間でコピー先データの参照を許可する。【選択図】図１
2011008391.tif 000002
【特許請求の範囲】
【請求項１】
第１コンピュータと、該第１コンピュータに接続される第１ストレージシステムと、前記第１ストレージシステムに接続される第２ストレージシステムと、該第２ストレージシステムに接続される第２コンピュータとを含むコンピュータシステムにより実行される、リモートコピー方法であって、
前記第１ストレージシステムは、前記第１コンピュータにアクセスされる第１論理ボリュームを形成し、
前記第２ストレージシステムは、前記第１論理ボリュームに記憶されるデータのコピーが記憶される第２論理ボリュームを形成し、
前記第１コンピュータは、第１オペレーティングシステム及び第１プログラムを実行し、かつ、前記第１プログラムにより生成される複数のライトデータを前記第１ストレージシステムに送信し、
前記第２コンピュータは、第２オペレーティングシステム及び第２プログラムを実行し、
前記第１オペレーティングシステムは、前記第１プログラムにより発行され、第１データオブジェクトを指定するエンキューリクエストであって、前記第１データオブジェクトを前記第１プログラムにとって整合性のある状態にするための更新開始を示すエンキューリクエストを受信し、かつ、前記第１データオブジェクトについての情報を含むスタートマーカリクエストを前記第１ストレージシステムに送信し、
前記第１オペレーティングシステムは、前記第１プログラムにより発行され、前記第１データオブジェクトを指定するデキューリクエストであって、前記第１データオブジェクトに関する前記更新の終了を示すデキューリクエストを受信し、かつ、前記前記第１データオブジェクトについての情報を含むエンドマーカリクエストを前記第１ストレージシステムに送信し、
前記第１ストレージシステムは、前記複数のライトデータと前記スタートマーカリクエスト及び前記エンドマーカリクエストとを受信し、前記第１論理ボリュームに記憶されている前記データを前記複数のライトデータにより更新し、
前記第１ストレージシステムは、前記複数のライトデータと、前記スタートマーカリクエストに対応するスタートマーカ情報と、前記エンドマーカリクエストに対応するエンドマーカ情報と、前記複数のライトデータと前記スタートマーカ情報及び前記エンドマーカ情報の受信タイミングに関する複数の順序情報とを含む、複数の転送データを生成し、
前記第１ストレージシステムは、前記複数の転送データを、前記複数のライトデータの受信と非同期で、前記第２ストレージシステムに転送し、
前記第２ストレージシステムは、前記複数の転送データを受信し、
前記第２ストレージシステムは、前記複数の転送データに含まれる、前記第１データオブジェクトのコピーである第２データオブジェクトに関する一連のライトデータであって、前記第１ストレージシステムが前記スタートマーカリクエストの受信後かつ前記エンドマーカリクエスト受信前に受信した前記複数のライトデータを含む一連のライトデータを、前記順序情報に基づいて特定し、
前記第２ストレージシステムは、前記一連のライトデータの一部または全部を用いて前記第２論理ボリュームに記憶されたデータを更新させるとの判断に応じて、前記第２データオブジェクトについての情報を含む更新開始通知を前記第２コンピュータに送信し、
前記第２プログラムは、前記第２データオブジェクトを指定するエンキューリクエストを前記第２オペレーティングシステムに発行し、かつ、前記エンキューリクエストが成功した場合には、前記更新開始通知への応答を前記第２オペレーティングシステムを介して前記第２ストレージシステムに送信し、
前記第２ストレージシステムは、前記一連のライトデータによって前記第２論理ボリュームに記憶されたデータの更新を開始し、かつ、前記第２論理ボリュームに記憶された前記データの更新が完了した場合は、更新終了通知を前記第２コンピュータに送信し、
前記第２プログラムは、前記更新終了通知を受領した場合に、前記第２データオブジェクトを指定するデキューリクエストを前記第２オペレーティングシステムに発行する、
リモートコピー方法。
【請求項２】
請求項１記載のリモートコピー方法であって、
前記第２コンピュータは、第３プログラムを実行し、かつ、
前記第２オペレーティングシステムは、前記第２データオブジェクトを指定する前記エンキューリクエストの受信後から、前記第２データオブジェクトを指定する前記デキューリクエストが受信されるまでの間、前記第３プログラムによる前記第２データオブジェクトについてのデータ読み出しまたはデータ書込みを抑止させるように、前記第２データオブジェクトを管理する、リモートコピー方法。
【請求項３】
請求項２記載のリモートコピー方法であって、
前記第１コンピュータは、第４プログラムを実行し、かつ、
前記第１オペレーティングシステムは、前記第１データオブジェクトを指定する前記エンキューリクエストの受信後から、前記第１データオブジェクトを指定する前記デキューリクエストが受信されるまでの間、前記第４プログラムによる前記第１データオブジェクトについてのデータ読み出しまたはデータ書込みを抑止させるように、前記第１データオブジェクトを管理する、リモートコピー方法。
【請求項４】
請求項２記載のリモートコピー方法であって、
前記第３プログラムは、前記第２データオブジェクトを指定する前記エンキューリクエストを前記第２オペレーティングシステムに発行し、前記エンキューリクエストが成功した場合には、前記第２データオブジェクトに関するデータを読み出し、その後、前記第２データオブジェクトを指定する前記デキューリクエストを前記第２オペレーティングシステムに発行する、リモートコピー方法。
【請求項５】
請求項４記載のリモートコピー方法であって、
前記コンピュータシステムは、バックアップ記憶システムを含み、かつ、
前記第３プログラムは、前記第２データオブジェクトに関する前記データを、前記第１プログラムにとって整合性のある状態としてのデータとして、前記バックアップ記憶システムに送信させる、リモートコピー方法。
【請求項６】
請求項５に記載のリモートコピー方法であって、
前記第１データオブジェクトは、前記第１ストレージシステムが認識できるデータユニットである、リモートコピー方法。
【請求項７】
請求項６に記載のリモートコピー方法であって、
前記第１データオブジェクトは、前記第１ストレージシステムでは認識できないが、前記第１プログラムにより認識可能なデータである、リモートコピー方法。
【請求項８】
請求項１記載のリモートコピー方法であって、
前記第２プログラムは、前記第２ストレージシステムに記憶された前記複数のライトデータのうち、前記第２論理ボリュームに記憶された前記データの前記更新に使用されていないライトデータの量に関する未使用データ量情報を取得し、かつ、
前記第２プログラムは、エンキューリクエストの成功待ちのために、前記第２ストレージシステムに記憶されたライトデータの量が予め設定される閾値を超えたことを示す情報を、前記未使用データ量情報に基づいて表示させる、リモートコピー方法。
【請求項９】
第１コンピュータと、該第１コンピュータに接続される第１ストレージシステムと、前記第１ストレージシステムに接続される第２ストレージシステムと、該第２ストレージシステムに接続される第２コンピュータとを含み、前記第１ストレージシステムから前記第２ストレージシステムにリモートコピーさせるコンピュータシステムであって、
前記第１ストレージシステムは、前記第１コンピュータにアクセスされる第１論理ボリュームを形成し、
前記第２ストレージシステムは、前記第１論理ボリュームに記憶されるデータのコピーが記憶される第２論理ボリュームを形成し、
前記第１コンピュータは、第１オペレーティングシステム及び第１プログラムを実行し、かつ、前記第１プログラムにより生成される複数のライトデータを前記第１ストレージシステムに送信し、
前記第２コンピュータは、第２オペレーティングシステム及び第２プログラムを実行し、
前記第１オペレーティングシステムは、前記第１プログラムにより発行され、第１データオブジェクトを指定するエンキューリクエストであって、前記第１データオブジェクトを前記第１プログラムにとって整合性のある状態にするための更新開始を示すエンキューリクエストを受信し、かつ、前記第１データオブジェクトについての情報を含むスタートマーカリクエストを前記第１ストレージシステムに送信し、
前記第１オペレーティングシステムは、前記第１プログラムにより発行され、前記第１データオブジェクトを指定するデキューリクエストであって、前記第１データオブジェクトに関する前記更新の終了を示すデキューリクエストを受信し、かつ、前記前記第１データオブジェクトについての情報を含むエンドマーカリクエストを前記第１ストレージシステムに送信し、
前記第１ストレージシステムは、前記複数のライトデータと前記スタートマーカリクエスト及び前記エンドマーカリクエストとを受信し、前記第１論理ボリュームに記憶されている前記データを前記複数のライトデータにより更新し、
前記第１ストレージシステムは、前記複数のライトデータと、前記スタートマーカリクエストに対応するスタートマーカ情報と、前記エンドマーカリクエストに対応するエンドマーカ情報と、前記複数のライトデータと前記スタートマーカ情報及び前記エンドマーカ情報の受信タイミングに関する複数の順序情報とを含む、複数の転送データを生成し、
前記第１ストレージシステムは、前記複数の転送データを、前記複数のライトデータの受信と非同期で、前記第２ストレージシステムに転送し、
前記第２ストレージシステムは、前記複数の転送データを受信し、
前記第２ストレージシステムは、前記複数の転送データに含まれる、前記第１データオブジェクトのコピーである第２データオブジェクトに関する一連のライトデータであって、前記第１ストレージシステムが前記スタートマーカリクエストの受信後かつ前記エンドマーカリクエスト受信前に受信した前記複数のライトデータを含む一連のライトデータを、前記順序情報に基づいて特定し、
前記第２ストレージシステムは、前記一連のライトデータの一部または全部を用いて前記第２論理ボリュームに記憶されたデータを更新させるとの判断に応じて、前記第２データオブジェクトについての情報を含む更新開始通知を前記第２コンピュータに送信し、
前記第２プログラムは、前記第２データオブジェクトを指定するエンキューリクエストを前記第２オペレーティングシステムに発行し、かつ、前記エンキューリクエストが成功した場合には、前記更新開始通知への応答を前記第２オペレーティングシステムを介して前記第２ストレージシステムに送信し、
前記第２ストレージシステムは、前記一連のライトデータによって前記第２論理ボリュームに記憶されたデータの更新を開始し、かつ、前記第２論理ボリュームに記憶された前記データの更新が完了した場合は、更新終了通知を前記第２コンピュータに送信し、
前記第２プログラムは、前記更新終了通知を受領した場合に、前記第２データオブジェクトを指定するデキューリクエストを前記第２オペレーティングシステムに発行する、
コンピュータシステム。
【請求項１０】
請求項９記載のコンピュータシステムであって、
前記第２コンピュータは、第３プログラムを実行し、かつ、
前記第２オペレーティングシステムは、前記第２データオブジェクトを指定する前記エンキューリクエストの受信後から、前記第２データオブジェクトを指定する前記デキューリクエストが受信されるまでの間、前記第３プログラムによる前記第２データオブジェクトについてのデータ読み出しまたはデータ書込みを抑止させるように、前記第２データオブジェクトを管理する、コンピュータシステム。
【請求項１１】
請求項１０記載のコンピュータシステムであって、
前記第１コンピュータは、第４プログラムを実行し、かつ、
前記第１オペレーティングシステムは、前記第１データオブジェクトを指定する前記エンキューリクエストの受信後から、前記第１データオブジェクトを指定する前記デキューリクエストが受信されるまでの間、前記第４プログラムによる前記第１データオブジェクトについてのデータ読み出しまたはデータ書込みを抑止させるように、前記第１データオブジェクトを管理する、コンピュータシステム。
【請求項１２】
請求項１０記載のコンピュータシステムであって、
前記第３プログラムは、前記第２データオブジェクトを指定する前記エンキューリクエストを前記第２オペレーティングシステムに発行し、前記エンキューリクエストが成功した場合には、前記第２データオブジェクトに関するデータを読み出し、その後、前記第２データオブジェクトを指定する前記デキューリクエストを前記第２オペレーティングシステムに発行する、コンピュータシステム。
【請求項１３】
請求項１２記載のコンピュータシステムであって、
前記コンピュータシステムは、バックアップ記憶システムを含み、かつ、
前記第３プログラムは、前記第２データオブジェクトに関する前記データを、前記第１プログラムにとって整合性のある状態としてのデータとして、前記バックアップ記憶システムに送信させる、コンピュータシステム。
【請求項１４】
請求項１３に記載のコンピュータシステムであって、
前記第１データオブジェクトは、前記第１ストレージシステムが認識できるデータユニットである、コンピュータシステム。
【請求項１５】
請求項１４に記載のコンピュータシステムであって、
前記第１データオブジェクトは、前記第１ストレージシステムでは認識できないが、前記第１プログラムにより認識可能なデータである、コンピュータシステム。
【請求項１６】
請求項９記載のコンピュータシステムであって、
前記第２プログラムは、前記第２ストレージシステムに記憶された前記複数のライトデータのうち、前記第２論理ボリュームに記憶された前記データの前記更新に使用されていないライトデータの量に関する未使用データ量情報を取得し、かつ、
前記第２プログラムは、エンキューリクエストの成功待ちのために、前記第２ストレージシステムに記憶されたライトデータの量が予め設定される閾値を超えたことを示す情報を、前記未使用データ量情報に基づいて表示させる、コンピュータシステム。
【請求項１７】
請求項９記載のコンピュータシステムであって、
前記第１プログラムは、指定されたデータをテープ形式のデータに変換して管理するためのテープライブラリ管理プログラムとして構成されており、
前記第１データオブジェクトは、前記第１プログラムにより管理されるテープ形式のデータであり、
前記第１ストレージシステムは、前記複数の転送データをブロックデータの形式で、前記第２ストレージシステムに転送する、コンピュータシステム。
【請求項１８】
請求項９記載のコンピュータシステムであって、
前記第２プログラムは、前記第２オペレーティングシステムの中に組み込まれている、コンピュータシステム。
【請求項１９】
請求項９記載のコンピュータシステムであって、
前記第１論理ボリューム内には、別々の前記第１データオブジェクトを複数設けることができる、コンピュータシステム。
【請求項２０】
請求項９記載のコンピュータシステムであって、
前記第１ストレージシステムは、前記複数の転送データを記憶するための第１転送データ用論理ボリュームを備えており、
前記第２ストレージシステムは、前記第１ストレージシステムから受信する前記複数の転送データを記憶するための第２転送データ用論理ボリュームを備えている、コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムのリモートコピー方法及びコンピュータシステムに関する。
【背景技術】
【０００２】
日々増大する多量のデータを管理するために、企業等で使用されるコンピュータシステムは、大容量のデータを記憶できるストレージシステムを備えている。ストレージシステムは、例えば、ハードディスクドライブ等を用いてＲＡＩＤ（Redundant Array of Independent Disks）に基づいて冗長化された記憶領域を作成する。その冗長化された、論理的な記憶領域は、論理ボリュームと呼ばれて、コンピュータシステム内のホストコンピュータに提供される。
【０００３】
近年では、地震または火事等の災害への対応力が強化されたコンピュータシステムも構築されている。災害への対応力が改善されたコンピュータシステムは、メインサイトと、メインサイトから離れた場所に設置されるバックアップサイトとを有する。メインサイトとバックアップサイトには、それぞれホストコンピュータ及びストレージシステムが設けられる。メインサイトで管理されるデータは、適宜バックアップサイトに転送されて、バックアップサイトにも保存される。
【０００４】
上述のように、ホストコンピュータ及びストレージシステムを複数のサイトにそれぞれ配置し、各サイトで記憶されるデータを一致させておく構成は、いわゆるディザスタリカバリ構成として知られている（特許文献１，特許文献２）。ディザスタリカバリ構成を有するコンピュータシステムでは、普段使用しているメインサイトに災害が発生した場合、直ちにバックアップサイトに切り替えることにより、基幹業務の停止時間を短くすることができる。
【０００５】
メインサイトとバックアップサイトとでデータを二重化して管理する方法としては、上記特許文献に記載されているように、同期式リモートコピーと、非同期式リモートコピーとが知られている。同期式リモートコピーでは、メインサイトのホストコンピュータがメインサイトのストレージシステムにライトデータを書き込んだ場合、そのライトデータをバックアップサイトのストレージシステムに転送する。メインサイトのストレージシステムは、バックアップサイトのストレージシステムにライトデータが書き込まれたことを確認した後で、メインサイトのホストコンピュータにライトコマンドの処理が完了した旨を通知する。
【０００６】
これに対し、非同期式リモートコピーでは、メインサイトのストレージシステムは、メインサイトのホストコンピュータからライトデータが書き込まれた時点で、そのホストコンピュータにライトコマンドの処理が完了した旨を通知する。その後、適当なタイミングを見計らって、メインサイトのストレージシステムからバックアップサイトのストレージシステムにライトデータを転送する。バックアップサイトのストレージシステムは、メインサイトのストレージシステムがライトデータを受信して記憶したタイミングとは異なるタイミングで、そのライトデータを記憶する。
【０００７】
同期式リモートコピーと非同期式リモートコピーとは、上述の相違がある。非同期式リモートコピーの場合は、メインサイトとバックアップサイトとの間の通信距離が長い場合、または、高い応答性能が求められている場合に、採用される。非同期式リモートコピーでは、バックアップサイトへのライトデータの書込み完了を待たずに、ホストコンピュータに処理完了を通知するため、ライトレスポンスタイムを短くできる。
【０００８】
さらに、メインサイトのストレージシステムとバックアップサイトのストレージシステムとの間でリモートコピーを行うことにより、メインサイトのホストコンピュータ及びバックアップサイトのホストコンピュータの負荷を低減することができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−２５０６２６号公報
【特許文献２】特許第４１２４３４８号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１０】
非同期式リモートコピーを使用するディザスタリカバリ構成の場合、バックアップサイトのホストコンピュータは、バックアップサイトのストレージシステムに記憶されているデータ（コピー先データ）を利用することができない。
【００１１】
ホストコンピュータを介さずにストレージシステム間で非同期リモートコピーが行われており、バックアップサイトのホストコンピュータは、現在のコピー先データが最新のデータであるか否かを確認することができないためである。従って、従来技術では、バックアップサイトのストレージシステムに格納されたデータを、ディザスタリカバリ以外に使用することができず、使い勝手が低い。
【００１２】
そこで、本発明の目的は、非同期式リモートコピーが実行されるコンピュータシステムにおいて、コピー先データを直接的に利用できるようにした、コンピュータシステムのリモートコピー方法及びコンピュータシステムを提供することにある。本発明の更なる目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【００１３】
上記課題を解決すべく、本発明の第１観点に従うリモートコピー方法は、第１コンピュータと、該第１コンピュータに接続される第１ストレージシステムと、第１ストレージシステムに接続される第２ストレージシステムと、該第２ストレージシステムに接続される第２コンピュータとを含むコンピュータシステムにより実行される、リモートコピー方法であって、第１ストレージシステムは、第１コンピュータにアクセスされる第１論理ボリュームを形成し、第２ストレージシステムは、第１論理ボリュームに記憶されるデータのコピーが記憶される第２論理ボリュームを形成し、第１コンピュータは、第１オペレーティングシステム及び第１プログラムを実行し、かつ、第１プログラムにより生成される複数のライトデータを第１ストレージシステムに送信し、第２コンピュータは、第２オペレーティングシステム及び第２プログラムを実行し、第１オペレーティングシステムは、第１プログラムにより発行され、第１データオブジェクトを指定するエンキューリクエストであって、第１データオブジェクトを第１プログラムにとって整合性のある状態にするための更新開始を示すエンキューリクエストを受信し、かつ、第１データオブジェクトについての情報を含むスタートマーカリクエストを第１ストレージシステムに送信し、第１オペレーティングシステムは、第１プログラムにより発行され、第１データオブジェクトを指定するデキューリクエストであって、第１データオブジェクトに関する更新の終了を示すデキューリクエストを受信し、かつ、第１データオブジェクトについての情報を含むエンドマーカリクエストを第１ストレージシステムに送信し、第１ストレージシステムは、複数のライトデータとスタートマーカリクエスト及びエンドマーカリクエストとを受信し、第１論理ボリュームに記憶されているデータを複数のライトデータにより更新し、第１ストレージシステムは、複数のライトデータと、スタートマーカリクエストに対応するスタートマーカ情報と、エンドマーカリクエストに対応するエンドマーカ情報と、複数のライトデータとスタートマーカ情報及びエンドマーカ情報の受信タイミングに関する複数の順序情報とを含む、複数の転送データを生成し、第１ストレージシステムは、複数の転送データを、複数のライトデータの受信と非同期で、第２ストレージシステムに転送し、第２ストレージシステムは、複数の転送データを受信し、第２ストレージシステムは、複数の転送データに含まれる、第１データオブジェクトのコピーである第２データオブジェクトに関する一連のライトデータであって、第１ストレージシステムがスタートマーカリクエストの受信後かつエンドマーカリクエスト受信前に受信した複数のライトデータを含む一連のライトデータを、順序情報に基づいて特定し、第２ストレージシステムは、一連のライトデータの一部または全部を用いて第２論理ボリュームに記憶されたデータを更新させるとの判断に応じて、第２データオブジェクトについての情報を含む更新開始通知を第２コンピュータに送信し、第２プログラムは、第２データオブジェクトを指定するエンキューリクエストを第２オペレーティングシステムに発行し、かつ、エンキューリクエストが成功した場合には、更新開始通知への応答を第２オペレーティングシステムを介して第２ストレージシステムに送信し、第２ストレージシステムは、一連のライトデータによって第２論理ボリュームに記憶されたデータの更新を開始し、かつ、第２論理ボリュームに記憶されたデータの更新が完了した場合は、更新終了通知を第２コンピュータに送信し、第２プログラムは、更新終了通知を受領した場合に、第２データオブジェクトを指定するデキューリクエストを第２オペレーティングシステムに発行する。
【００１４】
第２観点では、第１観点において、第２コンピュータは、第３プログラムを実行し、かつ、第２オペレーティングシステムは、第２データオブジェクトを指定するエンキューリクエストの受信後から、第２データオブジェクトを指定するデキューリクエストが受信されるまでの間、第３プログラムによる第２データオブジェクトについてのデータ読み出しまたはデータ書込みを抑止させるように、第２データオブジェクトを管理する。
【００１５】
第３観点では、第２観点において、第１コンピュータは、第４プログラムを実行し、かつ、第１オペレーティングシステムは、第１データオブジェクトを指定するエンキューリクエストの受信後から、第１データオブジェクトを指定するデキューリクエストが受信されるまでの間、第４プログラムによる第１データオブジェクトについてのデータ読み出しまたはデータ書込みを抑止させるように、第１データオブジェクトを管理する。
【００１６】
第４観点では、第２観点において、第３プログラムは、第２データオブジェクトを指定するエンキューリクエストを第２オペレーティングシステムに発行し、エンキューリクエストが成功した場合には、第２データオブジェクトに関するデータを読み出し、その後、第２データオブジェクトを指定するデキューリクエストを第２オペレーティングシステムに発行する。
【００１７】
第５観点では、第４観点において、コンピュータシステムは、バックアップ記憶システムを含み、かつ、第３プログラムは、第２データオブジェクトに関するデータを、第１プログラムにとって整合性のある状態としてのデータとして、バックアップ記憶システムに送信させる。
【００１８】
第６観点では、第５観点において、第１データオブジェクトは、第１ストレージシステムが認識できるデータユニットである。
【００１９】
第７観点では、第６観点において、第１データオブジェクトは、第１ストレージシステムでは認識できないが、第１プログラムにより認識可能なデータである。
【００２０】
第８観点では、第１観点において、第２プログラムは、第２ストレージシステムに記憶された複数のライトデータのうち、第２論理ボリュームに記憶されたデータの更新に使用されていないライトデータの量に関する未使用データ量情報を取得し、かつ、第２プログラムは、エンキューリクエストの成功待ちのために、第２ストレージシステムに記憶されたライトデータの量が予め設定される閾値を超えたことを示す情報を、未使用データ量情報に基づいて表示させる。
【００２１】
第９観点に従うコンピュータシステムは、第１コンピュータと、該第１コンピュータに接続される第１ストレージシステムと、第１ストレージシステムに接続される第２ストレージシステムと、該第２ストレージシステムに接続される第２コンピュータとを含み、第１ストレージシステムから第２ストレージシステムにリモートコピーさせるコンピュータシステムであって、第１ストレージシステムは、第１コンピュータにアクセスされる第１論理ボリュームを形成し、第２ストレージシステムは、第１論理ボリュームに記憶されるデータのコピーが記憶される第２論理ボリュームを形成し、第１コンピュータは、第１オペレーティングシステム及び第１プログラムを実行し、かつ、第１プログラムにより生成される複数のライトデータを第１ストレージシステムに送信し、第２コンピュータは、第２オペレーティングシステム及び第２プログラムを実行し、第１オペレーティングシステムは、第１プログラムにより発行され、第１データオブジェクトを指定するエンキューリクエストであって、第１データオブジェクトを第１プログラムにとって整合性のある状態にするための更新開始を示すエンキューリクエストを受信し、かつ、第１データオブジェクトについての情報を含むスタートマーカリクエストを第１ストレージシステムに送信し、第１オペレーティングシステムは、第１プログラムにより発行され、第１データオブジェクトを指定するデキューリクエストであって、第１データオブジェクトに関する更新の終了を示すデキューリクエストを受信し、かつ、第１データオブジェクトについての情報を含むエンドマーカリクエストを第１ストレージシステムに送信し、第１ストレージシステムは、複数のライトデータとスタートマーカリクエスト及びエンドマーカリクエストとを受信し、第１論理ボリュームに記憶されているデータを複数のライトデータにより更新し、第１ストレージシステムは、複数のライトデータと、スタートマーカリクエストに対応するスタートマーカ情報と、エンドマーカリクエストに対応するエンドマーカ情報と、複数のライトデータとスタートマーカ情報及びエンドマーカ情報の受信タイミングに関する複数の順序情報とを含む、複数の転送データを生成し、第１ストレージシステムは、複数の転送データを、複数のライトデータの受信と非同期で、第２ストレージシステムに転送し、第２ストレージシステムは、複数の転送データを受信し、第２ストレージシステムは、複数の転送データに含まれる、第１データオブジェクトのコピーである第２データオブジェクトに関する一連のライトデータであって、第１ストレージシステムがスタートマーカリクエストの受信後かつエンドマーカリクエスト受信前に受信した複数のライトデータを含む一連のライトデータを、順序情報に基づいて特定し、第２ストレージシステムは、一連のライトデータの一部または全部を用いて第２論理ボリュームに記憶されたデータを更新させるとの判断に応じて、第２データオブジェクトについての情報を含む更新開始通知を第２コンピュータに送信し、第２プログラムは、第２データオブジェクトを指定するエンキューリクエストを第２オペレーティングシステムに発行し、かつ、エンキューリクエストが成功した場合には、更新開始通知への応答を第２オペレーティングシステムを介して第２ストレージシステムに送信し、第２ストレージシステムは、一連のライトデータによって第２論理ボリュームに記憶されたデータの更新を開始し、かつ、第２論理ボリュームに記憶されたデータの更新が完了した場合は、更新終了通知を第２コンピュータに送信し、第２プログラムは、更新終了通知を受領した場合に、第２データオブジェクトを指定するデキューリクエストを第２オペレーティングシステムに発行する。
【００２２】
第１０観点では、第９観点において、第２コンピュータは、第３プログラムを実行し、かつ、第２オペレーティングシステムは、第２データオブジェクトを指定するエンキューリクエストの受信後から、第２データオブジェクトを指定するデキューリクエストが受信されるまでの間、第３プログラムによる第２データオブジェクトについてのデータ読み出しまたはデータ書込みを抑止させるように、第２データオブジェクトを管理する。
【００２３】
第１１観点では、第１０観点において、第１コンピュータは、第４プログラムを実行し、かつ、第１オペレーティングシステムは、第１データオブジェクトを指定するエンキューリクエストの受信後から、第１データオブジェクトを指定するデキューリクエストが受信されるまでの間、第４プログラムによる第１データオブジェクトについてのデータ読み出しまたはデータ書込みを抑止させるように、第１データオブジェクトを管理する。
【００２４】
第１２観点では、第１０観点において、第３プログラムは、第２データオブジェクトを指定するエンキューリクエストを第２オペレーティングシステムに発行し、エンキューリクエストが成功した場合には、第２データオブジェクトに関するデータを読み出し、その後、第２データオブジェクトを指定するデキューリクエストを第２オペレーティングシステムに発行する。
【００２５】
第１３観点では、第１２観点において、コンピュータシステムは、バックアップ記憶システムを含み、かつ、第３プログラムは、第２データオブジェクトに関するデータを、第１プログラムにとって整合性のある状態としてのデータとして、バックアップ記憶システムに送信させる。
【００２６】
第１４観点では、第１３観点において、第１データオブジェクトは、第１ストレージシステムが認識できるデータユニットである。
【００２７】
第１５観点では、第１４観点において、第１データオブジェクトは、第１ストレージシステムでは認識できないが、第１プログラムにより認識可能なデータである。
【００２８】
第１６観点では、第９観点において、第２プログラムは、第２ストレージシステムに記憶された複数のライトデータのうち、第２論理ボリュームに記憶されたデータの更新に使用されていないライトデータの量に関する未使用データ量情報を取得し、かつ、第２プログラムは、エンキューリクエストの成功待ちのために、第２ストレージシステムに記憶されたライトデータの量が予め設定される閾値を超えたことを示す情報を、未使用データ量情報に基づいて表示させる。
【００２９】
第１７観点では、第９観点において、第１プログラムは、指定されたデータをテープ形式のデータに変換して管理するためのテープライブラリ管理プログラムとして構成されており、第１データオブジェクトは、第１プログラムにより管理されるテープ形式のデータであり、第１ストレージシステムは、複数の転送データをブロックデータの形式で、第２ストレージシステムに転送する。
【００３０】
第１８観点では、第９観点において、第２プログラムは、第２オペレーティングシステムの中に組み込まれている。
【００３１】
第１９観点では、第９観点において、第１論理ボリューム内には、別々の第１データオブジェクトを複数設けることができる。
【００３２】
第２０観点では、第９観点において、第１ストレージシステムは、複数の転送データを記憶するための第１転送データ用論理ボリュームを備えており、第２ストレージシステムは、第１ストレージシステムから受信する複数の転送データを記憶するための第２転送データ用論理ボリュームを備えている。
【００３３】
本発明の構成要素の少なくとも一部は、コンピュータプログラムとして構成することができる。そのコンピュータプログラムは、記録媒体に固定されて流通したり、または、通信ネットワークを介して送信される。
【図面の簡単な説明】
【００３４】
【図１】図１は、本発明の実施形態に係るコンピュータシステムの概要を示す図である。
【図２】図２は、コンピュータシステムのブロック構成を示す図である。
【図３】図３は、ストレージシステムのブロック構成を示す図である。
【図４】図４は、メインサイト側のソフトウェア構成を示す図である。
【図５】図５は、ＤＲサイト側のソフトウェア構成を示す図である。
【図６】図６は、仮想テープライブラリを管理するためのテーブルを示す図である。
【図７】図７は、排他制御テーブルを示す図である。
【図８】図８は、デキューの発行を待っているデータを管理するテーブルを示す図である。
【図９】図９は、メインサイトにおいて、コピー制御プログラムと仮想テープライブラリ及びオペレーティングシステムとの関係を示す図である。
【図１０】図１０は、ライトマーカの構成を示す図である。
【図１１】図１１は、更新開始時または更新終了時に、コピー制御プログラムからオペレーティングシステムへ送られるデータの構造を示す図である。
【図１２】図１２は、更新開始時の処理概要を示すフローチャートである。
【図１３】図１３は、副ボリューム内の仮想テープを更新させる処理の概要を示すフローチャートである。
【図１４】図１４は、副ボリューム内の仮想テープの更新開始前に、その仮想テープを他のプログラムが使用している場合の概要を示すフローチャートである。
【図１５】図１５は、メインホスト（メインサイトのホストコンピュータ）により実行される、仮想テープを作成または更新する処理のフローチャートである。
【図１６】図１６は、図１５に続くフローチャートである。
【図１７】図１７は、オペレーティングシステムがライトエンキューを受領した場合の処理を示すフローチャートである。
【図１８】図１８は、オペレーティングシステムがライトエンキューの解放を要求された場合の処理を示すフローチャートである。
【図１９】図１９は、オペレーティングシステムがリードエンキューを受領した場合の処理を示すフローチャートである。
【図２０】図２０は、オペレーティングシステムがリードエンキューの解放を要求された場合の処理を示すフローチャートである。
【図２１】図２１は、メインホストにより実行される、ライト開始通知を受信した場合の処理を示すフローチャートである。
【図２２】図２２は、メインホストにより実行される、ライト終了通知を受信した場合の処理を示すフローチャートである。
【図２３】図２３は、メインホストにより実行される、メインサイト内のストレージシステムに記憶されている仮想テープを参照するための処理を示すフローチャートである。
【図２４】図２４は、メインサイトのストレージシステムにより実行される、ライト処理を示すフローチャートである。
【図２５】図２５は、メインサイトのストレージシステムにより実行される、ジャーナルデータの転送処理を示すフローチャートである。
【図２６】図２６は、ＤＲサイトのストレージシステムにより実行される、ジャーナルデータを受け付ける処理を示すフローチャートである。
【図２７】図２７は、ＤＲサイトのストレージシステムにより実行される、ジャーナルデータを仮想テープに反映させる処理を示すフローチャートである。
【図２８】図２８は、ＤＲサイトのホストコンピュータ（ＤＲホスト）により実行される、ライトマーカ処理を示すフローチャートである。
【図２９】図２９は、ＤＲホストにより実行される、リードエンキューの受信処理を示すフローチャートである。
【図３０】図３０は、第２実施例に係り、ＤＲホストにより実行される、未処理のジャーナルデータを監視する処理を示すフローチャートである。
【発明を実施するための形態】
【００３５】
以下、図面に基づいて、本発明の実施の形態を説明する。本実施形態では、後述のように、メインサイト１Ｐ内のストレージシステム２０ＰとＤＲサイト１Ｓ内のストレージシステム２０Ｓとの間で、いわゆる非同期式のリモートコピーが行われる。コピー元のホスト１０Ｐは、正ボリューム２２１Ｐ内の仮想テープを更新（更新には作成も含む。以下同様。）する場合に、更新の開始を示す特別なジャーナルデータと、更新の終了を示す別の特別なジャーナルデータとを作成する。
【００３６】
それら更新の開始及び終了を示す特別なジャーナルデータは、通常のジャーナルデータと同様に、非同期式リモートコピーによって、ＤＲサイト１Ｓ内のストレージシステム２０Ｓに送信され、記憶される。
【００３７】
コピー先であるストレージシステム２０Ｓは、コピー元であるストレージシステム２０Ｐから受信したジャーナルデータを、順番通りに、副ボリューム２２１Ｓ内の仮想テープに書き込むことにより、その仮想テープを更新させる。ジャーナルデータを順番に書き込むことにより、仮想テープの内容を更新させる処理のことを、本明細書では、「格上げ処理」と呼ぶことがある。
【００３８】
コピー先のストレージシステム２０Ｓは、正側の仮想テープの更新を示す特別なジャーナルデータを発見した場合、ＤＲサイト１Ｓ内のホスト１０Ｓによる、副側の仮想テープの利用を抑止する。格上げ処理中の副側の仮想テープの内容は、正側の仮想テープの内容と一致せず、整合性が無いためである。
【００３９】
コピー先のストレージシステム２０Ｓは、更新の終了を示す特別なジャーナルデータを発見すると、ホスト１０Ｓによる副側の仮想テープの利用を許可する。なお、ホスト１０Ｓが副側の仮想テープを利用している間に、更新の開始を示す特別なジャーナルデータが発見された場合、コピー先のストレージシステム２０Ｓは、ホスト１０Ｓによる利用が終了するまで、格上げ処理の開始を待つ。
【００４０】
このように、ＤＲサイト１Ｓのストレージシステム２０Ｓは、仮想テープの更新が行われる期間だけ、副ボリューム２２１Ｓ内の仮想テープの使用を防止し、それ以外の期間では、副ボリューム２２１Ｓ内の仮想テープの使用を許可する。従って、例えば、メインサイト１Ｐで基幹業務を実行している間に、副ボリューム２２１Ｓの仮想テープの内容を解析して、基幹業務の内容を調査等することができる。
【実施例１】
【００４１】
図１は、本実施例によるコンピュータシステムの全体概要を示す。コンピュータシステムのハードウェア構成は、図２及び図３で後述する。コンピュータシステムのソフトウェア構成は、図４及び図５で後述する。
【００４２】
コンピュータシステムは、互いに物理的に離れて設置される複数のサイト１Ｐ，１Ｓを含む。一方のサイト１Ｐは、通常時に使用されるメインサイトである。他方のサイト１Ｓは、メインサイト１Ｐが停止した場合等に使用されるディザスタリカバリサイト（以下、ＤＲサイト１Ｓ）である。メインサイト１Ｐをコピー元サイトまたは正サイトまたは第１サイトと、ＤＲサイト１Ｓをコピー先サイトまたは副サイトまたは第２サイトまたはバックアップサイトと、呼ぶことができる。
【００４３】
メインサイト１Ｐは、ホストコンピュータ（以下、ホスト）１０Ｐと、ストレージシステム２０Ｐとを含む。同様に、ＤＲサイト１Ｓも、ホスト１０Ｓ及びストレージシステム２０Ｓを含む。以下の説明では、メインサイト１Ｐ内のホスト１０Ｐをメインホスト１０Ｐと、メインサイト１Ｐ内のストレージシステム２０Ｐをメインストレージシステム２０Ｐまたはメインストレージ２０Ｐと、ＤＲサイト１Ｓ内のホスト１０ＳをＤＲホスト１０Ｓと、ＤＲサイト１Ｓ内のストレージシステム２０ＳをＤＲストレージシステム２０ＳまたはＤＲストレージ２０Ｓと、呼ぶ場合がある。
【００４４】
メインサイト１Ｐの構成を説明する。メインホスト１０Ｐは、例えば、オペレーティングシステム（以下、ＯＳ）３１０Ｐと、業務プログラム３２０Ｐと、仮想テープ参照プログラム（以下、ＶＴＲプログラム）３３０Ｐと、仮想テープ作成プログラム（ＶＴＷプログラム）３４０Ｐと、仮想テープライブラリシステム（以下、ＶＴＬＳ）３５０Ｐと、コピー制御プログラム３６０Ｐとを含む。
【００４５】
メインストレージシステム２０Ｐは、業務プログラム３２０Ｐにより使用される業務データ用の論理ボリューム２２１Ａ（業務ボリューム２２１Ａ）と、仮想テープを格納するための論理ボリューム（正ボリューム）２２１Ｐと、ジャーナルデータを格納するためのジャーナルボリューム２２１Ｊと、後述のテーブルとを含む。
【００４６】
ＶＴＬＳ３５０Ｐは、ＶＴＷプログラム３４０Ｐにより指定された業務用データを、テープ形式のデータに変換して、正ボリューム２２１Ｐ内の仮想テープに記憶させる。ＶＴＬＳ３５０Ｐは、ＶＴＲプログラム３３０Ｐにより指定されたデータを、正ボリューム２２１Ｐ内の仮想テープから読み出し、所定の変換を行ってからＶＴＲプログラム３３０Ｐに提供する。
【００４７】
メインストレージシステム２０Ｐは、メインホスト１０Ｐからのライトデータによって、正ボリューム２２１Ｐ内の仮想テープが更新されると、その更新に関するジャーナルデータを作成して、ジャーナルボリューム２２１Ｊに格納させる。メインストレージシステム２０Ｐは、ジャーナルボリューム２２１Ｊに蓄積されたジャーナルデータを、非同期式リモートコピーにより、ＤＲストレージシステム２０Ｓに送信する。
【００４８】
ＤＲサイト１Ｓの構成を説明する。ＤＲホスト１０Ｓは、例えば、ＯＳ３１０Ｓと、業務プログラム３２０Ｓと、ＶＴＲプログラム３３０Ｓと、ＶＴＬＳ３５０Ｓと、コピー制御プログラム３６０Ｓとを含む。ＤＲホスト１０Ｓは、仮想テープを作成または更新するためのＶＴＲプログラムを備えていない。仮想テープは、専らメインホスト１０Ｐにより作成され、その仮想テープのコピーがＤＲストレージシステム２０Ｓに記憶される。ＤＲホスト１０Ｓは、仮想テープのコピーを参照することはできるが、その仮想テープのコピーを更新させることはできない。
【００４９】
ＤＲストレージシステム２０Ｓは、業務用データを記憶するための業務ボリューム２２１Ａと、仮想テープを記憶するための副ボリューム２２１Ｓと、ジャーナルデータを記憶するためのジャーナルボリューム２２１Ｊと、テーブルとを含む。
【００５０】
ＤＲストレージシステム２０Ｓは、メインストレージシステム２０Ｐから受信するジャーナルデータを、ジャーナルボリューム２２１Ｊに記憶させる。ＤＲストレージシステム２０Ｓは、ジャーナルボリューム２２１Ｊに蓄積されたジャーナルデータに基づいて、副ボリューム２２１Ｓ内に記憶されている仮想テープを更新させる。
【００５１】
その仮想テープは、上述の通り、メインストレージシステム２０Ｐ内の仮想テープのコピーである。そこで、以下の説明では、メインストレージシステム２０Ｐ内の仮想テープを正側の仮想テープと、ＤＲストレージシステム２０Ｓ内の仮想テープを副側の仮想テープと、呼ぶ場合がある。
【００５２】
ＤＲホスト１０Ｓ内のプログラム（例えば、業務プログラム３２０Ｓ等）は、副側の仮想テープのデータを読み出して、その読み出したデータを副側の業務ボリューム２２１Ａに書き込むことができる。これにより、正側の業務ボリューム２２１Ａの記憶内容と副側の業務ボリューム２２１Ａの記憶内容とが一致する。
【００５３】
図２は、コンピュータシステムのハードウェア構成を示す。図２は、特に、ホスト１０Ｐ，１０Ｓの構成例を示している。ここで、メインホスト１０ＰとＤＲホスト１０Ｓとは同一構成であるため、メインホスト１０Ｐについて説明する。
【００５４】
メインホスト１０Ｐは、例えば、サーバコンピュータのように構成され、マイクロプロセッサ（図中、ＣＰＵ：Central Processing Unit）１１と、メモリ１２と、補助記憶装置１３と、Ｉ／Ｏ（Input/Output）用通信インターフェース１４と、管理用通信インターフェース１５とを含んで構成される。なお、図中では、インターフェースを「Ｉ／Ｆ」と略記している。
【００５５】
メモリ１２または補助記憶装置１３には、後述する各種プログラムが記憶されており、それらプログラムをマイクロプロセッサ１１が実行する。それにより、仮想テープの作成及び仮想テープライブラリの管理等を行うための各機能が実現される。
【００５６】
Ｉ／Ｏ用通信インターフェース１４は、メインストレージシステム２０Ｐとの間で、データを送受信するための通信インターフェースである。Ｉ／Ｏ用通信インターフェース１４は、例えば、ＩＰ−ＳＡＮ（Internet Protocol-Storage Area Network）等の通信ネットワーク４０Ｐを介して、メインストレージシステム２０Ｐに接続されている。サイト内通信ネットワーク４０Ｐは、サイト間通信ネットワーク４３を介して、ＤＲサイト１Ｓ内の通信ネットワーク４０Ｓに接続されている。メインストレージシステム２０Ｐは、サイト間通信ネットワーク４３等を介して、ＤＲストレージシステム２０Ｓにジャーナルデータを転送する。
【００５７】
管理用通信インターフェース１５は、例えば、LAN（Local Area Network）等の管理用通信ネットワーク４１Ｐに接続される。メインホスト１０Ｐは、管理用通信ネットワーク４１Ｐを介して、管理装置３０Ｐ及びメインストレージシステム２０Ｐに接続される。
【００５８】
管理装置３０Ｐは、メインサイト１Ｐを管理するためのコンピュータである。管理装置３０Ｐは、システム管理者等のユーザと情報を交換するためのユーザインターフェースを備えている。そのユーザインターフェースは、情報を出力するための装置と、情報を入力するための装置とを含む。情報出力装置としては、例えば、ディスプレイ装置または音声出力装置等を挙げることができる。情報入力装置としては、例えば、キーボードスイッチ、ポインティングデバイス、マイクロフォン等を挙げることができる。なお、管理装置３０Ｐとユーザインターフェースとを分離する構成でもよい。例えば、管理装置３０Ｐを使用するための管理用端末を別に設け、その管理用端末にユーザインターフェースを設ける構成でもよい。
【００５９】
ユーザは、管理装置３０Ｐを介して、メインホスト１０Ｐ及びメインストレージシステム２０Ｐの構成等を設定したり、メインホスト１０Ｐ及びメインストレージシステム２０Ｐから各種の情報を読み出したりすることができる。
【００６０】
ＤＲサイト１Ｓにも、前記同様に、Ｉ／Ｏ通信ネットワーク４０Ｓと、管理用通信ネットワーク４１Ｓと、管理装置３０Ｓとが設けられている。
【００６１】
ストレージシステム２０Ｐ，２０Ｓの構成を説明する。メインストレージシステム２０ＰとＤＲストレージシステム２０Ｓとは同一構成のため、メインストレージシステム２０Ｐについて説明する。
【００６２】
メインストレージシステム２０Ｐは、図２に示すように、コントローラ２１と、記憶装置搭載部（以下、ＨＤＵと略記）２２とを備える。コントローラ２１は、メインストレージシステム２０Ｐの動作を制御する。ＨＤＵ２２は、複数の記憶装置を搭載しており、コントローラ２１により制御される。
【００６３】
図３は、各ストレージシステム２０Ｐ，２０Ｓのハードウェア構成を示す。図２に示すコントローラ２１は、例えば、ホスト通信用インターフェース（図中、ホストＩ／Ｆ）２１０と、リモートコピー用通信インターフェース（図中、コピーＩ／Ｆ）２１１と、記憶装置用通信インターフェース（図中、ディスクＩ／Ｆ）２１２と、共有メモリ（図中、ＳＭ）２１３と、キャッシュメモリ（図中、ＣＭ）２１４と、マイクロプロセッサ２１５と、ローカルメモリ（図中、ＬＭ）２１６と、サービスプロセッサ（図中、ＳＶＰ）２１７と、スイッチ（図中、ＳＷ）２１８とを含んでいる。
【００６４】
ホスト通信用インターフェース２１０は、Ｉ／Ｏ用通信ネットワーク４０Ｐを介して、メインホスト１０Ｐと通信するための制御回路である。コピー用通信インターフェース２１１は、Ｉ／Ｏ用通信ネットワーク４０Ｐとサイト間通信ネットワーク４３及びＩ／Ｏ通信ネットワーク４０Ｓを介して、ＤＲストレージシステム２０Ｓと通信するための制御回路である。ディスク用通信インターフェース２１２は、ＨＤＵ２２内の各記憶装置２２０との間で通信するための制御回路である。
【００６５】
共有メモリ２１３は、メインストレージシステム２０Ｐを制御するために必要な制御情報及び管理情報を記憶するためのメモリ領域である。キャッシュメモリ２１４は、メインホスト１０Ｐから受信したライトデータ等を記憶するためのメモリ領域である。さらに、キャッシュメモリ２１４には、ＤＲストレージシステム２０Ｓに送信するためのデータと、記憶装置２１０から読み出されるデータとを記憶させることができる。
【００６６】
なお、図３では、共有メモリ２１３とキャッシュメモリ２１４とを別々のメモリとして示すが、これに限らず、一つまたは複数のメモリからなる記憶領域のうち、一方の記憶領域を共有メモリ領域として使用し、他方の記憶領域をキャッシュ領域として使用する構成でもよい。
【００６７】
マイクロプロセッサ２１５は、例えば、所定の制御プログラムを読み込んで実行することにより、メインストレージシステム２０Ｐの動作を制御する。ローカルメモリ２１６には、例えば、共有メモリ２１３に記憶されている制御情報等のうち、一部の制御情報等がコピーされる。
【００６８】
サービスプロセッサ２１７は、管理用通信ネットワーク４１Ｐを介して、管理装置３０Ｐに接続される。サービスプロセッサ２１７は、管理装置３０Ｐからの指示に応じて、メインストレージシステム２０Ｐの構成を設定する。さらに、サービスプロセッサ２１７は、メインストレージシステム２０Ｐ内の各種状態を示す情報を収集し、それら各種状態を示す情報を管理装置３０Ｐに送信する。管理装置３０Ｐは、サービスプロセッサ２１７から得た情報を加工して、または、そのままで、管理装置３０Ｐの有するディスプレイ装置に表示させる。
【００６９】
スイッチ２１８は、上述の各回路２１０，２１１，２１２，２１３，２１４，２１５，２１７を相互に接続するためのスイッチ回路である。
【００７０】
ＨＤＵ２２について説明する。ＨＤＵ２２は、複数の記憶装置２１０を有する。記憶装置２１０としては、例えば、ハードディスク装置、半導体メモリ装置、光ディスク装置、光磁気ディスク装置、磁気テープ装置等の、データを読み書き可能な種々の記憶装置を挙げることができる。
【００７１】
ハードディスク装置を用いる場合、例えば、ＦＣ（Fibre Channel）ディスク、ＳＣＳＩ（Small Computer System nterface）ディスク、ＳＡＴＡディスク、ＡＴＡ（AT Attachment）ディスク、ＳＡＳ（Serial Attached SCSI）ディスク等を用いることができる。また、例えば、フラッシュメモリ、ＦｅＲＡＭ Ferroelectric Random Access Memory）、ＭＲＡＭ（MagnetoresistiveRandom Access Memory）、相変化メモリ（Ovonic Unified Memory）、ＲＲＡＭ（Resistance RAM）、ＰＲＡＭ（Phase change RAM）等の記憶装置を用いることもできる。さらに、例えば、フラッシュメモリデバイスとハードディスクドライブのように、種類の異なる記憶装置をＨＤＵ２２内に混在させる構成でもよい。
【００７２】
一つまたは複数の記憶装置２１０の有する物理的記憶領域をグループ化し、そのグループ化された記憶領域に論理的な記憶領域を一つまたは複数設けることができる。その論理的記憶領域は、論理ボリューム２２１と呼ばれる。
【００７３】
図４は、メインホスト１０Ｐ及びメインストレージシステム２０Ｐのソフトウェア構成を示す。メインホスト１０Ｐのメモリ１２には、ＯＳ３１０Ｐと、業務プログラム３２０Ｐと、ＶＴＲプログラム３３０Ｐと、ＶＴＷプログラム３４０Ｐと、ＶＴＬＳ３５０Ｐと、コピー制御プログラム３６０Ｐと、ＶＴＬＳテーブルＴ１０と、排他制御テーブルＴ２０とが記憶されている。
【００７４】
業務プログラム３２０Ｐは、例えば、顧客管理プログラム、売上げ管理プログラム、電子メール管理プログラム、動画配信プログラム等のような、ユーザの業務を行うためのプログラムである。
【００７５】
ＶＴＲプログラム３３０Ｐは、仮想テープを参照するためのプログラムである。ＶＴＷプログラム３４０Ｐは、仮想テープを作成または更新するためのプログラムである。ＶＴＬＳ３５０Ｐは、正ボリューム２２１Ｐ内に記憶される各仮想テープを管理するためのプログラムである。ＶＴＬＳ３５０Ｐは、ＶＴＷプログラム３４０Ｐからの指示により、業務ボリューム２２１Ａ内の業務データをテープ形式のデータに変換し、そのテープ形式のデータを、正ボリューム２２１Ｐ内の仮想テープに書き込む。さらに、ＶＴＬＳ３５０Ｐは、ＶＴＲプログラム３３０Ｐからの指示により、正ボリューム２２１Ｐ内の仮想テープからデータを読み出す。ＶＴＬＳ３５０Ｐは、必要に応じて、テープ形式のデータを業務データの形式に変換する。
【００７６】
コピー制御プログラム３６０Ｐは、非同期リモートコピーの下で、ＤＲホスト１０Ｓがコピー先ボリューム２２１Ｓのデータを直接的に使用できるように、リモートコピーに関する制御を行うためのプログラムである。実際のリモートコピー処理は、メインストレージシステム２０Ｐの有する非同期コピー制御プログラム３７０Ｐにより実行される。
【００７７】
コピー制御プログラム３６０Ｐは、仮想テープが更新される場合に、仮想テープが更新中であることを示す情報（後述のライトマーカである）を生成し、ジャーナルボリューム２２１Ｊに書き込ませるプログラムである。
【００７８】
ＶＴＬＳテーブルＴ２０は、各仮想テープを管理するためのテーブルである。その詳細は後述する。ＶＴＬＳテーブルＴ２０は、リモートコピーの対象となっており、メインストレージシステム２０ＰとＤＲストレージシステム２０Ｓと両方で、同一のＶＴＬＳテーブルＴ２０を使用する。
【００７９】
メインストレージシステム２０Ｐの共有メモリ２１３（他のメモリまたは記憶装置２１０でもよい。）には、非同期コピー制御プログラム３７０Ｐが記憶されている。非同期コピー制御プログラム３７０Ｐは、メインストレージシステム２０ＰとＤＲストレージシステム２０Ｓとの間で実行される、ブロックデータを用いた非同期リモートコピーを実行するためのプログラムである。
【００８０】
図５は、ＤＲホスト１０Ｓ及びＤＲストレージシステム２０Ｓのソフトウェア構成を示す図である。ＤＲホスト１０Ｓのメモリ１２には、ＯＳ３１０Ｓと、業務プログラム３２０Ｓと、ＶＴＲプログラム３３０Ｓと、ＶＴＬＳ３５０Ｓと、コピー制御プログラム３６０Ｓと、ＶＴＬＳテーブルＴ１０と、排他制御テーブルＴ２０と、デキュー（図中、ＤＥＱ）待ちテーブルＴ３０とが記憶されている。
【００８１】
図４との相違は、ＤＲホスト１０Ｓは、ＶＴＷプログラムを備えていない点と、デキュー待ちテーブルＴ３０を備えている点とである。ＤＲホスト１０Ｓは、副側の仮想テープまたは／及び副側の業務データを解析して、統計処理等を行う。副側のデータを解析するだけであれば、ＤＲホスト１０Ｓは、仮想テープの参照だけできればよく、仮想テープのデータを書き換えたりする必要はない。
【００８２】
デキュー待ちテーブルＴ３０は、副側の各仮想テープのうち、エンキューの解除を待っている仮想テープを管理するためのテーブルである。その詳細は、図８で述べる。
【００８３】
なお、ＤＲストレージシステム２０Ｓの共有メモリ２１３にも、メインストレージシステム２０ＰとＤＲストレージシステム２０Ｓとの間で、非同期にリモートコピー処理を実行するためのプログラム３７０Ｓが記憶されている。
【００８４】
ここで、特許請求の範囲に記載された構成要素と実施例の構成との対応関係の一例を説明する。「第１オペレーティングシステム」には、ＯＳ３１０Ｐ及びコピー制御プログラム３６０Ｐが対応する。「第１プログラム」には、ＶＴＬＳ３５０Ｐが対応する。「第２オペレーティングシステム」には、ＯＳ３１０Ｓが対応する。「第２プログラム」には、コピー制御プログラム３６０Ｓが対応する。「第３プログラム」には、ＶＴＲプログラム３３０Ｓが対応する。「第４プログラム」には、ＶＴＲプログラム３３０ＰまたはＶＴＷプログラム３４０Ｐのいずれか又は両方が対応する。
【００８５】
図６〜図８に基づいて、本実施例で使用される各種情報の構成例を説明する。本実施例では、例えば、「○○テーブル」、「○○データベース」、「○○リスト」、「○○キュー」のような表現を用いて、本実施例の各種情報について説明することがある。しかし、本実施例で使用される各種情報は、必ずしもテーブル、データベース、リストまたはキューのようなデータ構造である必要はなく、それ以外の構造であってもよい。つまり、本実施例で使用される各種情報は、特定のデータ構造に依存しない。なお、本実施例で使用される各種情報を説明する場合に、例えば、「識別情報」、「識別子」、「ＩＤ」、「名」等の各種表現を用いることがあるが、それら各種表現は互いに置換可能である。
【００８６】
図６は、ＶＴＬＳテーブルＴ１０を示す。図中、仮想テープをＶＴと略記する。ＶＴＬＳテーブルＴ１０は、例えば、仮想テープ番号Ｃ１０と、仮想テープ名Ｃ１１と、格納先Ｃ１２と、ライトマーカ書込先Ｃ１３とを対応付けて管理する。
【００８７】
仮想テープ番号Ｃ１０は、各仮想テープに設定された連続番号である。仮想テープ名Ｃ１１は、各仮想テープを識別するための情報である。格納先Ｃ１２は、仮想テープが記憶されている場所を示す情報である。格納先Ｃ１２は、例えば、ボリューム識別子（図中、ＶＯＬ−ＩＤ）Ｃ１２０と、スタートアドレスＣ１２１と、エンドアドレスＣ１２２とを含む。
【００８８】
ボリューム識別子Ｃ１２０は、仮想テープを格納している論理ボリュームを識別するための情報である。スタートアドレスＣ１２１は、格納先ボリューム内で仮想テープが記憶されている先頭アドレスを示す。エンドアドレスＣ１２２は、仮想テープの終了アドレスを示す。
【００８９】
各項目Ｃ１２０〜Ｃ１２２を含む格納先Ｃ１２によって、どの仮想テープがどの論理ボリューム２２１のどこに記憶されているかを把握できる。図６に示すように、一つの論理ボリューム２２１（ＶＯＬ１）に、それぞれ異なる複数の仮想テープ（ＶＴ−ＡＢＣ０１，ＶＴ−ＤＥＦ０２）を記憶させることができる。さらに、一つの仮想テープ（ＶＴ−ＡＢＣ０１）を、同一の論理ボリューム２２１（ＶＯＬ１）内の別々の場所に保存させることができる。さらに、一つの仮想テープ（ＶＴ−ＤＥＦ０２）を、異なる複数の論理ボリューム２２１（ＶＯＬ１，ＶＯＬ２）に分散させて記憶させることもできる。
【００９０】
ある仮想テープについて参照禁止または／及び書込み禁止が設定された場合でも、その仮想テープと同一の論理ボリューム２２１内に存在する他の仮想テープは、参照または書込みすることができる。ＶＴＬＳ３５０Ｐ，３５０Ｓにより、各仮想テープはそれぞれ独立して管理されている。
【００９１】
ライトマーカ書込先Ｃ１３は、後述のライトマーカ４１０（図１０参照）の書込先を管理するための情報である。ライトマーカ書込先Ｃ１３は、例えば、ボリューム識別子Ｃ１３０と、スタートアドレスＣ１３１と、エンドアドレスＣ１３２とを含む。
【００９２】
ボリューム識別子Ｃ１３０は、ライトマーカ４１０が記憶されている論理ボリュームを識別する情報である。スタートアドレスＣ１３１は、ライトマーカ４１０の先頭アドレスを示す。エンドアドレスＣ１３２は、ライトマーカ４１０の終了アドレスを示す。各項目Ｃ１３０〜Ｃ１３２を含むライトマーカ書込先Ｃ１３によって、各仮想テープに関するライトマーカ４１０がどの論理ボリューム２２１のどこに記憶されているかを、把握することができる。
【００９３】
図７は、排他制御テーブルＴ２０を示す。排他制御テーブルＴ２０は、対象データ（仮想テープ）へのアクセスを制御するためのテーブルである。排他制御テーブルＴ２０は、例えば、対象データ名Ｃ２０と、制御種別Ｃ２１とを含む。対象データ名Ｃ２０は、アクセス制御の対象となるデータを特定するための情報である。制御種別Ｃ２１は、対象データに対するアクセス制御の種別を示す情報である。
【００９４】
制御種別Ｃ２１は、例えば、ライトエンキュー及びリードエンキューを含む。ライトエンキューまたはリードエンキューのいずれかを示す種別Ｃ２１０と、対象データへのＩ／Ｏの種別Ｃ２１１とは、図７に示すように以下の関係にある。
【００９５】
対象データにライトエンキューが設定されている場合、その対象データへのリードアクセス及びライトアクセスの両方が禁止される。つまり、その対象データは、参照禁止及び更新禁止の状態となる。
【００９６】
対象データにリードエンキューが設定されている場合、その対象データへのリードアクセスは許可されるが、ライトアクセスは禁止される。つまり、その対象データは、書込み禁止状態になる。
【００９７】
対象データとしての仮想テープが更新される場合、その仮想テープについてライトエンキューが設定される。ライトエンキューの設定された仮想テープには、その仮想テープの更新を希望したプログラムのみがアクセス可能であり、他のプログラムはアクセスすることができない。
【００９８】
これに対し、別のプログラムが仮想テープの参照を希望した場合、その仮想テープにはリードエンキューが設定される。リードエンキューの設定された仮想テープからは、参照を希望したプログラム及び他のプログラムがデータを読み出すことができる。参照元プログラム以外の他のプログラムは、リードエンキューの設定された仮想テープを参照することはできるが、その仮想テープを更新することはできない。
【００９９】
上述の機能に着目すると、ライトエンキュー及びリードエンキューは、対象データへのアクセスを制御するためのアクセス制御情報である。さらには、ライトエンキューは、対象データについて、書込み元プログラム以外の参照及び更新を禁止させるための第１アクセス制御情報であると言える。リードエンキューは、対象データについて、更新を禁止させ、参照は許可させるための第２アクセス制御情報であると言える。
【０１００】
図８は、デキュー待ちテーブルＴ３０を示す。デキューとは、エンキューを解除させるための情報である。例えば、ライトエンキューの設定された仮想テープは、そのライトエンキューを解除させるためのデキューが発行されるまでの間、他のプログラムによる参照及び更新が禁止される。
【０１０１】
デキュー待ちテーブルＴ３０は、デキューの発行を待っている仮想テープを管理するためのテーブルである。従って、デキュー待ちテーブルＴ３０には、デキュー待ちの仮想テープの名称が記録される。
【０１０２】
図９は、メインホスト１０Ｐにおける、コピー制御プログラム３６０ＰとＶＴＬＳ３５０Ｐ及びＯＳ３１０Ｐ等との関係を模式的に示す。正ボリューム２２１Ｐ内の仮想テープを更新する場合、ＶＴＷプログラム３４０Ｐが更新対象の仮想テープ名を指定して、ＶＴＬＳ３５０Ｐに更新指示を与える。
【０１０３】
ＶＴＷプログラム３４０Ｐからの更新指示を受けて、ＶＴＬＳ３５０Ｐは、コピー制御プログラム３６０Ｐに、ライト開始通知４００を発行する。ライト開始通知４００は、仮想テープの更新開始を示す情報である。ライト開始通知４００は、例えば、対象の仮想テープ名４０１と、処理開始（エンキュー）または処理終了（デキュー）のいずれあるかを示す区分４０２と、マーカ格納先アドレス４０３とを含む。マーカ格納先アドレス４０３とは、コピー制御プログラム３６０Ｐにより作成されるライトマーカ４１０の格納場所を示す情報である。
【０１０４】
コピー制御プログラム３６０Ｐは、ライト開始通知４００を受領すると、そのライト開始通知４００に基づいてライトマーカ４１０を作成する。コピー制御プログラム３６０Ｐは、ライトマーカ４１０をＯＳ３１０Ｐに引き渡し、所定の格納先（マーカ格納先アドレス４０３）に書き込むように指示する。
【０１０５】
ここで、ＤＲストレージシステム２０Ｓに更新開始を知らせるためのライトマーカ４１０は、ライト開始マーカと呼ばれる。更新終了を知らせるためのライトマーカ４１０は、ライト終了マーカと呼ばれる。ライトマーカとは、ライト開始マーカとライト終了マーカを含む総称である。
【０１０６】
ＯＳ３１０Ｐは、ライトマーカを指示された場所（ここでは、ジャーナルボリューム２２１Ｊ内の所定のアドレス）に書き込む。その後、ＶＴＬＳ３５０Ｐは、ＶＴＷプログラム３４０Ｐから渡されるライトデータ（業務データ）をテープ形式のデータに変換し、そのテープ形式のライトデータを、ＯＳ３１０Ｐにより正ボリューム２２１Ｐ内の仮想テープに書き込ませる。さらに、ＶＴＬＳ３５０Ｐは、仮想テープに書き込まれるライトデータに基づいてジャーナルデータを作成し、そのジャーナルデータをＯＳ３１０Ｐによってジャーナルボリューム２２１Ｊに保存させる。
【０１０７】
仮想テープの更新が完了すると、ＶＴＬＳ３５０Ｐは、ライト終了通知を作成して、コピー制御プログラム３６０Ｐに送信する。ライト終了通知は、ライト開始通知と同一構造を有しており、その区分４０２に設定される値のみ相違する。
【０１０８】
コピー制御プログラム３６０Ｐは、ライト終了通知を受領すると、更新処理の終了を示すためのライト終了マーカを作成する。ライト終了マーカは、ＯＳ３１０Ｐを介してジャーナルボリューム２２１Ｊに書き込まれる。
【０１０９】
このように、正ボリューム２２１Ｐ内の仮想テープＶＴが更新される場合には、その更新の開始を示すライト開始マーカと、その更新の終了を示すライト終了マーカとが作成されて、ジャーナルボリューム２２１Ｊに格納される。ライト開始マーカ及びライト終了マーカは、通常のジャーナルデータと共に、ＤＲストレージシステム２０Ｓに送信されて保存される。
【０１１０】
図１０は、ライトマーカ４１０の構造を示す。図１０（１）に示すように、ライトマーカ４１０は、対象データである仮想テープを特定するための仮想テープ名４１１と、更新開始または更新終了のいずれであるかを示すための区分４１２とを含む。
【０１１１】
図１０（２）に示すように、ライト開始マーカでは、区分４１２に「ライト開始」と設定される。図１０（３）に示すように、ライト終了マーカでは、区分４１２に「ライト終了」と設定される。なお、説明の便宜上、「ライト開始」または「ライト終了」の文字コードが設定されるかのように示しているが、実際には、「１」または「０」のいずれかの値を設定するだけで、ライト開始とライト終了とを区別できる。
【０１１２】
図１１は、コピー制御プログラム３６０Ｐにより作成され、ＯＳ３１０Ｐに渡される更新Ｉ／Ｏ４２０の構造を示す。コピー制御プログラム３６０Ｐは、ＶＴＬＳ３５０Ｐからライト開始通知４００またはライト終了通知４００を受領すると、ライト開始マーカまたはライト終了マーカを作成し、それら各マーカの書込みをＯＳ３１０Ｐに要求する。その書込み要求時に作成される更新Ｉ／Ｏ４２０が、図１１に示されている。
【０１１３】
更新Ｉ／Ｏ４２０は、例えば、マーカＩ／Ｏフラグ４２１と、書込先アドレス４２２と、書込み対象データであるライトマーカ４１０とを含む。マーカＩ／Ｏフラグ４２１は、その更新Ｉ／Ｏ４２０がライトマーカ４１０の書込みを要求するためのＩ／Ｏであって、通常のライトデータの書込みとは異なることを示す情報である。つまり、マーカＩ／Ｏフラグ４２１は、ライトマーカと通常のライトデータとを区別する情報である。書込先アドレス４２２は、ライトマーカ４１０を書き込むべき記憶領域を特定する情報である。ライトマーカ４１０は、書込み対象のデータである。
【０１１４】
図１２〜図２９に基づいて、本実施例の動作を説明する。まず最初に、本実施例の理解のために、図１２〜図１４に基づいて全体動作の概要を説明し、続いて、個別の各処理の内容を説明する。なお、図１２〜図１４に示す概要は、本実施例の理解のために用意されたものであり、本発明の範囲を図１２〜図１４に示す範囲に限定する趣旨ではない。
【０１１５】
以下の説明では、便宜上、ホスト、または、コンピュータプログラムにより実現される機能部を主語として説明する。コンピュータプログラムは、マイクロプロセッサに読み込まれて実行され、通信インターフェース等のハードウェア資源を適宜用いることにより、所定の機能を実現する。従って、コンピュータプログラムまたはコンピュータプログラムにより実現される機能部を主語として、本実施例によるコンピュータシステムの動作を説明可能である。なお、コンピュータプログラムの一部または全部がハードウェア回路で実現されてもよい。
【０１１６】
図１２は、メインサイト１Ｐにおいて、仮想テープを更新させるまでの処理の概要を示している。ＡＣＫ応答等の細かいステップは図示を省略する。
【０１１７】
仮想テープを更新する場合、ＶＴＷプログラム３４０Ｐは、対象の仮想テープ名を指定して、ＶＴＬＳ３５０Ｐに更新を要求する（Ｓ１０）。以下、更新と作成の両方を含めて「更新」と呼ぶ。
【０１１８】
ＶＴＬＳ３５０Ｐは、ＶＴＷプログラム３４０Ｐからの指示を受けると、仮想テープ名を指定して、ＯＳ３１０Ｐにライトエンキューの取得を要求する（Ｓ１２）。ＯＳ３１０Ｐは、指定された仮想テープを他のプログラムが使用していない場合、その仮想テープについてライトエンキューを設定する。これにより、他のプログラムは、その仮想テープへの参照及び更新の両方が禁止される。つまり、ＶＴＬＳ３５０Ｐのみが、その仮想テープを排他的に利用できる。仮想テープを排他的に利用する状態を、図１２〜図１４では、太い実線で示している。
【０１１９】
ＶＴＬＳ３５０Ｐは、ライトエンキューの取得を確認すると、コピー制御プログラム３６０Ｐにライト開始通知４００を送信する（Ｓ１３）。コピー制御プログラム３６０Ｐはライト開始マーカ４１０を作成し、ＯＳ３１０Ｐに引き渡す（Ｓ１４）。ＯＳ３１０Ｐは、受領したライト開始マーカ４１０をメインストレージシステム２０Ｐに送信する。
【０１２０】
メインストレージシステム２０Ｐは、受信したライト開始マーカ４１０にタイムスタンプを対応付けて、ジャーナルボリューム２２１Ｊに格納させる（Ｓ１５）。タイムスタンプは、「順序情報」に該当する。タイプスタンプに代えて、書込みの順番を示す連続番号を用いてもよい。
【０１２１】
ＶＴＬＳ３５０Ｐは、ライト開始マーカ４１０が発行されたことを確認すると、ＶＴＷプログラム３４０Ｐから渡される業務データをテープ形式のデータに変換して、そのテープ形式のデータをライトデータとして、ＯＳ３１０Ｐに送る（Ｓ１６）。
【０１２２】
ＯＳ３１０Ｐは、ライトデータをメインストレージシステム２０Ｐに送信する。メインストレージシステム２０Ｐは、受信したライトデータを正ボリューム２２１Ｐ内の仮想テープに書き込む（Ｓ１７）。さらに、メインストレージシステム２０Ｐは、受信したライトデータにタイムスタンプを対応付けて、ジャーナルデータを作成し、そのジャーナルデータをジャーナルボリューム２２１Ｊに格納させる（Ｓ１７）。
【０１２３】
ＶＴＬＳ３５０Ｐは、仮想テープの更新が完了すると、ライト終了通知４００を作成してコピー制御プログラム３６０Ｐに送る（Ｓ１８）。コピー制御プログラム３６０Ｐは、ライト終了マーカ４１０を作成してＯＳ３１０Ｐに送る（Ｓ１９）。ＯＳ３１０Ｐは、ライト終了マーカ４１０をメインストレージシステム２０Ｐに送信する。メインストレージシステム２０Ｐは、ライト終了マーカ４１０をタイムスタンプに対応付けてジャーナルボリューム２２１Ｊに格納させる（Ｓ２０）。
【０１２４】
ＶＴＬＳ３５０Ｐは、ライト終了マーカ４１０の発行を確認すると、ＯＳ３１０Ｐにライトエンキューの解除を要求する（Ｓ２１）。これにより、仮想テープの更新が完了し、排他制御が解除される。メインホスト１０Ｐ内の他のプログラムは、その仮想テープを参照または更新することができる。
【０１２５】
図１３は、ＤＲサイト１Ｓにおいて、メインサイト１Ｐから受信したジャーナルデータにより、副側の仮想テープを更新させる処理を示す。メインストレージシステム２０ＰからＤＲストレージシステム２０Ｓには、ジャーナルデータが非同期リモートコピー方式で送信される。そのジャーナルデータの中には、ライト開始マーカ４１０も含まれている（Ｓ３１）。
【０１２６】
ＤＲストレージシステム２０Ｓは、ジャーナルボリューム２２１Ｊ（以下、図１３の説明において、ジャーナルボリューム２２１ＪとはＤＲストレージシステム２０Ｓ内のジャーナルボリュームを示す。）に蓄積されたジャーナルデータを一つずつ取り出して、格上げ処理（仮想テープの更新処理のことである）を開始する。
【０１２７】
ＤＲストレージシステム２０Ｓは、ジャーナルボリューム２２１Ｊから取り出したジャーナルデータがライト開始マーカ４１０であった場合（Ｓ３２）、ＤＲストレージシステム２０Ｓは、ＤＲホスト１０ＳのＯＳ３１０Ｓに、ライト開始マーカ４１０が到着した旨を通知する。仮想テープについての格上げ処理は、いったん中止される。
【０１２８】
ＯＳ３１０Ｓは、コピー制御プログラム３６０Ｓに、ライト開始マーカの到着を通知する（Ｓ３３）。コピー制御プログラム３６０Ｓは、ＯＳ３１０Ｓに、更新対象となっている副側の仮想テープを指定して、ライトエンキューの取得を要求する（Ｓ３４）。
【０１２９】
ＯＳ３１０Ｓが対象の仮想テープについてライトエンキューを設定すると、コピー制御プログラム３６０Ｓは、ＤＲストレージシステム２０Ｓに、格上げ処理の再開を指示する（Ｓ３５）。再開指示は、ＯＳ３１０Ｓを介してＤＲストレージシステム２０Ｓに送信される。その再開指示を受領したＤＲストレージシステム２０Ｓは、ジャーナルボリューム２２１Ｊからジャーナルデータを読み出して、それが作成された順番通りに、副ボリューム２２１Ｓ内の仮想テープに書き込む（Ｓ３６）。
【０１３０】
仮想テープについてライトエンキューが設定された後で、例えば、ＶＴＲプログラム３３０ＳがＶＴＬＳ３５０Ｓに仮想テープの参照を要求した場合（Ｓ３７）、ＯＳ３１０Ｓは、その参照要求（リード要求）を拒否する（Ｓ３８）。その仮想テープについて既にライトエンキューが設定されており、参照も更新も禁止されているためである。
【０１３１】
メインストレージシステム２０ＰからＤＲストレージシステム２０Ｓに、ライト終了マーカ４１０が送信されて、ジャーナルボリューム２２１Ｊに記憶される（Ｓ３９）。ＤＲストレージシステム２０Ｓは、ライト終了マーカ４１０を発見すると（Ｓ４０）、ＯＳ３１０Ｓに通知する。
【０１３２】
ＯＳ３１０Ｓは、コピー制御プログラム３６０Ｓに、ライト終了マーカ４１０の検出を通知する（Ｓ４１）。コピー制御プログラム３６０Ｓは、ＯＳ３１０Ｓに、ライトエンキューの解放を要求する。ＯＳ３１０Ｓは、排他制御対象であった副側の仮想テープについて、排他制御を終了させる（Ｓ４２）。つまり、ＯＳ３１０Ｓは、ライトエンキューを解放する。
【０１３３】
その後、ＶＴＲ３３０Ｓが、副側の仮想テープからのデータ読み出しを要求すると（Ｓ４３）、ＯＳ３１０Ｓは、その要求に応じて、ＤＲストレージシステム２０ＳにリードＩ／Ｏを発行する。
【０１３４】
このように、本実施例では、副側の仮想テープについて格上げ処理（更新処理）を行っている間は、その仮想テープのデータの利用を禁止するが、格上げ処理が行われていない期間では、その仮想テープの利用を許可する。従って、ＤＲホスト１０Ｓ内のプログラムは、許可された期間内に仮想テープのデータを解析し、基幹業務の実態等を調査することができる。
【０１３５】
図１４は、ＤＲサイト１Ｓにおいて、副側の仮想テープについての格上げ処理を開始するよりも前に、他のプログラム３３０Ｓがその仮想テープを使用している場合の処理を示している。
【０１３６】
図１４の下側に示すように、ＶＴＲプログラム３３０Ｓは、副側の仮想テープの参照をＶＴＬＳ３５０Ｓに要求する（Ｓ５０）。ＶＴＬＳ３５０Ｓは、ＯＳ３１０Ｓに、その仮想テープについてのリードエンキューを要求する。ＯＳ３１０Ｓは、その仮想テープについてリードエンキューを設定する（Ｓ５１）。これにより、その仮想テープについては、読み出しのみが許可され、更新は禁止される。
【０１３７】
その後、メインストレージシステム２０ＰからＤＲストレージシステム２０Ｓにライト開始マーカ４１０がジャーナルデータの一つとして送信され（Ｓ５２）、ＤＲストレージシステム２０Ｓは、ライト開始マーカ４１０の到着を検出する（Ｓ５３）。ライト開始マーカ４１０を発見した時点で、格上げ処理はいったん中止される。
【０１３８】
ＤＲストレージシステム２０Ｓは、ＯＳ３１０Ｓを介してコピー制御プログラム３６０Ｓに、ライト開始マーカ４１０の到着を通知する。コピー制御プログラム３６０Ｓは、ＯＳ３１０Ｓに、指定された仮想テープについてのライトエンキューの設定を要求する。しかし、Ｓ５１において、その仮想テープには、ＶＴＲプログラム３３０Ｓによって、リードエンキューが設定されている。従って、ＯＳ３１０Ｓは、コピー制御プログラム３６０Ｓからのライトエンキュー設定に失敗した旨を応答する（Ｓ５４）。
【０１３９】
つまり、先に仮想テープが他のプログラムにより使用されている場合、他のプログラムによる使用が終了するまで、その仮想テープについて格上げ処理を行うことはできず、待機状態に置かれる。
【０１４０】
その後、ＶＴＲプログラム３３０Ｓによる仮想テープの参照が終了すると、ＯＳ３１０Ｓは、仮想テープについてのリードエンキューを解放する（Ｓ５５）。コピー制御プログラム３６０Ｓは、ＯＳ３１０Ｓに、仮想テープについてのライトエンキューの取得を再び要求する（Ｓ５６）。ＯＳ３１０Ｓは、その仮想テープについてライトエンキューを設定する（Ｓ５７）。
【０１４１】
コピー制御プログラム３６０Ｓは、仮想テープについてのライトエンキュー取得を確認すると、ＤＲストレージシステム２０Ｓに格上げ処理の再開を指示する（Ｓ５８）。ＤＲストレージシステム２０Ｓは、再開指示を受領すると、仮想テープについての格上げ処理を再開する（Ｓ５９）。その後、ライト終了マーカ４１０が検出されると（Ｓ６０，Ｓ６１）、仮想テープについてのライトエンキューが解放される。
【０１４２】
図１５は、メインホスト１０Ｐ内のＶＴＬＳ３５０Ｐにより実行される、仮想テープの作成または更新処理を示すフローチャートである。ＶＴＬＳ３５０Ｐは、ＶＴＷプログラム３４０Ｐから指定された仮想テープ名がＶＴＬＳテーブルＴ１０に記載されているか否かを判定する（Ｓ１００）。
【０１４３】
指定された仮想テープ名がＶＴＬＳテーブルＴ１０に記載されていない場合（S100:NO）、ＶＴＬＳ３５０Ｐは、処理に失敗した旨をＶＴＷプログラム３４０Ｐに通知し（Ｓ１０１）、本処理を終了する。
【０１４４】
指定された仮想テープ名がＶＴＬＳテーブルＴ１０に記載されている場合（S100:YES）、ＶＴＬＳ３５０Ｐは、指定された仮想テープについてのライトエンキューの取得をＯＳ３１０Ｐに要求する（Ｓ１０２）。ＶＴＬＳ３５０Ｐは、ライトエンキューの取得が成功するまで待機する（Ｓ１０３）。
【０１４５】
ＯＳ３１０Ｐがライトエンキューの取得に成功すると（S103:YES）、ＶＴＬＳ３５０Ｐは、ＶＴＬＳテーブルＴ１０から、仮想テープの格納先を示す情報Ｃ１２を取得する（Ｓ１０４）。ＶＴＬＳ３５０Ｐは、ライト開始通知４００を作成して、コピー制御プログラム３６０Ｐに更新開始を通知する（Ｓ１０５）。
【０１４６】
続いて図１６のフローチャートを参照する。ＶＴＬＳ３５０Ｐは、コピー制御プログラム３６０ＰからのＯＫを待つ（Ｓ１０６）。Ｓ１０６におけるＯＫとは、コピー制御プログラム３６０Ｐによってライト開始マーカ４１０が正常に発行されたことを示す処理結果である。何らかの原因により、ライト開始マーカ４１０の発行が失敗した場合（S106:NO）、ＶＴＬＳ３５０Ｐは、ＶＴＷプログラム３４０Ｐに、処理が失敗した旨を通知する（Ｓ１０７）。
【０１４７】
ライト開始マーカ４１０が発行された場合（S106:YES）、ＶＴＬＳ３５０Ｐは、ＶＴＷプログラム３４０Ｐから渡された業務データをテープ形式のデータに変換し、ＯＳ３１０Ｐに更新Ｉ／Ｏ（ライトＩ／Ｏ）を発行する（Ｓ１０８）。これにより、テープ形式のライトデータがＯＳ３１０Ｐからメインストレージシステム２０Ｐに送信され、仮想テープに書き込まれる。さらに、そのライトデータに基づいてジャーナルデータが作成され、メインストレージシステム２０Ｐ内のジャーナルボリューム２２１Ｊに格納される。
【０１４８】
仮想テープの更新が完了すると、ＶＴＬＳ３５０Ｐは、ライト終了通知４００を作成してコピー制御プログラム３６０Ｐに送信する（Ｓ１０９）。この通知を受けたコピー制御プログラム３６０Ｐは、ライト終了マーカ４１０を作成してＯＳ３１０Ｐに送り、メインストレージシステム２０Ｐ内のジャーナルボリューム２２１Ｊに格納させる。ＶＴＬＳ３５０Ｐは、ライト終了マーカ４１０の発行を確認した後で、ライトエンキューの解放をＯＳ３１０Ｐに要求する（Ｓ１１０）。ＶＴＬＳ３５０Ｐは、ＶＴＷプログラム３４０Ｐに、処理が正常に完了した旨を通知する（Ｓ１１１）。
【０１４９】
図１７は、ＯＳ３１０Ｐ，３１０Ｓにより実行される、ライトエンキューの取得処理を示す。以下、ＯＳ３１０Ｐを主語として述べるが、副側のＯＳ３１０Ｓも本処理を同様に行うことができる。なお、図１７〜図２０に示す各処理についても、正側のＯＳ３１０Ｐ及び副側のＯＳ３１０Ｓがそれぞれ実行可能である。しかし、説明の便宜上、主語をＯＳ３１０Ｐとする。
【０１５０】
ＯＳ３１０Ｐは、指定された対象データ名ｄ１を検出する（Ｓ１２０）。ＯＳ３１０Ｐは、対象データ名ｄ１が排他制御テーブルＴ２０に登録されているか否かを判定する（Ｓ１２１）。
【０１５１】
対象データ名ｄ１が排他制御テーブルＴ２０に登録されていない場合（S121:NO）、ＯＳ３１０Ｐは、排他制御テーブルＴ２０にデータ名ｄ１及び制御種別（ここでは、ライトエンキューである）を登録する（Ｓ１２２）。ＯＳ３１０Ｐは、ライトエンキューの発行元に、処理が完了した旨を報告する（Ｓ１２３）。
【０１５２】
対象データ名ｄ１が排他制御テーブルＴ２０に登録されている場合（S121:YES）、ＯＳ３１０Ｐは、登録済のデータ名ｄ１について更新禁止が設定されているか否かを確認する（Ｓ１２４）。更新禁止が設定されている場合（S124:YES）、別のプログラムにより、その対象データ名ｄ１についてライトエンキューが設定されている場合なので、ＯＳ３１０Ｐは、ライトエンキューの発行元に、ライトエンキューの取得に失敗した旨を通知する（Ｓ１２５）。
【０１５３】
排他制御テーブルＴ２０に登録済のデータ名ｄ１に、更新禁止が設定されていない場合（S124:NO）、ＯＳ３１０Ｐは、排他制御テーブルＴ２０において、対象データ名ｄ１にライトエンキューを設定する（Ｓ１２２）。なお、本実施例では、図７について述べた通り、リードエンキューが設定されたデータ（仮想テープのデータ）を更新することはできない。従って、殆どの場合、Ｓ１２４では「ＮＯ」と判定される。
【０１５４】
図１８は、ライトエンキューを解放させる処理を示す。ＯＳ３１０Ｐは、指定された対象データ名ｄ１を検出し（Ｓ１３０）、そのデータ名ｄ１が排他制御テーブルＴ２０に登録されているか否かを判定する（Ｓ１３１）。
【０１５５】
対象データ名ｄ１が排他制御テーブルＴ２０に登録されている場合（S131:YES）、ＯＳ３１０Ｐは、排他制御テーブルＴ２０から対象データ名ｄ１を含む行を削除する（Ｓ１３２）。これにより、対象データ名ｄ１に関するライトエンキューが解放され、アクセス制限が解除される。ＯＳ３１０Ｐは、ライトエンキュー解放の要求元に、ライトエンキューの解放に成功した旨を通知する（Ｓ１３３）。
【０１５６】
これに対し、対象データ名ｄ１が排他制御テーブルＴ２０に登録されていない場合（S131:NO）、ＯＳ３１０Ｐは、ライトエンキュー解放の要求元に、処理に失敗した旨を通知する（Ｓ１３４）。
【０１５７】
図１９は、リードエンキューを取得する処理を示す。ＯＳ３１０Ｐは、ＶＴＲプログラム３３０Ｐから指定される対象データ名ｄ１を検出する（Ｓ１４０）。ＯＳ３１０Ｐは、その対象データ名ｄ１が排他制御テーブルＴ２０に登録されているか否かを判定する（Ｓ１４１）。
【０１５８】
対象データ名ｄ１が排他制御テーブルＴ２０に登録されていない場合（S141:NO）、ＯＳ３１０Ｐは、対象データ名ｄ１及び制御種別（ここでは、リードエンキュー）を排他制御テーブルＴ２０に登録する（Ｓ１４２）。ＯＳ３１０Ｐは、リードエンキューの要求元に、処理が正常に完了した旨を通知する（Ｓ１４３）。
【０１５９】
対象データ名ｄ１が排他制御テーブルＴ２０に登録されていない場合（S141:YES）、ＯＳ３１０Ｐは、排他制御テーブルＴ２０に登録されている対象データ名ｄ１について更新禁止が設定されているか否かを確認する（Ｓ１４４）。
【０１６０】
対象データ名ｄ１に更新禁止が設定されている場合（S144:YES）、他のプログラムによって、対象データ名ｄ１に関するライトエンキューまたはリードエンキューが既に設定されている場合である。従って、ＯＳ３１０Ｐは、リードエンキューの要求元に、処理に失敗した旨を通知する（Ｓ１４５）。
【０１６１】
図２０は、リードエンキューを解放させる処理を示す。ＯＳ３１０Ｐは、指定された対象データ名ｄ１を検出すると（Ｓ１５０）、そのデータ名ｄ１が排他制御テーブルＴ２０に登録されているか否かを判定する（Ｓ１５１）。
【０１６２】
対象データ名ｄ１が排他制御テーブルＴ２０に登録されている場合（S151:YES）、ＯＳ３１０Ｐは、対象データ名ｄ１を含む行を排他制御テーブルＴ２０から削除する（Ｓ１５２）。ＯＳ３１０Ｐは、リードエンキュー解放の要求元に、リードエンキューの解放に成功した旨を通知する（Ｓ１５３）。
【０１６３】
対象データ名ｄ１が排他制御テーブルＴ２０に登録されていない場合（S151:NO）、ＯＳ３１０Ｐは、リードエンキュー解放の要求元に、リードエンキューの解放に失敗した旨を報告する（Ｓ１５４）。
【０１６４】
図２１は、メインホスト１０Ｐ内のコピー制御プログラム３６０Ｐにより実行される、ライト開始マーカの作成処理を示す。コピー制御プログラム３６０Ｐは、ＶＴＬＳ３５０Ｐから受け取る通知４００の種別がライト開始通知であるか、それともライト終了通知であるかを判別する（Ｓ１６０）。
【０１６５】
ライト開始通知の場合、コピー制御プログラム３６０Ｐは、ライト開始マーカ４１０を作成する（Ｓ１６１）。コピー制御プログラム３６０Ｐは、ライト開始マーカ４１０をメインストレージシステム２０Ｐ内のジャーナルボリューム２２１Ｊに書き込ませるための、ライトＩ／Ｏ４２０を生成する（Ｓ１６２）。コピー制御プログラム３６０Ｐは、ライトＩ／Ｏ４２０をＯＳ３１０Ｐに送る（Ｓ１６３）。ＯＳ３１０Ｐは、ライトＩ／Ｏ４２０をメインストレージシステム２０Ｐに送信する。
【０１６６】
コピー制御プログラム３６０Ｐは、ＯＳ３１０ＰからライトＩ／Ｏ４２０の処理が完了した旨の通知を受領する（Ｓ１６４）。コピー制御プログラム３６０Ｐは、ＶＴＬＳ３５０Ｐにライト開始マーカ４１０が正常に発行されたことを報告する（Ｓ１６５）。
【０１６７】
図２２は、メインホスト１０Ｐ内のコピー制御プログラム３６０Ｐにより実行される、ライト終了マーカの作成処理を示す。コピー制御プログラム３６０Ｐは、ＶＴＬＳ３５０Ｐから受け取る通知４００の種別がライト開始通知であるか、それともライト終了通知であるかを判別する（Ｓ１７０）。
【０１６８】
ライト終了通知の場合、コピー制御プログラム３６０Ｐは、ライト終了マーカ４１０を作成する（Ｓ１７１）。コピー制御プログラム３６０Ｐは、ライト終了マーカ４１０をメインストレージシステム２０Ｐ内のジャーナルボリューム２２１Ｊに書き込ませるための、ライトＩ／Ｏ４２０を生成する（Ｓ１７２）。コピー制御プログラム３６０Ｐは、ライトＩ／Ｏ４２０をＯＳ３１０Ｐに送る（Ｓ１７３）。ＯＳ３１０Ｐは、ライトＩ／Ｏ４２０をメインストレージシステム２０Ｐに送信する。
【０１６９】
コピー制御プログラム３６０Ｐは、ＯＳ３１０ＰからライトＩ／Ｏ４２０の処理が完了した旨の通知を受領する（Ｓ１７４）。コピー制御プログラム３６０Ｐは、ＶＴＬＳ３５０Ｐにライト終了マーカ４１０が正常に発行されたことを報告する（Ｓ１７５）。
【０１７０】
図２３は、ＶＴＬＳ３５０Ｐ，３５０Ｓにより実行される、仮想テープの参照処理（リード処理）を示す。以下の説明では、ＶＴＬＳ３５０Ｐを主語として説明する。ＶＴＬＳ３５０Ｐは、ＶＴＲプログラム３３０Ｐから指定された仮想テープの名称がＶＴＬＳテーブルＴ１０に登録されているか否かを判定する（Ｓ１８０）。指定された仮想テープ名がＶＴＬＳテーブルＴ１０に登録されていない場合（S180:NO）、ＶＴＬＳ３５０Ｐは、ＶＴＲプログラム３３０Ｐに、リード処理に失敗した旨を通知する（Ｓ１８１）。
【０１７１】
指定された仮想テープ名がＶＴＬＳテーブルＴ１０に登録されている場合（S180:YES）、ＶＴＬＳ３５０Ｐは、その仮想テープ名についてのリードエンキューの取得を、ＯＳ３１０Ｐに要求する（Ｓ１８２）。その要求を受けたＯＳ３１０Ｐは、リードエンキューの取得を試みる。
【０１７２】
ＯＳ３１０Ｐがリードエンキューの取得に成功すると（S183:YES）、ＶＴＬＳ３５０Ｐは、ＶＴＬＳテーブルＴ１０から仮想テープの格納先を示す情報Ｃ１２を取得する（Ｓ１８４）。ＶＴＬＳ３５０Ｐは、仮想テープからデータを読み出すためのリードＩ／Ｏ４２０を生成し、そのリードＩ／ＯをＯＳ３１０Ｐに送る（Ｓ１８５）。
【０１７３】
ＯＳ３１０Ｐは、リードＩ／Ｏ４２０をメインストレージシステム２０Ｐに送信し、メインストレージシステム２０Ｐから所望のデータを受信する。ＯＳ３１０Ｐは、受信データをＶＴＬＳ３５０Ｐに引き渡す。
【０１７４】
仮想テープから所望のデータを読み出したＶＴＬＳ３５０Ｐは、ＯＳ３１０Ｐに、リードエンキューの解放を指示する（Ｓ１８６）。ＶＴＬＳ３５０Ｐは、ＶＴＲプログラム３３０Ｐに、仮想テープについてのリード処理が完了した旨を通知する（Ｓ１８６）。
【０１７５】
図２４は、メインサイト１Ｐにおいて実行されるライト処理を示す。本処理は、ライトマーカについても同様に適用される。メインストレージシステム２０Ｐは、メインホスト１０Ｐからライトデータを受信する（Ｓ１９０）。メインストレージシステム２０Ｐは、ライトデータを正ボリューム２２１Ｐ内の仮想テープに書き込む（Ｓ１９１）。
【０１７６】
続いて、メインストレージシステム２０Ｐは、ライトデータ及びタイムスタンプをジャーナルデータとして、メインストレージシステム２０Ｐ内のジャーナルボリューム２２１Ｊに格納させる（Ｓ１９２）。ライトマーカ（ライト開始マーカ及びライト終了マーカ）も、ジャーナルデータの一つとしてジャーナルボリューム２２１Ｊに記憶される。
【０１７７】
図２５は、メインストレージシステム２０ＰからＤＲストレージシステム２０Ｓに、ジャーナルデータを非同期リモートコピーによって送信する処理を示す。メインストレージシステム２０Ｐは、未だ転送していないジャーナルデータがあるか否かを判定する（Ｓ２００）。未転送のジャーナルデータがある場合（S200:YES）、メインストレージシステム２０Ｐは、そのジャーナルデータをＤＲストレージシステム２０Ｓに向けて送信する（Ｓ２０１）。
【０１７８】
図２６は、ＤＲストレージシステム２０Ｓにより実行される、ジャーナルデータの受け付け処理を示す。ＤＲストレージシステム２０Ｓは、メインストレージシステム２０Ｐから受領したジャーナルデータを、ＤＲストレージシステム２０Ｓ内のジャーナルボリューム２２１Ｊに格納させる（Ｓ２１０）。
【０１７９】
図２７は、ＤＲストレージシステム２０Ｓにより実行される、ジャーナルデータの格上げ処理を示す。上述のように、本実施例における格上げ処理とは、受信した各ジャーナルデータを正しい順番で副側の仮想テープに書き込む処理である。つまり、副側の仮想テープの内容を更新させる処理である。
【０１８０】
ＤＲストレージシステム２０Ｓは、未処理のライトデータとしてｎＷＤを設定し（Ｓ２２０）、以下のステップをｎＷＤ回繰り返す（Ｓ２２１）。最初に、ＤＲストレージシステム２０Ｓは、ＤＲストレージシステム２０Ｓ内のジャーナルボリューム２２１Ｊに蓄積されている未処理のライトデータのうち、最古のライトデータを対象データｄとして設定する（Ｓ２２２）。
【０１８１】
ＤＲストレージシステム２０Ｓは、対象データｄを副ボリューム２２１Ｓ内の仮想テープに書き込んだ後、対象データｄをＤＲストレージシステム２０Ｓ内のジャーナルボリューム２２１Ｊから削除させる（Ｓ２２３）。
【０１８２】
ＤＲストレージシステム２０Ｓは、対象データｄがライト開始マーカであったか否かを判定する（Ｓ２２４）。ライト開始マーカの場合（S224:YES）、ＤＲストレージシステム２０Ｓは、ＯＳ３１０Ｓに、ライト開始マーカの到着を報告する（Ｓ２２５）。ＤＲストレージシステム２０Ｓは、ライト開始マーカの到着をＯＳ３１０Ｓに報告した後、本処理を終了する。つまり、格上げ処理はいったん中止される。
【０１８３】
対象データｄがライト開始マーカではない場合（S224:NO）、ＤＲストレージシステム２０Ｓは、対象データｄがライト終了マーカであったか否かを判定する（Ｓ２２６）。ライト終了マーカの場合（S226:YES）、ＤＲストレージシステム２０Ｓは、ＯＳ３１０Ｓに、ライト終了マーカを検出した旨を通知する（Ｓ２２７）。その後、Ｓ２２２に戻り、次のライトデータを対象データｄに設定して、上述のステップを繰り返す。
【０１８４】
図２８は、ＤＲホスト１０Ｓ内のコピー制御プログラム３６０Ｓにより実行される、ライトマーカ受信処理を示す。コピー制御プログラム３６０Ｓは、対象データｄとして、未処理のライトデータのうち最古のライトデータをセットする（Ｓ２３０）。
【０１８５】
コピー制御プログラム３６０Ｓは、対象データｄがライト開始マーカであるか否かを判定する（Ｓ２３１）。ライト開始マーカである場合（S231:YES）、コピー制御プログラム３６０Ｓは、ＯＳ３１０Ｓに、ライト開始マーカにより指定される仮想テープについて、ライトエンキューの取得を要求する（Ｓ２３２）。
【０１８６】
ＯＳ３１０Ｓがライトエンキューの取得に成功すると（S233:YES）、コピー制御プログラム３６０Ｓは、ＤＲストレージシステム２０Ｓに、格上げ処理の再開を指示する（Ｓ２３４）。
【０１８７】
ＯＳ３１０Ｓがライトエンキューの取得に失敗した場合（S233:NO）、コピー制御プログラム３６０Ｓは、対象データｄの名称（仮想テープ名）をデキュー待ちテーブルＴ３０に登録して（Ｓ２３５）、本処理を終了する。他のプログラムによって、その仮想テープが使用されているため、他のプログラムによる使用が終了するのを待つ。
【０１８８】
対象データｄがライト開始マーカではない場合（S231:NO）、コピー制御プログラム３６０Ｓは、対象データｄがライト終了マーカであるか否かを判定する（Ｓ２３６）。対象データｄがライト終了マーカの場合（S236:YES）、コピー制御プログラム３６０Ｓは、ＯＳ３１０Ｓに、ライト終了マーカで指定される仮想テープについて、ライトエンキューの解放を要求する（Ｓ２３７）。
【０１８９】
図２９は、ＤＲホスト１０Ｓ内のコピー制御プログラム３６０Ｓにより実行される、リードデキュー受信処理を示す。リードデキューとは、リードエンキューを解放させるための要求である。
【０１９０】
コピー制御プログラム３６０Ｓは、リードデキューを受信すると、リードデキュー内で指定された仮想テープ名が、デキュー待ちテーブルＴ３０に登録されている各仮想テープ名のいずれかと一致するか否かを判定する（Ｓ２４０）。
【０１９１】
リードデキューに含まれる仮想テープ名がデキュー待ちテーブルＴ３０に登録されている仮想テープ名と一致する場合（S240:YES）、コピー制御プログラム３６０Ｓは、デキュー待ちテーブルＴ３０から、その仮想テープ名を消去させる（Ｓ２４１）。
【０１９２】
コピー制御プログラム３６０Ｓは、対象データ名ｄに、リードデキューに含まれている仮想テープ名をセットし（Ｓ２４２）、ＤＲストレージシステム２０Ｓに、対象データｄの格上げ処理の再開を指示する（Ｓ２４３）。
【０１９３】
このように構成される本実施例では、正側の仮想テープが更新されている期間をライト開始マーカ及びライト終了マーカによって特定し、ジャーナルデータを用いてＤＲストレージシステム２０Ｓに通知する。そして、ＤＲストレージシステム２０Ｓは、ライト開始マーカ及びライト終了マーカの受領をＯＳ３１０Ｓに通知し、副側の仮想テープに関するアクセス制御を実行させる。
【０１９４】
これにより、ＤＲサイト１Ｓでは、副側の仮想テープの内容が正側の仮想テープの内容と整合性を保っている時期を明らかにすることができ、副側の仮想テープの内容を参照して解析等することができる。従って、バックアップデータとしての役割しか果たしていなかった副側の仮想テープを、より有効に使用することができ、コンピュータシステムの使い勝手が向上する。
【０１９５】
本実施例では、通常のジャーナルデータを非同期リモートコピーで送信する構成を利用して、正側の仮想テープの更新時期をＤＲストレージシステム２０Ｓに通知する。従って、コピー制御プログラム３６０Ｐ，３６０Ｓをホスト１０Ｐ，１０Ｓに追加し、さらに、ＤＲストレージシステム２０Ｓにライトマーカの検出機能を設けるだけで、使い勝手を向上させることができる。
【０１９６】
本実施例では、ＤＲサイト１Ｓ側で、あるプログラムが副側の仮想テープを利用している場合、その利用が終了するまで格上げ処理の開始を待機する。従って、あるプログラムが副側の仮想テープを利用（参照）している途中で、その仮想テープの内容が変化するのを防止できる。
【実施例２】
【０１９７】
図３０に基づいて第２実施例を説明する。本実施例は、第１実施例の変形例に該当するため、第１実施例との相違点を中心に説明する。
【０１９８】
図３０は、ＤＲホスト１０Ｓ内のコピー制御プログラム３６０Ｓによる実行される、未処理ライトデータの監視処理を示す。
【０１９９】
コピー制御プログラム３６０Ｓは、ＯＳ３１０Ｓを介して、格上げ処理に使用されていない未処理のライトデータ量ｎＷＤを取得する（Ｓ２５０）。コピー制御プログラム３６０Ｓは、未処理ライトデータ量ｎＷＤが、予め設定される所定の閾値Ｔｈ１を超えているか否かを判定する（Ｓ２５１）。
【０２００】
未処理ライトデータ量ｎＷＤが閾値Ｔｈ１を超えている場合（S251:YES）、コピー制御プログラム３６０Ｓは、管理装置３０Ｓにメッセージを出力する（Ｓ２５２）。そのメッセージには、格上げ処理が滞っていることをユーザに警告するための警告を含ませることができる。そのメッセージを受領したユーザは、副側の仮想テープの参照を中止させて、格上げ処理を再開させることができる。
【０２０１】
このように構成される本実施例も第１実施例と同様の効果を奏する。さらに、本実施例では、副側の仮想テープの利用が長引いて格上げ処理が滞った場合に、所定のメッセージを出力させることができる。従って、本実施例では、ＤＲサイト１Ｓにおけるコピーデータ（副側の仮想テープ）の利用と、そのコピーデータの更新処理とのバランスを保つことができ、より一層使い勝手が向上する。
【０２０２】
なお、本発明は、上述した実施形態に限定されない。当業者であれば、例えば、上記各実施例を適宜組み合わせる等のように、本発明の範囲内で、種々の追加や変更等を行うことができる。
【符号の説明】
【０２０３】
１Ｐ：メインサイト、１Ｓ：ディザスタリカバリ（ＤＲ）サイト、１０Ｐ：メインホスト、１０Ｓ：ＤＲホスト、２０Ｐ：メインストレージシステム、２０Ｓ：ＤＲストレージシステム、２２１Ｐ：正ボリューム、２２１Ｓ：副ボリューム、２２１Ｊ：ジャーナルボリューム、２２１Ａ：業務ボリューム、３１０Ｐ，３１０Ｓ：オペレーティングシステム、３２０Ｐ，３２０Ｓ：業務プログラム、３３０Ｐ，３３０Ｓ：仮想テープ参照プログラム、３４０Ｐ：仮想テープ作成／更新プログラム、３５０Ｐ，３５０Ｓ：仮想テープライブラリシステム、ＶＴ：仮想テープ
【図１】
2011008391.tif 000003
【図２】
2011008391.tif 000004
【図３】
2011008391.tif 000005
【図４】
2011008391.tif 000006
【図５】
2011008391.tif 000007
【図６】
2011008391.tif 000008
【図７】
2011008391.tif 000009
【図８】
2011008391.tif 000010
【図９】
2011008391.tif 000011
【図１０】
2011008391.tif 000012
【図１１】
2011008391.tif 000013
【図１２】
2011008391.tif 000014
【図１３】
2011008391.tif 000015
【図１４】
2011008391.tif 000016
【図１５】
2011008391.tif 000017
【図１６】
2011008391.tif 000018
【図１７】
2011008391.tif 000019
【図１８】
2011008391.tif 000020
【図１９】
2011008391.tif 000021
【図２０】
2011008391.tif 000022
【図２１】
2011008391.tif 000023
【図２２】
2011008391.tif 000024
【図２３】
2011008391.tif 000025
【図２４】
2011008391.tif 000026
【図２５】
2011008391.tif 000027
【図２６】
2011008391.tif 000028
【図２７】
2011008391.tif 000029
【図２８】
2011008391.tif 000030
【図２９】
2011008391.tif 000031
【図３０】
2011008391.tif 000032
【手続補正書】
【提出日】平成21年8月7日(2009.8.7)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０１６０
【補正方法】変更
【補正の内容】
【０１６０】
対象データ名ｄ１にライトエンキューが設定されている場合（S144:YES）、ＯＳ３１０Ｐは、リードエンキューの要求元に、処理に失敗した旨を通知する（Ｓ１４５）。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１８１
【補正方法】変更
【補正の内容】
【０１８１】
話は前後するが、ＤＲストレージシステム２０Ｓは、後述のＳ２２６，Ｓ２２７の次に、対象データｄを副ボリューム２２１Ｓ内の仮想テープに書き込んだ後、対象データｄをＤＲストレージシステム２０Ｓ内のジャーナルボリューム２２１Ｊから削除させる（Ｓ２２８）。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図１９
【補正方法】変更
【補正の内容】
【図１９】
2011008391.tif 000033
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図２７
【補正方法】変更
【補正の内容】
【図２７】
2011008391.tif 000034