(57)【特許請求の範囲】
【請求項１】
過渡状態情報を格納するための方法であって、処理システムの過渡状態情報を格納するために用いられる第１の論理メモリ空間の少なくとも１つの特性に応じて定義される第１の論理ストレージ空間が少なくとも１つのストレージ装置内に定義されており、
前記処理システムが、
前記第１の論理メモリ空間内の第１の論理位置から前記第１の論理ストレージ空間内の第２の論理位置に過渡状態情報をコピーするステップであって、前記第１の論理メモリ空間及び前記第１の論理ストレージ空間は同じ数の複数のブロックを含み、前記第１の論理メモリ空間内の各ブロックの相対位置は前記第１の論理ストレージ空間内の各ブロックの相対位置と同じであり、前記第１の論理メモリ空間と前記第１の論理ストレージ空間との間に１対１マッピングがある、前記コピーするステップと、
前記第１の論理メモリ空間内の前記第１の論理位置で格納された前記過渡状態情報が変更されていることに応じて、前記第１の論理ストレージ空間内の前記第２の論理位置で格納された前記過渡状態情報を第２の論理ストレージ空間へ移動するステップであって、前記移動は、前記第１の論理メモリ空間中の前記変更された前記過渡状態情報を含むブロックの変更前のバージョンが前記第２の論理ストレージ空間内の対応するブロックに前記変更された時間に関連付けて格納されることを含む、前記移動するステップと
を実行することを含む、前記方法。
【請求項２】
前記第１の論理ストレージ空間及び前記第２の論理ストレージ空間が前記少なくとも１つのストレージ装置の単一物理ストレージ空間に対応する、請求項１に記載の方法。
【請求項３】
前記第１の論理ストレージ空間が前記第１の論理メモリ空間の複製として定義されている、請求項１又は２に記載の方法。
【請求項４】
前記コピーするステップ及び前記移動するステップが、連続データ保護技術を適用するステップを含む、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記処理システムが、
前記第１の論理ストレージ空間の内容を供給することによって前記ストレージ装置から前記過渡状態情報を取り出すステップ
を実行することをさらに含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記処理システムが、
前記第２の論理メモリ空間から前記過渡状態情報を取り出すステップ
を実行することをさらに含む、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
過渡状態情報を格納するための方法であって、処理システムの過渡状態情報を格納するために用いられる前記処理システムの論理メモリ空間の少なくとも１つの特性に応じて定義される第１の論理ストレージ空間が少なくとも１つのストレージ装置内に定義されており、
前記処理システムが、
前記処理システムの前記論理メモリ空間内の前記現在の過渡状態情報の論理位置に対応する前記第１の論理ストレージ空間内の論理位置に繰り返し現在の過渡状態情報を格納するステップであって、前記論理メモリ空間及び前記第１の論理ストレージ空間は同じ数の複数のブロックを含み、前記論理メモリ空間内の各ブロックの相対位置は前記第１の論理ストレージ空間内の各ブロックの相対位置と同じであり、前記処理システムの前記論理メモリ空間と前記第１の論理ストレージ空間との間に１対１マッピングがある、前記格納するステップと、
前記第１の論理メモリ空間内の前記第１の論理位置で格納された前記過渡状態情報が変更されていることに応じて、以前の前記過渡状態情報を前記第１の論理ストレージ空間内の前記論理位置から第２の論理ストレージ空間内へ移動するステップであって、前記移動は、前記論理メモリ空間中の前記変更された前記過渡状態情報を含むブロックの変更前のバージョンが前記第２の論理ストレージ空間内の対応するブロックに前記変更された時間に関連付けて格納されることを含む、前記移動するステップと
を実行することを含む、前記方法。
【請求項８】
前記第１の論理ストレージ空間及び前記第２の論理ストレージ空間が前記少なくとも１つのストレージ装置の単一物理ストレージ空間に対応する、請求項７に記載の方法。
【請求項９】
過渡状態情報を格納するためのコンピュータ・プログラムであって、処理システムに、請求項１〜８のいずれか一項に記載の方法の各ステップを実行させる前記コンピュータ・プログラム。
【請求項１０】
処理システムであって、当該処理システムの過渡状態情報を格納するために用いられる第１の論理メモリ空間の少なくとも１つの特性に応じて定義される第１の論理ストレージ空間が少なくとも１つのストレージ装置内に定義されており、前記処理システムに、請求項１〜８のいずれか一項に記載の方法の各ステップを実行させる前記処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、過渡状態情報を格納するための方法、システムおよびコンピュータ・プログラムに関する。
【背景技術】
【０００２】
処理エンティティは、情報を処理するように適合されている。処理エンティティは、例えばホスト・コンピュータのような処理システムを含み、または仮想マシンのような仮想処理エンティティを含む。処理エンティティは、システム内の単一プロセスまたはプロセス群のような処理システムの一部をも含むこともある。
【０００３】
一般的には、処理エンティティの過渡状態を表す情報は、処理エンティティのメモリ空間を形成する複数のブロック内に配置される。
【０００４】
なお、過渡状態は、アプリケーション関連情報、すなわち、処理システムに接続された揮発性メモリ装置や処理システムに付属する揮発性メモリ装置の内容を含まないことに留意されたい。
【０００５】
過渡状態情報は、過渡状態情報チェックポイント技術を用いて格納され、復元のために使用されることがある。チェックポイント技術では、過渡状態情報が様々な時点で繰り返しストレージ装置に送信される。
【０００６】
非インクリメンタル・チェックポイント技術では、各チェックポインティングの繰り返しにおいて、すべての過渡状態情報が送信される。これに対して、インクリメンタル・チェックポイント技術では、現在の過渡状態情報と以前の過渡状態情報の差分のみが送信される。
【０００７】
以前の時点での過渡状態が反映されるように、過渡状態情報を復元する必要がある場合がある。この機能は、チェックポインティングのプロセスの間またはその他の時点において発生する障害を効果的に解決するために役立つことがある。
【０００８】
【特許文献１】米国特許第６８３９８９２号
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、インクリメンタル・チェックポイント技術を用いたシステム、特に、過渡状態情報の複数の以前のバージョンを容易に復元することができるインクリメンタル・チェックポイント技術を用いたシステムの管理は、極めて複雑である。
【００１０】
したがって、効果的に情報を復元させることができる装置、コンピュータ・プログラムおよび方法を提供する必要性が増してきている。
【課題を解決するための手段】
【００１１】
過渡状態情報を格納するための方法が提供される。方法は、処理システムの現在の過渡状態情報を格納するために用いられる処理システム論理メモリ空間の少なくとも１つの特性に応じて少なくとも１つのストレージ装置内の第１の論理ストレージ空間を定義するステップと、処理システム論理メモリ空間内の現在の過渡状態情報の論理位置に対応する第１の論理ストレージ空間内の論理位置に繰り返し現在の過渡状態情報を格納するステップと、第２の論理ストレージ空間内に以前の過渡状態情報を格納するステップと、を含む。
【００１２】
好適には、第１および第２の論理ストレージ空間は少なくとも１つのストレージ装置の単一物理ストレージ空間に対応する。
【００１３】
好適には、定義するステップが、処理システム論理メモリ空間の複製として第１の論理ストレージ空間を定義するステップを含む。
【００１４】
好適には、現在の過渡状態情報および以前の過渡状態情報を格納するステップが、連続データ保護技術を適用するステップを含む。
【００１５】
好適には、定義するステップが、複数のブロックを含む第１の論理ストレージ空間を定義するステップを含む。
【００１６】
好適には、方法は、第１の論理ストレージ空間の内容を供給することによってストレージ装置から現在の過渡状態情報を取り出すステップをさらに含む。
【００１７】
好適には、方法は、第２の論理メモリ空間から以前の過渡状態情報を取り出すステップをさらに含む。
【００１８】
好適には、方法は、現在の状態情報を第１の論理ストレージ空間に格納するステップと、現在の過渡状態情報と異なる以前の過渡状態情報を第２の論理ストレージ空間内に格納するステップとをさらに含む。
【００１９】
好適には、方法は、現在の過渡状態情報と異なる以前の過渡状態情報を第２の論理メモリ空間から取り出すステップと、対応する現在の過渡状態情報に等しい以前の過渡状態情報を第１の論理ストレージ空間から取り出すステップとをさらに含む。
【発明を実施するための最良の形態】
【００２０】
本発明は、以下の詳細な説明を図面と併せて参照することによって、さらに充分に理解され明らかにとなるだろう。
【００２１】
処理エンティティ（仮想処理エンティティまたは物理処理エンティティ）の過渡状態を表す過渡状態情報は、チェックポイント技術および連続データ保護（ＣＤＰ）技術の組み合わせ、または、チェックポイント技術およびスナップショットの組み合わせを適用することによって格納され復元される。
【００２２】
連続データ保護を実施することが可能なストレージ装置は、ストレージ装置に行われた更新の履歴を（処理エンティティにとって透過的に）累積するストレージ機構を有し、ストレージ装置の状態の過去バージョンにアクセスすることができる。連続データ保護を実施することが可能なストレージ装置は、以前のバージョンと同様にデータの現行バージョンを自律的に編成し、必要に応じて、期限切れバージョンのスペース再利用を実行する。
【００２３】
非インクリメンタル・チェックポイント技術またはインクリメンタル・チェックポイント技術を用いて過渡状態情報をストレージ装置に格納することができる。連続データ保護技術は、過渡状態情報の以前（過去）のバージョンを編成するように適合され、空間の再利用動作を任意に実行することができる。
【００２４】
連続データ保護ストレージ装置の既存のメモリ管理機能を用いることによって、チェックポイント技術を適用したシステムの複雑性が減少させることができるだろう。
【００２５】
好適には、現在の過渡情報は、処理エンティティ・メモリ空間に類似する第１の論理ストレージ空間に格納される。現在の過渡状態情報に一致しない以前の過渡状態情報は、ストレージ装置内の１つ以上のその他の論理ストレージ空間に格納される。
【００２６】
好適には、第１の論理ストレージ空間および処理エンティティ・メモリ空間は、ほぼ同じサイズを有する。第１の論理ストレージ空間は、処理エンティティ・メモリ空間の配置にしたがって配置されている。好適には、第１の論理ストレージ空間内の（過渡状態情報ブロックのような）特定の過渡状態情報部分の論理位置は、処理エンティティ・メモリ空間内の論理位置とほぼ同じである。
【００２７】
第１の論理ストレージ空間および処理エンティティ・メモリ空間との間の１対１マッピングは、現在の過渡状態情報の格納および復元を簡単化する。処理エンティティの現在の過渡状態の復元は、第１ブロックから開始するブロックの内容を取り出すことだけを必要とする。
【００２８】
前述の方法およびシステムは、過去に装置に行ったあらゆる書き込み動作を維持しない連続データ保護方法を適用するストレージ装置をも用いることができることに留意すべきである。頻繁なスナップショットをサポートする非連続データ保護ストレージ装置をも用いることができる。スナップショットが頻繁に取られる程、時間の進行中に利用可能な細分性は高くなる。
【００２９】
ストレージ装置の機能を最大限に利用するため、チェックポインティングの頻度を連続データ保護（すなわちスナップショット）の細分性よりも低くすべきであることに留意すべきである。
【００３０】
説明を簡単にするため、以下、論理装置（ＬＵＮ）編成ストレージ装置に関して本発明の実施形態を説明する。しかし、必要な変更を加えて本発明をファイル編成ストレージ装置およびオブジェクト・ベースのストレージ装置に適用することができることに留意されたい。
【００３１】
論理装置は、複数の一定サイズのブロックを含む。論理装置内で論理装置識別子およびオフセットを用いることによってブロックをアドレス指定することができる。
【００３２】
好適には、単一の論理装置識別子によって第１の論理ストレージ空間をアドレス指定することができる。異なる論理装置識別子を過渡状態情報のそれぞれの以前のバージョンに割り当てる必要がない。したがって、必要とされる論理アドレス識別子の量が減少するだろう。
【００３３】
方法が論理装置編成メモリ装置上で適用される場合、第１の論理ストレージ空間を専用の論理装置とすることができる。処理エンティティ・メモリ空間がブロックで配置されている場合、各過渡状態情報を格納するブロックは、専用の論理装置内の対応するブロックにチェックポイントされる。ブロックは、１つ以上のブロックまたはブロックの一片を含むことができる。説明を簡単にするため、ブロックは１つのブロックを含むものとする。
【００３４】
ストレージ装置および／または処理エンティティは、異なるチェックポイント動作のタイミングを追跡し続けることができる。したがって、所定の時点で過渡状態情報の復元を可能にする。このことは、チェックポイント動作が実行され（または実行中であり）、処理エンティティでチェックポインティング・タイミング・データ構造を生成していることをストレージ装置に通知することを含むことができる。
【００３５】
図１には、本発明の一実施形態による３つの例示的なチェックポイント動作を実施する第１の論理ストレージ空間２１および処理エンティティ・メモリ空間２５を示す。
【００３６】
第１の論理ストレージ空間２１は、Ｇ個のブロックＢ＿１〜Ｂ＿Ｇを含む。処理エンティティ・メモリ空間２５は、Ｇ個のブロックＢ＿１’〜Ｂ＿Ｇ’を含む。
【００３７】
３つのチェックポイント動作は時間Ｔ１〜Ｔ３で生じるものとする。時間Ｔ１では、処理エンティティ・メモリ空間２５の全部の内容が第１の論理ストレージ空間２１に送信される。本発明の実施形態において、第１の論理ストレージ空間２１内のブロックＢ＿１〜Ｂ＿Ｇの相対位置は、処理エンティティ・メモリ空間２５内のブロックＢ＿１’〜Ｂ＿Ｇ’の相対位置と同じである。
【００３８】
また、時間Ｔ１と時間Ｔ２との間に、ブロックＢ＿２’およびＢ＿３’が変更されるものとする。本発明の実施形態において、時間Ｔ２で、これらのブロックは、第１の論理ストレージ空間２１内の対応するブロックＢ＿２およびＢ＿３に送信される。
【００３９】
Ｂ＿２’（Ｔ１）およびＢ＿３’（Ｔ１）と示されたブロックＢ＿２およびＢ＿３の以前のバージョンは、図２の第１のストレージ装置１１１の組み込まれた連続データ保護機能を用いて第１のストレージ装置１１１のような第１のストレージ装置のその他のストレージ空間内に格納される。これらの以前のバージョンは、時間Ｔ１と関連付けられる。
【００４０】
さらに、時間Ｔ２と時間Ｔ３との間に、ブロックＢ＿１’、Ｂ＿３’およびＢ＿Ｇ’が変更されるものとする。本発明の実施形態において、時間Ｔ３で、これらのブロックは、対応するブロックＢ＿１、Ｂ＿３およびＢ＿Ｇに送信される。
【００４１】
ブロックＢ＿１’、Ｂ＿３’およびＢ＿Ｇ’の以前のバージョンは、第１のストレージ装置１１１の組み込まれた連続データ保護機能を用いて第１のストレージ装置１１１のその他の論理ストレージ空間内に格納される。これらの以前のバージョンは、時間Ｔ２と関連付けられる。
【００４２】
したがって、時間Ｔ３では、ブロックＢ＿１の２つのバージョン（Ｂ＿１およびＢ＿１（Ｔ２））と、ブロックＢ＿２の２つのバージョン（Ｂ＿２およびＢ＿２（Ｔ１））と、ブロックＢ＿Ｇの２つのバージョン（Ｂ＿ＧおよびＢ＿Ｇ（Ｔ２））と、ブロックＢ＿３の３つのバージョン（Ｂ＿３、Ｂ＿３（Ｔ１）およびＢ＿３（Ｔ２））とが存在することとなる。
【００４３】
処理エンティティの現在の過渡状態（時間Ｔ３での状態）の復元は、ブロックＢ＿１〜Ｂ＿Ｇの内容を取り出すことによって実施される。処理エンティティの以前の過渡状態の復元は、第１のストレージ装置１１１の１つ以上のその他の論理ストレージ空間内に格納された様々なブロックの旧バージョンを取り出すことによって実施される。
【００４４】
第１の論理ストレージ空間２１内に格納された過渡状態情報は、時間Ｔ１での過渡状態情報のイメージを形成する。以前の過渡状態情報を用いて、第１のストレージ装置１１１は、１つ以上の以前の時点での過渡情報のビューを供給することができる。これらイメージのビューを生成することができることに留意すべきである。ビューを書き込み可能にすることができ、しかも、このビューにインクリメンタル・チェックポイント技術によるプロセスを適用することができる。
【００４５】
本発明の一実施形態によれば、ストレージ装置または処理システムは、複数の処理エンティティの過渡状態情報のイメージを格納することができる。
【００４６】
本発明の別の実施形態によれば、特定の時点での過渡状態情報のイメージを複製し、複数のストレージ装置または処理システムあるいはその両方に格納することができる。
【００４７】
図２には、本発明の一実施形態による処理システム１０およびストレージ・システム１００を示す。
【００４８】
第１の仮想マシン４４および第２の仮想マシン５４のような仮想マシンは、オペレーティング・システムを実行するために用いられるコンピュータ・プラットフォームからオペレーティング・システムを分離する。仮想マシン内部で実行しているオペレーティング・システムを、異なるコンピュータ・プラットフォームによって実行することができる。
【００４９】
単一コンピュータ・プラットフォームは、複数の仮想マシンを同時にサポートすることができる。このようなコンピュータ・プラットフォームは、論理的にパーティション化されたプラットフォームと一般に称される。各オペレーティング・システムまたはオペレーティング・システムのインスタンスには、コンピュータ・プラットフォームの重複しないサブセットが割り当てられる。
【００５０】
典型的に、複数の仮想マシンは、ハイパーバイザ３１のようなハイパーバイザによって制御される。ハイパーバイザ３１は、パーティション保護境界を管理し強制することができる（例えば、特許文献１参照）。
【００５１】
説明を簡単にするため、図２には、２つの仮想マシンと、プロセッサ、内部メモリ装置およびＩＯアダプタのような２セットのハードウェア・コンポーネントとを示す。同類のハードウェア・コンポーネントの数を２よりも多くすることができ、同時に実行できる仮想マシンの数を２よりも多くすることができることに留意すべきである。好適には、仮想マシンの数はプロセッサの数と異なるが、必ずしもそうであるとは限らない。例えば、単一のプロセッサは、複数の仮想マシンをサポートすることができる。
【００５２】
また、ハイパーバイザ３１が、特に、単一の仮想マシンをサポートするシステムにおいて任意のものであることにさらに留意すべきである。
【００５３】
本発明の意図から逸脱することなく本発明の実施形態を様々な処理システム（分散型処理システムを含む）および様々なストレージ・システムに適用することができることは当業者にとって明らかである。処理システムを、ホスト・コンピュータまたはサーバとすることができる。しかし、このことは必ずしもそうであるとは限らない。処理システムおよびストレージ・システムを互いに統合すること、互いに遠隔に配置すること、直接接続すること、または、間接的に互いに接続することなどができることは勿論である。
【００５４】
処理システム１０は、ハードウェア１１、ハイパーバイザ３１および２つのパーティションを含む。第１のパーティションは、第１のオペレーティング・システム４２、第１の仮想マシン４４および第１のアプリケーション群４６を含む。第２のパーティションは、第２のオペレーティング・システム５２、第２の仮想マシン５４および第２のアプリケーション群５６を含む。
【００５５】
ハードウェア１１は、第１のプロセッサ１２、第１の内部メモリ装置１４、第１の入出力（Ｉ／Ｏ）アダプタ１６、第２のプロセッサ２２、第２の内部メモリ装置２４および第２の入出力（Ｉ／Ｏ）アダプタ２６を含む。第１のプロセッサ１２、第１の内部メモリ装置１４および第１Ｉ／Ｏアダプタ１６は互いに共働し、第２のプロセッサ２２、第２の内部メモリ装置２４および第２のＩ／Ｏアダプタ２６とは無関係に動作することができる。
【００５６】
好適には、パーティション管理ファームウェアとも称されるハイパーバイザ３１は、第１および第２のパーティションごとに様々なハードウェア・コンポーネントの使用量を制御するように適合されている。
【００５７】
例えば、ハイパーバイザによって、第１のオペレーティング・システム４２（したがって、第１の仮想マシン４４）は第１のプロセッサ１２、第１の内部メモリ装置１４および第１のＩ／Ｏアダプタ１６を用いることができる。一方で、第２のオペレーティング・システム５２は第２のプロセッサ２２、第２の内部メモリ装置２４および第２のＩ／Ｏアダプタ２６を用いる。
【００５８】
好適には、ハイパーバイザ３１はストレージ動作を制御することができ、または、第１の仮想マシン４４および第２の仮想マシン５４の一方のような別のエンティティにストレージ動作を制御させることができる。異なるコンポーネント間で制御信号またはコマンドあるいはその両方を送信することによって制御を実施することができる。
【００５９】
第１の内部メモリ装置１４は、第１の仮想マシン４４の過渡状態を反映する過渡状態情報を格納する。この過渡状態情報は、第１の処理エンティティ・メモリ空間１４４内に配置される。第１の処理エンティティ・メモリ空間１４４は、ブロックＢ１＿１’〜Ｂ１＿Ｋ’を含む。
【００６０】
第２の内部メモリ装置２４は、第２の仮想マシン５４の過渡状態を反映する過渡状態情報を格納する。この過渡状態情報は、第２の処理エンティティ・メモリ空間１５４内に配置される。第２の処理エンティティ・メモリ空間１５４は、ブロックＢ２＿１’〜Ｂ２＿Ｊ’を含む。
【００６１】
ストレージ・システム１００は、２つの処理エンティティ（第１の仮想マシン４４および第２の仮想マシン５４）の複数の時点での過渡状態情報を格納し、アプリケーション関連情報のような追加の情報をも格納する。最初は、追加の情報を処理システム１０の永続的メモリに格納することができる。
【００６２】
ストレージ・システム１００は、第１のストレージ・コントローラ９１、第１のストレージ装置１１１、第２のストレージ・コントローラ９２および第２のストレージ装置１１２を含む。第１のストレージ・コントローラ９１は、第１のストレージ装置１１１に対するストレージ動作を制御する。第２のストレージ・コントローラ９２は、第２のストレージ装置１１２に対するストレージ動作を制御する。
【００６３】
第１のストレージ装置１１１は過渡状態情報を格納するのに対して、第２のストレージ装置１１２はアプリケーション関連情報を格納する。
【００６４】
第１の仮想マシンの現在の過渡状態を反映する現在の過渡状態情報は、第１の論理ストレージ空間２４４内に配置される。第１の論理ストレージ空間２４４は、ブロックＢ１＿１〜Ｂ１＿Ｋを含む。これらブロックは、第１の処理エンティティ・メモリ空間１４４のブロックＢ１＿１’〜Ｂ１＿Ｋ’に対応する。第１の仮想マシン４４の現在の過渡状態情報とは異なる以前の過渡状態情報は、第２の論理ストレージ空間１４６での場合のようにその他のロケーションに格納される。
【００６５】
第２の仮想マシン５４の現在の過渡状態を反映する現在の過渡状態情報は、第３の論理ストレージ空間２５４内に配置される。第３の論理ストレージ空間２５４は、ブロックＢ２＿１〜Ｂ２＿Ｊを含む。これらブロックは、第２の処理エンティティ・メモリ空間１５４のブロックＢ２＿１’〜Ｂ２＿Ｊ’に対応する。第２の仮想マシン５４の現在の過渡状態情報とは異なる以前の過渡状態情報は、第２の論理ストレージ空間１４６での場合のようにその他のロケーションに格納される。
【００６６】
複数の仮想マシンに関する過渡状態情報を同じストレージ装置に格納することができること、現在の過渡状態情報を１つのストレージ装置に格納することができるのに対して、以前の過渡状態情報を別のストレージ装置に格納することができること、過渡状態情報およびアプリケーション関連情報を同じストレージ装置に格納することができることなどに留意すべきである。
【００６７】
ストレージ・システム１００の各コンポーネントが複数のハードウェア・コンポーネント、ファームウェア・コンポーネントおよびソフトウェア・コンポーネントのいずれか１つまたは任意の組み合わせを含むことができることは当業者にとって明らかである。例えば、第１のストレージ装置１１１および第２のストレージ装置１１２の各ストレージ装置は、１つ以上のテープ、１つ以上のディスクなどを含むことができる。
【００６８】
ストレージ・システム１００が中央または分散型アーキテクチャを有することができることにさらに留意すべきである。例えば、ネットワークまたは１つ以上の中間コンポーネントあるいはその両方を介して１つ以上のコンポーネントをその他のコンポーネントの各々に接続することができる。さらに、別の例として、第１のストレージ装置１１１は複数のディスクおよびテープを含むことができる一方で、これらディスク／テープの１つ以上は現在の過渡状態情報を格納し、その他のディスク／テープは以前の過渡状態情報を格納し、現在の過渡状態情報を任意に格納する。
【００６９】
追加の情報のストレージおよび過渡状態情報のストレージを同時に実行することができるということに留意すべきである。しかし、このことは必ずしもそうであるとは限らない。これらストレージ動作のタイミングは、仮想マシンの状態および永続的メモリ・エンティティの内容を同時に復元できるように生じる必要がある。
【００７０】
ハイパーバイザ３１または仮想マシンの１つ（第１の仮想マシン４４または第２の仮想マシン５４）によってストレージ動作を開始または制御することができる。
【００７１】
本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、または、ハードウェア要素およびソフトウェア要素の両方を含む実施形態の形をとることができる。一実施形態では、本発明は、限定するものではないがファームウェア、常駐ソフトウェア、マイクロコードなどを含むソフトウェアに実装されている。
【００７２】
さらに、本発明は、コンピュータまたは任意の命令実行システムによって、または、これと関連して用いられるプログラム・コードを備えるコンピュータ使用可能またはコンピュータ可読媒体からアクセスできるコンピュータ・プログラムの形をとることができる。この説明の目的のため、コンピュータ使用可能またはコンピュータ可読媒体を、命令実行システム、装置またはデバイスによって、または、これと関連して用いられるプログラムを含み、格納し、伝達し、伝搬し、または転送することができる任意の装置とすることができる。
【００７３】
媒体を、電子、磁気、光、電磁気、赤外線または半導体システム（または装置またはデバイス）あるいは伝搬媒体とすることができる。コンピュータ可読媒体の例として、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、固定磁気ディスクおよび光ディスクが挙げられる。現在の光ディスクの例として、コンパクト・ディスク読み取り専用メモリ（ＣＤ‐ＲＯＭ）、コンパクト・ディスク読み取り／書き込み（ＣＤ‐Ｒ／Ｗ）およびＤＶＤが挙げられる。
【００７４】
プログラム・コードを格納または実行し、あるいはその両方を行うのに適するデータ処理システムは、システム・バスを介してメモリ素子に直接または間接的に結合された少なくとも１つのプロセッサを含む。メモリ素子は、プログラム・コードの実際の実行中に用いられるローカル・メモリと、大容量ストレージと、実行中にコードを大容量ストレージから取り出さなければならない回数を削減するため、少なくとも一部のプログラム・コードの一時的なストレージを行うキャッシュ・メモリとを含むことができる。
【００７５】
キーボード、ディスプレイ、ポインティング装置などを含むがこれらに限定されない入出力装置を直接に、または、介在する入出力コントローラを介してシステムに結合することができる。
【００７６】
プライベート・ネットワークまたはパブリック・ネットワークを介してデータ処理システムがその他のデータ処理システムまたはリモート・プリンタまたはストレージ装置に結合されるようにするためにネットワーク・アダプタをもシステムに結合することができる。モデム、ケーブル・モデムおよびイーサネット（登録商標）カードは、現在使用可能なタイプのネットワーク・アダプタのごく一部である。
【００７７】
図３には、本発明の一実施形態によって過渡状態情報を格納するための方法３００を示す。
【００７８】
この方法は、処理システムの現在の過渡状態情報を格納するために用いられる処理システム論理メモリ空間の少なくとも１つの特性に応じてストレージ装置内の第１の論理ストレージ空間を定義するステップ３２０によって開始する。この特性は、処理システム論理メモリ空間のサイズ、処理システム論理メモリ空間にわたるアドレスの連続範囲などを含むことができる。
【００７９】
好適には、ステップ３２０は、処理システム論理メモリ空間の複製として第１の論理ストレージ空間を定義することを含む。
【００８０】
好適には、ステップ３２０は、複数のブロックを含む第１の論理ストレージ空間を定義することを含む。
【００８１】
ステップ３２０の次にステップ３３０を続ける。ステップ３３０は、処理システム論理メモリ空間内の現在の過渡状態情報のロケーションに論理的に対応する第１の論理ストレージ空間内のロケーションに現在の過渡状態情報を格納し、以前の過渡状態情報をストレージ装置内のその他の論理ストレージ空間内に格納する。本発明の一実施形態によれば、ステップ３３０は、必ずではないが現在の過渡状態情報と異なる以前の過渡状態情報をその他の論理ストレージ空間内に格納することを含む。例えば、対応する現在の過渡状態情報に等しい以前の過渡状態情報を第１の論理ストレージ空間および、１つまたはその他の論理ストレージ空間内に格納することができる。
【００８２】
好適には、ステップ３３０は連続データ保護技術の適用を含む。
【００８３】
好適には、ステップ３３０は、以前の過渡状態情報と異なる現在の過渡状態情報をストレージ装置に送信することを含む。
【００８４】
ステップ３３０の次にステップ３４０を続ける。ステップ３４０は、ステップ３３０を繰り返すときを、好適には、予め定義されたストレージ・ポリシーにしたがって決定する。このストレージ・ポリシーは、ステップ３３０の複数または頻繁あるいはその両方の繰り返しを含むことができる。
【００８５】
方法３００は、過渡情報を復元するステップ３５０をさらに含むことができる。現在の過渡情報が復元される場合、ステップ３５０は、第１の論理ストレージ空間の内容を供給することによってストレージ装置から現在の過渡状態情報を取り出すことを含む。
【００８６】
復元は、障害の後のリクエストに応答して、または、別のイベントに応答して発生するようにすることができる。格納された情報が複数の時点で状態を復元することができる場合、復元は、ある時点を複数の可能な時点から選択することを含む。
【００８７】
復帰動作（以前の時点で過渡情報を反映するように現在の過渡状態情報を更新するためのリクエスト）は、第１の論理スペース内の過渡状態情報を、別の論理ストレージ空間内に前に格納された過渡状態情報と置き換えることを含むことができることに留意すべきである。したがって、以前の過渡状態情報は現在の過渡状態情報となることができ、その一方で、現在の過渡状態情報が以前の過渡状態情報となることができる。
【００８８】
特許請求の範囲に記載されている本発明の意図および範囲から逸脱することなく、本明細書で説明した実施形態の変更、修正およびその他の実施を当業者は行うことができるであろう。
【００８９】
したがって、本発明は、以前の図示の説明によって制限されるものではなく、特許請求の範囲に記載によってのみ制限されるものである。
【図面の簡単な説明】
【００９０】
【図１】本発明の一実施形態による３つの例示的なチェックポイント動作を実施する第１の論理ストレージ空間および処理エンティティ・メモリ空間を示す図である。
【図２】本発明の一実施形態による処理システムおよびストレージ・システムを示す図である。
【図３】本発明の一実施形態によって過渡状態情報を格納するための方法を示すフローチャートである。
【符号の説明】
【００９１】
１０  処理システム
１１  ハードウェア
１２  第１のプロセッサ
１４  第１の内部メモリ装置
１６  第１の入出力（Ｉ／Ｏ）アダプタ
２１  第１の論理ストレージ空間
２１’  第２の論理ストレージ空間
２２  第２のプロセッサ
２４  第２の内部メモリ装置
２５  処理エンティティ・メモリ空間
２６  第２の入出力（Ｉ／Ｏ）アダプタ
３１  ハイパーバイザ
４２  第１のオペレーティング・システム
４４  第１の仮想マシン
４６  第１のアプリケーション群
５２  第２のオペレーティング・システム
５４  第２の仮想マシン
５６  第２のアプリケーション群
９１    第１のストレージ・コントローラ
９２    第２のストレージ・コントローラ
１００  ストレージ・システム
１１１  第１のストレージ装置
１１２  第２のストレージ装置
１４４  第１の処理エンティティ・メモリ空間
１４６  第２の論理ストレージ空間
１５４  第２の処理エンティティ・メモリ空間
２４４  第１の論理ストレージ空間
２５４  第３の論理ストレージ空間
【図１】
0005284604.tif 000002
【図２】
0005284604.tif 000003
【図３】
0005284604.tif 000004