(57)【特許請求の範囲】
【請求項１】
複数のパーティションを備えるコンピュータシステムであって、
複数のセルボードを有し、
各パーティションは１つあるいは複数のセルボードのグループであり、各セルボードは、メモリと共に、１つあるいは複数のプロセッサを含み、
各パーティションが少なくとも１つのセルボードを含んでおり、各セルボードは、他のセルボードのそれぞれが、他のパーティションから独立した、該各セルボードのパーティションの一部かどうかを判定することが可能であり、
前記コンピュータシステムは、
前記複数のセルボードのそれぞれに接続されたサービス・プロセッサを有し、
該サービス・プロセッサはパーティションの構成を管理しており、前記サービス・プロセッサおよび各セルボードが前記コンピュータシステムの構成を記述するデータのコピーを格納しており、
前記データは最初に前記サービス・プロセッサによって各パーティションが１つのセルボードからなるように作成された後、ユーザの制御下で構成ツールによって変更され、その後前記サービス・プロセッサにダウンロードされる、コンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はマルチプロセッサ・コンピュータシステムに関し、特に、マルチプロセッサ・コンピュータシステムのオンライン再構成をサポートするサービス・プロセッサに関する。
【０００２】
【従来の技術】
従来のコンピュータ・プラットフォームは、対称型マルチプロセッサ（ＳＭＰ）構成であり、その構成では、多数のＣＰＵがオペレーティング・システム（ＯＳ）の１つのコピーで動作している。ＯＳは、多数のアプリケーションを実行できるようにするためのタイムシェアリングサービスを提供する。しかしながら、この構成によって、アプリケーションは互いに干渉するようになる。例えば、システムが会計アプリケーションを実行している場合には、会計アプリケーションは、システム内の全てのメモリを割り当て、かつＯＳが割り当てることができる全てのプロセッサを用いることができる。その際、ある他のアプリケーション、例えば製造アプリケーションがプロセッサおよびメモリを必要とするとき、その要求に対してプロセッサおよびメモリを全く割り当てることができないため、そのアプリケーションは動作しなくなってしまうであろう。従って、製造アプリケーションは、会計アプリケーションによって停止されるか、あるいは影響を受けてしまうであろう。またこの構成は、システムを故障しやすくする。あるアプリケーションに伴う問題が、全てのアプリケーションのためのリソースを汚染してしまう。
【０００３】
この問題に対する周知の解決策は、コンピュータシステムをパーティション、すなわち保護されたドメインに分離することである。これらのパーティションは、リソースを個別の機能ブロックに配置するハードウエア分離である。１つのブロック内のリソースは、別のブロック内のリソースに直接アクセスすることはない。これは、１つのアプリケーションが全システムリソースを使用することを防ぐ一方、同時に欠点および誤りを含んでいる。そのようなシステムの一例は、サン  マイクロシステムズＵＥ１０Ｋである。
【０００４】
この解決法は、それ自体が問題を有している。すなわち再構成の問題を提起する。一旦定義されると、パーティションは事実上静的であり、容易に変更することはできない。それ故、構成要素の入替えあるいはシステム・アップグレードのような一般的な変更を容易に行うことができない。さらに、作業負荷のバランスを満足するためにパーティション間でリソースを容易に移動させることができない。
【０００５】
【発明が解決しようとする課題】
本発明の目的は、オンライン状態である間に、再構成することができるマルチプロセッサ・コンピュータシステムを提供することである。
【０００６】
【課題を解決するための手段】
これらのおよび他の目的、特徴および技術的な利点は、マルチパーティション・コンピュータシステム（multiple partition computer system）を再構成することに関する２つの態様を満足するシステムおよび方法によって達成される。その態様は以下の通りである。
【０００７】
１．インストールされたハードウエアを、場合により種々のパーティションが通常の動作を実行している間に再構成すること。この態様は、パーティションに対してセルおよびＩ／Ｏを追加および削除することを含む。パーティションは動作し続けていても、いなくてもよい。
【０００８】
２．セル、Ｉ／Ｏとパーティションとの間の関係を変更すること。パーティションは、動作したままにしておくことができるか、あるいはシャットダウンされなければならない場合がある（例えば、あるパーティションが、その全てのセルを、異なるパーティションに移動させる場合）。
【０００９】
この段落では、本発明の根底をなす概念を理解するために必要とされるいくつかの用語が定義される。複合体（complex）は、それぞれパーティションに割り当てることができる、セルボードおよびＩ／Ｏを含む１つあるいは複数のキャビネットをグループ化したものである。パーティションはセルボードをグループ化したものであり、各パーティションは少なくとも１つのセルを含む。各パーティションは、それぞれがシステム・ファームウエアおよびＯＳのコピーを所有し実行するであろう。各セルボードは、システムメモリとともに、１つあるいは複数のシステムＣＰＵを含むことができる。各セルボードはオプションで、それに接続されるＩ／Ｏを有することができる。各パーティションは少なくとも、そのセルボードに取り付けられ、ＯＳをブートできるだけの十分なＩ／Ｏを持たなければならない。Ｉ／Ｏ（入力／出力サブシステム）は、Ｉ／Ｏコントローラ（例えばＰＣＩカード）をインストールすることができるＩ／Ｏバックプレーンと、Ｉ／Ｏコントローラ自体とを含む。各キャビネット内のセルボードは、そのセルボードをファブリック（fabric）に接続するためのバックプレーンに挿入される。ファブリックは、パーティション内のセルが、潜在的にはキャビネット境界間で、互いに通信できるようにする一組のＡＳＩＣである。
【００１０】
パーティション上で実行されるソフトウエアあるいはファームウエアが、Ｉ／Ｏコントローラを動作させ、システムメモリと、外部ディスク、ネットワークおよび他のＩ／Ｏ装置との間でデータを転送できるように、セルボードはＩ／Ｏコントローラに接続される。１つの特定のタイプのＩ／Ｏコントローラは、特殊な、コアＩ／Ｏコントローラであり、それはパーティションにコンソール・インターフェースを提供する。全てのパーティションは、少なくとも１つのコアＩ／Ｏコントローラをインストールされなければならない。複合体は少なくとも１つのサービス・プロセッサを有する。
【００１１】
従って、複数パーティションシステムを用いると、それぞれがプロセッサ、メモリ、接続されたＩ／Ｏを備えたセルボードを有する一つのパーティション内で、ＯＳの複数のコピーが互いに独立して動作している。これにより、異なるアプリケーション間が分離される。その結果、あるパーティション内の致命的なエラーが、他のパーティションに影響を及ぼすことはなくなる。またパーティション化して、古いサーバを削除し、そのアプリケーションをそれぞれ専用のパーティションに移動させることにより、サーバを統合して整理することもできる。
【００１２】
ＯＳの制御下で実行される構成ツール、そのＯＳ自体、システム・ファームウエアおよびサービス・プロセッサを含む構成要素の階層を用いて、パーティションが管理される。ユーザはその構成ツールと対話し、システムにシステム自身を再構成するように指示する。この構成ツールはＯＳと対話し、ＯＳはシステム・ファームウエアと対話し、さらにシステム・ファームウエアはサービス・プロセッサと対話して、所望の再構成を達成できるようにする。
【００１３】
サービス・プロセッサに接続されるマイクロコントローラのネットワークが、通信リンクを介して、サービス・プロセッサに、種々のセルそれぞれに関する情報と、構成変更のための要求を受信するための経路、および種々のセルあるいはＩ／Ｏの変更を命令するための経路とを提供する。サービス・プロセッサとマイクロコントローラとの組み合わせは、パーティション構成に対する動的な変更をサポートする。例えば、パーティションがオンライン状態である間にセルボードを除去することができ、システムを拡張するために、さらに別のセルボードを追加することができる。また、パーティション間でリソースを移動させることもできる。例えば、システムがオンライン状態である間に、セルボードを、あるパーティションから別のパーティションに割り当て直すことができる。サービス・プロセッサは、パーティションを構成するセルボードおよびＩ／Ｏサブシステムに対する電力を制御することができる。
【００１４】
本発明の別の態様は複合体プロファイルである。複合体プロファイルは、システム構成についての情報、例えばどのセルが特定のパーティションに割り当てられるかのような情報を含むデータ構造である。複合体プロファイルは最初にサービス・プロセッサによって作成され、ユーザの制御下で構成ツールによって変更され、その後サービス・プロセッサにダウンロードされる。複合体プロファイルの複製したコピーはシステムの至るところ、例えば種々のセル内に格納される。従って、万一サービス・プロセッサが故障した場合でも、システムは依然として、システム内に分散される複合体プロファイルのコピーを用いて動作することができる。
【００１５】
それゆえ、本発明の技術的な利点は、コアＩ／Ｏ、セルボード、Ｉ／Ｏバックプレーン、サービス・プロセッサボードおよびキャビネットを含む構成要素をオンラインで入れ替えられるようになることである。
【００１６】
本発明のもう一つの技術的な利点は、パーティションにおいて、複数の冗長構成要素、例えばコアＩ／Ｏボードを備えるようにし、ある構成要素が故障した場合には、オペレーティング・システムが代わりの構成要素に切り替えるようにできることである。
【００１７】
本発明のさらに別の技術的な利点は、サービス・プロセッサがインストールされていないか、あるいは機能しない場合であっても、システムが起動し、ブートできるようになることである。
【００１８】
本発明のさらに別の技術的な利点は、パーティション内の全てのセルがインストールされていないか、あるいは機能しない場合であっても、パーティションが起動し、ブートできるようになることである。
【００１９】
本発明のさらに別の技術的な利点は、所定の構成に従ってパーティションを最初に作成でき、それによりＯＳが実行されるようにできることである。
【００２０】
本発明のさらに別の技術的な利点は、パーティション定義あるいは複合体プロファイルを全てのセルに分散し、全てのセルが同じパーティション定義を確実に有するようにできることである。
【００２１】
本発明のさらに別の技術的な利点は、ユーザがシステムを再構成できるようになるアプリケーションへのインターフェースを有することである。
【００２２】
本発明のさらに別の技術的な利点は、パーティションが直接に通信できない場合であっても、パーティション間で構成情報が通信できるようになることである。
【００２３】
本発明のさらに別の技術的な利点は、構成ツールがどのパーティション上でも実行できるようになり、それにより再構成を行うための個別のシステムを設けることに関するコストが削減されることである。
【００２４】
本発明のさらに別の技術的な利点は、構成ツールとオペレーティング・システムとの間、オペレーティング・システムとシステム・ファームウエアとの間、並びにシステム・ファームウエアとサービス・プロセッサとの間のインターフェースを提供し、オンライン状態および完全な機能を保持しつつ、サブシステムがそれぞれシステム再構成において協動できるようになることである。
【００２５】
本発明のさらに別の技術的な利点は、全てのモジュールを互換性のあるファームウエアのレベルにするために、ユーザがシステム内のファームウエアの任意の部分を更新でき、それにより、再構成動作が、インストールされた互換性のないファームウエアを備えるモジュールを含むことができるようにできることである。
【００２６】
上で述べたことは、以下に記載する本発明の詳細な説明の理解がより進むようにするために、本発明の特徴および技術的な利点の概要を述べているにすぎず、幅広く記載されてはいない。本発明のさらに別の特徴および利点は、本発明の請求の範囲の主題の形で記載されるであろう。開示される概念および特定の実施形態は、本発明を変更したり、本発明と同じ目的を実行するための他の構造を設計したりするための原理として容易に利用できることを当業者は理解されたい。また。そのような等価な構成が、請求の範囲に記載される本発明の精神および範囲から逸脱しないことも当業者は理解されたい。
【００２７】
【発明の実施の形態】
本発明およびその利点をより完全に理解するために、ここで、添付の図面とともに取り上げられる以下の説明を参照されたい。
【００２８】
図１は、複合体のハードウエアおよびソフトウエア・アーキテクチャの論理的なブロック図のための好ましい実施形態を示す。主なモジュールはそれぞれ、以降の段落に記載される。多くの異なる構成が実現可能であり、それらは、種々のパーティションに構成される、より多数あるいは少数のセル、およびより多数あるいは少数のキャビネットを含む。図１に示される特定の構成は例示にすぎないことに留意されたい。わかりやすくするために４つのセルしか示されていないが、より多くの、あるいはより少ないセルが存在できることにも留意されたい。セル３は複合体の残りの部分から切り離されて示されている。それは起動されず、ソフトウエアあるいはファームウエアを全く実行していない。
【００２９】
ユーティリティ・サブシステム１０は、サービス・プロセッサ１０１と、パワーモニタ１３、キャビネットレベル・ユーティリティ（ＣＬＵ）、ＣＩＯおよびセル・マイクロコントローラ（ＣＭ）３０４を含む関連するインフラストラクチャとを備える。ユーティリティ・サブシステムの機能は、システムソフトウエアが実行されていないときに、管理用パーティションを含む複合体を管理することである。サービス・プロセッサ１０１は、種々のセル、例えばセル０、セル１およびセル２のそれぞれのＣＭ３０４と、各キャビネットのためのパワーモニタ・モジュール１３と、各キャビネットのためのＣＬＵモジュールと、各パーティションのためのコアＩ／Ｏモジュールとに論理的に接続される。好ましい実施形態では、ユーティリティ・サブシステムの構成要素間を論理的に接続するためにユニバーサル・シリアルバス（ＵＳＢ）が用いられる。しかしながら、構成要素間でメッセージを搬送することができるバスあるいは方法であれば、なんでも用いることができる。
【００３０】
セルは、１つあるいは複数のシステム・プロセッサ、メモリ、Ｉ／Ｏ接続モジュール、ＰＤＨモジュールおよびＣＭモジュールを含む回路基板である。セルは、パーティションに割り当てることができる最も小さいユニットである。パーティションは、オペレーティング・システムの１つのコピーを実行する１つのセルあるいはセルのグループである。本発明のユーティリティ・サブシステムを用いるコンピュータシステムは多数のパーティションを含むことができ、多数の異なるオペレーティング・システムのコピーを同時に実行することができる。パーティションは保護された領域を形成し、異なるパーティションが、互いのメモリ領域に直接にアクセスすることがハードウエアによって制限される。
【００３１】
セルはファブリックによって接続されるものとして示される。そのファブリックは、複合体内の各キャビネットのバックプレーン上にある一組のＡＳＩＣであり、インストール時にそこにセルが接続される。ファブリックは、発信元セルと、バス動作によってアドレス指定されるメモリあるいはＩ／Ｏを含むセル上のメモリあるいはＩ／Ｏとの間のプロセッサ・バス動作（例えば、読出し、書込み）をルーティングする。
【００３２】
また図１には、パーティション０内のセル０およびセル１のプロセッサ上で実行されるシステム・ファームウエア９０１が示される。セル０および１は、各セル上のプロセッサが両方のセルのメモリおよびＩ／Ｏを共有できるように、ファブリックによって接続される。従って、セル０およびセル１は、それらのセル内のＣＰＵ、メモリおよびＩ／Ｏを含む対称型マルチプロセッサ（ＳＭＰ）内に存在するかのように動作することができる。多数のＣＰＵ機能をＳＭＰとして行うための手法は、当業者にはよく知られている。ＳＭＰは、ＯＳおよびシステム・ファームウエアの１つのコピーを実行するものと考えられる。
【００３３】
システム・ファームウエア９０１は、セルおよびファブリックのハードウエアと、ＰＤＨ３０３のメモリ内に位置する共有されるデータ構造を用いるＣＭとの直接的なインターフェースを形成する。
【００３４】
またオペレーティング・システム（ＯＳ）ソフトウエア９０２が、セル０および１のシステム・プロセッサ上で実行される。ＯＳはシステム・ファームウエアとのインターフェースを形成し、システム・ファームウエアは、ＯＳをハードウエアから分離する。ＯＳによって、構成ツールＣＴＯＯＬ９０３のようなアプリケーション・ソフトウエアおよび他のアプリケーション・ソフトウエアが、プロセッサ上で実行されるようになる。
【００３５】
また図１は、セル２から構成されるパーティション１を示す。パーティション１は、セル２のプロセッサ上で実行される、システム・ファームウエアと、ＯＳと、アプリケーション・ソフトウエアとを有する。パーティション１およびその実行されるソフトウエアは、パーティション０から分離され、切り離される。すなわちそれらのパーティションは共有するものはなく、プロセッサ・エージェント（ＰＡ）３０１のハードウエア機構によって互いから分離される。
【００３６】
図２は、本発明のユーティリティ・サブシステムおよび複合体１００のためのハードウエアの構成に対する好ましい実施形態を示す。複合体１００の１つのキャビネットは、１つのサービス・プロセッサ１０１を含む。より大きなシステムを形成するために、さらに別のキャビネット１０４および１０５を、サービス・プロセッサ１０１を含むそのキャビネットとともに接続することができる。本発明のアーキテクチャは、多数のキャビネットを制御することに関して柔軟性がある。図２に示されるように、サービス・プロセッサを含むキャビネットから他のキャビネットまで、ＵＳＢで結線することができる。従って、１つのサービス・プロセッサが多数のキャビネットを制御することができる。例として３つのキャビネットが示されているが、より少ない、あるいはより多いキャビネットがより大きなシステムを含むことができることに留意されたい。さらに、キャビネットはＩ／Ｏ拡張キャビネット１０５にすることができ、そうすることにより、Ｉ／Ｏバックプレーンのみを有し、セルあるいはセル・バックプレーンをもたないようになることにも留意されたい。サービス・プロセッサ１０１は、ユーティリティ・サブシステムの動作を制御する。
【００３７】
キャビネット電力は、フロントエンド・パワーシステム（ＦＥＰＳ）１１０によって供給される。ＦＥＰＳは、複数のバルク・パワーサプライ（ＢＰＳ）１１１を含む。ＢＰＳ１１１は、キャビネットがオンライン状態である、すなわち動作中に交換可能な状態（hot-swappable）である間に、交換あるいは追加することができる。ＢＰＳは、ＡＣ電源１１２から、全てのサブシステム素子へのＤＣ電圧、例えば４８Ｖを供給する。サブシステム素子は、入力電圧、例えば４８Ｖを、所望の必要とされる電圧に降下させるためのＤＣ−ＤＣコンバータを有する。
【００３８】
Ｉ／Ｏバックプレーン１１６は、ここでは４つの個別のバックプレーンとして示されており、それぞれ複数のＰＣＩベイあるいはスロットを含む。例えばＩＳＡあるいはＳＣＳＩのような他のＩ／Ｏ形態を用いることもできる。Ｉ／Ｏバックプレーンは、セル１１５と、Ｉ／Ｏバックプレーンに接続されるシステムＩ／Ｏ装置との間の接続を提供する。スロットの１つは、コアＩ／Ｏ（ＣＩＯ）モジュール１１７を備える。このモジュールは、サービス・プロセッサと、パーティション上で実行されるＯＳあるいはシステム・ファームウエアとの間でコンソール・データを搬送する。ＣＩＯモジュール１１７は、コンソールのためのオペレーティング・システム（ＯＳ）へのＰＣＩインターフェースを提供するＡＳＩＣを備える。ＣＩＯは、ＵＳＢを介してサービス・プロセッサと通信を行う。コンソールに関するさらに多くの情報およびその再構成サポートとの関係は、後節で説明される。
【００３９】
またキャビネットは、種々のセル１１５が挿入されるバックプレーン１１４も備える。サービス・プロセッサ１０１は、ＵＳＢを経由し、パックプレーン１１４を通して、セル１１５と通信を行う。セルボードは、複数のシステムマイクロプロセッサと関連するメモリ素子とを備える。各セルボードはセル・マイクロコントローラ（ＣＭ）３０４を備える。ＣＭは、セルボードの状態を報告し、セル上のＦＷを更新するためのＦＷ更新機構を提供し、かつＵＳＢを介して、セルボードとサービス・プロセッサとの間の通信を提供するように動作する。
【００４０】
さらに図２を参照して、ユーティリティ・サブシステムアーキテクチャの構成要素のアーキテクチャおよび機能が説明される。図４はさらに細部を提供し、ユーティリティ・サブシステム・ファームウエア・アーキテクチャを構成するための好ましい実施形態を示す。
【００４１】
サービス・プロセッサモジュール１０１は、サブシステムの他の素子と通信を行うために用いられるＵＳＢハブ１０２を含む。ＵＳＢハブは、ユニバーサル・シリアルバス（ＵＳＢ）形式のバスである。またＵＳＢハブによって、キャビネットは、他のキャビネット、例えば１０４、１０５と通信できるようになる。
【００４２】
サービス・プロセッサは、複合体を制御し、かつモニタするために、ユーザインターフェースのような、多くの一般的なサポート能力および管理能力機構を提供する。特に本発明のシステムに関連するものは、サービス・プロセッサによって実行される以下の機能である。
【００４３】
・複合体プロファイルを管理する。システム・ファームウエアに、システム・ファームウエアが複合体プロファイルを検索し、変更できるようにするインターフェースを提供する。他の複合体プロファイルに関連する機構については、後にそれぞれ個別のセクションにおいて説明される。
【００４４】
・システム・ファームウエアに、システム・ファームウエアが再構成を行うためにセルおよびＩ／Ｏバックプレーンへの電力を制御できるようにするインターフェースを提供する。
【００４５】
・システム・ファームウエアに、システム・ファームウエアが複合体構成を得られるようにするインターフェースを提供する。
【００４６】
サービス・プロセッサＦＷ４０１は、ハードウェア・マネージャ・モジュール４０２を備えるサービス・プロセッサ上のファームウエアであり、複合体を管理するための役割（例えば、複合体プロファイル管理、セルの電源供給）、および要求に応じて複合体の構成を報告するための役割を担う。システム・ファームウェア・サポート・モジュールはシステム・ファームウエアへのコマンド・インターフェースを提供し、システム・ファームウエアが電力を制御し、複合体プロファイルを変更し、複合体構成を検索し、後に記載する構成に関連する他のタスクを実行できるようにする。サービス・プロセッサ・ハンドラ・モジュールは、ユーザが手動で電力を制御すること、パーティションのためのコンソールを接続すること等を実行できるようにするユーザインターフェースを提供する。コンソールモジュールによって、サービス・プロセッサに接続されるユーザは、各パーティションのコンソールと通信できるようになる。ファームウエア・アップデート・モジュールによって、ユーザはサービス・プロセッサに要求を出し、任意のセル上のシステム・ファームウエア、任意のユーティリティ・マイクロコントローラ上のユーティリティ・ファームウエア、あるいはサービス・プロセッサ・ファームウエアを更新できるようになる。サービス・プロセッサＦＷは、ＵＳＢラインおよびＵＳＢドライバ４０３を介して、他のユーティリティ・サブシステムに接続される。
【００４７】
サービス・プロセッサは、ファームウエアおよび／またはソフトウエアを介して、サービス・プロセッサとして動作するように構成された既製のプロセッサであってもよい。例えば、サービス・プロセッサは、インテル・ペンティアム・プロセッサあるいはＨＰ  ＰＡ−８５００ＲＩＳＣプロセッサを含むことができる。
【００４８】
複合体１００は、各キャビネット内にパワーモニタ（ＰＭ）モジュール１３を備え、パワーモニタ・モジュールは電源供給、例えば４８ＶＤＣ、キャビネット環境、例えば周囲温度、およびサブシステム素子、例えばセルおよびＩ／Ｏバックプレーンへの電力の分配をモニタし、かつ制御する。モニタ処理はセンサ１０６を介して行われる。環境の制御は、ファン１０７あるいは他の冷却／加熱装置を用いて行われる。またＰＭは、キャビネットのためのメインパワースイッチ１０８も有する。ＬＥＤ１０９はキャビネット状態を示す。ＰＭおよびＣＬＵは１つのボード上に搭載される場合があることに留意されたい。ＰＭファームウエア４０６は、キャビネットレベルの電力および環境の状態、並びに他の関連する素子、例えばＦＥＰＳおよびファンの状態を、ＵＳＢを介してサービス・プロセッサ１０１に報告する。パワーモニタは、始動して動作を開始するために、サービス・プロセッサに依存する必要がないことに留意されたい。
【００４９】
セル・マイクロコントローラ（ＣＭ）は、セル・アーキテクチャに関する節において後に説明される。
【００５０】
キャビネットレベル・ユーティリティ・モジュール（ＣＬＵ）は、サブシステムの他の構成要素にキャビネットレベル・クロック・ファンアウトを提供する。ＣＬＵ１０３は、例えばＪＴＡＧスキャン・エンジンを駆動して、サブシステム・リセット制御およびスキャン・サポートを提供する。またＣＬＵ１０３は、メインバックプレーンおよびＩ／Ｏバックプレーンの状態を、ＵＳＢを介してサービス・プロセッサ１０１に報告する。
【００５１】
またサービス・プロセッサは、コアＩ／Ｏ（ＣＩＯ）モジュール１１７にも接続される。このモジュールは、Ｉ／Ｏバックプレーン１１６のＰＣＩスロットに導入される回路基板である。各パーティションは、少なくとも１つのＣＩＯを持たなければならない。その機能は、パーティションのためのコンソール・インターフェースを提供することである。コンソール・インターフェースは、システムブート中にユーザと対話するために、ＯＳおよびシステム・ファームウエアによって用いられる専用の装置である。ユーザは、ＣＩＯモジュールのコンソール・インターフェースにサービス・プロセッサを介して論理的に接続される端末の場所に位置する。全パーティションがブートできなければならないため、パーティションはそれぞれコンソール・インターフェースを持たなければならず、それゆえ各パーティションにＣＩＯモジュールが必要になる。ＣＩＯは、ＣＩＯファームウエア４０７の制御下で実行され、ＣＩＯファームウエアは、ＰＣＩインターフェースＡＳＩＣとサービス・プロセッサとの間でコンソール・データを伝送する。ＯＳおよびＦＷは、１つのコンソールだけしか認識しないことに留意されたい。従って、多数のＣＩＯモジュールがパーティションに導入される場合には、パーティションのシステム・ファームウエアは１つを選択し、アクティブコンソールとして用いる。また、２つ以上のパーティションが存在する場合には、ＵＳＢバスに接続されるＣＩＯモジュールも２つ以上存在することにも留意されたい。
【００５２】
好ましい実施形態は、キャビネットレベル・ユーティリティ・モジュール（ＣＬＵ）と、パワーモニタと、サービス・プロセッサおよびコアＩ／Ｏとを有し、個別のマイクロプロセッサとして実装され、全てサービス・プロセッサ・バスによって接続される。しかしながら、ユーティリティ・サブシステムの他のパーティション化も可能である。例えば、パワーモニタ、ＣＬＵ、ＣＩＯおよびサービス・プロセッサは全て１つのＨＷモジュール上に存在することもでき、あるいはそれらは全てサービス・プロセッサ上で実行されるＦＷモジュールとして構成することもできる。複合体再構成のジョブを分担して行う、多数のサービス・プロセッサが存在する場合もある。ユーティリティ・サブシステムのパーティション化は、本発明にとっては重要ではない。しかしながら、サービス・プロセッサが電力を制御し、複合体プロファイルを管理する能力は、本発明の重要な態様である。
【００５３】
図３はセル・アーキテクチャの好ましい実施形態のブロック図である。セル上には６つの主なサブシステムが存在する。
【００５４】
１．システム・ファームウエア、ＯＳおよびアプリケーション・コードを実行するシステム・プロセッサ３０２。
【００５５】
２．ＰＡ３０１に接続され、ＯＳ、アプリケーション・ソフトウエア、Ｉ／Ｏおよび時によりシステム・ファームウエアによって用いられるシステムメモリ。
【００５６】
３．システム・ファームウエアを保持するＰＤＨフラッシュメモリ素子３０７を含むプロセッサ依存ハードウエア（ＰＤＨ）３０３。またＰＤＨ３０３は、ＰＤＨ  ＮＶＲＡＭ３１１も含み、その１つのセグメントは記憶作業のためにシステム・ファームウエアによって用いられ、もう一つのセグメントは、システム・ファームウエアとセル・マイクロコントローラ３０４（ＣＭ）との間で共有される。
【００５７】
４．システム・プロセッサ３０２を、システムメモリ、ファブリック、Ｉ／ＯおよびＰＤＨに接続するＡＳＩＣである、プロセッサ・エージェント（ＰＡ）３０１。
【００５８】
５．ブート・フラッシュＲＯＭ３０８およびＳＲＡＭ３１０と、サービス・プロセッサ１０１へのＵＳＢ接続とを有するマイクロコントローラチップ３１２である、セル・マイクロコントローラ３０４（ＣＭ）。ＣＭは、バス・アービタ３１７を介してＰＤＨ  ＮＶＲＡＭ３１１にアクセスすることができる。
【００５９】
６．ＰＤＨメモリ空間に対して読出しおよび書込みを行うために、ＰＡ３０１およびＣＭ３０４からの要求を仲介するバス・アービタ３１７。
【００６０】
これらの各サブシステムおよびそのサブシステムが再構成に関係する態様は、以降の段落においてより詳細に説明される。
【００６１】
プロセッサ・エージェント（ＰＡ）装置３０１は、バス・アービタ３１７を介して、システム・プロセッサ３０２をＰＤＨ３０３内の装置に接続するＡＳＩＣである。システム・プロセッサは、ＰＡ装置を介してメモリに要求を送出し、ＰＡ装置はバス・アービタ３１７に対して、ＰＤＨ３０３へのアクセスを許可し、要求された読出しおよび書込みを実行することを要求する。
【００６２】
ＣＭモジュールはフラッシュ／ＥＥＰＲＯＭメモリ３０８およびＳＲＡＭメモリ３１０を備える。メモリ３０８を用いて、セル・マイクロコントローラ・チップ３１２のためのＦＷ４０４を保持する。ＳＲＡＭメモリ３１０は、ＦＷ４０４が使用するためのＲＡＭを提供する。セル・マイクロコントローラは、ＣＭのためのサービス・プロセッサとの通信を取り扱う。またＣＭは、セルの状態を指示するためのいくつかのＬＥＤ３１６も備える。
【００６３】
ＣＭ３０４は、セル状態を示すレジスタを用いて、セル上の電力および環境条件をモニタする。
【００６４】
またＣＭは、セルのシステム・プロセッサ３０２上で実行されるシステム・ファームウエア９０１と、サービス・プロセッサ・ファームウエア４０１とのインターフェースを形成する。ＣＭは、ＰＤＨ  ＮＶＲＡＭ３１１内に配置される共有データ構造を用いて、それを実行する。
【００６５】
またＣＭは、サービス・プロセッサからの要求に応じて、ＰＤＨフラッシュ３０７を再プログラミングすることにより、システム・ファームウエア・コードを更新する。このシステム・ファームウエア更新機構は再構成において重要である。なぜなら、パーティション内の全てのセルのためのシステム・ファームウエアは、セルがパーティションを問題なく形成するために、互換性がなければならないためである。例えば、パーティションに加えられることになるセルが、異なる時点で、システム・ファームウエアの異なる改訂版で製造される場合には、種々のセルにおいて互換性のないファームウエア改訂版が発生することになるであろう。パーティション内の種々のセル上のシステム・ファームウエアに互換性がない場合には、ＣＭは、１つあるいは複数のセル上でシステム・ファームウエアを更新し、それにより全てのセルが互換性のあるシステム・ファームウエアを含むようにしなければならない。
【００６６】
ここで図４を参照すると、ＣＭファームウエア４０４は、キャビネットの１つのセルのＣＭに対するＦＷである。従って、多数のセルが、ＵＳＢを介してサービス・プロセッサに接続される多数のＣＭ  ＦＷモジュールを有するであろう。ＣＭハードウェア・インターフェース４０８は、複合体プロファイルおよびコマンド・キュー（後に説明される）を含む共有されるメモリ領域の管理するファームウェア・モジュールである。
【００６７】
またＣＭは、サービス・プロセッサからの要求に応じてＣＭフラッシュ３０８を再プログラミングすることにより、それ自体のファームウエア・コード４０４を更新する。このＣＭファームウエア更新機構は再構成において重要である、なぜなら、ユーティリティ・サブシステム・ファームウエアは、正確に動作するように再構成するために互換性がなければならないためである。例えば、パーティションに加えられることになるセルが、異なる時点で、ＣＭファームウエアの異なる改訂版で製造された場合には、種々のセルのＣＭモジュールにおいて互換性のないファームウエア改訂版が発生することになるであろう。ＣＭファームウエアは、ＣＭファームウエアおよびサービス・プロセッサ・ファームウエアの異なる改訂版の間でも、常にファームウエア更新が可能なように設計される。
【００６８】
バス・アービタ３１７を用いて、ＣＭ  ＰＤＨバスの使用およびＰＡ  ＰＤＨバスの使用を仲介する。こうして、セル・マイクロコントローラ３１２およびＰＡ３０１は、ＰＤＨ装置へのインターリーブされたアクセスを行うことができる。システム・プロセッサ・トランザクションは、アービタ・チップを通して、ＰＤＨ  ＮＶＲＡＭメモリ３１１に向けることができる。さらに、セル・マイクロコントローラ３１２は、アービタ・チップを通して、ＰＤＨ  ＮＶＲＡＭメモリ３１１に、読出しおよび書込みを送出することもできる。結果として、ＣＰＵ３０１およびセル・マイクロコントローラは、ＮＶＲＡＭに配置される一組の共有データ構造を保持する。共有データ構造は、種々のデータの部分を伝達するために用いられ、ＣＰＵ３０１がサービス・プロセッサに実行させることができるコマンドを含む。他のデータ構造は、どのセルがどのパーティション内にあるかを定義する複合体プロファイルを含む。図６は、これらの共有されるデータ構造のいくつかを示す。
【００６９】
ＰＤＨモジュールは、ＰＤＨフラッシュメモリ３０７および不揮発性ＲＡＭメモリ３０９を備える。フラッシュメモリ３０７は、システム・ファームウェア・ブート・コードを保持し、システム・ファームウェア・ブート・コードは、そのマシンをブートし、ＯＳからプラットフォームを引き出すシステム・ファームウエア・レイヤである。システム・ファームウエアは、ＰＤＨ内の装置へのメモリ・マッピングされたアクセスを開始することができる。ＮＶＲＡＭメモリ３１１は、複合体プロファイルを保持し、プロセッサ３０２とセル・マイクロコントローラ３１２との間でのメッセージ伝送において用いられる。ＲＡＭメモリは、バッテリによりバックアップされたＲＡＭメモリを含む場合もある。
【００７０】
好ましい実施形態は、セル毎に１つのＣＭおよび１つのＰＤＨモジュールを用いるが、セル間で共有されるＣＭおよびＰＤＨを実装できることに留意されたい。
【００７１】
複合体プロファイルは、全システム複合体の現在の構成を規定するデータ構造を収集したものである。それは、どのセルがどのパーティション内に存在するかの定義と、それらのパーティションの特徴、例えば名前、ブート経路、メモリ・インターリーブ等とを含む。これらのデータ構造は、全ての複合体構成パラメータ、ファブリック・ルーティング情報、システム識別情報（モデル番号、モデル・ストリング、複合体シリアル番号等）、１つあるいは複数のパーティション・プロファイル、およびＯＳ特定領域を含む。複合体毎に１つの複合体プロファイル定義が存在し、その定義は、全パーティションによって共有される。各セルおよびサービス・プロセッサは、現在の複合体プロファイル（ＣＰ）１５のコピーを有する。さらに、サービス・プロセッサは、まだセルに分配されていない新しい複合体プロファイルのコピーを有することもできる。
【００７２】
好ましい実施形態は、複合体プロファイルにおいて３つのデータのクラスを有する。しかしながら他の実施形態ではより多くの、あるいはより少ないクラスを有する場合もある。
【００７３】
１．パーティションへのセルの割当て、複合体の名前、ファブリック・ルーティング情報等のグローバル構成データ。
【００７４】
２．種々のパーティション上で実行される種々のＯＳが、構成データを通信できるようにするためのＯＳ構成データ。
【００７５】
３．パーティション・プライベート・データ（存在可能な各パーティションに対して１つのデータ構造）。ブート経路、パーティション名、メモリ・インターリーブ等のようなデータを含む。それは、「パーティション・プロファイル」とも呼ばれる。このデータ構造の存在によって、ＣＴＯＯＬは、パーティションのためのハードウエアを導入する前にパーティションを作成でき、そのパーティションのブート・パラメータおよび構成を設定できるようになる。パーティションに対してハードウエアが導入されるとき、所望の構成にブートする準備がなされているであろう。
【００７６】
本発明のシステムは、複合体プロファイルと、それを使用し、作成し、更新し、管理するための手法とを含む。従って、この節は、複合体プロファイルに関係するシステム動作の態様を記載する。
【００７７】
システム・ファームウエアは、複合体プロファイルの内容に応じて、それがどのパーティションにブートすることになるかを知る。セルのＮＶＲＡＭ３１１に格納される複合体プロファイルのコピーは正確であるものと想定することはできない。なぜなら、セルは複合体に加えられたばかりであり、そのＮＶＲＡＭ内にある複合体プロファイルは、異なるシステムからの複合体プロファイルである可能性があるためである。別法では、構成を変更するために、サービス・プロセッサは、セルのＮＶＲＡＭ内の複合体プロファイルを変更することが必要な場合がある。以下に記載されるブート・プロセスはこれらの状況を取り扱う。情報のうちのいくつかの部分が、セル・ブート中に、システム・ファームウエアとＣＭとの間で交換されなければならない。この情報も以下に定義される。
【００７８】
好ましい実施形態では、バス・アービタ３１７は、システム・ファームウエアとＣＭとの間で通信するために、再構成および構成ブート動作中に用いられるいくつかのレジスタを備える。再構成および構成をブートすることに関連するビットは以下の通りである。
【００７９】
・共有メモリ良好（Shared Memory Good：ＳＭ＿ＧＯＯＤ）ビット。このビットを用いて、共有されるデータ構造およびそのデータ構造へのポインタが有効であることを、システム・ファームウエアからＣＭに伝達する。セルの電源が投入されるとき、あるいはセルがＣＭによってリセットされるとき、そのビットはクリアされる。システム・ファームウエア９０１がブートを開始するとき、そのビットは、システム・ファームウエア９０１とＣＭとの間で共有されるデータ構造の有効性を検査する。それらが破損している場合には、システム・ファームウエアはそのデータ構造を再度作成する。その後ＳＭ＿ＧＯＯＤビットを設定する。ＣＭはＳＭ＿ＧＯＯＤビットをポーリングし、それが設定されたとき、ＣＭは、以下に記載するように複合体プロファイルを検査する。
【００８０】
・ブート・ブロック（Boot Is Blocked：ＢＩＢ）ビット。このビットを用いて、複合体プロファイルが正確であり、セルがブートすべきであることを、ＣＭからシステム・ファームウエアに伝達する。セルに電源が投入されるとき、あるいはセルがＣＭによってリセットされるとき、そのビットが設定される。またシステム・ファームウエアは、再構成が未完了であることがわかったときにも、そのビットを設定することができる。この場合には、システム・ファームウエアはリブートし、再構成が完了し、新しい複合体プロファイルが利用可能になることが通知されるのを待つ。ＣＭは、以下に記載するように、サービス・プロセッサがＰＤＨ  ＮＶＲＡＭ内の複合体プロファイルのコピーを検査した後に、サービス・プロセッサからのコマンドにおいて、ＢＩＢをクリアする。
【００８１】
・オンライン付加（ＯＬＡ）誘導（Online Addition Steering）ビット。このビットを用いて、ブートし、同様にブート中である他のセルを結合することとは対照的に、システム・ファームウエアがブートし、既に実行中のパーティションを結合すべきであることをＣＭからシステム・ファームウエアに伝達する。
【００８２】
上記のように、システム・ファームウエアがＣＭと共有するデータ構造を検査した後に、システム・ファームウエアはブートし、ＳＭ＿ＧＯＯＤを設定する。その後システム・ファームウエアは、後に記載するアルゴリズムを用いて、複合体プロファイルを検査するＣＭ動作と並行して、セルの初期化を継続する。この時点で、全てのセルは、セルにローカルに配置されるリソース（ＲＯＭ、ＮＶＲＡＭ、システムメモリ）を用いて、システム・ファームウエアのそれ自体のコピーを実行していることに留意されたい。それらは集合していない、すなわちマルチ・セル・パーティションの他のセルを結合していない。実際には、ＢＩＢビットが設定されるので、複合体プロファイルは有効であるものと想定することはできない（ＢＩＢクリアは、複合体プロファイルが有効であることを示す、ＣＭからシステム・ファームウエアへの信号である）。それゆえ、そのセルは、ＢＩＢクリアを検出する前には他のセルと対話することはできない。なぜなら、そのパーティション内の他のどのセルが存在するかを知らないためである。ＢＩＢビットをクリアすることにより、２つの機能が実行される。すなわちそれは、あるパーティションにブートするためにセルを解放し、かつ複合体プロファイルが有効であることをそのセルに通知する。
【００８３】
ＣＭおよびサービス・プロセッサがその複合体プロファイルを検査した（更新する可能性もある）後、ＣＭはサービス・プロセッサから、ＢＩＢビットをクリアするためのコマンドを受信する。その後パーティション内の各セルは、複合体プロファイルを読み出し、（特に）他のどのセルがどのパーティション内に存在するかを見出す。その後そのパーティション内の各セルは、そのセル・リソース（メモリ、Ｉ／Ｏ等）へのアクセスを制御するＰＡ  ＡＳＩＣ内のパーティション・セル・セット・レジスタに、そのパーティション内にあるセルのリストを格納する。パーティション・セル・セット・レジスタによって、ＰＡ  ＡＳＩＣは、そのセルが所属するパーティション内のセルのうちの１つから来ていない、ファブリック・ポートから到達する任意のトランザクション（読出しあるいは書込み動作）を拒否することができる。このようにして、他のパーティション内の誤ったソフトウエアからハードウエア分離することは、柔軟性があり、再構成可能なように実現される。他のパーティションが、あるセルによって所有されるリソースの読出し、あるいは書込みを試みようとしたなら、その試みはＰＡ  ＡＳＩＣによって拒否されていたであろう。
【００８４】
パーティション・セル・セット・レジスタを設定した後に、各セル上のシステム・ファームウエアは、そのパーティション内の他のセルを集め始める。集合前に、各セルは、全ての他のセルとは無関係に、システム・ファームウエア命令を実行している。集合した後、パーティション内の１つのプロセッサがシステム・ファームウエアをアクティブに実行し、他の全てのプロセッサはアイドル・ループにおいて停止し、何らかの処理を行うための指示を待つ。１つのアクティブなプロセッサは、パーティションのブートを続け、ＯＳをロードして開始し、ＯＳは、全てのシステム・プロセッサの制御を行い、システム・プロセッサが作業を行うスケジューリングを開始することができる。ブート、アイドル・ループおよびマルチプロセッサ・スケジューリング中のマルチプロセッサ集合の概念は、対称型マルチプロセッサの当業者にはよく知られている。
【００８５】
複合体プロファイルは複合体の構成を定義し、好ましい実施形態では、その複合体は、外部のエンティティによって構成されることはできず、複合体構成ツール（ＣＴＯＯＬ）によって構成されなければならないことに留意されたい。このツールはＯＳ下で実行され、一方ＯＳは、実行するための構成されたパーティションを必要とする。複合体プロファイルの初期作成を取り扱うために、サービス・プロセッサによって、ユーザは、初期複合体プロファイルを生成するコマンドを実行できるようになる。初期複合体プロファイルは、その複合体を、１つのセルからなる１つのパーティションに構成する。この初期パーティションは、ＣＴＯＯＬへのアクセスを許可し、複合体の柔軟な再構成を可能にするようにブートされることができる。
【００８６】
実質的には、システム内の実際の全構成要素がオンラインで入れ替えられるので、複合体プロファイルのマスタコピーを格納し、全セルによってアクセスできる１つの場所は存在しない。それゆえ、複合体プロファイルは、サービス・プロセッサおよび各セルにおいて複製される。複合体プロファイルの全てのコピーは同じでなければならないので、サービス・プロセッサは、システムが電源を投入された後に、整合性検査を実行することにより、システムにわたって複合体プロファイルの整合性を確保しなければならない。整合性検査の目標は、全セルおよびサービス・プロセッサが同じ複合体プロファイルの一致したコピーを確実に有するようにすることである。整合性検査の好ましい実施形態は、複合体プロファイルの分散された各コピーのチェックサムを計算し、これらのチェックサムを互いに比較することである。チェックサムに不整合がある場合には、サービス・プロセッサは、いくつかの規則を適用して、どの複合体プロファイルが選択されるべきかを判定する。サービス・プロセッサが、どの複合体プロファイルが選択されるべきかを確認できない場合には、ユーザが介入する必要がある。
【００８７】
ＳＭ＿ＧＯＯＤをアサートする各セルに対して、サービス・プロセッサは、セル（ＣＭ）に、複合体プロファイルチェックサムを計算し、それを複合体プロファイルに格納されたチェックサムと比較するように要求するであろう。２つのチェックサムが一致する場合には、セル（ＣＭ）は、サービス・プロセッサに、そのチェックサムとそのチェックサムが有効であることを報告するであろう。一致しない場合には、セル（ＣＭ）はサービス・プロセッサに、そのチェックサムが無効であることを報告するであろう。以下の規則は、正確な複合体プロファイルを判定するために用いられる。
【００８８】
１．有効な複合体プロファイルを持つセルあるいはサービス・プロセッサが存在しない場合には、ユーザが介入する必要がある。
【００８９】
２．サービス・プロセッサが有効な複合体プロファイルを有するが、有効なプロファイルを有するセルが存在しない場合には、サービス・プロセッサは、その複合体プロファイルのコピーをセルに分配するであろう。
【００９０】
３．全てのセルが同じ有効な複合体プロファイルを有し、それがサービス・プロセッサの複合体プロファイルと異なる場合には、サービス・プロセッサは、セルの１つから複合体プロファイルのコピーを自動的に検索するであろう。これは、サービス・プロセッサが動作中に交換された場合も含む。
【００９１】
４．セルが異なる有効な複合体プロファイルを有する場合には、ユーザが介入する必要がある。
【００９２】
サービス・プロセッサは、ユーザの介入を必要とすることを知らせるために、任意の便宜的な手段、例えば光の点滅、接続された端末へのメッセージの印刷、アラーム音の鳴動等を用いることができる。
【００９３】
ユーザの介入が必要とされるときに、ユーザが利用可能な選択は以下の通りである。
【００９４】
１．サービス・プロセッサに、初期複合体プロファイルを作成させる。
【００９５】
２．複合体プロファイルを、サービス・プロセッサデフォルト複合体構成の１つにに設定する（サービス・プロセッサが、ボックス複合体構成から初期化を行う必要があるプロセッサより多くの付加的な予め用意された複合体プロファイルを提供する場合にのみ有効）。
【００９６】
３．複合体プロファイルを、サービス・プロセッサにセーブされて格納されたユーザ定義による複合体プロファイルの１つに設定する（サービス・プロセッサがユーザ定義による複合体プロファイルをセーブする場合にのみ有効）。
【００９７】
一旦複合体全体に複合体プロファイルの整合性が確立されたなら、サービス・プロセッサは、それを確実に保持しなければならない。これは、その複合体に加えられる全ての新しいセルに複合体プロファイルのコピーを分配することにより、かつ複合体内の全てのセルに任意の複合体プロファイルの変更版を分配することにより行われる。ＵＳＢが複合体内の全ての電源が入ったセルに対して機能していない場合には、サービス・プロセッサによって複合体プロファイルが変更されないようになることに留意されたい。
【００９８】
サービス・プロセッサは、不揮発性ＲＡＭ内の複合体プロファイルのコピーを格納し、そのサービス・プロセッサのみが、複合体プロファイルとその全てのコピーとを直接的に変更することができる。しかしながら、サービス・プロセッサは、他のエンティティ（システム・ファームウエア、ＣＴＯＯＬ等）が、複合体プロファイルの一部を間接的に変更できるようになるインターフェース（システム・ファームウェア・インターフェイス）を提供する。例えばシステム識別（ＩＤ）情報のような、プロファイルのいくつかの部分は、サービス・プロセッサによってのみ変更されることができる。
【００９９】
多数のパーティションが複合体プロファイルを共有し、同時にその複合体プロファイルに作用するコマンドを発行できるので、複合体プロファイルにおいてソフトウエア・ロックおよびキーを用いて、プロファイルを変更する時点で、１つのパーティションＯＳのみを許可するようにしなければならない。これにより、異なるパーティションから変更され、複合体プロファイルが破損するのを防ぐ。こうして、全ての変更コマンドは、ロックのキーを持たなければならない（複合体プロファイルは実際にはデータ構造のグループであり、それゆえ各個別のデータ構造がそれ自体のロックおよびキーによって保護されることに留意されたい）。サービス・プロセッサによって、ある時点では１つのキー（データ構造毎に）しか発行できないようになる。キーが戻されるとき、サービス・プロセッサは複合体プロファイル・ロックを再度施錠し、全ての発行されたキーは無効になる。一旦ロックの再施錠が完了すれば、再びそのキーを、複合体プロファイルを変更することを望んでいるあらゆるエンティティが利用できる。サービス・プロセッサは、有効なキーを持たない全ての変更コマンドをエラーとしてはじく。
【０１００】
ＣＭ、システム・ファームウエアおよび複合体プロファイル間の対話の態様の多くは、中心的な概念から逸脱することなく、上記の好ましい実施形態とは異なるように実施することができる。例えば、複合体プロファイルは異なる情報を含むことができるか、システム・ファームウエアによってサービス・プロセッサから要求に応じて取得されることができるか、あるいはリセットの解除前に予め導入されることもできる。パーティション・セル・セット・レジスタの等価形態が、物理的なコンピューティング素子に基づいて、そのリソースへのアクセスを保護する場合、システムメモリおよび／またはＰＤＨリソースおよび／またはＩ／Ｏは集中化することができる。どのような実施形態であっても、以下の概念は、互いからハードウエアによる強制的な分離あるいは保護を有する、種々のパーティションに柔軟に構成されることができるマルチパーティション・コンピュータが中心となる。
【０１０１】
・複数のハードウェア・コンピューティング素子（例えば、プロセッサ）のうちのどのハードウェア・コンピューティング素子が、複数のハードウェア・リソース（例えば、メモリおよび／またはＩ／Ｏ）のうちのどのハードウェア・リソースに割り当てられるかに関する定義が存在する。コンピューティング素子とリソースとは、一対多、多対一、多対多の関係を持つことができる。１つあるいは複数の｛コンピューティング素子｝−｛リソース｝割当ても同時に存在することができる。コンピューティング素子およびその割り当てられたリソースのグループを、本明細書ではパーティションと呼ぶ。しかしながら他の名称を用いることもできる。
【０１０２】
・パーティションの定義は、考えられるいくつかの目標で作成され、ソフトウエアの一部を用いてシステムに導入される。そのソフトウエアは、好ましい実施形態の場合のようにパーティション上で実行されるＣＴＯＯＬか、あるいは外部システム（例えば、モニタ用のワークステーション）上で実行されるプログラムの場合もある。その定義は、例えば負荷のバランスをとるソフトウエアにより自動的に生成されるか、あるいは例えばユーザがシステムを再構成するとき、ユーザが介入して生成される場合もある。
【０１０３】
・各パーティションは、他の全てのパーティションに影響を及ぼすことなく、個別にリセット、パワーダウンあるいはブート等を行うことができるコンピューティング素子およびリソースの物理的なグループである（パーティションが協動することに同意している場合は除く）。
【０１０４】
・各パーティションは、オペレーティング・システムの固有の段階を実行する（オペレーティング・システムは、コンピューティング素子を、リソースを用いるタスクに割り当てる、最も下位のソフトウエアである）。マルチパーティション・コンピュータではないシステムのいくつかの例は以下の通りである。
【０１０５】
・タイムシェアリング・オペレーティング・システム（例えば、Ｕｎｉｘ、ＭＶＳ）を実行するユニプロセッサあるいは対称型マルチプロセッサ・コンピュータ。
【０１０６】
・ＩＢＭ社の論理パーティション（ＬＰＡＲ）に基づくシステム。
【０１０７】
・マルチパーティション・コンピュータは、コンピューティング素子自体の上で実行され、コンピューティング素子を直接に、パーティション・メモリ内に常駐するプロセスあるいはタスクに割り当てるカーネル（核）またはマイクロカーネル、あるいは他のスケジューリング・ソフトウエアを持たない。個々のパーティションはその種のソフトウエアを持つのが普通である。
【０１０８】
・パーティションは別のパーティションとは独立した命令のストリームを実行し、他のパーティションからアクセスできないように割り当てられるメモリおよび／またはＩ／Ｏのようなリソースを有する。
【０１０９】
・１つのパーティションに割り当てられる任意のコンピューティング素子および任意のリソースは、任意の時点で、最大で１つパーティション内にしか存在できない（パーティション内に存在しない場合もある）。
【０１１０】
・パーティションの定義は、柔軟に構成することができ、場合によっては変更することもできる。変更は、パーティションのリブートを必要とする場合も、必要としない場合もある。
【０１１１】
・プログラムを実行しているコンピューティング素子からメモリあるいはＩ／Ｏのようなリソースへのアクセス要求を検査するハードウエア素子がシステム内に存在する。そのアクセス検査用素子は、アクセス規則を理解しなければならない。これらのアクセス規則はパーティション定義に基づいており、パーティションのハードウエアによる保護を強制する。
【０１１２】
・コンピューティング素子とリソースとの間の関係の定義が、検査用素子に与えられなければならない。それは、システム・ファームウエアによって与えられることができるか（システム・ファームウエアがパーティション・セル・セット・レジスタをプログラミングする、好ましい実施形態の場合のように）、あるいはサービス・プロセッサによって導入されることができるか、あるいはいくつかの他の方法で与えられることができる。
【０１１３】
・パーティションが実行中に、コンピューティング素子とリソースとの間の関係の定義が変更される場合には、定義の変更と、そのパーティションの定義の使用および検査用素子とを整合させるための手段がなければならない。パーティションが、変更されているプロセス中の定義を用いようとすることのないように、さらに検査用素子がパーティションの定義の視点と一致しないアクセスを検査しないように、これが必要とされる。そのような整合は、定義の使用に関するロック、その定義が変化していることのパーティションへの通知等の手段を含む場合がある。
【０１１４】
・各コンピューティング素子は、リセットから解除されるときに命令を実行し始め、そのパーティション内の他のコンピューティング素子と集合しなければならないため、そのパーティションは対称型マルチプロセッサになる。どの特定のコンピューティング素子が集合するかの決定は、パーティションの現在の定義に基づかなければならない。これは、システム・ファームウエアによって行われるか（好ましい実施形態の場合のように）、あるいは他にどのコンピューティング素子が集合されるべきかを、各コンピューティング素子に通知するサービス・プロセッサによって行われるか、あるいはいくつかの他の方法で行われる。
【０１１５】
また、上記の定義によって、ハードウエアによる強制的な保護（例えば、パーティションの保護された領域の外部にある共有メモリ）を壊さないように、パーティションが互いに協動することは妨げられないことに留意されたい。
【０１１６】
またＮＶＲＡＭ３１１は、システム・ファームウエア９０１（メインプロセッサ３０２上で実行されている）がサービス・プロセッサに発行することができるコマンドを保持することができるバッファも備える。システム・ファームウエアは、ＣＴＯＯＬと対話するユーザの動作によってコマンドを発行するようになされるであろう。ユーザはＣＴＯＯＬを用いて、パーティション再構成のようないくつかの動作を実行しているであろう。ＣＴＯＯＬはＯＳに要求を行い、ＯＳはシステム・ファームウエアに要求を行い、システム・ファームウエアはここに記載したコマンドを発行するであろう。関連する応答バッファが存在し、それによりサービス・プロセッサは、コマンドへの応答をシステム・ファームウエアに指示する。これらのバッファは図６に示される。
【０１１７】
その後ＣＭ３０４は、図４に示されるファームウェア・アーキテクチャと、図２に示されるハードウェア・アーキテクチャとを介して、サービス・プロセッサにコマンドを搬送する。こうして、コマンドは、システム再構成の協動する部分としてサービス・プロセッサを有することの中核をなす。これらのコマンドによって、システム・プロセッサは、サービス・プロセッサを介してシステムを再構成できるようになる。
【０１１８】
例えば、コマンド「Ｒｅｃｏｎｆｉｇｕｒｅ  ｃｏｍｐｌｅｘ（複合体再構成）」は、サービス・プロセッサに送出されることになるコマンドに関連する新しい複合体プロファイルを有するであろう。その後サービス・プロセッサは、新しい複合体プロファイルを、複合体内の全てのセルに分配するであろう。他のコマンドにより、セル、Ｉ／Ｏバックプレーン、キャビネット等のような構成要素のオンライン交換あるいは追加（動作中の交換）が可能になる。交換あるいは新規に追加した後、その構成要素は、他の構成要素と同じ複合体プロファイルを持たなければならない。この動作は、後により詳細に説明される。
【０１１９】
同様に、ＣＴＯＯＬは、特定の構成要素の電源を入り切りするためのコマンドを発行することができる。それゆえ、このアーキテクチャは、セルボード、Ｉ／Ｏベイおよびキャビネットのオンライン状態での入替えを可能にする。こうしてシステムは、システムをシャットダウンすることを必要とせずに拡大することができる。さらに、複合体プロファイルは種々の構成要素に分配されるため、システムは、機能するサービス・プロセッサを用いることなく、強化することができる。
【０１２０】
新規に追加されたセルはＯＳを実行するのではなく、システム・ファームウエアを実行しており、サービス・プロセッサが、新しいセルがそのパーティション上で実行されるＯＳと併合することを試みるためのコマンドを発行することに留意されたい。
【０１２１】
図２のいくつかの構成要素、例えば電源およびファンは動作中に交換されることができるが、複合体プロファイルを持たないため、更新される必要がないことに留意されたい。
【０１２２】
また、ハードウエアの十分な補足部品が利用できない場合であっても、複合体プロファイルの複製によって、パーティションに割り当てられるセルおよびＩ／Ｏバックプレーンのいくつかのサブセットが起動し、ブートできるようになる。この機構により、冗長性を通して、より高い利用可能性を与えるように、システムを構成できるようになる。
【０１２３】
再構成に関連するコマンドが、コマンドとともに渡されるパラメータと、コマンドによって返送されるデータとともに、以下に示される。
【０１２４】
１．機能：複合体プロファイル検索：このコマンドによって、ＣＴＯＯＬは、変更を計画している場合があるユーザに、現在の複合体構成を表示できるようになる。
パラメータ：なし
返送データ：複合体プロファイルのコピー
【０１２５】
２．機能：複合体再構成：新しい複合体プロファイルが、全てのセルに分配されるようにする。要求者は、変更されることになる複合体プロファイルのセクションのためのロックを保持しなければならない。
パラメータ：
・パーティションへのセルの割当てを含む、複合体のグローバルな特性を定義する複合体プロファイルの新しいセクション
・更新された複合体プロファイルを全てのセルに分配することができる前に、リブートされなければならないパーティションのリスト
・ロックキー
返送データ：成功あるいは失敗
【０１２６】
１．機能：ロックキー取得：複合体プロファイル上のロック、あるいは要求しているパーティションのためのそのセクション１つのロックを取得することを試みる。
パラメータ：ロックされる複合体プロファイルのセクション
返送データ：ロックキーあるいは失敗
【０１２７】
２．機能：ロックキー返却：ロックキー返却は、複合体プロファイルを変更することなくロックを解除する。
パラメータ：
・ロック解除される複合体プロファイルのセクション
・キー
返送データ：成功あるいは失敗
【０１２８】
１．機能：ロック強制解除：要求者が現在ロックを保持しない場合であっても、ロックが強制的に解除される。これは、キーをなくした場合の手動のオーバーライドである。
パラメータ：ロック解除される複合体プロファイルのセクション
返送データ：成功あるいは失敗
【０１２９】
２．機能：セルあるいはＩ／Ｏバックプレーンの電源オン／オフ：除去あるいは追加動作前後に、ＣＴＯＯＬを介してユーザが、セルあるいはＩ／Ｏバックプレーンの電源をオンあるいはオフできるようにすることにより再構成をサポートする。サービス・プロセッサは、このコマンドによって、要求しているパーティションに割り当てられるか、あるいはパーティションに割り当てられないセルあるいはＩ／Ｏバックプレーンに指定されることができるモジュールを制限することができる。このようにして、サービス・プロセッサは、別のパーティションに属するセルあるいはＩ／Ｏバックプレーンの電源をオンあるいはオフすることを拒否することにより、パーティション間を強制的に保護できる。
パラメータ：セルあるいはＩ／Ｏバックプレーン番号
返送データ：成功あるいは失敗
【０１３０】
３．機能：ＬＥＤオン／オフ：セルあるいはＩ／Ｏバックプレーンのように、それぞれ取外し可能なアイテムは、追加あるいは除去されることになる特定のユニットとして注意を引くためのＬＥＤを有する。このコマンドによって、ＣＴＯＯＬは、どのハードウエア部品が導入あるいは除去されることになるかをユーザが特定できるようにＬＥＤを制御できる。
パラメータ：ＬＥＤ識別子
返送データ：なし
【０１３１】
４．機能：ＢＩＢにおける報告：報告するセルは、ＢＩＢビットが解除されるのを待っていることを、サービス・プロセッサに通知する。サービス・プロセッサは、新しい複合体プロファイルを分配する前に、セルがＢＩＢにおいて報告するのを待っている場合があり、その場合には、このコマンドは、報告するセルがＢＩＢに到達していることをサービス・プロセッサに通知する。
パラメータ：なし
返送データ：なし
【０１３２】
５．機能：オンライン状態でのセル追加：このコマンドは、実行中のパーティションによって与えられ、指定されたセル（ＢＩＢが解除されるのを待ち続けなければならない）が、既に実行されているパーティションにブートするために解放されるようにする。その直接の効果は、「セル・アーキテクチャ」のもとで記載されるＯＬＡ誘導ビットを設定し、ＢＩＢビットをクリアすることである。
パラメータ：セル番号
返送データ：「ＯＬＡへの報告準備（Report Ready to OLA）」コマンドが与えられるときに、成功あるいは失敗
【０１３３】
６．機能：ＯＬＡへの報告準備：このコマンドは、実行中パーティションと集合できるようにするために設定されるＯＬＡ誘導ビットを用いてＢＩＢから解放されるセルによって発行される。それにより、「オンライン状態でのセル追加」コマンドを発行した実行中のパーティションに、先行する「オンライン状態でのセル追加」コマンドのための完了状態が返送されるようになる。
パラメータ：なし
返送データ：なし
【０１３４】
７．機能：セル構成検索：指定されたセル上のシステム・ファームウエアがサービス・プロセッサに供給した、メモリの量および導入されているプロセッサの数のような、そのセルについての情報を返送する。この機能を用いて、ＣＴＯＯＬは、複合体ハードウエアの現在の構成の図をユーザに対して表示できるようになる。この機能を用いて、パーティションは、他のパーティションおよびその構成について情報を取得できるようになる。
パラメータ：セル番号
返送データ：セル構成
【０１３５】
８．機能：セルあるいはＩ／Ｏバックプレーン・スロット状態検索：
パラメータ：なし
返送データ：各利用可能なセルあるいはＩ／Ｏバックプレーンのための情報を返送し、セルあるいはＩ／Ｏバックプレーン・スロットのいずれが存在するか、セルあるいはＩ／Ｏバックプレーンのいずれが導入されているか、電源が入れられているか否か、構成されるのを待っているか否かを指示する。この情報は、複合体の構成を検査しており、その構成を変更することを望む可能性があるユーザのために、その複合体の状態の図を作成するためにＣＴＯＯＬによって用いられる。
【０１３６】
パーティションが直接に通信できない場合であっても、コマンドによって、構成情報がパーティション間で通信できるようになることに留意されたい。このパーティション化の利点の１つは、パーティション間がハードウエアによって強制的に分離されることであり、その結果、別々のパーティション上で実行されているソフトウエアが互いに誤動作しないように分離されることである。パーティションは、新しい複合体プロファイルを（再構成のためにリブートすることにより）自動的に受け入れなければならない。こうして、パーティションは、正常に動作しないパーティションによる新しい複合体プロファイルへの不当な影響を免れる。しかしながら、セルが停止、あるいはリブートできない場合には、そのセルは新しい複合体プロファイルを受け入れるであろう。こうして、パーティションは互いにリセットすることはできない。しかしながら、パーティションは依然として、複合体の全体を見通すために、互いについての情報を取得することができる。サービス・プロセッサは、その情報を、システム再構成のためにユーザに提供するであろう。例えば、ＣＴＯＯＬを用いて、ユーザは、あるパーティションから別のパーティションにセルを移動することにより、あるいはパーティションを追加し、他のパーティションからのリソースを新しいパーティションに提供することにより、システムを再構成することができる。
【０１３７】
共有されたメモリ、ＮＶＲＡＭ３１１によって、情報およびコマンドは、サービス・プロセッサに返送されるようになる。こうして、サービス・プロセッサは、複合体プロファイルを有する全ての構成要素が一致したコピーを確実に有するようにできる。さらにサービス・プロセッサは、セルの動作を管理する、例えばセルの電源をオンあるいはオフすることができる。
【０１３８】
図５は、コンピュータシステム内のコマンドの流れ、および再構成中（例えば、構成要素の起動時）、および発行されたコマンドに従って複合体プロファイルを分配する間の、サービス・プロセッサの対話の流れを示す。コマンドは、ＣＴＯＯＬを用いてユーザの対話から発信する場合がある。
【０１３９】
ユーザは、システムの全体的な使用をモニタし、リソースのバランスをとる、人間あるいはモニタ用プログラムの場合がある。好ましい実施形態では、ユーザは、ユーザとの構成インターフェースである、パーティションの１つのＯＳにおいてＣＴＯＯＬにアクセスするであろう。ユーザは、どのパーティションがコマンドによって影響を受けるかを指定することができる。ＣＴＯＯＬを用いて、所望の変更を含む新しい複合体プロファイルを作成するであろう。新しい複合体プロファイルは、パーティション内のセル上のＣＭ３０４モジュールの１つを介して、サービス・プロセッサに伝達されるであろう。その後サービス・プロセッサは、新しい複合体プロファイルを、システム上の全てのプロファイル関連構成要素に再分配する。
【０１４０】
図５は３つのパーティションを示しているが、システムは、より多くの、あるいはより少ないパーティションを備える場合があることに留意されたい。また、各パーティションは１つあるいは複数のセルを含むことができるので、図示されているパーティション当たりのセルの数は例示にすぎないことにも留意されたい。
【０１４１】
ＣＴＯＯＬからのコマンドは、ＯＳ、システム・ファームウエアおよびＰＤＨＮＶＲＡＭを通して、かつＵＳＢを介して、サービス・プロセッサ１０１に移送される。その後サービス・プロセッサは、適当な構成要素を操作するか、あるいは要求される情報（例えば、ファン状態）を返送する。新しい複合体プロファイルが供給される場合（例えば、セルが追加あるいは変更されたため）、一旦その影響を受けたセルが変更に適した状態に達したなら、その変更を反映する新しい複合体プロファイルが適当な構成要素に送出される。これにより、実行されている種々のＯＳあるいはＯＳが実行されていない場合には種々のシステム・ファームウエアが、その各パーティションにおいて構成要素をブート、リブート、あるいは受入れ／削除できるようになる。
【０１４２】
オンラインによる入替えは、オンラインにより削除した後にオンラインにより追加することであることに留意されたい。また、サービス・プロセッサは動作状態で交換可能であることにも留意されたい。新しいサービス・プロセッサは、複合体プロファイルの一致したコピーを持っていないと考えられる。従って、新しいサービス・プロセッサは、そのコピーが正しいものではないことを判断し、セルあるいは他のプロファイル関連構成要素からコピーをロードする。
【０１４３】
以下のステップは、再構成動作中のシステム動作を説明する。例としてＣＴＯＯＬが用いられるが、その動作はＣＴＯＯＬに制限されない。例えば、自動負荷平均化ユーティリティが再構成動作を実行することもできる。
【０１４４】
１．ユーザはＣＴＯＯＬと対話し、その複合体への一組の変更を入力する。これは、一旦変更が行われた場合に、ブートするためにパーティションの識別（ＩＤ）を含む。
【０１４５】
２．ＣＴＯＯＬは、再構成要求によってどのセルが影響されるかを判定する。
【０１４６】
３．ＣＴＯＯＬは、複合体プロファイルの影響を受ける部分をロックする。
【０１４７】
４．ＣＴＯＯＬは、複合体プロファイルの影響を受ける部分を読み出し、ＣＴＯＯＬが行うよう指示している変更に矛盾する変更が複合体において生じていないことを確認する。
【０１４８】
５．ＣＴＯＯＬは、影響を受けるセルのうちアクティブであるものがあるかどうかを判定し、もし可能ならばオンライン状態でそれらのセルを削除する（これにより、全パーティションをシャットダウンしなければならないことを避けることができる）。
【０１４９】
６．ＣＴＯＯＬは、複合体プロファイルの新しいグローバルな部分（および場合によりパーティションのプロファイルの要素）を作成することにより、残りの変更を行う。
【０１５０】
７．ＣＴＯＯＬは、ユーザから再構成を実行する確認を受け取る。
【０１５１】
８．ＣＴＯＯＬは、変更されるパーティション・プロファイルを全て書き込む。
【０１５２】
９．サービス・プロセッサは、パーティション・プロファイルが各パーティション内のセルに押し出された後、各パーティション・プロファイルのロックを解除する。パーティション内にアクティブなセルが存在しない場合には（それらは全て再構成のために準備しており、ＢＩＢが解除されるのを待っている）、その時点でサービス・プロセッサは新しいパーティション・プロファイルを受け入れ、実行される。すなわちパーティションがブートするとき、新しいパーティション・プロファイルが押し出されるようになることに留意されたい。
【０１５３】
１０．ＣＴＯＯＬは、複合体プロファイルのグローバルな部分を書き込む。ＣＴＯＯＬは、影響を受けたセルのリストおよびブートするためのパーティションのリストを提供する（このリストは、新しいパーティションおよびシャットダウンされなければならないパーティションに限定されない。それらのパーティションは、通常含まれているパーティションである）。
【０１５４】
１１．サービス・プロセッサは、そのパーティション割当てが変更される全てのセルが、影響を受けるセルのリストに含まれることを検査する。相違が見られる場合には、サービス・プロセッサは複合体プロファイル書込み要求を拒否する。
【０１５５】
１２．これより先は、サービス・プロセッサは、影響を受けるセルを有するパーティションをブートすることはない（セルの構成は現在の複合体プロファイルに基づく）。
【０１５６】
１３．ＣＴＯＯＬは、もしあるなら、どのパーティションがシャットダウンされる必要があるかを判定する。そのアクティブ・セルのうちのいずれかのアクティブ・セルが影響を受けるセルである場合には、パーティションはシャットダウンされる必要がある。これは、ＣＴＯＯＬが、影響を受けるアクティブ・セルをオンラインで削除しようと試みることを考慮する。
【０１５７】
１４．ＣＴＯＯＬはユーザと対話して、影響を受けるパーティションをシャットダウンするか、あるいはユーザにそのパーティションをシャットダウンさせる。全ての場合に、再構成するためにシャットダウンが用いられなければならない。再構成のためのシャットダウンは、ＯＳをシャットダウンし、それをシステム・ファームウエアに戻すことができるようにする１つの方法である。システム・ファームウエアはＢＩＢを設定し、その後「ＢＩＢにおける報告」コマンドを発行して、ＢＩＢがＣＭによってクリアされるのを待つ。
【０１５８】
１５．ＣＴＯＯＬは、全ての影響を受けるセルが確実に再構成のための準備状態になるようにする。ＣＴＯＯＬは、全ての影響を受けるセルが再構成のための準備状態になるまで所定の時間だけ待機し、その後ＣＴＯＯＬはユーザと対話して、全ての影響を受けるセルを再構成のために準備状態にするか、あるいは複合体再構成を中止する。
【０１５９】
１６．ＣＴＯＯＬが実行中であるパーティションが、再構成によって影響を受ける場合には、ＣＴＯＯＬは、ユーザに、このパーティションの再構成のためにシャットダウンを行うように指示する。
【０１６０】
１７．サービス・プロセッサは、全ての影響を受けるセルが、「ＢＩＢにおける報告」コマンド（再構成のためのセル準備状態）を発行するのを待ち、その後ＣＭに新しいプロファイルを供給して、その新しいプロファイルを押し出す。そしてＣＭはＰＤＨ  ＮＶＲＡＭに新しいプロファイルを格納する。
【０１６１】
１８．サービス・プロセッサは複合体プロファイルのグローバルな部分におけるロックを解除し、ＢＩＢをクリアするためにセルのＣＭにコマンドを送出することにより、リストに挙げられたパーティションをリブートする。再構成は、サービス・プロセッサが新しいプロファイルを押し出し始める前に、強制ロック解除により中止されることができる。
【０１６２】
システムは、サービス・プロセッサあるいはＵＳＢの故障時にブートできなければならない。従って、複合体プロファイルのコピーが、システム内の全てのセルの不揮発性ＲＡＭメモリに格納される。サービス・プロセッサを用いなければ構成変更はサポートされないので、セルは、サービス・プロセッサあるいはＵＳＢの故障時に、複合体プロファイルのそのコピーが有効であるものと想定することができる。
【０１６３】
ＣＭがセルの起動を検出するとき、ＣＭはタイマを始動し、サービス・プロセッサがセルの複合体プロファイルのチェックサムを求めるのを待つ。サービス・プロセッサがＣＭに応答させる前に、タイマが満了する場合には、ＣＭは、サービス・プロセッサが機能しないものと仮定し、ＢＩＢをクリアする。こうして、ＰＤＨ  ＮＶＲＡＭに格納される複合体プロファイルを用いて、パーティションはブートする。
【０１６４】
初期起動中に、サービス・プロセッサは、セルがチェックインするのを待つ。それは、チェックインしているセルが適切に起動されており、共有されるメモリ内の複合体プロファイルの一致するバージョンを有していることを意味する。サービス・プロセッサは、最初のセルがチェックインするのを所定の時間だけ、例えば永久に、あるいは比較的長時間、待つであろう。最初のセルがチェックインした後、サービス・プロセッサは、さらに別のセルがチェックインするのを、第１の所定の時間より短い第２の所定の時間だけ待つであろう。第２の所定の時間が満了した後、あるいは全てのセルがチェックインした後、サービス・プロセッサは、チェックインしたセルに基づいてシステムのパーティションを形成し、ＢＩＢをクリアするために各セル上のＣＭにコマンドを送出することによって、ブートするためにそのセルを解放するであろう。第２の所定の時間の後チェックインする任意のセルは、複合体に新たに加えられたセルとして取り扱われるであろう。
【０１６５】
この発明は例として次の実施形態を含む。
（１）マルチパーティション・コンピュータシステムであって、
複数のセルボードであって、各セルボードは少なくとも１つのメインプロセッサを備える、該セルボードと、
前記各セルボードに接続されるサービス・プロセッサとを備え、
各パーティションが少なくとも１つの前記セルボードを備え、前記サービス・プロセッサは前記パーティションの構成を管理するマルチパーティション・コンピュータシステム。
【０１６６】
（２）前記各パーティションは、他のパーティションから独立したオペレーティング・システムを含む上記（１）に記載のコンピュータシステム。
【０１６７】
（３）前記パーティションの前記各セルボードは、前記コンピュータシステムがオンライン状態である間に、別のパーティションに再割当てされることができる上記（１）に記載のコンピュータシステム。
【０１６８】
（４）前記サービス・プロセッサは、少なくとも１つのＵＳＢ形式のバスを介して前記セルボードと通信を行う上記（１）に記載のコンピュータシステム。
【０１６９】
（５）前記各セルボードは、前記コンピュータシステムがオンライン状態である間に、入れ替えられることができる上記（１）に記載のコンピュータシステム。
【０１７０】
（６）前記サービス・プロセッサは、前記セルボードの動作を制御することができる上記（１）に記載のコンピュータシステム。
【０１７１】
（７）前記サービス・プロセッサは、前記パーティションの動作を制御することができる上記（１）に記載のコンピュータシステム。
【０１７２】
（８）前記サービス・プロセッサは、前記パーティションをリセットできる上記（７）に記載のコンピュータシステム。
【０１７３】
（９）前記サービス・プロセッサは、前記コンピュータシステムがオンライン状態である間に、入れ替えられることができる上記（１）に記載のコンピュータシステム。
【０１７４】
（１０）前記コンピュータシステムのための構成を記述するプロファイルをさらに備え、
前記サービス・プロセッサおよび前記各セルボードは前記プロファイルのコピーを保持する上記（１）に記載のコンピュータシステム。
【０１７５】
本発明およびその利点が詳細に記載されてきたが、添付の請求の範囲によって規定されるような本発明の精神および範囲から逸脱することなく、種々の変更形態、代用形態および代替形態を実施できることを理解されたい。さらに、本発明の範囲は、本明細書に記載されるプロセス、マシン、製造、要素の構成、手段、方法およびステップの好ましい実施形態に制限することを意図していない。本発明によれば、ここに記載される対応する実施形態と同じ機能を実行するか、あるいは概ね同じ結果を達成する、既存のあるいは今後開発されるプロセス、マシン、製造、要素の構成、手段、方法およびステップを利用できることが、本発明の開示から当業者には容易に理解されよう。従って、添付の請求の範囲は、そのようなプロセス、マシン、製造、要素の構成、手段、方法およびステップをその範囲に含むことを意図している。上記のように本発明によれば、オンライン状態である間に、再構成することができるマルチプロセッサ・コンピュータシステムを実現することができる。
【図面の簡単な説明】
【図１】本発明のハードウエアおよびソフトウエア・アーキテクチャのブロック図。
【図２】本発明のシステムのためのハードウェア・アーキテクチャの構成に対する好ましい実施形態を示す図。
【図３】本発明のセルのブロック図。
【図４】ユーティリティ・サブシステム・ファームウエアの構成を示す図。
【図５】本発明のシステム内のコマンドの流れを示す図。
【図６】システム・ファームウエアとユーティリティ・ファームウエアとの間で共有されるデータ構造を示す図。
【符号の説明】
１５  複合体プロファイル
１００  コンピュータシステム
１０１  サービス・プロセッサ
１１５  セルボード
９０１  パーティション
９０２  オペレーティング・システム
【図１】
0004299473.tif 000002
【図２】
0004299473.tif 000003
【図３】
0004299473.tif 000004
【図４】
0004299473.tif 000005
【図５】
0004299473.tif 000006
【図６】
0004299473.tif 000007