(57)【要約】      （修正有）【課題】外部ストレージサブシステムを使用するＶＭ環境におけるバックアップシステムを簡素化する。【解決手段】システムは、ネットワーク４００を介してサーバ２００ａ、２００ｂ及び管理サーバ３００に接続されたストレージサブシステム１００を含む。ストレージサブシステムは、複数のボリューム１５１を含む。サーバは、その上で実行されるＶＭ２０３ａ−１〜２０３ａ−２、２０３ｂ−１〜２０３ｂ−３を含み、ボリュームに格納されたＶＭデータを有する。管理サーバは、プロセッサと、メモリと、バックアップ制御とを含み、一時停止又は終了されたサーバ上のＶＭを検出し、ＶＭによって使用された１つ以上のボリュームを識別し、そのボリュームのデータをバックアップするために、バックアップボリュームを作成するようにストレージサブシステムに対して指示する。【選択図】図５
2012064196.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してサーバ及び管理サーバに接続されたストレージシステムを含むシステムにおいて、当該ストレージシステムは、複数のストレージボリュームを含み、前記サーバは、その上で実行される複数の仮想マシンを含むとともに、前記ストレージボリュームに格納された仮想マシンデータを有し、前記管理サーバは、プロセッサと、メモリと、バックアップ制御モジュールと含み、当該バックアップ制御モジュールは、
一時停止又は終了された前記サーバ上の仮想マシンを検出し、
前記検出された仮想マシンによって使用される１つ以上のストレージボリュームを識別し、かつ
前記識別された１つ以上のストレージボリュームのデータをバックアップするために、前記決定された１つ以上のストレージボリュームのバックアップボリュームを作成するように、前記ストレージシステムに対して指示するように構成されている。
【請求項２】
前記ストレージシステムによって作成された前記バックアップボリュームを有する、使用された前記１つ以上のストレージボリュームを備えた一時停止又は終了された仮想マシンについて、当該一時停止又は終了された仮想マシンは、整合性のあるデータでバックアップされ、
前記仮想マシンデータのバックアップは、複数のバックアップ世代について生じており、
前記バックアップ制御モジュールは、前記メモリに格納された仮想マシン状態管理テーブルを更新するように構成され、当該仮想マシン状態管理テーブルは、前記複数のバックアップ世代に関して前記仮想マシンについての仮想マシン状態を含み、かつどのバックアップ世代がどの仮想マシンの整合性のあるデータを有するかを示すものであり、及び
特定のバックアップ世代についての整合性のあるデータでバックアップされた仮想マシンは、当該特定の世代から復元可能である、請求項１に記載の管理サーバ。
【請求項３】
前記バックアップ制御モジュールは、前記仮想マシン状態管理テーブルを参照することによって、復元可能な仮想マシンデータを復元するように構成される、請求項２に記載の管理サーバ。
【請求項４】
特定の仮想マシンの仮想マシンデータを復元するための要求に応じて、前記バックアップ制御モジュールは、
前記仮想マシン状態管理テーブルを参照することによって、前記特定の仮想マシンによって使用される１つ以上のボリュームのバックアップのために使用される１つ以上のバックアップボリュームを識別し、
前記特定の仮想マシンの前記仮想マシンデータを復元するための１つ以上のターゲット復元ボリュームを作成し、
前記識別された１つ以上のバックアップボリュームの最も古い仮想マシンデータを、前記１つ以上のターゲット復元ボリュームにコピーし、かつ
それ以上新しい世代がないという状態になるまで、より新しいバックアップ世代のそれぞれについて、前記１つ以上のバックアップボリュームの仮想マシンデータを前記１つ以上のターゲット復元ボリュームにコピーすることを継続するように構成される、請求項３に記載の管理サーバ。
【請求項５】
少なくとも１つの仮想マシンは、前記ストレージシステム内の少なくとも２つのボリュームに格納された同じ仮想マシンデータを有し、当該少なくとも２つのボリュームは、特定の仮想マシンのためのコンシステンシーグループに属する当該特定の仮想マシンのための前記同じ仮想マシンデータを格納し、
前記仮想マシン状態管理テーブルは、前記少なくとも１つの仮想マシンのためのコンシステンシーグループ情報を含み、及び
前記バックアップ制御モジュールは、前記ストレージシステム内のどのボリュームがどの仮想マシンのためのコンシステンシーグループに属しているか、かつ前記仮想マシンデータのバックアップ中に同時にバックアップされるか、及びどのバックアップボリュームが前記仮想マシンデータの復元のために使用することができるかを知るために、前記仮想マシン状態管理テーブルの前記コンシステンシーグループ情報を参照するように構成される、請求項２に記載の管理サーバ。
【請求項６】
少なくとも１つの仮想マシンは、前記ストレージシステム内の少なくとも２つのボリュームに格納された同じ仮想マシンデータを有し、当該少なくとも２つのボリュームは、特定の仮想マシンのためのコンシステンシーグループに属する当該特定の仮想マシンのための前記同じ仮想マシンデータを格納し、
前記バックアップ制御モジュールは、前記ストレージシステム内のどのボリュームがどの仮想マシンのためのコンシステンシーグループに属しているか、かつ前記仮想マシンデータのバックアップ中に同時にバックアップされるべきかを知るために、ボリュームのコンシステンシーグループをリストするコンシステンシーグループ管理テーブルを参照するように構成される、請求項１に記載の管理サーバ。
【請求項７】
前記バックアップ制御モジュールは、バックアップを他の媒体に作成するか否かを決定し、ＹＥＳの場合は、前記バックアップボリュームからデータを読み出し、当該データを前記他の媒体に書き込むように構成される、請求項１に記載の管理サーバ。
【請求項８】
前記サーバ上の仮想マシンと前記ストレージシステムの間のストレージＩ／Ｏ（入出力）が切断されたことが検出された場合、前記仮想マシンは一時停止又は終了される、請求項１に記載の管理サーバ。
【請求項９】
ネットワークを介してサーバ及び管理サーバに接続されたストレージシステムを含むシステムにおけるバックアップ制御方法であって、当該ストレージシステムは、複数のストレージボリュームを含み、前記サーバは、その上で実行される複数の仮想マシンを含むとともに、前記ストレージボリュームに格納された仮想マシンデータを有するものであり、
一時停止又は終了された前記サーバ上の仮想マシンを検出することと、
前記検出された仮想マシンによって使用される１つ以上のストレージボリュームを識別することと、
前記識別された１つ以上のストレージボリュームのデータをバックアップするために、前記決定された１つ以上のストレージボリュームのバックアップボリュームを作成するように、前記ストレージシステムに対して指示することと
を含む、バックアップ制御方法。
【請求項１０】
前記ストレージシステムによって作成された前記バックアップボリュームを有する、使用された前記１つ以上のストレージボリュームを備えた一時停止又は終了された仮想マシンについて、当該一時停止又は終了された仮想マシンは、整合性のあるデータでバックアップされ、
前記仮想マシンデータのバックアップは、複数のバックアップ世代について生じており、
前記バックアップ制御方法は、前記メモリに格納された仮想マシン状態管理テーブルを更新することをさらに含み、当該仮想マシン状態管理テーブルは、前記複数のバックアップ世代に関して前記仮想マシンについての仮想マシン状態を含み、かつどのバックアップ世代がどの仮想マシンの整合性のあるデータを有するかを示すものであり、及び
特定のバックアップ世代についての整合性のあるデータでバックアップされた仮想マシンは、当該特定の世代から復元可能である、請求項９に記載のバックアップ制御方法。
【請求項１１】
前記仮想マシン状態管理テーブルを参照することによって、復元可能な仮想マシンデータを復元することをさらに含む、請求項１０に記載のバックアップ制御方法。
【請求項１２】
特定の仮想マシンの仮想マシンデータを復元するための要求に応じて、
前記仮想マシン状態管理テーブルを参照することによって、前記特定の仮想マシンによって使用される１つ以上のボリュームのバックアップのために使用される１つ以上のバックアップボリュームを識別することと、
前記特定の仮想マシンの前記仮想マシンデータを復元するための１つ以上のターゲット復元ボリュームを作成することと、
前記識別された１つ以上のバックアップボリュームの最も古い仮想マシンデータを、前記１つ以上のターゲット復元ボリュームにコピーすることと、
それ以上新しい世代がないという状態になるまで、より新しいバックアップ世代のそれぞれについて、前記１つ以上のバックアップボリュームの仮想マシンデータを前記１つ以上のターゲット復元ボリュームにコピーすることを継続することと
をさらに含む、請求項１１に記載のバックアップ制御方法。
【請求項１３】
少なくとも１つの仮想マシンは、前記ストレージシステム内の少なくとも２つのボリュームに格納された同じ仮想マシンデータを有し、当該少なくとも２つのボリュームは、特定の仮想マシンのためのコンシステンシーグループに属する当該特定の仮想マシンのための前記同じ仮想マシンデータを格納し、
前記仮想マシン状態管理テーブルは、前記少なくとも１つの仮想マシンのためのコンシステンシーグループ情報を含み、及び
前記バックアップ制御方法は、前記ストレージシステム内のどのボリュームがどの仮想マシンのためのコンシステンシーグループに属しているか、かつ前記仮想マシンデータのバックアップ中に同時にバックアップされるか、及びどのバックアップボリュームが前記仮想マシンデータの復元のために使用することができるかを知るために、前記仮想マシン状態管理テーブルの前記コンシステンシーグループ情報を参照することをさらに含む、請求項１０に記載の前記バックアップ制御方法。
【請求項１４】
少なくとも１つの仮想マシンは、前記ストレージシステム内の少なくとも２つのボリュームに格納された同じ仮想マシンデータを有し、当該少なくとも２つのボリュームは、特定の仮想マシンのためのコンシステンシーグループに属する当該特定の仮想マシンのための前記同じ仮想マシンデータを格納し、
前記バックアップ制御方法は、前記ストレージシステム内のどのボリュームがどの仮想マシンのためのコンシステンシーグループに属しているか、かつ前記仮想マシンデータのバックアップ中に同時にバックアップされるべきかを知るために、ボリュームのコンシステンシーグループをリストするコンシステンシーグループ管理テーブルを参照することをさらに含む、請求項９に記載のバックアップ制御方法。
【請求項１５】
バックアップを他の媒体に作成するか否かを決定し、ＹＥＳの場合は、前記バックアップボリュームからデータを読み出し、当該データを前記他の媒体に書き込むことをさらに含む、請求項９に記載の前記バックアップ制御方法。
【請求項１６】
前記サーバ上の仮想マシンと前記ストレージシステムの間のストレージＩ／Ｏ（入出力）が切断されたことが検出された場合、前記仮想マシンは一時停止又は終了される、請求項９に記載のバックアップ制御方法。
【請求項１７】
ネットワークを介してサーバ及び管理サーバに接続されたストレージシステムを含むシステムにおいて仮想マシンデータのバックアップを制御するためのデータプロセッサを制御する複数の命令を格納するコンピュータ可読記憶媒体であって、前記ストレージシステムは、複数のストレージボリュームを含み、前記サーバは、その上で実行される複数の仮想マシンを含むとともに、前記ストレージボリュームに格納された仮想マシンデータを有するものであり、前記複数の命令は、
前記データプロセッサに、一時停止又は終了された前記サーバ上の仮想マシンを検出させるための命令と、
前記データプロセッサに、前記検出された仮想マシンによって使用される１つ以上のストレージボリュームを識別させるための命令と、
前記識別された１つ以上のストレージボリュームのデータをバックアップするために、前記決定された１つ以上のストレージボリュームのバックアップボリュームを作成するように、前記データプロセッサに、前記ストレージシステムに対して指示させるための命令とを含む、コンピュータ可読記憶媒体。
【請求項１８】
前記ストレージシステムによって作成された前記バックアップボリュームを有する、使用された前記１つ以上のストレージボリュームを備えた一時停止又は終了された仮想マシンについて、当該一時停止又は終了された仮想マシンは、整合性のあるデータでバックアップされ、
前記仮想マシンデータのバックアップは、複数のバックアップ世代について生じており、
前記複数の命令は、前記データプロセッサに、仮想マシン状態管理テーブルを更新させるための命令をさらに含み、当該仮想マシン状態管理テーブルは、前記複数のバックアップ世代に関して前記仮想マシンについての仮想マシン状態を含み、かつどのバックアップ世代がどの仮想マシンの整合性のあるデータを有するかを示すものであり、及び
特定のバックアップ世代についての整合性のあるデータでバックアップされた仮想マシンは、当該特定の世代から復元可能である、請求項１７に記載の前記コンピュータ可読記憶媒体。
【請求項１９】
前記複数の命令は、前記仮想マシンデータを復元するための要求に応じて、前記仮想マシン状態管理テーブルの情報に基づいて復元可能な特定の仮想マシンの仮想マシンデータを復元するための命令を含み、前記命令は、
前記データプロセッサに、前記仮想マシン状態管理テーブルを参照することによって、前記特定の仮想マシンによって使用される１つ以上のボリュームのバックアップのために使用される１つ以上のバックアップボリュームを識別させるための命令と、
前記データプロセッサに、前記特定の仮想マシンの前記仮想マシンデータを復元するための１つ以上のターゲット復元ボリュームを作成させるための命令と、
前記データプロセッサに、前記識別された１つ以上のバックアップボリュームの最も古い仮想マシンデータを、前記１つ以上のターゲット復元ボリュームにコピーさせるための命令と、
それ以上新しい世代がないという状態になるまで、より新しいバックアップ世代のそれぞれについて、前記データプロセッサに、前記１つ以上のバックアップボリュームの仮想マシンデータを前記１つ以上のターゲット復元ボリュームにコピーすることを継続させるようにする命令とを含む、請求項１８に記載のコンピュータ可読記憶媒体。
【請求項２０】
少なくとも１つの仮想マシンは、前記ストレージシステム内の少なくとも２つのボリュームに格納された同じ仮想マシンデータを有し、当該少なくとも２つのボリュームは、特定の仮想マシンのためのコンシステンシーグループに属する当該特定の仮想マシンのための前記同じ仮想マシンデータを格納し、
前記仮想マシン状態管理テーブルは、前記少なくとも１つの仮想マシンのためのコンシステンシーグループ情報を含み、及び
前記複数の命令は、前記ストレージシステム内のどのボリュームがどの仮想マシンのためのコンシステンシーグループに属しているか、かつ前記仮想マシンデータのバックアップ中に同時にバックアップされるか、及びどのバックアップボリュームが前記仮想マシンデータの復元のために使用することができるかを知るために、前記データプロセッサに、前記仮想マシン状態管理テーブルの前記コンシステンシーグループ情報を参照させるようにする命令をさらに含む、請求項１８に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
０００１    本発明は、概して、ストレージシステムのデータバックアップに関し、特に、仮想マシンデータのバックアップに関する。特定の実施形態では、仮想マシン環境のためのバックアップシステムは、外部ストレージサブシステム、特にＳＡＮ（ストレージエリアネットワーク）及びＮＡＳ（ネットワーク接続ストレージ）などのネットワークストレージを使用し、バックアップ方法は、コピー、スナップショットなどの外部ストレージサブシステムの特徴を使用する。
【背景技術】
【０００２】
０００２    外部ストレージサブシステムを使用することによって仮想マシンデータのバックアップを作成するためのいくつかの方法がある。第１の方法は、ボリューム（論理ユニット［ＬＵ］）ベースのコピー／スナップショット技術を使用し、第２の方法は、ファイルベースのコピー／スナップショット技術を使用し、第３の方法は、ＬＢＡベースのコピー／スナップショット技術を使用する。
【０００３】
０００３    第１の方法の問題は、システム管理者がＶＭ（仮想マシン）ベースのバックアップを作成したい時に、仮想マシン環境の構成を制限することである。ＶＭ環境では、各ＶＭイメージデータ（例えば、ＶＨＤ、ＶＭＦＳファイル）は、ＶＭｗａｒｅ、Ｈｙｐｅｒ−Ｖ、Ｘｅｎなどの仮想マシンハイパーバイザプログラムのファイルシステム機能を使用することによって、１つのＳＡＮボリュームに格納することができる。このような場合は、ボリュームベースのバックアップ技術では、各単一のボリュームが複数のＶＭイメージデータを有するので、ＶＭベースのバックアップの作成が可能にならない。ＬＵベースのバックアップの例には、日立シャドーイメージ及びクイックシャドーが含まれる。
【０００４】
０００４    第２の方法は、第１の方法の問題を解決する。このアプローチでは、ストレージサブシステムは、ＮＦＳ（ネットワークファイルシステム）などのネットワークを介してファイルシステム機能を提供する。仮想マシンハイパーバイザプログラムは、ＮＦＳボリュームを見て、各ファイルをＶＭイメージデータ（例えば、ＶＨＤ、ＶＭＦＳ  ファイル）として管理する。ＮＦＳによってサポートされるストレージサブシステムは、ＶＭイメージデータである各ファイルのためにコピー／スナップショットの特徴を有する。これは、ストレージサブシステムの特徴を使用することによって、ＶＭベースのバックアップを可能にする。しかし、ファイルベースのネットワークストレージ（ＮＡＳ）は、ＳＡＮと比較して十分な性能を提供しない。ＮＦＳファイルベースのバックアップの例は、ＮｅｔＡｐｐスナップショットである。
【０００５】
０００５    第３の方法は、第１及び第２の方法の問題を解決する。第３の方法では、仮想マシンハイパーバイザプログラムは、ストレージサブシステムの単一のＳＡＮボリューム上の複数のＶＭイメージデータ（例えば、ＶＨＤ、ＶＭＦＳファイル）のストレージを可能にする。ＶＭベースのバックアップを作成するために、仮想マシンハイパーバイザプログラムは、ストレージサブシステムのコピー／スナップショット機能がコピー／スナップショットを作成するべきであるストレージサブシステムに、ＬＢＡアドレス情報を送信する。仮想マシンハイパーバイザプログラムは、どのＶＭがどのＬＢＡで構成されるかを知っている。しかし、この方法は、仮想マシンハイパーバイザプログラムとストレージサブシステムの間の非常に密な統合を必要とする。第３の方法は、仮想マシンハイパーバイザプログラムとストレージサブシステムの両方によってサポートされる占有技術を伴うので、システム構成を制限する。ＬＢＡベースのバックアップの一例は、アレイインテグレーションのためのVMware vStorage APIである。
【発明の概要】
【０００６】
０００６    本発明の例示的な実施形態は、仮想マシン（ＶＭ）データのバックアップを提供する。本発明は、バックアップシステムを、特にＳＡＮなどの外部ストレージサブシステムを使用する仮想マシン環境におけるバックアップシステムを簡素化する。
【０００７】
０００７    一実施形態では、ＶＭデータのバックアップのためのシステムは、ストレージサブシステムと、サーバと、ネットワークと、管理サーバとを含む。このストレージサブシステムは、ＳＡＮなどのネットワークを介してサーバへのロウボリュームアクセス（論理ユニット）を行う能力を有する。サーバは、サーバ上で１つ以上の仮想マシンを実行する仮想マシン管理システムを含み、ストレージサブシステムの生ボリュームに各ＶＭイメージデータを格納する。ストレージサブシステムは、ストレージサブシステム自身が所有するボリュームコピー／スナップショットの機能を使用することによって、１つ以上のＶＭイメージデータを有する生ボリュームのバックアップボリュームを作成する。ストレージサブシステムは、ストレージサブシステム及び／又は管理サーバがＶＭ一時停止及び／又は終了を検出した場合に、バックアップ手順を実行し得る。管理サーバは、バックアップボリューム世代の各々の各ＶＭ状態を管理する。ＶＭ状態は、バックアップボリュームが作成された時のＶＭ識別子、バックアップ生成番号、及び各ＶＭ状態（一時停止、削除、実行中など）を含む。管理サーバは、ＶＭ状態を参照することによって各復元可能なＶＭイメージを復元する。
【０００８】
０００８    別の環境では、ＶＭデータのバックアップのためのシステムは、ストレージサブシステムと、サーバと、ネットワークと、管理サーバとを含む。ストレージサブシステムは、ＳＡＮなどのネットワークを介してサーバへの生ボリュームアクセス（論理ユニット）を行う能力を有する。サーバは、サーバ上で１つ以上の仮想マシンを実行し、かつストレージサブシステムの生ボリュームに各ＶＭイメージデータを格納する仮想マシン管理システムを含む。また、ストレージサブシステムは、他のデータ格納使用のための１つ以上の仮想マシンに他の生ボリュームを提供する。ストレージサブシステムは、ストレージサブシステム自身が所有するボリュームコピー／スナップショットを使用することによって、１つ以上のＶＭイメージデータを有する生ボリュームのバックアップボリュームを作成する。ストレージサブシステムは、ストレージサブシステム及び／又は管理サーバがＶＭ一時停止及び／又は終了を検出した場合に、バックアップ手順を実行し得る。同時に、ストレージサブシステムはまた、一時停止及び／又は終了されたＶＭが使用する生ボリュームのバックアップボリュームを作成する。管理サーバは、バックアップボリューム世代の各々の各ＶＭ状態を管理する。ＶＭ状態は、バックアップボリュームが作成された時のＶＭ識別子、バックアップ生成番号、生ボリューム識別子、及び各ＶＭ状態（一時停止（suspended）、削除、実行中など）を含む。管理サーバは、ＶＭ状態を参照することによって、各復元可能なＶＭイメージ及び必要な生ボリュームを復元する。
【０００９】
０００９    本発明の一態様は、ネットワークを介してサーバ及び管理サーバに接続されたストレージシステムを含むシステムを対象とする。ストレージシステムは、複数のストレージボリュームを含み。前記サーバは、その上で実行される複数の仮想マシンを含むとともに、前記ストレージボリュームに格納された仮想マシンデータを有する。前記管理サーバは、プロセッサと、メモリと、バックアップ制御モジュールと含む。前記バックアップ制御モジュールは、一時停止又は終了された前記サーバ上の仮想マシンを検出し、前記検出された仮想マシンによって使用される１つ以上のストレージボリュームを識別し、かつ前記識別された１つ以上のストレージボリュームのデータをバックアップするために、前記決定された１つ以上のストレージボリュームのバックアップボリュームを作成するように、前記ストレージシステムに対して指示するように構成されている。
【００１０】
００１０    いくつかの実施形態では、前記ストレージシステムによって作成された前記バックアップボリュームを有する、使用された前記１つ以上のストレージボリュームを備えた一時停止又は終了された仮想マシンについて、当該一時停止又は終了された仮想マシンは、整合性のあるデータでバックアップされる。前記仮想マシンデータのバックアップは、複数のバックアップ世代について生じる。前記バックアップ制御モジュールは、前記メモリに格納された仮想マシン状態管理テーブルを更新するように構成される。当該仮想マシン状態管理テーブルは、前記複数のバックアップ世代に関して前記仮想マシンについての仮想マシン状態を含み、かつどのバックアップ世代がどの仮想マシンの整合性のあるデータを有するかを示すものである。特定のバックアップ世代についての整合性のあるデータでバックアップされた仮想マシンは、当該特定の世代から復元可能である
【００１１】
００１１    特定の実施形態では、前記バックアップ制御モジュールは、前記仮想マシン状態管理テーブルを参照することによって、復元可能な仮想マシンデータを復元するように構成される。特定の仮想マシンの仮想マシンデータを復元するための要求に応じて、前記バックアップ制御モジュールは、前記仮想マシン状態管理テーブルを参照することによって、前記特定の仮想マシンによって使用される１つ以上のボリュームのバックアップのために使用される１つ以上のバックアップボリュームを識別し、前記特定の仮想マシンの前記仮想マシンデータを復元するための１つ以上のターゲット復元ボリュームを作成し、前記識別された１つ以上のバックアップボリュームの最も古い仮想マシンデータを、前記１つ以上のターゲット復元ボリュームにコピーし、かつ、それ以上新しい世代がないという状態になるまで、より新しいバックアップ世代のそれぞれについて、前記１つ以上のバックアップボリュームの仮想マシンデータを前記１つ以上のターゲット復元ボリュームにコピーすることを継続するように構成される。
【００１２】
００１２    いくつかの実施形態では、少なくとも１つの仮想マシンは、前記ストレージシステム内の少なくとも２つのボリュームに格納された同じ仮想マシンデータを有し、当該少なくとも２つのボリュームは、特定の仮想マシンのためのコンシステンシーグループに属する当該特定の仮想マシンのための前記同じ仮想マシンデータを格納する。前記仮想マシン状態管理テーブルは、前記少なくとも１つの仮想マシンのためのコンシステンシーグループ情報を含む。前記バックアップ制御モジュールは、前記ストレージシステム内のどのボリュームがどの仮想マシンのためのコンシステンシーグループに属しているか、かつ前記仮想マシンデータのバックアップ中に同時にバックアップされるか、及びどのバックアップボリュームが前記仮想マシンデータの復元のために使用することができるかを知るために、前記仮想マシン状態管理テーブルの前記コンシステンシーグループ情報を参照するように構成される。
【００１３】
００１３    特定の実施形態では、少なくとも１つの仮想マシンは、前記ストレージシステム内の少なくとも２つのボリュームに格納された同じ仮想マシンデータを有し、当該少なくとも２つのボリュームは、特定の仮想マシンのためのコンシステンシーグループに属する当該特定の仮想マシンのための前記同じ仮想マシンデータを格納する。前記バックアップ制御モジュールは、前記ストレージシステム内のどのボリュームがどの仮想マシンのためのコンシステンシーグループに属しているか、かつ前記仮想マシンデータのバックアップ中に同時にバックアップされるべきかを知るために、ボリュームのコンシステンシーグループをリストするコンシステンシーグループ管理テーブルを参照するように構成される。前記バックアップ制御モジュールは、バックアップを他の媒体に作成するか否かを決定し、ＹＥＳの場合は、前記バックアップボリュームからデータを読み出し、当該データを前記他の媒体に書き込むように構成される。前記サーバ上の仮想マシンと前記ストレージシステムの間のストレージＩ／Ｏ（入出力）が切断されたことが検出された場合、前記仮想マシンは一時停止又は終了される。
【００１４】
００１４    本発明の別の態様は、ネットワークを介してサーバ及び管理サーバに接続されたストレージシステムを含むシステムにおけるバックアップ制御方法を対象とし、当該ストレージシステムは、複数のストレージボリュームを含み、前記サーバは、その上で実行される複数の仮想マシンを含むとともに、前記ストレージボリュームに格納された仮想マシンデータを有する。このバックアップ制御方法は、一時停止又は終了された前記サーバ上の仮想マシンを検出することと、前記検出された仮想マシンによって使用される１つ以上のストレージボリュームを識別することと、前記識別された１つ以上のストレージボリュームのデータをバックアップするために、前記決定された１つ以上のストレージボリュームのバックアップボリュームを作成するように、前記ストレージシステムに対して指示することとを含む。
【００１５】
００１５    本発明の別の態様は、ネットワークを介してサーバ及び管理サーバに接続されたストレージシステムを含むシステムにおいて仮想マシンデータのバックアップを制御するためのデータプロセッサを制御する複数の命令を格納するコンピュータ可読記憶媒体を対象とし、前記ストレージシステムは、複数のストレージボリュームを含み、前記サーバは、その上で実行される複数の仮想マシンを含むとともに、前記ストレージボリュームに格納された仮想マシンデータを有する。前記複数の命令は、前記データプロセッサに、一時停止又は終了された前記サーバ上の仮想マシンを検出させるための命令と、前記データプロセッサに、前記検出された仮想マシンによって使用される１つ以上のストレージボリュームを識別させるための命令と、前記識別された１つ以上のストレージボリュームのデータをバックアップするために、前記決定された１つ以上のストレージボリュームのバックアップボリュームを作成するように、前記データプロセッサに、前記ストレージシステムに対して指示させるための命令とを含む。
【００１６】
００１６    本発明の上記及びその他の特徴及び効果は、特定の実施形態についての以下の詳細な説明を考慮することにより、当業者にとって明らかとなるであろう。
【図面の簡単な説明】
【００１７】
【図１】００１７    図１は、本発明の方法及び装置が適用され得る情報システムのハードウェア構成の一例を示す。
【図２】００１８    図２は、図１のストレージサブシステムのソフトウェア構成の一例を示す。
【図３】００１９    図３は、図１のサーバのソフトウェア構成の一例を示す。
【図４】００２０    図４は、図１の管理サーバのソフトウェア構成の一例を示す。
【図５】００２１    図５は、図１の情報システムの論理システム構成の一例を示す。
【図６】００２２    図６は、図４のＶＭ状態管理テーブルの一例を示す。
【図７】００２３    図７は、図４のバックアップ制御のバックアッププロセスの流れ図の一例を示す。
【図８】００２４    図８は、図４のバックアップ制御３０２−０２のデータを復元するためのプロセスの流れ図の一例を示す。
【図９】００２５    図９は、ストレージサブシステムのボリューム内のＶＨＤ（仮想ハードディスク）ファイルにおけるＶＭ一時停止を検出するための論理システム構成の一例を示す。
【図１０】００２６    図１０は、ストレージサブシステムのボリュームとしての生デバイスにおけるＶＭ一時停止を検出するための論理システム構成の一例を示す。
【図１１】００２７    図１１は、ＶＭからのログアウトメッセージに応じたＩ／Ｏ制御によるバックアッププロセスを示す流れ図の一例を示す。
【図１２】００２８    図１２は、データボリュームバックアップを実行するための論理システム構成の一例を示す。
【図１３】００２９    図１３は、コンシステンシーグループ管理テーブルの一例を示す。
【図１４】００３０    図１４は、コンシステンシーグループを考慮したＶＭ状態管理テーブルの一例を示す。
【発明を実施するための形態】
【００１８】
００３１    以下の本発明についての詳細な説明では、開示の一部を成すとともに、それによって本発明が実施され得る例示的実施形態が実例として（但し限定ではない）示される、添付の図面を参照する。当該図面において、類似の数字は、いくつかの図面を通してほぼ同様の構成要素を示すものである。また、留意すべき点として、詳細な説明では様々な例示的実施形態を提供する（以下に説明し、かつ図面で示される通り）が、本発明は本明細書において説明されかつ示される実施形態に限定されず、当業者が知っているであろう又は知るようになり得るその他の実施形態にも及び得る。本明細書における「一実施形態」、「本実施形態」、又は「上述の実施形態」の言及は、当該実施形態に関連して説明される特定の特性、構造又は特徴が、本発明の少なくとも一つの実施形態に含まれることを意味し、本明細書の様々な箇所において上記文言が使用されていても、必ずしもすべてが同一の実施形態を言及するものではない。さらに、以下の詳細な説明において、本発明を徹底して理解できるように、多くの具体的な詳細が記載されている。但し、本発明を実施するためにこれらの具体的な詳細すべてが必要なわけではないことは、当業者にとって明らかであろう。他の状況では、本発明を不必要に曖昧にしないように、周知の構造、材料、回路、プロセス及びインタフェースの詳細については説明しておらず、かつ／又はブロック図において図示している場合もある。
【００１９】
００３２    さらに、以下の詳細な説明の一部は、コンピュータ内のオペレーションのアルゴリズム及び象徴的な態様に関して示されている。これらのアルゴリズム記述及び象徴的な態様は、データ処理分野の当業者がその新しいアイディアのエッセンスを最も効果的に他の当業者に伝えるために使用する手段である。アルゴリズムとは、望ましい最終状態又は結果へと導く一連の定義されたステップである。本発明において、実施されるステップは、具体的な結果を達成するための相当量の物理的操作を必要とする。通常は（必ずしもそうではないが）、当該数量は、格納、転送、組み合わせ、比較、その他の操作が可能な電気もしくは磁気信号又は命令の形態を取る。主に一般的な使用のために、上記の信号をビット、値、要素、記号、文字、用語、数字、命令等として言及することが時として便利であることが証明されている。但し、上記の及び類似の用語のすべてが、適切な物理数量に関連付けられるものであり、かつ当該数量に適用される単に便利なラベルであることを留意すべきである。別段の記載がない限り、以下の解説から明らかなように、当然のことながら説明全体を通して、「処理」、「演算」、「計算」、「判断」、「表示」等の用語を用いた解説は、コンピュータシステムのレジスタ及びメモリ内の物理的（電子的）数量として表わされるデータを、コンピュータシステムのメモリもしくはレジスタ又はその他の情報記憶、送信もしくは表示装置の中の物理的数量として同様に表わされるその他のデータに操作しかつ変換する、コンピュータシステム又はその他の情報処理装置の動作又はプロセスを含み得る。
【００２０】
００３３    本発明は、本明細書における動作を実施する装置にも関する。この装置は、必要とされる目的のために特別に構築してもよく、又は一つ以上のコンピュータプログラムによって選択的に起動又は再構成された一つ以上の汎用コンピュータを含み得る。当該コンピュータプログラムは、光ディスク、磁気ディスク、読取専用記憶装置（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ソリッドステート装置及びドライブ、又は電子情報の格納に適したその他の種類の媒体等（但し、これらに限定されない）のコンピュータ読取可能記憶媒体に格納され得る。本明細書において示されるアルゴリズム及び情報提示は、特定のコンピュータ又はその他の装置に本質的に関係しているわけではない。様々な汎用システムを、本明細書における教示に従ってプログラム及びモジュールと共に使用してもよく、又は望ましい方法ステップを実施するためにより特化した装置を構築することが都合がよいということが判明するかもしれない。さらに、本発明は、特定のプログラミング言語を参照して説明されてはいない。当然のことながら、本明細書に記載されている通りに本発明の教示を実施するために、様々なプログラミング言語を使用してもよい。プログラミング言語の命令は、一つ以上の処理装置、例えば中央処理装置（ＣＰＵ）、プロセッサ、又はコントローラによって実行され得る。
【００２１】
００３４    以下により詳細に示す本発明の例示的実施形態は、仮想マシンデータのバックアップのための装置、方法、及びコンピュータプログラムを提供する。
【００２２】
００３５    システム構成
【００２３】
００３６    図１は、本発明の方法及び装置が適用され得る情報システムのハードウェア構成の一例を例示する。これは、ストレージサブシステム１００と、１つ以上のサーバ２００（２００ａ、２００ｂ）と、管理サーバ３００と、ネットワーク４００とを含む。ストレージサブシステム１００は、ＳＡＮ（ストレージエリアネットワーク）を介してサーバ２００にストレージボリュームサービスを提供する能力を有する。サーバ２００は、物理サーバ２００が１つ以上の仮想マシンを実行することを可能にする仮想マシン管理プログラムを実行する。その一例は、ＶＭｗａｒｅ、Ｈｙｐｅｒ−Ｖである。管理サーバ３００は、バックアップを制御し、かつ構成要素の各々のデータを復元する能力を有する。各構成要素は、ネットワーク４００を介して接続される。ネットワーク４００は、イーサネット（登録商標）、ファイバチャネルなどであってもよい。ネットワーク４００は、ＬＡＮ（ローカルエリアネットワーク）及びＳＡＮなどの複数のネットワークに分割することができる。
【００２４】
００３７    ストレージサブシステム１００は、ストレージコントローラ１１０、デバイスユニット１２０と、インタフェースコントローラ１３０と、内部バス１４０とを有する。ストレージコントローラ１１０は、ＣＰＵ１１１と、図２に示されるソフトウェアプログラムを格納かつ実行するためのＲＡＭ（ランダムアクセスメモリ）１１２とを有する。デバイスユニット１２０は、ＳＣＳＩ/ＲＡＩＤ（Redundant Array of Inexpensive Disks）コントローラ１２１と、デジタルデータを格納するためのＨＤＤ（ハードディスクドライブ）及び／又はＳＳＤ（ソリッドステートドライブ）などの記憶装置とを有する。インタフェースコントローラ１３０は、イーサネット（登録商標）ポート及び／又はファイバチャネルポートなどの１つ以上のネットワークコントローラ（ＮＣ）を有する。１つ以上のストレージボリュームは、ＲＡＩＤで保護された記憶装置から作成することができ、これらのストレージボリュームは、ファイバチャネル、ｉＳＣＳＩ、ＦＣｏＥ（FC over Ethernet（登録商標））などのストレージアクセスプロトコルを使用することによって、露出することができる。
【００２５】
００３８    図２は、オペレーティングシステム１１２−０１を含むストレージサブシステム１００のソフトウェア構成の一例を示す。論理ボリューム制御１１２−０２、Ｉ／Ｏ制御１１２−０３、及びボリューム管理テーブル１１２−０４は、ストレージボリュームサービス（ＦＣ、ｉＳＣＳＩ、ＦＣｏＥなど）をサーバ２００に提供するために使用される。コピー制御１１２−０５、スナップショット制御１１２−０６、及びＣＤＰ（連続データ保護）制御１１２−０７は、論理ボリュームの複製及びスナップショットを作成するために使用される（ストレージサブシステム１００内だけでなく、複数のストレージサブシステムの間でも）。コンシステンシーグループ管理テーブル１１２−０８は、論理ボリュームグループを管理するために使用される。バックアップ操作が複数の論理ボリュームの間のデータ整合性に注意しなければならない場合は、これらの論理ボリュームは、同じコンシステンシーグループに属する。
【００２６】
００３９    図３は、オペレーティングシステム２０２−０１を含むサーバ２００のソフトウェア構成の一例を示す。ＶＭＭ２０２−０２（仮想マシンマネージャ）は、サーバ２００が１つ以上の仮想マシン（ＶＭｗａｒｅ、Ｈｙｐｅｒ−Ｖなど）を実行することを可能にするハイパーバイザプログラムとして見なされる。
【００２７】
００４０    図４は、オペレーティングシステム３０２−０１を含む管理サーバ３００のソフトウェア構成の一例を示す。バックアップ制御３０２−０２は、サーバ２００及びストレージサブシステム１００での仮想マシンを考慮したバックアップ操作を管理する。ＶＭ状態管理テーブル３０２−０３は、ＶＭバックアップデータの状態を管理する。ＶＭが一時停止された時に（一切のＩ／Ｏ、即ちメモリ上の一切のダーティデータは、復旧可能ではあり得ないＶＭデータがバックアップされる場合、状態は「Ｘ」として示される（図６を参照）。
【００２８】
００４１    ＶＭバックアップ（ＶＨＤ）
【００２９】
００４２    図５は、図１の情報システムの論理システム構成の一例を示す。ストレージサブシステム１００は、ＦＣ、ｉＳＣＳＩ、ＦＣｏＥなどのストレージアクセスプロトコルを使用することによって、サーバ２００ａ及び２００ｂに論理ボリューム１５１を提供する。サーバ２００は、仮想マシン２０３（サーバ２００ａ上の２０３ａ−１及び２０３ａ−２と、サーバ２００ｂ上の２０３ｂ−１、２０３ｂ−２、２０３ｂ−３とを含む）をホストするためにＶＭＭを実行する。各ＶＭデータは、ボリューム１５１に格納されている。コピー／スナップショット／ＣＤＰ制御１１２−０６／０７／０８は、各ＶＭデータのバックアップデータを作成するために使用される。管理サーバ３００は、バックアップ制御３０２−０２及びＶＭ状態管理テーブル３０２−０３を使用してバックアップ操作を制御する。
【００３０】
００４３    バックアップ制御３０２−０２は、ボリューム１５１（以下「バックアップボリューム」という）のコピー／スナップショット／ＣＤＰ復元ポイントを作成するように、ストレージサブシステム１００に指示する。バックアップボリュームが作成される時、いくつかのＶＭは、データ整合性を保証するために、一時停止又はキルされる。ＶＭがデータ整合性を伴ってバックアップされる場合、このＶＭは、適切に復元可能となる。
【００３１】
００４４    図６は、図４のＶＭ状態管理テーブル３０２−０３の一例を示す。これは、バックアップボリュームの世代＃１が作成された時に、例えば、ＶＭ２０３ａ−２が一時停止されたことを示す。これはまた、世代＃５が作成された時に、例えば、ＶＭ２０３ａ−２及び２０３ｂ−２が一時停止されたことを示す。バックアップ制御３０２−０２は、ストレージサブシステム１００に対して、バックアップボリュームを作成するように指示するだけでなく、サーバ２００に対して、指定されたＶＭを一時停止させるように指示する。あるいは、バックアップ制御３０２−０２は、いくつかのＶＭが既に一時停止されているという状況を検出した場合、ストレージサブシステム１００に対して、バックアップボリュームを作成するように指示することができる。
【００３２】
００４５    図７は、図４のバックアップ制御３０２−０２のバックアッププロセスの流れ図の一例を示す。ステップ３０２−０２−ａ１０では、プログラムは、特定のＶＭ一時停止又は終了を検出する（検出されたＶＭ−Ｂ）。ステップ３０２−０２−ａ１１では、プログラムは、検出されたＶＭ−Ｂによって使用されたストレージを決定する（決定されたＶＯＬ−Ｂ）。ステップ３０２−０２−ａ１２では、プログラムは、コピー／スナップショット/ＣＤＰ制御１１２−０６／０７／０８を使用して、決定されたＶＯＬ−Ｂのバックアップボリュームを作成するように、ストレージサブシステム１００に対して指示する。ステップ３０２−０２−ａ１３では、プログラムは、ＶＭ状態管理テーブル３０２−０３を更新する。ステップ３０２−０２−ａ１４では、プログラムは、他の媒体にバックアップを作成するか否かを決定する。ＹＥＳの場合は、プログラムは、ステップ３０２−０２−ａ１５で、ＶＯＬ−Ｂのバックアップボリュームを読み出し、データを他の媒体に書き込む。ＮＯの場合は、プロセスは終了する。
【００３３】
００４６    管理者がＶＭのデータを復元したい場合に、管理者は、どの世代がどのＶＭの整合性のあるデータを有しているかを知るために、ＶＭ状態管理テーブル３０２−０３を参照することができる。管理者がＶＭ２０３ａ−２を復元したい場合は、例えば、管理者は、図６のテーブル３０２−０３の情報に基づいて世代＃１及び＃５を使用することができる。管理者が世代＃１を使用してボリューム１５１の複製を作成すると、管理者は、複製されたボリューム１５１から整合性のあるＶＭ２０３ａ−２データを取得することができる。この複製ボリューム１５１は、２０３ａ−１及び２０３ｂ−１、２、３などの他のＶＭのための整合性のあるデータを有しない。
【００３４】
００４７    図８は、図４のバックアップ制御３０２−０２のデータを復元するためのプロセスの流れ図の一例を示す。ステップ３０２−０２−ｂ１０では、管理者は、バックアップ制御３０２−０２に、どのＶＭを復元するか（復元されるＶＭ−Ｒ）を知らせる。ステップ３０２−０２−ｂ１１では、プログラムは、ＶＭ−Ｒのバックアップのために使用されるバックアップボリューム（ＶＯＬ−Ｒ）を決定する。ステップ３０２−０２−ｂ１２では、プログラムは、ＶＭ−Ｒを復元するためのターゲット復元ボリューム（ＶＯＬ−ＲＲ）を作成する。ステップ３０２−０２−ｂ１３では、プログラムは、最も古いＶＯＬ−ＲデータをＶＯＬ−ＲＲにコピーする。ステップ３０２−０２−ｂ１４では、プログラムは、より新しい世代が存在するか否かを判断する。ＹＥＳの場合は、プログラムは、ステップ３０２−０２−ｂ１３に戻る。ＮＯの場合は、プロセスは終了する。
【００３５】
００４８    ＶＭ一時停止
【００３６】
００４９    一時停止されたＶＭは、ストレージＩ／Ｏを発行しない。さらに、それは、ダーティデータをメモリに残さないが、当該データを記憶装置に格納する。一時停止されたＶＭのバックアップは、ＶＭのデータが復元可能であることを意味する。
【００３７】
００５０    どのＶＭが一時停止されている（停止されている）かを知るための複数の方法がある。一般的な方法の１つは、ＶＭ管理サーバからＶＭ状態を取得することである。別の方法は、ストレージＩ／Ｏ状態（接続の有無）を取得することである。そのために、本発明の実施形態は、各ＶＭ上の仮想ネットワークコントローラ、及び各ＶＭのストレージＩ／Ｏセッションデータを使用する。
【００３８】
００５１    ＮＰＩＶは、各ＶＭが、自身のＷＷＮ（ワールドワイドネーム）を有することを可能にする。ＷＷＮは、各仮想ネットワークコントローラの識別のために使用される。例えば、図９及び図１０は、図９ではボリューム１５１のＶＨＤ（仮想ハードディスク）ファイルにおいて、図１０の生デバイス（ボリューム１５２−１５６）において、ＶＭ一時停止を検出するための論理システム構成の例を示す。ＶＭ２０３ａ−１は、ｖＮＣ−ａ（仮想ネットワークコントローラ）を有し、ｖＮＣ−ａは、仮想ＷＷＮ（ＮＰＩＶ）を使用することによって識別することができる。サーバ２００ａがファイバチャネルプロトコル又はＦＣｏＥプロトコルを使用してストレージサブシステム１００に接続する時に、ＷＷＮを使用することができる。サーバ２００ａがストレージサブシステム１００から切断する時に、ストレージサブシステム１００（並びに管理サーバ３００及びネットワーク４００）は、サーバ２００ａからログアウトメッセージを検出することができ、これは、仮想ネットワークコントローラＩＤ（ＷＷＮ）によって識別することができる。サーバ２００ａがｉＳＣＳＩを使用する場合、ｖＮＣ−ａは、ＩＤとして、ＩＰアドレス、ＭＡＣアドレス、ｉＳＣＳＩネームを有する。
【００３９】
００５２    ストレージサブシステム１００（並びに管理サーバ３００及びネットワーク４００）が特定のＶＭからログアウトメッセージを検出した場合に、これは、ＶＭが一時停止している（データは整合性があり、復元可能である）ことを示すと見なすことができる。バックアップ制御３０２−０２は状態を知り、ＶＭのデータが存在するボリュームのバックアップの作成を開始する。図１１は、ＶＭからのログアウトメッセージに応じたＩ／Ｏ制御１１２−０３によるバックアッププロセスを示す流れ図の一例を示す。ステップ１１２−０３−ａ１０では、プログラムは、サーバ２００上のＶＭからログアウトメッセージを検出する。ステップ１１２−０３−ａ１２では、プログラムは、管理サーバ３００にＶＭ  ＩＤを送信する（ＷＷＮ、ＩＰ／ＭＡＣアドレス、ｉＳＣＳＩネームなど）。このようにして、ストレージサブシステム１００は、いつログアウトメッセージが発生し、いつバックアップボリュームが作成されるべきで、よってそのＶＭが復元可能であるかを知っている。
【００４０】
００５３    データボリュームバックアップ
【００４１】
００５４    図１２は、データボリュームバックアップを実行する論理システム構成の一例を示す。ストレージサブシステム１００は、ボリューム１５１内のＶＨＤファイルと、追加のボリューム１５７−１５９と、コンシステンシーグループ管理テーブル１１２−０８とを有する。この場合、ＶＭ２０３ａ−１はボリューム１５７にも接続し、ＶＭ２０３ａ−２はボリューム１５８にも接続し、ＶＭ２０３ｂ−１はボリューム１５９にも接続する。これらのＶＭは、アプリケーションデータボリュームとしてこれらの他のボリュームを使用する（例えば、ＯＳ及びアプリケーションプログラムはボリューム１５１のＶＨＤファイルに格納されるが、ユーザ／アプリケーションデータは、ボリューム１５７／１５８／１５９に格納される）。
【００４２】
００５５    図１３は、グループＩＤ欄及びボリュームＩＤ欄を有するコンシステンシーグループ管理テーブル１１２−０８の一例を示す。上述のように、コンシステンシーグループ管理テーブル１１２−０８の１行目に見られるように（コンシステンシーグループＩＤ１）、ＶＭ２０３ａ−１は、ボリューム１５１（ＶＨＤファイルを含む）及びボリューム１５７を使用する。ＶＭ２０３ａ−１が一時停止された場合に、バックアップ制御３０２−０２は、ボリューム１５１だけでなくボリューム１５７にもバックアップデータを同時に作成すべきである。バックアップ制御３０２−０２は、どのボリュームを同時にバックアップすべきかを知るために、コンシステンシーグループ管理テーブル１１２−０８を参照する。
【００４３】
００５６    図１４は、コンシステンシーグループを考慮したＶＭ状態管理テーブル３０２−０３の一例を示す。図６と比べて、図１４のテーブルは、ＶＯＬ  ＩＤ欄の下にコンシステンシーグループデータを含む（例えば、世代１及び５について（１５１、１５８）、世代３及び４について（１５１、１５９）、及び世代７について（１５１、１５７））。このように、管理サーバ３００は、ストレージシステムのどのボリュームがどの仮想マシンのためのコンシステンシーグループに属しているか、かつ仮想マシンデータのバックアップ中に同時にバックアップされるか、及びどのバックアップボリュームが仮想マシンデータの復元のために使用することができるかを知る。
【００４４】
００５７    当然のことながら、図１、図５、図９、図１０及び図１２に示すシステム構成は、本発明が実施され得る情報システムの単なる例示であり、本発明は特定のハードウェア構成に限定されない。本発明を実施するコンピュータ及びストレージシステムは、上述の発明を実施するために用いられるモジュール、プログラム及びデータ構造を格納しかつ読み出すことができる公知のＩ／Ｏ装置（例えば、ＣＤ及びＤＶＤドライブ、フロッピーディスク（登録商標）ドライブ、ハードドライブ等）も有し得る。これらのモジュール、プログラム及びデータ構造は、当該コンピュータ読取可能媒体上で符号化することができる。例えば、本発明のデータ構造は、本発明で使用されるプログラムが存在する一つ以上のコンピュータ読取可能媒体から独立したコンピュータ読取可能媒体に格納することができる。システムの構成要素は、あらゆる形態又は媒体のデジタルデータ通信（例えば、通信ネットワーク）によって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク、ワイドエリアネットワーク（例えば、インターネット）、無線ネットワーク、ストレージエリアネットワーク等を含む。
【００４５】
００５８    説明では、本発明を徹底的に理解できるようにするために説明する目的で多くの詳細が記載されている。しかし、当業者にとっては、本発明を実施するためにはこれら具体的な詳細のすべてが必要なわけではないことは明らかであるだろう。また、留意すべき点として、本発明は、通常はフローチャート、流れ図、構成図又はブロック図として記載されるプロセスとして説明されてもよい。フローチャートでは動作を逐次プロセスとして説明し得るが、動作の多くは並行して又は同時に実行することができる。さらに、動作の順番は並び替えてもよい。
【００４６】
００５９    当技術分野では周知であるように、上述の動作は、ハードウェア、ソフトウェア、又はソフトウェアとハードウェアの組み合わせによって実行することができる。本発明の実施形態の様々な態様は、回路や論理装置（ハードウェア）を用いて実施してよく、その一方で、その他の態様は、機械読み取り可能媒体（ソフトウェア）上に記憶された命令を用いて実施してもよく、これがプロセッサによって実行された場合には、本発明の実施形態を実行する方法をプロセッサに実施させるものである。さらに、本発明のいくつかの実施形態は、ハードウェアのみにおいて実施されてよく、その他の実施形態は、ソフトウェアのみで実施されてよい。さらに、説明された様々な機能は、一つのユニットで実施することができ、又はあらゆる方法によって多くの構成要素に分散することができる。ソフトウェアによって実施された場合、上記の方法は、コンピュータ読取可能媒体に記憶された命令に基づいて、汎用コンピュータなどのプロセッサによって実行され得る。望ましい場合には、圧縮及び／又は暗号化形式で命令を媒体に記憶することができる。
【００４７】
００６０    上記により、本発明が、仮想マシンデータのバックアップの方法、装置及びコンピュータ読取可能媒体に記憶されたプログラムを提供するものであることが明らかであろう。さらに、本明細書において特定の実施形態が示され説明されているが、当業者にとって当然のことながら、開示された特定の実施形態の代わりに、同じ目的を達成するために創出されたいかなる構成を用いてもよい。本開示は、本発明のあらゆる適応又はバリエーションを対象とすることを意図したものであり、また以下の請求項で用いられる用語は、本発明を本明細書で開示されている特定の実施形態に限定するものとは解釈されるべきではないことが理解される。むしろ本発明の範囲は、以下の請求項によって全面的に判断されるものであり、以下の請求項は、当該請求項が権利を有する同等物の範囲全体と共に、請求項の解釈について確立された原則に従って解釈されるものである。
【図１】
2012064196.tif 000003
【図２】
2012064196.tif 000004
【図３】
2012064196.tif 000005
【図４】
2012064196.tif 000006
【図５】
2012064196.tif 000007
【図６】
2012064196.tif 000008
【図７】
2012064196.tif 000009
【図８】
2012064196.tif 000010
【図９】
2012064196.tif 000011
【図１０】
2012064196.tif 000012
【図１１】
2012064196.tif 000013
【図１２】
2012064196.tif 000014
【図１３】
2012064196.tif 000015
【図１４】
2012064196.tif 000016
【外国語明細書】
2012064196000001.pdf