(57)【要約】【課題】破壊的なファームウェア更新を非破壊で適用するためのシステム、方法、およびコンピュータ使用可能な媒体を提供する。【解決手段】本発明の好ましい一実施形態によれば、マルチプロセッサ・データ処理システムの動作中に、サービス・プロセッサは、マルチプロセッサ・データ処理システム内のファームウェアを第１のファームウェア設定から第２のファームウェア設定に更新する。サービス・プロセッサは、第２のファームウェア設定が第１のハードウェア装置を対象とする少なくとも１つの破壊動作を含む場合に、第１のハードウェア装置を割り当て解除し、破壊動作を第１のハードウェア装置に対して実行し、破壊動作が完了すると、第１のハードウェア装置をマルチプロセッサ・データ処理システムに対して再割り当てすることによって、第２のファームウェア設定をマルチプロセッサ・データ処理システム内のハードウェアに対して繰り返し適用する。【選択図】図２
2008059585.tif 000002
【特許請求の範囲】
【請求項１】
マルチプロセッサ・データ処理システムにおけるファームウェア更新を実施するための方法であって、前記方法は、
前記マルチプロセッサ・データ処理システムにおけるファームウェアを、第１のファームウェア設定から第２のファームウェア設定に更新するステップと、
前記第２のファームウェア設定が第１のハードウェア装置を対象とする少なくとも１つの破壊動作を含む場合に、前記第１のハードウェア装置を割り当て解除し、
前記破壊動作を前記第１のハードウェア装置に対して実行し、
前記破壊動作が完了すると、前記第１のハードウェア装置を前記マルチプロセッサ・データ処理システムに対して再割り当てすることによって、
前記第２のファームウェア設定を前記マルチプロセッサ・データ処理システム内のハードウェアに対して繰り返し適用するステップと
を含む方法。
【請求項２】
前記マルチプロセッサ・データ処理システムにおいてブート処理を起動するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記破壊動作は、前記第１のハードウェア装置上で実行されると前記第１のハードウェア装置をオフラインにする動作である、請求項１に記載の方法。
【請求項４】
前記第２のファームウェア設定が少なくとも１つの破壊動作を含まない場合には、前記第１のハードウェア装置を割り当て解除する前記ステップおよび再割り当てする前記ステップを行うことなく、前記第２のファームウェア設定を前記第１のハードウェア装置に適用するステップをさらに含む、請求項１に記載の方法。
【請求項５】
前記第１のハードウェア装置を割り当て解除する前記ステップは、
前記第１のハードウェア装置をホット・リムーバル手順を介して割り当て解除するステップをさらに含む、請求項１に記載の方法。
【請求項６】
前記第１のハードウェア装置を再割り当てする前記ステップは、
前記第１のハードウェア装置をホット・プラグ手順を介して再割り当てするステップをさらに含む、請求項１に記載の方法。
【請求項７】
マルチプロセッサ・データ処理システムにおけるファームウェア更新を実施するためのシステムであって、
複数のプロセッサと、
前記複数のプロセッサに結合されたデータ・バスと、
前記複数のプロセッサによって実行可能な命令を備えるコンピュータ・プログラム・コードとを備え、
前記命令は、
前記マルチプロセッサ・データ処理システムにおけるファームウェアを、第１のファームウェア設定から第２のファームウェア設定に更新するためと、
前記第２のファームウェア設定が第１のハードウェア装置を対象とする少なくとも１つの破壊動作を含む場合には、前記第１のハードウェア装置を割り当て解除し、
前記破壊動作を前記第１のハードウェア装置に対して実行し、
前記破壊動作が完了すると、前記第１のハードウェア装置を前記マルチプロセッサ・データ処理システムに対して再割り当てすることによって、
前記第２のファームウェア設定を前記マルチプロセッサ・データ処理システム内のハードウェアに対して繰り返し適用するために構成される、システム。
【請求項８】
前記命令は、
前記マルチプロセッサ・データ処理システムにおいてブート処理を起動するためにさらに構成される、請求項７に記載のシステム。
【請求項９】
前記破壊動作は、前記第１のハードウェア装置上で実行されると前記第１のハードウェア装置をオフラインにする動作である、請求項７に記載のシステム。
【請求項１０】
前記命令は、
前記第２のファームウェア設定が少なくとも１つの破壊動作を含まない場合には、前記第１のハードウェア装置を割り当て解除することおよび再割り当てすることを行うことなく、前記第２のファームウェア設定を前記第１のハードウェア装置に適用するためにさらに構成される、請求項７に記載のシステム。
【請求項１１】
前記第１のハードウェア装置の前記割り当て解除のための前記命令は、
前記第１のハードウェア装置をホット・リムーバル手順を介して割り当て解除するためにさらに構成される、請求項７に記載のシステム。
【請求項１２】
前記第１のハードウェア装置の前記再割り当てのための前記命令は、
前記第１のハードウェア装置をホット・プラグ手順を介して再割り当てするためにさらに構成される、請求項７に記載のシステム。
【請求項１３】
コンピュータ実行可能な命令を備えるコンピュータ・プログラムであって、
前記命令は、
マルチプロセッサ・データ処理システムにおけるファームウェアを、第１のファームウェア設定から第２のファームウェア設定に更新するためと、
前記第２のファームウェア設定が第１のハードウェア装置を対象とする少なくとも１つの破壊動作を含む場合には、前記第１のハードウェア装置を割り当て解除し、
前記破壊動作を前記第１のハードウェア装置に対して実行し、
前記破壊動作が完了すると、前記第１のハードウェア装置を前記マルチプロセッサ・データ処理システムに対して再割り当てすることによって、
前記第２のファームウェア設定を前記マルチプロセッサ・データ処理システム内のハードウェアに対して繰り返し適用するために構成される、コンピュータ・プログラム。
【請求項１４】
前記マルチプロセッサ・データ処理システムにおいてブート処理を起動するために構成されるコンピュータ実行可能な命令をさらに備える、請求項１３に記載のコンピュータ・プログラム。
【請求項１５】
前記破壊動作は、前記第１のハードウェア装置上で実行されると前記第１のハードウェア装置をオフラインにする動作である、請求項１３に記載のコンピュータ・プログラム。
【請求項１６】
前記第２のファームウェア設定が少なくとも１つの破壊動作を含まない場合には、前記第１のハードウェア装置を割り当て解除することおよび再割り当てすることを行うことなく、前記第２のファームウェア設定を前記第１のハードウェア装置に適用するために構成されるコンピュータ実行可能な命令をさらに備える、請求項１３に記載のコンピュータ・プログラム。
【請求項１７】
前記第１のハードウェア装置の前記割り当て解除のために構成されたコンピュータ実行可能な命令を備えるコンピュータ・プログラム・コードは、
前記第１のハードウェア装置をホット・リムーバル手順を介して割り当て解除するために構成されるコンピュータ実行可能な命令をさらに備える、請求項１３に記載のコンピュータ・プログラム。
【請求項１８】
前記第１のハードウェア装置の前記再割り当てのために構成されたコンピュータ実行可能な命令を備えるコンピュータ・プログラム・コードは、
前記第１のハードウェア装置をホット・プラグ手順を介して再割り当てするために構成されるコンピュータ実行可能な命令をさらに備える、請求項１３に記載のコンピュータ・プログラム。
【請求項１９】
前記コンピュータ実行可能な命令は、遠隔地にあるサーバからクライアント・コンピュータへ導入可能である、請求項１３に記載のコンピュータ・プログラム。
【請求項２０】
前記コンピュータ実行可能な命令は、サービス・プロバイダから顧客へオンデマンドで提供される、請求項１３に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、データ処理システムの分野に関し、より特定的には、更新データ処理システムの分野に関する。さらにより特定的には、本発明は、破壊的なファームウェア更新を提供するためのシステムおよび方法に関する。
【背景技術】
【０００２】
現在、ウェブ・サーバとして使用される数多くのデータ処理システムは、マルチプロセッサ・データ処理システム（ＭＰ）である。これらのＭＰには、例えば、適切なときに排気ファンをオンまたはオフできるようにＭＰの温度を監視するなどの、ＭＰに対して全体として影響を与える数多くのタスクを行うために使用される「サービス・プロセッサ」が含まれる。また、サービス・プロセッサは、当該システム上で実行しているような数多くの互いに異なるホスト・オペレーティング・システムによって共用されるＭＰ内の他のリソースを監視する場合もある。
【０００３】
システム・ブート処理中に、規則正しくソフトウェアによって制御された状態遷移がＭＰハードウェア内で生じる。各状態中に、ＭＰハードウェアは、ブート処理の終了時に所望の構成に達するために、ファームウェア内で指示された初期設定手順を実行することがある。当該技術で周知なように、図１と共に以下で説明するように、新しいＭＰ構成を得るために、場合によっては、サービス・プロセッサに対してファームウェア更新を行う必要がある。これらのファームウェア更新は、頻繁に生じることがあり、ファームウェア更新に「破壊動作」を含む場合には、ＭＰの生産性に影響を及ぼすことがある。破壊動作とは、ＭＰハードウェア上で実行されると当該ハードウェアをオフライン（リブート）にする動作のことである。更新が破壊動作を含まない場合には、当該更新は、実行中のシステムのハードウェアに対してただちに適用かつ作用できる。更新が破壊動作を含む場合には、ＭＰはリブートされて、ファームウェア更新を実行しなければならない。
【０００４】
図１を参照すると、従来技術に係るＭＰに対するファームウェア更新を示す高レベルの論理フローチャートが示されている。処理はステップ１００で開始し、続くステップ１０２において、ＭＰはブート処理を開始する。処理はステップ１０４へ進み、ＭＰ内のサービス・プロセッサは第１のファームウェア設定を実行する。ファームウェア設定は、ステップ１０６に示すように、第１の手法でＭＰ内のハードウェアに対して作用する。例えば、第１のファームウェア設定は、排気ファンの動作の開始および停止をいつ行うかを判断するための温度閾値の第１の組を設定する。処理はステップ１０８へ続き、ＭＰはブート処理を完了する。ステップ１０９に示すように、ＭＰ内のサービス・プロセッサは、第２のファームウェア設定に更新され、第２の別の手法でＭＰハードウェアに対して作用する。処理はステップ１１０へ続き、ＭＰはファームウェア更新後にリブートする。処理はステップ１１２へ進み、第２のファームウェア設定はリブートに続いて第２の手法でＭＰハードウェアに対して作用する。例えば、第２のファームウェア設定は、排気ファンの開始および停止をいつ行うかを判断するための温度閾値の第２の組を設定する。ステップ１１４に示すように、ＭＰはリブートを完了し、ステップ１１６に示すように、ＭＰは処理を終了する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＭＰ全体をリブートしてファームウェア更新を完了させることは、時間損失および生産性の低下という両方の点からコストのかかる作業である。したがって、従来技術の制約に対処するために、破壊的なファームウェア更新を非破壊で適用するためのシステムおよび手法が必要とされる。
【課題を解決するための手段】
【０００６】
本発明は、破壊的なファームウェア更新を非破壊で適用するためのシステム、方法、およびコンピュータ使用可能な媒体を含む。本発明の好ましい一実施形態によれば、マルチプロセッサ・データ処理システムの動作中に、サービス・プロセッサは、マルチプロセッサ・データ処理システム内のファームウェアを第１のファームウェア設定から第２のファームウェア設定に更新する。サービス・プロセッサは、第２のファームウェア設定が第１のハードウェア装置を対象とする少なくとも１つの破壊動作を含む場合に、第１のハードウェア装置を割り当て解除し、破壊動作を第１のハードウェア装置に対して実行し、破壊動作が完了すると、第１のハードウェア装置をマルチプロセッサ・データ処理システムに対して再割り当てすることによって、第２のファームウェア設定をマルチプロセッサ・データ処理システム内のハードウェアに対して繰り返し適用する。
【発明を実施するための最良の形態】
【０００７】
本発明の上記および他の目的、機能、および利点は、以下の詳細に記載された説明において明らかになるだろう。
【０００８】
本発明の特徴と考えられる新規の機能は、添付の請求項に記載されている。しかしながら、本発明自体ならびにその好ましい使用形態、さらなる目的、および利点は、添付の図面と共に以下の例示の一実施形態の詳細な説明を参照すれば最も理解されるだろう。
【０００９】
本明細書において詳細に説明するように、本発明は、破壊的なファームウェア更新を非破壊で適用するためのシステムおよび方法を含む。マルチプロセッサ・データ処理システム（ＭＰ）は、第１の組のファームウェアを第２の組のファームウェアに更新し、サービス・プロセッサは、第２の組のファームウェアをＭＰ内のハードウェアに対して繰り返し適用する。サービス・プロセッサは、第２の組のファームウェアが少なくとも１つの破壊動作を含むかどうかを判断する。第２の組のファームウェアが少なくとも１つの破壊動作を含む場合には、サービス・プロセッサは、第１のハードウェア装置をホット・リムーバル手順を介して割り当て解除する。サービス・プロセッサは、破壊動作を第１のハードウェア装置に対して実行し、破壊動作が完了すると、サービス・プロセッサは、第１のハードウェア装置をＭＰに対してホット・プラグ手順を介して再割り当てする。
【００１０】
今度は図面、特に図２を参照すると、本発明のホット・リムーバル機能を実施することができるファブリック２０８および他の構成要素と共に設計されたＭＰが示されている。ＭＰ２００は、プロセッサ２０１と、プロセッサ２０２とを含む。また、ＭＰ２００は、メモリ２０４と、入出力（Ｉ／Ｏ）コントローラ／装置２０６とを含む。様々な構成要素が、相互接続ファブリック２０８を介して相互接続されており、ホット・プラグ／ホット・リムーバル・コネクタ２２０を含む。新しいホット・プラグ／ホット・リムーバル・ハードウェア構成要素の追加は、さらに詳細に後述するように、相互接続ファブリック２０８のホット・プラグ／ホット・リムーバル・コネクタ２２０を介して（直接的または間接的に）完了する。
【００１１】
相互接続ファブリック２０８は、構成要素間の通信をルーティングすると共にハードウェア構成の変更に対するＭＰ２００の応答を制御するための配線および制御論理を含む。制御論理は、ルーティング論理２０７と、構成設定論理２０９とを含む。特定的には、ＭＰ２００の左の挿入部に示すように、構成設定論理２０９は、第１および第２の構成設定であるＣＯＮＦＩＧ  Ａ２１４とＣＯＮＦＩＧ  Ｂ２１６とを含む。ＣＯＮＦＩＧ  Ａ２１４およびＣＯＮＦＩＧ  Ｂ２１６は、モード設定レジスタ２１８に結合されており、モード設定レジスタ２１８は、ラッチ２１７によって制御される。構成設定論理２０９内の構成要素の実際の動作は、より詳細に後述する。
【００１２】
上記の構成要素に加えて、ＭＰ２００は、サービス要素（ＳＥ）２１２も備える。ＳＥ２１２は、ＭＰの構成要素を保守整備して大規模なシステム用のインターフェース動作を完了するための（オペレーティング・システム（ＯＳ）とは別の）ソフトウェア符号化された特殊な論理を備える小さなマイクロ・コントローラである。よって、ＳＥ２１２は、ＭＰ２００を制御するために必要なコードを実行する。ＳＥ２１２は、ＭＰ内のプロセッサ・リソースの追加（すなわち、プロセッサ数の増加／減少）と共に、他のＭＰリソース（すなわち、メモリ、Ｉ／Ｏなど）の追加／除去をＯＳに通知する。
【００１３】
図３は、図２のＭＰ２００と同様の２つのＭＰがそれぞれホット・プラグ／ホット・リムーバル・コネクタ２２０を介して結合されてさらに大きな対称形のＭＰ（ＳＭＰ）システムを作成していることを示す。ＭＰ２００は、説明のために要素１および要素０として示されている。要素１は、別々のＭＰ２００のホット・プラグ／ホット・リムーバル・コネクタ２２０を結合するために設計された配線、コネクタ・ピン、またはケーブル接続を介して要素０に結合されている。本発明の一実施形態において、各ＭＰは、顧客のＳＭＰを拡張して追加のＭＰを収容可能な背景プロセッサ拡張ラックに事実上プラグ接続されてもよい。
【００１４】
例として、要素０は、自身の１次ＭＰの処理能力／リソースを増強したい顧客の１次ＭＰ（またはサーバ）である。要素１は、システム技術者によって１次ＭＰに追加されている２次ＭＰである。本発明の好ましい一実施形態によれば、要素１の追加は、本明細書に提供されているホット・プラグ動作を介して生じ、顧客は、要素１が接続中に要素０のダウンタイムを経験することはない。要素０および要素１が結合されてＭＰの処理能力／リソースを増強した後に、システム技術者は、保守整備または他の目的のために、要素０を要素１から分離したい場合がある。このような分離は、ホット・リムーバル手順を介して達成されてもよく、これも、顧客が分離中にダウンタイムにほとんどまたは全く遭遇しないことを保証するものである。
【００１５】
図３に示すように、ＳＭＰ３００は、要素０と要素１とを分離する、点線で示されている物理的なパーティション２１０を備える。物理的なパーティション２１０によって、各ＭＰ２００は、互いにある程度独立して動作することが可能になり、実施の仕方によっては、物理的なパーティション２１０は、他のＭＰ２００の動作上の問題およびダウンタイムから実質的に各ＭＰ２００を保護するものである。
【００１６】
ホット・プラグ／ホット・リムーバル機能をさらに拡張したものを図４に示す。特定的には、図４は、追加のメモリおよびＩ／Ｏチャンネルならびに異機種プロセッサのホット・プラグによる追加を扱うために、上述の非破壊のホット・プラグ／ホット・リムーバル機能を拡張しており、新しい構成要素を４００番台の参照番号によって識別している。１次構成要素（すなわち、プロセッサ２０１およびプロセッサ２０２、メモリ４０４Ａ、ならびにＩ／Ｏチャンネル４０６Ａが、相互接続ファブリック２０８を介して結合されている）に加えて、ＭＰ４００は、いくつかの追加のコネクタ・ポートをファブリック２０８上に含んでいる。これらのコネクタ・ポートは、ホット・プラグ／ホット・リムーバル・メモリ拡張ポート４２１と、ホット・プラグ／ホット・リムーバルＩ／Ｏ拡張ポート４２２と、ホット・プラグ／ホット・リムーバル・プロセッサ拡張ポート４２３とを含む。
【００１７】
各拡張ポートは、各構成要素についてのホット・プラグ動作を制御するために、対応する構成論理４０９Ａ，４０９Ｂ，および４０９Ｃを有する。メモリ４０４Ａに加えて、追加のメモリ４０４Ｂは、ＭＰ３００ならびに要素０および要素１について説明した処理と同様に、ファブリック２０８のメモリ拡張ポート４２１に「プラグ接続」されてもよい。アドレス０からＮの初期メモリ範囲は、いまやアドレスＮ＋１からＭを含むように拡大されている。いずれのサイズのメモリの構成モードも、ラッチ４１７Ａを介して選択可能で、別のメモリ４０４Ｂが追加される場合にＳＥ２１２によって設定される。また、別のＩ／Ｏチャンネルがホット・プラグ接続Ｉ／Ｏチャンネル４０６Ｂおよび４０６Ｃによってホット・プラグ／ホット・リムーバルＩ／Ｏ拡張ポート４２２に提供されてもよい。さらに、Ｉ／Ｏチャンネルのサイズについての構成モードも、ラッチ４１７Ｃを介して選択可能で、別のＩ／Ｏチャンネル４０６Ｂおよび４０６Ｃが追加または除去あるいはその両方が行われた場合にＳＥ２１２によって設定される。また、ＭＰ４００は、サービス・プロバイダのサーバ４０２に結合されており、より詳細は図７から図１０と共に本明細書において説明する。
【００１８】
上記構成により、ＭＰは、ＭＰ４００上の最小の処理遅延に従って、プロセッサ、メモリ、またはＩ／Ｏチャンネルあるいはそのすべてを縮小／成長させることができる。特定的には、上記構成により、メモリおよびＩ／Ｏの両方について、利用可能なアドレス空間を成長（および縮小）させることができる。各アドオンまたは除去は、他と独立して、すなわち、プロセッサ対メモリまたはＩ／Ｏというように処理され、図示のように別個の論理によって制御される。したがって、本発明は、「ホット・プラグ／ホット・リムーバル」の概念を、従来の用語の意味ではホット・プラグ／ホット・リムーバルできない装置に拡張するものである。
【００１９】
ＭＰ２００内のホット・プラグ接続された構成要素（例えば、要素１）を除去するには、技術者、ユーザ、または自動処理（例えば、ＳＥ２１２のファームウェア更新）が、ＭＰ上で実行中のソフトウェア構成ユーティリティ内の除去オプションを選択する。ＳＥ２１２は、オペレーティング・システムに対して要素１のリソースの処理損失を通知する。応答して、オペレーティング・システムは、タスク／作業負荷を要素１から要素０へ再割り当てして、要素１を空にする。ＳＥ２１２は、オペレーティング・システムが要素１から要素０へのすべての処理の再割り当て（およびデータの保存）を完了した旨を示すためにオペレーティング・システムを監視して、再割り当てが完了したかどうかを判断する。再割り当てが完了すると、オペレーティング・システムは、ＳＥ２１２に対してメッセージを送り、ＳＥ２１２は、代替構成設定を構成レジスタ２１８へロードする。代替構成設定のロードは、ＳＥ２１２が当該構成設定の選択のためにラッチ２１７内の値を設定することによって完了する。要素１は、ＭＰ２００から論理的に割り当て解除（ホット・リムーバル）される。要素１をＭＰ２００に再割り当て（ホット・プラグ接続）するためには、ＳＥ２１２は、オペレーティング・システムに対して要素１の導入を通知し、オペレーティング・システムは、接続された要素すべてにおけるタスク／作業負荷の再割り当ておよび再均衡化を行う。ＳＥ２１２は、元の構成設定を構成レジスタ２１８へロードする。
【００２０】
上述したように、ＳＥ２１２内に記憶されたファームウェアは、ＭＰのブートまたは起動時におけるＭＰ４００内の構成要素とのＳＥ２１２の対話の仕方を変更するために、周期的に更新されてもよい。ファームウェア更新に「破壊動作（ｄｅｓｔｒｕｃｔｉｖｅ  ｏｐｅｒａｔｉｏｎｓ）」が含まれる場合には、このようなファームウェア更新が頻繁に生じて、ＭＰの生産性に影響を与える場合がある。破壊動作とは、データ処理システム・ハードウェア上で実行されると当該ハードウェアをオフラインにする動作のことである。更新が破壊動作を含まない場合には、当該更新は、実行中のＭＰのハードウェアに対してただちに適用かつ作用できる。図１と共に上述したように、従来技術では、更新が破壊動作を含む場合には、ＭＰ全体がリブートされる必要があった。
【００２１】
本発明の好ましい一実施形態によれば、ファームウェア更新が少なくとも１つの破壊動作を含む場合には、そのような動作はＭＰ４００内の構成要素に対して非破壊で適用されてもよい。図５は、本発明の好ましい一実施形態に係る、各ＭＰ４００内のサービス要素とプロセッサとの間の関係を示すブロック図である。
【００２２】
一般的に、サービス要素（ＳＥ）２１２は、サービス要素制御プロトコル５０２を介してＭＰ４００内の各プロセッサ２０１および２０２と通信する。プロセッサ２０１および２０２は、プロセッサ相互接続バス・コントローラ５０４を使用して、相互接続ファブリック２０８を介して互いに通信する。また、プロセッサ２０１は、メモリ・バス５０６を介してメモリ４０４Ａと通信する。
【００２３】
本発明によれば、サービス要素のオペレーティング・システムおよびＳＥ２１２上で実行するアプリケーションは、第１および第２のファームウェア設定によって示すように、更新中のファームウェアである。本発明の好ましい一実施形態によれば、オペレーティング・システムがＭＰ４００上で実行している間に、ＳＥ２１２上に記憶されたファームウェアが更新されかつ新しいファームウェアが少なくとも１つの破壊動作を含む場合には、当該破壊動作は、ＭＰ４００をリブートすることなく適用されてもよい。例えば、破壊動作がプロセッサ２０１を対象にしている場合には、サービス要素２１２は、作業負荷をプロセッサ２０２に対して再割り当てし、代替構成設定を構成レジスタ２１８などの構成レジスタへロードし、プロセッサ２０１を割り当て解除（例えば、ホット・リムーバル）することによって、プロセッサ２０１を前述のホット・リムーバル処理を介して割り当て解除することになる。サービス要素２１２は、再割り当てされた作業負荷を処理するためにプロセッサ２０２が実行中のままであることを保証することになる。破壊動作が完了すると、サービス要素２１２は、前述のホット・プラグ手順を介してプロセッサ２０１を再割り当てすることになる。サービス要素２１２は、ＭＰ４００内の対象となるすべての装置／プロセッサに対して破壊動作を適用する。プロセッサ２０２を対象とする破壊動作がある場合には、サービス要素２１２は、作業負荷をプロセッサ２０１に対して再割り当てし、プロセッサ２０２をホット・リムーバルし、プロセッサ２０２を対象とする破壊動作を実行し、プロセッサ２０２をＭＰ４００に再割り当て（例えば、ホット・プラグ接続）することになる一方で、プロセッサ２０１は、破壊動作中に、再割り当てされたタスクを処理する。
【００２４】
図６は、本発明の好ましい一実施形態に係る、破壊的なファームウェア更新を非破壊で実施するための方法例を示す高レベルの論理フローチャートである。好ましくは、本方法は、少なくとも１つのプロセッサが常にアクティブのままであるように、ＭＰ全体（例えば、ＭＰ２００またはＭＰ４００）に対して繰り返し適用される。処理はステップ６００で開始し、ステップ６０２へ進み、ＭＰ４００はＭＰブート処理を開始する。ＭＰ４００内のＳＥ２１２は、第１のファームウェア設定を含み、ステップ６０６に示すように、第１の手法でＭＰ４００内の装置／プロセッサに対して作用する。処理はステップ６０８へ続き、ＭＰ４００はブート処理を完了する。処理はステップ６１０へ進み、ＭＰ４００内のＳＥ２１２は第１のファームウェア設定を第２のファームウェア設定に更新する。処理はステップ６１２へ続き、ＳＥ２１２は第２のファームウェア設定への更新が破壊動作を含むかどうかを判断する。前述のように、破壊動作がＭＰ４００内の装置／プロセッサに適用されると、それらの装置／プロセッサはオフラインにされなければならない。第２のファームウェア設定への更新に破壊動作がない場合には、処理はステップ６２２へ続き、ＳＥ２１２は、ＭＰ４００内の影響を受ける装置／プロセッサに対して非破壊動作を実行する。その後、処理はステップ６２０へ進む。
【００２５】
しかしながら、第２のファームウェア設定への更新に破壊動作があるとＳＥ２１２が判断する場合には、処理はステップ６１４へ続き、ＳＥ２１２は破壊動作によって影響を受ける装置／プロセッサを図２〜図４と共に説明した「ホット・リムーバル」手順を介して割り当て解除する。
【００２６】
影響を受ける装置／プロセッサがＭＰ４００から割り当て解除されると、ＳＥ２１２は、ステップ６１６に示すように、装置／プロセッサをリブートして、これら装置／プロセッサに対して破壊処理を実行することになる。処理はステップ６１８へ続き、ＳＥ２１２は影響を受ける装置／プロセッサを図２〜図４と共に説明した「ホット・プラグ」方法の詳細に従って再割り当てする。
【００２７】
処理はステップ６２０へ進み、ＳＥ２１２はファームウェアＢへのファームウェア更新内にさらなる動作があるかどうかを判断する。実行すべき残りの動作がある場合には、処理はステップ６１２へ戻り、繰り返し継続する。実行すべき動作がこれ以上ない場合には、処理はステップ６２２へ進み、処理は終了する。本発明の好ましい一実施形態によれば、破壊動作の対象となる装置／プロセッサの割り当て解除が生じている間は、少なくとも１つのプロセッサがアクティブのままである。破壊動作の対象となる装置／プロセッサの先の割り当て解除中にアクティブのままのプロセッサは、ファームウェア更新を適用するために、後で割り当て解除されてもよい。
【００２８】
また、本発明の好ましい一実施形態は、破壊動作の適用中の割り当て解除の範囲を考慮する。例えば、破壊動作およびプラットフォーム構成の詳細は、１つ以上のプロセッサの割り当て解除を要求する場合がある。本発明の他の実施形態において、ＳＥ２１２は、できるだけ少ない数のプロセッサを割り当て解除する。これにより、破壊動作が割り当て解除されたプロセッサに対して実行される場合に、ＭＰの残りのものに対する性能上の影響を最小限にする。上述のように、破壊動作の対象となる装置／プロセッサの先の割り当て解除中にアクティブのままのプロセッサは、ファームウェア更新を適用するために、後で割り当て解除されてもよい。破壊動作がプロセッサの代わりに特定用途向け集積回路（ＡＳＩＣ）（例えば、メモリ・コントローラ、Ｌ３チップ、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）など）を対象としている場合には、ＳＥ２１２は、ＡＳＩＣに関連するプロセッサも割り当て解除することになる。前述のように、割り当て解除、動作、および再割り当ての手順は、ファームウェア更新が全ＭＰ内のすべての必要なハードウェアに対して適用されるまで繰り返される。
【００２９】
上述のように、本発明は、破壊的なファームウェア更新を非破壊で適用するためのシステム、方法、およびコンピュータ使用可能な媒体を含む。本発明の好ましい一実施形態によれば、マルチプロセッサ・データ処理システムの動作中に、サービス・プロセッサは、マルチプロセッサ・データ処理システム内のファームウェアを第１のファームウェア設定から第２のファームウェア設定に更新する。サービス・プロセッサは、第２のファームウェア設定が第１のハードウェア装置を対象とする少なくとも１つの破壊動作を含む場合に、第１のハードウェア装置を割り当て解除し、破壊動作を第１のハードウェア装置に対して実行し、破壊動作が完了すると、第１のハードウェア装置をマルチプロセッサ・データ処理システムに対して再割り当てすることによって、第２のファームウェア設定をマルチプロセッサ・データ処理システム内のハードウェアに対して繰り返し適用する。
【００３０】
本発明の少なくともいくつかの局面は、代わりに、プログラム製品を含むコンピュータ使用可能な媒体において実施されてもよいことが理解されるべきである。本発明の機能を規定するプログラムは、様々な信号搬送媒体を介して、データ記憶システムまたはコンピュータ・システムへ配信可能である。様々な信号搬送媒体は、書き込み可能な記憶媒体（例えば、ＣＤ‐ＲＯＭ）、書き込み可能な記憶媒体（例えば、ハード・ディスク・ドライブ、読み出し／書き込みＣＤ‐ＲＯＭ、光学媒体）、ランダム・アクセス・メモリ（ＲＡＭ）だけではないがそのようなシステム・メモリ、ならびにイーサネット（登録商標）、インターネット、無線ネットワークおよび同様のネットワーク・システムを含むコンピュータおよび電話ネットワークなどの通信媒体を含むが、それらに限定されない。したがって、本発明の方法機能を導くコンピュータ読み出し可能な命令を搬送または符号化する場合に、そのような信号搬送媒体は本発明の代替実施形態を表すものであることが理解されるべきである。さらに、本発明は、ハードウェア、ソフトウェア、もしくは本明細書において説明するようなまたはその均等物としてのソフトウェアおよびハードウェアの組み合わせという形式の手段を有するシステムによって実施されてもよいことが理解される。
【００３１】
ソフトウェアの導入
上述のように、一実施形態において、本発明によって説明される処理は、サービス・プロバイダのサーバ４０２によって実行される。代わりに、本明細書において説明される方法、特に図６に図示および説明されている方法は、処理ソフトウェアとして、サービス・プロバイダのサーバ４０２からクライアントのコンピュータ（例えば、ＭＰ２００または４００）へ導入することができる。さらにより特定的には、説明する方法についての処理ソフトウェアは、他のサービス・プロバイダ・サーバ（図示せず）によってサービス・プロバイダのサーバ４０２へ導入されてもよい。
【００３２】
図７および図８を参照すると、ステップ７００は処理ソフトウェアの導入を開始する。まず、処理ソフトウェアが実行される場合に、サーバまたは複数のサーバ上に常駐することになるプログラムがあるかどうかを判断する（クエリ・ブロック７０２）。そのようなプログラムがある場合には、実行可能なものを含むであろうサーバを識別する（ブロック７０４）。サーバまたは複数のサーバのための処理ソフトウェアは、ファイル転送プロトコル（ＦＴＰ）または何らかの他のプロトコルを介してか、もしくは共用ファイル・システムの使用を通じてコピーすることによって、サーバの記憶装置へ直接転送される（ブロック７０６）。その後、処理ソフトウェアは、サーバ上にインストールされる（ブロック７０８）。
【００３３】
次に、処理ソフトウェアがサーバまたは複数のサーバ上のソフトウェアに対してユーザをアクセスさせることによって導入されるものかどうかについての判断が行われる（クエリ・ブロック７１０）。ユーザがサーバ上の処理ソフトウェアに対してアクセスすべきである場合には、処理ソフトウェアを記憶することになるサーバ・アドレスが識別される（ブロック７１２）。
【００３４】
処理ソフトウェアを記憶するために、プロキシ・サーバを構築すべきかどうかについての判断が行われる（クエリ・ブロック７１４）。プロキシ・サーバとは、ウェブ・ブラウザなどのクライアント・アプリケーションと実際のサーバとの間に位置するサーバである。プロキシ・サーバは、実際のサーバに対するすべての要求を傍受して、要求を自身で満たすことができるかどうかを確認する。満たすことができなければ、当該要求を実際のサーバへ送る。プロキシ・サーバの２つの主な利点は、性能を向上することと、要求をフィルタリングすることである。プロキシ・サーバが必要な場合には、当該プロキシ・サーバがインストールされる（ブロック７１６）。処理ソフトウェアは、ＦＴＰなどのプロトコルを介してか、またはソース・ファイルからサーバ・ファイルへファイル共用によって直接コピーされることによって、サーバへ送信される（ブロック７１８）。他の実施形態においては、処理ソフトウェアを含んだサーバへトランザクションを送信し、サーバに当該トランザクションを処理させてから、処理ソフトウェアをサーバのファイル・システムへコピーしてもよい。処理ソフトウェアがサーバに記憶されると、ユーザは、自身のクライアント・コンピュータを介して、サーバ上の処理ソフトウェアにアクセスして、自身のクライアント・コンピュータのファイル・システムにコピーする（ブロック７２０）。他の実施形態においては、サーバに処理ソフトウェアを各クライアントへ自動的にコピーさせてから、処理ソフトウェア用のインストール・プログラムを各クライアント・コンピュータにおいて実行する。ユーザは、処理ソフトウェアを自身のクライアント・コンピュータ上にインストールするプログラムを実行してから（ブロック７２２）、処理を終了する（終止ブロック７２４）。
【００３５】
クエリ・ステップ７２６において、処理ソフトウェアは電子メールを介してユーザに対して処理ソフトウェアを送ることによって導入されるべきものであるかどうかについての判断がなされる。処理ソフトウェアが導入されることになるユーザの組は、ユーザのクライアント・コンピュータのアドレスと共に識別される（ブロック７２８）。処理ソフトウェアは、電子メールを介してユーザのクライアント・コンピュータへそれぞれ送信される（ブロック７３０）。その後、ユーザは電子メールを受信し（ブロック７３２）、電子メールから処理ソフトウェアを分離して、自身のクライアント・コンピュータ上のディレクトリへ送る（ブロック７３４）。ユーザは、処理ソフトウェアを自身のクライアント・コンピュータ上にインストールするプログラムを実行してから（ブロック７２２）、処理を終了する（終止ブロック７２４）。
【００３６】
最後に、処理ソフトウェアが自身のクライアント・コンピュータ上のユーザ・ディレクトリへ直接送信されることになるかどうかについての判断がなされる（クエリ・ブロック７３６）。送信される場合には、ユーザ・ディレクトリが識別される（ブロック７３８）。処理ソフトウェアは、ユーザのクライアント・コンピュータ・ディレクトリへ直接転送される（ブロック７４０）。これは、ファイル・システム・ディレクトリを共用してから送信者のファイル・システムから受信ユーザのファイル・システムへコピーするか、またはファイル転送プロトコル（ＦＴＰ）などの転送プロトコルを使用するなど、いくつかのやり方で行うことができるが、これらに限定されない。ユーザは、処理ソフトウェアのインストールに備えて、自身のクライアント・ファイル・システム上のディレクトリにアクセスする（ブロック７４２）。ユーザは、処理ソフトウェアを自身のクライアント・コンピュータ上にインストールするプログラムを実行してから（ブロック７２２）、処理を終了する（終止ブロック７２４）。
【００３７】
ＶＰＮの導入
本ソフトウェアは、第三者ＶＰＮサービスが安全な導入手段として提供されるか、またはＶＰＮが特定の導入について必要に応じてオンデマンドで構築されるといったサービスの一部として、第三者に対して導入することができる。
【００３８】
仮想私設ネットワーク（ＶＰＮ）は、それを使用しなければ安全でないかまたは信頼性のないネットワークを介した接続を安全にするために使用可能な技術の組み合わせである。ＶＰＮは、安全性を向上し、動作コストを削減する。ＶＰＮは、通常、インターネットなどの公衆ネットワークを利用して、遠隔サイトまたはユーザ間を接続する。専用回線などの専用の現実世界の接続を使用する代わりに、ＶＰＮは、企業のプライベート・ネットワークから遠隔サイトまたは従業員へルーティングされた「仮想の」接続を使用する。処理ソフトウェアの配信または実行を特に目的としたＶＰＮを構築することによって（すなわち、ソフトウェアはどこか別の場所に常駐している）、ＶＰＮを介したソフトウェアに対するアクセスがサービスとして提供可能である。なお、ＶＰＮの持続時間は、支払い金額に従って、所定の期間または所定の導入回数に限定されている。
【００３９】
処理ソフトウェアは、遠隔アクセスまたはサイト間ＶＰＮのいずれかによって導入、アクセス、および実行されてもよい。遠隔アクセスＶＰＮを使用する場合には、処理ソフトウェアは、第３者サービス・プロバイダを通じて、企業のプライベート・ネットワークと遠隔ユーザとの間の安全な暗号化された接続を介して導入、アクセス、および実行される。企業サービス・プロバイダ（ＥＳＰ）は、ネットワーク・アクセス・サーバ（ＮＡＳ）を設定し、遠隔ユーザに対して、ユーザのコンピュータのためのデスクトップ・クライアント・ソフトウェアを提供する。そして、在宅勤務者は、無料電話番号をダイアルするか、あるいは、ケーブルまたはＤＳＬモデムを介して直接ＮＡＳにつながって、自身のＶＰＮクライアント・ソフトウェアを使用して企業ネットワークにアクセスして、処理ソフトウェアをアクセス、ダウンロード、および実行する。
【００４０】
サイト間ＶＰＮを使用する場合には、処理ソフトウェアは、インターネットなどの公衆ネットワーク上で企業の複数の固定サイトを接続するために使用される専用設備および大規模な暗号化を使用することによって、導入、アクセス、および実行される。
【００４１】
処理ソフトウェアは、パケット全体を他のパケット内に配置してネットワーク上で送信する処理であるトンネリングを介して、ＶＰＮ上を搬送される。外部のパケットのプロトコルは、ネットワークと、パケットがネットワークを出入りするトンネル・インターフェースと称される両地点とによって把握される。
【００４２】
ソフトウェアの統合化
本明細書において説明する処理を実施するためのコードからなる処理ソフトウェアは、共存すべき処理ソフトウェアに対してアプリケーション、オペレーティング・システム、およびネットワーク・オペレーティング・システム・ソフトウェアを提供して、当該処理ソフトウェアが機能することになる環境においてクライアントおよびサーバに対して当該処理ソフトウェアをインストールすることによって、クライアント、サーバ、およびネットワーク環境に統合化されてもよい。
【００４３】
最初のステップは、処理ソフトウェアによって要求されるか、または処理ソフトウェアと共に動作する処理ソフトウェアが導入されることになるネットワーク・オペレーティング・システムを含むクライアントおよびサーバ上の任意のソフトウェアを識別することである。これには、ネットワーキング機能を追加することによって基本のオペレーティング・システムを拡張するソフトウェアであるネットワーク・オペレーティング・システムが含まれる。
【００４４】
次に、ソフトウェア・アプリケーションおよびバージョン番号が識別されて、処理ソフトウェアと共に動作することをテストされたソフトウェア・アプリケーションおよびバージョン番号のリストと照合されることになる。存在しないか、または正しいバージョンと一致しないソフトウェア・アプリケーションは、正しいバージョン番号で更新されることになる。パラメータ・リストが処理ソフトウェアによって必要とされるパラメータ・リストと一致することを確実にするために、処理ソフトウェアからソフトウェア・アプリケーションへパラメータを渡すプログラム命令がチェックされることになる。逆に、パラメータが処理ソフトウェアによって必要とされるパラメータと一致することを確実にするために、ソフトウェア・アプリケーションによって処理ソフトウェアへ渡されたパラメータがチェックされることになる。ネットワーク・オペレーティング・システムを含むクライアントおよびサーバのオペレーティング・システムが識別されて、処理ソフトウェアと共に動作することをテストされたオペレーティング・システム、バージョン番号、およびネットワーク・ソフトウェアのリストと照合されることになる。オペレーティング・システムおよびバージョン番号のリストと一致しないオペレーティング・システム、バージョン番号、およびネットワーク・ソフトウェアは、クライアントおよびサーバ上で必要なレベルに更新されることになる。
【００４５】
処理ソフトウェアが導入されるべきソフトウェアが、処理ソフトウェアと共に動作することをテストされた正しいバージョン・レベルにあることを確認した後に、処理ソフトウェアをクライアントおよびサーバ上にインストールすることによって、統合化は完了する。
【００４６】
オンデマンド
処理ソフトウェアは共用されて、柔軟性のある自動的なやり方で複数の顧客に対して同時にサービスを提供する。処理ソフトウェアは、ほとんどカスタマイズを必要とせずに標準化され、拡張性があり（ｓｃａｌａｂｌｅ）、現金払いモデルにおけるオンデマンド能力を提供する。
【００４７】
処理ソフトウェアは、１つ以上のサーバからアクセス可能な共用ファイル・システム上に記憶されてもよい。処理ソフトウェアは、アクセスされたサーバ上でＣＰＵ単位を使用するデータおよびサーバ処理要求を含むトランザクションを介して実行される。ＣＰＵ単位とは、サーバの中央プロセッサにおける秒、分、および時などの時間単位である。加えて、アクセスされたサーバは、他のサーバに対してＣＰＵ単位を必要とする要求を出してもよい。ＣＰＵ単位は、唯一の使用測定値を表す一例である。他の使用測定値には、ネットワーク帯域幅、メモリ使用率、記憶装置の使用率、パケット転送、完全トランザクションなどが含まれるが、これらに限定されない。
【００４８】
複数の顧客が同一の処理ソフトウェア・アプリケーションを使用する場合には、それらのトランザクションは、固有の顧客および当該顧客に対するサービスの種類を識別するトランザクションに含まれるパラメータによって区別される。ＣＰＵ単位および各顧客に対するサービスのために使用される他の使用測定値のすべてが記録される。ある任意のサーバに対するトランザクションの数が当該サーバの性能に影響を及ぼし始める数に達した場合には、他のサーバがアクセスされて、容量を増加して作業負荷を分担する。同様に、ネットワーク帯域幅、メモリ使用率、記憶装置使用率などの他の使用測定値が性能に影響を与えるような限度に近づくと、さらなるネットワーク帯域幅、メモリ使用率、記憶装置などが追加されて、作業負荷を分担する。
【００４９】
各サービスおよび顧客について使用される使用測定値は、顧客毎かつ処理ソフトウェアの分担実行を提供するサーバのネットワーク内のどこかで処理されたサービス毎に、使用測定値を合計する収集サーバへ送信される。合計された使用測定値は、周期的に単位コストが乗算されて、その結果生じた総計処理ソフトウェア・アプリケーション・サービス・コストが、代わりに顧客に送信されるか、または顧客によってアクセスされたウェブ・サイト上に示されるか、あるいはその両方が行われ、その後、顧客は、サービス・プロバイダに対して支払いを送金する。
【００５０】
他の実施形態において、サービス・プロバイダは、銀行または金融機関における顧客の口座からの直接支払いを要求する。
【００５１】
他の実施形態において、サービス・プロバイダが処理ソフトウェア・アプリケーションを使用する顧客の顧客でもある場合には、サービス・プロバイダに対する返済されるべき支払いは、サービス・プロバイダが支払う義務のある支払いと調整されて、支払いの振込みが最小限となるようにする。
【００５２】
今度は図９および図１０を参照すると、開始ブロック８０２がオンデマンド処理を開始する。固有の顧客識別、要求されたサービスの種類、およびサービスの種類をさらに特定する任意のサービス・パラメータを含むトランザクションが作成される（ブロック８０４）。その後、トランザクションは、メイン・サーバへ送信される（ブロック８０６）。オンデマンド環境において、最初はメイン・サーバが唯一のサーバである場合があり、容量が消費されるにつれて、他のサーバがオンデマンド環境に追加される。
【００５３】
オンデマンド環境におけるサーバの中央処理装置（ＣＰＵ）の容量について問い合わせが行われる（ブロック８０８）。トランザクションのＣＰＵ要件が推定され、オンデマンド環境におけるサーバの利用可能なＣＰＵ容量がトランザクションのＣＰＵ要件と比較されて、トランザクションを処理するのに充分なＣＰＵ容量がサーバのうちのどれかで利用可能かどうかを確認する（クエリ・ブロック８１０）。利用可能なサーバのＣＰＵ容量が充分にない場合には、トランザクションを処理するために追加のサーバのＣＰＵ容量が割り当てられる（ブロック８１２）。利用可能なＣＰＵ容量が既に充分にあった場合には、トランザクションは選択されたサーバへ送信される（ブロック８１４）。
【００５４】
トランザクションを実行する前に、残りのオンデマンド環境について、トランザクションを処理するために利用可能な容量を当該環境が充分に有しているかどうかについて確認がなされる。この環境の容量は、ネットワーク帯域幅、プロセッサ・メモリ、記憶装置などのようなものからなるが、それに限定されない（ブロック８１６）。利用可能な容量が充分にない場合は、オンデマンド環境に容量が追加される（ブロック８１８）。次に、トランザクションを処理するのに必要なソフトウェアがアクセスされ、メモリにロードされ、その後、トランザクションが実行される（ブロック８２０）。
【００５５】
使用測定値が記録される（ブロック８２２）。使用測定値は、トランザクションを処理するために使用されるオンデマンド環境内の機能部分からなる。ネットワーク帯域幅、プロセッサ・メモリ、記憶装置、ＣＰＵ周期のような機能の使用が記録されるが、それに限定されない。使用測定値は合計されて、単位コストが乗算されて、その後、要求元の顧客に対する請求として記録される（ブロック８２４）。オンデマンド・コストをウェブ・サイトに公開するように顧客が要求していた場合には（クエリ・ブロック８２６）、オンデマンド・コストを公開する（ブロック８２８）。オンデマンド・コストを電子メールで顧客のアドレスに送信するように顧客が要求していた場合には（クエリ・ブロック８３０）、このコストは顧客に送信される（ブロック８３２）。オンデマンド・コストを顧客の口座から直接支払うように顧客が要求していた場合には（クエリ・ブロック８３４）、支払いは顧客の口座から直接受領される（ブロック８３６）。その後、オンデマンド処理は終止ブロック８３８で終了する。
【００５６】
本発明を好ましい一実施形態を参照して特に図示および説明してきたが、形式および詳細に関する様々な変更を本発明の精神および範囲を逸脱することなく行ってもよいことを、当業者は理解するだろう。さらに、明細書および添付の請求項において使用されているように、「コンピュータ」または「システム」または「コンピュータ・システム」または「コンピュータ装置」は、パーソナル・コンピュータ、サーバ、ワークステーション、ネットワークコンピュータ、メインフレーム・コンピュータ、ルータ、スイッチ、携帯情報端末（ＰＤＡ）、電話、ならびにデータの処理、送信、受信、取り込みまたは記憶あるいはそのすべてを行うことが可能な任意の他のシステムを含む任意のデータ処理システムを含むが、それらに限定されない。
【図面の簡単な説明】
【００５７】
【図１】従来技術に係るマルチプロセッサ・データ処理システム（ＭＰ）におけるファームウェア更新の処理を示す高レベルの論理フローチャートである。
【図２】本発明の一実施形態に係る、様々なホット・プラグ機能を提供するために使用されるファブリック制御論理と共に設計されたＭＰ（サーバ）のブロック図である。
【図３】本発明の一実施形態に係る、ホット・プラグ接続のために構成された図２の２つのサーバを含むＭＰのブロック図である。
【図４】本発明の好ましい一実施形態に係る、すべての主要構成要素のホット・プラグ拡張を可能にするＭＰのブロック図である。
【図５】本発明の好ましい一実施形態に係る、ＭＰにおけるサービス要素とプロセッサの集合との間の関係を示すブロック図である。
【図６】本発明の好ましい一実施形態に係る、破壊的なファームウェア更新を非破壊で適用するための方法例を示す高レベルの論理フローチャートである。
【図７】図６に図示および説明されるステップを実行することが可能なソフトウェアを導入するのに取られるステップのフローチャートを示す。
【図８】図６に図示および説明されるステップを実行することが可能なソフトウェアを導入するのに行われるステップのフローチャートを示す。
【図９】オンデマンド・サービス・プロバイダを使用して図６に図示および説明されるステップを実行するために行われるステップのフローチャートを示す。
【図１０】オンデマンド・サービス・プロバイダを使用して図６に図示および説明されるステップを実行するために取られるステップのフローチャートを示す。
【符号の説明】
【００５８】
２００  ＭＰ
２０１，２０２  ＣＰＵ
２０４  メモリ
２０６  Ｉ／Ｏコントローラ／装置
２０７  ルーティング論理
２０８  ファブリック
２０９  構成設定論理
２１２  サービス要素
２１４  ＣＯＮＦＩＧ  Ａ
２１６  ＣＯＮＦＩＧ  Ｂ
２１７  ラッチ
２１８  モード設定レジスタ
２１０  パーティション
２２０  ホット・プラグ／ホット・リムーバル・コネクタ
【図１】
2008059585.tif 000003
【図２】
2008059585.tif 000004
【図３】
2008059585.tif 000005
【図４】
2008059585.tif 000006
【図５】
2008059585.tif 000007
【図６】
2008059585.tif 000008
【図７】
2008059585.tif 000009
【図８】
2008059585.tif 000010
【図９】
2008059585.tif 000011
【図１０】
2008059585.tif 000012