(57)【特許請求の範囲】
【請求項１】
プロセッサベースのシステム内の少なくとも１つの記憶素子にアクセスするためのシステムであって、
少なくとも１つの記憶素子を有し、命令シーケンスを記憶するメモリと、
前記メモリに結合され、前記記憶された命令シーケンスを実行するプロセッサと、
前記プロセッサに結合され、前記プロセッサおよび前記メモリと同じく前記システム内に含まれる記憶装置と、を含み、
オペレーティング・システムをブートする前に、前記記憶された命令シーケンスによって前記プロセッサは、前記少なくとも１つの記憶素子のコンテント、即ち、該記憶素子の任意のタイプのデータを前記記憶装置に書き込み、この書き込み動作はブート後のアプリケーションプログラムとは独立して実行され、
さらに、前記記憶装置はファイル・システムを含み、前記少なくとも１つの記憶素子のコンテントを前記記憶装置に書き込む前記動作において、前記少なくとも１つの記憶素子はファイルを含み、前記書き込む動作は、前記ファイルを前記記憶装置の前記ファイル・システムに転送することを含むことを特徴とするシステム。
【請求項２】
前記少なくとも１つの記憶素子のコンテントを前記記憶装置に前記書き込む動作は、前記オペレーティング・システムをロードする前に行われることを特徴とする請求項１に記載のシステム。
【請求項３】
前記命令シーケンスはさらに、前記プロセッサにブート・シーケンスを開始させることを特徴とする請求項１に記載のシステム。
【請求項４】
前記少なくとも１つの記憶素子は不揮発性メモリであることを特徴とする請求項１に記載のシステム。
【請求項５】
前記記憶装置は、コンパクト・ディスク・ドライブ、ディジタル・ビデオ・ディスク（ＤＶＤ）ドライブ、固形メモリ装置、ディジタル・ディスク・ドライブ、ハード・ディスク・ドライブ、光磁気ディスク・ドライブ、テープ・ドライブ、ｚｉｐドライブ、ｊａｚｚドライブ、高密度フロッピー（登録商標）・ドライブ、大容量取外し可能媒体装置、低容量取外し可能媒体装置、および大容量と低容量の取外し可能媒体装置のいずれかである請求項２に記載のシステム。
【請求項６】
前記少なくとも１つの記憶素子のコンテントを前記記憶装置に書き込むステップは、前記プロセッサが、
（ａ）前記記憶装置に記憶されたスタートアップ・ディレクトリを突き止めるステップと、
（ｂ）前記少なくとも１つの記憶素子のファイルの名前を前記突き止められたスタートアップ・ディレクトリに書き込むステップと、
（ｃ）前記少なくとも１つの記憶素子のファイルを前記記憶装置に転送するステップと、
（ｄ）前記転送されたファイルを指すようにディレクトリ・エントリを調節するステップと、を含むことを特徴とする請求項１に記載のシステム。
【請求項７】
少なくとも１つの記憶素子に結合されたプロセッサと、前記プロセッサに結合された記憶装置とを有するプロセッサベースのシステム内の前記少なくとも１つの記憶素子にアクセスする方法であって、
前記記憶装置は、前記プロセッサおよび前記記憶素子と同じく前記システム内に含まれ、
前記プロセッサベースのシステム上でオペレーティング・システムをブートする前に、前記プロセッサが前記少なくとも１つの記憶素子のコンテント、即ち、該記憶素子の任意のタイプのデータを前記記憶装置に書き込み、この書き込み動作はブート後のアプリケーションプログラムとは独立して実行され、
さらに、前記記憶装置はファイル・システムを含み、前記少なくとも１つの記憶素子のコンテントを前記記憶装置に書き込む前記動作において、前記少なくとも１つの記憶素子はファイルを含み、前記書き込む動作は、前記ファイルを前記記憶装置の前記ファイル・システムに転送することを含むことを特徴とする方法。
【請求項８】
前記少なくとも１つの記憶素子のコンテントを前記記憶装置に書き込む動作は、前記オペレーティング・システムをロードする前に行われることを特徴とする請求項７に記載の方法。
【請求項９】
前記プロセッサがブート・シーケンスを開始することをさらに含む請求項７に記載の方法。
【請求項１０】
前記書き込む動作において、前記少なくとも１つの記憶素子は不揮発性メモリであることを特徴とする請求項７に記載の方法。
【請求項１１】
前記記憶装置は、コンパクト・ディスク・ドライブ、ディジタル・ディスク・ドライブ、ディジタル・ビデオ・ディスク（ＤＶＤ）ドライブ、固形メモリ装置、ハード・ディスク・ドライブ、光磁気ディスク・ドライブ、テープ・ドライブ、ｚｉｐドライブ、ｊａｚｚドライブ、高密度フロッピー・ドライブ、大容量取外し可能媒体装置、低容量取外し可能媒体装置、および大容量と低容量の取外し可能媒体装置のいずれかである請求項７に記載の方法。
【請求項１２】
前記少なくとも１つの記憶素子のコンテントを前記記憶装置に書き込むステップは、前記プロセッサが、
（ａ）前記記憶装置に記憶されたスタートアップ・ディレクトリを突き止めるステップと、
（ｂ）前記少なくとも１つの記憶素子のファイルの名前を前記突き止められたスタートアップ・ディレクトリに書き込むステップと、
（ｃ）前記少なくとも１つの記憶素子のファイルを前記記憶装置に転送するステップと、
（ｄ）前記転送されたファイルを指すようにディレクトリ・エントリを調節するステップと、を含むことを特徴とする請求項７に記載の方法。
【請求項１３】
プロセッサベースのシステム内の少なくとも１つの記憶素子にアクセスするためのコンピュータ・プログラム・コードを格納するコンピュータ読み取り可能な記録媒体であって、
前記コンピュータ・プログラム・コードが、プロセッサによって実行されたとき、プロセッサに、
前記プロセッサベースのシステム上でオペレーティング・システムをブートする前に、前記少なくとも１つの記憶素子のコンテント、即ち、該記憶素子の任意のタイプのデータを記憶装置に書き込ませ、前記記憶装置は前記少なくとも１つの記憶素子と同じく前記システム内に含まれ、前記書き込み動作はブート後のアプリケーションプログラムとは独立して実行され、
さらに、前記記憶装置はファイル・システムを含み、前記少なくとも１つの記憶素子のコンテントを前記記憶装置に書き込む前記動作において、前記少なくとも１つの記憶素子はファイルを含み、前記書き込む動作は、前記ファイルを前記記憶装置の前記ファイル・システムに転送することを含むことを特徴とする、前記記録媒体。
【請求項１４】
前記コンピュータ読取り可能プログラム・コードにより、前記プロセッサは、前記オペレーティング・システムをロードする前に前記少なくとも１つの記憶素子のコンテントを前記記憶装置に書き込むことを特徴とする請求項１３に記載のコンピュータ読み取り可能な記録媒体。
【請求項１５】
前記書き込む動作に続いてブート・シーケンスを開始するためのコンピュータ読取り可能プログラム・コードをさらに含むことを特徴とする請求項１３に記載のコンピュータ読み取り可能な記録媒体。
【請求項１６】
前記少なくとも１つの記憶素子は不揮発性メモリであることを特徴とする請求項１３に記載のコンピュータ読み取り可能な記録媒体。
【請求項１７】
前記記憶装置は、コンパクト・ディスク・ドライブ、ディジタル・ディスク・ドライブ、ディジタル・ビデオ・ディスク（ＤＶＤ）ドライブ、固形メモリ装置、ハード・ディスク・ドライブ、光磁気ディスク・ドライブ、テープ・ドライブ、ｚｉｐドライブ、ｊａｚｚドライブ、高密度フロッピー・ドライブ、大容量取外し可能媒体装置、低容量取外し可能媒体装置、および大容量と低容量の取外し可能媒体装置のいずれかである請求項１３に記載のコンピュータ読み取り可能な記録媒体。
【請求項１８】
前記少なくとも１つの記憶素子のコンテントを前記記憶装置に書き込むための前記コンピュータ読取り可能プログラム・コードは、前記プロセッサが、
（ａ）前記記憶装置に記憶されたスタートアップ・ディレクトリを突き止めるためのコンピュータ読取り可能プログラム・コードと、
（ｂ）前記少なくとも１つの記憶素子のファイルの名前を前記突き止められたスタートアップ・ディレクトリに書き込むためのコンピュータ読取り可能プログラム・コードと、
（ｃ）前記少なくとも１つの記憶素子のファイルを前記記憶装置に転送するためのコンピュータ読取り可能プログラム・コードと、
（ｄ）前記転送されたファイルを指すようにディレクトリ・エントリを調節するためのコンピュータ読取り可能プログラム・コードと、
を含むことを特徴とする請求項１３に記載のコンピュータ読み取り可能な記録媒体。
【請求項１９】
データベースにアクセスできる遠隔サービス・コンピュータと通信するユーザ・コンピュータを有するコンピュータ・システムにおいて、前記データベースは前記サービス・コンピュータが利用可能な情報を識別し、コンピュータが実行する、前記ユーザ・コンピュータに情報を転送する方法であって、
（ａ）前記ユーザ・コンピュータ上でオペレーション・システムをブートする前に、前記ユーザ・コンピュータの少なくとも１つの記憶素子のコンテント、即ち、該記憶素子の任意のタイプのデータを前記ユーザ・コンピュータの記憶装置に書き込むステップと、
（ｂ）前記ユーザ・コンピュータと前記サービス・コンピュータとの間に通信リンクを確立するステップと、
（ｃ）前記ユーザ・コンピュータに利用できる情報を前記ユーザ・コンピュータにおいて提示するステップと、を含み、
前記書き込むステップはブート後のアプリケーションプログラムとは独立して実行され、
さらに、前記記憶装置はファイル・システムを含み、前記少なくとも１つの記憶素子のコンテントを前記記憶装置に書き込む前記動作において、前記少なくとも１つの記憶素子はファイルを含み、前記書き込む動作は、前記ファイルを前記記憶装置の前記ファイル・システムに転送することを含むことを特徴とする方法。
【請求項２０】
前記ステップ（ａ）において、前記少なくとも１つの記憶素子のコンテントがアプリケーション・プログラムを含み、前記方法はさらに、
前記ステップ（ｂ）に続き、前記アプリケーション・プログラムによって前記サービス・コンピュータから前記ユーザ・コンピュータへのソフトウェアの転送を開始するステップと、
前記ユーザ・コンピュータが前記ソフトウェアを受信するステップと、を含み、
前記ソフトウェアは、前記ユーザ・コンピュータに関するシステム情報を収集する少なくとも１つのプログラムを含むことを特徴とする請求項１９に記載の方法。
【請求項２１】
前記サービス・コンピュータに前記システム情報を提供するステップと、
前記サービス・コンピュータが前記システム情報に基づいた情報を提示するステップと、を含むことを特徴とする請求項２０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は一般に、プロセッサベースまたはマイクロコントローラベースのシステムにおけるメモリに関し、より詳細には、オペレーティング・システムおよび／またはディレクトリ・サービスを必要とせずにシステム・ファームウェアから記憶装置にアプリケーション・プログラムを転送するシステムおよび方法に関する。
【背景技術】
【０００２】  コンピュータなどプロセッサベースのシステムでは、オペレーティング・システムを最初にインストールしなければならず、その後、その他のアプリケーション・ソフトウェアをそれに続けてインストールおよび実行することができる。オペレーティング・システム・ソフトウェアは通常、コンパクト・ディスクまたはディスケットからインストールされる。ある種の場合には、オペレーティング・システムは、マザーボード製造業者またはシステム製造業者によって必要とされる性能レベルまでシステムを高めるために、装置ドライバまたは何らかの他のソフトウェア・コンポーネントを介して拡張されなければならない。これは、これらの装置ドライバの移送を含むいくつかの問題を生む。【０００３】  システムは、いくつかのステージで製造される。第１のステージは、様々なコンポーネントを集めてシステム・マザーボードを構築するものである。第２のステージは、システム・マザーボードに電源、ハード・ドライブ、および他の内部コンポーネントを組み合わせることによって基本コンピュータを作成するものである。第３のステージは、基本コンピュータに様々な周辺装置、例えばモニタ、プリンタ、スピーカ、キーボード、マウスなどを統合するものである。【０００４】  各製造ステージは、固有の必要物、技術向上を有する場合もあり、異なる検査および故障解決を必要とする場合もある。様々な製造ステージが異なる物理位置および異なる企業で起こり得るため、標的のオペレーティング・システムに加えられる装置ドライバまたは特別なソフトウェアは、システムに追加コストを加える。この追加コストをこうむるのは、追加ドライバまたは特別なソフトウェアをフロッピー・ディスク、コンパクト・ディスク、または他の各システムに対する媒体で移送しなければならないためである。さらに、フロッピー・ディスクやコンパクト・ディスクなどの追加アイテムは、失われたり盗難に遭ったりしやすい。【０００５】  さらに、技術が進歩するにつれて、システム・ハードウェアは、現在のオペレーティング・システムに使用できない機能を備える可能性がある。今日、システム・ファームウェアまたはＢＩＯＳが新しいハードウェアを制御する能力を伝えることのできる、あるいは拡張されたシステム機能を提供することのできる信頼性のある方法はない。例えば、システムが今、リアルタイム・ビデオ表示を組み込んでいるとする。この機能を実行するハードウェアは存在するが、オペレーティング・システムはリアルタイム・ビデオを表示することができない。先に考察したように、システム製造業者は、リアルタイム・ビデオの表示に必要なソフトウェアを収録したディスケットまたはコンパクト・ディスク（ＣＤ）をユーザに供給する場合がある。これに伴う問題は、マザーボードが、システムに組み込まれてエンド・ユーザに販売される前に何人かの中間の人間を通過する可能性があることであり、それにより、ディスケットまたはＣＤは、失われたり盗難に遭ったりしやすい。
【発明が解決しようとする課題】
【０００６】  したがって、前述の問題を克服するためのシステムおよび方法が、技術において必要とされている。特に、システムおよび／またはディレクトリ・サービスの必要性および利用可能性なしにシステム・ファームウェアから記憶装置にアプリケーションを配信するためのシステムおよび方法が必要とされている。
【課題を解決するための手段】
【０００７】  本発明の一態様は、プロセッサベースのシステム内の少なくとも１つの記憶素子にアクセスするための方法およびシステムである。システムは、命令シーケンスを記憶するためのメモリを含み、その命令シーケンスによってプロセッサベースのシステムが処理される。メモリは、少なくとも１つの記憶素子を含む。プロセッサがメモリに結合され、記憶装置がプロセッサに結合される。プロセッサベースのシステム上でオペレーティング・システムをブートする前に、記憶された命令シーケンスは、少なくとも１つの記憶素子のコンテントを記憶装置に書き込むようプロセッサに命令する。
【０００８】  本発明の他の態様は、遠隔サービス・コンピュータと通信するユーザ・コンピュータを有するコンピュータ・システムに関する。遠隔サービス・コンピュータは、サービス・コンピュータに利用可能な情報を識別するデータベースにアクセスすることができる。情報をユーザ・コンピュータに転送するためのコンピュータ実装方法は、次のことを含む。すなわち、ユーザ・コンピュータ上でオペレーティング・システムをブートする前に少なくとも１つの記憶素子のコンテントをユーザ・コンピュータ上の記憶装置に書き込むこと、ユーザ・コンピュータとサービス・コンピュータの間に通信リンクを確立すること、および、ユーザ・コンピュータに利用可能な情報をユーザ・コンピュータにおいて提示することである。
【発明を実施するための形態】
【０００９】  本発明は、オペレーティング・システムまたはディレクトリ・サービスを必要とせずにアプリケーションを提供するためのシステムおよび方法に関する。一実施形態では、最初にペイロードまたはファイルがプロセッサ・システムの不揮発性記憶装置に記憶される。ペイロード配信プログラムは、ファイルまたはペイロードのインストール前に、ファイルまたはペイロードをシステムの初期化ディレクトリまたはスタートアップ・ディレクトリに転送する。続いて、ファイルまたはペイロードは、オペレーティング・システムが完全にブートされた後でインストールされる。
【００１０】  本発明によれば、マザーボード・ベンダーは、オペレーティング・システムが更新または変更されるときに自動的にインストールできる拡張機能を提供することにより、自分の製品を差別化することができる。この拡張機能は、新しいかまたは「異なる」システム・ハードウェアを操作することもでき、あるいは、有名商標のインターネット・ブラウザなどソフトウェア・ベースの能力とすることもできる。いくつかのオペレーティング・システムは、プログラムが特定のディレクトリ内に配置されればオペレーティング・システムのブート中に自動的にそのプログラムを稼動させるように構成することもできる。
【００１１】  本発明の他の態様は、インフォメディアリ（Infomediary：情報媒体）を提供するためのシステムおよび方法に関する。これは、保証サービス登録、インターネット・サービス登録、システム・プロファイル、およびユーザ選好から主に収集される、インターネットのユーザ・プロファイルとシステム・プロファイルの安全かつ私的なリポジトリの構築および維持を含む。最初にこの情報は、購入されたハードウェア製品およびソフトウェア製品の製造業者と、オンラインまたは他のサービスのプロバイダとにユーザを登録するのに使用される。時の経過に伴い、ユーザ・データは、ユーザ・プロファイルを作成するためと、当該ソフトウェアのユーザに更新およびアップグレードを通知するため使用されて、関連商品のオンライン購入を奨励し、１対１のマーケティングおよび他のサービスを可能にすることになる。
【００１２】  本発明の他の態様は、プリブート・スクリーン・メッセージングに関する。ソフトウェアまたはファームウェアを使用して、システムのプリブート・プロセス中に、おそらく埋め込まれたグラフィックスと共に、メッセージの形をとるカスタマイズされたスクリーンを提供することができる。これらのメッセージは、広告の形をとることもできる。一実施形態では、ＲＯＭ上に事前に記憶されたグラフィックスを、プリブート・プロセス中の画面表示用に取り出すことができる。所定のウェブ・サイトへのリンクが確立されたときには、追加グラフィックスを使用することもできる。このような追加は、任意に提供されるか、ユーザまたはユーザのシステムの調査から得られる情報に基づいて提供される更新またはメッセージを含む。一実施形態では、ブート・プロセスが完了すると、表示画面の一部を使用して、以前に表示されたメッセージまたは広告に関する詳細情報にアクセスするのに使用されるアイコンを提供することができる。他の実施形態では、メッセージまたは広告をシャットダウン・プロセス中に再び表示することができ、例えば、メッセージ「Ｗｉｎｄｏｗｓをシャットダウンしています」または「もうコンピュータの電源を切っても安全です」を表示する画面表示を、選択された他のメッセージまたは広告で置き換えることができる。
【００１３】  定義
本明細書で考察されるとき、「コンピュータ・システム」とは、データを処理することのできる回路を含む製品である。コンピュータ・システムには、これらに限定されないが、汎用コンピュータ・システム（例えばサーバ、ラップトップ、デスクトップ、パームトップ、パーソナル電子装置など）、パーソナル・コンピュータ（ＰＣ）、ハード・コピー機器（例えばプリンタ、プロッタ、ファクス機など）、銀行業務機器（例えば現金自動預払機）などを含めることができる。インフォメディアリ（情報媒体）とは、商品およびサービスの生産者に代わって情報を提供するウェブ・サイトであり、ビジネスに、供給業者および他のビジネスから提供される製品および／またはサービスに関する関連情報を供給する。コンテントとは、アプリケーション・プログラム、ドライバ・プログラム、ユーティリティ・プログラム、ファイル、ペイロードなど、およびそれらの組合せ、ならびに、グラフィックス、情報材料（記事、株式相場、他）などのうちの１つまたはいずれかの組合せについて言う。「ペイロード」とは、グラフィックスまたは情報材料（記事、株式相場、他）を伴うメッセージについて言い、ファイルまたはアプリケーションを含めることができる。一実施形態では、これは所定時にシステムの大容量記憶媒体に転送される。さらに、「通信リンク」とは、通信の媒体またはチャネルについて言う。通信リンクには、これらに限定されないが、電話回線、モデム接続、インターネット接続、ＩＳＤＮ（Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ）、非同期転送モード（ＡＴＭ）接続、フレーム・リレー接続、イーサネット接続、同軸接続、光ファイバ接続、衛星接続（例えばディジタル・サテライト・サービス他）、無線接続、無線周波（ＲＦ）リンク、電磁リンク、双方向ページング接続など、およびそれらの組合せを含めることができる。
【００１４】  さらに、オペレーティング・システム（「ＯＳ」）のロードとは、オペレーティング・システム・ブートストラップ・ローダの最初の設置について言う。一実施形態では、ＯＳロード中に、通常、情報のセクタがハード・ディスクからシステム・メモリにロードされる。あるいは、ブートストラップ・ローダがネットワークからシステム・メモリにロードされる。ＯＳ「ブート」とは、ブートストラップ・ローダの実行について言う。これは、ＯＳをシステムの制御下に置く。ＯＳブート中に行われるいくつかの動作には、システム構成、装置検出、ドライバのロードおよびユーザ・ログインが含まれる。ＯＳランタイムとは、ブート段階の完了およびＯＳによるアプリケーション実行の開始について言う。一実施形態では、ＯＳランタイムの間、ＯＳはユーザと対話して、アプリケーションを実行および／または稼動させる。パワー・オン・セルフ・テスト（Power On Self Test：「ＰＯＳＴ」）とは、ＯＳのロード前にシステム・ハードウェアを構成および検査するために実行される命令である。
【００１５】  システムの概観
本発明の実施形態を組み入れる例示的なシステムの記述を以下に述べる。
【００１６】  図１に、本発明の装置および方法が使用される情報分配システム１０の一実施形態のシステム・ブロック図を示す。システム１０は、インフォメディアリの提供に関係する。これは、保証サービス登録、インターネット・サービス登録、システム・プロファイル、およびユーザ選好から主に収集される、インターネット・ユーザ・プロファイルおよびシステム・プロファイルの安全かつ私的なリポジトリの構築および維持を含む。最初にこの情報は、購入されたハードウェア製品およびソフトウェア製品の製造業者と、オンラインまたは他のサービスのプロバイダとにユーザを登録するのに使用される。時の経過に伴い、ユーザ・データは、ユーザ・プロファイルを作成するためと、ユーザに当該ソフトウェアの更新およびアップグレードを通知するために使用されて、関連商品のオンライン購入を奨励し、１対１のマーケティングおよび他のサービスを可能にする。
【００１７】  一実施形態では、本発明の様々な実施形態を実施するために２つのソフトウェア・モジュールが使用される。一方がユーザのシステム上に常駐し、所定のウェブ・サイトにアクセスするのに使用される。例えば一実施形態では、オペレーティング・システムおよび基本入出力システム（ＢＩＯＳ）がコンピュータ・システムに事前にインストールされ、続いてコンピュータ・システムが最初に電源を入れられるとき、考察の目的で第１のソフトウェア・モジュールと呼ぶアプリケーションが（一実施形態では第１のソフトウェア・モジュールは初期スタートアップ・アプリケーション（ＩＳＵＡ）であり、後続の章で述べる）、プリブート環境で１つまたは複数の実行可能プログラムの起動を可能にする。一実施形態では、第１のソフトウェア・モジュールは、ＯＳのロード、ブート、実行、および／または稼動の前に１つまたは複数の実行可能プログラムを起動するのを助ける。一実施形態では、ユーザは、このようなプログラムの使用（すなわち第１のソフトウェア・モジュールの使用）を選択するよう奨励され、代替実施形態では、プログラムは自動的に起動される。第１のソフトウェア・モジュール中に含まれるプログラムは、ツールおよびユーティリティが適時に、かつ正しいユーザ許可によって稼動するようにし、また、ユーザがインターネット接続を通してドライバ、アプリケーション、および追加ファイルまたはペイロードを含む第２のソフトウェア・モジュールをＰＣ上にダウンロードできるようにする。プログラムはまた、ＯＳが首尾よく起動できない場合にシステムの遠隔管理も可能にする。
【００１８】  第２のソフトウェア・モジュールが配信されると、これはメモリに常駐し、第１のソフトウェア・モジュールのコピーの転送をディスエーブルにすることができる。システムの不揮発性メモリにまだ常駐している第１のソフトウェア・モジュールのオリジナル・コピーは、第２のソフトウェア・モジュールが機能できなくなるか、破損するか、削除されるまでアイドル状態を保ち、第２のソフトウェア・モジュールがそのようになった際、元の第１のソフトウェア・モジュールのコピーが再び前述のように転送される。第２のソフトウェア・モジュールは、ユーザをインターネット上の特定のサーバに接続し、ユーザを所定のウェブ・サイトに向かわせて別の申込み試料をダウンロードする許可を要求させるアプリケーションを含むことができる。第２のソフトウェア・モジュールはまた、第１のソフトウェア・モジュールに等しいか類似するコンテントも含むことができる。
【００１９】
一実施形態では、システムはまた、読出し専用メモリＢＩＯＳ（ＲＯＭ ＢＩＯＳ）中に記憶される初期ペイロードも含むことができる。一実施形態では、初期ペイロードは、第１のソフトウェア・モジュール（例えばＩＳＵＡ）の一部である。代替実施形態では、初期ペイロードは、ＲＯＭ ＢＩＯＳ中のモジュールとして、第１のソフトウェア・モジュールとは別に記憶される。一実施形態では、初期ペイロードはＲＯＭ ＢＩＯＳから起動され、パワー・オン・セルフ・テスト（ＰＯＳＴ）後に、ただしＯＳのブート、ロード、および／または実行の前に、画面上に表示される。これは、所定時、例えばシステムが製造、組立て、および検査されているときや、エンド・ユーザが最初にシステムをアクティブにするときなどに行われる場合がある。代替実施形態では、この初期ペイロードは、所定時、例えばシステムが製造、組立て、および検査されているときや、エンド・ユーザが最初にシステムをアクティブにするときなどに、所定の位置（システムのハード・ディスクなど）にコピーされる。コピーされると、ペイロードはＰＯＳＴ後に、ただしＯＳの実行前に実行され、グラフィックス、広告、アニメーション、ＪＰＥＧ（Ｊｏｉｎｔ Ｐｈｏｔｏｇｒａｐｈｉｃ ＥｘｐｅｒｔｓＧｒｏｕｐ）／ＭＰＥＧ（Ｍｏｖｉｎｇ Ｐｉｃｔｕｒｅ Ｅｘｐｅｒｔｓ Ｇｒｏｕｐ）形式の材料を画面上に表示することができる。追加プログラムおよび／またはペイロードが（インターネットまたは他の外部接続を介して）配信されるとき、表示画面を使用して、メッセージまたはグラフィックスの形でカスタマイズされた画面を、ＯＳのブート前およびその間に提供することができる。さらに、ウェブ・サイトからダウンロードされた第１のソフトウェア・モジュールならびに後続のプログラム（第２のソフトウェア・モジュールなど）中で配信される実行可能プログラムを使用して、インストールされた様々なタイプの装置、ドライブ、およびアプリケーションを決定するためにＰＣを調査することができる。一実施形態では、参照により本明細書に組み込む、本願と同時係属の「Ｍｅｔｈｏｄ ａｎｄ Ａｐｐａｒａｔｕｓ ｆｏｒ ＡｕｔｏｍａｔｉｃａｌｌｙＩｎｓｔａｌｌｉｎｇ Ａｎｄ Ｃｏｎｆｉｇｕｒｉｎｇ Ｓｏｆｔｗａｒｅｏｎ ａ Ｃｏｍｐｕｔｅｒ」という名称の米国特許出願第０７／３３６２８９号に記載されているように、第１のソフトウェア・モジュールを使用して、ユーザに対するショートカットおよび／またはブックマークが識別され、自動的に作成される。ウェブ・サイトからダウンロードされるプログラムは、ユーザの選好に基づくユーザ・プロファイルを収集および維持するソフトウェアを含むことができる。このような情報は、インフォメディアリに提供することができ、続いてこのインフォメディアリは、情報および／または情報に基づいてコンパイルされたデータの一部を供給業者および他のビジネスに転送して、それらの供給業者および他のビジネスから提供される情報の更新または改訂を入手する。
【００２０】  図１を参照すると、情報分配システム１０は、１つまたは複数の通信リンク３０1〜３０Nを介して１つまたは複数のユーザ・コンピュータ・システム４０1〜４０N（「４０」）に接続されるサービス・センタ２０を含む。サービス・センタ２０は、１つまたは複数のサーバ２２、１つまたは複数のデータベース２４、および１つまたは複数のコンピュータ２６1〜２６Mを含む。１つまたは複数のコンピュータ２６1〜２６Mは、複数のユーザ・コンピュータ・システム４０1〜４０Nから同時にアクセスすることができる。複数のコンピュータが使用される場合、コンピュータ２６1〜２６Mは、ローカル・エリア・ネットワーク（ＬＡＮ）またはいずれか他の同様の接続技術によって接続することができる。しかし、サービス・センタ２０は、他の構成をとることも可能である。例えば、より大きなコンピュータ上で稼動するいくつかの内部プログラムまたはプロセスを有し、ユーザ・コンピュータとの通信リンクを確立することのできる、より少数のより大きなコンピュータ（すなわち少数のメインフレーム・コンピュータ、ミニ・コンピュータなど）である。
【００２１】  サービス・センタ２０はまた、遠隔ネットワーク５０（例えばインターネット）または遠隔サイト（例えば衛星、図１には図示せず）に接続することもできる。遠隔ネットワーク５０または遠隔サイトは、サービス・センタ２０がより多彩なコンピュータ・ソフトウェアやコンテントなどを提供できるようにし、それらはサービス・センタ２０に記憶することができる。サービス・センタ・コンピュータ、例えばコンピュータ２６1などに接続される、１つまたは複数のデータベース２４は、コンピュータ２６で利用できるコンピュータ・ソフトウェアからなるデータベース・エントリを記憶するのに使用される。一実施形態では、各ユーザ・コンピュータ４０1〜４０Nは、他のどのコンピュータからもアクセスできないそれ自体の安全なデータベース（図示せず）を有する。通信リンク３０1〜３０Nは、１つまたは複数のユーザ・コンピュータ・システム４０1〜４０Nが同時にコンピュータ２６1〜２６Mに接続できるようにする。接続は、サーバ２２によって管理される。
【００２２】
ユーザ・コンピュータ・システム４０が情報サービス・コンピュータ２６との双方向通信を確立した後、以下に述べるように、コンテントがユーザ・コンピュータ・システム４０に送信される。ダウンロードされるコンテントは、ユーザ・プロファイルならびにユーザのシステムのプロファイルを製作するためにユーザおよび／またはユーザ・コンピュータ・システムのハードウェアおよび／またはソフトウェアを調査するアプリケーションを含む。続いて、ユーザおよび／またはユーザのコンピュータ・システムから収集された情報がサービス・センタ２０に提供され、このサービス・センタ２０は、ユーザ・プロファイルおよびシステム・プロファイルに基づいて、ユーザ・コンピュータ４０に追加コンテントを提供する。一実施形態では、ユーザ・プロファイルおよびシステム・プロファイルのこのような転送は、Ｐｈｏｅｎｉｘ Ｔｅｃｈｎｏｌｏｇｉｅｓ社に譲渡された、本願と同時係属の１９９９年６月１８日出願の「Ｍｅｔｈｏｄ ａｎｄ ａｐｐａｒａｔｕｓ ｆｏｒ Ｔｒａｎｓｆｅｒｒｉｎｇ Ｐｒｏｆｉｌｅ Ｄａｔａ ｔｏ ａ Ｓｅｒｖｅｒ Ｕｓｉｎｇ ａ ＲＯＭ−Ｂａｓｅｄ Ｓｅｃｕｒｉｔｙ ｋｅｙ」という名称の米国特許出願第０７／３３６２８９号に記載されているような安全な方式で提供され、この内容を参照により本明細書に組み込む。サービス・コンピュータ２６に接続されるデータベースからのデータベース・エントリは、コンピュータ・ソフトウェア、ハードウェア、およびユーザに入手可能な第３者サービスおよび製品に関する情報を含む。ユーザ・プロファイルおよび／またはシステム・プロファイルに基づいて、コンテントはさらにユーザ・コンピュータに表示用に送信される。コンテントはまた、既存のコンピュータ・ソフトウェアに対するパッチおよび修正、既存のコンピュータ・ソフトウェアの新バージョン、新作コンピュータ・ソフトウェア、新しいヘルプ・ファイルなどの入手可能性など情報の一覧を含むこともできる。コンテントはさらに、ユーザにとって興味のあるハードウェア、第３者製品およびサービスの入手可能性に関する情報を含むこともできる。次いでユーザは、入手可能な製品およびサービスから１つまたは複数の選択をして、サービス・コンピュータ２６からユーザ・コンピュータにその製品を転送するように要求することができる。あるいは、ユーザは、入手可能な製品およびサービスの一覧から所望の製品またはサービスを購入することもできる。
【００２３】  図２Ａに、本発明の実施形態を実施できる例示的なコンピュータ・システム１００を示す。コンピュータ・システム１００は、ユーザ・コンピュータ・システム４０1〜４０Nおよび／またはコンピュータ２６1〜２６M（図１）の一実施形態を例示するが、他の実施形態も容易に使用することができる。
【００２４】  図２Ａを参照すると、コンピュータ・システム１００は、プロセッサすなわち中央処理装置（ＣＰＵ）１０４を含む。例示のＣＰＵ１０４は、計算を実行するための論理演算装置（ＡＬＵ）、データおよび命令の一時記憶用のレジスタの集積、およびシステム１００に対する操作を制御するための制御ユニットを含む。一実施形態では、ＣＰＵ１０４は、ＩｎｔｅｌTMコーポレーションから発売のｘ８６、ＰｅｎｔｉｕｍTM、ＰｅｎｔｉｕｍＩＩTM、Ｐｅｎｔｉｕｍ  ＰｒｏTMマイクロプロセッサ、ＡＭＤTMから発売のＫ−６マイクロプロセッサ、またはＣｙｒｉｘTMコーポレーションから発売の６ｘ８６ＭＸマイクロプロセッサのいずれかを含む。別の例は、Ｄｉｇｉｔａｌ  Ｅｑｕｉｐｍｅｎｔ  ＣｏｒｐｏｒａｔｉｏｎTMから発売のＡｌｐｈａTMプロセッサ、ＭｏｔｏｒｏｌａTMから発売の６８０Ｘ０プロセッサ、またはＩＢＭTMから発売のＰｏｗｅｒ  ＰＣTMプロセッサを含む。さらに、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ、ＭＩＰＳ、ＩＢＭ、Ｍｏｔｏｒｏｌａ、ＮＥＣ、Ｃｙｒｉｘ、ＡＭＤ、Ｎｅｘｇｅｎ他からのものを含めた他の様々なプロセッサのいずれかを、ＣＰＵ１０４に実装するのに使用することもできる。ＣＰＵ１０４は、マイクロプロセッサに限定されず、マイクロコントローラ、ディジタル信号プロセッサ、ＲＩＳＣ（ｒｅｄｕｃｅｄ  ｉｎｓｔｒｕｃｔｉｏｎ  ｓｅｔ  ｃｏｍｐｕｔｅｒｓ）、アプリケーション特有の集積回路など、他の形をとることもできる。コンピュータ・システム１００は、１つのＣＰＵ１０４と共に示されるが、別法として複数の処理装置を含むこともできる。
【００２５】  ＣＰＵ１０４は、ＣＰＵバス１０８によってバス・コントローラ１１２に結合される。バス・コントローラ１１２は、その中に統合されるメモリ・コントローラ１１６を含むが、メモリ・コントローラ１１６は、バス・コントローラ１１２の外部にあってもよい。メモリ・コントローラ１１６は、ＣＰＵ１０４または他の装置からメモリ・バス１２０を介してシステム・メモリ１２４にアクセスするためのインタフェースである。一実施形態では、システム・メモリ１２４は、ＳＤＲＡＭ（ｓｙｎｃｈｒｏｎｏｕｓ  ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）を含む。システム・メモリ１２４は任意選択で、いずれかの追加または代替の高速メモリ装置またはメモリ回路を含むこともできる。バス・コントローラ１１２はシステム・バス１２８に結合され、このシステム・バス１２８は、ＰＣＩ（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ）バス、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バスなどとすることができる。システム・バス１２８には、グラフィックス・コントローラ、グラフィックス・エンジン、またはビデオ・コントローラ１３２と、大容量記憶手段１５２と、通信インタフェース装置１５６と、１つまたは複数の入出力装置（Ｉ／Ｏ）１６８1〜１６８Nと、拡張バス・コントローラ１７２とが結合される。ビデオ・コントローラ１３２は、ビデオ・メモリ１３６（例えば８メガバイト）およびビデオＢＩＯＳ１４０に結合され、これらはすべて、番号１４４で示すように単一のカードまたは装置上に統合することができる。ビデオ・メモリ１３６は、表示画面１４８上に情報を表示するための表示データを収容するのに使用され、ビデオＢＩＯＳ１４０は、ビデオ・コントローラ１３２を制御するためのコードおよびビデオ・サービスを含む。別の実施形態では、ビデオ・コントローラ１３２は、ＡＧＰ（Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）バスを介してＣＰＵ１０４に結合される。
【００２６】  大容量記憶手段１５２には、（これらに限定されないが、）ハード・ディスク、フロッピー・ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、テープ、高密度フロッピー、大容量取外し可能媒体、低容量取外し可能媒体、固体メモリ装置など、およびこれらの組合せが含まれる。大容量記憶手段１５２には、他のどんな大容量記憶媒体を含めることもできる。通信インタフェース装置１５６には、通信リンク１６０を介してネットワーク１６４にアクセスするためのネットワーク・カード、モデム・インタフェースなどが含まれる。入出力装置１６８1〜１６８Nには、キーボード、マウス、オーディオ／サウンドカード、プリンタなどが含まれる。入出力装置１６８1〜１６８Nは、ディスク・ドライブ、例えばコンパクト・ディスク・ドライブ、ディジタル・ディスク・ドライブ、テープ・ドライブ、ｚｉｐドライブ、ｊａｚｚドライブ、ディジタル・ビデオ・ディスク（ＤＶＤ）ドライブ、光磁気ディスク・ドライブ、高密度フロッピー・ドライブ、大容量取外し可能媒体ドライブ、低容量媒体装置、および／またはこれらのいずれかの組合せとすることができる。拡張バス・コントローラ１７２は不揮発性メモリ１７５に結合され、この不揮発性メモリ１７５はシステム・ファームウェア１７６を含む。システム・ファームウェア１７６はシステムＢＩＯＳ８２を含み、このシステムＢＩＯＳ８２は、とりわけコンピュータ・システム１００内のハードウェア・装置を制御するためのものである。システム・ファームウェア１７６はまた、ＲＯＭ１８０およびフラッシュ（またはＥＥＰＲＯＭ）１８４も含む。拡張バス・コントローラ１７２はまた、ＲＡＭ、ＲＯＭ、および／またはフラッシュ・メモリ（図示せず）を有する拡張メモリ１８８ａにも結合される。システム１００は追加的に、バス・コントローラ１１２に結合されるメモリ・モジュール１９０も含む。一実施形態では、メモリ・モジュール１９０は、ＲＯＭ１９２およびフラッシュ（またはＥＥＰＲＯＭ）１９４を含む。
【００２７】  当業者によく知られているように、コンピュータ・システム１００はさらに、オペレーティング・システム（ＯＳ）、および少なくとも１つのアプリケーション・プログラムを含み、一実施形態では、これらは、大容量記憶手段１５２からシステム・メモリ１２４にロードされ、ＰＯＳＴ後に起動される。ＯＳには、これらに限定または制約されないが、ＤＯＳ、ＷｉｎｄｏｗｓTM（例えばＷｉｎｄｏｗｓ９５TM、Ｗｉｎｄｏｗｓ９８TM、ＷｉｎｄｏｗｓＮＴTM）、Ｕｎｉｘ、Ｌｉｎｕｘ、ＯＳ／２、ＯＳ／９、Ｘｅｎｉｘなどを含めた、どんなタイプのＯＳも含めることができる。オペレーティング・システムは、コンピュータ・システムの動作および資源の分配を制御する１つまたは複数のプログラムのセットである。アプリケーション・プログラムは、ユーザに望まれるタスクを実行する１つまたは複数のプログラムである。
【００２８】  コンピュータ・プログラミングの当業者の慣習に従って、本発明は、その他の指示がない限り、コンピュータ・システム１００によって実行される動作の象徴的な表現に関連して以下に述べる。このような操作は、コンピュータ実行と言われることがある。象徴的に表される動作には、ＣＰＵ１０４によるデータ・ビットを表す電気信号の操作、およびシステム・メモリ１２４内のメモリ位置でのデータ・ビットの維持、ならびに他の信号処理が含まれることを理解されたい。データ・ビットが維持されるメモリ位置は、データ・ビットに対応する特有の電気、磁気、光学、または有機の特性を有する物理位置である。
【００２９】  ソフトウェア中に実装されるとき、本発明の要素は本質的に、必要なタスクを実行するコード・セグメントである。プログラムまたはコード・セグメントは、プロセッサ読取可能媒体中に記憶することもでき、また、搬送波に組み入れられるコンピュータ・データ信号によって、伝送媒体または通信リンクを介して伝送することもできる。「プロセッサ読取可能媒体」には、情報を記憶または転送できるどんな媒体も含めることができる。プロセッサ読取可能媒体の例には、電子回路、半導体メモリ装置、ＲＯＭ、フラッシュ・メモリ、消去可能ＲＯＭ（ＥＲＯＭ）、フロッピー・ディスケット、ＣＤ−ＲＯＭ、光ディスク、ハード・ディスク、光ファイバ媒体、無線周波（ＲＦ）リンクなどが含まれる。コンピュータ・データ信号には、電子ネットワーク・チャネル、光ファイバ、空気、電磁気、ＲＦリンクなどの伝送媒体を介して伝播できる、どんな信号も含めることができる。コード・セグメントは、インターネットやイントラネットなどのコンピュータ・ネットワークを介してダウンロードすることができる。
【００３０】  コンピュータのオペレーティング・システムは通常、ハード・ディスク上におけるデータの具体的な構成を指定する。コンピュータ・ハード・ディスクは通常、秩序立ったデータの記憶および抽出を助けるために、セクタと呼ばれるブロックに構成される。これらのセクタは、シリンダ（またはトラック）番号、ヘッド（またはサイド）番号、およびセクタ番号と呼ばれる固有の規則子のセットによってディスク上に配置される。パーソナル・コンピュータでは、シリンダは従来、ゼロから所与のディスクに許容される最大数までの番号を付けられ、ヘッドは、ゼロから所与のシリンダに対する最大数までの番号を付けられ、セクタは、１から所与のシリンダおよびヘッドに対する最大セクタ数までの番号を付けられる。あるいは、これら固有の規則子は単に、ＮＮを最大セクタ数とした場合にＯ−ＮＮであるセクタ数とすることもできる。
【００３１】  図２Ｂに、典型的なオペレーティング・システムによって実装される、シリンダ番号０上にある第１のヘッドの対に対するセクタ割振技術の一実施形態を示す。ＢＩＯＳは、オペレーティング・システムをブートするために第１のハード・ディスクからシリンダ０、ヘッド０、セクタ１を読み取る規定を含むハード・ディスクをサポートする。このセクタ（０／０／１）は、マスタ・ブート・レコードまたはパーティション・セクタと呼ばれ、ハード・ディスクがどのようにパーティションに分割されるかに関する情報を含み、ブート可能としてマークされたパーティションを突き止めるのに十分な実行可能コードを提供する。パーティション・セクタは、個々のパーティションに関する情報を含み、パーティション・テーブル内のパーティション・エントリを使用して記憶される。ブート・プロセス中に、パーティションの第１のセクタがメモリにコピーされ、次いで実行される。
【００３２】
図３に、コンピュータ・システム１００の論理図を示す。図２Ａおよび３を参照すると、システム・ファームウェア１７６はソフトウェア・モジュールおよびデータを含み、これらは、ＰＯＳＴ中にシステム・メモリ１２４にロードされ、続いてプロセッサ１０４によって実行される。一実施形態では、システム・ファームウェア１７６は、システムＢＩＯＳハンドラやハードウェア・ルーチンなどを有するシステムＢＩＯＳモジュール８２、ＲＯＭアプリケーション・プログラム・インタフェース（ＲＡＰＩ）モジュール８４、初期スタートアップ・アプリケーション（ＩＳＵＡ）モジュール８６、初期ペイロード８８ａ、暗号鍵９０、暗号エンジン９２、および表示エンジン９４を含む。ＲＡＰＩ８４は、ＲＯＭアプリケーション・プログラムとシステムＢＩＯＳ８２との間に安全なインタフェースを提供する。前述のシステム・ファームウェア１７６のモジュールおよび各部は、ＲＯＭ１８０および／またはフラッシュ１８４中に含めることができる。あるいは、前述のシステム・ファームウェア１７６のモジュールおよび各部は、ＲＯＭ１９０および／またはフラッシュ１９４中に含めることもできる。ＲＡＰＩ８４、ＩＳＵＡ８６、および初期ペイロード８８ａはそれぞれ、コンピュータ・システム１００を最初に使用する前に、別々に開発してシステム・ファームウェア１７６に記憶することができる。一実施形態では、ＲＡＰＩ８４、ＩＳＵＡ８６、および初期ペイロード８８ａはそれぞれ、Ｐｈｏｅｎｉｘ Ｔｅｃｈｎｏｌｏｇｉｅｓ社によって開発されたプロプライエタリ・ソフトウェアを含む。ＲＡＰＩ８４の一実施形態は、Ｐｈｏｅｎｉｘ Ｔｅｃｈｎｏｌｏｇｉｅｓ社に譲渡された、本願と同時係属の１９９９年６月１８日出願の「Ｓｙｓｔｅｍ ａｎｄ Ｍｅｔｈｏｄ ｆｏｒ Ｓｅｃｕｒｉｔｙ Ｕｔｉｌｉｚｉｎｇ Ｂａｓｉｃ Ｉｎｐｕｔ ａｎｄ Ｏｕｔｐｕｔ Ｓｙｓｔｅｍ（ＢＩＯＳ）Ｓｅｒｖｉｃｅｓ」という名称の米国特許出願第０９／３３６８８９号に記載されており、これを参照により本明細書に組み込む。ＩＳＵＡ８６の一実施形態は、Ｐｈｏｅｎｉｘ Ｔｅｃｈｎｏｌｏｇｉｅｓ社に譲渡された、本願と同時係属の１９９９年６月１８日出願の「Ｍｅｔｈｏｄ ａｎｄ Ａｐｐａｒａｔｕｓ ｆｏｒ Ａｕｔｏｍａｔｉｃａｌｌｙ Ｉｎｓｔａｌｌｉｎｇ ａｎｄ Ｃｏｎｆｉｇｕｒｉｎｇ Ｓｏｆｔｗａｒｅ ｏｎ ａ Ｃｏｍｐｕｔｅｒ」という名称の米国特許出願第０７／３３６２８９号に記載されており、この内容を参照により本明細書に組み込む。
【００３３】
一実施形態では、図３および図４Ａ・４Ｂに示すように、新しいコンピュータ・システム１００に最初に電源が入れられた後、システムは、ＰＯＳＴプロシージャから開始する。初期ＰＯＳＴの間、Ａ１によって示すようにＩＳＵＡ８６が大容量記憶手段１５２に転送される。一実施形態では、このような転送は、製造および／または組立ての過程の間に、オペレーティング・システムをインストールした後で（ただしオペレーティング・システムをブート、ロード、および稼動させる前に）システム１００に最初に電源が入れられるときに行われる。代替実施形態では、このような転送は、製造および／または組立ての過程の後で、ユーザがシステム１００を受け取って電源を入れるときに行われるようにすることもできる。他の代替実施形態では、ＩＳＵＡ８６の転送中に、追加のプログラム、アプリケーション、ドライブ、データ、グラフィックス、および他の情報を（例えばＲＯＭから）大容量記憶手段１５２に転送することもできる。例えば転送は、大容量記憶手段１５２への初期ペイロード８８ａの転送を含むことができ、それに続いて初期ペイロードは大容量記憶手段１５２から配信される。あるいは、初期ペイロードはＲＯＭから配信することもできる。転送プロセスの一実施形態は、図５〜８、および添付の文書（「配信プロセス」参照）で述べる。このような転送を助けるためのシステムおよびプロセスの代替実施形態は、本願と同時係属の１９９９年３月１９日出願の「Ｍｅｔｈｏｄ ａｎｄ Ａｐｐａｒａｔｕｓｆｏｒ Ｐｒｏｖｉｄｉｎｇ Ｍｅｍｏｒｙ−ｂａｓｅｄ Ｄｅｖｉｃｅ Ｅｍｕｌａｔｉｏｎ」という名称の米国特許出願第０９／２７２８５９号、本願と同時係属の１９９９年６月１８日出願の「Ｍｅｔｈｏｄ ａｎｄ Ａｐｐａｒａｔｕｓ ｆｏｒ Ｐｒｏｖｉｄｉｎｇ Ｍｅｍｏｒｙ−Ｂａｓｅｄ Ｄｅｖｉｃｅ Ｅｍｕｌａｔｉｏｎ」という名称の米国特許出願第０９／３３６３０７号、および本願と同時係属の１９９９年６月１８日出願の「Ｓｙｓｔｅｍ ａｎｄ Ｍｅｔｈｏｄ ｆｏｒ Ｉｎｓｅｒｔｉｎｇ Ｏｎｅ ｏｒ Ｍｏｒｅ Ｆｉｌｅｓ ＯｎｔｏＭａｓｓ Ｓｔｏｒａｇｅ」という名称の米国特許出願第０９／３３６２８１号に記載されており、それぞれは、本発明の譲受人であるＰｈｏｅｎｉｘ Ｔｅｃｈｎｏｌｉｇｉｅｓ社に譲渡され、それぞれの内容を参照により本明細書に組み込む。他の実施形態では、ＩＳＵＡ８６の転送後にＩＳＵＡ８６が機能していないか欠陥があることが分かった場合、これは自動的にインストール解除される。このようなインストール解除の技術は、本発明の譲受人であるＰｈｏｅｎｉｘ Ｔｅｃｈｎｏｌｏｇｉｅｓ社に譲渡された、本願と同時係属の１９９９年６月１８日出願の「Ｍｅｔｈｏｄ ａｎｄ Ａｐｐａｒａｔｕｓ ｔｏ ＡｕｔｏｍａｔｉｃａｌｌｙＤｅ−Ｉｎｓｔａｌｌ ａｎ Ａｐｐｌｉｃａｔｉｏｎ Ｍｏｄｕｌｅ Ｗｈｅｎ Ｎｏｔ Ｆｕｎｃｔｉｏｎｉｎｇ」という名称の米国特許出願第０９／３３６２５４号に記載されており、この内容を参照により本明細書に組み込む。
【００３４】
一実施形態では、ＩＳＵＡ８６は、エンド・ユーザのシステム上に常駐している、事前にインストールされたプログラムがあるかどうかを判定することになるコンピュータ・ソフトウェア実行可能プログラムである。事前にインストールされたプログラムがある場合、ＩＳＵＡ８６は、これら事前にインストールされたプログラムを識別し、ショートカット（Ｗｉｎｄｏｗｓオペレーティング・システムの場合はデスクトップ上に）、またはブックマークを作成して、ユーザが自動的にプログラムを起動できるようにする。この実施形態では、実行可能プログラムはまた、以下に述べるように、サーバ２２および／またはいずれかのサービス・コンピュータ２６（図１）上にある１つまたは複数のアプリケーションと双方向通信を開始および確立することもできる。さらに、一実施形態では、初期ペイロード８８ａの画像コンテントが、ＰＯＳＴ中に表示エンジン９４によってユーザの表示画面１４８上に表示される。あるいは、初期ペイロード８８ａの画像コンテントは、後続のブート・プロセスの後で表示することもできる。例えば、以下に述べるようにユーザのプロファイルの一部として、ユーザが１つまたは複数の製品および／またはサービスに関する追加情報の入手を希望するかどうかをユーザに尋ねることができる。ユーザがそう望む場合、所望の製品および／またはサービスに関するコンテントが、後続のブート・プロセス中に表示されることになる。一実施形態では、このような表示プロセスは、本発明の譲受人であるＰｈｏｅｎｉｘ Ｔｅｃｈｎｏｌｏｇｉｅｓ社に譲渡された、本願と同時係属の「Ｍｅｔｈｏｄ ａｎｄ Ａｐｐａｒａｔｕｓ ｆｏｒ Ｅｘｔｅｎｄｉｎｇ ＢＩＯＳ Ｃｏｎｔｒｏｌ ｏｆ Ｓｃｒｅｅｎ Ｄｉｓｐｌａｙ ＢｅｙｏｎｄＯｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ Ｂｏｏｔ」という名称の米国特許出願第０９／３３６１８０号に記載されており、この内容を参照により本明細書に組み込む。
【００３５】  ＰＯＳＴが完了すると、ＯＳがロード、実行、および初期化される。次いで、標準ＯＳドライバおよびサービスがロードされる。次いでユーザは、年齢、性別、趣味などの人口統計情報を含めた登録情報の入力を要求される。さらにＩＳＵＡ８６が実行され、これはバックグラウンドで稼動し、図２Ａのネットワーク１６４を介して（例えばインターネットを介して）コンピュータ・システム１００と遠隔サーバ（例えば図１のサーバ２２）との間に確立された通信リンクを検出するまで、アイドル状態を保つ。ＩＳＵＡ８６をシステム・ファームウェア１７６に記憶されているように示すが、ＩＳＵＡ８６は別法として、システム・メモリ１２４、メモリ・モジュール１９０、大容量記憶装置１５２、いずれかの入出力装置１６８中に位置してもよく、あるいは通信インタフェース１５６中に提供されてもよいことに留意されたい。
【００３６】  一実施形態では、ＩＳＵＡ８６はオペレーティング・システムを検索して、システムに事前にロードおよびインストールされたアプリケーションがあるかどうかを判定する。そのようなアプリケーションがある場合、ＩＳＵＡ８６は、通信リンクが確立されれば所定のサーバに向かうように、アプリケーションに対して自動的にショートカットおよび／またはブックマークを提供することができる。この通信リンクは、ソケットを通したネットワーク・プロトコル・スタック（例えばＴＣＰ／ＩＰ）でも、あるいは当技術業界で周知の他のどんな双方向通信技術でも確立することができる。通信リンク３０が確立されると、ＩＳＵＡ８６はサーバ２２にコンテント・モジュール６０から初期コンテント・パッケージ６２をダウンロードする要求信号を発行する（Ａ２によって示す）。要求に応答して、サーバは初期コンテント・パッケージ６２をダウンロードし（Ａ３によって示す）、これは一実施形態では大容量記憶手段１５２に記憶される。一実施形態では、初期コンテント６２および後続コンテント６４は別々に開発することができ、それぞれは、初期コンテント６２および後続コンテント６４をサーバ２２に格納する前に、暗号鍵を使用して暗号化および／またはディジタル署名される。続いて初期コンテント６２および／または後続コンテント６４がシステム１００にダウンロードされるとき、暗号エンジン９２は、鍵９０を使用して初期コンテント６２および／または後続コンテント６４を復号化することになる。
【００３７】  先に考察したように、初期コンテント・パッケージ６２は、アプリケーション６２ａ、ドライバ６２ｂ、およびペイロード６２ｃを含むことができる。一実施形態では、アプリケーション６２ａは、データ・ローダ・アプリケーションおよびプロファイル・マネージャ・アプリケーションを含む。データ・ローダ・アプリケーションは、ＩＳＵＡ８６と同じかまたは類似の仕方で機能し、ダウンロードされると、ＩＳＵＡ８６をディスエーブルにしてそれに置き換わる。より具体的には、データ・ローダ・アプリケーションも、サーバ２２とコンピュータ・システム１００との間の双方向通信を開始、確立、および終了することのできるコンピュータ・ソフトウェア・プログラムである。データ・ローダ・アプリケーションはまた、サーバ２２とコンピュータ・システム１００との間のトラフィック制御管理、ならびに、エンド・ユーザのシステムと指定されたサーバとの間の通信およびエンド・ユーザのシステムへのコンテントのダウンロードを助ける他の機能を提供する。
【００３８】  プロファイル・マネージャは、ユーザ選好、システム・ハードウェア、およびコンピュータ・システム１００にインストールされたソフトウェアに基づく、コンピュータ・システム１００のユーザ・プロファイルおよびシステム・プロファイルを得る。プロファイル・マネージャ・アプリケーションは、コンピュータ・システム１００のユーザ・プロファイルおよびシステム・プロファイルを得ると、その結果をデータ・ローダ・アプリケーションに転送し、続いてデータ・ローダ・アプリケーションは、その情報をサーバ２２に提供し、サーバ２２は、ユーザによって示された選好をデータベース２４（図１）と照合する。結果は所定の間隔で、あるいはユーザからの要求時に転送することができる。次いでサーバ２２は、ユーザ・プロファイル・データまたは人口統計データを処理し、類似するプロファイルを有するユーザに対してコンテントの的を絞る。さらに、複数のユーザのユーザ・プロファイル・データがサーバ２２上でコンパイルおよび集計されて、総計ユーザ・プロファイル・モデルが作成される。次いでコンテントは、ユーザ・プロファイル・データおよび／または総計ユーザ・プロファイル・モデルに基づいて、ユーザのコンピュータ・システムに送信される（Ａ４によって示す）。後続コンテント６４は、番号８８ｂによって示すシステム・ファームウェア１７６にダウンロードおよび記憶される。一実施形態では、後続コンテント６４は、フラッシュやＥＥＰＲＯＭなどの不揮発性メモリに記憶され、後続コンテントのロードは、当業者に周知のようにＲＯＭを再フラッシュすることによって行われる。後続コンテント６４はまた、大容量記憶手段１５２上の１つまたは複数のファイルとして記憶することもでき、ＷｉｎｄｏｗｓTMシステム・ファイルを修正するのに使用することもできる（ＷｉｎｄｏｗｓTM環境の場合）。プロファイル収集プロセスは、コンピュータ・システム１００がアクティブにされるまで継続する。一実施形態では、コンテントは、ユーザのプロファイルがサーバ２２に受け取られて分析された後でダウンロードすることもできる。
【００３９】
続いてコンピュータ・システム１００に電源が入るとき（図４Ｂ参照）、システムは再びＰＯＳＴを実行する。次いで、オペレーティング・システムのロードおよび／または実行の前に、あるいはＯＳのロード中に、システム・ファームウェア１７６に以前にダウンロードされて記憶され著作権問題が解決されているコンテントが表示される。一実施形態では、このような表示プロセスは、本発明の譲受人であるＰｈｏｅｎｉｘ Ｔｅｃｈｎｏｌｏｇｉｅｓ社に譲渡された、本願と同時係属の１９９９年６月１８日出願の「Ｍｅｔｈｏｄ ａｎｄ Ａｐｐａｒａｔｕｓ ｆｏｒ Ｅｘｔｅｎｄｉｎｇ ＢＩＯＳ Ｃｏｎｔｒｏｌ ｏｆ Ｓｃｒｅｅｎ Ｄｉｓｐｌａｙ Ｂｅｙｏｎｄ Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ Ｂｏｏｔ」という名称の米国特許出願第０９／３３６１８０号に記載されており、この内容を参照により本明細書に組み込む。このようなプロセスを使用して、オペレーティング・システムのロード以上に表示コンテントを拡張することができる。ＷｉｎｄｏｗｓTM環境では、オペレーティング・システムの初期ロード中に表示されるＷｉｎｄｏｗｓTMロゴは、続いて、以前にダウンロードされてシステム・ファームウェア１７６中に記憶されているコンテントを表示する１つまたは複数の画面で置き換えられる。
【００４０】
ＲＯＭを再フラッシュするのではなく、大容量記憶手段１５２上の１つまたは複数のファイルとしてコンテントを記憶する場合は、ブートアップおよびシャットダウン中に表示されるＷｉｎｄｏｗｓTMロゴ・ファイルが改変または置換される。この手法を利用する一実施形態は、対応するＷｉｎｄｏｗｓTMシステム・ファイルを、コンテントを示す１つまたは複数のファイル（例えばグラフィック・ファイル）で置き換えるものであり、これは、Ｐｈｏｅｎｉｘ Ｔｅｃｈｎｏｌｏｇｉｅｓ社に譲渡された、本願と同時係属の１９９９年６月１８日出願の「Ｄｉｓｐｌａｙｉｎｇ Ｉｍａｇｅｓ ｄｕｒｉｎｇ Ｂｏｏｔ−ｕｐ ａｎｄＳｈｕｔ−ｄｏｗｎ」という名称の米国特許出願第０９／３３６００３号に記載されており、この内容を参照により本明細書に組み込む。ブートアップＷｉｎｄｏｗｓ表示ファイルはＬＯＧＯ．ＳＹＳという名前が付いており、通常はＷｉｎｄｏｗｓディレクトリ内に位置する。最初に、ＷｉｎｄｏｗｓTMＬＯＧＯ．ＳＹＳファイルがＷｉｎｄｏｗｓディレクトリから別のディレクトリに転送される。次いで、コンテント・グラフィックス・ファイルはＬＯＧＯ．ＳＹＳという名前に変更され、ＷｉｎｄｏｗｓTMディレクトリに転送される。オペレーティング・システムは、オペレーティング・システムが最初に起動されるときにこのファイルを取り出し、したがって、コンテントが表示画面上に表示される。ＷｉｎｄｏｗｓTMは、後に表示目的で解像度を６４０×４００に拡張するであろうが、ＬＯＧＯ．ＳＹＳファイルを解像度３２０×４００および２５６色のビット・マップ・ファイルとして予想する。したがって、コンテント・グラフィックス・ファイルは、同じグラフィックス形式となるべきである（通常、ＬＯＧＯ．ＳＹＳに名前を変更される前には拡張子「．ＢＭＰ」の付いた名前が付く）。
【００４１】  次いで、オペレーティング・システムがロード、実行、および初期化される。標準オペレーティング・システム・ドライバおよびアプリケーションもまたロードされる。次いで、プロファイル・マネージャが実行される。所定のウェブ・サイトとのリンクが確立されたとき、追加コンテントをダウンロードして、続いて表示することができる。このような追加コンテントは、任意に提供することもでき、ユーザまたはユーザのシステムの調査から得た情報に基づいて提供することもできる。一実施形態では、ブート・プロセスが完了すると、表示画面の一部を使用して、以前に表示されたメッセージまたは広告に関する詳細情報にアクセスするのに使用されるアイコンまたはショートカットを提供することができる。他の実施形態では、メッセージまたは広告をシャットダウン時に再び表示することができ、例えば、メッセージ「Ｗｉｎｄｏｗｓをシャットダウンしています」または「もうコンピュータの電源を切っても安全です」を表示する画面表示を、選択された他の広告で置き換えることができる。
【００４２】  配信プロセス
図５Ａは、本発明のファイルまたはペイロード配信プロセス２００Ａの一実施形態の流れ図である。一実施形態では、ファイルまたはペイロードは、少なくとも１つのアプリケーション・プログラムを含む。代替施形態では、ファイルは、データおよび／またはグラフィックスを含む。ファイルはまた、ペイロードを含む場合もある。ファイルまたはペイロード配信プロセス２００Ａは、不揮発性記憶装置から所定の装置にペイロードを転送するアプリケーションである（これは、システム・メモリ１２４、メモリ１７６（図２Ａ参照）、拡張メモリ１８８ａ、メモリ・モジュール１９０に記憶されてもよく、いずれかの周辺モジュール１６８1〜１６８Nを介して提供されてもよい）。一実施形態では、所定の装置は、ハード・ディスクなどの大容量記憶手段１５２である。代替実施形態では、装置は、これらに限定されないが、ＣＤ  ＲＯＭ、ｚｉｐディスク、フロッピー・ディスク、およびフラッシュ・メモリを含めたどんな記憶装置でもよい。
【００４３】  電源投入開始状態から始まって、プロセス２００Ａは判定ブロック２１０に進み、以前のブート・プロセスが失敗したかどうかを照会する。失敗した場合、プロセス２００Ａはプロセス・ブロック２２０に進み、ファイル、アプリケーション、またはペイロードをインストールする。次いでプロセス２００Ａはプロセス・ブロック２３０に進み、通常のブート・プロセスを進める。判定ブロック２１０でブート・プロセスが失敗しなかったと判定した場合、判定ブロック２４０に進み、以前のブート・インストール・プロセスが成功だったかどうかを照会する。不成功のブート・インストール・プロセスの例には、ユーザによるブート・プロセスの中断が含まれる。以前のブート・インストール・プロセスが不成功であった場合、プロセス・ブロック２２０に進み、ファイルまたはペイロードがインストールされる。そうでない場合、プロセス２００Ａは完了する。
【００４４】  図５Ｂは、本発明のファイルまたはペイロード配信プロセスの第２の実施形態２００Ｂの流れ図である。電源投入開始状態から始まって、プロセス２００Ｂは判定ブロック２５０に進み、以前のブート・プロセスが失敗したかどうかを照会する。失敗した場合、プロセス２００Ｂはプロセス・ブロック２６０に進み、ファイルまたはペイロードをインストールする。次いでプロセス２００Ｂはプロセス・ブロック２７０に進み、通常のブート・プロセスを進める。判定ブロック２５０でプロセス２００Ｂが、以前のブート・プロセスが失敗しなかったと判定した場合、判定ブロック２８０に進み、以前のブート・インストール・プロセスが成功だったかどうかを照会する。成功だった場合、プロセス２００Ｂは完了する。そうでなかった場合、判定ブロック２９０に進み、ファイルまたはペイロードのインストールがディスエーブルにされるべきかどうかを判定する。ディスエーブルにされるべきでない場合、プロセス２００Ｂはプロセス・ブロック２６０に進み、ファイルまたはペイロードがインストールされる。ディスエーブルにされるべき場合、プロセス２００Ａは完了する。
【００４５】  図６Ａおよび６Ｂに、図５Ａのファイルまたはペイロード・アプリケーション・インストール・プロセス２２０または図５Ｂのファイルまたはペイロード・アプリケーション・インストール・プロセス２６０の一実施形態の流れ図を示す。考察のために、このプロセスをプロセス２２０と呼ぶことにする。開始状態から始まって、プロセス２２０はプロセス・ブロック３００に進み、システム上にインストールされた第１の装置を突き止める。一実施形態では、第１の装置は、ハード・ディスクなどの大容量記憶手段である。次にプロセス２２０は、ディスクの第１のセクタを読み取る（プロセス・ブロック３０５）。一実施形態では、第１のセクタは、装置のブート・セクタである。次いでプロセス２２０は、第１のセクタの読取り中にエラーがあったかどうかを判定する（判定ブロック３１０）。エラーがあった場合、プロセス２２０はブロック３１５に進み、システム上にインストールされる次の装置を突き止める。判定ブロック３１０で第１のセクタの読取り中にエラーがなかった場合、プロセス２２０は先に進み、サポートされるファイル・システムの存在をチェックする（プロセス・ブロック３２０）。プロセス２２０は、判定ブロック３２５に示すように、まずパーティション・テーブルが装置上に存在するかどうかを判定することによってこれを行う。存在しない場合、プロセス・ブロック３１５に進み、次の装置を突き止める。存在する場合、判定ブロック３３０に進み、パーティション・テーブルを検査してパーティションがアクティブであるかどうかを判定する。アクティブでない場合、プロセスはブロック３１５に進む。アクティブである場合、ブロック３３５に進む。
【００４６】  判定ブロック３３５で、プロセス２２０は、装置上のファイル・システムが、サポートされているまたは既知のシステムであるかどうかを照会する。システムがそうでない場合、プロセス２２０はブロック３４０に進み、「ファイル・システムはサポートされていません」などのエラー・メッセージを発行してエグジットする。ファイル・システムがサポートされているか既知である場合、プロセス２２０はブロック３４５に進み、ファイル・システムのディレクトリ構造を読み取り、既知のサブディレクトリを解析する。次いでプロセス２２０は、特定のファイルのセットを読み取ることによってオペレーティング・システムを決定し、ファイルのコンテントを解析する。次いでプロセス２２０は、初期化ディレクトリまたはスタートアップ・ディレクトリがあるかどうかを判定する。スタートアップ・ディレクトリは、起動時に情報のファイルを突き止めるためにデフォルトで使用されるディレクトリである。その場合、プロセス２２０は判定ステップ３５５に進み、スタートアップ・ディレクトリがあるかどうかを照会する。スタートアップ・ディレクトリがある場合は、プロセス２２０はファイルまたはペイロードをインストールし（プロセス・ブロック３６０）、次いで終了する。そうでない場合は、プロセス２２０はプロセス・ブロック３６５に示すように、スタートアップ・ディレクトリがないことを示すメッセージまたは信号を発行し、エグジットする。
【００４７】  図７は、図６Ａおよび６Ｂのファイルまたはペイロード・インストール・プロセス３６０の一実施形態を示す流れ図である。開始状態から始まって、プロセス３６０はプロセス・ブロック４００に進み、ファイル・システムのルート・ディレクトリを突き止める。次いでプロセス３６０は、２次ディレクトリ、例えばＷｉｎｄｏｗｓディレクトリが利用可能かどうかを判定する（プロセス・ブロック４１５）。利用可能な場合は、次いでプロセス３６０はプロセス・ブロック４２０に進み、２次ディレクトリに進む。次いでプロセス３６０は３次ディレクトリ（プロファイル・ディレクトリなど）が利用可能かどうかを照会する（プロセス・ブロック４２５）。利用可能である場合は、プロセス３６０はプロセス・ブロック４３０に進む。そうでない場合は、エラー・メッセージを発行し（プロセス・ブロック４３５）、エグジットする。判定ブロック４２５で、プロセス・ブロック３６０が、２次ディレクトリが利用可能でないと判定する場合は、プロセス・ブロック４４０に進み、３次ディレクトリを見つけるためにすべてのサブディレクトリを検索する。次いでプロセス３６０は判定ブロック４４５に進み、３次ディレクトリが見つかるかどうかを照会する。見つからない場合は、プロセス・ブロック４３５に進む。見つかる場合は、ブロック４３０に進み、３次ディレクトリに進む。
【００４８】  次いでプロセス３６０は、プロセス・ブロック４５０に示すようにスタートアップ・ディレクトリを突き止める。続いて、判定ブロック４５５に示すように、スタートアップ・ディレクトリが見つかるかどうかを判定する。見つからない場合は、エラー・メッセージを発行し（プロセス・ブロック４６０）、エグジットする。見つかる場合は、スタートアップ・ディレクトリにファイルまたはペイロードを転送する（プロセス・ブロック４６５）。続いてプロセス３６０は、次のスタートアップ・ディレクトリを突き止める（プロセス・ブロック４７０）。プロセス３６０は、次のスタートアップ・ディレクトリが見つかるかどうかを照会する（判定ブロック４７５）。見つからない場合は、プロセス３６０は完了し、終了する。見つかる場合は、プロセス・ブロック４８５に進み、次のスタートアップ・ディレクトリにファイルまたはペイロードを転送し、プロセス・ブロック４７０に戻って次のスタートアップ・ディレクトリを突き止める。
【００４９】  図８は、図７のファイルまたはペイロード転送プロセス４６５または４８５の一実施形態の流れ図である。ここでの考察のために、プロセス４６５および４８５をプロセス４６５と呼ぶことにする。開始状態から始まって、プロセス４６５はプロセス・ブロック５００に進み、フリーの（占有されていない）ディレクトリ・エントリを突き止めることを試みる。次にプロセス４６５は、フリーのディレクトリ・エントリが見つかるかどうかを照会する（判定ブロック５０５）。見つかる場合は、見つかったディレクトリにファイルまたはペイロードの名前を書き込む（プロセス・ブロック５１０）。見つからない場合は、新しいディレクトリ・ページを割り振り（プロセス・ブロック５１５）、判定ブロック５２０に進み、割振りが成功かどうかを判定する。成功の場合は、プロセス・ブロック５１０に進む。そうでない場合は、プロセス・ブロック５２５に進み、失敗メッセージを発行してエグジットする。
【００５０】  プロセス・ブロック５１０から、プロセス４６５はプロセス・ブロック５３０に進み、ファイルまたはペイロードの転送用にフリー（占有されていない）空間を突き止める。続いて、判定ブロック５３５に示すように、この空間が利用可能かどうかを照会する。利用可能でない場合は、プロセス４６５はプロセス・ブロック５２５に進む。利用可能な場合は、プロセス・ブロック５４０に進み、装置上で見つかった空間にファイルまたはペイロードを転送する。次いでプロセス４６５は、そのファイルまたはペイロードを示すようにディレクトリ・エントリを調節し、その後、終了する。
【００５１】  このように、本発明は、オペレーティング・システムまたはディレクトリ・サービスの必要性または利用可能性なしに、アプリケーションをシステム・ファームウェアから記憶装置（例えばコンパクト・ディスク（ＣＤ）ドライブ、ディジタル・ビデオ・ディスク・（ＤＶＤ）ドライブ、テープ・ドライブ、フロッピー・ドライブ、ハード・ドライブ、光磁気ドライブ、文書走査器、固体メモリ装置、ｚｉｐドライブ、ｊａｚｚドライブ、高密度フロッピー・ドライブ（Ｓｏｎｙ  Ｈｉ  ＦＤドライブなど）、大容量取外し可能媒体装置、低容量取外し可能媒体装置、および大容量と低容量の取外し可能媒体装置の結合物（Ｐａｎａｓｏｎｉｃ  ＬＳ  １２０／スーパー・ディスク・ドライブなど））に配信するためのシステムおよび方法を提供する。
【００５２】  本発明をいくつかの好ましい実施形態から述べたが、当業者に明らかな他の実施形態も、本発明の趣旨および範囲に含まれる。したがって、本発明の範囲は、頭記の特許請求の範囲によってのみ定義されるものとする。
【図面の簡単な説明】
【図１】  本発明の装置および方法が使用される情報分配システムの一実施形態のシステム・ブロック図である。
【図２Ａ】  本発明の実施形態を実施する例示的なプロセッサ・システムおよびユーザ・コンピュータ・システムを示す図である。
【図２Ｂ】  典型的なオペレーティング・システムによって実施される、シリンダ番号０上にある第１のヘッドの対に対するセクタ割振り技術の一実施形態を示す図である。
【図３】  本発明の装置および方法が使用される、図２Ａのコンピュータ・システムの一実施形態の図である。
【図４Ａ】  本発明の原理によって提供されるシステム・プロセス流れ図の一実施形態を示す図である。
【図４Ｂ】  本発明の原理によって提供されるシステム・プロセス流れ図の一実施形態を示す図である。
【図５Ａ】  本発明のファイルまたはペイロード配信プロセスの一実施形態の流れ図である。
【図５Ｂ】  本発明のファイルまたはペイロード配信プロセスの第２の実施形態２００Ｂを示す図である。
【図６Ａ】  図５Ａのファイルまたはペイロード・アプリケーション・インストール・プロセス２２０、または図５Ｂのファイルまたはペイロード・アプリケーション・インストール・プロセス２６０の一実施形態の流れ図である。
【図６Ｂ】  図５Ａのファイルまたはペイロード・アプリケーション・インストール・プロセス２２０、または図５Ｂのファイルまたはペイロード・アプリケーション・インストール・プロセス２６０の一実施形態の流れ図である。
【図７Ａ】  図６Ａおよび６Ｂのファイルまたはペイロード・インストール・プロセス３６０の一実施形態を示す流れ図である。
【図７Ｂ】  図６Ａおよび６Ｂのファイルまたはペイロード・インストール・プロセス３６０の一実施形態を示す流れ図である。
【図８】  図７のファイルまたはペイロード転送プロセス４６５または４８５の一実施形態の流れ図である。
【符号の説明】  １０  システム
１０  情報分配システム
２０  サービス・センタ
２２  サーバ
２４  データベース
２６  サービス・コンピュータ
２６  情報サービス・コンピュータ
３０  通信リンク
４０  ユーザ・コンピュータ
５０  遠隔ネットワーク
５２  登録ウェブサイト
５４  一次ウェブサイト
５６  二次ウェブサイト
６０  コンテント・モジュール
６２  初期コンテント
６２  初期コンテント・パッケージ
【図１】
0005684962.tif 000002
【図２Ａ】
0005684962.tif 000003
【図２Ｂ】
0005684962.tif 000004
【図３】
0005684962.tif 000005
【図４Ａ】
0005684962.tif 000006
【図４Ｂ】
0005684962.tif 000007
【図５Ａ】
0005684962.tif 000008
【図５Ｂ】
0005684962.tif 000009
【図６Ａ】
0005684962.tif 000010
【図６Ｂ】
0005684962.tif 000011
【図７Ａ】
0005684962.tif 000012
【図７Ｂ】
0005684962.tif 000013
【図８】
0005684962.tif 000014