"デバイス上のコンポーネントを自動的に処理する方法であって、アクションリストに関連するバージョン識別子を受信することと、前記バージョン識別子が、格納されたバージョン識別子と等価ではないことを判定することと、前記アクションリストを受信することと、前記アクションリストを解析して、コンポーネント識別子と、関連するアクションとを取得することと、前記コンポーネント識別子によって識別されたコンポーネントについて前記アクションを実行することとを備える。請求項1に記載の方法において、前記格納された識別子を、前記バージョン識別子に等価になるように更新することを更に備える。請求項1に記載の方法において、前記アクションはインストールすることであり、前記実行するステップは、前記デバイス上に前記コンポーネントをインストールすることを備える。請求項1に記載の方法において、前記アクションは削除することであり、前記実行するステップは、前記デバイスから前記コンポーネントを削除することを備える。請求項1に記載の方法において、前記実行するステップは、前記デバイス上の前記コンポーネントの状態を変更することを備える。請求項1に記載の方法において、前記解析するステップは、前記コンポーネント識別子に関連したコンポーネントバージョンが、格納されたコンポーネントバージョンと等価ではないことを判定することを更に備える。請求項6に記載の方法において、前記格納されたコンポーネントバージョンを、前記コンポーネントバージョンに等価になるように更新することを更に備える。請求項1に記載の方法において、前記バージョン識別子、前記アクションリスト、及び前記コンポーネントをサーバから受信することを更に備える。請求項1に記載の方法において、前記デバイスは無線デバイスである。デバイス上のコンポーネントを自動的に処理する装置であって、アクションリストに関連するバージョン識別子を受信するロジックと、前記バージョン識別子を、格納されたバージョン識別子と比較するロジックと、前記バージョン識別子が前記格納されたバージョン識別子と等価でなければ、前記アクションリストを受信するロジックと、前記アクションリストを解析して、コンポーネント識別子と、関連するアクションとを取得するロジックと、前記コンポーネント識別子によって識別されたコンポーネントについて前記アクションを実行するロジックとを備える。請求項10に記載の装置において、前記格納された識別子を、前記バージョン識別子に等価になるように更新するロジックを更に備える。請求項10に記載の装置において、前記アクションを実行するロジックは、前記デバイス上に前記コンポーネントをインストールするロジックを備える。請求項10に記載の装置において、前記アクションを実行するロジックは、前記デバイスから前記コンポーネントを削除するロジックを備える。請求項10に記載の装置において、前記アクションを実行するロジックは、前記デバイス上の前記コンポーネントの状態を変更するロジックを備える。請求項10に記載の装置において、前記アクションリストを解析するロジックは、前記コンポーネント識別子に関連したコンポーネントバージョンが、格納されたコンポーネントバージョンと等価ではないことを判定するロジックを更に備える。請求項15に記載の装置において、前記格納されたコンポーネントバージョンを、前記コンポーネントバージョンに等価になるように更新するロジックを更に備える。請求項10に記載の装置において、前記バージョン識別子、前記アクションリスト、及び前記コンポーネントをサーバから受信するロジックを更に備える。請求項10に記載の装置において、前記デバイスは無線デバイスである。デバイス上のコンポーネントを自動的に処理する装置であって、アクションリストに関連するバージョン識別子を受信する手段と、前記バージョン識別子が、格納されたバージョン識別子と等価ではないことを判定する手段と、前記アクションリストを受信する手段と、前記アクションリストを解析して、コンポーネント識別子と、関連するアクションとを取得する手段と、前記コンポーネント識別子によって識別されたコンポーネントについて前記アクションを実行する手段とを備える。請求項19に記載の装置において、前記格納された識別子を、前記バージョン識別子に等価になるように更新する手段を更に備える。請求項19に記載の装置において、前記実行する手段は、前記デバイス上に前記コンポーネントをインストールする手段を備える。請求項19に記載の装置において、前記実行する手段は、前記デバイスから前記コンポーネントを削除する手段を備える。請求項19に記載の装置において、前記実行する手段は、前記デバイス上の前記コンポーネントの状態を変更する手段を備える。請求項19に記載の装置において、前記解析する手段は、前記コンポーネント識別子に関連したコンポーネントバージョンが、格納されたコンポーネントバージョンと等価ではないことを判定する手段を更に備える。請求項24に記載の装置において、前記格納されたコンポーネントバージョンを、前記コンポーネントバージョンに等価になるように更新する手段を更に備える。請求項19に記載の装置において、前記バージョン識別子、前記アクションリスト、及び前記コンポーネントをサーバから受信する手段を更に備える。請求項19に記載の装置において、前記デバイスは無線デバイスである。デバイス内のロジックを処理することによって実行された時、前記デバイス上のコンポーネントを自動的に処理するように動作するコンピュータ読取可能媒体であって、アクションリストに関連するバージョン識別子を受信する命令と、前記バージョン識別子が、格納されたバージョン識別子と等価ではないことを判定する命令と、前記アクションリストを受信する命令と、前記アクションリストを解析して、コンポーネント識別子と、関連するアクションとを取得する命令と、前記コンポーネント識別子によって識別されたコンポーネントについて前記アクションを実行する命令とを備える。請求項28に記載のコンピュータ読取可能媒体において、前記格納された識別子を、前記バージョン識別子に等価になるように更新する命令を更に備える。請求項28に記載のコンピュータ読取可能媒体において、前記実行する命令は、前記デバイス上に前記コンポーネントをインストールする命令を備える。請求項28に記載のコンピュータ読取可能媒体において、前記実行する命令は、前記デバイスから前記コンポーネントを削除する命令を備える。請求項28に記載のコンピュータ読取可能媒体において、前記実行する命令は、前記デバイス上の前記コンポーネントの状態を変更する命令を備える。請求項28に記載のコンピュータ読取可能媒体において、前記解析する命令は、前記コンポーネント識別子に関連したコンポーネントバージョンが、格納されたコンポーネントバージョンと等価ではないことを判定する命令を更に備える。請求項33に記載のコンピュータ読取可能媒体において、前記格納されたコンポーネントバージョンを、前記コンポーネントバージョンと等価になるように更新する命令を更に備える。請求項28に記載のコンピュータ読取可能媒体において、前記バージョン識別子、前記アクションリスト、及び前記コンポーネントをサーバから受信する命令を更に備える。請求項28に記載のコンピュータ読取可能媒体において、前記デバイスは無線デバイスである。以下に示す詳細記述は、デバイス上のコンポーネントを自動的に処理するシステムの実施例を示す。このシステムは、限定される訳ではないが、通信ネットワーク、例えばインターネットのような公衆ネットワーク、例えば仮想プライベートネットワークのようなプライベートネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、長距離ネットワーク、又はその他任意の種類のデータネットワークを含む有線又は無線の任意のネットワークにおいて使用されるのに適している。またこのシステムは、コンポーネントをダウンロード及びインストールすることが可能な任意の種類のデバイスと共に使用するのに適している。例えば、このシステムは、オフィスコンピュータ、ノートブックコンピュータ、及び例えばポータブル電話、PDA、又はコンポーネントを受信及びインストールすることが可能なその他任意の種類のデバイスのようなハンドヘルドデバイスとともに使用することに適している。一つ又は複数の実施例では、このシステムは、例えばデバイス特有のリソースのために一般化されたコールを提供することによって、デバイスの動作を簡単にするために使用されるデバイス上で実行しているランタイム環境と相互作用する。そのようなランタイム環境は、カリフォルニア州、サンディエゴのQUALCOMM社によって開発されたBinaryRuntimeEnvironmentforWirelessBREW登録商標ソフトウェアプラットフォームである。以下の記述において、このデバイスは、例えばBREWソフトウェアプラットフォームのようなランタイム環境を実行していると仮定される。しかしながら、このシステムの一つ又は複数の実施例は、種々の有線及び無線デバイス上のコンポーネントを自動的に処理する他の種類のランタイム環境とともに使用されるのに適している。図1は、デバイス上のコンポーネントを自動的に処理するシステム100の一つの実施例を示す。このシステム100は、サーバ102、データネットワーク104、及びデバイス106を備えている。データネットワーク104は、サーバ102とデバイス106との間で情報が通信されるようにする任意の種類の有線又は無線ネットワークでありうる。例えば、ネットワーク104は、通信ネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、又は例えばインターネットのような公衆ネットワークでありうる。一つ又は複数の実施例では、このシステムは、デバイス106上のコンポーネントを処理するために動作する。例えば、サーバ102は、コンポーネント112、アクションリスト110、及びアクションリストバージョン識別子108を含む。このバージョン識別子108は、アクションリスト110の現在のバージョンを識別する。アクションリスト110は、コンポーネント/アクションペアを備えている。ここで、各ペアは、コンポーネント識別子とアクション識別子とを備える。このコンポーネント識別子は、特定のコンポーネントを識別するユニークな項目IDである。コンポーネント識別子の一部は、コンポーネントのバージョンを識別するために使用される。例えば、コンポーネント識別子は、ビットのシリーズである。このビットの一部は、コンポーネントのバージョンを識別するために使用される。アクション識別子は、例えばインストール、更新、削除、リコール、ディセーブル、又はデバイス106がこの識別されたコンポーネントに関連して実行するその他のアクションのような特定のアクションを識別する。動作の間、サーバ102は、アクションリストバージョン識別子108を、ネットワーク104を経由してデバイス106に送信する。例えば、デバイス106は、電源投入シーケンスの間、サーバ102とコンタクトし、サーバ102は、アクションリストバージョン識別子108をデバイス106に送信することによって応答する。デバイス106は、バージョン識別子108を、デバイス106によって処理された最後のアクションリストのバージョンを表す格納されたバージョン識別子114と比較する。もしもダウンロードされたバージョン108と、格納されたバージョン114とが等しければ、デバイスは、デバイス上の既存のコンポーネント116に対して如何なるインストールもまた変更も行う必要がない。しかしながら、もしもこのダウンロードされたバージョン108が、格納されたバージョン114と異なるのであれば、デバイス106は、追加のコンポーネント処理が必要であることを知る。例えば、デバイス106上にインストールされる必要がある新たなコンポーネントがサーバ102に位置しているかもしれない。一旦デバイス106がアクションリストの新たなバージョンが存在していることを検出すると、新たなアクションリスト110を取得するためにサーバ102に要求を送信する。サーバ102は、アクションリスト110をデバイス106に送信することによって応答する。そしてデバイス106は、アクションリスト110を処理し、このアクションリスト110内で識別されたコンポーネントのインストール、更新、削除、あるいは処理を行う。このデバイス106は、各コンポーネント/アクションペアを通り、各コンポーネントに関してアクションを行うか否かを判定することによってこのアクションリスト110を処理するように動作する。例えば、もしもコンポーネントがインストール又は更新される必要があるとアクションリストが特定すれば、デバイス106は、コンポーネント112及びその他任意の必要なファイルをサーバ102からダウンロードし、それをデバイス106にインストールする。例えば、サーバ102からデバイス106へ送信された情報は、一般に120で示される。もしもコンポーネントが削除される必要があるとアクションリスト110が特定すれば、デバイス106はこのコンポーネントを削除する。従って、アクションリスト110内の各コンポーネント/アクションペアは、例えばこの識別されたコンポーネントを自動的にインストール、更新、削除するためにデバイス106によって処理される。アクションリストは任意の長さであり、このアクションリストを処理した後、デバイス106は、格納されたアクションリストバージョン識別子114を更新し、最も最近に処理されたアクションリストのバージョンすなわちバージョン108を格納する。一つの実施例では、デバイス106が、アクションリスト110内のコンポーネント/アクションペアを解析し、特定のコンポーネントに関連するアクションを講じる必要があるか否かを判定する。例えば、デバイス106は、インストールされたコンポーネントの最も新しいバージョンを既に持っているかもしれない。もしそうであれば、このデバイスは、そのコンポーネントを再インストールする必要はない。一つの実施例では、アクションリスト110内のコンポーネント識別子は、コンポーネントのバージョンを判定するための情報を含んでいる。例えば、このバージョン情報は、コンポーネント識別子の終わりに追加することができる。デバイス106は、格納されたコンポーネントバージョン118を、アクションリスト110内にダウンロードされたコンポーネントバージョンと比較する。もしも、格納されたコンポーネントバージョンと、ダウンロードされたコンポーネントバージョンとが同一であれば、デバイスは、そのコンポーネントに関していかなるアクションをとる必要もない。しかしながら、もしも、格納されたコンポーネントバージョンと、ダウンロードされたコンポーネントバージョンとが同一ではないのであれば、デバイス106は、アクションリスト内のそのコンポーネントに関連するアクションを実行する。従って、デバイス106は、新たなバージョンのコンポーネントを単に処理するだけなので、システムは非常に効率的である。図2は、デバイス200の機能図を示す。これは、デバイス200上のコンポーネントを自動的に処理するシステムの一つの実施例を含む。このデバイスは、処理ロジック208と、比較ロジック206と、機能ロジック214と、バージョン更新ロジック224と、格納されたアクションリストバージョン識別子204と、コンポーネントバージョン識別子212と、インストールされたコンポーネント226とを備える。デバイス200によって提供されたロジック及び機能は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって実現することができる。例えば、一つ又は複数の実施例では、処理ロジック208は、CPUと、プロセッサと、ゲートアレイと、ハードウェアロジックと、メモリコンポーネントと、仮想マシンと、ソフトウェアと、あるいはハードウェア及びソフトウェアの任意の組み合わせとを備える。従って、処理ロジック208は一般に、機械読取可能命令を実行し、ここに記載した機能を実現するロジックを備えている。デバイス200は、単に一つの実施例を示しており、デバイス要素の変更、追加、又は再配置は、本発明の範囲から逸脱することなくなされることが留意されるべきである。図3は、例えばデバイス200のようなデバイスを動作させ、デバイス200上のコンポーネントを自動的に処理するためのシステムを提供する方法300の一つの実施例を示す。明確さの目的のために、この方法300は、図2に示すデバイス200に関連して記載される。デバイス200が、図1に示すように、データネットワークを経由してダウンロードサーバと安全に通信していることが更に仮定される。ブロック302では、デバイスが、ダウンロードサーバからアクションリストバージョン識別子を取得する。例えば、デバイスが、データネットワークを経由してダウンロードサーバと通信し、202に示すように、ダウンロードサーバが、アクションリストバージョン識別子をデバイスに送信する。ブロック304では、テストが行われ、ダウンロードされたアクションリストバージョン識別子が、デバイスによって処理された最後のアクションリストに関連付けられた格納されたバージョン識別子と異なっているかが判定される。例えば、このダウンロードされたバージョン識別子202と、格納されたバージョン識別子204とが比較ロジック206に入力される。比較ロジック206は、これら2つの識別子を比較し、これらが等価であるかを判定する。もしもこれら2つの識別子が等価であれば、本方法はブロック302に戻り、別の機会に、新たなバージョンのアクションリストを取得する。もしもこれら2つのバージョン識別子が異なればDiff.、本方法はブロック306に進む。ブロック306では、デバイスが、ダウンロードサーバからアクションリストを検索する。例えば、アクションリスト210は、サーバからデータネットワークを経由して処理ロジック208にダウンロードされる。ブロック308では、アクションリスト内の第1のコンポーネント/アクションペアを解析することによってデバイスが、このアクションリストの処理を開始する。例えば、処理ロジック208は、ダウンロードされたアクションリスト210を処理してコンポーネント/アクションペアを解析するように動作する。ブロック310では、テストが行われ、必要であれば、現在処理されているコンポーネント/アクションペアのために、何のアクションが必要であるかが判定される。一つの実施例では、デバイスは、ブロック312に進むことによって、このアクションを自動的に実行するように動作する。しかしながら、これは、デバイス上に再インストールされている既存のコンポーネントという結果になるかもしれない。別の実施例では、コンポーネントのバージョンがチェックされ、アクションが必要であるかが判定される。例えば、このアクションが、コンポーネントをインストールすることであれば、このコンポーネントのバージョンがチェックされ、このデバイスが、現在インストールされているコンポーネントのバージョンを持っているかが確認される。従って、本方法は、デバイス上に既にインストールされたコンポーネントを再インストールすることを回避するよう動作する。例えば、処理ロジック208は、格納されたコンポーネントバージョン識別子212を検索し、それを、アクションリスト内で識別されたコンポーネントのバージョンと比較する。一つの実施例では、コンポーネントのバージョンが、アクションリスト内に提供されたコンポーネント識別子に組み込まれる。もしもこれら2つのコンポーネントバージョンが同一であれば、そのコンポーネントに関して更なるアクションは必要とされず、本方法はブロック416に進む。もしもこれら2つのコンポーネントバージョンが異なれば、処理ロジック208は、コンポーネントに関連したアクションを実施するように動作し、本方法はブロック312に進む。ブロック312では、現在のコンポーネント/アクションペア内のコンポーネントに関連付けられたアクションが実行され、識別されたコンポーネントの状態が変更される。例えば、処理ロジック208は、アクションロジック214を制御し、識別されたコンポーネントのインストール、更新、削除、起動、ディセーブル、リコール、又はこのコンポーネントの状態の変更のアクションを実行するように動作する。例えば、ソフトリコールは、コンポーネントがデバイスから削除されたが、関連するデータ及び/又はライセンス情報が除去されない場合に実行されうる。例えば、もしもこのアクションが、コンポーネントをインストール又は更新するものであれば、処理ロジック208が、データネットワークを経由してダウンロードサーバからコンポーネント222をダウンロード又は更新するように動作する。このダウンロードされたコンポーネントは、インストールされたコンポーネント226としてインストールされる。処理ロジック208は、あらゆる種類のインストール又は更新処理を実施し、ダウンロードされたコンポーネント222を、インストールされたコンポーネント226としてインストール又は更新する。もしもこのアクションが、コンポーネントを削除することであれば、処理ロジック208は、削除ロジック220を制御して、インストールされたコンポーネント226から、識別されたコンポーネントを削除する。図2及び図3には示されていないが、例えばインストール、更新、削除、リコール、起動、及び非起動など事実上いかなる種類のアクションであっても、コンポーネントに関して実行される。ブロック314では、コンポーネントバージョンリストが更新され、コンポーネントの新たなバージョンがインストール又は更新されたこと、あるいは、コンポーネントが削除されたことが反映される。例えば、処理ロジック208が、バージョン更新ロジック224を制御して、格納されたコンポーネントバージョン識別子212を、現在処理されているコンポーネントに関する新たな情報を用いて更新する。ブロック316では、テストが行われ、アクションリスト内のコンポーネント/アクションペアの全てが処理されたかが判定される。もしも全てのペアが処理されたならば、本方法はブロック320に進む。もしも全てのペアが処理されたわけではないのであれば、本方法はブロック318に進み、次のペアがブロック310における処理のためにアクセスされる。アクションリスト210は、任意の長さでありうるので、処理されるコンポーネント/アクションペアは任意数存在する。ブロック320では、このデバイスで格納されたアクションリストバージョン識別子が更新される。例えば、処理ロジック208が、更新バージョンロジック224を制御して、格納されたアクションリストバージョン識別子204を、最も最近処理されたアクションリストに関連付けられた識別子を用いて更新する。従って、新たなバージョンのアクションリストが利用可能になるまで、このシステムは、別のアクションリストを処理するように動作することはない。一つの実施例では、デバイス上のコンポーネントを自動的に処理するシステムは、処理ロジック208によって実行されたときに、ここに記載された機能を提供するコンピュータ読取可能媒体に格納されたプログラム命令を備える。例えば、命令は、例えばフロッピー登録商標ディスク、CDROM、メモリカード、フラッシュメモリデバイス、RAM、ROM、又はデバイス200にインタフェースする任意の種類のメモリデバイスやコンピュータ読取可能媒体のようなコンピュータ読取可能媒体からデバイス200へとロードされる。別の実施例では、この命令は、データネットワークを経由してデバイス200にインタフェースするネットワークリソースからデバイス200へとロードされうる。この命令は、処理ロジック208によって実行されたとき、ここに記載したようなデバイス上のコンポーネントを自動的に処理するシステムの一つ又は複数の実施例を提供する。本方法300は、ほんの一つの実施例を示しており、本発明要素の変形、追加、再配置は、本発明の範囲を逸脱することなくなされることに留意されたい。図4は、トランザクション400を示す。このトランザクションは、デバイス上のコンポーネントを自動的に処理するシステムの一つの実施例の動作中、デバイスとダウンロードサーバとの間で起こる。例えば、トランザクション400は、図1に示すサーバ102とデバイス106との間で起こる。この自動処理の開始において、402に示すように、デバイス106が、サーバ102から、アクションリストの最新のバージョン識別子を要求する。このアクションリストは、識別された各コンポーネントに関してデバイスが実行すべきアクションを記述するコンポーネント/アクションペアを含む。このアクションリストは、定期的に変更又は更新され、アクションリストバージョン識別子は、このアクションリストの現在のバージョンを識別する。サーバ102は、404に示すように、現在のアクションリストのバージョン識別子を送信することによって、デバイス102からの要求に対して応答する。アクションリストバージョン識別子を受信した後に、デバイスは、この識別子を、格納されたアクションリストバージョン識別子と比較する。もしもこれら2つのバージョン識別子が等価であれば、デバイスは更なるアクションを講じない。もしもこれら2つのバージョン識別子が異なっていれば、406に示すように、デバイス102は、サーバ102からの新たなアクションリストを要求する。サーバ102は、408に示すように、新たなアクションリストを送信することによって、デバイス106からの要求に対して応答する。デバイス106は、このアクションリスト内の各コンポーネント/アクションペアを処理し、特定のコンポーネントのインストール、更新、又は削除をするかしないかを判定する。もしも特定のコンポーネントのインストール又は更新が必要であるとデバイス106が判定したのであれば、410に示すように、デバイス106が、サーバ102からコンポーネントを要求または更新する。サーバ102は、要求されたコンポーネントをデバイス106に送信することによってこの要求に応答する。デバイス106は、このコンポーネントを受信し、必要に応じてインストール又は更新を行う。コンポーネントは、デバイスがローカルに格納するコンポーネントバージョン識別子を持っている。デバイス106がアクションリスト全体を解析し、必要に応じてサーバ102から必要な全てのコンポーネントを検索した後に、デバイス106は、丁度処理されたアクションリストのバージョンを用いて、ローカルに格納されたアクションリストを更新する。従って、サーバ102からダウンロードされたアクションリストバージョン識別子が、格納された識別子と異なるまで、デバイス106は、サーバ102からの別のアクションリストを処理するであろう。図5は、デバイス上のコンポーネントを自動的に処理するシステムにおいて使用するためのアクションリスト500の一つの実施例を示す。アクションリスト500は、アクションリストバージョン識別子502を含む。アクションリストバージョン識別子502の後には、コンポーネント/アクションペア504,506が続く。例えば、コンポーネント/アクションペア504は、コンポーネント識別子と、対応するアクションとを含む。一つの実施例では、コンポーネント識別子はまた、コンポーネントバージョン識別子をも含んでいる。これによって、コンポーネントのバージョンが、デバイス上に現在コンポーネントが存在しているか否かを判定するために使用されることが可能となる。このアクションは、インストール、更新、又は削除のうちの一つでありうるが、その他任意のアクションが特定されることも可能である。アクションリスト内の情報は、任意の適切なフォーマットを用いて符号化され、アクション識別子は、任意の種類でありうる。このように、デバイス上のコンポーネントを自動的に処理するシステムの一つ又は複数の実施例が説明され、記載されたが、これら精神又は本質的な特徴から逸脱することなく種々の変更が本実施例に対してなされるものと理解されよう。よって、この開示及び記述は、特許請求の範囲に記述された本発明の範囲を限定するものではなく、例示することを意図している。"