(57)【特許請求の範囲】
【請求項１】
コンピュータシステムにより実行される方法であって、
初期ペイロードを含む第１のアプリケーションを、前記コンピュータシステムのためのＢＩＯＳを含む第１の不揮発性メモリから第２の不揮発性メモリにコピーし；
初期ペイロードに含まれる画像コンテンツを表示画面に表示し；
第１のアプリケーションをスタートアップ・アプリケーションに設定し；
オペレーティングシステムをブートアップし；
第１アプリケーションを実行し；
適切な接続が存続しているか否かを決定し；
適切な接続に関する必要とされるバンド幅が利用できるか否かを決定し；
適切な接続が存続しかつ適切な接続に関する必要とされるバンド幅が利用できる場合に、第２のアプリケーションをダウンロードし；および、
第２のアプリケーションを実行する；
ことを備え、
前記初期ペイロードは、画像、情報資料を伴うメッセージであり、前記画像コンテンツは、パワーオン・セルフテスト（ＰＯＳＴ）の期間において初めて表示される方法。
【請求項２】
前記第２の不揮発性メモリが大容量記憶手段である請求項１に記載の方法。
【請求項３】
前記第１のアプリケーションをスタートアップ・アプリケーションに設定することは、
第１のアプリケーションへのショートカットを生成し；および、
所定の場所に前記第１のアプリケーションへのショートカットを配置する；
ことを備えている請求項１に記載の方法。
【請求項４】
前記適切な接続が存続しているか否かを決定することは、通信がサーバで達成できるか否かを決定することを含んでいる請求項１に記載の方法。
【請求項５】
前記適切な接続が存続しているか否かを決定することは、ネットワーク接続が存続しているか否かを決定することを含んでいる請求項１に記載の方法。
【請求項６】
前記適切な接続に関する必要とされるバンド幅が利用できるか否かを決定することは、
全バンド幅に対して適切な接続のために消費されるバンド幅との間の比を決定し；および、
前記比率を第１の閾値と比較する；
ことを含んでいる請求項１に記載の方法
【請求項７】
さらに、前記比率が前記第１の閾値未満である期間を決定し；および、
前記期間を第２の閾値と比較する；
ことを備えている請求項６に記載の方法。
【請求項８】
さらに、前記第２のアプリケーションが正常にダウンロードされたか否かを決定することを備えている請求項１に記載の方法。
【請求項９】
前記第２のアプリケーションが正常にダウンロードされたか否かを決定することは、前記第２のアプリケーションの完全性の検査を行うことを含んでいる請求項８に記載の方法。
【請求項１０】
前記第２のアプリケーションが正常にダウンロードされたか否かを決定することは、前記第２のアプリケーションが完全にダウンロードされたか否かを決定することを含んでいる請求項８に記載の方法。
【請求項１１】
初期ペイロードを含む第１のアプリケーションを、コンピュータシステムのためのＢＩＯＳを含む第１の不揮発性メモリから第２の不揮発性メモリにコピーする手段と；
初期ペイロードに含まれる画像コンテンツを表示画面に表示する手段と；
第１のアプリケーションをスタートアップ・アプリケーションに設定する手段と；
オペレーティング・システムをブートアップする手段と；
第１アプリケーションを実行する手段と；
適切な接続が存続しているか否かを決定する手段と；
適切な接続に関する必要とされるバンド幅が利用できるか否かを決定する手段と；
適切な接続が存続しかつ適切な接続に関する必要とされるバンド幅が利用できる場合に、第２のアプリケーションをダウンロードする手段と；
第２のアプリケーションを実行する手段と；
を備え、
前記初期ペイロードは、画像、情報資料を伴うメッセージであり、前記画像コンテンツは、パワーオン・セルフテスト（ＰＯＳＴ）の期間において初めて表示される装置。
【請求項１２】
前記第２の不揮発性メモリが大容量記憶手段である請求項１１に記載の装置。
【請求項１３】
前記第１のアプリケーションをスタートアップ・アプリケーションに設定する手段は、
第１のアプリケーションへのショートカットを生成する手段と；
所定の場所に前記第１のアプリケーションへのショートカットを配置する手段と；
を備えている請求項１１に記載の装置。
【請求項１４】
前記適切な接続が存続しているか否かを決定する手段は、通信がサーバで達成できるか否かを決定する手段を含んでいる請求項１１に記載の装置。
【請求項１５】
前記適切な接続が存続しているか否かを決定する手段は、インターネット接続が存続しているか否かを決定する手段を含んでいる請求項１１に記載の装置。
【請求項１６】
前記適切な接続に関する必要とされるバンド幅が利用できるか否かを決定する手段は、
全バンド幅に対して適切な接続のために消費されるバンド幅との間の比を決定する手段；および、
前記比率を第１の閾値と比較する手段；
を含んでいる請求項１１に記載の装置。
【請求項１７】
さらに、前記比率が前記第１の閾値未満である期間を決定する手段；および、
前記期間を第２の閾値と比較する手段；
を備えている請求項１６に記載の装置。
【請求項１８】
さらに、前記第２のアプリケーションが正常にダウンロードされたか否かを決定する手段を備えている請求項１１に記載の装置。
【請求項１９】
前記第２のアプリケーションが正常にダウンロードされたか否かを決定する手段は、前記第２のアプリケーションの完全性の検査を行う手段を含んでいる請求項１８に記載の装置。
【請求項２０】
前記第２のアプリケーションが正常にダウンロードされたか否かを決定する手段は、前記第２のアプリケーションが完全にダウンロードされたか否かを決定する手段を含んでいる請求項１８に記載の装置。
【請求項２１】
前記第１のアプリケーションは、前記コンピュータシステムのユーザが前記コンピュータシステムに常駐しているプリインストールプログラムを自動的に起動できるように、（ａ）前記プリインストールプログラムを特定し、（ｂ）前記コンピュータシステムのオペレーティングシステムのデスクトップ上にブックマークまたはショートカットを作成するように設計されている請求項１に記載の方法。
【請求項２２】
前記画像コンテンツは、前記コンピュータシステムのユーザによって表示することを要求された製品またはサービスについての情報を、前記ブートアップ処理の期間において表示する請求項１に記載の方法。
【請求項２３】
前記画像コンテンツの構成は統合ユーザ・プロファイルに基づくものであり、前記統合ユーザ・プロファイルは、複数のコンピュータシステムと複数のコンピュータシステムのユーザの特性を表すデータセットである請求項１に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータの自動的なコンフィギュレーションに関する。特に、本発明は、コンピュータにソフトウェアを自動的にインストールして組み込む方法および装置に関する。
【０００２】
【従来技術】
情報を収集し配給するためにコンピュータを使用することが多くなり、一般の入手経路および配給経路に関する種々の問題点が明らかになってきた。例えば、ある最近のソフトウェア配給システムは、ソフトウェア・ベンダーが、ネットワークを介して多数のユーザにソフトウェアを提供できるようにしている。また、このシステムは、ユーザから要求があった時に、ソフトウェアを更新および保守することや、ネットワークを介して、ユーザの要求時に、異なるソフトウェア・ベンダーからユーザがソフトウェアを取得できるようになっている。しかし、このようなシステムは、ユーザーからの要求時にソフトウェアと関連情報とを提供するだけであり、ユーザの要求または能力を考慮に入れたものではない。その結果、ユーザの特定のニーズおよび／または能力に関してシステムが最適化されない。
【０００３】
【発明が解決しようとする課題】
通常、コンピュータシステムは、全く添付ソフトウェアが無い状態でユーザに出荷される。コンピュータ製造メーカが、認知できるシステムの消費者価値を高めるために、ソフトウェア・パッケージを追加しようとすると、各々の追加ソフトウェア・パッケージを、システムの組み立て過程でインストールし検査する必要があり、コンフィギュレーションの時間と費用とがかかってしまう。時間を節約するためには、製造メーカが、ハードディスク装置のようなシステムの構成要素に予め組み込んでおく必要がある。しかし、製造メーカは、インストールしたソフトウェアの変更が必要な場合、在庫費用と無駄なコンフィギュレーション時間とを配慮する必要がある。
【０００４】
システムに添付できるソフトウェアとしては、ユーザに興味を起こさせる情報を紹介するものが考えられる。このユーザに興味を起こさせる情報は、現在、オペレーティング・システムがブートされて運用可能になった後で、コンピュータ画面に表示される広告の形態でユーザに提供されている。このような情報すなわち広告は一般に、ブート後任意にユーザに提供され、またはシステムがアイドル状態のときに表示される。つまり、ブート・プロセスの間には、このような情報すなわち広告はユーザに表示されない。
従って、コンピュータにソフトウェアを自動的にインストールして組み込むための方法および装置に関する技術において、他の時間と同様にブート・プロセスの間にも情報が表示できるようにする必要がある。
【０００５】
【課題を解決するための手段】
本発明は、第１の不揮発性メモリから第２の不揮発性メモリに第１のアプリケーションをコピーし、その第１のアプリケーションをスタートアップ・アプリケーションに設定するすることを含む方法を開示するものである。この方法は更に、オペレーティングシステムをブート・アップし、第１アプリケーションを実行することを含んでいる。また、この方法は、適切な接続が存続しているか否かを決定し、適切な接続に必要とされるバンド幅が利用できるか否かを決定し、さらに、適切な接続が存続しかつ適切な接続に関して必要とされるバンド幅が利用できる場合に、第２のアプリケーションをダウンロードすることを含んでいる。この方法はその後、第２のアプリケーションを実行することを含んでいる。この方法を実行するための装置も同様に開示されている。
【０００６】
【発明の実施の形態】
（定義）
本明細書で論じる場合、「コンピュータシステム」はデータを処理できる回路を含む製品である。コンピュータシステムとして、限定されるものではないが、汎用コンピュータシステム（例えば、サーバ、ラップトップ、デスクトップ、パームトップ、携帯電子機器等）、パーソナル・コンピュータ（ＰＣ）、ハード・コピー機器（例えば、プリンター、プロッター、ファックス装置等）、銀行取引機器（例えば、現金自動預け払い機）等を挙げることができる。インフォメデアリ(infomediary）はウェブサイトであり、供給者や別の事業所から提供される製品および／またはサービスに関する関連情報を事業所に供給することで、製品やサービスの生産者に関する関連情報を提供するものである。「コンテンツ」は、アプリケーション・プログラム、ドライバ・プログラム、ユーティリティ・プログラム、ペイロード等、およびこれらの組合わせ、および画像、情報資料（品物、株相場等）等、単独にまたは何れかの組合わせである。「ペイロード」は、画像、情報資料（品物、株相場等）を伴うメッセージであり、ファイルやアプリケーションを含むこともある。１つの実施形態において、これは、所定時間にシステムの大容量記憶媒体に転送される。更に、「通信リンク」は、媒介物つまり通信経路を意味するものである。通信リンクとしては、限定されるものではないが、電話回線、モデム接続、インターネット接続、統合デジタル通信網（ＩＳＤＮ）接続、非同期転送モード（ＡＴＭ）接続、フレームリレー接続、イーサネット接続、同軸接続、光ファイバー接続、衛星接続（例えば、デジタル衛星サービス等）、無線接続、無線周波数（ＲＦ）リンク、電磁リンク、双方向ページング接続等、およびこれらの組合わせを挙げることができる。
【０００７】
さらに、オペレーティング・システム（「ＯＳ」）のローディングは、オペレーティング・システムのブートストラップ・ローダの初期配置を意味するものである。１つの実施形態において、ＯＳロードの間に、情報のセクタが、ハードディスクからシステムメモリにロードされる。もしくは、ブートストラップ・ローダが、ネットワークからシステムメモリにロードされる。ＯＳ「ブート」は、ブートストラップ・ローダの実行を意味するものである。これはＯＳをシステムの制御の下に置くものである。ＯＳブートの間に実行される処置として、システム・コンフィギュレーション、デバイス検出、ドライバのロードおよびユーザのログインが挙げられる。
【０００８】
ＯＳランタイムは、ブート段階の終了と、ＯＳによるアプリケーションの実行開始とを意味するものである。１つの実施形態において、ＯＳランタイムの間に、ＯＳはユーザと対話して、アプリケーションを実行および／または動作する。
【０００９】
パワーオン・セルフテスト（Power On Self Test：ＰＯＳＴ）は、ＯＳをロードするに先だって、システム・ハードウエアを組み込んで検査するために実行される命令を言及するするものである。
【００１０】
（システムの概略）
以下に  本発明の実施形態を具体化する例示的なシステムの概要を説明する。
本発明は、コンピュータにソフトウェアを自動的にインストールして組み込む方法および装置に関するものである。これは、システムの基本入出力システム（ＢＩＯＳ）からの実行可能なイメージ（例えば、アプリケーション）を、システムのハードディスクまたは他の大容量記憶手段に転送することを含んでいる。ユーザの介入なしにオペレーション・システムが立ち上がる時にはいつも、アプリケーション又は入手したアプリケーションの代替品が実行される。転送されたイメージは、本明細書ではインターネット・スタートアップ・アプリケーション（Internet Start-Up Application：ＩＳＵＡ）という。このアプリケーションは、インターネットユーザとシステム・プロファイルの安全で非公開のリポジトリの整備と保守とを容易にし、これは主として、保証サービス登録、インターネットサービス登録、システムプロファイル、およびユーザ嗜好から入手したものである。最初にこの情報は、ユーザが、購入したハードウェアおよびソフトウェアの製造メーカと、オンラインまたは他のサービスのプロバイダとに、ユーザ登録を行うために使用される。その後、ユーザデータがユーザプロファイルを作るために使用され、関連するソフトウェアの更新やアップグレードをユーザに通知して、関連製品のオンライン購入を促し、１対１のカスタマイズされた市場取引と他のサービスとが可能になる。
【００１１】
１つの実施形態において、２つのソフトウェア・モジュールが、本発明の種々の実施形態を実施するために使用される。一方はユーザのシステムに常駐し、所定のウェブサイトにアクセスするために使用される。例えば、１つの実施形態において、オペレーティング・システムと基本入出力システム（ＢＩＯＳ）とは、コンピュータシステムに予めインストールされており、その後、コンピュータシステムが最初に立ち上げられた時に、あるアプリケーションが、ブート前の環境の１つまたはそれ以上の実行可能なプログラムを起動できるようにする。ここで、このアプリケーションは、議論のために、第１のソフトウェア・モジュールという。１つの実施形態において、第１のソフトウェア・モジュールは以下で説明する最初のスタートアップ・アプリケーション（ＩＳＵＡ）である。１つの実施形態において、第１のソフトウェア・モジュールは、ＯＳのロード、ブート、実行および／または運用に先だって、１つまたはそれ以上の実行可能なプログラムの起動を容易にする。１つの実施形態において、ユーザは、このようなプログラム（つまり、第１のソフトウェア・モジュール）の使用を促され、別の実施形態において、このプログラムは自動的に起動される。第１のソフトウェア・モジュールに含まれるプログラムは、ツールおよびユーティリティが、適切な時間に適切なユーザ認証でもって運用されるようにし、さらにドライバ、アプリケーションおよび追加ペイロードとを含む第２のソフトウェア・モジュールをＰＣのインターネット接続を介してユーザがダウンロードできるようにする。このプログラムは更に、ＯＳが正常に起動されなかった場合に、システムを遠隔管理する。
【００１２】
第２のソフトウェア・モジュールが一旦配給されると、これはメモリに常駐して第１のソフトウェア・モジュールに関する転送されたコピーを無効にできる。システムの不揮発性メモリになお常駐している、第１のソフトウェア・モジュールのオリジナル・コピーは、第２のソフトウェア・モジュールが機能しなくなるか、破壊されるか、または消去されるまではアイドル状態のままであり、そのようなときには、第１のソフトウェア・モジュールのオリジナル・コピーのコピーが再度、前述したように転送される。第２のソフトウェア・モジュールは、更なる予約申し込み資料をダウンロードするための認証を求めるために、ユーザを特定のインターネットのサーバに接続し、所定のウェブサイトに導くアプリケーションを含むことができる。第２のソフトウェア・モジュールは更に、第１のソフトウェア・モジュールのコンテンツと同一かまたは類似のコンテンツを含むことができる。
【００１３】
１つの実施形態において、システムは更に、読取り専用メモリ基本入出力システム（ＲＯＭ  ＢＩＯＳ）に格納される初期ペイロードを含むことができる。１つの実施形態において、初期ペイロードは、第１のソフトウェア・モジュール（例えば、ＩＳＵＡ）の一部である。別の実施形態において、初期ペイロードは、第１のソフトウェア・モジュールとは別個に、ＲＯＭ  ＢＩＯＳにモジュールとして格納される。１つの実施形態として、初期ペイロードは、パワーオン・セルフテスト（ＰＯＳＴ）の後で、ＯＳのブート、ロード、および／または実行に先だってＲＯＭ  ＢＩＯＳから送出されて画面に表示される。これは、システムが製造され、組立てられ、検査される場合、またはエンドユーザが最初にシステムを始動させる場合といった、所定の時間に行なうことができる。別の実施形態において、この初期ペイロードは、所定の場所（システムのハードディスクといった）に、システムが製造され、組立てられ、検査される場合、またはエンドユーザが最初にシステムを始動させる場合といった所定の時間にコピーされる。一旦コピーされると、ペイロードはＰＯＳＴの後で、ＯＳのオペレーションに先だって実行でき、画面に、画像、広告、アニメーション、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）／ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）形式の資料を表示できる。追加のプログラムおよび／またはペイロードが（インターネットや他の外部接続を介して）配給される場合、表示画面は、ＯＳのブートに先だってまたはブート中にメッセージや画像の形態のカスタマイズされた画面を提供するために使用できる。さらに、第１のソフトウェア・モジュールに配給された実行可能なプログラムは、ウェブサイトからダウンロードされた後発プログラム（第２のソフトウェア・モジュールのような）と同様に、種々のデバイス形式、ドライバおよびインストール済みアプリケーションを調べてＰＣを調査するために使用できる。１つの実施形態において、本明細書に参考文献として組み込まれている、係属中の米国特許出願番号 号、発明の名称「コンピュータにソフトウェアを自動的にインストールして組み込む方法および装置」に説明されているように、第１のソフトウェア・モジュールは、ユーザのためのショートカットおよび／またはブックマークを確認して自動的に生成するために使用される。ウェブサイトからダウンロードされたプログラムは、ユーザの嗜好に基づいて、ユーザ・プロファイルを入手して保守するソフトウェアを含むことができる。このような情報は、インフォメデアリに与えられ、これはそれ以降、供給者や他の事業所から提供される更新、改訂情報を得るために、情報の一部および／または情報に基づく編集データを、供給者や他の事業所に転送する。
【００１４】
図１を参照すると、情報供給システム１０は、１つまたはそれ以上の通信リンク３０1−３０Nを介して、１つまたはそれ以上のユーザ・コンピュータシステム４０1−４０N（「４０」）に接続されるサービスセンタ２０を備えている。サービスセンタ２０は、１つまたはそれ以上のサーバ２２、１つまたはそれ以上のデータベース２４および１つまたはそれ以上のコンピュータ２６1−２６Nを含んでいる。１つまたはそれ以上のコンピュータ２６1−２６Nは、ユーザ・コンピュータシステム４０1−４０N  により同時アクセス可能であり。複数のコンピュータを用いる場合、コンピュータ２６1−２６Nはローカルエリア・ネットワーク（ＬＡＮ）または、如何なる他の同様の接続技術によっても接続できる。しかし、サービスセンタ２０が他の構成であることも可能である。例えば、そこで動作される多数の内部プログラムまたはプロセッサを備えた少数の大型コンピュータ（つまり、少数のメインフレーム・コンピュータ、ミニ・コンピュータ等）は、ユーザコンピュータと通信リンクを確立できる。
【００１５】
サービスセンタ２０は同様に、遠隔ネットワーク５０（例えば、インターネット）または遠隔サイト（例えば、図１には示されていない衛星）に接続可能である。遠隔ネットワーク５０または遠隔サイトは、サービスセンタ２０に格納できる多種多様なコンピュータソフトウェアやコンテンツ等をサービスセンタ２０が提供できるようにする。サービスセンタのコンピュータ（例えば、コンピュータ２６1）に接続される、１つまたはそれ以上のデータベース２４は、コンピュータ２６で利用できるコンピュータソフトウェアから成る、データベース項目を格納するために用いられる。１つの実施形態において、各々のユーザコンピュータ４０1−４０Nは、それ自身の安全なデータベース（図示せず）をもっており、他のどのコンピュータからもアクセスできない。通信リンク３０1−３０Nにより、１つまたはそれ以上のユーザコンピュータ４０1−４０Nがコンピュータ２６1−２６Nに同時に接続できる。接続はサーバ２２により管理される。
【００１６】
ユーザコンピュータシステム４０が、情報サービスコンピュータ２６と双方向通信を確立した後に以下に説明する方法で、コンテンツが、ユーザコンピュータシステム４０に送られる。ダウンロード・コンテンツは、ユーザおよび／または、ユーザ・コンピュータシステムのハードウェアおよび／またはソフトウェアを調べて、ユーザ・プロファイルと同様にユーザシステムのプロファイルを明らかにするアプリケーションを含んでいる。ユーザおよび／または、ユーザ・コンピュータシステムから集めた情報は、その後サービスセンタ２０に提供され、ユーザおよびシステム・プロファイルに基づいてユーザ・コンピュータシステム４０に追加コンテンツを提供する。サービス・コンピュータ２６に接続されるデータベースからのデータベース項目は、ユーザが利用可能なコンピュータソフトウェア、ハードウェア、および第３者による、サービスと製品に関する情報を含んでいる。ユーザおよび／またはコンピュータシステム・プロファイルに基づいて、コンテンツが更にユーザ・コンピュータに送られて表示される。コンテンツは同様に、現行のコンピュータソフトウェアの修正や改訂の利用可能性、現行のコンピュータソフトウェアの新しいバージョン、真新しいコンピュータソフトウェア、新しいヘルプファイルといった情報の概要を含むことができる。コンテンツは更に、ユーザにとって興味のあるハードウェアや第３者の製品やサービスの利用可能性に関する情報を含むことができる。その後、ユーザは利用できる製品やサービスの概要から、１つまたはそれ以上の選択が可能であり、製品をサービスコンピュータ２６からユーザ・コンピュータに転送するよう要求できる。もしくは、ユーザは、利用可能な製品やサービスの概要から所望の製品やサービスを購入できる。
【００１７】
図２は、本発明の実施形態を実現する例示的なコンピュータシステム１００を示している。コンピュータシステム１００は、ユーザコンピュータ４０1−４０Nおよび／またはコンピュータ２６1−２６N（図１）の１つの実施形態を示しているが、他の実施形態も容易に使用できる。
図２を参照すると、コンピュータシステム１００は、プロセッサつまり中央処理装置（ＣＰＵ）１０４を備えている。例示されたＣＰＵ１０４は、演算を行う演算論理装置（ＡＬＵ）、データと命令の一時記憶のためのレジスタ群およびシステム１００に関するオペレーションを制御するための制御ユニットを含んでいる。１つの実施形態において、ＣＰＵ１０４は、インテル社から市販されているＸ８６、ＰｅｎｔｉｕｍTM、ＰｅｎｔｉｕｍＩＩTMおよびＰｅｎｔｉｕｍＰｒｏTM、ＡＭＤ社から市販されているＫ−６、Ｃｙｒｉｘ社から市販されている６Ｘ８６ＭＸのいずれかのマイクロプロセッサを含んでいる。別の例として、デジタル・イクイップメント社から市販されているＡｌｐｈａTMプロセッサ、モトローラ社から市販されている６８０Ｘ０プロセッサまたはＩＢＭ社から市販されているＰＣTMプロセッサを含んでいる。さらに、サン・マイクロシステムズ、ＭＩＰＳ、ＩＢＭ、モトローラ、ＮＥＣ、Ｃｙｒｉｘ、ＡＭＤ、Ｎｅｘｇｅｎ等の如何なる種類のプロセッサもＣＰＵ１０４を実現するために使用できる。ＣＰＵ１０４は、マイクロ・プロセッサに限定されるものではないが、マイクロ・コントローラ、デジタル信号プロセッサ、縮小命令セット・コンピュータ（ＲＩＳＣ）、アプリケーション特定集積回路といった、別の形態をとることもできる。１つのＣＰＵ１０４が示されているが、その代わりにコンピュータシステム１００は複数の処理ユニットを含むこともできる。
【００１８】
ＣＰＵ１０４は、ＣＰＵバス１０８によりバスコントローラ１１２に接続されている。バスコントローラ１１２は、そこに一体化されたメモリコントローラ１１６を含んでいるが、メモリコントローラ１１６はバスコントローラ１１２の外部にあってもよい。メモリコントローラ１１６は、ＣＰＵ１０４や他のデバイスがメモリバス１２０を介して、システムメモリ１２４をアクセスするためのインターフェースである。１つの実施形態において、システムメモリ１２４は、シンクロナス・ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）を含んでいる。システムメモリ１２４は、随意的に付加的なまたは別の高速メモリ素子またはメモリ回路を含むことができる。バスコントローラ１１２は、システムバス１２８に接続されており、これは周辺相互接続（ＰＣＩ）バス、業界標準アーキテクチャ（ＩＳＡ）バス等であってもよい。システムバス１２８に接続されているものとして、画像コントローラ、画像エンジンまたはビデオコントローラ１３２、大容量記憶手段１５２、通信インターフェース装置１５６、１つまたは複数の入出力装置（Ｉ／Ｏ）１６８1−１６８Nおよび拡張バスコントローラ１７２がある。ビデオコントローラ１３２は、ビデオメモリ１３６（例えば８メガバイト）と、ビデオＢＩＯＳ１４０に接続されており、これらの全ては、符号１４４で示すように１枚のカードまたは装置に統合できる。ビデオメモリ１３６は、表示データを格納するために使用され、表示画面１４８に情報を表示する。ビデオＢＩＯＳ１４０は、ビデオコントローラ１３２を制御するための、コードおよびビデオサービスを含んでいる。他の実施形態において、ビデオコントローラ１３２は、改良型グラフックポート（ＡＧＰ）バスを介してＣＰＵ１０４に接続されている。
【００１９】
大容量記憶手段１５２は、限定されるものではいが、ハードディスク、フロッピディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、テープ、高密度フロッピ、大容量リムーバブル媒体、小容量リムーバブル媒体、半導体メモリ素子等、およびこれらを組合わせたものである。大容量記憶手段１５２は、如何なる大容量記憶媒体をも含んでいる。通信インターフェース装置１５６は、ネットワーク・カード、モデム・インターフェース等であり、通信リンク１６０を介してネットワーク１６４にアクセスするためのものである。Ｉ／０装置１６８1−１６８Nは、キーボード、マウス、オーディオ／サウンド・カード、プリンタ等を含んでいる。Ｉ／０装置１６８1−１６８Nは、コンパクトディスク・ドライブ、デジタルディスク・ドライブ、テープ・ドライブ、Ｚｉｐドライブ、ジャズ・ドライブ、デジタル・ビデオディスク・ドライブ（ＤＶＤ）、半導体メモリ素子、光磁気ディスク・ドライブ、高密度フロッピ・ドライブ、大容量リムーバブル・ドライブ、小容量媒体ドライブ、および／または、これらの組合わせたものである。拡張バスコントローラ１７２は、不揮発性メモリ１７５に接続されており、システム・ファームウェア１７６を含んでいる。システム・ファームウェア１７６は、システムＢＩＯＳ８２を含み、特に、コンピュータシステム１００のハードウェア装置を制御するためのものである。システム・ファームウェア１７６は同様に、ＲＯＭ１８０とフラッシュメモリ（またはＥＥＰＲＯＭ）とを含んでいる。拡張バスコントローラ１７２は同様に、ＲＡＭ、ＲＯＭ、および／またはフラッシュメモリ（図示せず）を有する拡張メモリ１８８に接続されている。システム１００は更に、バスコントローラ１１２に接続されるメモリ・モジュール１９０を含むこともできる。１つの実施形態として、メモリ・モジュール１９０は、ＲＯＭ１９２とフラッシュメモリ（またはＥＥＯＲＯＭ）１９４を備えている。
【００２０】
当業者にはよく知られているように、コンピュータシステム１００は更に、オペレーティング・システムＯＳと、少なくとも１つのアプリケーション・プログラムとを含み、１つの実施形態において、これらは大容量記憶手段１５２からシステムメモリ１２４に読み込まれ、ＰＯＳＴの後でブートされる。ＯＳとしては、限定または制限されるものではないが、ＤＯＳ、ＷｉｎｄｏｗｓTM（例えば、Ｗｉｎｄｏｗｓ  ９５TM、Ｗｉｎｄｏｗｓ  ９８TM、Ｗｉｎｄｏｗｓ  ＮＴTM）、Ｕｎｉｘ、Ｌｉｎｕｘ、ＯＳ／２、ＯＳ／９、Ｘｅｎｉｘ等を挙げることができる。オペレーティング・システムは、１つまたはそれ以上のプログラム一式であり、コンピュータシステムのオペレーションと資源配分を制御するものである。アプリケーション・プログラムは、１つまたはそれ以上のソフトウェア・プログラム一式であり、ユーザが所望のタスクを実行するものである。
【００２１】
コンピュータ・プログラミングの当業者が実施できるように、本発明を、特に断らない限りにおいて、コンピュータシステム１００により実行される、オペレーションの象徴的な表示を参照して以下に説明する。このようなオペレーションは時としてコンピュータ実行（computer-executed）として言及される。象徴的に表示されたオペレーションは、他の信号処理と同様に、ＣＰＵ１０４によるデータビットに代表される電気信号の操作と、システムメモリ１２４の記憶域でのデータビットの保守とを含んでいるものとして理解できる。データビットが保守される記憶域は、物理的な位置であり、データビットに対応する特定の電気的、磁気的、光学的、または有機的な特性をもっている。
【００２２】
ソフトウェアにおいて実装される場合、本発明の要素は、実質的に必須のタスクを実行するためのコード・セグメントである。プログラムまたはコード・セグメントはプロセッサ読取可能媒体に格納できるか、搬送波に包含されるコンピュータデータ信号によって伝送媒体または通信リンクに伝送できる。「プロセッサ読取可能媒体」は、情報を格納し転送できる全ての媒体を含むことができる。プロセッサ読取可能媒体としては、電子回路、半導体メモリ素子、ＲＯＭ、フラッシュメモリ、消去可能ＲＯＭ（ＥＲＯＭ）、フロッピ・ディスケット、ＣＤ−ＲＯＭ、光ディスク、ハードディスク、光ファイバ媒体、無線周波数（ＲＦ）リンク等を例として挙げることができる。コンピュータ・データ信号は、電気的ネットワーク経路、光ファイバ、空気、電磁気、ＲＦリンクといった、伝送媒体に伝搬できる如何なる信号も含むことができる。コード・セグメントは、インターネット、イントラネットといったコンピュータ・ネットワークを介してダウンロードできる。
【００２３】
図３は、コンピュータシステム１００の論理図である。図２、３を参照すると、システム・ファームウェア１７６は、ソフトウェア・モジュールとデータとを含み、これらはＰＯＳＴの期間にシステムメモリ１２４に読み込まれ、その後プロセッサ１０４により実行される。１つの実施形態において、システム・ファームウェア１７６は、システムＢＩＯＳハンドラ、ハードウェア・ルーチン等を有するシステムＢＩＯＳモジュール８２、ＲＯＭアプリケーション・プログラム・インタフェース（ＲＡＰＩ）モジュール８６、初期スタートアップ・アプリケーション（ＩＳＵＡ）モジュール８６、初期ペイロード８８ａ、暗号化キー９０、暗号化エンジン９２、および表示エンジン９４とを含んでいる。前述のモジュールとシステム・ファームウェア１７６の一部は、ＲＯＭ１８０および／またはフラッシュメモリ１８４に収納できる。もしくは、前述のモジュールとシステム・ファームウェア１７６の一部は、ＲＯＭ１９０および／またはフラッシュメモリ１９４に収納できる。ＲＡＰＩ８４、ＩＳＵＡ８６および初期ペイロード８８ａは、各々個別に  コンピュータシステム１００の第１回目の使用前に、システム・ファームウェア１７６にデベロープされて格納されてもよい。１つの実施形態において、ＲＡＰＩ８４、ＩＳＵＡ８６および初期ペイロード８８ａの各々は、フェニックス・テクノロジ社で開発された専売権付きソフトウェアを含む。ＲＡＰＩ８４は、ＲＯＭアプリケーション・プログラムとシステム・ファームウェア１７６との間で、安全なインターフェースを提供する。ＲＡＰＩ８４の１つの実施形態が、本明細書に参考文献として組み込まれている、フェニックス・テクノロジ社に譲渡された、１９９９年６月１８日出願の、係属中の米国特許出願番号 、発明の名称「基本入出力システム（ＢＩＯＳ）を安全に利用するシステムおよび方法」に説明されている。ＩＳＵＡ８６の１つの実施形態が、本明細書に参考文献として組み込まれている、フェニックス・テクノロジ社に譲渡された、１９９９年６月１８日出願の、係属中の米国特許出願番号 、発明の名称「コンピュータに自動的にソフトウェアをインストールして組み込む方法および装置」に説明されている。
【００２４】
１つの実施形態において、図３、４Ａおよび４Ｂに示されるように、新品のコンピュータシステム１００の電源が最初に投入された後で、システムはＰＯＳＴ処理を開始する。Ａ１で示されるように、最初のＰＯＳＴの期間に、ＩＳＵＡ８６が大容量記憶手段１５２に転送される。１つの実施形態において、コンピュータシステム１００が、オペレーティング・システムがインストールされた後に（しかし、オペレーティング・システムをローディングし実行する前に）最初に電源が投入される時に、このような転送が製造および／または組立プロセスの間に行わる。他の実施形態において、このような転送は、製造および／または組立プロセスの後で、ユーザが受け取ってシステム１００に電源を投入した後で行われる。さらに他の実施形態において、ＩＳＵＡ８６の転送の間に、追加プログラム、アプリケーション、ドライバ、データ、画像および他の情報を、（例えば、ＲＯＭから）大容量記憶手段１５２に転送することもできる。例えば、転送は、大容量記憶手段１５２への初期ペイロードの転送を含むことができ、その後、初期ペイロードは大容量記憶手段１５２から供給される。もしくは、初期ペイロードはＲＯＭから供給されてもよい。このような転送を容易にするシステムと方法の１つの実施形態が、本明細書に参考文献として組み込まれている、フェニックス・テクノロジ社に譲渡された、１９９９年６月１８日出願の、係属中の米国特許出願番号 、発明の名称「システム・フレーム・ウエアからのアプリケーション・プログラムを記憶装置に転送するシステムおよび方法」に説明されている。このような転送を容易にするシステムと方法の別の実施形態が、１９９９年３月１９日出願の、係属中の米国特許出願番号０９／２７２，８５９、発明の名称「メモリベースのデバイス・エミュレータを提供する方法および装置」と、１９９９年６月１８日出願の、係属中の米国特許出願番号 、発明の名称「メモリベースのデバイス・エミュレータを提供する方法および装置」、および１９９９年６月１８日出願の、係属中の米国特許出願番号 、発明の名称「１つまたはそれ以上のファイルを記憶装置に挿入するシステムおよび方法」とに説明されており、各々本発明の譲渡人であるフェニックス・テクノロジ社に譲渡されており、本明細書に参考文献として組み込まれている。
【００２５】
１つの実施形態において、ＩＳＵＡ８６は、コンピュータ・ソフトウェア実行可能プログラムであり、こらは、エンドユーザのシステムに常駐している、プリインストールされたプログラムがあるかどうかを決定する。あれば、このプリインストールされたプログラムを認識して、ショートカット（ウインドウズ・オペレーティングシステムの場合は、ディスクトップに）やブックマークを作成し、ユーザがプログラムを自動的にブート可能にする。この実施形態において、以下に述べるように、実行可能プログラムは更に、サーバ２２および／または何れか１つのサービスコンピュータ２６（図１）に関する、１つまたはそれ以上のアプリケーションとの双方向通信を初期化して確立できる。さらに、１つの実施形態において、初期ペイロード８８ａの画像コンテンツは、表示エンジン９４によってＰＯＳＴの期間にユーザの表示画面１４８に表示される。もしくは、初期ペイロード８８ａの画像コンテンツは、その後のブート・プロセスの後で表示できる。例えば、以下に述べるユーザ・プロファイルの一環として、ユーザに、１つまたはそれ以上の製品および／またはサービスの追加情報の入手を希望するか否か問い合わせてもよい。ユーザが希望する場合、所望の製品および／またはサービスに関するコンテンツが、その後のブート・プロセスの間に表示される。
【００２６】
一旦ＰＯＳＴが終了すると、ＯＳがロードされ、実行され、初期化される。その後、標準ＯＳドライバおよびサービスがロードされる。その後、ユーザは、年齢、性別、趣味といった人口統計学的情報を含む、登録情報を入力するよう促される。さらに、ＩＳＵＡ８６が実行され、バックグラウンドで動作し、コンピュータシステム１００と、図２のネットワーク１６４上（例えばインターネット上）の遠隔サーバ（例えば、図１のサーバ２２）との間で確立される通信リンクを検出するまでアイドル状態のままとなっている。１つの実施形態において、ＩＳＵＡ８６は、プリロードされ、プリインストールされたアプリケーションがシステム上にあるか否かを決定するために、オペレーティング・システムを検索することができる。あれば、ＩＳＵＡ８６は、自動的にショートカットおよび／またはブックマークを作成し、一旦通信リンクが確立すると所定のサーバにアプリケーションを送出できる。この通信リンクは、ソケット、または従来から公知の別の双方向通信技術の何れかをにより、ネットワーク・プロトコル・スタック（例えば、ＴＣＰ／ＩＰ）を用いて確立できる。一旦通信リンク３０が確立すると、コンテンツ・モジュール６０から、初期コンテンツ・パッケージ６２（Ａ３で示されるような）をダウンロードするために、ＩＳＵＡ８６は、サーバ２２に要求信号を出す。この要求に応答して、サーバは初期コンテンツ・パッケージ６２（Ａ３で示されるような）をダウンロードする。このパッケージは、１つの実施形態において、これは大容量記憶手段１５２に格納される。１つの実施形態において、初期コンテンツ６２と後発コンテンツ６４とは別々にデベロープされ、初期コンテンツ６２と後発コンテンツ６４とが格納される前に、サーバ２２で各々暗号化され、および／または暗号化キーによりデジタル署名される。初期コンテンツ６２と後発コンテンツ６４が、それ以降コンピュータシステム１００にダウンロードされる場合に、暗号化エンジン９２は、キー９０を用いて、初期コンテンツ６２と後発コンテンツ６４とを復号化する。
【００２７】
前記で検討したように、初期コンテンツ６２は、アプリケーション６２ａ、ドライバ６２ｂおよびペイロード６２ｃを含むことができる。１つの実施形態において、アプリケーション６２ａはデータローダ・アプリケーションと、プロファイル管理アプリケーションとを含んでいる。データローダ・アプリケーションはＩＳＵＡ８６と同じように機能し、一旦ダウンロードされるとＩＳＵＡ８６を無効にして、これに取って代わる。更に詳細には、データローダ・アプリケーションはコンピュータソフトウェア・プログラムであり、更に、サーバ２２とコンピュータシステム１００との間の双方向通信を初期化、確立および終了させる。データローダ・アプリケーションは更に、エンドユーザ・システムと指定サーバとの間の通信を助け、エンドユーザ・システムにコンテンツのダウンロードを行なうための別の機能と同様に、サーバ２２とコンピュータシステム１００との間のトラヒック・コントロール管理を行う。
【００２８】
プロファイル管理アプリケーションは、ユーザの嗜好、システムハードウェアおよびコンピュータシステム１００にインストールされているソフトウェアに基づいて、コンピュータシステム１００のユーザおよびシステム・プロファイルを取得する。コンピュータシステム１００のユーザおよびシステム・プロファイルを取得すると、プロファイル管理アプリケーションはその結果をデータローダ・アプリケーションに送る。これはその後サーバ２２に、データベース２４のユーザが表明した嗜好に一致する情報を提供する。この結果は、所定の時間間隔またはユーザから要請があった時に送ることができる。その後、サーバ２２は、ユーザ・プロファイルまたは人口統計学的データを処理し、コンテンツをよく似たプロファイルのユーザへの対象とする。さらに、多数のユーザのユーザ・プロファイルデータはサーバ２２に集められ、統合ユーザ・プロファイル・モデルを生成するために統合される。その後、ユーザ・プロファイル・データおよび／または統合ユーザ・プロファイル・モデル（Ａ４で示されるように）に基づいて、コンテンツはユーザ・コンピュータシステムに伝送される。後発コンテンツ６４は、ダウンロードされ、システム・ファームウェア１７６に格納され、符号８８ｂで表される。１つの実施形態において、後発コンテンツ６４は、フラッシュまたはＥＥＰＲＯＭといった不揮発性メモリであり、当業者にはよく知られているように、後発コンテンツ６４のロードはＲＯＭを再フラッシュすることで成される。後発コンテンツ６４はまた、１つまたはそれ以上のファイルとして大容量記憶手段１５２に格納でき、または、ＷｉｎｄｏｗｓTMシステム・ファイル（ＷｉｎｄｏｗｓTM環境の下で）を修正するために使用できる。プロファイル入手プロセスはコンピュータシステム１００が動作している間は継続する。１つの実施形態において、サーバ２２がユーザのプロファイルを受信し解析した後で、コンテンツをダウンロードできる。
【００２９】
コンピュータシステム１００の電源が投入され（図４参照）、システムが再度ＰＯＳＴを実行する。予めダウンロードされ、システム・ファームウェア１７６に格納された著作権の問題がないコンテンツは、その後、オペレーティング・システムのロード、および／または実行の前に表示される。ＷｉｎｄｏｗｓTM環境において、オペレーティング・システムの初期ローディングの間に表示されるＷｉｎｄｏｗｓTMロゴは、その後、予めシステム・ファームウェア１７６に格納されたダウンロード済みコンテンツを表示する、１つまたはそれ以上の画面に置き換えられる。
【００３０】
コンテンツを１つまたはそれ以上のファイルとして大容量記憶手段１５２に格納する場合には、ＲＯＭの再フラッシュと対照的に、ブートアップとシャットダウンの間に表示されるＷｉｎｄｏｗｓTMロゴ・ファイルは変更または置き換えができる。この手法を利用する１つの実施形態は、対応するＷｉｎｄｏｗｓTMシステム・ファイルを、コンテンツ（例えば、画像ファイル）を表す１つまたはそれ以上のファイルに置き換えることを含んおり、これは、本明細書に参考文献として組み込まれた、フェニックス・テクノロジ社に譲渡された、１９９９年６月１８日出願の、係属中の米国特許出願番号 号、発明の名称「ブートアップおよびシャットダウンの間の画像表示」に説明されている。ブートアップＷｉｎｄｏｗｓ表示ファイルは、ＬＯＧＯ．ＳＹＳと呼ばれ、通常Ｗｉｎｄｏｗｓディレクトリに置かれている。最初にＷｉｎｄｏｗｓTMのＬＯＧＯ．ＳＹＳファイルが、Ｗｉｎｄｏｗｓディレクトリから他のディレクトリに転送される。その後、画像ファイルコンテンツが、ＬＯＧＯ．ＳＹＳに改名され、Ｗｉｎｄｏｗｓディレクトリに転送される。オペレーティング・システムが最初にブートされた時に、オペレーティング・システムはこのファイルを取り出すので、コンテンツが表示画面に表示される。ＷｉｎｄｏｗｓTMは、ＬＯＧＯ．ＳＹＳファイルがビットマップ・ファイルであることを要求している。ビットマップ・ファイルは３２０×４００の解像度で、２５６色であるが、ＷｉｎｄｏｗｓTMはその後表示のために解像度を６４０×４００へ広げる。それゆえに、画像ファイルコンテンツは、同一の画像形式（通常、ＬＯＧＯ．ＳＹＳに改名され前に、拡張子「．ＢＭＴ」と呼ばれる）である。
【００３１】
その後、オペレーティング・システムがロードされ、実行され初期化される。標準オペレーティング・システム・ドライバとアプリケーションもロードされる。その後、プロファイル管理が実行される。所定のウェブサイトとのリンクが確立されると、追加コンテンツがダウンロードされ、それに続いて表示される。このような追加コンテンツは、随意に、またはユーザまたはユーザのシステムの調査で得られた情報に基づいて提供される。１つの実施形態において、一旦ブート・プロセスが終了すると、以前に表示されたメッセージまたは広告に関する詳細情報にアクセスするために使用するアイコンまたはショートカットを表示するために、表示画面の一部を使用できる。別の実施形態において、メッセージまたは広告はシャットダウン・プロセスの間に再度表示でき、例えば、「Ｗｉｎｄｏｗｓをシャットダウンしています」または「コンピュータの電源を切っても安全です」というメッセージを表示する画面表示を、別の選択されたコンテンツに置き換える。
【００３２】
図５は、ＩＳＵＡ８６の１つの実施形態を示すブロック図である。ＩＳＵＡ８６は、スクリプト・プロセッサ・モジュール５００と、ネットワーク接続検出部５０２、ダウンロード・モジュール５０４、ＵＲＬ／ショートカット・モジュール５０６、およびデータ・モジュール５０８とを含んでいる。図３に示されるように、ＩＳＵＡ８６は、ユーザコンピュータのＢＩＯＳ１７６を含んでいる。
【００３３】
スクリプト・プロセッサ・モジュール５００は、ＩＳＵＡ８６の処理要素である。１つの実施形態において、スクリプト・プロセッサ・モジュール５００は、対のオペレーション・コードまたはコマンドコードを読取りこれを実行する。
【００３４】
スクリプト・プロセッサでサポートされる幾つかの特徴点は以下の通りである。
・Ｗｉｎｄｏｗｓディスクトップへのショートカットのインストール
・ウェブサイトへのショートカットのインストール
・インターネット・クライアント／アプリケーションのダウンロード
・宣伝、無料アプリケーションのダウンロード
・ロード済みのＷｉｎｄｏｗｓアプリケーション／インストールの実行、
・カスタム・ペイロードの実行
【００３５】
カスタム・ペイロードの実行は、ＩＳＵＡ８６の特有の特徴点である。これは、製造メーカまたはＩＳＵＡ８６のユーザが、ＩＳＵＡ８６の内部又はシステムＢＩＯＳに、別の画像を組み込むことを可能にするものである。このコードが行なう処置は製造メーカ次第である。
【００３６】
ネットワーク接続検出部５０２はＩＳＵＡ８６に含まれているモジュールである。これはバックグラウンドで動作し、インターネット接続または適切なネットワーク接続を監視する。一旦接続が検出されると、ＩＳＵＡ８６は、追加コンテンツ、アプリケーション、またはワールドワイドウェブからの宣伝を入手するために、ダウンロード・モジュール５０４を呼び出すことができる。
【００３７】
ダウンロード・モジュール５０４は、ＩＳＵＡ８６に含まれる構成要素であって、追加データをインターネットから大容量記憶手段１５２（例えば、ユーザのハードディスク）へ転送させる。ダウンロード・モジュール５０４は、データ領域５０８の情報を読み取り、ＩＰアドレスとファイル名情報とを取得する。
【００３８】
ＵＲＬ／ショートカット・モジュール５０６は、ＩＳＵＡ８６がインターネットに接続することなく、エンドユーザのＷｉｎｄｏｗｓ経歴を変更することができる。ＵＲＬ／ショートカット・モジュール５０６はデータ領域５０８の情報を処理して、Ｗｉｎｄｏｗｓディスクトップとインストール済みインターネット・ブラウザの構成方法を決定する。１つの実施形態において、ＵＲＬ／ショートカット・モジュール５０６でサポートされる機能は以下の通りである。
・Ｗｉｎｄｏｗｓディスクトップへショートカットの配置
・大容量記憶手段１５２（例えば、ユーザのハードディスク）内のインストール済みソフトウェアの検索およびその実行、またはＷｉｎｄｏｗｓディスクトップへのそのローカル・ショートカットの配置、および
・インターネット・ブラウザのホームページの変更
【００３９】
ＩＳＵＡ８６のデータ領域５０８を分離することは、データ領域５０８を、コード領域の再フラッシュを必要とせずに遠隔フラッシュできるので重要である。このことは、サポーティング・コードの完全性を危うくすることなく、ＩＳＵＡ８６の働きを変更できる。さらに、柔軟性に富んだアーキテクチャと、ＩＳＵＡ８６の特定の構成要素を容易に更新する能力とを与えるために、データ領域５０８とは別に、各々のモジュールが単独に更新できるよう種々のモジュールが内部に収納されている。
【００４０】
図６は、コンピュータシステム１００の電源投入時に、ＩＳＵＡ８６（例えば、シーケンサ）を転送するＢＩＯＳ１７６のオペレーションに関するフローチャートである。
【００４１】
ブロック６００において、データローダ・アプリケーション（ＷＤＬ）６２ａが大容量記憶手段１５２に配置されているか否かを決定する。前述のように、ＷＤＬ６２ａは、先にＩＳＵＡ８６が正常に実行された場合にダウンロードされる初期コンテンツパッケージ６２の一部である。ＷＤＬ６２ａの存在は、ＷＤＬ６２ａの幾つかの又は全ての構成要素がファイルシステムにあるか否かを調べるために、大容量記憶手段１５２のファイルシステムに問い合わせるオペレーションにより決定できる。もしくは、ＷＤＬ６２ａの存在は、フラグの設定、ＢＩＯＳ１７６又は大容量記憶手段１５２の特定のビットにより確認できる。ＷＤＬ６２ａがファイルシステム上に検出されなかった場合、その後オペレーションはブロック６０２に進む。
【００４２】
ブロック６０２において、ＩＳＵＡ８６（シーケンサとして示される）が大容量記憶手段１５２にあるか否かを決定する。この場合も先と同様に、ＩＳＵＡ８６の存在の検出は、ＷＤＬ６２ａの検出と同じやり方で行なうことができる。ＩＳＵＡ８６が検出された場合、次にオペレーションはブロック６０８に進む。ＩＳＵＡ８６が検出されなかった場合、オペレーションはブロック６０４に進む。
【００４３】
ブロック６０４において、ＩＳＵＡ８６パッケージが大容量記憶手段１５２にコピーされる。１つの実施形態において、ＩＳＵＡ８６パッケージは、最初に圧縮され、大容量記憶手段１５２に転送された時に圧縮解除される。別の実施形態において、ＩＳＵＡ８６が直接転送され、その後に随意的に圧縮解除される。さらに、ＩＳＵＡ８６パッケージを暗号化することができ、そのためにＩＳＵＡ８６パッケージを複号化するための復号器が必要になる。ＩＳＵＡ８６パッケージが大容量記憶手段１５２に転送された後で、オペレーションはブロック６０６に進む。
【００４４】
ブロック６０６において、制御はオペレーティング・システムに戻されて、普通どおりコンピュータのブートアップと初期化とに進む。
【００４５】
図７は、オペレーティング・システムがロードされ、かつＩＳＵＡ８６がロードされた後の、ＩＳＵＡ８６の１つの実施形態に関するフローチャートである。
【００４６】
ブロック７００において、ＩＳＵＡ８６のネットワーク接続検出器５０２は調査を実行して、インターネットまたは必須のネットワーク接続が存続しているか否かを検出する。ネットワーク接続検出器５０２は、オペレーティング・システムに問い合わせることで、または、１次サーバが利用できるか否かを調べるために、初期コンテンツ・パッケージ６２をもつ１次サーバにｐｉｎｇを打つことで、必須のネットワーク接続が存続しているか否かを決定する。別の実施形態において、ネットワーク接続検出器５０２は、サーバの１つが応答するまでサーバ一覧表に接触を試みてもよい。ネットワーク接続が存続している場合、その後オペレーションブロック７０２に進む。そうでなければ、オペレーションはブロック７０４に進む。
【００４７】
ブロック７０２において、ネットワーク接続検出器５０２がネットワーク接続を検出しない場合、遅延時間の間待機したあとでブロック７００に戻る。１つの実施形態において、遅延時間は１０秒である。
【００４８】
ブロック７００において、ネットワーク接続検出器５０２が必須のネットワーク接続を検出した場合、その後、ブロック７０４において、ネットワーク接続検出器５０２は、ユーザがどれ位のバンド幅を使用しているかを調べるために問い合わせる。このことは、ユーザのバンド幅の使用に著しく影響を及ぼすことなく情報を転送するために、ＩＳＵＡ８６に対して利用可能な充分なバンド幅があるか否かを決定するためのものである。ユーザが、ＩＳＵＡ８６がバンド幅を使用していることに気づかないことが好ましい。１つの実施形態において、ネットワーク接続検出器５０２は、使用中のバンド幅と、ＩＳＵＡ８６が接続を使用することが適切か否かを決定するために用いられる時間と解析するのに経験則を利用できる。例えば、ネットワーク接続検出器５０２は、ＩＳＵＡ８６が接続を使用し始める前の５分間に、ユーザが使用するバンド幅が５０％未満になるまで待機できる。別の実施形態において、バンド幅がＩＳＵＡ８６での使用に利用できるか否かを決定するために、所定の閾値を利用できる。つまり、例えば、別のプロセッサで費やされる接続バンド幅の量が、バンド幅の総量の１０％だけである場合、そのときには、ＩＳＵＡ８６により利用可能な充分なバンド幅があると判断される。ＩＳＵＡ８６により使用されるバンド幅は、ユーザにより使用されるバンド幅とＩＳＵＡ８６により使用されるべきバンド幅との間の、単純な比率又はある数学的関係に基づいている。バンド幅が利用できる場合、その後、オペレーションはブロック７０６に進む。そうでなければ、オペレーションはブロック７１０に進む。
【００４９】
ブロック７０６において、ＩＳＵＡ８６のダウンロード・モジュール５０４は、ＷＤＬ６２ａのデータの各部分を別々にダウンロードするのではなく、ＷＤＬ６２ａのデータ・ブロックをダウンロードする。
【００５０】
ブロック７０８において、ダウンロード・モジュール５０４は、ＷＤＬ６２ａが完全にダウンロードされたか否かを決定する。ＷＤＬ６２ａが完全にダウンロードされた場合、その後、オペレーションはブロック７１６に進む。そうでなければ、オペレーションはブロック７００に戻る。
【００５１】
ブロック７１６において、一旦ダウンロード・モジュール５０４が、ＷＤＬ６２ａが完全にダウンロードされたと決定すると、ダウンロード・モジュール５０４は、ＷＤＬ６２ａの完全性と完全な状態とを確証する。例えば、ダウンロード・モジュール５０４は、ダウンロード時にエラーが起こったか否かを決定するために、ダウンロードされたＷＤＬ６２ａに関するチェックサム演算を行うことができる。ＷＤＬ６２ａが確証されると、オペレーションはブロック７１２に進む。そうでなければ、オペレーションはブロック７１８に進む。
【００５２】
ブロック７１２において、一旦ＷＤＬ６２ａが確証されると、その後、ＵＲＬ／ショートカット・モジュール５０６が、インターネット・サービスプロバイダまたはウエブサイト・リンクに関するセットアップ／サインアップ・プログラムといった、全てのアプリケーションのためのショートカットをインストールする。さらに、一旦ＷＤＬ６２ａが確証されると、オペレーティング・システムによって、スタートアップ・アプリケーションとしてＷＤＬ６２ａが実行される。ＵＲＬ／ショートカット・モジュール５０６がショートカットを変更した後で、オペレーションが終了する。
【００５３】
ブロック７１８において、ブロック７１６でＷＤＬ６２ａが確証されてない場合、その後、ダウンロード・モジュールがＷＤＬ６２ａを大容量記憶手段１５２から削除する。その後、オペレーションはブロック７００に進み、ここではネットワーク接続検出器５０２が、再度、必須のネットワーク接続が存続しているか否かを検出するために調査を行なう。
【００５４】
本発明は、特定の好適な実施形態に関して説明されているが、さらに本発明の範疇にある他の実施形態も当業者には明らかである。従って、本発明の範疇は以下の請求の範囲のみにより定義されることが意図されている。
【図面の簡単な説明】
【図１】本発明の装置と方法とが用いられる情報配給システムの１つの実施形態のシステムブロック図である。
【図２】本発明の実施形態を実施できる例示的なプロセッサ・システムまたはユーザ・コンピュータシステムを示す。
【図３】図１の情報配給システムの１つの実施形態の細部のブロック図を示す。
【図４Ａ】本発明の原理により提供されるプロセス・フローチャートに関する１つの実施形態を示す。
【図４Ｂ】本発明の原理により提供されるプロセス・フローチャートに関する１つの実施形態を示す。
【図５】本発明の原理により構成された初期ブートアプリケーションの１つの実施形態のブロック図を示す。
【図６】本発明の原理により実行される初期ブートアプリケーションのローディング・オペレーションの１つの実施形態の詳細なフローチャートを示す。
【図７】本発明の原理により実行される初期ブートアプリケーションの複数のオペレーションの１つの実施形態の詳細なフローチャートを示す。
【符号の説明】
１０  情報供給装置、２０  サービスセンタ、２２  サーバ、２４  データベース、２６  情報サービスコンピュータ、４０  ユーザコンピュータ、５０  ウェブサイト、５２  登録ウェブサイト、５４  １次ウェブサイト、５６  ２次ウェブサイト。
【図１】
0004861546.tif 000002
【図２】
0004861546.tif 000003
【図３】
0004861546.tif 000004
【図４Ａ】
0004861546.tif 000005
【図４Ｂ】
0004861546.tif 000006
【図５】
0004861546.tif 000007
【図６】
0004861546.tif 000008
【図７】
0004861546.tif 000009