(57)【要約】【課題】ユーザがコンピュータ・システムの更新を、初期化またはコンフィギュレータ・ソフトウェア・ユーティリティまたはプログラムと対話する必要なく、行えるようにするシステムおよび方法を提供すること。【解決手段】本発明によりシステム提供者等は、ユーザへの提供時に、システムを新しく追加／削除されたハードウェアに自動的に適応するように構成するインストレーション・ファイルを作成できるようになる。システムの基礎モデル（ＢＭ）および新モデル（ＮＭ）が維持される。ＮＭは、１つ以上の異なる構成を含む。提供者は、ＢＭと共に使用する回復／インストール・イメージの作成を終える。コンフィギュレータ・プログラム（ＣＰ）を含むＯＳが、ＢＭ、ＮＭ両システムのどちらでも動作する。デバイス・ドライバなど、ＮＭの変更したハードウェア構成とともに使用すべきソフトウェア（Ｓ／Ｗ）を、新しいモデルのシステム上にインストールし、そのＣＰを用いて初期化する。ＮＭ用のファイルの作成を、ＢＭのシステムに関する不可欠製品データ（ＶＰＤ）を用いて行う。
2006518504.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムを自動的に構成する方法であって、
基礎データ処理システムのための回復ファイルを作成するステップと、
前記回復ファイルを、前記基礎データ処理システムと異なる少なくとも１つの装置を有する修正データ処理システム上にインストールするステップと、
構成ファイルを、前記修正データ処理システム上に含まれるソフトウェアを用いて生成するステップと、
前記構成ファイルを、前記基礎データ処理システム上にインストールし、前記構成ファイルを自動的に呼び出すためのコマンドを追加するステップと、
前記少なくとも１つの異なる装置が、前記構成ファイルを自動的に呼び出すことによって構成されるように、前記構成ファイルを第２の修正データ処理システム上にインストールするステップと
を有する方法。
【請求項２】
前記構成ファイルが、前記基礎データ処理システムについての基礎的製品情報を格納する、請求項１に記載の方法。
【請求項３】
前記構成ファイルを前記第２の修正データ処理システム上にインストールする前記ステップが、
前記第２の修正データ処理システムに関連付けられる第２の製品情報を読み取るステップと、
前記基礎的製品情報を、前記第２の製品情報と比較するステップと、
前記基礎的製品情報と前記第２の製品情報とが一致しないときに、前記構成ファイルを自動的に呼び出すステップと
を有する、請求項２に記載の方法。
【請求項４】
前記自動的に呼び出すステップが、前記少なくとも１つの異なる装置のインストールがされた後、初めて前記第２の修正データ処理システムが初期化中であるときに、前記構成ファイルを自動的に呼び出すステップ、をさらに有する、請求項３に記載の方法。
【請求項５】
前記基礎的製品情報が前記第２の製品情報と一致するときに、前記第２の修正データ処理システムとのユーザ対話を可能にするステップ、をさらに有する、請求項３に記載の方法。
【請求項６】
前記少なくとも１つの異なる装置のインストールがされた後の初めての時に引き続いて、前記第２の修正データ処理システムが初期化中であるときに、前記第２の修正データ処理システムとのユーザの対話を可能にするステップ、をさらに有する、請求項５に記載の方法。
【請求項７】
データ処理システムを自動的に構成するシステムであって、
基礎データ処理システムのための回復ファイルを作成する手段と、
前記回復ファイルを、前記基礎データ処理システムと異なる少なくとも１つの装置を有する修正データ処理システム上にインストールする手段と、
構成ファイルを、前記修正データ処理システム上に含まれるソフトウェアを用いて生成する手段と、
前記構成ファイルを、前記基礎データ処理システム上にインストールし、前記構成ファイルを自動的に呼び出すためのコマンドを追加する手段と、
前記少なくとも１つの異なる装置が、前記構成ファイルを自動的に呼び出すことによって構成されるように、前記構成ファイルを、第２の修正データ処理システム上にインストールする手段と
を有するシステム。
【請求項８】
前記構成ファイルが、前記基礎データ処理システムについての基礎的製品情報を格納する、請求項７に記載のシステム。
【請求項９】
前記構成ファイルを前記第２の修正データ処理システム上にインストールする前記手段が、
前記第２の装置データ処理システムに関連付けられる第２の製品情報を読み取る手段と、
前記基礎的製品情報を、前記第２の製品情報と比較する手段と、
前記基礎的製品情報と前記第２の製品情報とが一致しないときに、前記構成ファイルを自動的に呼び出す手段と
を有する、請求項８に記載のシステム。
【請求項１０】
前記自動的に呼び出す手段が、前記少なくとも１つの異なる装置のインストールがされた後初めて、前記第２の修正データ処理システムが初期化中であるときに、前記構成ファイルを自動的に呼び出す手段、をさらに有する、請求項９に記載のシステム。
【請求項１１】
前記基礎的製品情報が前記第２の製品情報と一致するときに、前記第２の修正データ処理システムとのユーザの対話を可能にする手段、をさらに有する、請求項９に記載のシステム。
【請求項１２】
前記少なくとも１つの異なる装置のインストールがされた後の初めてに引き続いて、前記第２の修正データ処理システムが初期化中であるときに、前記第２の修正データ処理システムとのユーザの対話を可能にする手段、をさらに有する、請求項１１に記載のシステム。
【請求項１３】
請求項１ないし６のいずれか一項に記載の方法に従ってデータ処理システムを自動的に構成するプログラム命令を含む、コンピュータ可読媒体上に格納されるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク器械、システム制御コンソールなどのクローズド・システムのハードウェアおよびソフトウェアの構成をアップグレードすることに関する。より詳細には、本発明により、システム・ブート中に、オペレーティング・システム（Operating System、ＯＳ）により、新しいハードウェア・コンポーネントが存在すること、またはそれまでに認識されたハードウェア・コンポーネントが存在しないことが検出されたときのユーザの対話を不要にするための技法が提供される。
【背景技術】
【０００２】
コンピュータ技術の絶え間ない進歩とともに、システムは、ますます大規模で複雑になりつつある。たとえば、多くのサーバ型コンピュータが結合されて、何千ではないとしても、何百もの相互接続されたコンピュータ・プロセッサを含むことのできるマルチ・ノード・システムが形成されつつある。こうしたプロセッサは、多くの論理区画へと編成することができ、それらは複数のハードウェア管理コンソールにより制御されてマルチ・ノード・システムの様々な機能の制御、監視などが行われることになる。こうしたコンピュータ・システムは、極度に大規模な資源および購入者による経済的なコミットの好例である。コストの高さから、購入者は、そのシステム全体および管理コンソールのアップグレードを、この技術が変化するのと同じ速さでは行えまい。しかし、周辺装置およびソフトウェアを定期的に既存のコンピュータ・システムへと追加することは、その機能を、グラフィックスおよびビデオの処理、通信、ネットワーキング、ストレージなどの様々な領域で高めるために行われることになる。
【０００３】
さらに、他のいわゆる「クローズド」（closed）コンピュータ・システムが存在し、これらも今日のコンピュータに突き動かされる世界でより優勢となりつつある。「クローズド」システムは、通常、固定したハードウェアおよびソフトウェアの構成を有するシステムである。たとえば、こうしたシステムとしては、ＰＤＡ（PersonalDigital Assistants）、携帯電話、セット・トップ・ボックス、自動車内に見られるような専用コントローラなどがありうる。さらに、こうしたタイプのシステムは、ネットワーク器械を含み、これは、特定のタイプのネットワーキングの応用に本質的に専用のコンピュータ・システムであり、アップデートするようには利用可能でない。そのような他の「クローズド」システムは、マルチプロセッシングまたはクラスタリング環境でともに結合される様々なコンピュータ・システムの制御に使用するハードウェア管理コンソールを含んでいる。また、ハードウェア管理コンソールは、しばしば、データ処理システム内の様々な区画の管理にも使用される。区画化とは、単一のシステム内にあるハードウェア資源（プロセッサ、メモリ、入出力アダプタ、通信アダプタなど）をそのシステム上で動作する複数のオペレーティング・システムのインスタンスへと割り当てることを指す。区画化は、物理的に、スイッチ、ルータなどによって、または論理的に、様々な命令およびデータが指定されたオペレーティング・システムのインスタンスだけに利用可能になるようにするアドレス変換技法を使用して、行うことができる。同様に、ハードウェア管理装置は、本発明の企図するまた別のタイプの「クローズド・システム」である。ハードウェア管理装置を使用すると、管理中のシステムの電源投入および電源断を行って構成要素が正しいシーケンスで初期化されるようにすることなど、コンピュータ・システム内に存在する様々な機能の制御または監視あるいはその両方が行われることになる。
【０００４】
特定のタイプのハードウェアおよびソフトウェアとともに動作するように構成されているデータ処理機器は、クローズド・システムと考えることができる。すべてではなくとも、ほとんどのクローズド・システムは、何らかのタイプの入出力装置を含み、これにより、ソフトウェアを更新することができるようになる。たとえば、ＰＤＡは、デスクトップＰＣへの接続を提供する同期ポートを有することができる。携帯電話は、無線接続を通してアクセスすることができ、コントローラは、通常、何らかのタイプの通信ポートを外部データへのアクセスのために含む。さらに、ハードウェア管理コンソールは、ＣＤ−ＲＯＭまたはディスケット・ドライブ、ならびに通信ポートなどの入出力装置を含むことができる。したがって、システムは、通常、その特定のソフトウェア構成に基づいて「クローズド」と考えられ、ハードウェア構成要素の追加およびそれに対応するデバイス・ドライバの提供（または企図）を行わない。
【０００５】
しかし、すべてのタイプのコンピュータと同様、しばしば、「クローズド」システムを新しいハードウェアおよびソフトウェアの構成要素で更新することが望ましい。この場合、各コンピュータ・システム・モデルに対する回復／インストール・イメージを作成しなければならない。回復／インストール・イメージは、メーカが、ソフトウェアを特定のタイプのコンピュータ上にプリロードするのに使用する。また、回復／インストール・イメージは、ハード・ドライブなどのマシンの主要な構成要素が万一故障した場合に、ユーザが、そのソフトウェアを再インストールするのにも使用することになる。マシン・モデルごとに別々の回復／インストール・イメージをもつことは、高価な提案であり、同じタイプのシステムの異なるモデルは、それぞれ、ソフトウェアの異なる基本セットを有するであろうから、これは、保守の問題を提示する。
【０００６】
さらに、多くのオペレーティング・システムでは、非対話的なハードウェア検出機能を含んではいるが、ユーザがログインし様々なコマンドを動作させてシステム・ソフトウェアのクリーン・アップを行うことを、新しいハードウェアが追加される、または診断プログラムを動作させる必要があるときなどに、要求している。このタイプの解決策は、ハードウェア管理コンソールを含めて、多くのコンピュータ・アプライアンスにとっては、これらがクローズド・システムであるために、実際的ではないことが理解されよう。
【０００７】
本発明などのシステムに対する必要を示す一例が現れるのは、新しいハードウェア構成要素がリリースされ、システム更新が望まれるときである。それまでのハードウェアに対して作成したのと同じイメージをインストールに対して使用した場合、オペレーティング・システム（ＡＩＸ、Ｌｉｎｕｘ）は、ビデオ・カードやイーサネット（Ｒ）・カードなどの新しい（または削除された）ハードウェアを検出することになる。通常、初期化プログラムが、システム・スタートアップ（ブート）中に呼び出される。この初期化プログラムは、ＧＵＩ（グラフィカル・ユーザ・インターフェース）によるユーザ対話がない場合には、普通、３０秒などのあらかじめ設定した時間後にタイム・アウトすることになる。ＧＵＩは、普通、ユーザ・フレンドリなソフトウェア・アプリケーションであり、これにより、ユーザは、システムとのやり取りを、様々な表示されているアイコンから選択しまたは定義されたフィールドに直観的な単語のコマンドをタイプすることによって行えるようになり、実際のシステムのコマンドを覚えておき、ＤＯＳでのC:\プロンプトなどのコマンド・プロンプトのところに入力する必要がなくなる。
【０００８】
従来のシステムでは、初期化プログラムは、ユーザがシステムと対話しない場合、３０秒後にタイム・アウトする。変更中のハードウェアが、ディスプレイ・モニタを制御するグラフィックス・アダプタまたはビデオ・アダプタ・カードであるときには、顕著な問題が存在するであろうことが理解できる。より具体的には、新しいディスプレイ・アダプタ・カードをインストールするとき、ディスプレイ・モニタは、システムを新しいデバイス・ドライバで初期化するまで機能しないことになるが、これは、初期化プログラムを動作させるまで起こり得ず、その初期化プログラムでは、ユーザからの入力がモニタ上に表示されるＧＵＩを介して要求するのである。さらに、この状況は、初期化プログラムからのＧＵＩが、通信アダプタ、拡張メモリなどの新しくインストールした装置からの入力を待っているときにも起こりうるが、その装置は、インストール中の適当なソフトウェアがなければ応答することができず、そのソフトウェアは、初期化プログラムに対するユーザ入力に依存してしまうのである。
【０００９】
したがって、クローズド・システムをユーザ対話なしに更新することをサポートする技法が必要とされていることがわかる。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従来技術とは対照的に、本発明では、ユーザがコンピュータ・システムの更新を初期化プログラムやコンフィギュレータ・ソフトウェア・ユーティリティなどと対話する必要なく、行えるようにする機構が提供される。
【課題を解決するための手段】
【００１１】
大まかに述べると、本発明により、メーカまたはサービス提供者は、ユーザへの提供時に、システムを新しく追加／削除されたハードウェアに自動的に適応するように構成することになるインストレーション・ファイルを作成できるようになる。
【００１２】
したがって、第１の態様によれば、本発明により、データ処理システムを自動的に構成する方法であって、基礎データ処理システムに関する回復ファイルを作成するステップと、前記回復ファイルを、前記基礎データ処理システムと異なる少なくとも１つの装置を有する修正データ処理システム上にインストールするステップと、構成ファイルを、前記修正データ処理システム上に含まれるソフトウェアを用いて生成するステップと、前記構成ファイルを、前記基礎データ処理システム上にインストールし、前記構成ファイルを自動的に呼び出すコマンドを追加するステップと、前記構成ファイルを、第２の修正データ処理システム上に、前記少なくとも１つの異なる装置の構成が、前記構成ファイルを自動的に呼び出すことによって行われるようにインストールするステップとを含む方法が提供される。
【００１３】
第２の態様によれば、本発明により、データ処理システムを自動的に構成するシステムであって、基礎データ処理システムに関する回復ファイルを作成する手段と、前記回復ファイルを、前記基礎データ処理システムと異なる少なくとも１つの装置を有する修正データ処理システム上にインストールする手段と、構成ファイルを、前記修正データ処理システム上に含まれるソフトウェアを用いて生成する手段と、前記構成ファイルを、前記基礎データ処理システム上にインストールし、前記構成ファイルを自動的に呼び出すコマンドを追加する手段と、前記構成ファイルを、第２の修正データ処理システム上に、前記少なくとも１つの異なる装置の構成が、前記構成ファイルを自動的に呼び出すことによって行われるようにインストールする手段とを含むシステムが提供される。
【００１４】
第３の態様によれば、本発明により、第１の態様の方法に従ってデータ処理システムを自動的に構成するプログラム命令を含む、コンピュータ可読媒体上に格納されるコンピュータ・プログラムが提供される。
【００１５】
好ましくは、構成ファイルは、第２の修正データ処理システム上で、それとのユーザ対話なしに呼び出される。
【００１６】
好ましくは、第２の修正データ処理システム上の構成ファイルは、前記第２の修正データ処理システムの構成を、その上にインストールされたオペレーティング・システム・ソフトウェアのユーザ変更なしに行うことを含む。
【００１７】
好ましくは、構成ファイルは、基礎データ処理システムに関する基礎的製品情報を格納する。
【００１８】
好ましくは、構成ファイルを第２の修正データ処理システム上にインストールすることは、第２の修正データ処理システムに関連付けられている第２の製品情報を読み取ること、基礎的製品情報を、第２の製品情報と比較すること、および、基礎的製品情報と第２の製品情報が一致しないときに、構成ファイルを自動的に呼び出すことを含む。
【００１９】
あるいは、構成ファイルの自動的な呼び出しは、第２の修正データ処理システムが、少なくとも１つの異なる装置のインストール後、初めて初期化中であるときに行われる。
【００２０】
好ましくは、第２の修正データ処理システムとのユーザ対話は、基礎的製品情報が前記第２の製品情報と一致するときに可能になる。
【００２１】
あるいは、前記第２の修正データ処理システムとのユーザ対話は、第２の修正データ処理システムが、少なくとも１つの異なる装置のインストール後、初めての次に初期化中であるときに可能になる。
【００２２】
好ましいある実施形態では、システム提供者は、コンピュータ・システムの基礎モデルと、新しいグラフィックス・アダプタ、通信アダプタ、入出力コントローラなど、１つまたは複数の異なる構成を含むそのシステムの新しいモデルと、どちらも維持することになる。提供者は、基礎モデルとともに使用すべき回復／インストール・イメージの作成を終えている。コンフィギュレータ・プログラムを含むオペレーティング・システムは、基礎モデルのシステムと新しいモデルのシステムのどちらでも動作している。
【００２３】
次に、新しいモデルの追加したハードウェアとともに使用すべきデバイス・ドライバなどの新しいソフトウェアを、提供者の新しいモデルのシステム上にインストールし、コンフィギュレータ・プログラムを用いて初期化する。新しいモデルに対するファイルを、基礎モデル・システムに関する不可欠製品データを用いて作成する。次いで、この新しいモデルの構成ファイルを基礎モデルのマシン上にインストールし、そのコンフィギュレータ・プログラムを動作させる。次いで、構成情報を（新しいモデルの構成データを含めて）保存し、スクリプト・ファイルをこの構成情報に追加する。スクリプト・ファイルは、マクロ・ファイルまたはバッチ・ファイルを表す別の用語であり、スクリプトとは、ユーザ対話なしに実行できるコマンドのリストである。スクリプト言語は、プログラマがスクリプトを書くのに使用できる簡単なプログラミング言語である。
【００２４】
可能な多くの想定状況のうちの１つでは、次いで、このイメージ（新しいモデルのシステムに対する構成データおよびスクリプト・ファイル）を、ＣＤへとキャプチャする。もちろん、他のどのようなタイプのコンピュータ可読媒体またはファイル転送の方法も、本発明の範囲で企図している。
【００２５】
次いで、この新しいモデルのイメージを、システム提供者の使用する新しいモデルのシステムと同じ構成を有するエンド・ユーザに、利用可能にする。たとえば、特定のグラフィックス・アダプタの更新が必要である場合、新しいモデルのシステムは、この新しいグラフィックス・アダプタを除き、基礎モデルと同じになる。すると、提供者は、新しいモデルのイメージをユーザへ、アダプタと一緒に供給できることになり、ユーザは、アダプタの物理的なインストールを行い、その構成を、オペレーティング・システム内のコンフィギュレータ・ユーティリティの呼び出しを必要とせずに行うことができる。
【００２６】
より具体的には、新しいモデルのイメージ内のスクリプト・ファイルにより、起動の優先度が指定され、これにより、スクリプト・ファイルを、コンフィギュレータ・プログラムよりも先に呼ぶことが可能になり、スクリプト・ファイルにより、ユーザの新しいモデルのシステムの初期化を、システム提供者の新しいモデルのマシンから取り込んだ適当なソフトウェアによって行うことが開始される。
【００２７】
したがって、ここまでの要約に従って、本発明の目的、特徴、および利点は、添付の図面と併せ解釈する後続の説明および添付の特許請求の範囲から、当業者には明らかとなろう。
【発明を実施するための最良の形態】
【００２８】
コンピュータ・アプライアンスは、通常、固定したハードウェアおよびソフトウェアの構成を有するクローズド・システムである。そのようなあるシステムの一例が、ＩＢＭ  ｐ６９０  ｅＳｅｒｖｅｒデータ処理システムの管理に使用されている、ＩＢＭハードウェア管理コンソールである。通常、ハードウェアは、ペンティアム（Ｒ）・クラスのマイクロプロセッサなどを含む、パーソナル・コンピュータ（personal computer、ＰＣ）である。
【００２９】
ＬＩＮＵＸは、ある基準を満たす限り実質的に無償で提供される、比較的新しいＵＮＩＸ（Ｒ）ライクなオペレーティング・システムである。このオペレーティング・システムは、商用コンピュータ・システム・ベンダの間で利用および人気が高まっている。本発明のある実施形態では、初期化中のクローズド・システムで、ＬＩＮＵＸオペレーティング・システムを動作させている。ＬＩＮＵＸオペレーティング・システムの配布に関連するある可能な基準とは、変更を行った場合に、特定の記述および表明（statements and assertions）をそのプログラムの変更している人または団体が行うことである。新しくインストールしたハードウェアを構成するためにＬＩＮＵＸを修正することにより、ＬＩＮＵＸオペレーティング・システムに含まれるデバイス・ドライバなどの修正が引き起こされる可能性もあることが理解されよう。これは、自らのライセンス権を保護するために、構成プログラムを動作させて変更したコードに関する言明を作成するユーザの負担になる可能性もある。したがって、本発明の別の可能な利点は、ＬＩＮＵＸオペレーティング・システム中のヘッダ・ファイルおよび他の所有権に関する言明を変更する負担がエンド・ユーザから取り除かれることである。これにより、ＬＩＮＵＸユーザが、このオペレーティング・システムの自分のコピーを、標準のライセンス許諾条項のもとで維持する能力が、最小限の影響で保護されることになる。
【００３０】
好ましい一実施形態によれば、（ＬＩＮＵＸを含めて）ソフトウェアはすべて、第１のシステム上にインストールされる。次いで、ソフトウェア・イメージ（そのシステム上のソフトウェアすべてのスナップショット）は、回復／インストールＣＤ上へとキャプチャされる。このＣＤは、製造中、システムをプリロードするのに、また顧客が、データがハード・ディスクから失われたときに自分のシステムを修復するのに使用する。従来の回復／インストールＣＤを使用することにより、ユーザが複雑な再インストール手順を踏んでいく必要が省かれ、さらに、ユーザは、必要なソフトウェアがすべて一貫性のある形でインストールされることが保証される。この従来の解決策では、初期化中のシステムに同じハードウェアが接続されていることを仮定している。すなわち、初期化中のシステムは、第１の、または基礎システムに等しいという仮定がなされているのである。しかし、新しいハードウェアへと移行する必要が、そのパフォーマンスが改善され、コストが低下するに連れて、常に存在するため、この従来の方法は問題となる。特に、新しいハードウェアがリリースされたときには、それまでのハードウェアから作成された同じソフトウェア・イメージ（すなわち、基礎システム）をインストールに使用した場合、オペレーティング・システム（ＬＩＮＵＸ）は新しいまたは削除したあるいはその両方のハードウェアを検出し、ユーザと対話して、新しいハードウェアの構成または古いハードウェア（イーサネット（Ｒ）、ビデオ・カード、グラフィックス・アダプタ、など）の削除あるいはその両方を行う。ＬＩＮＵＸの場合、「Ｋｕｄｚｕ」と呼ばれる初期化プログラムは、システム初期化中に呼び出され、ユーザがこのプログラムに、キーボード上でタイプすること、またはマウスで項目を選択することなどによって、どのような入力も与えない場合には、３０秒後にタイム・アウトする。これが起きているときに、たとえば、新しいシステム内に新しいビデオ・アダプタが存在した場合には、ユーザは、モニタ上に表示されるＧＵＩ（グラフィカル・ユーザ・インターフェース）を見ることができないことになる。このタイプの状況では、初期化プログラムはタイム・アウトさせられることになり、システムを新しいハードウェアで動作するように再構成することができない可能性がある。
【００３１】
本発明により、システム・ブート中に、オペレーティング・システムが新しいまたは削除したあるいはその両方のハードウェアを検出したときのユーザ対話が不要になる。本発明の動作は、ユーザが、オペレーティング・システム（この例ではＬＩＮＵＸ）に含まれる既存のソフトウェア・ユーティリティ・プログラムを変更する必要のない形で行われる。これは、ＬＩＮＵＸのライセンス許諾に対して、「フリー」のオペレーティング・システムであるというその要件が理由で存在している、特定の制約のために、ＬＩＮＵＸベンダにとってはさらなる利点となる可能性がある。
【００３２】
本発明の好ましい一実施形態およびその諸利点のよりよい理解のためには、図面を参照されたい。同じ符号は、添付の図面の同じで対応する部品に使用している。
【００３３】
図１を参照すると、本発明と併せて使用できる典型的なデータ処理システムを示している。中央処理装置（ＣＰＵ）１０は、ＩＢＭコーポレーションから市販のＰｏｗｅｒＰＣマイクロプロセッサ、または、インテル・コーポレーション他から市販のＩＡ３２、ＩＡ６４クラスのマイクロプロセッサを含み、他の様々なシステムの構成要素へとシステム・バス１２を介して相互接続することができる。ＲＯＭ（読み出し専用メモリ）１６は、ＣＰＵ１０へとバス１２を介して接続され、基本的なコンピュータの機能を制御するＢＩＯＳ（基本入出力システム）を含む。また、ＲＡＭ（ランダム・アクセス・メモリ）１４、入出力アダプタ１８、および通信アダプタ３４も、システム・バス１２へと接続されている。入出力アダプタ１８は、ディスク・ストレージ装置２０および読み取り／書き込み（Ｒ／Ｗ）ＣＤ２１と通信するＳＣＳＩ（Small Computer System Interface）アダプタとすることができる。通信アダプタ３４は、バス１２を、インターネットなどの外部のネットワークと相互接続するＤＳＬ（DigitalSubscriber Line、デジタル加入者線）カードまたはイーサネット（Ｒ）・カードなどのネットワーク・カードとすることができる。また、モデム４０も含めることができ、これは、バス１２へと接続されて、このデータ処理システムが通信を、そのような他のシステムとインターネットを介して、または他の通信ネットワーク（ＬＡＮ、ＷＡＮ）と電話回線を介して行えるようにしている。また、ユーザ入出力装置も、システム・バス１２へとユーザ・インターフェース・アダプタ２２およびディスプレイ・アダプタ３６を介して接続されている。キーボード２４、トラック・ボール３２、マウス２６、およびスピーカ２８は、すべてバス１２へとユーザ・インターフェース・アダプタ２２を介して接続されている。ディスプレイ・モニタ３８のシステム・バス１２への接続は、ディスプレイ・アダプタ３６によって行われる。こうして、ユーザは、システムへの入力をキーボード２４、トラック・ボール３２、またはマウス２６を通して、システムからの出力の受け取りをスピーカ２８およびディスプレイ３８によって行えるようになっている。さらに、ＤＯＳ、ＯＳ／２、Ｗｉｎｄｏｗｓ（Ｒ）オペレーティング・システムなどのオペレーティング・システム（ＯＳ）３９を、ＣＰＵ１０上で動作するものとして示してあり、これは、図１に示した様々な構成要素の機能を調整するのに使用する。
【００３４】
図２を参照すると、本発明の好ましい一実施形態を実装できるデータ処理システムのネットワークの絵画図を示している。ネットワーク・データ処理システム５０は、本発明を実装できる、コンピュータからなるネットワークである。ネットワーク・データ処理システム５０は、ネットワーク５２を含み、これは、ネットワーク・データ処理システム５０内部でともに結合される様々な装置およびコンピュータの間の通信リンクの提供に使用する媒体である。ネットワーク５２は、有線、無線の通信リンク、光ファイバ・ケーブルなどの接続を含むことができる。
【００３５】
ここに示す例では、サーバ５４は、ネットワーク５２へと、ストレージ・ユニット５６と並んで接続されている。さらに、クライアント５８、６０、および６２も、ネットワーク５２へと接続されている。ネットワーク５２は、有線や光ファイバ・ケーブルなどの永続的な接続、または電話接続によって行われた一次的な接続を含むことができる。また、通信ネットワーク５２は、他のパブリックまたはプライベートあるいはその両方のＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、無線ネットワーク、データ通信ネットワークまたは接続、イントラネット、ルータ、衛星リンク、マイクロ波リンク、携帯電話網または電話網、無線リンク、光ファイバ伝送回線、ＩＳＤＮ回線、Ｔ１回線、ＤＳＬなども含むことができる。一部の実施形態では、ユーザ装置の接続を、直接サーバ５４に、本発明の範囲から逸脱することなく行うことができる。しかも、本明細書で使用する通信は、有線または無線の技術によって可能となるものを含む。
【００３６】
クライアント５８、６０、および６２は、たとえば、パーソナル・コンピュータ、ポータブル・コンピュータ、モバイルまたは固定のユーザ・ステーション、ワークステーション、ネットワーク端末またはサーバ、携帯電話、キオスク、ダム端末、ＰＤＡ（Personal Digital Assistants）、双方向ページャ（ポケットベル）、スマート・フォン、情報機器、またはネットワーク・コンピュータとすることができる。この適用の目的では、ネットワーク・コンピュータは、ネットワークに接続され、プログラムまたは他のアプリケーションをそのネットワークに接続されている別のコンピュータから受け取る任意のコンピュータである。
【００３７】
ここに示す例では、サーバ５４は、クライアント５８〜６２に、ブート・ファイル、オペレーティング・システムのイメージ、アプリケーションなどのデータを提供している。クライアント５８、６０、および６２は、サーバ１４に対するクライアントである。ネットワーク・データ処理システム５０は、追加のサーバ、クライアント、および他の装置（図示せず）を含むことができる。ここに示す例では、ネットワーク・データ処理システム５０は、ＴＣＰ／ＩＰプロトコル群を使用して相互に通信するネットワークおよびゲートウェイの世界規模の集まりに相当する、ネットワーク５２を伴うインターネットである。インターネットの中心には、データおよびメッセージを回送する数千の商用、政府用、教育用および他のコンピュータ・システムからなる主要なノードまたはホスト・コンピュータ間の高速データ通信回線のバックボーンが存在する。もちろん、ネットワーク・データ処理システム５０も、たとえば、イントラネット、ＬＡＮ、ＷＡＮなどのいくつもの異なるタイプのネットワークとして実装することができる。図２は、本発明に対するアーキテクチャ上の制限としてではなく、一例として意図している。
【００３８】
図３は、本発明を実装できるデータ処理システムのより詳細な構成図である。データ処理システム１００は、システム・バス１０６へと接続される複数のプロセッサ１０１、１０２、１０３、および１０４を含む対称型マルチプロセッサ（ＳＭＰ、Symmetric MultiProcessor）システムとすることができる。たとえば、データ処理システム１００は、あるネットワーク内部のサーバとして実装された、ニューヨーク州アーモンク（Armonk,New York）にあるインターナショナル・ビジネス・マシーンズ・コーポレーション（ＩＢＭ）の一製品である、ＩＢＭ  ｐＳｅｒｉｅｓ  ｅＳｅｒｖｅｒであってもよい。あるいは、シングル・プロセッサ・システムを使用することもできる。また、システム・バス１０６には、メモリ・コントローラ／キャッシュ１０８も接続されており、これにより、複数のローカル・メモリ１６０〜１６３へのインターフェースが提供される。入出力バス・ブリッジ１１０は、システム・バス１０６に接続され、これにより、インターフェースが入出力バス１１２に提供される。メモリ・コントローラ／キャッシュ１０８および入出力バス・ブリッジ１１０は、ここに示したように組み込みとすることができる。
【００３９】
データ処理システム１００は、論理区画化されたデータ処理システムである。したがって、データ処理システム１００には、同時に動作する複数の異種のオペレーティング・システム（または単一オペレーティング・システムの複数のインスタンス）がある可能性がある。こうした複数のオペレーティング・システムのそれぞれには、その内部で実行されるどのような数のソフトウェア・プログラムがあってもよい。データ処理システム１００は、異なる入出力アダプタ１２０〜１２１、１２８〜１２９、および１４８〜１４９を異なる論理区画へと割り当てることができるように論理区画化されている。
【００４０】
そこで、たとえば、データ処理システム１００が、３つの論理区画、Ｐ１、Ｐ２、およびＰ３へと分割されていると仮定する。入出力アダプタ１２０〜１２１、１２８〜１２９、１３６、および１４８〜１４９のそれぞれ、プロセッサ１０１〜１０４のそれぞれ、ならびにローカル・メモリ１６０〜１６３のそれぞれが、３つの区画のうちの１つに割り当てられる。たとえば、プロセッサ１０１、メモリ１６０、および入出力アダプタ１２０、１２８、および１２９は、論理区画Ｐ１に割り当てることができ、プロセッサ１０２〜１０３、メモリ１６１、および入出力アダプタ１２１および１３６は、区画Ｐ２に割り当てることができ、プロセッサ１０４、メモリ１６２〜１６３、および入出力アダプタ１４８〜１４９は、論理区画Ｐ３に割り当てることができる。
【００４１】
データ処理システム１００内部で実行されるオペレーティング・システムのイメージは、それぞれ異なる論理区画に割り当てられる。したがって、データ処理システム１００内部で実行されるオペレーティング・システムのイメージは、それぞれ、その論理区画内部にある入出力ユニットにだけアクセスすることができる。
【００４２】
入出力バス１１２に接続されているＰＣＩ（Peripheral ComponentInterconnect、周辺機器相互接続）ホスト・ブリッジ１１４により、ＰＣＩローカル・バス１１５へのインターフェースが提供される。いくつもの入出力アダプタ１２０〜１２１を、ＰＣＩバス１１５へと接続することができる。典型的なＰＣＩバスの実装でサポートされるのは、４個から８個の入出力アダプタ（すなわち、アド・イン・コネクタ用の拡張スロット）である。入出力アダプタ１２０〜１２１により、それぞれ、データ処理システム１００と、たとえば、データ処理システム１００に対するクライアントである、他のネットワーク・コンピュータなどの入出力装置との間のインターフェースが提供される。
【００４３】
追加のＰＣＩホスト・ブリッジ１２２により、追加のＰＣＩバス１２３に対するインターフェースが提供される。ＰＣＩバス１２３は、複数のＰＣＩ入出力アダプタ１２８〜１２９へと、ＰＣＩバス１２６〜１２７によって接続される。したがって、たとえば、モデムまたはネットワーク・アダプタなどの追加の入出力装置のサポートは、ＰＣＩ入出力アダプタ１２８〜１２９のそれぞれを通して行うことができる。このようにして、データ処理システム１００により、複数のネットワーク・コンピュータへの接続が可能になっている。
【００４４】
メモリ・マップト・グラフィックス・アダプタ１４８の入出力バス１１２への接続は、ＰＣＩホスト・ブリッジ１４０およびＥＡＤＳ１４２（ＰＣＩ−ＰＣＩブリッジ）を通して、ＰＣＩバス１４４および１４５を介して、図に示すように行われる。また、ハード・ディスク１５０の入出力バス１１２への接続も、ＰＣＩホスト・ブリッジ１４０およびＥＡＤＳ１４２を通して、ＰＣＩバス１４１および１４５を介して、図に示すように行われる。
【００４５】
ＰＣＩホスト・ブリッジ１３０により、入出力バス１１２への接続のためのＰＣＩバス１３１に対するインターフェースが提供される。ＰＣＩバス１３１により、ＰＣＩホスト・ブリッジ１３０が、サービス・プロセッサ・メールボックス・インターフェースおよびＩＳＡバス・アクセス・パス・スルー論理１９４およびＥＡＤＳ１３２へと接続される。ＩＳＡバス・アクセス・パス・スルー論理１９４により、ＰＣＩ／ＩＳＡブリッジ１９３へと向かうＰＣＩアクセスが転送される。ＮＶＲＡＭストレージは、ＩＳＡバス１９６へと接続されている。サービス・プロセッサ１３５は、サービス・プロセッサ・メールボックス・インターフェース１９４へと、そのローカルＰＣＩバス１９５を通して結合される。また、サービス・プロセッサ１３５は、プロセッサ１０１〜１０４へも、複数のＪＴＡＧ／Ｉ２Ｃバス１３４を介して接続される。ＪＴＡＧ／Ｉ２Ｃバス１３４は、ＪＴＡＧ／スキャン・バス（ＩＥＥＥ１１４９．１を参照されたい）とフィリップスＩ２Ｃバスを組み合わせたものである。しかし、代替方法として、ＪＴＡＧ／Ｉ２Ｃバス１３４は、フィリップスＩ２Ｃバスのみで、または、ＪＴＡＧ／スキャン・バスのみで置き換えてもよい。ホスト・プロセッサ１０１、１０２、１０３、および１０４のＳＰ−ＡＴＴＮ信号はすべて、まとめてサービス・プロセッサの割り込み入力信号へと接続される。サービス・プロセッサ１３５は、それ自体のローカル・メモリ１９１をもち、ハードウェア操作パネル１９０にアクセスできる。
【００４６】
データ処理システム１００の電源が初めに投入されると、サービス・プロセッサ１３５は、ＪＴＡＧ／スキャン・バス１３４を使用してシステム（ホスト）・プロセッサ１０１〜１０４、メモリ・コントローラ１０８、および入出力バス・ブリッジ１１０に対する問い合わせを行う。このステップの完了時には、サービス・プロセッサ１３５は、データ処理システム１００の一覧およびトポロジ（位相幾何学）的認識をもっている。また、サービス・プロセッサ１３５は、ＢＩＳＴ（Built-InSelfTest）、ＢＡＴ（Basic Assurance Test）、およびメモリ検査を、システム（ホスト）・プロセッサ１０１〜１０４、メモリ・コントローラ１０８、および入出力バス・ブリッジ１１０に対する問い合わせによって見つかった要素すべてに対して行う。ＢＩＳＴ、ＢＡＴ、およびメモリ検査の間に検出した障害についてのエラー情報は、どのようなものでもサービス・プロセッサ１３５が収集し報告を行う。
【００４７】
ＢＩＳＴ、ＢＡＴ、およびメモリ検査の間に欠陥があるとわかった要素を取り除いた後でもなお、システム資源の意味のある／有効な構成が可能である場合には、データ処理システム１００は、実行可能コードのローカル（ホスト）・メモリ１６０〜１６３へのロードへと進むことができる。次いで、サービス・プロセッサ１３５は、ホスト・プロセッサ１０１〜１０４を、ホスト・メモリ１６０〜１６３へとロードしたコードの実行のために解放する。ホスト・プロセッサ１０１〜１０４が、データ処理システム１００内部のオペレーティング・システムそれぞれからのコードを実行している間、サービス・プロセッサ１３５は、エラーを監視し報告するモードに入る。サービス・プロセッサの監視する項目のタイプとしては、たとえば、冷却ファンのスピードおよび動作、温度センサ、電源レギュレータ、ならびに、プロセッサ１０１〜１０４、メモリ１６０〜１６３、およびバス・ブリッジ・コントローラ１１０の報告する回復可能なおよび回復不可能なエラーがある。
【００４８】
サービス・プロセッサ１３５は、データ処理システム１００内の監視される項目すべてに関するエラー情報を保存し報告する役目を受け持つ。また、サービス・プロセッサ１３５は、エラーのタイプおよび定義されたしきい値に基づいて処置を取る。たとえば、サービス・プロセッサ１３５は、あるプロセッサのキャッシュ・メモリについて過度の回復可能なエラーの記録を取り、これがハード障害の前兆となると判断することができる。サービス・プロセッサ１３５は、この判断に基づいて、その資源を、現在の動作セッションおよび将来のＩＰＬ（Initial Program Load）の間に再構成するようにマークすることができる。ＩＰＬは、「ブート」または「ブートストラップ」と呼ばれることもある。
【００４９】
図３に示すハードウェアは、変わりうることが当業者には理解されよう。たとえば、光ディスク・ドライブなどの他の周辺装置も、ここに示したハードウェアのほかにまたは代わりに使用することができる。ここに示した例は、本発明に関するアーキテクチャ上の制限を意味するものではない。
【００５０】
図４は、本発明を実装できる例示的な論理区画化されたプラットフォームの構成図である。論理区画化されたプラットフォーム２００は、（基礎ハードウェアとも呼ばれる）区画化されたハードウェア２３０、ハイパーバイザ２１０とも呼ばれる、区画管理ファームウェア、および区画２０１〜２０４を含む。区画２０１〜２０３の内部には、オペレーティング・システム２０１ａ〜２０３ａが存在する。オペレーティング・システム２０１ａ〜２０３ａは、単一のオペレーティング・システム２０１ａ〜２０３ａの複数のコピー、または、プラットフォーム２００上で同時に動作する複数の異種のオペレーティング・システムとすることもできる。
【００５１】
また、論理区画化されたプラットフォーム２００は、指定サービス区画２０４を含む。サービス区画２０４を、システム管理者は、パラメータの設定、ファームウェア更新のインストール、および他のサービス機能の実現のために使用することができる。
【００５２】
こうした区画２０１〜２０３のうちの１つまたは複数を、システム管理者はリモートで使用することができる。サービス区画２０４は、通常、リモートで管理されることはない。
【００５３】
区画化されたハードウェア２３０は、複数のプロセッサ２３２〜２３８、複数のシステム・メモリ・ユニット２４０〜２４６、複数の入出力アダプタ２４８〜２６２、およびストレージ・ユニット２７０を含む。プロセッサ２３２〜２３８、システム・メモリ・ユニット２４０〜２４６、ＮＶＲＡＭストレージ２９８、入出力アダプタ２４８〜２６２のそれぞれを、複数の区画２０１〜２０４のうちの１つへと割り当てることができる。
【００５４】
また、区画化されたハードウェア２３０は、サービス・プロセッサ２９０を含む。ＤＲＡＭデバイスなどの不揮発性メモリ装置２９１が、サービス・プロセッサ２９０内部には含まれている。本明細書で説明する区画テーブルおよびファームウェア・イメージ、ならびに他の情報が、サービス・プロセッサ・メモリ装置２９１内部に含まれている。
【００５５】
区画管理ファームウェア（ハイパーバイザ）２１０では、論理区画化されたプラットフォーム２００の区画化を作成し実施するために、区画２０１〜２０３に関するいくつもの機能およびサービスが実現される。ハイパーバイザ２１０は、下位にあるハードウェアと同等の、ファームウェア実装された仮想マシンである。ファームウェアとは、たとえば、ＲＯＭ（読み出し専用メモリ）、ＰＲＯＭ（プログラマブルＲＯＭ）、ＥＰＲＯＭ（消去可能ＰＲＯＭ）、ＥＥＰＲＯＭ（電気的消去可能ＰＲＯＭ）、不揮発性ＲＡＭなど、その内容を電力なしで保持するメモリ・チップ内に格納されている「ソフトウェア」である。したがって、ハイパーバイザ２１０では、独立したオペレーティング・システムのイメージ２０１ａ〜２０３ａの同時実行が、論理区画化されたプラットフォーム２００のハードウェア資源すべてを仮想化することによって可能になる。ハイパーバイザ２１０では、入出力装置を入出力アダプタ２４８〜２６２を通して単一の仮想マシンへと接続することを、オペレーティング・システムのイメージ２０１ａ〜２０３ａのうちの１つで使用するための排他的モードで行うことができる。
【００５６】
ハードウェア管理コンソール（ＨＭＣ）２８０などのハードウェア管理装置は、本発明の好ましい一実施形態に従って、論理区画化されたプラットフォーム２００を含むデータ処理システム１００へと結合することができる。ＨＭＣ２８０は、サービス・プロセッサ２９０へと結合された別個のコンピュータ・システムであり、ユーザはこれを、データ処理システム１００の様々な機能の制御を、サービス・プロセッサ２９０を通して行うのに使用することができる。ＨＭＣ２８０は、ユーザがリブートすべき区画の選択に使用できるＧＵＩ（グラフィカル・ユーザ・インターフェース）を含む。
【００５７】
ＨＭＣ２８０は、ＡＩＸ、ＬＩＮＵＸなどのオペレーティング・システムのイメージ２８２およびサービス・アプリケーション２８４を含む。サービス・アプリケーション２８４は、エラー・メッセージを様々な区画２０１〜２０４から受け取る。また、サービス・アプリケーション２８４は、ハートビート信号を定期的な間隔で生成し、このハートビート信号を、オペレーティング・システム２８２を介して、サービス・プロセッサ２９０へと出力する。
【００５８】
次に、本発明の初期化技法を、ＨＭＣ２８０などのハードウェア管理コンソールと併せて説明する。しかし、本発明の範囲は、ハードウェア管理、ＰＤＡ、ネットワーク器械、埋め込みコントローラなど、どのようなクローズド型システムにも、等しい重みで適用されることを了解されたい。
【００５９】
本発明の好ましい一実施形態のある例として、２つのコンピュータ・システムを考える。第１のシステムをｂａｓｅＭｏｄｅｌ、変更したシステムをｎｅｗＭｏｄｅｌと呼ぶことにする。ｂａｓｅＭｏｄｅｌは、元になる回復／インストール・イメージが作成するコンピュータ・システムであり、ｎｅｗＭｏｄｅｌは、たとえば、新しく追加／削除したアダプタを伴う異なるハードウェア構成などを含む、新しいハードウェア・プラットフォームである。ｎｅｗＭｏｄｅｌが、回復／インストール・イメージを伴うソフトウェアをインストールすることになるシステムである。
【００６０】
第１のステップとして、ソフトウェアすべてをｎｅｗＭｏｄｅｌシステム上にインストールし、次いで、システム提供者が、ｎｅｗＭｏｄｅｌのコンフィギュレータ・プログラム（Ｌｉｎｕｘの場合にはＫｕｄｚｕ）と対話して、ｎｅｗＭｏｄｅｌシステム上のハードウェアすべての構成を行う。次いで、構成ファイルのすべてをキャプチャする。こうしたファイルとしては、システム提供者のｎｅｗＭｏｄｅｌ上に現在インストールされている、ロード後の（loaded）デバイス・ドライバのイメージ、ハードウェア構成、Ｘ−Ｗｉｎｄｏｗｓ（Ｒ）などのＸコンフィギュレーション、Ｍｏｔｉｆコンフィギュレーション（Ｕｎｉｘ（Ｒ）ベース・システム上のＧＵＩを提供する）などがある。ｎｅｗＭｏｄｅｌのイメージは、<ｎｅｗＭｏｄｅｌの製品番号>.tar、<ｃｕｒｒｅｎｔＭｏｄｅｌの製品番号>.tarなどと呼ぶファイルに格納されるが、ここで、ｎｅｗＭｏｄｅｌの製品番号とは、ｎｅｗＭｏｄｅｌコンピュータ・システムのＢＩＯＳ内に格納されている製品番号である。
【００６１】
次に、<ｎｅｗＭｏｄｅｌの製品番号>.tarファイルをｂａｓｅＭｏｄｅｌシステム上にインストールする。次いで、提供者はｂａｓｅＭｏｄｅｌのコンフィギュレータ・プログラムと対話して、ｂａｓｅＭｏｄｅｌシステム上のハードウェアすべてを構成する。次いで、ｎｅｗＭｏｄｅｌシステムからキャプチャしたｔａｒファイルを、ｂａｓｅＭｏｄｅｌの製品番号とともに、ｂａｓｅＭｏｄｅｌシステム上の知られている場所へとコピーする。次いで、システム・ブート時に、コンフィギュレータ・プログラムより前に実行されることになるスクリプト・ファイルを準備する。ある実施形態では、ｎｅｗＭｏｄｅｌは、変更されたハードウェア管理コンソールとすることができ、スクリプト・ファイルは、hmcConfigなどの名前になるはずである。Ｌｉｎｕｘオペレーティング・システム環境では、スクリプト・ファイルの作成を、ユーティリティchkconfigを用いて行い、そのスクリプトを/etc/rc.d/ディレクトリの下に追加することができる。スクリプト・ファイルの中では、起動優先度が指定してあり、これにより、そのスクリプトをコンフィギュレータ・プログラム、すなわちＫｕｄｚｕよりも前に呼び出せることになる。このスクリプトは、ｎｅｗＭｏｄｅｌ上で起動すると、ｎｅｗＭｏｄｅｌマシンの製品名をそのコンピュータ・システムのＢＩＯＳ（基本入出力システム）から読み取り、この情報を使用して、特定のハードウェア構成ファイルを更新すべきかどうかを決定する必要がある。次いで、<ｎｅｗＭｏｄｅｌの製品番号>.tarファイルを含むイメージおよびスクリプト・ファイルをＣＤ上にキャプチャする。ＣＤは、使用することのできる多くの適切なファイル転送方法のうちの１つに過ぎないことが理解されよう。たとえば、テープ、ディスケット、ネットワーク接続などはすべて、本発明の範囲で企図しているものである。
【００６２】
次いで、キャプチャしたイメージ（.tarファイルおよびスクリプト）を、エンド・ユーザのｎｅｗＭｏｄｅｌマシン上に、ＣＤドライブを使用することなどによって、インストールする。システムを初めてリブートするときに、スクリプト・ファイルが呼び出され、マシンのモデル番号が決定されることになる。ｎｅｗＭｏｄｅｌの番号がｂａｓｅＭｏｄｅｌと同じでなかった場合（通常、異なっている）、スクリプト・ファイルでは、ｎｅｗＭｏｄｅｌマシンの不可欠製品データ（VitalProduct Data; ＶＰＤ）を使用して、<ｎｅｗＭｏｄｅｌの製品番号>.tarファイルのルック・アップを行うことになる。次いで、この.tarファイルにより、ハードウェア構成ファイルが、キャプチャしたイメージからインストールされる。次いで、エンド・ユーザのｎｅｗＭｏｄｅｌマシン上のコンフィギュレータ・プログラムが呼び出されるが、ユーザ対話は、それまでに復元された必要なハードウェア構成ファイルのすべてがｎｅｗＭｏｄｅｌシステムと一致することになるので、必要ではない。スクリプト・ファイルの動作を１度だけ行う。続いてのリブートで、スクリプトは直ちに終了し、次いで、ユーザには、コンフィギュレータ・プログラムと対話する資格が与えられる。すなわち、本発明では、向上したハードウェア構成のインストールを可能にする方法を提供しているが、ユーザが、それに続くアップグレード中にコンフィギュレータ・プログラムと対話するのを妨げてはいないのである。したがって、すでにインストール済みのシステムにハードウェアを追加し、コンフィギュレータ・プログラムに検出を任せることは依然として可能である。さらに、ｂａｓｅＭｏｄｅｌが古くなったときに、する必要があるのは、/opt/hsc/bin/baseModel.datファイルを、新しいｂａｓｅＭｏｄｅｌの新しい不可欠製品名で更新することだけである。
【００６３】
上で説明したプロセスに関する擬似コードおよびコメントを、下に示す。
if [!-f <あるディレクトリ>/executed_for_first_time]
exit 0
# ＶＰＤモデルをＢＩＯＳから読み出し、現在のマシンの製品番号を
# 見つける
baseModel=`cat/opt/hsc/bin/baseModel.dat`
currentModel=`readVPD -productNumber`
# マシンのモデル番号が基礎モデルと同じでなかった場合、
# 製品番号を使用してｔａｒファイルのルック・アップを行い、
# 次いで、必要な構成ファイルを復元する
if [ $currentModel != $baseModel ]
if [ -f <あるディレクトリ>/$currentModel.tar]
tar -xf <あるディレクトリ>/$currentModel.tar
rm -f <あるディレクトリ>/executed_for_first_time
exit 0
【００６４】
次に、図５を参照して、本発明の好ましい一実施形態の操作を説明する。符号１は、第１の、すなわち基礎モデルのデータ処理システムを指し、プロセッサ１０を含むが、これはこれまでに説明した通りである。さらに、図１に示すものに類似の構成要素も含めてある。より具体的には、バス１２は、ネットワーク・アダプタ３４、入出力アダプタ１８、ディスプレイ・アダプタ３６、およびユーザ・インターフェース・アダプタ２２の相互接続に使用する。また、シリアル・ポートなどの追加の入出力アダプタ３７も含まれており、本発明に従って基礎モデルのソフトウェアを更新するのに使用することができる。また、基礎モデル１は、バス１２へと上記のアダプタを通して結合される様々な周辺装置も含むことが理解されよう。たとえば、キーボード２４およびマウス２６は、ユーザ・インターフェース・アダプタ２２へと結合される。ディスプレイ・モニタ３８は、ディスプレイ・アダプタ３６と併せて動作する。入出力アダプタ１８は、ディスク・ストレージ２０および読み取り／書き込みＣＤドライブ２１のバス１２への相互接続に使用する。したがって、バス１２は、データの転送を様々な周辺装置とプロセッサ１０の間で行うのに使用することが理解されよう。ＬＩＮＵＸなどのオペレーティング・システム３９を、プロセッサ１０上で動作する動作するものとして示している。このオペレーティング・システムは、ＬＩＮＵＸの場合ではＫｕｄｚｕなどのコンフィギュレータ・プログラム４３を含み、これがシステムの初期化に使用されることになる。
【００６５】
上に記したように、しばしば、新しい構成要素を特定のデータ処理基礎モデルに追加してその機能を高めることが望ましい。これは、新しい様々なアダプタ・カードなどの追加によって行われ得る。符号２は、新しいモデルを示しており、これは、たとえば、新しいハードウェアまたはソフトウェアあるいはその両方を含む、アップグレードされた基礎モデルである。もちろん、本発明では、システム構成におけるどのような変更も、それまでにインストールしたハードウェアが存在しないこと、または既存のハードウェアの強化したバージョンを含めて、企図している。
【００６６】
この例では、新しいモデルのシステム２内に含まれるアダプタは、基礎モデル１内のアダプタと比べたとき、実質的にアップグレードされている。すなわち、新しいまたは強化された、ディスプレイ・アダプタ４６、ユーザ・インターフェース・アダプタ４２、入出力アダプタ４８、およびネットワーク・アダプタ４４がすべて、新しいモデル２内で提供されている。新しいモデル２内の残りの構成要素およびソフトウェアは、基礎モデル１に含まれているものと同じであり、同じ符号で同定してあることが理解されよう。さらに、新しいソフトウェア４１が提供されており、これは、新しいハードウェアと併せて使用するデバイス・ドライバおよび他の初期化型プログラムを含むことになる。図５に示すように、新しいモデルのデータ処理システム２は、メーカ、または他のシステム提供者が、本発明のユーザ独立の初期化プロセスを構成するのに利用することになる。
【００６７】
さらに、図５に、新しいモデル２に実質的に同等なシステムを示しており、これをＨＭＣ２８０と同定してある。しかし、ＨＭＣ２８０は、本発明で企図するクローズド・システムの一タイプでしかないことを了解されたい。これまでに触れたハードウェア管理装置、ＰＤＡ、セット・トップ・ボックス、埋め込みコントローラなども、本発明の範囲内にあるものと考えている。ＨＭＣ２８０とは、実は基礎モデル１であり、ただ新しいモデル２に示す新しい構成要素を伴うものであることが当業者には了解されよう。ありそうな想定状況では、あるユーザが、基礎モデル１のシステムを購入し、そのシステムをある期間使用した後で、そのシステムを、ディスプレイ・アダプタ４６、ユーザ・インターフェース・アダプタ４２、入出力アダプタ４８、またはネットワーク・アダプタ４４あるいはそれらの組み合わせで更新することになるはずである。こうして、そのユーザは、新しいモデル２のシステムを効率よく得ることになる。
【００６８】
次に、ＨＭＣ２８０の初期化をユーザ対話なしで可能にする本発明の操作の説明を、図５のほかに、図６を参照して行うことにする。
【００６９】
ステップ１で、ユーザ独立な初期化プロセスを開始し、基礎モデル１の再インストール回復イメージの作成、およびコンパクト・ディスク上などへの格納を、ステップ２で行う。次に、作成した再インストール／回復イメージおよび新しいソフトウェア４１のインストールを、図５に示すように提供されているデータ処理システムの新しいモデル２上で行う（ステップ３）。具体的には、新しいソフトウェアおよびハードウェアの構成要素のインストールを新しいモデル２上で行うのである。次いで、ステップ４で、システム提供者は、新しいモデル２のコンフィギュレータ・プログラム４３（Ｌｉｎｕｘの場合、Ｋｕｄｚｕ）と対話して、新しいモデルのシステム２乗のハードウェアすべてを構成する。次いで、構成ファイルのキャプチャを行う。こうしたファイルとしては、システム提供者のｎｅｗＭｏｄｅｌ上に現在インストールされている、ロードされたデバイス・ドライバのイメージ、ハードウェア構成、Ｘ−Ｗｉｎｄｏｗｓ（Ｒ）などのＸコンフィギュレーション、Ｍｏｔｉｆコンフィギュレーション（Ｕｎｉｘ（Ｒ）ベース・システム上のＧＵＩを提供する）などがある。次いで、ステップ５で、ｎｅｗＭｏｄｅｌのイメージを１つのファイル、すなわち<ｎｅｗＭｏｄｅｌの製品番号>.tarとして格納するが、ここで、ｎｅｗＭｏｄｅｌの製品番号とは、ｎｅｗＭｏｄｅｌコンピュータ・システムのＢＩＯＳ内に格納されている製品番号である。
【００７０】
次いで、新しく作成した<ｎｅｗＭｏｄｅｌの製品番号>.tarファイルにキャプチャした（ステップ５）、新しいモデル２の構成ファイルを、基礎モデル１上へと、ステップ６でインストールする。図５から、基礎モデル１と新しいモデル２のどちらの上の入出力アダプタ３７の間のファイル転送は、<ｎｅｗＭｏｄｅｌの製品番号>.tarを新しいモデル２から基礎モデル１へと転送し、これをそこにインストールするための１つの機構として示してあることが理解されよう。このファイルを基礎モデル１上へとインストールするのに使用できるはずの他の多くの転送技法を、ファイルをテープ、ＣＤ、または他のストレージ媒体に書き込むこと、および、次いでファイルをその媒体からシステムへとインストールすることを含めて、本発明で企図していることが理解されよう。<ｎｅｗＭｏｄｅｌの製品番号>.tarの基礎モデルのシステム１へのインストール後、次いで、データ処理システムの提供者は、基礎モデル１のコンフィギュレータ・プログラム４３と対話して、基礎モデルのシステム１上のハードウェアのすべてを構成する（ステップ７）。構成後、新しいモデルのシステム２からキャプチャしたｔａｒファイルを、次いで、基礎モデル１上の知られている場所へとコピーする（ステップ８）。さらに、スクリプト・ファイル次いで、次のシステム・ブート時に実行され、コンフィギュレータ・プログラム４３が、次のその逐次的なブート操作中に動作することを除外することになるスクリプト・ファイルを準備する。ある実施形態では、ｎｅｗＭｏｄｅｌは、変更されたハードウェア管理コンソールとすることができ、スクリプト・ファイルは、hmcConfigなどの名前になるはずである。上に記したように、Ｌｉｎｕｘオペレーティング・システム環境では、スクリプト・ファイルの作成を、ユーティリティchkconfigを用いて行い、そのスクリプトを/etc/rc.d/ディレクトリの下に追加することができる。スクリプト・ファイルの中では、起動優先度が指定してあり、これにより、そのスクリプトをコンフィギュレータ・プログラム４３、すなわちＫｕｄｚｕよりも前に呼び出せることになる。
【００７１】
次いで、ステップ９で、更新した、または変更した、基礎モデル１のイメージを、スクリプト・ファイルおよび他の構成ファイルを含めて、ＣＤ２７上などにキャプチャする。次いで、更新した新しいモデル１のイメージを有するこのＣＤが、新しいモデル２のシステムのユーザ、購入者などへと、自動システム構成を提供するために提供される。
【００７２】
ステップ１０で、変更した基礎モデルのイメージを新しいモデル２上へとインストールする。次いで、提供されるスクリプト・ファイルは、マシンの製品名を新しいモデル２のＢＩＯＳから読み取り、この情報を使用して特定のハードウェア構成ファイルを更新すべきかどうかを決定する。具体的には、ステップ１１で、新しいモデルのシステム２が、更新以来、初めてのリブート中であるかどうかの判断が行われる。すなわち、新しいモデル２が初めてリブートしているときは、ＣＤ２７からのスクリプト・ファイルが、呼び出され、そのマシンのモデル番号を決定することになる。さらに、新しいモデル２の番号が基礎モデル１と同じでなかった場合（通常、異なっている）、スクリプト・ファイルでは、新しいモデル２のマシンの不可欠製品データ（ＶＰＤ）を使用して、<ｎｅｗＭｏｄｅｌの製品番号>.tarファイルのルック・アップを行うことになる。次いで、ステップ１２で、スクリプト・ファイルが新しいモデル２用のユーザ・ソフトウェアをバイパスするために呼び出され、ユーザ対話なしの構成が開始される。ユーザ対話は、それまでに復元された必要なハードウェア構成ファイルのすべてが新しいモデル２のシステムと一致することになるので、必要ではない。しかし、ステップ１１で、新しいモデル２が、新しい構成要素のインストールに続く最初の初期化の後のリブート中であるか、またはｎｅｗＭｏｄｅｌの製品番号がｂａｓｅＭｏｄｅｌの製品番号と一致した場合には、プロセスはステップ１３へと続き、ここで新しいモデル２のユーザはコンフィギュレータ・プログラムと対話して、手動でシステムを構成することになる。すなわち、ステップ１１では、２つのイベントが行われることが、自動構成が行われるためには必要である。すなわち、それがシステムを更新した後の最初のシステム・リブートでなければならず、しかも、新しいモデル２のＶＰＤに格納されている製品番号が、.tarファイルに格納されている基礎モデルの番号と異なっていなければならない。そうでない場合、ユーザによる手動の構成が行われる（ステップ１３）。ステップ１２および１３のどちらの後でも、本発明のプロセスは、ステップ１４で、新しいモデルのシステム２が新しく追加された構成要素付きで構成されて、終わる。
【図面の簡単な説明】
【００７３】
【図１】クローズド・システムとして構成し本発明のブート技法を実装することのできるクライアント・コンピュータ・システムの構成図である。
【図２】本発明の好ましい実施形態に従って本発明を実装できるデータ処理システムを示す絵画図である。
【図３】本発明の好ましい実施形態に従って本発明を実装できるデータ処理システムのより詳細な構成図である。
【図４】本発明を実装できる例示的な論理区画化したプラットフォームの構成図である。
【図５】本発明の好ましい実施形態に従って構成をユーザ対話なしで行えるクローズド・システムを示す構成図である。
【図６】クローズド・システムのユーザ対話なしでの初期化を容易にするために本発明の利用する処理ステップを示す流れ図である。
【図７】クローズド・システムのユーザ対話なしでの初期化を容易にするために本発明の利用する処理ステップを示す流れ図である。
【図８】クローズド・システムのユーザ対話なしでの初期化を容易にするために本発明の利用する処理ステップを示す流れ図である。
【図９】クローズド・システムのユーザ対話なしでの初期化を容易にするために本発明の利用する処理ステップを示す流れ図である。
【図１】
2006518504.tif 000003
【図２】
2006518504.tif 000004
【図３】
2006518504.tif 000005
【図４】
2006518504.tif 000006
【図５】
2006518504.tif 000007
【図６】
2006518504.tif 000008
【図７】
2006518504.tif 000009
【図８】
2006518504.tif 000010
【図９】
2006518504.tif 000011
【国際調査報告】
2006518504.tif 000012
2006518504.tif 000013
2006518504.tif 000014