(57)【特許請求の範囲】
【請求項１】
制限されたデータセットをクラウド・ネットワークのクラウド・ノード内のクラウド・ストレージに格納するためのコンピュータ・プログラムであって、前記コンピュータ・プログラムが、コンピュータ・システムに、
データセットを１つまたは複数のストレージ・デバイスから前記クラウド・ストレージにダンプすることの要求を受信することであって、前記データセットが制限されたデータセットおよび制限されないデータセットを含んでおり、前記制限されたデータセットが前記クラウド・ストレージによってサポートされていない形式であり、前記制限されないデータセットが前記クラウド・ストレージによってサポートされている形式である、前記受信することと、
前記制限されたデータセットを識別することと、
前記制限されたデータセットを、前記クラウド・ストレージによってサポートされている形式に変換して、変換されたデータセットを生成することと、
前記変換されたデータセットおよび前記制限されないデータセットを前記クラウド・ストレージ内の１つのコンテナにダンプすることと
を実行させる、コンピュータ・プログラム。
【請求項２】
前記制限されたデータセットが、順次形式を使用してフラット・ファイルに変換される、請求項１に記載のコンピュータ・プログラム。
【請求項３】
前記ダンプすることの要求が、ＣＬＯＵＤキーワード、ＣＯＮＴＡＩＮＥＲキーワード、およびＯＢＪＥＣＴＰＲＥＦＩＸキーワードを含んでいるダンプ・コマンドを含んでいる、請求項１に記載のコンピュータ・プログラム。
【請求項４】
前記１つのコンテナが、前記クラウド・ストレージのクラウド・ファイル・システム内のフォルダを含んでいる、請求項１に記載のコンピュータ・プログラム。
【請求項５】
前記コンピュータ・プログラムが、
前記データセットを前記コンテナから復元することの要求を受信することに応答して、前記制限されないデータセットを前記クラウド・ストレージから前記１つまたは複数のストレージ・デバイスに直接復元することを実行させる、請求項１に記載のコンピュータ・プログラム。
【請求項６】
前記コンピュータ・プログラムが、
前記データセットを前記コンテナから復元することの要求を受信することに応答して、
前記変換されたデータセットを前記クラウド・ストレージから前記１つまたは複数のストレージ・デバイスに復元することと、
前記変換されたデータセットを再変換して、制限されたデータセットを元の形式で生成することと
を実行させる、請求項１に記載のコンピュータ・プログラム。
【請求項７】
前記復元することの要求が、ＣＬＯＵＤキーワード、ＣＯＮＴＡＩＮＥＲキーワード、およびＯＢＪＥＣＴＰＲＥＦＩＸキーワードを含んでいる復元コマンドを含んでいる、請求項６に記載のコンピュータ・プログラム。
【請求項８】
ＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）が、コンピュータ・プログラムの動作を実行するように構成されている、請求項１に記載のコンピュータ・プログラム。
【請求項９】
制限されたデータセットをクラウド・ストレージに格納するためのコンピュータ・システムであって、
１つまたは複数のプロセッサ、１つまたは複数のコンピュータ可読メモリ、および１つまたは複数のコンピュータ可読の有形のストレージ・デバイスを備えているメインフレームと、
前記１つまたは複数のメモリのうちの少なくとも１つを介して前記１つまたは複数のプロセッサのうちの少なくとも１つによって実行するための、前記１つまたは複数のコンピュータ可読の有形のストレージ・デバイスのうちの少なくとも１つに格納されたプログラム命令と
を備えており、前記プログラム命令が、
データセットを１つまたは複数のストレージ・デバイスから前記クラウド・ストレージにダンプすることの要求を受信することであって、前記データセットが制限されたデータセットおよび制限されないデータセットを含んでおり、前記制限されたデータセットが前記クラウド・ストレージによってサポートされていない形式であり、前記制限されないデータセットが前記クラウド・ストレージによってサポートされている形式である、前記受信することと、
前記制限されたデータセットを識別することと、
前記制限されたデータセットを、前記クラウド・ストレージによってサポートされている形式に変換して、変換されたデータセットを生成することと、
前記変換されたデータセットおよび前記制限されないデータセットを前記クラウド・ストレージ内の１つのコンテナにダンプすることと
を含んでいる動作を実行するためのものである、コンピュータ・システム。
【請求項１０】
前記制限されたデータセットが、順次形式を使用してフラット・ファイルに変換される、請求項９に記載のコンピュータ・システム。
【請求項１１】
前記ダンプすることの要求が、ＣＬＯＵＤキーワード、ＣＯＮＴＡＩＮＥＲキーワード、およびＯＢＪＥＣＴＰＲＥＦＩＸキーワードを含んでいるダンプ・コマンドを含んでいる、請求項９に記載のコンピュータ・システム。
【請求項１２】
前記１つのコンテナが、前記クラウド・ストレージのクラウド・ファイル・システム内のフォルダを含んでいる、請求項９に記載のコンピュータ・システム。
【請求項１３】
前記動作が、
前記データセットを前記コンテナから復元することの要求を受信することに応答して、前記制限されないデータセットを前記クラウド・ストレージから前記１つまたは複数のストレージ・デバイスに直接復元することをさらに含んでいる、請求項９に記載のコンピュータ・システム。
【請求項１４】
前記動作が、
前記データセットを前記コンテナから復元することの要求を受信することに応答して、
前記変換されたデータセットを前記クラウド・ストレージから前記１つまたは複数のストレージ・デバイスに復元することと、
前記変換されたデータセットを再変換して、制限されたデータセットを元の形式で生成することと
をさらに含んでいる、請求項９に記載のコンピュータ・システム。
【請求項１５】
前記復元することの要求が、ＣＬＯＵＤキーワード、ＣＯＮＴＡＩＮＥＲキーワード、およびＯＢＪＥＣＴＰＲＥＦＩＸキーワードを含んでいる復元コマンドを含んでいる、請求項１４に記載のコンピュータ・システム。
【請求項１６】
ＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）が、前記コンピュータ・システムの動作を実行するように構成されている、請求項９に記載のコンピュータ・システム。
【請求項１７】
コンピュータの情報処理により、制限されたデータセットを、クラウド・ネットワークのクラウド・ノード内のクラウド・ストレージに格納するための方法であって、
コンピュータのプロセッサを使用して、データセットを１つまたは複数のストレージ・デバイスから前記クラウド・ストレージにダンプすることの要求を受信することであって、前記データセットが制限されたデータセットおよび制限されないデータセットを含んでおり、前記制限されたデータセットが前記クラウド・ストレージによってサポートされていない形式であり、前記制限されないデータセットが前記クラウド・ストレージによってサポートされている形式である、前記受信することと、
前記制限されたデータセットを識別することと、
前記制限されたデータセットを、前記クラウド・ストレージによってサポートされている形式に変換して、変換されたデータセットを生成することと、
前記変換されたデータセットおよび前記制限されないデータセットを前記クラウド・ストレージ内の１つのコンテナにダンプすることと
を含んでいる、方法。
【請求項１８】
前記制限されたデータセットが、順次形式を使用してフラット・ファイルに変換される、請求項１７に記載の方法。
【請求項１９】
前記ダンプすることの要求が、ＣＬＯＵＤキーワード、ＣＯＮＴＡＩＮＥＲキーワード、およびＯＢＪＥＣＴＰＲＥＦＩＸキーワードを含んでいるダンプ・コマンドを含んでいる、請求項１７に記載の方法。
【請求項２０】
前記１つのコンテナが、前記クラウド・ストレージのクラウド・ファイル・システム内のフォルダを含んでいる、請求項１７に記載の方法。
【請求項２１】
前記データセットを前記コンテナから復元することの要求を受信することに応答して、前記制限されないデータセットを前記クラウド・ストレージから前記１つまたは複数のストレージ・デバイスに直接復元することをさらに含んでいる、請求項１７に記載の方法。
【請求項２２】
前記データセットを前記コンテナから復元することの要求を受信することに応答して、
前記変換されたデータセットを前記クラウド・ストレージから前記１つまたは複数のストレージ・デバイスに復元することと、
前記変換されたデータセットを再変換して、制限されたデータセットを元の形式で生成することと
をさらに含んでいる、請求項１７に記載の方法。
【請求項２３】
前記復元することの要求が、ＣＬＯＵＤキーワード、ＣＯＮＴＡＩＮＥＲキーワード、およびＯＢＪＥＣＴＰＲＥＦＩＸキーワードを含んでいる復元コマンドを含んでいる、請求項２２に記載の方法。
【請求項２４】
ＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）が、前記方法の動作を実行するように構成されている、請求項１７に記載の方法。
【請求項２５】
請求項１〜８の何れか１項に記載のコンピュータ・プログラムをコンピュータ可読記憶媒体に記録した、記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、制限されないデータセットと共に、制限されたデータセットをクラウド・ネットワークに格納すること、およびクラウド・ネットワークから取得することに関する。
【背景技術】
【０００２】
ストレージ・コントローラは、物理ディスク・ドライブを管理し、それらを論理ユニットとしてコンピュータに提供する。Ｄａｔａ  Ｆａｃｉｌｉｔｙ  Ｓｔｏｒａｇｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ（ＤＦＳＭＳ）ｄｓｓ（ＤＦＳＭＳｄｓｓ（Ｒ））アプリケーションは、データセットおよびボリュームをコピー、移動、ダンプ、および復元するために使用される、ＤＦＳＭＳ機能コンポーネントまたは基本要素として説明されてよい（ＤＦＳＭＳｄｓｓ（Ｒ）は、米国およびその他の国あるいはその両方におけるＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎの商標である）。
【０００３】
現在、１００万命令／秒（ＭＩＰＳ：Millions of Instructions Per Second）を削減するために、ＤＦＳＭＳｄｓｓ（Ｒ）アプリケーションは、データセットの格納および取得をストレージ・コントローラにオフロードする。その結果、検証や再ブロック化などの追加の論理的処理を必要とするデータセットは制限されており、つまり、それらのデータセットをクラウドにダンプすることができない。データセットのグループをダンプするときに、しばしば、一部のデータセットが、クラウドの処理に関してＤＦＳＭＳｄｓｓ（Ｒ）アプリケーションによって拒否されることが、フラストレーションを引き起こすことがある。ユーザの観点からは、この制限は、サポートされている／サポートされていないデータセットをクラウド内で互いに格納できなくするため、クラウドへのバックアップの管理をより複雑にする。ダンプは、特定の形式でのデータセットのバックアップとして説明されてよい。データセットの元の形式を維持するコピー／移動とは異なり、ダンプが行われる場合、データセットは、メタデータ、およびデータセットに関連するデータを含む形式にパッケージ化される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従って本発明が解決しようとする課題は、制限されないデータセットを伴う制限されたデータセットのクラウド・ネットワークへの格納およびクラウド・ネットワークからの取得方法、システム、プログラムを提供することである。
【課題を解決するための手段】
【０００５】
制限されたデータセットを、クラウド・ネットワークのクラウド・ノード内のクラウド・ストレージに格納するためのコンピュータ・プログラム製品が提供される。このコンピュータ・プログラム製品は、プログラム・コードが具現化されているコンピュータ可読記憶媒体を備えており、このプログラム・コードは、データセットを１つまたは複数のストレージ・デバイスからクラウド・ストレージにダンプすることの要求を受信することであって、このデータセットが制限されたデータセットおよび制限されないデータセットを含んでおり、制限されたデータセットが、クラウド・ストレージによってサポートされていない形式である、受信することと、制限されたデータセットを識別することと、制限されたデータセットを、クラウド・ストレージによってサポートされている形式に変換して、変換されたデータセットを生成することと、変換されたデータセットおよび制限されないデータセットをクラウド・ストレージ内の１つのコンテナにダンプすることとを実行するため、少なくとも１つのプロセッサによって実行可能である。
【０００６】
制限されたデータセットを、クラウド・ネットワークのクラウド・ノード内のクラウド・ストレージに格納するためのコンピュータ・システムが提供される。このコンピュータ・システムは、１つまたは複数のプロセッサ、１つまたは複数のコンピュータ可読メモリ、および１つまたは複数のコンピュータ可読の有形のストレージ・デバイスを備えているメインフレームと、１つまたは複数のメモリのうちの少なくとも１つを介して１つまたは複数のプロセッサのうちの少なくとも１つによって実行するための、１つまたは複数のコンピュータ可読の有形のストレージ・デバイスのうちの少なくとも１つに格納されたプログラム命令とを備えており、これらのプログラム命令は、データセットを１つまたは複数のストレージ・デバイスからクラウド・ストレージにダンプすることの要求を受信することであって、このデータセットが制限されたデータセットおよび制限されないデータセットを含んでおり、制限されたデータセットが、クラウド・ストレージによってサポートされていない形式である、受信することと、制限されたデータセットを識別することと、制限されたデータセットを、クラウド・ストレージによってサポートされている形式に変換して、変換されたデータセットを生成することと、変換されたデータセットおよび制限されないデータセットをクラウド・ストレージ内の１つのコンテナにダンプすることとを含んでいる動作を実行するためのものである。
【０００７】
制限されたデータセットを、クラウド・ネットワークのクラウド・ノード内のクラウド・ストレージに格納するための方法が提供される。この方法は、コンピュータのプロセッサを使用して、データセットを１つまたは複数のストレージ・デバイスからクラウド・ストレージにダンプすることの要求を受信することであって、このデータセットが制限されたデータセットおよび制限されないデータセットを含んでおり、制限されたデータセットが、クラウド・ストレージによってサポートされていない形式である、受信することと、制限されたデータセットを識別することと、制限されたデータセットを、クラウド・ストレージによってサポートされている形式に変換して、変換されたデータセットを生成することと、変換されたデータセットおよび制限されないデータセットをクラウド・ストレージ内の１つのコンテナにダンプすることとを含む。
【０００８】
したがって、実施形態は、好ましくは制限されたデータセットおよび制限されないデータセットの両方をクラウド・ストレージに格納する。
【０００９】
実施形態では、制限されたデータセットは、順次形式を使用してフラット・ファイルに変換される。そのようなフラット・ファイルは、クラウド・ストレージに格納できるという点において有利である。
【００１０】
また、実施形態では、ダンプすることの要求は、ＣＬＯＵＤキーワード、ＣＯＮＴＡＩＮＥＲキーワード、およびＯＢＪＥＣＴＰＲＥＦＩＸキーワードを含んでいるダンプ・コマンドを含む。
【００１１】
さらに、実施形態では、１つのコンテナは、クラウド・ストレージのクラウド・ファイル・システム（cloud file system）内のフォルダを含む。実施形態は、利点として制限されないデータセットおよび制限されたデータセットの両方を（変換された形態で）クラウド・ストレージ内の１つのフォルダに格納する。
【００１２】
また、実施形態は、データセットをコンテナから復元することの要求を受信することに応答して、制限されないデータセットをクラウド・ストレージから１つまたは複数のストレージ・デバイスに直接復元する。そのような直接的な復元は、制限されないデータセットを効率的に復元する。
【００１３】
加えて、実施形態は、データセットをコンテナから復元することの要求を受信することに応答して、変換されたデータセットをクラウド・ストレージから１つまたは複数のストレージ・デバイスに復元して、変換されたデータセットを再変換し、制限されたデータセットを元の形式で生成する。これによって、好ましくはデータセットを元の形式で提供する。
【００１４】
さらに、実施形態では、復元することの要求は、ＣＬＯＵＤキーワード、ＣＯＮＴＡＩＮＥＲキーワード、およびＯＢＪＥＣＴＰＲＥＦＩＸキーワードを含んでいる復元コマンドを含む。
【００１５】
全体を通じて類似する参照番号が対応する部分を表している以下の図面を単に例として参照し、本発明の実施形態について説明する。
【図面の簡単な説明】
【００１６】
【図１】特定の実施形態に記載されたクラウド・コンピューティング環境を示す図である。
【図２】特定の実施形態に記載された抽象モデル・レイヤを示す図である。
【図３】特定の実施形態に記載されたコンピューティング環境をブロック図で示す図である。
【図４】特定の実施形態に記載された、ダンプ・コマンドまたは復元コマンドで使用されるＣＬＯＵＤキーワードの構文を示す図である。
【図５】特定の実施形態に記載された、ダンプ・コマンドまたは復元コマンドで使用されるＣＯＮＴＡＩＮＥＲキーワードの構文を示す図である。
【図６】特定の実施形態に記載された、ダンプ・コマンドまたは復元コマンドで使用されるＯＢＪＥＣＴＰＲＥＦＩＸキーワードの構文を示す図である。
【図７】実施形態に記載された、ダンプ・コマンドまたは復元コマンドのキーワードを示す図である。
【図８】特定の実施形態に記載された、データセットを１つまたは複数のストレージ・デバイスからクラウド・ストレージにダンプするための動作をフローチャートで示す図である。
【図９】特定の実施形態に記載された、データセットをクラウド・ストレージから１つまたは複数のストレージ・デバイスに復元するための動作をフローチャートで示す図である。
【図１０】特定の実施形態に記載されたコンピューティング・ノードを示す図である。
【発明を実施するための形態】
【００１７】
本発明のさまざまな実施形態の説明は、例示の目的で提示されているが、網羅的であることは意図されておらず、開示された実施形態に限定されない。記載された実施形態の範囲および思想を逸脱することなく多くの変更および変形が可能であることは、当業者にとって明らかである。本明細書で使用された用語は、実施形態の原理、実際の適用、または市場で見られる技術を超える技術的改良を最も適切に説明するため、または他の当業者が本明細書で開示された実施形態を理解できるようにするために選択された。
【００１８】
本開示にはクラウド・コンピューティングに関する詳細な説明が含まれているが、本明細書において示された内容の実装は、クラウド・コンピューティング環境に限定されないと理解されるべきである。本発明の実施形態は、現在既知であるか、または今後開発される任意のその他の種類のコンピューティング環境と組み合わせて実装できる。
【００１９】
クラウド・コンピューティングは、構成可能な計算リソース（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス）の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間とサービス・プロバイダとのやりとりを最小限に抑えて、それらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも５つの特徴、少なくとも３つのサービス・モデル、および少なくとも４つのデプロイメント・モデルを含むことができる。
【００２０】
特徴は、次のとおりである。
オンデマンドのセルフ・サービス：クラウドの利用者は、サーバの時間、ネットワーク・ストレージなどのコンピューティング能力を一方的に、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的にプロビジョニングすることができる。
幅広いネットワーク・アクセス：クラウドの能力は、ネットワークを経由して利用可能であり、標準的なメカニズムを使用してアクセスできるため、異種のシン・クライアントまたはシック・クライアント・プラットフォーム（例えば、携帯電話、ラップトップ、およびＰＤＡ）による利用を促進する。
リソース・プール：プロバイダの計算リソースは、プールされ、マルチテナント・モデルを使用して複数の利用者に提供される。さまざまな物理的および仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して管理することも知ることもないが、さらに高い抽象レベル（例えば、国、州、データセンタ）では、場所を指定できる場合がある。
迅速な順応性：クラウドの能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できる能力は、利用者には、多くの場合、任意の量をいつでも無制限に購入できるように見える。
測定されるサービス：クラウド・システムは、計測機能を活用することによって、サービスの種類（例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント）に適した抽象レベルで、リソースの使用を自動的に制御および最適化する。リソースの使用量は監視、制御、および報告することができ、利用されるサービスのプロバイダと利用者の両方に透明性が提供される。
【００２１】
サービス・モデルは、次のとおりである。
ＳａａＳ（Software as a Service）：利用者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションの利用である。それらのアプリケーションは、Ｗｅｂブラウザ（例えば、Ｗｅｂベースの電子メール）などのシン・クライアント・インターフェイスを介して、さまざまなクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
ＰａａＳ（Platform as a Service）：利用者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャにデプロイすることである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、デプロイされたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。
ＩａａＳ（Infrastructure as a Service）：利用者に提供される能力は、処理、ストレージ、ネットワーク、およびその他の基本的な計算リソースのプロビジョニングであり、利用者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをデプロイして実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、およびデプロイされたアプリケーションを制御することができ、場合によっては、選択されたネットワーク・コンポーネント（例えば、ホスト・ファイアウォール）を限定的に制御できる。
【００２２】
デプロイメント・モデルは、次のとおりである。
プライベート・クラウド：このクラウド・インフラストラクチャは、ある組織のためにのみ運用される。このクラウド・インフラストラクチャは、この組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
コミュニティ・クラウド：このクラウド・インフラストラクチャは、複数の組織によって共有され、関心事（例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスに関する考慮事項）を共有している特定のコミュニティをサポートする。このクラウド・インフラストラクチャは、これらの組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
パブリック・クラウド：このクラウド・インフラストラクチャは、一般ユーザまたは大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド：このクラウド・インフラストラクチャは、データとアプリケーションの移植を可能にする標準化された技術または独自の技術（例えば、クラウド間の負荷バランスを調整するためのクラウド・バースト）によって固有の実体を残したまま互いに結合された２つ以上のクラウド（プライベート、コミュニティ、またはパブリック）の複合である。
【００２３】
クラウド・コンピューティング環境は、ステートレス、疎結合、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを含んでいるインフラストラクチャである。
【００２４】
ここで図１を参照すると、クラウド・コンピューティング環境の例５０が示されている。図示されているように、クラウド・コンピューティング環境５０は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス（例えば、ＰＤＡ（personal digital assistant）または携帯電話５４Ａ、デスクトップ・コンピュータ５４Ｂ、ラップトップ・コンピュータ５４Ｃ、または自動車コンピュータ・システム５４Ｎ、あるいはその組み合わせなど）が通信できる１つまたは複数のクラウド・コンピューティング・ノード１０を含んでいる。ノード１０は、互いに通信することができる。ノード１０は、本明細書において前述されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはこれらの組み合わせなどの、１つまたは複数のネットワーク内で物理的または仮想的にグループ化されてよい（図示されていない）。これによって、クラウド・コンピューティング環境５０は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはその組み合わせをサービスとして提供できる。図１に示されたコンピューティング・デバイス５４Ａ〜Ｎの種類は、例示のみが意図されており、コンピューティング・ノード１０およびクラウド・コンピューティング環境５０は、任意の種類のネットワークまたはネットワーク・アドレス指定可能な接続（例えば、Ｗｅｂブラウザを使用した接続）あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信することができると理解される。
【００２５】
ここで図２を参照すると、クラウド・コンピューティング環境５０（図１）によって提供される機能的抽象レイヤのセットが示されている。図２に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図示されているように、次のレイヤおよび対応する機能が提供される。
【００２６】
ハードウェアおよびソフトウェア・レイヤ６０は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム６１、ＲＩＳＣ（Reduced Instruction Set Computer）アーキテクチャベースのサーバ６２、サーバ６３、ブレード・サーバ６４、ストレージ・デバイス６５、ならびにネットワークおよびネットワーク・コンポーネント６６が挙げられる。一部の実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア６７およびデータベース・ソフトウェア６８を含む。
【００２７】
仮想化レイヤ７０は、仮想サーバ７１、仮想ストレージ７２、仮想プライベート・ネットワークを含む仮想ネットワーク７３、仮想アプリケーションおよびオペレーティング・システム７４、ならびに仮想クライアント７５などの仮想的実体を提供できる抽象レイヤを備える。
【００２８】
一例を挙げると、管理レイヤ８０は、以下で説明される機能を提供できる。リソース・プロビジョニング８１は、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよびその他のリソースの動的調達を行う。計測および価格設定８２は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびそれらのリソースの利用に対する請求書の作成と送付を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウドの利用者およびタスクのＩＤ検証を行うとともに、データおよびその他のリソースの保護を行う。ユーザ・ポータル８３は、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理８４は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス水準合意（ＳＬＡ：Service Level Agreement）計画および実行８５は、今後の要求が予想されるクラウドの計算リソースの事前準備および調達を、ＳＬＡに従って行う。
【００２９】
ワークロード・レイヤ９０は、クラウド・コンピューティング環境で利用できる機能の例を示している。このレイヤから提供されてよいワークロードおよび機能の例としては、マッピングおよびナビゲーション９１、ソフトウェア開発およびライフサイクル管理９２、仮想クラスルーム教育の配信９３、データ分析処理９４、トランザクション処理９５、ならびに制限されないデータセットを伴う制限されたデータセットのクラウド・ネットワークへの格納およびクラウド・ネットワークからの取得９６が挙げられる。
【００３０】
したがって特定の実施形態では、制限されないデータセットを伴う制限されたデータセットのクラウド・ネットワークへの格納およびクラウド・ネットワークからの取得を実装するソフトウェアまたはプログラムが、本明細書に記載された実施形態に従って、クラウド環境内のサービスとして提供される。
【００３１】
図３は、特定の実施形態に従って、コンピューティング環境をブロック図で示している。図３では、メインフレーム３１０がストレージ・コントローラ３２０に結合され、ストレージ・コントローラ３２０がクラウド・ネットワーク３４０に結合されている。クラウド・ネットワーク３４０は、図１および図２を参照して説明されている方法で実装されてよい。メインフレーム３１０は、アプリケーション３１２と、１つまたは複数のストレージ・デバイス３１４（例えば、直接アクセス・ストレージ・デバイス（ＤＡＳＤ：Direct Access Storage Devices））と、データ管理アプリケーション３１８（例えば、Ｄａｔａ  Ｆａｃｉｌｉｔｙ  Ｓｔｏｒａｇｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ（ＤＦＳＭＳ）ｄｓｓ（ＤＦＳＭＳｄｓｓ（Ｒ））アプリケーション）とを含んでいる。ＤＡＳＤ３１４は、制限されたデータセットおよび制限されないデータセット３１６を格納する。実施形態では、制限されないデータセットは、クラウドによってサポートされるデータセットと呼ばれてもよく、一方、制限されたデータセットは、クラウドによってサポートされないデータセットと呼ばれてもよい。制限されないデータセットは、クラウド・ストレージによってサポートされている形式である。
【００３２】
制限されたデータセットは、制限されたデータセットをクラウド・ストレージに格納するために必要な検証や再ブロック化などの、追加の論理的処理を必要とする形式である。アプリケーション３１２は、データをストレージ・デバイス３１４に書き込む。
【００３３】
あらゆる種類のデータセットが、クラウドと互換性がある可能性がある。クラウドと互換性がないデータセットは、データセットを復元するためにメインフレーム３１０が追加処理を実行することが必要になる属性を含んでいるデータセットである。
【００３４】
例えば、次の属性によって、データセットはクラウドと互換性がなくなる。
Ｘ’１’  データセットが、特定の種類のデバイス（例えば、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ（ＩＢＭ）Ｃｏｒｐｏｒａｔｉｏｎから提供されている３３８０直接アクセス・ストレージ・デバイス）上に存在する。
Ｘ’２’  データセットが、多層仮想記憶アクセス方式（ＶＳＡＭ：Virtual Storage Access Method）データセットである。
Ｘ’３’  データセットが、シングル・ストライプ・マルチボリューム・バージョン１タイプ（single striped multi-volume version 1 type）である。
Ｘ’４’  ソースとターゲットの間でブロック・サイズが一致しない。
Ｘ’５’  データセットが、キー範囲を含んでいるＶＳＡＭデータセットである。
Ｘ’６’  データセットが、インデックスを埋め込んだキー順データセット（ＫＳＤＳ：Key-Sequenced Dataset）である。
Ｘ’７’  データセットが、高使用相対バイト・アドレス（ＲＢＡ：Relative Byte Address）が高割り振り相対バイト・アドレス（ＨＡＲＢＡ：High Allocated Relative Byte Address）に等しいＶＳＡＭデータセットである。
Ｘ’８’  ソースとターゲットの間で制御域（ＣＡ：Control Area）／制御間隔（ＣＩ：Control Interval）のサイズが一致しない。
Ｘ’９’  データセットが、互換性のないＣＡサイズを含んでいるＶＳＡＭデータセットである。
Ｘ’Ａ’  データセットが、統合カタログ機能のユーザ・カタログである。
Ｘ’Ｂ’  データセットが、順次データセットが最後以外のボリューム上でファイルの末尾を含んでいる、マルチボリューム拡張形式バージョン２（multi-volume extended format version 2）である。
Ｘ’Ｃ’  ＶＳＡＭデータセットが、１５未満のＣＡサイズを含み、トラックによって割り当てられており、１６，７７７，２１５より大きいトラック数を含んでいる。
【００３５】
ＤＡＳＤは、各物理レコードが離散的位置および一意のアドレスを有しているストレージ・デバイスとして説明されてよい。ＤＡＳＤとしては、例えば、ディスク・ドライブ、磁気ドラム、データ・セル、および光ディスク・ドライブが挙げられる。ストレージ・コントローラ３２０は、データセット・ダンプ・システム３２２、１つまたは複数の変換されたダンプ・データセット３２４、１つまたは複数の制限されないデータセット３２６、および中間ストレージ３２８を含んでいる。変換されたダンプ・データセット３２４は、クラウド・ネットワーク３４０内で格納できる形式に変換された制限されたデータセットを表す。クラウド・ネットワーク３４０は、クラウド・ストレージ３４４ａ〜３４４ｎをそれぞれ含むクラウド・ノード３４２ａ〜３４２ｎを含んでいる。データセット・ダンプ・システム３２２は、データセット（制限されたデータセットおよび制限されないデータセットの両方）をストレージ・デバイス３１４からクラウド・ストレージ３４４ａ〜３４４ｎにダンプする。
【００３６】
実施形態では、データセット・ダンプ・システム３２２は、ストレージ・デバイスへのダンプ／ストレージ・デバイスからの復元機能を利用して、クラウドの処理に関して拒否される制限されたデータセットに対して、変換されたダンプ・データセット３２４を作成する。
【００３７】
ＳＡＭは、順次アクセス方式（Sequential Access Method）を表す。ＳＡＭダンプ・データセットは、フラット・ファイルである。フラット・ファイルは、順次形式を含み、階層構造を含まないデータセットとして説明されてよい。特定の実施形態では、変換されたデータセットはＳＡＭ形式である。他の実施形態では、変換されたダンプ・データセットは他の形式であってよい。しかし、ダンプは、従来、連続的にアクセスされるテープに書き込まれていたため、通常、順次形式で書き込まれる。
【００３８】
データセット・ダンプ・システム３２２は、変換されたダンプ・データセット３２４を、制限されないデータセット（すなわち、ストレージ・デバイスへのダンプ／ストレージ・デバイスからの復元機能によってサポートされているデータセット）と共に格納することができる。実施形態は、好ましくはクラウドによってサポートされるデータセットおよびクラウドによってサポートされないデータセットの両方を、複数のバックアップを管理することを必要とせずに、クラウド上の同じクラウド・コンテナ内に保有する。実施形態は、好ましくは制限された、クラウドによってサポートされないデータセットをすべて集約し、クラウドによってサポートされているコンテナ・データセット（container dataset）内に配置し、そのコンテナを、クラウドによってサポートされる他のデータセットと共にバックアップする。実施形態は、制限されたデータセットをクラウド・ストレージ内に配置するために、３つの新しいキーワードを既存の機能に追加する。実施形態では、キーワードＣＬＯＵＤ、ＣＯＮＴＡＩＮＥＲ、およびＯＢＪＥＣＴＰＲＥＦＩＸが既存のダンプ・コマンドおよび復元コマンドに追加され、論理的処理に適用される。実施形態では、ＣＬＯＵＤキーワードを指定するときに、ＣＯＮＴＡＩＮＥＲキーワードおよびＯＢＪＥＣＴＰＲＥＦＩＸキーワードが指定される。
【００３９】
図４は、特定の実施形態に従って、ダンプ・コマンドまたは復元コマンドで使用されるＣＬＯＵＤキーワードの構文４００を示している。ＣＬＯＵＤキーワードは、クラウド構成名（cloud construct name）を入力として受け取るパラメータである。クラウド構成は、クラウドの名前およびアカウント／テナント情報などのクラウドに関する情報を含む。ストレージ管理者は、クラウド構成を構成してよく、データ管理アプリケーション３１８は、データセットをダンプおよび復元するときに、構成内の情報を使用する。この構成名は、最大３０バイトであってよい。
【００４０】
実施形態では、データ管理アプリケーション３１８は、ストレージ・クラス定義または管理クラス定義を取得するために、または特定のストレージ・デバイス（例えば、ＤＡＳＤ）のボリュームに関連付けられているストレージ・グループを決定するために、別の機能を呼び出してよい。
【００４１】
図５は、特定の実施形態に従って、ダンプ・コマンドまたは復元コマンドで使用されるＣＯＮＴＡＩＮＥＲキーワードの構文５００を示している。ＣＯＮＴＡＩＮＥＲキーワードは、オブジェクトが格納されているアカウントの下での位置を指定するパラメータである。コンテナ名は、１２８バイトの長さであってよく、フォワード・スラッシュを含むことができない。コンテナ内のオブジェクトに対するアクセス権は、読み取りおよび書き込みアクセス制御リスト（ＡＣＬ：Access Control Lists）を使用して保護される。コンテナに対するアクセス権が付与された後に、そのコンテナ内のすべてのオブジェクトに対するアクセス権が提供される。
【００４２】
図６は、特定の実施形態に従って、ダンプ・コマンドまたは復元コマンドで使用されるＯＢＪＥＣＴＰＲＥＦＩＸキーワードの構文６００を示している。ＯＢＪＥＣＴＰＲＥＦＩＸキーワードは、データ管理アプリケーション３１８が、オブジェクトが格納される指定されたコンテナの下に格納されているオブジェクトの名前の先頭に追加する接頭辞名を指定するパラメータである。オブジェクト名は、データ管理アプリケーション３１８がＭＣＳＴＯＲＥ機能によって定義された制限を超えないことを保証するように、最大１２８バイトの長さであってよい。実施形態では、オブジェクトの接頭辞は、４４バイトを超えなくてよい。コンテナ内のオブジェクトに対するアクセス権は、読み取りおよび書き込みＡＣＬを使用して保護される。コンテナに対するアクセス権が付与された後に、そのコンテナ内のすべてのオブジェクトに対するアクセス権が提供される。データ管理アプリケーション３１８は、データセットをクラウド・ストレージに格納するときに、オブジェクトの３つのセットを作成する。第１のオブジェクトは、データセットの属性を含んでいるメタデータ・オブジェクトである（例えば、データセット制御ブロック、非ＶＳＡＭボリューム・レコード（ＮＶＲ：non-VSAM Volume Record）、ＶＳＡＭボリューム・レコード（ＶＶＲ：VSAM Volume Record）など）。第２のオブジェクトは、データ・オブジェクトである。第３のオブジェクトは、アプリケーションによって渡されてよいアプリケーション・メタデータ・オブジェクトである。第３のデータ・オブジェクトは、ストレージ・デバイス（例えば、ＤＡＳＤ）上にデータセットが存在していたトラック上に存在していたデータを表す。
【００４３】
実施形態では、ソース・データセットが存在するボリュームごとに、メタ・オブジェクトおよびデータ・オブジェクトが存在する。つまり、ダンプされたデータセットが３つのボリューム上に存在する場合、それらのボリュームごとにメタ・オブジェクトおよびデータ・オブジェクトが存在する。データセットが、２つのボリューム上に存在するインデックス付きＶＳＡＭデータセットである場合、ＤＡＳＤ上にデータセットが存在するコンポーネントごとに、メタ・オブジェクトおよびデータ・オブジェクトが存在する。サポートを簡略化するために、データ管理アプリケーション３１８が、メタデータに対してさらに多くのオブジェクトを作成していてよい。
【００４４】
ＡＤＲＴＡＰＢは、ダンプ・テープまたはダンプ・データセットのレコードの計画を立てるマクロの名前であり、ＤＴＨＤＲ、ＤＴＤＳＨＤＲ、およびＤＴＳＰＨＥＲＥは、ＡＤＲＴＡＰＢマクロ内にある下部構造である。ＤＴＴＴＲＫは、ＡＤＲＴＡＰＢマクロの一部である下部構造であり、データのトラックの計画を立てるのに役立つ。実施形態では、オブジェクトは、例えばＤＴＨＤＲ、ＤＴＤＳＨＤＲ、ＤＴＳＰＨＥＲＥなどの、ＡＤＲＴＡＰＢレコードから成ってよい。ＤＴＴＴＲＫレコードに類似するデータ・オブジェクトに関しては、これらのオブジェクトは範囲から成ってよく、ボリュームごとに１つのデータセットにつき、１つのデータ・オブジェクトのみが存在してよい。
【００４５】
図７は、実施形態に従って、ダンプ・コマンドまたは復元コマンドのキーワード７００を示している。例えば、実施形態によって使用されるダンプ・コマンドまたは復元コマンドは、キーワードＣＬＯＵＤ、ＣＯＮＴＡＩＮＥＲ、およびＯＢＪＥＣＴＰＲＥＦＩＸを含む。ダンプ・コマンドまたは復元コマンドにおいて、その他のキーワードが使用されてもよい。
【００４６】
特定の実施形態では、新しいキーワードＣＬＯＵＤＣＲＥＤＥＮＴＩＡＬＳおよびＤＥＢＵＧを使用できる。ＣＬＯＵＤＣＲＥＤＥＮＴＩＡＬＳキーワードは、クラウドで認証するときに使用される最大６４文字の認証情報を指定するパラメータである。ＤＥＢＵＧキーワードは、パラメータである。ＤＥＢＵＧは、ＤＥＢＵＧ  ＣＬＭＳＧおよび（ＭＩＮＩＭＡＬ、ＳＵＭＭＡＲＩＺＥＤ、またはＤＥＴＡＩＬＥＤの）サブパラメータをダンプ・コマンドまたは復元コマンドに含めることによって、診断ツールとして使用されてよい。ＣＬＭＳＧサブキーワードが指定された場合、データ管理アプリケーション３１８が、クラウド・ストレージへのバックアップの進行に関する詳細を提供するメッセージを発行する。ＤＥＢＵＧ（ＣＬＭＳＧ）は、次のように、サブキーワードのうちの１つが後ろに続いて指定される。
ＤＥＢＵＧ  ＣＬＭＳＧ（ＭＩＮＩＭＡＬ）  −データ管理アプリケーション３１８が、クラウド・ストレージへのバックアップの進行に関する詳細を提供するメッセージを何も発行しないことを指定する。
ＤＥＢＵＧ  ＣＬＭＳＧ（ＳＵＭＭＡＲＩＺＥＤ）  −  データ管理アプリケーション３１８が、クラウド・ストレージに格納されるオブジェクトごとに、情報メッセージを発行することを指定する。
ＤＥＢＵＧ  ＣＬＭＳＧ（ＤＥＴＡＩＬＥＤ）  −  データ管理アプリケーション３１８が、クラウド・ストレージ内のオブジェクトに対して作成された各ハイパー・テキスト転送プロトコル（ＨＴＴＰ：Hyper Text Transfer Protocol）要求に関する詳細な情報を提供することを指定する。
【００４７】
実施形態では、ＤＥＢＵＧ（ＣＬＭＳＧ）が指定されない場合、ＭＩＮＩＭＡＬの処理がデフォルトである。
【００４８】
図８は、特定の実施形態に従って、データセットを１つまたは複数のストレージ・デバイスからクラウド・ストレージにダンプするための動作をフローチャートで示している。クラウド・ストレージは、クラウド・ネットワークのクラウド・ノード内にある。制御は、ブロック８００で、データセット・ダンプ・システム１２２が、指定されたデータセットを１つまたは複数のストレージ・デバイスからクラウド・ストレージにダンプすることの要求を（メインフレーム１１０のデータ管理アプリケーション３１８から）受信することから開始し、この指定されたデータセットは、制限されたデータセットおよび制限されないデータセットを含む。このダンプすることの要求は、ＣＬＯＵＤキーワード、ＣＯＮＴＡＩＮＥＲキーワード、およびＯＢＪＥＣＴＰＲＥＦＩＸキーワード、ならびに必要に応じて、ＣＬＯＵＤＣＲＥＤＥＮＴＩＡＬＳキーワードまたはＤＥＢＵＧキーワードあるいはその両方を含むダンプ・コマンドであってよい。ブロック８０２で、データセット・ダンプ・システム１２２が、制限されたデータセットを指定されたデータセットから識別する。特定の実施形態では、データセット・ダンプ・システム１２２が、クラウドにダンプできないデータセットのリストを識別し、ｔｙｐｒｕｎ＝ｎｏｒｕｎを使用してクラウドへのＤＵＭＰを実行する。ｔｙｐｒｕｎ＝ｎｏｒｕｎは、模擬のダンプを実行してデータセットのリストを取得するようにメインフレーム３１０に対して指示する、データ管理アプリケーション３１８の機能のためのコマンドである。この場合、データ管理アプリケーション３１８のｔｙｐｒｕｎ＝ｎｏｒｕｎの機能は、クラウドにダンプできないデータセットのリストを提供する。したがって、ｔｙｐｒｕｎ＝ｎｏｒｕｎは、クラウド・ストレージでサポートされていない制限されたデータセットに関してフィルタリングするためのオプションとして説明されてよい。次に、データセット・ダンプ・システム１２２は、１つまたは複数のストレージ・デバイスからすべてのデータセットを抽出して、新しいデータセットを形成し、その後、制限されたデータセットをこの新しいデータセットから抽出する。その後、新しいデータセットは、制限されないデータセットを含んでおり、クラウド・ストレージに直接ダンプされてよく、クラウド・ストレージから復元されてよい。データセット・ダンプ・システム１２２は、（クラウド・ストレージへのダンプに失敗した）制限されたデータセットのリストを作成する。
【００４９】
ブロック８０４で、データセット・ダンプ・システム１２２が、制限されたデータセットを、クラウド・ストレージによってサポートされている形式に変換し、変換されたデータセットを生成する。特定の実施形態では、データセット・ダンプ・システム１２２は、（ＤＵＭＰ機能を使用して）リストからデータセットを１つまたは複数のストレージ・デバイスにダンプして、順次ダンプ・データセットを作成し、このデータセットに任意のデータセット名（例えば、ｃｌｏｕｄ．ｄｕｍｐ）を付ける。ＤＵＭＰ機能は、クラウドから制限されているデータセットを、クラウドと互換性がある１つのフラット・ファイルに変換する。
【００５０】
ブロック８０６で、データセット・ダンプ・システム１２２が、変換されたデータセットおよび制限されないデータセットをクラウド・ストレージ内の１つのコンテナにダンプする。ダンプ・コンテナ（dump container）は、クラウド・ストレージのクラウド・ファイル・システム内のフォルダとして説明されてよい。つまり、ダンプ・コンテナはクラウド・ストレージの一部である。特定の実施形態では、データセット・ダンプ・システム１２２が、ＣＯＮＴＡＩＮＥＲおよびＯＢＪＥＣＴＰＲＥＦＩＸを指定することによって、順次ダンプ・データセットを、制限されないデータセットと共にクラウド・ストレージにダンプする。コンテナは、フォルダと同種であり、オブジェクトの接頭辞はファイル名に類似している。ＣＯＮＴＡＩＮＥＲおよびＯＢＪＥＣＴＰＲＥＦＩＸは、ダンプを格納するため、および（取得するために）ダンプの位置を特定するために、一緒に使用される。実施形態では、データセット名のリストは、データセットと共に、クラウド・ストレージに格納される。実施形態では、データセット・ダンプ・システム１２２は、制限されないデータセットごとに、データセット名リスト・クラウド・オブジェクト内にエントリを作成する。
【００５１】
図９は、特定の実施形態に従って、データセットをクラウド・ストレージから１つまたは複数のストレージ・デバイスに復元するための動作をフローチャートで示している。制御は、ブロック９００で、データセット・ダンプ・システム１２２が、指定されたデータセットを指定されたコンテナから復元することの要求を、メインフレーム１１０のデータ管理アプリケーション３１８から受信することから開始する。この復元することの要求は、ＣＬＯＵＤキーワード、ＣＯＮＴＡＩＮＥＲキーワード、およびＯＢＪＥＣＴＰＲＥＦＩＸキーワード、ならびに必要に応じて、ＣＬＯＵＤＣＲＥＤＥＮＴＩＡＬＳキーワードまたはＤＥＢＵＧキーワードあるいはその両方を含む復元コマンドであってよい。特定の実施形態では、データセット・ダンプ・システム１２２は、復元するために、データ管理アプリケーション３１８を指定されたＯＢＪＥＣＴＰＲＥＦＩＸおよびＣＯＮＴＡＩＮＥＲと共に使用して、復元されるデータセットを指定する。
【００５２】
ブロック９０２で、データセット・ダンプ・システム１２２は、指定されたデータセットのうちの制限されないデータセットを、クラウド・ストレージから１つまたは複数のストレージ・デバイスに直接復元する。実施形態では、データセット・ダンプ・システム１２２は、クラウドにダンプできる（すなわち、データセット名リスト・クラウド・オブジェクト内にエントリがある）データセットごとに、データセットを直接復元する。
【００５３】
ブロック９０４で、データセット・ダンプ・システム１２２は、指定されたデータセットのうちの変換されたデータセットを、クラウド・ストレージから１つまたは複数のストレージ・デバイスに復元する。実施形態では、データセット・ダンプ・システム１２２は、クラウドにダンプできないデータセットごとに、クラウド・ストレージから１つまたは複数のストレージ・デバイスに任意の名前（例えば、ｃｌｏｕｄ．ｄｕｍｐ）でダンプされた順次ダンプ・データセットを復元する。ブロック９０６で、データセット・ダンプ・システム１２２は、変換されたデータセットを再変換して、制限されたデータセットを元の形式で生成する。実施形態では、データセット・ダンプ・システム１２２は、順次ダンプ・データセットからのＤＡＳＤ  ＲＥＳＴＯＲＥを実行し、順次ダンプ・データセットを元の形態（すなわち、制限されたデータセット）に戻す。
【００５４】
したがって、実施形態は、クラウド・データ・ストレージ内で、クラウドへのデータのダンプを実行しながら、クラウドによってサポートされないデータを除外し、クラウドによってサポートされるように設定されたコンテナとして（ストレージ・コントローラ３２０内の）中間ストレージ３２８にダンプすることによって集約し、このコンテナを、クラウドによってサポートされるデータと同じクラウド・ストレージにダンプする。
【００５５】
実施形態は、追加の自己記述的なメタデータを含むデータセットを格納する。このメタデータは、格納されているデータセットのリスト、データセットがどのストレージ・デバイスに格納されているか、および元のストレージ・デバイスに関する情報を含む。
【００５６】
実施形態は、データ管理アプリケーション３１８がデータをクラウドにダンプしようとしたときに、ソース・データセットの形式がクラウド・ストレージと互換性がない場合に対処する。実施形態は、互換性のないデータを、入力ストリームからフィルタリングして、クラウドと互換性のある形式のデータと共にパケット内に包み込み、その後、この互換性のあるパケットをクラウドにアップロードし、必要なときにクラウドからの再読み込みをサポートするために、パケット内の情報を注意深く維持する。
【００５７】
図１０は、特定の実施形態に従って、コンピューティング環境１０１０を示している。特定の実施形態では、コンピューティング環境はクラウド・コンピューティング環境である。図１０を参照すると、コンピュータ・ノード１０１２は、適切なコンピューティング・ノードの一例に過ぎず、本明細書に記載された本発明の実施形態の使用または機能の範囲に関して、いかなる制限を示唆することも意図されていない。いずれにせよ、コンピュータ・ノード１０１２は、前述した機能のいずれかを実装すること、または実行すること、あるいはその両方を行うことができる。
【００５８】
コンピュータ・ノード１０１２は、他の多数の汎用または専用のコンピューティング・システム環境または構成で運用できるコンピュータ・システムであってよい。コンピュータ・ノード１０１２での使用に適したものにすることができる既知のコンピューティング・システム、環境、または構成、あるいはその組み合わせの例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マイクロプロセッサ・システム、マイクロプロセッサベース・システム、セット・トップ・ボックス、プログラマブル・コンシューマ・エレクトロニクス、ネットワークＰＣ、マイクロコンピュータ・システム、メインフレーム・コンピュータ・システム、およびこれらのシステムまたはデバイスのいずれかを含む分散クラウド・コンピューティング環境などを含むが、これらに限定されない。
【００５９】
コンピュータ・ノード１０１２は、コンピュータ・システムによって実行されているプログラム・モジュールなどの、コンピュータ・システムによって実行可能な命令との一般的な関連で説明することができる。通常、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むことができる。コンピュータ・ノード１０１２は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散クラウド・コンピューティング環境で実行されてよい。分散クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカルおよびリモートの両方のコンピュータ・システム・ストレージ媒体に配置されてよい。
【００６０】
図１０に示すように、クラウド・コンピューティング・ノード１０１０内のコンピュータ・ノード１０１２は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・ノード１０１２のコンポーネントは、１つまたは複数のプロセッサまたはプロセッシング・ユニット１０１６、システム・メモリ１０２８、およびシステム・メモリ１０２８を含むさまざまなシステム・コンポーネントを１つまたは複数のプロセッサまたはプロセッシング・ユニット１０１６に結合するバス１０１８を含むことができるが、これらに限定されない。
【００６１】
バス１０１８は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィックス・ポート、および任意のさまざまなバス・アーキテクチャを使用するプロセッサまたはローカル・バスを含む、１つまたは複数の任意の種類のバス構造を表す。例として、そのようなアーキテクチャは、ＩＳＡ（Industry Standard Architecture）バス、MCA（Micro Channel Architecture）バス、ＥＩＳＡ（Enhanced ISA）バス、ＶＥＳＡ（Video Electronics Standards Association）ローカル・バス、およびＰＣＩ（Peripheral Component Interconnect）バスを含むが、これらに限定されない。
【００６２】
コンピュータ・ノード１０１２は、通常、さまざまなコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・ノード１０１２によってアクセスできる任意の使用可能な媒体にすることができ、揮発性および不揮発性媒体、取り外し可能および取り外し不可の媒体の両方を含む。
【００６３】
システム・メモリ１０２８は、ランダム・アクセス・メモリ（ＲＡＭ：random access memory）１０３０またはキャッシュ・メモリ１０３２あるいはその両方などの、揮発性メモリの形態でのコンピュータ・システム可読媒体を含むことができる。コンピュータ・ノード１０１２は、その他の取り外し可能／取り外し不可、揮発性／不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。単に例として、取り外し不可、不揮発性の磁気媒体（図示されておらず、通常は「ハード・ドライブ」と呼ばれる）に対する読み取りと書き込みを行うために、ストレージ・システム１０３４を提供することができる。図示されていないが、取り外し可能、不揮発性の磁気ディスク（例えば、「フロッピー（Ｒ）・ディスク」）に対する読み取りと書き込みを行うための磁気ディスク・ドライブ、およびＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、またはその他の光媒体などの取り外し可能、不揮発性の光ディスクに対する読み取りと書き込みを行うための光ディスク・ドライブを提供することができる。そのような例では、それぞれを、１つまたは複数のデータ媒体インターフェイスによってバス１０１８に接続することができる。下で詳細に示され、説明されるように、システム・メモリ１０２８は、本発明の実施形態の機能を実行するように構成された一連の（例えば、少なくとも１つの）プログラム・モジュールを備える少なくとも１つのプログラム製品を含むことができる。
【００６４】
例えば、一連の（少なくとも１つの）プログラム・モジュール１０４２を含んでいるプログラム／ユーティリティ１０４０がシステム・メモリ１０２８に格納されてよいが、これに限定されず、オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データも格納されてよい。オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データまたはこれらの組み合わせは、それぞれネットワーク環境の実装を含むことができる。プログラム・モジュール１０４２は、通常、本明細書に記載された本発明の実施形態の機能または方法あるいはその両方を実行する。
【００６５】
コンピュータ・ノード１０１２は、キーボード、ポインティング・デバイス、ディスプレイ１０２４などの１つまたは複数の外部デバイス１０１４、ユーザがコンピュータ・ノード１０１２と情報をやりとりできるようにする１つまたは複数のデバイス、またはコンピュータ・ノード１０１２が１つまたは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス（例えば、ネットワーク・カード、モデムなど）、あるいはその組み合わせと通信することもできる。そのような通信は、入出力（Ｉ／Ｏ：Input/Output）インターフェイス１０２２を介して行うことができる。さらに、コンピュータ・ノード１０１２は、ローカル・エリア・ネットワーク（ＬＡＮ：Local Area Network）、一般的な広域ネットワーク（WAN：Wide Area Network）、またはパブリック・ネットワーク（例えば、インターネット）、あるいはその組み合わせなどの１つまたは複数のネットワークと、ネットワーク・アダプタ１０２０を介して通信することができる。図示されているように、ネットワーク・アダプタ１０２０は、バス１０１８を介してコンピュータ・ノード１０１２の他のコンポーネントと通信する。図示されていないが、その他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方を、コンピュータ・ノード１０１２と併用できるということが理解されるべきである。その例として、マイクロコード、デバイス・ドライバ、冗長プロセッシング・ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが挙げられるが、これらに限定されない。
【００６６】
特定の実施形態では、メインフレーム１１０、ストレージ・コントローラ１２０、またはクラウド・コンピューティング・ノード１０、あるいはその組み合わせは、コンピュータ・ノード１０１２のアーキテクチャを有する。
【００６７】
追加の実施形態の詳細
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいる１つまたは複数のコンピュータ可読記憶媒体を含んでよい。
【００６８】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読記憶媒体のさらに具体的な例の非網羅的リストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ：random access memory）、読み取り専用メモリ（ＲＯＭ：read-only memory）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭ：erasable programmable read-only memoryまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ：static random access memory）、ポータブル・コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ：compact disc read-only memory）、デジタル多用途ディスク（ＤＶＤ：digital versatile disk）、メモリ・スティック、フロッピー（Ｒ）・ディスク、パンチカードまたは命令が記録されている溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されているコンピュータ可読記憶媒体は、それ自体が、電波またはその他の自由に伝搬する電磁波、導波管またはその他の送信媒体を伝搬する電磁波（例えば、光ファイバ・ケーブルを通過する光パルス）、あるいはワイヤを介して送信される電気信号などの一時的信号であると解釈されるべきではない。
【００６９】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各コンピューティング・デバイス／処理デバイスへ、またはネットワーク（例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組み合わせ）を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えてよい。各コンピューティング・デバイス／処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス／処理デバイス内のコンピュータ可読記憶媒体に格納するために転送する。
【００７０】
本発明の処理を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ：instruction-set-architecture）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいは、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋などのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む１つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ：local area network）または広域ネットワーク（ＷＡＮ：wide area network）を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、（例えば、インターネット・サービス・プロバイダを使用してインターネットを介して）外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル論理回路、フィールドプログラマブル・ゲート・アレイ（ＦＰＧＡ：field-programmable gate arrays）、またはプログラマブル・ロジック・アレイ（ＰＬＡ：programmable logic arrays）を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行してよい。
【００７１】
本発明の態様は、本明細書において、本発明の実施形態に記載された方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
【００７２】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックに指定される機能／動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読記憶媒体がフローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックに指定される機能／動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読記憶媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに特定の方式で機能するように指示できるものであってもよい。
【００７３】
コンピュータ可読プログラム命令は、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックに指定される機能／動作を実施するように、コンピュータ実施プロセスを作出するべく、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスに読み込まれ、一連の動作可能なステップを、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で実行させるものであってもよい。
【００７４】
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に記載されているシステム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および処理を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、指定された論理機能を実装するための１つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された２つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、指定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令を組み合わせて実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
【図１】
0006872012.tif 000002
【図２】
0006872012.tif 000003
【図３】
0006872012.tif 000004
【図４】
0006872012.tif 000005
【図５】
0006872012.tif 000006
【図６】
0006872012.tif 000007
【図７】
0006872012.tif 000008
【図８】
0006872012.tif 000009
【図９】
0006872012.tif 000010
【図１０】
0006872012.tif 000011