(57)【要約】【課題】オペレーティング・システム、ソフトウェア製品、およびアプリケーションを含むパッケージをネットワーク中のサーバ・コンピュータに接続されたエンド・ユーザ・コンピュータ上に導入し構成するシステムおよび方法を提供すること。【解決手段】本方法は、管理者が提供するツールを使用して、エンド・ユーザがオンサイトで導入をトリガし実施するプル・デプロイメント・モデルに基づいている。事前定義済みのマシン・ファンクションに基づいて、生成プロセスが、必要なパラメータを有するソース・ファイルを生成して導入が行われ、これらのパラメータが、中央集中構成データベースにストアされる。導入に必要な応答ファイルが、次に生成される。このシステムにより、導入プロセスを追跡し、その成功または失敗について中央データベースに報告することが可能になる。
2005502117.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティング・システム、ソフトウェア製品、およびアプリケーションを含むパッケージをネットワーク中の少なくとも１台のサーバ・コンピュータに接続された少なくとも１台のエンド・ユーザ・コンピュータ上に導入し構成するシステムであって、
前記少なくとも１台のサーバ・コンピュータに結合され、前記パッケージ、および前記少なくとも１台のエンド・ユーザ・コンピュータの識別データをストアする手段と、
前記少なくとも１台のエンド・ユーザ・コンピュータの前記識別データに基づいて、前記パッケージを前記ストアする手段から前記少なくとも１台のサーバ・コンピュータへと送る手段と、
前記送る手段に結合され、前記少なくとも１台のエンド・ユーザ・コンピュータ上に前記パッケージを導入するために、前記少なくとも１台のサーバ・コンピュータ上で、前記識別データに基づいて導入プログラムおよび関連する応答ファイルを作成する手段と
を備え、
前記識別データが、前記少なくとも１台のエンド・ユーザ・コンピュータが導入される少なくとも１つのロケーション・データと、前記少なくとも１台のエンド・ユーザ・コンピュータが前記ネットワーク中で実施するファンクション・データとを含む、
システム。
【請求項２】
前記パッケージに対して前記少なくとも１台のエンド・ユーザ・コンピュータのロケーション・データと、前記少なくとも１台のエンド・ユーザ・コンピュータのファンクション・データとを割り当てる手段をさらに含む、請求項１に記載のシステム。
【請求項３】
前記ネットワークが、複数のパッケージを導入すべき複数のエンド・ユーザ・コンピュータをさらに備え、
前記ファンクション情報が、複数のファンクション・クラスに構成され、各ファンクション・クラスが、前記ネットワーク中の共通のファンクションを有する、前記ネットワーク中の前記複数のエンド・ユーザ・コンピュータのうちの１組のエンド・ユーザ・コンピュータを識別する、
請求項２に記載のシステム。
【請求項４】
前記複数のファンクション・クラスが、クライアント・ファンクション・クラスおよびサーバ・ファンクション・クラスを含む、請求項３に記載のシステム。
【請求項５】
前記識別データが、前記ネットワーク中の前記複数のエンド・ユーザ・コンピュータのハードウェア構成およびソフトウェア構成についての情報をさらに含む、請求項３に記載のシステム。
【請求項６】
前記ストアする手段が、前記複数のエンド・ユーザ・コンピュータのそれぞれに割り当てられる導入ステータスを更新する手段をさらに備える、請求項３に記載のシステム。
【請求項７】
前記ストアする手段が、前記複数のパッケージのそれぞれに割り当てられるパッケージ・ステータスを更新する手段をさらに備える、請求項６に記載のシステム。
【請求項８】
前記パッケージを作成する手段と、前記作成されたパッケージを前記ストアする手段に送る手段とをさらに備える、請求項３に記載のシステム。
【請求項９】
前記少なくとも１台のエンド・ユーザ・コンピュータの初期ロードを実施する手段をさらに備える、請求項１に記載のシステム。
【請求項１０】
前記初期ロードを実施する手段が、前記エンド・ユーザ・コンピュータをブートするブート可能装置を備える、請求項９に記載のシステム。
【請求項１１】
オペレーティング・システム、ソフトウェア製品、およびアプリケーションを含むパッケージをネットワーク中の少なくとも１台のサーバ・コンピュータに接続された少なくとも１台のエンド・ユーザ・コンピュータ上に導入し構成する方法であって、
前記パッケージ、および前記少なくとも１台のエンド・ユーザ・コンピュータの識別データを中央リポジトリにストアするステップと、
前記識別データに基づいて、前記パッケージを前記中央リポジトリから前記少なくとも１台のサーバ・コンピュータへと送るステップと、
前記少なくとも１台のサーバ・コンピュータ上で、前記識別データに基づいて導入プログラムおよび関連する応答ファイルを作成するステップと、
前記少なくとも１台のエンド・ユーザ・コンピュータ上に前記パッケージを導入するステップとを含み、
前記識別データが、前記少なくとも１台のエンド・ユーザ・コンピュータが導入される少なくとも１つのロケーション情報と、前記少なくとも１台のエンド・ユーザ・コンピュータが前記ネットワーク中で実施するファンクション情報とを含む、
方法。
【請求項１２】
前記ロケーション情報および前記ファンクション情報を前記パッケージに割り当てるステップをさらに含む、請求項１１に記載の方法。
【請求項１３】
前記ネットワークが、複数のパッケージを導入すべき複数のエンド・ユーザ・コンピュータをさらに備え、
前記ファンクション情報が、複数のファンクション・クラスに構成され、各ファンクション・クラスが、前記ネットワーク中の共通のファンクションを有する、前記ネットワーク中の前記複数のエンド・ユーザ・コンピュータのうちの１組のエンド・ユーザ・コンピュータを識別する、
請求項１２に記載の方法。
【請求項１４】
前記複数のファンクション・クラスが、クライアント・ファンクション・クラスおよびサーバ・ファンクション・クラスを含む、請求項１３に記載の方法。
【請求項１５】
前記識別データが、前記ネットワーク中の前記複数のエンド・ユーザ・コンピュータのハードウェア構成およびソフトウェア構成についての情報をさらに含む、請求項１３に記載の方法。
【請求項１６】
前記ストアするステップが、前記複数のエンド・ユーザ・コンピュータのそれぞれに割り当てられる導入ステータスを更新するステップをさらに含む、請求項１３に記載の方法。
【請求項１７】
前記ストアするステップが、前記複数のパッケージのそれぞれに割り当てられるパッケージ・ステータスを更新するステップをさらに含む、請求項１６に記載の方法。
【請求項１８】
前記パッケージを作成するステップと、前記作成されたパッケージを前記中央リポジトリに送るステップとをさらに含む、請求項１１に記載の方法。
【請求項１９】
前記少なくとも１台のエンド・ユーザ・コンピュータの初期ロードを実施するステップをさらに含む、請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの導入および構成に関し、詳細にはオペレーティング・システムの無人による初期の導入および構成のためのシステムと方法に関する。
【背景技術】
【０００２】
企業の運営には、オペレーティング・システム、製品、およびソフトウェア・アプリケーションを自動的に構築する要求がある。適切に機能させるためには、企業内のすべてのシステムが、同一オペレーティング・システム・レベルであり、個々の構成タイプがそれぞれ同一の製品コード・レベルであることが不可欠である。
【０００３】
初期導入は、広い企業展開プロセスの一部であり、システム管理者が、オペレーティング・システムやソフトウェアが導入されていない新しいサーバおよび新しいワークステーションをネットワークに無人の導入モードで追加するよく知られているプロセスである。
【０００４】
無人導入または初期導入は、トータル・コスト・オブ・オーナシップ（ＴＣＯ）ファクタを低減する鍵となっている。管理システムの複雑さが増すにつれて、初期導入展開方法が、情報技術（ＩＴ）サービスの混乱を最少にしようとする会社や企業にとっての鍵になっている。その他の組織にとっても、運用の混乱に対して特定の条件や制裁を課すサービス品質保証制度（ＳＬＡ）の圧力に対処しなければならない。これらの組織では、事件が起こったときの解決に必要な時間を劇的に減らす必要がある。
【０００５】
今日では、小規模のローカル・エリア・ネットワーク上の応答ファイルを使用することにより、技術者は、個々のコンピュータから無人導入セットアップを実行することができる。これらの導入においては、応答ファイルがオペレーティング・システムを導入するのに必要なオプションを提供するが、それがない場合には手動で入力する必要があるはずである。導入の制御が、このプロセスを開始する技術者によって実行される。しかし、ユーザのＩＴに対する要件は、今日の市場では非常に速いペースで変化している。これらの変化が継続的な革新および努力の原動力となっており、それによって新しいビジネス要件をより良く満たすことが可能なツールの開発がなされている。
【０００６】
これまでは、プラットフォームに依存するオペレーティング・システムをロードする様々なシステムおよび方法が、サーバおよびワークステーションの有人または無人の導入に適用されてきた。市場においては、Installshield Corp.、Wise Corp.、Tivoli Systems Inc Corp.、ＩＢＭ社、マイクロソフト社などからの製品が、マイクロソフト社のWindows（Ｒ）NT、ＩＢＭ社のＯＳ／２、マイクロソフト社のWindows（Ｒ）９５、ならびにＵＮＩＸ（Ｒ）またはＡＩＸオペレーティング・システムなど市販のオペレーティング・システムを導入するために最も広く使用されている。無人導入を実施する効率のよい方法が提供されているが、これらの製品では、一部のオペレーティング・システムの導入しか実現できず、また無人の導入パラメータの生成を可能とするプロセスの中央制御またはコマンド・ラインの出口を提供することができない。
【０００７】
したがって、既存システムの共通の欠点は、これらがオペレーティング・システムの無人導入と構築すべきマシンの所望の構成の間のインターフェースを提供していないことである。その結果、エンド・ユーザは、無人導入を自分で実施できるのに十分に熟練している必要がある。さらに、新しいマシンを構築するたびごとにすべてのパラメータを再入力しなければならない。
【０００８】
Dean他による米国特許第６，２０２，２０６号では、複数のサーバおよびクライアント・コンピュータのネットワークにプログラム、設定、および構成を導入する方法が提供されている。この方法は、導入すべきすべてのプログラムを１次サーバにプリロードするステップと、キーストロークおよびカーソル入力のシーケンスを実行して選択された構成要素およびプログラムを導入するステップとを含む。この解決方法では、ユーザが導入すべき構成要素およびプログラムを選択するのに十分に熟練していることが必要である。
【０００９】
しかし、これらの問題を解決するための知られているすべての試みでは、ロードされるソフトウェアを監視し制御するシステムを提供し、どの製品が正常に導入され構成されたかを検査するユーザ・インターフェースが欠如している。
【００１０】
さらに、現在知られているものはどれも、オペレーティング・システムが適切にロードされた後に、デプロイメント・チームが、追加の製品の導入および構成を自動化し制御できるようにするコマンド・ラインおよび中央の構成データベースを提供してはいない。
【００１１】
最後になるが、現在知られているものはどれも、オペレーティング・システムを適切にロードするのに必要なユーザ入力を最小限に抑えるプロファイリング・メカニズムを提供してはいない。
【００１２】
したがって、１組のプロファイルに基づいて、サーバおよびワークステーションの無人導入を実施する新しいシステムおよび方法が必要になっている。また、サーバまたはワークステーションのライフ・サイクル全体を追跡し、エンド・ユーザを製品の導入および構成の複雑さから切り離してくれる新しいデプロイメント方法も必要になっている。
【特許文献１】
米国特許第６，２０２，２０６号、Dean他
【発明の開示】
【発明が解決しようとする課題】
【００１３】
したがって、本発明の一目的は、オペレーティング・システムの初期導入について現在のシステムおよび方法を改善することである。
【００１４】
本発明の他の目的は、中央のリポジトリによって制御されるマシン・プロファイリング・メカニズムに従って、オペレーティング・システムと、必要な任意の製品またはアプリケーションを構築することである。
【００１５】
本発明のさらに他の目的は、それらを最初に構築した後、マシンを自動的に更新するためのソフトウェアの配布製品と統合した解決方法を提供することである。
【００１６】
本発明のさらに他の目的は、サーバまたはワークステーションのステータスをそのライフ・サイクルにわたって追跡することが可能な解決方法を提供することである。
【００１７】
本発明のさらに他の目的は、（デフォルト・ルータ、ビデオ・ドライバなどの）オペレーティング・システム・パラメータなどの導入の詳細、または製品構成からエンド・ユーザを切り離してくれる解決方法を提供することである。
【００１８】
本発明のさらに他の目的は、その他のオペレーティング・システムまたはデータベースに移植可能なシステムを提供することである。
【課題を解決するための手段】
【００１９】
本発明では、サーバまたはワークステーション上へのソフトウェアの初期導入を制御する方法が提供される。本方法は、プル・デプロイメント・モデルに基づいており、このモデルでは、管理者が提供するツールを使用して、エンド・ユーザがオンサイトで導入をトリガし実施する。事前定義済みのマシン・ファンクションに基づいて、本発明では、導入に必要なすべてのパラメータを有するソース・ファイルを生成する生成プロセスが提供される。これらのパラメータは、中央集中の構成データベースにストアされる。ネットワークの任意のワークステーションまたはサーバの初期導入に必要な応答ファイルが、次に生成される。開示システムにより、導入プロセスを追跡すること、およびその成否を中央データベースへ報告することが可能になる。
【００２０】
さらに、本発明では、対象マシンにブートして、割り当てられたファンクションに基づいてそのマシンへの初期ロードを開始する標準サポート（フロッピ（Ｒ）・ディスク、ＣＤＲＯＭ、光ＣＤＲＯＭ、またはその他任意の記憶装置）が提供される。このサポートは基本的に、サーバから導入ファイルをプルし、次いでそれぞれのマシンに関連する必要なオペレーティング・システム、特定の構成、およびその他すべての製品またはアプリケーションを導入する。
【００２１】
システム管理者の役割は、特定のファンクションごとにオペレーティング・システムおよび製品の導入を自動化することである。したがって、本発明のアプリケーションは、ハードウェアまたはソフトウェアの特定の特性によって制限されることがない。
【００２２】
開示の方法は、オペレーティング・システムおよび製品の初期導入を制御し、以下のような利点を有する。
・デプロイメントの中央集中制御を提供する
・マシンと、関連ハードウェアおよびソフトウェアの在庫を追跡する
・導入、構成、ならびにハードウェアおよびソフトウェアの導入の詳細からユーザを切り離す
・マシンを構築するための中央リポジトリへ接続する必要性を回避する
・サーバまたはワークステーションを導入する特別なスキルの必要性を回避する
・確実にマシンのベース・レベルを実行する
・デプロイメント・コストを節約し、デプロイメント時間を短縮する
・必要なら、任意のロケーションで特定のサイトのすべてのマシンの集中構築を可能とし、またはサイトに個々のマシンのローカルな構築を可能とする
・マシンを何回でも再構築できるようにする
・一意的な制御システムの下に初期導入とソフトウェアの配布を統合する
・本方法を異なるオペレーティング・システムとデータベースに移植できるようにする
・名前付け標準の達成を実現する
【００２３】
本発明では、ネットワーク中の１台または複数台のサーバ・コンピュータに接続された１台または複数台のエンド・ユーザ・コンピュータ上にオペレーティング・システム、ソフトウェア製品、およびアプリケーションを含むパッケージを導入し構成するための方法を提供することにより、以上の目的およびその他の目的が達成される。本方法は、
１台または複数台のエンド・ユーザ・コンピュータのパッケージおよび識別データを中央リポジトリにストアするステップと、
その識別データに基づいて、このパッケージを中央リポジトリから１台または複数台のサーバ・コンピュータに送るステップと、
その識別データに基づいてサーバ・コンピュータ上で導入プログラム、および関連する応答ファイルを作成するステップと、
エンド・ユーザ・コンピュータ上でこのパッケージを導入するステップと
を含む。
【００２４】
識別データは、少なくともエンド・ユーザ・コンピュータが導入される場所に関するロケーション情報と、エンド・ユーザ・コンピュータがネットワーク中で実施するファンクションに関する情報を含む。
【００２５】
本発明自体、ならびに好ましい使用モード、さらなる目的、およびその利点は、詳細な実施形態の一例についての以下の詳細な説明を添付図面と併せ読むことにより、最も良く理解されよう。
【発明を実施するための最良の形態】
【００２６】
本発明を、サーバまたはワークステーション上への初期導入における使用について説明する。しかし、この説明は、限定的ではなくて例示的なものであり、本発明を教示された後、当業者ならその他の環境にも拡張して使用することができよう。
【００２７】
以下の説明で、用語の中には、当業者に周知の一般的な意味で使用され、複数のタイプの構成要素を示すものがある。例えば、用語、サーバ、ワークステーション、およびマシンは、コンピュータ・システムの任意のハードウェアに関して使用される。
【００２８】
基本的な観察によって本発明がもたらされてきた。すなわち、ＩＴの導入において、特定の構成をもつ製品の導入を要求するスタッフ（アーキテクチャ・グループ）は、導入を実現するスタッフ（プロダクション・グループ）とは異なる。アーキテクチャ・グループ、プロダクション・グループ、およびエンド・ユーザの間のただ１つのリンクは、ハードウェア、オペレーティング・システム、および特定の構成が必要な製品もしくはアプリケーションの「バイファンクション」の定義である。
【００２９】
それ故、図を参照して本発明を説明する前に、このバイファンクションのものを含めて本発明の一般的な概念をいくつか最初に説明しておく。
ファンクション：必要なオペレーティング・システム、製品、およびアプリケーションを用いて適切に構築した後に、マシンが実施する役割またはプロファイル。例えば、ファンクションは、「ＳＡＰクライアント」とも、「マイクロソフト・オフィス・ワークステーション」とも、また「インターネット・ブラウザ」ともすることができる。
ファンクション・クラス：ファンクション・クラスは、同一のファンクションのグループを識別する。
ファンクション・クラス・コード：ファンクション・クラス・コードは、そのマシンが属するファンクションのグループを識別する。好ましい実施形態では、ファンクション・クラス・コードは、所与のオペレーティング・システムとマシンの汎用的な役割を加えたものに相当する。例えば、「MS Windows（Ｒ）NT  ＳＡＰサーバ」または「MS Windows（Ｒ）NT  ＳＡＰクライアント」は、Windows（Ｒ）NTオペレーティング・システム上で動作するＳＡＰサーバ・ハードウェア、およびＳＡＰクライアント・ハードウェアをそれぞれ示す。
マシン・ネーム：ネットワーク環境内の１台のマシンに割り当てられた一意的な名前。以下で説明される方法では、構築すべきあらゆるマシン（ターゲット・マシン）に対して標準的な名前付け規則が使用される。その名前には、そのマシンが導入されるサイト／ロケーションを示すコード、マシンのファンクションを示すコード、およびそれぞれのマシンに関連する番号が含まれる。例として、以下の名前付け規則を、全体の説明のために仮定する。マシン・ネームは７文字の「VVVffnn」からなるのが好ましく、ここで、マシン・ネームの最初の３文字「VVV」は、サイトまたはロケーションを特定する。次の２桁の１６進数の数字「ff」は、ファンクション・コードを特定する。最後の２桁の１０進数の数字「nn」は、マシン番号を特定し、これによって、それぞれのロケーションおよびサイトでファンクションは一意的になる。
【００３０】
この特定の規則は、限定的ではなくて例示的なものであり、変換テーブルを使用してロケーションまたはサイトのネームをサブネットに変換するなど、その他の名前付け、および符号化規則を使用して、マシン・ネームに基づいて、マシンパラメータを作ることができる。例えば、以下のリストに、その他周知の規則を一部与える。
・ＩＰタイプ・アドレスを使用：１６進数から１０進数への変換を伴う「10.vvv.fff.nnn」
・ＮＥＴＢＩＯＳネームを使用：「VVVPffnn」
・ＤＢネームを使用：「VVVBffnn」
・Ｍａｃアドレスを使用：第１のアダプタに対して「400000vvffnn」
ここで、VVV、ff、およびnnには、マシンのネーム付けについて上記で説明した意味を持たせることができる。ファンクション・コード、サイト／ロケーション・コード、およびマシン番号を符号化するために使用する文字数が、システムの特定の実装に応じて変化し得ることを理解されたい。これらの詳細は、異なる初期導入シナリオに依存するので本発明にとっては末梢的なことである。
【００３１】
図１を参照すると、本発明の主要な構成要素が示されている。中央リポジトリ（１０４）の記憶域である構成データベース（１００）は、導入すべき各ターゲット・マシン１１２（エンド・ユーザのワークステーションまたはサーバ）に関連する識別データ（パッケージ、ならびにハードウェアおよびソフトウェアの定義／構成／パラメータ）をストアする。構成データベースは、Ｓ／３９０メインフレーム上に実装されたＤＢ２データベースでよく、この場合、両製品ともにＩＢＭ社（IBM Corporation）のものである。
【００３２】
以下で「ＳＤアプリケーション」（１０２）と名付けられるソフトウェア配布アプリケーションを、構成データベース１００のフロントエンドとして使用して、無人の導入の間に実施される様々な動作を管理する。以下で「ＳＤサーバ」と名付けられる複数のソフトウェア配布サーバ（１０８−１、１０８−ｉ、１０８−ｎ）を、中央リポジトリに（１０４）に接続して、ターゲット・マシン（１１２）の無人導入の準備の間に生成されるパッケージとすべての必要なファイル（オペレーティング・システム・ファイルなど）を受け取る。中央リポジトリに接続され、以下で「ＳＤパック」（１０６）と名付けられるソフトウェア配布パッケージング構成要素によってパッケージが作成され、これが次に中央リポジトリに１０４にアップロードされる。ブート・ディスケット（１１０）をターゲット・マシン（１１２）上で使用して、必要なシステムを起動することができる。
【００３３】
理解しやすいように、１台のＳＤサーバ（１０８）とエンド・ユーザ端末となる１台のターゲット・マシン（１１２）についてこのシステムを詳述することにする。
【００３４】
構成データベース（１００）は、ハードウェア装置およびソフトウェア装置の定義、その構成、およびそのパラメータをストアする。構成データベース（１００）は、１組のデータ構造を、好ましくは以下の内容を含むテーブルの形式で保持する。
・アプリケーションで使用される様々なコード（ロケーション、マシン・ステータス、配布ステータス、ファンクション・ネームなど）
・ファンクションのクラス（アプリケーション、データベース、インターネット、サーバ、ネットワーキングなど）
・ファンクションのパラメータ（基礎となるオペレーティング・システム、プロトコル、製品など）
・ファンクションとその導入ルールに必要なパッケージ（手動／自動、初期／更新、宛先など）
・ファンクションに必要なハードウェア
・ハードウェア・クラス（キーボード、ビデオ・モニタ、ネットワーク・アダプタ）
・パッケージとその配布ステータスの定義（アップロード、ダウンロード、エラー、利用可能、送信済み）
・ハードウェアとその在庫ステータスの定義
・すべてのマシン、そのパラメータ、そのハードウェア、そのパッケージ、およびマシン間のリンクの定義
【００３５】
構成データベース（１００）が、さらにＳＤサーバ（１０８）および一度ダウンロードされたシステム・パッケージのステータスを常に把握していることに留意されたい。
【００３６】
ＳＤアプリケーション（１０２）は、以前に述べたように、複数の動作を実施する。詳細には、そのファンクションに基づいてターゲット・マシンの異なる構成を管理する、そのマシンに関連するパラメータを管理し常に把握する、マシンをそのライフ・サイクル（生成、移行、導入など）にわたって追跡する、プロセスのロードをトリガしマシンを構成する、システムおよびアプリケーション・ソフトウェアをその配布ステータス（アップロード、ダウンロード、エラー、利用可能、送信済み）とともに管理する、また最後になるが、ＳＤサーバ（１０８）へのパッケージの配布を管理するという動作を実施する。
【００３７】
パッケージを中央リポジトリにアップロードした後、ＳＤパック（１０６）も使用して構成データベース（１００）のテーブルをそれぞれ更新する。
【００３８】
オペレーティング・システム・ファイルに加えて、ＳＤサーバ（１０８）はまた、ターゲットのサーバまたはワークステーションで実行すべきビデオ、ネットワーク・アダプタ・ドライバ、および不在装置に対する導入スクリプトもストアする。ＳＤサーバ（１０８）は、複製プロセスの間に中央リポジトリ（１０４）に照会し、同じロケーションおよびファンクションで定義されるそれぞれのシステム・パッケージをダウンロードする能力を有するが、これについては、後で詳述することにする。
【００３９】
エンド・ユーザは、ＭＳ−ＤＯＳアプリケーションまたはＣＩＤ準拠のアプリケーション（すなわち、ＯＳ／２を起動するための構成−導入−配布方式）を起動することによって、構築すべきターゲット・マシンをブートし、このアプリケーションが、ユーザにターゲット・マシン・ネーム、ＳＤサーバ・ネーム、ハードウェア・モデル、およびネットワーク・アダプタ・タイプを入力するように促す。その後、オペレーティング・システム、およびそのファンクションに以前にリンクされている関連するパッケージが、自動的に導入される。
【００４０】
本発明は、複数のプロセスを含み、次にこれらのプロセスについて添付の図面を参照しながら説明する。
【００４１】
パッケージ管理プロセス
図２に、ＳＤパック（１０６）を介して実施されるパッケージ管理プロセス２００を示す。最初の動作で、パッケージ・ネームとバージョンをそのパッケージに関連づける従来の任意のパッケージング方式で以前に作成されたパッケージが、ＳＤパック（１０６）から中央リポジトリ（１０４）へとアップロードされる（ステップ２０２）。次に、各アップロード動作により、そのパッケージ・ステータスを「アップロード」に設定することによって、構成データベース１００中のパッケージ・ステータスを更新する（ステップ２０４）。それぞれのパッケージを受け取るＳＤサーバ（１０８−１、１０８−ｉ、１０８ｎ）が、複製プロセスを実行してパッケージの照会をする。この複製プロセスによりさらに、ＳＤサーバ１０８は、それがリモートのときに構成データベース１００と同期できるようになる（ステップ２０６）。次いで、パッケージ・ステータスを「ダウンロード」に更新し（ステップ２０８）、パッケージを対応するＳＤサーバ（１０８−１、１０８−ｉ、１０８ｎ）にダウンロードする（ステップ２１０）。ＳＤサーバ（１０８）は、ＰＣ工場（マシンを構築し、展開前にストックしておく中央サイト）やマシンをロードする必要がある任意のロケーションなど様々なリモート・サイトに配置することができる。
【００４２】
ワークステーション定義プロセス
ＳＤアプリケーション（１０２）によって実施されるワークステーション定義プロセスが、主としてネットワーク上の装置の構成を管理する。マシンに関連するロケーションおよびファンクション情報を使用して、ＳＤサーバ（１０８）上で、ワークステーション生成プロセスをまず実行する。エンド・ユーザがマシン・ネームを入力するとき、構成データベース（１００）にストアされるこの情報を、ＳＤアプリケーション（１０２）がフェッチする。このワークステーション生成プロセスは、ターゲット・マシン（１１２）のパーソナル情報を構成データベース（１００）からＳＤサーバ（１０８）へと送り、ＳＤサーバ（１０８）上の導入プログラムと、マシンごとに必要な対応する応答ファイルを作成するプロセスをトリガする。
【００４３】
ＳＤサーバ（１０８）上にある導入プログラムにより、オペレーティング・システム、それぞれのファンクション用のベースライン製品およびアプリケーションの全て、ならびに利用可能な追加パッケージを導入する導入ステップが定義される。導入プログラムは、エラーの場合には停止することもあり、そのエラーを起こした問題が修正された後にその中断したステップからリカバリすることができる。
【００４４】
初期ロード・プロセス
好ましい実施形態では、フロッピー（Ｒ）・ディスクをブート・ディスケットとして使用することにより、ターゲット・マシンにロードするための初期ロード・プロセスを動作させる。ターゲット・マシン（１１２）（例えば、サーバまたはワークステーション）の初期ロードは、ＳＤサーバ（１０８）への接続を介してなされる。ターゲット・マシン（１１２）は、ＳＤサーバ（１０８）にブート・ディスケットを使用して接続される。初期ロードをＰＣ工場で行う場合には、正常なロードを行った後、ネットワークのそのサブネットにそのターゲット・マシンを接続する。次いで、ＳＤサーバ（１０８）により、構成データベース（１００）中のターゲット・マシン（１１２）のステータスを、そのマシンが正しくロードされたことを示すステータスへと更新する。
【００４５】
本発明のシステムの各構成要素が実施する動作のより詳細な説明は、以下のようである。
【００４６】
Ａ．ＳＤアプリケーションが実施する動作
ＳＤアプリケーション（１０２）は、構築すべきワークステーションを管理するのに必要な１組の定義と、各定義に関連する１組のアクションとを提供する。この１組のアクションが、以下のアクション、すなわち各定義をリストする、作成する、削除する、または修正するあるいはこれらの組合せのアクションを含むことが好ましい。
【００４７】
そのワークステーションをネットワーク内で一意的に識別する１組の項目を用いて、導入すべき各ワークステーションを定義する。定義する項目としては、以下に示したものが好ましい。
・ファンクション・クラス：ファンクション・クラスは、ファンクション・クラスを一意的に識別する「ファンクション・クラス・コード」と、「ファンクション・クラス・コード記述」を含む。図３に、ＳＤアプリケーション（１０２）が実施するファンクション・クラス定義を生成するプロセス３００を示す。ファンクション・クラス・コードを生成し、構成データベース（１００）にストアする（ステップ３０２）。次いでファンクション・クラス・コード記述をファンクション・クラス・コードに割り当てる（ステップ３０４）。
【００４８】
あらゆるファンクション・クラス定義を作成し、リストし、削除し、修正することができる。作成アクションを用いて、ファンクション・クラス・コードおよびファンクション・クラス・コード記述を構成データベース（１００）中に挿入することが可能になる。削除アクションは、そのコードおよび記述（ならびにそれに依存するファンクションおよびワークステーションの任意のインスタンス）を構成データベース１００から削除する。修正アクションは、構成データベース（１００）中の任意のファンクション・クラス・コードの記述を更新し、リスト・アクションはファンクション・クラス・コードおよび関連する記述の選択を実施する。
【００４９】
・ファンクション：ファンクションは、マシンが実施する役割を定義し、「ファンクション・コード」と「ファンクション記述」によって一意的に識別される。ファンクションの各定義により、オペレーティング・システム、記述、オペレーティング・システムの特定の設定（例えば、ドメイン・サーバ、プリント・サーバ、特定のハードウェア）を指示する１組のパラメータ、およびどのミドルウェア製品をロードすべきかを指定するために必要となることがあるその他のパラメータが指定される。
【００５０】
図４は、ＳＤアプリケーション（１０２）が実施するファンクション定義プロセスの流れ図である。この流れ図に示すように、最初のステップ（ステップ４０２）でファンクション・クラスを探索する。ファンクション・クラスが存在しない場合（ブランチNO）には、作成される（ステップ３００へと進む）。ファンクション・クラスがすでにそのファンクションについて存在している場合（ブランチYES）には、コードをその特定のファンクションに対して作成する（ステップ４０４）。次いで、ファンクション・コード記述を生成する（ステップ４０６）。各ファンクション定義を作成し、リストし、詳細化し、削除し、修正することができ、また関連するパッケージをリストすることができる。作成アクションは、図４に示す動作を実施する。リスト・アクションは、構成データベース（１００）中で選択を実施し、そのファンクション・コードおよび記述を表示する。詳細化アクションを実施して、詳細なファンクションの記述を表示することができる。削除アクションは、ＳＤ構成データベース（１００）内のファンクションの任意のインスタンスを削除する。修正アクションは、ファンクションの記述またはパラメータを変更し、それらをＳＤ構成データベース（１００）中で更新する。リスト関連パッケージ・アクションは、そのファンクションに関連づけられるパッケージをリストする。
【００５１】
・ロケーション：ロケーションは、ロケーション・データによって定義され、このロケーション・データには、「ロケーション・コード」、「ロケーション・コード記述」、およびネットワーク内の関連する「サブネット」が含まれる。図５に、ＳＤアプリケーション（１０２）により実施される、ロケーションに対する定義プロセス５００の流れ図を示す。このプロセスで、ロケーション・コードがすでに存在するかどうかを検査する（ステップ５０２）。存在する場合、このプロセスは単に終了する。ロケーション・コードがまだ作成されていない場合には、新しいロケーション・コードを作成する（ステップ５０４）。
【００５２】
次に、このプロセスでは、サブネットが存在するかどうかを検査する（ステップ５０６）。存在する場合（ブランチYES）、このプロセスは単に終了する。サブネットが存在しない場合には、このプロセスでサブネットを作成する（ステップ５０８）。最後に、ロケーション記述が、ロケーション・コードに関連づけられる（ステップ５１０）。ロケーション定義は、すでに述べたアクションによって処理することが可能で、すなわち作成し、リストし、削除し、または修正し、あるいはこれらを組み合わせることができる。作成アクションは、図５に示す動作を実施する。リスト・アクションは、ＳＤ構成データベース（１００）中でロケーション・コードおよびその記述を選択する。削除アクションは、ＳＤ構成データベース（１００）内のロケーション・コードに付けられた任意のインスタンスを削除する。修正アクションは、ロケーション記述を変更し、それをＳＤ構成データベース（１００）中で更新する。
【００５３】
ハードウェア・クラス：ハードウェア・クラスには、クラスを識別する「ハードウェア・クラス・コード」と「ハードウェア・クラス記述」が含まれる。図６にＳＤアプリケーション（１０２）が実施する、ハードウェア・クラスを定義するプロセス６００を示す。まず、ＳＤアプリケーション（１０２）は、ハードウェア・クラス・コードがすでに存在するかどうかを検査する（ステップ６０２）。存在する場合、このプロセスは終了し、そうでない場合には、ハードウェア・クラス・コードを作成し（ステップ６０４）、ＳＤ構成データベース（１００）にストアする。次いで、ハードウェア・クラス記述を以前に定義済みのハードウェア・クラス・コードに関連づける（ステップ６０６）。ハードウェア・クラスの各定義を作成し、リストし、削除し、または修正し、あるいはこれらを組み合わせることができる。作成アクションは、構成データベース（１００）中にコードおよびその記述を挿入する。削除アクションは、コードおよびその記述、ならびにそれに依存するハードウェアおよびワークステーションの任意のインスタンスをこのＳＤ構成データベース（１００）から削除する。修正アクションは、任意のハードウェア・クラス・コードの記述を修正し、その記述レコードをＳＤ構成データベース（１００）中で更新する。リスト・アクションは、ハードウェア・クラス・コードおよび関連する記述を選択する。
【００５４】
ハードウェア：ハードウェア定義には、それぞれのハードウェアを識別する「ハードウェア・コード」および「ハードウェア記述」が含まれる。図７にＳＤアプリケーション（１０２）が実施するハードウェア定義プロセス７００の流れ図を示す。このプロセスでは、特定のハードウェアについてハードウェア・クラス・コードがすでに存在するかどうかを検査する（ステップ７０２）（例：ハードウェアは、キーボード・ハードウェア・クラスに含めるべきスペイン語のキーボードである）。コードが存在しない場合、コードを作成する（ステップ６００へと進む）。ハードウェア・クラス・コードが存在する場合（ブランチYes）には、ハードウェア・コードを作成する（ステップ７０４）。次いで、ハードウェア記述を生成する（ステップ７０６）。各ハードウェア定義を作成し、リストし、削除し、または修正し、あるいはそれらを組み合わせることができる。作成アクションは、図７に示す動作を実施する。削除アクションは、ハードウェアの任意のインスタンスをＳＤ構成データベース（１００）から削除する。修正アクションは、ハードウェア記述の記述レコードまたはその他のパラメータを修正し、それらをＳＤ構成データベース（１００）中で更新する。最後に、リスト・アクションは、ＳＤ構成データベース（１００）中のハードウェア・コード、ハードウェア・クラス・コード、および記述を選択する。
【００５５】
パッケージ：図８は、パッケージ定義プロセス８００の流れ図である。パッケージ定義には、パッケージ・バージョンを識別する「パッケージ・ネーム」、パッケージ記述、そのパッケージが導入される可能性のあるオペレーティング・システム、割り当てられたファンクション、割り当てられたロケーション、圧縮の種類、そのパッケージを物理的にストアするファイル・システムまたはディレクトリが含まれる。パッケージは、ＳＤパック構成要素（１０６）を介して作成される。ＳＤアプリケーション（１０２）は、リスティング、修正、および削除というその他のアクションを実施する。まず、システム・パッケージを選択し（ステップ８０２）、次いでファンクション（ステップ８０４）とロケーション（ステップ８０６）をこのパッケージに割り当てる。ロケーションを割り当てた後、プロセスは、このパッケージをマシンの初期ロードでロードするように設定する（ステップ８０８）。次いで、プロセスをトリガして、このパッケージをこの割り当てられたロケーションに対するステータス「利用可能」に設定する（ステップ８１０）。同じロケーションに属し、同じファンクションで定義され、構成データベース（１００）に照会するＳＤサーバならどれでも、この特定のシステム・パッケージをダウンロードすることになる。
【００５６】
ワークステーション：図９は、ＳＤアプリケーション１０２がそれぞれのターゲット・マシン１１２に対して実施するワークステーション定義プロセス（９００）の流れ図である。ロケーションを、ロケーション・コードおよび関連するロケーション記述リストから選択する（ステップ９０２）。次に、ファンクションをファンクション・コードおよび関連するファンクション・コード記述リストから選択する（ステップ９０４）。次いで、テストを実施して、ワークステーションをそのロケーション内で一意的にする番号がターゲット・ワークステーション１１２にはすでに存在するかどうかを検査する（ステップ９０６）。存在しない場合、ある番号をそのマシンに割り当てる（ステップ９０８）。番号が割り当てられていてもいなくても、そのマシンに必要なハードウェアを選択する（ステップ９１０）。次にＳＤアプリケーション（１０２）内でワークステーション生成プロセスを実行して（ステップ９１２）、ＳＤサーバ（１０８）内にファイルを生成する。生成プロセスに失敗すると、エラー・メッセージを表示する（ステップ９１４）。このファイルをここでは、「ＳＲＣ」ファイルとして示すが、これについては、ＳＤサーバ（１０８）の動作に関連して以下で詳述することにする。ワークステーション生成プロセスに成功すると、ワークステーションのステータスを「生成済み」に設定する（ステップ９１６）。
【００５７】
Ｂ．ＳＤサーバの動作：ＳＤサーバ１０８内で実施されるプロセスは、２つの構成要素、すなわち「SRC」ファイルと「SDCONF」プロセスを含む。この「SRC」ファイルは、以前に説明したように、ワークステーション生成プロセス中に生成され、特定のテンプレートを埋める特定のフォーマットの必要なパラメータを含む（すなわち、マシン・ネーム、ネットワーク・アダプタ、ドメイン、ビデオ・アダプタ、キーボード、デフォルト・ルータなど）。この「SDCONF」は、「SRC」ファイルを読み取り、ターゲット・マシンの無人ローディングに必要な応答ファイルを生成するプロセスである。
【００５８】
「SRC」ファイル・ネームは、（ロケーション、ファンクション、およびシーケンス番号を含めて、以前説明した名前付け規則に従う）ロードすべきそれぞれのマシンのマシン・ネームであることが好ましく、タイプ「.GEN」のファイル拡張子を有する。例えば、ファイル「AQU1201.GEN」が存在することにより、マシンＡＱＵ１２０１が、ＳＤアプリケーション（１０２）によって定義されており、指定されたＳＤサーバ中で正しく生成されていることが示唆される。さらに、「SRC」ファイルは、生成すべきマシンの完全な記述を含んでいる。
【００５９】
その後、ターゲット・マシン（１１２）の導入を完了するのに必要なオペレーティング・システムおよびアプリケーション応答ファイルを作成する。基本的に、この「SDCONF」プロセスには、ＳＤサーバ（１０８）上にストアされ、ＳＤアプリケーション（１０２）によってリモートに実行されるスクリプトの実行が含まれる。このリモートな手続きにより、「SRC」ファイルからデータが読み取られ、ターゲット・マシン（１１２）の完全な導入に必要な応答ファイルおよびファンクション特有のスクリプトが作成される。この応答ファイルおよびファンクション特有のスクリプトは、ＳＤサーバ（１０８）中にある応答ファイル・テンプレートを適切な情報で埋めることによって作成される。これらのスクリプトは、初期導入プロセス中に含めるべき追加パッケージを導入するために使用され、この追加パッケージは、ＳＤアプリケーション（１０２）によりそれぞれのマシンのファンクションに事前に割り当てられる。
【００６０】
「SRC」ファイル中のパラメータは、このスクリプトの作成にとって特有の意味をもつ。ほとんどのパラメータは、ターゲット・マシンが実施するファンクションの定義に由来するが、その他のものはそのマシンに特有なものである（例えば、ハードウェア、ＩＰアドレスなど）。さらに、パラメータによっては特定のオペレーティング・システムに限定されているものがある。このロジックは、SRCファイルを解析し読み取る責任を担うことになるスクリプト（SDCONF）を作成する際に実装される。
【００６１】
ＳＤサーバ（１０８）中においてすべてのファイルでターゲット・マシン（１１２）の完全導入に対する準備ができた後に、ターゲット・マシン（１１２）を、ブートし、サーバに接続し、パーティションに分割し、フォーマットし、次いで最終的に導入を行う。このプロセスの詳細は、導入すべきオペレーティング・システムに応じて異なる。実際、ＯＳ／２では、３枚のＣＩＤブート・ディスケットに含まれるＯＳ／２独自のパーティショニング・ツール、すなわち BootManager が付いてくるが、Windows（Ｒ）のパーティショニングは、ＤＯＳネットワークのブート可能なディスケットで行う必要がある。
【００６２】
導入動作は、ユーザに、導入すべきマシン・ネームとマシンの生成に使用するＳＤサーバ・ネームを入力するように促すことから開始される。この情報をユーザが入力した後、ターゲット・マシン（１１２）は、ＳＤサーバに接続され、このプロセスは、いかなるその他のユーザの介入もなしに完全に自動的に行われる。マシン・ネームのフォーマットが「VVVFFxx」であるので、このうちの「FF」コードにより、マシンのファンクションがＳＤサーバ（１０８）中の適切なディレクトリ・パスにマッピングされる。
【００６３】
このようにして、導入には、オペレーティング・システム（すなわち、ＯＳ／２、ＮＴ、Windows（Ｒ）2000、またはWindows（Ｒ）9x）の導入と、以下に示すような追加ソフトウェア製品の導入が含まれる。
・（Windows（Ｒ）NT Service Pack、OS/2 fixes、インターネット・ブラウザ、AntiVirusなど一般にベースライン製品と名付けられる）すべてのファンクションに共通の製品
・IBM DB2もしくはIBM MQSeries、またはLotus Corp.のLotusNotesなどファンクション特有のミドルウェア製品
・（一般にアプリケーション・パッケージの）ファンクション特有の初期ロード・ソフトウェア配布パッケージ
【００６４】
図１０に、「SDCONF」プロセス（１０００）を示す。まず、「SDCONF」は、導入すべきマシン・ネームを探索アーギュメントとして使用して、導入すべきそれぞれのマシンに関連する「SRC」ファイルの探索を行う（ステップ１００２）。次いで、この「SRC」ファイルを検査して、ターゲット・マシンに必要なオペレーティング・システムを識別する（ステップ１００４）。次に、このパラメータに応じて、サブルーチンをそれぞれ呼ぶ（ステップ１００６−ａ、１００６−ｂ、１００６−ｃ）。「SDCONF」は、オペレーティング・システムの応答ファイル・テンプレートを、SRCファイルから読み取る特定のデータで埋めることにより、オペレーティング・システムの応答ファイルを作成する（ステップ１００８）。（図１１に、「TSTP1301」と名付けたマシンの応答ファイルのテンプレートを埋める様子を示す）。最後に、ファンクション特有のスクリプトを作成する。ミドルウェア製品およびＳＤパッケージを導入するファンクション特有のプログラムもまた、例えばハードウェア依存のソフトウェアなどマシン特有のソフトウェアを導入するのに使用することができる。
【００６５】
付録Ａは、３つの異なるタイプのパラメータに関するファイル構造を示すSRCファイルの一例を与える。
（１）ヘッダのないパラメータ：例えば、BASE_OPERATING_SYSTEMパラメータ、TCPIP_ADDRパラメータ、またはFCT_NAMEパラメータなど。
（２）「MAT」ヘッダ付きのパラメータ：これらはすべて、KEYBOARD-TYPEパラメータまたはSCREEN-TYPEパラメータなどのハードウェア・パラメータである。構築すべきマシンに関する特定のハードウェア情報が、このパラメータ・セクションに記述される。これらのパラメータに応じて、スクリプトは、そのオペレーティング・システムの応答ファイルの特有のドライバを含む。
（３）「SOFT」ヘッダ付きのパラメータ：これらはすべて、ADMINPWDやPRINTSRVパラメータなどのソフトウェア・パラメータである。マシン・ファンクションに関連する特定のソフトウェア・パッケージが、このパラメータ・セクションに記述される。
【００６６】
付録Ｂに、ファイルのロケーションが「SDCONF」プロセスによって生成される、ＳＤサーバ（１０８）のディレクトリ構造の一例を示す。２つの主要な構成要素ＣＩＤおよびＳＤＳＹＤの構造を示す。基本的に、ＣＩＤ要素は、製品導入コードおよびオペレーティング・システムが構成するユーティリティをストアし、ＳＤＳＹＤ要素は、ターゲット・マシンの完全自動導入に必要な最終ファイルを含む、ファンクションおよびマシン特有のサブ・ディレクトリをストアする。
【００６７】
以上の説明から、本発明では以下の追加の利点がもたらされることが今や明らかである。
・構成データベース（１００）をソフトウェア配布システムと統合することが可能なこと
・「バイファンクション」の概念を拡張して任意の数の追加構成パラメータを含むことが可能なこと（例えば、ファンクションを、空のクライアントを特定のＭＱシリーズ製品にリンクするように構成すること）
・ワークステーション定義を追加フィールドで拡張してソフトウェア配布システムへの情報転送を可能にするパラメータをストアできるようにし、その結果、中央データベース中のパラメータをＳＤアプリケーション（１０２）を介して修正することにより、任意のワークステーションを再構成することができること
・異なるオペレーション・センタ間でシステム・パッケージを交換するために中央リポジトリ間でパッケージを送ることが可能なこと
【００６８】
本発明をその好ましい実施形態に関して詳細に示し説明してきたが、本発明の趣旨および範囲を逸脱することなく形式および詳細において様々な変更を加えることができることが当業者には理解されよう。
【図面の簡単な説明】
【００６９】
【図１】本発明のシステムのアーキテクチャおよび主要な構成要素を示す図である。
【図２】本発明のパッケージ管理プロセスの流れ図である。
【図３】本発明の方法によるクラス・ファンクションの定義の流れ図である。
【図４】本発明の方法によるファンクション・プロセスの定義の流れ図である。
【図５】本発明の方法によるロケーション・プロセスの定義の流れ図である。
【図６】本発明の方法によるハードウェア・クラスの定義の流れ図である。
【図７】本発明の方法によるハードウェアの定義の流れ図である。
【図８】本発明の方法によるパッケージの定義の流れ図である。
【図９】本発明の方法によるワークステーションの定義の流れ図である。
【図１０】本発明の方法による応答ファイルを生成するプロセスの流れ図である。
【図１１】図１０のプロセスによって実施される応答ファイルのテンプレートを埋める様子を示す。
【図１】
2005502117.tif 000003
【図２】
2005502117.tif 000004
【図３】
2005502117.tif 000005
【図４】
2005502117.tif 000006
【図５】
2005502117.tif 000007
【図６】
2005502117.tif 000008
【図７】
2005502117.tif 000009
【図８】
2005502117.tif 000010
【図９】
2005502117.tif 000011
【図１０】
2005502117.tif 000012
【図１１】
2005502117.tif 000013
【国際公開パンフレット】
2005502117.tif 000014
2005502117.tif 000015
2005502117.tif 000016
2005502117.tif 000017
2005502117.tif 000018
2005502117.tif 000019
2005502117.tif 000020
2005502117.tif 000021
2005502117.tif 000022
2005502117.tif 000023
2005502117.tif 000024
2005502117.tif 000025
2005502117.tif 000026
2005502117.tif 000027
2005502117.tif 000028
2005502117.tif 000029
2005502117.tif 000030
2005502117.tif 000031
2005502117.tif 000032
2005502117.tif 000033
2005502117.tif 000034
2005502117.tif 000035
2005502117.tif 000036
2005502117.tif 000037
2005502117.tif 000038
2005502117.tif 000039
2005502117.tif 000040
2005502117.tif 000041
2005502117.tif 000042
2005502117.tif 000043
2005502117.tif 000044
2005502117.tif 000045
2005502117.tif 000046
2005502117.tif 000047
2005502117.tif 000048
2005502117.tif 000049
2005502117.tif 000050
2005502117.tif 000051
2005502117.tif 000052
2005502117.tif 000053
【国際公開パンフレット（コレクトバージョン）】
2005502117.tif 000054
2005502117.tif 000055
【国際調査報告】
2005502117.tif 000056
2005502117.tif 000057
2005502117.tif 000058