JP2006518504A - システム・ブート時にハードウェア構成中のユーザ対話を不要にするためのシステムおよび装置 - Google Patents

システム・ブート時にハードウェア構成中のユーザ対話を不要にするためのシステムおよび装置 Download PDF

Info

Publication number
JP2006518504A
JP2006518504A JP2006502184A JP2006502184A JP2006518504A JP 2006518504 A JP2006518504 A JP 2006518504A JP 2006502184 A JP2006502184 A JP 2006502184A JP 2006502184 A JP2006502184 A JP 2006502184A JP 2006518504 A JP2006518504 A JP 2006518504A
Authority
JP
Japan
Prior art keywords
data processing
processing system
configuration file
file
product information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006502184A
Other languages
English (en)
Other versions
JP2006518504A5 (ja
Inventor
フォスター、ロバート
グロシュ、マーク
ギュエン、ミン
ワン、クリスティン、イジュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006518504A publication Critical patent/JP2006518504A/ja
Publication of JP2006518504A5 publication Critical patent/JP2006518504A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Abstract

【課題】ユーザがコンピュータ・システムの更新を、初期化またはコンフィギュレータ・ソフトウェア・ユーティリティまたはプログラムと対話する必要なく、行えるようにするシステムおよび方法を提供すること。
【解決手段】本発明によりシステム提供者等は、ユーザへの提供時に、システムを新しく追加/削除されたハードウェアに自動的に適応するように構成するインストレーション・ファイルを作成できるようになる。システムの基礎モデル(BM)および新モデル(NM)が維持される。NMは、1つ以上の異なる構成を含む。提供者は、BMと共に使用する回復/インストール・イメージの作成を終える。コンフィギュレータ・プログラム(CP)を含むOSが、BM、NM両システムのどちらでも動作する。デバイス・ドライバなど、NMの変更したハードウェア構成とともに使用すべきソフトウェア(S/W)を、新しいモデルのシステム上にインストールし、そのCPを用いて初期化する。NM用のファイルの作成を、BMのシステムに関する不可欠製品データ(VPD)を用いて行う。

Description

本発明は、ネットワーク器械、システム制御コンソールなどのクローズド・システムのハードウェアおよびソフトウェアの構成をアップグレードすることに関する。より詳細には、本発明により、システム・ブート中に、オペレーティング・システム(Operating System、OS)により、新しいハードウェア・コンポーネントが存在すること、またはそれまでに認識されたハードウェア・コンポーネントが存在しないことが検出されたときのユーザの対話を不要にするための技法が提供される。
コンピュータ技術の絶え間ない進歩とともに、システムは、ますます大規模で複雑になりつつある。たとえば、多くのサーバ型コンピュータが結合されて、何千ではないとしても、何百もの相互接続されたコンピュータ・プロセッサを含むことのできるマルチ・ノード・システムが形成されつつある。こうしたプロセッサは、多くの論理区画へと編成することができ、それらは複数のハードウェア管理コンソールにより制御されてマルチ・ノード・システムの様々な機能の制御、監視などが行われることになる。こうしたコンピュータ・システムは、極度に大規模な資源および購入者による経済的なコミットの好例である。コストの高さから、購入者は、そのシステム全体および管理コンソールのアップグレードを、この技術が変化するのと同じ速さでは行えまい。しかし、周辺装置およびソフトウェアを定期的に既存のコンピュータ・システムへと追加することは、その機能を、グラフィックスおよびビデオの処理、通信、ネットワーキング、ストレージなどの様々な領域で高めるために行われることになる。
さらに、他のいわゆる「クローズド」(closed)コンピュータ・システムが存在し、これらも今日のコンピュータに突き動かされる世界でより優勢となりつつある。「クローズド」システムは、通常、固定したハードウェアおよびソフトウェアの構成を有するシステムである。たとえば、こうしたシステムとしては、PDA(PersonalDigital Assistants)、携帯電話、セット・トップ・ボックス、自動車内に見られるような専用コントローラなどがありうる。さらに、こうしたタイプのシステムは、ネットワーク器械を含み、これは、特定のタイプのネットワーキングの応用に本質的に専用のコンピュータ・システムであり、アップデートするようには利用可能でない。そのような他の「クローズド」システムは、マルチプロセッシングまたはクラスタリング環境でともに結合される様々なコンピュータ・システムの制御に使用するハードウェア管理コンソールを含んでいる。また、ハードウェア管理コンソールは、しばしば、データ処理システム内の様々な区画の管理にも使用される。区画化とは、単一のシステム内にあるハードウェア資源(プロセッサ、メモリ、入出力アダプタ、通信アダプタなど)をそのシステム上で動作する複数のオペレーティング・システムのインスタンスへと割り当てることを指す。区画化は、物理的に、スイッチ、ルータなどによって、または論理的に、様々な命令およびデータが指定されたオペレーティング・システムのインスタンスだけに利用可能になるようにするアドレス変換技法を使用して、行うことができる。同様に、ハードウェア管理装置は、本発明の企図するまた別のタイプの「クローズド・システム」である。ハードウェア管理装置を使用すると、管理中のシステムの電源投入および電源断を行って構成要素が正しいシーケンスで初期化されるようにすることなど、コンピュータ・システム内に存在する様々な機能の制御または監視あるいはその両方が行われることになる。
特定のタイプのハードウェアおよびソフトウェアとともに動作するように構成されているデータ処理機器は、クローズド・システムと考えることができる。すべてではなくとも、ほとんどのクローズド・システムは、何らかのタイプの入出力装置を含み、これにより、ソフトウェアを更新することができるようになる。たとえば、PDAは、デスクトップPCへの接続を提供する同期ポートを有することができる。携帯電話は、無線接続を通してアクセスすることができ、コントローラは、通常、何らかのタイプの通信ポートを外部データへのアクセスのために含む。さらに、ハードウェア管理コンソールは、CD−ROMまたはディスケット・ドライブ、ならびに通信ポートなどの入出力装置を含むことができる。したがって、システムは、通常、その特定のソフトウェア構成に基づいて「クローズド」と考えられ、ハードウェア構成要素の追加およびそれに対応するデバイス・ドライバの提供(または企図)を行わない。
しかし、すべてのタイプのコンピュータと同様、しばしば、「クローズド」システムを新しいハードウェアおよびソフトウェアの構成要素で更新することが望ましい。この場合、各コンピュータ・システム・モデルに対する回復/インストール・イメージを作成しなければならない。回復/インストール・イメージは、メーカが、ソフトウェアを特定のタイプのコンピュータ上にプリロードするのに使用する。また、回復/インストール・イメージは、ハード・ドライブなどのマシンの主要な構成要素が万一故障した場合に、ユーザが、そのソフトウェアを再インストールするのにも使用することになる。マシン・モデルごとに別々の回復/インストール・イメージをもつことは、高価な提案であり、同じタイプのシステムの異なるモデルは、それぞれ、ソフトウェアの異なる基本セットを有するであろうから、これは、保守の問題を提示する。
さらに、多くのオペレーティング・システムでは、非対話的なハードウェア検出機能を含んではいるが、ユーザがログインし様々なコマンドを動作させてシステム・ソフトウェアのクリーン・アップを行うことを、新しいハードウェアが追加される、または診断プログラムを動作させる必要があるときなどに、要求している。このタイプの解決策は、ハードウェア管理コンソールを含めて、多くのコンピュータ・アプライアンスにとっては、これらがクローズド・システムであるために、実際的ではないことが理解されよう。
本発明などのシステムに対する必要を示す一例が現れるのは、新しいハードウェア構成要素がリリースされ、システム更新が望まれるときである。それまでのハードウェアに対して作成したのと同じイメージをインストールに対して使用した場合、オペレーティング・システム(AIX、Linux)は、ビデオ・カードやイーサネット(R)・カードなどの新しい(または削除された)ハードウェアを検出することになる。通常、初期化プログラムが、システム・スタートアップ(ブート)中に呼び出される。この初期化プログラムは、GUI(グラフィカル・ユーザ・インターフェース)によるユーザ対話がない場合には、普通、30秒などのあらかじめ設定した時間後にタイム・アウトすることになる。GUIは、普通、ユーザ・フレンドリなソフトウェア・アプリケーションであり、これにより、ユーザは、システムとのやり取りを、様々な表示されているアイコンから選択しまたは定義されたフィールドに直観的な単語のコマンドをタイプすることによって行えるようになり、実際のシステムのコマンドを覚えておき、DOSでのC:\プロンプトなどのコマンド・プロンプトのところに入力する必要がなくなる。
従来のシステムでは、初期化プログラムは、ユーザがシステムと対話しない場合、30秒後にタイム・アウトする。変更中のハードウェアが、ディスプレイ・モニタを制御するグラフィックス・アダプタまたはビデオ・アダプタ・カードであるときには、顕著な問題が存在するであろうことが理解できる。より具体的には、新しいディスプレイ・アダプタ・カードをインストールするとき、ディスプレイ・モニタは、システムを新しいデバイス・ドライバで初期化するまで機能しないことになるが、これは、初期化プログラムを動作させるまで起こり得ず、その初期化プログラムでは、ユーザからの入力がモニタ上に表示されるGUIを介して要求するのである。さらに、この状況は、初期化プログラムからのGUIが、通信アダプタ、拡張メモリなどの新しくインストールした装置からの入力を待っているときにも起こりうるが、その装置は、インストール中の適当なソフトウェアがなければ応答することができず、そのソフトウェアは、初期化プログラムに対するユーザ入力に依存してしまうのである。
したがって、クローズド・システムをユーザ対話なしに更新することをサポートする技法が必要とされていることがわかる。
従来技術とは対照的に、本発明では、ユーザがコンピュータ・システムの更新を初期化プログラムやコンフィギュレータ・ソフトウェア・ユーティリティなどと対話する必要なく、行えるようにする機構が提供される。
大まかに述べると、本発明により、メーカまたはサービス提供者は、ユーザへの提供時に、システムを新しく追加/削除されたハードウェアに自動的に適応するように構成することになるインストレーション・ファイルを作成できるようになる。
したがって、第1の態様によれば、本発明により、データ処理システムを自動的に構成する方法であって、基礎データ処理システムに関する回復ファイルを作成するステップと、前記回復ファイルを、前記基礎データ処理システムと異なる少なくとも1つの装置を有する修正データ処理システム上にインストールするステップと、構成ファイルを、前記修正データ処理システム上に含まれるソフトウェアを用いて生成するステップと、前記構成ファイルを、前記基礎データ処理システム上にインストールし、前記構成ファイルを自動的に呼び出すコマンドを追加するステップと、前記構成ファイルを、第2の修正データ処理システム上に、前記少なくとも1つの異なる装置の構成が、前記構成ファイルを自動的に呼び出すことによって行われるようにインストールするステップとを含む方法が提供される。
第2の態様によれば、本発明により、データ処理システムを自動的に構成するシステムであって、基礎データ処理システムに関する回復ファイルを作成する手段と、前記回復ファイルを、前記基礎データ処理システムと異なる少なくとも1つの装置を有する修正データ処理システム上にインストールする手段と、構成ファイルを、前記修正データ処理システム上に含まれるソフトウェアを用いて生成する手段と、前記構成ファイルを、前記基礎データ処理システム上にインストールし、前記構成ファイルを自動的に呼び出すコマンドを追加する手段と、前記構成ファイルを、第2の修正データ処理システム上に、前記少なくとも1つの異なる装置の構成が、前記構成ファイルを自動的に呼び出すことによって行われるようにインストールする手段とを含むシステムが提供される。
第3の態様によれば、本発明により、第1の態様の方法に従ってデータ処理システムを自動的に構成するプログラム命令を含む、コンピュータ可読媒体上に格納されるコンピュータ・プログラムが提供される。
好ましくは、構成ファイルは、第2の修正データ処理システム上で、それとのユーザ対話なしに呼び出される。
好ましくは、第2の修正データ処理システム上の構成ファイルは、前記第2の修正データ処理システムの構成を、その上にインストールされたオペレーティング・システム・ソフトウェアのユーザ変更なしに行うことを含む。
好ましくは、構成ファイルは、基礎データ処理システムに関する基礎的製品情報を格納する。
好ましくは、構成ファイルを第2の修正データ処理システム上にインストールすることは、第2の修正データ処理システムに関連付けられている第2の製品情報を読み取ること、基礎的製品情報を、第2の製品情報と比較すること、および、基礎的製品情報と第2の製品情報が一致しないときに、構成ファイルを自動的に呼び出すことを含む。
あるいは、構成ファイルの自動的な呼び出しは、第2の修正データ処理システムが、少なくとも1つの異なる装置のインストール後、初めて初期化中であるときに行われる。
好ましくは、第2の修正データ処理システムとのユーザ対話は、基礎的製品情報が前記第2の製品情報と一致するときに可能になる。
あるいは、前記第2の修正データ処理システムとのユーザ対話は、第2の修正データ処理システムが、少なくとも1つの異なる装置のインストール後、初めての次に初期化中であるときに可能になる。
好ましいある実施形態では、システム提供者は、コンピュータ・システムの基礎モデルと、新しいグラフィックス・アダプタ、通信アダプタ、入出力コントローラなど、1つまたは複数の異なる構成を含むそのシステムの新しいモデルと、どちらも維持することになる。提供者は、基礎モデルとともに使用すべき回復/インストール・イメージの作成を終えている。コンフィギュレータ・プログラムを含むオペレーティング・システムは、基礎モデルのシステムと新しいモデルのシステムのどちらでも動作している。
次に、新しいモデルの追加したハードウェアとともに使用すべきデバイス・ドライバなどの新しいソフトウェアを、提供者の新しいモデルのシステム上にインストールし、コンフィギュレータ・プログラムを用いて初期化する。新しいモデルに対するファイルを、基礎モデル・システムに関する不可欠製品データを用いて作成する。次いで、この新しいモデルの構成ファイルを基礎モデルのマシン上にインストールし、そのコンフィギュレータ・プログラムを動作させる。次いで、構成情報を(新しいモデルの構成データを含めて)保存し、スクリプト・ファイルをこの構成情報に追加する。スクリプト・ファイルは、マクロ・ファイルまたはバッチ・ファイルを表す別の用語であり、スクリプトとは、ユーザ対話なしに実行できるコマンドのリストである。スクリプト言語は、プログラマがスクリプトを書くのに使用できる簡単なプログラミング言語である。
可能な多くの想定状況のうちの1つでは、次いで、このイメージ(新しいモデルのシステムに対する構成データおよびスクリプト・ファイル)を、CDへとキャプチャする。もちろん、他のどのようなタイプのコンピュータ可読媒体またはファイル転送の方法も、本発明の範囲で企図している。
次いで、この新しいモデルのイメージを、システム提供者の使用する新しいモデルのシステムと同じ構成を有するエンド・ユーザに、利用可能にする。たとえば、特定のグラフィックス・アダプタの更新が必要である場合、新しいモデルのシステムは、この新しいグラフィックス・アダプタを除き、基礎モデルと同じになる。すると、提供者は、新しいモデルのイメージをユーザへ、アダプタと一緒に供給できることになり、ユーザは、アダプタの物理的なインストールを行い、その構成を、オペレーティング・システム内のコンフィギュレータ・ユーティリティの呼び出しを必要とせずに行うことができる。
より具体的には、新しいモデルのイメージ内のスクリプト・ファイルにより、起動の優先度が指定され、これにより、スクリプト・ファイルを、コンフィギュレータ・プログラムよりも先に呼ぶことが可能になり、スクリプト・ファイルにより、ユーザの新しいモデルのシステムの初期化を、システム提供者の新しいモデルのマシンから取り込んだ適当なソフトウェアによって行うことが開始される。
したがって、ここまでの要約に従って、本発明の目的、特徴、および利点は、添付の図面と併せ解釈する後続の説明および添付の特許請求の範囲から、当業者には明らかとなろう。
コンピュータ・アプライアンスは、通常、固定したハードウェアおよびソフトウェアの構成を有するクローズド・システムである。そのようなあるシステムの一例が、IBM p690 eServerデータ処理システムの管理に使用されている、IBMハードウェア管理コンソールである。通常、ハードウェアは、ペンティアム(R)・クラスのマイクロプロセッサなどを含む、パーソナル・コンピュータ(personal computer、PC)である。
LINUXは、ある基準を満たす限り実質的に無償で提供される、比較的新しいUNIX(R)ライクなオペレーティング・システムである。このオペレーティング・システムは、商用コンピュータ・システム・ベンダの間で利用および人気が高まっている。本発明のある実施形態では、初期化中のクローズド・システムで、LINUXオペレーティング・システムを動作させている。LINUXオペレーティング・システムの配布に関連するある可能な基準とは、変更を行った場合に、特定の記述および表明(statements and assertions)をそのプログラムの変更している人または団体が行うことである。新しくインストールしたハードウェアを構成するためにLINUXを修正することにより、LINUXオペレーティング・システムに含まれるデバイス・ドライバなどの修正が引き起こされる可能性もあることが理解されよう。これは、自らのライセンス権を保護するために、構成プログラムを動作させて変更したコードに関する言明を作成するユーザの負担になる可能性もある。したがって、本発明の別の可能な利点は、LINUXオペレーティング・システム中のヘッダ・ファイルおよび他の所有権に関する言明を変更する負担がエンド・ユーザから取り除かれることである。これにより、LINUXユーザが、このオペレーティング・システムの自分のコピーを、標準のライセンス許諾条項のもとで維持する能力が、最小限の影響で保護されることになる。
好ましい一実施形態によれば、(LINUXを含めて)ソフトウェアはすべて、第1のシステム上にインストールされる。次いで、ソフトウェア・イメージ(そのシステム上のソフトウェアすべてのスナップショット)は、回復/インストールCD上へとキャプチャされる。このCDは、製造中、システムをプリロードするのに、また顧客が、データがハード・ディスクから失われたときに自分のシステムを修復するのに使用する。従来の回復/インストールCDを使用することにより、ユーザが複雑な再インストール手順を踏んでいく必要が省かれ、さらに、ユーザは、必要なソフトウェアがすべて一貫性のある形でインストールされることが保証される。この従来の解決策では、初期化中のシステムに同じハードウェアが接続されていることを仮定している。すなわち、初期化中のシステムは、第1の、または基礎システムに等しいという仮定がなされているのである。しかし、新しいハードウェアへと移行する必要が、そのパフォーマンスが改善され、コストが低下するに連れて、常に存在するため、この従来の方法は問題となる。特に、新しいハードウェアがリリースされたときには、それまでのハードウェアから作成された同じソフトウェア・イメージ(すなわち、基礎システム)をインストールに使用した場合、オペレーティング・システム(LINUX)は新しいまたは削除したあるいはその両方のハードウェアを検出し、ユーザと対話して、新しいハードウェアの構成または古いハードウェア(イーサネット(R)、ビデオ・カード、グラフィックス・アダプタ、など)の削除あるいはその両方を行う。LINUXの場合、「Kudzu」と呼ばれる初期化プログラムは、システム初期化中に呼び出され、ユーザがこのプログラムに、キーボード上でタイプすること、またはマウスで項目を選択することなどによって、どのような入力も与えない場合には、30秒後にタイム・アウトする。これが起きているときに、たとえば、新しいシステム内に新しいビデオ・アダプタが存在した場合には、ユーザは、モニタ上に表示されるGUI(グラフィカル・ユーザ・インターフェース)を見ることができないことになる。このタイプの状況では、初期化プログラムはタイム・アウトさせられることになり、システムを新しいハードウェアで動作するように再構成することができない可能性がある。
本発明により、システム・ブート中に、オペレーティング・システムが新しいまたは削除したあるいはその両方のハードウェアを検出したときのユーザ対話が不要になる。本発明の動作は、ユーザが、オペレーティング・システム(この例ではLINUX)に含まれる既存のソフトウェア・ユーティリティ・プログラムを変更する必要のない形で行われる。これは、LINUXのライセンス許諾に対して、「フリー」のオペレーティング・システムであるというその要件が理由で存在している、特定の制約のために、LINUXベンダにとってはさらなる利点となる可能性がある。
本発明の好ましい一実施形態およびその諸利点のよりよい理解のためには、図面を参照されたい。同じ符号は、添付の図面の同じで対応する部品に使用している。
図1を参照すると、本発明と併せて使用できる典型的なデータ処理システムを示している。中央処理装置(CPU)10は、IBMコーポレーションから市販のPowerPCマイクロプロセッサ、または、インテル・コーポレーション他から市販のIA32、IA64クラスのマイクロプロセッサを含み、他の様々なシステムの構成要素へとシステム・バス12を介して相互接続することができる。ROM(読み出し専用メモリ)16は、CPU10へとバス12を介して接続され、基本的なコンピュータの機能を制御するBIOS(基本入出力システム)を含む。また、RAM(ランダム・アクセス・メモリ)14、入出力アダプタ18、および通信アダプタ34も、システム・バス12へと接続されている。入出力アダプタ18は、ディスク・ストレージ装置20および読み取り/書き込み(R/W)CD21と通信するSCSI(Small Computer System Interface)アダプタとすることができる。通信アダプタ34は、バス12を、インターネットなどの外部のネットワークと相互接続するDSL(DigitalSubscriber Line、デジタル加入者線)カードまたはイーサネット(R)・カードなどのネットワーク・カードとすることができる。また、モデム40も含めることができ、これは、バス12へと接続されて、このデータ処理システムが通信を、そのような他のシステムとインターネットを介して、または他の通信ネットワーク(LAN、WAN)と電話回線を介して行えるようにしている。また、ユーザ入出力装置も、システム・バス12へとユーザ・インターフェース・アダプタ22およびディスプレイ・アダプタ36を介して接続されている。キーボード24、トラック・ボール32、マウス26、およびスピーカ28は、すべてバス12へとユーザ・インターフェース・アダプタ22を介して接続されている。ディスプレイ・モニタ38のシステム・バス12への接続は、ディスプレイ・アダプタ36によって行われる。こうして、ユーザは、システムへの入力をキーボード24、トラック・ボール32、またはマウス26を通して、システムからの出力の受け取りをスピーカ28およびディスプレイ38によって行えるようになっている。さらに、DOS、OS/2、Windows(R)オペレーティング・システムなどのオペレーティング・システム(OS)39を、CPU10上で動作するものとして示してあり、これは、図1に示した様々な構成要素の機能を調整するのに使用する。
図2を参照すると、本発明の好ましい一実施形態を実装できるデータ処理システムのネットワークの絵画図を示している。ネットワーク・データ処理システム50は、本発明を実装できる、コンピュータからなるネットワークである。ネットワーク・データ処理システム50は、ネットワーク52を含み、これは、ネットワーク・データ処理システム50内部でともに結合される様々な装置およびコンピュータの間の通信リンクの提供に使用する媒体である。ネットワーク52は、有線、無線の通信リンク、光ファイバ・ケーブルなどの接続を含むことができる。
ここに示す例では、サーバ54は、ネットワーク52へと、ストレージ・ユニット56と並んで接続されている。さらに、クライアント58、60、および62も、ネットワーク52へと接続されている。ネットワーク52は、有線や光ファイバ・ケーブルなどの永続的な接続、または電話接続によって行われた一次的な接続を含むことができる。また、通信ネットワーク52は、他のパブリックまたはプライベートあるいはその両方のWAN(Wide Area Network)、LAN(Local Area Network)、無線ネットワーク、データ通信ネットワークまたは接続、イントラネット、ルータ、衛星リンク、マイクロ波リンク、携帯電話網または電話網、無線リンク、光ファイバ伝送回線、ISDN回線、T1回線、DSLなども含むことができる。一部の実施形態では、ユーザ装置の接続を、直接サーバ54に、本発明の範囲から逸脱することなく行うことができる。しかも、本明細書で使用する通信は、有線または無線の技術によって可能となるものを含む。
クライアント58、60、および62は、たとえば、パーソナル・コンピュータ、ポータブル・コンピュータ、モバイルまたは固定のユーザ・ステーション、ワークステーション、ネットワーク端末またはサーバ、携帯電話、キオスク、ダム端末、PDA(Personal Digital Assistants)、双方向ページャ(ポケットベル)、スマート・フォン、情報機器、またはネットワーク・コンピュータとすることができる。この適用の目的では、ネットワーク・コンピュータは、ネットワークに接続され、プログラムまたは他のアプリケーションをそのネットワークに接続されている別のコンピュータから受け取る任意のコンピュータである。
ここに示す例では、サーバ54は、クライアント58〜62に、ブート・ファイル、オペレーティング・システムのイメージ、アプリケーションなどのデータを提供している。クライアント58、60、および62は、サーバ14に対するクライアントである。ネットワーク・データ処理システム50は、追加のサーバ、クライアント、および他の装置(図示せず)を含むことができる。ここに示す例では、ネットワーク・データ処理システム50は、TCP/IPプロトコル群を使用して相互に通信するネットワークおよびゲートウェイの世界規模の集まりに相当する、ネットワーク52を伴うインターネットである。インターネットの中心には、データおよびメッセージを回送する数千の商用、政府用、教育用および他のコンピュータ・システムからなる主要なノードまたはホスト・コンピュータ間の高速データ通信回線のバックボーンが存在する。もちろん、ネットワーク・データ処理システム50も、たとえば、イントラネット、LAN、WANなどのいくつもの異なるタイプのネットワークとして実装することができる。図2は、本発明に対するアーキテクチャ上の制限としてではなく、一例として意図している。
図3は、本発明を実装できるデータ処理システムのより詳細な構成図である。データ処理システム100は、システム・バス106へと接続される複数のプロセッサ101、102、103、および104を含む対称型マルチプロセッサ(SMP、Symmetric MultiProcessor)システムとすることができる。たとえば、データ処理システム100は、あるネットワーク内部のサーバとして実装された、ニューヨーク州アーモンク(Armonk,New York)にあるインターナショナル・ビジネス・マシーンズ・コーポレーション(IBM)の一製品である、IBM pSeries eServerであってもよい。あるいは、シングル・プロセッサ・システムを使用することもできる。また、システム・バス106には、メモリ・コントローラ/キャッシュ108も接続されており、これにより、複数のローカル・メモリ160〜163へのインターフェースが提供される。入出力バス・ブリッジ110は、システム・バス106に接続され、これにより、インターフェースが入出力バス112に提供される。メモリ・コントローラ/キャッシュ108および入出力バス・ブリッジ110は、ここに示したように組み込みとすることができる。
データ処理システム100は、論理区画化されたデータ処理システムである。したがって、データ処理システム100には、同時に動作する複数の異種のオペレーティング・システム(または単一オペレーティング・システムの複数のインスタンス)がある可能性がある。こうした複数のオペレーティング・システムのそれぞれには、その内部で実行されるどのような数のソフトウェア・プログラムがあってもよい。データ処理システム100は、異なる入出力アダプタ120〜121、128〜129、および148〜149を異なる論理区画へと割り当てることができるように論理区画化されている。
そこで、たとえば、データ処理システム100が、3つの論理区画、P1、P2、およびP3へと分割されていると仮定する。入出力アダプタ120〜121、128〜129、136、および148〜149のそれぞれ、プロセッサ101〜104のそれぞれ、ならびにローカル・メモリ160〜163のそれぞれが、3つの区画のうちの1つに割り当てられる。たとえば、プロセッサ101、メモリ160、および入出力アダプタ120、128、および129は、論理区画P1に割り当てることができ、プロセッサ102〜103、メモリ161、および入出力アダプタ121および136は、区画P2に割り当てることができ、プロセッサ104、メモリ162〜163、および入出力アダプタ148〜149は、論理区画P3に割り当てることができる。
データ処理システム100内部で実行されるオペレーティング・システムのイメージは、それぞれ異なる論理区画に割り当てられる。したがって、データ処理システム100内部で実行されるオペレーティング・システムのイメージは、それぞれ、その論理区画内部にある入出力ユニットにだけアクセスすることができる。
入出力バス112に接続されているPCI(Peripheral ComponentInterconnect、周辺機器相互接続)ホスト・ブリッジ114により、PCIローカル・バス115へのインターフェースが提供される。いくつもの入出力アダプタ120〜121を、PCIバス115へと接続することができる。典型的なPCIバスの実装でサポートされるのは、4個から8個の入出力アダプタ(すなわち、アド・イン・コネクタ用の拡張スロット)である。入出力アダプタ120〜121により、それぞれ、データ処理システム100と、たとえば、データ処理システム100に対するクライアントである、他のネットワーク・コンピュータなどの入出力装置との間のインターフェースが提供される。
追加のPCIホスト・ブリッジ122により、追加のPCIバス123に対するインターフェースが提供される。PCIバス123は、複数のPCI入出力アダプタ128〜129へと、PCIバス126〜127によって接続される。したがって、たとえば、モデムまたはネットワーク・アダプタなどの追加の入出力装置のサポートは、PCI入出力アダプタ128〜129のそれぞれを通して行うことができる。このようにして、データ処理システム100により、複数のネットワーク・コンピュータへの接続が可能になっている。
メモリ・マップト・グラフィックス・アダプタ148の入出力バス112への接続は、PCIホスト・ブリッジ140およびEADS142(PCI−PCIブリッジ)を通して、PCIバス144および145を介して、図に示すように行われる。また、ハード・ディスク150の入出力バス112への接続も、PCIホスト・ブリッジ140およびEADS142を通して、PCIバス141および145を介して、図に示すように行われる。
PCIホスト・ブリッジ130により、入出力バス112への接続のためのPCIバス131に対するインターフェースが提供される。PCIバス131により、PCIホスト・ブリッジ130が、サービス・プロセッサ・メールボックス・インターフェースおよびISAバス・アクセス・パス・スルー論理194およびEADS132へと接続される。ISAバス・アクセス・パス・スルー論理194により、PCI/ISAブリッジ193へと向かうPCIアクセスが転送される。NVRAMストレージは、ISAバス196へと接続されている。サービス・プロセッサ135は、サービス・プロセッサ・メールボックス・インターフェース194へと、そのローカルPCIバス195を通して結合される。また、サービス・プロセッサ135は、プロセッサ101〜104へも、複数のJTAG/ICバス134を介して接続される。JTAG/ICバス134は、JTAG/スキャン・バス(IEEE1149.1を参照されたい)とフィリップスICバスを組み合わせたものである。しかし、代替方法として、JTAG/ICバス134は、フィリップスICバスのみで、または、JTAG/スキャン・バスのみで置き換えてもよい。ホスト・プロセッサ101、102、103、および104のSP−ATTN信号はすべて、まとめてサービス・プロセッサの割り込み入力信号へと接続される。サービス・プロセッサ135は、それ自体のローカル・メモリ191をもち、ハードウェア操作パネル190にアクセスできる。
データ処理システム100の電源が初めに投入されると、サービス・プロセッサ135は、JTAG/スキャン・バス134を使用してシステム(ホスト)・プロセッサ101〜104、メモリ・コントローラ108、および入出力バス・ブリッジ110に対する問い合わせを行う。このステップの完了時には、サービス・プロセッサ135は、データ処理システム100の一覧およびトポロジ(位相幾何学)的認識をもっている。また、サービス・プロセッサ135は、BIST(Built-InSelfTest)、BAT(Basic Assurance Test)、およびメモリ検査を、システム(ホスト)・プロセッサ101〜104、メモリ・コントローラ108、および入出力バス・ブリッジ110に対する問い合わせによって見つかった要素すべてに対して行う。BIST、BAT、およびメモリ検査の間に検出した障害についてのエラー情報は、どのようなものでもサービス・プロセッサ135が収集し報告を行う。
BIST、BAT、およびメモリ検査の間に欠陥があるとわかった要素を取り除いた後でもなお、システム資源の意味のある/有効な構成が可能である場合には、データ処理システム100は、実行可能コードのローカル(ホスト)・メモリ160〜163へのロードへと進むことができる。次いで、サービス・プロセッサ135は、ホスト・プロセッサ101〜104を、ホスト・メモリ160〜163へとロードしたコードの実行のために解放する。ホスト・プロセッサ101〜104が、データ処理システム100内部のオペレーティング・システムそれぞれからのコードを実行している間、サービス・プロセッサ135は、エラーを監視し報告するモードに入る。サービス・プロセッサの監視する項目のタイプとしては、たとえば、冷却ファンのスピードおよび動作、温度センサ、電源レギュレータ、ならびに、プロセッサ101〜104、メモリ160〜163、およびバス・ブリッジ・コントローラ110の報告する回復可能なおよび回復不可能なエラーがある。
サービス・プロセッサ135は、データ処理システム100内の監視される項目すべてに関するエラー情報を保存し報告する役目を受け持つ。また、サービス・プロセッサ135は、エラーのタイプおよび定義されたしきい値に基づいて処置を取る。たとえば、サービス・プロセッサ135は、あるプロセッサのキャッシュ・メモリについて過度の回復可能なエラーの記録を取り、これがハード障害の前兆となると判断することができる。サービス・プロセッサ135は、この判断に基づいて、その資源を、現在の動作セッションおよび将来のIPL(Initial Program Load)の間に再構成するようにマークすることができる。IPLは、「ブート」または「ブートストラップ」と呼ばれることもある。
図3に示すハードウェアは、変わりうることが当業者には理解されよう。たとえば、光ディスク・ドライブなどの他の周辺装置も、ここに示したハードウェアのほかにまたは代わりに使用することができる。ここに示した例は、本発明に関するアーキテクチャ上の制限を意味するものではない。
図4は、本発明を実装できる例示的な論理区画化されたプラットフォームの構成図である。論理区画化されたプラットフォーム200は、(基礎ハードウェアとも呼ばれる)区画化されたハードウェア230、ハイパーバイザ210とも呼ばれる、区画管理ファームウェア、および区画201〜204を含む。区画201〜203の内部には、オペレーティング・システム201a〜203aが存在する。オペレーティング・システム201a〜203aは、単一のオペレーティング・システム201a〜203aの複数のコピー、または、プラットフォーム200上で同時に動作する複数の異種のオペレーティング・システムとすることもできる。
また、論理区画化されたプラットフォーム200は、指定サービス区画204を含む。サービス区画204を、システム管理者は、パラメータの設定、ファームウェア更新のインストール、および他のサービス機能の実現のために使用することができる。
こうした区画201〜203のうちの1つまたは複数を、システム管理者はリモートで使用することができる。サービス区画204は、通常、リモートで管理されることはない。
区画化されたハードウェア230は、複数のプロセッサ232〜238、複数のシステム・メモリ・ユニット240〜246、複数の入出力アダプタ248〜262、およびストレージ・ユニット270を含む。プロセッサ232〜238、システム・メモリ・ユニット240〜246、NVRAMストレージ298、入出力アダプタ248〜262のそれぞれを、複数の区画201〜204のうちの1つへと割り当てることができる。
また、区画化されたハードウェア230は、サービス・プロセッサ290を含む。DRAMデバイスなどの不揮発性メモリ装置291が、サービス・プロセッサ290内部には含まれている。本明細書で説明する区画テーブルおよびファームウェア・イメージ、ならびに他の情報が、サービス・プロセッサ・メモリ装置291内部に含まれている。
区画管理ファームウェア(ハイパーバイザ)210では、論理区画化されたプラットフォーム200の区画化を作成し実施するために、区画201〜203に関するいくつもの機能およびサービスが実現される。ハイパーバイザ210は、下位にあるハードウェアと同等の、ファームウェア実装された仮想マシンである。ファームウェアとは、たとえば、ROM(読み出し専用メモリ)、PROM(プログラマブルROM)、EPROM(消去可能PROM)、EEPROM(電気的消去可能PROM)、不揮発性RAMなど、その内容を電力なしで保持するメモリ・チップ内に格納されている「ソフトウェア」である。したがって、ハイパーバイザ210では、独立したオペレーティング・システムのイメージ201a〜203aの同時実行が、論理区画化されたプラットフォーム200のハードウェア資源すべてを仮想化することによって可能になる。ハイパーバイザ210では、入出力装置を入出力アダプタ248〜262を通して単一の仮想マシンへと接続することを、オペレーティング・システムのイメージ201a〜203aのうちの1つで使用するための排他的モードで行うことができる。
ハードウェア管理コンソール(HMC)280などのハードウェア管理装置は、本発明の好ましい一実施形態に従って、論理区画化されたプラットフォーム200を含むデータ処理システム100へと結合することができる。HMC280は、サービス・プロセッサ290へと結合された別個のコンピュータ・システムであり、ユーザはこれを、データ処理システム100の様々な機能の制御を、サービス・プロセッサ290を通して行うのに使用することができる。HMC280は、ユーザがリブートすべき区画の選択に使用できるGUI(グラフィカル・ユーザ・インターフェース)を含む。
HMC280は、AIX、LINUXなどのオペレーティング・システムのイメージ282およびサービス・アプリケーション284を含む。サービス・アプリケーション284は、エラー・メッセージを様々な区画201〜204から受け取る。また、サービス・アプリケーション284は、ハートビート信号を定期的な間隔で生成し、このハートビート信号を、オペレーティング・システム282を介して、サービス・プロセッサ290へと出力する。
次に、本発明の初期化技法を、HMC280などのハードウェア管理コンソールと併せて説明する。しかし、本発明の範囲は、ハードウェア管理、PDA、ネットワーク器械、埋め込みコントローラなど、どのようなクローズド型システムにも、等しい重みで適用されることを了解されたい。
本発明の好ましい一実施形態のある例として、2つのコンピュータ・システムを考える。第1のシステムをbaseModel、変更したシステムをnewModelと呼ぶことにする。baseModelは、元になる回復/インストール・イメージが作成するコンピュータ・システムであり、newModelは、たとえば、新しく追加/削除したアダプタを伴う異なるハードウェア構成などを含む、新しいハードウェア・プラットフォームである。newModelが、回復/インストール・イメージを伴うソフトウェアをインストールすることになるシステムである。
第1のステップとして、ソフトウェアすべてをnewModelシステム上にインストールし、次いで、システム提供者が、newModelのコンフィギュレータ・プログラム(Linuxの場合にはKudzu)と対話して、newModelシステム上のハードウェアすべての構成を行う。次いで、構成ファイルのすべてをキャプチャする。こうしたファイルとしては、システム提供者のnewModel上に現在インストールされている、ロード後の(loaded)デバイス・ドライバのイメージ、ハードウェア構成、X−Windows(R)などのXコンフィギュレーション、Motifコンフィギュレーション(Unix(R)ベース・システム上のGUIを提供する)などがある。newModelのイメージは、<newModelの製品番号>.tar、<currentModelの製品番号>.tarなどと呼ぶファイルに格納されるが、ここで、newModelの製品番号とは、newModelコンピュータ・システムのBIOS内に格納されている製品番号である。
次に、<newModelの製品番号>.tarファイルをbaseModelシステム上にインストールする。次いで、提供者はbaseModelのコンフィギュレータ・プログラムと対話して、baseModelシステム上のハードウェアすべてを構成する。次いで、newModelシステムからキャプチャしたtarファイルを、baseModelの製品番号とともに、baseModelシステム上の知られている場所へとコピーする。次いで、システム・ブート時に、コンフィギュレータ・プログラムより前に実行されることになるスクリプト・ファイルを準備する。ある実施形態では、newModelは、変更されたハードウェア管理コンソールとすることができ、スクリプト・ファイルは、hmcConfigなどの名前になるはずである。Linuxオペレーティング・システム環境では、スクリプト・ファイルの作成を、ユーティリティchkconfigを用いて行い、そのスクリプトを/etc/rc.d/ディレクトリの下に追加することができる。スクリプト・ファイルの中では、起動優先度が指定してあり、これにより、そのスクリプトをコンフィギュレータ・プログラム、すなわちKudzuよりも前に呼び出せることになる。このスクリプトは、newModel上で起動すると、newModelマシンの製品名をそのコンピュータ・システムのBIOS(基本入出力システム)から読み取り、この情報を使用して、特定のハードウェア構成ファイルを更新すべきかどうかを決定する必要がある。次いで、<newModelの製品番号>.tarファイルを含むイメージおよびスクリプト・ファイルをCD上にキャプチャする。CDは、使用することのできる多くの適切なファイル転送方法のうちの1つに過ぎないことが理解されよう。たとえば、テープ、ディスケット、ネットワーク接続などはすべて、本発明の範囲で企図しているものである。
次いで、キャプチャしたイメージ(.tarファイルおよびスクリプト)を、エンド・ユーザのnewModelマシン上に、CDドライブを使用することなどによって、インストールする。システムを初めてリブートするときに、スクリプト・ファイルが呼び出され、マシンのモデル番号が決定されることになる。newModelの番号がbaseModelと同じでなかった場合(通常、異なっている)、スクリプト・ファイルでは、newModelマシンの不可欠製品データ(VitalProduct Data; VPD)を使用して、<newModelの製品番号>.tarファイルのルック・アップを行うことになる。次いで、この.tarファイルにより、ハードウェア構成ファイルが、キャプチャしたイメージからインストールされる。次いで、エンド・ユーザのnewModelマシン上のコンフィギュレータ・プログラムが呼び出されるが、ユーザ対話は、それまでに復元された必要なハードウェア構成ファイルのすべてがnewModelシステムと一致することになるので、必要ではない。スクリプト・ファイルの動作を1度だけ行う。続いてのリブートで、スクリプトは直ちに終了し、次いで、ユーザには、コンフィギュレータ・プログラムと対話する資格が与えられる。すなわち、本発明では、向上したハードウェア構成のインストールを可能にする方法を提供しているが、ユーザが、それに続くアップグレード中にコンフィギュレータ・プログラムと対話するのを妨げてはいないのである。したがって、すでにインストール済みのシステムにハードウェアを追加し、コンフィギュレータ・プログラムに検出を任せることは依然として可能である。さらに、baseModelが古くなったときに、する必要があるのは、/opt/hsc/bin/baseModel.datファイルを、新しいbaseModelの新しい不可欠製品名で更新することだけである。
上で説明したプロセスに関する擬似コードおよびコメントを、下に示す。

if [!-f <あるディレクトリ>/executed_for_first_time]
exit 0

# VPDモデルをBIOSから読み出し、現在のマシンの製品番号を
# 見つける

baseModel=`cat/opt/hsc/bin/baseModel.dat`
currentModel=`readVPD -productNumber`

# マシンのモデル番号が基礎モデルと同じでなかった場合、
# 製品番号を使用してtarファイルのルック・アップを行い、
# 次いで、必要な構成ファイルを復元する
if [ $currentModel != $baseModel ]
if [ -f <あるディレクトリ>/$currentModel.tar]
tar -xf <あるディレクトリ>/$currentModel.tar

rm -f <あるディレクトリ>/executed_for_first_time
exit 0
次に、図5を参照して、本発明の好ましい一実施形態の操作を説明する。符号1は、第1の、すなわち基礎モデルのデータ処理システムを指し、プロセッサ10を含むが、これはこれまでに説明した通りである。さらに、図1に示すものに類似の構成要素も含めてある。より具体的には、バス12は、ネットワーク・アダプタ34、入出力アダプタ18、ディスプレイ・アダプタ36、およびユーザ・インターフェース・アダプタ22の相互接続に使用する。また、シリアル・ポートなどの追加の入出力アダプタ37も含まれており、本発明に従って基礎モデルのソフトウェアを更新するのに使用することができる。また、基礎モデル1は、バス12へと上記のアダプタを通して結合される様々な周辺装置も含むことが理解されよう。たとえば、キーボード24およびマウス26は、ユーザ・インターフェース・アダプタ22へと結合される。ディスプレイ・モニタ38は、ディスプレイ・アダプタ36と併せて動作する。入出力アダプタ18は、ディスク・ストレージ20および読み取り/書き込みCDドライブ21のバス12への相互接続に使用する。したがって、バス12は、データの転送を様々な周辺装置とプロセッサ10の間で行うのに使用することが理解されよう。LINUXなどのオペレーティング・システム39を、プロセッサ10上で動作する動作するものとして示している。このオペレーティング・システムは、LINUXの場合ではKudzuなどのコンフィギュレータ・プログラム43を含み、これがシステムの初期化に使用されることになる。
上に記したように、しばしば、新しい構成要素を特定のデータ処理基礎モデルに追加してその機能を高めることが望ましい。これは、新しい様々なアダプタ・カードなどの追加によって行われ得る。符号2は、新しいモデルを示しており、これは、たとえば、新しいハードウェアまたはソフトウェアあるいはその両方を含む、アップグレードされた基礎モデルである。もちろん、本発明では、システム構成におけるどのような変更も、それまでにインストールしたハードウェアが存在しないこと、または既存のハードウェアの強化したバージョンを含めて、企図している。
この例では、新しいモデルのシステム2内に含まれるアダプタは、基礎モデル1内のアダプタと比べたとき、実質的にアップグレードされている。すなわち、新しいまたは強化された、ディスプレイ・アダプタ46、ユーザ・インターフェース・アダプタ42、入出力アダプタ48、およびネットワーク・アダプタ44がすべて、新しいモデル2内で提供されている。新しいモデル2内の残りの構成要素およびソフトウェアは、基礎モデル1に含まれているものと同じであり、同じ符号で同定してあることが理解されよう。さらに、新しいソフトウェア41が提供されており、これは、新しいハードウェアと併せて使用するデバイス・ドライバおよび他の初期化型プログラムを含むことになる。図5に示すように、新しいモデルのデータ処理システム2は、メーカ、または他のシステム提供者が、本発明のユーザ独立の初期化プロセスを構成するのに利用することになる。
さらに、図5に、新しいモデル2に実質的に同等なシステムを示しており、これをHMC280と同定してある。しかし、HMC280は、本発明で企図するクローズド・システムの一タイプでしかないことを了解されたい。これまでに触れたハードウェア管理装置、PDA、セット・トップ・ボックス、埋め込みコントローラなども、本発明の範囲内にあるものと考えている。HMC280とは、実は基礎モデル1であり、ただ新しいモデル2に示す新しい構成要素を伴うものであることが当業者には了解されよう。ありそうな想定状況では、あるユーザが、基礎モデル1のシステムを購入し、そのシステムをある期間使用した後で、そのシステムを、ディスプレイ・アダプタ46、ユーザ・インターフェース・アダプタ42、入出力アダプタ48、またはネットワーク・アダプタ44あるいはそれらの組み合わせで更新することになるはずである。こうして、そのユーザは、新しいモデル2のシステムを効率よく得ることになる。
次に、HMC280の初期化をユーザ対話なしで可能にする本発明の操作の説明を、図5のほかに、図6を参照して行うことにする。
ステップ1で、ユーザ独立な初期化プロセスを開始し、基礎モデル1の再インストール回復イメージの作成、およびコンパクト・ディスク上などへの格納を、ステップ2で行う。次に、作成した再インストール/回復イメージおよび新しいソフトウェア41のインストールを、図5に示すように提供されているデータ処理システムの新しいモデル2上で行う(ステップ3)。具体的には、新しいソフトウェアおよびハードウェアの構成要素のインストールを新しいモデル2上で行うのである。次いで、ステップ4で、システム提供者は、新しいモデル2のコンフィギュレータ・プログラム43(Linuxの場合、Kudzu)と対話して、新しいモデルのシステム2乗のハードウェアすべてを構成する。次いで、構成ファイルのキャプチャを行う。こうしたファイルとしては、システム提供者のnewModel上に現在インストールされている、ロードされたデバイス・ドライバのイメージ、ハードウェア構成、X−Windows(R)などのXコンフィギュレーション、Motifコンフィギュレーション(Unix(R)ベース・システム上のGUIを提供する)などがある。次いで、ステップ5で、newModelのイメージを1つのファイル、すなわち<newModelの製品番号>.tarとして格納するが、ここで、newModelの製品番号とは、newModelコンピュータ・システムのBIOS内に格納されている製品番号である。
次いで、新しく作成した<newModelの製品番号>.tarファイルにキャプチャした(ステップ5)、新しいモデル2の構成ファイルを、基礎モデル1上へと、ステップ6でインストールする。図5から、基礎モデル1と新しいモデル2のどちらの上の入出力アダプタ37の間のファイル転送は、<newModelの製品番号>.tarを新しいモデル2から基礎モデル1へと転送し、これをそこにインストールするための1つの機構として示してあることが理解されよう。このファイルを基礎モデル1上へとインストールするのに使用できるはずの他の多くの転送技法を、ファイルをテープ、CD、または他のストレージ媒体に書き込むこと、および、次いでファイルをその媒体からシステムへとインストールすることを含めて、本発明で企図していることが理解されよう。<newModelの製品番号>.tarの基礎モデルのシステム1へのインストール後、次いで、データ処理システムの提供者は、基礎モデル1のコンフィギュレータ・プログラム43と対話して、基礎モデルのシステム1上のハードウェアのすべてを構成する(ステップ7)。構成後、新しいモデルのシステム2からキャプチャしたtarファイルを、次いで、基礎モデル1上の知られている場所へとコピーする(ステップ8)。さらに、スクリプト・ファイル次いで、次のシステム・ブート時に実行され、コンフィギュレータ・プログラム43が、次のその逐次的なブート操作中に動作することを除外することになるスクリプト・ファイルを準備する。ある実施形態では、newModelは、変更されたハードウェア管理コンソールとすることができ、スクリプト・ファイルは、hmcConfigなどの名前になるはずである。上に記したように、Linuxオペレーティング・システム環境では、スクリプト・ファイルの作成を、ユーティリティchkconfigを用いて行い、そのスクリプトを/etc/rc.d/ディレクトリの下に追加することができる。スクリプト・ファイルの中では、起動優先度が指定してあり、これにより、そのスクリプトをコンフィギュレータ・プログラム43、すなわちKudzuよりも前に呼び出せることになる。
次いで、ステップ9で、更新した、または変更した、基礎モデル1のイメージを、スクリプト・ファイルおよび他の構成ファイルを含めて、CD27上などにキャプチャする。次いで、更新した新しいモデル1のイメージを有するこのCDが、新しいモデル2のシステムのユーザ、購入者などへと、自動システム構成を提供するために提供される。
ステップ10で、変更した基礎モデルのイメージを新しいモデル2上へとインストールする。次いで、提供されるスクリプト・ファイルは、マシンの製品名を新しいモデル2のBIOSから読み取り、この情報を使用して特定のハードウェア構成ファイルを更新すべきかどうかを決定する。具体的には、ステップ11で、新しいモデルのシステム2が、更新以来、初めてのリブート中であるかどうかの判断が行われる。すなわち、新しいモデル2が初めてリブートしているときは、CD27からのスクリプト・ファイルが、呼び出され、そのマシンのモデル番号を決定することになる。さらに、新しいモデル2の番号が基礎モデル1と同じでなかった場合(通常、異なっている)、スクリプト・ファイルでは、新しいモデル2のマシンの不可欠製品データ(VPD)を使用して、<newModelの製品番号>.tarファイルのルック・アップを行うことになる。次いで、ステップ12で、スクリプト・ファイルが新しいモデル2用のユーザ・ソフトウェアをバイパスするために呼び出され、ユーザ対話なしの構成が開始される。ユーザ対話は、それまでに復元された必要なハードウェア構成ファイルのすべてが新しいモデル2のシステムと一致することになるので、必要ではない。しかし、ステップ11で、新しいモデル2が、新しい構成要素のインストールに続く最初の初期化の後のリブート中であるか、またはnewModelの製品番号がbaseModelの製品番号と一致した場合には、プロセスはステップ13へと続き、ここで新しいモデル2のユーザはコンフィギュレータ・プログラムと対話して、手動でシステムを構成することになる。すなわち、ステップ11では、2つのイベントが行われることが、自動構成が行われるためには必要である。すなわち、それがシステムを更新した後の最初のシステム・リブートでなければならず、しかも、新しいモデル2のVPDに格納されている製品番号が、.tarファイルに格納されている基礎モデルの番号と異なっていなければならない。そうでない場合、ユーザによる手動の構成が行われる(ステップ13)。ステップ12および13のどちらの後でも、本発明のプロセスは、ステップ14で、新しいモデルのシステム2が新しく追加された構成要素付きで構成されて、終わる。
クローズド・システムとして構成し本発明のブート技法を実装することのできるクライアント・コンピュータ・システムの構成図である。 本発明の好ましい実施形態に従って本発明を実装できるデータ処理システムを示す絵画図である。 本発明の好ましい実施形態に従って本発明を実装できるデータ処理システムのより詳細な構成図である。 本発明を実装できる例示的な論理区画化したプラットフォームの構成図である。 本発明の好ましい実施形態に従って構成をユーザ対話なしで行えるクローズド・システムを示す構成図である。 クローズド・システムのユーザ対話なしでの初期化を容易にするために本発明の利用する処理ステップを示す流れ図である。 クローズド・システムのユーザ対話なしでの初期化を容易にするために本発明の利用する処理ステップを示す流れ図である。 クローズド・システムのユーザ対話なしでの初期化を容易にするために本発明の利用する処理ステップを示す流れ図である。 クローズド・システムのユーザ対話なしでの初期化を容易にするために本発明の利用する処理ステップを示す流れ図である。

Claims (13)

  1. データ処理システムを自動的に構成する方法であって、
    基礎データ処理システムのための回復ファイルを作成するステップと、
    前記回復ファイルを、前記基礎データ処理システムと異なる少なくとも1つの装置を有する修正データ処理システム上にインストールするステップと、
    構成ファイルを、前記修正データ処理システム上に含まれるソフトウェアを用いて生成するステップと、
    前記構成ファイルを、前記基礎データ処理システム上にインストールし、前記構成ファイルを自動的に呼び出すためのコマンドを追加するステップと、
    前記少なくとも1つの異なる装置が、前記構成ファイルを自動的に呼び出すことによって構成されるように、前記構成ファイルを第2の修正データ処理システム上にインストールするステップと
    を有する方法。
  2. 前記構成ファイルが、前記基礎データ処理システムについての基礎的製品情報を格納する、請求項1に記載の方法。
  3. 前記構成ファイルを前記第2の修正データ処理システム上にインストールする前記ステップが、
    前記第2の修正データ処理システムに関連付けられる第2の製品情報を読み取るステップと、
    前記基礎的製品情報を、前記第2の製品情報と比較するステップと、
    前記基礎的製品情報と前記第2の製品情報とが一致しないときに、前記構成ファイルを自動的に呼び出すステップと
    を有する、請求項2に記載の方法。
  4. 前記自動的に呼び出すステップが、前記少なくとも1つの異なる装置のインストールがされた後、初めて前記第2の修正データ処理システムが初期化中であるときに、前記構成ファイルを自動的に呼び出すステップ、をさらに有する、請求項3に記載の方法。
  5. 前記基礎的製品情報が前記第2の製品情報と一致するときに、前記第2の修正データ処理システムとのユーザ対話を可能にするステップ、をさらに有する、請求項3に記載の方法。
  6. 前記少なくとも1つの異なる装置のインストールがされた後の初めての時に引き続いて、前記第2の修正データ処理システムが初期化中であるときに、前記第2の修正データ処理システムとのユーザの対話を可能にするステップ、をさらに有する、請求項5に記載の方法。
  7. データ処理システムを自動的に構成するシステムであって、
    基礎データ処理システムのための回復ファイルを作成する手段と、
    前記回復ファイルを、前記基礎データ処理システムと異なる少なくとも1つの装置を有する修正データ処理システム上にインストールする手段と、
    構成ファイルを、前記修正データ処理システム上に含まれるソフトウェアを用いて生成する手段と、
    前記構成ファイルを、前記基礎データ処理システム上にインストールし、前記構成ファイルを自動的に呼び出すためのコマンドを追加する手段と、
    前記少なくとも1つの異なる装置が、前記構成ファイルを自動的に呼び出すことによって構成されるように、前記構成ファイルを、第2の修正データ処理システム上にインストールする手段と
    を有するシステム。
  8. 前記構成ファイルが、前記基礎データ処理システムについての基礎的製品情報を格納する、請求項7に記載のシステム。
  9. 前記構成ファイルを前記第2の修正データ処理システム上にインストールする前記手段が、
    前記第2の装置データ処理システムに関連付けられる第2の製品情報を読み取る手段と、
    前記基礎的製品情報を、前記第2の製品情報と比較する手段と、
    前記基礎的製品情報と前記第2の製品情報とが一致しないときに、前記構成ファイルを自動的に呼び出す手段と
    を有する、請求項8に記載のシステム。
  10. 前記自動的に呼び出す手段が、前記少なくとも1つの異なる装置のインストールがされた後初めて、前記第2の修正データ処理システムが初期化中であるときに、前記構成ファイルを自動的に呼び出す手段、をさらに有する、請求項9に記載のシステム。
  11. 前記基礎的製品情報が前記第2の製品情報と一致するときに、前記第2の修正データ処理システムとのユーザの対話を可能にする手段、をさらに有する、請求項9に記載のシステム。
  12. 前記少なくとも1つの異なる装置のインストールがされた後の初めてに引き続いて、前記第2の修正データ処理システムが初期化中であるときに、前記第2の修正データ処理システムとのユーザの対話を可能にする手段、をさらに有する、請求項11に記載のシステム。
  13. 請求項1ないし6のいずれか一項に記載の方法に従ってデータ処理システムを自動的に構成するプログラム命令を含む、コンピュータ可読媒体上に格納されるコンピュータ・プログラム。
JP2006502184A 2003-01-09 2004-01-09 システム・ブート時にハードウェア構成中のユーザ対話を不要にするためのシステムおよび装置 Pending JP2006518504A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/339,762 US7401332B2 (en) 2003-01-09 2003-01-09 System and apparatus for eliminating user interaction during hardware configuration at system boot
PCT/GB2004/000068 WO2004077292A2 (en) 2003-01-09 2004-01-09 System and apparatus for eliminating user interaction during hardware configuration at system boot

Publications (2)

Publication Number Publication Date
JP2006518504A true JP2006518504A (ja) 2006-08-10
JP2006518504A5 JP2006518504A5 (ja) 2009-06-25

Family

ID=32711166

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006502184A Pending JP2006518504A (ja) 2003-01-09 2004-01-09 システム・ブート時にハードウェア構成中のユーザ対話を不要にするためのシステムおよび装置

Country Status (8)

Country Link
US (1) US7401332B2 (ja)
EP (1) EP1584026A2 (ja)
JP (1) JP2006518504A (ja)
KR (1) KR100773004B1 (ja)
CN (1) CN100440147C (ja)
CA (1) CA2508875C (ja)
TW (1) TWI262443B (ja)
WO (1) WO2004077292A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008243183A (ja) * 2007-03-28 2008-10-09 Lenovo Singapore Pte Ltd ファームウェア装置更新システムおよびその方法

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080120399A1 (en) * 2006-11-16 2008-05-22 Mark Henrik Sandstrom Direct Binary File Transfer Based Network Management System Free of Messaging, Commands and Data Format Conversions
US9917883B2 (en) 2002-06-13 2018-03-13 Throughputer, Inc. Direct binary file transfer based network management system free of messaging, commands and data format conversions
US7373498B2 (en) * 2003-12-23 2008-05-13 Intel Corporation Method and apparatus for updating a system configuration through an active or passive update
US8924522B2 (en) 2003-12-23 2014-12-30 Intel Corporation Method and apparatus for remote modification of system configuration setting
US8990366B2 (en) 2003-12-23 2015-03-24 Intel Corporation Method and apparatus for remote modification of system configuration
JP4791061B2 (ja) * 2005-03-18 2011-10-12 富士通株式会社 計算機システムのファームウェアのバージョン管理方法及び情報処理装置
US7526758B2 (en) * 2005-06-30 2009-04-28 Microsoft Corporation Execution failure investigation using static analysis
US7849454B2 (en) * 2006-01-13 2010-12-07 Dell Products L.P. Automatic firmware corruption recovery and update
US8522228B1 (en) 2006-03-31 2013-08-27 Vmware, Inc. Updating software on dormant disks
US7823145B1 (en) * 2006-03-31 2010-10-26 Vmware, Inc. Updating software on dormant disks
TW200801897A (en) * 2006-06-29 2008-01-01 Ibm Single system board with automatic feature selection based on installed configuration selection unit
US7987464B2 (en) * 2006-07-25 2011-07-26 International Business Machines Corporation Logical partitioning and virtualization in a heterogeneous architecture
CN100424661C (zh) * 2006-11-30 2008-10-08 北京飞天诚信科技有限公司 非超级用户访问存储设备的方法和系统
EP1928186B1 (en) * 2006-11-30 2014-01-29 Alcatel Lucent Method to configure device dependent services of a device at a customer premises equipment and a device to execute the method
US7827394B2 (en) * 2006-12-14 2010-11-02 Hewlett-Packard Development Company, L.P. Methods and systems for configuring computers
US9047123B2 (en) 2007-06-25 2015-06-02 International Business Machines Corporation Computing device for running computer program on video card selected based on video card preferences of the program
US9047040B2 (en) * 2007-06-25 2015-06-02 International Business Machines Corporation Method for running computer program on video card selected based on video card preferences of the program
US8321538B2 (en) * 2007-09-24 2012-11-27 Hewlett-Packard Development Company, L.P. Autonomous network device configuration method
US8813062B1 (en) * 2007-12-12 2014-08-19 Genband Us Llc Dynamically binding a logic component to a processing point in a software execution flow
US8201161B2 (en) 2008-01-07 2012-06-12 Lenovo (Singapore) Pte. Ltd. System and method to update device driver or firmware using a hypervisor environment without system shutdown
CN102469207A (zh) * 2010-11-19 2012-05-23 希姆通信息技术(上海)有限公司 多操作系统手机及其实现方法
US8880464B1 (en) * 2011-12-08 2014-11-04 Lockheed Martin Corporation Methods and apparatus for synchronizing closed heterogenous systems
CN102999356B (zh) * 2012-11-15 2016-06-15 北京创毅讯联科技股份有限公司 数据卡安装方法、数据卡和终端设备
WO2015065323A1 (en) * 2013-10-29 2015-05-07 Intel Corporation Flexible bootstrap code architecture
EP2881899B1 (de) 2013-12-09 2018-09-12 Deutsche Telekom AG System und Verfahren zur automatisierten Aggregation von Beschreibungen individueller Objektvarianten
IN2015CH02762A (ja) * 2015-06-01 2015-07-17 Wipro Ltd
US9604541B1 (en) * 2015-10-06 2017-03-28 Samsung Electronics Co., Ltd. System and method for customizing a vehicle operating environment
US10540147B2 (en) * 2016-02-26 2020-01-21 Red Hat, Inc. Add-on image for a platform-as-a-service system
CN107783767A (zh) * 2016-08-26 2018-03-09 神讯电脑(昆山)有限公司 笔记本电脑检测程序自动设定系统及方法
CN112306506B (zh) * 2020-06-28 2023-08-22 神州融安科技(北京)有限公司 计算机程序的烧录方法、装置、电子设备及存储介质
CN112445576B (zh) * 2020-11-30 2024-04-16 中国人寿保险股份有限公司 一种屏蔽业务差异的设备调用方法及相关设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069353A1 (en) * 2000-12-01 2002-06-06 Smith R. Doug Automated device driver installation

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601095B1 (en) 1991-04-18 2003-07-29 International Business Machines Corporation Method and apparatus for remote administration of programmable workstations in a data processing system
US5768568A (en) * 1994-04-29 1998-06-16 International Business Machines Corp. System and method for initializing an information processing system
US5894571A (en) * 1995-08-14 1999-04-13 Dell U.S.A., L.P. Process for configuring software in a build-to-order computer system
US5826090A (en) 1997-03-17 1998-10-20 International Business Machines Corporation Loadable hardware support
US6038399A (en) * 1997-07-22 2000-03-14 Compaq Computer Corporation Computer manufacturing architecture with two data-loading processes
US6636961B1 (en) * 1999-07-09 2003-10-21 International Business Machines Corporation System and method for configuring personal systems
US6550061B1 (en) * 1999-12-02 2003-04-15 Dell Usa, L.P. System and method for modifying configuration files in a secured operating system
US6513159B1 (en) * 2000-03-28 2003-01-28 Intel Corporation Platform intelligent installer
KR100358278B1 (ko) 2000-06-07 2002-10-25 (주) 사이텍소프트 시스템 장애 자가 진단/복구기능을 갖는 컴퓨터 시스템 및그 방법
US6735601B1 (en) * 2000-12-29 2004-05-11 Vmware, Inc. System and method for remote file access by computer
US6993642B2 (en) * 2001-07-24 2006-01-31 Microsoft Corporation Method and system for creating and employing an operating system having selected functionality
US9363709B2 (en) * 2002-12-24 2016-06-07 Samrat Vasisht Method, system and device for automatically configuring a communications network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069353A1 (en) * 2000-12-01 2002-06-06 Smith R. Doug Automated device driver installation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008243183A (ja) * 2007-03-28 2008-10-09 Lenovo Singapore Pte Ltd ファームウェア装置更新システムおよびその方法

Also Published As

Publication number Publication date
CA2508875C (en) 2012-03-13
WO2004077292A3 (en) 2005-07-21
EP1584026A2 (en) 2005-10-12
WO2004077292A2 (en) 2004-09-10
US7401332B2 (en) 2008-07-15
KR20050086494A (ko) 2005-08-30
KR100773004B1 (ko) 2007-11-05
US20040139308A1 (en) 2004-07-15
CA2508875A1 (en) 2004-09-10
CN1754150A (zh) 2006-03-29
CN100440147C (zh) 2008-12-03
TWI262443B (en) 2006-09-21
TW200511121A (en) 2005-03-16

Similar Documents

Publication Publication Date Title
CA2508875C (en) System and apparatus for eliminating user interaction during hardware configuration at system boot
US7313685B2 (en) Unattended BIOS recovery
JP3954088B2 (ja) 論理分割された(lpar)計算機でシステム・ファームウェア更新を安全に実行する機構
US6421777B1 (en) Method and apparatus for managing boot images in a distributed data processing system
US7143275B2 (en) System firmware back-up using a BIOS-accessible pre-boot partition
TWI225215B (en) Method and system for maintaining firmware versions in a data processing system
US7895428B2 (en) Applying firmware updates to servers in a data center
US7797526B2 (en) Service processor host flash update over LPC
US6804774B1 (en) Software image transition aid comprising building a disk image based on identified hardware
US5764593A (en) Method and system for the interception and control of the computer boot process
US20170228228A1 (en) Remote launch of deploy utility
US20080270583A1 (en) Method, system and program product for remotely deploying and automatically customizing workstation images
US7480793B1 (en) Dynamically configuring the environment of a recovery OS from an installed OS
JP5081827B2 (ja) 遠隔データ処理システムを構築するための方法、並びにそのコンピュータ・プログラム及びデータ処理システム
US7363632B2 (en) Clientless external storage device
US20040083357A1 (en) Method, system, and program for executing a boot routine on a computer system
Cisco The LightStream 2020 Release Notes for Software Release 2.0.9
Cisco The LightStream 2020 Release Notes for Software Release 2.0.9
Cisco The LightStream 2020 Release Notes for Software Release 2.0.9
Cisco The LightStream 2020 Release Notes for Software Release 2.0.9
Cisco The LightStream 2020 Release Notes for Software Release 2.0.9
Cisco The LightStream 2020 Release Notes for Software Release 2.0.9
Cisco The LightStream 2020 Release Notes for Software Release 2.0.9
Cisco The LightStream 2020 Release Notes for Software Release 2.0.9
KR100947136B1 (ko) 소프트웨어의 증분 프로비져닝

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061219

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090430

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20090430

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20090511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090519

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20090602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090717

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091104

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100108

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20100129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110826

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120201

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120207

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120221

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120229

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120229

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120501