(57)【要約】【課題】 本発明は、顧客へ出荷するときソフトウェアをインストールし、テストすることが容易な装置を提供することを目的とする。【解決手段】 ターゲットコンピュータ160 を含む、製造されている実質上全てのコンピュータシステムの異なった構成要素間で共用される１組のソフトウェア設置ステップを含んでいるステップテーブル150 と、製造されているコンピュータシステム内に含まれることが実質上可能な１組の構成要素の全てを含んでいる構成要素テーブルとを有することを特徴とする。【選択図】図１
2008243224.tif 000002
【特許請求の範囲】
【請求項１】
製造されている実質上全てのコンピュータシステムの異なった構成要素間で共用される１組のソフトウェア設置ステップを含んでいるステップテーブルと、製造されているコンピュータシステム内に含まれることが実質上可能な１組の構成要素の全てを含んでいる構成要素テーブルとを有することを特徴とするコンピュータシステムにソフトウェアを設置する装置。
【請求項２】
ステップテーブルは、各ソフトウェア設置ステップまたはテストステップに対する特有の識別を行うステップ識別属性を含んでいる請求項１記載の装置。
【請求項３】
ステップテーブルは、ステップが実行される製造の位相を指定する位相属性を含んでいる請求項１記載の装置。
【請求項４】
ステップテーブルは、各ソフトウェア設置ステップを実行するための実行可能な命令ラインに適合する命令属性を含んでいる請求項１記載の装置。
【請求項５】
ステップテーブルは、対応するステップが実行された後、一時停止または再ブートが必要か否かを識別するアフターコードを含んでいる請求項１記載の装置。
【請求項６】
ステップテーブルは、対応するステップが動作する回数の最大数を示す最大インスタンス属性を含んでいる請求項１記載の装置。
【請求項７】
ステップテーブルは、ソフトウェア設置ステップまたはテストステップと関連する構成要素を識別するクラス識別属性を含んでいる請求項１記載の装置。
【請求項８】
構成要素テーブルは、構成要素テーブル内の各構成要素を識別する構成要素識別属性を含んでいる請求項１記載の装置。
【請求項９】
構成要素テーブルは、構成要素のクラスを識別するクラス識別属性を含んでいる請求項１記載の装置。
【請求項１０】
コンピュータシステムはコンピュータシステムのファミリーに対応し、さらに、１組のソフトウェア設置ステップと製造されているコンピュータシステムの各ファミリーとの間の関係を識別するファミリー関係型テーブルと、コンピュータシステムのファミリーと１組の構成要素との間の関係を識別するファミリー構成要素関係型テーブルと、構成要素と対応する構成要素に対して適切な１組のソフトウェア設置ステップとの間の関係を識別するファミリーステップ関係型テーブルとを有する請求項１記載の装置。
【請求項１１】
ファミリー関係型テーブルは、コンピュータシステムの特定の１つのファミリーを識別するファミリー識別属性を含んでいる請求項１０記載の装置。
【請求項１２】
ファミリー関係型テーブルは、特定のファミリーに対して適切な特定の１組のステップを識別するステップ識別属性を含んでいる請求項１０記載の装置。
【請求項１３】
ファミリー関係型テーブルは、ファミリーと関係するステップが実行される予め定められた順序を表している各ファミリーに対応するシーケンス番号を含んでいる請求項１０記載の装置。
【請求項１４】
ファミリー構成要素関係型テーブルは、コンピュータファミリーを識別する属性と、構成要素を識別する属性との間の関係を定めている請求項１０記載の装置。
【請求項１５】
ファミリー構成要素関係型テーブルは、構成要素識別属性とステップ識別属性との間の関係を定めている請求項１０記載の装置。
【請求項１６】
さらに、名称によりコンピュータシステムのファミリーを識別するファミリーテーブルを含んでいる請求項１記載の装置。
【請求項１７】
コンピュータシステムの各構成要素をそれぞれ記述する各構成要素記述子と関係し、それぞれシーケンス番号を有する複数のステップを実行する装置において、製造されている実質上全てのコンピュータシステムの異なる構成要素間で共用される１組のソフトウェア設置ステップを含んでいるステップテーブルと、製造されている実質上全てのコンピュータシステム内に含まれることが実質上可能な１組の構成要素の全てを含んでいる構成要素テーブルとを有することを特徴とする装置。
【請求項１８】
コンピュータシステムはコンピュータシステムの１つのファミリーに対応し、さらに、１組のソフトウェア設置ステップと製造されているコンピュータシステムのファミリーとの間の関係を識別するファミリー関係型テーブルと、コンピュータシステムのファミリーと１組の構成要素との間の関係を識別するファミリー構成要素関係型テーブルと、構成要素と、対応する構成要素に対して適切な１組のソフトウェア設置ステップとの間の関係を識別するファミリーステップ関係型テーブルとを有する請求項１７記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータシステム診断、特にコンピュータシステムのソフトウェア設置および／またはテストのステップの順序付けの方法に関する。
【背景技術】
【０００２】
汎用パーソナルコンピュータシステムとＩＢＭの両立式パーソナルコンピュータシステムは特に多数の階層の社会に計算力を提供するために広く使用されている。パーソナルコンピュータシステムはデスクトップ型、直立型、またはポータブルマイクロコンピュータとして通常限定されることができ、これはシステムプロセッサ、関連する揮発性および非揮発性メモリを有するシステム装置と、ディスプレイモニタ、キーボード、１以上のディスケット駆動装置、固定したディスク記憶装置、およびオプショナルな装置としてプリンタを含んでいる。
【０００３】
ビジネスまたは個人の顧客へ出荷される前に、コンピュータシステムにソフトウェアをインストールしテストを行うことが知られている。ソフトウェアの設置とテストをする目的は、エラーがなく、動作する準備が整った便利で信頼性のあるコンピュータシステムが効率的に製造されビジネスまたは個人の顧客へ出荷されることができるようにするためである。通常、テストはコンピュータシステムのハードウェア部分およびソフトウェア部分の両者で生じたエラーを検出し解析する。コンピュータシステムハードウェアテストの部分的なリストはプロセッサ、メモリ、ディスク記憶装置、オーディオ装置、グラフィック装置、キーボード、マウス、プリンタなどのハードウェア構成要素についての診断を含んでいる。ソフトウェア設置は所望のパッケージのソフトウェアをコンピュータシステムへ負荷し、コンピュータに適切な環境変数を準備し、負荷されたソフトウェアウェアに適切な初期化ファイルを準備することを含んでいる。ソフトウェアテストはしばしばソフトウェアの所望なバーションがコンピュータシステムへインストールされ、適切なドライバがコンピュータシステム上に存在することを確証することを含んでいる。
【０００４】
顧客の元へ出荷される前に固定した手順を実行することにより製造中に、コンピュータシステムにソフトウェアをインストールしテストすることが産業上知られている。例えば、あるタイプのコンピュータシステム用の診断テストを含んだディスケットが製造される。ディスケットは長くて、多くは複雑なバッチファイルを含んでおり、これはソフトウェア設置と診断処理を行う。ディスケットはさらに購入されたコンピュータシステムについてテストを行うための実行可能なファイルを全て含んでいる。
【０００５】
構築された各コンピュータシステムにはこのディスケットのコピーがそれぞれ設けられている。これらのディスケットは製造プロセス中に工場床面で構築されたコンピュータシステムに付随され、テストがバッチファイルの固有の順番にしたがってそれぞれのコンピュータシステムで行われる。プロセスに変形を行うことが必要であるならば、バッチファイルはバッチコードに付加またはバッチコードから削除することによってそれに対応して変更される。バッチファイルに対する変更によって、製造される次の各コンピュータシステムのテストパラメータ（テストが行われる順序を含む）に対応する変化をもたらし、各コンピュータシステムは同一のバッチファイル診断手順を共有している。
【０００６】
この種類の診断装置は出荷前にコンピュータシステムの信頼性を増加させるのにある程度有効であるが、改良の余地が残されている。例えば、テストがより複雑で完全になるように続けるとき、診断テストのバッチファイルと実行可能なファイルはしばしばディスケットの記憶容量を超過する。さらに、多くの場合、１つの注文組込みコンピュータシステムまたはあるコンピュータシステムのファミリにおけるテストおよびソフトウェア設置処理のカスタム化は、他のシステムまたはファミリのテストを変更せずに行うことは困難または不可能である。さらに、他のシステムまたはファミリに対する順序を変更せずに単一の注文組込みコンピュータシステムまたはあるコンピュータシステムのファミリに対するソフトウェア設置またはテストの順序を変更することは困難あるいは不可能である。多くは複雑であるという現在のバッチファイル構造の特性は、製造業者がテストおよびソフトウェア設置手順を迅速に効果的に故障点検またはテストを維持することを困難にする。したがって、顧客へ出荷する前に、ソフトウェアをインストールし、コンピュータシステムをテストする改良された方法を発明することが望まれている。
【発明の開示】
【発明の概要】
【０００７】
コンピュータシステム上にソフトウェアをインストールするための装置は、ステップテーブルおよび構成要素テーブルを含んでいる。ステップテーブルは、製造されるほぼ全てのコンピュータシステムの異なる構成要素間で共用される１組のソフトウェア設置ステップを含んでいる。好ましい実施形態において、コンピュータシステムはコンピュータシステムのファミリーに対応し、装置はさらにファミリー関係型テーブルと、ファミリー構成要素関係型テーブルを含んでいる。ファミリー関係型テーブルは、１組のソフトウェア設置ステップと、製造されるコンピュータシステムの各ファミリーとの間の関係を識別する。ファミリー構成要素関係型テーブルは、コンピュータシステムのファミリーと１組の構成要素との間の関係を識別する。ファミリーステップ関係型テーブルは、構成要素と、対応する構成要素に適した１組のソフトウェア設置ステップとの間の関係を識別する。
【０００８】
別の好ましい実施形態において、本発明は、ステップがそれぞれの構成要素記述子と関連付けられ、それぞれのシーケンス番号を含んでいる複数のステップを提供する装置に関する。構成要素記述子は、コンピュータシステムのそれぞれの構成要素を記述する。装置は、ステップテーブルおよび構成要素テーブルを含んでいる。ステップテーブルは、製造されるほぼ全てのコンピュータシステムの異なる構成要素間で共用される１組のソフトウェア設置ステップを含んでいる。構成要素テーブルは、製造されるコンピュータシステム内に含まれたほぼ全ての可能な１組の構成要素を含んでいる。
【０００９】
従って、前述の装置は有効なソフトウェア設置とコンピュータテストを行い、それによって注文に応じて組立てられたコンピュータシステムにおける簡単なトラベルシューティングとカスタム化を可能にする。装置のモジュール設計はテストシステムの基本的なメンテナンスと、新しいコンピュータシステムおよびファミリのステップを迅速に生成することを有効に可能にする。
【００１０】
本発明のこれらおよび他の目的、特徴、利点をさらに説明し、好ましい実施形態の詳細な説明からより明白になるであろう。
【詳細な説明】
【００１１】
以下、本発明を実行するために考えられた最良のモードについて詳細に説明する。説明は例示のためであり、権利を限定するものではない。図面では類似または同一の素子は同一の参照符号で示されている。説明上、モジュールは１つの命令または命令のセットとして限定されている。
【００１２】
図１はソフトウェア設置およびテストシステム90の概略図である。動作において、注文組込みターゲットコンピュータシステム160 を購入するように注文92が行われる。ターゲットシステム160 は複数のハードウェアとソフトウェア構成要素を含むように製造されている。例えば、ターゲットシステム160 は、あるブランドのハードウェアドライブと、特定のタイプのモニタと、あるブランドのプロセッサと、特定のバージョンの動作システムとを含んでいる。ターゲットシステム160 が顧客の元へ出荷される前に、複数の構成要素がインストールされテストされる。このようなソフトウェア設置とテストは、入手してすぐに動作できる信頼性のある動作コンピュータシステムを確実にするために有効である。
【００１３】
異なったファミリのコンピュータシステムおよび異なった個人のコンピュータ構成要素が異なったソフトウェア設置およびテストステップを必要とするので、ターゲットシステム160 で行う必要があるテストと、これらのテストを実行する順序を決定する必要があり、それによって実効的なソフトウェア設置およびテストプロセスを実現する。ステップメーカ140 はターゲットシステム160 で行われるソフトウェア設置およびテストステップの順序を定めて配列するために構成されたコンピュータシステムである。ソフトウェア設置および／またはテストステップを配列するため、ステップメーカ140 、特にそこに存在する配列プログラム204 は最初に記述子ファイル96から複数の構成要素記述子を読取る。記述子ファイル96は所望の構成要素を有する所望のコンピュータシステムに対応する注文92を変換モジュール94によりコンピュータの読取り可能なフォーマットに変換することによって与えられる。
【００１４】
構成要素記述子はターゲットシステム160 の構成要素におけるコンピュータが読取り可能な記述であり、その構成要素は注文92により限定される。好ましい実施形態では、構成要素記述子はシステム記述子記録と呼ばれる記述子ファイルに含まれており、この記述子ファイルは構成要素、ハードウェアおよび／またはソフトウェア構成要素のリストを含んでいるコンピュータの読取り可能なファイルであり、ターゲットシステム160 へインストールされる。複数の構成要素記述子を読取った後、配列プログラム204 は、ネットワーク接続110 によってデータベース100 から構成要素記述子に対応する複数のソフトウェア設置および／またはテストステップを検索する。ネットワーク接続110 は構内通信網、イントラネット、インターネット等の技術でよく知られた任意のネットワーク接続でよい。データベース100 に含まれている情報は矢印130 で示されている変更によって更新される。
【００１５】
ターゲットシステム160 に適切なソフトウェア設置および／またはテストステップを検索し、配列プログラム204 は各ステップに対応するシーケンス番号にしたがって予め定められた順序でステップの順序を定めて配列する。ターゲットシステム160 に必要なステップを配列した後、配列プログラム204 は一連の出力ファイルをステップディスク150 へ書込む。図１で説明した実施形態では、出力ファイルは適切なソフトウェア設置および／またはテストステップをターゲットシステム160 で実行するために適切な命令ラインを含んだテキストファイルを含んでいる。各ステップに対応するシーケンス番号にしたがって予め定められた順序で実行される。ステップディスク150 は、工場床面上のターゲットシステム160に伴い、そこではステップディスク150 または代わりにネットワーク接続180 を経てターゲットシステム160 に接続されているファイルサーバ190 から直接テストが行われる。好ましくはネットワーク接続180 はターゲットコンピュータシステムの対応するネットワークポートへプラグ接続された一般的なネットワーク装置である。ソフトウェア設置およびテストステップの実行に続いて、ソフトウェア設置とテストの結果がネットワーク接続180 によってファイルサーバ190 へ戻り記録される。
【００１６】
図２は本発明の別の実施形態にしたがったソフトウェア設置およびテストシステム192 の概略図である。顧客は注文組込みターゲットコンピュータシステム160 を購入する注文92を行う。ターゲットシステム160 は複数の構成要素を含むように製造され、それらの構成要素はハードウェアおよび／またはソフトウェア構成要素の両者を含んでもよい。ターゲットシステム160 が顧客へ出荷される前に、複数の構成要素がインストールされテストされる。このようなソフトウェア設置とテストは、顧客が入手してすぐに作動できる信頼性のある動作コンピュータシステムを確実にするために有効である。
【００１７】
ソフトウェア設置とテストステップを配列するため、配列プログラム204 は記述子ファイル96から複数の構成要素記述子を読取る。注文92は変換モジュール94により記述子ファイル96へ変換される。構成要素記述子はターゲットシステム160 の構成要素のコンピュータの読取り可能な記述である。好ましい実施形態では、構成要素記述子はシステム記述子記録と呼ばれる記述子ファイル、即ちコンピュータの読取り可能なファイルに含まれており、これは各構成要素、即ちハードウェアおよび／またはソフトウェアの両者の構成要素のリストを含んでおり、ターゲットシステム160 へインストールされる。システム記述子記録はファイルサーバ202 上に直接記憶されてもよい。配列プログラム204 は、データベース100から構成要素記述子に対応する複数のソフトウェア設置および／またはテストステップを検索する。ターゲットシステム160 の適切なソフトウェア設置および／またはテストステップを検索した後、配列プログラム204 は各ステップに対応するシーケンス番号にしたがって予め定められた順序でステップを配列する。ターゲットシステム160 に必要なステップを配列した後、配列プログラム204 はネットワーク接続 195、180 を経て予め定められた順序でターゲットシステム160 上でソフトウェア設置およびテストステップを実行する。ネットワーク接続200 はターゲットシステム160 の対応するポートへプラグ接続された一般的なネットワーク装置であることが望ましい。ネットワーク195 は技術でよく知られた任意の通信接続であってもよい。ソフトウェア設置および／またはテストステップの実行に続いて、設置およびテストの結果がネットワーク接続200 にわたってファイルサーバ202 へ戻され記録されるか、または適切なデータベース内に記憶される。図から明らかなように、図１のような分離したステップメーカコンピュータシステム140 は必要ない。付加的に、ステップディスク150 も必要ではない。むしろブートターゲットシステム160 へ構成されているブートディスク220 だけが工場床面上のターゲットシステム160 に伴うことを必要とする。
【００１８】
ソフトウェア設置およびテストシステムについて説明したが、以下、図１、２で説明されたシステム動作をさらに詳細に説明する。
【００１９】
図３のａはコンピュータシステムに対する注文がコンピュータの読取り可能なシステムの記述子記録へ変換される好ましいプロセスを示している。特に、アイテム300 でターゲットコンピュータシステムに対する注文が受信される。この注文は無数の形態の任意の１つでよい。例えば異なった注文フォーマットと、異なった注文配送機構が可能である。例えば、ターゲットコンピュータシステムの注文は電話、郵便によって、またはコンピュータネットワーク（例えばインターネット）によって行われる。注文を取る手段または注文の形態に関係なく、注文は、顧客が購入を希望しているターゲットコンピュータシステムのタイプおよび、顧客がターゲットコンピュータシステムが含んでいることを期待する特定の構成要素の明白なリストを含んでいる。注文の受信後、制御は送信モジュール310 へ移行し、その期間にターゲットコンピュータシステムの注文がコンピュータネットワークによって、ターゲットコンピュータシステムを製造する製造システム（図示せず）へ送信される。ターゲットコンピュータシステムの注文はソフトウェア設置およびテストシステムへも与えられ、そこで注文はモジュール320 の変換プログラムへ送られる。モジュール310 で使用されるコンピュータネットワークは技術で知られた任意のタイプのものでよい。
【００２０】
変換プログラムはターゲットコンピュータシステム注文を、製造プロセスで有効な記録へ変換する。特に、変換プログラムはモジュール330 でコンピュータ注文を最初にしてＢＡＲファイルと呼ばれる記録へ変換する。好ましくはＢＡＲファイルは製造された特定のターゲットコンピュータシステムを識別する特有の識別子を含んでいる。ＢＡＲファイルはまた構成要素の詳細なリストを含んでおり、これはターゲットシステムで含まれているハードウェアおよびソフトウェアの両者を含んでいてもよい。さらにＢＡＲファイルは各構成要素に対する製造業者の特定の部品番号または他の有効な識別子を含んでいることが望ましい。最後に、ＢＡＲファイルは氏名、住所、電話番号等の顧客特定情報を含んでもよい。
【００２１】
モジュール330 でＢＡＲファイルを生成した後、システム記述子記録がモジュール340 で生成される。好ましい実施形態ではシステム記述子記録はコンピュータの読取り可能なファイルであり、これはターゲットコンピュータシステムに含まれるハードウェアおよびソフトウェア構成要素を記述したものである。好ましい実施形態では、システム記述子記録はターゲットシステムの構成要素のリストをフォーマットで含んでおり、このリストはハードウェアタグ、ソフトウェアタグ、情報タグ、コメントを含んでいる。ハードウェアタグは配列プログラム204に対して、タグに続く情報がハードウェア構成要素に関することを識別する。同様に、ソフトウェアタブはタグに続く情報がソフトウェア構成要素に関するものと識別する。情報タグは一般的な情報が後続することを示している。コメントは種々のステートメントが配列プログラム204 で無視されるシステム記述子記録へ含まれることを可能にする。システム識別子記録は人による読取りが可能で理解しやすいテキストファイルであることが望ましい。このようなファイルはソフトウェア設置およびテストプロセスの故障点検とメンテナンスを容易に可能にする。システム記述子記録は特有のセットのトークンに対応する特有の識別子のリスト、例えば簡単な例ではシステム記述子記録は部品番号のリストであってもよいことが認識されよう。
【００２２】
図３のｂはターゲットコンピュータシステム注文350 と、対応するＢＡＲファイル360 と、対応するシステム記述子記録370 の１例を示している。ターゲットコンピュータシステム注文350 はコンピュータファミリの名称、この図ではファミリ“Ｘ”を含んでいる。またターゲットコンピュータシステム注文350 にはPentium （登録商標）プロセッサ、ハードドライブ、モニタを含む３つの例示的なハードウェア構成要素が含まれている。ＢＡＲファイル360 は図３のａのモジュール320 で示されているような変換プログラムを経てターゲットコンピュータシステム注文350 を行うことにより生じる。ＢＡＲファイル360 はファミリＸ内の特定のターゲットコンピュータシステムの特有の識別子を含んでいる。ＢＡＲファイル360 はまたターゲットコンピュータシステム注文中にリストされた各構成要素の製造業者特定部品番号を含んでいる。さらにＢＡＲファイル360 はターゲットコンピュータシステムに含まれる各構成要素の所望な量と、各構成要素のテキスト記述を示す識別子を含んでいる。システム90はシステム記述子記録370 を生成するためＢＡＲファイル360 を使用する。
【００２３】
示されているように、システム記述子記録370 はまたファミリＸ内の特定のターゲットコンピュータシステムに対する特定の識別子を含んでいる。さらに、システム記述子記録370 は適切なタグ含んでおり、ここではプロセッサ、ハードドライブ、モニタはソフトウェアではなく全てハードウェア構成要素であることを示している。システム記述子記録370 はこれらの構成要素をテキスト記述で示している。さらに例示的なシステム記述子記録370 はソフトウェアタグを含んでおり、これはあるソフトウェアがファミリＸに属するターゲットコンピュータシステムにインストールされ、あるいはテストされることを示している。例えばソフトウェアタグは、Pentium （登録商標）プロセッサに適切なある動作システムが常にファミリＸに属するターゲットコンピュータシステムのハードドライブにインストールされることを示している。
【００２４】
図４ではソフトウェア設置およびテストステップの順序を定めて配列する一般的な好ましい方法が説明されている。モジュール400 では、ターゲットコンピュータシステムの特有の識別子がターゲットコンピュータシステム160 に対して生成される。図１で示されている実施形態では、ステップメーカコンピュータシステム140 の前に着席している使用者は特有の識別子（例えばトラッキングコードとして機能するＢＡＲ識別子）をステップメーカ140 の配列プログラム204 へ提供する。その代わりに、図２の実施形態ではターゲットコンピュータシステムの注文が受信された後に、特有の識別子が自動的に配列プログラム204 へ読込まれる。
【００２５】
モジュール410 では、ＢＡＲ識別子に対応するシステム記述子記録が位置を定められる。図１の実施形態では、ネットワーク接続110 またはネットワーク接続195 がシステム記述子記録の位置を定める。図２の実施形態ではネットワーク接続195 はシステム記述子記録の位置を定める。モジュール420 では、位置を定められたシステム記述子記録は配列プログラム204 へ与えられる。図１の実施形態では、配列プログラムはステップメーカコンピュータシステム140 に存在し、一方、図２の実施形態では配列プログラムはファイルサーバ202 に存在する。配列プログラム204 は（図１および２の）データベース100 と共に動作し、それによってターゲットコンピュータシステム160 に対するソフトウェア設置およびテストステップを配列する。特定のターゲットコンピュータシステムに対して適切なソフトウェア設置およびテストステップが一度配列されると、配列プログラム204 はモジュール430 で示されているように出力ファイルを生成する。
【００２６】
図１で示されている実施形態では、出力ファイルは６つの別々のファイルでステップディスク150 （図１参照）へ書込まれることが好ましい。これらのファイルは（１）ステップファイル、（２）Setenv.bat ファイル、（３）Qt.txt ファイル、（４）Et.txt ファイル、（５）Etlast.txt、（６）Ft.txt ファイルを含んでいる。ステップファイルはターゲットコンピュータシステムが注文されているソフトウェア設置およびテストステップを実行するための適切な命令ラインのリストを含んだＡＳＣＩＩテキストファイルであることが好ましい。好ましい実施形態では、ステップファイルはまたループされてもよい命令を含んでいる。特に、ステップファイルは命令が、限定された数または反復数、或いは限定された長さの時間に対して繰返されることを可能にする。このようなフォーマットはソフトウェア設置またはテストステップが、計算された予め定められた方法で繰り返されることを有効に可能にする。Setenv.bat ファイルはターゲットコンピュータシステムに環境変数を設定することが好ましい。動作モードで、ステップファイルとSetenv.bat ファイルのみが装着およびテストに必要であることが認識されよう。ステップファイルとSetenv.bat ファイルは、ターゲットコンピュータシステムのソフトウェア設置およびテストステップを実行するための適切な命令ラインのリストを含んだＡＳＣＩＩテキストスクリプトファイルである。Qt.txt 、Et.txt 、Etlast.txt、Ft.txt ファイルは全て、ターゲットコンピュータシステムの製造業者のクイックテスト（Ｑｔ）、拡張テスト１（Ｅｔ）、拡張テスト２（Ｅｔｌａｓｔ）、最終テスト（Ｆｔ）のフェーズで、ターゲットコンピュータシステムに対する設置およびテストステップを実行するための適切な命令ラインのリストを含んだＡＳＣＩＩテキストファイルであることが好ましい。
【００２７】
一方、図２の実施形態では、出力ファイルは図１で示されているステップディスクへ書込まれない。代わりに、出力ファイルはファイルサーバ202 またはファイルサーバ190 に存在し、ここではこれらはターゲットコンピュータシステム160 でのソフトウェア設置および／またはテストステップの実行を導くことに使用される。
【００２８】
図５は図１、２で示されている配列プログラム204 の動作についてのより詳細な概略図である。モジュール500 では、ターゲットコンピュータシステム160 に対応するシステム記述子記録が配列プログラム204 に与えられる。モジュール500 では、構成要素記述子はシステム記述子記録から読取られる。各構成要素記述子はターゲットコンピュータシステムのそれぞれの構成要素、即ちハードウェアまたはソフトウェアを記述している。
【００２９】
図３のｂを参照すると、モジュール370 でPentium （登録商標）プロセッサを含んでいるシステム記述子記録のラインは１例の構成要素記述子である。モジュール520 では、配列プログラム204 はターゲットコンピュータシステム160 の複数の構成要素に対応する複数の得られたオブジェクトを例示する。好ましい実施形態ではこれらの得られたオブジェクトは、ターゲットコンピュータシステム160で動作される必要があるソフトウェア設置およびテストステップについての（データベース100 から得られた）情報を記憶するために使用される。モジュール500 では、ターゲットコンピュータシステム160 のそれぞれの構成要素に関連するソフトウェア設置およびテストステップがデータベース100 から検索され、適切な得られたオブジェクト中に記憶される。図１の実施形態では、ステップはネットワーク接続110 を経て検索され、図２の実施形態ではステップはファイルサーバ202 から直接検索されてもよい。好ましい実施形態でデータベース100 からステップが検索される方法を記述するためデータベースの好ましい構造の記述が必要である。
【００３０】
図６はデータベース100 の設計を示している。データベース100 は予め定められた順序によるソフトウェア設置および／またはテストステップのシーケンスをコンピュータシステムのファミリに関連付けている。さらにデータベース100 はコンピュータシステムの構成要素をコンピュータシステムのファミリに関連づけるように構成されている。さらにデータベース100 はソフトウェア設置および／またはテストステップをコンピュータシステムの構成要素に関連付ける。
【００３１】
データベース100 は、関係型データベースであることが好ましい。データベース100 は幾つかのテーブルを含んでおり、そのそれぞれは、上述のアソシエーションを生成するのに適切な属性を含んでいる。
【００３２】
データベース100 は、ステップテーブル102 、ＳysＦamily テーブル104 、Ｓys Ｓtep_Ｓeqテーブル106 、構成要素テーブル108 、Ｓys Ｃomp テーブル112 、Ｃomp_Ｓtep テーブル114 を含んでいる。好ましい実施形態において、各テーブルは、属性および基本キーとして機能する下線を引かれた属性のリストを含んでいる。
【００３３】
ステップテーブル102 は、一組のソフトウェア設置を含み、テストステップは全てのコンピュータファミリーの異なる素子間で共用されている。好ましい構成において、ステップテーブル102 は、Ｓtep ＩＤ、Ｐhase、Ｎame 、Ｃmd、ＣmdＴype 、ＡfterＣode およびＭaxＩnstance を含む属性を有している。Ｓtep ＩＤは、各ソフトウェア設置あるいはテストステップに特有の識別番号である。Ｐhaseは、ステップが実行される製造の位相を示す。例えばＰhaseは、コンピュータシステム製造の４つの位相、すなわち、（１）クイックテスト、（２）拡張テスト１、（３）拡張テスト２、（４）最終テストに対応するように選択された整数である。Ｎame はステップを記述する名前を割当てるストリングである。Ｃmdは、ターゲットシステム160 （図１および図２に示されている）においてソフトウェア設置あるいはテストステップを実行するための実行可能な指令ラインを割当てるストリングである。ＡfterＣode は、ソフトウェア設置あるいはテストステップが実行された後に休止あるいはリブートが必要とされるかどうかを決定する識別子である。ＭaxＩnstance は、ステップがランすることを許可された最大回数を示す識別子である。
【００３４】
ＳysＦamily テーブル104 は、属性ＳysＩＤにおいて特定された識別整数でコンピュータシステムの各ファミリーを識別する。ＳysＦamily テーブル104 にはまた、ファミリーの名前を識別するストリングも含まれている。
【００３５】
Ｓys Ｓtep_Ｓeqテーブル106 は、ステップテーブル102 とＳysＦamily テーブル104 との間の関係を含む関係型テーブルである。Ｓys Ｓtep_Ｓeqテーブル106 は、（ＳysＦamily テーブル104 からの）コンピュータシステムの特定のファミリーに対する属性ＳysＩＤにおいて特定されたファミリー識別整数と、そのファミリーに適切な特定のステップの組を識別する（ステップテーブル102からの）属性Ｓtep ＩＤにおいて特定されたステップ識別整数と、シーケンス番号とを含んでいる。シーケンス番号は、特定のファミリーに関連したステップが行われる予め定められた順序を表わす属性ＳeqＮum内に含まれていることが好ましい。テストエンジニアは、特定のターゲットシステムに最も有効となるように選択された順序で、各製造位相内で特有なシーケンス番号を割当てる。シーケンス番号を割当てる別の方法が使用されてもよいことが認識されるであろう。
【００３６】
構成要素テーブル108 は、製造されるコンピュータシステム内に含まれる全ての可能な構成要素を含んでいる。このテーブルの属性は、各構成要素に識別子を割当てるＣomp ＩＤ、各構成要素にストリングの名前を割当てるＮame Ｄesc 、および構成要素のタイプを示す（例えば、ハードドライブ、ＣＤ−ＲＯＭドライブ等、）ＣlassＩd であることが好ましい。
【００３７】
Ｓys Ｃomp テーブル112 は、コンピュータシステムのファミリーとそのファミリーに含まれることのできる１組の構成要素との間の関係を含む関係型テーブルである。Ｓys Ｃomp テーブル112 の属性は、（ＳysＦamily テーブル104 からの）属性ＳysＩＤにおいて特性されたコンピュータファミリー識別整数と、（構成要素テーブル108 からの）属性Ｃomp ＩＤにおいて特定された構成要素識別整数とを含んでいる。
【００３８】
Ｃomp_Ｓtep テーブル114 は、構成要素と、その構成要素に適切な１組のソフトウェア設置およびテストステップとの間の関係を含む関係型テーブルである。Ｃomp_Ｓtep テーブル114 の属性は、（構成要素テーブル108 からの）属性Ｃomp ＩＤにおいて特定された構成要素識別整数と、（ステップテーブル102 からの）属性Ｓtep ＩＤにおいて特定された構成要素識別整数とを含んでいる。
【００３９】
図３のｂに示された例示的なターゲットコンピュータシステムは、ソフトウェア設置およびテストステップを検索するために先に概要を説明されたデータベース設計がどのように使用されるかを説明するために使用される。システム記述子記録識別ファミリーＸにおけるコンピュータファミリー識別子は、ＳysＦamilyテーブル104 におけるファミリーＸに対応するＳysＩＤに関連している。構成要素テーブル108 は、ターゲットコンピュータシステムのオーダーに記載されたターゲットコンピュータシステムの構成要素がリーガルであるかどうかを検査するために使用される。換言すると、順序付けプログラムおよびデータベースは、図３のｂのシステム記述子記録中に含まれたプロセッサ、ハードドライブ、モニタおよびソフトウェアが、構成要素テーブル108 中のＣomp ＩＤによって特定された対応するエントリおよび対応する整数を有しているかどうかを決定する。構成要素がリーガルでない場合（例えば、システム記述子記録中の構成要素が構成要素テーブル108 中に含まれていない場合等）、エラーフラグが生じる。Ｓys Ｃomp テーブル112 は、構成要素テーブル108 およびＳysＦamily テーブル104 からのマッピングを含む関係型テーブルである。Ｓys Ｃomp テーブル112 は、ファミリーＸに属するターゲットコンピュータシステム上に含まれている全てのリーガルな構成要素を含んでいる。従って、Ｓys Ｃomp テーブル112 は、ターゲットシステムの全ての構成要素がリーガルであるかどうかを検査するために使用される。言い換えると、順序付けプログラムおよびデータベースは、図３のｂのシステム記述子記録中に含まれたプロセッサ、ハードドライブ、モニタおよびソフトウェアが、Ｓys Ｃomp テーブル112 において対応する関係を有しているかどうかを決定する。構成要素がリーガルでない場合（すなわち、システム記述子記録中の構成要素がファミリーＸに属するターゲットシステム上に含まれている場合等、）エラーフラグが生じる。
【００４０】
関係型Ｓys Ｓtep_Ｓeqテーブル106 において、ステップテーブル102 およびＳysＦamily テーブル104 からのマッピングが存在している。Ｓys Ｓtep_Ｓeqテーブル106 は、ファミリーＸに属するターゲットコンピュータシステム上で合法的にランする全てのソフトウェア設置およびテストステップを含んでいる。さらに、シーケンスおよび位相番号が各ソフトウェア設置およびテストステップに関連しているのは、このＳys _Ｓtep_Ｓeqテーブル106 においてである。これらのシーケンスおよび位相番号は、コンピュータシステムの特定のファミリーに対してステップがランされるべき適切な順序を示す。それ故、Ｓys Ｓtep_Ｓeqテーブル106 は、ファミリーＸのターゲットコンピュータシステム上でランされるステップのリストと、ステップが実行されるべき予め定められた順序を示すシーケンスおよび位相番号とを含んでいる。
【００４１】
Ｃomp_Ｓtep テーブル114 は、構成要素テーブル108 およびステップテーブル102 からのマッピングを含む関係型テーブルである。Ｃomp_Ｓtep テーブル114 は、ターゲットコンピュータシステムのプロセッサ、ハードドライブ、モニタおよびソフトウェアに対してランされるソフトウェア設置およびテストステップを含んでいる。
【００４２】
ターゲットシステムに含まれたそれぞれの構成要素に関連したソフトウェア設置およびテストステップの検索は、ターゲットコンピュータシステム160 の構成要素上でランされる中間セットリスティングステップを得るためにＳys Ｃompテーブル112 およびＣomp_Ｓtep テーブル114 上での接合動作の実行を含む。
【００４３】
接合動作の結果、図３のｂに示されたシステム記述子記録中に記入されたプロセッサ、ハードドライブ、モニタおよびソフトウェア上でステップのリストがランされる。その後、Ｓys Ｃomp テーブル112 およびＣomp_Ｓtep テーブル114 の接合の結果は、ファミリーＸに対する全てのステップを含むＳys Ｓtep_Ｓeqテーブル106 と接合される。この接合動作の結果はシーケンス番号および位相番号の形態のシーケンス情報を含み、シーケンス番号は特定の位相内の特有のものである。従って、Ｓys Ｃomp テーブル112 、Ｃomp_Ｓtep テーブル114およびＳys Ｓtep_Ｓeqテーブル106 の３つのテーブルの接合は、適切なソフトウェア設置およびテストステップ、ならびにシーケンスおよび位相番号の形態のシーケンス情報を生じ、それによってターゲットコンピュータシステム160 におけるソフトウェアのインストールおよび／またはテストをする。
【００４４】
第１の接合動作（Ｓys Ｃomp テーブル112 とＣomp_Ｓtep テーブル114 の接合）の結果が空セットである場合には、エラー状態が生じ、ターゲットシステムに含まれる構成要素はシステム記述子記録上に記入されたファミリーには属していないという信号を送る。この例は１つの例示である。システム記述子記録はファミリーＹに属するターゲットコンピュータシステムを正確に示しているとする。しかしながら、ファミリーＸ中のターゲットシステムにのみ属するハードドライブ（ハードドライブＺ）がファミリーＹ中のターゲットシステム上に含まれていることをシステム記述子記録が不正確に示していると仮定する。そのような場合、Ｃomp_Ｓtep テーブル114 は、ハードドライブＺに関連したステップを含んでいる。Ｓys Ｃomp テーブル112 は、ファミリーＹに関連した構成要素を含んでいる。従って、Ｃomp_Ｓtep テーブル114 をＳys Ｃomp テーブル112に接合すると空のセットが生成され、それはハードドライブＺがファミリーＺに関連した構成要素ではないためである（代りに、ファミリーＸだけには関連している）。上述の例から明らかであるように、データベースの好ましい設計によって、あるファミリーのターゲットシステムがそのファミリーに適切な構成要素だけを含んでいることが有効に確実にされる。
【００４５】
再び図５を参照すると、ターゲットシステム中に含まれる構成要素に関連したステップが検索された後、順序付けプログラム204 は、システム記述子記録を読取り、ターゲットシステムに含まれる構成要素に対応する環境ファイルを生成することによってモジュール560 中のターゲットコンピュータシステムに対する環境変数を処理する。例えば、図３のｂに示されたシステム記述子記録が読取られ、システム記述子記録のプロセッサハードウェア構成要素に対応する“セットｃｐｕ＝ｐｅｎｔｉｕｍ（登録商標）”のような環境変数が用意される。
【００４６】
図５のモジュール570 において、上述の３つのテーブルの接合によって検索された、複数の検索されたソフトウェア設置およびテストステップが予め定められた順序で順序付けされる。この順序付けはそれぞれのシーケンス番号および位相番号にしたがい、ステップシーケンスを提供する。シーケンスそれ自体は、技術においてよく知られた多くの分類アルゴリズムの任意の１つを使用して達成される。
【００４７】
モジュール580 において、順序付けプログラム204 はファイルを出力する。先に言及したように、出力ファイルは、図１に示された実施形態の６個の別々のファイル中のステップディスク150 （図１参照）に書き込まれることが好ましい。それらのファイルは、（１）ステップファイル、（２）Ｓetenv.bat ファイル、（３）Ｑt.txt ファイル、（４）Ｅt.txt ファイル、（５）Ｅtlast.txt 、（６）Ｆt.txt ファイルを含んでいる。ステップファイルはＡＳＣＩＩテキストファイルであることが望ましい。好ましい実施形態において、ステップファイルはループされる命令も含んでいる。特に、命令はステップファイルによって定められた数または反復回数あるいは定められた長さの時間だけ反復される。Ｓetenv.bat ファイルは、ターゲットコンピュータシステムに環境変数を設定する。ステップファイルは、ターゲットコンピュータシステムの製造のクイックテスト（Ｑt）、拡張テスト１（Ｅｔ）、拡張テスト２（Ｅtlast ）および最終テスト（Ｆt）の位相の期間中にそれぞれ実行されるステップを含んでいる。反対に、図２の実施形態において、出力ファイルは図１に示されているようなステップディスクには書き込まれない。その代りに、出力ファイルはファイルサーバ202 あるいはファイルサーバ190 上にあり、そこにおいてそれらはターゲットコンピュータシステム160 上でのソフトウェア設置およびテストステップの実行を指導するために使用できる。
【００４８】
再び図１および図２を参照すると、矢印130 は、データベース100 に変更が行われたことを示している。例えば、コンピュータシステムの新しいファミリーが生成された場合、それに応じてデータベース100 を変更してもよい。特に、新しいファミリーはＳysＦamily テーブル104 のＳysＩＤ中に新しいファミリー識別子を割当てられ、新しいフィミリーの名前はＳysＦamily テーブル104 のネーム属性に割当てられる。ソフトウェア設置ステップおよびテストステップのリストはＳys Ｓtep_Ｓeqテーブル106 に加えられ、これらのステップは、新しいコンピュータシステムファミリーに関して、どのステップがランされる必要があるか、および予め定められたどの順序でランされる必要があるかを示す。コンピュータシステムの新しいファミリーが既存のファミリーと幾つかの類似点を共有している場合、Ｓys Ｓtep_Ｓeqテーブル106 中の既存のファミリーに対するエントリは変更され、新しいファミリーに対するエントリが生成されることができる。任意の新しいステップがコンピュータシステムの新しいファミリーに対して生成される必要がある場合、これらのステップはステップテーブル102 に加えられる。同様に、任意の新しい構成要素がコンピュータシステムの新しいファミリーを伴うと、これらの構成要素は構成要素テーブル108 に加えられる。ＣompＳtep テーブル114 は、コンピュータシステムの新しいファミリーの各構成要素をそのソフトウェア設置およびテストに適切なステップに関連付けるために更新される。新しいファミリーがデータベース中に既に存在している構成要素だけを使用する場合、このテーブルは変更される必要がない。Ｓys Ｃomp テーブル112 は、新しいファミリー上に含まれていてもよい許容された構成要素のリストがデータベース中にあるように更新される。特に、新しいコンピュータシステムのＳysＩＤを許容された各構成要素のＣomp ＩＤと関連付ける必要がある。また、これはコンピュータシステムの古いファミリーの既存のエントリをコピーし、その後変更することによって実行することができる。
【００４９】
好ましい実施形態に従ってデータベースを構成する際に、所定の顕著な利点が与えられることは理解される。特に、データベースのモジュラ設計によって、コンピュータシステムの新しいファミリーに対するソフトウェア設置およびテストステップを利点を有して簡単に設定することができる。さらに、コンピュータシステムの特定のファミリーあるいは特定の構成要素に対するソフトウェア設置およびテストステップは、別のソフトウェア設置およびテストステップに関係なく変更されることができる。
【００５０】
図７は、本発明によるソフトウェア設置およびテストプロセスのモジュラー修正を可能にするために、システム記述子記録およびステップシーケンスがどのようにしてパッチされるかを示す。モジュール600 において、システム記述子記録が生成される。モジュール610 において、システム記述子記録は、システム記述子記録パッチを使用して修正される。好ましい実施形態において、このパッチは、特定のターゲットコンピュータシステム、コンピュータシステムの特定のファミリ、または特定の構成要素に対してパッチが生成されることを可能にするモジュラーである。例えば、製造業者が、ある日のコンピュータシステムのあるファミリに対するあるブランドのハードドライブを別のものと置換することを所望した場合、置換されるべきハードドライブを含む全てのシステム記述子記録を修正し、モジュール610 において置換を行うパッチが形成されることができる。モジュール620 において、ステップシーケンスは上述されたように決定される。モジュール630 において、ステップシーケンスはステップシーケンスパッチを使用して修正される。好ましい実施形態において、このパッチは、特定のターゲットコンピュータシステム、コンピュータシステムの特定のファミリ、または特定の構成要素に対してパッチが生成されることを可能にするモジュラーである。例えば、製造業者が、ある日、ある構成要素に対して別のものの前に１つのテストステップを実行することを所望した場合、その順序が修正されるステップを含む全てのステップシーケンスを修正し、モジュール640 における実行順序を対応的に変更するパッチが形成されてもよい。
【００５１】
以下、ターゲットシステム160 におけるステップシーケンスの実行を説明する。ソフトウェア設置およびテストステップは、ターゲットコンピュータシステムに対応したステップシーケンスを読出し、解釈し、実行するプログラムを使用してターゲットコンピュータシステム160 で実行される。好ましい実施形態において、このプログラムをランステップと呼んでおり、それは図１の実施形態ではステップディスク150 上に配置され、図２の実施形態ではファイルサーバ202 上に配置されている。
【００５２】
図８は、任意のソフトウェア設置およびテストステップが実行される前にステップファイルに含まれるステップシーケンスの一部分を示す。前述のように、ステップシーケンスは、ソフトウェアをインストールし、および、または注文組込みターゲットコンピュータシステムをテストする命令を含んでいる。さらに、ステップファイル中のステップシーケンスによって、命令は定められた回数だけ、或は定められた期間だけ繰返されることが可能になる。さらに、ステップファイルは、ランステッププログラムによって無視される注釈（ｒｅｍａｒｋ）を含んでいる。ステップファイルにおいて、マーク800 はステップシーケンスのフィールドを分離するために使用される。項目810 は、ターゲットコンピュータシステム160 をテストする命令である。この命令は、例えばメモリをテストし、かつ少数のコンピュータシステムインターフェース（ＳＣＳＩ）装置をテストする命令を含んでいる。図面から認められるように、各命令は、特定のテスト環境に適した“−ｏ”のようなスイッチを含んでいてもよい。項目820 は、ランステッププログラムによって無視される注釈である。項目 810ｃは、時間でループされる命令である。好ましい形態において、“ begin time loop”命令は、ループの開始点を示す。“ end time loop”命令は、ループの終了点を示す。“ begintime loop”命令は、ループを通って為される繰返しの時間長を示すフィールドと組合せられる。ここにおいて、例えば命令 810ｃは、１時間30分間実行される。項目 810ｄは、反復数にしたがってループされる命令である。好ましい実施形態において、“ begin iterate loop”命令は、反復的なループが実行されるようにランステッププログラムに命令する。“ end iterate loop”命令は、ループ命令の終了を信号で通知する。ここでは、命令 810ｄが３回実行されている。
【００５３】
ランステッププログラムは、ステップシーケンスを実行したときに、ソフトウェア設置およびテストプロセスの容易な故障点検および追跡を有効に可能にするタイムスタンプ情報をステップファイル中に配置する。
【００５４】
図９は、ステップが実行された後の図８のステップシーケンスの一部分を示す。示されているように、ランステッププログラムは、ステップシーケンス中にタイムスタンプ情報を挿入する。項目830 は、メモリテストが開始した時を示し、項目832 は、そのテストが終了した時を示す。項目834 は、テストの最後の反復が始まった時を示す。項目836 および838 は、scsiＨＤテストが始まった時、およびそれが終った時をそれぞれ示す。項目840 は、反復的なループが３回実行されたことを確認する。最後に、項目842 および844 は、scsiＣＤテストの最後の反復が始まった時、およびそれが終った時をそれぞれ示す。実行された命令の隣りにタイムスタンプ情報を挿入することにより、ソフトウェア設置およびテストプロセスの効率的な故障点検および追跡が有効に可能になる。
【００５５】
図１０は、ランステッププログラムの好ましい全体的フローチャートを示す。ランステッププログラム860 は、ランステップバッチファイル870 によりループ形態で実行される。このランステッププログラム860 は、ステップシーケンス中のステップを読出して解釈し、実行されるべき命令をステップシーケンスからバッチファイル870 中に書込む。その後、バッチファイル870 が実行され、ターゲットコンピュータシステム160 においてステップを実行する。ステップが終了すると、制御はバッチファイルからランステッププログラム860 に戻され、その後このランステッププログラム860 がステップシーケンスの次のラインを読出して解釈する。
【００５６】
図１１は、ランステッププログラムのさらに詳細なフローチャートを示している。モジュール900 に示されているように、ランステッププログラムは、最初にファイル名Ｒe Ｒun.batが存在しているか否かを調べるためにチェックする。Ｒe Ｒun.batファイルは、任意の命令がステップシーケンスから実行される前に生成され、その命令が成功的に終了した後に削除される。Ｒe Ｒun.batの存在は、最後の命令実行が成功せずに終わったことをモジュール900 中のランステッププログラムに示す。このようにして、Ｒe Ｒun.batは、実行開始の指示として機能する。Ｒe Ｒun.batが存在する場合、モジュール904 において、オペレータは、ソフトウェア設置およびテストプロセスを続けるか否か、或はその代わりにオペレータが故障点検の実行を希望しているかどうかを質問される。オペレータが継続を選択した場合、Ｒunstep.batファイルが再実行されるモジュール928 を実行するように制御が移行する。（この状態は、いずれのオプションも肯定的に選択されなかった場合、省略オプションとなる。）故障点検オプションが選択された場合、技術的によく知られているように故障点検が実行される。
【００５７】
Ｒe Ｒun.batが存在しない場合、ランステッププログラムは、最後の命令が正しく終了したか否かを判断して決定し、モジュール910 に制御が移行し、このモジュール910 において、ステップファイルに含まれていることが好ましいステップシーケンスのラインが読出される。ランステッププログラムは、そのラインを読出し、モジュール912 に開始または終了タイムスタンプが存在しているか否かを判断して決定する。開始または終了タイムスタンプが存在している場合、ランステッププログラムは、このプログラムが読出しているラインに対して開始タイムスタンプだけが存在しているか否かをモジュール914 において判断して決定する。開始タイムスタンプだけが存在している場合、ランステッププログラムは、モジュール916 においてソフトウェア設置またはテストステップが終わったばかりであると仮定し、モジュール918 において終了タイムスタンプを書入れる。終了タイムスタンプをファイルに書入れた後、制御はモジュール90に戻される。
【００５８】
ランステッププログラムが読出しているラインに対する開始タイムスタンプ以外のものが存在している場合、ランステッププログラムは、モジュール906 において開始および終了タイムスタンプの両方が存在しているか否かを判断して決定する。そうである場合、ランステッププログラムは、モジュール908 においてステップが実行されたと仮定し、制御がモジュール900 に戻される。ランステッププログラムがモジュール912 において開始または終了タイムスタンプのいずれにも遭遇しなった場合、ランステッププログラムは、モジュール920 において開始タイムスタンプを書入れ、これが読出しているステップシーケンスのラインに関してステップを実行する準備をする。
【００５９】
モジュール922 において、ランステッププログラムは、実行されるべき命令がローカルドライブ（ステップファイルが、ローカルドライブがシステム中のどのドライブかを制御する）上に記憶されているか否かを判断して決定する。ローカルドライブは、例えばステップディスク、ターゲットシステムのハードドライブ、ターゲットシステムのＲＡＭドライブ、またはネットワークドライブであってもよい。命令がローカルドライブ上に配置されていない場合、ランステッププログラムは、実行されるべきテストがネットワーク上のどこかのファイルサーバ上に含まれていると仮定する。ランステッププログラムは、モジュール932 においてこのプログラムが既にネットワークに接続されているか否かを判断して決定する。接続されていない場合、ランステッププログラムは、モジュール936 においてネットワークにログインする命令をＲunstep.bat中にはめ込む。したがって、Ｒunstep.batがネットワーク接続180 によってターゲットシステム160 においてステップを実行する前に、ネットワーク接続が形成される。
【００６０】
モジュール936 に続いて、制御はモジュール926 に移行する。ランステッププログラムは、それが既にネットワーク中に記録されている場合には、モジュール934 の期間中に、ネットワークにログインする命令をＲunstep.batから除去し、ネットワーク接続が存在しているならば、付加的なログインステップは不要である。その後、制御はモジュール926 に移行する。実行されるべきステップがたまたまステップディスク150 上に位置している場合、ランステッププログラムは、ネットワーク中に記録する必要はない。したがって、ランステッププログラムは、モジュール924 においてネットワークにログインする命令をＲunstep.batから除去する。その後、制御はモジュール926 に移行する。モジュール926 において、ランステッププログラムは、実行されるべき適切な命令をＲunstep.batおよびＲe Ｒun.bat中にはめ込む。そのようにはめ込まれた命令は、好ましくはステップファイルに含まれているステップシーケンスから採取される。モジュール928 において、ステップはＲunstep.batを実行することによって実行され、それが成功的に実行された場合には、Ｒe Ｒun.batは削除される。ステップが成功的に実行されなかった場合、Ｒe Ｒun.batファイルは削除されず、制御が失敗状態929 に移行する。その後、ステップシーケンスから別のラインが読出されるように制御がモジュール900 に戻される。このプロセスは全てのソフトウェア設置およびテストステップが終了するまで続く。
【００６１】
ステップシーケンスの実行時に、ターゲットシステムはテストされ、ソフトウェアがインストールされる。図１の実施形態において、テストの選択番号はステップディスク150 から直接実行されてもよいが、テストの大部分はネットワーク接続180 によってファイルサーバ190 から実行される。ファイルサーバ190 からのテストを実行することによって、ステップディスク150 のようなフロッピー（登録商標）ディスクの記憶容量によって課せられる限界がなくなる利点が得られる。
【００６２】
図２の実施形態において、ステップは、ネットワーク接続180 によってファイルサーバ190 から実行される。ここではブートディスク220 であるフロッピー（登録商標）ディスクは、ターゲットコンピュータシステム160 をブートするためだけに必要である。このようなシステムは、ソフトウェア設置およびテストプロセスを簡単化する利点がある。
【００６３】
図１および２を再度参照すると、矢印210 は、ソフトウェア設置およびテストからの結果が、ファイルサーバ190 またはファイルサーバ202 のいずれかに戻されて記録されることを示している。この結果には、全てのステップが成功的に終了したかどうか、およびどのタイプの故障（もし、あれば）が生じたかが含まれていることが好ましい。結果の記録には、ステップシーケンスの実行に続くステップファイルの修正されたバージョンの単なる保存または書込みを含んでもよく、上述したように、ステップファイルはランステッププログラムによってタイムスタンプを付けられる。このようなシステムは、コンピュータシステム製造中に故障点検能力を高められる効果がある。
【００６４】
以上、本発明の特定の実施形態を図示および説明してきたが、当業者は本発明の技術的範囲を逸脱することなく変更および修正が為されてもよく、したがって添付された特許請求の範囲がこのような変更および修正の全てを本発明の技術的範囲内のものとして包含することを認識するであろう。
【図面の簡単な説明】
【００６５】
【図１】ソフトウェア設置およびテストシステムを示す概略図。
【図２】別の実施形態によるソフトウェア設置およびテストシステムの概略図。
【図３】本発明にしたがってコンピュータ注文をシステムの記述子記録へ変換するためのフローチャート、並びに例示的なコンピュータシステム注文、ベース・アセンブリ・レコード（ＢＡＲ）ファイルおよびシステム記述子記録の一部分。
【図４】ステップシーケンスの生成および提供を示すフローチャート。
【図５】ステップシーケンスの生成を示すさらに詳細なフローチャート。
【図６】データベースの構成の概略図。
【図７】システム記述子記録およびステップシーケンスを修正するためのフローチャート。
【図８】実行される前のステップファイルの一例の概略図。
【図９】実行された後のステップファイルの一例の概略図。
【図１０】ステップシーケンスを実行するためのプログラムの動作のフローチャート。
【図１１】ステップシーケンスを実行する図１０のプログラムの動作のさらに詳細なフローチャート。
【図１】
2008243224.tif 000003
【図２】
2008243224.tif 000004
【図３】
2008243224.tif 000005
【図４】
2008243224.tif 000006
【図５】
2008243224.tif 000007
【図６】
2008243224.tif 000008
【図７】
2008243224.tif 000009
【図８】
2008243224.tif 000010
【図９】
2008243224.tif 000011
【図１０】
2008243224.tif 000012
【図１１】
2008243224.tif 000013
【手続補正書】
【提出日】平成20年5月19日(2008.5.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータシステムの製造に使用されるデータベースを含んでいる装置において、
その装置によって製造されている実質上全てのコンピュータシステムの異なった構成要素間で共用される１組のソフトウェア設置、およびテストステップを含んでいるステップテーブルと、
製造されているコンピュータシステム内に含まれることが実質上可能な１組の構成要素の全てを含み、ステップテーブルに結合されている構成要素テーブルとを有し、
規定されたソフトウェア設置、またはテストステップは、コンピュータシステムに関する、対応するソフトウェア設置、またはテストを容易にするために、コンピュータシステムの製造中に装置によって実行され、
ステップテーブルは、対応するステップが動作する回数の最大数を示す最大インスタンス属性を含んでおり、
システム装置によって実行される、規定されたソフトウェア設置、またはテストステップは、注文生産コンピュータシステムに含まれる対応する構成要素に従って決定される、装置。
【請求項２】
ステップテーブルは、各ソフトウェア設置ステップまたはテストステップに対する特有の識別を行うステップ識別属性を含んでいる請求項１記載の装置。
【請求項３】
ステップテーブルは、ステップが実行される製造の位相を指定する位相属性を含んでいる請求項１記載の装置。
【請求項４】
ステップテーブルは、各ソフトウェア設置ステップを実行するための実行可能な命令ラインに適合する命令属性を含んでいる請求項１記載の装置。
【請求項５】
ステップテーブルは、対応するステップが動作する回数の最大数を示す最大インスタンス属性を含んでいる請求項１記載の装置。
【請求項６】
ステップテーブルは、ソフトウェア設置ステップまたはテストステップと関連する構成要素のクラスを識別するクラス識別属性を含んでいる請求項１記載の装置。
【請求項７】
構成要素テーブルは、構成要素テーブル内の各構成要素を識別する構成要素識別属性を含んでいる請求項１記載の装置。
【請求項８】
構成要素テーブルは、構成要素のクラスを識別するクラス識別属性を含んでいる請求項１記載の装置。
【請求項９】
コンピュータシステムはコンピュータシステムのファミリーに対応し、さらに、
１組のソフトウェア設置ステップと製造されているコンピュータシステムの各ファミリーとの間の関係を識別し、ステップテーブルに結合されているファミリー関係型テーブルと、
コンピュータシステムのファミリーと１組の構成要素との間の関係を識別し、ステップテーブルに結合されているファミリー構成要素関係型テーブルと、
コンピュータシステムのファミリーと、対応する構成要素に対して適切な１組のソフトウェア設置ステップとの間の関係を識別し、ステップテーブルに結合されているファミリーステップ関係型テーブルとを有する請求項１記載の装置。
【請求項１０】
ファミリー関係型テーブルは、コンピュータシステムの特定の１つのファミリーを識別するファミリー識別属性を含んでいる請求項９記載の装置。
【請求項１１】
ファミリーステップ関係型テーブルは、特定のファミリーに対して適切な特定の１組のステップを識別するステップ識別属性を含んでいる請求項９記載の装置。
【請求項１２】
ファミリー関係型テーブルは、ファミリーと関係するステップが実行される予め定められた順序を表している各ファミリーに対応するシーケンス番号を含んでいる請求項９記載の装置。
【請求項１３】
ファミリー構成要素関係型テーブルは、コンピュータファミリーを識別する属性と、構成要素を識別する属性との間の関係を定めている請求項９記載の装置。
【請求項１４】
ファミリー構成要素関係型テーブルは、構成要素識別属性とステップ識別属性との間の関係を定めている請求項９記載の装置。
【請求項１５】
さらに、名称によりコンピュータシステムのファミリーを識別し、ステップテーブルに結合されているファミリーテーブルを含んでいる請求項９記載の装置。
【請求項１６】
コンピュータシステムの製造に使用されるデータベースを含んでいる装置において、
その装置によって製造されている実質上全てのコンピュータシステムの異なった構成要素間で共用される１組のソフトウェア設置、およびテストステップを含んでいるステップテーブルと、
製造されているコンピュータシステム内に含まれることが実質上可能な１組の構成要素の全てを含み、ステップテーブルに結合されている構成要素テーブルと、
１組のソフトウェア設置ステップと製造されているコンピュータシステムのファミリーとの間の関係を識別し、ステップテーブルに結合されているファミリー関係型テーブルと、
コンピュータシステムのファミリーと１組の構成要素との間の関係を識別し、構成要素テーブルに結合されているファミリー構成要素関係型テーブルと、
１組のソフトウェア設置、およびテストステップと、１組の構成要素との間の関係を識別し、ステップテーブルと構成要素テーブルに結合されている構成要素ステップ関係型テーブルとを有し、
規定されたソフトウェア設置、またはテストステップは、コンピュータシステムに関する、対応するソフトウェア設置、またはテストを容易にするために、コンピュータシステムの製造中に装置によって実行され、
装置によって実行される、規定されたソフトウェア設置、またはテストステップは、コンピュータシステムに含まれる対応する構成要素に従って決定される、装置。
【請求項１７】
ファミリー関係型テーブルは、コンピュータシステムの特定の１つのファミリーを識別するファミリー識別属性を含んでいる請求項１６記載の装置。
【請求項１８】
ファミリーステップ関係型テーブルは、特定のファミリーに対して適切な特定の１組のステップを識別するステップ識別属性を含んでいる請求項１６記載の装置。
【請求項１９】
ファミリー関係型テーブルは、ファミリーと関係するステップが実行される予め定められた順序を表している各ファミリーに対応するシーケンス番号を含んでいる請求項１６記載の装置。
【請求項２０】
ファミリー構成要素関係型テーブルは、コンピュータファミリーを識別する属性と、構成要素を識別する属性との間の関係を定めている請求項１６記載の装置。
【請求項２１】
ファミリー構成要素関係型テーブルは、構成要素識別属性とステップ識別属性との間の関係を定めている請求項１６記載の装置。
【請求項２２】
さらに、名称によりコンピュータシステムのファミリーを識別し、ステップテーブルに結合されているファミリーテーブルを含んでいる請求項１６記載の装置。