(57)【要約】【課題】  動的プロセッサ移動を用いる、顧客へのコストがないように、任意の適したキャパシティオンデマンド方式（たとえば、HPのiCODプログラム）を使用して、ＣＰＵ予備プールを実施すること。【解決手段】  本発明の実施形態は、既存の予備プロセッサを使用することによって、ハードウェアパーティションにわたるプロセッサレベル（たとえば、CPUレベル）粒度のリソース移動をサポートし、それによってプロセッサ粒度での負荷平衡化ソリューションを提供するアセンブリおよび方法を提供する。実施形態は、予備プロセッサの分散プールを作成することを含み、そのメンバが、予備プロセッサを最も必要とするパーティションに自動的に割り振られる。   【選択図】図１
2004288183.tif 000002
【特許請求の範囲】
【請求項１】
パーティションサーバにおいて、アクティブ化することでサービスレベル目標を満たすための少なくとも１つの予備プロセッサを有する第１のパーティションを識別することを含み、該サービスレベル目標は、前記第１のパーティションで実行されているアプリケーションに関連し、
前記パーティションサーバにおいて、割り振られていない少なくとも１つのアクティブプロセッサを有する第２のパーティションを識別することと、
前記第１のパーティション中の前記少なくとも１つの予備プロセッサをアクティブ化することと、
前記第２のパーティション中の前記少なくとも１つのアクティブプロセッサを非アクティブ化することと、を含む、
パーティションサーバにおいてコンピューティングリソースを自動的に割り振る方法。
【請求項２】
前記第１のパーティション中のアクティブプロセッサ要求を収集することをさらに含む、請求項１記載のパーティションサーバにおいてコンピューティングリソースを自動的に割り振る方法。
【請求項３】
前記第１のパーティション中の予備プロセッサの数に従って前記アクティブプロセッサ要求を調整することをさらに含む、請求項２記載のパーティションサーバにおいてコンピューティングリソースを自動的に割り振る方法。
【請求項４】
前記アクティブ化される予備プロセッサの数は、非アクティブ化されるアクティブ化プロセッサの数に等しい、請求項１記載のパーティションサーバにおいてコンピューティングリソースを自動的に割り振る方法。
【請求項５】
パーティションサーバから、第１の優先レベルのアクティブプロセッサリソース要求を収集すること、
前記パーティションサーバ中の全パーティションの全アクティブプロセッサリソースが、前記第１の優先レベルですでに割り振られているかどうかを判定することと、
前記パーティションサーバ中の各パーティションから、前記第１の優先レベルよりも低い第２の優先レベルのアクティブプロセッサリソース要求を収集することと、
前記パーティションサーバにおいて、前記第２の優先レベルに割り振られていない少なくとも１つのアクティブプロセッサを有する第１のパーティションを識別することと、
前記パーティションサーバにおいて、少なくとも１つの予備プロセッサを有するとともに、前記第２の優先レベルで少なくとも１つのアクティブプロセッサを要求している第２のパーティションを識別することと、
前記第２のパーティション中の前記少なくとも１つの予備プロセッサをアクティブ化することと、
前記第１のパーティション中の前記少なくとも１つのアクティブプロセッサを非アクティブ化すること、を含む、
パーティションサーバにおいてコンピューティングリソースを自動的に割り振る方法。
【請求項６】
前記第２の優先レベルの前記アクティブプロセッサリソース要求を満たすことが可能な予備プロセッサが、前記パーティションにおいて利用可能であるか否かを考慮して、前記第２の優先レベルの前記アクティブプロセッサリソース要求を調整することをさらに含む、請求項５記載のパーティションサーバにおいてコンピューティングリソースを自動的に割り振る方法。
【請求項７】
請求項１記載の方法に従って製造されたパーティションサーバ。
【請求項８】
作業負荷マネージャと、
該作業負荷マネージャに接続され、アクティブプロセッサおよび複数の予備プロセッサを有するパーティションを、複数含むパーティションサーバを備えた、
パーティションサーバにおいてコンピューティングリソースを自動的に割り振るシステム。
【請求項９】
前記予備プロセッサの数は、非アクティブ化される前記アクティブプロセッサの数およびアクティブ化される前記予備プロセッサの数に関係なく同じである、請求項８記載のパーティションサーバにおいてコンピューティングリソースを自動的に割り振るシステム。
【請求項１０】
非アクティブ化されたことがある少なくとも１つのアクティブプロセッサ、およびアクティブ化されたことがある少なくとも１つの非アクティブプロセッサ、を有するパーティションを複数含むパーティションサーバと、
該パーティションサーバに接続され、パーティションサーバの第１のパーティションが少なくとも１つの予備プロセッサのアクティブ化を要求するかどうかを判定し、前記パーティションサーバの第２のパーティションが非アクティブ化し得る少なくとも１つのアクティブプロセッサを有するかどうかを判定する手段と、を備えた、
パーティションサーバにおいてコンピューティングリソースを自動的に割り振るシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、包括的にコンピュータシステムに関する。さらに詳しくは、本発明の実施形態は、予備プロセッサを使用するハードウェアベースのサーバパーティションにわたるプロセッサを平衡させるアセンブリおよび方法に関する。またさらに詳しくは、本発明の実施形態は、１つまたは複数のプロセッサをパーティションサーバ中のハードウェアベースのパーティション間で移動させるパーティションサーバを動的に再構成するアセンブリおよび方法に関する。
【背景技術】
【０００２】
最近のサーバアーキテクチャは、ハードウェアベースのパーティション化をサポートしている（たとえば、単なる例としてSunのUltra  Enterprise  Dynamic  DomainsおよびHPのnPARs  in  Superdomeを参照のこと）。パーティションサーバは、各パーティション上のオペレーティングシステムおよびアプリケーションの独立したコピーを実行し、それによって単一システム上にマルチオペレーティング環境を作り出す。ハードウェアベースのパーティションの利点は以下である。すなわち（ｉ）システムの利用率の向上、（ii）パーティションの電気的分離、（iii）他のパーティションに影響を及ぼすことなくパーティションに対してオンラインアップグレードを行うことができること、および（iv）時間の経過に伴う作業負荷需要に合わせるようにパーティションのサイズを変更することができること。
【０００３】
パーティションサーバのアーキテクチャは通常モジュール方式であり、プロセッサ、メモリ、およびＩ／Ｏを含む「セル」またはモジュールがパーティションの構成ブロックである。パーティションは通常、共に作業し、オペレーティングシステムの単一コピーを実行し、また、そのパーティションのユーザに共有メモリマルチプロセッサ環境を提供する１つまたは複数のセルを含む。実施態様によっては、影響を受けるパーティション上で実行されているオペレーティングシステムをリブートすることなく、パーティションの追加、削除、および再配置を行うことが可能なものもあれば、パーティション中のセルの数が変更するときは常にパーティションをリブートする必要があるものもある。
【０００４】
ハードウェアベースのパーティション化に伴う１つの制約には、割り振り単位であるセルが粒度の点でかなり「重く」なり得ること、および需要の急激な上昇に対処する際のセルの動的な割り振りが粗すぎて、大きなアプリケーションパフォーマンスのシフトを引き起こせないことにはオペレーションが有用になり得ないことがある。セルは、通常示されるように、１つまたは複数のプロセッサ、メモリ、およびＩ／Ｏモジュールからなる。セルはコンピュータパワーの大きな集合体であるため、セルをパーティション間で移動することは、以下の理由により、頻繁に行うことができる動作ではない。すなわち（ｉ）セルが必要以上のリソースを含んでいる可能性があり、移動する必要があるプロセッサは１つのみ（たとえば、ＣＰＵ）である場合であっても、セルはいくつかのプロセッサを移動することになるため、および（ii）セルの移動を実行するコストが高すぎ、ソフトウェアの制御下で自動的に行うことができないためである。
【０００５】
最近サーバのベンダーは、キャパシティオンデマンドという概念を導入した。この概念は、サーバの容量をどの程度ユーザに提供できるかという点でより柔軟性を提供する、いくつかの技術的手法および会計上の手法を包含する。たとえば、Hewlett Packardは、インスタントキャパシティオンデマンド（「iCOD」）を導入した。顧客がHP社のエンタープライズサーバを所有し、追加のCPUリソースをアクティブ化した場合にそれらＣＰＵリソースの料金を支払うようにするソリューションである。このオプションは、顧客が需要の増加が高いと予想するときは適しているが、この需要がいつ必要になるかを予測することができるのではなく、必要時にコンピュータリソース（複数可）に即時アクセスしなければならない。ｉＣＯＤを実施するためには、顧客が料金を支払った分よりも多くのＣＰＵを備えた状態で、パーティションサーバを含むサーバを出荷しなければならない。エージェントにより、必要時に予備ＣＰＵのアクティブ化が可能になるとともに、鑑査（auditing：監査）が推進される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ハードウェアベースソリューションに対する現在の動的再構成ソリューションでは、パーティションにわたる構成ブロック、モジュールまたはセル全体を再配置する必要がある。このオペレーションは複雑であり、頻繁に実行することが難しい。任意特定のセルに関連するリソースの粒度が粗すぎるので、頻繁な再平衡化は難しい。
【０００７】
あるiCODプロセッサを、あるパーティション中で自動的に非アクティブ化するのと同時に、別のiCODプロセッサを、別のパーティション中で自動的にアクティブ化できることが望ましい。プロセッサのアクティブ化および非アクティブ化を同時に行うことにより、プロセッサパワーの増大が正味ゼロに、ひいてはサーバ所有者へのプロセッサコストの増大が正味ゼロになる。この効果は、プロセッサをハードウェアパーティション間で移動させることと同等である。iCOD技術を使用して実質的にパーティションサーバ中のパーティション間でプロセッサを動かすことによって、パーティションの負荷を平衡させるアセンブリおよび方法を有することがさらに望ましい。
【課題を解決するための手段】
【０００８】
本発明の実施形態は、既存の予備プロセッサを使用することによって、ハードウェアパーティションにわたるプロセッサレベル（たとえば、CPUレベル）粒度のリソース移動をサポートし、それによってプロセッサ粒度での負荷平衡化ソリューションを提供するアセンブリおよび方法を提供する。実施形態は、予備プロセッサの分散プールを作成することを含み、そのメンバが、予備プロセッサを最も必要とするパーティションに自動的に割り振られる。予備プロセッサの自動的な割り振りは、セルを動的に移動することができない場合でも実施可能であり、また実現可能である。さらに、本発明の各種実施形態の動的プロセッサ移動を用いる、顧客へのコストがないように、任意の適したキャパシティオンデマンド方式（たとえば、HPのiCODプログラム）を使用して、ＣＰＵ予備プールを実施することができる。
【０００９】
したがって、本発明の実施形態は、パーティションサーバのパーティションにわたるプロセッサを自動的に平衡させる方法を提供する。この方法は、パーティションサーバの第１のパーティションが少なくとも１つの予備プロセッサをアクティブ化する必要があることを決定すること、パーティションサーバの第２のパーティションが、非アクティブ化し得る少なくとも１つのアクティブプロセッサを有することを判定すること、第１のパーティション中の少なくとも１つの予備プロセッサをアクティブ化すること、第２のパーティション中の少なくとも１つのアクティブプロセッサを非アクティブ化すること、を含む。この方法の実施形態のうちの１つまたは複数を実行する命令を格納したマシン可読媒体が提供される。この方法で、パーティションサーバのパーティションにわたるプロセッサを自動的に平衡させる。
【００１０】
本発明の実施形態は、パーティションサーバにおいて、第１のパーティションで実行されているアプリケーションに関連するサービスレベル目標を満たすためにアクティブ化可能な、少なくとも１つの予備プロセッサを有する第１のパーティションを識別すること、パーティションサーバにおいて、目標レベルで割り振られていない少なくとも１つのアクティブプロセッサを有する第２のパーティションを識別すること、第１のパーティション中の少なくとも１つの予備プロセッサをアクティブ化すること、第２のパーティション中の少なくとも１つのアクティブプロセッサを非アクティブ化すること、を含む、パーティションサーバにおいてコンピューティングリソースを自動的に割り振る方法も提供する。パーティションサーバにおいてコンピューティングリソースを割り振る方法の任意の実施形態を実行する命令を備えたコンピュータ可読媒体を有する製品が提供される。
【００１１】
これらの規定は、以下の説明が進むにつれて当業者に明らかになる様々な付帯規定および特徴とともに、本発明の実施形態の装置、アセンブリ、システム、および方法によって達成される。本発明の各種実施形態は、単なる例として添付図面を参照して示される。
【発明を実施するための最良の形態】
【００１２】
本明細書における説明では、本発明の実施形態についての完全な理解を提供するために、構成要素および／または方法の例等、多数の具体的な詳細が提供される。しかし当業者は、本発明の実施形態は、具体的な詳細の１つまたは複数を用いずに、または他の装置、システム、アセンブリ、方法、構成要素、材料、部品、および／またはこれらと同様のものとともに実施することが可能であることを認識しよう。他の場合では、本発明の実施形態の態様を不明瞭にすることを避けるため、周知の構造、材料、または動作については特に詳細に図示または説明しない。
【００１３】
本発明の実施形態のため、「コンピュータ」は、メインフレームコンピュータ、パーソナルコンピュータ、ラップトップ、ノート型、マイクロコンピュータ、サーバ、またはこれらと同様のものの中の任意のもの等、任意のプロセッサ内蔵装置であることができる。「コンピュータプログラム」は、当業者に周知の、コンピュータ内に挿入される任意の適したプログラムまたは一連の符号化命令であることができる。さらに具体的に言えば、コンピュータプログラムは、実行されると、コンピュータを所定の様式で挙動させる、編成された命令リストである。コンピュータプログラムは、材料リスト（変数と呼ばれる）および変数を使用して何を行うべきかをコンピュータに教える指示リスト（ステートメントと呼ばれる）を含む。変数は、数値データ、テキスト、またはグラフィックスイメージを表すことができる。
【００１４】
本発明の実施形態のため、「コンピュータ可読媒体」は、命令実行システム、装置、システムまたはデバイスにより、またはこれらと併せて使用されるプログラムの包含、格納、通信、伝搬、または移送を行うことが可能な任意の媒体であることができる。コンピュータ可読媒体は、限定ではなく単なる例として、電子、磁気、光学、電磁、赤外線、または半導体のシステム、装置、システム、デバイス、伝搬媒体、またはコンピュータメモリであることができる。
【００１５】
本発明の実施形態の「サービスレベル目標」（ＳＬＯ）属性は、プリミティブの測定可能な特徴、さらに具体的には、任意特定のアプリケーションにより制御システムに送られるパフォーマンスのレベルを定義することができる。ＳＬＯは、作業負荷による所定のリソース（たとえば、ＣＰＵ）消費レベルであることもできる。ＳＬＯは、パーティションサーバのパーティションで実行されている１つまたは複数の作業負荷に関連し、その作業負荷に対する所望リソース利用制約、および任意選択で、スケジューリングの情報および制約とともにパフォーマンスまたは使用目標を記述する。単なる例として、ＳＬＯはファイルサービスの場合は「ＸＭｂ／ｓ総スループットで送出」であることができ、または電子メール交換サービスの場合は「毎秒Ｎ通の電子メールメッセージを処理」であることができる。ＳＬＯ属性は、制御システムの任意特定のアプリケーションに関してではなく、コンピュータシステムに関して定義することもできる。単にさらなる例として、コンピュータシステムの場合のＳＬＯは、「このサービスに関与しているパーティションサーバの各パーティションで、ＣＰＵの負荷をＸパーセント未満に維持」であることができる。このようなプロキシＳＬＯ属性は、アプリケーションレベルで属性を測定することが難しい場合に採用され得る。ＳＬＯ属性は「サービス品質」またはＱｏＳ属性として知られている場合もある。
【００１６】
各パーティションには、１つまたは複数のサービスレベル目標（ＳＬＯ）が関連付けられる。示したように、ＳＬＯは、作業負荷管理システムが実行するアプリケーションパフォーマンスまたはリソース使用目標である。各ＳＬＯには、優先度が関連付けられる。パーティションは、より多くのリソースを必要とし予備ＣＰＵが利用可能なものについては、アクティブプロセッサを非アクティブ化する別のパーティション候補がある限り、アクティブ化される。この候補は、以下で述べるアルゴリズムによって決定される。そのアルゴリズムは、提供側のパーティションでどの程度良好にＳＬＯが満たされているかを考慮し、提供側および受け取り側のパーティション中のＳＬＯの相対的な優先度を考慮する。
【００１７】
「プロセッサ」は、命令（たとえば、オペレーティングシステムコード）を解釈して実行するとともに、システムリソースを管理するシステムまたは機構を含む。さらに具体的には、「プロセッサ」はプログラムを入力として受け入れることができ、これを実行に向けて準備し、結果をもたらすようにデータとともに定義されたプロセスを実行する。プロセッサは、インタプリタ、コンパイラ、およびランタイムシステム、または他の機構を、関連するホストコンピューティングマシンおよびオペレーティングシステム、または同じ効果を実現する他の機構とともに含むことができる。「プロセッサ」は、プログラムされた命令のフェッチ、デコード、および実行を行い、また、プログラムの実行結果のステータスを維持する、コンピューティングシステムの装置である中央演算処理装置（ＣＰＵ）も含むことができる。ＣＰＵは、命令の解釈および命令の実行を制御する回路を含む、コンピューティングシステムの装置である。
【００１８】
「サーバ」は、特定の設備をネットワークに取り付けられた他の装置に提供することを専用とする装置またはコンピュータシステムを含む、任意の適したサーバ（たとえば、データベースサーバ、ディスクサーバ、ファイルサーバ、ネットワークサーバ、ターミナルサーバ等）であることができる。「サーバ」は、ＣＰＵを内蔵したデバイスまたは装置等、任意のプロセッサ内蔵のデバイスまたは装置であることもできる。
【００１９】
サーバの「パーティション」は、特別な目的のために取り分けて置かれる、サーバの処理プリミティブの一部であり、個々のコンピュータであるかのように取り扱うことができる。たとえば、サーバの一部は、それぞれのオペレーティングシステム、および１つまたは複数の作業負荷をそれぞれ実行している１つまたは複数のプロセッサ（たとえば、ＣＰＵ）を含むことができる。各パーティションは、１つまたは複数のプログラムを保持し、そのプログラムとともに動作することができる。
【００２０】
「アクティブプロセッサプール」は、共に動作して、特にパーティションサーバのパーティションから所望のサービスを行う１つまたは複数のプロセッサ（たとえば、ＣＰＵ）である。特に任意のパーティションのアクティブプロセッサプールには、１つまたは複数のＳＬＯ（たとえば、ＱｏＳ属性）、ならびにより高い優先度のアクティブプロセッサプールのニーズを満たすために、アクティブプロセッサプールからプロセッサを除去する必要があり、任意の予備プロセッサプール中に使用できるプロセッサがないときに使用される相対的な優先度が関連付けられる。
【００２１】
「予備プロセッサプール」は、現在、任意のアクティブプロセッサプールに割り振られていない１つまたは複数のプロセッサ（たとえば、特定のパーティション中の１つまたは複数のプロセッサ）である。予備プロセッサプールからの１つまたは複数のプロセッサは、本発明の各種実施形態の動的で適応的な割り振りおよび／または規定に従って割り振ることができる。任意の予備プロセッサプール中のプロセッサは待機状態にある。すなわち、電源投入され、任意のパーティション中のアクティブプロセッサ（すなわち、アクティブプロセッサプール）に接続されるが、パーティションサーバの任意特定のパーティションに割り当てられたオペレーティングシステムを実行しない。予備プロセッサプール中の１つまたは複数のプロセッサには、任意特定のオペレーティングシステム（ＯＳ）、および任意特定のアクティブプロセッサプールが最も必要としそうなアプリケーションを予めロードすることができる。
【００２２】
これより図１を参照して、作業負荷マネージャ１４（たとえば、管理サーバ、コンピュータなど）に接続された、概して１０として示されるパーティションサーバの概略図を大まかに示す。本発明の各種実施形態の場合、パーティションサーバ（またはコンピューティングシステム）１０は、少なくとも２つのパーティション、さらに具体的には、概して１８として示される複数のパーティションを含む。１８は、パーティション１８ａ、パーティション１８ｂ、パーティション１８ｃ、およびパーティション１８ｄを含む。パーティション１８は、好ましくは作業負荷マネージャ１４と各パーティション１８ａ、１８ｂ、１８ｃ、１８ｄの間に単一インタフェースを提供するローカルエリアネットワーク（ＬＡＮ）またはバス（すべて図面に示さず）を介して作業負荷マネージャ１４によって制御される。さらに具体的には、作業負荷マネージャ１４は、各パーティション中のエージェントをインスタンス化する。それぞれのエージェントは、作業負荷マネージャ１４によって提供される中央制御システムと通信する。それにより特に、アクティブプロセッサおよび予備プロセッサに関する決定が行なわれる。
【００２３】
パーティション１８は、概して２４として示されるアクティブプロセッサプール、および概して２８として示される予備プロセッサプールを含む。さらに具体的には、パーティション１８ａ、１８ｂ、１８ｃ、１８ｄは、各アクティブプロセッサプール２４ａ、２４ｂ、２４ｃ、２４ｄと、各予備プロセッサプール２８ａ、２８ｂ、２８ｃ、２８ｄとを含む。アクティブプロセッサプール２４ａ、２４ｂ、２４ｃ、２４ｄはそれぞれ、アクティブプロセッサ（たとえば、ＣＰＵ）３０ａ、３０ｂ、３０ｃ、３０ｄを含む。予備プロセッサプール２８ａ、２８ｂ、２８ｃ、２８ｄはそれぞれ、予備プロセッサ３２ａ、３２ｂ、３２ｃ、３２ｄを含む。
【００２４】
本発明の別の実施形態において、パーティション１８は、監視アセンブリ１５（たとえば、コンピュータ、サーバなど）に接続することができる。監視アセンブリ１５は、目標またはパフォーマンス基準に対するすべてのアクティブプロセッサ２４のパフォーマンスおよび／または使用を監視する。監視アセンブリ１５は、作業負荷マネージャ１４と接続されて、情報を送受信することができる。作業負荷マネージャ１４は、単独で作業することができる。または、設定された目標またはパフォーマンス要件に関するすべてのアクティブプロセッサ２４のパフォーマンス・使用を監視する監視アセンブリ１５と組み合わせられて作業することができる。したがって、本明細書において作業負荷マネージャ１４が触れられ、述べられ、または示唆されるときは常に、作業負荷マネージャ１４単独を、あるいは監視アセンブリ１５と組み合わせられた作業負荷マネージャ１４を、意味していることを理解されたい。
【００２５】
各パーティション１８（すなわち１８ａ、１８ｂ、１８ｃ、１８ｄ）は、１つまたは複数のサービスレベル目標（ＳＬＯ）が関連付けられた１つまたは複数の作業負荷を実行している。示したように、ＳＬＯは、作業負荷に対する所望リソース利用制約、および任意選択でスケジューリングの情報および制約とともにパフォーマンスまたは使用目標を記述する。ＳＬＯの１つまたは複数には、優先レベルも関連付けられる。任意のＳＬＯの動作についての詳細は、米国特許出願第09/493,753号、名称「Dynamic Management of Computer Workloads Through Service Level Optimization」に記載されている。作業負荷マネージャ１４（または監視アセンブリ１５と組み合わせられた作業負荷マネージャ１４）は、設定された目標に対するすべてのアクティブプロセッサ２４のパフォーマンス・使用を絶えず監視し、たとえば、予備プロセッサプール２８から１つまたは複数の予備プロセッサを除去し、これをアクティブプロセッサプール２４に追加することにより、またはアクティブプロセッサプール２４から１つまたは複数のアクティブプロセッサを除去し、これを予備プロセッサプール２８に追加することにより、ＳＬＯを満たすように自動的な調整を行う。優先度の高いＳＬＯを先に満たしてから、優先度のより低いＳＬＯが続けて満たされるため、サーバ１０のプロセッサ容量が優先度順にリソースニーズにマッピングされる。
【００２６】
作業負荷マネージャ１４および／または監視アセンブリ１５は、複数のパーティション１８にわたって作業し、複数のパーティション１８に動作的にまたがる。アクティブプロセッサおよび予備プロセッサは、それぞれに関連する各パーティション１８に専用であることができ、通常は専用である。したがって、単なる例として、アクティブプロセッサ３０ａおよび予備プロセッサ３２ａは通常、関連するパーティション１８ａに専用である。サーバまたはコンピューティングシステム１０は、作業負荷マネージャ１４を通して管理される動的プロセッサ割り振りシステムの各種実施形態を実行する。
【００２７】
したがって、作業負荷マネージャ１４および／または監視アセンブリ１５は、特定のパーティションで実行されている作業負荷の１つまたは複数のＳＬＯを満たすために、予備プロセッサ（たとえば、予備プロセッサ３２ｂ）を予備プロセッサプール（たとえば、予備プロセッサプール２８ｂ）から除去し、その特定のパーティション（たとえば、パーティション１８ｂ）のアクティブプロセッサプール（たとえば、アクティブプロセッサプール２４ｂ）に追加しなければならないと決定することができる。この決定がどのように行われるかについては、米国特許出願第09/562,590号、名称「Reconfiguration Support for a Multi-Partition Computer System」に記載されている。さらに具体的には、出願第09/562,590号に開示されているように、アロケータを設けて任意特定のパーティションをサイズ変更することができる。このパーティションは、プロセッサ負荷マネージャ（すなわち、作業負荷マネージャ１４）によって提供される命令に基づいて、１つまたは複数の予備プロセッサプールから１つまたは複数のアクティブプロセッサプール、またはその逆に、プロセッサリソースを移動させる。作業負荷マネージャ１４および／または監視アセンブリ１５は、適正な目標の情報および優先度情報をユーザまたは管理者から受け取ることができる。このような目標および優先度の情報は、１つまたは複数のパーティション中のすべてのプロセッサについて同じである場合もあり、１つまたは複数のパーティション中の各プロセッサまたはプロセッサ群に固有である場合もある。作業負荷マネージャ１４は、示したように、１つまたは複数のパフォーマンスモニタ（たとえば、監視アセンブリ１５）から追加情報を受け取ることもできる。パフォーマンスモニタは、各パーティション１８（たとえば、パーティション１８ａ、１８ｂ等）中の各アクティブプロセッサ（たとえば、アクティブプロセッサ３０ａ、３０ｂ等）内のアプリケーションのパフォーマンスを監視するシステムおよびプロセスである。作業負荷マネージャ１４は、パフォーマンスモニタからの情報を調べ、その情報を目標と比較する。その比較に基づいて、作業負荷マネージャ１４は、アプリケーションの受給（entitlement）を増減、またはそのまま据え置くことができる。（受給とはたとえば、作業負荷を実行する、任意のパーティション中のアクティブプロセッサの数である）。アプリケーションのパフォーマンスが停滞している場合、たとえばトランザクションが目標よりも長くかかっている場合、作業負荷マネージャ１４は、１つまたは複数の予備プロセッサ（たとえば、予備プロセッサ３２ａ）を除去して、これをアクティブプロセッサプール（たとえば、アクティブプロセッサプール２４ａ）に追加することによって受給を増やす。アプリケーションが目標を超えている場合、作業負荷マネージャ１４はその受給を減らし、減らした分を別のアプリケーションに割り振ることになる。したがって、作業負荷マネージャ１４（または監視アセンブリ１５と組み合わせられた作業負荷マネージャ１４）は、サーバリソースに関連する各パーティション１８中のプロセッサに割り振られた少なくとも１つの優先度に基づいて、サーバリソースのリソース要求値を決定することができる���作業負荷マネージャ１４は、各サーバリソース要求値に基づいて、各パーティション１８中の各アクティブプロセッサに割り振り値を形成するように動作する。それによりサーバ（またはコンピューティング）システムの本体は、サーバリソースをアクティブプロセッサプール（たとえば、アクティブプロセッサプール２４ａ、２４ｂ等）の中から、割り振り値に基づいて割り当てる。したがって、各パーティション１８について、作業負荷マネージャ１４は、各優先度で要求されている１つまたは複数のプロセッサ（たとえば、ＣＰＵ）を、１つまたは複数の特定のパーティションのアクティブプロセッサプールに供給・追加することになる。作業負荷マネージャ１４は、先に示したように、関連するアクティブプロセッサプールへの割り振りに利用可能な任意特定の予備プロセッサプール２８中の、予備プロセッサ（もしあれば）の数についての情報を受け取り、格納している。
【００２８】
作業負荷マネージャ１４は通常、アイドルループ中に配置され、パーティションサーバ１０から情報を、さらに具体的には各パーティション１８に関連するアクティブプロセッサ（たとえば、アクティブプロセッサ３０ａ、３０ｂ等）を受け取るのを待つ。示したように、作業負荷マネージャ１４（および／または監視アセンブリ１５）は、各パーティション１８内の各アクティブプロセッサの作業負荷、ＳＬＯ、およびパフォーマンスを監視する。作業負荷マネージャ１４（および／または監視アセンブリ１５）に渡される情報は、各パーティション１８内の任意特定のアクティブプロセッサ上のアプリケーションのパフォーマンスを提示する数値データからなる。たとえば、関連するパーティション１８ａ内のアクティブプロセッサ３０ａ上のアプリケーションのパフォーマンスを反映した合成数を作成および／または生成することができる。情報は、定期的または周期的な間隔でのポーリングを介して同期するか、あるいは任意の監視システムによって送られるアラームを介して同期して、管理サーバ１４に送ることができる。ポーリングが頻繁に行われる場合、アラームの送信は必要なく、オプションの機能になる。
【００２９】
管理サーバ１４（および／または監視アセンブリ１５）が、各パーティション１８に関連する各アクティブプロセッサからサーバパーティション−パフォーマンス情報を受け取った後、作業負荷マネージャ１４は、受け取ったサーバ−パフォーマンス情報をすべて集め、相関付け、そして整理統合し、次いでパーティション１８毎に少なくとも１つのサービスレベルを計算または決定する。さらに具体的には、作業負荷マネージャ１４は、パーティション１８毎に、各パーティション１８の少なくとも１つのサービスレベル（たとえば、総サービスレベル）を計算または決定する。パーティションサーバ１０中のパーティション１８によって実行または行われている特定のアプリケーションまたはサービス要求について測定または決定されたサービスレベル属性が、ユーザによって設定または決められた基準または目標から逸脱している、外れている、またはずれている場合、測定または決定されたサービスレベル属性が基準または目標の上にあるか、または下にあるかが判定される。目標または基準から逸脱がない場合、作業負荷マネージャ１４は行動を起こす必要がなく、それからアイドルループに戻ることができる。
【００３０】
アイドルループについて示したように、アイドル状態にある作業負荷マネージャ１４（または監視アセンブリ１５と組み合わせられた作業負荷マネージャ１４）は、各パーティション１８に関連するアクティブプロセッサのパフォーマンスを監視している。測定されたサービスレベル属性が目標を下回っていない場合、測定されたサービスレベル属性は目指す目標を上回っており、対象パーティション１８は受給過多であるか、効率的に作業していないか、または最適に動作していない。したがって、１つまたは複数のアクティブプロセッサを除去することにより対象パーティション１８のアクティブプロセッサ容量を低減すべきであり、それによって関連する予備プロセッサプールを増大し、プロセッサを別のパーティションでのアクティブ化に利用できるようにする。作業負荷マネージャ１４において、アクションに求められる過供給のしきい値、ならびにアクションの任意の頻度のしきい値を指定することが可能である。
【００３１】
測定されたサービスレベル属性は、目標または基準を下回っていない場合、基準または目標を上回っており、作業負荷マネージャ１４によるアクションを実行すべきである。とられるアクションは、作業負荷マネージャ１４が対象パーティション（たとえば、パーティション１８ａ）のアクティブプロセッサ（たとえば、アクティブプロセッサ３０ａ）のうちの１つまたは複数を選択し、選択されたアクティブプロセッサを対象パーティション（たとえば、パーティション１８ａ）に関連する予備プロセッサプール（たとえば、予備プロセッサプール２８ａ）内に配置するというものである。この実行により、対象パーティション（たとえば、パーティション１８ａ）に関連する関連のアクティブプロセッサプール（たとえば、アクティブプロセッサプール２４ａ）内に残りのアクティブプロセッサ上の作業負荷が最適化および／またはより効率化する。アクティブプロセッサ選択プロセスが作業負荷マネージャ１４によって実行され、１つまたは複数の選択されたアクティブプロセッサが予備プロセッサプール２８に戻された後、作業負荷マネージャ１４はアイドルループに戻ることができる。
【００３２】
総サービスレベル属性が目標を下回っている場合、プロセッサ割り振りまたは供給ステップを実行すべきである。割り振りまたは供給するプロセッサの数ならびに定められた基準または目標からの総ＳＬＯ属性の逸脱の度合い、割り振りまたは供給の頻度、ならびに他の任意所望の要因を、作業負荷マネージャ１４に予め定めておくことができる。プロセッサ割り振りまたは供給ステップは、特定の予備プロセッサプール（たとえば、予備プロセッサプール２８ａ）が、対象アクティブプロセッサプール（たとえば、アクティブプロセッサプール２４ａ）への引き出しまたは除去に利用可能な１つまたは複数の予備プロセッサ（たとえば、予備プロセッサ３２ａ）を有するか否かを判定することを含む。予備プロセッサが特定の予備プロセッサプールになかった場合、パーティション選択プロセスが実行され、プロセッサ選択アルゴリズムが呼び出され、優先度のより低いパーティション１８から１つまたは複数のアクティブプロセッサが識別される。これらはすべて、先に触れた米国特許出願第09/562,590号、同第09/493,753号、および同第10/206,594号に図示し特に記載されている。さらに具体的には、出願第09/562,590号に開示されているように、アロケータを設けて任意特定のアクティブプロセッサプールのサイズ変更を行うことができる。これはプロセッサ負荷マネージャ（すなわち、作業負荷マネージャ１４）によって提供される命令に基づいて、アクティブプロセッサリソースを１つまたは複数のアクティブプロセッサプールから１つまたは複数の他の予備プロセッサプール、特に特定のパーティションの予備プロセッサプールに移動させることである。作業負荷マネージャ１４は、各パーティション１８の目標情報および優先度情報をユーザまたは管理者から受け取る。このような目標情報および優先度情報は、すべてのパーティション１８のすべてのプロセッサで同じである場合もあり、または各パーティション１８中の各プロセッサまたはプロセッサ群に固有である場合もある。作業負荷マネージャ１４は、本発明の別の実施形態では、各パーティション１８内の１つまたは複数のプロセッサのアプリケーションのパフォーマンスを監視するプロセスであるパフォーマンスモニタ（たとえば、監視アセンブリ１５）から追加情報を受け取ることもできる。作業負荷マネージャ１４は、単独で、あるいはパフォーマンスモニタ（たとえば、監視アセンブリ１５）と組み合わされて情報を検査し、その情報を目標と比較する。比較に基づいて、作業負荷マネージャ１４は、パーティションのアプリケーションの受給を増減、またはそのまま据え置くことができる。パーティションアプリケーションのパフォーマンスが停滞している場合、たとえば、トランザクションが目標よりも長くかかっている場合、作業負荷マネージャ１４は、任意特定のパーティション１８へのプロセッサ受給を増大する。アプリケーションが目標を超えている場合、作業負荷マネージャ１４は特定のパーティション１８へのパーティション受給を減らし、１つまたは複数のアクティブプロセッサを、関連する予備プロセッサプールに割り振ることになる。したがって、作業負荷マネージャ１４は、パーティションサーバリソースに関連する各パーティショ��に割り振られた少なくとも１つの優先度に基づいて、パーティションサーバリソースのプロセッサリソース要求値を決定することができる。作業負荷マネージャ１４は、各サーバリソース要求値に基づいて、各パーティション１８に割り振り、値を形成するように動作する。それによりパーティションシステム本体は、適当なパーティションサーバリソースを、パーティション１８の中から割り振り値に基づいて割り当てる。
【００３３】
したがって、プロセッサ選択プロセスは、パーティションサーバ１０中の各パーティション１８の相対的なパフォーマンスならびに優先度を調べて、予備プロセッサプールに再び割り振られた場合にパフォーマンスに与える影響が最小の、１つまたは複数のアクティブプロセッサを識別する。１つまたは複数のアクティブプロセッサが選択された後、続けて選択されたアクティブプロセッサを出し、それから予備プロセッサプールに割り振られる。１つまたは複数の利用可能な予備プロセッサが１つまたは複数の予備プロセッサプール２８から選択された場合、その利用可能な予備プロセッサをまず再準備する（reprovised）ことができる。任意の選択された予備プロセッサを再準備するために、選択された予備プロセッサはまず、任意の周知の様式に従って再付与することができ、その後アクティブプロセッサプール２４の１つに追加される。（再付与はたとえば、インストールまたは適当なソフトウェアおよび構成により行う）。
【００３４】
その後、１つまたは複数の選択された予備プロセッサの構成および再付与後、再付与され、構成された１つまたは複数の選択された予備プロセッサを次に、アクティブプロセッサプール２４に追加する前に動作に向けて準備することができる。予備プロセッサを動作に向けて準備することは、イメージが最初にインストールされた後かつ選択された予備リソースプロセッサが準備完了を宣言する前に、行う必要のある任意の構成動作を含む。その後、かつ再付与され構成された１つまたは複数の選択された予備プロセッサを、１つまたは複数のアクティブプロセッサプール２４に追加した後、作業負荷マネージャはアイドルループに戻ることができる。
【００３５】
したがって、本発明の各種実施形態の実施により、アクティブプロセッサプール２４および予備プロセッサプール２８は、プロセッサの数単位でのみ増減する。プロセッサ（すなわち、アクティブプロセッサあるいは予備プロセッサ）の選択はいずれも、パーティションサーバ１０の境界のいずれもまたがない。任意のプロセッサの選択はすべて、各パーティション１８内で自己完結する（self-contained）。プロセッサ選択は、各パーティション１８内の利用可能な統合管理インフラストラクチャを利用するが、各パーティション１８をまたがない。しかし、作業負荷マネージャ１４は、すべてのパーティション１８中のすべてのプール（アクティブプロセッサプールおよび予備プロセッサプールの両方）中のすべてのプロセッサ（アクティブプロセッサおよび予備プロセッサの両方）についての情報を受け取り、保持する。また、本発明の各種実施形態の実施により、適応制御がパーティション１８（ネットワークまたはバスに接続し得る）にわたって行われ、任意の水平方向にスケーラブルなサービスまたはアプリケーションに関連するアクティブプロセッサ容量および予備プロセッサ容量の両方を調整するタスクを自動化する。
【００３６】
ここで図２を参照して、プロセッサリソースをあるパーティションから別のパーティションに再割り振りするために必要な一連のイベントを含む、本発明の各種実施形態を実施する制御システムのブロックフロー図を示す。再割り振りでは、予備プロセッサを採用して、さらに具体的だが単なる例として、インスタントキャパシティオンデマンド（iCOD）予備プロセッサを使用する。ブロック４０において、作業負荷マネージャ１４は、すべてのパーティション１８のすべてのプロセッサ（アクティブプロセッサおよび予備プロセッサの両方）についてのプロセッサ情報を集め、各パーティション１８のプロセッサ要求を集め、プロセッサ要求を調整する。調整は、各パーティション１８の、非アクティブなすなわち予備の、プロセッサ２８の可用性に従って行う。さらに具体的には、フロー図は分岐４２を介してブロック４０から判定ブロック４４に進む。判定ブロック４４に従って、作業負荷マネージャ１４は、すべてのプロセッサ（すなわち、非アクティブすなわち予備プロセッサ）が割り振られているか否かを判定する。図２についてのこの考察のコンテキストでは、「割り振り」という用語は、ＳＬＯに割り当てられているプロセッサに適用される。同様に、余剰プロセッサは、まだＳＬＯに割り当てられていないプロセッサである。すべてのプロセッサが割り振られている場合、アルゴリズムはブロック４８に示すように終了する。ブロック４８はブロック４０と繰り返しやりとりすることにより、アルゴリズムが無際限にループするようにしている。「完了」は、このサイクルにそれ以上作業が必要ないことを意味するが、次の繰り返しでサイクルが繰り返される。すべてのプロセッサがまだ割り振られていない場合、作業負荷マネージャ１４は、次に最も高い優先レベルのプロセッサ要求を各パーティション１８（すなわち、パーティション１８ａ、１８ｂ等）について調べ、ブロック５４に従って各プロセッサ要求を元のプロセッサ要求または利用可能なｉＣＯＤプロセッサのうちの小さい方にリセットする。ブロック５４から、フロー図は分岐５８を介して判定ブロック６０に進む。
【００３７】
判定ブロック６０に従って、アクティブプロセッサプール２４への割り振りに利用可能な１つまたは複数の余剰プロセッサを有するパーティション１８（たとえば、提供側パーティション）があるか否かについて判定が行われる。利用可能な余剰プロセッサがない場合、アルゴリズムはブロック４８に示されるように終了し、その後、ブロック４０に戻る。判定ブロック６０の判定が肯定である場合、すなわち余剰プロセッサを有するパーティションが利用可能な場合、作業負荷マネージャ１４は、iCOD予備プロセッサを有し１つまたは複数のアクティブプロセッサを要求しているパーティション（すなわち要求側パーティション）があるか否かについて、判定（ブロック６４を参照）を行う。利用可能なパーティションがない場合、フロー図は分岐４２を介して判定ブロック４４に戻る。利用可能なパーティションがある場合、利用可能なパーティション（または提供側パーティション）がブロック６８に従って、要求された数のアクティブプロセッサを非アクティブ化する（最高で総余剰プロセッサまで）。その後、ブロック７２に従って、判定ブロック６０のパーティション（要求側パーティション）が、ブロック６８のパーティション（提供側パーティション）によって非アクティブ化された同じ数のプロセッサをアクティブ化する。フロー図はブロック７２から分岐５８を介して判定ブロック６０に戻る。
【００３８】
したがって、作業負荷マネージャ１４はまず、すべてのパーティション１８のすべてのプロセッサリソースがより高い優先レベルにすでに割り振られたか（先に示した手続きに従って）否かを判定する。割り振ることのできるプロセッサが残っていない場合、アルゴリズムは終了する。次に最も高い優先レベル（すなわち、識別されたより高い優先レベル）で利用可能なプロセッサリソースがある場合、作業負荷マネージャ１４は各パーティション１８のすべてのプロセッサ要求を集め、各パーティション１８に利用可能なｉＣＯＤ予備（非アクティブ）プロセッサがあるか否かを考慮してすべてのプロセッサ要求を調整する。さらに具体的には、作業負荷マネージャ１４は、プロセッサ要求をｉＣＯＤ予備プロセッサの数で満たすことができるか否かを判定する。プロセッサ要求は、要求＝最小［要求、ｉＣＯＤ予備］のように再計算するか、または求めることができる。その後、作業負荷マネージャ１４は、識別されたより高い優先レベル（すなわち、次に最も高い優先レベル）で、いずれのＳＬＯにも割り振られていないアクティブプロセッサを有するパーティション（すなわち提供側パーティション）を識別する。このようなアクティブプロセッサは、識別されたより高い優先レベルでの余剰プロセッサリソースであるものと考えられる。このようなパーティションが存在しない場合、プロセッサ再割り振りを実現することができないためアルゴリズムは終了し、その後ボックス４０に戻る。
【００３９】
その後、作業負荷マネージャ１４は、識別されたより高い優先レベルで１つまたは複数のプロセッサを要求しているパーティション（すなわち、要求側パーティション）を識別する。再計算された要求（すなわち、要求＝最小［要求、ｉＣＯＤ予備］）は、要求側パーティションでアクティブ化することのできるｉＣＯＤ予備プロセッサがあることを保証することに留意されたい。このような要求側パーティションが作業負荷マネージャ１４によって見つからない場合、作業負荷マネージャ１４は次に高い優先レベルを調べ、その後以下のステップを行う。すなわち各パーティション１８のプロセッサ要求を集めるステップと、各パーティション１８に利用可能なｉＣＯＤ予備プロセッサが利用可能であるか否かを考慮してプロセッサ要求を調整するステップと、プロセッサ提供側パーティションを識別するステップと、プロセッサ要求側パーティションを識別するステップとを繰り返す。これらすべてについては、先により具体的に示した。
【００４０】
作業負荷マネージャ１４は、プロセッサ提供側パーティションおよびプロセッサ要求側パーティションを識別した後、プロセッサ提供側パーティションによるプロセッサリソースの仮想再割り振りに進む。ここで、ｉＣＯＤインタフェースを使用して、要求された数のプロセッサ、またはプロセッサ提供側パーティション中の総余剰プロセッサのうちのいずれか少ないまたは最小の方を割り振り解除する。さらに具体的には、割り振り解除されるプロセッサ＝最小［提供側パーティションの総余剰プロセッサ、要求されたプロセッサ］である。要求側パーティションはここで、ｉＣＯＤインタフェースを採用して、提供側パーティションによって割り振り解除された同じ数のプロセッサをアクティブ化することができる。プロセッサの一連の非アクティブ化およびアクティブ化は、実際にアクティブプロセッサの数を増大する複雑さ（すなわち、すべてのパーティション１８）を回避する。その他の場合、本発明のｉＣＯＤ鑑査システムの実施形態がプロセッサの総数を計算し、これら追加プロセッサリソースに関して変更を行うことができる。
【００４１】
プロセッサアクティブ化が作業負荷マネージャ１４によって成し遂げられた後、各パーティション１８は続いて、識別された優先レベルで再度調べられる。続いてアルゴリズムは、作業負荷マネージャ１４が再び提供側パーティションおよび要求側パーティションを識別する。以前の提供側パーティションにまだ余剰プロセッサがある場合は、作業負荷マネージャ１４が以前の提供側パーティションを再び提供側パーティションとして識別することになることに留意されたい。同様に、以前の要求側プロセッサが完全には満たされていない場合、作業負荷マネージャ１４は以前の要求側プロセッサを再び要求側パーティションとして識別することになる。
【００４２】
本発明の実施形態をさらに説明するために、単なる例として、図１を再び、またこれより図３を参照して、先に示したように、それぞれ１２基のプロセッサ（１０基がアクティブ、２基が予備）、８基のプロセッサ（６基がアクティブ、２基が予備）、４基のプロセッサ（２基がアクティブ、２基が予備）、および４基のプロセッサ（２基がアクティブ、２基が予備）を有するパーティション１８ａ、１８ｂ、１８ｃ、１８ｄを有するように構成されたパーティションサーバ１０を示す。パーティションサーバ１０のセルモジュールは４基のプロセッサを含む。従ってパーティション１８ａ、１８ｂ、１８ｃ、１８ｄは、それぞれ３個のセル、２個のセル、１個のセル、１個のセルを有する。パーティション１８ａ、１８ｂ、１８ｃ、１８ｄはそれぞれ、最初は、ベンダーから必要時に購入されるまではいずれの顧客にも利用できないが、それでもパーティションサーバ１０において購入することのできる２基の予備プロセッサを有している。ベンダーは、予備プロセッサの総数を常に同じすなわち一定（すなわち、８基の予備プロセッサ）に保つように、アクティブプロセッサが特定のパーティション中で予備プロセッサにされさえすれば、ベンダーが別のパーティション中の予備プロセッサをアクティブプロセッサにすることを許可することを理解されたい。パーティション１８ｃが、増大する数のトランザクションを受け取り始め、より多くの処理パワーを要求すると仮定する。この場合、先に示した米国特許出願第09/493,753号に記載の作業負荷マネージャ（ＷＬＭ）などの制御システムは、パーティション１８ｃ中のアクティブプロセッサの数を増大する必要性を検知することができる。同時に、制御システムは、パーティション１８ｃのために１つまたは複数のプロセッサを提供するパーティション（提供側パーティション）を選択する。提供側パーティションを選択する機構または制御システムは、先に示した米国特許出願第09/562,590号に記載されている。パーティション１８ｂが提供側パーティションとして選択されたと仮定する。この場合、ＷＬＭ（たとえば、作業負荷マネージャ１４）は、パーティション１８ｃ中の１つまたは複数の予備プロセッサをアクティブ化し、同時にパーティション１８ｂ中の１つまたは複数のプロセッサを非アクティブ化することになる。本発明
の一実施形態において、アクティブ化される予備プロセッサの数は、非アクティブ化されるアクティブプロセッサの数と同じになる。したがって、１基の予備プロセッサがパーティション１８ｃでアクティブ化される場合は、１基のアクティブプロセッサが、パーティション１８ｂで非アクティブ化されることになる。
【００４３】
図３に示す本発明の実施形態では、２基の予備プロセッサ３２ｃがパーティション１８ｃでアクティブ化され、その一方で２基のアクティブプロセッサ３０ｂがパーティション１８ｂで非アクティブ化された。プロセッサ再平衡化動作後、パーティション１８ｂは４基のアクティブプロセッサ３０ｂおよび４基の予備プロセッサ３２ｂを有し、パーティション１８ｃは４基のアクティブプロセッサ３０ｃを有し、予備プロセッサ３２ｃを有さない。予備プロセッサプール２８中の予備プロセッサの総数はなおも同じである（すなわち、８基の予備プロセッサ）。しかし、予備プロセッサは別様に割り振られた。パーティション１８ｂは予備プロセッサプール２８ｂを２基の予備プロセッサ３２ｂから４基の予備プロセッサ３２ｂに増やした。ここでパーティション１８ｃは、元々有していた２基の予備プロセッサ３２ｃが、ピーク需要に対処するためにアクティブ化されたため、予備プロセッサ３２ｃを有していない。したがって、予備プロセッサ３２ｃがベンダー支援のキャパシティオンデマンドプログラムにより管理されている場合は、パーティションサーバ１０全体における予備プロセッサの数は同じまま（すなわち、８基の予備プロセッサ）であるため、顧客はこれら予備プロセッサ３２ｃの料金を支払う必要がない。
【００４４】
本明細書を通じての「一実施形態」、「実施形態」、または「特定の実施形態」への参照は、実施形態と組み合わせて説明した特定の機能、構造、または特徴が、必ずしもすべての実施形態に含まれるとは限らず、本発明の少なくとも一実施形態に含まれることを意味する。したがって、本明細書を通して様々な箇所に見られる「一実施形態において」、「実施形態において」、または「特定の実施形態において」という語句はそれぞれ、必ずしも同じ実施形態を参照しているとは限らない。さらに、本発明の任意特定の実施形態の特定の機能、構造、または特徴は、任意の適した様式で１つまたは複数の他の実施形態と組み合わせることが可能である。本明細書に説明し図示した本発明の実施形態の他の変形および変更も、本明細書の教示に鑑みて可能であり、本発明の精神および範囲の一部としてみなすべきであることを理解されたい。
【００４５】
さらに、本発明の実施形態の構成要素の少なくともいくつかは、プログラムされた汎用デジタルコンピュータを使用することにより、特定用途向け集積回路、プログラマブルロジックデバイス、またはフィールドプログラマブルゲートアレイを使用することにより、または相互接続された構成要素と回路のネットワークを使用することにより、実施することが可能である。接続は、有線、無線、モデムなどによるものであることができる。
【００４６】
特定の用途に従って有用なように、図面／図に示される要素の１つまたは複数をより別個のまたは統合された様式で実施することも可能であり、または特定の場合に取り外す、もしくは動作不能にすることさえも可能であることも理解されよう。マシン可読媒体に格納して、コンピュータに上に述べた方法のいずれかを実行させるプログラムまたはコードを実施することもまた、本発明の精神および範囲内にある。
【００４７】
さらに、図面／図中の任意の単一の矢印は、特記されない限り、限定ではなく単なる例示としてみなされるべきである。さらに、本明細書において使用される「または（ｏｒ）」という語は、別記されない限り、「および／または（ａｎｄ／ｏｒ）」を意味することを概して意図する。構成要素またはステップの組み合わせも記されているものとみなされ、用語は、分離または結合するできるかがはっきりしていないことを表現するものと見越される。
【００４８】
本明細書における説明および添付の特許請求の範囲を通して使用される「１つの（ａ）」、「１つの（an）」、および「該（the）」は、文脈により明確にそうではないと記される場合以外は、複数の参照を含む。また、本明細書における説明および添付の特許請求の範囲を通して使用される「〜の中（in）」の意味は、文脈により明確にそうではないと記される場合以外は、「〜の中（in）」および「〜の上（on）」を含む。
【００４９】
本発明の図示の実施形態の上記説明は、要約書に述べられていることを含め、排他的、すなわち本発明を本明細書に開示した厳密な形態に限定する意図はない。本発明の特定の実施形態および例は、単に例示を目的として本明細書に述べたが、当業者が認識し理解するように、同等の各種変更が本発明の精神および範囲内で可能である。示したように、こういった変更は、本発明の例示した実施形態の上記説明を鑑みて本発明に行うことが可能であり、本発明の精神および範囲内に包含されるべきである。
【００５０】
したがって、本発明の特定の実施形態を参照して、本発明について本明細書に述べたが、変更、各種変形、および代用の許容範囲は上記開示に意図されており、場合によっては、記載される本発明の範囲および精神から逸脱することなく、他の特徴を対応して使用することなく、本発明の実施形態のいくつかの特徴を採用し得ることが理解されよう。したがって、特定の状況または材料に適合するように、本発明の本質的な範囲および精神に対して多くの変更を行うことが可能である。本発明は、添付の特許請求の範囲において使用される特定の用語、および／または本発明を実行するために意図される最良の形態として開示される特定の実施形態に限定されず、添付の特許請求の範囲内に包含される任意のあらゆるおよびすべての実施形態ならびに均等物を含むものと意図される。
【図面の簡単な説明】
【００５１】
【図１】作業負荷マネージャに接続されたパーティションサーバの概略図。
【図２】インスタントキャパシティオンデマンド（iCOD）の予備プロセッサを採用してプロセッサリソースをあるパーティションから別のパーティションに再割り振りするために必要な一連のイベントを含む、本発明の実施形態を動かす制御システムのブロックフロー図。
【図３】iCOD予備プロセッサを使用して予備プロセッサをあるパーティションから別のパーティションに再割り振りした後の、図１のパーティションサーバの概略図。
【符号の説明】
【００５２】
１０  パーティションサーバ
１４  作業負荷マネージャ
１８  パーティション
【図１】
2004288183.tif 000003
【図２】
2004288183.tif 000004
【図３】
2004288183.tif 000005