"データ処理システムにより実行されたときに、データ処理システムが、コンピューティングシステムのソフトウェアに対する更新のパッケージを、コンピューティングシステムのコンピューティング環境の背景動作においてリモートソースからコンピューティングシステムへダウンロードし、前記更新のパッケージのインストールを、前記更新にコミットすることなく分離された仕方で前記背景動作において自動的に開始する、ことを含む方法を遂行するようにさせる実行可能なプログラムインストラクションを記憶するコンピュータ読み取り可能な記憶媒体。前記方法は、更に、前記更新のユーザ承認の際に、前記更新のパッケージのインストールを完了させることにより前記ソフトウェア更新にコミットすることを含む、請求項1に記載のコンピュータ読み取り可能な記憶媒体。前記方法は、更に、前記更新のユーザ拒絶の際に、それまでに遂行された更新のパッケージのインストールをアンドゥし、前記ダウンロードされた更新のパッケージをコンピューティングシステムに保持する、ことを含む請求項1に記載のコンピュータ読み取り可能な記憶媒体。前記方法は、更に、前記更新のパッケージを解凍し、前記解凍されたパッケージを使用して前記コンピューティング環境の背景動作において一時的キャッシュを形成する、ことを含む請求項1に記載のコンピュータ読み取り可能な記憶媒体。前記更新のパッケージのインストールは、前記コンピューティングシステムのユーザに通知せずに開始される、請求項1に記載のコンピュータ読み取り可能な記憶媒体。前記更新のパッケージのインストールは、前記コンピューティングシステムのソフトウェアの現在バージョンを妨げることなく開始される、請求項1に記載のコンピュータ読み取り可能な記憶媒体。コンピューティングシステムで現在実行されているプロセスを妨げることなくコンピューティングシステムのソフトウェアに対する更新のセットのインストールの一部分のみを遂行し、前記更新のセットのインストールの一部分を遂行した後にコンピューティングシステムのユーザに前記更新のセットを通知し、ユーザが前記更新のセットを承認するまでコンピューティングシステムの前記更新の全セットのインストールの完了を延期する、ことを含む、コンピュータで実施される方法。ユーザが、前記更新の全セットをインストールするのではなく、コンピューティングシステムにインストールすべき更新のセットのサブセットを選択するのを許し、インストールすべき更新のセットのサブセットをユーザが選択するのに応答して、それまで遂行されたインストールをアンドゥし、コンピューティングシステムで選択された更新のセットのサブセットのみを再インストールする、ことを更に含む請求項7に記載の方法。ユーザが更新の全セットを拒絶する場合には、それまで遂行されたインストールをアンドゥする、ことを更に含む請求項7に記載の方法。前記更新のセットのインストールの一部分を遂行することは、前記コンピューティングシステムのコンピュータ読み取り可能な記憶装置の一時的エリアに前記更新のセットのためのシステムキャッシュを形成し、前記形成されたシステムキャッシュを、ユーザに応答して前記コンピューティングシステムの現在システムキャッシュとスワップする、ことを含む請求項7に記載の方法。ユーザが更新の全セットを許すのに応答して、コンピューティングシステムの現在システムキャッシュに置き換わるように、形成されたシステムキャッシュをスワップする、ことを更に含む請求項10に記載の方法。前記ソフトウェアは、コンピューティングシステムの1つ以上のユーザアプリケーションを含む、請求項7に記載の方法。ソフトウェアのインストラクション及びデータを記憶するためのコンピュータ読み取り可能な記憶装置と、前記コンピュータ読み取り可能な記憶媒体に結合され、ネットワークを経てコンピューティングマシンに通信結合して、そのコンピューティングマシンからソフトウェアに対する更新をダウンロードするネットワークインターフェイスと、前記ネットワークインターフェイスに結合され、ソフトウェアの既存のインストラクション及びデータにオーバーライトすることなく、コンピュータ読み取り可能な記憶装置の予約エリアに更新をプリインストールする処理装置と、を備えた装置。前記ダウンロードされた更新は、圧縮フォーマットの複数のパッケージを含み、前記処理装置は、前記複数のパッケージを解凍し、そして前記複数のパッケージをコンピュータ読み取り可能な記憶装置の予約エリアに記憶する、請求項13に記載の装置。前記処理装置は、更に、前記コンピュータ読み取り可能な記憶装置の予約エリアにおける複数のパッケージを使用して複数のシステムキャッシュを形成し、それら複数のシステムキャッシュの各々は、1つ以上の更新の所定の組み合わせに対応する、請求項14に記載の装置。ディスプレイ装置を更に備え、前記処理装置は、このディスプレイ装置により表示されるユーザインターフェイスを発生して、ユーザに更新を通知する、請求項13に記載の装置。更新のインストールを部分的又は全体的に承認するか或いは全ての更新を拒絶するユーザインストラクションを受け取るユーザ入力装置を更に備えた、請求項16に記載の装置。コンピューティングシステムの背景動作で実行されるプロセスを経てコンピューティングシステムのソフトウェアに対する更新を部分的にインストールし、前記更新を部分的にインストールした後にコンピューティングシステムのユーザに前記更新を通知し、ユーザが前記更新を承認するのに応答して、前記コンピューティングシステムの更新のインストールを完了する、ことを含む、コンピュータで実施される方法。前記更新を部分的にインストールすることは、前記更新に関連したファイルを、リモートソースからダウンロードした複数のパッケージから抽出し、前記コンピューティングシステムのソフトウェアの現在バージョンのファイルから分離された1つ以上のディレクトリを一時的エリアに生成し、前記1つ以上のディレクトリのハイアラーキーが前記ソフトウェアの現在バージョンのファイルのハイアラーキーを鏡像化するようにし、前記更新に関連したファイルを前記1つ以上のディレクトリへコピーする、ことを含む請求項18に記載の方法。ユーザが前記更新の少なくとも1つを拒絶するのに応答して、その拒絶された更新に関連したファイルの1つ以上を削除する、ことを含む請求項19に記載の方法。ユーザが前記更新の全部を拒絶するのに応答して、それらの更新に関連した全てのファイル及び1つ以上のディレクトリを削除する、ことを含む請求項19に記載の方法。ユーザが前記更新の全部を承認するのに応答して、1つ以上のディレクトリを、記憶された更新に関連したファイルと共に、コンピューティングシステムの活動中ファイルシステムへ移動して、コンピューティングシステムのソフトウェアの現在バージョンに置き換わることを更に含む、請求項19に記載の方法。コンピューティングシステムに利用できるようになるソフトウェアに対する更新を検出する手段と、前記コンピューティングシステムのための更新を得る手段と、前記コンピューティングシステムへの更新のインストールに対するユーザの認知時間を短縮する手段と、を備えた装置。コンピューティングシステムへの更新のインストールに対するユーザの認知時間を短縮する前記手段は、コンピューティングシステムの背景動作中にコンピューティングシステムへ更新をプリインストールする手段と、前記更新のプリインストールの後にコンピューティングシステムのユーザに更新を通知する手段と、を含む請求項23に記載の装置。ここに述べる実施形態では、新規ソフトウェア及び/又はソフトウェアの更新がコンピューティングシステムに容易にインストールされる。説明を明瞭に且つ簡略にするため、ここに述べる実施形態は、ソフトウェア例えば、オペレーティングシステム、ユーザアプリケーション、等に対する更新をインストールすることをしばしば参照する。しかしながら、それら実施形態は、更新をインストールすることに限定されない。ここに述べる方法、技術、システム、コンポーネント、等は、新規なアプリケーションについても使用することができる。幾つかの実施形態において、コンピューティングシステムのソフトウェアに対する更新をインストールするプロセスは、コンピューティングシステムのユーザに更新を通知又は知らせる前に、できるだけ、コンピューティングシステムのソフトウェアの現在バージョンを妨げずに、開始され実行される。従って、実行されるインストールプロセスの前記部分は、更新のプリインストール又は更新のインストールのプリヒーティングとも称される。更新のインストールをプリヒーティングした後に、ユーザには、更新が通知され、そしてユーザが更新を承認するかどうか尋ねられる。ユーザが更新を承認する場合には、更新をコンピューティングシステムにコミットするためにインストールプロセスが完了される。さもなければ、ユーザが更新を拒絶する場合には、プリヒーティング中に行われた作業がアンドゥされる。幾つかの実施形態において、ユーザが幾つかの更新を承認するが残りの更新は拒絶する場合には、プリヒーティング中に行われた作業がアンドゥされ、そして承認された更新だけをインストールするためにインストールプロセスが再スタートされる。別の実施形態では、プリヒーティングは、多数の所定の更新組み合わせをプリインストールすることを含む。ユーザにより承認された更新の組み合わせが、これらの所定の組み合わせの1つである場合には、この更新組み合わせのインストールを、ユーザ承認時に完了させることができる。さもなければ、所定の更新組み合わせのプリインストール中に行われた作業がアンドゥされ、承認された更新のみをインストールするようにインストールプロセスが再スタートされる。ユーザに更新を通知する前に更新のインストールの少なくとも一部分を実行することにより、更新のユーザ承認時に行われたままである更新インストールのための作業が著しく減少される。その結果、ユーザにより認知される更新のインストールに費やされる時間が著しく短くなり、更新インストールでのユーザ経験を改善する。更に、更新インストールにより生じるユーザへの中断が減少される。というのは、インストールプロセスの一部分又はほぼ全部が、コンピューティングシステムで実行される他のプロセス又はユーザの妨げとなることなく、背景動作で実行されるからである。ユーザ認知のインストール時間が短くなり且つユーザの中断が減少された状態では、ユーザがコンピューティングシステムにおけるソフトウェアに対する更新を承認する見込みが高くなる。図1A-1Bは、種々の実施形態に基づきコンピューティングシステムにおいてソフトウェア更新をプリヒート型インストールするプロセスを示すフローチャートである。このプロセスは、ソフトウェア、ハードウェア、ファームウェア、又はそれらのいずれかの組み合わせを含む処理ロジックにより遂行される。例えば、このプロセスは、以下に述べるように、図5に示すコンピューティング装置で具現化される処理ロジックにより遂行される。図1Aを参照すれば、処理ロジックは、コンピューティングシステムを、コンピューティングシステムの背景でのソフトウェアに対する更新のためにリモートソースに接続する処理ブロック110。リモートソースは、ワイヤレスネットワーク及び/又はワイヤードネットワークを経てコンピューティングシステムに接続されたサーバー、パーソナルコンピュータ、等の別のコンピューティング装置である。ネットワークは、ローカルエリアネットワークLAN、ワイドエリアネットワークWAN、イーサネット登録商標、等を含む。ソフトウェアに対する更新は、ソフトウェア、ソフトウェアの新規バージョン、ソフトウェアのセキュリティパッチ、等に対するアップグレードを含む。処理ロジックは、コンピューティングシステムの背景において、ひいては、コンピューティングシステムで実行される現在プロセスを妨げることなく、コンピューティングシステムをリモートソースに接続することに注意されたい。それ故、コンピューティングシステムのユーザは、処理ロジックが何を行っているか気付かない。ある実施形態では、処理ロジックは、利用可能な更新を検出するためにリモート装置に周期的に問合せする。リモートソースで得られる更新のメタデータに基づき、処理ロジックは、コンピューティングシステムにとってどの更新1つ又は複数が適切であるか決定する処理ブロック112。メタデータの幾つかの例は、バージョン番号、ライセンス又はエンタイトル情報、システム要件、等を含む。次いで、処理ロジックは、リモートソースからコンピューティングシステムへ適切な更新のパッケージをダウンロードする処理ブロック114。幾つかの実施形態において、処理ロジックは、ダウンロードされたパッケージを、コンピューティングシステムのコンピュータ読み取り可能な記憶装置例えば、ディスクの一時的エリアにインストールし始める処理ブロック116。処理ロジックは、更新をインストールするためにディスク上のこの一時的エリアを予約している。更に、ディスク上のこの一時的エリアは、ディスクの他部分から分離されていて、この一時的エリアに部分的にインストールされる更新が、それら更新がコミットされる前にコンピューティングシステムのソフトウェアの現在バージョンにオーバーライトしたり又はそれを妨げたりしないようにする。従って、この一時的エリアは、サンドボックスと称され、そして部分的にインストールされた更新もサンドボックスと称される。インストールは、圧縮されたファイルをダウンロードして、これをインストールプロセスの一部分として解凍することを含み、更に、インストールプロセスは、実行可能なソフトウェアを含むファイルを、磁気ハードディスク又は不揮発性半導体メモリのような記憶装置に配列することも含む。又、インストールは、フォルダー又はディレクトリ、レジストリエントリー例えば、マイクロソフトウインドウズの、構成ファイルエントリー、リンク又はショートカット、及びそれらのアイテムのサブセットを生成し又は変更することも含む。処理ロジックは、一時的エリアにダウンロードされるパッケージを使用してシステムキャッシュを作り上げることができる処理ブロック118。幾つかの実施形態において、予め初期化された状態をコンポーズするコンピュータ読み取り可能な記憶装置のメモリのチャンクがセーブオフされ、次いで、読み戻され、そして早速使用することができる。ディスクへシリアル化されるメモリのこのチャンクは、キャッシュである。例えば、処理ロジックは、圧縮され及び/又は暗号化された更新のファイルをパッケージから抽出し、それらのファイルを必要に応じて解凍及び/又は解読し、次いで、それらのファイルを一時的エリアで所定のハイアラーキーに配列し、コンピューティングシステムに現在使用中のシステムキャッシュに同様のファイルのハイアラーキーを鏡像化する。ある実施形態では、更新を必要とする2つの異なるキャッシュ、即ちカーネル/ケクストキャッシュと、ディルド共有キャッシュとがある。カーネル/ケクストキャッシュは、カーネルスペースで実行することが必要なドライバコードコンピューティングシステムのオペレーティングシステムのベンダー及び/又は第三者によって与えられるに関連している。ディルド共有キャッシュは、コンピューティングシステムのユーザスペースにおいてアプリケーションにより使用される共有コードライブラリに関連している。両キャッシュは、その後のブート又はアプリケーション起動サイクル中にシステムが従来の時間のかかる初期化プロセスを通して実行されるのを防止する。これらキャッシュに関する更なる詳細は、発明者ミッシェルスミス及びジョセフソコル二世によるMethodforBootinganOperatingSystemと題する米国特許第7,607,000号に見られ、これは、参考としてここにそのまま援用される。次いで、処理ロジックは、利用可能な更新をコンピューティングシステムのユーザに通知する処理ブロック120。前記プロセスは、更新のプリインストール、又は更新のインストールのプリヒーティングと称される。幾つかの実施形態において、処理ロジックは、利用可能な更新をユーザに通知するメッセージを表示するためにユーザインターフェイス例えば、グラフィックユーザインターフェイスを発生する。このユーザインターフェイスは、更に、ユーザが利用可能な更新を承認するか拒絶するか指示できるようにする。幾つかの実施形態において、ユーザインターフェイスは、ユーザが利用可能な更新のサブセットを承認又は拒絶について選択できるようにするユーザインターフェイスコントロール例えば、ボタン、チェックボックス、ドロップダウンメニュー、等を含む。換言すれば、全ての利用可能な更新を承認又は拒絶するのではなく、ユーザは、インストールすべき更新のみを選択することによりプロセスをカスタマイズすることができる。更新をプリインストールしそして利用可能な更新をユーザに通知した後に、処理ロジックは、更新に関するユーザ入力を待機する処理ブロック122。ブロック124において、処理ロジックは、ユーザ入力が受け取られたかどうか決定する。そうでなければ、処理ロジックは、ブロック122へ戻り、ユーザ入力を待機する。さもなければ、処理ロジックは、図1Bのブロック126へ移行する。図1Bを参照すれば、処理ロジックは、ユーザが全ての利用可能な更新のインストールを承認するかどうかチェックする処理ブロック126。もしそうであれば、処理ロジックは、全ての更新をコミットする処理ブロック128。例えば、処理ロジックは、一時的エリアに作られたシステムキャッシュをファイルシステムへとスワップして現在システムキャッシュに置き換わることにより、更新のインストールを終了し又は完了する。幾つかの実施形態において、処理ロジックは、現在システムキャッシュを指すポインタを変化させて、一時的エリアに新たに作られたシステムキャッシュを指すようにし、そして現在システムキャッシュを削除する。幾つかの実施形態において、処理ロジックは、単一のアトミックオペレーション例えば、ショーブオペレーションを遂行して、現在システムキャッシュを削除し、そして新たに作られたシステムキャッシュを現在システムキャッシュの位置へ移動して、現在システムキャッシュに置き換わるようにする。ソフトウェアインストールの完了に関する更なる詳細が、発明者ジャックR.マッシュー及びジョンR.チャン氏による2008年9月30日出願のInstallationofSoftwareontoComputerと題する米国特許出願第12/242,348号に見られ、これは、参考としてここにそのまま援用される。任意であるが、処理ロジックは、更新を有効なものにするために必要に応じてコンピューティングシステムを再スタートする処理ブロック130。幾つかの実施形態において、ユーザがブロック126において利用可能な全ての更新のインストールを承認しない場合には、処理ロジックは、ユーザが利用可能な更新のサブセットのインストールを承認するかどうか更にチェックする処理ブロック132。ユーザが利用可能な更新のサブセットのインストールを承認する場合には、処理ロジックは、形成されたシステムキャッシュをアンドゥする処理ブロック134。例えば、処理ロジックは、ディスクの一時的エリアに形成されたシステムキャッシュを単に削除する。次いで、処理ロジックは、ユーザがどの更新を承認するかに基づいてシステムキャッシュを再形成する処理ブロック136。次いで、処理ロジックは、ユーザにより承認された更新のみをコミットする処理ブロック138。幾つかの実施形態において、処理ロジックは、一時的エリアにおける新たに形成されたシステムキャッシュを指すように現在システムキャッシュを指すポインタを変更し、そして現在システムキャッシュを削除する。幾つかの実施形態において、処理ロジックは、単一のアトミックオペレーション例えば、ショーブオペレーションを遂行して、現在システムキャッシュを削除し、そして新たに形成されたシステムキャッシュを現在システムキャッシュの位置へ移動して、現在システムキャッシュに置き換わるようにする。任意であるが、処理ロジックは、更新を有効なものにするために必要に応じてコンピューティングシステムを再スタートする処理ブロック140。ブロック132において、ユーザが利用可能な更新のサブセットすら承認せず、即ちユーザが利用可能な更新を全て拒絶することを処理ロジックが決定する場合には、処理ロジックは、形成されたシステムキャッシュをアンドゥする処理ブロック142。幾つかの実施形態において、処理ロジックは、ダウンロードされたパッケージを将来の使用のためにコンピューティングシステムに保持する処理ブロック144。例えば、処理ロジックは、更新を後で再びチェックし、そして更新の第2セットを見出す。更に、処理ロジックは、更新の第2セットをインストールするために、以前にダウンロードされたパッケージの幾つかが依然必要とされることを決定し、従って、これらの以前にダウンロードされたパッケージが使用される。図2A-2Bは、種々の実施形態に基づきコンピューティングシステムにおいてソフトウェア更新をプリヒート型インストールするプロセスを示すフローチャートである。前記プロセスと同様に、このプロセスも、ソフトウェア、ハードウェア、ファームウェア、又はその組み合わせを含む処理ロジックにより遂行される。例えば、このプロセスは、図5に示して以下に述べるコンピューティング装置で具現化される処理ロジックにより遂行される。図2Aを参照すれば、処理ロジックは、コンピューティングシステムの背景においてソフトウェアを更新するためにリモートソースにコンピューティングシステムを接続する処理ブロック210。リモートソースは、ワイヤレスネットワーク及び/又はワイヤードネットワークを経てコンピューティングシステムに接続されたサーバー、パーソナルコンピュータ、等の別のコンピューティング装置である。ネットワークは、ローカルエリアネットワークLAN、ワイドエリアネットワークWAN、イーサネット登録商標、等を含む。ソフトウェアに対する更新は、ソフトウェア、ソフトウェアの新規バージョン、ソフトウェアのセキュリティパッチ、等に対するアップグレードを含む。処理ロジックは、コンピューティングシステムの背景において、ひいては、コンピューティングシステムで実行される現在プロセスを妨げることなく、コンピューティングシステムをリモートソースに接続することに注意されたい。それ故、コンピューティングシステムのユーザは、処理ロジックが何を行っているか気付かない。リモートソースで得られる更新のメタデータに基づき、処理ロジックは、コンピューティングシステムにとってどの更新1つ又は複数が適切であるか決定する処理ブロック212。メタデータの幾つかの例は、前記で述べた。次いで、処理ロジックは、リモートソースからコンピューティングシステムへ適切な更新のパッケージをダウンロードする処理ブロック214。幾つかの実施形態において、処理ロジックは、ダウンロードされたパッケージを、コンピューティングシステムのコンピュータ読み取り可能な記憶装置の一時的エリアにインストールし始める処理ブロック216。更新の考えられる組み合わせごとに、処理ロジックは、一時的エリアにダウンロードされサンドボックス化されたパッケージを使用してシステムキャッシュを作り上げる処理ブロック218。システムキャッシュの幾つかの実施形態の詳細は、前記で述べた。更新の各組み合わせに対して形成されるシステムキャッシュもサンドボックス化され、即ち、システムキャッシュは、一時的エリアに形成された他のシステムキャッシュから分離される。これらのシステムキャッシュがインストール時に形成されるとき、コンピューティングシステムは、動的なものにされることに注意されたい。換言すれば、異なる配備にわたって異なるカーネル拡張及びライブラリが存在し得る。例えば、同じオペレーティングシステムのコピーを各々有する2つのシステムがあるが、一方のコピーは、ハードウェア製品をサポートするために第三者カーネル拡張を有し、他方のコピーは、それを有しない。別の例では、異なるディルド共有キャッシュを要求する1つ以上の予め選択されたユーザアプリケーションで生じるシステム共有ライブラリの新たなバージョンを両方とも有する2つのコンピューティングシステムがある。その後に、処理ロジックは、コンピューティングシステムのユーザに利用可能な更新を通知する処理ブロック220。前記プロセスは、更新のプリインストール又は更新のインストールのプリヒーティングとも称される。幾つかの実施形態において、処理ロジックは、利用可能な更新をユーザに通知するメッセージを表示するためにユーザインターフェイス例えば、グラフィックユーザインターフェイスを発生する。ユーザインターフェイスの幾つかの実施形態の詳細は、前記で述べた。更新をプリインストールしそして利用可能な更新をユーザに通知した後に、処理ロジックは、更新に関するユーザ入力を待機する処理ブロック222。ブロック224において、処理ロジックは、ユーザ入力が受け取られたかどうか決定する。そうでなければ、処理ロジックは、ブロック222へ戻り、ユーザ入力を待機し続ける。さもなければ、処理ロジックは、図2Bのブロック226へ移行する。図2Bを参照すれば、処理ロジックは、ユーザが全ての利用可能な更新のインストールを承認するかどうかチェックする処理ブロック226。もしそうであれば、処理ロジックは、全ての更新をコミットする処理ブロック228。例えば、処理ロジックは、一時的エリアに作られたシステムキャッシュをファイルシステムへとスワップして現在システムキャッシュに置き換わることにより、更新のインストールを終了し又は完了する。幾つかの実施形態において、処理ロジックは、現在システムキャッシュを指すポインタを変化させて、一時的エリアに新たに作られたシステムキャッシュを指すようにし、そして現在システムキャッシュを削除する。幾つかの実施形態において、処理ロジックは、単一のアトミックオペレーション例えば、ショーブオペレーションを遂行して、現在システムキャッシュを削除し、そして新たに作られたシステムキャッシュを現在システムキャッシュの位置へ移動して、現在システムキャッシュに置き換わるようにする。任意であるが、処理ロジックは、更新を有効にするために必要に応じてコンピューティングシステムを再スタートする処理ブロック230。幾つかの実施形態において、ユーザがブロック226において利用可能な全ての更新のインストールを承認しない場合には、処理ロジックは、ユーザが利用可能な更新のサブセットのインストールを承認するかどうか更にチェックする処理ブロック232。ユーザが利用可能な更新のサブセットのインストールを承認する場合には、処理ロジックは、ユーザにより承認された更新の組み合わせに一致する一時的エリアに形成されたシステムキャッシュを見出す処理ブロック234。次いで、処理ロジックは、現在システムキャッシュを、その見出したシステムキャッシュに置き換え、承認した更新の組み合わせをコミットする処理ブロック236。幾つかの実施形態において、処理ロジックは、一時的エリアにおいて見出したシステムキャッシュを指すように現在システムキャッシュを指すポインタを変更し、そして現在システムキャッシュを削除する。幾つかの実施形態において、処理ロジックは、単一のアトミックオペレーション例えば、ショーブオペレーションを遂行して、現在システムキャッシュを削除し、そして見出したシステムキャッシュを現在システムキャッシュの位置へ移動して、現在システムキャッシュに置き換わるようにする。処理ロジックは、更に、更新の他の組み合わせに対して一時的エリアに形成された残りのシステムキャッシュを削除し又は除去する。最終的に、処理ロジックは、更新を有効なものにするために必要に応じてコンピューティングシステムを再スタートする処理ブロック238。システムキャッシュは、更新をユーザに通知する前に推論的に形成されるので、ユーザ認知更新時間ユーザが、選択された更新を承認するときから、選択された更新をコミットするときまでは、従来の更新インストール時間よりも短い。更に、更新のプリインストール中に推論的に形成されるシステムキャッシュは、異なるカーネル拡張及びライブラリが異なる配備にわたって存在できるようにもする。ブロック232において、ユーザが利用可能な更新を1つも承認せず、即ちユーザが利用可能な更新を全て拒絶することを処理ロジックが決定する場合には、処理ロジックは、形成されたシステムキャッシュをアンドゥする処理ブロック242。幾つかの実施形態において、処理ロジックは、ダウンロードされたパッケージを将来の使用のためにコンピューティングシステムに保持する処理ブロック244。例えば、処理ロジックは、更新を後で再びチェックし、そして更新の第2セットを見出す。更に、処理ロジックは、更新の第2セットをインストールするために、以前にダウンロードされたパッケージの幾つかが依然必要とされることを決定し、従って、これらの以前にダウンロードされたパッケージが使用される。図3A-3Bは、種々の実施形態に基づきコンピューティングシステムにおいてソフトウェア更新をプリヒート型インストールするプロセスを示すフローチャートである。前記プロセスと同様に、このプロセスも、ソフトウェア、ハードウェア、ファームウェア、又はその組み合わせを含む処理ロジックによって遂行される。例えば、このプロセスは、図5に示して以下に述べるコンピューティング装置で具現化される処理ロジックにより遂行される。図3Aを参照すれば、処理ロジックは、コンピューティングシステムの背景においてソフトウェアを更新するためにリモートソースにコンピューティングシステムを接続する処理ブロック310。リモートソースは、ワイヤレスネットワーク及び/又はワイヤードネットワークを経てコンピューティングシステムに接続されたサーバー、パーソナルコンピュータ、等の別のコンピューティング装置である。ネットワークは、ローカルエリアネットワークLAN、ワイドエリアネットワークWAN、イーサネット登録商標、等を含む。ソフトウェアに対する更新は、ソフトウェア、ソフトウェアの新規バージョン、ソフトウェアのセキュリティパッチ、等に対するアップグレードを含む。処理ロジックは、コンピューティングシステムの背景において、ひいては、コンピューティングシステムで実行される現在プロセスを妨げることなく、コンピューティングシステムをリモートソースに接続することに注意されたい。それ故、コンピューティングシステムのユーザは、処理ロジックが何を行っているか気付かない。リモートソースで得られる更新のメタデータに基づき、処理ロジックは、コンピューティングシステムにとってどの更新1つ又は複数が適切であるか決定する処理ブロック312。メタデータの幾つかの例は、前記で述べた。次いで、処理ロジックは、リモートソースからコンピューティングシステムへ適切な更新のパッケージをダウンロードする処理ブロック314。幾つかの実施形態において、処理ロジックは、ダウンロードされたパッケージを、コンピューティングシステムのコンピュータ読み取り可能な記憶装置の一時的エリアにインストールし始める処理ブロック316。更新の考えられる組み合わせの所定セットごとに、処理ロジックは、一時的エリアにダウンロードされサンドボックス化されたパッケージを使用してそれら組み合わせの各々に対してシステムキャッシュを作り上げる処理ブロック318。システムキャッシュの幾つかの実施形態の詳細は、前記で述べた。典型的に、考えられる組み合わせの所定セットは、全ての適切な更新の組み合わせと、適切な更新の1つ以上の一般的な組み合わせとを含む。換言すれば、処理ロジックは、多数のシステムキャッシュを推論的に形成し、そして後でユーザにより承認される更新をコミットするためにそのうちの1つが選択される。更新の各組み合わせに対して形成されるシステムキャッシュもサンドボックス化され、即ち、システムキャッシュは、一時的エリアに形成された他のシステムキャッシュから分離される。次いで、処理ロジックは、コンピューティングシステムのユーザに利用可能な更新を通知する処理ブロック320。前記プロセスは、更新のプリインストール又は更新のインストールのプリヒーティングとも称される。幾つかの実施形態において、処理ロジックは、利用可能な更新をユーザに通知するメッセージを表示するためにユーザインターフェイス例えば、グラフィックユーザインターフェイスを発生する。ユーザインターフェイスの幾つかの実施形態の詳細は、前記で述べた。更新をプリインストールしそして利用可能な更新をユーザに通知した後に、処理ロジックは、更新に関するユーザ入力を待機する処理ブロック322。ブロック324において、処理ロジックは、ユーザ入力が受け取られたかどうか決定する。そうでなければ、処理ロジックは、ブロック322へ戻り、ユーザ入力を待機し続ける。さもなければ、処理ロジックは、図3Bのブロック326へ移行する。図3Bを参照すれば、処理ロジックは、ユーザが全ての利用可能な更新のインストールを承認するかどうかチェックする処理ブロック326。もしそうであれば、処理ロジックは、全ての更新をコミットする処理ブロック328。例えば、処理ロジックは、一時的エリアに作られたシステムキャッシュをファイルシステムへとスワップして現在システムキャッシュに置き換わることにより、更新のインストールを終了し又は完了する。幾つかの実施形態において、処理ロジックは、現在システムキャッシュを指すポインタを変化させて、一時的エリアに新たに作られたシステムキャッシュを指すようにし、そして現在システムキャッシュを削除する。幾つかの実施形態において、処理ロジックは、単一のアトミックオペレーション例えば、ショーブオペレーションを遂行して、現在システムキャッシュを削除し、そして新たに作られたシステムキャッシュを現在システムキャッシュの位置へ移動して、現在システムキャッシュに置き換わるようにする。任意であるが、処理ロジックは、更新を有効にするために必要に応じてコンピューティングシステムを再スタートする処理ブロック330。幾つかの実施形態において、ユーザがブロック326において利用可能な全ての更新のインストールを承認しない場合には、処理ロジックは、ユーザが利用可能な更新のサブセットのインストールを承認するかどうか更にチェックする処理ブロック332。ユーザが利用可能な更新のサブセットのインストールを承認する場合には、処理ロジックは、その承認されたサブセットが所定の組み合わせの1つであるかどうかチェックする処理ブロック333。もしそうであれば、処理ロジックは、ユーザにより承認された更新の組み合わせに一致する一時的エリアに形成されたシステムキャッシュを見出す処理ブロック334。次いで、処理ロジックは、現在システムキャッシュを、その見出したシステムキャッシュに置き換え、承認した更新の組み合わせをコミットする処理ブロック336。幾つかの実施形態において、処理ロジックは、一時的エリアにおいて見出したシステムキャッシュを指すように現在システムキャッシュを指すポインタを変更し、そして現在システムキャッシュを削除する。幾つかの実施形態において、処理ロジックは、単一のアトミックオペレーション例えば、ショーブオペレーションを遂行して、現在システムキャッシュを削除し、そして見出したシステムキャッシュを現在システムキャッシュの位置へ移動して、現在システムキャッシュに置き換わるようにする。処理ロジックは、更に、更新の他の組み合わせに対して一時的エリアに形成された残りのシステムキャッシュを削除し又は除去する。最終的に、処理ロジックは、承認された更新を有効なものにするために必要に応じてコンピューティングシステムを再スタートする処理ブロック338。システムキャッシュは、更新をユーザに通知する前に推論的に形成されるので、ユーザ認知更新時間ユーザが、選択された更新を承認するときから、選択された更新をコミットするときまでは、従来の更新インストール時間よりも短い。更に、更新のプリインストール中に推論的に形成されるシステムキャッシュは、異なるカーネル拡張及びライブラリが異なる配備にわたって存在できるようにもする。しかしながら、ブロック333において、承認されたサブセットが所定の組み合わせの1つでないと処理ロジックが決定する場合には、処理ロジックは、形成された全てのシステムキャッシュをアンドゥし処理ブロック335、ユーザがどの更新を承認するかに基づいてシステムキャッシュを再形成し処理ブロック339、そしてユーザにより承認された更新のみをコミットする処理ブロック340。最終的に、処理ロジックは、承認された更新を有効なものにするために必要に応じてコンピューティングシステムを再スタートする処理ブロック338。ブロック332において、ユーザが利用可能な更新を1つも承認せず、即ちユーザが利用可能な更新を全て拒絶することを処理ロジックが決定する場合には、処理ロジックは、形成されたシステムキャッシュをアンドゥする処理ブロック342。幾つかの実施形態において、処理ロジックは、ダウンロードされたパッケージを将来の使用のためにコンピューティングシステムに保持する処理ブロック344。例えば、処理ロジックは、更新を後で再びチェックし、そして更新の第2セットを見出す。更に、処理ロジックは、更新の第2セットをインストールするために、以前にダウンロードされたパッケージの幾つかが依然必要とされることを決定し、従って、これらの以前にダウンロードされたパッケージが使用される。図4は、本発明の幾つかの実施形態に基づきプリヒート型ソフトウェアインストールに使用できるコンピューティングシステムにおけるコンピュータ読み取り可能な記憶装置の1つの実施形態を示すブロック図である。コンピュータ読み取り可能な記憶装置400は、コンピューティングシステムのハードディスクを備えている。コンピュータ読み取り可能な記憶装置400は、コンピューティングシステムの現在ファイルシステム410を記憶する。更に、現在ファイルシステム410から分離された一時的エリア420は、更新をプリインストールするために予約される。更新のプリインストール中に、更新に関連したファイルをディレクトリのハイアラーキーにおいて編成し記憶して、現在ファイルシステム410のハイアラーキーを鏡像化することにより、一時的エリア420にシステムキャッシュ425を形成することができる。更新の異なる組み合わせに対して付加的なシステムキャッシュを一時的エリア420に形成することができる。ユーザが全ての更新を承認する場合には、一時的エリア420に形成されたシステムキャッシュ425が現在ファイルシステム410へとスワップされる。ユーザが全ての更新を拒絶する場合には、形成されたシステムキャッシュ425が削除される。ユーザが更新のサブセットしか承認しない場合には、形成されたシステムキャッシュ425が削除され、そして更新の承認されたサブセットがスクラッチからインストールされる。更新の所定の組み合わせに対応する複数のシステムキャッシュが形成された幾つかの実施形態では、更新の承認されたサブセットが更新の所定の組み合わせの1つとなる場合に、形成されたシステムキャッシュの1つを使用して、更新の承認されたサブセットコミットする。ソフトウェア更新のプリインストールの幾つかの実施形態の詳細は、上述した。図5は、ここに述べる種々の実施形態を具現化するための適当なコンピューティング環境を示すブロック図である。総体的に、これらのコンポーネントは、これに限定されないが、汎用コンピュータシステム例えば、サーバー、パーソナルコンピュータ、ラップトップコンピュータ、等、及び特殊なハンドヘルドコンピュータ装置例えば、パーソナルデジタルアシスタントPDA、スマートホン、等を含むハードウェアシステムの広いカテゴリーを表わすことを意図している。コンピューティングシステム500は、プロセッサ510、I/O装置540、メインメモリ520、及びフラッシュメモリ530を備え、これらは、バス580を経て互いに結合される。システムメモリRAM及び不揮発性記憶装置例えば、磁気又は光学ディスクの1つ以上を含むメインメモリ520は、プロセッサ510により使用するためのインストラクション及びデータを記憶する。更に、ネットワークインターフェイス570及びデータ記憶装置560がバス580を経て互いに結合される。データ記憶装置560は、ここに述べる構造化データ例えば、連絡先情報、カレンダー、等を記憶する。コンピューティングシステム500の種々のコンポーネントは、種々の実施形態において再配列され、そして幾つかの実施形態は、全ての前記コンポーネントを要求もしないし含みもしない。更に、付加的なプロセッサ例えば、デジタル信号プロセッサ、グラフィックプロセッサ、等、記憶装置、メモリ、ネットワーク/通信インターフェイス、等の付加的なコンポーネントがシステム500に含まれてもよい。幾つかの実施形態において、上述した本発明によるプリヒート型ソフトウェアインストレーション又はソフトウェア更新のプリインストレーションのための方法及び装置は、図5のコンピューティングシステム500により実行される一連のソフトウェアルーチンとして具現化される。これらのソフトウェアルーチンは、ハードウェアシステムの処理システム、例えば、プロセッサ510により実行される複数の又は一連のインストラクションを含む。最初に、一連のインストラクションがデータ記憶装置560、メモリ520及び/又はフラッシュ530に記憶される。ここに述べる種々のコンポーネントは、ここに述べるファンクションを遂行する手段である。ここに述べる各コンポーネントは、ソフトウェア、ハードウェア、又はそれらの組み合わせを含む。コンポーネントは、ソフトウェアモジュール、ハードウェアモジュール、特殊目的ハードウェア例えば、特定用途向けハードウェア、特定用途向け集積回路ASIC、デジタル信号プロセッサDSP、等、埋め込み型コントローラ、ハードワイヤード回路、等として具現化することができる。ソフトウェアコンテンツ例えば、データ、インストラクション、構成、等は、実行できるインストラクションを表わすコンテンツを与えるコンピュータ読み取り可能な媒体を含む製造物品を経て提供される。コンテンツは、コンピュータがここに述べる種々のファンクション/オペレーションを遂行するようにさせる。コンピュータ読み取り可能な又はマシン読み取り可能な又は電子的にアクセス可能な媒体は、コンピューティング装置例えば、コンピュータ、PDA、電子システム、等によりアクセス可能な形態の情報を与える即ち、記憶し及び/又は送信するメカニズム、例えば、記録可能/記録不能な媒体例えば、リードオンリメモリROM、ランダムアクセスメモリRAM、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリ装置、等を含む。コンテンツは、直接実行可能オブジェクト又は実行可能な形態なもの、ソースコード、等である。又、コンピュータ読み取り可能な媒体は、コンテンツをダウンロードできるところの記憶装置又はデータベースも含む。又、コンピュータ読み取り可能な媒体は、販売時又は納入時にコンテンツが記憶される装置又は製品も含む。従って、コンテンツが記憶された装置を納入すること、又は通信媒体を経てダウンロードするためのコンテンツを提供することは、ここに述べるコンテンツを製造物品に設けるものであると理解される。以上に本発明を説明したが、ここに開示した本発明の実施形態及び具現化に対し本発明の範囲から逸脱せずに種々の変更がなされ得る。それ故、ここに述べた実施形態は、例示に過ぎず、それに限定されるものではない。本発明の範囲は、特許請求の範囲のみにより限定される。"