(57)【要約】【課題】資源回復のための情報処理システム、方法およびコンピュータ・プログラムが提供される。【解決手段】この方法は少なくとも一つのビットを少なくとも一つのメモリ・ブロックと関連付けることを含む。そのビットはメモリ・ブロックの借り状態を表す。そのビットは資源回復のためにイネーブルにされる。資源回復イベントが検知され、そして資源回復のためにそのビットがイネーブルにされると、メモリ・ブロックは所与の期間、借りられる。そのビットは、恒久的ストレージに書き込まれる迄、借り状態になって、その資源回復に関連する情報を、そこに一時的に格納する。【選択図】図３
2008165777.tif 000002
【特許請求の範囲】
【請求項１】
情報処理システム上で資源回復するための方法であって、
少なくとも１個のメモリ・ブロックに、前記メモリ・ブロックのための借り状態を表す少なくとも１個のビットを関連付けるステップと、
前記資源回復のために前記ビットをセットするステップと、
資源回復イベントを検知するステップと、  
資源回復のためにイネーブルされている前記ビットに応答して、前記資源回復に関連する情報を、該情報が恒久的ストレージに書き込まれるまで、前記メモリ・ブロック中に一時的に格納するために所与の期間、前記メモリ・ブロックを借りるステップと
を含む方法。
【請求項２】
前記資源回復イベントに関連し且つ第１のパーティション中にあるメモリ・イメージに対応する各メモリ・ブロックを前記恒久的ストレージにコピーするステップと、
借りた少なくとも１個のメモリ・ブロックに基く第２のパーティションと、前記コピーからフリーになった追加のブロックのメモリとを作り出すステップとを更に含み、
前記第２のパーティションを作り出すステップと、前記各メモリ・ブロックをコピーするステップとが並行して行われることとを含む、
請求項１に記載の方法。
【請求項３】
前記第２のパーティションが作り出されるのを判定するステップと、
前記第１のパーティションに関連する少なくとも１個の入出力動作を前記第２のパーティションに移行させるステップと、
前記第２のパーティション上で前記資源回復イベントに関連する前記メモリ・イメージを初期プログラム・ロードするステップと
を更に含む、請求項２に記載の方法。
【請求項４】
前記メモリ・イメージが前記恒久的ストレージにコピーされたと判定するステップと、
前記第１のパーティションを削除するステップと、
前記第２のパーティションを前記第１のパーティションと命名し直すステップと、
前記借りたメモリ・ブロックを夫々に戻すステップと
を更に含む、請求項２に記載の方法。
【請求項５】
前記資源回復イベントを検知するステップが、
前記資源回復イベントのために必要なメモリの量を判定するステップと、
利用できないとして回復のためにセットされた前記ビットにより少なくとも一部に実質的に十分なメモリがあると識別されるのに応答して、通常のシステム・ダンプ処理を実行するように前記資源回復イベントに関連するパーティションに通知するステップと、
利用できるとして回復のためにセットされた前記ビットにより少なくとも一部に実質的に十分なメモリがあると識別されるのに応答して、所与の期間、前記メモリ・ブロックを借りるステップと
を含む、請求項１に記載の方法。
【請求項６】
オペレーティング・システム・リクエスト、
アプリケーション構成、および
システム管理者ポリシー
のうちの少なくとも１個に基き、資源回復のための前記ビットがセットされる、請求項１に記載の方法。
【請求項７】
メモリ・ブロックを借りることのできる期間、および
メモリ・ブロックが利用することのできる資源回復イベントの型
のうちの少なくとも１個を前記ビットが示すことができる、請求項１に記載の方法。
【請求項８】
メモリと、
前記メモリに通信可能に結合されたプロセッサと、
前記メモリおよび前記プロセッサに通信可能に結合されたパーティション制御モジュールとを含み、前記パーティション制御モジュールが、
少なくとも１個のメモリ・ブロックに、前記メモリ・ブロックのための借り状態を表す少なくとも１個のビットを関連付ける手段と、
前記資源回復のために前記ビットをセットする手段と、
資源回復イベントを検知する手段と、
資源回復のためにイネーブルされている前記ビットに応答して、前記資源回復に関連する情報を、該情報が恒久的ストレージに書き込まれるまで、前記メモリ・ブロック中に一時的に格納するために所与の期間、前記メモリ・ブロックを借りる手段とを含む、
資源回復するための情報処理システム。
【請求項９】
前記パーティション制御モジュールが、
前記資源回復イベントに関連し且つ第１のパーティション中にあるメモリ・イメージに対応する各メモリ・ブロックを前記恒久的ストレージにコピーする手段と、
借りた少なくとも１個のメモリ・ブロックに基く第２のパーティションと、前記コピーからフリーになった追加のブロックのメモリとを作り出す手段とを更に含み、
前記第２のパーティションを作り出す手段と、前記各メモリ・ブロックをコピーする手段とが並行して動作するように構成される、請求項８に記載の情報処理システム。 
【請求項１０】
前記パーティション制御モジュールが、
前記第２のパーティションが作り出されるのを判定する手段と、
前記第１のパーティションに関連する少なくとも１個の入出力動作を前記第２のパーティションに移行させる手段と、
前記第２のパーティション上で前記資源回復イベントに関連する前記メモリ・イメージを初期プログラム・ロードする手段と、
前記メモリ・イメージが前記恒久的ストレージにコピーされたと判定する手段と、
前記第１のパーティションを削除する手段と、
前記第２のパーティションを前記第１のパーティションと命名し直す手段と、
前記借りたメモリ・ブロックを夫々に戻す手段と
を更に含む、請求項８に記載の情報処理システム。 
【請求項１１】
前記資源回復イベントを検知する手段が、
前記資源回復イベントのために必要なメモリの量を判定する手段と、
利用できないとして回復のためにセットされた前記ビットにより少なくとも一部に実質的に十分なメモリがあると識別されるのに応答して、通常のシステム・ダンプ処理を実行するように前記資源回復イベントに関連するパーティションに通知する手段と、
利用できるとして回復のためにセットされた前記ビットにより少なくとも一部に実質的に十分なメモリがあると識別されるのに応答して、所与の期間、前記メモリ・ブロックを借りる手段と
を更に含む、請求項８に記載の情報処理システム。
【請求項１２】
オペレーティング・システム・リクエスト、
アプリケーション構成、および
システム管理者ポリシー
のうちの少なくとも１個に基き、資源回復のための前記ビットがセットされる、請求項９に記載の情報処理システム。
【請求項１３】
メモリ・ブロックを借りることのできる期間、および
メモリ・ブロックが利用することのできる資源回復イベントの型
のうちの少なくとも１個を前記ビットが示すことができる、請求項８に記載の情報処理システム。
【請求項１４】
資源回復するためのコンピュータ・プログラムであって、
少なくとも１個のメモリ・ブロックに、前記メモリ・ブロックのための借り状態を表す少なくとも１個のビットを関連付けるステップと、
前記資源回復のために前記ビットをセットするステップと、
資源回復イベントを検知するステップと、  
資源回復のためにイネーブルされている前記ビットに応答して、前記資源回復に関連する情報を、該情報が恒久的ストレージに書き込まれるまで、前記メモリ・ブロック中に一時的に格納するために所与の期間、前記メモリ・ブロックを借りるステップと
をコンピュータに実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理システムに関し、特に情報処理システムのために回復（復元）動作を管理するための方法、装置およびコンピュータ・プログラムに関する。
【背景技術】
【０００２】
典型的なコンピュータ・システムのデザインはオペレーティング・システム（ＯＳ）がクラッシュするのを以下の方法で取扱う。オペレーティング・システムがクラッシュした後、メモリに常駐するメモリ・イメージがＯＳイメージ中の種々のデータ構造のためのシンボル（記号）定義とともに、予め定義したディスク位置にコピーされる。このコピーはシステム管理者に制御を戻す前に行われる。このプロセスはシステム・ダンプと通常は呼ばれる。メモリ・イメージがコピーされる間、そのオペレーティング・システム・イメージおよびＣＰＵ資源（リソース）は利用不能であり、システムの長い機能停止が生じ得る。典型的なシステムにおける何十何百ギガバイトものリアル・メモリ・サイズでのシステム・ダンプが完了するまでに何時間も必要である。ＣＰＵおよびメモリ資源はこの動作中、排他的に使用される必要があり、これによってそのダンプ・データが変わってしまうのを回避し、そのダンプ中の診断データが恒久的なストレージに保存されるのを許容する。クラッシュしたオペレーティング・システムの再ＩＰＬ（再初期プログラム・ロード）がシステム・バンプ動作の後で順番に行われ、これによってシステムをともすれば長く機能停止にする。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従って、前述のような従来技術に係る問題を克服する必要性が存在する。
【課題を解決するための手段】
【０００４】
簡単にいえば、本発明により、資源回復のための情報処理システム、方法およびコンピュータ・プログラムが開示される。その方法は少なくとも1個のビットを少なくとも1個のメモリ・ブロックと関連させることを含む。そのビットはそのメモリ・ブロックのための借り状態を表す。そのビットは資源回復のためにセットされる。資源回復イベントが検知され、そのビットが資源回復のためにイネーブルされるのに応答して所与の期間、そのメモリ・ブロックを借りる。そのビットを借りて、資源回復に関連する情報をその情報が恒久的ストレージに書き込まれるまで一時的にそこに格納する。
【０００５】
他の実施例では、資源回復のための情報処理システムが開示される。その情報処理システムは、メモリおよびそのメモリに通信可能に結合されたプロセッサを含む。その情報処理システムはまたそのメモリおよびプロセッサに通信可能に結合されたパーティション制御モジュールを含む。パーティション制御モジュールは少なくとも1個のビットを少なくとも1個のメモリ・ブロックと関連付ける。そのビットはメモリ・ブロックの借り状態を表す。そのビットは資源回復のためにセットされる。資源回復イベントが検知され、資源回復のためにイネーブルされているビットに応答して所与の期間中、メモリ・ブロックを借りる。そのビットを借りて、その資源回復に関連する情報を、恒久的なストレージにその情報が書き込まれるまでそこに一時的に格納する。
【０００６】
更に他の実施例では、資源回復のためのコンピュータ・プログラムやその読取り可能媒体が開示される。このコンピュータ・プログラムは、少なくとも1個のビットを少なくとも1個のメモリ・ブロックに関連付ける。このビットはメモリ・ブロックのための借り状態を表す。そのビットは資源回復のためにセットされる。資源回復イベントが検知され、資源回復のためにイネーブルされているビットに応答して、所与の期間中、メモリ・ブロックを借りる。その資源回復に関連付けられた情報を、恒久的ストレージにその情報が書き込まれるまでそこに一時的に格納するために、そのビットを借りる。
【発明の効果】
【０００７】
本発明の1つの効果はシステム・ダンプにより引起される機能停止時間が顕著に短縮され、システムの高レベルの可用性が得られることである。本発明は同じコンピュータにおいてサーバーおよびストレージ・コントローラの両資源を並置することもできる利点があり、これによってそのストレージ・コントローラの大きな読出しキャッシュが一時的に再割当てされるのを許容する。再ＩＰＬされたサーバー・イメージがロードされるのをこの一時的な再割当てが許容し、その間にメモリ・イメージがディスクにコピーされる。その本来の利用から一時的に取り上げさせられていた他のメモリの利用がストレージ・コントローラ読出しキャッシュのほかにも使用可能であり、これは本発明が仮想化された環境にも同様に適用されるのを許容する。 
【０００８】
本発明の他の効果はシステム・クラッシュからの機能停止時間が特定の構成パラメータと追加のリアル・メモリ・データ構造とを用いて短縮できることである。これらの構成パラメータとデータ構造とは、メモリおよびＣＰＵの資源（リソース）を長期間に亘ってホールドすることになる、システム・ダンプその他の長期間かかる回復動作中に、コンピュータに於けるその制御ファームウエアが一層適切なリアル・メモリの割当てを許容する。
【発明を実施するための最良の形態】
【０００９】
必要に応じて、本発明の詳細な説明がここに開示されるが、開示した実施例は本発明の単なる例示であり、種々の形態で実施できる。従ってここに開示する特定の構造および機能の詳細は、特許請求の範囲を制限するものと解釈してはならず、その基礎となり、また本発明をいろいろに用いて事実上任意の適当な詳細構造を当業者に教示するための代表例として解釈すべきである。更に、ここで使用される用語および句が制限することを企図しておらず、本発明の理解可能な記述を提供することを企図している。
ここで使用する「単数」とも見える表現は1個もしくはそれ以上を意味する。ここで使用する「複数個の」という用語は２またはそれ以上をいう。ここで使用する「他の」という用語は少なくとも第２のもしくはそれ以上を意味する。ここで使用する「含む」および／もしくは「有する」という用語は「含む」（すなわちオープンで閉じていない言語）を意味する。ここで使用する「結合」という用語は必ずしも直接にでも、必ずしも物理的にでもない「結合」を意味する。ここで使用する「プログラム」「ソフトウエア・アプリケーション」等はコンピュータ・システムで実行されるように設計された命令シーケンスと定義される。プログラム、コンピュータ・プログラム、もしくはソフトウエア・アプリケーションはサブルーチン、機能、手順、オブジェクト・メソッド、オブジェクト・インプリメンテーション、実行可能アプリケーション、アプレット、サーブレット(servlet)、ソース・コード、オブジェクト・コード、共有ライブラリ／ダイナミック・ロード・ライブラリおよび／もしくはコンピュータ・システム上で実行されるように設計された他の命令シーケンスを含んでもよい。
【００１０】
別個の図面に亘って同様の参照番号が同一のまたは機能的に類似のエレメントを表し、また詳細な説明とともに明細書に組込まれてその一部を構成する添付の図面は全て本発明による種々の実施例を示し、またその種々の原理および効果を説明するのに役立つ。
【００１１】
例示のコンピューティング環境
図１は本発明の実施例が導入される例示のコンピューティング環境１００を示す。一例では、そのコンピューティング環境１００が、図１に示すようにＩＢＭ（ＩＢＭ社の登録商標）２１０７モデル９Ｂ２  Ｅｎｔｅｒｐｒｉｚｅ  ＤＳ８０００ディスク・サブシステムに導入される分散コンピューティング環境である。しかしここでは一例としてのみ使用されるだけで本発明がＩＢＭ２１０７システムに限らないことに留意されたい。図の例はそのディスク・サブシステムの一つのコントローラだけを示す。第２の結合されたコントローラは２１０７システムの一部であるが、簡単にするために図示していない。本発明が単一のシステムおよび分散コンピューティング環境の両方に適用可能であることに留意されたい。
【００１２】
一実施例では、コンピューティング環境１００は、オペレーティング・システム・イメージがインスタンス化される複数の論理パーティションを備えたＳＭＰコンピューティング環境である。ＳＭＰコンピューティング環境では、同じ処理ノード上の種々のプロセッサ上で実行する幾つかのタスク（プロセス）を並列のアプリケーションが持つことができる。そのコンピューティング環境１００は、複数個のネットワーク・アダプタ１０３を介して相互に結合された複数の処理ノード１１２、１１３、１１４上で動作する。各処理ノード１１２、１１３、１１４はそれ自身のオペレーティング・システム・イメージ（図１の「ＯＳイメージ」）１２０、１２１、１２２とは独立である。各論理パーティション（図１のＬＰＡＲ  Ａ）１１２、（同ＬＰＡＲ  Ｂ）１１３、（同ＬＰＡＲ  Ｃ）１１４は複数個の処理装置（図１の「ＣＰ」）１０６をマイクロ・パーティショニングと呼ばれる態様で共有する。マイクロ・パーティショニングでは、処理装置がその同じ処理装置上の、ハイパーバイザ（「パーティション制御モジュール」ともいう）１１１によって時間的にスライスされることができる。他の実施例では、プロセッサ１０６を共有する必要はない。各ＬＰＡＲはそれ自身のプロセッサの全てを含み、コンテンツを登録する。処理装置中のＬ１、Ｌ２、およびＬ３キャッシュは、これらの特定の処理装置１０６上で実行するのを許容されたＬＰＡＲにまたがっての実装に依存して共有もしくは専有され得る。各ＬＰＡＲ１１２、１１３、１１４、ハイパーバイザ１１１は、他の未使用のもしくは割当てられていないメモリ１１５と同様に、コンピューティング環境（システム）１００のリアル・メモリ１０７のサブシステム中に含まれる。例示の実施例では、これが２５６ギガバイトのアドレス可能メモリである。
【００１３】
ハイパーバイザ１１１は一つのＬＰＡＲから他のＬＰＡＲへの共有ＣＰＵ上でのメモリ・マッピング、コンテキスト・スイッチングに関してのＬＰＡＲ（処理ノード）群１１２、１１３、１１４の制御エレメントであり、ソフトウエアからリアル・ハードウエアへの全ての通信（伝送）に一般的に関係する。ＣＰユニット１０６およびリアル・メモリ１０７の間のコネクションは汎用目的コンピュータ上で見られるようにメモリ・バスおよびメモリ・コントローラを介してである。サービス・プロセッサ（ＳＰ）１３０は、コンピューティング環境１００における多くのコンピュータへの、それ自身のワイヤリングされた電子ネットワークを含む、制御および装置初期化プロセッサである。ブロック１１０はハードウエア管理コンソール（ＨＭＣ）１１６のために使用されるネットワーク・ポートを許容する接続ブロックである。このコンソール（制御卓ないし操作卓）は、特定のパーティションがメモリ借りを許容するのを許容するといったようなポリシー選択、ならびにパーティションのサイズおよび型のような構成値をシステム管理者がセットするのに使用される。
【００１４】
４個のプロセッサ１０６のみが図示されているが、もっと少ないあるいはもっと多いプロセッサがこの実施例の変形例で使用され得る。幾つかの実施例では、種々のＬＰＡＲ１１２、１１３、１１４が処理クラスタの一部となることができる。これらの変形例の全てが本発明の実施例として考慮される。
【００１５】
図２はコンピューティング環境１００における典型的なオペレーティング・システム・イメージのためのメモリ・マップの全体像を示すブロック図である。本発明の他の実施例が、サイズおよび型の両方のメモリ割当てを多かれ少なかれ有することができることに留意されたい。図２の上半分にはオペレーティング・システム・イメージ２０１を示している。オペレーティング・システムはオペレーティング環境で使用されるために構成された資源および機能に基づきオペレーティング・システムによって計算されるサイズでセットされ得るような必要な量のメモリを典型的には有する。リアル・メモリのこの範囲はハイパーバイザ１１１によるメモリ借りのために典型的にはイネーブルされないであろう。
【００１６】
ブロック２０９は、本発明の一部として呼び出し得るオペレーティング・システムの一部である割込みハンドラ・プログラムを示す。これはシステム・クラッシュまたはユーザーが開始するシステム・ダンプの後実行されるプログラムである。ブロック２０６はリアル・メモリ中にピン止めされる（pinned）バッファ・プールを有するデータベースのようなアプリケーションによって使用されるメモリであり、それらはページ・アウトされない。リアル・メモリのこの範囲は典型的にはハイパーバイザ１１１によって借りているメモリのためにイネーブルされない。ブロック２０７は典型的なＵＮＩＸまたはＬＩＮＵＸのオペレーティング・システムに於けるようなカーネル・バッファ・キャッシュのために使用されるメモリである。このメモリはメモリ中のディスク・ブロックの単なる読出しのために使用される多くのリアル・メモリ・ページを含む。このリアル・メモリの範囲はハイパーバイザ１１１によって借りているメモリのために典型的にはイネーブルされる。ブロック２０８は現在割当てられる自由なメモリであるが、将来のデマンド・ページ・リクエストを処理するためのメモリの自由なプールとしてオペレーティング・システムによっては使用されない。リアル・メモリのこの範囲はハイパーバイザ１１１によって借りているメモリのために典型的にはイネーブルされる。
【００１７】
ハイパーバイザ１１１はリアル・メモリ管理、マッピングおよび個々のＬＰＡＲ１１２、１１３、１１４への割当ての責任を負う。メモリ管理およびマッピングを行うためには、ページ・テーブルと一般に呼ばれるデータ構造が使用される。ページ・テーブル中の各エントリは各ページについての情報または情報へのポインタを保持する。本発明の一実施例では、「借りのためのイネーブル」ビット、以下で「借りビット」と呼ばれる新規なビットが、ハイパーバイザ１１１にどのリアル・メモリ・ページが借りられるかを知らせるのに使用される。オペレーティング・システム１２２、ストレージ・コントローラ・イメージ１２０およびＨＭＣ１１６の構成が初期化のときハイパーバイザを呼出し、１個または複数個の借りビットをオンまたはオフにセットするのにリアル・メモリ・ページの適当な状態変化を呼出す。
【００１８】
図１および図２の組合せは図１に示すようなコンピューティング環境１００で使用するための情報処理システム１０１の詳細図を含む。しかし、以下の説明がパーソナル・コンピュータ（例えば、デスクトップもしくはノートブック）やワークステーションなどにも適用できることを理解されたい。換言すると、任意の適切に構成された処理システムが本発明の他の実施例で情報処理システム１０１として同様に使用できる。情報処理システム１０１はコンピュータ２０１および２６０を含む。
【００１９】
情報処理装置１０１はまた１個もしくは複数個のプロセッサ１０６を含む。プロセッサ１０６はリアル・メモリであるメイン・メモリ１０７、Ｉ／Ｏサブシステム（１１７、１１８、１０３および１０２）にＩ／Ｏバスを介して通信可能に結合される。メイン・メモリ１０７はランダム・アクセス・メモリ（ＲＡＭ）などの揮発性メモリまたは不揮発性メモリであってもよい。メイン・メモリ１０７に常駐する任意のコンポーネントが、ＤＡＳＤ１０４、電子的に消去可能でプログラム可能な読取専用メモリ・スペース（ＥＥＰＲＯＭまたはフラッシュ・メモリ）、ＲＡＭドライブなどの不揮発性メモリに格納されていてもよいことに留意されたい。情報処理システム１０１はまたマス・ストレージ・インターフェース１０２、ターミナル・インターフェース１１６、Ｉ／Ｏアダプタ・スロットおよびハードウエアのネットワーク・アダプタ１０３を含む。Ｉ／Ｏハブ１１７およびＩ／Ｏドロワ１０８間の入出力バスがこれらのコンポーネントを接続する。
【００２０】
マス・ストレージ・インターフェース１０２がデータ・ストレージ装置１０４などのマス・ストレージ装置を情報処理システム１０１に接続するのに使用される。データ・ストレージ装置の一つの特定の型は、コンパクト・ディスク（ＣＤ）ドライブなどのコンピュータ読取り可能媒体であり、これはＣＤやＤＶＤにデータを読み書きするのに使用できる。データ・ストレージ装置の他の型は、例えばＪＦＳ２型のファイル・システム動作をサポートするように構成されたハード・ディスクである。一実施例では、マス・ストレージ・インターフェース１０２は、以下で詳細に説明するストレージ・コントローラ読出しキャッシュ２５２を含む。
【００２１】
コンピューティング環境１００にユーザー・インターフェースを提供するためにコンソールを情報処理システム１０１に直接接続するのにターミナル・インターフェース１１６が使用される。システム管理者およびユーザーが情報処理システム１０１と通信するのを許容するために、非インテリジェントなもしくは完全にプログラム可能なワークステーションとなることができるターミナルが使用される。これらのターミナルは簡単化のために図示しない。これらのターミナルはまた情報処理システム１０１に接続される周辺装置およびユーザー・インターフェースを含むことができる。ユーザー・インターフェースおよび周辺装置はそのターミナルに含まれるターミナル・インターフェース・ハードウエアによって制御される。ユーザー・インターフェースおよび周辺装置はビデオ・アダプタと、キーボード、ポインティング装置などのためのインターフェースとを含むことができる。
【００２２】
ネットワーク・アダプタ（ハードウエア）１０３および１０５が、他のコンピュータとのデータ通信を行うためのネットワーク（図示せず）へのインターフェースを提供する。このようなデータ通信はＩＰネットワークなどのデータ通信ネットワークを介し、あるいは他の任意の方法で行われてもよい。ネットワーク・アダプタは、一つのコンピュータが他のコンピュータに直接にもしくはネットワークを介してデータを送るハードウエア・レベルのデータ通信を行う。本発明の実施例による送信先の利用可能性を決定するのに有用な通信アダプタの例は、有線のダイアルアップ通信のためのモデム、有線のネットワーク通信のためのイーサネット（ＩＥＥＥ８０２．３）アダプタ、ワイヤレス・ネットワーク通信のための８０２．１１アダプタを含む。本発明の実施例は今日のアナログおよび／もしくはデジタル技法を含む任意のデータ通信接続、あるいは将来のネットワーク機構を介しての任意のデータ通信接続と協働するように適用することができる。
【００２３】
メイン・メモリ１０７はハイパーバイザ１１１、パーティションＡ（ＬＰＡＲ  Ａ）１１２、パーティションＢ（ＬＰＡＲ  Ｂ）１１３およびパーティションＣ（ＬＰＡＲ  Ｃ）１１４など１個もしくはそれ以上の論理パーティション（ＬＰＡＲ）ならびにメモリ・プール１１５を含む。図示していないが、メイン・メモリ１０７中に他のコンポーネントがあってもよいことを理解されたい。メモリ・プール１１５は、一実施例において各パーティション１１２、１１３、１１４にとって利用可能な未使用なメモリのプールである。ハイパーバイザ１１１は、一実施例においてファームウエア中にあってよく、論理パーティションの創出、削除および管理を制御する。ハイパーバイザ１１１は、一実施例において回復論理を含むが、この詳細については後述する。論理パーティション１１２、１１３、１１４は一実施例では、単一のコンピュータ中でそのコンピュータ機能をそれがあたかも２個もしくはそれ以上の独立のコンピュータであるかのようにするためのコンピュータ資源の分配を可能にする（イネーブルする）一組のデータ構造およびサービスである。各論理パーティションには、プロセッサ・タイム、メモリ、オペレーティング・システムなど、それがあたかも独立のコンピュータであるかのように動作するのにそれが必要とする全ての資源が割当てられる。
【００２４】
ハイパーバイザ１１１は、論理パーティション１１２、１１３、１１４のオペレーティング・システム１２０、１２１、１２２の下で稼動するシステム・ソフトウエアの層である。即ち、ハイパーバイザ１１１はオペレーティング・システム１２０、１２１、１２２と、物理的プロセッサ１０６を含む、基になる物理的コンピュータ・コンポーネントとの間で稼動する。それはとりわけ、物理的プロセッサ１０６上の仮想プロセッサをスケジュールするための、ハイパーバイザ１１１の機能である。各パーティション１１２、１１３、１１４のＯＳ１２０、１２１、１２２は、スレッドをスケジュールし、スレッドにシステム資源を利用できるようにする機能（メモリ・アクセス、入出力資源へのアクセスなどを含む）を提供するするシステム・ソフトウエアの層である。ＯＳ１２０、１２１、１２２はコンピュータ資源へのアクセスのための割当ておよび認可を制御する。ＯＳ１２０、１２１、１２２は、キーボードからの入力を認識し、ディスプレイ・スクリーンに出力を送り、磁気ディスク・ドライブ上でファイルおよびディレクトリを追跡し、ディスク・ドライブおよびプリンタなどの周辺装置を制御するといった低レベルの基本タスクを実行する。
【００２５】
ＯＳ１２０、１２１、１２２はまたセキュリティを確保する役割があり、権限のないユーザーがシステムをアクセスしないよう、またアクセス権限のある資源のみにスレッドがアクセスするように確保する。本発明の実施例によるマルチスレッド・コンピュータにおけるスレッドをスケジュールするのに有用なオペレーティング・システムはマルチスレッド・オペレーティング・システムであり、その例はＵＮＩＸ（Ｔｈｅ  Ｏｐｅｎ  Ｇｒｏｕｐの商標）、Ｌｉｎｕｘ（Ｌｉｎｕｓ  Ｔｏｒｖａｌｄｓ氏の商標）、ＡＩＸ（ＩＢＭ社の商標）、ＩＢＭ社のｉ５ＯＳおよびそのほかにも多くある。
【００２６】
一実施例では、パーティションＢ  １１３がＡＩＸ  ＯＳなどの汎用目的のＯＳイメージを含み、パーティションＡ  １１２がストレージ・コントローラ・イメージを含むことができる。各パーティション１１２、１１３、１１４はまた１個もしくはそれ以上のメモリ・ブロック２０５、２０６、２０７、２０８、２０９、２５０、２５１、２５２、２５３，２５４よりなるメモリ２０１、２６０を含む。各パーティション１１２、１１３、１１４のＯＳ１２０、１２１、１２２は初期プログラムロード（ＩＰＬ）を実行することによって初期化される。ＩＰＬが実行されると、パーティション１１２、１１３、１１４のリアル・メモリ・ブロック２０８、２０７、２５２の大半が、ＯＳ１２０、１２１、１２２の必要性に応じて「借りビット」がイネーブル（「１」）もしくはディスエーブル（「０」）にセットされる。一実施例では、ストレージ・コントローラ・イメージ１２０を含むパーティションＡ  １１２のリアル・メモリ・ブロックがストレージ・コントローラ読出しキャッシュ２５２のような大型読出しキャッシュの一部となり得る。大抵のオペレーティング・システムはリアル・メモリのための絶対的な最小サイズを有し、これらのブロックは借りのためにはイネーブルされない。
【００２７】
一実施例の「借りビット」は、もし対応するメモリ・ブロックがシステム・ダンプなどの回復アクションのために借りられるなら、ハイパーバイザ１１１に知らせるデータ構造制御ビットとなる。また、どれだけの長さのメモリ・ブロックを借りることができるか、どの型の回復動作のためにそのメモリ・ブロックを借りることができるかなどを示すメモリ・ブロック２０８、２０７、２５２のための追加のビットを含めることができる。これらのビットはハイパーバイザ１１１のためのページ・テーブル・データ構造中に置くことができる。「借りビット」はオペレーティング・システムのリクエスト、アプリケーション構成、システム管理者のポリシーに基いてセットされることができる。
【００２８】
ハイパーバイザ１１１は「借りビット」をセットするために、また適切なデータ構造の必要な更新を行うために各パーティション１１２、１１３、１１４からのインターフェース呼出しを受容れる。ハイパーバイザ１１１は、借りられるページもしくはページの範囲のアドレスを含むリストもしくはそのリストへのポインタを更新することもできる。ハイパーバイザ１１１はまた借りられるメモリ・ブロックの総数をモニタすることもできる。ＯＳ１２０、１２１、１２２は、更新される「借りビット」の状態をリクエストすることもできる。例えば、もし以前に借りられるようにされたリアル・メモリ（例えば、ピン止めされたメモリ・リクエスト）に維持される特定のページをＯＳ１２０、１２１、１２２が必要とするなら、これらのページの状態が、イネーブルされた「借りビット」からディスエーブルされた「借りビット」に更新され得る。この状態で、ハイパーバイザ１１１がその状態変化に関連するメモリ・ブロックのための適切なデータ構造を更新する。
【００２９】
もしＯＳクラッシュなどのイベント（事象）が起こると、そのイベントが起こったパーティションによりダンプ割込みハンドラ２０９が呼び出される。例えば、パーティションＢ  １１３のＯＳイメージ１２１がクラッシュする場合を考えてみよう。パーティションＢのダンプ割込みハンドラ２０９がそのイベントを知らせる(post)ためにハイパーバイザ１１１に常駐する回復論理を呼び出す。回復論理は回復動作モードをそれから開始する。ハイパーバイザ１１１は、そのパーティション・イメージを凍結するかどうか、もしくはダンプ割込みハンドラ２０９に知らせて通常のシステム・ダンプ手順を実行するかどうかを決定する。ハイパーバイザ１１１はパーティションの構成を分析し、高速システムＩＰＬが完了し得るか決定する。高速ＩＰＬは、一実施例では、故障したパーティションの恒久的なストレージへのシステム・ダンプと並行して、その故障したパーティションの新しいコピーのＩＰＬである。
【００３０】
故障したパーティションの新しいコピーは未使用メモリ１１５、借りたメモリ２０７、２０８、２５２および解放されたメモリ１１３の組合せに初期化される。何故なら故障したパーティションのメモリは進行中のダンプによってフリーにされるからである。一実施例では、ハイパーバイザ１１１における回復論理はそのパーティションが高速ＩＰＬを許容するように構成されているかを決定し、そしてどれだけの量のメモリが割当てられ、借りられ、そして解放されてその高速のＩＰＬを実行する必要があるかを決定する。この必要な量のメモリは、ＨＭＣ１１６、ページ・テーブル、およびハイパーバイザ１１１中の関連したデータ構造に定義されたパーティション構成パラメータから決定されることができる。その決定が高速ＩＰＬを行うと一旦されたなら、ハイパーバイザ１１１中の回復論理が、予め定義されたパーティション、この場合パーティションＣを活性化する。これはＨＭＣ１１６の構成に反映され、そしてパーティションＢのＩ／ＯアダプタをパーティションＣに移す。メモリ再割当ておよび借りならびに予め定義したパーティションへのＩ／Ｏの移行の組合せは、故障したパーティションを高速ＩＰＬするのに必要な総合的な資源を提供する。
【００３１】
回復イベントがハイパーバイザ１１１に一旦知らされてしまうと、未使用エリア１１５中で利用できる未使用メモリの量と、パーティションＡのための２５２などの他のパーティションで利用可能なメモリとを決定する。例えば、パーティションＢ  １１３のシステム・クラッシュ後、ハイパーバイザ１１１はパーティションＡのための２５２のストレージ・コントローラ・イメージの借りているイネーブルされた読出しキャッシュとメモリ・プール１１５中の未使用メモリとの間に十分なメモリが存在するかを決定する。それはＨＭＣ１１６の構成中に定義された最小の必要量に対しその利用可能量を比較し、もしその利用可能量が、最小として定義された量と一致するか超えるならそれは高速ＩＰＬを開始する。もしそれが一致しないなら、ハイパーバイザ１１１はＨＭＣ構成からポリシーで定義した順序で他のパーティションから追加の借りのイネーブルされたメモリ・ブロックを探す。一実施例では、情報処理システム１０１はデフォールト時に借りのためにイネーブルされ種々のパーティション１１２、１１４によって借りるように割当てられるメモリとなる、メモリの未使用なプールを含むことができ、もしそのパーティションが高速ＩＰＬを行うよう許容されないなら、あるいはクラッシュしたＯＳイメージに必要な量のメモリをその２個のパーティション間に十分な量もメモリがないなら、ファームウエアはダンプ割込みプログラムが通常のシステム・ダンプ処理を続行することを許容する値を戻す。
【００３２】
もしパーティション（パーティションＢ  １１３）が高速ＩＰＬのために構成され、そして十分利用可能なメモリがあれば、ハイパーバイザ１１１中の回復論理がクラッシュしたＯＳイメージ１１３のシステム・ダンプおよびＩＰＬを並行して実行することができる。第１の動作はクラッシュしたＯＳイメージ１１３に凍結値を戻すことであり、そしてハイパーバイザ１１１がダイナミック・パーティション動作を介してメモリ・ブロックを必要であれば借りる。例えば、ＯＳイメージ１１３を凍結した後、ハイパーバイザ１１１がそのクラッシュしたＯＳイメージ１１３のＩＰＬを開始するのに十分なメモリがあるかを判定し、そしてストレージ・コントローラ読出しキャッシュ２５２を減じることなくそれを終了する。もしフルＯＳイメージのためにストレージ・コントローラ読出しキャッシュ２５２を用いずに十分なメモリがあれば、ＩＰＬが開始される。ＩＰＬが完了すると、生産的な作業が再開する。
【００３３】
ストレージ・コントローラ読出しキャッシュ２５２の利点の一つは、このメモリが進行中のもしくは将来のディスク書込みの動作、他のＬＰＡＲメモリ・パフォーマンスに悪影響を及ぼさずに短期間の間使用され得ることであり、ディスク読出しの低下のみが生じる。この例では、故障したパーティションＢ  １１３がそのクラッシュ・イベントの直前におそらくはある程度の量のストレージ・コントローラ読出しキャッシュ２５２を使用していたとする。この例では、この読出しキャッシュの内容はもはや有効ではなく、その結果、読出しキャッシュをパフォーマンスには全く影響させない程度、減少させる。もし十分なメモリが存在しなければ、クラッシュしたＯＳイメージ１１３のメモリ・イメージを恒久的なストレージにコピーするという第２の動作を行う。
【００３４】
高速ＩＰＬを行うと一旦決定すると、ハイパーバイザ１１１中の回復論理は、予め定義したパーティション（この例ではパーティションＣ）を活性化する。これはＨＭＬ１１６の構成に反映され、そこでハイパーバイザ１１１はパーティションＣにパーティションＢのＩ／Ｏアダプタを移行する。メモリ再割当て／借りと予め定義したパーティションへのＩ／Ｏアダプタの移行との組合せが高速ＩＰＬに必要な全体の資源のためにその故障したパーティションを提供する。
【００３５】
この例でクラッシュしたＯＳパーティションＢ  １１３からメモリを解放するプロセスは未使用メモリ１１５とストレージ・コントローラ読出しキャッシュ２５２との間の最小のメモリ要求に合致するのに足るメモリがあってもよいという利点を有するが、所望の量のメモリは合致しないかも知れない。ハイパーバイザ１１１はパーティションＢの新しいコピーの高速ＩＰＬを開始することができ、またクラッシュしたＯＳパーティションＢから予め構成した恒久的ストーレッジ１０４へのデータ移行を並行処理することができる。ＣＰＵの状態、レジスタおよび、メモリ・イメージがこの装置にコピーされる。
【００３６】
１ページもしくはある範囲のページがすっかりコピーされるので、ハイパーバイザ１１１はこれらのページを、クラッシュしたパーティション（パーティションＢ  １１３）のＯＳの再ＩＰＬのために利用できるようにする。これは全体のイメージが恒久的ストレージ１０４にコピーされてしまうまで続く。従って、高速ＩＰＬは同時に実行され得るし、新しいパーティションをもっと短い時間で所望のメモリ要求に合わせて構成させることができる。更には、解放プロセスが、借りたメモリをストレージ・コントローラ読出しキャッシュ２５２に戻すのを開始することができ、それから更に未使用メモリ１１５が全システム環境への停止期間の影響を減じることができる。
【００３７】
パーティションが初期プログラム・ロード（ＩＰＬ）されている間に、所望のメモリ・サイズが得られる。あるいはＩＰＬの後でさえ借りプールから利用できる全てのメモリを獲得したり、パーティションＢのメモリ・イメージを恒久的ストレージにコピーしたりするのに遅れがある。パーティションＣ  １１４はメモリ２０７に常駐しているメモリ・ブロックにセットされたオプショナルの「借りビット」を有することもできる。これらの「借りビット」およびメモリ・ブロックはパーティションＣ  １１４では簡単にするために示されていない。
【００３８】
パーティションＢからのＯＳイメージ１１３が恒久的ストレージ１０４に一旦コピーされると、ディスクへのＯＳイメージのコピーが完了することである、例えばＯＳイメージ１１３への特定の装置エラーの形式での状態メッセージが通知される。一実施例では、ＯＳイメージ中の特定の装置からのエラーに基いて、自動化されたタスクもしくは手動のタスクがハイパーバイザ１１１によって開始される。このタスクはクラッシュしたＯＳイメージの装置をその幾つかの装置のうちの一つとしてオンラインでもたらす。クラッシュしたＯＳイメージからのデータのコピー動作およびフォーマット動作が、記号テーブルなどオペレーティング・システムからの適切な対をなすデータを伴う、通常のシステム・ダンプとして開始される。ＯＳイメージはクラッシュしたメモリ・イメージ装置をリリースし、可変オフ動作（vary-off-operation）およびストレージ・コントローラへの特別のコマンドを介してそのストレージ・コントローラに戻す。
【００３９】
完了コードを一旦受取ると、クラッシュしたＯＳイメージからのメモリがダイナミック・パーティション動作を介して適切な所有するパーティションに戻される。例えば、ハイパーバイザ１１１中の回復論理は、どれだけ多くのメモリがそのコピーされたＯＳイメージ１２０、ストレージ・コントローラ読出しキャッシュ２５２、およびメモリ・プール１１５などの利用可能なメモリに戻される必要があるかを決定するためにメモリ計算を実行するか決定する。もし所望の状態のイメージを獲得するために、そのコピーされたＯＳイメージ１１３のために何らかのメモリがなおも必要であれば、ハイパーバイザ１１１はこのメモリをＯＳイメージ１１３にダイナミックに加える。ハイパーバイザ１１１はＯＳイメージ１１３から余分のメモリがあればそれを利用可能な未使用メモリ１１５に戻す。これらの１つもしくはそれ以上のメモリ再割当てステップは互いに並行してもしくは順次に行うことができる。全てのページがそれらの個々の所有者（オーナー）に戻されると、ハイパーバイザ１１１はパーティションＢの定義を削除し、パーティションＣをパーティションＢに命名し直す。
【００４０】
このように、本発明はシステム・クラッシュなどの回復動作中、システム停止時間を減じる。本発明は追加のデータ構造制御ビットを介し、仮想化されたパーティション１１２、１１３、１１４とハイパーバイザ１１１との間の通信を提供する。制御ビットがハイパーバイザ１１１のリアル・メモリ割当て構造に置かれる。そのリアル・メモリ・ブロックは、システム・ダンプなどの回復動作中使用するために、主たるオーナーのパーティションから借りることができる。その等価のもしくは同じリアル・メモリ・ブロックは回復動作の完了後、主たるオーナーのパーティションに戻される。各メモリ・ブロックもしくはページのグループは、このページを回復動作のために借りることができるかということをハイパーバイザ１１１に知らせる追加の１個もしくは複数個のビット、即ち「借りビット」を有することができる。ページを借りることができるかということを決定するには１ビットで十分であるが、何かをどれくらいの長さ借りることができるかということを更に分類するのに追加のビットを使用することができる。一実施例は回復動作の長さおよび／もしくはクラス（分類）の分のビット数を有することができる。これらの分類はグループ分けの型として分もしくは時間の単位での回復動作として分類され得る。
【００４１】
仮想化された資源でもって適切に構成されたコンピュータにおいて回復動作のイベントが一旦行われると、ハイパーバイザ１１１は故障したパーティションの古いメモリ・イメージを保存しながら、故障したパーティションの高速の再ＩＰＬをイネーブルするためにメモリ資源およびＣＰＵ資源をリスト構造およびそれらの構造へのポインタを介して借りることができる。再ＩＰＬと並行して、故障したパーティション・メモリ・イメージを恒久的なストレージに書き込むことができる。故障したパーティション・メモリ・イメージが恒久的なストレージに一旦書き込まれてしまうと、パーティション制御モジュールはその借りたページをそれらの以前のオーナーにダイナミックに「戻す」ことができ、こうしてシステム機能およびパフォーマンスをフルに復元する。
【００４２】
本発明の実施例が、完全に機能的なコンピュータ・システムのコンテキストにおいて記述されているが、実施例はＣＤおよびその等価物、フレキシブル・ディスクもしくは他の形式の記録可能媒体を介して、あるいは任意の型の電子転送機構を介してプログラム製品として頒布されることができる。
【００４３】
「借りビット」をセットするプロセス
図３は高速システム・ダンプ手順のために「借りビット」をセットするプロセスを説明する動作フローチャートである。図３の動作フローチャートはステップ３０２で始まり、ステップ３０４に直接進む。ステップ３０４では、情報処理システム１０１がパーティションＡ  １１２、パーティションＢ  １１３など複数個の仮想化されたパーティションでもって構成される。ステップ３０６では、各パーティション１１２、１１３、１１４が初期プログラム・ロードされ、これによって各パーティション１１２、１１３、１１４のリアル・メモリ・ブロック２０５、２０６、２０７、２０８、２５０、２５１、２５２、２５３が初期化される。また、「借りビット」がメモリ・ブロックもしくはある範囲のメモリ・ブロックごとにイネーブルもしくはディスエーブルされる。
【００４４】
ハイパーバイザ即ちパーティション制御モジュール１１１はステップ３０８で、「借りビット」をセットするリクエストを受容れ、リアル・メモリ・ページ位置を、イネーブルの借りビットでもってページ・テーブル・エントリを介してマークする。パーティション制御モジュール１１１はまた、借りることのできるページもしくはページ範囲のアドレスでもってリストもしくはリストへのポインタのいずれかを更新する。パーティション制御モジュールは情報処理システム１０１で借りることができるページの総数を再計算することもできる。
【００４５】
ステップ３１０で、パーティション制御モジュール１１１はパーティションＡ  １１２、パーティションＢ  １１３中の各オペレーティング・システム（ＯＳ）からリクエストを受けて特定のページをリアル・メモリ中に保持させることもできる。換言すると、オペレーティング・システム１２０、１２１はメモリ・ブロックの「借りビット」をイネーブルからディスエーブルに変化させるようにリクエストする。これは、パーティションＡ  １１２およびパーティションＢ  １１３中のオペレーティング・システム１２０、１２１がそれらのアプリケーションの通常の使用を通じて稼動した後に生じ得る。
【００４６】
ステップ３１２で、パーティション制御モジュール１１１が、「借りビット」をセットされないようにするリクエストを受容れる。パーティション制御モジュール１１１はリアル・メモリ・ブロック位置をディスエーブルという「借りビット」でもってマークし、またページもしくはページ範囲のアドレスを除去するリストもしくはリストへのポインタのいずれかを更新する。これはメモリ・ブロックをもはや借りることができないことを示す。パーティション制御モジュール１１１は情報処理システム１０１中の借りることができるページの総数を再計算することもできる。
【００４７】
ステップ３１４で、パーティション制御モジュール１１１が１個もしくはそれ以上のパーティション１１３、１１４で回復動作を必要とするイベントが生じたか検知する。例えば、パーティション制御モジュール１１１はパーティションＢ  １１３のオペレーティング・システム１２１がクラッシュしたことを検知する。パーティション制御モジュール１１１はパーティションＢ  １１３のダンプ割込みハンドラ２０９からの回復動作リクエストを受取る。この制御は図４の入り口Ａに進み、パーティション制御モジュール１１１がクラッシュしたＯＳイメージ１２１を凍結するかどうか、あるいは通常のダンプ手順を実行するかどうか判定することができる。
【００４８】
図４および図５はシステム・ダンプおよびＩＰＬ動作を並行して実行するプロセスを説明する、動作のフローチャートである。図３からの制御の流れは図４の入口Ａに進む。パーティション制御モジュール１１１は、ステップ４０２で、パーティションがどのように構成されるかに基いて高速ＩＰＬが完了できるかを判定する。一実施例では、パーティション制御モジュール１１１が、クラッシュしたＯＳイメージ１２１のためにどれだけ多くのメモリを借りる必要があるのか判定する。
【００４９】
パーティション制御モジュール１１１が、ステップ４０４で、情報処理システム１０１がクラッシュしたＯＳイメージを回復させるに足るメモリを含むか判定する。もしこの判定の結果がノーであれば、パーティションＢ  １１３がステップ４０６で通常のダンプ手順を使用するように通知される。また、もしパーティション制御モジュールが、パーティションＢは高速ＩＰＬ動作のために構成されていないと判定するなら、パーティション制御モジュール１１１は通常のダンプ手順を実行するようにパーティションＢ  ｌ１３に通知する。
【００５０】
ステップ４１０では、もしこの判定の結果がイエスであれば、パーティション制御モジュール１１１によって凍結される凍結値をパーティションＢ  １１３中のクラッシュしたＯＳ１２１にパーティション制御モジュール１１１が戻す。パーティション制御モジュール１１１はまた他のパーティションからの必要な借りページと、ＩＰＬのパーティションＢのＯＳ１２１に新しいパーティションＣ  １１４を構築するのに足りるメモリを割当てるために未使用メモリ・スペースとをダイナミック・パーティション動作を介してリクエストすることを開始する。制御は図５の入口Ｂに進む。
【００５１】
ステップ４１０と並行に、パーティション制御モジュール１１１はステップ４１２で、パーティションＢのメモリ・イメージを恒久的ストレージ１０４にコピーし始める。それがページもしくはページの範囲をコピーする際、パーティション制御モジュール１１１はこれらのページをパーティションＢのＯＳ１２１の再ＩＰＬのために利用できるようにする。各ページもしくはページの範囲がコピーされる際、パーティション制御モジュール１１１はこれらのページ位置をパーティションＣ  １１４のための利用可能なメモリに加える。これは全イメージがコピーされるまで続く。制御は図５の入口Ｂに進む。
【００５２】
定義され、作り出されるべき十分なメモリがパーティションＣに利用できると、パーティション制御モジュール１１１が、ステップ５０２で、パーティションＢのためのＩ／ＯをパーティションＣに移行する。パーティションＣのための全てのメモリがそのパーティションを作り出すために利用できなければならないわけではなく、必要な最少量あればよいことに留意されたい。パーティション制御モジュール１１１は、ステップ５０４で、パーティションＣ  １１４においてパーティションＢ  １１３のＯＳ１２１をＩＰＬする。パーティション制御モジュール１１１は、ステップ５０６で、恒久的なストレージにコピーされているパーティションＢのメモリ・イメージについて完了コードを受取る。そこでパーティション制御モジュール１１１は、借りたページをそれらを所有しているパーティションに戻し始める。全てのページが戻されると、パーティション制御モジュール１１１は、ステップ５０８で、パーティションＢの定義をその構成から削除し、パーティションＣをパーティションＢに命名し直す。制御の流れがステップ５１０で出る。
【００５３】
制限しない例
当業者には知られているが、本発明は、ハードウエアもしくはソフトウエアで、あるいはハードウエアおよびソフトウエアの組合せで実施できる。しかし、本発明は、その一実施例ではソフトウエアで実施される。このシステムもしくは方法は、好適な実施例に関連して開示される本発明の原理によれば、開示しもしくは請求項に挙げた個々の機能やステップを実行するための別個のエレメントや手段を有する単一のコンピュータで実施されても、または開示しもしくは請求項に挙げた個々の機能やステップのうちの任意のもののパフォーマンスを組み合わせる１個以上のエレメントもしくは手段を実施する単一のコンピュータで実施されてもよいし、分散コンピュータ・システムの中に配列され、当業者に知られたような任意の適切な手段によって相互接続されていてもよい。
【００５４】
好適な実施例と関連して説明してきた本発明の原理によれば、本発明および本発明の原理は任意の特定の種類のコンピュータ・システムには制限されないが、当業者には知られているように、説明してきた機能や方法ステップを実行するように配列された任意の汎用コンピュータでもって使用されても良い。当業者によく知られるように、そのようなコンピュータの動作は、前述の通り、コンピュータの動作もしくは制御で使用される媒体上に含まれるコンピュータ・プログラムに従っていてもよい。コンピュータ・プログラム製品を保持もしくは包含するように使用され得るコンピュータ媒体は、当業者によく知られるように、埋め込みメモリのようにコンピュータ装備品であっても、ディスクなどの移動可能な媒体であっても良い。
【００５５】
本発明は特定のコンピュータ・プログラム、論理、言語、もしくは命令に制限されないが、当業者にはよく知られるように、そのような任意の適切なプログラム、論理、言語、もしくは命令でもって実施されてもよい。開示した本発明の原理を制限することなく、特にそのような任意のコンピューティング・システムが少なくとも一つのコンピュータ読取り可能媒体を含み、その読取り可能媒体からコンピュータがデータ、命令、メッセージ、またはメッセージ・パケット、および他のコンピュータ読取り可能情報を読み出すことができるようにする。コンピュータ読取り可能媒体は、ＲＯＭなどの不揮発性メモリ、フラッシュ・メモリ、フレキシブル・ディスク、ディスク・ドライブ・メモリ、ＣＤ−ＲＯＭ，および他の恒久的なストレージを含んでいてもよい。更に、コンピュータ読取り可能媒体は、例えばＲＡＭなどの揮発性ストレージ、バッファ、キャッシュ・メモリおよびネットワーク回路を含んでいてもよい。
【００５６】
更に、コンピュータ読取り可能媒体が、ネットワーク・リンクおよび／もしくはネットワーク・インターフェースなどの一時的な状態の媒体におけるコンピュータ読取り可能情報を含んでもよい。これには、そのようなコンピュータ読出し可能な情報をコンピュータが読み出すことができる、有線もしくは無線のネットワークも含まれる。
【００５７】
本発明の特定の実施例を開示したが、当業者はその特定の実施例に対し本発明の要旨および範囲から逸れずに変更を加えることができることを理解されよう。従って、本発明の範囲は特定の実施例に制限されるのではなく、特許請求の範囲の各請求項が本発明の範囲内の任意かつ全ての応用例、変形例および実施例を包含することを意図している。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施例による例示のコンピューティング環境を示すブロック図である。
【図２】本発明の実施例によるメモリ借りに使用するのに望ましいメモリの領域を示すストレージ・コントローラ・イメージおよびＵＮＩＸサーバー・イメージの両方の高レベルのメモリ割当てマップを示す図である。
【図３】本発明の実施例による回復動作で使用される1個以上のメモリ・ブロックを借りるのをイネーブル（もしくはディスエーブル）する例示のプロセスを説明する動作フローチャートである。
【図４】本発明の実施例による高速のシステム・ダンプおよび並行したＩＰＬ動作などの回復動作を実行する例示的なプロセスを示す動作フローチャートである。
【図５】本発明の実施例による高速のシステム・ダンプおよび並行したＩＰＬ動作などの回復動作を実行する例示的なプロセスを示す動作フローチャートである。
【符号の説明】
【００５９】
１００  コンピューティング環境
１０１  情報処理システム
１０２  マス・ストレージ・インターフェース（ＦＣ）
１０３  ネットワーク・アダプタ（ＮＩＣ）
１０４  データ・ストレージ装置（ＤＡＳＤ）
１０５  ネットワーク・アダプタ
１０６  プロセッサ（ＣＰ）
１０７  リアル・メモリ
１０８  Ｉ／Ｏドロワ
１１０  接続ブロック（ＭＧＴポート）
１１１  ハイパーバイザ／パーティション制御モジュール
１１２、１１３、１１４  処理ノード／論理パーティション（ＬＰＡＲ）
１１５  未使用メモリ
１１６  ハードウエア管理コンソール（ＨＭＣ）
１１７  Ｉ／Ｏハブ
１２０、１２１、１２２  オペレーティング・システム・イメージ（ＯＳイメージ）
１３０  サービス・プロセッサ（ＳＰ）
【図１】
2008165777.tif 000003
【図２】
2008165777.tif 000004
【図３】
2008165777.tif 000005
【図４】
2008165777.tif 000006
【図５】
2008165777.tif 000007