(57)【要約】【課題】  現在のアプリケーションを実行する構成では、格納データが格納アプリケーションによりアクセス可能で、最終結果が使用できるのみで、途中の特定結果データをチェックする機能が用意されていない問題点も存在する。したがって、更なる問題点として、データの正常性が容易に確認できない問題がある。  したがって、多重アクセス可能なデータについて、現行システムに於けるデータの再ロードその他の不都合を解決するシステムと方法が必要である。更に又、生成データの特殊処理をしたいアプリケーションに役立つシステムと方法が必要である。【解決手段】  本発明は、現行システムの欠点を解消したデータの多重アクセスを可能にする。本発明は更に、アプリケーションでの中間データの再使用を可能にする。  本発明は、各種のアプリケーションの走行結果として生じた最終データのみならず、更に中間データのアーカイブ、レストア、再使用又はそのデータの管理を可能にする。【選択図】図２
2005004721.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）ストレージデバイスが一つ以上の第一の契機を受信して、ソースデータをプライマリストレージに、更新データを対応するセカンダリストレージに保存するステップと、
（ｂ）前記契機に応答して、前記セカンダリストレージデータを一つ以上の対応するバーチュアルストレージデータスペースにレプリケートし、それにより前記セカンダリストレージが該一つ以上のバーチュアルストレージデータスペースにレストア（“ロールバック”）されることを可能とするステップと、
から成ることを特徴とする方法。
【請求項２】
前記ストレージデバイスは、ディスクアレイと多重アクセスストレージデバイスの少なくとも一つを含むことを特徴とする請求項１の方法。
【請求項３】
前記プライマリストレージ、セカンダリストレージ及びバーチュアルストレージデータスペースは、プライマリボリューム、セカンダリボリューム及び一つ以上のバーチュアルボリュームを含むことを特徴とする請求項１の方法。
【請求項４】
前記ディスクアレイは、“ＲＡＩＤ”（Redundant Array of Independent Disks）及び“ＪＢＯＤ”（Just a Bunch of Disks）の少なくとも一つとして構成可能であることを特徴とする請求項２の方法。
【請求項５】
前記一つ以上の契機は、前記プライマリストレージに対応するデータアクセスコマンド、前記セカンダリストレージに対応するデータアクセスコマンド、及びデータレプリケーションコマンドの少なくとも一つを含むことを特徴とする請求項１の方法。
【請求項６】
前記データレプリケーションコマンドは、チェックポイントコマンドを含むことを特徴とする請求項５の方法。
【請求項７】
前記一つ以上の契機は、少なくともその一部が前記ストレージデバイスによって実行されるアプリケーションを開始するコマンドを含むことを特徴とする請求項１の方法。
【請求項８】
前記アプリケーションは、データバックアップ、ソフトウェアテスト、及びバッチ処理の少なくとも一つを含むことを特徴とする請求項７の方法。
【請求項９】
前記受信は、前記ストレージデバイスの中で、アレイコントローラに向けられたコマンドをバーチュアルボリュームマネージャがモニタすることにより行われることを特徴とする請求項１の方法。
【請求項１０】
前記レプリケートは、前記ストレージデバイスの中で、バーチュアルボリュームマネージャがアレイコントローラに前記セカンダリストレージのデータをコピーさせることにより行われることを特徴とする請求項１の方法。
【請求項１１】
前記ストレージデバイスが一つ以上の第二の契機を受信するステップと、前記バーチュアルストレージデータスペースの少なくとも一つを前記セカンダリストレージにレプリケートするステップと
をさらに含むことことを特徴とする請求項１の方法。
【請求項１２】
前記レプリケートは、データバックアップアプリケーションに関連してバックアップされるべきデータを保存し、それにより前記セカンダリストレージのデータを検証可能とすることを特徴とする請求項１の方法。
【請求項１３】
前記レプリケートは、前記セカンダリストレージに保存されているソフトウェアプログラムのソフトウェアテストと関連して、ソフトウェアプログラム及び環境の少なくとも一つを保存することを特徴とする請求項１の方法。
【請求項１４】
前記レプリケートは、セカンダリストレージデータのバッチ処理と関連して少なくとも一つのバッチサブプロセスの更新データを保存することを特徴とする請求項１の方法。
【請求項１５】
前記ステップ（ｂ）のレプリケートするステップを、
対応するデータアクセスが十分可能なセキュリティ状態にあることを表示子が示しているか判定するステップと、
可能な状態であれば、前記契機に応答して、前記セカンダリストレージのデータを一つ以上の対応するバーチュアルストレージデータスペースにレプリケートし、それにより前記セカンダリストレージが該一つ以上のバーチュアルストレージデータスペースにレストア（“ロールバック”）されることを可能とするステップと、
に置き換えることを特徴とする請求項１の方法。
【請求項１６】
（ａ）ストレージデバイスが一つ以上の第一の契機を受信して、ソースデータをプライマリストレージに、更新データを対応するセカンダリストレージに保存する手段と、
（ｂ）前記契機に応答して、前記セカンダリストレージデータを一つ以上の対応するバーチュアルストレージデータスペースにレプリケートし、それにより前記セカンダリストレージが該一つ以上のバーチュアルストレージデータスペースにレストア（“ロールバック”）されることを可能とする手段と、
を備えることを特徴とするシステム。
【請求項１７】
前記ストレージデバイスは、ディスクアレイと多重アクセスストレージデバイスの少なくとも一つを含むことを特徴とする請求項１６のシステム。
【請求項１８】
前記プライマリストレージ、セカンダリストレージ及びバーチュアルストレージデータスペースは、プライマリボリューム、セカンダリボリューム及び一つ以上のバーチュアルボリュームを含むことを特徴とする請求項１６のシステム。
【請求項１９】
前記一つ以上の契機は、前記プライマリストレージに対応するデータアクセスコマンド、前記セカンダリストレージに対応するデータアクセスコマンド、及びデータレプリケーションコマンドの少なくとも一つを含むことを特徴とする請求項１６のシステム。
【請求項２０】
前記データレプリケーションコマンドは、チェックポイントコマンドを含むことを特徴とする請求項１９のシステム。
【請求項２１】
前記一つ以上の契機は、少なくともその一部が前記ストレージデバイスによって実行されるアプリケーションを開始するコマンドを含むことを特徴とする請求項１６のシステム。
【請求項２２】
前記受信する手段は、前記ストレージデバイスの中で、アレイコントローラに向けられたコマンドをバーチュアルボリュームマネージャがモニタすることで与えられることを特徴とする請求項１６のシステム。
【請求項２３】
前記レプリケートする手段は、前記ストレージデバイスの中で、バーチュアルボリュームマネージャがアレイコントローラに前記セカンダリストレージのデータをコピーさせることで与えられることを特徴とする請求項１６のシステム。
【請求項２４】
前記ストレージデバイスが一つ以上の第二の契機を受信する手段と、前記バーチュアルストレージデータスペースの少なくとも一つを前記セカンダリストレージにレプリケートする手段と、
を備えることを特徴とする請求項１６のシステム。
【請求項２５】
前記レプリケートする手段は、データバックアップアプリケーションに関連してバックアップされるべきデータを保存し、それにより前記セカンダリストレージのデータを検証可能とすることを特徴とする請求項１６のシステム。
【請求項２６】
前記レプリケートする手段は、前記セカンダリストレージに保存されているソフトウェアプログラムのソフトウェアテストと関連して、ソフトウェアプログラム及び環境の少なくとも一つを保存することを特徴とする請求項１６のシステム。
【請求項２７】
前記レプリケートする手段は、セカンダリストレージデータのバッチ処理と関連して少なくとも一つのバッチサブプロセスの更新データを保存することを特徴とする請求項１６のシステム。
【請求項２８】
（ａ）ストレージデバイスが一つ以上の第一の契機を受信して、ソースデータをプライマリストレージに、更新データを対応するセカンダリストレージに保存するステップと、
（ｂ）前記契機に応答して、前記セカンダリストレージデータを一つ以上の対応するバーチュアルストレージデータスペースにレプリケートし、それにより前記セカンダリストレージが該一つ以上のバーチュアルストレージデータスペースにレストア(“ロールバック”)されることを可能とするステップと、
をコンピュータに実行させることを特徴とするコンピュータ保存プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的にコンピュータシステムに係わり、特にデータの複製即ちレプリケーションを行う方法とシステムに関連する。
【背景技術】
【０００２】
今日のエンタープライズコンピューティングシステムは、多重アクセス要求に対応できるものの、小型コンピューティングシステムが行ってきた方法と同じ動作を踏襲している。
【０００３】
例えば、図１に示すエンタープライズコンピューティングシステムでは、ストレージ１０２に格納されたデータにアクセスするアプリケーションプログラムを実行するアプリケーションサーバ１０１を有する。
【０００４】
ストレージ１０２は更に、例えば“ＲＡＩＤ”（Redundant Array of Independent Disk）として構成されるディスクアレイを有する。
【０００５】
ディスクアレイ１０２は、アプリケーションサーバ１０１がデータボリューム１２２ａ〜ｃ、１２３に発行するリード／ライト要求を、以下に記述する方法で実行するアレイコントローラ１２１を有する。
【０００６】
このようなデータアクセスの実行の為に、アレイコントローラ１２１はデータルーティング、キャッシング、冗長制御、パリティチェッキング等の制御動作を行う。
【０００７】
本アレイコントローラ１２１は、データ発生サーバ１１１ａ〜ｃが記録したデータボリュームを、一つ以上のデータ利用アプリケーションサーバ１１２で稼動しているアプリケーションが独立に利用できる様に、データボリュームアクセスを実行する。
【０００８】
本アレイコントローラ１２１は、データ発生サーバ１１１ａから要求された“オリジナル”データをオリジナル又は“プライマリ”ボリュームに書き込む。
【０００９】
次に、本アレイコントローラ１２１は、データ利用サーバ１１２からの最初のデータ要求に対して、オリジナルボリュームのデータを“セカンダリ”ボリューム１２３にコピーし、その後のサーバ１１２からのデータ更新要求では、同じセカンダリボリュームが専ら用いられる。
【００１０】
この結果、対応するプライマリボリュームはサーバ１１２からは更新されず、他のデータ利用アプリケーションサーバからも同様に使用できる。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
このような多重アクセス構成は、利用は拡大されているものの、格納データの利用法次第では不効率である事がわかってきた。
【００１２】
例えば、慣用的なデータバックアップでは、ローカルデータからレストア可能なバックアップコピーを生成する。システム１００では、アプリケーションサーバ１１１はプライマリボリューム１２２ａにデータベースを生成して格納する。
【００１３】
バックアップサーバ、例えばサーバ１１２はデータベースのデータをデバイス１１３（例えばテープバックアップ）にバックアップすることを要求し、データをセカンダリボリューム１２３にコピーさせる。
【００１４】
然しながら、プライマリボリュームからのコピー中にも、データベースは使用されるために、セカンダリボリュームを検証することが望まれる。不運にも、検証中にもセカンダリデータが入れ換えられることはかなり起るので、セカンダリボリュームをバックアップしたデータに不整合が生じる。
【００１５】
ソフトウェアのテストでは、対象ソフトウェアは指定条件に従ったテスト環境でテストされる。
【００１６】
ここで、アプリケーションサーバ１０１は、ソフトウェアをプライマリボリューム１２２ａに格納する開発システム１１１ａ、テスト環境をプライマリボリューム１２２ｂに格納する環境生成器１１１ｂ、テスト条件をプライマリボリューム１２２ｃに格納する条件生成器１１１ｃ、及びテスタ１１２の構成となり、テスタはアレイコントローラ１２１にソフトウェア、環境および条件をセカンダリボリューム１２３にコピーさせて、テストに使用できるようにする。テスト中は、テストにより継続的に生じる更新環境が、セカンダリボリューム中の環境を置き換える結果になる。
【００１７】
かくして、途中でテストに失敗すると、大量のテストコンポーネントはしばしばリモートソースから再ロードすることが必要になる。
【００１８】
バッチ処理に於いては、対象データセットはサブプロセスにより継続的に更新される。ここで、アプリケーションサーバ１０１はデータベースをプライマリボリューム１２２ａに格納するデータベース生成サーバ１１１、データベースをセカンダリボリュームにコピーさせるバッチプロセッサ１１２の構成となる。
【００１９】
バッチ処理では、セカンダリボリュームデータを各サブプロセスによって継続的に更新して、全ての完了プロセスの合成結果を反映させる事になる。不運にも、サブプロセスが途中でエラーになると、ソースデータはそのソースから再ロードする事が余儀なくされる。
【００２０】
現在のこれらアプリケーションを実行する構成では、格納データが格納アプリケーションによりアクセス可能で、最終結果が使用できるのみで、途中の特定結果データをチェックする機能が用意されていない問題点も存在する。したがって、更なる問題点として、データの正常性が容易に確認できない問題がある。
【００２１】
したがって、多重アクセス可能なデータについて、現行システムに於けるデータの再ロードその他の不都合を解決するシステムと方法が必要である。更に又、生成データの特殊処理をしたいアプリケーションに役立つシステムと方法が必要である。
【課題を解決するための手段】
【００２２】
本発明は、現行システムの欠点を解消したデータの多重アクセスを可能にする。本発明は更に、アプリケーションでの中間データの再使用を可能にする。
【００２３】
本発明は、各種のアプリケーションの走行結果として生じた最終データのみならず、更に中間データのアーカイブ、レストア、再使用又はそのデータの管理を可能にする。
【００２４】
本発明の一実施例では、プライマリ又はセカンダリボリュームに加えて、中間的に生成されたデータが、一つ以上のバーチュアルボリュームに選択的に保存、抽出できるように管理される。
【００２５】
他の実施例では、バーチュアルボリュームの管理はアプリケーション／ユーザコントロールによって、自動的即ちプログラム的に行われ、更にディスクアレイ等のマスストレージによって管理される。
【００２６】
本発明でのレプリケーション方法では、ストレージデバイスは一つ以上の第一の契機を受信して、ソースデータをプライマリストレージに、更新データを対応するセカンダリストレージに格納する。
【００２７】
本発明のレプリケーション方法では更に、本契機に応答してセカンダリストレージデータを対応するバーチュアルデータスペースにレプリケートし、それによって本セカンダリストレージが本一つ以上のバーチュアルデータスペースにレストア（“ロールバック"）されることを可能にする。
【発明の効果】
【００２８】
本発明の効果として、継続する更新データで置き換えられてしまうセカンダリストレージデータを、時刻指定して途中結果を更に保存できることがあげられる。
【００２９】
本発明は更に、一つ以上の保存データセットに対して選択的に保存、抽出ができるようにし、これは更に単純なコマンドを用いて又は現存ストレージデバイスと共に達成可能になる。その他の効果については、後続する明細書と図面によって明確になる。
【発明を実施するための最良の形態】
【００３０】
本発明のレプリケーションシステム及び方法では、アプリケーションデータを、その中間生成データを含めて“ＲＡＩＤ”(Redundant Array of Independent Disk)等のディスクアレイを含めたストレージデバイスに保存できるようにする。
【００３１】
本発明では、更にデータへの限定的又は選択的アクセスを可能にし、以前の結果データの再構築を可能にし、セキュリティ又はサーバベースのアプリケーションの実行が、ストレージデバイスレベルで可能になる。
【００３２】
ここでは、“又は”は特に注記されない限り、“及び／又は”の意味で使用されることに注意願いたい。
【００３３】
更にアプリケーションサーバは“発生”又は“更新”サーバとして参照され、レプリケーション、ロールバック等のシステム／処理は、特定のデバイス又はデバイスタイプに適用可能とする事で本発明の理解を容易にしている。
【００３４】
然しながら、サーバや他のデバイスは多様な又は多重の処理を実施可能であり、又データを生成し処理できる事にも注意願いたい。本発明は具体的な実装要求に従って置換可能な多様なデバイス又はデバイスタイプに適用可能である。以上の用語は限定的なものと看做してならない。
【００３５】
図２に、ネットワーク２１３，２０２に結合した一つ以上のコンピューティングデバイスより構成される、データレプリケーション可能なシステム結合が示されている。
【００３６】
レプリケーションシステム２００は、イントラネット２１３で結合したデバイス群２０１を含み、本デバイス群にはレプリケーション可能ディスクアレイ２１１、アプリケーションサーバ２１２、２１４ａ〜ｂ、２１５ａ〜ｂ及びネットワークサーバ２１６を含む。
【００３７】
システム２００は更に、具体的実装要求に従い、同様に結合したアプリケーションサーバ２０３、その他コンピューティングシステム２０４、更には一つ以上のファイヤウオール２１７、ルータ、キャッシュ、冗長／負荷バランスシステム、バックアップシステム又はその他のネットワーク要素等(図示していない)が含まれる。
【００３８】
データレプリケーションはシステム２００中の典型的にはＲＡＩＤ等のディスクアレイ２１１で実行される。（レプリケーション可能デバイスは、一般的には本発明での説明に矛盾しない方法でデータレプリケーションを実行できる単機能または多機能のストレージデバイスで構成できることに注意願いたい。）
ディスクアレイ２１１はアレイコントローラ２１１ａ、バーチュアルボリュームマネージャ２１１ｂ及びストレージ媒体のアレイ２１１ｃを有する。
【００３９】
ディスクアレイ２１１は更に、具体的実装に従ってキャッシュ機能、冗長制御、パリティ検査その他のストレージ又はサポート機能(図示していない)を持つその他のコンポーネント２１１ｄを有する。それらのコンポーネントは慣用的ディスクアレイその他のストレージデバイスで使用されるものでよく、その構成も具体的要求に従った慣用的なものでよい。
【００４０】
アレイコントローラ２１１ａは一般的にディスクアレイの管理を行う。そのような管理には、システム２００の他のデバイスと交信して、ストレージ媒体２１１ｃとのデータの保存、抽出を行うのに必要な制御機能が含まれる。（アレイコントローラ２１１ａのコンポーネントと動作は、以下の説明又は具体的実装に従って構成の修正を受ける以外は慣用的方法で提供される。）
アレイコントローラ２１１ａは、例えばファイル、フォールダ、ディレクトリ、ボリューム等のデータスペース関連事項の生成、維持又は削除等のサポート機能を実行する。
【００４１】
アレイコントローラ２１１ａは、ソース又は“オリジナル”データを保存するために“オリジナルボリューム”を生成し、多重アクセス機能を可能にする。
【００４２】
アレイコントローラ２１１ａは更に、更新アプリケーションサーバの為にアプリケーションデータスペース即ち“セカンダリボリューム”を生成して、対応するプライマリボリュームからデータをコピーする。
その後、アレイコントローラ２１１aは、典型的には同じセカンダリボリュームに対して、対応するアプリケーションサーバによる継続する更新データの保存要求を受信して、データの保存を行う。
【００４３】
かくして、オリジナルボリュームは不変のままで、他のアプリケーションサーバからの更新に使用でき、対応するセカンダリボリュームは各アプリケーションによってこれまで継続的に更新され保存されたデータを含むことになる。（今後、こうして更新され保存されたデータを“更新データ”と呼ぶ。）
アレイコントローラ２１１ａは、既に述べた、又はこれに限らず、その他のディスクアレイコンポーネントも管理する。
【００４４】
アレイコントローラ２１１ａは、バーチュアルボリュームマネージャ２１１ｂと相互動作する多少なりとも統合した構成が可能で、又バーチュアルボリュームマネージャ２１１ｂは具体的実装に従って独立に動作する構成も可能である。
【００４５】
より以上に統合化された構成では、アレイコントローラ２１１ａはアプリケーションからのアクセス要求を、例えば、バーチュアルボリュームマネージャ２１１ｂを通して実行してもよい。
【００４６】
アレイコントローラ２１１ａは更にコマンド通訳者になって、バーチュアルボリュームマネージャ２１１ｂの要求に従って、プライマリ／セカンダリボリュームに実施するのと同様に、バーチュアルボリュームに対するデータの保存、抽出その他の動作を実行してもよい。（以下に明らかになるが、バーチュアルボリューム管理処理との統合を深めると、より一般的なストレージデバイス制御に重複を排除する事ができるが、これにはトレードオフが存在して、より統合を深くすると、既存のストレージ又はホストデバイス実装との互換性を損なう結果となる。）
バーチュアルボリュームマネージャ２１１ｂは、バーチュアルボリュームを生成し、情報を移植し、削除その他の管理を実行し、典型的にはストレージ媒体２１１ｃ内にバーチュアルボリュームデータを選択的に保存し、抽出しその他の管理業務を実行する。
【００４７】
バーチュアルボリュームは他のボリュームタイプと同様に、ストレージ媒体２１１ｃ内にデータストレージエリアを定義し、他のシステム要素から参照可能なアプリケーションデータを保存できるようにする。
【００４８】
然しながら、プライマリ又はセカンダリボリュームとは異なって、バーチュアルボリュームの管理ではアプリケーションデータを選択的に保存、抽出をする“スナップショット”が可能で、異なったアプリケーションからのプライマリデータへの単なる多重アクセス以上の使い方が可能になる。オリジナル又は更新データの最終結果のみならず、中間的結果をバーチュアルボリュームに保存することが出来る。
【００４９】
バーチュアルボリュームは更に、自動的に(即ちプログラム的に)又はアプリケーション、ユーザ選択又はセキュリティ操作その他の具体的アプリケーションに応じて選択的に管理することが出来る。
【００５０】
バーチュアルボリュームマネージャ２１１ｂはアプリケーションサーバからの要求即ち“コマンド”に応じてバーチュアルボリュームの管理を行う。それらのコマンドはアレイコントローラ２１１ａのコマンドと同様に構成され、広範な互換性をもたらしている。
【００５１】
バーチュアルボリュームマネージャ２１１ｂはバーチュアルボリュームの生成、保存データのバーチュアルボリュームへのレプリケーション、バーチュアルボリュームからのデータのレストア及びバーチュアルボリュームの削除を含む、かなり限定されたコマンドセットに対して応答する。
【００５２】
然しながら、処理能力を増大させるとコマンド又は機能範囲は拡大されるが、本明細書でははその一部しか紹介できない事に注意願いたい。
【００５３】
具体的実装次第で、バーチュアルボリュームマネージャ２１１ｂは、アプリケーションサーバと直接交信する構成も可能であるし、例えばアレイコントローラ２１１ａを通して管理を実行する間接的な実装も可能である
。例えば、より以上に統合化された構成では、バーチュアルボリュームマネージャ２１１ｂは、アプリケーションサーバからのコマンドを、アレイコントローラ２１１ａを通して間接的に受信し、又本コントローラ２１１ａを通して応答する事も出来る。
【００５４】
バーチュアルボリュームマネージャ２１１ｂはより自主的にアレイコントローラ２１１ａが保存、抽出、その他の動作をするのをモニタし、コマンドをアレイコントローラ２１１ａに（アプリケーションから来たかの如く）与えて、ボリューム生成、データ保存、データ抽出その他のアクセス処理を実行させてもよい。
【００５５】
バーチュアルボリュームマネージャ２１１ｂは更に、データアクセスに関しては典型的な場合であって、そうでなければ慣用的な方法となるが、キャッシュその他のディスクアレイ２１１のコンポーネントを利用する事が出来る。（アレイコントローラ２１１ａ又はバーチュアルボリュームマネージャ２１１ｂには、定常的にもダイナミックにも、実装又はアプリケーションに対応した別の選択肢が存在する事に注意願いたい。）
残りのディスクアレイ２１１のコンポーネントについては、ストレージ媒体２１１ｃはデータ保存可能な物理媒体で、ハードディスク、書き換え可能光、可搬／非可搬媒体、キャッシュメモリ、その他アプリケーションが要求する相応しい記憶媒体を含む。その他コンポーネントとして、エラーチェッキング、キャッシング、その他ストレージやアプリケーション関連のコンポーネントを含む。
【００５６】
アプリケーションサーバ２１４ａ〜ｂ、２１５ａ〜ｂ、２０３、２０４はユーザ／システムにシステム２００内での処理を可能にし、ストレージ２１１へのデータ保存機能を持つデバイスを含み、アプリケーションに対応してバーチュアルボリュームマネージャ２１１ｂと連携する。
【００５７】
そのようなデバイスには、一つ以上のワークステーション、パーソナルコンピュータ“ＰＣ“、可搬コンピュータ、セットトップボックス、パーソナルデータアシスタンス“ＰＤＡ”、パーソナル情報端末“ＰＩＭ”、セルフォン、コントローラ、所謂“スマート”デバイスやその他のエレクトロメカニカルデバイスが含まれる。
【００５８】
その他システム２００に残っているコンポーネントとしては、ネットワーク２１３と２０２は定常的又は再構築可能な“ＬＡＮ”、“ＷＡＮ”、バーチュアルネットワークＶＰＮ、その他アプリケーションに対応した結合が含まれる。
【００５９】
ネットワークサーバ２１６は、ネットワークサーバオペレーション（例えば、ネットワークアクセス、ｅ−Ｍａｉｌ、システム管理等）の為に慣用的に構成された、又はストレージデバイスホストとして動作する、一つ以上のアプリケーションサーバで成り立つ。
【００６０】
図３では、システム２００（図２）の一つ以上の要素から成る処理システムを示す。他の代替構成が可能かも知れないが、簡単の為にシステム２００の要素は、特に注記されない限り、ハードウェア、ソフトウェア又はそれらと整合性ある一つ以上の処理システムの組合せとする。
【００６１】
処理システム３００は、一つ以上の汎用又は専用のプロセッサ３０２、例えばＰｅｎｔｉｕｍ、ＰｏｗｅｒＰＣ、ＤＳＰ(Digital Signal Processor)等を含めた通信チャネル（例えばバス３０１）に結合した要素で成り立つ。（Ｐｅｎｔｉｕｍ、ＰｏｗｅｒＰＣは登録商標です）
【００６２】
システム３００は更に、アプリケーションの要求に対応して、一つ以上の入力装置３０３（マウス、キーボード、マイクロフォン、ペン等）と出力装置３０４（ディスプレイ、スピーカ、アクチュエータ等）を有する。
【００６３】
システム３００は更に、ストレージ／メモリデバイス、又はハード又はリムーバブルストレージ／メモリ媒体等のコンピュータ読み取り可能ストレージ媒体３０６とその読み取り装置３０５を有する。
【００６４】
それらのデバイス又は媒体は、独立のストレージ３０８やメモリ３０９としても使用され、アプリケーションの要求に従ってハードディスク、フロッピ／コンパクトディスク、ディジタル多用途ディスク（“ＤＶＤ”）、スマートカード、ＲＯＭ，ランダムアクセスメモリ、キャッシュメモリ等を含む。モデム、ＤＳＬ、赤外線又は他の適当なトランシーバ等の一つ以上の通信デバイス３０７が更に含まれ、直接のデバイス間通信又はプライベート又はパブリックネットワーク(既に述べたものを含み、更にこれに限定される事なく)を介した交信を可能にする。
【００６５】
ワーキングメモリ３１０（メモリ３０９の要素でもある）は、更にオペレーティングシステム（“ＯＳ”）３１１とアプリケーションプログラム、モバイルコード、データ等のその他のプログラム３１２をシステム２００の実装要素として、使用中に読み込み保存する。
【００６６】
特にＯＳは、アプリケーション（例えば、Ｗｉｎｄｏｗｓ、Ｍａｃ、Ｌｉｎｕｘ、Ｕｎｉｘ、Ｐａｌｍ ＯＳ、専用ＯＳ等）（Ｗｉｎｄｏｗｓ、Ｕｎｉｘは登録商標です）に対応したデバイスと機能に依存する。多様なプログラム言語又はツールが利用される。更に又、ワーキングメモリ３１０の内容である、ＯＳ３１１とアプリケーションプログラム３１２はユーザのアプリケーションによって大幅に影響を受ける事に注意願いたい。
【００６７】
ソフトウェア（例えば、一部又は全体を含めて、アプリケーションプログラム、オブジェクト、エージェント、ダウンローダブル、サーブレット等）で実装されている場合は、システム２００の要素はローカル又はリモートストレージからメモリ（又はキャッシュメモリ等）に実行する為のデータを一時的又はより永続的に格納させ、或いは他の適当なメカニズムが使用され、要素はコンパイル状態かインタープリタ方式で実行される
。入力された中間的又は最終的データ又は機能要素は、より一時的又はより永続的にストレージ媒体、キャッシュ又は他の揮発性、不揮発性メモリ（例えばストレージデバイス３０８、メモリ３０９）にアプリケーションに対応して保存される。
【００６８】
図４で、専用ホスト又は他のアプリケーションサーバと共にレプリケーション可能ストレージデバイスを使用して、如何にデータレプリケーションが実行されるかを説明する。図４は更に、プロセッサベースのアレイコントローラとバーチュアルボリュームマネージャがより以上に統合したアレイマネージャ４０３を示す。
【００６９】
図示するように、レプリケーションシステム４００は、ホスト４０１とストレージデバイス４０２及びネットワーク４０６を含む。
【００７０】
ホスト４０１は、図３のシステム３００に対応し、簡単の為に大幅に簡略化して表示しており、他方同様に図３のシステム３００に対応するプロセッサベースのストレージデバイス４０２は大いに詳細に示されている。
【００７１】
ホスト４０１は、Ｉ／Ｏインターフェース４１１と４３１の結合４ａを通して、ストレージデバイス４０２に結合し要求を発行する。
【００７２】
結合４ａは、例えば、“ＳＣＳＩ”(Small Computer System Interface) インターフェース、ファイバチャネル、“ＥＳＣＯＮ”(Enterprise System Connection)、“ＦＩＣＯＮ”(Fiber Connectivity)、イーサネット（イーサネットは登録商標です）を含み、一つ以上のプロトコルＳＣＳＩ、ｉＳＣＳＩ、ＥＳＣＯＮ、ファイバＦＩＣＯＮ等を使用する。
【００７３】
ホスト４０１とストレージデバイス４０２は更に各々のネットワークインターフェース４１２と４３２と結合４ｂと４ｃを通してネットワーク４０６に結合する。本ネットワークはファイバチャネル、イーサネット、インタネットプロトコル（“ＩＰ”）、非同期転送モード（“ＡＴＭ”）等のプロトコルで実装される。
【００７４】
本ネットワーク結合は、ホスト４０１とストレージデバイス４０２がネットワーク４０６に結合しているその他のデバイス即ち図２のアプリケーションサーバ２１２、２１４ａ〜ｂ、２１５ａ〜ｂ、２１６、２０３及び２０４等と交信することを可能にする。（インターフェース４１１、４１２、４３１、４３２、４３３及び４３４は図３の通信インターフェース３０７に対応する。）ストレージデバイス４０２はインターフェース４３１〜４３４に加えてアレイマネージャ４０３とストレージ媒体４０４を有する。
【００７５】
アレイマネージャ４０３内のＣＰＵ４３５は、メモリ４０５とキャッシュメモリ４５１内に格納されたコントロール情報４５２に基づき、内部バス４３６やその他の図示された相互接続を通して、ストレージコントロールとデータレプリケーションを実行する。
【００７６】
キャッシュメモリ４５１はホスト４０１との送受信データを一時的に保管するために使用される。キャッシュメモリ４５１は更にホストから要求されたシーケンシャルなリード／ライトデータの事前格納の為にも使用される。
【００７７】
ストレージ媒体４０４は、Ｉ／Ｏインターフェース４３３、４３４と結合４ｆを経由して、アレイマネージャ４０３に結合し交信する。ストレージ媒体４０４はアプリケーションからの要求に従い、一つ以上のＲＡＩＤ、ＪＢＯＤ(Just a Bunch of Disk)として構成される、又はその他の相応しい構成となるディスクドライブ４４１のアレイを含む。
【００７８】
ストレージ媒体４０４は内部バス４３６と結合４ｄ〜４ｆを通してＣＰＵ４３５に固有に結合し、本ＣＰＵ４３５は本ディスクの部分をボリューム（例えば、プライマリ、セカンダリ、バーチュアルボリューム）として管理し、ホスト４０１からストレージ媒体へのアクセスは本ボリュームを通してのみ（即ち、物理媒体を直接アドレスするのではなく）可能となる。ＣＰＵ４３５は更に既に述べたセキュリティ、アプリケーション又は実装によって必要になる機能を実行する。
【００７９】
図５は本発明に従う、エンタープライズ又はその他一般システムに適応する動作特性に従うデータレプリケーションシステム例を説明するフローダイアグラムである。システム５００はアプリケーションサーバ５０１とディスクアレイ５０２で構成される。
【００８０】
アプリケーションサーバ５０１は更に、データ生成アプリケーションサーバ５１１ａ〜ｂ、データ更新アプリケーションサーバ５１２ａ〜ｂ及びその他のデバイス５１３を有し、ディスクアレイ５０２は、更に、アレイマネージャ５０２ａ、ストレージ媒体５０２ｂ、及びネットワーク又は入出力インターフェース（“Ｉ／Ｏ”）５０２ｃ（例えば、図４のインターフェース４３１、４３２に該当する）を有する。
【００８１】
アレイマネージャ５０２ａは、ディスクアレイコントローラ５２１ａとバーチュアルボリュームマネージャ５２１ｂを含み、ストレージ媒体５０２ｂは、プライマリボリューム５２２ａ〜ｂ、セカンダリボリューム５２３ａ〜ｂ及びバーチュアルボリューム５２４ａ〜ｄの各々一式以上を有する。
【００８２】
明確にするために、システム５００内の信号パスは実線の矢印で描き、コンポーネント間の主要なデータの流れは点線の矢印で示す。
【００８３】
加えて、アプリケーションサーバ５０１は、現在の例の目的に対して、他のサーバが利用する為のオリジナルデータを供給するか（オリジナルアプリケーションサーバ１〜Ｍ、５１１ａ〜ｂ）、又は他のアプリケーションサーバから供給されたデータを利用する（更新アプリケーションサーバ１〜Ｎ、５１２ａ〜ｂ）かのいずれかを専ら行う。
【００８４】
各アプリケーションサーバ５１１ａ〜ｂ、５１２ａ〜ｂは、データアクセスを要求する“コマンド”をＩ／Ｏバス５０２ｃを経由してアレイマネージャ５０２ａに送信する。
【００８５】
オリジナルアプリケーションサーバ５１１ａ〜ｂのアプリケーションがデータ書き込み要求（“データライト”）をアレイコントローラ５２１ａに発行し、アレイコントローラ５２１ａはプライマリボリューム、例えば５２２ａを生成し(未だ生成されていなかったら)、オリジナルデータを本プライマリボリュームに書き込む。更新アプリケーションサーバはデータ保存コマンドを発行し、アレイコントローラ５２１ａはこれによりセカンダリボリューム、例えば５２３ａを生成（まだ生成されていなかったら）して、プライマリボリュームデータをコピーして、含まれる更新データを書きこむ。
【００８６】
更新アプリケーションサーバ５１２ａ〜ｂのアプリケーションは更にデータ読み出し要求（“データリード”）をアレイコントローラ５２１ａに発行し、アレイコントローラ５２１ａは、要求データを読み出して要求アプリケーションサーバにＩ／Ｏ５０２ｃを通して返送する。（本事例では、一つのデータセットには唯一つのプライマリボリュームが生成され、各アプリケーションに対して唯一つのセカンダリボリュームが生成される。）
オリジナルアプリケーションサーバ５１１ａ〜ｂは一般的には、バーチュアルボリュームマネージャ５２１ｂとは交信する必要はない。プライマリボリュームのデータは、アレイコントローラによるコピーを通して一つ以上のセカンダリボリューム５２３ａ〜ｂ上でバーチュアルボリュームマネージャ５２１ｂにより利用できるので、一般に使用される一つ以上のプライマリボリューム５２２ａ〜ｂはバーチュアルボリュームマネージャ５２１ｂに結合する必要はない
かくして、実装上特別な要求が発生しない限り、システム５００はディスクアレイ５０２に、上記した機能を持たせる事無く簡略に構成することが出来る。
【００８７】
更新アプリケーションサーバ５１２ａ〜ｂは本事例では、チェックポイント、ロールバック、及びバーチュアルボリューム削除を含む限定されたバーチュアルボリュームコマンドを発行できる。
【００８８】
アプリケーションがチェックポイントコマンドを発行すると、バーチュアルボリュームマネージャ５２１ｂはバーチュアルボリューム１−１、５２４ａを生成し、本バーチュアルボリュームに要求アプリケーションに対応するセカンダリボリューム−１、５２３ａの現データをレプリケートする
。同じアプリケーションが更にチェックポイントコマンドを発行すると、バーチュアルボリュームマネージャ５２１ｂは同様に要求アプリケーションに対応するバーチュアルボリューム１−ｙ、５２４ｂを生成して、同じセカンダリボリュームの現データをレプリケートする。
【００８９】
然しながら、異なったアプリケーションから更にチェックポイントコマンドが発行されると、バーチュアルボリュームマネージャ５２１ｂは本異なったアプリケーションに対応するバーチュアルボリュームｘ’−１、５２４ｃを生成し、本異なったアプリケーションに対応するセカンダリボリュームｘ’、５２３ｂの現データを本バーチュアルボリュームにレプリケートする。
【００９０】
アプリケーションがロールバックコマンドを発行すると、バーチュアルボリュームマネージャ５２１ｂは、コマンドで指定するバーチュアルボリューム１−１、５２４ａのデータを要求アプリケーションに対応するセカンダリボリューム−１、５２３ａにレストアする（取り戻す）。
【００９１】
更に同じアプリケーションからロールバックコマンドを発行すると、バーチュアルボリュームマネージャ５２１ｂは、同様にコマンドで指定するバーチュアルボリューム１−ｙ、５２４ｂのデータを要求アプリケーションに対応するセカンダリボリューム−１、５２３ａに取り戻す。
【００９２】
更に異なったアプリケーションがロールバックコマンドを発行すると、バーチュアルボリュームマネージャ５２１ｂは、同様にコマンドで指定するバーチュアルボリュームｘ’−１、５２４ｃのデータを要求アプリケーションに対応するセカンダリボリュームｘ’、５２３ｂに取り戻す。
【００９３】
最後に、アプリケーションがバーチュアルボリューム削除コマンドを発行すると、バーチュアルボリュームマネージャ５２１ｂはコマンドで指定されたバーチュアルボリュームを削除する。（チェックポイント、ロールバック及び削除コマンドの例は図６で示される。）
アレイマネージャ５０２ａ内のアレイコントローラ５２１ａが、オリジナルサーバ５１１ａ〜ｂからデータ保存コマンドを受け取ると、オリジナルサーバに対応するプライマリボリューム(例：５２２ａ、もし未だ存在しなければ)を生成し、含まれているデータを本ボリュームに保存する。アレイコントローラ５２１ａは更新サーバ５１２ａ〜ｂからデータ保存コマンドを受け取ると、本アプリケーションに対応するセカンダリボリューム５２３ａを今後使用できるように生成しプライマリボリュームのデータをコピーして、本サーバからのデータを本セカンダリボリュームに保存する。
【００９４】
アレイコントローラ５２１ａは更に本アプリケーションからの継続する保存コマンドに応答して、本セカンダリボリュームのデータを本アプリケーションから供給される更新データで置き換える。アレイコントローラ５２１ａはアプリケーションサーバ５０１から、読み取りコマンドを受け取るとアプリケーションサーバにコマンドで指定されるプライマリ又はセカンダリボリュームからのデータを返送し、又削除コマンドを受け取ると指定されるプライマリ又はセカンダリボリュームを削除する。
【００９５】
現構成では、アレイコントローラ５２１ａはバーチュアルボリュームコマンドをアプリケーションサーバ５０１から受信するが無視する。然しながら、アレイコントローラ５２１ａはバーチュアルボリュームマネージャ５２１ｂから結合５ｂ〜５ｃを通してデータアクセスコマンドを受け取り応答する。
【００９６】
より具体的には、バーチュアルボリュームマネージャ５２１ｂはチェックポイントコマンドに対して、対応するセカンダリボリュームを決めて、コマンド発行アプリケーションサーバに対応してバーチュアルボリュームを割り当て、今後の使用に備えてコマンド発行アプリケーションサーバとボリュームの対応関係を保存する。
【００９７】
バーチュアルボリュームマネージャ５２１ｂは更に本バーチュアルボリュームに対してタイムスタンプ（日日も含む）をアサインして再度今後の使用に備えて、本表示子を対応情報と共に保存する。
【００９８】
ここで言う将来使用には、例えば、同じアプリケーションからのロールバックや削除コマンド及び同じ又は他のアプリケーションサーバに対するバーチュアルボリュームの割り当てが該当する。
【００９９】
バーチュアルボリュームマネージャ５２１ｂは更にアレイコントローラ５２１ａにセカンダリボリューム（例：セカンダリボリューム−１、５２３ａ）からバーチュアルボリューム(例：バーチュアルボリューム１−１、５２４ａ)へのコピーコマンドを発行する。（例えば、バーチュアルボリュームマネージャ５２１ｂがアレイコントローラ５２１ａにセカンダリボリュームからのデータ読み取りを依頼して、更にバーチュアルボリュームへの書き込みを依頼しても同一結果になることに注意願いたい。）
アレイコントローラ５２１ａは上記の読み取りと保存シーケンスやコピーコマンドを、バーチュアルボリュームをセカンダリボリュームだと見なして、恰もアプリケーションサーバから発行されたように扱う。
【０１００】
即ち、アレイコントローラ５２１ａは最初にディスクコントローラ(図７ａを参照)にペアスプリット要求を発行しアレイコントローラ５２１ａがアクセス中にセカンダリボリュームがプライマリボリュームの新データで更新されるのを防止する。
【０１０１】
アレイコントローラ５２１ａは次いで、新しいバーチュアルボリューム(例：バーチュアルボリューム１−１、５２４ａ)をセカンダリボリュームだと見なして生成して、セカンダリボリュームデータをバーチュアルボリュームにコピーして、同期要求を発行して対応するプライマリボリュームのセカンダリボリュームに対するリンクを回復する。
【０１０２】
バーチュアルボリュームマネージャ５２１ｂはロールバックコマンドに対して、コマンド発行アプリケーションサーバに対応してセカンダリボリュームとバーチュアルボリュームを決定する。
【０１０３】
この例ではセカンダリボリュームはコマンドを参照するだけでは決定できない。更にバーチュアルボリューム表示子はコマンドにより提供されるが、本表示子は日時情報やＩＤでアレイコントローラ５２１ａは認識する事が出来ない。
【０１０４】
従って、バーチュアルボリュームマネージャ５２１ｂは、アレイコントローラ５２１ａが使用するセカンダリボリュームとバーチュアルボリュームの対応関係を、前回のチェックポイントコマンド中にセカンダリボリュームに保存された表示子を参照して決定する。
【０１０５】
バーチュアルボリュームマネージャ５２１ｂは更にアレイコントローラ５２１ａに対して、決定されたバーチュアルボリューム(例：バーチュアルボリューム１−１、５２４ａ)から、セカンダリボリューム(例：セカンダリボリューム−１、５２３ａ)へのコピーコマンドを発行する。（バーチュアルボリュームマネージャ５２１ｂがアレイコントローラ５２１ａに対して、本バーチュアルボリュームを指定して読み取り依頼をし、本セカンダリボリュームに保存依頼を発行しても同じ結果になることに注意。）
アレイコントローラ５２１ａは本コピーコマンドに対して、恰もアプリケーションサーバから読み取りと保存のコマンドシーケンス又はコピーコマンドを受信したかの如く見なして、バーチュアルボリュームをセカンダリボリュームとして扱った場合と同様に動作する。
【０１０６】
即ちアレイコントローラ５２１ａは最初にディスクコントローラにペアスプリット要求を発行しアレイコントローラ５２１ａがアクセス中にセカンダリボリュームがプライマリボリュームの新データで更新されるのを防止する。
【０１０７】
アレイコントローラ５２１ａは次いで、バーチュアルボリュームデータをセカンダリボリュームにコピーして、同期要求を発行して対応するプライマリボリュームとセカンダリボリュームのリンクを回復する。
【０１０８】
バーチュアルボリュームマネージャ５２１ｂはバーチュアルボリューム削除コマンドに対して、コマンド発行アプリケーションサーバに対応するバーチュアルボリュームを決定する。この場合も、コマンドにより提供されるバーチュアルボリューム表示子は、バーチュアルボリュームマネージャ５２１ｂによってアサインされた、日時表示又はＩＤで、アレイコントローラ５２１ａには再度認識できないものである。
【０１０９】
従って、バーチュアルボリュームマネージャ５２１ｂは、前回のチェックポイント中に保存された表示子を参照して、アレイコントローラ５２１ａが使用できる、対応するセカンダリボリュームを決定する（図７ａ〜ｃを参照）。
【０１１０】
更にバーチュアルボリュームマネージャ５２１ｂは、バーチュアルボリューム(例：１−１、５２４ａ)を削除されるべきセカンダリボリュームと見なして、セカンダリボリュームの削除コマンドをアレイコントローラ５２１ａに発行する。アレイコントローラ５２１ａは本削除コマンドを、恰もアプリケーションサーバから受信したセカンダリボリューム削除コマンドと見なして、対応する。
【０１１１】
アレイコントローラ５２１ａは最初にペアスプリット要求を発行して、セカンダリボリュームがプライマリボリュームの新データで更新されるのを防止する。アレイコントローラ５２１ａは、バーチュアルボリュームマネージャ５２１ｂからの削除コマンドで指示されたバーチュアルボリュームを削除する。
【０１１２】
例えば、ストレージ媒体５０２ｂ内にバーチュアルボリューム用のデータスペースを確保して、バーチュアルボリュームマネージャ５２１ｂがコピーや削除動作を直接実行するより浅い統合方式も可能である事に注意する必要がある。
【０１１３】
例えば、バーチュアルボリュームマネージャ５２１ｂは、チェックポイントコマンドに対して、対応するセカンダリボリュームを決定し、コマンド発行アプリケーションと時刻／日付その他情報に対応する指定バーチュアルボリューム名、タイムスタンプその他表示子をアサインして、コマンド発行アプリケーション及びボリュームとの対応関係やアサイン内容を保存する。
【０１１４】
バーチュアルボリュームマネージャ５２１ｂは、次いでペアスプリットコマンド（実装に依存する）とセカンダリボリューム(例：セカンダリボリューム−１、５２３ａ)からバーチュアルボリューム(例；バーチュアルボリューム１−１、５２４ａ)へのコピーコマンドを発行し、更に同期コマンドを発行する（図７ａ参照）。
【０１１５】
定常的にデータスペースをアサインしておく方法は、ストレージスペースを浪費する可能性があり、必要によりダイナミックにアサインする方法は複雑さを増大させる。
【０１１６】
然しながら、本方式ではバーチュアルボリュームマネージャ５２１ｂに対して高度のバーチュアルボリュームのコントロールを可能にして、例えば、アレイコントローラ５２１ａには手に負えないセキュリティ機能等の追加機能をアレイコントローラ５２１ａにインパクトを与えないで実装する事が可能になる。
【０１１７】
他の機能も具体的アプリケーションに対応して同様に実装する事が出来る。（この他にアレイコントローラとバーチュアルボリュームマネージャが共有スペースを使用するメカニズムも同様に使用することができるが、上記のメカニズムは同様な機能性をより単純なシステムで実現する様に見える。）
図７ａ〜７ｃはアレイコントローラ５２１ａとバーチュアルボリュームマネージャ５２１ｂの内部動作をより詳細に説明する。
【０１１８】
図７ａにて、アレイコントローラ５２１ａは、アレイエンジン７０１を有し、本エンジンは、多重アクセスボリュームマップ７０２を用いて、プライマリとセカンダリボリュームをアプリケーションサーバと物理媒体に対応して管理する。
【０１１９】
バーチュアルボリュームマネージャ５２１ｂはバーチュアルボリュームエンジン７０３を有し、本エンジンは、バーチュアルボリュームマップ７０４を用いて、更にオプションとして、セキュリティマップ７０５を用いてバーチュアルボリュームの管理動作を実行する。バーチュアルボリュームマネージャ５２１ｂは更に、時刻と日付情報を保有する日時ソースへの結合７ａを有する。
【０１２０】
各チェックポイント、ロールバック及び削除コマンドに対して、バーチュアルボリュームマネージャ５２１ｂはバーチュアルボリュームマップ７０４を構築維持しながら、対応する参照を決定する。
【０１２１】
図７ｂのバーチュアルボリューム(及びセキュリティ)マップについては、物理媒体とボリュームのマッピングは、プライマリとセカンダリボリュームの対応及びアクセスするアプリケーションサーバとの対応を含めて、具体的なアレイコントローラの実装にしたがって維持される。
【０１２２】
図７ｃのアクセスボリュームマップについては、バーチュアルボリュームマネージャ５２１ｂ（図７ａ）はコマンドを実行する前に本マップ（基本的マップは起動時に参照され、以降の変更がバーチュアルボリュームコントローラで維持される）を参照する。
【０１２３】
バーチュアルボリュームマネージャ５２１ｂは、バーチュアルボリュームを参照するためにアレイコントローラ５２１ａによってなされたセカンダリボリュームの割り当てやセカンダリボリューム対応関係を用いてバーチュアルボリュームを決定する事が出来る。
【０１２４】
バーチュアルボリュームマネージャ５２１ｂは、例えば本対応をマップ７０６に加えて、更に固有のバーチュアルボリュームＩＤの割り当てをマップ７０６に加える。
【０１２５】
バーチュアルボリュームマネージャ５２１ｂはかくして、セカンダリボリュームとバーチュアルボリュームの対応をこのような複合マップを使用して（あるいは双方のマップを使用して）決定する事が出来る。その他の決定／参照メカニズムは、例えば最初に参照した同時係属中の出願明細書に記したように、具体的実装に従って採用する事が出来る。
【０１２６】
図７ｂはバーチュアルボリュームマネージャ５２１ｂがバーチュアルボリュームに対する制限、セキュリティその他の機能を如何に実行するかの例を示す。
【０１２７】
バーチュアルボリュームマネージャ５２１ｂは、例えば、バーチュアルボリューム数、保存するデータ量その他に対する制限を適用可能な動作情報を含むバーチュアルボリュームマップを参照する事により設定する。
【０１２８】
バーチュアルボリュームマップ７０６には、例えば、対応するアサインされたバーチュアルボリュームの指定７６２ａ、７６２ｂ（数値名とタイムスタンプ指定を含む）に加えて、アプリケーションサーバ（のアプリケーション）７６１を含む。バーチュアルボリュームマップ７０６は更に、アレイコントローラ参照７６３及び、本例ではサーバ固有セキュリティパラメータルール／パラメータ７６５を含む。
【０１２９】
バーチュアルボリュームマネージャ５２１ｂは、アプリケーションサーバ、アプリケーション、ユーザその他からのアクセス要求を、これら各要求元対応にアクセス可否を決めた事前設定ルール／パラメータに従って許諾の可否を判定してセキュリティ処理を行う。
【０１３０】
このようなアクセス要求には、一般的又は特定データ又はデータタイプその他具体的特性に関連するロールバック又はバーチュアルボリュームの削除要求が含まれる。
【０１３１】
以下、図８〜１１に示すように、データレプリケーションは広範なアプリケーションに応用する事が出来る。
【０１３２】
例えば、図８はデータバックアップシステム、図９はソフトウェア開発システム、更に図１０はバッチ処理システムで、各ケースともデータレプリケーションを活用している。
【０１３３】
図１１はアプリケーション又は自動オペレーションで如何にデータレプリケーションが使用されるかを示す。（図１１では、一貫性を保つためにデータバックアップを例に使用する。）
図８から始めると、レプリケートされたデータベース即ちデータベース管理システムのデータ又はその他の対象コード又はデータが多重アクセスシステムに於いて、完全に矛盾なく更新されたことを確認する事は困難である。
【０１３４】
従って、データベースのデータバックアップ開始前にデータベースを検証することが望ましい。レプリケーションを使用することによって、他の方法では対象データベースを変更してしまうかもしれない検証作業を、データベースのバックアップの信頼性を維持しながら実行することが可能になる。
【０１３５】
例えば、図８に於いて、データベースサーバ８１１は検証サーバ８１２が検証のために要求するデータベースをオリジナルボリューム８２２に保存する。
【０１３６】
アレイコントローラ８２１ａはペアスプリットを指定して、データベースサーバ８１１からのデータベースへの変更要求がセカンダリボリューム８２３へ同期化されるのを防止して、データベースをセカンダリボリューム８２３にコピーする。
検証実行に伴う問題点は不運にも依然として存在して、検証作業はセカンダリボリューム８２３のデータベースを更新するかも知れず、コピー後に於いてオリジナルボリューム８２２のデータベースは変更されたかもしれない。従って、信頼できるデータベースがバックアップの為に残っていない事になる。
【０１３７】
然しながら、データベースが更新される前にレプリケートしておく事によりデータベースの信頼できるバックアップが可能になる。
【０１３８】
例えば、データベースサーバ８１１又は検証サーバ８１２が、検証サーバ８１２がセカンダリボリューム８２３のデータベースの変更を開始する前に、チェックポイント（又はその他のバーチュアルボリュームレプリケーション）コマンドを使用して、レプリケーションを要求する事により、バーチュアルボリュームマネージャ８２１ｂはデータベースをバーチュアルボリューム８２４にレプリケートする。
【０１３９】
次いで、検証作業に引き続いて、検証サーバ８１２又はバックアップサーバ８１３は、バーチュアルボリューム８２４（ボリューム名、タイムスタンプ又はその他のＩＤを使用して指定する）からセカンダリボリューム８２３へ、ロールバックコマンド(又はその他のバーチュアルボリュームレストアコマンド)を発行する事が出来、これを契機にバーチュアルボリュームマネージャ８２１ｂはバーチュアルボリューム８２４をセカンダリボリューム８２３にレプリケートする。
【０１４０】
この結果、バックアップサーバ８１３はセカンダリボリューム８２３の信頼できるバックアップを実行でき、更に高信頼に検証することが出来る。
【０１４１】
チェックポイント又はロールバックコマンドの実装次第では、バーチュアルボリュームマネージャ８２１ｂは自動的に(即ちプログラム的に)前に述べたレプリケーションを実行する可能性がある事に注意が必要である。
【０１４２】
例えば、バーチュアルボリュームマネージャ８２１ｂは、結合８ａ〜８ｂを通して、データベースサーバ８１１、アレイコントローラ８２１ａ、又は検証サーバ８１２によるプライマリボリューム８２２への格納、セカンダリボリューム８２３へのコピー、セカンダリボリューム８２３に対する読み取り又は初期保存等をモニタする。このようなケースで、保存、コピー、読み取り等はバーチュアルボリュームマネージャ８２１ｂがセカンダリボリューム８２３からバーチュアルボリューム８２４へのレプリケーションを開始する契機（バーチュアルボリュームコマンドで指示されるのと同様に）の役割を果たす可能性がある。
【０１４３】
更に又これに関連して、バックアップサーバ８１３から発行されるデータ読み取りコマンドは、同様に、バーチュアルボリュームマネージャ８２１ｂにバーチュアルボリューム８２４からセカンダリボリューム８２３にロールバックさせる契機を与える可能性がある。（各種の契機、即ち、コマンド、非コマンドイベント、時刻その他の繰り返される契機等が組み合わせて使用される可能性があることに注意が必要である。）
続いて図９のソフトウェア開発では、ソフトウェアのバージョン管理と条件を変えた各種の環境でのテストが課題になる。
【０１４４】
ソフトウェアのテスト中では、例えば、ソフトウェアのバグが検出されると、本バグを修正した新たなバージョンのテストが必要になる。
【０１４５】
不運にも前のソフトウェアバージョンでのテストが環境を変えているかもしれない。更に悪い事には、バグは環境又は条件によって依然として存在するかも知れず、変更して一つ以上の環境又は条件セットの下で再テストすることが望ましい。
【０１４６】
図９においては、環境生成器９１３がオリジナルボリューム９２５に保存した一つ以上の環境又は条件の下で、検証サーバ８１２が検証を要求するソフトウェアを、開発ワークステーションがオリジナルボリューム９２２に格納する。
【０１４７】
アレイコントローラ９２１ａはソフトウェア及び環境と条件を各々セカンダリボリューム９２３と９２６にコピーする。ソフトウェアテストにおける問題は不運にも依然として存在して、テストによってセカンダリボリューム９２６の環境が更新され、バグが発見されて修正されると、セカンダリボリューム９２３、９２６は変更されその後のテストに影響することになる。
【０１４８】
然しながら、ソフトウェア及び環境を変更される前にレプリケートすることによって、本テストは改善する事が出来る。
【０１４９】
例えば、環境生成器９１３又はテストサーバ９１２は、テストサーバがセカンダリボリューム９２６の環境を変更する前に、チェックポイント（又はバーチュアルボリュームのレプリケーション）コマンドを使用して、レプリケーションを要求して、バーチュアルボリュームマネージャ９２１ｂに対応する環境を対応するバーチュアルボリューム９２７ａ、ｂにレプリケーションを実行させる。
【０１５０】
テストに次いで、テストサーバ９１２は、バーチュアルボリューム９２７ａ、ｂの少なくとも何れかを指定してロールバック(又は他のバーチュアルボリュームレストア)コマンドを発行して、バーチュアルボリュームマネージャ９２１ｂが指定されたバーチュアルボリュームをセカンダリボリューム９２６に取り戻す事が出来る。
【０１５１】
かくして、環境を再度転送する事無く、テストを繰り返す事が出来る。
【０１５２】
チェックポイント又はロールバックコマンドの実装次第では、バックアップの時と同様に、バーチュアルボリュームマネージャ９２１ｂは上記で述べたソフトウェア開発でのレプリケーションを自動的に開始する事が有り得ることに注意が必要である。
【０１５３】
例えば、バーチュアルボリュームマネージャ９２１ｂはＩ／Ｏ又はアレイコントローラ結合を通して、プライマリボリューム９２５への保存、セカンダリボリューム９２６へのコピー、或いはセカンダリボリューム９２６に対する読み取り又は初期書き込み等をモニタする。
【０１５４】
そのようなケースで、保存、コピー、読み出し等は、バーチュアルボリュームマネージャ９２１ｂがセカンダリボリューム９２６からバーチュアルボリューム９２７ａ、ｂへのレプリケーションを開始する一つの契機になり得る。更にこれに関連して、テストサーバ９１２からの読み出しコマンドは、同様にバーチュアルボリュームマネージャ９２１ｂがバーチュアルボリューム９２７ａ、ｂからセカンダリボリューム９２６にレストアする契機（或いは多様な契機が組合せで使用されうる）になり得る。
【０１５５】
データレプリケーションに対しては上記したセキュリティを使用することは利益になりえる。例えば、サーバによる環境の削除、変更を禁じる事により、ソフトウェアバージョン、環境、パラメータその他の動作情報（テスト管理、ユーザ、施設等）の検証可能な結果を保護することが可能になる。
【０１５６】
更にその様な情報の安全なバックアップが実行され、バックアップされた情報は削除され、ストレージスペースは開放される。（バックアップは外部コントロール又はテスト、時刻決めバックアップ、データ量等を契機に自動的に実行されることにも注意が必要である。例えば、図７ａ〜ｃ、９を参照。）
異なったアプリケーションを含む自動動作が望ましい事に注意願いたい。あとでわかるように、定常的又はダイナミックなデータレプリケーションが可能になる。(図１６の例を参照)。
【０１５７】
図１０にて、サブプロセスのセットより構成されるバッチ処理が実行され、各サブプロセスが前のサブプロセスの更新データをソースデータとして使用して最終結果が生成される。
【０１５８】
不運にも、一つの中間サブプロセスでの誤動作又はエラーがバッチ処理全体の再試行を余儀なくしてしまうという問題が生ずる。
【０１５９】
更に悪い事に、バッチ処理が複雑化しサブプロセス数が増大し扱うデータ量が増大するほど、途中での誤動作の可能性が増大するのみならず、データを特にリモートサイトから大量に再ロードしたり再スタートしたりする時間、コストも増大する。（一つのソースデータのデータベース上で異なったバッチ処理を実行する場合も同様な問題が発生する。）
然しながら、図１０は、データレプリケーションを使用して上記のバッチ処理で遭遇する問題が如何に解決されるかを示す。
【０１６０】
図示するように、バッチサーバ１０１２がバッチ処理のために要求するデータベースを、生産サーバ１０１１がオリジナルボリューム１０２２に保存する。アレイコントローラ１０２１ａがデータベースをセカンダリボリューム１０２３にコピーする。
バッチプロセッサ１０１２は、バッチサブプロセスが更新を開始して、前のバッチサブプロセスのオリジナル又は更新データが各対応するセカンダリボリューム内で変更される前に、チェックポイント(又は他のバーチュアルボリュームレプリケーション)コマンドを発行して、バーチュアルボリュームマネージャ１０２１ｂに対応するサブプロセスの更新データを各対応するバーチュアルボリューム１０２４ａ―ｃにレプリケートさせる。
【０１６１】
その後、一つのサブプロセスで誤動作が発見された場合には、バッチサーバ１０１２は、関連するバーチュアルボリューム１０２４ａ〜ｃを指定してロールバック(又はその他のバーチュアルボリュームのレストア)コマンドを発行する事により、バーチュアルボリュームマネージャ１０２１ｂが指定されたバーチュアルボリューム１０２４ａ―ｃのデータをセカンダリボリューム１０２３に取り戻す。（典型的には、誤動作のあった直前の更新データのみが取り戻され、誤動作以降の全てのバッチ処理は削除される。
然しながら、各種の結果が誤動作を特定する為に利用される。）バッチ処理はかくして、誤動作の発生したプロセスから再実行され、バッチ処理全体の再処理は防止する事が出来る。
【０１６２】
チェックポイント又はロールバックコマンドの実装次第では、前のアプリケーションと同様にバーチュアルボリュームマネージャ１０２１ｂはバッチ処理でのレプリケーションを自動的にも開始する事があることに注意が必要である。
【０１６３】
例えば、バーチュアルボリュームマネージャ１０２１ｂはＩ／Ｏ又はアレイコントローラ結合を通して、セカンダリボリューム１０２３への書き込みをモニタして、これを契機に対応するセカンダリボリュームをバーチュアルボリューム１０２４ａ〜ｃにレプリケートする。反対にバッチサーバ１０１２からの読み取り要求を契機（あるいは多様な契機が使用されうる）にバーチュアルボリュームマネージャ１０２１ｂがロールバックを実行することが有り得る。セキュリティ／バックアップその他動作が再度実装されうる(図８、９を参照)。
【０１６４】
図１１は、ストレージデバイスここではディスクアレイによりアプリケーションを実行して、データレプリケーションが以上で述べた効果を達成するために如何に活用されるかを示す。この例では、検証及びバックアップサーバ業務の何れか又は双方がバーチュアルボリュームマネージャ１１２１ｂによって実行される。
【０１６５】
例えば、図８のデータベースサーバ８１１及び検証サーバ８１２と同様に、データベースサーバ１１１１及び検証サーバ１１１２は、ディスクアレイコントローラ１１２１ａとバーチュアルボリュームマネージャ１１２１ｂと共同して動作する。
【０１６６】
検証サーバ１１１２は、次いで、バーチュアルボリュームマネージャ１１２１ｂに要求し、本バーチュアルボリュームマネージャ１１２１ｂは、ロールバックされたセカンダリボリューム１１２３又は更には、バーチュアルボリューム１１２４を自動的又はコマンドを契機にバックアップして、検証されレプリケートたばかりのバーチュアルボリュームをセカンダリボリューム１１２３にロールバックする必要をなくしてくれる。
【０１６７】
図１２〜１６は各種アプリケーションでデータレプリケーションを活用する方法を示す。本発明のよりよき理解の為に、データバックアップ、ソフトウェア開発及びバッチ処理の例を再度取り上げる。然しながら本発明のレプリケーションは、各種のアプリケーションで実質的に同様に活用できる事に注意頂きたい。
【０１６８】
図１２について、本事例のデータバックアップでは、先ずオリジナルデータベースのコピーを生成する（ステップ１２０１）。
【０１６９】
これにより、データベースのコピーについて検証することが可能になり、オリジナルデータベースをそのままにして、オリジナルデータベースを同様なコピーを通して他のアプリケーションが使用可能になる。
【０１７０】
データベースは典型的にはオリジナルよりはコピーをバーチュアルボリュームにレプリケートし（ステップ１２０３）、検証の結果オリジナル又はコピーの更新の整合性が確認された場合には、正常性が検証されたバーチュアルボリュームが残る事になる。コピーは検証のためにマウントされ（ステップ１２０５）、コピーの整合性が検証される（ステップ１２０７）。
【０１７１】
ステップ１２０９の結果整合性が確認されたら、バーチュアルボリュームのデータをコピーボリュームにレストア又はロールバックして（ステップ１２１１）、本ロールバックデータをバックアップする（ステップ１２１３）。
【０１７２】
ステップ１２０９の結果不整合が確認されたら、本バーチュアルボリュームは削除され（ステップ１２１５）、コピーはオリジナルデータベースで再同期され（ステップ１２１７）、再度１２０１より開始する。
【０１７３】
図１３ａー１５ｂでソフトウェア開発、バージョン管理及びテスト方法が例示される。
【０１７４】
図１３ａ〜ｂでのソフトウェアバージョン方法はステップ１３０１(図１３ａ)のソフトウェア開発で始まる。次にオリジナルソフトウェアのコピーを作成する（ステップ１３０３）。これにより、ソフトウェアテストは本コピーに対して実施され、オリジナルは他のアプリケーションが同様にコピーを作成して使用すること又は本ソフトウェアの一つ以上のバージョンを作成するため（例えばテストの為）に利用することが可能になる。
【０１７５】
ステップ１３０５にて、ソフトウェアは典型的にはオリジナルよりコピーがバーチュアルボリュームにレプリケートされ、オリジナル又はコピーに対する更新が本バージョンのバーチュアルボリュームに影響を及ばないようにする（例えばバグを除去するための更新で新しいバージョンが発生する）。
【０１７６】
ステップ１３０７にて、ソフトウェアバージョン表示子と対応するバーチュアルボリュームＩＤがソフトウェアバージョンテーブルに加えられる。最後にコピーは新バージョンのソフトウェア（もし存在すれば）に再同期される（ステップ１３０９）。
【０１７７】
図１３ｂに、ソフトウェアのバージョンと対応するバーチュアルボリュームＩＤ（例えば、名前タイプのＩＤ）を対比するソフトウェアバージョンテーブルを示す。
【０１７８】
図１４ａ〜ｂへと続き、テスト環境バージョン方法はテスト環境の開発で始まる（図１４ａステップ１４０１）。
【０１７９】
次いでステップ１４０３に於いて、オリジナル環境のコピーを作成する。これによりテストはコピー環境によって進められ、オリジナルは他のアプリケーションが同様にコピーして使用でき、又は複数の環境バージョンのテスト用として、例えばさまざまなソフトウェアや環境のテストに使用できる。
【０１８０】
ステップ１４０５にて、テスト環境は典型的には、オリジナルよりコピーがバーチュアルボリュームにレプリケートされ、オリジナル又はコピーに対する更新が本バージョンのバーチュアルボリュームに影響を及ばないようにする（例えばバグを除去するための更新で新しいバージョンが発生する）。
【０１８１】
ステップ１４０７にて、環境バージョン表示子と対応するバーチュアルボリュームＩＤが環境バージョンテーブルに加えられる。最後にコピーは新バージョンの環境に（もし存在すれば）再同期される（ステップ１４０９）。
【０１８２】
図１４ｂに、環境のバージョンと対応するバーチュアルボリュームＩＤ（例えば名前タイプのＩＤ）を対比する環境バージョンテーブルを示す。
【０１８３】
図１５は更に図１３、１４ａの方法を組み合わせたソフトウェアのテスト方法を説明する。
【０１８４】
同図ステップ１５０１に示す通り、本方法は、ソフトウェアと環境の１〜Ｎの不成功な組合せｉに対してステップ１５０３〜１５１３を繰り返す。現ソフトウェアバージョンのバーチュアルボリュームＩＤがソフトウェアバージョンテーブルから抽出され（ステップ１５０３）、バーチュアルボリュームに保存されていたバージョンのソフトウェアがコピーの形でロールバックされる（ステップ１５０５）。
【０１８５】
次いで、現バージョンの環境に対応するバーチュアルボリュームＩＤが図１４ｂと同様の環境テーブルから読み取られ（ステップ１５０７）、指定されたコピーにロールバックされる（ステップ１５０９）。
【０１８６】
次いで、対応するバージョンのソフトウェアと環境がロードされ（ステップ１５１１）、当該ソフトウェアは当該環境でテストされる（ステップ１５１３）。ソフトウェアバージョンと環境バージョンの組合せに対するテスト結果が図１５ｂのバージョンテスト結果テーブルの如く纏められる。
【０１８７】
図１６はバッチ処理方法の一例を示し、ステップ１６０１にて、ソースデータのオリジナルボリュームをセカンダリボリュームにコピーし、バッチ処理をコピーで実行できるようにし、オリジナルは他のアプリケーションが同様にコピーを作成して利用できるようにする。
【０１８８】
本方法ではステップ１６０５〜１６１９をステップ１６０３に示すようにバッチ処理のサブプロセスｉの１〜Ｎについて繰り返す。
【０１８９】
ステップ１６０５にて、セカンダリボリュームはバーチュアルボリュームにレプリケートされる。
【０１９０】
これにより、途中のサブプロセスが不成功になった場合にその前の状態に戻して、当該不成功サブプロセスは再実行できるようになる。次いでサブプロセス番号と対応するバーチュアルボリュームＩＤがバッチサブプロセス又はバージョンマップに加えられ（ステップ１６０７）、現サブプロセスがセカンダリボリュームのコピーを使用して実行される（ステップ１６０９）。
【０１９１】
もし、ステップ１６１１にて、現サブプロセスが成功だった場合には、ステップ１６０３に戻り、次のサブプロセスが実行される。反対に現サブプロセスが不成功だった場合には、最初にステップ１６１３にて、不成功だったサブプロセスを、ステップ１６０７にて使用したマップを参照し特定し、バーチュアルボリュームＩＤを取得する。
次いで本バーチュアルボリュームからコピーストレージにレストアレプリケート即ち“ロールバック”する（ステップ１６１５）。次にステップ１６１７で不成功なサブプロセスの後に生成されたサブプロセスに関連するバーチュアルボリュームが削除され、現サブプロセスは不成功サブプロセスにセットされ、本不成功原因を修正した後に本サブプロセスを再開始する。
【０１９２】
図１７ａ、１７ｂはバーチュアルボリュームマネージャ１７００とアレイコントローラ１７２０の構成を示す。
【０１９３】
図１７ａから始めると、バーチュアルボリュームマネージャ１７００は、バーチュアルボリュームエンジン１７０１、参照エンジン１７０３、アレイコントローラインターフェース１７０５、アプリケーションインターフェース１７０７、コマンドエンジン１７０９、アプリケーションエンジン１７１１、モニタ１７１３、セキュリティエンジン１７１５、バーチュアルボリュームマップ１７１７、及びセキュリティマップ１７１９を有する。
【０１９４】
バーチュアルボリュームエンジン１７０１は、バーチュアルボリューム要求に対する契機を受信し、バーチュアルボリュームのコンポーネントを初期化する。
【０１９５】
参照エンジン１７０３は、各実装に於いて使用される、バーチュアルボリュームＩＤと例えばセカンダリボリューム、アプリケーションサーバ、アプリケーション、ユーザ等の参照関係を管理する。
【０１９６】
既に述べた様に、このような参照はダウンロード可能で、参照エンジンによりアサインされ、又はバーチュアルボリューム契機の一部として提供されアレイコントローラにより保存され、バーチュアルボリュームマップ１７１７の中に全体又はその一部が保存される。
【０１９７】
参照エンジン１７０３は更に、既に説明したように参照の抽出と決定を行う。アレイコントローラインターフェース１７０５は、バーチュアルボリュームマネージャ１７００がアレイコントローラと交信出来る様にし、例えば、バーチュアルボリュームコマンドを受信しコマンドをアレイコントローラに発行して、データアクセスやサポート機能（キャッシング、エラー訂正等）を実行させる。
【０１９８】
コマンドエンジン１７０７はバーチュアルボリュームコマンドを解釈し実行する（例えば、参照エンジン１７０３、アレイコントローラインターフェース１７０５、アプリケーションエンジン１７１１又はセキュリティエンジン１７１５を起動して）。
【０１９９】
アプリケーションエンジン１７１１は、外部コントロール又はバーチュアルボリュームマネージャ１７００からの要求による特殊アプリケーションの実行を推進する。
【０２００】
アプリケーションエンジン１７１１は更に、ＪＡＶＡバーチュアルマシーン、（ＪＡＶＡは登録商標です）アクテイブ−Ｘその他の特定アプリケーションからの要求に従う為のインターフェースを提供する。そのようなアプリケーションにはデータバックアップ、ソフトウェア開発又はバッチ処理等も含まれる。
【０２０１】
その他のバーチュアルボリュームコンポーネントとして、モニタエンジン１７１３は、ホストデバイス、アプリケーションサーバ、アレイコントローラ等を含むストレージ動作をモニタする。
【０２０２】
セキュリティエンジン１７１５はセキュリティマップ１７１９と共に許可、認証等のセキュリティオペレーションを実施する。
【０２０３】
バーチュアルボリュームマップ１７１７とセキュリティマップ１７１９は、具体的実装に対応して、バーチュアルボリューム参照とセキュリティ情報を提供する。
【０２０４】
アレイコントローラ１７２０（図１７ｂ）は、既に説明したアレイコントローラ機能を有するアレイエンジン１７２１を有する。
【０２０５】
アレイコントローラ１７２０は更にバーチュアルボリュームインターフェース１７２３とセキュリティエンジン１７２５を有する。
【０２０６】
バーチュアルボリュームインターフェース１７２３は、バーチュアルボリュームマネージャとのインターフェースを提供し、例えば、本バーチュアルボリュームマネージャがデータスペース共有、コマンド解釈、バーチュアルボリュームキャッシングを行い、エラー訂正等その他のサポート機能を実行できるようにする。
【０２０７】
最後にセキュリティエンジン１７２５はセキュリティマップ１７２７と共に、既に図１７ａのバーチュアルボリュームマネージャ１７００の対応する要素について述べたと同様な動作を、プライマリとセカンダリボリュームのアレイデータスペースに関して実施する。
【０２０８】
特定の実施例に基づいて本発明を説明してきたが、ある範囲の改変、及び各種の変更と置き換えは既に述べた開示の範囲に含まれる。
【０２０９】
本発明のある事例でのある機能は、対応する他の機能を使用する事無く、又本発明の範囲と精神から離れる事無く採用できる事に注意願いたい。
【図面の簡単な説明】
【０２１０】
【図１】は現行データストレージを例示するフローダイアグラムである。
【図２】は本発明の一実施例による、データレプリケーションを採用する結合システムを示すフローダイアグラムである。
【図３】は本発明の一実施例による、図２のデータレプリケーションシステム又はその要素を構成できる処理システムを示すフローダイアグラムである。
【図４】は本発明の一実施例による、データレプリケーションシステムに基づく典型的な処理システムを示すフローダイアグラムである。
【図５】は本発明の一実施例による、汎用的なデータレプリケーションシステム処理を示すフローダイアグラムである。
【図６】は本発明の一実施例による、バーチュアルボリュームコマンドのコマンド構成例を示す。
【図７ａ】は本発明の一実施例による、アレイコントローラとバーチュアルボリュームの相互動作を示すフローダイアグラムである。
【図７ｂ】は本発明の一実施例による、バーチュアルボリュームとセキュリティを組み合わせたマッピングテーブルを図示する。
【図７ｃ】は本発明の一実施例による、アレイボリュームのマッピングテーブルを図示する。
【図８】は本発明の一実施例による、データバックアップで活用するデータレプリケーション例を示すフローダイアグラムである。
【図９】は本発明の一実施例による、ソフトウェア開発で活用するデータレプリケーション例を示すフローダイアグラムである。
【図１０】は本発明の一実施例による、バッチ処理で活用するデータレプリケーション例を示すフローダイアグラムである。
【図１１】は本発明の一実施例による、データレプリケーション可能デバイスがアプリケーションで活用される様子を示すフローダイアグラムである。
【図１２】は本発明の一実施例による、データバックアップ方法を示すフローチャートである。
【図１３ａ】は本発明の一実施例による、ソフトウェアバージョン方法を示すフローチャートである。
【図１３ｂ】は図１３ａで生成されるソフトウェアバージョンテーブルを示す。
【図１４ａ】は本発明の一実施例による、環境バージョン方法を示すフローチャートである。
【図１４ｂ】は図１４ａで生成される環境バージョンテーブルを示す。
【図１５ａ】は本発明の一実施例による、ソフトウェアテスト方法を示すフローチャートである。
【図１５ｂ】は図１５ａで生成されるソフトウェアテストテーブルを示す。
【図１６】は本発明の一実施例による、バッチ処理方法を示すフローチャートである。
【図１７ａ】は本発明の一実施例による、バーチュアルボリュームマネージャの構成を示す。
【図１７ｂ】は本発明の一実施例による、アレイコントローラの構成を示す。
【符号の説明】
【０２１１】
２００・・・システム
２０２・・・ネットワーク（インターネット）
２０３・・・アプリケーションサーバ（オリジナル／更新）
２０４・・・その他のコンピューティングシステム
２１１・・・ディスクアレイ
２１１ａ・・・アレイコントローラ
２１１ｂ・・・バーチュアルボリューム（Ｖ．Ｖｏｌ）マネージャ
２１１ｃ・・・ストレージ媒体
２１２・・・アプリケーションサーバ１（管理）
２１３・・・ネットワーク（企業内イントラネット）
２１４ａ・・・アプリケーションサーバ２（オリジナル）
２１４ｂ・・・ＯＡＳ（オリジナルアプリケーションサーバ）−ｍ
２１５ａ・・・アプリケーションサーバ３（更新）
２１５ｂ・・・ＭＡＳ（更新アプリケーションサーバ）−ｎ
２１６・・・ネットワークサーバ
【図１】
2005004721.tif 000003
【図２】
2005004721.tif 000004
【図３】
2005004721.tif 000005
【図４】
2005004721.tif 000006
【図５】
2005004721.tif 000007
【図６】
2005004721.tif 000008
【図７ａ】
2005004721.tif 000009
【図７ｂ】
2005004721.tif 000010
【図７ｃ】
2005004721.tif 000011
【図８】
2005004721.tif 000012
【図９】
2005004721.tif 000013
【図１０】
2005004721.tif 000014
【図１１】
2005004721.tif 000015
【図１２】
2005004721.tif 000016
【図１３ａ】
2005004721.tif 000017
【図１３ｂ】
2005004721.tif 000018
【図１４ａ】
2005004721.tif 000019
【図１４ｂ】
2005004721.tif 000020
【図１５ａ】
2005004721.tif 000021
【図１５ｂ】
2005004721.tif 000022
【図１６】
2005004721.tif 000023
【図１７ａ】
2005004721.tif 000024
【図１７ｂ】
2005004721.tif 000025
【外国語明細書】
2005004721.tif 000026
2005004721.tif 000027
2005004721.tif 000028
2005004721.tif 000029
2005004721.tif 000030
2005004721.tif 000031
2005004721.tif 000032
2005004721.tif 000033
2005004721.tif 000034
2005004721.tif 000035
2005004721.tif 000036
2005004721.tif 000037
2005004721.tif 000038
2005004721.tif 000039
2005004721.tif 000040
2005004721.tif 000041
2005004721.tif 000042
2005004721.tif 000043
2005004721.tif 000044
2005004721.tif 000045
2005004721.tif 000046
2005004721.tif 000047
2005004721.tif 000048
2005004721.tif 000049
2005004721.tif 000050
2005004721.tif 000051
2005004721.tif 000052
2005004721.tif 000053
2005004721.tif 000054
2005004721.tif 000055
2005004721.tif 000056
2005004721.tif 000057
2005004721.tif 000058
2005004721.tif 000059
2005004721.tif 000060
2005004721.tif 000061
2005004721.tif 000062
2005004721.tif 000063
【図１】
2005004721.tif 000064
【図２】
2005004721.tif 000065
【図３】
2005004721.tif 000066
【図４】
2005004721.tif 000067
【図５】
2005004721.tif 000068
【図６】
2005004721.tif 000069
【図７Ａ】
2005004721.tif 000070
【図７Ｂ】
2005004721.tif 000071
【図７Ｃ】
2005004721.tif 000072
【図８】
2005004721.tif 000073
【図９】
2005004721.tif 000074
【図１０】
2005004721.tif 000075
【図１１】
2005004721.tif 000076
【図１２】
2005004721.tif 000077
【図１３Ａ】
2005004721.tif 000078
【図１３Ｂ】
2005004721.tif 000079
【図１４Ａ】
2005004721.tif 000080
【図１４Ｂ】
2005004721.tif 000081
【図１５Ａ】
2005004721.tif 000082
【図１５Ｂ】
2005004721.tif 000083
【図１６】
2005004721.tif 000084
【図１７Ａ】
2005004721.tif 000085
【図１７Ｂ】
2005004721.tif 000086