JP2004533032A - ホストコンピュータを構築するシステムおよび方法 - Google Patents
ホストコンピュータを構築するシステムおよび方法 Download PDFInfo
- Publication number
- JP2004533032A JP2004533032A JP2002564707A JP2002564707A JP2004533032A JP 2004533032 A JP2004533032 A JP 2004533032A JP 2002564707 A JP2002564707 A JP 2002564707A JP 2002564707 A JP2002564707 A JP 2002564707A JP 2004533032 A JP2004533032 A JP 2004533032A
- Authority
- JP
- Japan
- Prior art keywords
- build
- receiving computer
- software
- installation
- plan
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本発明は、コンピュータにソフトウェアを自動的にインストールするシステムおよび方法である。本システムは、ビルド・サーバとビルド生成端末とを含み、両者は同じコンピュータであってもよい。ビルド・サーバは、ネットワークを介して受信側コンピュータに接続される。ビルド・サーバは、受信側コンピュータにインストール可能なソフトウェアのライブラリを含む。ビルド生成端末は、ビルド・プランを生成するソフトウェアを含み、ビルド・プランは、ソフトウェア・インストール・プログラムを実行する命令を含む。ビルド・プランは、ネットワークを介して、または有形媒体の受け渡しなどにより、受信側コンピュータに転送することができる。本発明の方法は、受信側コンピュータにインストールするソフトウェアを定義するビルド・プランの作成と、受信側コンピュータへのビルド・プランの転送と、受信側コンピュータ上でのビルド・プランの実行とを含み、受信側コンピュータは、ビルド・サーバからネットワークを介してインストールするのに必要なファイルおよびデータにアクセスする。
Description
【技術分野】
【0001】
本発明は、コンピュータにソフトウェアをインストールすることに関し、より詳細には、受信側コンピュータの準備を迅速かつ効率的に行うことができるように、受信側コンピュータにソフトウェアを自動的にインストールすることに関する。
【背景技術】
【0002】
ウェブ・サイトの運営は、インターネット商取引基盤の重要な部分である。ウェブ・ホストは、インターネット・プレゼンスを作成する個人および会社に必要な、ハードウェア、ソフトウェア、およびサポート資源を提供する。インターネット・プレゼンスはウェブ・サイトの形態をとることが多く、そのようなウェブ・サイトは、個人または会社と標的視聴者とのインタフェースを提供する。このようなインタフェースの一例は、販売車両や特別販売促進企画、メーカのウェブ・サイトを訪れた人の最寄り販売店の所在地などを見込み客に知らせたい自動車メーカのウェブ・サイトであろう。他の企業としては、ワードプロセッシング・ソフトウェアや会計ソフトなどのアプリケーションにアクセスすることができるサイトなど、より複雑なウェブ・サイトを提供したいと考えている企業が考えられる。
【0003】
ウェブ・ホストによるこのようなウェブ・サイトの運営に必要なサービスとハードウェアの提供に頼ることによって、企業は、企業が使用する資源の運営の対価を支払うだけで済み、ウェブ・サイトを運営するのに必要と考えられるすべての資源を調達したり要員を配属したりする必要がない。サービスの運営をアウトソーシングすることでもたらされる効率向上により、必要資源の増加と共にウェブ・サイトでアプリケーションが運営されるケースが増えると考えられる。
【0004】
インターネット用のウェブ・サイトを運営するコンピュータの台数と処理能力は、ウェブ・サイトまたはアプリケーションの使用量と必要資源に合わせる必要がある。しかし、ウェブ・サイトやアプリケーションの人気は変化する可能性があるため、利用需要を正確に予測するのは困難である。競合ウェブ・サイトや製品の導入により、利用率の急激な低下が起こる可能性がある。ウェブ・サイトがアプリケーションを提供する場合、必要資源は期間需要によっても変化する。たとえば、インターネットを介して提供される会計アプリケーションの場合、SEC報告要件による期間会計の必要により、各四半期の期末近くに会計アプリケーションの需要が急激に増えると考えられる。
【0005】
したがって、ウェブ・サイトまたはアプリケーションの運営に使用されるコンピュータの台数を増減することによって、ウェブ・サイトの運営、特にアプリケーションの運営のために提供される資源の処理能力を可能な限り迅速に調整することができることが最も重要である。必要以上の数のコンピュータを備えるなど、アプリケーションの過剰運営は、あまり利用されないコンピュータを設けて稼働させる費用を生じさせる。需要を満たすのに必要な台数に満たないコンピュータを備えることによるアプリケーションの不十分な運営は、ウェブ・サイトまたはアプリケーションの利用者にとって応答速度の低下につながり、その結果、顧客に不満を抱かせることになる。
【0006】
したがって、ウェブ・ホストが、アプリケーションを運営するコンピュータの数を可能な限り迅速に増やすことができることが重要である。しかし、必要なソフトウェアのインストールは、必ずしも頻繁に繰り返される処理ではなく、しかもインストールの様々な段階で多くの手動介入を必要とする処理である。また、インストールする必要のある個々のソフトウェア・アプリケーションの数が多いと、確実にソフトウェアの現行バージョンのみがインストールされるようにするのにかなりの手間がかかる。
【0007】
したがって、コンピュータの迅速な構成を行うために、コンピュータの準備を整える必要がある場合に熟練した操作者が待機している必要がある。熟練操作者要員を確保しておくことは、要員の維持費用だけでなく、コンピュータを構成する必要性が低いときに要員を効率的に活用する費用もかかる。コンピュータ構成の必要は、必ずしも一定していないため、コンピュータ構成の必要性が熟練操作者が対応できないほど多い時期もあれば、熟練操作者があまり活用されない時期もある。したがって、対応可能な熟練操作者を制限するとウェブ運営に必要なコンピュータの構成が遅れる可能性があり、その結果、処理能力の問題を最小限に抑えるためにアプリケーションを過剰運営する傾向がある。
【発明の開示】
【発明が解決しようとする課題】
【0008】
したがって、本発明の目的は、操作者の関与を最小限にして、受信側コンピュータへのソフトウェアの順次インストールを可能にするシステムおよび方法を提供することである。本発明の他の目的は、ソフトウェアのインストールを中止させるイベントを操作者が突き止めるのを支援する、フィードバック・システムを組み込むことである。
【0009】
本発明の他の目的は、サーバをビルドする効率を向上させることである。このような向上は、操作者の関与の必要が最小限に抑えられ、受信側コンピュータへのソフトウェアのインストールに対応可能な訓練された要員を保持するための制約が緩和されるという点で、請求項のシステムおよびプロセスに固有のものである。また、本発明に固有なことは、インストール手続きの標準化が強化され、インストール・プロセスから人間による選択と誤りがなくなるため、後で問題が発生した場合の診断が容易になることである。
【課題を解決するための手段】
【0010】
本発明は、インストールに必要な操作者の介入を最小限にし、コンピュータに必要なソフトウェアをインストールするシステムおよび方法である。本システムは、操作者から所望の構成を受け取り、受信側コンピュータに入れるビルド・プランを生成し、ビルド・プランを実行してビルド・サーバから受信側コンピュータにソフトウェアをロードさせる。
【0011】
ビルド・プランは、個々のプログラムのためのインストール・ルーチンに対応するインストール・パッケージに従って、受信側コンピュータにソフトウェアをインストールする実行命令を含むことができる。
【0012】
ビルド・プランは、ベンダ提供のインストール・プログラムを順次実行する。インストール・プログラムは、ネットワーク接続を介して受信側コンピュータに接続されたビルド・ライブラリからロードまたはアクセスされる。ビルド・プランは、インストール・パッケージに細分することができ、各インストール・パッケージは、特定のソフトウェア構成要素のインストールを扱う。各インストール・パッケージは、標準化された共通定義に従ってフォーマットすることができ、共通定義はインストール・プログラムのための開始コマンドと、ソフトウェアのインストールに必要なパラメータとを指定する。これらのパラメータは、インストールによって生成されたパラメータが、次のソフトウェア・パッケージをインストールする前にオペレーティング・システムに反映されるように、完了時リブート・コマンドを含むことができる。
【0013】
また、ビルド・プランは、各インストール・パッケージの完了時にレコードがイベント・ログに書き込まれるようにし、それによって、ソフトウェアのインストールが失敗した場合に、最後に実行したインストール・パッケージを特定することにより、またはイベント・ログへの最後の記録によって、その失敗時点を判断することができるようにすることができる。これにより、パッケージをカウントするだけで、失敗時点でインストール中であったインストール・パッケージを特定することができ、インストール・エラーが修正された後は、当該箇所で自動ビルドを初期設定することができる。
【0014】
ビルド・プランの使用によって、ビルドの時点でビルド・ライブラリに入っているインストール・プログラムに基づいて、インストール済みのソフトウェア構成要素を特定することもでき、それによって、ビルド日付とビルド・ライブラリの構成とに基づいてレコードを作成し、特定の端末にソフトウェアのどのリビジョン・レベルがインストールされたかを特定することができる。これにより、後日、ソフトウェアの特定のリビジョン・レベルを使用して受信側コンピュータを特定するだけで自動更新を行うことができるようになる。
【0015】
単純な実施形態では、本発明のシステムは、ソフトウェア提供者によって提供されたインストール・プログラムが入ったビルド・ライブラリを含み、各インストール・プログラムは、受信側コンピュータにそれぞれ特定のソフトウェア・パッケージを構成し、インストールする。ビルド生成端末も設けることができる。ビルド生成端末は、受信側コンピュータにインストールしたいとして特定されたソフトウェアに基づいてビルド・プランを生成するビルド生成ソフトウェアを含むことができる。ビルド・ライブラリは、ソフトウェア・インストール・プログラムを含み、受信側コンピュータからローカル・ネットワークやインターネットなどのネットワーク接続を介してアクセス可能とすることができる。
【0016】
また、本発明は、受信側コンピュータにソフトウェアをインストールするためのシステムとしても実施され、受信側コンピュータは複数の場所に分散されている。ビルド・ライブラリは、複数の場所に備えることができ、それによって、ビルド・ライブラリから受信側コンピュータに転送する必要がある大量のデータを、インターネットのようなより低速の遠距離ネットワークを使用するのではなくローカルの高速ネットワークを介して転送することができる。
【0017】
ビルド・プランを生成するために少なくとも1つのビルド生成端末を設けることができる。ビルド・プランは、インストールするソフトウェア・パッケージを特定する命令のセットを含むことができる。このプランは、プログラムをインストールするのに必要なパラメータが格納されたインストール・データ・パッケージを参照することができる。このプランは、実行ファイルの形態をとるか、または受信側コンピュータのレジストリ・ファイルに挿入された一連のRun−once命令行であってもよい。インストールしたいソフトウェア・パッケージは、キーボードやモニタなどのインタフェースを介してビルド要求者がビルド生成端末に識別させることができる。別法として、ビルド生成端末はサーバとすることもでき、ビルド要求者がネットワークを介してビルド生成端末に接続し、受信側コンピュータにインストールしたいソフトウェアを特定することもできる。
【0018】
本発明の方法の単純な実施形態では、受信側コンピュータにインストールするソフトウェアを特定する情報をビルド要求者から受け取るステップと、特定されたソフトウェアを受信側コンピュータにインストールするためのビルド・プランを生成するステップと、受信側コンピュータにビルド・プランを転送するステップと、受信側コンピュータでビルド・プランを実行するステップとを含み、ビルド・プランの実行により、受信側コンピュータにビルド・ライブラリへのネットワーク接続を介してソフトウェアをインストールするのに必要なデータにアクセスするように指示する。
【0019】
本プロセスは、ソフトウェア提供者のソフトウェア・インストール・プログラムが、受信側コンピュータの認証を必要とするソフトウェアを受信側コンピュータに正しくインストールすることができるように、パスワードや証明などのセキュリティ手段を受信側コンピュータに与える必要があるか否かを判断する機能など、追加の機能も実施することができる。また、本プロセスは、ビルド・プランのセグメントの実行後にイベント・ログを記録させることもでき、それによって後でイベント・ログを調べ、ビルド・プランが適切に機能したか否かを判断することができ、適切に機能しなかった場合は、イベント・ログにインストール・イベントが記録されていないことによりどのソフトウェア・パッケージが正常にインストールされなかったかを判断することができるようにする。
【発明を実施するための最良の形態】
【0020】
図面では、同一の参照番号は同一の要素を示し、本発明によるプロセスおよびシステムが図示されている。
【0021】
図1には、受信側コンピュータ102を自動的にビルドする例示のシステム100が図示されている。このシステムは、ビルド・サーバ104と、ビルド生成プラットフォーム106と、受信側コンピュータ102とビルド・サーバ104とを接続する通信接続機構108と、ビルドを定義するビルド・プランとを含む。ビルド・プランは図1ではフロッピィ・ディスク上に実現されており、以下このディスクをビルド・ディスク110と呼ぶ。
【0022】
ビルド生成プラットフォーム106は、ビルド・プランを生成するビルド生成ソフトウェア112を含む。ビルド生成ソフトウェア112は、受信側コンピュータ102にソフトウェアをインストールさせたい人(図示せず)から所望のビルド定義を受け取る。このような人を以下、ビルド要求者と総称する。ビルド生成プラットフォームは、ビルド要求者が所望のビルドに関する情報をビルド生成プラットフォーム106に直接供給することができるようにする、モニタ114やキーボード116などのビルド要求者インタフェースも含む。所望のビルドに関するこの情報を、以下、ビルド定義と呼ぶ。ビルド定義は、所望のオペレーティング・システムの識別情報と、受信側コンピュータ102にインストールしたい特定のソフトウェア・アプリケーションまたはアプリケーションの更新版の識別情報を含むことができる。ビルド生成ソフトウェア112は、ビルド定義をビルド・プランに変換する。ビルド・プランは、受信側コンピュータが実行することができる実行ファイルを含むことができる。
【0023】
ビルド生成プラットフォーム106は、フロッピィ・ディスク・ドライブや書込み可能コンパクト・ディスク(以下CDと呼ぶ)ドライブなどの、書込み可能な取外し可能記憶装置118も含むことができる。書込み可能な取外し可能記憶装置118の目的は、ビルド・プランを生成し、可搬型記憶装置(ビルド・ディスク110など)に書き込み、受信側コンピュータ102に移すことができるようにすることである。書込み可能な取外し可能記憶装置118として選定する媒体は、受信側コンピュータ102を初期設定または「起動」するのに使用することができる、受信側コンピュータ102の装填可能記憶装置120に対応していることが好ましい。
【0024】
受信側コンピュータ102は、ソフトウェアをインストールしたいコンピュータである。受信側コンピュータは、アプリケーションを運営するために使用するサーバとすることもできるが、受信側コンピュータ102のエンド・ユーザは、所望のソフトウェアをインストールするためのビルド・プランをビルド生成ソフトウェア112が生成する能力によってのみ限定される。受信側コンピュータ102は、ネットワーク108に接続されたネットワーク・インタフェース109および111を介してビルド・サーバ104と通信する通信接続機構108を備えて、受信側コンピュータ102がビルド・サーバ104と通信してソフトウェアのインストールに関連するデータを受け取ることができるようにすることが好ましい。前述のように、受信側コンピュータ102は装填可能記憶装置120も備え、それによって、ビルド生成プラットフォーム106上で生成されたビルド・プランを受信側コンピュータ102に移送可能にすることができる。ハード・ドライブなどの記憶装置122も受信側コンピュータに備えることもでき、それにより、インストールされたソフトウェア構成要素124をその記憶装置にインストール可能になる。
【0025】
ビルド・サーバ104はビルド・ライブラリ126を含む。ビルド・ライブラリ126は、受信側コンピュータ102にソフトウェアをインストールするのに必要なソフトウェア・インストール構成要素を含むことができる。ソフトウェア・インストール構成要素は、一般には、コンピュータにソフトウェアをインストールする、ソフトウェア・ベンダのインストール・プログラムに付随するファイルである。
【0026】
受信側コンピュータ102とビルド・サーバ104との間の通信接続機構108は、転送する必要があるデータの特定の量と、ビルド・サーバ104と受信側コンピュータ102との間の地理的距離とに基づいて選定することが好ましい。ビルド・サーバ104と受信側コンピュータ102とを同じ場所に配置する場合には、単純なネットワークを使用してビルド・サーバ104と受信側コンピュータ102との間の通信を可能にすることができる。ビルド・サーバ104と受信側コンピュータ102とが同じ場所に配置されていない場合、インターネット接続を設けて、ビルド・サーバ104から受信側コンピュータ102にインターネットを介してデータを転送することができるようにしてもよい。インターネット・ネットワーク接続を使用するとデータ転送速度による制限を受けるが、この制限は、複数の遠隔場所にある受信側コンピュータ102をビルドするために単一の中央ビルド・サーバ104を設けたいという要望によって相殺される。ネットワーク接続は、通常のネットワーク技術を使用して行うことができる。このようなネットワーク接続の種類は、有線でも無線でもよいことは言うまでもない。
【0027】
ビルド・ディスク110として使用する可搬型記憶装置は、その記憶装置に記憶可能なデータ量だけでなく、可搬型記憶装置と、ビルド生成プラットフォーム106上の書込み可能ドライブと受信側コンピュータ102上の装填可能ドライブ120の両方との互換性とに基づいて選定することが好ましい。一般には、可搬型記憶装置は、3.5インチ・フロッピィ・ディスク・ドライブなど、コンピュータ上で容易に使用可能なフロッピィ・ディスクとすることができる。その他の可搬型記憶装置としては、ビルド生成プラットフォーム106と受信側コンピュータ102の両方に対応する、様々なフロッピィ・ディスク・ドライブ、書込み可能または書換え可能CDドライブ、アイオメガ製などのZipドライブ、テープ・ドライブ、取外し可能ハード・ドライブがあるが、これらには限定されない。あるいは、(後述するように)ビルド・プランをネットワークを介して受信側コンピュータに転送することもできる。
【0028】
図1では、ビルド生成プラットフォーム106とビルド・サーバ104は2つの別々のコンピュータとして図示されているが、これらの機能は、ビルド生成ソフトウェア112がインストールされ、ビルド・ライブラリ126およびネットワーク・インタフェース111を備えた単一のコンピュータによって実行することもできる。また、受信側コンピュータ102は、記憶装置122内に、イベント・ログ(図13に示す)を記憶するための空間を有することもできる。これはソフトウェア・インストールの成功または失敗を識別するための迅速なソースを与えるためにビルド・プランが実行される間に発生することができる。
【0029】
図2には、受信側コンピュータ102の自動ビルドを行う基本プロセスが図示されている。例示の実施形態について、マイクロソフトのWindows環境で説明する。したがって、ここではWindowsオペレーティング・システムに付随する規則を使用する。当業者には明らかなように、例示の実施形態はWindowsとは異なるオペレーティング・システムと共に使用するように実施することもできる。
【0030】
最初のステップで、ビルド要求者からビルド定義を受け取る(200)。次に、要求されたソフトウェア・プログラムに関連する事前定義済み情報に基づいて、受信側コンピュータのためのビルド・プランを生成する(202)。次に、ビルド・プランを受信側コンピュータ102に転送する(204)。その後、受信側コンピュータ102は、ビルド・プランを実行することができる(206)。ビルド・プランは、受信側コンピュータに対して、ソフトウェア・パッケージを順次ロードするように指示する。最後のソフトウェア・パッケージがインストールされた後は、受信側コンピュータはビルド・プランの実行の完了を検証することができる(208)。ビルド・プランが正常に実行された場合、ビルド要求者または他の人にビルド・プランの実行が成功したことが通知される(210)。ソフトウェア・パッケージをエラーなしでインストールすることに失敗した場合など、ビルドが正常に行われなかった場合、ビルドが正常に行われなかったことがビルド要求者に通知される(212)。最後に、ビルド・プランは終了することができる(214)。
【0031】
図3に示すように、プランの生成では、受信側コンピュータにインストールするソフトウェア構成要素を選択し(306)、複数の所定のインストール・パッケージをまとめてビルド・プランを形成する。まず、このプロセスでは、ビルド生成プログラムに関連する情報を更新して(302)、ビルドのために最新情報が確実に使用されるようにする。この更新は、ローカル・ビルド情報データベースをリモート・マスタ・ビルド情報データベースと同期させることによって、またはビルド・ライブラリ126からインストール可能なソフトウェアのベンダの順次照会を行うことによって行うことができる。オペレーティング・システムをインストールする場合は、そのオペレーティング・システムを選択することができる(304)。インストールするオペレーティング・システムとしては、たとえばWindows2000やWindowsNTなどがあるが、これらには限定されない。あるいは、オペレーティング・システムを選択して、インストールするソフトウェア・パッケージのためのオペレーティング・システム互換性を定義することもできる。オペレーティング・システムを特定した後は、受信側コンピュータにインストールしたいソフトウェアを選択することができる(306)。
【0032】
このような選択(306)を図4および図5に示す。図4には、選択されたオペレーティング・システムを定義する例示のビルド要求者インタフェースと、インストールする追加の構成要素を選択するボタンとが示されている。図5には、追加のソフトウェアを選択するための例示のビルド要求者インタフェースが図示されている。ビルド要求者がインストールしたいソフトウェアを選択すると、ビルド生成部が、選択されたソフトウェアをインストールするために必要なものとしてビルド・プランに組み込むための必要なインストール・パッケージを選定することができる(308)。
【0033】
また、受信側コンピュータ102を、ネットワーク接続を介して受信側コンピュータにソフトウェアをインストールするのに必要なデータにアクセスするように構成することも可能なため、図6に示すように、ネットワーク上での受信側コンピュータの識別情報を定義するのに必要な情報と、データにアクセスすることができる宛先アドレスも特定し(310)、受信側コンピュータ102に供給する必要がある場合がある。あるいは、宛先アドレスはビルド・プランの一要素として供給することもできる。受信側コンピュータ102を運営アプリケーションのホストとして構成する場合、ビルド・プランには受信側コンピュータのネットワーク用アドレスを定義する情報も含めることができる。このようなデータを定義するための例示のビルド要求者インタフェースを、図7に示す。
【0034】
図3に戻ると、ネットワークを介したソフトウェアのインストールには、受信側コンピュータ上に認証手段が存在しなければならない場合があるため、ビルド生成部は、受信側コンピュータに認証手段が存在する必要があるプログラムを認識し(312)、必要な認証手段を受信側コンピュータにインストールする命令をビルド・プランの実行可能部に追加する(313)。
【0035】
受信側コンピュータにインストールするソフトウェアが選択されると、ビルド・プラン生成部はビルド・プランを生成する。ビルド・プランは、実行可能部と、ソフトウェア・パッケージをインストールするためのパラメータを識別する少なくとも1つのインストール・データ・パッケージとを含むことができる。ビルド・プランの実行可能部は、選択された構成要素をインストールするように受信側コンピュータの準備を整え、ベンダ提供インストール・ルーチンの実行を指示することができる。したがって、ビルド・プランの実行可能部は、受信側コンピュータに付随するネットワーク特性と識別情報特性とを認識するようにカスタマイズする必要がある。あるいは、これらの特性は、ビルド・プランの実行可能部が参照することができるデータ・ファイルを設けることによって、ビルド・プランの実行可能部に提供することもできる。このデータ・ファイルを本明細書ではインストール・データ・パッケージと呼ぶ。
【0036】
本発明の一実施形態では、ビルド・プランはデータ・インストール・パッケージへの参照を含み、それによってインストール・プログラム・コマンド行の順次実行が行われるようにする。したがって、インストールすることができる各プログラムを、個々のインストール・データ・パッケージとして表す。さらに、依存関係が存在する場合はビルド生成ソフトウェアは、必要なソフトウェアが適切に機能するために追加のソフトウェア・サービスまたはプログラムをインストールする必要があるか否かを判断することができる。最後に、ビルド生成ソフトウェアは、正しいインストール順序が必要な場合には、インストール・データ・パッケージへの参照を順序づけることもできる。必要な追加のソフトウェア・サービスまたはプログラムと、必要な順序づけの識別は、要求可能ソフトウェア・パッケージの数を制限した所定の構成マトリックスによって判断するか、または各インストール・データ・パッケージに関連づけられた「先にインストール」リストを使用して行うことができる。「先にインストール」リストにより、必要なソフトウェア・プログラムをインストールする前にインストールする必要があるプログラムが識別され、したがって、要求されたプログラム内で先にインストールすべきプログラムとして識別されているすべてのプログラムを集めることによって、必要な構成要素のリストを決定することができる。同様に、「先にインストール」リストを使用して順序を決定し、先にインストールする必要があるすべてのプログラムまたはサービスが、要求されたプログラムの前に確実にインストールされるようにすることができる。
【0037】
ビルド・プランのための要素が蓄積した(316)後は、ビルド生成端末が、ビルド生成端末から受信側コンピュータに送るために、可搬型記憶装置にビルド・プランを書き込むことができる(318)。
【0038】
インストール・データ・パッケージは、図8に示すように、データ構造800に含めることができる。このデータ構造は、特定のソフトウェア・パッケージをインストールするのに参照するためにビルド・プランが参照することができるパラメータの構造体を提供する。各インストールに共通したデータ構造を使用することによって、ビルド・プランは、データ構造に含まれているパラメータに基づいてインストールを順次行うことができる。したがって、ビルド・プランの実行可能部は、現在使用可能なデータ構造からパラメータを読み取り、インストール手続き中に、受信側コンピュータのためにパラメータを命令と応答に変換することができる。
【0039】
ソフトウェア・パッケージをインストールするためのパラメータは、ソフトウェア・パッケージのインストールを開始するコマンド行命令802を含むことができる。このようなコマンド行は、ソフトウェアの作成者、製造業者、またはベンダが定義することができ、実行可能プログラムを実行させてソフトウェアをインストールすることができる。このデータ構造には、インストールに必要なデータを格納することができるディレクトリのパス804も含めることができる。その他のパラメータとしては、特定のインストール設定値などのインストール・ルーチン中に必要な入力などがある。これらのパラメータは、実行可能プログラムがアクセスしてインストール中の照会に対する必要な応答を判断することができるテキスト・ファイル806に含めることができる。最後に、このデータ構造には、ソフトウェア・パッケージのインストール完了時に受信側コンピュータを初期設定する必要があるか否かを識別するパラメータ808も含めることができる。例示のデータ構造では、0がインストール後にリブートすることを意味し、1がインストール後にコンピュータを初期設定する必要がないことを意味する。
【0040】
図8に示すデータ構造は、さらに、特定のソフトウェア・パッケージのインストールの前に他のどのソフトウェア・サービスを開始する必要があるかを、ビルド・プランの実行可能部のために定義するパラメータ812や、特定のソフトウェア・パッケージをインストールするにはその前に他のどのソフトウェア・サービスを完了させなければならないかを定義するパラメータ810も含めることができる。
【0041】
転送可能ビルド・プランは、インストールする合計パッケージ数の値など、ソフトウェアのインストールに必要な追加のパラメータや、各データ・パッケージが正常にインストールされた場合のそのデータ・パッケージのインストール完了時のエントリを入れることができるイベント・ログを記録する命令も含めることができる。
【0042】
図9に示すように、プランが作成されたビルド生成端末から受信側コンピュータへのビルド・プランの転送は、ビルド・プランを取外し可能ディスクに書き込み(902)、取外し可能ディスクを受信側コンピュータに渡し(904)、それによって、受信側コンピュータが起動時にプラン・ファイルを実行することができるようにすることによって容易に行うことができる。
【0043】
あるいは、図10に示すように、受信側コンピュータに、起動時に仮想記憶場所の作成を可能にする技法を組み込むこともできる。この技法により、受信側コンピュータは起動時に仮想記憶装置としてネットワーク・アドレスをマップすることができ、それによってネットワーク・アドレスに格納されているプラン・ファイルを受信側コンピュータ内で実行することができる。このプロセスは、受信側コンピュータを初期設定の前にネットワークに接続する必要があり、受信側コンピュータに仮想ドライブ・ハードウェアを設ける必要がある。起動時、仮想装置ハードウェアに対して、(仮想ドライブ・ハードウェア内の不揮発性メモリに記憶されている)事前に識別されたアドレスにネットワークを介して接続し、そのハードウェア自体を受信側コンピュータを表すものとして識別させ、受信側コンピュータにソフトウェアをインストールする際に使用するファイルにアクセスするように指示する必要がある。仮想ドライブには、ビルド・プランや、受信側コンピュータにソフトウェアをビルドすることができるようにするその他の情報を格納することができる。これには、ビルド・プラン、認証ファイル、特定のソフトウェア・パッケージのインストールに必要な特定のサービスまたはソフトウェアなどが含まれるが、これらには限定されない。
【0044】
図11に示すように、ビルド・プランの実行は、個別の数ステップを含む。まず、受信側コンピュータを起動する(1102)。これは、操作者が、受信側コンピュータの電源を投入することによって、または受信側コンピュータに対してリブートまたは再起動を指示することによって行うことができる。受信側コンピュータがネットワーク接続を介してコマンドを受け取ることができる場合、受信側コンピュータのビルドを担当するビルド要求者などがリブート・コマンドまたは再起動コマンドをリモートで発行することができる。
【0045】
受信側コンピュータが起動されると、受信側コンピュータでビルド・プランを始動させることができる(1104)。ビルド・プランの始動は、ビルド・プランに受信側コンピュータの起動ルーチン内の実行ファイルを実行させることによって自動化することができる。これは、たとえば、ビルド・プランをビルド・ディスクに.comファイルなどの形態で書き込み、起動ルーチン中に認識されるドライブにそのビルド・ディスクを挿入することによって行うことができる。マイクロソフトのWindowsの多くのバージョンなどのオペレーティング・システムには、コンピュータを最初に起動したときに特定のファイルにアクセスして、コンピュータを機能させるために稼働させる必要があるソフトウェア・プログラムを始動させるルーチンが含まれている。このようなプログラムにはオペレーティング・システム自体と、ネットワーク接続などのタスクのためのサービスが含まれる。この種のプログラムは、コンピュータの始動パスに入れ、それによって、コンピュータが最初に電源投入されたとき、または初期設定されたときに、始動パス内の実行ファイルを実行するようにすることによって始動される。ビルド・プランを始動パス内に入れることにより、受信側コンピュータが最初に初期設定されたときに受信側コンピュータにビルド・プランを実行させることができる。
【0046】
しかし、ソフトウェアをインストールする場合には、ソフトウェアのインストール中に稼働させているソフトウェア・プログラムを最小限にすることが好ましい。あるいは、通常は始動パスに含まれない特定のプログラムが必要な場合がある。ビルド・プランをブート可能ディスクとして作成することによって、受信側コンピュータを、予定のソフトウェア・インストールに必要なソフトウェア・サービスのみで初期設定することができる。必要なソフトウェア・パッケージは、受信側コンピュータを初期設定するときにも組み込むことができ、それによって受信側コンピュータをソフトウェアのインストールのための適切な構成状態にすることができる。
【0047】
ビルド・プランは、コンピュータが初期設定されると始動されるブート可能ディスクに格納することができるプログラムとすることができる。たとえば、ビルド・プランは、受信側コンピュータの初期設定時に、.comファイルなど、ブート可能ビルド・プラン・ディスクから自動的に実行可能なビルド・プラントすることができる。自動実行ファイルの実行順序はオペレーティング・システムによって定義されるため、使用する特定のオペレーティング・システムは使用する実行ファイルのタイプの判断に関係する場合がある。マイクロソフトWindowsを使用するシステムの場合、ビルド・プランを.comファイルとしてブート可能ディスクに格納することによって、受信側コンピュータにブート可能ディスクに記憶されているシステム構成をロードさせ、次に、ビルド・プランを実行させることができる。
【0048】
ビルド・プランを自動的に始動させる代替方法は、Windowsタイプのオペレーティング・システムが使用するレジストリにビルド・プランを格納することである。個々のパッケージのインストールを、Run−once命令行としてレジストリに挿入し、それにより、受信側コンピュータが初期設定されるときに、受信側コンピュータはレジストリ内のインストール命令を実行する。個々のインストール・パッケージ内のリブート命令を使用することによって、ソフトウェア・パッケージを適切にインストールする必要に応じてレジストリに基づき、一連のパッケージ・インストールが初期設定に割り込めるようにすることができる。受信側コンピュータは連続した初期設定のたびに直前に実行されたパッケージ命令を実行済み命令として読み取り、次の未実行パッケージ命令に進む。すべてのパッケージ命令が完了した後は、始動中、レジストリ内のパッケージ・インストール命令を無視することができる。
【0049】
また、レジストリ内のパッケージ・インストール命令の使用により、トラブルシューティング方法として、どのパッケージがインストールされているかを後で調べることもできる。レジストリ内でパッケージ・カウンタを実施し、パッケージが正常にインストールされるたびにインクリメントすることができる。これにより、パッケージ・カウンタをインストールするパッケージ数を定義する値と比較することによって、すべてのパッケージが正常にインストールされたか否かを迅速に確認することができる。
【0050】
受信側コンピュータでビルド・プランが始動すると、ビルド・プランによって、受信側コンピュータ上のファイルを始動または開くことにより、イベント・ログを作成することができる。このイベント・ログの目的は、ビルド・プランが、ビルド・プランの実行中に発生した特定のイベントを記録する日誌として使用することである。このイベント・ログを使用して、個々のソフトウェア・パッケージのインストールの成功または失敗や、ビルド・プランの実行中発生したエラーに関するメッセージを書き込むこともできる。また、イベント・ログを使用して、インストールするパッケージの数を識別する初期値やインストール済みのパッケージの数のカウンタとして機能する値など、ビルド・プランの実行中に使用する状態値またはフラグを記録することもできる。
【0051】
次に、ビルド・プランは、受信側コンピュータに所望のソフトウェアをインストールすることができるようにするのに必要なセキュリティ機能を始動させることができる。セキュリティのため、ビルド・サーバ上に格納されているデータの無許可の使用を防止する手段として受信側コンピュータで認証鍵を稼働させ、ビルド・サーバが受信側コンピュータにデータを転送することを許可されるようにする必要がある場合がある。認証ルーチンは、受信側コンピュータをビルド・サーバに識別される特定の許可とするか、または受信側コンピュータを、特定のソフトウェア・パッケージに付随するデータを受け取る資格があるものとして識別する、一連の特定の許可とすることができる。ビルド・プランが必要なセキュリティ機能を始動することができない場合、ビルド・プランはイベント・ログにエラー・メッセージを書き込んでシャットダウンしてもよい。
【0052】
必要なセキュリティ機能が正常に始動した場合(1106)、ビルド・プランは、次にインストールするパッケージを判断することによってソフトウェア・インストールを開始することができる(1108)。次にインストールするパッケージの判断は、現在パッケージ・カウンタ(以下PPCと呼ぶ)を参照する(1110)ことによって行うことができる。PPCの初期値は1である。したがって、ビルド・プランを最初に実行したときは、PPCの値は1になり、ビルド・プランは最初のデータ構造を読み取って(1112)、最初のパッケージをインストールするのに必要なコマンドとパラメータを入手する。ビルド・プランが最初のパッケージに必要なコマンドとパラメータ(プロセスの始動待機、セキュリティ規定または許可規定のインストール、インストール・コマンドの発行など)を実行(1114〜1120)した後は、ビルド・プランはこの特定のインストールの成功(1128)または失敗(1126)を示す項目をイベント・ログに書き込むことができる。この記録が行われると、PPCがインクリメントされ(1136)、データ構造が、この特定のソフトウェア・パッケージのインストール後にリブートする必要があることを示している場合はリブート・コマンドが実行される。
【0053】
必要なコマンドおよびパラメータの実行(1122)では、ビルド・プランがインストール・ルーチンの必要コマンド行命令を発行する。ビルド・プランは、インストール・データを取り出すことができるリモート・ディレクトリも識別することができる。リモート・ディレクトリの識別情報は、インストール・パッケージを定義するデータ構造に組み込むことができる。ソフトウェア・インストール・プログラムに供給する必要があるパラメータは、当該ソフトウェア・インストールに付随するパッケージ・インストール・データ構造の一部として識別されるテキスト・ファイルに従って、キーボード入力をエミュレートすることによって供給することができる。
【0054】
PPCは、リブートする場合はその前にインクリメントしてファイルに書き込む必要がある。これにより、ビルド・プランは、ビルド・プランがリブート後に再起動するときに正しいPPC値を参照することができるようになる。インクリメントされた値が記憶されている限り、ビルド・プランは、次にインストールすべきパッケージを指すPPCを参照することができる。
【0055】
また、ビルド・プランは、ビルド・プランによってインストールされるべき合計パッケージ数を識別する最終パッケージ値(以下「LPV」と呼ぶ)を備えることもできる。PPCをインクリメントする前に、ビルド・プランはPPC値がLPVと等しいか否かを判断する(1132)。PPCが等しい場合、ビルド・プランは、テンポラリ・ファイルの削除、ビルド・プランの実行にのみ必要なソフトウェア・サービスの除去など、システムの最終クリーンアップを行う(1134)。最終クリーンアップ1134が完了すると、ビルド・プランは受信側コンピュータの付近にいる操作者に対し、ブート可能ディスクを取り外し、コンピュータを再起動し、プロセスを終了(1138)するように通知する命令を実行する。
【0056】
ディスク・イメージ・ディスクを使用したビルド
本発明を実施する代替実施形態の方法では、ディスク・イメージを使用して受信側コンピュータ102への初期ソフトウェア・インストールを行うことができる。ディスク・イメージには、インストールなしで実行可能な形態で、またはインストール要件を低減して、受信側コンピュータの記憶装置にコピーすることができる基本ソフトウェアを記憶することができる。ディスク・イメージ・データは、受信側コンピュータ102の記憶装置122に直接コピーすることができるオペレーティング・システムを含むことができる。
【0057】
たとえば、オペレーティング・システムの特定の構成を希望する場合、実行可能オペレーティング・システムを受信側コンピュータの記憶装置に直接コピーすることができる。ディスク・イメージは、フロッピィ・ディスクまたはCD−ROMディスクなどの取外し可能記憶装置とすることができる。一般には、コンピュータは、ドライブを所定の順序で調べてオペレーティング・ソフトウェアを識別する。この順序は、最初にフロッピィ・ディスク・ドライブ、次にCD−ROMドライブ、その後に内蔵ハード・ドライブ・パーティションなどの主固定ディスクの順としてもよい。このようなパスにディスク・イメージ・ディスクを入れることによって、ディスク・イメージが受信側コンピュータに自動的に転送される。
【0058】
図12に示すように、ディスク・イメージを使用したアプリケーション・ホスト・コンピュータまたはサーバのビルドは、まず、ビルド用のディスク・イメージを生成または入手することによって行うことができる(1202)。次に、図3を参照しながら述べたプロセスに従ってビルド・プランを生成する(1204)。次に、ディスク・イメージが記憶されているディスク・イメージ・ディスクを受信側コンピュータ102に挿入し(1206)、受信側コンピュータを初期設定する。挿入されたディスク・イメージ・ディスクによって受信側コンピュータが初期設定されると、ディスク・イメージ・ディスク上の実行ファイルが、受信側コンピュータに対して、ディスク・イメージ・ディスクに記憶されているソフトウェア・データを受信側コンピュータの記憶装置に転送するように指示する。このようなデータが転送されると、受信側コンピュータは、ディスク・イメージ・データが受信側コンピュータ102に正常に転送されたことをシステム操作者に通知することができる。
【0059】
次に、受信側コンピュータは、ディスク・イメージ・ディスクを取り外させて、受信側コンピュータの準備をさらに整えるのを妨害されないようにする。その後、受信側コンピュータにビルド・ディスクを挿入して、受信側コンピュータを再初期設定し、リブートし、再起動することによって、ビルド・プロセスを開始することができる(1212)。受信側コンピュータにオペレーティング・システムが転送された場合、起動時に実行されるプログラムのディレクトリにビルド・プランを実行ファイルとして組み込むことによって、ビルド・ディスク上のビルド・プランの実行が開始される(1212)。ビルド・プランが開始されると(1212)、ビルド・プランは前述のように機能して、最後のパッケージがインストールされるまでパッケージのインストールを繰り返した後、システム管理者用にビルド・レポートを生成する。
【0060】
ディスク・イメージ・ディスクを使用する場合、ビルド・プランの実行の前に操作者の介入をより多く必要とする。具体的には、まずディスク・イメージ・ディスクを装填し、次にビルド・プラン・ディスクを装填する際に、操作者が介入する。しかし、ディスク・イメージの使用により、システム管理者は、受信側コンピュータのビルドの基礎となるオペレーティング・システムなど、特別に適合化された構成要素を使用することができる。
【0061】
ディスク・イメージとビルド・ディスクを使用して受信側コンピュータをビルドするシステムを、図13に示す。ビルド・プランを転送するために使用する書込み可能な取外し可能記憶装置118がディスク・イメージに必要な情報を記憶するのに十分な場合、その記憶装置118をディスク・イメージ・ディスクを作成するためにも使用することができる。生成コンピュータは、ディスク・イメージ生成ソフトウェアまたはゴースト情報1304とビルド・プラン生成ソフトウェア1306とビルド・ライブラリ1308とを含む、単一のビルド生成サーバ1302として図示されているが、前述のように、個々の機能を単一のコンピュータで実行することも、複数の機能を実行する複数のコンピュータおよび/または個別の機能を実行する複数のコンピュータの組合せで実行することもできる。
【0062】
図のように、生成コンピュータは、ディスク・イメージ生成ソフトウェア1310とディスク・イメージ生成ハードウェア1312とを有する。ディスク・イメージがCD−ROMの場合、ディスク・イメージ生成ハードウェア1312は書換え可能CDドライブとすることができるが、書換え可能CDドライブは、図のように、生成コンピュータからは遠隔の、受信側コンピュータの付近に配置することもできる。書換え可能CDドライブ1314を遠隔に配置すると、受信側コンピュータ102の近くでディスク・イメージを形成することができるという利点があるが、ディスク・イメージ情報をネットワーク接続1316を介して転送する必要があるという欠点がある。
【0063】
地理的に分散した受信側コンピュータ設置場所
ネットワークを介したデータの転送に関するパフォーマンス上の無視できない利点は、送信元コンピュータと宛先コンピュータとの間の地理的距離を短縮した場合に存在する。したがって、ウェブ運営サービス業者は、サーバの応答時間を可能な限り高速に維持することができるように、ウェブ・サーバを分散した場所に配置したいと考える場合がある。たとえば、ウェブ運営サービス業者は、ウェブ・サーバを米国東海岸の場所と、米国西海岸の場所と、ヨーロッパの場所とに設けることができる。その場合、各場所のウェブ・サーバは、サーバが配置されている場所の近くにある企業のためウェブ・サイトやアプリケーションを運営するために設けられる。ウェブ・サーバは様々な場所に配置することができるが、各設備で冗長なサービスを提供する必要を最小限にすることにもウェブ運営サービス業者にとっての利益が残されている。したがって、ウェブ・ホストが、受信側コンピュータから離れた中央設置場所からサーバをビルドすることができれば、ウェブ・ホストはビルド要求者の数を管理することができ、ウェブ・ホスト提供者にとって効率的になる。
【0064】
図14に示すように、本発明は、ウェブ・ホスト提供者(図示せず)が限定された数の場所にビルド要求者を置くことができるようにすると同時に、同じビルド要求者が様々な分散場所におけるソフトウェア・インストールを制御することができるようにするシステムにも適合させることができる。受信側ホストの近くにビルド・サーバ1402a、b、...を配置することによって、ソフトウェア・インストール・プログラムに必要な大量のデータを受信側コンピュータ1404a、b、...の近くに配置することができると同時に、ビルド生成端末1406a、b、...は一カ所または複数箇所の中央設置場所にのみ配置するだけで済み、それによって、ビルド要求者を可能な限り効率的に利用することができる。あるいは、ビルド生成端末1406をサーバとして使用することもでき、その場合、ビルド要求者はインターネット機器1408(パーソナル・コンピュータ、ボックス・トップ・コンバータなど、インターネットにアクセスする任意の手段)からインターネット1410を介してビルド生成端末1406に接続する。
【0065】
図14に示すシステムは、中央ビルド情報サーバも維持することができるようにする。中央ビルド情報サーバ1412は、ビルド生成端末1406で使用される情報を、一カ所で管理可能にすることができる。時間の経過と共に、特定のソフトウェア・パッケージ用のデータ定義パラメータおよびインストール命令が陳腐化することがある。たとえば、ソフトウェア製品の新しいバージョンまたはサービス・パックが発売されることがある。新バージョンのインストールのためのパラメータは、前のバージョンと異なる場合があり、各ビルド生成端末が使用するデータを更新して新しい改訂版情報を反映させる必要が生じることがある。各インストール・パッケージを定義するデータが分散方式で記憶されている場合、すなわち、各ビルド生成端末1406a、b...に記憶されている場合、ソフトウェアを更新する作業は厄介な作業になることがある。ビルド情報をビルド情報サーバ1412に集中させることにより、ソフトウェア・パッケージ情報の更新を、単一のビルド情報サーバ1412のみを更新し、個々のビルド情報ライブラリ1406a、b、...にビルド情報データベース1414に格納されているデータを参照またはミラリングさせることによって行うことができる。
【0066】
代替実施形態では、ビルド・プランの生成に必要な処理は、ビルド要求者(図示せず)に関連づけられたウェブ対応ブラウザに分散することができる。このような実施形態では、ビルド生成ソフトウェアをインターネットを介してビルド要求者のインターネット機器に転送することができ、それによって、要求者は自分のデスクでビルド・プランを生成することができる。この実施形態では、ビルド情報は、1つまたは複数の中央ビルド情報ライブラリで維持するか、またはビルド要求者がビルド生成ソフトウェアをビルド要求者のインターネット機器に転送したときにビルド要求者のコンピュータに複写することができる。確実にビルド生成ソフトウェアおよびビルド情報の最新バージョンのみが使用されるようにするために、ビルド要求者はビルド要求ウェブ・サイトにアクセスし、ビルド要求ウェブ・サイトが、ビルド要求者のインターネット機器でビルド生成ソフトウェアがJavaやActiveXなどのアプレットの形で実行されるようにすることができる。ビルド要求者に対して、ビルド生成ウェブ・サーバへの各接続でアプレットをリロードするように要求することによって、ビルド生成ソフトウェア自体を制御し、最新バージョンのみが使用されるように保証することができると同時に、ビルド・プランを生成するのに必要な実際の処理を分散させることができる。
【0067】
図14に示すように、ビルド生成端末1406a、b、...は、2カ所以上の場所1416a、b、...に配置することができる。これらのビルド生成端末1406a、b、...はインターネット1410などを介してビルド情報サーバ1412に通信可能に接続されるが、直接ダイヤルアップなどの他の通信経路も使用可能である。ビルド情報サーバ1410は、ビルド生成端末1406aと同じ場所に配置することができるが、これは本発明の実施にとって必須ではない。図中でAないしFの文字が付された受信側コンピュータなど、異なる場所にある受信側コンピュータ1404が、受信側コンピュータ1404が配置されている異なる場所に配置されたビルド・サーバ1402に通信可能に接続されている。受信側コンピュータ1404と対応するビルド・サーバ1402との間でインターネット1410に頼らずにデータ転送を行うことができるように、ビルド・サーバ1402a、b、...は同じ場所に配置された受信側コンピュータ1404にバックエンド・ネットワーク1418を介して接続することができる。このような転送にバックエンド・ネットワーク1418を使用することにより、ビルド・サーバ1402上のデータのセキュリティをより容易に保護することができると同時に、データ転送に高速のネットワークを使用することができる。各ビルド・サーバ1402および受信側コンピュータ1404は、このバックエンド・ネットワークとの通信のためのネットワーク・インタフェース1420を有することができる。
【0068】
受信側コンピュータは、受信側コンピュータが、ビルド生成端末と直接通信することができるようにしたり、ウェブ・サイト・ホストとして機能することができるようにする、インターネット・インタフェース1422も有することができる。あるいは、受信側コンピュータは、ローカルのビルド・サーバとインターネット・インタフェースを介して接続され、次に、受信側コンピュータとバックエンド・ネットワークを介して接続される間接接続とすることもできる。受信側コンピュータ1404上の仮想ドライブ1424を使用することによって、受信側コンピュータはインターネット1410を介して転送されたビルド・プランを受け取ることができ、設置場所5の要求者は受信側コンピュータ1404の電源を投入して受信側コンピュータ1404上でビルド・プランが稼働可能になるようにするだけで済む。
【0069】
あるいは、各ビルド・サーバ1402は、さらに、インターネット・インタフェース(図示せず)と書込み可能な取外し可能記憶ドライブ(図示せず)とを備えることができ、それによって、インターネットを介してビルド生成端末1406からビルド・サーバ1402にビルド・プランを転送し、ビルド・サーバ1402の取外し可能記憶装置に書き込み、受信側コンピュータ1404に転送することができる。これにより、図13を参照しながら前述したように受信側コンピュータ1404をビルドすることができる。
【0070】
追跡機能の構成
ビルド・プランの使用により、受信側コンピュータにどのようなソフトウェアがインストールされたか、さらに重要なことには、インストールにソフトウェアのどのバージョンが使用されたかを示す、記録を作成することができる。各ソフトウェア・パッケージのバージョン番号を組み込むことにより、ビルド・プランをアーカイブし、ソフトウェア・インストールの記録として使用することができ、それにより、ビルド・プランを調べて特定の受信側コンピュータにソフトウェア・インストールのバージョンを判断することができる。
【0071】
また、上述のビルド・プランは、新規コンピュータへのソフトウェアのインストールを対象としているが、本発明はこれに限定されない。追加するプログラムと、インストール・プログラム(「先にインストール」プログラム)に必要なもののみを特定するビルド・プランを生成することによって、前のビルドにソフトウェア・プログラムを追加するためのビルド・プランを生成することができる。同様に、ソフトウェア提供者提供のインストール・プログラムの実行を必要とするサービス・パッチ、更新、およびその他の処置を、ビルド・プランを使用し受信側コンピュータにインストールすることができる。具体的には、単一のRun−once命令パッケージ参照から成るビルド・プランをコンピュータのレジストリに挿入して、受信側コンピュータを次に起動したときに更新が実行されるようにする。
【0072】
以上の説明から明らかなように、本発明は、本発明の趣旨または本質的特性から逸脱することなく、他の特定の形態で実施することもできる。本発明は、本プロセスの自動化の恩恵を受ける十分なコンピュータを特定の構成に構成する必要がある多くの応用分野で使用することができる。したがって、本発明の範囲を示すものとしては、上述の明細ではなく、特許請求の範囲を参照すべきである。
【図面の簡単な説明】
【0073】
【図1】本発明による、コンピュータを自動的にビルドする単純なシステムを示す図である。
【図2】本発明の基本的な方法を示すプロセス・フローチャートである。
【図3】ビルド・プランを生成するプロセス・フローチャートである。
【図4】ビルド生成端末に所望のオペレーティング・システムおよびその他のパラメータを識別させるインタフェースの例を示す図である。
【図5】受信側コンピュータにインストールする所望のソフトウェア・パッケージを特定するためのインタフェースの例を示す図である。
【図6】ビルド生成者に受信側コンピュータ識別情報を提供するインタフェースの例を示す図である。
【図7】ビルド生成者にネットワーク情報を提供するインタフェースの例を示す図である。
【図8】操作者の介入なしにソフトウェアをインストールするのに必要なコマンド、条件、およびパラメータを供給するためのデータ構造の例を示す図である。
【図9】ビルド生成端末から受信側コンピュータにビルド・プランを転送する単純なステップを示す図である。
【図10】ビルド・プランを転送するために受信側コンピュータ上で仮想ドライブを使用する際のステップを示す図である。
【図11A】受信側コンピュータ上でビルド・プランを実行するプロセスを示す図である。
【図11B】受信側コンピュータ上でビルド・プランを実行するプロセスを示す図である。
【図12】受信側コンピュータ上でインストール済みソフトウェアの一部を作成するために、ディスク・イメージ・ディスクを使用して受信側コンピュータにデータをインストールするプロセスを示す図である。
【図13】ビルド・コンピュータと共に配置された書込み可能な取外し可能記憶装置を使用すると共に、ビルド・サーバと一体化されたビルド生成端末を使用して、受信側コンピュータをビルドするシステムを示す図である。
【図14】様々な物理的な場所に配置された複数の受信側コンピュータをビルドする、本発明によるシステムを示す図である。
【0001】
本発明は、コンピュータにソフトウェアをインストールすることに関し、より詳細には、受信側コンピュータの準備を迅速かつ効率的に行うことができるように、受信側コンピュータにソフトウェアを自動的にインストールすることに関する。
【背景技術】
【0002】
ウェブ・サイトの運営は、インターネット商取引基盤の重要な部分である。ウェブ・ホストは、インターネット・プレゼンスを作成する個人および会社に必要な、ハードウェア、ソフトウェア、およびサポート資源を提供する。インターネット・プレゼンスはウェブ・サイトの形態をとることが多く、そのようなウェブ・サイトは、個人または会社と標的視聴者とのインタフェースを提供する。このようなインタフェースの一例は、販売車両や特別販売促進企画、メーカのウェブ・サイトを訪れた人の最寄り販売店の所在地などを見込み客に知らせたい自動車メーカのウェブ・サイトであろう。他の企業としては、ワードプロセッシング・ソフトウェアや会計ソフトなどのアプリケーションにアクセスすることができるサイトなど、より複雑なウェブ・サイトを提供したいと考えている企業が考えられる。
【0003】
ウェブ・ホストによるこのようなウェブ・サイトの運営に必要なサービスとハードウェアの提供に頼ることによって、企業は、企業が使用する資源の運営の対価を支払うだけで済み、ウェブ・サイトを運営するのに必要と考えられるすべての資源を調達したり要員を配属したりする必要がない。サービスの運営をアウトソーシングすることでもたらされる効率向上により、必要資源の増加と共にウェブ・サイトでアプリケーションが運営されるケースが増えると考えられる。
【0004】
インターネット用のウェブ・サイトを運営するコンピュータの台数と処理能力は、ウェブ・サイトまたはアプリケーションの使用量と必要資源に合わせる必要がある。しかし、ウェブ・サイトやアプリケーションの人気は変化する可能性があるため、利用需要を正確に予測するのは困難である。競合ウェブ・サイトや製品の導入により、利用率の急激な低下が起こる可能性がある。ウェブ・サイトがアプリケーションを提供する場合、必要資源は期間需要によっても変化する。たとえば、インターネットを介して提供される会計アプリケーションの場合、SEC報告要件による期間会計の必要により、各四半期の期末近くに会計アプリケーションの需要が急激に増えると考えられる。
【0005】
したがって、ウェブ・サイトまたはアプリケーションの運営に使用されるコンピュータの台数を増減することによって、ウェブ・サイトの運営、特にアプリケーションの運営のために提供される資源の処理能力を可能な限り迅速に調整することができることが最も重要である。必要以上の数のコンピュータを備えるなど、アプリケーションの過剰運営は、あまり利用されないコンピュータを設けて稼働させる費用を生じさせる。需要を満たすのに必要な台数に満たないコンピュータを備えることによるアプリケーションの不十分な運営は、ウェブ・サイトまたはアプリケーションの利用者にとって応答速度の低下につながり、その結果、顧客に不満を抱かせることになる。
【0006】
したがって、ウェブ・ホストが、アプリケーションを運営するコンピュータの数を可能な限り迅速に増やすことができることが重要である。しかし、必要なソフトウェアのインストールは、必ずしも頻繁に繰り返される処理ではなく、しかもインストールの様々な段階で多くの手動介入を必要とする処理である。また、インストールする必要のある個々のソフトウェア・アプリケーションの数が多いと、確実にソフトウェアの現行バージョンのみがインストールされるようにするのにかなりの手間がかかる。
【0007】
したがって、コンピュータの迅速な構成を行うために、コンピュータの準備を整える必要がある場合に熟練した操作者が待機している必要がある。熟練操作者要員を確保しておくことは、要員の維持費用だけでなく、コンピュータを構成する必要性が低いときに要員を効率的に活用する費用もかかる。コンピュータ構成の必要は、必ずしも一定していないため、コンピュータ構成の必要性が熟練操作者が対応できないほど多い時期もあれば、熟練操作者があまり活用されない時期もある。したがって、対応可能な熟練操作者を制限するとウェブ運営に必要なコンピュータの構成が遅れる可能性があり、その結果、処理能力の問題を最小限に抑えるためにアプリケーションを過剰運営する傾向がある。
【発明の開示】
【発明が解決しようとする課題】
【0008】
したがって、本発明の目的は、操作者の関与を最小限にして、受信側コンピュータへのソフトウェアの順次インストールを可能にするシステムおよび方法を提供することである。本発明の他の目的は、ソフトウェアのインストールを中止させるイベントを操作者が突き止めるのを支援する、フィードバック・システムを組み込むことである。
【0009】
本発明の他の目的は、サーバをビルドする効率を向上させることである。このような向上は、操作者の関与の必要が最小限に抑えられ、受信側コンピュータへのソフトウェアのインストールに対応可能な訓練された要員を保持するための制約が緩和されるという点で、請求項のシステムおよびプロセスに固有のものである。また、本発明に固有なことは、インストール手続きの標準化が強化され、インストール・プロセスから人間による選択と誤りがなくなるため、後で問題が発生した場合の診断が容易になることである。
【課題を解決するための手段】
【0010】
本発明は、インストールに必要な操作者の介入を最小限にし、コンピュータに必要なソフトウェアをインストールするシステムおよび方法である。本システムは、操作者から所望の構成を受け取り、受信側コンピュータに入れるビルド・プランを生成し、ビルド・プランを実行してビルド・サーバから受信側コンピュータにソフトウェアをロードさせる。
【0011】
ビルド・プランは、個々のプログラムのためのインストール・ルーチンに対応するインストール・パッケージに従って、受信側コンピュータにソフトウェアをインストールする実行命令を含むことができる。
【0012】
ビルド・プランは、ベンダ提供のインストール・プログラムを順次実行する。インストール・プログラムは、ネットワーク接続を介して受信側コンピュータに接続されたビルド・ライブラリからロードまたはアクセスされる。ビルド・プランは、インストール・パッケージに細分することができ、各インストール・パッケージは、特定のソフトウェア構成要素のインストールを扱う。各インストール・パッケージは、標準化された共通定義に従ってフォーマットすることができ、共通定義はインストール・プログラムのための開始コマンドと、ソフトウェアのインストールに必要なパラメータとを指定する。これらのパラメータは、インストールによって生成されたパラメータが、次のソフトウェア・パッケージをインストールする前にオペレーティング・システムに反映されるように、完了時リブート・コマンドを含むことができる。
【0013】
また、ビルド・プランは、各インストール・パッケージの完了時にレコードがイベント・ログに書き込まれるようにし、それによって、ソフトウェアのインストールが失敗した場合に、最後に実行したインストール・パッケージを特定することにより、またはイベント・ログへの最後の記録によって、その失敗時点を判断することができるようにすることができる。これにより、パッケージをカウントするだけで、失敗時点でインストール中であったインストール・パッケージを特定することができ、インストール・エラーが修正された後は、当該箇所で自動ビルドを初期設定することができる。
【0014】
ビルド・プランの使用によって、ビルドの時点でビルド・ライブラリに入っているインストール・プログラムに基づいて、インストール済みのソフトウェア構成要素を特定することもでき、それによって、ビルド日付とビルド・ライブラリの構成とに基づいてレコードを作成し、特定の端末にソフトウェアのどのリビジョン・レベルがインストールされたかを特定することができる。これにより、後日、ソフトウェアの特定のリビジョン・レベルを使用して受信側コンピュータを特定するだけで自動更新を行うことができるようになる。
【0015】
単純な実施形態では、本発明のシステムは、ソフトウェア提供者によって提供されたインストール・プログラムが入ったビルド・ライブラリを含み、各インストール・プログラムは、受信側コンピュータにそれぞれ特定のソフトウェア・パッケージを構成し、インストールする。ビルド生成端末も設けることができる。ビルド生成端末は、受信側コンピュータにインストールしたいとして特定されたソフトウェアに基づいてビルド・プランを生成するビルド生成ソフトウェアを含むことができる。ビルド・ライブラリは、ソフトウェア・インストール・プログラムを含み、受信側コンピュータからローカル・ネットワークやインターネットなどのネットワーク接続を介してアクセス可能とすることができる。
【0016】
また、本発明は、受信側コンピュータにソフトウェアをインストールするためのシステムとしても実施され、受信側コンピュータは複数の場所に分散されている。ビルド・ライブラリは、複数の場所に備えることができ、それによって、ビルド・ライブラリから受信側コンピュータに転送する必要がある大量のデータを、インターネットのようなより低速の遠距離ネットワークを使用するのではなくローカルの高速ネットワークを介して転送することができる。
【0017】
ビルド・プランを生成するために少なくとも1つのビルド生成端末を設けることができる。ビルド・プランは、インストールするソフトウェア・パッケージを特定する命令のセットを含むことができる。このプランは、プログラムをインストールするのに必要なパラメータが格納されたインストール・データ・パッケージを参照することができる。このプランは、実行ファイルの形態をとるか、または受信側コンピュータのレジストリ・ファイルに挿入された一連のRun−once命令行であってもよい。インストールしたいソフトウェア・パッケージは、キーボードやモニタなどのインタフェースを介してビルド要求者がビルド生成端末に識別させることができる。別法として、ビルド生成端末はサーバとすることもでき、ビルド要求者がネットワークを介してビルド生成端末に接続し、受信側コンピュータにインストールしたいソフトウェアを特定することもできる。
【0018】
本発明の方法の単純な実施形態では、受信側コンピュータにインストールするソフトウェアを特定する情報をビルド要求者から受け取るステップと、特定されたソフトウェアを受信側コンピュータにインストールするためのビルド・プランを生成するステップと、受信側コンピュータにビルド・プランを転送するステップと、受信側コンピュータでビルド・プランを実行するステップとを含み、ビルド・プランの実行により、受信側コンピュータにビルド・ライブラリへのネットワーク接続を介してソフトウェアをインストールするのに必要なデータにアクセスするように指示する。
【0019】
本プロセスは、ソフトウェア提供者のソフトウェア・インストール・プログラムが、受信側コンピュータの認証を必要とするソフトウェアを受信側コンピュータに正しくインストールすることができるように、パスワードや証明などのセキュリティ手段を受信側コンピュータに与える必要があるか否かを判断する機能など、追加の機能も実施することができる。また、本プロセスは、ビルド・プランのセグメントの実行後にイベント・ログを記録させることもでき、それによって後でイベント・ログを調べ、ビルド・プランが適切に機能したか否かを判断することができ、適切に機能しなかった場合は、イベント・ログにインストール・イベントが記録されていないことによりどのソフトウェア・パッケージが正常にインストールされなかったかを判断することができるようにする。
【発明を実施するための最良の形態】
【0020】
図面では、同一の参照番号は同一の要素を示し、本発明によるプロセスおよびシステムが図示されている。
【0021】
図1には、受信側コンピュータ102を自動的にビルドする例示のシステム100が図示されている。このシステムは、ビルド・サーバ104と、ビルド生成プラットフォーム106と、受信側コンピュータ102とビルド・サーバ104とを接続する通信接続機構108と、ビルドを定義するビルド・プランとを含む。ビルド・プランは図1ではフロッピィ・ディスク上に実現されており、以下このディスクをビルド・ディスク110と呼ぶ。
【0022】
ビルド生成プラットフォーム106は、ビルド・プランを生成するビルド生成ソフトウェア112を含む。ビルド生成ソフトウェア112は、受信側コンピュータ102にソフトウェアをインストールさせたい人(図示せず)から所望のビルド定義を受け取る。このような人を以下、ビルド要求者と総称する。ビルド生成プラットフォームは、ビルド要求者が所望のビルドに関する情報をビルド生成プラットフォーム106に直接供給することができるようにする、モニタ114やキーボード116などのビルド要求者インタフェースも含む。所望のビルドに関するこの情報を、以下、ビルド定義と呼ぶ。ビルド定義は、所望のオペレーティング・システムの識別情報と、受信側コンピュータ102にインストールしたい特定のソフトウェア・アプリケーションまたはアプリケーションの更新版の識別情報を含むことができる。ビルド生成ソフトウェア112は、ビルド定義をビルド・プランに変換する。ビルド・プランは、受信側コンピュータが実行することができる実行ファイルを含むことができる。
【0023】
ビルド生成プラットフォーム106は、フロッピィ・ディスク・ドライブや書込み可能コンパクト・ディスク(以下CDと呼ぶ)ドライブなどの、書込み可能な取外し可能記憶装置118も含むことができる。書込み可能な取外し可能記憶装置118の目的は、ビルド・プランを生成し、可搬型記憶装置(ビルド・ディスク110など)に書き込み、受信側コンピュータ102に移すことができるようにすることである。書込み可能な取外し可能記憶装置118として選定する媒体は、受信側コンピュータ102を初期設定または「起動」するのに使用することができる、受信側コンピュータ102の装填可能記憶装置120に対応していることが好ましい。
【0024】
受信側コンピュータ102は、ソフトウェアをインストールしたいコンピュータである。受信側コンピュータは、アプリケーションを運営するために使用するサーバとすることもできるが、受信側コンピュータ102のエンド・ユーザは、所望のソフトウェアをインストールするためのビルド・プランをビルド生成ソフトウェア112が生成する能力によってのみ限定される。受信側コンピュータ102は、ネットワーク108に接続されたネットワーク・インタフェース109および111を介してビルド・サーバ104と通信する通信接続機構108を備えて、受信側コンピュータ102がビルド・サーバ104と通信してソフトウェアのインストールに関連するデータを受け取ることができるようにすることが好ましい。前述のように、受信側コンピュータ102は装填可能記憶装置120も備え、それによって、ビルド生成プラットフォーム106上で生成されたビルド・プランを受信側コンピュータ102に移送可能にすることができる。ハード・ドライブなどの記憶装置122も受信側コンピュータに備えることもでき、それにより、インストールされたソフトウェア構成要素124をその記憶装置にインストール可能になる。
【0025】
ビルド・サーバ104はビルド・ライブラリ126を含む。ビルド・ライブラリ126は、受信側コンピュータ102にソフトウェアをインストールするのに必要なソフトウェア・インストール構成要素を含むことができる。ソフトウェア・インストール構成要素は、一般には、コンピュータにソフトウェアをインストールする、ソフトウェア・ベンダのインストール・プログラムに付随するファイルである。
【0026】
受信側コンピュータ102とビルド・サーバ104との間の通信接続機構108は、転送する必要があるデータの特定の量と、ビルド・サーバ104と受信側コンピュータ102との間の地理的距離とに基づいて選定することが好ましい。ビルド・サーバ104と受信側コンピュータ102とを同じ場所に配置する場合には、単純なネットワークを使用してビルド・サーバ104と受信側コンピュータ102との間の通信を可能にすることができる。ビルド・サーバ104と受信側コンピュータ102とが同じ場所に配置されていない場合、インターネット接続を設けて、ビルド・サーバ104から受信側コンピュータ102にインターネットを介してデータを転送することができるようにしてもよい。インターネット・ネットワーク接続を使用するとデータ転送速度による制限を受けるが、この制限は、複数の遠隔場所にある受信側コンピュータ102をビルドするために単一の中央ビルド・サーバ104を設けたいという要望によって相殺される。ネットワーク接続は、通常のネットワーク技術を使用して行うことができる。このようなネットワーク接続の種類は、有線でも無線でもよいことは言うまでもない。
【0027】
ビルド・ディスク110として使用する可搬型記憶装置は、その記憶装置に記憶可能なデータ量だけでなく、可搬型記憶装置と、ビルド生成プラットフォーム106上の書込み可能ドライブと受信側コンピュータ102上の装填可能ドライブ120の両方との互換性とに基づいて選定することが好ましい。一般には、可搬型記憶装置は、3.5インチ・フロッピィ・ディスク・ドライブなど、コンピュータ上で容易に使用可能なフロッピィ・ディスクとすることができる。その他の可搬型記憶装置としては、ビルド生成プラットフォーム106と受信側コンピュータ102の両方に対応する、様々なフロッピィ・ディスク・ドライブ、書込み可能または書換え可能CDドライブ、アイオメガ製などのZipドライブ、テープ・ドライブ、取外し可能ハード・ドライブがあるが、これらには限定されない。あるいは、(後述するように)ビルド・プランをネットワークを介して受信側コンピュータに転送することもできる。
【0028】
図1では、ビルド生成プラットフォーム106とビルド・サーバ104は2つの別々のコンピュータとして図示されているが、これらの機能は、ビルド生成ソフトウェア112がインストールされ、ビルド・ライブラリ126およびネットワーク・インタフェース111を備えた単一のコンピュータによって実行することもできる。また、受信側コンピュータ102は、記憶装置122内に、イベント・ログ(図13に示す)を記憶するための空間を有することもできる。これはソフトウェア・インストールの成功または失敗を識別するための迅速なソースを与えるためにビルド・プランが実行される間に発生することができる。
【0029】
図2には、受信側コンピュータ102の自動ビルドを行う基本プロセスが図示されている。例示の実施形態について、マイクロソフトのWindows環境で説明する。したがって、ここではWindowsオペレーティング・システムに付随する規則を使用する。当業者には明らかなように、例示の実施形態はWindowsとは異なるオペレーティング・システムと共に使用するように実施することもできる。
【0030】
最初のステップで、ビルド要求者からビルド定義を受け取る(200)。次に、要求されたソフトウェア・プログラムに関連する事前定義済み情報に基づいて、受信側コンピュータのためのビルド・プランを生成する(202)。次に、ビルド・プランを受信側コンピュータ102に転送する(204)。その後、受信側コンピュータ102は、ビルド・プランを実行することができる(206)。ビルド・プランは、受信側コンピュータに対して、ソフトウェア・パッケージを順次ロードするように指示する。最後のソフトウェア・パッケージがインストールされた後は、受信側コンピュータはビルド・プランの実行の完了を検証することができる(208)。ビルド・プランが正常に実行された場合、ビルド要求者または他の人にビルド・プランの実行が成功したことが通知される(210)。ソフトウェア・パッケージをエラーなしでインストールすることに失敗した場合など、ビルドが正常に行われなかった場合、ビルドが正常に行われなかったことがビルド要求者に通知される(212)。最後に、ビルド・プランは終了することができる(214)。
【0031】
図3に示すように、プランの生成では、受信側コンピュータにインストールするソフトウェア構成要素を選択し(306)、複数の所定のインストール・パッケージをまとめてビルド・プランを形成する。まず、このプロセスでは、ビルド生成プログラムに関連する情報を更新して(302)、ビルドのために最新情報が確実に使用されるようにする。この更新は、ローカル・ビルド情報データベースをリモート・マスタ・ビルド情報データベースと同期させることによって、またはビルド・ライブラリ126からインストール可能なソフトウェアのベンダの順次照会を行うことによって行うことができる。オペレーティング・システムをインストールする場合は、そのオペレーティング・システムを選択することができる(304)。インストールするオペレーティング・システムとしては、たとえばWindows2000やWindowsNTなどがあるが、これらには限定されない。あるいは、オペレーティング・システムを選択して、インストールするソフトウェア・パッケージのためのオペレーティング・システム互換性を定義することもできる。オペレーティング・システムを特定した後は、受信側コンピュータにインストールしたいソフトウェアを選択することができる(306)。
【0032】
このような選択(306)を図4および図5に示す。図4には、選択されたオペレーティング・システムを定義する例示のビルド要求者インタフェースと、インストールする追加の構成要素を選択するボタンとが示されている。図5には、追加のソフトウェアを選択するための例示のビルド要求者インタフェースが図示されている。ビルド要求者がインストールしたいソフトウェアを選択すると、ビルド生成部が、選択されたソフトウェアをインストールするために必要なものとしてビルド・プランに組み込むための必要なインストール・パッケージを選定することができる(308)。
【0033】
また、受信側コンピュータ102を、ネットワーク接続を介して受信側コンピュータにソフトウェアをインストールするのに必要なデータにアクセスするように構成することも可能なため、図6に示すように、ネットワーク上での受信側コンピュータの識別情報を定義するのに必要な情報と、データにアクセスすることができる宛先アドレスも特定し(310)、受信側コンピュータ102に供給する必要がある場合がある。あるいは、宛先アドレスはビルド・プランの一要素として供給することもできる。受信側コンピュータ102を運営アプリケーションのホストとして構成する場合、ビルド・プランには受信側コンピュータのネットワーク用アドレスを定義する情報も含めることができる。このようなデータを定義するための例示のビルド要求者インタフェースを、図7に示す。
【0034】
図3に戻ると、ネットワークを介したソフトウェアのインストールには、受信側コンピュータ上に認証手段が存在しなければならない場合があるため、ビルド生成部は、受信側コンピュータに認証手段が存在する必要があるプログラムを認識し(312)、必要な認証手段を受信側コンピュータにインストールする命令をビルド・プランの実行可能部に追加する(313)。
【0035】
受信側コンピュータにインストールするソフトウェアが選択されると、ビルド・プラン生成部はビルド・プランを生成する。ビルド・プランは、実行可能部と、ソフトウェア・パッケージをインストールするためのパラメータを識別する少なくとも1つのインストール・データ・パッケージとを含むことができる。ビルド・プランの実行可能部は、選択された構成要素をインストールするように受信側コンピュータの準備を整え、ベンダ提供インストール・ルーチンの実行を指示することができる。したがって、ビルド・プランの実行可能部は、受信側コンピュータに付随するネットワーク特性と識別情報特性とを認識するようにカスタマイズする必要がある。あるいは、これらの特性は、ビルド・プランの実行可能部が参照することができるデータ・ファイルを設けることによって、ビルド・プランの実行可能部に提供することもできる。このデータ・ファイルを本明細書ではインストール・データ・パッケージと呼ぶ。
【0036】
本発明の一実施形態では、ビルド・プランはデータ・インストール・パッケージへの参照を含み、それによってインストール・プログラム・コマンド行の順次実行が行われるようにする。したがって、インストールすることができる各プログラムを、個々のインストール・データ・パッケージとして表す。さらに、依存関係が存在する場合はビルド生成ソフトウェアは、必要なソフトウェアが適切に機能するために追加のソフトウェア・サービスまたはプログラムをインストールする必要があるか否かを判断することができる。最後に、ビルド生成ソフトウェアは、正しいインストール順序が必要な場合には、インストール・データ・パッケージへの参照を順序づけることもできる。必要な追加のソフトウェア・サービスまたはプログラムと、必要な順序づけの識別は、要求可能ソフトウェア・パッケージの数を制限した所定の構成マトリックスによって判断するか、または各インストール・データ・パッケージに関連づけられた「先にインストール」リストを使用して行うことができる。「先にインストール」リストにより、必要なソフトウェア・プログラムをインストールする前にインストールする必要があるプログラムが識別され、したがって、要求されたプログラム内で先にインストールすべきプログラムとして識別されているすべてのプログラムを集めることによって、必要な構成要素のリストを決定することができる。同様に、「先にインストール」リストを使用して順序を決定し、先にインストールする必要があるすべてのプログラムまたはサービスが、要求されたプログラムの前に確実にインストールされるようにすることができる。
【0037】
ビルド・プランのための要素が蓄積した(316)後は、ビルド生成端末が、ビルド生成端末から受信側コンピュータに送るために、可搬型記憶装置にビルド・プランを書き込むことができる(318)。
【0038】
インストール・データ・パッケージは、図8に示すように、データ構造800に含めることができる。このデータ構造は、特定のソフトウェア・パッケージをインストールするのに参照するためにビルド・プランが参照することができるパラメータの構造体を提供する。各インストールに共通したデータ構造を使用することによって、ビルド・プランは、データ構造に含まれているパラメータに基づいてインストールを順次行うことができる。したがって、ビルド・プランの実行可能部は、現在使用可能なデータ構造からパラメータを読み取り、インストール手続き中に、受信側コンピュータのためにパラメータを命令と応答に変換することができる。
【0039】
ソフトウェア・パッケージをインストールするためのパラメータは、ソフトウェア・パッケージのインストールを開始するコマンド行命令802を含むことができる。このようなコマンド行は、ソフトウェアの作成者、製造業者、またはベンダが定義することができ、実行可能プログラムを実行させてソフトウェアをインストールすることができる。このデータ構造には、インストールに必要なデータを格納することができるディレクトリのパス804も含めることができる。その他のパラメータとしては、特定のインストール設定値などのインストール・ルーチン中に必要な入力などがある。これらのパラメータは、実行可能プログラムがアクセスしてインストール中の照会に対する必要な応答を判断することができるテキスト・ファイル806に含めることができる。最後に、このデータ構造には、ソフトウェア・パッケージのインストール完了時に受信側コンピュータを初期設定する必要があるか否かを識別するパラメータ808も含めることができる。例示のデータ構造では、0がインストール後にリブートすることを意味し、1がインストール後にコンピュータを初期設定する必要がないことを意味する。
【0040】
図8に示すデータ構造は、さらに、特定のソフトウェア・パッケージのインストールの前に他のどのソフトウェア・サービスを開始する必要があるかを、ビルド・プランの実行可能部のために定義するパラメータ812や、特定のソフトウェア・パッケージをインストールするにはその前に他のどのソフトウェア・サービスを完了させなければならないかを定義するパラメータ810も含めることができる。
【0041】
転送可能ビルド・プランは、インストールする合計パッケージ数の値など、ソフトウェアのインストールに必要な追加のパラメータや、各データ・パッケージが正常にインストールされた場合のそのデータ・パッケージのインストール完了時のエントリを入れることができるイベント・ログを記録する命令も含めることができる。
【0042】
図9に示すように、プランが作成されたビルド生成端末から受信側コンピュータへのビルド・プランの転送は、ビルド・プランを取外し可能ディスクに書き込み(902)、取外し可能ディスクを受信側コンピュータに渡し(904)、それによって、受信側コンピュータが起動時にプラン・ファイルを実行することができるようにすることによって容易に行うことができる。
【0043】
あるいは、図10に示すように、受信側コンピュータに、起動時に仮想記憶場所の作成を可能にする技法を組み込むこともできる。この技法により、受信側コンピュータは起動時に仮想記憶装置としてネットワーク・アドレスをマップすることができ、それによってネットワーク・アドレスに格納されているプラン・ファイルを受信側コンピュータ内で実行することができる。このプロセスは、受信側コンピュータを初期設定の前にネットワークに接続する必要があり、受信側コンピュータに仮想ドライブ・ハードウェアを設ける必要がある。起動時、仮想装置ハードウェアに対して、(仮想ドライブ・ハードウェア内の不揮発性メモリに記憶されている)事前に識別されたアドレスにネットワークを介して接続し、そのハードウェア自体を受信側コンピュータを表すものとして識別させ、受信側コンピュータにソフトウェアをインストールする際に使用するファイルにアクセスするように指示する必要がある。仮想ドライブには、ビルド・プランや、受信側コンピュータにソフトウェアをビルドすることができるようにするその他の情報を格納することができる。これには、ビルド・プラン、認証ファイル、特定のソフトウェア・パッケージのインストールに必要な特定のサービスまたはソフトウェアなどが含まれるが、これらには限定されない。
【0044】
図11に示すように、ビルド・プランの実行は、個別の数ステップを含む。まず、受信側コンピュータを起動する(1102)。これは、操作者が、受信側コンピュータの電源を投入することによって、または受信側コンピュータに対してリブートまたは再起動を指示することによって行うことができる。受信側コンピュータがネットワーク接続を介してコマンドを受け取ることができる場合、受信側コンピュータのビルドを担当するビルド要求者などがリブート・コマンドまたは再起動コマンドをリモートで発行することができる。
【0045】
受信側コンピュータが起動されると、受信側コンピュータでビルド・プランを始動させることができる(1104)。ビルド・プランの始動は、ビルド・プランに受信側コンピュータの起動ルーチン内の実行ファイルを実行させることによって自動化することができる。これは、たとえば、ビルド・プランをビルド・ディスクに.comファイルなどの形態で書き込み、起動ルーチン中に認識されるドライブにそのビルド・ディスクを挿入することによって行うことができる。マイクロソフトのWindowsの多くのバージョンなどのオペレーティング・システムには、コンピュータを最初に起動したときに特定のファイルにアクセスして、コンピュータを機能させるために稼働させる必要があるソフトウェア・プログラムを始動させるルーチンが含まれている。このようなプログラムにはオペレーティング・システム自体と、ネットワーク接続などのタスクのためのサービスが含まれる。この種のプログラムは、コンピュータの始動パスに入れ、それによって、コンピュータが最初に電源投入されたとき、または初期設定されたときに、始動パス内の実行ファイルを実行するようにすることによって始動される。ビルド・プランを始動パス内に入れることにより、受信側コンピュータが最初に初期設定されたときに受信側コンピュータにビルド・プランを実行させることができる。
【0046】
しかし、ソフトウェアをインストールする場合には、ソフトウェアのインストール中に稼働させているソフトウェア・プログラムを最小限にすることが好ましい。あるいは、通常は始動パスに含まれない特定のプログラムが必要な場合がある。ビルド・プランをブート可能ディスクとして作成することによって、受信側コンピュータを、予定のソフトウェア・インストールに必要なソフトウェア・サービスのみで初期設定することができる。必要なソフトウェア・パッケージは、受信側コンピュータを初期設定するときにも組み込むことができ、それによって受信側コンピュータをソフトウェアのインストールのための適切な構成状態にすることができる。
【0047】
ビルド・プランは、コンピュータが初期設定されると始動されるブート可能ディスクに格納することができるプログラムとすることができる。たとえば、ビルド・プランは、受信側コンピュータの初期設定時に、.comファイルなど、ブート可能ビルド・プラン・ディスクから自動的に実行可能なビルド・プラントすることができる。自動実行ファイルの実行順序はオペレーティング・システムによって定義されるため、使用する特定のオペレーティング・システムは使用する実行ファイルのタイプの判断に関係する場合がある。マイクロソフトWindowsを使用するシステムの場合、ビルド・プランを.comファイルとしてブート可能ディスクに格納することによって、受信側コンピュータにブート可能ディスクに記憶されているシステム構成をロードさせ、次に、ビルド・プランを実行させることができる。
【0048】
ビルド・プランを自動的に始動させる代替方法は、Windowsタイプのオペレーティング・システムが使用するレジストリにビルド・プランを格納することである。個々のパッケージのインストールを、Run−once命令行としてレジストリに挿入し、それにより、受信側コンピュータが初期設定されるときに、受信側コンピュータはレジストリ内のインストール命令を実行する。個々のインストール・パッケージ内のリブート命令を使用することによって、ソフトウェア・パッケージを適切にインストールする必要に応じてレジストリに基づき、一連のパッケージ・インストールが初期設定に割り込めるようにすることができる。受信側コンピュータは連続した初期設定のたびに直前に実行されたパッケージ命令を実行済み命令として読み取り、次の未実行パッケージ命令に進む。すべてのパッケージ命令が完了した後は、始動中、レジストリ内のパッケージ・インストール命令を無視することができる。
【0049】
また、レジストリ内のパッケージ・インストール命令の使用により、トラブルシューティング方法として、どのパッケージがインストールされているかを後で調べることもできる。レジストリ内でパッケージ・カウンタを実施し、パッケージが正常にインストールされるたびにインクリメントすることができる。これにより、パッケージ・カウンタをインストールするパッケージ数を定義する値と比較することによって、すべてのパッケージが正常にインストールされたか否かを迅速に確認することができる。
【0050】
受信側コンピュータでビルド・プランが始動すると、ビルド・プランによって、受信側コンピュータ上のファイルを始動または開くことにより、イベント・ログを作成することができる。このイベント・ログの目的は、ビルド・プランが、ビルド・プランの実行中に発生した特定のイベントを記録する日誌として使用することである。このイベント・ログを使用して、個々のソフトウェア・パッケージのインストールの成功または失敗や、ビルド・プランの実行中発生したエラーに関するメッセージを書き込むこともできる。また、イベント・ログを使用して、インストールするパッケージの数を識別する初期値やインストール済みのパッケージの数のカウンタとして機能する値など、ビルド・プランの実行中に使用する状態値またはフラグを記録することもできる。
【0051】
次に、ビルド・プランは、受信側コンピュータに所望のソフトウェアをインストールすることができるようにするのに必要なセキュリティ機能を始動させることができる。セキュリティのため、ビルド・サーバ上に格納されているデータの無許可の使用を防止する手段として受信側コンピュータで認証鍵を稼働させ、ビルド・サーバが受信側コンピュータにデータを転送することを許可されるようにする必要がある場合がある。認証ルーチンは、受信側コンピュータをビルド・サーバに識別される特定の許可とするか、または受信側コンピュータを、特定のソフトウェア・パッケージに付随するデータを受け取る資格があるものとして識別する、一連の特定の許可とすることができる。ビルド・プランが必要なセキュリティ機能を始動することができない場合、ビルド・プランはイベント・ログにエラー・メッセージを書き込んでシャットダウンしてもよい。
【0052】
必要なセキュリティ機能が正常に始動した場合(1106)、ビルド・プランは、次にインストールするパッケージを判断することによってソフトウェア・インストールを開始することができる(1108)。次にインストールするパッケージの判断は、現在パッケージ・カウンタ(以下PPCと呼ぶ)を参照する(1110)ことによって行うことができる。PPCの初期値は1である。したがって、ビルド・プランを最初に実行したときは、PPCの値は1になり、ビルド・プランは最初のデータ構造を読み取って(1112)、最初のパッケージをインストールするのに必要なコマンドとパラメータを入手する。ビルド・プランが最初のパッケージに必要なコマンドとパラメータ(プロセスの始動待機、セキュリティ規定または許可規定のインストール、インストール・コマンドの発行など)を実行(1114〜1120)した後は、ビルド・プランはこの特定のインストールの成功(1128)または失敗(1126)を示す項目をイベント・ログに書き込むことができる。この記録が行われると、PPCがインクリメントされ(1136)、データ構造が、この特定のソフトウェア・パッケージのインストール後にリブートする必要があることを示している場合はリブート・コマンドが実行される。
【0053】
必要なコマンドおよびパラメータの実行(1122)では、ビルド・プランがインストール・ルーチンの必要コマンド行命令を発行する。ビルド・プランは、インストール・データを取り出すことができるリモート・ディレクトリも識別することができる。リモート・ディレクトリの識別情報は、インストール・パッケージを定義するデータ構造に組み込むことができる。ソフトウェア・インストール・プログラムに供給する必要があるパラメータは、当該ソフトウェア・インストールに付随するパッケージ・インストール・データ構造の一部として識別されるテキスト・ファイルに従って、キーボード入力をエミュレートすることによって供給することができる。
【0054】
PPCは、リブートする場合はその前にインクリメントしてファイルに書き込む必要がある。これにより、ビルド・プランは、ビルド・プランがリブート後に再起動するときに正しいPPC値を参照することができるようになる。インクリメントされた値が記憶されている限り、ビルド・プランは、次にインストールすべきパッケージを指すPPCを参照することができる。
【0055】
また、ビルド・プランは、ビルド・プランによってインストールされるべき合計パッケージ数を識別する最終パッケージ値(以下「LPV」と呼ぶ)を備えることもできる。PPCをインクリメントする前に、ビルド・プランはPPC値がLPVと等しいか否かを判断する(1132)。PPCが等しい場合、ビルド・プランは、テンポラリ・ファイルの削除、ビルド・プランの実行にのみ必要なソフトウェア・サービスの除去など、システムの最終クリーンアップを行う(1134)。最終クリーンアップ1134が完了すると、ビルド・プランは受信側コンピュータの付近にいる操作者に対し、ブート可能ディスクを取り外し、コンピュータを再起動し、プロセスを終了(1138)するように通知する命令を実行する。
【0056】
ディスク・イメージ・ディスクを使用したビルド
本発明を実施する代替実施形態の方法では、ディスク・イメージを使用して受信側コンピュータ102への初期ソフトウェア・インストールを行うことができる。ディスク・イメージには、インストールなしで実行可能な形態で、またはインストール要件を低減して、受信側コンピュータの記憶装置にコピーすることができる基本ソフトウェアを記憶することができる。ディスク・イメージ・データは、受信側コンピュータ102の記憶装置122に直接コピーすることができるオペレーティング・システムを含むことができる。
【0057】
たとえば、オペレーティング・システムの特定の構成を希望する場合、実行可能オペレーティング・システムを受信側コンピュータの記憶装置に直接コピーすることができる。ディスク・イメージは、フロッピィ・ディスクまたはCD−ROMディスクなどの取外し可能記憶装置とすることができる。一般には、コンピュータは、ドライブを所定の順序で調べてオペレーティング・ソフトウェアを識別する。この順序は、最初にフロッピィ・ディスク・ドライブ、次にCD−ROMドライブ、その後に内蔵ハード・ドライブ・パーティションなどの主固定ディスクの順としてもよい。このようなパスにディスク・イメージ・ディスクを入れることによって、ディスク・イメージが受信側コンピュータに自動的に転送される。
【0058】
図12に示すように、ディスク・イメージを使用したアプリケーション・ホスト・コンピュータまたはサーバのビルドは、まず、ビルド用のディスク・イメージを生成または入手することによって行うことができる(1202)。次に、図3を参照しながら述べたプロセスに従ってビルド・プランを生成する(1204)。次に、ディスク・イメージが記憶されているディスク・イメージ・ディスクを受信側コンピュータ102に挿入し(1206)、受信側コンピュータを初期設定する。挿入されたディスク・イメージ・ディスクによって受信側コンピュータが初期設定されると、ディスク・イメージ・ディスク上の実行ファイルが、受信側コンピュータに対して、ディスク・イメージ・ディスクに記憶されているソフトウェア・データを受信側コンピュータの記憶装置に転送するように指示する。このようなデータが転送されると、受信側コンピュータは、ディスク・イメージ・データが受信側コンピュータ102に正常に転送されたことをシステム操作者に通知することができる。
【0059】
次に、受信側コンピュータは、ディスク・イメージ・ディスクを取り外させて、受信側コンピュータの準備をさらに整えるのを妨害されないようにする。その後、受信側コンピュータにビルド・ディスクを挿入して、受信側コンピュータを再初期設定し、リブートし、再起動することによって、ビルド・プロセスを開始することができる(1212)。受信側コンピュータにオペレーティング・システムが転送された場合、起動時に実行されるプログラムのディレクトリにビルド・プランを実行ファイルとして組み込むことによって、ビルド・ディスク上のビルド・プランの実行が開始される(1212)。ビルド・プランが開始されると(1212)、ビルド・プランは前述のように機能して、最後のパッケージがインストールされるまでパッケージのインストールを繰り返した後、システム管理者用にビルド・レポートを生成する。
【0060】
ディスク・イメージ・ディスクを使用する場合、ビルド・プランの実行の前に操作者の介入をより多く必要とする。具体的には、まずディスク・イメージ・ディスクを装填し、次にビルド・プラン・ディスクを装填する際に、操作者が介入する。しかし、ディスク・イメージの使用により、システム管理者は、受信側コンピュータのビルドの基礎となるオペレーティング・システムなど、特別に適合化された構成要素を使用することができる。
【0061】
ディスク・イメージとビルド・ディスクを使用して受信側コンピュータをビルドするシステムを、図13に示す。ビルド・プランを転送するために使用する書込み可能な取外し可能記憶装置118がディスク・イメージに必要な情報を記憶するのに十分な場合、その記憶装置118をディスク・イメージ・ディスクを作成するためにも使用することができる。生成コンピュータは、ディスク・イメージ生成ソフトウェアまたはゴースト情報1304とビルド・プラン生成ソフトウェア1306とビルド・ライブラリ1308とを含む、単一のビルド生成サーバ1302として図示されているが、前述のように、個々の機能を単一のコンピュータで実行することも、複数の機能を実行する複数のコンピュータおよび/または個別の機能を実行する複数のコンピュータの組合せで実行することもできる。
【0062】
図のように、生成コンピュータは、ディスク・イメージ生成ソフトウェア1310とディスク・イメージ生成ハードウェア1312とを有する。ディスク・イメージがCD−ROMの場合、ディスク・イメージ生成ハードウェア1312は書換え可能CDドライブとすることができるが、書換え可能CDドライブは、図のように、生成コンピュータからは遠隔の、受信側コンピュータの付近に配置することもできる。書換え可能CDドライブ1314を遠隔に配置すると、受信側コンピュータ102の近くでディスク・イメージを形成することができるという利点があるが、ディスク・イメージ情報をネットワーク接続1316を介して転送する必要があるという欠点がある。
【0063】
地理的に分散した受信側コンピュータ設置場所
ネットワークを介したデータの転送に関するパフォーマンス上の無視できない利点は、送信元コンピュータと宛先コンピュータとの間の地理的距離を短縮した場合に存在する。したがって、ウェブ運営サービス業者は、サーバの応答時間を可能な限り高速に維持することができるように、ウェブ・サーバを分散した場所に配置したいと考える場合がある。たとえば、ウェブ運営サービス業者は、ウェブ・サーバを米国東海岸の場所と、米国西海岸の場所と、ヨーロッパの場所とに設けることができる。その場合、各場所のウェブ・サーバは、サーバが配置されている場所の近くにある企業のためウェブ・サイトやアプリケーションを運営するために設けられる。ウェブ・サーバは様々な場所に配置することができるが、各設備で冗長なサービスを提供する必要を最小限にすることにもウェブ運営サービス業者にとっての利益が残されている。したがって、ウェブ・ホストが、受信側コンピュータから離れた中央設置場所からサーバをビルドすることができれば、ウェブ・ホストはビルド要求者の数を管理することができ、ウェブ・ホスト提供者にとって効率的になる。
【0064】
図14に示すように、本発明は、ウェブ・ホスト提供者(図示せず)が限定された数の場所にビルド要求者を置くことができるようにすると同時に、同じビルド要求者が様々な分散場所におけるソフトウェア・インストールを制御することができるようにするシステムにも適合させることができる。受信側ホストの近くにビルド・サーバ1402a、b、...を配置することによって、ソフトウェア・インストール・プログラムに必要な大量のデータを受信側コンピュータ1404a、b、...の近くに配置することができると同時に、ビルド生成端末1406a、b、...は一カ所または複数箇所の中央設置場所にのみ配置するだけで済み、それによって、ビルド要求者を可能な限り効率的に利用することができる。あるいは、ビルド生成端末1406をサーバとして使用することもでき、その場合、ビルド要求者はインターネット機器1408(パーソナル・コンピュータ、ボックス・トップ・コンバータなど、インターネットにアクセスする任意の手段)からインターネット1410を介してビルド生成端末1406に接続する。
【0065】
図14に示すシステムは、中央ビルド情報サーバも維持することができるようにする。中央ビルド情報サーバ1412は、ビルド生成端末1406で使用される情報を、一カ所で管理可能にすることができる。時間の経過と共に、特定のソフトウェア・パッケージ用のデータ定義パラメータおよびインストール命令が陳腐化することがある。たとえば、ソフトウェア製品の新しいバージョンまたはサービス・パックが発売されることがある。新バージョンのインストールのためのパラメータは、前のバージョンと異なる場合があり、各ビルド生成端末が使用するデータを更新して新しい改訂版情報を反映させる必要が生じることがある。各インストール・パッケージを定義するデータが分散方式で記憶されている場合、すなわち、各ビルド生成端末1406a、b...に記憶されている場合、ソフトウェアを更新する作業は厄介な作業になることがある。ビルド情報をビルド情報サーバ1412に集中させることにより、ソフトウェア・パッケージ情報の更新を、単一のビルド情報サーバ1412のみを更新し、個々のビルド情報ライブラリ1406a、b、...にビルド情報データベース1414に格納されているデータを参照またはミラリングさせることによって行うことができる。
【0066】
代替実施形態では、ビルド・プランの生成に必要な処理は、ビルド要求者(図示せず)に関連づけられたウェブ対応ブラウザに分散することができる。このような実施形態では、ビルド生成ソフトウェアをインターネットを介してビルド要求者のインターネット機器に転送することができ、それによって、要求者は自分のデスクでビルド・プランを生成することができる。この実施形態では、ビルド情報は、1つまたは複数の中央ビルド情報ライブラリで維持するか、またはビルド要求者がビルド生成ソフトウェアをビルド要求者のインターネット機器に転送したときにビルド要求者のコンピュータに複写することができる。確実にビルド生成ソフトウェアおよびビルド情報の最新バージョンのみが使用されるようにするために、ビルド要求者はビルド要求ウェブ・サイトにアクセスし、ビルド要求ウェブ・サイトが、ビルド要求者のインターネット機器でビルド生成ソフトウェアがJavaやActiveXなどのアプレットの形で実行されるようにすることができる。ビルド要求者に対して、ビルド生成ウェブ・サーバへの各接続でアプレットをリロードするように要求することによって、ビルド生成ソフトウェア自体を制御し、最新バージョンのみが使用されるように保証することができると同時に、ビルド・プランを生成するのに必要な実際の処理を分散させることができる。
【0067】
図14に示すように、ビルド生成端末1406a、b、...は、2カ所以上の場所1416a、b、...に配置することができる。これらのビルド生成端末1406a、b、...はインターネット1410などを介してビルド情報サーバ1412に通信可能に接続されるが、直接ダイヤルアップなどの他の通信経路も使用可能である。ビルド情報サーバ1410は、ビルド生成端末1406aと同じ場所に配置することができるが、これは本発明の実施にとって必須ではない。図中でAないしFの文字が付された受信側コンピュータなど、異なる場所にある受信側コンピュータ1404が、受信側コンピュータ1404が配置されている異なる場所に配置されたビルド・サーバ1402に通信可能に接続されている。受信側コンピュータ1404と対応するビルド・サーバ1402との間でインターネット1410に頼らずにデータ転送を行うことができるように、ビルド・サーバ1402a、b、...は同じ場所に配置された受信側コンピュータ1404にバックエンド・ネットワーク1418を介して接続することができる。このような転送にバックエンド・ネットワーク1418を使用することにより、ビルド・サーバ1402上のデータのセキュリティをより容易に保護することができると同時に、データ転送に高速のネットワークを使用することができる。各ビルド・サーバ1402および受信側コンピュータ1404は、このバックエンド・ネットワークとの通信のためのネットワーク・インタフェース1420を有することができる。
【0068】
受信側コンピュータは、受信側コンピュータが、ビルド生成端末と直接通信することができるようにしたり、ウェブ・サイト・ホストとして機能することができるようにする、インターネット・インタフェース1422も有することができる。あるいは、受信側コンピュータは、ローカルのビルド・サーバとインターネット・インタフェースを介して接続され、次に、受信側コンピュータとバックエンド・ネットワークを介して接続される間接接続とすることもできる。受信側コンピュータ1404上の仮想ドライブ1424を使用することによって、受信側コンピュータはインターネット1410を介して転送されたビルド・プランを受け取ることができ、設置場所5の要求者は受信側コンピュータ1404の電源を投入して受信側コンピュータ1404上でビルド・プランが稼働可能になるようにするだけで済む。
【0069】
あるいは、各ビルド・サーバ1402は、さらに、インターネット・インタフェース(図示せず)と書込み可能な取外し可能記憶ドライブ(図示せず)とを備えることができ、それによって、インターネットを介してビルド生成端末1406からビルド・サーバ1402にビルド・プランを転送し、ビルド・サーバ1402の取外し可能記憶装置に書き込み、受信側コンピュータ1404に転送することができる。これにより、図13を参照しながら前述したように受信側コンピュータ1404をビルドすることができる。
【0070】
追跡機能の構成
ビルド・プランの使用により、受信側コンピュータにどのようなソフトウェアがインストールされたか、さらに重要なことには、インストールにソフトウェアのどのバージョンが使用されたかを示す、記録を作成することができる。各ソフトウェア・パッケージのバージョン番号を組み込むことにより、ビルド・プランをアーカイブし、ソフトウェア・インストールの記録として使用することができ、それにより、ビルド・プランを調べて特定の受信側コンピュータにソフトウェア・インストールのバージョンを判断することができる。
【0071】
また、上述のビルド・プランは、新規コンピュータへのソフトウェアのインストールを対象としているが、本発明はこれに限定されない。追加するプログラムと、インストール・プログラム(「先にインストール」プログラム)に必要なもののみを特定するビルド・プランを生成することによって、前のビルドにソフトウェア・プログラムを追加するためのビルド・プランを生成することができる。同様に、ソフトウェア提供者提供のインストール・プログラムの実行を必要とするサービス・パッチ、更新、およびその他の処置を、ビルド・プランを使用し受信側コンピュータにインストールすることができる。具体的には、単一のRun−once命令パッケージ参照から成るビルド・プランをコンピュータのレジストリに挿入して、受信側コンピュータを次に起動したときに更新が実行されるようにする。
【0072】
以上の説明から明らかなように、本発明は、本発明の趣旨または本質的特性から逸脱することなく、他の特定の形態で実施することもできる。本発明は、本プロセスの自動化の恩恵を受ける十分なコンピュータを特定の構成に構成する必要がある多くの応用分野で使用することができる。したがって、本発明の範囲を示すものとしては、上述の明細ではなく、特許請求の範囲を参照すべきである。
【図面の簡単な説明】
【0073】
【図1】本発明による、コンピュータを自動的にビルドする単純なシステムを示す図である。
【図2】本発明の基本的な方法を示すプロセス・フローチャートである。
【図3】ビルド・プランを生成するプロセス・フローチャートである。
【図4】ビルド生成端末に所望のオペレーティング・システムおよびその他のパラメータを識別させるインタフェースの例を示す図である。
【図5】受信側コンピュータにインストールする所望のソフトウェア・パッケージを特定するためのインタフェースの例を示す図である。
【図6】ビルド生成者に受信側コンピュータ識別情報を提供するインタフェースの例を示す図である。
【図7】ビルド生成者にネットワーク情報を提供するインタフェースの例を示す図である。
【図8】操作者の介入なしにソフトウェアをインストールするのに必要なコマンド、条件、およびパラメータを供給するためのデータ構造の例を示す図である。
【図9】ビルド生成端末から受信側コンピュータにビルド・プランを転送する単純なステップを示す図である。
【図10】ビルド・プランを転送するために受信側コンピュータ上で仮想ドライブを使用する際のステップを示す図である。
【図11A】受信側コンピュータ上でビルド・プランを実行するプロセスを示す図である。
【図11B】受信側コンピュータ上でビルド・プランを実行するプロセスを示す図である。
【図12】受信側コンピュータ上でインストール済みソフトウェアの一部を作成するために、ディスク・イメージ・ディスクを使用して受信側コンピュータにデータをインストールするプロセスを示す図である。
【図13】ビルド・コンピュータと共に配置された書込み可能な取外し可能記憶装置を使用すると共に、ビルド・サーバと一体化されたビルド生成端末を使用して、受信側コンピュータをビルドするシステムを示す図である。
【図14】様々な物理的な場所に配置された複数の受信側コンピュータをビルドする、本発明によるシステムを示す図である。
Claims (87)
- 受信側コンピュータにソフトウェアをインストールするシステムであって、
コンピュータに特定のソフトウェア・パッケージをインストールするための少なくとも1つのベンダ提供インストール・プログラムを含むビルド・ライブラリと、
受信側コンピュータで実行されると、前記少なくとも1つのインストール・プログラムを使用して受信側コンピュータにソフトウェアがインストールされるようにするビルド・プランを生成するビルド生成ソフトウェアを有するビルド生成端末とを含み、
前記ビルド・ライブラリは受信側コンピュータがネットワークを介してアクセス可能であるシステム。 - 前記ネットワークがインターネットである、請求項1に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ビルド生成端末で生成されたビルド・プランを受信側コンピュータに転送するビルド・プラン転送手段をさらに含む、請求項1に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記転送手段は、前記ビルド生成端末に関連づけられたビルド・プラン転送装置を含む、請求項3に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ビルド・プラン転送装置は、書込み可能な取外し可能記憶装置である、請求項4に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記書込み可能な取外し可能記憶装置がフロッピィ・ディスク・ドライブである、請求項5に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ビルド・プラン転送装置が書込み可能コンパクト・ディスク・ドライブである、請求項4に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記転送手段が、前記ビルド生成端末に関連づけられたネットワーク・インタフェースを含み、前記ネットワーク・インタフェースは前記ビルド生成端末をネットワークに通信可能に接続し、前記ネットワークは受信側コンピュータがアクセス可能である、請求項3に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ビルド生成端末がさらに、受信側コンピュータで実行されると少なくとも1つのセキュリティ機能を受信側コンピュータに設けさせるビルド・プランを生成する、請求項1に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記少なくとも1つのセキュリティ機能は証明ファイルを含む、請求項9に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ビルド生成端末により生成されたビルド・プランが少なくとも1つのプログラム・インストール・コマンドを含み、前記プログラム・インストール・コマンドが、ソフトウェア・インストール・データ・パッケージに格納されたパラメータに従ってコンピュータ・プログラムを受信側コンピュータにインストールさせる、請求項1に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ソフトウェア・インストール・データ・パッケージが、前記ソフトウェア・インストール・データ・パッケージに関連づけられたコンピュータ・プログラムのインストールの完了時に前記受信側コンピュータを初期設定するべきか否かを識別するパラメータを含む、請求項11に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ソフトウェア・インストール・データ・パッケージがテキスト・ファイルを識別するデータ・フィールドを含み、前記テキスト・ファイルが前記ソフトウェア・インストール・プログラムによって生成された照会に応答してソフトウェア・インストール・プログラムに供給する必要があるデータを識別する、請求項11に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ソフトウェア・インストール・データ・パッケージが、前記ソフトウェア・インストール・データ・パッケージに関連づけられたソフトウェア・インストール・プログラムが受信側コンピュータで正常に実行されるために受信側コンピュータ上で稼働している必要があるプログラムを識別するデータ・フィールドを含む、請求項11に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ソフトウェア・インストール・データ・パッケージが、前記ソフトウェア・インストール・パッケージ・データに関連づけられたソフトウェア・インストール・プログラムが受信側コンピュータで正常に実行されるために受信側コンピュータで稼働させることができないプログラムを識別するデータ・フィールドを含む、請求項11に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 受信側コンピュータにソフトウェアをインストールするシステムであって、
ビルド生成ソフトウェアと受信側コンピュータにビルド・プランを転送するためのビルド・プラン転送装置とを含むビルド生成部と、
インストール可能ソフトウェアのライブラリと、ビルド・サーバと受信側コンピュータとの間の通信を可能にするインタフェースとを含むビルド・サーバとを含み、
前記ビルド生成部はビルド・プランを生成し、前記ビルド・プランは受信側コンピュータで実行されるとインストール可能ソフトウェアが前記受信側コンピュータにインストールされるようにするシステム。 - 前記ビルド生成部が入力装置をさらに含み、前記入力装置は受信側コンピュータにインストールしたいインストール可能ソフトウェアを識別する情報をビルド要求者から受け取る、請求項16に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記入力装置が前記ビルド生成部に接続されたモニタとキーボードとを含む、請求項17に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記入力装置がインターネット接続を介して前記ビルド生成部に接続されたインターネット機器を含む、請求項17に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ビルド・プラン転送装置が書込み可能な取外し可能記憶装置を含み、前記書込み可能な取外し可能ドライブは可搬型記憶装置上にビルド・プランを記憶する、請求項16に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記書込み可能な取外し可能記憶ドライブは、前記ビルド生成端末から遠隔に配置され、前記書込み可能な取外し可能記憶装置は前記ビルド生成部と通信する、請求項16に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ビルド生成端末と前記ビルド・サーバとが単一のコンピュータ上で一体化されている、請求項16に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ビルド生成部がビルド情報データベースをさらに含み、前記ビルド情報データベースが受信側コンピュータにソフトウェアをインストールするためのソフトウェア・インストール・データ・パッケージ定義を含む、請求項16に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ビルド生成部がビルド・プランを生成し、前記ビルド・プランがレジストリに挿入可能な少なくとも1つの命令を含む、請求項16に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ビルド生成部がビルド・プランを生成し、前記ビルド・プランが実行ファイルを含み、前記実行ファイルが受信側コンピュータの起動時に自動的に実行可能である、請求項16に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ビルド生成部によって生成される前記実行ファイルが受信側コンピュータに少なくとも1つのセキュリティ機能をインストールする命令をさらに含む、請求項25に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ビルド生成部によって生成される前記実行ファイルが、ネットワークのために前記受信側コンピュータを識別する情報をさらに含む、請求項25に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ビルド生成部によって生成される前記実行ファイルが、ビルド・ライブラリへの通信経路を識別する情報をさらに含む、請求項25に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ビルド生成部がビルド・プランを生成し、前記ビルド・プランが少なくとも1つのインストール命令を含み、前記インストール命令がソフトウェア・パッケージをインストールするための事前定義済みパラメータ・リストを使用し、前記事前定義済みパラメータ・リストは、ソフトウェア・インストール・プログラムのためのインストール・コマンドを識別する情報と、インストール・プログラムの実行の完了時に受信側コンピュータを再起動するべきか否かを示す情報とを含む、請求項16に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記事前定義済みパラメータ・リストがテキスト・ファイルを識別する値をさらに含み、前記テキスト・ファイルが受信側コンピュータへのソフトウェアのインストール時に必要な応答を含む、請求項29に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- インストール・プログラムが受信側コンピュータにソフトウェアを正常にインストールすることができるにはその前に受信側コンピュータ上で追加のプログラムが稼働していなければならないか否かを示す値を、前記事前定義済みパラメータ・リストがさらに含む、請求項29に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- インストール・プログラムが受信側コンピュータにソフトウェアを正常にインストールすることができるにはその前に受信側コンピュータ上で稼働している必要があるソフトウェア・サービスを識別する値を、前記事前定義済みパラメータ・リストがさらに含む、請求項29に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- インストール・プログラムが受信側コンピュータにソフトウェアを正常にインストールすることができるにはその前に受信側コンピュータ上で他のソフトウェア・サービスが稼働していることができないかどうかを示す値を、前記事前定義済みパラメータ・リストがさらに含む、請求項29に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- インストール・プログラムが受信側コンピュータにソフトウェアを正常にインストールすることができるにはその前に受信側コンピュータ上で稼働していることができないプログラムを示す識別情報を、前記事前定義済みパラメータ・リストがさらに含む、請求項29に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 受信側コンピュータにソフトウェアをインストールするシステムであって、前記受信側コンピュータが複数の場所に分散され、前記システムは、
ネットワークを介した少なくとも1つのビルド・ライブラリ・受信側コンピュータと、
受信側コンピュータにインストールしたいソフトウェアを識別する情報に応答してビルド・プランを生成するビルド生成ソフトウェアを含む少なくとも1つのビルド生成端末とを含み、
前記ビルド・プランは少なくとも1つのインストール命令を含み、前記インストール命令は受信側コンピュータにインストールするソフトウェア・パッケージを識別し、前記インストール命令は標準化されたインストール・データ・パッケージ定義を使用し、前記標準化されたインストール・データ・パッケージ定義は、複数のソフトウェア・パッケージ・インストール・パラメータを定義することができるシステム。 - 複数のビルド・ライブラリをさらに含み、前記ビルド・ライブラリのうちの少なくとも1つのビルド・ライブラリが、受信側コンピュータにソフトウェアをインストールする前記複数の場所のそれぞれと同じ場所に配置された、請求項35に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記少なくとも1つのビルド生成端末は、前記ビルド生成端末によって生成されたビルド・プランを受信側コンピュータに転送するビルド・プラン転送手段をさらに含む、請求項36に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ビルド・ライブラリが、前記ビルド・ライブラリを前記ビルド生成端末に接続するインターネット・インタフェースをさらに含み、前記ビルド・プラン転送手段がビルド転送装置を含み、前記転送装置が受信側コンピュータへの転送のための有形媒体上にビルド・プランを実現する、請求項37に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記ビルド・ライブラリが、前記ビルド・ライブラリを前記ビルド生成端末に接続するインターネット・インタフェースをさらに含み、前記ビルド・プラン転送手段がネットワークを含み、前記ネットワークは受信側コンピュータがアクセス可能である、請求項37に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記少なくとも1つのビルド生成端末が、ビルド要求者から所望のビルド情報を受け取るインタフェースをさらに含む、請求項35に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 所望のビルド情報を受け取る前記インタフェースがインターネット・インタフェースを含み、前記インターネット・インタフェースがインターネットに接続された、請求項40に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 少なくとも2カ所の場所に分散された受信側コンピュータにソフトウェアをインストールするシステムであって、
少なくとも2つの場所に分散されたビルド・ライブラリであって、前記ビルド・ライブラリと同じ場所に配置された受信側コンピュータがアクセスすることができるネットワーク・インタフェースを含む少なくとも2つのビルド・ライブラリと、
受信側コンピュータにインストールしたいソフトウェアを識別する情報に従ってビルド・プランを生成し、受信側コンピュータにインストールしたいソフトウェアを識別する情報をビルド要求者インタフェースを介して受け取り、受信側コンピュータがアクセスすることができるネットワークに通信可能に接続された、少なくとも1つのビルド生成端末とを含むシステム。 - 前記ビルド要求者インタフェースがビルド要求表示とインターネット・インタフェースとを生成するソフトウェアを含み、前記ビルド要求表示が受信側コンピュータにインストールしたいソフトウェアを特定するようにビルド要求者に促し、前記インターネット・インタフェースがインターネットを介して遠隔に位置するビルド要求者に前記ビルド要求を伝達する、請求項42に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 前記少なくとも1つのビルド生成端末が、ビルド情報データベースをさらに含み、前記ビルド情報データベースが前記少なくとも2つのビルド・ライブラリからインストールのために使用可能なソフトウェアに関連づけられたインストール・データ・パッケージを含み、前記インストール・データ・パッケージが前記ビルド・ライブラリに格納されたインストール・プログラムに関連づけられたパラメータを識別する、請求項42に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 各ビルド・ライブラリに関連づけられた少なくとも1つの受信側コンピュータをさらに含み、各受信側コンピュータが前記関連づけられたビルド・ライブラリにネットワークを介して通信可能に接続された、請求項42に記載の受信側コンピュータにソフトウェアをインストールするシステム。
- 受信側コンピュータにソフトウェアをインストールする方法であって、
受信側コンピュータにインストールするソフトウェアを識別する情報をビルド要求者から受け取るステップと、
識別された前記ソフトウェアを前記受信側コンピュータにインストールするためのビルド・プランを生成するステップと、
前記ビルド・プランを前記受信側コンピュータに転送するステップと、
前記受信側コンピュータ上で前記ビルド・プランを実行するステップとを含み、前記受信側コンピュータが、ソフトウェアのインストールに必要なデータにビルド・ライブラリへのネットワーク接続を介してアクセスする方法。 - ビルド・プランを生成する前記ステップが実行ファイルを作成するステップを含み、前記実行ファイルが、受信側コンピュータ上でインストール・プログラムを実行する少なくとも1つのコマンドを含む、請求項46に記載の受信側コンピュータにソフトウェアをインストールする方法。
- ビルド・プランを生成する前記ステップが、インストール・プログラムを正常に実行するために受信側コンピュータにセキュリティ機能が存在する必要があるか否かを判断し、セキュリティ機能が必要な場合は、受信側コンピュータ上に必要なセキュリティ機能をインストールする命令をビルド・プランに追加するステップをさらに含む、請求項47に記載の受信側コンピュータにソフトウェアをインストールする方法。
- 生成された前記ビルド・プランが実行ファイルを含み、前記実行ファイルは、受信側コンピュータにインストールされると、前記受信側コンピュータが再起動されたときに自動的に実行される、請求項46に記載の受信側コンピュータにソフトウェアをインストールする方法。
- 前記実行ファイルが複数のコマンド行を含み、各前記コマンド行が、インストール・データ・パッケージに含まれた情報に従って受信側コンピュータ上でソフトウェア・インストール・プログラムを実行させる、請求項49に記載の受信側コンピュータにソフトウェアをインストールする方法。
- 各インストール・パッケージが、インストールを行いたいインストール・プログラムに関連づけられたインストール・コマンドを含む、請求項50記載の受信側コンピュータにソフトウェアをインストールする方法。
- 各インストール・パッケージが、インストール・プログラムの実行の完了時に受信側コンピュータを再起動するべきか否かを示す値をさらに含む、請求項51に記載の受信側コンピュータにソフトウェアをインストールする方法。
- 各インストール・データ・パッケージがさらにテキスト・ファイルを識別し、前記テキスト・ファイルがインストール・プログラムの実行中に前記インストール・プログラムからの照会に対して応答を与える、請求項51に記載の受信側コンピュータにソフトウェアをインストールする方法。
- 各データ・パッケージが、前記インストール・データ・パッケージに関連づけられたインストール・プログラムが正常に実行されるために受信側コンピュータで稼働している必要があるプログラムを識別するフィールドをさらに含む、請求項51に記載の受信側コンピュータにソフトウェアをインストールする方法。
- 各データ・パッケージが、前記インストール・データ・パッケージに関連づけられたインストール・プログラムが正常に実行されるには受信側コンピュータで稼働していることができないプログラムを識別するフィールドをさらに含む、請求項51に記載の受信側コンピュータにソフトウェアをインストールする方法。
- 生成された前記ビルド・プランが、受信側コンピュータの起動時に少なくとも2つのRun−once命令が順次実行されるようにレジストリ・ファイルに挿入可能な少なくとも2つのRun−once命令から成るセットを含み、前記Run−once命令が前記受信側コンピュータのレジストに挿入されている、請求項46に記載の受信側コンピュータにソフトウェアをインストールする方法。
- 前記少なくとも2つのRun−once命令が、少なくとも2つのソフトウェア・インストール・プログラムが、前記インストール・プログラムに関連づけられたインストール・データ・パッケージ内で識別されたパラメータのセットに従って実行されるようにする、請求項56に記載の受信側コンピュータにソフトウェアをインストールする方法。
- 各インストール・データ・パッケージが、前記インストール・データ・パッケージに関連づけられたインストール・プログラムの完了時に受信側コンピュータを再起動するべきか否かを識別する、請求項57に記載の受信側コンピュータにソフトウェアをインストールする方法。
- 各インストール・データ・パッケージがテキスト・ファイルをさらに含み、前記テキスト・ファイルが前記インストール・プログラムの実行時に、関連づけられたインストール・プログラムからの照会に対して応答を与える、請求項57に記載の受信側コンピュータにソフトウェアをインストールする方法。
- 各インストール・データ・パッケージが、前記インストール・データ・パッケージに関連づけられたインストール・プログラムが正常に実行されるために受信側コンピュータで稼働している必要があるプログラムを識別するフィールドをさらに含む、請求項57に記載の受信側コンピュータにソフトウェアをインストールする方法。
- 各インストール・データ・パッケージが、前記インストール・データ・パッケージに関連づけられたインストール・プログラムが正常に実行されるためには受信側コンピュータで稼働していることができないプログラムを識別するフィールドをさらに含む、請求項57に記載の受信側コンピュータにソフトウェアをインストールする方法。
- 命令を有形に実現するコンピュータ可読媒体であって、前記命令はコンピュータ上で実行されると、
受信側コンピュータにインストールしたいソフトウェアを識別する情報をビルド要求者から受け取るステップと、
ビルド・プランが受信側コンピュータにインストールしたいソフトウェアに関連づけられたインストール・パラメータを識別し、さらに、受信側コンピュータにインストールしたいソフトウェアのためのインストール・プログラムに受信側コンピュータがアクセスするための供給元を識別する、識別された前記ソフトウェアを前記受信側コンピュータにインストールするためのビルド・プランを生成するステップと、
受信側コンピュータがアクセスすることができる媒体上に前記ビルド・プランを記憶するステップとを含むプロセスを実現する、コンピュータ可読媒体。 - 受信側コンピュータがインストール・プログラムにアクセスするための前記供給源がビルド・ライブラリを含み、前記ビルド・ライブラリは受信側コンピュータがネットワーク接続を介してアクセス可能な、請求項62に記載の命令を有形に実現するコンピュータ可読媒体。
- 前記命令が、受信側コンピュータにインストールしたいソフトウェアが、受信側コンピュータ上にセキュリティ機能が存在することを必要とするか否かを判断し、前記セキュリティ機能が必要な場合、受信側コンピュータに前記セキュリティ機能を設ける命令を前記ビルド・プランに組み込むステップをさらに含む、請求項63に記載の命令を有形に実現するコンピュータ可読媒体。
- 受信側コンピュータがインストール・プログラムにアクセスするための前記供給源が、ソフトウェア・ベンダによって提供されたソース・ライブラリを含む、請求項61に記載の命令を有形に実現するコンピュータ可読媒体。
- 前記命令が、受信側コンピュータにインストールしたいソフトウェアが前記受信側コンピュータ上に認証手段が存在することを必要とするか否かを判断し、前記認証手段が必要な場合、前記認証手段をインストールする命令を前記ビルド・プランに組み込むステップをさらに含む、請求項65に記載の命令を有形に実現するコンピュータ可読媒体。
- 前記ビルド・プランが、受信側コンピュータのレジストリにRun−once命令行が挿入されるようにする、請求項62に記載の命令を有形に実現するコンピュータ可読媒体。
- 前記Run−once命令行がソフトウェア・インストール・データ・パッケージを参照し、前記データ・パッケージが所望のソフトウェア・インストール・プログラムに関連づけられたパラメータを含む、請求項62に記載の命令を有形に実現するコンピュータ可読媒体。
- 前記ビルド・プランが実行ファイルであり、前記実行ファイルは受信側コンピュータにインストールされていると起動時に自動的に実行可能である、請求項62に記載の命令を有形に実現するコンピュータ可読媒体。
- 前記実行ファイルが、インストール・プログラムの実行の完了時にイベント・エントリ・メッセージがイベント・ログに書き込まれるようにする命令を含む、請求項69に記載の命令を有形に実現するコンピュータ可読媒体。
- 前記インストール・パラメータが、インストール・プログラムの実行後に受信側コンピュータを初期設定するべきか否かを識別する値を含む、請求項62に記載の命令を有形に実現するコンピュータ可読媒体。
- 前記インストール・パラメータが、インストール・プログラムが所望のソフトウェア・パッケージをインストールすることができるようにするために前記受信側コンピュータ上で稼働している必要があるプログラムを識別するデータ・フィールドを含む、請求項62に記載の命令を有形に実現するコンピュータ可読媒体。
- 前記インストール・パラメータが、インストール・プログラムが所望のソフトウェア・パッケージをインストールすることができるようにするために受信側コンピュータ上で稼働していることができないプログラムを識別するデータ・フィールドを含む、請求項62に記載の命令を有形に実現するコンピュータ可読媒体。
- 受信側コンピュータをして受信側コンピュータ自体にソフトウェアをインストールさせるビルド・プランであって、
インストール・データ・パッケージに従って少なくとも1つのソフトウェア・サプライヤ供給インストール・プログラムを始動する少なくとも1つの実行命令を含む実行部と、
前記少なくとも1つのソフトウェア・サプライヤ供給インストール・プログラムに対応し、前記少なくとも1つのソフトウェア・サプライヤ供給インストール・プログラムを実行するコマンド命令を識別する、少なくとも1つのインストール・データ・パッケージとを含むビルド・プラン。 - 前記少なくとも1つのインストール・データ・パッケージが、前記少なくとも1つのソフトウェア・サプライヤ供給インストール・プログラムの完了時に受信側コンピュータを再起動するべきか否かを示す値を含む、請求項74に記載のビルド・プラン。
- 前記少なくとも1つのインストール・データ・パッケージが、前記少なくとも1つのソフトウェア・サプライヤ供給インストール・プログラムが必要とするデータにアクセスすることができる場所を識別するアドレスを含む、請求項74に記載のビルド・プラン。
- 前記実行部が、受信側コンピュータにセキュリティ機能をインストールさせ、前記受信側コンピュータが前記少なくとも1つのソフトウェア・サプライヤ供給インストール・プログラムに必要なデータにアクセスすることができるようにする命令をさらに含む、請求項76に記載のビルド・プラン。
- 前記セキュリティ機能が証明である、請求項77に記載のビルド・プラン。
- 前記セキュリティ機能が暗号鍵である、請求項77に記載のビルド・プラン。
- 前記少なくとも1つのインストール・データ・パッケージが、ソフトウェア・サプライヤ供給インストール・プログラムが正常に実行されることができるにはその前に受信側コンピュータ上で稼働していなければならない少なくとも1つのソフトウェア・サービスを識別する、請求項74に記載のビルド・プラン。
- 前記少なくとも1つのインストール・データ・パッケージが、ソフトウェア・サプライヤ供給インストール・プログラムが正常に実行されるために前記ソフトウェア・サプライヤ供給インストール・プログラムの前に実行を完了していなければならない少なくとも1つのソフトウェア・サービスを識別する、請求項74に記載のビルド・プラン。
- 前記少なくとも1つのインストール・データ・パッケージが応答ファイルを識別し、前記応答ファイルが照会に対する応答を与え、前記照会が前記少なくとも1つのソフトウェア・サプライヤ供給インストール・プログラムによって行われる、請求項74に記載のビルド・プラン。
- 前記少なくとも1つの実行命令が、受信側コンピュータ上のレジストリに挿入可能なRun−once行を含む、請求項74に記載のビルド・プラン。
- 前記実行部が、ソフトウェア・サプライヤ供給インストール・プログラムの実行の成功または失敗を示すエントリがイベント・ログに書き込まれるようにする命令をさらに含む、請求項74に記載のビルド・プラン。
- 前記実行部が、実行されるとネットワーク識別情報が受信側コンピュータに供給されるようにする少なくとも1つの命令を含む、請求項74に記載のビルド・プラン。
- 前記ネットワーク識別情報が、インターネットに受信側コンピュータを識別させるアドレスを含む、請求項85に記載のビルド・プラン。
- 前記ネットワーク識別情報が、ローカル・ネットワークに受信側コンピュータを識別させるアドレスを含む、請求項85に記載のビルド・プラン。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/783,745 US20020112232A1 (en) | 2001-02-15 | 2001-02-15 | System and process for building host computers |
PCT/US2002/004640 WO2002065251A2 (en) | 2001-02-15 | 2002-02-15 | Software installation over a network with build plan defining the build, plan transferred to recipient computer and executed |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004533032A true JP2004533032A (ja) | 2004-10-28 |
Family
ID=25130263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002564707A Pending JP2004533032A (ja) | 2001-02-15 | 2002-02-15 | ホストコンピュータを構築するシステムおよび方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20020112232A1 (ja) |
EP (1) | EP1360583A2 (ja) |
JP (1) | JP2004533032A (ja) |
CA (1) | CA2438484A1 (ja) |
TW (1) | TW538344B (ja) |
WO (1) | WO2002065251A2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007219175A (ja) * | 2006-02-16 | 2007-08-30 | Univ Waseda | 認識器構築システム、認識器構築方法、組立サービス提供システム、およびプログラム |
JP2012500442A (ja) * | 2008-08-18 | 2012-01-05 | エフ5 ネットワークス、インコーポレイテッド | 可用性を維持しながらネットワークトラフィック管理装置をアップグレードする方法 |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030115570A1 (en) * | 2001-12-13 | 2003-06-19 | International Business Machines Corporation | Development environment for building software applications that mimics the target environment |
US20040052166A1 (en) * | 2002-09-16 | 2004-03-18 | Koninklijke Philips Electronics N.V. | Command set for removable rewritable computer storage |
US7194728B1 (en) * | 2002-11-18 | 2007-03-20 | Bmc Software, Inc. | System and method for packaging updates |
US7260615B2 (en) * | 2002-12-05 | 2007-08-21 | International Business Machines Corporation | Apparatus and method for analyzing remote data |
WO2004081758A2 (en) * | 2003-03-12 | 2004-09-23 | Digex, Inc. | System and method for maintaining installed software compliance with build standards |
US7146610B2 (en) * | 2003-03-27 | 2006-12-05 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method for upgrading software components without system shutdown |
US7181740B2 (en) * | 2003-03-31 | 2007-02-20 | Sony Corporation | Method and system for automated provision of build images |
US8019989B2 (en) * | 2003-06-06 | 2011-09-13 | Hewlett-Packard Development Company, L.P. | Public-key infrastructure in network management |
US7340739B2 (en) * | 2003-06-27 | 2008-03-04 | International Business Machines Corporation | Automatic configuration of a server |
US7765319B1 (en) * | 2003-07-30 | 2010-07-27 | Gorman Sean P | System and method for analyzing the structure of logical networks |
US20050066015A1 (en) * | 2003-09-09 | 2005-03-24 | Dandekar Shree A. | Method and system for automated validation, scripting, dissemination and installation of software |
US20050125524A1 (en) * | 2003-12-08 | 2005-06-09 | Chandrasekhar Babu K. | Cache system in factory server for software dissemination |
KR100584193B1 (ko) * | 2004-01-29 | 2006-05-26 | 한국과학기술정보연구원 | 그리드 컴퓨팅 시스템에서 파일기반의 mpi초기화방법을 이용한 그리드 mpi 작업 할당 시스템 및그리드 mpi 작업 할당방법 |
US20050172284A1 (en) * | 2004-01-30 | 2005-08-04 | Dandekar Shree A. | Method and system for automated generation of customized factory installable software |
US7950000B2 (en) * | 2004-03-17 | 2011-05-24 | Microsoft Corporation | Architecture that restricts permissions granted to a build process |
US7529195B2 (en) * | 2004-07-30 | 2009-05-05 | Fortiusone, Inc. | System and method of mapping and analyzing vulnerabilities in networks |
US8972545B2 (en) * | 2004-11-02 | 2015-03-03 | Dell Products L.P. | System and method for information handling system image network communication |
US7500082B2 (en) * | 2004-12-01 | 2009-03-03 | Microsoft Corporation | Automating the testing of software or hardware components by dynamically creating virtual storage devices on a simulated system bus in a physical computer system |
US10162618B2 (en) * | 2004-12-03 | 2018-12-25 | International Business Machines Corporation | Method and apparatus for creation of customized install packages for installation of software |
US20060168564A1 (en) * | 2005-01-27 | 2006-07-27 | Weijia Zhang | Integrated chaining process for continuous software integration and validation |
US7743373B2 (en) * | 2005-05-06 | 2010-06-22 | International Business Machines Corporation | Method and apparatus for managing software catalog and providing configuration for installation |
US8230414B1 (en) * | 2005-06-16 | 2012-07-24 | Infinera Corporation | Software distribution and cache management across client machines on a network |
KR100765774B1 (ko) * | 2006-01-03 | 2007-10-12 | 삼성전자주식회사 | 도메인 관리 방법 및 그 장치 |
US20080005733A1 (en) * | 2006-06-29 | 2008-01-03 | Balaji Ramachandran | Method and apparatus for updating firmware and software |
US9147272B2 (en) * | 2006-09-08 | 2015-09-29 | Christopher Allen Ingrassia | Methods and systems for providing mapping, data management, and analysis |
CA2677802C (en) * | 2007-02-13 | 2019-05-28 | Fortiusone, Inc. | A method and system for integrating a social network and data repository to enable map creation |
US20090144720A1 (en) * | 2007-11-30 | 2009-06-04 | Sun Microsystems, Inc. | Cluster software upgrades |
US8667483B2 (en) * | 2009-03-25 | 2014-03-04 | Microsoft Corporation | Device dependent on-demand compiling and deployment of mobile applications |
US9189357B2 (en) * | 2010-05-25 | 2015-11-17 | Red Hat, Inc. | Generating machine state verification using number of installed package objects |
US20120137278A1 (en) | 2010-11-30 | 2012-05-31 | International Business Machines Corporation | Generating a customized set of tasks for migration of a deployed software solution |
US20120278797A1 (en) * | 2011-02-21 | 2012-11-01 | Randy Kent Secrist | Methods and systems for packaging encapsulated operating system and custom software for single stream multi-system installation |
TW201324354A (zh) * | 2011-12-12 | 2013-06-16 | Wistron Corp | 自動化連續安裝作業系統的方法 |
US20130167108A1 (en) * | 2011-12-27 | 2013-06-27 | Infosys Limited | Promotion and package build tool for configurable network computing systems |
US20150040112A1 (en) * | 2013-08-01 | 2015-02-05 | Qualcomm Incorporated | Enabling Interoperability Between Software Applications By Utilizing Partial Binaries |
US9176722B1 (en) * | 2014-06-06 | 2015-11-03 | Bank Of America Corporation | Web management software configuration automation |
CN104267983B (zh) * | 2014-09-23 | 2020-07-17 | 上海卓盟信息科技有限公司 | 基于安卓平台的重度游戏封包方法 |
CN104391713A (zh) * | 2014-10-28 | 2015-03-04 | 浪潮电子信息产业股份有限公司 | 一种Windows系统自动安装方法 |
US10025611B2 (en) * | 2015-10-20 | 2018-07-17 | International Business Machines Corporation | Server build optimization |
US10417073B2 (en) | 2017-04-12 | 2019-09-17 | Bank Of America Corporation | Application server deployment system for domain generation and testing with an administrative server virtual machine and managed server virtual machines |
US10558456B2 (en) * | 2017-06-27 | 2020-02-11 | Red Hat, Inc. | Constructing build environments for software |
US20230144217A1 (en) * | 2020-03-25 | 2023-05-11 | Schlumberger Technology Corporation | Virtual machine bootstrap agent |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3590688B2 (ja) * | 1995-04-05 | 2004-11-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アプリケーションを導入するための導入計画オブジェクトを構築する方法、及びそのシステム |
US5835777A (en) * | 1996-03-20 | 1998-11-10 | Hewlett-Packard Company | Method of automatically generating a software installation package |
US6049671A (en) * | 1996-04-18 | 2000-04-11 | Microsoft Corporation | Method for identifying and obtaining computer software from a network computer |
US6067582A (en) * | 1996-08-13 | 2000-05-23 | Angel Secure Networks, Inc. | System for installing information related to a software application to a remote computer over a network |
US6117187A (en) * | 1997-09-30 | 2000-09-12 | Hewlett-Packard Company | Automatic generation of a software installation package |
US6094679A (en) * | 1998-01-16 | 2000-07-25 | Microsoft Corporation | Distribution of software in a computer network environment |
US6502194B1 (en) * | 1999-04-16 | 2002-12-31 | Synetix Technologies | System for playback of network audio material on demand |
US6718549B1 (en) * | 1999-05-05 | 2004-04-06 | Microsoft Corporation | Methods for managing the distribution of client bits to client computers |
US6282711B1 (en) * | 1999-08-10 | 2001-08-28 | Hewlett-Packard Company | Method for more efficiently installing software components from a remote server source |
US20020165906A1 (en) * | 2000-09-14 | 2002-11-07 | Glenn Ricart | Method and system for computer personalization |
-
2001
- 2001-02-15 US US09/783,745 patent/US20020112232A1/en not_active Abandoned
-
2002
- 2002-02-15 EP EP02718996A patent/EP1360583A2/en not_active Withdrawn
- 2002-02-15 CA CA002438484A patent/CA2438484A1/en not_active Abandoned
- 2002-02-15 WO PCT/US2002/004640 patent/WO2002065251A2/en not_active Application Discontinuation
- 2002-02-15 JP JP2002564707A patent/JP2004533032A/ja active Pending
- 2002-02-15 TW TW091102572A patent/TW538344B/zh not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007219175A (ja) * | 2006-02-16 | 2007-08-30 | Univ Waseda | 認識器構築システム、認識器構築方法、組立サービス提供システム、およびプログラム |
JP2012500442A (ja) * | 2008-08-18 | 2012-01-05 | エフ5 ネットワークス、インコーポレイテッド | 可用性を維持しながらネットワークトラフィック管理装置をアップグレードする方法 |
Also Published As
Publication number | Publication date |
---|---|
TW538344B (en) | 2003-06-21 |
US20020112232A1 (en) | 2002-08-15 |
WO2002065251A3 (en) | 2003-05-30 |
EP1360583A2 (en) | 2003-11-12 |
WO2002065251A2 (en) | 2002-08-22 |
CA2438484A1 (en) | 2002-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004533032A (ja) | ホストコンピュータを構築するシステムおよび方法 | |
US7584349B2 (en) | Method and system for receiving a software image from a customer for installation into a computer system | |
US7111161B2 (en) | Common storage system shared by one or more computers and information processing system having the same | |
US9928041B2 (en) | Managing a software appliance | |
US8387038B2 (en) | Method and system for automatic computer and user migration | |
US8458658B2 (en) | Methods and systems for dynamically building a software appliance | |
US8924920B2 (en) | Providing a software appliance based on a role | |
US8935687B2 (en) | Incrementally updating a software appliance | |
US6976062B1 (en) | Automated software upgrade utility | |
CN103559052B (zh) | 固件更新的设备与方法 | |
TWI332176B (en) | Method and system for automated installation of system specific drivers | |
US8874891B2 (en) | Systems and methods for activation of applications using client-specific data | |
CN101398762A (zh) | 一种在计算机上自动安装操作系统的方法和装置 | |
CA2348442A1 (en) | Method and apparatus for new device driver installation by an operating system | |
US20040221146A1 (en) | Build time dynamic installation of drivers on cloned systems | |
US20110225405A1 (en) | Managing a computing device | |
US20090300584A1 (en) | Methods and systems for providing a demo appliance and migrating the demo appliance to a production appliance | |
US8458731B2 (en) | Methods, systems and media for installing peripheral software drivers | |
US8190715B1 (en) | System and methods for remote agent installation | |
US20060168564A1 (en) | Integrated chaining process for continuous software integration and validation | |
US8103863B2 (en) | Workflow management to automatically load a blank hardware system with an operating system, products, and service | |
US20150212866A1 (en) | Management system for service of multiple operating environments, and methods thereof | |
JP4554581B2 (ja) | ジョブ管理装置、システムおよびプログラム | |
AU2002250104A1 (en) | Software installation over a network with build plan defining the build, plan transferred to recipient computer and executed | |
CN114327654B (zh) | 一种基于云平台的usb设备管理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040817 |