(57)【特許請求の範囲】
【請求項１】
ホスト計算デバイス（メインフレーム）に結合されたストレージ・コントローラにより、ホスト・アプリケーションから、ストレージ・クラウドへのソース・データセットのポイント・イン・タイム・バックアップを実行するようにとのコマンドを受け取ることと、
前記ストレージ・コントローラにより、前記ソース・データセットのポイント・イン・タイム・コピーを介するターゲット・データセットを生成することと、
前記ソース・データセットの位置と前記ターゲット・データセットの位置との間の対応を示すマッピングを生成することであって、前記マッピングは、異なるタイプのストレージ表現のための、個々のエクステント若しくはエクステント範囲、又はボリューム及び関連したシリンダ範囲の対応を示す、生成することと、
前記ストレージ・コントローラにより、前記ターゲット・データセットを前記ストレージ・クラウドにコピーし、前記ソース・データセットの前記ポイント・イン・タイム・バックアップであるバックアップ・データセットを生成することであって、前記ホスト・アプリケーションが、前記ソース・データセットの前記位置への参照を介して前記バックアップ・データセットにアクセス可能である、生成することと、
を含む、方法。
【請求項２】
前記ホスト・アプリケーションは、前記ストレージ・コントローラに結合されたホスト計算デバイス内で実行され、前記ストレージ・クラウドへの前記ソース・データセットの前記ポイント・イン・タイム・バックアップを実行するための動作は、前記ホスト計算デバイスから前記ストレージ・コントローラにオフロードされ、前記ストレージ・コントローラは、前記ターゲット・データセットのエクステント、トラック、又は他のストレージ・エンティティを前記ホスト計算デバイスに伝送することなく、前記ターゲット・データセットを前記ストレージ・クラウドにコピーする、請求項１に記載の方法。
【請求項３】
前記ストレージ・クラウドへの前記ソース・データセットの前記ポイント・イン・タイム・バックアップは、仮想同時コピー・セッションにより実行され、前記方法は、
前記仮想同時コピー・セッションの終了に応答して、前記ソース・データセットの位置と前記ターゲット・データセットの位置との間の前記対応を示す前記マッピングに割り当てられたリソースを解放すること、
をさらに含む、請求項１に記載の方法。
【請求項４】
前記方法は、
前記ストレージ・コントローラにより、ホスト計算デバイスからデータの読み書きに関する入力／出力（Ｉ／Ｏ）要求を受け取ることと、
前記ターゲット・データセットにおいて前記Ｉ／Ｏ要求に対応するトラックが更新されたと判断することに応答して、前記ストレージ・コントローラにより、前記Ｉ／Ｏ要求を前記トラックについてのターゲット・データセット・エクステントに送ることと、
をさらに含む、請求項１に記載の方法。
【請求項５】
前記方法は、
前記ストレージ・コントローラにより、ホスト計算デバイスからデータの読み書きに関する入力／出力（Ｉ／Ｏ）要求を受け取ることと、
前記ターゲット・データセットにおいて前記Ｉ／Ｏ要求に対応するトラックが更新されていないと判断することに応答して、前記ストレージ・コントローラにより、前記Ｉ／Ｏ要求を前記トラックについてのソース・データセット・エクステントに送ることと、
をさらに含む、請求項１に記載の方法。
【請求項６】
前記ソース・データセットの前記位置と前記ターゲット・データセットの前記位置との間の対応を示す前記マッピングは、一対一対応、多対一対応、又は一対多対応によって、個々のエクステント若しくはエクステント範囲、又はボリューム及び関連したシリンダ範囲をマッピングする、請求項１に記載の方法。
【請求項７】
システムであって、
メモリと、
前記メモリに結合されたプロセッサと、
を含み、前記プロセッサは動作を実行し、前記動作は、
ホスト・アプリケーションから、ホスト計算デバイス（メインフレーム）に結合されたストレージ・クラウドへのソース・データセットのポイント・イン・タイム・バックアップを実行するようにとのコマンドを受け取ることと、
前記ソース・データセットのポイント・イン・タイム・コピーを介するターゲット・データセットを生成することと、
前記ソース・データセットの位置と前記ターゲット・データセットの位置との間の対応を示すマッピングを生成することであって、前記マッピングは、異なるタイプのストレージ表現のための、個々のエクステント若しくはエクステント範囲、又はボリューム及び関連したシリンダ範囲の対応を示す、生成することと、
前記ターゲット・データセットを前記ストレージ・クラウドにコピーし、前記ソース・データセットの前記ポイント・イン・タイム・バックアップであるバックアップ・データセットを生成することであって、前記ホスト・アプリケーションが、前記ソース・データセットの前記位置への参照を介して前記バックアップ・データセットにアクセス可能である、生成することと、
を含む、システム。
【請求項８】
前記ホスト・アプリケーションは、前記システムに結合されたホスト計算デバイス内で実行され、前記ストレージ・クラウドへの前記ソース・データセットの前記ポイント・イン・タイム・バックアップを実行するための動作は、前記ホスト計算デバイスから前記システムにオフロードされ、前記システムは、前記ターゲット・データセットのエクステント、トラック、又は他のストレージ・エンティティを前記ホスト計算デバイスに伝送することなく、前記ターゲット・データセットを前記ストレージ・クラウドにコピーする、請求項７に記載のシステム。
【請求項９】
前記ストレージ・クラウドへの前記ソース・データセットの前記ポイント・イン・タイム・バックアップは、仮想同時コピー・セッションにより実行され、前記動作は、
前記仮想同時コピー・セッションの終了に応答して、前記ソース・データセットの位置と前記ターゲット・データセットの位置との間の前記対応を示す前記マッピングに割り当てられたリソースを解放すること、
をさらに含む、請求項７に記載のシステム。
【請求項１０】
前記動作は、
ホスト計算デバイスからデータの読み書きに関する入力／出力（Ｉ／Ｏ）要求を受け取ることと、
前記ターゲット・データセットにおいて前記Ｉ／Ｏ要求に対応するトラックが更新されたと判断することに応答して、前記Ｉ／Ｏ要求を前記トラックについてのターゲット・データセット・エクステントに送ることと、
をさらに含む、請求項７に記載のシステム。
【請求項１１】
前記動作は、
ホスト計算デバイスからデータの読み書きに関する入力／出力（Ｉ／Ｏ）要求を受け取ることと、
前記ターゲット・データセットにおいて前記Ｉ／Ｏ要求に対応するトラックが更新されていないと判断することに応答して、前記Ｉ／Ｏ要求を前記トラックについてのソース・データセット・エクステントに送ることと、
をさらに含む、請求項７に記載のシステム。
【請求項１２】
前記ソース・データセットの前記位置と前記ターゲット・データセットの前記位置との間の対応を示す前記マッピングは、一対一対応、多対一対応、又は一対多対応によって、個々のエクステント若しくはエクステント範囲、又はボリューム及び関連したシリンダ範囲をマッピングする、請求項７に記載のシステム。
【請求項１３】
コンピュータ・プログラムであって、前記コンピュータ・プログラムが、コンピュータ・システムに、
ホスト計算デバイス（メインフレーム）に結合されたストレージ・コントローラにより、ホスト・アプリケーションから、ストレージ・クラウドへのソース・データセットのポイント・イン・タイム・バックアップを実行するようにとのコマンドを受け取ることと、
前記ストレージ・コントローラにより、前記ソース・データセットのポイント・イン・タイム・コピーを介するターゲット・データセットを生成することと、
前記ソース・データセットの位置と前記ターゲット・データセットの位置との間の対応を示すマッピングを生成することであって、前記マッピングは、異なるタイプのストレージ表現のための、個々のエクステント若しくはエクステント範囲、又はボリューム及び関連したシリンダ範囲の対応を示す、生成することと、
前記ストレージ・コントローラにより、前記ターゲット・データセットを前記ストレージ・クラウドにコピーし、前記ソース・データセットの前記ポイント・イン・タイム・バックアップであるバックアップ・データセットを生成することであって、前記ホスト・アプリケーションが、前記ソース・データセットの前記位置への参照を介して前記バックアップ・データセットにアクセス可能である、生成することと、
を実行させる、コンピュータ・プログラム。
【請求項１４】
前記ホスト・アプリケーションは、前記ストレージ・コントローラに結合されたホスト計算デバイス内で実行され、前記ストレージ・クラウドへの前記ソース・データセットの前記ポイント・イン・タイム・バックアップを実行するための動作は、前記ホスト計算デバイスから前記ストレージ・コントローラにオフロードされ、前記ストレージ・コントローラは、前記ターゲット・データセットのエクステント、トラック、又は他のストレージ・エンティティを前記ホスト計算デバイスに伝送することなく、前記ターゲット・データセットを前記ストレージ・クラウドにコピーする、請求項１３に記載のコンピュータ・プログラム。
【請求項１５】
前記ストレージ・クラウドへの前記ソース・データセットの前記ポイント・イン・タイム・バックアップは、仮想同時コピー・セッションにより実行され、前記動作は、
前記仮想同時コピー・セッションの終了に応答して、前記ソース・データセットの位置と前記ターゲット・データセットの位置との間の前記対応を示す前記マッピングに割り当てられたリソースを解放すること、
をさらに含む、請求項１４に記載のコンピュータ・プログラム。
【請求項１６】
前記動作は、
前記ストレージ・コントローラにより、ホスト計算デバイスからデータの読み書きに関する入力／出力（Ｉ／Ｏ）要求を受け取ることと、
前記ターゲット・データセットにおいて前記Ｉ／Ｏ要求に対応するトラックが更新されたと判断することに応答して、前記ストレージ・コントローラにより、前記Ｉ／Ｏ要求を前記トラックについてのターゲット・データセット・エクステントに送ることと、
をさらに含む、請求項１４に記載のコンピュータ・プログラム。
【請求項１７】
前記動作は、
前記ストレージ・コントローラにより、ホスト計算デバイスからデータの読み書きに関する入力／出力（Ｉ／Ｏ）要求を受け取ることと、
前記ターゲット・データセットにおいて前記Ｉ／Ｏ要求に対応するトラックが更新されていないと判断することに応答して、前記ストレージ・コントローラにより、前記Ｉ／Ｏ要求を前記トラックについてのソース・データセット・エクステントに送ることと、
をさらに含む、請求項１４に記載のコンピュータ・プログラム。
【請求項１８】
前記ソース・データセットの前記位置と前記ターゲット・データセットの前記位置との間の対応を示す前記マッピングは、一対一対応、多対一対応、又は一対多対応によって、個々のエクステント若しくはエクステント範囲、又はボリューム及び関連したシリンダ範囲をマッピングする、請求項１３に記載のコンピュータ・プログラム。
【請求項１９】
クラウド・コンピューティング・システムであって、
ホスト計算デバイス（メインフレーム）に結合されたストレージ・クラウドと、
前記ストレージ・クラウドに結合されたストレージ・コントローラと、
前記ストレージ・コントローラに結合されたホストと、
を含み、前記クラウド・コンピューティング・システムにおいて実行される動作は、
ストレージ・コントローラにより、ホスト・アプリケーションから、ストレージ・クラウドへのソース・データセットのポイント・イン・タイム・バックアップを実行するようにとのコマンドを受け取ることと、
前記ストレージ・コントローラにより、前記ソース・データセットのポイント・イン・タイム・コピーを介するターゲット・データセットを生成することと、
前記ソース・データセットの位置と前記ターゲット・データセットの位置との間の対応を示すマッピングを生成することであって、前記マッピングは、異なるタイプのストレージ表現のための、個々のエクステント若しくはエクステント範囲、又はボリューム及び関連したシリンダ範囲の対応を示す、生成することと、
前記ストレージ・コントローラにより、前記ターゲット・データセットを前記ストレージ・クラウドにコピーし、前記ソース・データセットの前記ポイント・イン・タイム・バックアップであるバックアップ・データセットを生成することであって、前記ホスト・アプリケーションが、前記ソース・データセットの前記位置への参照を介して前記バックアップ・データセットにアクセス可能である、生成することと、を含む、クラウド・コンピューティング・システム。
【請求項２０】
前記ホスト・アプリケーションは、前記ストレージ・コントローラに結合されたホスト計算デバイス内で実行され、前記ストレージ・クラウドへの前記ソース・データセットの前記ポイント・イン・タイム・バックアップを実行するための動作は、前記ホスト計算デバイスから前記ストレージ・コントローラにオフロードされ、前記ストレージ・コントローラは、前記ターゲット・データセットのエクステント、トラック、又は他のストレージ・エンティティを前記ホスト計算デバイスに伝送することなく、前記ターゲット・データセットを前記ストレージ・クラウドにコピーする、請求項１９に記載のクラウド・コンピューティング・システム。
【請求項２１】
前記ストレージ・クラウドへの前記ソース・データセットの前記ポイント・イン・タイム・バックアップは、仮想同時コピー・セッションにより実行され、前記動作は、
前記仮想同時コピー・セッションの終了に応答して、前記ソース・データセットの位置と前記ターゲット・データセットの位置との間の前記対応を示す前記マッピングに割り当てられたリソースを解放すること、
をさらに含む、請求項１９に記載のクラウド・コンピューティング・システム。
【請求項２２】
ホスト計算デバイスであって、
メモリと、
前記メモリに結合されたプロセッサと、
を含み、前記プロセッサは動作を実行し、前記動作は、
ホスト・アプリケーションから、前記ホスト計算デバイスに結合されたストレージ・コントローラへ、ストレージ・クラウドへのソース・データセットのポイント・イン・タイム・バックアップを実行するようにとのコマンドを伝送することであって、
前記ストレージ・コントローラにより、前記ソース・データセットのポイント・イン・タイム・コピーを介するターゲット・データセットを生成し伝送することと、
前記ソース・データセットの位置と前記ターゲット・データセットの位置との間の対応を示すマッピングを生成することであって、前記マッピングは、異なるタイプのストレージ表現のための、個々のエクステント若しくはエクステント範囲、又はボリューム及び関連したシリンダ範囲の対応を示す、生成することと、
前記ストレージ・コントローラにより、前記ターゲット・データセットを前記ストレージ・クラウドにコピーし、前記ソース・データセットの前記ポイント・イン・タイム・バックアップであるバックアップ・データセットを生成し伝送することであって、前記ホスト・アプリケーションが、前記ソース・データセットの前記位置への参照を介して前記バックアップ・データセットにアクセス可能すること、
を含む、ホスト計算デバイス。
【請求項２３】
前記ストレージ・クラウドへの前記ソース・データセットの前記ポイント・イン・タイム・バックアップを実行するための動作は、前記ホスト計算デバイスから前記ストレージ・コントローラにオフロードされ、前記ストレージ・コントローラは、前記ターゲット・データセットのエクステント、トラック、又は他のストレージ・エンティティを前記ホスト計算デバイスに伝送することなく、前記ターゲット・データセットを前記ストレージ・クラウドにコピーする、請求項２２に記載のホスト計算デバイス。
【請求項２４】
前記ストレージ・クラウドへの前記ソース・データセットの前記ポイント・イン・タイム・バックアップは仮想同時コピー・セッションにより実行され、前記仮想同時コピー・セッションの終了に応答して、前記ソース・データセットの位置と前記ターゲット・データセットの位置との間の前記対応を示す前記マッピングに割り当てられたリソースを解放する、請求項２２に記載のホスト計算デバイス。
【請求項２５】
前記ホスト・アプリケーションは、前記ストレージ・コントローラを介して、前記ストレージ・クラウドにアクセスする、請求項２２に記載のホスト計算デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、ストレージ・コントローラを介する、オブジェクト・ストレージ・クラウドへのポイント・イン・タイム・バックアップに関する。
【背景技術】
【０００２】
クラウド・ストレージは、デジタル・データが論理プール内に格納され、物理ストレージが複数のサーバにわたるデータ・ストレージのモデルである。物理ストレージ環境は、ホスティング会社により所有及び管理され得る。これらのクラウド・ストレージ・プロバイダは、データを利用可能かつアクセス可能に保持すること、及び物理環境を適切に保護及び保持することを担当することができる。人々及び組織は、クラウド・ストレージ・プロバイダからストレージ容量を購入又はリースし、ユーザ、組織、又はアプリケーションのデータを格納することができる。
【０００３】
特定のコンピューティング環境において、ストレージ・コントローラは、ホスト・コンピューティング・システムが、ストレージ・コントローラが制御する複数のストレージ・デバイスにより、入力／出力（Ｉ／Ｏ）動作を実行することを可能にする。ストレージ・コントローラ内で実行されるストレージ管理アプリケーションは、ストレージ・コントローラに結合された、ディスクドライブ、テープドライブ、フラッシュドライブ、ダイレクト・アクセス・ストレージ・デバイス（ＤＡＳＤ）等のような、複数のストレージ・デバイスを管理することができる。ホスト・コンピューティング・システム内で実行されるホスト・アプリケーションは、Ｉ／Ｏコマンドをストレージ・コントローラに伝送することができ、ストレージ・コントローラは、Ｉ／Ｏコマンドを実行して、ストレージ・デバイスとの間でデータを読み書きすることができる。
【０００４】
ポイント・イン・タイム・コピー（point-in-time copy）は、一時点に現れたデータのイメージを含むデータの定められた集合の完全に利用可能なコピーである。ポイント・イン・タイム・コピーは、その一時点で論理的に生じたものとみなされるが、結果がその一時点で現れたデータの一貫性のあるコピーである限り、コピーの一部又は全てが他の時点で実行される場合もある。ポイント・イン・タイム・コピー動作が用いられるようになる前には、データの一貫性のあるコピーを作成するために、データが物理的にコピーされている間、ホスト・アプリケーションを停止させなければならなかった。大容量のデータセットの場合、これにより数時間の停止がもたらされ、ユーザにとって、大容量のデータセットのコピーを行うプロセスが非常に不便になっていた。ポイント・イン・タイム・コピー動作は、ホスト・アプリケーションに殆ど影響を与えずに、コピーを行うことを可能にする。ポイント・イン・タイム・コピーが確立される間の数ミリ秒又は数秒の短い時間を除いて、ホスト・アプリケーションは、実行を継続することができる。例えば、インターナショナル・ビジネス・マシーンズ（ＩＢＭ）によりサポートされるＦｌａｓｈＣｏｐｙ(商標)は、論理ボリューム又はデータセット全体のポイント・イン・タイム・スナップショット・コピーをほぼ瞬時に作成するのを可能にするポイント・イン・タイム・コピー機構である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ストレージ・コントローラを介するオブジェクト・ストレージ・クラウドへのポイント・イン・タイム・バックアップ
【課題を解決するための手段】
【０００６】
ストレージ・コントローラが、ホスト・アプリケーションから、ストレージ・クラウドへのソース・データセットのポイント・イン・タイム・バックアップを実行するようにとのコマンドを受け取る、方法、システム及びコンピュータ・プログラム製品が提供される。ストレージ・コントローラは、ソース・データセットのポイント・イン・タイム・コピーを介するターゲット・データセット、及びソース・データセットの位置とターゲット・データセットの位置との間の対応（correspondence）を示すマッピングを生成する。ストレージは、ターゲット・データセットをストレージ・クラウドにコピーし、ソース・データセットのポイント・イン・タイム・バックアップであるバックアップ・データセットを生成し、このバックアップ・データセットは、ソース・データセットの位置を参照することによりアクセス可能である。その結果、ホストではなくストレージ・コントローラが、ストレージ・クラウドへのソース・データセットのポイント・イン・タイム・バックアップを実行する。
【０００７】
更に別の実施において、ホスト・アプリケーションは、ストレージ・コントローラに結合されたホスト計算デバイス内で実行され、ストレージ・クラウドへのソース・データセットのポイント・イン・タイム・バックアップを実行するための動作は、ホスト計算デバイスからストレージ・コントローラにオフロードされる。ストレージ・コントローラは、ターゲット・データセットのエクステント、トラック、又は他のストレージ・エンティティをホスト計算デバイスに伝送することなく、ターゲット・データセットをストレージ・クラウドにコピーする。その結果、ポイント・イン・タイム・バックアップを生成するための動作は、ストレージ・コントローラにオフロードされる。
【０００８】
特定の実施形態において、ストレージ・クラウドへのソース・データセットのポイント・イン・タイム・バックアップは、仮想同時コピー・セッションにより実行され、仮想同時コピー・セッションの終了に応答して、ソース・データセットの位置とターゲット・データセットの位置との間の対応を示すマッピングに割り当てられたリソースを解放する。その結果、ストレージ・コントローラに必要とされないリソースが解放される。
【０００９】
付加的な実施形態において、ストレージ・コントローラは、ホスト計算デバイスから入力／出力（Ｉ／Ｏ）要求を受け取る。ターゲット・データセットにおいてＩ／Ｏ要求に対応するトラックが更新されたと判断することに応答して、ストレージ・コントローラは、Ｉ／Ｏ要求をトラックについてのターゲット・データセット・エクステントに送る。その結果、Ｉ／Ｏ要求は、ターゲット・データセットにより満たされる。
【００１０】
さらに付加的な実施形態において、ストレージ・コントローラは、ホスト計算デバイスから入力／出力（Ｉ／Ｏ）要求を受け取る。ターゲット・データセットにおいてＩ／Ｏ要求に対応するトラックが更新されていないと判断することに応答して、ストレージ・コントローラは、Ｉ／Ｏ要求をトラックについてのソース・データセット・エクステントに送る。その結果、Ｉ／Ｏ要求は、ソース・データセットにより満たされる。
【００１１】
特定の実施形態において、ソース・データセットの位置とターゲット・データセットの位置との間の対応を示すマッピングは、一対一対応、多対一対応、又は一対多対応によって、個々のエクステント若しくはエクステント範囲、又はボリューム及び関連したシリンダ範囲をマッピングする。その結果、異なるタイプのストレージの表現のために、マッピングを用いることができる。
【００１２】
特定の実施形態において、ストレージ・クラウドと、ストレージ・クラウドに結合されたストレージ・コントローラと、ストレージ・コントローラに結合されたホストとを含むクラウド・コンピューティング・システムも提供される。クラウド・コンピューティング・システムにおいて、ストレージ・コントローラは、ホスト・アプリケーションから、ストレージ・クラウドへのソース・データセットのポイント・イン・タイム・バックアップを実行するようにとのコマンドを受け取り、ストレージ・クラウドへのソース・データセットのポイント・イン・タイム・バックアップを実行する。ストレージ・コントローラは、ソース・データセットのポイント・イン・タイム・コピーを介するターゲット・データセット、及びソース・データセットの位置とターゲット・データセットの位置との間の対応を示すマッピングを生成する。ストレージ・コントローラは、ターゲット・データセットをストレージ・クラウドにコピーし、ソース・データセットのポイント・イン・タイム・バックアップであるバックアップ・データセットを生成し、バックアップ・データセットは、ソース・データセットの位置への参照を介して、アクセス可能である。その結果、クラウド・コンピューティング・システムにおいて、仮想同時コピーが実行される。
【００１３】
メモリと、メモリに結合されたプロセッサとを含むホスト計算デバイスも提供され、そこで、プロセッサは、ホスト・アプリケーションからストレージ・コントローラへ、ストレージ・クラウドへのソース・データセットのポイント・イン・タイム・バックアップを実行するようにとのコマンドを伝送し、ストレージ・コントローラは、ソース・データセットのポイント・イン・タイム・コピーを介するターゲット・データセット、及びソース・データセットの位置とターゲット・データセットの位置との間の対応を示すマッピングを生成する。ホスト・アプリケーションは、ソース・データセットの位置への参照を介して、バックアップ・データセットにアクセスする。その結果、ホスト計算デバイスは、仮想同時コピーの実行をストレージ・コントローラにオフロードする。
ここで、全体を通して同様の参照番号が対応する部品を表す図面を参照する。
【図面の簡単な説明】
【００１４】
【図１】特定の実施形態による、１つ又は複数のホスト及びストレージ・クラウドに結合されたストレージ・コントローラを含むコンピューティング環境のブロック図を示す。
【図２】特定の実施形態による、個々のエクステントのマッピングによる、ポイント・イン・タイム・バックアップ・データセットの生成を示すブロック図を示す。
【図３】特定の実施形態による、エクステント範囲のマッピングによる、ポイント・イン・タイム・バックアップ・データセットの生成を示すブロック図を示す。
【図４】特定の実施形態による、ボリューム及びシリンダのマッピングによる、ポイント・イン・タイム・バックアップ・データセットの生成を示すブロック図を示す。
【図５】特定の実施形態による、ポイント・イン・タイム・バックアップ・データセットの生成を示す第１のフローチャートを示す。
【図６】特定の実施形態による、ポイント・イン・タイム・バックアップ・データセットの生成を示す第２のフローチャートを示す。
【図７】特定の実施形態による、ポイント・イン・タイム・バックアップ・データセットの生成を示す第３のフローチャートを示す。
【図８】特定の実施形態による、クラウド・コンピューティング環境のブロック図を示す。
【図９】特定の実施形態による、図８のクラウド・コンピューティング環境の更なる詳細のブロック図を示す。
【図１０】特定の実施形態による、図１〜図９に説明されるようなストレージ・コントローラ、ホスト、及び／又はストレージ・クラウド内に含まれ得る特定の要素を示す計算システムのブロック図を示す。
【発明を実施するための形態】
【００１５】
以下の説明において、その一部を形成し、幾つかの実施形態を示す添付図面を参照する。他の実施形態を用い得ること、及び、構造及び動作の変更をなし得ることが理解される。
【００１６】
バックアップ及びアーカイブ解決法は、オフライン層のようなオブジェクト・ストレージ・クラウドを含むことができる。特定の解決法は、オンライン・ストレージ層からオフライン・ストレージ層に移動できる非アクティブ・データをターゲットにする。これは、アーカイブと呼ばれ、データは、オフライン・クラウド層に移動され、一次ダイレクト・アクセス・ストレージ・デバイス（ＤＡＳＤ）から削除される。データは非アクティブであるので、一定時間データにアクセスしたユーザ又はアプリケーションはいず、アーカイブを実行するのにかかる時間、データセットのロックにより動作は中断されない。
【００１７】
バックアップは、データセットがオフライン・クラウド層に移動された後、データセットは、ユーザ及びアプリケーションが該データセットにアクセスするためにオンラインＤＡＳＤ内にも保持される点で、アーカイブとは異なる。バックアップのために、データセットをロックし、できるだけ短い時間、ユーザ及びアプリケーションにアクセス不能にするだけが必要である。特定の実施形態は、データセットにアクセスするユーザ及びアプリケーションに対する最小の中断で、データセットをオブジェクト・ストレージ・クラウドにバックアップするための機構を提供する。
【００１８】
同時コピーは、アプリケーションがそのデータを更新している間、ユーザがデータのコピーを生成するのを可能にする機構を指す。仮想同時コピー機構は、同時コピー機構を拡張したものであり、仮想同時コピー機構においては、データのポイント・イン・タイム・コピーがソース位置から中間位置に行われ、データは、標準的なＩ／Ｏ方法により、中間位置からターゲット位置に徐々にコピーされる。仮想同時コピー動作は、ソース・データが中間位置に瞬時にコピーされた（すなわち、ポイント・イン・タイム・コピー機構を介してコピーされた）後、論理的に終了し、データがターゲット位置のターゲット媒体に移動された後、物理的に終了する。特定の実施形態は、修正された仮想同時コピー機構を用いて、オブジェクト・ストレージ・クラウドへのポイント・イン・タイム・バックアップのための機構を提供する。オフライン・クラウド層へのバックアップは、２パス・プロセスとして実施される。第１のパスは、ソース・データセットのエクステントを集め、これらのエクステントのトラックのポイント・イン・タイム・コピー・セッションを確立する。第２のパスは、ポイント・イン・タイム・コピーのターゲットからオフライン・クラウド層へトラックをオフロードするようにとのコマンドを、ストレージ・コントローラに発行する。特定の実施形態において、ストレージ・クラウドにポイント・イン・タイム・バックアップを生成するための修正された仮想同時コピー動作は、ストレージ・コントローラにより実行される。ホストは、ポイント・イン・タイム・バックアップを生成する任務をストレージ・コントローラにオフロードする。
【００１９】
例示的な実施形態
図１は、特定の実施形態による、１つ又は複数のホスト１０４及びストレージ・クラウド１０６に結合されたストレージ・コントローラ１０２を含むコンピューティング環境１００のブロック図を示す。
【００２０】
ストレージ・コントローラ１０２及びホスト１０４は、パーソナル・コンピュータ、ワークステーション、サーバ、メインフレーム、手持ち式コンピュータ、パームトップ・コンピュータ、電話装置（telephony device）、ネットワーク・アプライアンス、ブレード・コンピュータ、処理デバイス、コントローラ等のような、当技術分野において現在知られているものを含む任意の適切な計算デバイスを含むことができる。ストレージ・クラウド１０６は、ストレージ・ディスク、テープドライブ、ソリッドステートディスク等のような複数のストレージ・デバイス（図示せず）、及びストレージ・クラウド１０６の複数のストレージ・デバイスへのアクセスを制御する計算デバイス（図示せず）からなることができる。
【００２１】
ストレージ・コントローラ１０２、ホスト１０４、及びストレージ・クラウド１０６は、ストレージ・エリア・ネットワーク、広域ネットワーク、インターネット、イントラネット等のような任意の適切なネットワーク内の要素であり得る。特定の実施形態において、ストレージ・コントローラ１０２、ホスト１０４、及びストレージ・クラウド１０６は、クラウド・コンピューティング環境内の要素であり得る。
【００２２】
ストレージ・コントローラ１０２内で実行されるストレージ管理アプリケーション１０８は、ホスト１０４内で実行される１つ又は複数のホスト・アプリケーション１１０からＩ／Ｏコマンドを受け取り、ストレージ・クラウド１０６内、又はストレージ・コントローラ１０２に結合されたストレージ・デバイス１１２、１１４内に格納されたストレージ・ボリュームに対してデータを読み書きすることによって、Ｉ／Ｏコマンドに応答し、ここで、ストレージ・デバイス１１２、１１４は、ハードディスク、ソリッドステートディスク、又は他のストレージ・デバイスからなることができる。特定の実施形態において、ストレージ管理アプリケーション１０８及びホスト・アプリケーション１１０は、ソフトウェア、ハードウェア、又はそのいずれかの組み合わせで実装することができる。
【００２３】
特定の実施形態において、ホスト１０４内で実行されるホスト・アプリケーション１１０は、その論理ストレージ・ボリュームが、ストレージ・コントローラ１０２により制御され、ストレージ・コントローラ１０２を介してホスト・アプリケーション１１０によりアクセスされるソース・データセット１１６のポイント・イン・タイム・バックアップを実行する要求を、ストレージ・コントローラ１０２に送る。ソース・データセット１１６は、エクステント、トラック、ブロック、又はストレージを表現することができる他の任意のタイプのユニット内に格納されるデータ・レコードの集合を含むことができる。特定の実施形態において、ストレージ・コントローラ１０２のストレージ管理アプリケーション１０８は、ポイント・イン・タイム・コピー動作１１８を介して、ソース・データセット１１６のポイント・イン・タイム・コピーを生成し、ここで、ポイント・イン・タイム・コピーは、ターゲット・データセット１２０内に格納される。ストレージ管理アプリケーション１０８は、ターゲット・データセット１２０のトラック（又は、ブロック、エクステント等のような他のユニット）をストレージ・クラウド１０６にコピーして、ポイント・イン・タイム・コピー動作１１８と同時に、ストレージ・クラウド内にバックアップ・データセット１２４を生成する。バックアップ・データセット１２４のオブジェクト１２６は、それがターゲット・データセット１２０からコピーされたとしても、ソース・データセット１１６に従って命名することができ、そこで、ソース・データセット１１６に従った命名は、ポイント・イン・タイム・コピー動作１１８中に生成されるソースからターゲットへのエクステント・リスト・マッピング１２８を用いて実行される。
【００２４】
従って、図１は、ソース・データセット１１６のポイント・イン・タイム・バックアップ・コピーが、ストレージ・コントローラ１０２によりストレージ・クラウド１０６に行われる特定の実施形態を示す。従来技術においては、バックアップ・データセット１２４へのターゲット・データセット１２０のトラックのコピーは、ストレージ・コントローラ１０２から、ターゲット・データセット１２０のトラック内に格納されたデータを受け取り、次に、受け取ったデータをバックアップ・データセット１２４にコピーすることにより、ホスト１０４によって実行された。さらに、従来技術においてソースからターゲットへのエクステント・リスト・マッピング１２８の保持はなされなかった。
【００２５】
図２は、特定の実施形態による、個々のエクステントのマッピングを介したポイント・イン・タイム・バックアップ・データセットの生成を示すブロック図２００を示す。
【００２６】
図２において、ソース・データセット１１６のエクステントＡ１  ２０４、Ａ２  ２０６、Ａ３  ２０８、Ａ４  ２１０として示される４つのソース・データセットが、ターゲット・データセット１２０のエクステントＢ１  ２１２  、Ｂ２  ２１４、Ｂ３  ２１６、Ｂ４  ２１８として示される４つの対応するデータセット・オブジェクトへのポイント・イン・タイム・コピー動作を介してコピーされる。ターゲット・データセット１２０のエクステントＢ１  ２１２  、Ｂ２  ２１４、Ｂ３  ２１６、Ｂ４  ２１８として示されるデータセット・オブジェクトは、バックアップ・データセット１２４に同時にコピーされるが、ソース・エクステント名とターゲット・エクステント名との間の対応１３０を示すソースからターゲットへのエクステント・リスト・マッピング１２８を用いて、エクステントＡ１  ２２０、Ａ２  ２２２、Ａ３  ２２４、Ａ４  ２２６としてリネームされる。
【００２７】
加えて、図２は、ポイント・イン・タイム・コピー動作を介して、ソース・データセット１１６のより大容量のエクステントＡ５  ２２８を、ターゲット・データセット１２０の２つのより小容量のエクステントＢ５  ２３０、Ｂ６  ２３２にコピーできることも示す。ターゲット・データセット１２０のエクステントＢ５  ２３０、Ｂ６  ２３２として示されるデータセット・オブジェクトは、バックアップ・データセット１２４に同時にコピーされるが、ソース・エクステント名とターゲット・エクステント名との間の対応１３０を示すソースからターゲットへのエクステント・リスト・マッピング１２８を用いて、エクステントＡ５  ２３４としてリネームされる。
【００２８】
さらに、図２は、ソース・データセット１１６の２つの小容量のエクステントＡ６  ２３６、Ａ７  ２３８を、ポイント・イン・タイム・コピー動作を介して、ターゲット・データセット１２０の大容量のエクステントＢ７  ２４０にコピーできることも示す。ターゲット・データセット１２０のエクステントＢ７  ２４０として示されるデータセット・オブジェクトは、同時にバックアップ・データセット１２４にコピーされるが、ソース・エクステント名とターゲット・エクステント名との間の対応１３０を示すソースからターゲットへのエクステント・リスト・マッピング１２８を用いて、エクステントＡ６  ２４２、Ａ７  ２４４としてリネームされる。
【００２９】
その結果、バックアップ・データセット１２４のオブジェクトは、ソース・データセット１１６のオブジェクトと同じ名前を有し、ターゲット・データセット１２０のオブジェクトの名前を有さなくなる。その結果、バックアップ・データセット１２４は、ソース・データセット１１６と同じオブジェクト名でアクセスされ得る。ソース・エクステント名とターゲット・エクステント名との間の対応１３０は、一対一、一対多、又は多対一とすることができることを留意されたい。
【００３０】
図３は、特定の実施形態による、エクステント範囲のマッピングを介するポイント・イン・タイム・バックアップ・データセットの生成を示すブロック図３００を示す。
【００３１】
図３において、ソース・データセット１１６内に格納されるデータ・レコードは、エクステント範囲１００〜２００（参照番号３０２により示される）内にあり、ターゲット・データセット１２０へのポイント・イン・タイム・コピー動作を介して、エクステント範囲５００〜６００（参照番号３０４により示される）内にあるデータ・レコードにコピーされる。しかしながら、ターゲット・データセット１２０がバックアップ・データセット１２４に同時にコピーされると、エクステント範囲５００〜６００は、ソース・データセット１１６のエクステント範囲１００〜２００がターゲット・データセット１２０のエクステント範囲５００〜６００にマッピングされたことを示すマッピング３３０を有するソースからターゲットへのエクステント・リスト・マッピング１２８を用いて、バックアップ・データセット１２４のエクステント範囲１００〜２００（参照番号３０６により示される）内にあるものとして示される。その結果、ソース・データセット１１６と同じエクステント範囲でバックアップ・データセット１２４にアクセスすることができる。
【００３２】
図４は、特定の実施形態による、ボリューム及びシリンダのマッピングを介するポイント・イン・タイム・バックアップ・データセットの生成を示す図４００を示す。
【００３３】
制御は、ストレージ・コントローラ１０２が、ホスト１０４から、ソース・データセット１１６のトラックが格納されるボリューム１、シリンダ２０１〜３００をバックアップするようにとのコマンドを受け取るブロック４０２で開始する。ポイント・イン・タイム・コピー動作１１８の結果として、ポイント・イン・タイム・コピー・データは、ターゲット・データセット１２０のトラックが格納されているボリューム２、シリンダ６０１〜７００上に格納される（参照番号４０４により示される）。ストレージ・コントローラ１０２は、ターゲット・データセット１２０のトラックが格納されているボリューム２、シリンダ６０１〜７００を、ストレージ・クラウドにコピーするように指示される（ブロック４０６において）が、ストレージ・クラウド１０６においては、データがボリューム１、シリンダ２０１〜３００内のバックアップ・データセットとして格納されているという表示がなされる。この表示は、マッピング１２８を用いて、又は他の機構を介して行うことができる。その結果、ソース・データセット１１６と同じボリューム名及びシリンダ範囲でバックアップ・データセット１２４にアクセスすることができる。
【００３４】
図５は、特定の実施形態による、ポイント・イン・タイム・バックアップ・データセットの生成を示す第１のフローチャート５００を示す。図５に示される動作は、ストレージ・コントローラ１０２により実行することができる。
【００３５】
制御は、ストレージ・コントローラ１０２が、ソース・データセット１１６のデータを収集し、ターゲット・データセット１２０へのソース・データセット１１６のトラックのポイント・イン・タイム・コピーを確立するブロック５０２において開始する。制御は、ストレージ・コントローラ１０２が、ターゲット・データセット１２０のトラックをホスト１０４に送ることなく、トラックをターゲット・データセット１２０からストレージ・クラウド１０６にコピーするブロック５０４に進む。
【００３６】
図６は、特定の実施形態による、ポイント・イン・タイム・バックアップ・データセットの生成を示す第２のフローチャート６００を示す。図６に示される動作は、ストレージ・コントローラ１０２により実行することができる。
【００３７】
制御は、ストレージ・コントローラ１０２がソース・データセット１１６のエクステント・リストを構築するブロック６０２において開始し、仮想同時コピー・セッションを確立する（ブロック６０４において）。ストレージ・コントローラ１０２は、ソースからターゲットへのエクステント・リスト・マッピング１２８を生成し（ブロック６０６において）、ターゲット・トラックをクラウド・ストレージにオフロードする要求を構築する（ブロック６０８において）。
【００３８】
ブロック６０８から、制御は、ストレージ・コントローラ１０２が、（従来技術におけるように、ホスト１０４を介してトラックを送る代わりに）ターゲット・トラックをクラウド・ストレージ１０６に送るブロック６１０に進む。
【００３９】
ある時間間隔の後、仮想同時コピー・セッションの終了に応答して、それらをもはや使用しないので、ソースからターゲットへのエクステント・リスト・マッピング１２８に割り当てられたリソースを解放し（ブロック６１２において）、その結果、メモリが解放される。
【００４０】
ブロック６０６、６０８、６１０において実行される動作（参照番号６１４により示される）と並行して、制御はブロック６１６に進むことができる。ブロック６１６において、ストレージ・コントローラ１０２により、ホスト１０４からのＩ／Ｏ要求が受け取られる。ターゲット・データセット１２０においてＩ／Ｏ要求に対応するトラックが更新されたかどうかについての判断が行われる（ブロック６１８において）。更新されている場合（「イエス」分岐６２０）、制御は、ストレージ・コントローラ１０２がＩ／Ｏ要求を、ターゲット・データセット１２０において更新されたトラックについてのターゲット・データセット・エクステントに送るブロック６２２に進む。
【００４１】
ブロック６１８において、ターゲット・データセット１２０においてＩ／Ｏ要求に対応するトラックが更新されなかったと判断された場合（「ノー）」分岐６２４）、制御は、ストレージ・コントローラ１０２がＩ／Ｏ要求を、ターゲット・データセット１２０において更新されなかったトラックについてのソース・データセット・エクステントにリダイレクトするブロック６２６に進む。
【００４２】
従って、図６は、ターゲット・データセット１２０へのソース・データセット１１６のポイント・イン・タイム・コピー、及びターゲット・データセット１２０からバックアップ・データセット１２６への同時コピーの組み合わせを介して、ストレージ・コントローラ１０２の制御下でバックアップ・データセット１２４が生成される、特定の実施形態を示し、プロセスは、ストレージ・コントローラの制御下で仮想同時コピーと呼ばれる。
【００４３】
図７は、特定の実施形態による、ポイント・イン・タイム・バックアップ・データセットの生成を示す第３のフローチャート７００を示す。図７に示される動作は、ストレージ・コントローラ１０２により実行することができる。
【００４４】
制御は、ストレージ・コントローラ１０２が、ホスト・アプリケーション１１０から、ストレージ・クラウド１０６へのソース・データセット１１６のポイント・イン・タイム・バックアップを実行するようにとのコマンドを受け取るブロック７０２において開始する。ストレージ・コントローラ１０２は、ソース・データセット１１６のポイント・イン・タイム・コピーを介するターゲット・データセット１２０、及びソース・データセットの位置とターゲット・データセットの位置との間の対応を示すマッピング１２８を生成する（ブロック７０４において）。
【００４５】
ブロック７０４から、制御は、ストレージ・コントローラ１０２が、ターゲット・データセット１２０をストレージ・クラウド１０６にコピーし、ソース・データセット１１６のポイント・イン・タイム・バックアップであるバックアップ・データセット１２４を生成するブロック７０６に進み、ここで、バックアップ・データセット１２４は、ソース・データセットの位置を参照することによりアクセス可能である。
【００４６】
ブロック７０４から、制御は、ストレージ・コントローラ１０２が、ホスト計算デバイス１０４からＩ／Ｏ要求を受け取るブロック７０８に進むこともできる。ブロック７０８から、制御は、並行してブロック７１０、７１２に進むことができる。
【００４７】
ブロック７１０において、ターゲット・データセット１２０においてＩ／Ｏ要求に対応するトラックが更新されたと判断することに応答して、ストレージ・コントローラ１０２は、Ｉ／Ｏ要求をトラックについてのターゲット・データセット・エクステントに送り、Ｉ／Ｏ要求は、ターゲット・データセット１２０により満たされる。
【００４８】
ブロック７１２において、ターゲット・データセット１２０においてＩ／Ｏ要求に対応するトラックが更新されていないと判断することに応答して、ストレージ・コントローラ１０２は、Ｉ／Ｏ要求をトラックについてのソース・データセット・エクステントに送り、Ｉ／Ｏ要求は、ソース・データセット１１６により満たされる。
【００４９】
従って、図１〜図７において、ストレージ・クラウド１０６へのソース・データセット１１６のポイント・イン・タイム・バックアップを実行するための動作は、ホスト計算デバイス１０４からストレージ・コントローラ１０２にオフロードされる。ストレージ・コントローラ１０２は、ターゲット・データセット１２０のエクステント、トラック、又は他のストレージ・エンティティをホスト計算デバイス１０４に伝送することなく、ターゲット・データセット１２０をストレージ・クラウド１０６にコピーする。特定の実施形態において、マッピング１２８は、ソース・データセットの位置とターゲット・データセットの位置との間の対応を示し、ここで、マッピングは、個々のエクステント、又はエクステント範囲、又はボリューム及び関連したシリンダ範囲をマッピングする。マッピング１２８を用いて、ソース・データセット１１６の位置を反映させるように、バックアップ・データセット１２４に命名し、その結果、バックアップ・データセット１２４は、データセット１１６と同じようにソース・データセット１１６にアクセスできる。
【００５０】
クラウド・コンピューティング環境
クラウド・コンピューティングは、最小限の管理労力又はサービス・プロバイダとの対話で迅速にプロビジョニング及び解放することができる構成可能なコンピューティング・リソース（例えば、ネットワーク、サーバ、ストレージ、アプリケーション、及びサービス）の共有プールへの、便利なオンデマンドのネットワーク・アクセスを可能にするためのモデルである。
【００５１】
ここで図８を参照すると、例示的なクラウド・コンピューティング環境５０が示される。示されるように、クラウド・コンピューティング環境５０は、例えば携帯情報端末（ＰＤＡ）又は携帯電話５４Ａ、デスクトップ・コンピュータ５４Ｂ、ラップトップ・コンピュータ５４Ｃ、及び／又は自動車コンピュータ・システム５４Ｎ等のような、クラウド・コンシューマによって用いられるローカル・コンピューティング・デバイスと通信することができる、１つ又は複数のクラウド・コンピューティング・ノード１０を含む。ノード１０は、互いに通信することができる。これらのノードは、プライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、若しくはハイブリッド・クラウド、又はこれらの組み合わせなど、１つ又は複数のネットワークにおいて物理的又は仮想的にグループ化することができる（図示せず）。これにより、クラウド・コンピューティング環境５０は、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のないサービスとして、インフラストラクチャ、プラットフォーム、及び／又はソフトウェアを提供することが可能になる。図８に示されるコンピューティング・デバイス５４Ａ〜Ｎのタイプは単に例示であることを意図し、コンピューティング・ノード１０及びクラウド・コンピューティング環境５０は、いずれのタイプのネットワーク及び／又はネットワーク・アドレス指定可能な接続上でも（例えば、ウェブ・ブラウザを用いて）、いずれのタイプのコンピュータ化されたデバイスとも通信できることを理解されたい。
【００５２】
ここで図９を参照すると、クラウド・コンピューティング環境５０（図８）によって提供される機能抽象化層の組が示される。図９に示されるコンポーネント、層、及び機能は単に例示であることを意図し、本発明の実施形態はそれらに限定されないことを予め理解されたい。
【００５３】
ハードウェア及びソフトウェア層６０は、ハードウェア及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、ＩＢＭ  ｚＳｅｒｉｅｓ（商標）システムを一例とするメインフレームと；ＩＢＭ  ｐＳｅｒｉｅｓ（商標）システムを一例とするＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ（縮小命令セット・コンピュータ））アーキテクチャ・ベースのサーバと；ＩＢＭ  ｘＳｅｒｉｅｓ（商標）システムと；ＩＢＭ  ＢｌａｄｅＣｅｎｔｅｒ（商標）システムと；ストレージ・デバイスと；ネットワーク及びネットワーキング・コンポーネントと、が含まれる。ソフトウェア・コンポーネントの例として、ＩＢＭ  ＷｅｂＳｐｈｅｒｅ（商標）アプリケーション・サーバ・ソフトウェアを一例とするネットワーク・アプリケーション・サーバ・ソフトウェアと、ＩＢＭ  ＤＢ２（商標）データベース・ソフトウェアを一例とするデータベース・ソフトウェアと、が含まれる。
【００５４】
仮想化層６２は、抽象化層を提供し、この層により、仮想エンティティの以下の例、すなわち、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーション及びオペレーティング・システム、並びに仮想クライアントを提供することができる。
【００５５】
一例においては、管理層６４が、以下で説明される機能を提供することができる。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格決定は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡と、これらのリソースの消費に対する課金又は請求とを提供する。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマ及びタスクに対する識別情報の検証と、データ及び他のリソースに対する保護とを提供する。ユーザ・ポータルは、コンシューマ及びシステム管理者のために、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理は、要求されるサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割り当て及び管理を提供する。サービス・レベル・アグリーメント（Service Level Agreement、ＳＬＡ）の計画及び履行は、ＳＬＡに従って将来の要件が予測されるクラウド・コンピューティング・リソースの事前配置及び調達を提供する。
【００５６】
ワークロード層６６は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロード及び機能の例には、マッピング及びナビゲーション、ソフトウェア開発及びライフサイクル管理、仮想教室教育配信、データ分析処理、及びトランザクション処理、並びに図１〜図８に示されるようなストレージ・クラウド６８へのポイント・イン・タイム・バックアップが含まれる。
【００５７】
付加的な実施形態の詳細
説明した動作は、ソフトウェア、ファームウェア、ハードウェア、又はこれらの任意の組み合わせを作成するための標準的プログラミング及び／又はエンジニアリング技法を用いて、方法、装置又はコンピュータ・プログラム製品として実装することができる。従って、実施形態の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、又はソフトウェア態様とハードウェア態様とを組み合せた実施形態の形をとることができ、これらは、本明細書において全て一般的に「回路」、「モジュール」又は「システム」と呼ぶことができる。さらに、実施形態の態様は、コンピュータ・プログラム製品の形をとることができる。コンピュータ・プログラム製品は、プロセッサに本実施形態の態様を実施させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体（単数又は複数）を含むことができる。
【００５８】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納することができる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの：即ち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピー・ディスク、パンチカード若しくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管若しくは他の伝送媒体を通じて伝搬する電磁波（例えば、光ファイバ・ケーブルを通る光パルス）、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
【００５９】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、及び／又は無線ネットワークなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、及び／又はエッジ・サーバを含むことができる。各コンピューティング／処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体内に格納する。
【００６０】
本実施形態の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、又は、「Ｃ」プログラミング言語若しくは類似のプログラミング言語などの通常の手続き型プログラミング言語を含む１つ又は複数のプログラミング言語の任意の組み合わせで記述することができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある（例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて）。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、又はプログラム可能論理アレイ（ＰＬＡ）を含む電子回路は、コンピュータ可読プログラム命令の状態情報を用いて、電子回路を個人化することによりコンピュータ可読プログラム命令を実行し、本実施形態の態様を実施することができる。
【００６１】
本実施形態の態様は、本発明の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図及び／又はブロック図を参照して説明される。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
【００６２】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実施するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実施する命令を含む製品を含むようにすることもできる。
【００６３】
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実行するためのプロセスを提供するようにすることもできる。
【００６４】
図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート内の各ブロックは、指定された論理機能を実装するための１つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される２つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び／又はフローチャート図の各ブロック、及びブロック図及び／又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実装できることにも留意されたい。
【００６５】
図１０は、特定の実施形態による、ストレージ・コントローラ１０２、ホスト１０４、又は他の計算デバイス内に含ませることができる特定の要素を示すブロック図を示す。システム１０００は、特定の実施形態において、少なくとも１つのプロセッサ１００４を含むことができる回路１００２を含むことができる。システム１０００はまた、メモリ１００６（例えば、揮発性メモリ・デバイス）及びストレージ１００８を含むこともできる。ストレージ１００８は、不揮発性メモリ・デバイス（例えば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、フラッシュ、ファームウェア、プログラム可能論理理等）、磁気ディスクドライブ、光ディスクドライブ、テープドライブ等を含むことができる。ストレージ１００８は、内部ストレージ・デバイス、アタッチト・ストレージ・デバイス、及び／又はネットワーク・アクセス可能ストレージ・デバイスを含むことができる。システム１０００は、メモリ１００６内にロードし、プロセッサ１００４若しくは回路１００２により実行することができるコード１０１２を含むプログラム論理１０１０を含むことができる。特定の実施形態において、コード１０１２を含むプログラム論理１０１０は、ストレージ１００８内に格納することができる。特定の他の実施形態において、プログラム論理１０１０は、回路１００２内に実装することができる。システム１０００内のコンポーネントの１つ又は複数は、バス又は他の結合若しくは接続１０１４を介して通信することができる。従って、図１０は、プログラム論理１０１０を他の要素とは別に示すが、プログラム論理１０１０は、メモリ１００６及び／又は回路１００２内に実装することができる。
【００６６】
特定の実施形態は、人によって、又はコンピュータ可読コードをコンピューティング・システムに統合する自動処理によって、コンピューティング命令をデプロイするための方法に向けられ、コードは、コンピューティング・システムと共に、説明される実施形態の動作を実施するようにイネーブルにされる。
【００６７】
「１つの実施形態」、「実施形態」、「（複数の）実施形態」、「その実施形態」、「（複数の）その実施形態」、「１つ又は複数の実施形態」、「幾つかの実施形態」及び「一実施形態」という用語は、特に明示的に断らない限り、本発明の１つ又は複数の（しかし、全てではない）実施形態を意味する。
【００６８】
「含んでいる（ｉｎｃｌｕｄｉｎｇ）」、「備えている（ｃｏｍｐｒｉｓｉｎｇ）」、「有している（ｈａｖｉｎｇ）」という用語及びその変形は、特に明示的に断らない限り、「含むが、それらに限定されない」ことを意味する。
【００６９】
項目の列挙リストは、特に明示的に断らない限り、項目のいずれか又は全てが相互排除的であることを意味しない。
【００７０】
「１つの（ａ）」、「１つの（ａｎ）」及び「その（ｔｈｅ）」という用語は、特に明示的に断らない限り、「１つ又は複数（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を指す。
【００７１】
互いに通信するデバイスは、特に明示的に断りのない限り、互いに連続的に通信する必要はない。さらに、互いに通信するデバイスは、直接的に、又は１つ又は複数の中間物を介して間接的に通信することもある。
【００７２】
互いに通信する幾つかのコンポーネントを用いる１つの実施形態の説明は、全てのこうしたコンポーネントが必要であることを意味するものではない。これに反して、本発明の種々の可能な実施形態を示すために、様々な随意のコンポーネントが説明される。
【００７３】
さらに、プロセス・ステップ、方法ステップ又はアルゴリズム等は、順番に説明されていることがあるが、そうしたプロセス、方法及びアルゴリズムは別の順番で動作するように構成することができる。換言すれば、説明され得るステップの何れのシーケンス又は順番も、必ずしも、ステップがその順番で実行されることの必要性を示すものではない。本明細書で説明されるプロセスのステップは、実際には任意の順番で実行することができる。さらに、幾つかのステップは同時に実行することができる。
【００７４】
本明細書において単一のデバイス又は物品が説明されている場合、単一のデバイス／物品の代わりに１つより多くのデバイス／物品（それらが協働してもしなくとも）を使用できることが容易に明らかになるであろう。同様に、本明細書で１つより多くのデバイス又は物品（それらが協働してもしなくとも）が説明されている場合、１つより多くのデバイス又は物品の代わりに単一のデバイス／物品を使用することができ、又は、示される数のデバイス又はプログラムの代わりに異なる数のデバイス／物品を使用することができることが容易に明らかであろう。デバイスの機能及び／又は特徴は、それら機能／特徴を有するように明示的に説明されていない１つ又は複数の他のデバイスによって代替的に具体化することができる。従って、本発明の他の実施形態は、そのデバイス自体を含む必要はない。
【００７５】
図に示されている少なくとも特定の動作は、特定のイベントが特定の順番で行われることを示す。代替的な実施形態においては、特定の動作は異なる順番で実行することができ、又は修正若しくは除去することができる。さらに、上述の論理にステップを付け加えて、それでもなお説明される実施形態に適合させることができる。さらに、本明細書で説明される動作は順次に行うことができ、又は特定の動作を並行して処理することができる。さらにまた、動作は単一の処理ユニットにより、又は分散処理ユニットによって実行することができる。
【００７６】
本発明の種々の実施形態の上記の説明は、例証及び説明のために提示されたものである。これは網羅的であること、又は本発明を開示された通りの形態に限定することを意図したものではない。上記の教示を考慮すれば、多くの修正及び変形が可能となる。本発明の範囲は、この詳細な説明ではなく、添付の特許請求の範囲によって限定されることが意図されている。上記の詳細な説明、実施例及びデータは、本発明の構成の製造及び使用の完全な説明を与える。本発明の範囲から逸脱することなく、本発明の多くの実施形態を作成することができるので、本発明は、添付の特許請求の範囲の中に存在する。
【符号の説明】
【００７７】
１００：コンピューティング環境
１０２：ストレージ・コントローラ
１０４：ホスト
１０６：ストレージ・クラウド
１０８：ストレージ管理アプリケーション
１１０：ホスト・アプリケーション
１１２、１１４：ストレージ・デバイス
１１６：ソース・データセット
１１８：ポイント・イン・タイム・コピー動作
１２０：ターゲット・データセット
１２４：バックアップ・データセット
１２８：ソースからターゲットへのエクステント・リスト・マッピング
１３０：対応
３３０：マッピング
【図１】
0006941173.tif 000002
【図２】
0006941173.tif 000003
【図３】
0006941173.tif 000004
【図４】
0006941173.tif 000005
【図５】
0006941173.tif 000006
【図６】
0006941173.tif 000007
【図７】
0006941173.tif 000008
【図８】
0006941173.tif 000009
【図９】
0006941173.tif 000010
【図１０】
0006941173.tif 000011