(57)【特許請求の範囲】
【請求項１】
仮想化サーバーコンピュータシステム上で実行される仮想マシンのバックアップを行うために実行可能なプログラム命令を保存するコンピュータアクセス可能な非一時的ストレージ媒体であって、
前記プログラム命令は、コンピュータに、
前記仮想マシンの仮想ディスクイメージファイルの第１スナップショットを前記仮想化サーバーコンピュータシステムに結合されたＮＡＳ（Ｎｅｔｗｏｒｋ−Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）装置上に生成するように要求するステップであって、前記仮想ディスクイメージファイルは、前記仮想マシンによって使用される複数のファイルを保存しており、前記仮想ディスクイメージファイル及び前記第１スナップショットは、前記ＮＡＳ装置上のファイルシステムボリューム内に保存される、ステップと、
前記ファイルシステムボリュームのボリュームスナップショットを前記ＮＡＳ装置上に生成するように要求するステップと、
前記ＮＡＳ装置上の前記ボリュームスナップショットにアクセスするべく使用可能なアクセス情報を受信するステップと、
前記ボリュームスナップショットが生成された後に、前記仮想ディスクイメージファイルの前記第１スナップショットを解放するように要求するステップと、
前記第１スナップショットを解放するように要求した後に、前記ボリュームスナップショットを使用し、前記仮想ディスクイメージファイルを前記仮想化サーバーコンピュータシステムを通じて転送することなしに前記仮想ディスクイメージファイルを前記ＮＡＳ装置からバックアップストレージ装置にバックアップするステップと、
前記仮想ディスクイメージファイル内における前記複数のファイルのうちの特定のファイルの場所を規定するマッピング情報を生成するステップと、
前記複数のファイルのうちの前記特定のファイルを前記バックアップストレージ装置上の前記仮想ディスクイメージファイルから特定のコンピュータシステムに回復するための要求を受信するステップと、
前記マッピング情報を使用して、前記特定のファイルを前記バックアップストレージ装置上の前記仮想ディスクイメージファイルから抽出するステップと、
前記特定のファイルを前記特定のコンピュータシステムに転送して、前記特定のコンピュータシステムが前記仮想ディスクイメージファイル全体をマウントすることなく前記特定のファイルを回復可能とするステップと、
を実行させる、コンピュータアクセス可能な非一時的ストレージ媒体。
【請求項２】
前記プログラム命令は、前記コンピュータに、
前記マッピング情報を前記バックアップストレージ装置上に保存するステップ
を更に実行させる、請求項１に記載のコンピュータアクセス可能な非一時的ストレージ媒体。
【請求項３】
前記仮想ディスクイメージファイルは、
ＶＭＤＫ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｄｉｓｋ  Ｆｏｒｍａｔ）ファイルと、
ＶＨＤ（Ｖｉｒｔｕａｌ  Ｈａｒｄ  Ｄｉｓｋ）ファイルと、
のうちのいずれかである請求項１に記載のコンピュータアクセス可能な非一時的ストレージ媒体。
【請求項４】
前記プログラム命令は、前記コンピュータに、
前記ＮＡＳ装置と通信し、前記ボリュームスナップショットのデータを前記コンピュータに転送するステップと、
前記バックアップストレージ装置と通信し、前記ボリュームスナップショットの前記データを前記バックアップストレージ装置に転送するステップと、
を更に実行させる、請求項１に記載のコンピュータアクセス可能な非一時的ストレージ媒体。
【請求項５】
前記プログラム命令は、前記コンピュータに、
前記ＮＡＳ装置と通信し、前記ＮＡＳ装置により、前記ボリュームスナップショットのデータを前記コンピュータを通じて転送することなしに前記データを前記バックアップストレージ装置に転送するステップ
を更に実行させる、請求項１に記載のコンピュータアクセス可能な非一時的ストレージ媒体。
【請求項６】
仮想化サーバーコンピュータシステムと、
プロキシバックアップサーバーコンピュータシステムと、
前記仮想化サーバーコンピュータシステムに結合されたＮＡＳ（Ｎｅｔｗｏｒｋ−Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）装置と、
バックアップストレージ装置と、
を有するシステムであって、
前記プロキシバックアップサーバーコンピュータシステムは、
前記仮想化サーバーコンピュータシステム上で実行される仮想マシンの仮想ディスクイメージファイルの第１スナップショットを前記ＮＡＳ装置上に生成するように要求するステップであって、前記仮想ディスクイメージファイルは、前記仮想マシンによって使用される複数のファイルを保存しており、前記仮想ディスクイメージファイル及び前記第１スナップショットは、前記ＮＡＳ装置上のファイルシステムボリューム内に保存される、ステップと、
前記ファイルシステムボリュームのボリュームスナップショットを前記ＮＡＳ装置上に生成するように要求するステップと、
前記ＮＡＳ装置上の前記ボリュームスナップショットにアクセスするべく使用可能なアクセス情報を受信するステップと、
前記ボリュームスナップショットが生成された後に、前記仮想ディスクイメージファイルの前記第１スナップショットを解放するように要求するステップと、
前記第１スナップショットを解放するように要求した後に、前記ボリュームスナップショットを使用し、前記仮想ディスクイメージファイルを前記仮想化サーバーコンピュータシステムを通じて転送することなしに前記仮想ディスクイメージファイルを前記ＮＡＳ装置から前記バックアップストレージ装置にバックアップするステップと、
前記仮想ディスクイメージファイル内における前記複数のファイルのうちの特定のファイルの場所を規定するマッピング情報を生成するステップと、
前記複数のファイルのうちの前記特定のファイルを前記バックアップストレージ装置上の前記仮想ディスクイメージファイルから特定のコンピュータシステムに回復するための要求を受信するステップと、
前記マッピング情報を使用して、前記特定のファイルを前記バックアップストレージ装置上の前記仮想ディスクイメージファイルから抽出するステップと、
前記特定のファイルを前記特定のコンピュータシステムに転送して、前記特定のコンピュータシステムが前記仮想ディスクイメージファイル全体をマウントすることなく前記特定のファイルを回復可能とするステップと、
を実行する、システム。
【請求項７】
前記プロキシバックアップサーバーコンピュータシステムは、
前記マッピング情報を前記バックアップストレージ装置上に保存するステップ
を更に実行する、請求項６に記載のシステム。
【請求項８】
前記仮想ディスクイメージファイルは、
ＶＭＤＫ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｄｉｓｋ  Ｆｏｒｍａｔ）ファイルと、
ＶＨＤ（Ｖｉｒｔｕａｌ  Ｈａｒｄ  Ｄｉｓｋ）ファイルと、
のうちのいずれか１つである請求項６に記載のシステム。
【請求項９】
前記プロキシバックアップサーバーコンピュータシステムは、
前記ＮＡＳ装置と通信し、前記ボリュームスナップショットのデータを前記プロキシバックアップサーバーコンピュータシステムに転送するステップと、
前記バックアップストレージ装置と通信し、前記ボリュームスナップショットの前記データを前記バックアップストレージ装置に転送するステップと、
を更に実行する、請求項６に記載のシステム。
【請求項１０】
前記プロキシバックアップサーバーコンピュータシステムは、
前記ＮＡＳ装置と通信し、前記ＮＡＳ装置により、前記ボリュームスナップショットのデータを前記プロキシバックアップサーバーコンピュータシステムを通じて転送することなしに前記データを前記バックアップストレージ装置に転送するステップ
を更に実行する、請求項６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムのためのデータバックアップソフトウェアに関する。更に詳しくは、本発明は、仮想マシンによって使用される仮想ディスクイメージファイルをバックアップするシステム及び方法に関する。
【背景技術】
【０００２】
仮想コンピュータとも呼ばれる仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ：ＶＭ）は、実際の装置のようにプログラムを実行する装置（コンピュータ）のソフトウェア実装である。仮想化は、複数の仮想マシンが同一の物理的コンピュータ上において一緒に実行する能力をもたらす。それぞれの仮想マシンは、独自のオペレーティングシステムを実行してもよく、従って、その仮想マシンのユーザーからは、独立した物理的コンピュータと同様に見えることになる。物理的なコンピュータ上において実行すると共に様々な仮想マシンを管理するソフトウェアレイヤをハイパーバイザ又は仮想マシンホストソフトウェアと呼んでいる。仮想マシンホストソフトウェアは、ハードウェア上において直接実行することも可能であり（これは、タイプ１又はネイティブＶＭと呼ばれる）、或いは、オペレーティングシステムの制御下において実行することも可能である（これは、タイプ２又はホストティング型ＶＭと呼ばれる）。
【０００３】
ユーザーは、物理的なコンピュータとやり取りするのと同様に、仮想マシンとやり取りしてもよい。例えば、様々なソフトウェアアプリケーションを仮想マシンにインストールしてもよく、従って、仮想マシンによれば、ユーザーは、ソフトウェアアプリケーションが物理的コンピュータ上において実行しているのとまったく同様に、ソフトウェアアプリケーションを起動し、入力をソフトウェアアプリケーションに供給し、ソフトウェアアプリケーションからの出力を閲覧することができよう。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
物理的なコンピュータシステムがファイルを使用するのとまったく同様に、仮想マシンも、オペレーティングシステムファイル、アプリケーションソフトウェアファイル、及びデータファイルなどの様々なファイルを使用する。仮想マシンによって使用されるファイルをバックアップすることが、しばしば、必要とされ、或いは、望ましい。仮想マシンのファイルのバックアップは、消失及び破壊からデータを保護するのに有用であり、且つ、バックアップすることにより、例えば、以前の時点において存在していた状態に仮想マシンをロールバックするためなど、必要に応じて、仮想マシンの以前の状態を回復することをも可能となる。
【課題を解決するための手段】
【０００５】
本明細書には、仮想化サーバーコンピュータ上において実行中の仮想マシンをバックアップするシステム及び方法の様々な実施形態が記述されている。この方法のいくつかの実施形態は、仮想マシンの仮想ディスクイメージファイルのスナップショットを仮想化サーバーコンピュータに結合されたＮＡＳ（Ｎｅｔｗｏｒｋ−Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）装置上において生成するように要求するステップを含んでもよい。仮想ディスクイメージファイルは、仮想マシンによって使用される複数のファイルを保存してもよい。本方法は、ＮＡＳ装置上のスナップショットにアクセスするべく使用可能なアクセス情報を受信するステップと、このスナップショットを使用し、仮想ディスクイメージファイルを仮想化サーバーコンピュータを通じて転送することなしに仮想ディスクイメージファイルをＮＡＳ装置からバックアップストレージ装置にバックアップするステップと、を更に含んでもよい。
【０００６】
いくつかの実施形態において、本方法は、プロキシバックアップサーバーコンピュータシステム上において実行中のバックアップソフトウェアによって実装してもよい。バックアップソフトウェアは、ＮＡＳ装置と通信し、スナップショットのデータをプロキシバックアップサーバーコンピュータシステムに転送してもよく、且つ、バックアップストレージ装置と通信し、データをプロキシバックアップサーバーコンピュータシステムからバックアップストレージ装置に転送してもよい。その他の実施形態において、バックアップソフトウェアは、ＮＡＳ装置と通信し、ＮＡＳ装置により、スナップショットのデータをプロキシバックアップサーバーコンピュータシステムを通じて転送することなしにこのデータを直接的にバックアップストレージ装置に転送してもよい。
【０００７】
本方法の更なる実施形態は、個別に仮想ディスクイメージファイル内に保存されている複数のファイルにアクセスするべく使用可能なマッピング情報を生成するステップを含んでもよい。複数のファイルのそれぞれの個別ファイルごとに、マッピング情報は、仮想ディスクイメージファイル内における個別ファイルの場所を規定してもよい。マッピング情報は、バックアップストレージ装置上に保存してもよい。仮想ディスクイメージファイルをバックアップし、マッピング情報を保存した後に、複数のファイルのうちの特定のファイルをバックアップストレージ装置上の仮想ディスクイメージファイルから特定のコンピュータシステムに回復するための要求を受信してもよい。この特定のファイルを回復するための要求に応答して、マッピング情報にアクセスし、バックアップストレージ装置上の仮想ディスクイメージファイル内における特定ファイルの場所を規定する場所情報を決定してもよい。次いで、この場所情報を使用し、特定のファイルをバックアップストレージ装置上の仮想ディスクイメージファイルから抽出し、その特定のファイルをそのファイルの回復を要求した特定のコンピュータシステムに対して転送してもよい。
【０００８】
本方法の代替実施形態においては、仮想マシンの仮想ディスクイメージファイルの第１スナップショットを仮想化サーバーコンピュータに結合されたＮＡＳ（Ｎｅｔｗｏｒｋ−Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）装置上に保存されているファイルシステムボリューム内に生成するように要求することにより、仮想化サーバーコンピュータ上において実行中の仮想マシンをバックアップしてもよい。次いで、ファイルシステムボリュームの第２スナップショットをＮＡＳ装置上において生成してもよい。第２スナップショットの生成の要求に応答し、ＮＡＳ装置上の第２スナップショットにアクセスするべく使用可能なアクセス情報を受信してもよい。次いで、第２スナップショットを使用し、仮想ディスクイメージファイルを仮想化サーバーコンピュータを通じて転送することなしに仮想ディスクイメージファイルをＮＡＳ装置からバックアップストレージ装置にバックアップしてもよい。
【０００９】
添付図面との関連において以下の詳細な説明を参照することにより、本発明について更に理解することができよう。
【図面の簡単な説明】
【００１０】
【図１】仮想マシンの仮想ディスクイメージファイルをバックアップするシステムを示す。
【図２】図１のシステムにおいて使用されるプロキシバックアップサーバーコンピュータシステムを示す。
【図３】仮想マシンによって使用される仮想ディスクイメージファイルのバックアップコピーを生成する方法の一実施形態を示すフローチャート図である。
【図４】プロキシバックアップサーバーコンピュータシステムによって実行されるバックアップソフトウェアを示す。
【図５】仮想ディスクイメージファイルと、仮想ディスクイメージファイル内のそれぞれのファイルの場所を規定するマッピング情報と、を示す。
【図６】仮想マシンによって使用される仮想ディスクイメージファイルのバックアップコピーを生成する方法の代替実施形態を示す。
【発明を実施するための形態】
【００１１】
本発明には、様々な変形及び代替形態が可能であるが、一例として、その特定の実施形態を図面に示し、且つ、詳細に説明する。但し、添付図面及びそれらに関する詳細な説明は、開示されている特定の形態に本発明を限定することを意図したものではなく、むしろ、本発明は、添付の請求項によって規定される本発明の精神及び範囲に属するすべての変更、均等物、及び代替肢を含むことを理解されたい。
【００１２】
本明細書には、仮想ディスクイメージファイルをバックアップするシステム及び方法の様々な実施形態が記述されている。図１は、本システムの一実施形態を示している。仮想化サーバーコンピュータシステム１０は、この例においては、１つ又は複数の仮想マシン５０を実行させており、例えば、仮想マシン５０Ａ、５０Ｂ、及び５０Ｃが、これに該当する。様々な実施形態において、仮想マシン５０は、任意の特定の仮想化プラットフォーム内において実行してもよい。一実施形態において、仮想化プラットフォームソフトウェアは、ＶＭＷａｒｅ  Ｉｎｃ．社から提供されたものであってよい。
【００１３】
それぞれの仮想マシン５０は、物理的コンピュータの世界と同様に、オペレーティングシステムファイル、アプリケーションプログラムファイル、及びデータファイルなどのその独自のファイルの組を維持可能である。物理的コンピュータのファイルは、通常、ハードディスク上に保存されるのに対して、それぞれの仮想マシン５０のファイルは、１つ又は複数の仮想ディスクイメージファイル内に保存してもよい。仮想ディスクイメージファイルは、例えば、ディスクセクタを表すことにより、ハードディスクドライブの内容及び構造を表している。仮想ディスクイメージファイルのセクタは、必要に応じて、仮想マシンによって使用されるファイルを保存するべく割り当てられる。セクタデータに加えて、仮想ディスクイメージファイルは、どのセクタが、現在使用中であり、且つ、有効なデータを保存しているのかを示すセクタビットマップなどのセクタデータを管理するための様々なデータ構造もまた含む。仮想ディスクイメージファイルは、特定の仕様に従ってフォーマットしてもよい。一般に使用されている仮想ディスクイメージファイル仕様は、ＶＨＤ（Ｖｉｒｔｕａｌ  Ｈａｒｄ  Ｄｉｓｋ）フォーマットと、ＶＭＤＫ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｄｉｓｋ  Ｆｏｒｍａｔ）フォーマットと、を含む。
【００１４】
図１の例においては、仮想マシン５０によって使用されるファイルを保存する仮想ディスクイメージファイル５１は、ＮＡＳ（Ｎｅｔｗｏｒｋ−Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）装置２０上において、仮想化サーバーコンピュータシステム１０とは別個に保存されており、この場合に、ＮＡＳ装置２０は、例えば、ネットワークを通じて仮想化サーバーコンピュータシステム１０に結合されている。
【００１５】
ＮＡＳ装置は、ファイル保存サービスをネットワーク上のその他のコンピュータに提供するべく適合されたコンピュータである。ＮＡＳ装置２０上のオペレーティングシステム及びその他のソフトウェアは、ファイルシステムの機能と、ファイルに対するアクセスと、これらの機能の管理と、を提供する。ＮＡＳ装置は、通常、ファイル保存以外の汎用演算タスクを実行するように設計されてはいない。ＮＡＳ装置は、しばしば、キーボード又はディスクプレイを具備しておらず、従って、その代わりに、しばしば、ウェブブラウザからそのネットワークアドレスにアクセスすることにより、ネットワーク上において制御及び構成される。通常、ＮＡＳ装置上には、汎用オペレーティングシステムが必要とされず、その代わりに、最小限の機能を有する余分な機能を省いたオペレーティングシステムを使用してもよい。例えば、ＦｅｅＮＡＳは、フリー／オープンソースのＮＡＳオペレーティングシステムであり、これは、ＦｒｅｅＢＳＤオペレーティングシステムに似ているが、データ保存に関係のないすべての機能が省かれている。ＮＡＳシステムは、しばしば、論理的な、冗長性を有するストレージコンテナ又はＲＡＩＤアレイ（廉価な／独立したディスクの冗長性を有するアレイ）として構成された１つ又は複数のハードディスクを含む。
【００１６】
ＮＡＳ装置は、ファイルシステムレベルにおける保存を提供する。これは、多くの場合に、ブロックに基づいた保存を提供し、ファイルシステムの関連事項を「クライアント」側に任せているＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）装置と対照的である。ＮＡＳ装置は、ＮＦＳ（ＵＮＩＸシステムにおいて一般的である）、ＳＭＢ／ＣＩＦＳ（Ｓｅｖｅｒ  Ｍｅｓｓａｇｅ  Ｂｌｏｃｋ／Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）（ＭＳ  Ｗｉｎｄｏｗｓシステムと共に使用されている）、又はＡＦＰ（Ａｐｐｌｅ  Ｍａｃｉｎｔｏｓｈコンピュータと共に使用されている）などのファイルに基づいたプロトコルを使用している。図１の例においては、仮想化サーバーコンピュータシステム１０は、ＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）インターフェイス６０を通じてＮＡＳ装置２０上の仮想ディスクイメージファイル５１にアクセスしてもよい。
【００１７】
図１の例においては、仮想ディスクイメージファイル５１Ａは、仮想マシン５０Ａに属しており、仮想ディスクイメージファイル５１Ｂは、仮想マシン５０Ｂに属しており、且つ、仮想ディスクイメージファイル５１Ｃは、仮想マシン５０Ｃに属している。但し、様々な実施形態において、それぞれの仮想マシン５０は、任意の数の仮想ディスクイメージファイル５１を使用してもよい。
【００１８】
しばしば、仮想マシン５０によって使用される仮想ディスクイメージファイル５１をバックアップすることが必要である。図１は、例えば、仮想ディスクイメージファイル５１のバックアップコピーをバックアップストレージ装置４０上に生成することにより、仮想ディスクイメージファイル５１をＮＡＳ装置２０からバックアップストレージ装置４０にバックアップするべく動作可能なバックアップソフトウェア１００を実行するプロキシバックアップサーバーコンピュータシステム３０を示している。いくつかの実施形態において、バックアップストレージ装置４０は、テープドライブ（例えば、テープカートリッジ上にデータを保存するべく動作可能な装置）であってよい。その他の実施形態においては、バックアップストレージ装置４０は、ディスクストレージユニット（例えば、１つ又は複数のディスクドライブを含む装置）、光ストレージ装置（例えば、データを光学媒体上に保存するべく動作可能な装置）、フラッシュメモリストレージ装置などの任意のその他のタイプのストレージ装置であってよい。
【００１９】
仮想マシン５０Ｂによって使用される仮想ディスクイメージファイル５１Ｂをバックアップする必要があると仮定する。バックアップソフトウェア１００は、仮想化ＡＰＩを通じて通信し、仮想化プラットフォームによって仮想ディスクイメージファイル５１Ｂのスナップショット５５を生成してもよい。次いで、バックアップソフトウェア１００は、スナップショット５５を使用し、仮想ディスクイメージファイル５１Ｂのバックアップコピーを生成してもよい。スナップショットは、事実上、仮想ディスクイメージファイルの一時点におけるイメージを表している。様々な実施形態において、当技術分野において既知の様々なスナップショット技法のいずれかを使用し、スナップショットを生成及び維持してもよい。
【００２０】
バックアップソフトウェア１００は、スナップショット５５を使用し、仮想ディスクイメージファイル５１Ｂのデータを仮想化サーバーコンピュータシステム１０を通じて転送することなしに仮想ディスクイメージファイル５１ＢをＮＡＳ装置２０からバックアップストレージ装置４０にバックアップしてもよい。仮想ディスクイメージファイル５１Ｂを仮想化サーバーコンピュータシステム１０を通じて転送すると、仮想化サーバーコンピュータシステム１０のプロセッサ及びネットワークリソースをバックアップの転送に振り向けることが必要となり、その結果、仮想化サーバーコンピュータシステム１０の動作効率が低下することになろう。従って、プロキシバックアップサーバーコンピュータシステム３０は、仮想化サーバーコンピュータシステム１０によって使用される仮想ディスクイメージファイルのバックアッププロセスを制御するバックアッププロキシとして機能する。
【００２１】
いくつかの実施形態において、バックアップソフトウェア１００は、ＮＡＳ装置２０と通信し、スナップショット５５のデータをプロキシバックアップサーバーコンピュータシステム３０に転送してもよく、且つ、バックアップストレージ装置４０と通信し、スナップショット５５のデータをバックアップストレージ装置４０に転送してもよい。このような実施形態においては、プロキシバックアップサーバーコンピュータシステム３０は、矢印１２によって示されているように、事実上、データを転送する中間装置として機能する。その他の実施形態においては、バックアップソフトウェア１００は、ＮＡＳ装置２０と通信し、ＮＡＳ装置２０により、スナップショット５５のデータをプロキシバックアップサーバーコンピュータシステム３０を通じて転送することなしにこのデータをバックアップストレージ装置４０に転送してもよい。例えば、バックアップストレージ装置４０のタイプと、それがＮＡＳ装置２０に結合されている方式と、に応じて、ＮＡＳ装置２０は、データを直接的にバックアップストレージ装置４０に転送可能である場合もあり、そうでない場合もある。
【００２２】
バックアップストレージ装置４０上における仮想ディスクイメージファイル５１Ｂのバックアップコピーの生成に加えて、いくつかの実施形態において、バックアップソフトウェア１００は、個別に仮想ディスクイメージファイル５１Ｂ内に保存されている複数のファイルにアクセスするべく使用可能なマッピング情報３３を生成してもよい。複数のファイルのそれぞれの個別ファイルごとに、マッピング情報３３は、仮想ディスクイメージファイル５１Ｂ内における個別ファイルの場所を規定してもよい。マッピング情報３３は、バックアップストレージ装置４０上において仮想ディスクイメージファイル５１Ｂのコピーと共に保存してもよい。後述するように、この後に、マッピング情報３３を使用し、仮想ディスクイメージファイル５１Ｂ全体のマウントを必要とすることなしに仮想ディスクイメージファイル５１Ｂのコピーから個別ファイルを回復してもよい。
【００２３】
様々な実施形態において、図１に示されている装置は、任意のタイプのネットワーク又はネットワークの組合せを介して相互に結合してもよい。例えば、ネットワークは、任意のタイプのＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）又はＬＡＮの組合せ、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、イントラネット、及びインターネットなどを含んでもよい。ローカルエリアネットワークの例は、Ｅｔｈｅｒｎｅｔネットワーク、ＦＤＤＩ（Ｆｉｂｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）ネットワーク、及びトークンリングネットワークを含む。又、それぞれのコンピュータ又は装置は、任意のタイプの有線又は無線接続媒体を使用してネットワークに結合してもよい。例えば、有線媒体は、Ｅｔｈｅｒｎｅｔ、ファイバチャネル、及びＰＯＴＳ（Ｐｌａｉｎ  Ｏｌｄ  Ｔｅｌｅｐｈｏｎｅ  Ｓｅｒｖｉｃｅ）に接続されたモデムなどを含んでもよい。無線接続媒体は、衛星リンク、セルラーサービスを通じたモデムリンク、Ｗｉ−Ｆｉ（商標）などの無線リンク、ＩＥＥＥ８０２．１１（無線Ｅｔｈｅｒｎｅｔ）やＢｌｕｅｔｏｏｔｈなどの無線通信プロトコルを使用した無線接続を含んでもよい。
【００２４】
次に図２を参照すると、一実施形態によるプロキシバックアップサーバーコンピュータシステム３０の一例が示されている。プロキシバックアップサーバーコンピュータシステム３０は、バス２１２を含んでもよく、このバス２１２は、１つ又は複数の中央処理ユニット２１４、システムメモリ２１７（通常、これは、ＲＡＭであるが、ＲＯＭ、フラッシュＲＡＭ、又は同様のものを含んでもよい）、入出力コントローラ２１８、オーディオ出力インターフェイス２２２を介したスピーカーシステム２２０などの外部オーディオ装置、ディスプレイアダプタ２２６を介したディスプレイ画面２２４などの外部装置、シリアルポート２２８及び２３０、（キーボードコントローラ２３３と接続された）キーボード２３２、ストレージインターフェイス２３４、フロッピーディスク２３８を受け入れるべく動作するフロッピーディスクドライブ２３７、ファイバチャネルネットワーク２９０と接続するべく動作するＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）インターフェイスカード２３５Ａ、ＳＣＳＩバス２３９に接続するべく動作するＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）インターフェイスカード２３５Ｂ、及び光ディスク２４２を受け入れるべく動作する光学ディスクドライブ２４０などのプロキシバックアップサーバーコンピュータシステム２０の主要なサブシステムを相互接続している。又、マウス２４６（又は、シリアルポート２２８を介してバス２１２に結合されたその他のポインティング及びクリック装置）、（シリアルポート２３０を介してバス２１２に結合された）モデム２４７、及び（バス２１２に直接結合された）ネットワークインターフェイス２４８も含まれている。
【００２５】
バス２１２により、中央プロセッサ２１４とシステムメモリ２１７の間のデータ通信が可能であり、システムメモリ２１７は、前述のように、読み出し専用メモリ（ＲＯＭ）又はフラッシュメモリ（いずれも図示されてはいない）及びランダムアクセスメモリ（ＲＡＭ）（図示されてはいない）を含んでもよい。ＲＡＭは、一般に、オペレーティングシステム及びバックアップソフトウェア１００を含むアプリケーションプログラムがその内部に読み込まれるメインメモリである。ＲＯＭ又はフラッシュメモリは、その他のコードに加えて、周辺コンポーネントとの間におけるやり取りなどの基本的なハードウェア動作を制御するＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ−Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）を収容可能である。プロキシバックアップサーバーコンピュータシステム３０と共に存在するアプリケーションは、一般に、ハードディスクドライブ（例えば、固定ディスク２４４）、光ドライブ（例えば、光ドライブ２４０）、フロッピーディスクユニット２３７、又はその他のストレージ媒体などのコンピュータ可読媒体上に保存され、これを介してアクセスされる。更には、アプリケーションは、ネットワークモデム２４７又はインターフェイス２４８を介してアクセスされた際にアプリケーション及びデータ通信技術に従って変調される電子信号の形態を有することも可能である。
【００２６】
ストレージインターフェイス２３４は、プロキシバックアップサーバーコンピュータシステム３０のその他のストレージインターフェイスと同様に、固定ディスクドライブ２４４などの情報の保存及び／又は検索のための標準的なコンピュータ可読媒体に接続可能である。固定ディスクドライブ２４４は、プロキシバックアップサーバーコンピュータシステム３０の一部であってもよく、或いは、別個のものであって、従って、その他のインターフェイスシステムを通じてアクセスしてもよい。モデム２４７は、電話回線を介してリモートサーバーに、又はインターネットサービスプロバイダ（ＩＳＰ）を介してインターネットに対する、直接的な接続を提供してもよい。ネットワークインターフェイス２４８は、ＰＯＰ（Ｐｏｉｎｔ  Ｏｆ  Ｐｒｅｓｅｎｃｅ）を介したインターネットに直接的なネットワークリンクを介してリモートサーバーに対し直接的な接続を提供してもよい。ネットワークインターフェイス２４８は、デジタルセルラー電話接続、ＣＤＰＤ（Ｃｅｌｌｕｌａｒ  Ｄｉｇｉｔａｌ  Ｐａｃｋｅｔ  Ｄａｔａ）接続、デジタル衛星データ接続、又は同様のものを含む無線技法を使用し、これらの接続を提供してもよい。
【００２７】
同様の方式により、（例えば、文書スキャナやデジタルカメラなどの）多数のその他の装置又はサブシステム（図示されてはいない）を接続してもよい。逆に、本開示を実施するべく、図２に示されている装置のすべてが存在する必要があるというわけではない。装置及びサブシステムは、図２に示されているものとは別の方法によって相互接続することも可能である。図２に示されているものなどのコンピュータシステムの動作については、当技術分野において周知であり、従って、本出願においては、その詳細な説明を省略する。本開示を実装するためのコードは、システムメモリ２１７、固定ディスク２４４、光ディスク２４２、又はフロッピーディスク２３８のうちの１つ又は複数のものなどのコンピュータ可読ストレージ媒体内に保存可能である。プロキシバックアップサーバーコンピュータシステム３０上に提供されるオペレーティングシステムは、ＭＳ−ＤＯＳ（登録商標）、ＭＳ−ＷＩＮＤＯＷＳ（登録商標）、ＯＳ／２（登録商標）、ＵＮＩＸ（登録商標）、Ｌｉｎｕｘ（登録商標）、又はその他の既知のオペレーティングシステムであってよい。
【００２８】
図３は、仮想マシンによって使用される仮想ディスクイメージファイルのバックアップコピーを生成する方法の一実施形態を示すフローチャート図である。この方法は、プロキシバックアップサーバーコンピュータシステム３０上において実行中のバックアップソフトウェア１００によって実装してもよい。
【００２９】
ブロック４０１に示されているように、バックアップソフトウェア１００は、仮想マシンの仮想ディスクイメージファイルのスナップショットをＮＡＳ装置２０上に生成するように要求してもよい。図４に示されているように、バックアップソフトウェア１００は、スナップショットを生成するように要求する機能を実行する要求モジュール５０１を含んでもよい。いくつかの実施形態において、要求モジュール５０１は、スナップショットを生成するように仮想化プラットフォームに対して要求するべく、仮想化プラットフォームによって提供されているサービスインターフェイスを通じて、仮想マシンを管理する仮想化プラットフォームと通信してもよい。例えば、ＶＭＷａｒｅの仮想化プラットフォームの場合には、標準的なＶＩ  ＡＰＩ（ＶＭＷａｒｅ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ＡＰＩ）を使用してＶｉｒｔｕａｌ  Ｃｅｎｔｅｒ  Ｓｅｒｖｅｒとやり取りし、仮想マシンのＶＣＢ（ＶＭｗａｒｅ  Ｃｏｎｓｏｌｉｄａｔｅｄ  Ｂａｃｋｕｐ）スナップショットを生成するように要求してもよい。
【００３０】
ブロック４０３に示されているように、バックアップソフトウェア１００は、ＮＡＳ装置２０上のスナップショットにアクセスするべく使用可能なアクセス情報を受信してもよい。図４に示されているように、バックアップソフトウェア１００は、アクセス情報を受信する機能を実行する受信モジュール５０３を含んでもよい。いくつかの実施形態において、アクセス情報は、スナップショットを表すべくＮＡＳ装置２０上に仮想化プラットフォームによって生成された１つ又は複数のファイルのパス名であってよい。
【００３１】
次いで、ブロック４０５に示されているように、バックアップソフトウェア１００は、スナップショットを使用し、仮想ディスクイメージファイルを仮想化サーバーコンピュータシステム１０を通じて転送することなしに仮想ディスクイメージファイルをＮＡＳ装置からバックアップストレージ装置４０にバックアップしてもよい。図４に示されているように、バックアップソフトウェア１００は、スナップショットを使用して仮想ディスクイメージファイルをバックアップする機能を実行するバックアップモジュール５０５を含んでもよい。前述のように、いくつかの実施形態において、バックアップモジュール５０５は、仮想ディスクイメージファイルのデータをプロキシバックアップサーバーコンピュータシステム３０を通じて転送してもよく、且つ、その他の実施形態においては、バックアップモジュール５０５は、ＮＡＳ装置２０により、仮想ディスクイメージファイルのデータを直接的にバックアップストレージ装置４０に送信してもよい。
【００３２】
ブロック４０７に示されているように、いくつかの実施形態において、バックアップソフトウェア１００は、個別に仮想ディスクイメージファイルのコピー内に保存されている複数のファイルにアクセスするべく使用可能なマッピング情報を生成してもよい。図４に示されているように、バックアップソフトウェア１００は、マッピング情報を生成する機能を実行するマッピングモジュール５０７を含んでもよい。
【００３３】
ブロック４０９に示されているように、バックアップソフトウェア１００は、マッピング情報を仮想ディスクイメージファイルのコピーと共にバックアップストレージ装置４０上に保存可能である。図４に示されているように、バックアップソフトウェア１００は、マッピング情報を保存する機能を実行する保存モジュール５０９を含んでもよい。
【００３４】
図５に示されているように、バックアップストレージ装置４０にバックアップされる仮想ディスクイメージファイル５１は、複数のファイル１７を含む。マッピング情報３３は、仮想ディスクイメージファイル５１内におけるそれぞれの個別ファイル１７の場所を規定する個別場所情報を含む。マッピング情報３３は、仮想ディスクイメージファイル５１内におけるそれぞれのファイルの場所を決定するべく仮想ディスクイメージファイル５１内に収容されているデータ構造を調べることにより、生成してもよい。前述のように、仮想ディスクイメージファイルは、例えば、ディスクセクタを表すことにより、ハードディスクドライブの内容及び構造を表している。従って、いくつかの実施形態において、それぞれのファイルの場所情報は、どのディスクセクタにそのファイルのデータが保存されているのかを規定してもよい。
【００３５】
マッピング情報によれば、仮想ディスクイメージファイル全体のマウントを必要とすることなしに、個別ファイルをバックアップストレージ装置上の仮想ディスクイメージファイルのコピーから回復可能であろう。図４に示されているように、バックアップソフトウェア１００は、ファイル回復機能を実行する回復モジュール５１１を含んでもよい。例えば、仮想ディスクイメージファイルのバックアップコピーが生成された後に、バックアップストレージ装置上の仮想ディスクイメージファイル内に保存されている複数のファイルのうちの特定のファイルを特定のコンピュータシステムに対して回復するための要求をバックアップソフトウェア１００が受信したと仮定する。この特定のファイルを回復するための要求に応答して、回復モジュール５１１は、マッピング情報にアクセスし、バックアップストレージ装置上の仮想ディスクイメージファイル内における特定のファイルの場所を規定する場所情報を決定してもよい。次いで、回復モジュール５１１は、その場所情報を使用し、特定のファイルをバックアップストレージ装置上の仮想ディスクイメージファイルから抽出してもよい。例えば、前述のように、場所情報は、どのディスクセクタにそのファイルのデータが保存されているのかを規定してもよい。回復モジュールは、これらの仮想セクタがバックアップストレージ装置４０上において位置する物理的な場所を決定し、これらの物理的な場所にアクセスしてファイルデータを抽出してもよい。次いで、回復モジュール５１１は、その特定のファイルをそのファイルの回復を要求したコンピュータシステムに転送してもよい。
【００３６】
前述のように、バックアップソフトウェア１００は、例えば、仮想ディスクイメージファイルのバックアップコピーが仮想ディスクイメージファイルの一時点における表現となるように、仮想ディスクイメージファイルをバックアップする際にスナップショットを利用してもよい。スナップショットは、バックアップが実行されている間、仮想化プラットフォームによって維持されてもよい。バックアップが完了したら、バックアップソフトウェア１００は、スナップショットを解放可能であることを仮想化プラットフォームに通知してもよい。バックアップが実行されている最中にスナップショットを維持すると、仮想ディスクイメージファイルがその最中に変化している場合には多少のオーバーヘッドが必要とされるため、仮想化サーバーコンピュータシステム１０上の負荷が増大することになろう。
【００３７】
代替実施形態が図６に示されている。この実施形態においては、バックアップソフトウェア１００は、前述のものと同様に、仮想ディスクイメージファイルのスナップショットを生成するように要求してもよい。図６に示されているように、仮想ディスクイメージファイル５１及びこの仮想ディスクイメージファイル５１のスナップショット５５は、ＮＡＳ装置上のファイルシステムボリューム４８内に保存してもよい。仮想ディスクイメージファイルのスナップショット５５が生成された後に、バックアップソフトウェア１００は、ファイルシステムボリューム４８のボリュームスナップショット５７を生成するように要求してもよい。次いで、バックアップソフトウェア１００は、仮想ディスクイメージファイルのスナップショット５５を解放可能であると仮想化プラットフォームに通知してもよい。次いで、ボリュームスナップショット５６を使用し、仮想ディスクイメージファイル５１のコピーがバックアップストレージ装置４０にバックアップされる。従って、このような方式でボリュームスナップショットを使用して仮想ディスクイメージファイルをバックアップすれば、仮想ディスクイメージファイルのスナップショット５５を早期に解放することができるため、仮想化サーバーコンピュータシステム１０上の負荷が低減されることになろう。
【００３８】
仮想ディスクイメージファイルをバックアップする方法の様々な実施形態について上述した。この方法は、相互の関連において動作する様々な装置によって実装されており、従って、この方法によれば、これらの装置のうちの１つ又は複数のものの構成は変化する。例えば、仮想ディスクイメージファイルのバックアップコピーをバックアップストレージ装置上に保存することにより、バックアップストレージ装置の構成は変化する。
【００３９】
本明細書に記述されている様々な機能は、いくつかの実施形態において、１つのサービス（Ｓａａｓ）技法として、クラウドに基づいた演算技法又はソフトウェアに従って実行してもよいことに留意されたい。例えば、いくつかの実施形態において、バックアップソフトウェア１００の機能は、クラウド演算サービスとして提供してもよい。
【００４０】
更には、様々な実施形態は、前述の説明に従って実装された命令及び／又はデータをコンピュータアクセス可能なストレージ媒体上において受信、送信、又は保存するステップを更に含んでもよいことに留意されたい。一般的に言うと、コンピュータアクセス可能なストレージ媒体は、命令及び／又はデータをコンピュータに提供するべく使用の際に１つ又は複数のコンピュータ（又は、プロセッサ）によってアクセス可能である任意のストレージ媒体を含んでもよい。例えば、コンピュータアクセス可能なストレージ媒体は、例えば、１つ又は複数のディスク（固定型又はリムーバブル型）、テープ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷなどの磁気又は光学媒体などのストレージ媒体を含んでもよい。ストレージ媒体は、ＲＡＭ（例えば、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  ＲＡＭ）、ＲＤＲＡＭ（Ｒａｍｂｕｓ  ＤＲＡＭ）、ＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）など）、ＲＯＭ、フラッシュメモリ、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インターフェイスなどの周辺インターフェイスを介してアクセス可能な不揮発性メモリ（例えば、フラッシュメモリ）などの揮発性又は不揮発性メモリ媒体を更に含んでもよい。いくつかの実施形態において、コンピュータは、ネットワーク及び／又は無線リンクなどの通信手段を介してストレージ媒体にアクセスしてもよい。
【００４１】
以上、説明を目的とし、特定の実施形態を参照して記述した。しかしながら、上述の例示用の説明は、すべてを網羅したり、或いは、本発明を開示された形態そのままに限定することを意図したものではない。上述の教示内容に鑑み、多数の変更及び変形が可能である。本発明の原理及びその実際的な適用例を最適に説明し、これにより、当業者が、想定される特定の使用法に好適な様々な変更を伴って本発明及び様々な実施形態を最適に利用することができるようにするべく、実施形態を選択及び説明した。
【図１】
0005631400.tif 000002
【図２】
0005631400.tif 000003
【図３】
0005631400.tif 000004
【図４】
0005631400.tif 000005
【図５】
0005631400.tif 000006
【図６】
0005631400.tif 000007