(57)【要約】　　　（修正有）【課題】パーティショニング・コンピュータ・システムのパーティションを動的に再構成するための方法、システムおよび装置を提供する。【解決手段】ユーザは、パーティションの再構成に関連する複数のリソースを指示することができる。しかし、実際には、パーティションは、自動的に、１度に１のリソースずつ再構成される。リソースのうちの１つがメモリである場合には、メモリは、１度に１の論理メモリ・ブロックがそのパーティションに割り当てられるか、またはそのパーティションから、割当てを解除される。パーティションの再構成が行われている間に、リソースを削除し、追加し、またはあるパーティションから他のパーティションに移動することができる。あるパーティションから他のパーティションへリソースを移動すると、あるパーティションからリソースが削除され、他のパーティションにそのリソースが追加されることになる。【選択図】　　　図１
2004070935.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが複数のリソースを有するパーティショニング・コンピュータ・システムのパーティションを動的に再構成するための方法であって、
パーティションの再構成に関連する複数のリソースを指示を受けるステップと、
前記パーティションを、指示されたリソースの１つに対してずつ自動的に再構成するステップと、
を含む方法。
【請求項２】
前記パーティションが再構成される前に、パーティションが再構成された後に、リソースの数が制限内にあるかどうかを判断するためにチェックが行われる、請求項１に記載の方法。
【請求項３】
前記パーティションの再構成に関連している前記リソースがメモリである場合に、前記パーティションへの新しいメモリ割当てを反映するように割当てテーブルの調整が行われ、前記パーティションが論理メモリ・ブロック（ＬＭＢ）ずつ再構成される、請求項２に記載の方法。
【請求項４】
前記パーティションの再構成の結果、前記パーティションにリソースが追加された場合、割り当てられていないリソースが前記パーティションに最初に追加される、請求項１に記載の方法。
【請求項５】
割り当てられていないリソースが使用できない場合に、割り当てられているが遊んでいるリソースが前記パーティションに追加される、請求項４に記載の方法。
【請求項６】
前記パーティションに、割り当てられたリソースを追加する前に、前記リソースが、自分が現在割り当てられている前記パーティションから削除される、請求項５に記載の方法。
【請求項７】
それぞれが複数のリソースを有するパーティショニング・コンピュータ・システムのパーティションを動的に再構成するためのコンピュータ・プログラムであって、
パーティションの再構成に関連する複数のリソースを指示を受ける手段と、
前記パーティションを、指示されたリソースの１つに対してずつ自動的に再構成する手段、
としてコンピュータ・システムを機能させるコンピュータ・プログラム。
【請求項８】
前記パーティションが再構成される前に、パーティションが再構成された後に、リソースの数が制限内にあるかどうかを判断するためにチェックが行われる、請求項７に記載のコンピュータ・プログラム。
【請求項９】
前記パーティションの再構成に関連している前記リソースがメモリである場合に、前記パーティションへの新しいメモリ割当てを反映するように割当てテーブルの調整が行われ、前記パーティションが論理メモリ・ブロック（ＬＭＢ）ずつ再構成される、請求項８に記載のコンピュータ・プログラム。
【請求項１０】
前記パーティションの再構成の結果、前記パーティションにリソースが追加された場合、割り当てられていないリソースが前記パーティションに最初に追加される、請求項９に記載のコンピュータ・プログラム。
【請求項１１】
割り当てられていないリソースが使用できない場合に、割り当てられているが遊んでいるリソースが前記パーティションに追加される、請求項１０に記載のコンピュータ・プログラム。
【請求項１２】
前記パーティションに、割り当てられたリソースを追加する前に、前記リソースが、自分が現在割り当てられている前記パーティションから削除される、請求項１１に記載のコンピュータ・プログラム。
【請求項１３】
それぞれが複数のリソースを有するパーティショニング・コンピュータ・システムのパーティションを動的に再構成するための装置であって、
パーティションの再構成に関連する複数のリソースを指示を受ける手段と、
前記パーティションを、指示されたリソースの１つに対してずつ自動的に再構成する手段、
を具備する装置。
【請求項１４】
前記パーティションが再構成される前に、パーティションが再構成された後に、リソースの数が制限内にあるかどうかを判断するためにチェックが行われる、請求項１３に記載の装置。
【請求項１５】
前記パーティションの再構成に関連している前記リソースがメモリである場合に、前記パーティションへの新しいメモリ割当てを反映するように割当てテーブルの調整が行われ、前記パーティションが論理メモリ・ブロック（ＬＭＢ）ずつ再構成される、請求項１４に記載の装置。
【請求項１６】
あるパーティションの再構成の結果、前記パーティションにリソースが追加された場合、割り当てられていないリソースが前記パーティションに最初に追加される、請求項１５に記載の装置。
【請求項１７】
割り当てられていないリソースが使用できない場合に、割り当てられているが遊んでいるリソースが前記パーティションに追加される、請求項１６に記載の装置。
【請求項１８】
前記パーティションに、割り当てられたリソースを追加する前に、前記リソースが、自分が現在割り当てられている前記パーティションから削除される、請求項１７に記載の装置。
【請求項１９】
それぞれが複数のリソースを有するそれ自体のパーティションを動的に再構成することができるパーティショニング・コンピュータ・システムであって、
コード・データを記憶するための少なくとも１つの記憶手段と、
パーティションの再構成に関連する複数のリソースを指示を受け、各パーティションを指示されたリソースの１つに対してずつ自動的に再構成するための前記コード・データを処理するための少なくとも１つのプロセッサと、
を備えたパーティショニング・コンピュータ・システム。
【請求項２０】
前記パーティションが再構成される前に、パーティションが再構成された後に、リソースの数が制限内にあるかどうかを判断するためにチェックが行われる、請求項１９に記載のパーティショニング・コンピュータ・システム。
【請求項２１】
前記パーティションの再構成に関連している前記リソースがメモリである場合に、前記パーティションへの新しいメモリ割当てを反映するように割当てテーブルの調整が行われ、前記パーティションが論理メモリ・ブロック（ＬＭＢ）ずつ再構成される、請求項２０に記載のパーティショニング・コンピュータ・システム。
【請求項２２】
あるパーティションの再構成の結果、前記パーティションにリソースが追加された場合、割り当てられていないリソースが前記パーティションに最初に追加される、請求項２１に記載のパーティショニング・コンピュータ・システム。
【請求項２３】
割り当てられていないリソースが使用できない場合に、割り当てられているが遊んでいるリソースが前記パーティションに追加される、請求項２２に記載のパーティショニング・コンピュータ・システム。
【請求項２４】
前記パーティションに、割り当てられたリソースを追加する前に、前記リソースが、自分が現在割り当てられている前記パーティションから削除される、請求項２３に記載のパーティショニング・コンピュータ・システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ・システムを管理するための方法および装置に関する。より詳細には、論理パーティション（ｌｏｇｉｃａｌ　ｐａｒｔｉｔｉｏｎ）のリソースを動的に再構成（リ・コンフィギュア）するための手順に関する。
【０００２】
【従来の技術】
最近、多くのコンピュータ・メーカーは、パーティショニング機能を有するコンピュータ・システムを設計している。コンピュータ・システムのパーティショニング（ｐａｒｔｉｔｉｏｎｉｎｇ）とは、コンピュータ・システムのリソース（すなわち、メモリ素子、プロセッサ等）をグループにパーティショニングすることを意味する。それ故、複数のオペレーティング・システム（ＯＳ）をコンピュータ・システム上で同時に実行することができる。
【０００３】
コンピュータ・システムのパーティショニングは種々の理由から行われ得る。第１の理由は、整理統合のためである。いくつかのコンピュータ・システム上にすでに常駐する複数のアプリケーション・プログラムを１つのコンピュータ・システム上で実行することにより、種々のコンピュータ・システムを１つのコンピュータ・システムに統合すれば、（ｉ）システムの購入コストが低減し、（ｉｉ）システムの管理要件が緩和され、また（ｉｉｉ）設置面積が少なくてすむ。
【０００４】
第２の理由は、プロダクション（生産）環境とテスト環境とを一致させることである。新しいオペレーティング・システムまたはアプリケーション・プログラムの試験が行われ、性能が実証されると、テスト・パーティションは、単なるプロダクション・パーティションになり、リソースは必要に応じて、そのために転用される。このことは、テストに成功したアプリケーション・プログラムが、期待通り動作するということに関して、より大きな自信につながる場合がある。
【０００５】
第３の理由は、コンピュータ・システムをパーティショニングすると、ハードウェアをより効率的に使用することができることである。例えば、アプリケーション・プログラムが多数のプロセッサにうまく対応できない場合、個々のもっと小さいパーティション上のプログラムの実行多重例は、より良い処理能力を提供することができる。
【０００６】
第４の理由は、システムをパーティショニングすると、アプリケーション・プログラムを分離することができることである。アプリケーション・プログラムが異なるパーティションで動作している場合、これらのアプリケーション・プログラムは、相互にインタフェースしないことが保証される。従って、あるパーティションが故障しても他のパーティションは影響を受けない。さらに、どのアプリケーション・プログラムも過度のハードウェア・リソースを使用しない。それ故、どのアプリケーション・プログラムも、必要なハードウェア・リソースを自由に使用することができる。
【０００７】
最後の理由は、パーティショニングすると、リソース割当ての柔軟性が改善されることである。あるパーティション上で動作している場合、時間の経過により変化するリソース要求を有する作業量をより容易に管理することができる。すなわち、作業量の変動する要求に適合するように、パーティションを容易に変更することができる。
【０００８】
パーティショニング機能を有するコンピュータ・システムは、一般的に、パーティショニング管理ツールを使用する。パーティショニング管理ツールは、通常、システムのハードウェアと関連していて、コンピュータ・システムに組み込まれているサービス・プロセッサと相互に動作する。ある特定のパーティショニング管理ツールは、ハードウェア管理コンソール（ＨＭＣ）である。ＨＭＣは、パーティションを構成し、監視するために使用される。
【０００９】
しかし、現在では、パーティションが再構成中は、一度に１つのリソースしか処理できない。そのため、それぞれがリソースを多数含んでいる複数のパーティションを再構成しなければならない場合、時間がかかることになる。
【００１０】
【発明が解決しようとする課題】
従って、パーティションが再構成される間に、複数のリソースを処理するための方法、装置およびシステムが必要とされている。
【００１１】
【課題を解決するための手段】
本発明は、パーティショニング・コンピュータ・システムのパーティションを動的に再構成するための方法、システムおよび装置を提供する。ここで、パーティションの動的な再構成とは、パーティションが動作している間にそのパーティションを再構成することが可能であること、と定義される。グラフィカル・ユーザ・インタフェース（ＧＵＩ）を使用して、ユーザは、パーティションの再構成に関連する複数のリソースを指示することができる。しかし、実際には、パーティションは、自動的に、１度に１のリソースずつ（ｏｎｅ　ｒｅｓｏｕｒｃｅ　ａｔ　ａ　ｔｉｍｅ）再構成される。複数のリソースのうちの１つがメモリである場合には、メモリは、１度に１の論理メモリ・ブロック（ＬＭＢ）がそのパーティションに割り当てられるか、またはそのパーティションから、割当てを解除される。パーティションの再構成が行われている間に、リソースを削除し、追加し、またはあるパーティションから他のパーティションに移動することができる。あるパーティションから他のパーティションへリソースを移動すると、あるパーティションからリソースが削除され、他のパーティションにそのリソースが追加されることになる。パーティションの再構成の後に、リソース割当てテーブルが更新される。これらすべてのプロセスは、ユーザには見えないところで実行される。
【００１２】
特許請求の範囲に、本発明に特有であると信ずる新規な特徴が記載される。本発明とその好適な使用方法、他の目的および利点は、添付の図面を参照しながら、例示としての実施形態の下記の詳細な説明を読めば、最もよく理解することができるだろう。
【００１３】
【発明の実施の形態】
図面を参照すると、図１は、本発明を実施し得るデータ処理システムのネットワークの図である。ネットワーク・データ処理システム１００は、本発明を実施することができるコンピュータのネットワークである。ネットワーク・データ処理システム１００は、種々のデバイスとネットワーク・データ処理システム１００内で相互に接続しているコンピュータとの間で通信リンクを提供するために使用する媒体であるネットワーク１０２を含む。ネットワーク１０２は、有線通信リンク、無線通信リンクまたは光ファイバ・ケーブルのような接続を含むことができる。
【００１４】
図の例の場合には、サーバ１０４は、記憶装置ユニット１０６と一緒にネットワーク１０２に接続している。さらに、クライアント１０８、１１０および１１２は、ネットワーク１０２に接続している。これらのクライアント１０８、１１０および１１２は、例えば、パーソナル・コンピュータまたはネットワーク・コンピュータを使用することができる。図の例の場合には、サーバ１０４は、ブート・ファイル、オペレーティング・システムのイメージ、およびアプリケーションのようなデータをクライアント１０８、１１０および１１２に供給する。クライアント、１０８、１１０および１１２は、サーバ１０４へのクライアントである。ネットワーク・データ処理システム１００は、追加のサーバ、クライアントおよび図示していない他のデバイスを含むことができる。図の例の場合には、ネットワーク・データ処理システム１００は、相互に通信するために、ＴＣＰ／ＩＰプロトコルの組合わせを使用するネットワークおよびゲートウェイを表すネットワーク１０２を含むインターネットである。インターネットの中心のところで、数千の商用コンピュータ・システム、政府機関コンピュータ・システム、教育コンピュータ・システムおよびデータおよびメッセージを転送する他のコンピュータ・システムからなる主要なノードまたはホスト・コンピュータ間の高速データ通信線のバックボーンが位置する。もちろん、ネットワーク・データ処理システム１００は、また、例えば、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、またはワイド・エリア・ネットワーク（ＷＡＮ）のような多数の異なるタイプのネットワークとして実施することもできる。図１は、例示としてのものであって、本発明に対するアーキテクチャについての制限ではない。
【００１５】
図２について説明すると、この図は、本発明の好ましい実施形態による、図１のサーバ１０４のようなサーバとして実施することができるデータ処理システムのブロック図である。データ処理システム２００としては、システム・バス２０６に接続している複数のプロセッサ２０２および２０４を含む対称型多重プロセッサ（ＳＭＰ）システムを使用することができる。また、システム・バス２０６には、局部メモリ２０９に対してインタフェースとなるメモリ・コントローラ／キャッシュ２０８も接続している。Ｉ／Ｏバス・ブリッジ２１０は、システム・バス２０６に接続していて、Ｉ／Ｏバス２１２へのインタフェースとなる。メモリ・コントローラ／キャッシュ２０８およびＩ／Ｏバス・ブリッジ２１０は、図に示すように一体化することができる。
【００１６】
Ｉ／Ｏバス２１２に接続しているＰＣＩ（周辺部品相互接続）バス・ブリッジ２１４は、ＰＣＩローカル・バス２１６へのインタフェースになる。多数のモデムをＰＣＩローカル・バス２１６に接続することができる。通常のＰＣＩバスは、４つのＰＣＩ拡張スロットまたはアドイン・コネクタをサポートする。図１のネットワーク・コンピュータ１０８、１１０および１１２への通信リンクは、アドイン・ボードを通してＰＣＩローカル・バス２１６に接続しているモデム２１８およびネットワーク・アダプタ２２０により供給することができる。
【００１７】
追加のＰＣＩバス・ブリッジ２２２および２２４は、追加のモデムまたはネットワーク・アダプタをサポートすることができる追加のＰＣＩローカル・バス２２６および２２８へのインタフェースになる。このようにして、データ処理システム２００により複数のネットワーク・コンピュータに接続することができる。メモリ・マッピングしたグラフィックス・アダプタ２３０およびハードディスク２３２は、また、図に示すように、直接および間接にＩ／Ｏバス２１２に接続することができる。
【００１８】
通常の当業者であれば、図２のハードウェアとしては、種々のハードウェアを使用することができることを理解することができるだろう。例えば、光ディスク・ドライブのような他の周辺装置も、図のハードウェアに追加してまたはその代わりに使用することができる。図の例は、本発明のアーキテクチャを制限するものではない。
【００１９】
図２のデータ処理システムとしては、例えば、ＡＩＸ（Ｒ）（Ａｄｖａｎｃｅｄ　Ｉｎｔｅｒａｃｔｉｖｅ　Ｅｘｅｃｕｔｉｖｅ）オペレーティング・システム、またはＬｉｎｕｘ（Ｒ）オペレーティング・システムを使用する、ニューヨーク州アーモンクのインターナショナル・ビジネス・マシーンズ・コーポレーション（ＩＢＭ社）の製品であるＩＢＭ　ｅＳｅｒｖｅｒ　ｐＳｅｒｉｅｓのシステムを使用することができる。
【００２０】
図３について説明すると、この図は、本発明を実施することができるデータ処理システムを示すブロック図である。データ処理システム３００は、クライアント・コンピュータの一例である。データ処理システム３００は、ＰＣＩ（周辺部品相互接続）ローカル・バス・アーキテクチャを使用する。図の例は、ＰＣＩバスを使用しているが、ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ　Ｇｒａｐｈｉｃｓ　Ｐｏｒｔ）およびＩＳＡ（Ｉｎｄｕｓｔｒｙ　Ｓｔａｎｄａｒｄ　Ａｒｃｈｉｔｅｃｔｕｒｅ）のような他のバス・アーキテクチャを使用することもできる。プロセッサ３０２および主記憶装置３０４は、ＰＣＩブリッジ３０８を通してＰＣＩローカル・バス３０６に接続している。ＰＣＩブリッジ３０８は、また、統合メモリ・コントローラおよびプロセッサ３０２用のキャッシュ・メモリを含むこともできる。ＰＣＩローカル・バス３０６への追加接続は、直接構成要素相互接続またはアドイン・ボードを通して行うことができる。図の例の場合には、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ３１０、ＳＣＳＩホスト・バス・アダプタ３１２、および拡張バス・インタフェース３１４が、直接構成要素接続によりＰＣＩローカル・バス３０６に接続している。対照的に、オーディオ・アダプタ３１６、グラフィックス・アダプタ３１８、オーディオ／ビデオ・アダプタ３１９は、拡張スロットに挿入されたアドイン・ボードによりＰＣＩローカル・バス３０６に接続している。拡張バス・インタフェース３１４は、キーボードおよびマウス・アダプタ３２０、モデム３２２、および追加メモリ３２４への接続を供給する。ＳＣＳＩ（小型コンピュータ用周辺機器インタフェース）ホスト・バス・アダプタ３１２は、ハードディスク・ドライブ３２６、テープ・ドライブ３２８、およびＣＤ−ＲＯＭドライブ３３０への接続を供給する。通常のＰＣＩローカル・バスは、３つまたは４つのＰＣＩ拡張スロットまたはアドイン・コネクタをサポートする。
【００２１】
オペレーティング・システムは、プロセッサ３０２上で動作し、図３のデータ処理システム３００内の種々の構成要素と協働し、制御を行うために使用される。オペレーティング・システムとしては、マイクロソフト社（Ｍｉｃｒｏｓｏｆｔ　Ｃｏｒｐｏｒａｔｉｏｎ）が市販しているＷｉｎｄｏｗｓ（Ｒ）２０００のような市販のオペレーティング・システムを使用することができる。Ｊａｖａ（Ｒ）のようなオブジェクト指向プログラミング・システムは、オペレーティング・システムと協働し、データ処理システム３００上で動作しているＪａｖａ（Ｒ）プログラムまたはアプリケーションからオペレーティング・システムへの呼出しを供給する。「Ｊａｖａ（Ｒ）」は、サンマイクロシステムズ社（Ｓｕｎ　Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃ．）の商標である。オペレーティング・システム、オブジェクト指向オペレーティング・システムおよびアプリケーションまたはプログラムに対する命令は、ハードディスク・ドライブ３２６のような記憶装置上に位置していて、プロセッサ３０２により実行するために、主記憶装置３０４内にロードすることができる。
【００２２】
通常の当業者であれば、どのように実施するかにより、図３のハードウェアとして種々のタイプのものを使用することができることを理解することができるだろう。フラッシュＲＯＭ（または、等価の不揮発性メモリ）のような他の内蔵ハードウェアまたは周辺装置、または光ディスク・ドライブ等を、図３のハードウェアに追加して、またはその代わりに使用することができる。また、本発明のプロセスは、多重プロセッサ・データ処理システムに適用することもできる。
【００２３】
もう１つの例を挙げると、データ処理システム３００としては、データ処理システム３００が、ある種のネットワーク通信インタフェースを備えているいないにかかわらず、ある種のネットワーク通信インタフェースに依存しないで起動することができるように構成されたスタンド・アローン・システムを使用することができる。もう１つの例を挙げると、データ処理システム３００としては、オペレーティング・システム・ファイルおよび／またはユーザが作ったデータを記憶するための不揮発性メモリを供給するために、ＲＯＭおよび／またはフラッシュＲＯＭと一緒に構成されている携帯情報端末（ＰＤＡ）装置を使用することもできる。
【００２４】
図３の例および上記例は、アーキテクチャに関する制限を意味するものではない。例えば、データ処理システム３００としては、ＰＤＡの他に、ノート型パソコンまたはハンドヘルド・コンピュータを使用し得る。データ処理システム３００として、また、キオスクやウェブ装置を使用し得る。
【００２５】
本発明は、パーティションを構成した場合に、複数のリソースを処理するための装置、システムおよび方法を提供する。本発明は、図１のクライアント・システム１０８、１１０および１１２、またはサーバ１０４、またはサーバ１０４およびクライアント１０８、１１０および１１２のすべてに対してローカルであってもよい。本発明は、コンピュータ・システムが使用する任意のデータ記憶媒体（すなわち、フレキシブルディスク、コンパクト・ディスク、ハードディスク、ＲＯＭ、ＲＡＭ等）上に常駐することができる。
【００２６】
図４は、コンピュータ・システムの複数のパーティションを示す。パーティション１　４１０は、２つのプロセッサ、２つのＩ／Ｏスロットを備え、メモリ素子の一部を使用する。パーティション２　４２０は、１つのプロセッサ、５つのＩ／Ｏスロットを使用していて、また、メモリ素子のもっと小さな一部を使用する。パーティション３　４３０は、４つのプロセッサ、５つのＩ／Ｏスロットを使用し、メモリ素子のもっと大きな一部を使用する。コンピュータ・システムのエリア４４０および４５０は、パーティションに割り当てられないで、未使用のままである。図４には、オペレーティング・システムをサポートするのに必要なリソースのサブセットしか図示してないことに留意されたい。
【００２７】
図に示すように、コンピュータ・システムはパーティショニングされ、そのリソースは、パーティション間でパーティショニングされる。あるパーティションに割り当てられないリソースは使用されない。より詳細に説明すると、リソースは１のパーティションに属するか、またはどのパーティションにも属していない。リソースがあるパーティションに属する場合、そのパーティションだけがそれを認識しており、かつアクセスすることができる。リソースがどのパーティションにも属していない場合には、任意のパーティションは認識しておらず、かつアクセスすることもできない。
【００２８】
コンピュータ・システムは、あるパーティションに割り当てられたリソースが、ＨＭＣにより管理されるＬＰＡＲ割当てテーブルを通して他のパーティションにより使用されないようにする。ＬＰＡＲ割当てテーブルは、サービス・プロセッサのＮＶＲＡＭ（不揮発性ランダム・アクセス・メモリ）内に記憶される。図５は、ＬＰＡＲ割当てテーブルを示す。図５の場合には、ＣＰＵ１およびＣＰＵ２、メモリ位置１〜メモリ位置５０（すなわち、Ｍ１〜Ｍ５０）および入出力Ｉ／Ｏスロット４、およびＩ／Ｏスロット５は、パーティション１５００にマッピングされる。同様に、ＣＰＵ３、Ｍ５１〜Ｍ７５およびＩ／Ｏスロット６〜Ｉ／Ｏスロット１０は、パーティション２５０２にマッピングされ、ＣＰＵ４〜ＣＰＵ７、Ｍ７６〜Ｍ１５０およびＩ／Ｏスロット１１〜Ｉ／Ｏスロット１５は、パーティション３５０４にマッピングされる。図４の最後のＣＰＵであるＣＰＵ８、Ｉ／Ｏスロット１６〜Ｉ／Ｏスロット２０、およびＭ１５１から残りのメモリ位置は、図に示すように、割り当てられない。また、図５の割当てテーブルには、コンピュータ・システム内すべてのリソースの状況および状態が含まれている。
【００２９】
図４および図５は、例示としてのものであって、本発明を制限するものではないことに留意されたい。実際に、ある種のコンピュータ・システムは、それぞれが、少なくとも１つのＣＰＵ、１つのギガバイトのメモリ、および１つのＩ／Ｏスロットを含む１６までのパーティションをサポートすることができる。
【００３０】
図６は、ＬＰＡＲ管理システムである。図６はサーバ６００を示す。サーバ６００は、ＬＰＡＲ１６０２、ＬＰＡＲ２６０４および未割当てリソース６０６を含む。ＨＭＣ６１０は、ＨＭＣが、ＮＶＲＡＭ内に記憶されているＬＰＡＲ割当てテーブルを管理するサービス・プロセッサ６１２に接続している。パーティションが立ち上がると、ハイパーバイザ６０８は、どのリソースがどのパーティションに属しているのかを判断するために、ＬＰＡＲ割当てテーブルを参照する。ＬＰＡＲ割当てテーブルは、パーティション内で動作しているオペレーティング・システム（ＯＳ）から参照することはできない。そのため、オペレーティング・システムはこのテーブルを更新することはできない。
【００３１】
ハイパーバイザ６１２は、サーバ・ハードウェアのシステム・フラッシュ・モジュールに記憶される。システムの初期化中に、ハイパーバイザは、システム・メモリの第１の物理アドレス領域内にロードされる。ハイパーバイザ・プログラムは、パーティション環境の生成を担当し、特定のプロセッサ・レジスタおよび変換テーブル・エントリに直接アクセスすることができる唯一のプログラムである。パーティション・プログラムは、プロセッサ・アーキテクチャの一部である制御ハイパーバイザ・サービス呼出しによる以外、ハイパーバイザの命令およびデータにアクセスすることはできない。これらの保護により、ハイパーバイザは簡単かつ厳格な方法でその役目を行うことができ、その結果、各オペレーティング・システムは、非常に厳重で抜け出すことができないボックスに閉じ込められる。
【００３２】
パーティションが構成されると、これらのパーティションは、リソースをあるパーティションから他のパーティションに再度割り当てられるか、または割り当てられていないリソースを１つのパーティションか、または複数のパーティションに割り当てることにより再構成することができる。本発明の場合には、パーティションを再構成するために、コマンドｄｒｍｇｒ（動的再構成マネージャ）が使用される。このコマンドにより、あるパーティションに動的に（すなわち、パーティションが動作中に）リソースを追加することも、削除することもできる。しかし、一度にあるパーティションへまたはあるパーティションから追加したり削除したりすることができるのは１つのリソースだけである。本発明によれば、ユーザの視点からは、一度にあるパーティションへまたはあるパーティションから複数のリソースを追加したり削除したりすることができる。
【００３３】
ＨＭＣは、ハードウェア・プラットフォーム動作を行い、ローカル・ユーザ・アクセスおよび遠隔ユーザ・アクセスの両方をサポートするための、ユーザ・フレンドリーな管理インタフェースを提供する。ＨＭＣユーザは、有効なユーザＩＤおよびＨＭＣアドミニストレータが設定したパスワードを持っていなければならない。各ＨＭＣユーザは、ユーザが行うことができる一組の動作を決定するある割り当てられた役割を持つ。
【００３４】
図７は、ＨＭＣのグラフィカル・ユーザ・インタフェース（ＧＵＩ）のスクリーンショットである。この図においては、サーバ管理７０２は、ＧＵＩの左側のナビゲーション・エリア７００内で選択される。この選択に応じて、パーティションのリスト（すなわち、ｐ１〜ｐ１５）およびその状態（すなわち、動作中）が、サーバ内に表示され、ＧＵＩの右側にはパーティション管理７１５が表示される。そこで、パーティションの中の１つが選択される。この選択は、例えば、マウスをパーティション名の上に置いて、マウスの右ボタンをクリックすることにより行うことができる。そうすると、ポップ・メニュー７０５が表示される。ポップ・メニュー７０５は、動的再構成７２０を含む選択リストを持つ。この特定のケースの場合には、動的再構成７２０が選択され、それにより、リソースのリストを含む他のメニュー７１０が表示される。プロセッサ７３０を選択した場合には、図８、図９または図１０が表示される。代わりにメモリ７３５を選択すると、図１１、図１２または図１３が表示され、アダプタ７２５を選択すると、図１４、図１５または図１６が表示される。
【００３５】
図８は、パーティションの再構成中に、１つのＣＰＵまたは複数のＣＰＵを割り当てたり、再度割り当てたりするときに使用することができるＧＵＩである。タイトル・バー８００は、再構成中のパーティションの名称を含む。動作エリア８０５が示すように、ユーザは、そのパーティションから１つのＣＰＵまたは複数のＣＰＵを移動したり、追加したり、または削除したりすることができる。この特定の例の場合には、ＣＰＵは、タイトル・バー・エリア８００のパーティションからボックス８５０内のパーティションへと移動する。そのパーティションで使用するＣＰＵの数は４である（参照番号８１５参照）。ユーザは、移動しようとするＣＰＵの数をボックス８２０内に入力しなければならない。このように入力した後で、ユーザは、ＯＫボタン８３５を押して再構成を続行することもできるし、またはボタン８４０を押して、そのセッションを打ち切るか、終了することができる。ヘルプが必要な場合には、ユーザはヘルプ・ボタン８４５を押すことができる。パーティションが再構成中される（すなわち、ユーザがＯＫボタン８３５を押した）場合に、超過してはならない分数を入力するためには、タスク・タイムアウト８３０を使用する。
【００３６】
図９は、１つのＣＰＵまたは複数のＣＰＵを、再構成中のあるパーティションに追加する場合に表示されるＧＵＩである。この場合、コンピュータ・システムの空いている（すなわち、割り当てられていない）ＣＰＵの数が表示されるので（参照番号８２０参照）、ユーザは、追加するＣＰＵの数を指示しなければならない（参照番号８２５参照）。一方、図１０は、再構成中に、１つのＣＰＵまたは複数のＣＰＵがパーティションから削除される場合に表示されるＧＵＩである。
【００３７】
図１１は、パーティションが再構成中に、メモリ空間を割り当てるか、または再度割り当てるために使用することができるＧＵＩである。タイトル・バー９００は、再構成中のパーティションの名称を含む。動作エリア９０５で示すように、ユーザは、パーティションからのメモリ空間の移動、追加または削除を選ぶことができる。この特定の例の場合には、メモリ空間は、タイトル・バー・エリア９００内のパーティションからボックス９２５内のパーティションへ移動中である。パーティションで使用するメモリ空間の広さは、４ＧＢおよび５１２ＭＢである（参照番号９１５参照）。ユーザは、ボックス９２０内に移動するメモリ空間の広さを入力しなければならない。このように入力した後で、ユーザは、ＯＫボタン９４０を押して再構成を続行することもできるし、またはボタン９４５を押して、そのセッションを打ち切るか、終了することができる。ヘルプが必要な場合には、ユーザはヘルプ・ボタン９５０を押すことができる。パーティションが再構成中される（すなわち、ユーザがＯＫボタン９４０を押した）場合に、超過してはならない分数を入力するためには、タスク・タイムアウト９３５を使用する。
【００３８】
図１２は、メモリ空間を再構成中のパーティションに追加する場合に表示されるＧＵＩである。この場合、コンピュータ・システムの空いている（すなわち、割り当てられていない）メモリ空間の広さが表示されるので（参照番号９２０参照）、ユーザは、そのパーティションに追加するメモリ空間の広さを指示しなければならない（参照番号９２５参照）。一方、図１３は、再構成中に、ＧＵＩがパーティションから削除される場合に表示されるＧＵＩである。
【００３９】
図１４は、パーティションが再構成中に、Ｉ／Ｏアダプタを割り当てるか、または再度割り当てるために使用することができるＧＵＩである。タイトル・バー１０００は、再構成中のパーティションの名称を含む。動作エリア１００５で示すように、ユーザは、パーティションからのＩ／Ｏアダプタの移動、追加または削除を選ぶことができる。この特定の例の場合には、Ｉ／Ｏアダプタは、タイトル・バー・エリア１０００内のパーティションからボックス１０１５内のパーティションへ移動中である。パーティションで使用するＩ／Ｏアダプタがウィンドウ１０２５内に表示される。ユーザは、ボックス１０２５内で移動するＩ／Ｏアダプタを選択しなければならない。このように入力した後で、ユーザは、ＯＫボタン１０３５を押して再構成を続行することもできるし、またはボタン１０４０を押して、そのセッションを打ち切るか、終了することができる。ヘルプが必要な場合には、ユーザはヘルプ・ボタン１０４５を押すことができる。パーティションが再構成中される（すなわち、ユーザがＯＫボタン１０３５を押した）場合に、超過してはならない分数を入力するためには、タスク・タイムアウト１０３０を使用する。
【００４０】
図１５は、再構成中のあるパーティションに、１台のＩ／Ｏアダプタ、または複数のアダプタを追加する場合に表示されるＧＵＩである。この場合、空いているＩ／Ｏアダプタがウィンドウ１０２０内に表示され、ユーザは、選択すべきメモリ空間の広さを指示しなければならない。一方、図１６は、再構成中に、１台のＩ／Ｏアダプタまたは複数のＩ／Ｏアダプタがパーティションから削除される場合に表示されるＧＵＩである。
【００４１】
構成中または再構成中、ＨＭＣは、パーティションから追加、移動または削除するリソースと同じ数のｄｒｍｇｒコマンドを送ることができる。例えば、再構成処理中にあるパーティションから動的に削除される個々の各リソースの場合には、ＨＭＣは、そのリソースを解放するために、ターゲットのパーティションに対して適当なｄｒｍｇｒコマンドを発行する。そのパーティション上で動作中のオペレーティング・システムが上記コマンドを受信した場合には、コマンドの指示に従い、その要求に応じたことをハイパーバイザに通知する。ハイパーバイザは、ＮＶＲＡＭ内のＬＰＡＲ割当てテーブルを更新し、放棄した各リソースに停止状態であると表示する。次に、ＨＭＣは、ユーザに表示するために、リソースの新しい状態について、非同期的に通知を受け取る。次に、ＨＭＣは、各リソースに、割り当てられていないで停止状態にあることを表示する。
【００４２】
同様に、あるパーティションに追加される個々の各リソースに対して、ｄｒｍｇｒコマンドが発行される。しかし、コマンドが発行される前に、ＨＭＣは、割り当てられていないリソース、または現在動作していないパーティションに割り当てられたリソースを見つけるために、ＬＰＡＲ割当てテーブルを探索する。必要なリソースを発見した場合には、ＨＭＣはそのリソースをターゲットＬＰＡＲに割り当てる。その後で、ターゲットＬＰＡＲに適当なｄｒｍｇｒコマンドが発行され、ＬＰＡＲはそのリソースを入手することができる。移動処理の場合には、移動するリソースは、最初、適当なパーティションから削除され、次に、ターゲット・パーティションに追加される。
【００４３】
上記手順は、ＣＰＵおよびＩ／Ｏスロットの再構成にも適用されることに留意されたい。メモリの再構成の場合には、ＮＶＲＡＭ内の割当てテーブルは、最初、目標ＬＰＡＲの新しい必要なメモリ割当てに対して調整される。次に、動的に再構成される各論理メモリ・ブロック（ＬＭＢ）に対してｄｒｍｇｒコマンドが発行される。
【００４４】
先行技術の場合のように、ユーザは、あるパーティションを再構成するために、コマンド・ラインのところに、マニュアルでｄｒｍｇｒコマンドを入力することができる。これを行った場合、ユーザはＬＰＡＲ割当てテーブルをマニュアルで更新しなければならない。
【００４５】
ＬＰＡＲを再構成するための上記手順は多くの利点を持つ。例えば、上記手順を使用すれば、ユーザは、１回に１つずつではなく、複数のリソースの動的再構成（ＤＲ）動作を１回で行うことができる。さらに、ＨＭＣは、リアルタイムで成功したＤＲ動作および成功しなかったＤＲ動作を追跡することができる。さらに、移動機能によって、ユーザが全く意識することなく、パーティションを横断してリソースを動的に移動することができる。より詳細に説明すると、移動機能の削除および追加機能をユーザから抽出することができる。
【００４６】
図１７は、本発明と一緒に使用することができるＬＰＡＲからリソースを削除するためのプロセスのフローチャートである。上記プロセスは、コンピュータ・システムをオンするか、またはリセットした場合にスタートする（ステップ１１００）。次に、実行するのはメモリ再構成なのかどうかを判断するために、チェックが行われる。メモリ再構成である場合には、新しいメモリ再構成を反映するように、ＬＰＡＲ割当てテーブルの調整が行われる。次に、削除する各ＬＭＢに対して、適当なｄｒｍｇｒコマンドが発行され、プロセスは終了する（ステップ１１０５−１１２０）。
【００４７】
再構成がＣＰＵまたはＩ／Ｏスロットを含んでいる場合には、リソースを解放するために、ターゲット・パーティション内で動作しているオペレーティング・システムに対して、適当なｄｒｍｇｒコマンドが発行される。すでに説明したように、オペレーティング・システムが命令を実行した場合には、ＯＳはハイパーバイザに通知する。次に、ハイパーバイザは、そのリソースが停止状態であることを表示し、ＨＭＣに通知する。次に、ＨＭＣは、ハイパーバイザから通知を受信するまで待機する。ハイパーバイザから通知を受信すると、そのリソースに、割り当てられていないという表示が付けられ、表示される。それが削除する最後のリソースである場合には、プロセスが終了する。そうでない場合には、プロセスはステップ１１２５に戻る（ステップ１１０５，１１２５−１１５０）。
【００４８】
図１８は、本発明と一緒に使用することができるＬＰＡＲへリソースを追加するためのプロセスのフローチャートである。上記プロセスは、コンピュータ・システムをオンにするか、またはリセットした場合にスタートする（ステップ１２００）。次に、実行するのはメモリ再構成なのかどうかを判断するためにチェックが行われる。メモリ再構成である場合には、新しいメモリ再構成を反映するように、ＬＰＡＲ割当てテーブルの調整が行われる。次に、追加する各ＬＭＢに対して、適当なｄｒｍｇｒコマンドが発行され、プロセスは終了する（ステップ１２０５−１２２０）。
【００４９】
再構成がＣＰＵまたはＩ／Ｏスロットを含んでいる場合には、ＨＭＣは、未割当て、または割当て済みだが現在遊んでいる（使用されていない）適当なリソースを探す。リソースを発見した場合には、そのリソースは、目標ＬＰＡＲに割り当てられ、リソースを入手するために、ＬＰＡＲ内で動作しているオペレーティング・システムに対して、適当なｄｒｍｇｒコマンドが発行される。ＯＳが上記リソースを入手した後で、ＬＰＡＲ割当てテーブルが更新され、それが追加する最後のリソースである場合には、プロセスは終了する。そうでない場合には、プロセスはステップ１１２５に戻る（ステップ１２０５，１２２５−１２４５）。
【００５０】
図１９は、本発明と一緒に使用することができるあるＬＰＡＲから他のＬＰＡＲにリソースを移動するためのプロセスのフローチャートである。上記プロセスは、コンピュータ・システムをオンにするか、またはリセットした場合にスタートする（ステップ１３００）。次に、再構成される各リソースに対する削除機能（図１７）に対して呼出しが行われる。次に、各リソースに対する追加機能（図１８）に対して呼出しが行われ、プロセスはステップ（１３０５−１３１５）で終了する。
【００５１】
本発明の上記記述は、図示および説明のためのものであって、本発明をすべて網羅して記述するためのものでもなければ、開示の形態に本発明を制限するためのものでもない。通常の当業者であれば、種々の修正および変更をすぐに思い付くだろう。上記実施形態は、本発明の原理およびその実際の適用を最も容易に理解でき、また通常の当業者であれば、本発明の特定の用途に適するように種々に変更した種々の実施形態を理解することができるように選択し記述した。
【００５２】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００５３】
（１）それぞれが複数のリソースを有するパーティショニング・コンピュータ・システムのパーティションを動的に再構成するための方法であって、
パーティションの再構成に関連する複数のリソースを指示を受けるステップと、
前記パーティションを、指示されたリソースの１つに対してずつ自動的に再構成するステップと、
を含む方法。
（２）前記パーティションが再構成される前に、パーティションが再構成された後に、リソースの数が制限内にあるかどうかを判断するためにチェックが行われる、上記（１）に記載の方法。
（３）前記パーティションの再構成に関連している前記リソースがメモリである場合に、前記パーティションへの新しいメモリ割当てを反映するように割当てテーブルの調整が行われ、前記パーティションが論理メモリ・ブロック（ＬＭＢ）ずつ再構成される、上記（２）に記載の方法。
（４）前記パーティションの再構成の結果、前記パーティションにリソースが追加された場合、割り当てられていないリソースが前記パーティションに最初に追加される、上記（１）に記載の方法。
（５）割り当てられていないリソースが使用できない場合に、割り当てられているが遊んでいるリソースが前記パーティションに追加される、上記（４）に記載の方法。
（６）前記パーティションに、割り当てられたリソースを追加する前に、前記リソースが、自分が現在割り当てられている前記パーティションから削除される、上記（５）に記載の方法。
（７）それぞれが複数のリソースを有するパーティショニング・コンピュータ・システムのパーティションを動的に再構成するためのコンピュータ・プログラムであって、
パーティションの再構成に関連する複数のリソースを指示を受ける手段と、
前記パーティションを、指示されたリソースの１つに対してずつ自動的に再構成する手段、
としてコンピュータ・システムを機能させるコンピュータ・プログラム。
（８）前記パーティションが再構成される前に、パーティションが再構成された後に、リソースの数が制限内にあるかどうかを判断するためにチェックが行われる、上記（７）に記載のコンピュータ・プログラム。
（９）前記パーティションの再構成に関連している前記リソースがメモリである場合に、前記パーティションへの新しいメモリ割当てを反映するように割当てテーブルの調整が行われ、前記パーティションが論理メモリ・ブロック（ＬＭＢ）ずつ再構成される、上記（８）に記載のコンピュータ・プログラム。
（１０）前記パーティションの再構成の結果、前記パーティションにリソースが追加された場合、割り当てられていないリソースが前記パーティションに最初に追加される、上記（９）に記載のコンピュータ・プログラム。
（１１）割り当てられていないリソースが使用できない場合に、割り当てられているが遊んでいるリソースが前記パーティションに追加される、上記（１０）に記載のコンピュータ・プログラム。
（１２）前記パーティションに、割り当てられたリソースを追加する前に、前記リソースが、自分が現在割り当てられている前記パーティションから削除される、上記（１１）に記載のコンピュータ・プログラム。
（１３）それぞれが複数のリソースを有するパーティショニング・コンピュータ・システムのパーティションを動的に再構成するための装置であって、
パーティションの再構成に関連する複数のリソースを指示を受ける手段と、
前記パーティションを、指示されたリソースの１つに対してずつ自動的に再構成する手段、
を具備する装置。
（１４）前記パーティションが再構成される前に、パーティションが再構成された後に、リソースの数が制限内にあるかどうかを判断するためにチェックが行われる、上記（１３）に記載の装置。
（１５）前記パーティションの再構成に関連している前記リソースがメモリである場合に、前記パーティションへの新しいメモリ割当てを反映するように割当てテーブルの調整が行われ、前記パーティションが論理メモリ・ブロック（ＬＭＢ）ずつ再構成される、上記（１４）に記載の装置。
（１６）あるパーティションの再構成の結果、前記パーティションにリソースが追加された場合、割り当てられていないリソースが前記パーティションに最初に追加される、上記（１５）に記載の装置。
（１７）割り当てられていないリソースが使用できない場合に、割り当てられているが遊んでいるリソースが前記パーティションに追加される、上記（１６）に記載の装置。
（１８）前記パーティションに、割り当てられたリソースを追加する前に、前記リソースが、自分が現在割り当てられている前記パーティションから削除される、上記（１７）に記載の装置。
（１９）それぞれが複数のリソースを有するそれ自体のパーティションを動的に再構成することができるパーティショニング・コンピュータ・システムであって、
コード・データを記憶するための少なくとも１つの記憶手段と、
パーティションの再構成に関連する複数のリソースを指示を受け、各パーティションを指示されたリソースの１つに対してずつ自動的に再構成するための前記コード・データを処理するための少なくとも１つのプロセッサと、
を備えたパーティショニング・コンピュータ・システム。
（２０）前記パーティションが再構成される前に、パーティションが再構成された後に、リソースの数が制限内にあるかどうかを判断するためにチェックが行われる、上記（１９）に記載のパーティショニング・コンピュータ・システム。
（２１）前記パーティションの再構成に関連している前記リソースがメモリである場合に、前記パーティションへの新しいメモリ割当てを反映するように割当てテーブルの調整が行われ、前記パーティションが論理メモリ・ブロック（ＬＭＢ）ずつ再構成される、上記（２０）に記載のパーティショニング・コンピュータ・システム。
（２２）あるパーティションの再構成の結果、前記パーティションにリソースが追加された場合、割り当てられていないリソースが前記パーティションに最初に追加される、上記（２１）に記載のパーティショニング・コンピュータ・システム。
（２３）割り当てられていないリソースが使用できない場合に、割り当てられているが遊んでいるリソースが前記パーティションに追加される、上記（２２）に記載のパーティショニング・コンピュータ・システム。
（２４）前記パーティションに、割り当てられたリソースを追加する前に、前記リソースが、自分が現在割り当てられている前記パーティションから削除される、上記（２３）に記載のパーティショニング・コンピュータ・システム。
【図面の簡単な説明】
【図１】本発明の分散型データ処理システムを示す例示としてのブロック図である。
【図２】本発明のサーバ装置の例示としてのブロック図である。
【図３】本発明のクライアント装置の例示としてのブロック図である。
【図４】コンピュータ・システムの複数のパーティションの論理を示す。
【図５】各パーティションに属するリソースが登録されるマッピング・テーブルである。
【図６】ＬＰＡＲ管理システムである。
【図７】ＨＭＣのグラフィカル・ユーザ・インタフェース（ＧＵＩ）のスクリーン・ショットである。
【図８】ＬＰＡＲを再構成するために使用することができるＧＵＩである。
【図９】ＬＰＡＲを再構成するために使用することができるＧＵＩである。
【図１０】ＬＰＡＲを再構成するために使用することができるＧＵＩである。
【図１１】ＬＰＡＲを再構成するために使用することができるＧＵＩである。
【図１２】ＬＰＡＲを再構成するために使用することができるＧＵＩである。
【図１３】ＬＰＡＲを再構成するために使用することができるＧＵＩである。
【図１４】ＬＰＡＲを再構成するために使用することができるＧＵＩである。
【図１５】ＬＰＡＲを再構成するために使用することができるＧＵＩである。
【図１６】ＬＰＡＲを再構成するために使用することができるＧＵＩである。
【図１７】本発明と一緒に使用することができるＬＰＡＲからリソースを削除するためのプロセスのフローチャートである。
【図１８】本発明と一緒に使用することができるＬＰＡＲにリソースを追加するためのプロセスのフローチャートである。
【図１９】本発明と一緒に使用することができる、あるＬＰＡＲから他のＬＰＡＲへリソースを移動するためのプロセスのフローチャートである。
【図１】
2004070935.tif 000003
【図２】
2004070935.tif 000004
【図３】
2004070935.tif 000005
【図４】
2004070935.tif 000006
【図５】
2004070935.tif 000007
【図６】
2004070935.tif 000008
【図７】
2004070935.tif 000009
【図８】
2004070935.tif 000010
【図９】
2004070935.tif 000011
【図１０】
2004070935.tif 000012
【図１１】
2004070935.tif 000013
【図１２】
2004070935.tif 000014
【図１３】
2004070935.tif 000015
【図１４】
2004070935.tif 000016
【図１５】
2004070935.tif 000017
【図１６】
2004070935.tif 000018
【図１７】
2004070935.tif 000019
【図１８】
2004070935.tif 000020
【図１９】
2004070935.tif 000021