(57)【要約】本発明は、コンピュータにソフトウェアを自動的にインストールするシステムおよび方法である。本システムは、ビルド・サーバとビルド生成端末とを含み、両者は同じコンピュータであってもよい。ビルド・サーバは、ネットワークを介して受信側コンピュータに接続される。ビルド・サーバは、受信側コンピュータにインストール可能なソフトウェアのライブラリを含む。ビルド生成端末は、ビルド・プランを生成するソフトウェアを含み、ビルド・プランは、ソフトウェア・インストール・プログラムを実行する命令を含む。ビルド・プランは、ネットワークを介して、または有形媒体の受け渡しなどにより、受信側コンピュータに転送することができる。本発明の方法は、受信側コンピュータにインストールするソフトウェアを定義するビルド・プランの作成と、受信側コンピュータへのビルド・プランの転送と、受信側コンピュータ上でのビルド・プランの実行とを含み、受信側コンピュータは、ビルド・サーバからネットワークを介してインストールするのに必要なファイルおよびデータにアクセスする。
2004533032.tif 000002
【特許請求の範囲】
【請求項１】
受信側コンピュータにソフトウェアをインストールするシステムであって、
コンピュータに特定のソフトウェア・パッケージをインストールするための少なくとも１つのベンダ提供インストール・プログラムを含むビルド・ライブラリと、
受信側コンピュータで実行されると、前記少なくとも１つのインストール・プログラムを使用して受信側コンピュータにソフトウェアがインストールされるようにするビルド・プランを生成するビルド生成ソフトウェアを有するビルド生成端末とを含み、
前記ビルド・ライブラリは受信側コンピュータがネットワークを介してアクセス可能であるシステム。
【請求項２】
前記ネットワークがインターネットである、請求項１に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項３】
前記ビルド生成端末で生成されたビルド・プランを受信側コンピュータに転送するビルド・プラン転送手段をさらに含む、請求項１に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項４】
前記転送手段は、前記ビルド生成端末に関連づけられたビルド・プラン転送装置を含む、請求項３に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項５】
前記ビルド・プラン転送装置は、書込み可能な取外し可能記憶装置である、請求項４に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項６】
前記書込み可能な取外し可能記憶装置がフロッピィ・ディスク・ドライブである、請求項５に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項７】
前記ビルド・プラン転送装置が書込み可能コンパクト・ディスク・ドライブである、請求項４に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項８】
前記転送手段が、前記ビルド生成端末に関連づけられたネットワーク・インタフェースを含み、前記ネットワーク・インタフェースは前記ビルド生成端末をネットワークに通信可能に接続し、前記ネットワークは受信側コンピュータがアクセス可能である、請求項３に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項９】
前記ビルド生成端末がさらに、受信側コンピュータで実行されると少なくとも１つのセキュリティ機能を受信側コンピュータに設けさせるビルド・プランを生成する、請求項１に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項１０】
前記少なくとも１つのセキュリティ機能は証明ファイルを含む、請求項９に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項１１】
前記ビルド生成端末により生成されたビルド・プランが少なくとも１つのプログラム・インストール・コマンドを含み、前記プログラム・インストール・コマンドが、ソフトウェア・インストール・データ・パッケージに格納されたパラメータに従ってコンピュータ・プログラムを受信側コンピュータにインストールさせる、請求項１に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項１２】
前記ソフトウェア・インストール・データ・パッケージが、前記ソフトウェア・インストール・データ・パッケージに関連づけられたコンピュータ・プログラムのインストールの完了時に前記受信側コンピュータを初期設定するべきか否かを識別するパラメータを含む、請求項１１に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項１３】
前記ソフトウェア・インストール・データ・パッケージがテキスト・ファイルを識別するデータ・フィールドを含み、前記テキスト・ファイルが前記ソフトウェア・インストール・プログラムによって生成された照会に応答してソフトウェア・インストール・プログラムに供給する必要があるデータを識別する、請求項１１に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項１４】
前記ソフトウェア・インストール・データ・パッケージが、前記ソフトウェア・インストール・データ・パッケージに関連づけられたソフトウェア・インストール・プログラムが受信側コンピュータで正常に実行されるために受信側コンピュータ上で稼働している必要があるプログラムを識別するデータ・フィールドを含む、請求項１１に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項１５】
前記ソフトウェア・インストール・データ・パッケージが、前記ソフトウェア・インストール・パッケージ・データに関連づけられたソフトウェア・インストール・プログラムが受信側コンピュータで正常に実行されるために受信側コンピュータで稼働させることができないプログラムを識別するデータ・フィールドを含む、請求項１１に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項１６】
受信側コンピュータにソフトウェアをインストールするシステムであって、
ビルド生成ソフトウェアと受信側コンピュータにビルド・プランを転送するためのビルド・プラン転送装置とを含むビルド生成部と、
インストール可能ソフトウェアのライブラリと、ビルド・サーバと受信側コンピュータとの間の通信を可能にするインタフェースとを含むビルド・サーバとを含み、
前記ビルド生成部はビルド・プランを生成し、前記ビルド・プランは受信側コンピュータで実行されるとインストール可能ソフトウェアが前記受信側コンピュータにインストールされるようにするシステム。
【請求項１７】
前記ビルド生成部が入力装置をさらに含み、前記入力装置は受信側コンピュータにインストールしたいインストール可能ソフトウェアを識別する情報をビルド要求者から受け取る、請求項１６に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項１８】
前記入力装置が前記ビルド生成部に接続されたモニタとキーボードとを含む、請求項１７に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項１９】
前記入力装置がインターネット接続を介して前記ビルド生成部に接続されたインターネット機器を含む、請求項１７に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項２０】
前記ビルド・プラン転送装置が書込み可能な取外し可能記憶装置を含み、前記書込み可能な取外し可能ドライブは可搬型記憶装置上にビルド・プランを記憶する、請求項１６に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項２１】
前記書込み可能な取外し可能記憶ドライブは、前記ビルド生成端末から遠隔に配置され、前記書込み可能な取外し可能記憶装置は前記ビルド生成部と通信する、請求項１６に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項２２】
前記ビルド生成端末と前記ビルド・サーバとが単一のコンピュータ上で一体化されている、請求項１６に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項２３】
前記ビルド生成部がビルド情報データベースをさらに含み、前記ビルド情報データベースが受信側コンピュータにソフトウェアをインストールするためのソフトウェア・インストール・データ・パッケージ定義を含む、請求項１６に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項２４】
前記ビルド生成部がビルド・プランを生成し、前記ビルド・プランがレジストリに挿入可能な少なくとも１つの命令を含む、請求項１６に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項２５】
前記ビルド生成部がビルド・プランを生成し、前記ビルド・プランが実行ファイルを含み、前記実行ファイルが受信側コンピュータの起動時に自動的に実行可能である、請求項１６に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項２６】
前記ビルド生成部によって生成される前記実行ファイルが受信側コンピュータに少なくとも１つのセキュリティ機能をインストールする命令をさらに含む、請求項２５に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項２７】
前記ビルド生成部によって生成される前記実行ファイルが、ネットワークのために前記受信側コンピュータを識別する情報をさらに含む、請求項２５に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項２８】
前記ビルド生成部によって生成される前記実行ファイルが、ビルド・ライブラリへの通信経路を識別する情報をさらに含む、請求項２５に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項２９】
前記ビルド生成部がビルド・プランを生成し、前記ビルド・プランが少なくとも１つのインストール命令を含み、前記インストール命令がソフトウェア・パッケージをインストールするための事前定義済みパラメータ・リストを使用し、前記事前定義済みパラメータ・リストは、ソフトウェア・インストール・プログラムのためのインストール・コマンドを識別する情報と、インストール・プログラムの実行の完了時に受信側コンピュータを再起動するべきか否かを示す情報とを含む、請求項１６に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項３０】
前記事前定義済みパラメータ・リストがテキスト・ファイルを識別する値をさらに含み、前記テキスト・ファイルが受信側コンピュータへのソフトウェアのインストール時に必要な応答を含む、請求項２９に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項３１】
インストール・プログラムが受信側コンピュータにソフトウェアを正常にインストールすることができるにはその前に受信側コンピュータ上で追加のプログラムが稼働していなければならないか否かを示す値を、前記事前定義済みパラメータ・リストがさらに含む、請求項２９に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項３２】
インストール・プログラムが受信側コンピュータにソフトウェアを正常にインストールすることができるにはその前に受信側コンピュータ上で稼働している必要があるソフトウェア・サービスを識別する値を、前記事前定義済みパラメータ・リストがさらに含む、請求項２９に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項３３】
インストール・プログラムが受信側コンピュータにソフトウェアを正常にインストールすることができるにはその前に受信側コンピュータ上で他のソフトウェア・サービスが稼働していることができないかどうかを示す値を、前記事前定義済みパラメータ・リストがさらに含む、請求項２９に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項３４】
インストール・プログラムが受信側コンピュータにソフトウェアを正常にインストールすることができるにはその前に受信側コンピュータ上で稼働していることができないプログラムを示す識別情報を、前記事前定義済みパラメータ・リストがさらに含む、請求項２９に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項３５】
受信側コンピュータにソフトウェアをインストールするシステムであって、前記受信側コンピュータが複数の場所に分散され、前記システムは、
ネットワークを介した少なくとも１つのビルド・ライブラリ・受信側コンピュータと、
受信側コンピュータにインストールしたいソフトウェアを識別する情報に応答してビルド・プランを生成するビルド生成ソフトウェアを含む少なくとも１つのビルド生成端末とを含み、
前記ビルド・プランは少なくとも１つのインストール命令を含み、前記インストール命令は受信側コンピュータにインストールするソフトウェア・パッケージを識別し、前記インストール命令は標準化されたインストール・データ・パッケージ定義を使用し、前記標準化されたインストール・データ・パッケージ定義は、複数のソフトウェア・パッケージ・インストール・パラメータを定義することができるシステム。
【請求項３６】
複数のビルド・ライブラリをさらに含み、前記ビルド・ライブラリのうちの少なくとも１つのビルド・ライブラリが、受信側コンピュータにソフトウェアをインストールする前記複数の場所のそれぞれと同じ場所に配置された、請求項３５に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項３７】
前記少なくとも１つのビルド生成端末は、前記ビルド生成端末によって生成されたビルド・プランを受信側コンピュータに転送するビルド・プラン転送手段をさらに含む、請求項３６に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項３８】
前記ビルド・ライブラリが、前記ビルド・ライブラリを前記ビルド生成端末に接続するインターネット・インタフェースをさらに含み、前記ビルド・プラン転送手段がビルド転送装置を含み、前記転送装置が受信側コンピュータへの転送のための有形媒体上にビルド・プランを実現する、請求項３７に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項３９】
前記ビルド・ライブラリが、前記ビルド・ライブラリを前記ビルド生成端末に接続するインターネット・インタフェースをさらに含み、前記ビルド・プラン転送手段がネットワークを含み、前記ネットワークは受信側コンピュータがアクセス可能である、請求項３７に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項４０】
前記少なくとも１つのビルド生成端末が、ビルド要求者から所望のビルド情報を受け取るインタフェースをさらに含む、請求項３５に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項４１】
所望のビルド情報を受け取る前記インタフェースがインターネット・インタフェースを含み、前記インターネット・インタフェースがインターネットに接続された、請求項４０に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項４２】
少なくとも２カ所の場所に分散された受信側コンピュータにソフトウェアをインストールするシステムであって、
少なくとも２つの場所に分散されたビルド・ライブラリであって、前記ビルド・ライブラリと同じ場所に配置された受信側コンピュータがアクセスすることができるネットワーク・インタフェースを含む少なくとも２つのビルド・ライブラリと、
受信側コンピュータにインストールしたいソフトウェアを識別する情報に従ってビルド・プランを生成し、受信側コンピュータにインストールしたいソフトウェアを識別する情報をビルド要求者インタフェースを介して受け取り、受信側コンピュータがアクセスすることができるネットワークに通信可能に接続された、少なくとも１つのビルド生成端末とを含むシステム。
【請求項４３】
前記ビルド要求者インタフェースがビルド要求表示とインターネット・インタフェースとを生成するソフトウェアを含み、前記ビルド要求表示が受信側コンピュータにインストールしたいソフトウェアを特定するようにビルド要求者に促し、前記インターネット・インタフェースがインターネットを介して遠隔に位置するビルド要求者に前記ビルド要求を伝達する、請求項４２に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項４４】
前記少なくとも１つのビルド生成端末が、ビルド情報データベースをさらに含み、前記ビルド情報データベースが前記少なくとも２つのビルド・ライブラリからインストールのために使用可能なソフトウェアに関連づけられたインストール・データ・パッケージを含み、前記インストール・データ・パッケージが前記ビルド・ライブラリに格納されたインストール・プログラムに関連づけられたパラメータを識別する、請求項４２に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項４５】
各ビルド・ライブラリに関連づけられた少なくとも１つの受信側コンピュータをさらに含み、各受信側コンピュータが前記関連づけられたビルド・ライブラリにネットワークを介して通信可能に接続された、請求項４２に記載の受信側コンピュータにソフトウェアをインストールするシステム。
【請求項４６】
受信側コンピュータにソフトウェアをインストールする方法であって、
受信側コンピュータにインストールするソフトウェアを識別する情報をビルド要求者から受け取るステップと、
識別された前記ソフトウェアを前記受信側コンピュータにインストールするためのビルド・プランを生成するステップと、
前記ビルド・プランを前記受信側コンピュータに転送するステップと、
前記受信側コンピュータ上で前記ビルド・プランを実行するステップとを含み、前記受信側コンピュータが、ソフトウェアのインストールに必要なデータにビルド・ライブラリへのネットワーク接続を介してアクセスする方法。
【請求項４７】
ビルド・プランを生成する前記ステップが実行ファイルを作成するステップを含み、前記実行ファイルが、受信側コンピュータ上でインストール・プログラムを実行する少なくとも１つのコマンドを含む、請求項４６に記載の受信側コンピュータにソフトウェアをインストールする方法。
【請求項４８】
ビルド・プランを生成する前記ステップが、インストール・プログラムを正常に実行するために受信側コンピュータにセキュリティ機能が存在する必要があるか否かを判断し、セキュリティ機能が必要な場合は、受信側コンピュータ上に必要なセキュリティ機能をインストールする命令をビルド・プランに追加するステップをさらに含む、請求項４７に記載の受信側コンピュータにソフトウェアをインストールする方法。
【請求項４９】
生成された前記ビルド・プランが実行ファイルを含み、前記実行ファイルは、受信側コンピュータにインストールされると、前記受信側コンピュータが再起動されたときに自動的に実行される、請求項４６に記載の受信側コンピュータにソフトウェアをインストールする方法。
【請求項５０】
前記実行ファイルが複数のコマンド行を含み、各前記コマンド行が、インストール・データ・パッケージに含まれた情報に従って受信側コンピュータ上でソフトウェア・インストール・プログラムを実行させる、請求項４９に記載の受信側コンピュータにソフトウェアをインストールする方法。
【請求項５１】
各インストール・パッケージが、インストールを行いたいインストール・プログラムに関連づけられたインストール・コマンドを含む、請求項５０記載の受信側コンピュータにソフトウェアをインストールする方法。
【請求項５２】
各インストール・パッケージが、インストール・プログラムの実行の完了時に受信側コンピュータを再起動するべきか否かを示す値をさらに含む、請求項５１に記載の受信側コンピュータにソフトウェアをインストールする方法。
【請求項５３】
各インストール・データ・パッケージがさらにテキスト・ファイルを識別し、前記テキスト・ファイルがインストール・プログラムの実行中に前記インストール・プログラムからの照会に対して応答を与える、請求項５１に記載の受信側コンピュータにソフトウェアをインストールする方法。
【請求項５４】
各データ・パッケージが、前記インストール・データ・パッケージに関連づけられたインストール・プログラムが正常に実行されるために受信側コンピュータで稼働している必要があるプログラムを識別するフィールドをさらに含む、請求項５１に記載の受信側コンピュータにソフトウェアをインストールする方法。
【請求項５５】
各データ・パッケージが、前記インストール・データ・パッケージに関連づけられたインストール・プログラムが正常に実行されるには受信側コンピュータで稼働していることができないプログラムを識別するフィールドをさらに含む、請求項５１に記載の受信側コンピュータにソフトウェアをインストールする方法。
【請求項５６】
生成された前記ビルド・プランが、受信側コンピュータの起動時に少なくとも２つのＲｕｎ−ｏｎｃｅ命令が順次実行されるようにレジストリ・ファイルに挿入可能な少なくとも２つのＲｕｎ−ｏｎｃｅ命令から成るセットを含み、前記Ｒｕｎ−ｏｎｃｅ命令が前記受信側コンピュータのレジストに挿入されている、請求項４６に記載の受信側コンピュータにソフトウェアをインストールする方法。
【請求項５７】
前記少なくとも２つのＲｕｎ−ｏｎｃｅ命令が、少なくとも２つのソフトウェア・インストール・プログラムが、前記インストール・プログラムに関連づけられたインストール・データ・パッケージ内で識別されたパラメータのセットに従って実行されるようにする、請求項５６に記載の受信側コンピュータにソフトウェアをインストールする方法。
【請求項５８】
各インストール・データ・パッケージが、前記インストール・データ・パッケージに関連づけられたインストール・プログラムの完了時に受信側コンピュータを再起動するべきか否かを識別する、請求項５７に記載の受信側コンピュータにソフトウェアをインストールする方法。
【請求項５９】
各インストール・データ・パッケージがテキスト・ファイルをさらに含み、前記テキスト・ファイルが前記インストール・プログラムの実行時に、関連づけられたインストール・プログラムからの照会に対して応答を与える、請求項５７に記載の受信側コンピュータにソフトウェアをインストールする方法。
【請求項６０】
各インストール・データ・パッケージが、前記インストール・データ・パッケージに関連づけられたインストール・プログラムが正常に実行されるために受信側コンピュータで稼働している必要があるプログラムを識別するフィールドをさらに含む、請求項５７に記載の受信側コンピュータにソフトウェアをインストールする方法。
【請求項６１】
各インストール・データ・パッケージが、前記インストール・データ・パッケージに関連づけられたインストール・プログラムが正常に実行されるためには受信側コンピュータで稼働していることができないプログラムを識別するフィールドをさらに含む、請求項５７に記載の受信側コンピュータにソフトウェアをインストールする方法。
【請求項６２】
命令を有形に実現するコンピュータ可読媒体であって、前記命令はコンピュータ上で実行されると、
受信側コンピュータにインストールしたいソフトウェアを識別する情報をビルド要求者から受け取るステップと、
ビルド・プランが受信側コンピュータにインストールしたいソフトウェアに関連づけられたインストール・パラメータを識別し、さらに、受信側コンピュータにインストールしたいソフトウェアのためのインストール・プログラムに受信側コンピュータがアクセスするための供給元を識別する、識別された前記ソフトウェアを前記受信側コンピュータにインストールするためのビルド・プランを生成するステップと、
受信側コンピュータがアクセスすることができる媒体上に前記ビルド・プランを記憶するステップとを含むプロセスを実現する、コンピュータ可読媒体。
【請求項６３】
受信側コンピュータがインストール・プログラムにアクセスするための前記供給源がビルド・ライブラリを含み、前記ビルド・ライブラリは受信側コンピュータがネットワーク接続を介してアクセス可能な、請求項６２に記載の命令を有形に実現するコンピュータ可読媒体。
【請求項６４】
前記命令が、受信側コンピュータにインストールしたいソフトウェアが、受信側コンピュータ上にセキュリティ機能が存在することを必要とするか否かを判断し、前記セキュリティ機能が必要な場合、受信側コンピュータに前記セキュリティ機能を設ける命令を前記ビルド・プランに組み込むステップをさらに含む、請求項６３に記載の命令を有形に実現するコンピュータ可読媒体。
【請求項６５】
受信側コンピュータがインストール・プログラムにアクセスするための前記供給源が、ソフトウェア・ベンダによって提供されたソース・ライブラリを含む、請求項６１に記載の命令を有形に実現するコンピュータ可読媒体。
【請求項６６】
前記命令が、受信側コンピュータにインストールしたいソフトウェアが前記受信側コンピュータ上に認証手段が存在することを必要とするか否かを判断し、前記認証手段が必要な場合、前記認証手段をインストールする命令を前記ビルド・プランに組み込むステップをさらに含む、請求項６５に記載の命令を有形に実現するコンピュータ可読媒体。
【請求項６７】
前記ビルド・プランが、受信側コンピュータのレジストリにＲｕｎ−ｏｎｃｅ命令行が挿入されるようにする、請求項６２に記載の命令を有形に実現するコンピュータ可読媒体。
【請求項６８】
前記Ｒｕｎ−ｏｎｃｅ命令行がソフトウェア・インストール・データ・パッケージを参照し、前記データ・パッケージが所望のソフトウェア・インストール・プログラムに関連づけられたパラメータを含む、請求項６２に記載の命令を有形に実現するコンピュータ可読媒体。
【請求項６９】
前記ビルド・プランが実行ファイルであり、前記実行ファイルは受信側コンピュータにインストールされていると起動時に自動的に実行可能である、請求項６２に記載の命令を有形に実現するコンピュータ可読媒体。
【請求項７０】
前記実行ファイルが、インストール・プログラムの実行の完了時にイベント・エントリ・メッセージがイベント・ログに書き込まれるようにする命令を含む、請求項６９に記載の命令を有形に実現するコンピュータ可読媒体。
【請求項７１】
前記インストール・パラメータが、インストール・プログラムの実行後に受信側コンピュータを初期設定するべきか否かを識別する値を含む、請求項６２に記載の命令を有形に実現するコンピュータ可読媒体。
【請求項７２】
前記インストール・パラメータが、インストール・プログラムが所望のソフトウェア・パッケージをインストールすることができるようにするために前記受信側コンピュータ上で稼働している必要があるプログラムを識別するデータ・フィールドを含む、請求項６２に記載の命令を有形に実現するコンピュータ可読媒体。
【請求項７３】
前記インストール・パラメータが、インストール・プログラムが所望のソフトウェア・パッケージをインストールすることができるようにするために受信側コンピュータ上で稼働していることができないプログラムを識別するデータ・フィールドを含む、請求項６２に記載の命令を有形に実現するコンピュータ可読媒体。
【請求項７４】
受信側コンピュータをして受信側コンピュータ自体にソフトウェアをインストールさせるビルド・プランであって、
インストール・データ・パッケージに従って少なくとも１つのソフトウェア・サプライヤ供給インストール・プログラムを始動する少なくとも１つの実行命令を含む実行部と、
前記少なくとも１つのソフトウェア・サプライヤ供給インストール・プログラムに対応し、前記少なくとも１つのソフトウェア・サプライヤ供給インストール・プログラムを実行するコマンド命令を識別する、少なくとも１つのインストール・データ・パッケージとを含むビルド・プラン。
【請求項７５】
前記少なくとも１つのインストール・データ・パッケージが、前記少なくとも１つのソフトウェア・サプライヤ供給インストール・プログラムの完了時に受信側コンピュータを再起動するべきか否かを示す値を含む、請求項７４に記載のビルド・プラン。
【請求項７６】
前記少なくとも１つのインストール・データ・パッケージが、前記少なくとも１つのソフトウェア・サプライヤ供給インストール・プログラムが必要とするデータにアクセスすることができる場所を識別するアドレスを含む、請求項７４に記載のビルド・プラン。
【請求項７７】
前記実行部が、受信側コンピュータにセキュリティ機能をインストールさせ、前記受信側コンピュータが前記少なくとも１つのソフトウェア・サプライヤ供給インストール・プログラムに必要なデータにアクセスすることができるようにする命令をさらに含む、請求項７６に記載のビルド・プラン。
【請求項７８】
前記セキュリティ機能が証明である、請求項７７に記載のビルド・プラン。
【請求項７９】
前記セキュリティ機能が暗号鍵である、請求項７７に記載のビルド・プラン。
【請求項８０】
前記少なくとも１つのインストール・データ・パッケージが、ソフトウェア・サプライヤ供給インストール・プログラムが正常に実行されることができるにはその前に受信側コンピュータ上で稼働していなければならない少なくとも１つのソフトウェア・サービスを識別する、請求項７４に記載のビルド・プラン。
【請求項８１】
前記少なくとも１つのインストール・データ・パッケージが、ソフトウェア・サプライヤ供給インストール・プログラムが正常に実行されるために前記ソフトウェア・サプライヤ供給インストール・プログラムの前に実行を完了していなければならない少なくとも１つのソフトウェア・サービスを識別する、請求項７４に記載のビルド・プラン。
【請求項８２】
前記少なくとも１つのインストール・データ・パッケージが応答ファイルを識別し、前記応答ファイルが照会に対する応答を与え、前記照会が前記少なくとも１つのソフトウェア・サプライヤ供給インストール・プログラムによって行われる、請求項７４に記載のビルド・プラン。
【請求項８３】
前記少なくとも１つの実行命令が、受信側コンピュータ上のレジストリに挿入可能なＲｕｎ−ｏｎｃｅ行を含む、請求項７４に記載のビルド・プラン。
【請求項８４】
前記実行部が、ソフトウェア・サプライヤ供給インストール・プログラムの実行の成功または失敗を示すエントリがイベント・ログに書き込まれるようにする命令をさらに含む、請求項７４に記載のビルド・プラン。
【請求項８５】
前記実行部が、実行されるとネットワーク識別情報が受信側コンピュータに供給されるようにする少なくとも１つの命令を含む、請求項７４に記載のビルド・プラン。
【請求項８６】
前記ネットワーク識別情報が、インターネットに受信側コンピュータを識別させるアドレスを含む、請求項８５に記載のビルド・プラン。
【請求項８７】
前記ネットワーク識別情報が、ローカル・ネットワークに受信側コンピュータを識別させるアドレスを含む、請求項８５に記載のビルド・プラン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータにソフトウェアをインストールすることに関し、より詳細には、受信側コンピュータの準備を迅速かつ効率的に行うことができるように、受信側コンピュータにソフトウェアを自動的にインストールすることに関する。
【背景技術】
【０００２】
ウェブ・サイトの運営は、インターネット商取引基盤の重要な部分である。ウェブ・ホストは、インターネット・プレゼンスを作成する個人および会社に必要な、ハードウェア、ソフトウェア、およびサポート資源を提供する。インターネット・プレゼンスはウェブ・サイトの形態をとることが多く、そのようなウェブ・サイトは、個人または会社と標的視聴者とのインタフェースを提供する。このようなインタフェースの一例は、販売車両や特別販売促進企画、メーカのウェブ・サイトを訪れた人の最寄り販売店の所在地などを見込み客に知らせたい自動車メーカのウェブ・サイトであろう。他の企業としては、ワードプロセッシング・ソフトウェアや会計ソフトなどのアプリケーションにアクセスすることができるサイトなど、より複雑なウェブ・サイトを提供したいと考えている企業が考えられる。
【０００３】
ウェブ・ホストによるこのようなウェブ・サイトの運営に必要なサービスとハードウェアの提供に頼ることによって、企業は、企業が使用する資源の運営の対価を支払うだけで済み、ウェブ・サイトを運営するのに必要と考えられるすべての資源を調達したり要員を配属したりする必要がない。サービスの運営をアウトソーシングすることでもたらされる効率向上により、必要資源の増加と共にウェブ・サイトでアプリケーションが運営されるケースが増えると考えられる。
【０００４】
インターネット用のウェブ・サイトを運営するコンピュータの台数と処理能力は、ウェブ・サイトまたはアプリケーションの使用量と必要資源に合わせる必要がある。しかし、ウェブ・サイトやアプリケーションの人気は変化する可能性があるため、利用需要を正確に予測するのは困難である。競合ウェブ・サイトや製品の導入により、利用率の急激な低下が起こる可能性がある。ウェブ・サイトがアプリケーションを提供する場合、必要資源は期間需要によっても変化する。たとえば、インターネットを介して提供される会計アプリケーションの場合、ＳＥＣ報告要件による期間会計の必要により、各四半期の期末近くに会計アプリケーションの需要が急激に増えると考えられる。
【０００５】
したがって、ウェブ・サイトまたはアプリケーションの運営に使用されるコンピュータの台数を増減することによって、ウェブ・サイトの運営、特にアプリケーションの運営のために提供される資源の処理能力を可能な限り迅速に調整することができることが最も重要である。必要以上の数のコンピュータを備えるなど、アプリケーションの過剰運営は、あまり利用されないコンピュータを設けて稼働させる費用を生じさせる。需要を満たすのに必要な台数に満たないコンピュータを備えることによるアプリケーションの不十分な運営は、ウェブ・サイトまたはアプリケーションの利用者にとって応答速度の低下につながり、その結果、顧客に不満を抱かせることになる。
【０００６】
したがって、ウェブ・ホストが、アプリケーションを運営するコンピュータの数を可能な限り迅速に増やすことができることが重要である。しかし、必要なソフトウェアのインストールは、必ずしも頻繁に繰り返される処理ではなく、しかもインストールの様々な段階で多くの手動介入を必要とする処理である。また、インストールする必要のある個々のソフトウェア・アプリケーションの数が多いと、確実にソフトウェアの現行バージョンのみがインストールされるようにするのにかなりの手間がかかる。
【０００７】
したがって、コンピュータの迅速な構成を行うために、コンピュータの準備を整える必要がある場合に熟練した操作者が待機している必要がある。熟練操作者要員を確保しておくことは、要員の維持費用だけでなく、コンピュータを構成する必要性が低いときに要員を効率的に活用する費用もかかる。コンピュータ構成の必要は、必ずしも一定していないため、コンピュータ構成の必要性が熟練操作者が対応できないほど多い時期もあれば、熟練操作者があまり活用されない時期もある。したがって、対応可能な熟練操作者を制限するとウェブ運営に必要なコンピュータの構成が遅れる可能性があり、その結果、処理能力の問題を最小限に抑えるためにアプリケーションを過剰運営する傾向がある。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、本発明の目的は、操作者の関与を最小限にして、受信側コンピュータへのソフトウェアの順次インストールを可能にするシステムおよび方法を提供することである。本発明の他の目的は、ソフトウェアのインストールを中止させるイベントを操作者が突き止めるのを支援する、フィードバック・システムを組み込むことである。
【０００９】
本発明の他の目的は、サーバをビルドする効率を向上させることである。このような向上は、操作者の関与の必要が最小限に抑えられ、受信側コンピュータへのソフトウェアのインストールに対応可能な訓練された要員を保持するための制約が緩和されるという点で、請求項のシステムおよびプロセスに固有のものである。また、本発明に固有なことは、インストール手続きの標準化が強化され、インストール・プロセスから人間による選択と誤りがなくなるため、後で問題が発生した場合の診断が容易になることである。
【課題を解決するための手段】
【００１０】
本発明は、インストールに必要な操作者の介入を最小限にし、コンピュータに必要なソフトウェアをインストールするシステムおよび方法である。本システムは、操作者から所望の構成を受け取り、受信側コンピュータに入れるビルド・プランを生成し、ビルド・プランを実行してビルド・サーバから受信側コンピュータにソフトウェアをロードさせる。
【００１１】
ビルド・プランは、個々のプログラムのためのインストール・ルーチンに対応するインストール・パッケージに従って、受信側コンピュータにソフトウェアをインストールする実行命令を含むことができる。
【００１２】
ビルド・プランは、ベンダ提供のインストール・プログラムを順次実行する。インストール・プログラムは、ネットワーク接続を介して受信側コンピュータに接続されたビルド・ライブラリからロードまたはアクセスされる。ビルド・プランは、インストール・パッケージに細分することができ、各インストール・パッケージは、特定のソフトウェア構成要素のインストールを扱う。各インストール・パッケージは、標準化された共通定義に従ってフォーマットすることができ、共通定義はインストール・プログラムのための開始コマンドと、ソフトウェアのインストールに必要なパラメータとを指定する。これらのパラメータは、インストールによって生成されたパラメータが、次のソフトウェア・パッケージをインストールする前にオペレーティング・システムに反映されるように、完了時リブート・コマンドを含むことができる。
【００１３】
また、ビルド・プランは、各インストール・パッケージの完了時にレコードがイベント・ログに書き込まれるようにし、それによって、ソフトウェアのインストールが失敗した場合に、最後に実行したインストール・パッケージを特定することにより、またはイベント・ログへの最後の記録によって、その失敗時点を判断することができるようにすることができる。これにより、パッケージをカウントするだけで、失敗時点でインストール中であったインストール・パッケージを特定することができ、インストール・エラーが修正された後は、当該箇所で自動ビルドを初期設定することができる。
【００１４】
ビルド・プランの使用によって、ビルドの時点でビルド・ライブラリに入っているインストール・プログラムに基づいて、インストール済みのソフトウェア構成要素を特定することもでき、それによって、ビルド日付とビルド・ライブラリの構成とに基づいてレコードを作成し、特定の端末にソフトウェアのどのリビジョン・レベルがインストールされたかを特定することができる。これにより、後日、ソフトウェアの特定のリビジョン・レベルを使用して受信側コンピュータを特定するだけで自動更新を行うことができるようになる。
【００１５】
単純な実施形態では、本発明のシステムは、ソフトウェア提供者によって提供されたインストール・プログラムが入ったビルド・ライブラリを含み、各インストール・プログラムは、受信側コンピュータにそれぞれ特定のソフトウェア・パッケージを構成し、インストールする。ビルド生成端末も設けることができる。ビルド生成端末は、受信側コンピュータにインストールしたいとして特定されたソフトウェアに基づいてビルド・プランを生成するビルド生成ソフトウェアを含むことができる。ビルド・ライブラリは、ソフトウェア・インストール・プログラムを含み、受信側コンピュータからローカル・ネットワークやインターネットなどのネットワーク接続を介してアクセス可能とすることができる。
【００１６】
また、本発明は、受信側コンピュータにソフトウェアをインストールするためのシステムとしても実施され、受信側コンピュータは複数の場所に分散されている。ビルド・ライブラリは、複数の場所に備えることができ、それによって、ビルド・ライブラリから受信側コンピュータに転送する必要がある大量のデータを、インターネットのようなより低速の遠距離ネットワークを使用するのではなくローカルの高速ネットワークを介して転送することができる。
【００１７】
ビルド・プランを生成するために少なくとも１つのビルド生成端末を設けることができる。ビルド・プランは、インストールするソフトウェア・パッケージを特定する命令のセットを含むことができる。このプランは、プログラムをインストールするのに必要なパラメータが格納されたインストール・データ・パッケージを参照することができる。このプランは、実行ファイルの形態をとるか、または受信側コンピュータのレジストリ・ファイルに挿入された一連のＲｕｎ−ｏｎｃｅ命令行であってもよい。インストールしたいソフトウェア・パッケージは、キーボードやモニタなどのインタフェースを介してビルド要求者がビルド生成端末に識別させることができる。別法として、ビルド生成端末はサーバとすることもでき、ビルド要求者がネットワークを介してビルド生成端末に接続し、受信側コンピュータにインストールしたいソフトウェアを特定することもできる。
【００１８】
本発明の方法の単純な実施形態では、受信側コンピュータにインストールするソフトウェアを特定する情報をビルド要求者から受け取るステップと、特定されたソフトウェアを受信側コンピュータにインストールするためのビルド・プランを生成するステップと、受信側コンピュータにビルド・プランを転送するステップと、受信側コンピュータでビルド・プランを実行するステップとを含み、ビルド・プランの実行により、受信側コンピュータにビルド・ライブラリへのネットワーク接続を介してソフトウェアをインストールするのに必要なデータにアクセスするように指示する。
【００１９】
本プロセスは、ソフトウェア提供者のソフトウェア・インストール・プログラムが、受信側コンピュータの認証を必要とするソフトウェアを受信側コンピュータに正しくインストールすることができるように、パスワードや証明などのセキュリティ手段を受信側コンピュータに与える必要があるか否かを判断する機能など、追加の機能も実施することができる。また、本プロセスは、ビルド・プランのセグメントの実行後にイベント・ログを記録させることもでき、それによって後でイベント・ログを調べ、ビルド・プランが適切に機能したか否かを判断することができ、適切に機能しなかった場合は、イベント・ログにインストール・イベントが記録されていないことによりどのソフトウェア・パッケージが正常にインストールされなかったかを判断することができるようにする。
【発明を実施するための最良の形態】
【００２０】
図面では、同一の参照番号は同一の要素を示し、本発明によるプロセスおよびシステムが図示されている。
【００２１】
図１には、受信側コンピュータ１０２を自動的にビルドする例示のシステム１００が図示されている。このシステムは、ビルド・サーバ１０４と、ビルド生成プラットフォーム１０６と、受信側コンピュータ１０２とビルド・サーバ１０４とを接続する通信接続機構１０８と、ビルドを定義するビルド・プランとを含む。ビルド・プランは図１ではフロッピィ・ディスク上に実現されており、以下このディスクをビルド・ディスク１１０と呼ぶ。
【００２２】
ビルド生成プラットフォーム１０６は、ビルド・プランを生成するビルド生成ソフトウェア１１２を含む。ビルド生成ソフトウェア１１２は、受信側コンピュータ１０２にソフトウェアをインストールさせたい人（図示せず）から所望のビルド定義を受け取る。このような人を以下、ビルド要求者と総称する。ビルド生成プラットフォームは、ビルド要求者が所望のビルドに関する情報をビルド生成プラットフォーム１０６に直接供給することができるようにする、モニタ１１４やキーボード１１６などのビルド要求者インタフェースも含む。所望のビルドに関するこの情報を、以下、ビルド定義と呼ぶ。ビルド定義は、所望のオペレーティング・システムの識別情報と、受信側コンピュータ１０２にインストールしたい特定のソフトウェア・アプリケーションまたはアプリケーションの更新版の識別情報を含むことができる。ビルド生成ソフトウェア１１２は、ビルド定義をビルド・プランに変換する。ビルド・プランは、受信側コンピュータが実行することができる実行ファイルを含むことができる。
【００２３】
ビルド生成プラットフォーム１０６は、フロッピィ・ディスク・ドライブや書込み可能コンパクト・ディスク（以下ＣＤと呼ぶ）ドライブなどの、書込み可能な取外し可能記憶装置１１８も含むことができる。書込み可能な取外し可能記憶装置１１８の目的は、ビルド・プランを生成し、可搬型記憶装置（ビルド・ディスク１１０など）に書き込み、受信側コンピュータ１０２に移すことができるようにすることである。書込み可能な取外し可能記憶装置１１８として選定する媒体は、受信側コンピュータ１０２を初期設定または「起動」するのに使用することができる、受信側コンピュータ１０２の装填可能記憶装置１２０に対応していることが好ましい。
【００２４】
受信側コンピュータ１０２は、ソフトウェアをインストールしたいコンピュータである。受信側コンピュータは、アプリケーションを運営するために使用するサーバとすることもできるが、受信側コンピュータ１０２のエンド・ユーザは、所望のソフトウェアをインストールするためのビルド・プランをビルド生成ソフトウェア１１２が生成する能力によってのみ限定される。受信側コンピュータ１０２は、ネットワーク１０８に接続されたネットワーク・インタフェース１０９および１１１を介してビルド・サーバ１０４と通信する通信接続機構１０８を備えて、受信側コンピュータ１０２がビルド・サーバ１０４と通信してソフトウェアのインストールに関連するデータを受け取ることができるようにすることが好ましい。前述のように、受信側コンピュータ１０２は装填可能記憶装置１２０も備え、それによって、ビルド生成プラットフォーム１０６上で生成されたビルド・プランを受信側コンピュータ１０２に移送可能にすることができる。ハード・ドライブなどの記憶装置１２２も受信側コンピュータに備えることもでき、それにより、インストールされたソフトウェア構成要素１２４をその記憶装置にインストール可能になる。
【００２５】
ビルド・サーバ１０４はビルド・ライブラリ１２６を含む。ビルド・ライブラリ１２６は、受信側コンピュータ１０２にソフトウェアをインストールするのに必要なソフトウェア・インストール構成要素を含むことができる。ソフトウェア・インストール構成要素は、一般には、コンピュータにソフトウェアをインストールする、ソフトウェア・ベンダのインストール・プログラムに付随するファイルである。
【００２６】
受信側コンピュータ１０２とビルド・サーバ１０４との間の通信接続機構１０８は、転送する必要があるデータの特定の量と、ビルド・サーバ１０４と受信側コンピュータ１０２との間の地理的距離とに基づいて選定することが好ましい。ビルド・サーバ１０４と受信側コンピュータ１０２とを同じ場所に配置する場合には、単純なネットワークを使用してビルド・サーバ１０４と受信側コンピュータ１０２との間の通信を可能にすることができる。ビルド・サーバ１０４と受信側コンピュータ１０２とが同じ場所に配置されていない場合、インターネット接続を設けて、ビルド・サーバ１０４から受信側コンピュータ１０２にインターネットを介してデータを転送することができるようにしてもよい。インターネット・ネットワーク接続を使用するとデータ転送速度による制限を受けるが、この制限は、複数の遠隔場所にある受信側コンピュータ１０２をビルドするために単一の中央ビルド・サーバ１０４を設けたいという要望によって相殺される。ネットワーク接続は、通常のネットワーク技術を使用して行うことができる。このようなネットワーク接続の種類は、有線でも無線でもよいことは言うまでもない。
【００２７】
ビルド・ディスク１１０として使用する可搬型記憶装置は、その記憶装置に記憶可能なデータ量だけでなく、可搬型記憶装置と、ビルド生成プラットフォーム１０６上の書込み可能ドライブと受信側コンピュータ１０２上の装填可能ドライブ１２０の両方との互換性とに基づいて選定することが好ましい。一般には、可搬型記憶装置は、３．５インチ・フロッピィ・ディスク・ドライブなど、コンピュータ上で容易に使用可能なフロッピィ・ディスクとすることができる。その他の可搬型記憶装置としては、ビルド生成プラットフォーム１０６と受信側コンピュータ１０２の両方に対応する、様々なフロッピィ・ディスク・ドライブ、書込み可能または書換え可能ＣＤドライブ、アイオメガ製などのＺｉｐドライブ、テープ・ドライブ、取外し可能ハード・ドライブがあるが、これらには限定されない。あるいは、（後述するように）ビルド・プランをネットワークを介して受信側コンピュータに転送することもできる。
【００２８】
図１では、ビルド生成プラットフォーム１０６とビルド・サーバ１０４は２つの別々のコンピュータとして図示されているが、これらの機能は、ビルド生成ソフトウェア１１２がインストールされ、ビルド・ライブラリ１２６およびネットワーク・インタフェース１１１を備えた単一のコンピュータによって実行することもできる。また、受信側コンピュータ１０２は、記憶装置１２２内に、イベント・ログ（図１３に示す）を記憶するための空間を有することもできる。これはソフトウェア・インストールの成功または失敗を識別するための迅速なソースを与えるためにビルド・プランが実行される間に発生することができる。
【００２９】
図２には、受信側コンピュータ１０２の自動ビルドを行う基本プロセスが図示されている。例示の実施形態について、マイクロソフトのＷｉｎｄｏｗｓ環境で説明する。したがって、ここではＷｉｎｄｏｗｓオペレーティング・システムに付随する規則を使用する。当業者には明らかなように、例示の実施形態はＷｉｎｄｏｗｓとは異なるオペレーティング・システムと共に使用するように実施することもできる。
【００３０】
最初のステップで、ビルド要求者からビルド定義を受け取る（２００）。次に、要求されたソフトウェア・プログラムに関連する事前定義済み情報に基づいて、受信側コンピュータのためのビルド・プランを生成する（２０２）。次に、ビルド・プランを受信側コンピュータ１０２に転送する（２０４）。その後、受信側コンピュータ１０２は、ビルド・プランを実行することができる（２０６）。ビルド・プランは、受信側コンピュータに対して、ソフトウェア・パッケージを順次ロードするように指示する。最後のソフトウェア・パッケージがインストールされた後は、受信側コンピュータはビルド・プランの実行の完了を検証することができる（２０８）。ビルド・プランが正常に実行された場合、ビルド要求者または他の人にビルド・プランの実行が成功したことが通知される（２１０）。ソフトウェア・パッケージをエラーなしでインストールすることに失敗した場合など、ビルドが正常に行われなかった場合、ビルドが正常に行われなかったことがビルド要求者に通知される（２１２）。最後に、ビルド・プランは終了することができる（２１４）。
【００３１】
図３に示すように、プランの生成では、受信側コンピュータにインストールするソフトウェア構成要素を選択し（３０６）、複数の所定のインストール・パッケージをまとめてビルド・プランを形成する。まず、このプロセスでは、ビルド生成プログラムに関連する情報を更新して（３０２）、ビルドのために最新情報が確実に使用されるようにする。この更新は、ローカル・ビルド情報データベースをリモート・マスタ・ビルド情報データベースと同期させることによって、またはビルド・ライブラリ１２６からインストール可能なソフトウェアのベンダの順次照会を行うことによって行うことができる。オペレーティング・システムをインストールする場合は、そのオペレーティング・システムを選択することができる（３０４）。インストールするオペレーティング・システムとしては、たとえばＷｉｎｄｏｗｓ２０００やＷｉｎｄｏｗｓＮＴなどがあるが、これらには限定されない。あるいは、オペレーティング・システムを選択して、インストールするソフトウェア・パッケージのためのオペレーティング・システム互換性を定義することもできる。オペレーティング・システムを特定した後は、受信側コンピュータにインストールしたいソフトウェアを選択することができる（３０６）。
【００３２】
このような選択（３０６）を図４および図５に示す。図４には、選択されたオペレーティング・システムを定義する例示のビルド要求者インタフェースと、インストールする追加の構成要素を選択するボタンとが示されている。図５には、追加のソフトウェアを選択するための例示のビルド要求者インタフェースが図示されている。ビルド要求者がインストールしたいソフトウェアを選択すると、ビルド生成部が、選択されたソフトウェアをインストールするために必要なものとしてビルド・プランに組み込むための必要なインストール・パッケージを選定することができる（３０８）。
【００３３】
また、受信側コンピュータ１０２を、ネットワーク接続を介して受信側コンピュータにソフトウェアをインストールするのに必要なデータにアクセスするように構成することも可能なため、図６に示すように、ネットワーク上での受信側コンピュータの識別情報を定義するのに必要な情報と、データにアクセスすることができる宛先アドレスも特定し（３１０）、受信側コンピュータ１０２に供給する必要がある場合がある。あるいは、宛先アドレスはビルド・プランの一要素として供給することもできる。受信側コンピュータ１０２を運営アプリケーションのホストとして構成する場合、ビルド・プランには受信側コンピュータのネットワーク用アドレスを定義する情報も含めることができる。このようなデータを定義するための例示のビルド要求者インタフェースを、図７に示す。
【００３４】
図３に戻ると、ネットワークを介したソフトウェアのインストールには、受信側コンピュータ上に認証手段が存在しなければならない場合があるため、ビルド生成部は、受信側コンピュータに認証手段が存在する必要があるプログラムを認識し（３１２）、必要な認証手段を受信側コンピュータにインストールする命令をビルド・プランの実行可能部に追加する（３１３）。
【００３５】
受信側コンピュータにインストールするソフトウェアが選択されると、ビルド・プラン生成部はビルド・プランを生成する。ビルド・プランは、実行可能部と、ソフトウェア・パッケージをインストールするためのパラメータを識別する少なくとも１つのインストール・データ・パッケージとを含むことができる。ビルド・プランの実行可能部は、選択された構成要素をインストールするように受信側コンピュータの準備を整え、ベンダ提供インストール・ルーチンの実行を指示することができる。したがって、ビルド・プランの実行可能部は、受信側コンピュータに付随するネットワーク特性と識別情報特性とを認識するようにカスタマイズする必要がある。あるいは、これらの特性は、ビルド・プランの実行可能部が参照することができるデータ・ファイルを設けることによって、ビルド・プランの実行可能部に提供することもできる。このデータ・ファイルを本明細書ではインストール・データ・パッケージと呼ぶ。
【００３６】
本発明の一実施形態では、ビルド・プランはデータ・インストール・パッケージへの参照を含み、それによってインストール・プログラム・コマンド行の順次実行が行われるようにする。したがって、インストールすることができる各プログラムを、個々のインストール・データ・パッケージとして表す。さらに、依存関係が存在する場合はビルド生成ソフトウェアは、必要なソフトウェアが適切に機能するために追加のソフトウェア・サービスまたはプログラムをインストールする必要があるか否かを判断することができる。最後に、ビルド生成ソフトウェアは、正しいインストール順序が必要な場合には、インストール・データ・パッケージへの参照を順序づけることもできる。必要な追加のソフトウェア・サービスまたはプログラムと、必要な順序づけの識別は、要求可能ソフトウェア・パッケージの数を制限した所定の構成マトリックスによって判断するか、または各インストール・データ・パッケージに関連づけられた「先にインストール」リストを使用して行うことができる。「先にインストール」リストにより、必要なソフトウェア・プログラムをインストールする前にインストールする必要があるプログラムが識別され、したがって、要求されたプログラム内で先にインストールすべきプログラムとして識別されているすべてのプログラムを集めることによって、必要な構成要素のリストを決定することができる。同様に、「先にインストール」リストを使用して順序を決定し、先にインストールする必要があるすべてのプログラムまたはサービスが、要求されたプログラムの前に確実にインストールされるようにすることができる。
【００３７】
ビルド・プランのための要素が蓄積した（３１６）後は、ビルド生成端末が、ビルド生成端末から受信側コンピュータに送るために、可搬型記憶装置にビルド・プランを書き込むことができる（３１８）。
【００３８】
インストール・データ・パッケージは、図８に示すように、データ構造８００に含めることができる。このデータ構造は、特定のソフトウェア・パッケージをインストールするのに参照するためにビルド・プランが参照することができるパラメータの構造体を提供する。各インストールに共通したデータ構造を使用することによって、ビルド・プランは、データ構造に含まれているパラメータに基づいてインストールを順次行うことができる。したがって、ビルド・プランの実行可能部は、現在使用可能なデータ構造からパラメータを読み取り、インストール手続き中に、受信側コンピュータのためにパラメータを命令と応答に変換することができる。
【００３９】
ソフトウェア・パッケージをインストールするためのパラメータは、ソフトウェア・パッケージのインストールを開始するコマンド行命令８０２を含むことができる。このようなコマンド行は、ソフトウェアの作成者、製造業者、またはベンダが定義することができ、実行可能プログラムを実行させてソフトウェアをインストールすることができる。このデータ構造には、インストールに必要なデータを格納することができるディレクトリのパス８０４も含めることができる。その他のパラメータとしては、特定のインストール設定値などのインストール・ルーチン中に必要な入力などがある。これらのパラメータは、実行可能プログラムがアクセスしてインストール中の照会に対する必要な応答を判断することができるテキスト・ファイル８０６に含めることができる。最後に、このデータ構造には、ソフトウェア・パッケージのインストール完了時に受信側コンピュータを初期設定する必要があるか否かを識別するパラメータ８０８も含めることができる。例示のデータ構造では、０がインストール後にリブートすることを意味し、１がインストール後にコンピュータを初期設定する必要がないことを意味する。
【００４０】
図８に示すデータ構造は、さらに、特定のソフトウェア・パッケージのインストールの前に他のどのソフトウェア・サービスを開始する必要があるかを、ビルド・プランの実行可能部のために定義するパラメータ８１２や、特定のソフトウェア・パッケージをインストールするにはその前に他のどのソフトウェア・サービスを完了させなければならないかを定義するパラメータ８１０も含めることができる。
【００４１】
転送可能ビルド・プランは、インストールする合計パッケージ数の値など、ソフトウェアのインストールに必要な追加のパラメータや、各データ・パッケージが正常にインストールされた場合のそのデータ・パッケージのインストール完了時のエントリを入れることができるイベント・ログを記録する命令も含めることができる。
【００４２】
図９に示すように、プランが作成されたビルド生成端末から受信側コンピュータへのビルド・プランの転送は、ビルド・プランを取外し可能ディスクに書き込み（９０２）、取外し可能ディスクを受信側コンピュータに渡し（９０４）、それによって、受信側コンピュータが起動時にプラン・ファイルを実行することができるようにすることによって容易に行うことができる。
【００４３】
あるいは、図１０に示すように、受信側コンピュータに、起動時に仮想記憶場所の作成を可能にする技法を組み込むこともできる。この技法により、受信側コンピュータは起動時に仮想記憶装置としてネットワーク・アドレスをマップすることができ、それによってネットワーク・アドレスに格納されているプラン・ファイルを受信側コンピュータ内で実行することができる。このプロセスは、受信側コンピュータを初期設定の前にネットワークに接続する必要があり、受信側コンピュータに仮想ドライブ・ハードウェアを設ける必要がある。起動時、仮想装置ハードウェアに対して、（仮想ドライブ・ハードウェア内の不揮発性メモリに記憶されている）事前に識別されたアドレスにネットワークを介して接続し、そのハードウェア自体を受信側コンピュータを表すものとして識別させ、受信側コンピュータにソフトウェアをインストールする際に使用するファイルにアクセスするように指示する必要がある。仮想ドライブには、ビルド・プランや、受信側コンピュータにソフトウェアをビルドすることができるようにするその他の情報を格納することができる。これには、ビルド・プラン、認証ファイル、特定のソフトウェア・パッケージのインストールに必要な特定のサービスまたはソフトウェアなどが含まれるが、これらには限定されない。
【００４４】
図１１に示すように、ビルド・プランの実行は、個別の数ステップを含む。まず、受信側コンピュータを起動する（１１０２）。これは、操作者が、受信側コンピュータの電源を投入することによって、または受信側コンピュータに対してリブートまたは再起動を指示することによって行うことができる。受信側コンピュータがネットワーク接続を介してコマンドを受け取ることができる場合、受信側コンピュータのビルドを担当するビルド要求者などがリブート・コマンドまたは再起動コマンドをリモートで発行することができる。
【００４５】
受信側コンピュータが起動されると、受信側コンピュータでビルド・プランを始動させることができる（１１０４）。ビルド・プランの始動は、ビルド・プランに受信側コンピュータの起動ルーチン内の実行ファイルを実行させることによって自動化することができる。これは、たとえば、ビルド・プランをビルド・ディスクに．ｃｏｍファイルなどの形態で書き込み、起動ルーチン中に認識されるドライブにそのビルド・ディスクを挿入することによって行うことができる。マイクロソフトのＷｉｎｄｏｗｓの多くのバージョンなどのオペレーティング・システムには、コンピュータを最初に起動したときに特定のファイルにアクセスして、コンピュータを機能させるために稼働させる必要があるソフトウェア・プログラムを始動させるルーチンが含まれている。このようなプログラムにはオペレーティング・システム自体と、ネットワーク接続などのタスクのためのサービスが含まれる。この種のプログラムは、コンピュータの始動パスに入れ、それによって、コンピュータが最初に電源投入されたとき、または初期設定されたときに、始動パス内の実行ファイルを実行するようにすることによって始動される。ビルド・プランを始動パス内に入れることにより、受信側コンピュータが最初に初期設定されたときに受信側コンピュータにビルド・プランを実行させることができる。
【００４６】
しかし、ソフトウェアをインストールする場合には、ソフトウェアのインストール中に稼働させているソフトウェア・プログラムを最小限にすることが好ましい。あるいは、通常は始動パスに含まれない特定のプログラムが必要な場合がある。ビルド・プランをブート可能ディスクとして作成することによって、受信側コンピュータを、予定のソフトウェア・インストールに必要なソフトウェア・サービスのみで初期設定することができる。必要なソフトウェア・パッケージは、受信側コンピュータを初期設定するときにも組み込むことができ、それによって受信側コンピュータをソフトウェアのインストールのための適切な構成状態にすることができる。
【００４７】
ビルド・プランは、コンピュータが初期設定されると始動されるブート可能ディスクに格納することができるプログラムとすることができる。たとえば、ビルド・プランは、受信側コンピュータの初期設定時に、．ｃｏｍファイルなど、ブート可能ビルド・プラン・ディスクから自動的に実行可能なビルド・プラントすることができる。自動実行ファイルの実行順序はオペレーティング・システムによって定義されるため、使用する特定のオペレーティング・システムは使用する実行ファイルのタイプの判断に関係する場合がある。マイクロソフトＷｉｎｄｏｗｓを使用するシステムの場合、ビルド・プランを．ｃｏｍファイルとしてブート可能ディスクに格納することによって、受信側コンピュータにブート可能ディスクに記憶されているシステム構成をロードさせ、次に、ビルド・プランを実行させることができる。
【００４８】
ビルド・プランを自動的に始動させる代替方法は、Ｗｉｎｄｏｗｓタイプのオペレーティング・システムが使用するレジストリにビルド・プランを格納することである。個々のパッケージのインストールを、Ｒｕｎ−ｏｎｃｅ命令行としてレジストリに挿入し、それにより、受信側コンピュータが初期設定されるときに、受信側コンピュータはレジストリ内のインストール命令を実行する。個々のインストール・パッケージ内のリブート命令を使用することによって、ソフトウェア・パッケージを適切にインストールする必要に応じてレジストリに基づき、一連のパッケージ・インストールが初期設定に割り込めるようにすることができる。受信側コンピュータは連続した初期設定のたびに直前に実行されたパッケージ命令を実行済み命令として読み取り、次の未実行パッケージ命令に進む。すべてのパッケージ命令が完了した後は、始動中、レジストリ内のパッケージ・インストール命令を無視することができる。
【００４９】
また、レジストリ内のパッケージ・インストール命令の使用により、トラブルシューティング方法として、どのパッケージがインストールされているかを後で調べることもできる。レジストリ内でパッケージ・カウンタを実施し、パッケージが正常にインストールされるたびにインクリメントすることができる。これにより、パッケージ・カウンタをインストールするパッケージ数を定義する値と比較することによって、すべてのパッケージが正常にインストールされたか否かを迅速に確認することができる。
【００５０】
受信側コンピュータでビルド・プランが始動すると、ビルド・プランによって、受信側コンピュータ上のファイルを始動または開くことにより、イベント・ログを作成することができる。このイベント・ログの目的は、ビルド・プランが、ビルド・プランの実行中に発生した特定のイベントを記録する日誌として使用することである。このイベント・ログを使用して、個々のソフトウェア・パッケージのインストールの成功または失敗や、ビルド・プランの実行中発生したエラーに関するメッセージを書き込むこともできる。また、イベント・ログを使用して、インストールするパッケージの数を識別する初期値やインストール済みのパッケージの数のカウンタとして機能する値など、ビルド・プランの実行中に使用する状態値またはフラグを記録することもできる。
【００５１】
次に、ビルド・プランは、受信側コンピュータに所望のソフトウェアをインストールすることができるようにするのに必要なセキュリティ機能を始動させることができる。セキュリティのため、ビルド・サーバ上に格納されているデータの無許可の使用を防止する手段として受信側コンピュータで認証鍵を稼働させ、ビルド・サーバが受信側コンピュータにデータを転送することを許可されるようにする必要がある場合がある。認証ルーチンは、受信側コンピュータをビルド・サーバに識別される特定の許可とするか、または受信側コンピュータを、特定のソフトウェア・パッケージに付随するデータを受け取る資格があるものとして識別する、一連の特定の許可とすることができる。ビルド・プランが必要なセキュリティ機能を始動することができない場合、ビルド・プランはイベント・ログにエラー・メッセージを書き込んでシャットダウンしてもよい。
【００５２】
必要なセキュリティ機能が正常に始動した場合（１１０６）、ビルド・プランは、次にインストールするパッケージを判断することによってソフトウェア・インストールを開始することができる（１１０８）。次にインストールするパッケージの判断は、現在パッケージ・カウンタ（以下ＰＰＣと呼ぶ）を参照する（１１１０）ことによって行うことができる。ＰＰＣの初期値は１である。したがって、ビルド・プランを最初に実行したときは、ＰＰＣの値は１になり、ビルド・プランは最初のデータ構造を読み取って（１１１２）、最初のパッケージをインストールするのに必要なコマンドとパラメータを入手する。ビルド・プランが最初のパッケージに必要なコマンドとパラメータ（プロセスの始動待機、セキュリティ規定または許可規定のインストール、インストール・コマンドの発行など）を実行（１１１４〜１１２０）した後は、ビルド・プランはこの特定のインストールの成功（１１２８）または失敗（１１２６）を示す項目をイベント・ログに書き込むことができる。この記録が行われると、ＰＰＣがインクリメントされ（１１３６）、データ構造が、この特定のソフトウェア・パッケージのインストール後にリブートする必要があることを示している場合はリブート・コマンドが実行される。
【００５３】
必要なコマンドおよびパラメータの実行（１１２２）では、ビルド・プランがインストール・ルーチンの必要コマンド行命令を発行する。ビルド・プランは、インストール・データを取り出すことができるリモート・ディレクトリも識別することができる。リモート・ディレクトリの識別情報は、インストール・パッケージを定義するデータ構造に組み込むことができる。ソフトウェア・インストール・プログラムに供給する必要があるパラメータは、当該ソフトウェア・インストールに付随するパッケージ・インストール・データ構造の一部として識別されるテキスト・ファイルに従って、キーボード入力をエミュレートすることによって供給することができる。
【００５４】
ＰＰＣは、リブートする場合はその前にインクリメントしてファイルに書き込む必要がある。これにより、ビルド・プランは、ビルド・プランがリブート後に再起動するときに正しいＰＰＣ値を参照することができるようになる。インクリメントされた値が記憶されている限り、ビルド・プランは、次にインストールすべきパッケージを指すＰＰＣを参照することができる。
【００５５】
また、ビルド・プランは、ビルド・プランによってインストールされるべき合計パッケージ数を識別する最終パッケージ値（以下「ＬＰＶ」と呼ぶ）を備えることもできる。ＰＰＣをインクリメントする前に、ビルド・プランはＰＰＣ値がＬＰＶと等しいか否かを判断する（１１３２）。ＰＰＣが等しい場合、ビルド・プランは、テンポラリ・ファイルの削除、ビルド・プランの実行にのみ必要なソフトウェア・サービスの除去など、システムの最終クリーンアップを行う（１１３４）。最終クリーンアップ１１３４が完了すると、ビルド・プランは受信側コンピュータの付近にいる操作者に対し、ブート可能ディスクを取り外し、コンピュータを再起動し、プロセスを終了（１１３８）するように通知する命令を実行する。
【００５６】
ディスク・イメージ・ディスクを使用したビルド
本発明を実施する代替実施形態の方法では、ディスク・イメージを使用して受信側コンピュータ１０２への初期ソフトウェア・インストールを行うことができる。ディスク・イメージには、インストールなしで実行可能な形態で、またはインストール要件を低減して、受信側コンピュータの記憶装置にコピーすることができる基本ソフトウェアを記憶することができる。ディスク・イメージ・データは、受信側コンピュータ１０２の記憶装置１２２に直接コピーすることができるオペレーティング・システムを含むことができる。
【００５７】
たとえば、オペレーティング・システムの特定の構成を希望する場合、実行可能オペレーティング・システムを受信側コンピュータの記憶装置に直接コピーすることができる。ディスク・イメージは、フロッピィ・ディスクまたはＣＤ−ＲＯＭディスクなどの取外し可能記憶装置とすることができる。一般には、コンピュータは、ドライブを所定の順序で調べてオペレーティング・ソフトウェアを識別する。この順序は、最初にフロッピィ・ディスク・ドライブ、次にＣＤ−ＲＯＭドライブ、その後に内蔵ハード・ドライブ・パーティションなどの主固定ディスクの順としてもよい。このようなパスにディスク・イメージ・ディスクを入れることによって、ディスク・イメージが受信側コンピュータに自動的に転送される。
【００５８】
図１２に示すように、ディスク・イメージを使用したアプリケーション・ホスト・コンピュータまたはサーバのビルドは、まず、ビルド用のディスク・イメージを生成または入手することによって行うことができる（１２０２）。次に、図３を参照しながら述べたプロセスに従ってビルド・プランを生成する（１２０４）。次に、ディスク・イメージが記憶されているディスク・イメージ・ディスクを受信側コンピュータ１０２に挿入し（１２０６）、受信側コンピュータを初期設定する。挿入されたディスク・イメージ・ディスクによって受信側コンピュータが初期設定されると、ディスク・イメージ・ディスク上の実行ファイルが、受信側コンピュータに対して、ディスク・イメージ・ディスクに記憶されているソフトウェア・データを受信側コンピュータの記憶装置に転送するように指示する。このようなデータが転送されると、受信側コンピュータは、ディスク・イメージ・データが受信側コンピュータ１０２に正常に転送されたことをシステム操作者に通知することができる。
【００５９】
次に、受信側コンピュータは、ディスク・イメージ・ディスクを取り外させて、受信側コンピュータの準備をさらに整えるのを妨害されないようにする。その後、受信側コンピュータにビルド・ディスクを挿入して、受信側コンピュータを再初期設定し、リブートし、再起動することによって、ビルド・プロセスを開始することができる（１２１２）。受信側コンピュータにオペレーティング・システムが転送された場合、起動時に実行されるプログラムのディレクトリにビルド・プランを実行ファイルとして組み込むことによって、ビルド・ディスク上のビルド・プランの実行が開始される（１２１２）。ビルド・プランが開始されると（１２１２）、ビルド・プランは前述のように機能して、最後のパッケージがインストールされるまでパッケージのインストールを繰り返した後、システム管理者用にビルド・レポートを生成する。
【００６０】
ディスク・イメージ・ディスクを使用する場合、ビルド・プランの実行の前に操作者の介入をより多く必要とする。具体的には、まずディスク・イメージ・ディスクを装填し、次にビルド・プラン・ディスクを装填する際に、操作者が介入する。しかし、ディスク・イメージの使用により、システム管理者は、受信側コンピュータのビルドの基礎となるオペレーティング・システムなど、特別に適合化された構成要素を使用することができる。
【００６１】
ディスク・イメージとビルド・ディスクを使用して受信側コンピュータをビルドするシステムを、図１３に示す。ビルド・プランを転送するために使用する書込み可能な取外し可能記憶装置１１８がディスク・イメージに必要な情報を記憶するのに十分な場合、その記憶装置１１８をディスク・イメージ・ディスクを作成するためにも使用することができる。生成コンピュータは、ディスク・イメージ生成ソフトウェアまたはゴースト情報１３０４とビルド・プラン生成ソフトウェア１３０６とビルド・ライブラリ１３０８とを含む、単一のビルド生成サーバ１３０２として図示されているが、前述のように、個々の機能を単一のコンピュータで実行することも、複数の機能を実行する複数のコンピュータおよび／または個別の機能を実行する複数のコンピュータの組合せで実行することもできる。
【００６２】
図のように、生成コンピュータは、ディスク・イメージ生成ソフトウェア１３１０とディスク・イメージ生成ハードウェア１３１２とを有する。ディスク・イメージがＣＤ−ＲＯＭの場合、ディスク・イメージ生成ハードウェア１３１２は書換え可能ＣＤドライブとすることができるが、書換え可能ＣＤドライブは、図のように、生成コンピュータからは遠隔の、受信側コンピュータの付近に配置することもできる。書換え可能ＣＤドライブ１３１４を遠隔に配置すると、受信側コンピュータ１０２の近くでディスク・イメージを形成することができるという利点があるが、ディスク・イメージ情報をネットワーク接続１３１６を介して転送する必要があるという欠点がある。
【００６３】
地理的に分散した受信側コンピュータ設置場所
ネットワークを介したデータの転送に関するパフォーマンス上の無視できない利点は、送信元コンピュータと宛先コンピュータとの間の地理的距離を短縮した場合に存在する。したがって、ウェブ運営サービス業者は、サーバの応答時間を可能な限り高速に維持することができるように、ウェブ・サーバを分散した場所に配置したいと考える場合がある。たとえば、ウェブ運営サービス業者は、ウェブ・サーバを米国東海岸の場所と、米国西海岸の場所と、ヨーロッパの場所とに設けることができる。その場合、各場所のウェブ・サーバは、サーバが配置されている場所の近くにある企業のためウェブ・サイトやアプリケーションを運営するために設けられる。ウェブ・サーバは様々な場所に配置することができるが、各設備で冗長なサービスを提供する必要を最小限にすることにもウェブ運営サービス業者にとっての利益が残されている。したがって、ウェブ・ホストが、受信側コンピュータから離れた中央設置場所からサーバをビルドすることができれば、ウェブ・ホストはビルド要求者の数を管理することができ、ウェブ・ホスト提供者にとって効率的になる。
【００６４】
図１４に示すように、本発明は、ウェブ・ホスト提供者（図示せず）が限定された数の場所にビルド要求者を置くことができるようにすると同時に、同じビルド要求者が様々な分散場所におけるソフトウェア・インストールを制御することができるようにするシステムにも適合させることができる。受信側ホストの近くにビルド・サーバ１４０２ａ、ｂ、．．．を配置することによって、ソフトウェア・インストール・プログラムに必要な大量のデータを受信側コンピュータ１４０４ａ、ｂ、．．．の近くに配置することができると同時に、ビルド生成端末１４０６ａ、ｂ、．．．は一カ所または複数箇所の中央設置場所にのみ配置するだけで済み、それによって、ビルド要求者を可能な限り効率的に利用することができる。あるいは、ビルド生成端末１４０６をサーバとして使用することもでき、その場合、ビルド要求者はインターネット機器１４０８（パーソナル・コンピュータ、ボックス・トップ・コンバータなど、インターネットにアクセスする任意の手段）からインターネット１４１０を介してビルド生成端末１４０６に接続する。
【００６５】
図１４に示すシステムは、中央ビルド情報サーバも維持することができるようにする。中央ビルド情報サーバ１４１２は、ビルド生成端末１４０６で使用される情報を、一カ所で管理可能にすることができる。時間の経過と共に、特定のソフトウェア・パッケージ用のデータ定義パラメータおよびインストール命令が陳腐化することがある。たとえば、ソフトウェア製品の新しいバージョンまたはサービス・パックが発売されることがある。新バージョンのインストールのためのパラメータは、前のバージョンと異なる場合があり、各ビルド生成端末が使用するデータを更新して新しい改訂版情報を反映させる必要が生じることがある。各インストール・パッケージを定義するデータが分散方式で記憶されている場合、すなわち、各ビルド生成端末１４０６ａ、ｂ．．．に記憶されている場合、ソフトウェアを更新する作業は厄介な作業になることがある。ビルド情報をビルド情報サーバ１４１２に集中させることにより、ソフトウェア・パッケージ情報の更新を、単一のビルド情報サーバ１４１２のみを更新し、個々のビルド情報ライブラリ１４０６ａ、ｂ、．．．にビルド情報データベース１４１４に格納されているデータを参照またはミラリングさせることによって行うことができる。
【００６６】
代替実施形態では、ビルド・プランの生成に必要な処理は、ビルド要求者（図示せず）に関連づけられたウェブ対応ブラウザに分散することができる。このような実施形態では、ビルド生成ソフトウェアをインターネットを介してビルド要求者のインターネット機器に転送することができ、それによって、要求者は自分のデスクでビルド・プランを生成することができる。この実施形態では、ビルド情報は、１つまたは複数の中央ビルド情報ライブラリで維持するか、またはビルド要求者がビルド生成ソフトウェアをビルド要求者のインターネット機器に転送したときにビルド要求者のコンピュータに複写することができる。確実にビルド生成ソフトウェアおよびビルド情報の最新バージョンのみが使用されるようにするために、ビルド要求者はビルド要求ウェブ・サイトにアクセスし、ビルド要求ウェブ・サイトが、ビルド要求者のインターネット機器でビルド生成ソフトウェアがＪａｖａやＡｃｔｉｖｅＸなどのアプレットの形で実行されるようにすることができる。ビルド要求者に対して、ビルド生成ウェブ・サーバへの各接続でアプレットをリロードするように要求することによって、ビルド生成ソフトウェア自体を制御し、最新バージョンのみが使用されるように保証することができると同時に、ビルド・プランを生成するのに必要な実際の処理を分散させることができる。
【００６７】
図１４に示すように、ビルド生成端末１４０６ａ、ｂ、．．．は、２カ所以上の場所１４１６ａ、ｂ、．．．に配置することができる。これらのビルド生成端末１４０６ａ、ｂ、．．．はインターネット１４１０などを介してビルド情報サーバ１４１２に通信可能に接続されるが、直接ダイヤルアップなどの他の通信経路も使用可能である。ビルド情報サーバ１４１０は、ビルド生成端末１４０６ａと同じ場所に配置することができるが、これは本発明の実施にとって必須ではない。図中でＡないしＦの文字が付された受信側コンピュータなど、異なる場所にある受信側コンピュータ１４０４が、受信側コンピュータ１４０４が配置されている異なる場所に配置されたビルド・サーバ１４０２に通信可能に接続されている。受信側コンピュータ１４０４と対応するビルド・サーバ１４０２との間でインターネット１４１０に頼らずにデータ転送を行うことができるように、ビルド・サーバ１４０２ａ、ｂ、．．．は同じ場所に配置された受信側コンピュータ１４０４にバックエンド・ネットワーク１４１８を介して接続することができる。このような転送にバックエンド・ネットワーク１４１８を使用することにより、ビルド・サーバ１４０２上のデータのセキュリティをより容易に保護することができると同時に、データ転送に高速のネットワークを使用することができる。各ビルド・サーバ１４０２および受信側コンピュータ１４０４は、このバックエンド・ネットワークとの通信のためのネットワーク・インタフェース１４２０を有することができる。
【００６８】
受信側コンピュータは、受信側コンピュータが、ビルド生成端末と直接通信することができるようにしたり、ウェブ・サイト・ホストとして機能することができるようにする、インターネット・インタフェース１４２２も有することができる。あるいは、受信側コンピュータは、ローカルのビルド・サーバとインターネット・インタフェースを介して接続され、次に、受信側コンピュータとバックエンド・ネットワークを介して接続される間接接続とすることもできる。受信側コンピュータ１４０４上の仮想ドライブ１４２４を使用することによって、受信側コンピュータはインターネット１４１０を介して転送されたビルド・プランを受け取ることができ、設置場所５の要求者は受信側コンピュータ１４０４の電源を投入して受信側コンピュータ１４０４上でビルド・プランが稼働可能になるようにするだけで済む。
【００６９】
あるいは、各ビルド・サーバ１４０２は、さらに、インターネット・インタフェース（図示せず）と書込み可能な取外し可能記憶ドライブ（図示せず）とを備えることができ、それによって、インターネットを介してビルド生成端末１４０６からビルド・サーバ１４０２にビルド・プランを転送し、ビルド・サーバ１４０２の取外し可能記憶装置に書き込み、受信側コンピュータ１４０４に転送することができる。これにより、図１３を参照しながら前述したように受信側コンピュータ１４０４をビルドすることができる。
【００７０】
追跡機能の構成
ビルド・プランの使用により、受信側コンピュータにどのようなソフトウェアがインストールされたか、さらに重要なことには、インストールにソフトウェアのどのバージョンが使用されたかを示す、記録を作成することができる。各ソフトウェア・パッケージのバージョン番号を組み込むことにより、ビルド・プランをアーカイブし、ソフトウェア・インストールの記録として使用することができ、それにより、ビルド・プランを調べて特定の受信側コンピュータにソフトウェア・インストールのバージョンを判断することができる。
【００７１】
また、上述のビルド・プランは、新規コンピュータへのソフトウェアのインストールを対象としているが、本発明はこれに限定されない。追加するプログラムと、インストール・プログラム（「先にインストール」プログラム）に必要なもののみを特定するビルド・プランを生成することによって、前のビルドにソフトウェア・プログラムを追加するためのビルド・プランを生成することができる。同様に、ソフトウェア提供者提供のインストール・プログラムの実行を必要とするサービス・パッチ、更新、およびその他の処置を、ビルド・プランを使用し受信側コンピュータにインストールすることができる。具体的には、単一のＲｕｎ−ｏｎｃｅ命令パッケージ参照から成るビルド・プランをコンピュータのレジストリに挿入して、受信側コンピュータを次に起動したときに更新が実行されるようにする。
【００７２】
以上の説明から明らかなように、本発明は、本発明の趣旨または本質的特性から逸脱することなく、他の特定の形態で実施することもできる。本発明は、本プロセスの自動化の恩恵を受ける十分なコンピュータを特定の構成に構成する必要がある多くの応用分野で使用することができる。したがって、本発明の範囲を示すものとしては、上述の明細ではなく、特許請求の範囲を参照すべきである。
【図面の簡単な説明】
【００７３】
【図１】本発明による、コンピュータを自動的にビルドする単純なシステムを示す図である。
【図２】本発明の基本的な方法を示すプロセス・フローチャートである。
【図３】ビルド・プランを生成するプロセス・フローチャートである。
【図４】ビルド生成端末に所望のオペレーティング・システムおよびその他のパラメータを識別させるインタフェースの例を示す図である。
【図５】受信側コンピュータにインストールする所望のソフトウェア・パッケージを特定するためのインタフェースの例を示す図である。
【図６】ビルド生成者に受信側コンピュータ識別情報を提供するインタフェースの例を示す図である。
【図７】ビルド生成者にネットワーク情報を提供するインタフェースの例を示す図である。
【図８】操作者の介入なしにソフトウェアをインストールするのに必要なコマンド、条件、およびパラメータを供給するためのデータ構造の例を示す図である。
【図９】ビルド生成端末から受信側コンピュータにビルド・プランを転送する単純なステップを示す図である。
【図１０】ビルド・プランを転送するために受信側コンピュータ上で仮想ドライブを使用する際のステップを示す図である。
【図１１Ａ】受信側コンピュータ上でビルド・プランを実行するプロセスを示す図である。
【図１１Ｂ】受信側コンピュータ上でビルド・プランを実行するプロセスを示す図である。
【図１２】受信側コンピュータ上でインストール済みソフトウェアの一部を作成するために、ディスク・イメージ・ディスクを使用して受信側コンピュータにデータをインストールするプロセスを示す図である。
【図１３】ビルド・コンピュータと共に配置された書込み可能な取外し可能記憶装置を使用すると共に、ビルド・サーバと一体化されたビルド生成端末を使用して、受信側コンピュータをビルドするシステムを示す図である。
【図１４】様々な物理的な場所に配置された複数の受信側コンピュータをビルドする、本発明によるシステムを示す図である。
【図１】
2004533032.tif 000003
【図２】
2004533032.tif 000004
【図３】
2004533032.tif 000005
【図４】
2004533032.tif 000006
【図５】
2004533032.tif 000007
【図６】
2004533032.tif 000008
【図７】
2004533032.tif 000009
【図８】
2004533032.tif 000010
【図９】
2004533032.tif 000011
【図１０】
2004533032.tif 000012
【図１１Ａ】
2004533032.tif 000013
【図１１Ｂ】
2004533032.tif 000014
【図１２】
2004533032.tif 000015
【図１３】
2004533032.tif 000016
【図１４】
2004533032.tif 000017
【国際公開パンフレット】
2004533032.tif 000018
2004533032.tif 000019
2004533032.tif 000020
2004533032.tif 000021
2004533032.tif 000022
2004533032.tif 000023
2004533032.tif 000024
2004533032.tif 000025
2004533032.tif 000026
2004533032.tif 000027
2004533032.tif 000028
2004533032.tif 000029
2004533032.tif 000030
2004533032.tif 000031
2004533032.tif 000032
2004533032.tif 000033
2004533032.tif 000034
2004533032.tif 000035
2004533032.tif 000036
2004533032.tif 000037
2004533032.tif 000038
2004533032.tif 000039
2004533032.tif 000040
2004533032.tif 000041
2004533032.tif 000042
2004533032.tif 000043
2004533032.tif 000044
2004533032.tif 000045
2004533032.tif 000046
2004533032.tif 000047
2004533032.tif 000048
2004533032.tif 000049
2004533032.tif 000050
2004533032.tif 000051
2004533032.tif 000052
2004533032.tif 000053
2004533032.tif 000054
2004533032.tif 000055
2004533032.tif 000056
2004533032.tif 000057
2004533032.tif 000058
2004533032.tif 000059
2004533032.tif 000060
2004533032.tif 000061
2004533032.tif 000062
2004533032.tif 000063
2004533032.tif 000064
2004533032.tif 000065
2004533032.tif 000066
2004533032.tif 000067
2004533032.tif 000068
2004533032.tif 000069
2004533032.tif 000070
2004533032.tif 000071
2004533032.tif 000072
2004533032.tif 000073
2004533032.tif 000074
2004533032.tif 000075
2004533032.tif 000076
2004533032.tif 000077
2004533032.tif 000078
2004533032.tif 000079
2004533032.tif 000080
2004533032.tif 000081
2004533032.tif 000082
2004533032.tif 000083
2004533032.tif 000084
2004533032.tif 000085
2004533032.tif 000086
2004533032.tif 000087
2004533032.tif 000088
【国際公開パンフレット（コレクトバージョン）】
2004533032.tif 000089
【国際調査報告】
2004533032.tif 000090