(57)【要約】      （修正有）【課題】デバイス上のコンポーネントを自動的に処理するための方法を提供する。【解決手段】方法は、アクションリストに関連したバーション識別子を受信することと、前記バージョン識別子が、格納されたバージョン識別子と等価ではないことを判定することと、前記アクションリストを受信することと、前記アクションリストを解析し、コンポーネント識別子と、関連するアクションとを取得することと、前記コンポーネント識別子によって識別されたコンポーネントについて前記アクションを実行することとを含む。【選択図】図３
2011175662.tif 000002
【特許請求の範囲】
【請求項１】
デバイス上のコンポーネントを自動的に処理する方法であって、
アクションリストに関連するバージョン識別子を受信することと、
前記バージョン識別子が、格納されたバージョン識別子と等価ではないことを判定することと、
前記アクションリストを受信することと、
前記アクションリストを解析して、コンポーネント識別子と、関連するアクションとを取得することと、
前記コンポーネント識別子によって識別されたコンポーネントについて前記アクションを実行することとを備える。
【請求項２】
請求項１に記載の方法において、前記格納された識別子を、前記バージョン識別子に等価になるように更新することを更に備える。
【請求項３】
請求項１に記載の方法において、前記アクションはインストールすることであり、前記実行するステップは、前記デバイス上に前記コンポーネントをインストールすることを備える。
【請求項４】
請求項１に記載の方法において、前記アクションは削除することであり、前記実行するステップは、前記デバイスから前記コンポーネントを削除することを備える。
【請求項５】
請求項１に記載の方法において、前記実行するステップは、前記デバイス上の前記コンポーネントの状態を変更することを備える。
【請求項６】
請求項１に記載の方法において、前記解析するステップは、前記コンポーネント識別子に関連したコンポーネントバージョンが、格納されたコンポーネントバージョンと等価ではないことを判定することを更に備える。
【請求項７】
請求項６に記載の方法において、前記格納されたコンポーネントバージョンを、前記コンポーネントバージョンに等価になるように更新することを更に備える。
【請求項８】
請求項１に記載の方法において、前記バージョン識別子、前記アクションリスト、及び前記コンポーネントをサーバから受信することを更に備える。
【請求項９】
請求項１に記載の方法において、前記デバイスは無線デバイスである。
【請求項１０】
デバイス上のコンポーネントを自動的に処理する装置であって、
アクションリストに関連するバージョン識別子を受信するロジックと、
前記バージョン識別子を、格納されたバージョン識別子と比較するロジックと、
前記バージョン識別子が前記格納されたバージョン識別子と等価でなければ、前記アクションリストを受信するロジックと、
前記アクションリストを解析して、コンポーネント識別子と、関連するアクションとを取得するロジックと、
前記コンポーネント識別子によって識別されたコンポーネントについて前記アクションを実行するロジックとを備える。
【請求項１１】
請求項１０に記載の装置において、前記格納された識別子を、前記バージョン識別子に等価になるように更新するロジックを更に備える。
【請求項１２】
請求項１０に記載の装置において、前記アクションを実行するロジックは、前記デバイス上に前記コンポーネントをインストールするロジックを備える。
【請求項１３】
請求項１０に記載の装置において、前記アクションを実行するロジックは、前記デバイスから前記コンポーネントを削除するロジックを備える。
【請求項１４】
請求項１０に記載の装置において、前記アクションを実行するロジックは、前記デバイス上の前記コンポーネントの状態を変更するロジックを備える。
【請求項１５】
請求項１０に記載の装置において、前記アクションリストを解析するロジックは、前記コンポーネント識別子に関連したコンポーネントバージョンが、格納されたコンポーネントバージョンと等価ではないことを判定するロジックを更に備える。
【請求項１６】
請求項１５に記載の装置において、前記格納されたコンポーネントバージョンを、前記コンポーネントバージョンに等価になるように更新するロジックを更に備える。
【請求項１７】
請求項１０に記載の装置において、前記バージョン識別子、前記アクションリスト、及び前記コンポーネントをサーバから受信するロジックを更に備える。
【請求項１８】
請求項１０に記載の装置において、前記デバイスは無線デバイスである。
【請求項１９】
デバイス上のコンポーネントを自動的に処理する装置であって、
アクションリストに関連するバージョン識別子を受信する手段と、
前記バージョン識別子が、格納されたバージョン識別子と等価ではないことを判定する手段と、
前記アクションリストを受信する手段と、
前記アクションリストを解析して、コンポーネント識別子と、関連するアクションとを取得する手段と、
前記コンポーネント識別子によって識別されたコンポーネントについて前記アクションを実行する手段とを備える。
【請求項２０】
請求項１９に記載の装置において、前記格納された識別子を、前記バージョン識別子に等価になるように更新する手段を更に備える。
【請求項２１】
請求項１９に記載の装置において、前記実行する手段は、前記デバイス上に前記コンポーネントをインストールする手段を備える。
【請求項２２】
請求項１９に記載の装置において、前記実行する手段は、前記デバイスから前記コンポーネントを削除する手段を備える。
【請求項２３】
請求項１９に記載の装置において、前記実行する手段は、前記デバイス上の前記コンポーネントの状態を変更する手段を備える。
【請求項２４】
請求項１９に記載の装置において、前記解析する手段は、前記コンポーネント識別子に関連したコンポーネントバージョンが、格納されたコンポーネントバージョンと等価ではないことを判定する手段を更に備える。
【請求項２５】
請求項２４に記載の装置において、前記格納されたコンポーネントバージョンを、前記コンポーネントバージョンに等価になるように更新する手段を更に備える。
【請求項２６】
請求項１９に記載の装置において、前記バージョン識別子、前記アクションリスト、及び前記コンポーネントをサーバから受信する手段を更に備える。
【請求項２７】
請求項１９に記載の装置において、前記デバイスは無線デバイスである。
【請求項２８】
デバイス内のロジックを処理することによって実行された時、前記デバイス上のコンポーネントを自動的に処理するように動作するコンピュータ読取可能媒体であって、
アクションリストに関連するバージョン識別子を受信する命令と、
前記バージョン識別子が、格納されたバージョン識別子と等価ではないことを判定する命令と、
前記アクションリストを受信する命令と、
前記アクションリストを解析して、コンポーネント識別子と、関連するアクションとを取得する命令と、
前記コンポーネント識別子によって識別されたコンポーネントについて前記アクションを実行する命令とを備える。
【請求項２９】
請求項２８に記載のコンピュータ読取可能媒体において、前記格納された識別子を、前記バージョン識別子に等価になるように更新する命令を更に備える。
【請求項３０】
請求項２８に記載のコンピュータ読取可能媒体において、前記実行する命令は、前記デバイス上に前記コンポーネントをインストールする命令を備える。
【請求項３１】
請求項２８に記載のコンピュータ読取可能媒体において、前記実行する命令は、前記デバイスから前記コンポーネントを削除する命令を備える。
【請求項３２】
請求項２８に記載のコンピュータ読取可能媒体において、前記実行する命令は、前記デバイス上の前記コンポーネントの状態を変更する命令を備える。
【請求項３３】
請求項２８に記載のコンピュータ読取可能媒体において、前記解析する命令は、前記コンポーネント識別子に関連したコンポーネントバージョンが、格納されたコンポーネントバージョンと等価ではないことを判定する命令を更に備える。
【請求項３４】
請求項３３に記載のコンピュータ読取可能媒体において、前記格納されたコンポーネントバージョンを、前記コンポーネントバージョンと等価になるように更新する命令を更に備える。
【請求項３５】
請求項２８に記載のコンピュータ読取可能媒体において、前記バージョン識別子、前記アクションリスト、及び前記コンポーネントをサーバから受信する命令を更に備える。
【請求項３６】
請求項２８に記載のコンピュータ読取可能媒体において、前記デバイスは無線デバイスである。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、デバイス上のコンポーネントの処理に関し、更に詳しくは、デバイス上のコンポーネントを自動的にインストールし、更新し、又は削除するシステムに関する。
【背景技術】
【０００２】
データネットワークは、様々なネットワーク可能なデバイスを用いて、多数のユーザが互いに通信するための方法を提供する。例えば、無線通信ネットワークでは、様々なネットワーク可能なポータブル電話によって、ユーザは、極めて遠い距離を介して互いに通信することが可能となる。ネットワーク可能なデバイスは、一般に、このデバイスがどのように動作するか、そして究極的には、ネットワーク全体の性能がどのように良くなるのかを制御するインストールされた様々なコンポーネントを用いて設定される。
【０００３】
ある環境では、ネットワークオペレータは、ネットワーク可能なデバイスの設定を、アップグレード、インストール、削除、さもなければ変更することを望んでいる。例えば、システムソフトウェアが改善されると、ネットワークオペレータは、このネットワークをより効率的に動作させるために、ネットワーク内の全てのデバイスにインストールされた新たなコンポーネントを持ちたいと思う。例えば、ネットワークオペレータは、デバイス上にアプリケーションソフトウェア、バイナリ実行可能な、あるいはその他の情報をインストールし、サービス改善又はアップグレードを提供したいと思うかもしれない。別の状況では、ネットワークオペレータは、特定の種類のデバイスの必要性に基づいて、企業アプリケーション又はその他のデバイスアップグレードアプリケーションをインストールすることを望むかもしれない。更に、もしも現在インストールされているシステムコンポーネントに問題が存在すると判定された場合、デバイスユーザがこの問題が存在することを気付いているかに関わらず、ネットワークオペレータは、この問題を修復するために、アップグレードされたコンポーネントをインストールしたいと思うであろう。例えば、もしもユーザがマルチメディアコンテンツを見ることを可能にする現在のデバイスコンポーネントに問題が存在するのであれば、ネットワークオペレータは、このコンポーネントを、問題の無い新たなコンポーネントに交換するために、ネットワーク上の全てのデバイスをアップグレードしたいと思うであろう。
【０００４】
デバイスにおけるコンポーネントをインストール、削除、あるいは変更するために使用される一つの技術は、デバイスユーザが、このデバイスを修理センタに返還することを待つことである。一旦修理センタに行くと、このデバイスが最も最近のコンポーネントバージョンを持つことができるように、修理要員が、このデバイスを再プログラムすることができる。あいにく、もしもデバイスユーザがこの問題に気がつかなければ、あるいは、彼らがこのデバイスをどうやって使用するのかにこの問題が現在影響を与えていなければ、デバイスユーザはこのデバイスを返還することを忘れるかもしれないのでこの処理は非常に非効率的である。デバイスの全てがアップグレードされる訳ではないので、幾つかのデバイスは、最良の性能を与えるように動作しないであろうし、ネットワークの全体動作が低下するかもしれない。
【０００５】
従って、必要なことは、コンポーネントの選択されたバージョンがインストールされ、動作されるようにデバイス上のコンポーネントを自動的に処理するためのシステムである。このシステムは、比較的短い時間内で、多数のデバイスにおけるコンポーネントを処理できるように十分に柔軟であるべきである。これによって、ネットワーク上で動作する全てのデバイスに対して高速なアップグレードを提供し、もって、最良のデバイス性能と、増大したネットワーク効率との結果が得られる。
【発明の概要】
【０００６】
本出願は、２００２年１２月２０日に出願され"AUTO-INSTALL"と題された係属中の米国仮出願６０／４３５，４８６号の優先権の利益を主張する。この出願は、全ての目的のためにその全体を参照することにより組み込まれる。
【０００７】
本出願はまた、２００２年１２月２０日に出願され"REGISTRY-BASED AUTO INSTALL COMPONENT HANDLING"と題された係属中の米国仮出願６０／４３５，８２８号の優先権の利益を主張する。この出願は、全ての目的のためにその全体を参照することにより組み込まれる。
【０００８】
一つ又は複数の実施例では、デバイス上のコンポーネントを自動的に処理するためにシステムが提供される。例えば、一つの実施例では、このシステムによって、デバイスは、ダウンロードサーバ上で利用可能なバージョン化されたアクションリストを用いて、デバイスにおけるコンポーネントのインストール、更新、削除、起動、ディセーブル、リコール、あるいはこのコンポーネントの状態の変更が可能となる。
【０００９】
処理されることが可能なコンポーネントは、例えばアプリケーション、実行可能な設定情報、ユーザインタフェース設定、ランダムデータ、又はその他の種類の情報など、任意の種類でありうる。
【００１０】
このシステムの動作中、デバイスは、ダウンロードサーバ上のアクションリストのバージョンを、デバイスによって処理された最後のアクションリストに関連付けられた格納されたバージョンと比較する。もしも２つのバージョンが異なれば、デバイスは、サーバから新たなアクションリストをダウンロードし、このアクションリスト内の各項目を解析し、デバイス上のコンポーネントを処理する。一つの実施例では、このアクションリスト内の各項目は、コンポーネント識別子をアクション識別子に関連付けているコンポーネント／アクションペアを備えている。
【００１１】
このコンポーネント識別子は、コンポーネントの種類と、その現在のバージョンとを識別する。このアクション識別子は、識別されたコンポーネントに関連付けられたデバイスによって実行されるアクションを識別する。
【００１２】
一つの実施例では、デバイスは、アクションリスト内のコンポーネント／アクションペアのそれぞれを解析し、識別されたコンポーネントのために実行されるアクションが必要あるかを判定する。
【００１３】
このデバイスは、アクションリスト内のコンポーネントのバージョンを、デバイスに格納されたコンポーネントバージョンと比較する。もしも２つのコンポーネントバージョンが同一であれば、デバイスは、コンポーネント／アクションペアに関して何のアクションもとらない。もしもこれらバージョンが異なるのであれば、デバイスは、アクションリスト内のコンポーネントに関連付けられたアクションを実行する。例えば、もしもこのアクションが、識別されたコンポーネントをインストールすることであれば、デバイスはこのコンポーネント、及びその他の必要な情報をダウンロードサーバからダウンロードし、このコンポーネントをデバイス上にインストールする。従って、このデバイスは、新たなコンポーネントバージョンにおける指定された動作のみを実行するアクションリストを介して進む。
【００１４】
特定のコンポーネント／アクションペアを処理した後、このデバイスに格納されたコンポーネントバージョンは、アクションリスト内に与えられた新たなコンポーネントバージョンを用いて更新される。アクションリスト全体が処理されたとき、現在のアクションリストの将来における処理を再び行うことを回避するために、デバイスは、アクションリストのバージョン識別子を記録する。従って、ダウンロードサーバ上で利用可能なアクションリストのバージョンが、デバイス上に格納されたバージョンと異なるまで、このデバイスは、別のアクションリストを処理しないであろう。
【００１５】
一つの実施例では、デバイスがダウンロードサーバと通信するときにその都度、デバイスが、アクションリストのバージョンをチェックする。例えば、デバイスの電源がオンにされた後、又は定期的な間隔において、デバイスがダウンロードサーバと通信する。このシステムは、何のユーザ相互作用もなく、あるいは制限されたユーザ相互作用もなく、コンポーネントがデバイス上で処理されるようになるメカニズムを提供する。例えば、一つの実施例では、電源投入時にコンポーネントがデバイスにプッシュされ、「サイレントインストール」を効果的に提供する。別の実施例では、ユーザのオプション時にコンポーネント処理となるようにユーザインタフェースが提供される。従って、このシステムは、コンポーネント処理が強制されたり、促進されたり、要求されたり、オプションとされるようにする。
【００１６】
このシステムは、単一デバイス上、又は多数のデバイス上のコンポーネントを処理するために使用される。例えば、多数のデバイスが、アクションリストサーバにアクセスすることができるデータネットワークでは、単一のアクションリストが全てのデバイスに配信され、各デバイスは、どのコンポーネントがそのデバイスのために処理されるのかを判定することができる。別の実施例では、サーバは、異なるデバイス種類のために使用することが可能な複数のアクションリストを提供する。例えば、異なる種類のデバイスは、異なるアクションリストにアクセスし、そのデバイス種類に対するコンポーネントを処理する。従って、このシステムが多数のデバイスに対してグローバルな更新を与えることが可能である。ここでは、各デバイスがアクションリストサーバにコンタクトするので、時間又は日の期間にわたって更新が実行される。
【００１７】
更に、サーバとデバイスとの間の通信は、例えば暗号化や任意の種類の符号化のような任意の種類の安全な通信技術を使って実行される。これによって、デバイスが認証され、情報の任意の送信が安全な方式でなされるようになる。
【００１８】
一つの実施例では、デバイス上のコンポーネントを自動的に処理するための方法が提供される。この方法は、アクションリストに関連付けられたバーション識別子を受信することと、前記バージョン識別子が、格納されたバージョン識別子と等価ではないことを判定することと、前記アクションリストを受信することと、前記アクションリストを解析し、コンポーネント識別子と、関連するアクション識別子とを取得することと、前記コンポーネント識別子によって識別されたコンポーネントについて前記アクションを実行することとを備える。
【００１９】
一つの実施例では、デバイス上のコンポーネントを自動的に処理する装置が提供される。この装置は、アクションリストに関連付けられたバージョン識別子を受信するロジックと、前記バージョン識別子を、格納されたバージョン識別子と比較するロジックとを備える。またこの装置は、もしもバージョン識別子が、前記格納されたバージョン識別子と等価ではないのであれば、アクションリストを受信するロジックと、前記アクションリストを解析し、コンポーネント識別子と、関連するアクション識別子とを取得するロジックとを備える。またこの装置は、前記コンポーネント識別子によって識別されるコンポーネントにおいてアクションを実行するロジックを備えている。
【００２０】
一つの実施例では、デバイス上のコンポーネントを自動的に処理するための装置が提供される。この装置は、アクションリストに関連付けられたバージョン識別子を受信する手段と、前記バージョン識別子が、格納されたバージョン識別子と等価ではないことを判定する手段とを備える。またこの装置は、前記アクションリストを受信する手段と、前記アクションリストを解析し、コンポーネント識別子と、関連するアクション識別子とを取得する手段とを備える。またこの装置は、コンポーネント識別子によって識別されたコンポーネントにおいて前記アクションを実行する手段を備える。
【００２１】
一つの実施例では、コンピュータ読取可能媒体が提供される。この媒体は、デバイス内の処理ロジックによって実行されたときに、デバイス上のコンポーネントを自動的に処理するように動作する命令を備えている。このコンピュータ読取可能媒体は、アクションリストに関連付けられたバージョン識別子を受信する命令と、前記バージョン識別子が、格納されたバージョン識別子と等価ではないことを判定する命令とを備えている。またこのコンピュータ読取可能媒体は、前記アクションリストを受信する命令と、前記アクションリストを解析し、コンポーネント識別子と、関連するアクション識別子とを取得する命令とを備える。またこのコンピュータ読取可能媒体は、前記コンポーネント識別子によって識別されたコンポーネントにおいて前記アクションを実行する命令を備えている。
【００２２】
本発明のその他の局面、利点、及び特徴は、以下の図面の簡単な説明、本発明の詳細な説明、及び特許請求の範囲の説明のレビューの後に明らかになるであろう。
【００２３】
ここに記載された実施例の前述した局面及び付随する利点は、添付図面と連携してなされた以下に示す詳細記述を参照することによって容易に明らかになるであろう。
【図面の簡単な説明】
【００２４】
【図１】図１は、デバイス上のコンポーネントを自動的に処理するシステムの一つの実施例を示す。
【図２】図２は、自動的にコンポーネントを処理するシステムの一つの実施例を含むデバイスの機能ブロック図である。
【図３】図３は、デバイス上のコンポーネントを自動的に処理するシステムを提供するデバイスを動作させる方法の一つの実施例を示す。
【図４】図４は、デバイス上のコンポーネントを自動的に処理するシステムの一つの実施例の動作の間に、ダウンロードサーバとデバイスとの間で起こるトランザクションを示す。
【図５】図５は、デバイス上のコンポーネントを自動的に処理するシステムで使用されるアクションリストの一つの実施例を示す。
【発明を実施するための形態】
【００２５】
以下に示す詳細記述は、デバイス上のコンポーネントを自動的に処理するシステムの実施例を示す。このシステムは、限定される訳ではないが、通信ネットワーク、例えばインターネットのような公衆ネットワーク、例えば仮想プライベートネットワークのようなプライベートネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、長距離ネットワーク、又はその他任意の種類のデータネットワークを含む有線又は無線の任意のネットワークにおいて使用されるのに適している。またこのシステムは、コンポーネントをダウンロード及びインストールすることが可能な任意の種類のデバイスと共に使用するのに適している。例えば、このシステムは、オフィスコンピュータ、ノートブックコンピュータ、及び例えばポータブル電話、ＰＤＡ、又はコンポーネントを受信及びインストールすることが可能なその他任意の種類のデバイスのようなハンドヘルドデバイスとともに使用することに適している。
【００２６】
一つ又は複数の実施例では、このシステムは、例えばデバイス特有のリソースのために一般化されたコールを提供することによって、デバイスの動作を簡単にするために使用されるデバイス上で実行しているランタイム環境と相互作用する。そのようなランタイム環境は、カリフォルニア州、サンディエゴのＱＵＡＬＣＯＭＭ社によって開発されたBinary Runtime Environment for Wireless（ＢＲＥＷ（登録商標））ソフトウェアプラットフォームである。以下の記述において、このデバイスは、例えばＢＲＥＷソフトウェアプラットフォームのようなランタイム環境を実行していると仮定される。しかしながら、このシステムの一つ又は複数の実施例は、種々の有線及び無線デバイス上のコンポーネントを自動的に処理する他の種類のランタイム環境とともに使用されるのに適している。
【００２７】
図１は、デバイス上のコンポーネントを自動的に処理するシステム１００の一つの実施例を示す。このシステム１００は、サーバ１０２、データネットワーク１０４、及びデバイス１０６を備えている。データネットワーク１０４は、サーバ１０２とデバイス１０６との間で情報が通信されるようにする任意の種類の有線又は無線ネットワークでありうる。
【００２８】
例えば、ネットワーク１０４は、通信ネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、又は例えばインターネットのような公衆ネットワークでありうる。
【００２９】
一つ又は複数の実施例では、このシステムは、デバイス１０６上のコンポーネントを処理するために動作する。
【００３０】
例えば、サーバ１０２は、コンポーネント１１２、アクションリスト１１０、及びアクションリストバージョン識別子１０８を含む。このバージョン識別子１０８は、アクションリスト１１０の現在のバージョンを識別する。アクションリスト１１０は、コンポーネント／アクションペアを備えている。ここで、各ペアは、コンポーネント識別子とアクション識別子とを備える。このコンポーネント識別子は、特定のコンポーネントを識別するユニークな項目ＩＤである。コンポーネント識別子の一部は、コンポーネントのバージョンを識別するために使用される。例えば、コンポーネント識別子は、ビットのシリーズである。このビットの一部は、コンポーネントのバージョンを識別するために使用される。アクション識別子は、例えばインストール、更新、削除、リコール、ディセーブル、又はデバイス１０６がこの識別されたコンポーネントに関連して実行するその他のアクションのような特定のアクションを識別する。
【００３１】
動作の間、サーバ１０２は、アクションリストバージョン識別子１０８を、ネットワーク１０４を経由してデバイス１０６に送信する。例えば、デバイス１０６は、電源投入シーケンスの間、サーバ１０２とコンタクトし、サーバ１０２は、アクションリストバージョン識別子１０８をデバイス１０６に送信することによって応答する。デバイス１０６は、バージョン識別子１０８を、デバイス１０６によって処理された最後のアクションリストのバージョンを表す格納されたバージョン識別子１１４と比較する。もしもダウンロードされたバージョン１０８と、格納されたバージョン１１４とが等しければ、デバイスは、デバイス上の既存のコンポーネント１１６に対して如何なるインストールもまた変更も行う必要がない。しかしながら、もしもこのダウンロードされたバージョン１０８が、格納されたバージョン１１４と異なるのであれば、デバイス１０６は、追加のコンポーネント処理が必要であることを知る。例えば、デバイス１０６上にインストールされる必要がある新たなコンポーネントがサーバ１０２に位置しているかもしれない。
【００３２】
一旦デバイス１０６がアクションリストの新たなバージョンが存在していることを検出すると、新たなアクションリスト１１０を取得するためにサーバ１０２に要求を送信する。サーバ１０２は、アクションリスト１１０をデバイス１０６に送信することによって応答する。そしてデバイス１０６は、アクションリスト１１０を処理し、このアクションリスト１１０内で識別されたコンポーネントのインストール、更新、削除、あるいは処理を行う。
【００３３】
このデバイス１０６は、各コンポーネント／アクションペアを通り、各コンポーネントに関してアクションを行うか否かを判定することによってこのアクションリスト１１０を処理するように動作する。例えば、もしもコンポーネントがインストール又は更新される必要があるとアクションリストが特定すれば、デバイス１０６は、コンポーネント１１２及びその他任意の必要なファイルをサーバ１０２からダウンロードし、それをデバイス１０６にインストールする。例えば、サーバ１０２からデバイス１０６へ送信された情報は、一般に１２０で示される。
【００３４】
もしもコンポーネントが削除される必要があるとアクションリスト１１０が特定すれば、デバイス１０６はこのコンポーネントを削除する。従って、アクションリスト１１０内の各コンポーネント／アクションペアは、例えばこの識別されたコンポーネントを自動的にインストール、更新、削除するためにデバイス１０６によって処理される。アクションリストは任意の長さであり、このアクションリストを処理した後、デバイス１０６は、格納されたアクションリストバージョン識別子１１４を更新し、最も最近に処理されたアクションリストのバージョン（すなわちバージョン１０８）を格納する。
【００３５】
一つの実施例では、デバイス１０６が、アクションリスト１１０内のコンポーネント／アクションペアを解析し、特定のコンポーネントに関連するアクションを講じる必要があるか否かを判定する。例えば、デバイス１０６は、インストールされたコンポーネントの最も新しいバージョンを既に持っているかもしれない。もしそうであれば、このデバイスは、そのコンポーネントを再インストールする必要はない。一つの実施例では、アクションリスト１１０内のコンポーネント識別子は、コンポーネントのバージョンを判定するための情報を含んでいる。例えば、このバージョン情報は、コンポーネント識別子の終わりに追加することができる。デバイス１０６は、格納されたコンポーネントバージョン１１８を、アクションリスト１１０内にダウンロードされたコンポーネントバージョンと比較する。もしも、格納されたコンポーネントバージョンと、ダウンロードされたコンポーネントバージョンとが同一であれば、デバイスは、そのコンポーネントに関していかなるアクションをとる必要もない。しかしながら、もしも、格納されたコンポーネントバージョンと、ダウンロードされたコンポーネントバージョンとが同一ではないのであれば、デバイス１０６は、アクションリスト内のそのコンポーネントに関連するアクションを実行する。従って、デバイス１０６は、新たなバージョンのコンポーネントを単に処理するだけなので、システムは非常に効率的である。
【００３６】
図２は、デバイス２００の機能図を示す。これは、デバイス２００上のコンポーネントを自動的に処理するシステムの一つの実施例を含む。このデバイスは、処理ロジック２０８と、比較ロジック２０６と、機能ロジック２１４と、バージョン更新ロジック２２４と、格納されたアクションリストバージョン識別子２０４と、コンポーネントバージョン識別子２１２と、インストールされたコンポーネント２２６とを備える。デバイス２００によって提供されたロジック及び機能は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって実現することができる。例えば、一つ又は複数の実施例では、処理ロジック２０８は、ＣＰＵと、プロセッサと、ゲートアレイと、ハードウェアロジックと、メモリコンポーネントと、仮想マシンと、ソフトウェアと、あるいはハードウェア及びソフトウェアの任意の組み合わせとを備える。
【００３７】
従って、処理ロジック２０８は一般に、機械読取可能命令を実行し、ここに記載した機能を実現するロジックを備えている。デバイス２００は、単に一つの実施例を示しており、デバイス要素の変更、追加、又は再配置は、本発明の範囲から逸脱することなくなされることが留意されるべきである。
【００３８】
図３は、例えばデバイス２００のようなデバイスを動作させ、デバイス２００上のコンポーネントを自動的に処理するためのシステムを提供する方法３００の一つの実施例を示す。
【００３９】
明確さの目的のために、この方法３００は、図２に示すデバイス２００に関連して記載される。デバイス２００が、図１に示すように、データネットワークを経由してダウンロードサーバと安全に通信していることが更に仮定される。
【００４０】
ブロック３０２では、デバイスが、ダウンロードサーバからアクションリストバージョン識別子を取得する。例えば、デバイスが、データネットワークを経由してダウンロードサーバと通信し、２０２に示すように、ダウンロードサーバが、アクションリストバージョン識別子をデバイスに送信する。
【００４１】
ブロック３０４では、テストが行われ、ダウンロードされたアクションリストバージョン識別子が、デバイスによって処理された最後のアクションリストに関連付けられた格納されたバージョン識別子と異なっているかが判定される。例えば、このダウンロードされたバージョン識別子２０２と、格納されたバージョン識別子２０４とが比較ロジック２０６に入力される。比較ロジック２０６は、これら２つの識別子を比較し、これらが等価であるかを判定する。もしもこれら２つの識別子が等価であれば、本方法はブロック３０２に戻り、別の機会に、新たなバージョンのアクションリストを取得する。もしもこれら２つのバージョン識別子が異なれば（Ｄｉｆｆ．）、本方法はブロック３０６に進む。
【００４２】
ブロック３０６では、デバイスが、ダウンロードサーバからアクションリストを検索する。例えば、アクションリスト２１０は、サーバからデータネットワークを経由して処理ロジック２０８にダウンロードされる。
【００４３】
ブロック３０８では、アクションリスト内の第１のコンポーネント／アクションペアを解析することによってデバイスが、このアクションリストの処理を開始する。例えば、処理ロジック２０８は、ダウンロードされたアクションリスト２１０を処理してコンポーネント／アクションペアを解析するように動作する。
【００４４】
ブロック３１０では、テストが行われ、必要であれば、現在処理されているコンポーネント／アクションペアのために、何のアクションが必要であるかが判定される。一つの実施例では、デバイスは、ブロック３１２に進むことによって、このアクションを自動的に実行するように動作する。
【００４５】
しかしながら、これは、デバイス上に再インストールされている既存のコンポーネントという結果になるかもしれない。別の実施例では、コンポーネントのバージョンがチェックされ、アクションが必要であるかが判定される。例えば、このアクションが、コンポーネントを「インストール」することであれば、このコンポーネントのバージョンがチェックされ、このデバイスが、現在インストールされているコンポーネントのバージョンを持っているかが確認される。従って、本方法は、デバイス上に既にインストールされたコンポーネントを再インストールすることを回避するよう動作する。例えば、処理ロジック２０８は、格納されたコンポーネントバージョン識別子２１２を検索し、それを、アクションリスト内で識別されたコンポーネントのバージョンと比較する。一つの実施例では、コンポーネントのバージョンが、アクションリスト内に提供されたコンポーネント識別子に組み込まれる。もしもこれら２つのコンポーネントバージョンが同一であれば、そのコンポーネントに関して更なるアクションは必要とされず、本方法はブロック４１６に進む。もしもこれら２つのコンポーネントバージョンが異なれば、処理ロジック２０８は、コンポーネントに関連したアクションを実施するように動作し、本方法はブロック３１２に進む。
【００４６】
ブロック３１２では、現在のコンポーネント／アクションペア内のコンポーネントに関連付けられたアクションが実行され、識別されたコンポーネントの状態が変更される。例えば、処理ロジック２０８は、アクションロジック２１４を制御し、識別されたコンポーネントのインストール、更新、削除、起動、ディセーブル、リコール、又はこのコンポーネントの状態の変更のアクションを実行するように動作する。例えば、ソフトリコールは、コンポーネントがデバイスから削除されたが、関連するデータ及び／又はライセンス情報が除去されない場合に実行されうる。例えば、もしもこのアクションが、コンポーネントをインストール又は更新するものであれば、処理ロジック２０８が、データネットワークを経由してダウンロードサーバからコンポーネント２２２をダウンロード（又は更新）するように動作する。このダウンロードされたコンポーネントは、インストールされたコンポーネント２２６としてインストールされる。処理ロジック２０８は、あらゆる種類のインストール又は更新処理を実施し、ダウンロードされたコンポーネント２２２を、インストールされたコンポーネント２２６としてインストール又は更新する。もしもこのアクションが、コンポーネントを削除することであれば、処理ロジック２０８は、削除ロジック２２０を制御して、インストールされたコンポーネント２２６から、識別されたコンポーネントを削除する。
【００４７】
図２及び図３には示されていないが、例えばインストール、更新、削除、リコール、起動、及び非起動など事実上いかなる種類のアクションであっても、コンポーネントに関して実行される。
【００４８】
ブロック３１４では、コンポーネントバージョンリストが更新され、コンポーネントの新たなバージョンがインストール又は更新されたこと、あるいは、コンポーネントが削除されたことが反映される。
【００４９】
例えば、処理ロジック２０８が、バージョン更新ロジック２２４を制御して、格納されたコンポーネントバージョン識別子２１２を、現在処理されているコンポーネントに関する新たな情報を用いて更新する。
【００５０】
ブロック３１６では、テストが行われ、アクションリスト内のコンポーネント／アクションペアの全てが処理されたかが判定される。もしも全てのペアが処理されたならば、本方法はブロック３２０に進む。もしも全てのペアが処理されたわけではないのであれば、本方法はブロック３１８に進み、次のペアがブロック３１０における処理のためにアクセスされる。アクションリスト２１０は、任意の長さでありうるので、処理されるコンポーネント／アクションペアは任意数存在する。
【００５１】
ブロック３２０では、このデバイスで格納されたアクションリストバージョン識別子が更新される。
【００５２】
例えば、処理ロジック２０８が、更新バージョンロジック２２４を制御して、格納されたアクションリストバージョン識別子２０４を、最も最近処理されたアクションリストに関連付けられた識別子を用いて更新する。従って、新たなバージョンのアクションリストが利用可能になるまで、このシステムは、別のアクションリストを処理するように動作することはない。
【００５３】
一つの実施例では、デバイス上のコンポーネントを自動的に処理するシステムは、処理ロジック２０８によって実行されたときに、ここに記載された機能を提供するコンピュータ読取可能媒体に格納されたプログラム命令を備える。
【００５４】
例えば、命令は、例えばフロッピー（登録商標）ディスク、ＣＤＲＯＭ、メモリカード、フラッシュメモリデバイス、ＲＡＭ、ＲＯＭ、又はデバイス２００にインタフェースする任意の種類のメモリデバイスやコンピュータ読取可能媒体のようなコンピュータ読取可能媒体からデバイス２００へとロードされる。別の実施例では、この命令は、データネットワークを経由してデバイス２００にインタフェースするネットワークリソースからデバイス２００へとロードされうる。この命令は、処理ロジック２０８によって実行されたとき、ここに記載したようなデバイス上のコンポーネントを自動的に処理するシステムの一つ又は複数の実施例を提供する。
【００５５】
本方法３００は、ほんの一つの実施例を示しており、本発明要素の変形、追加、再配置は、本発明の範囲を逸脱することなくなされることに留意されたい。
【００５６】
図４は、トランザクション４００を示す。このトランザクションは、デバイス上のコンポーネントを自動的に処理するシステムの一つの実施例の動作中、デバイスとダウンロードサーバとの間で起こる。例えば、トランザクション４００は、図１に示すサーバ１０２とデバイス１０６との間で起こる。
【００５７】
この自動処理の開始において、４０２に示すように、デバイス１０６が、サーバ１０２から、アクションリストの最新のバージョン識別子を要求する。このアクションリストは、識別された各コンポーネントに関してデバイスが実行すべきアクションを記述するコンポーネント／アクションペアを含む。このアクションリストは、定期的に変更又は更新され、アクションリストバージョン識別子は、このアクションリストの現在のバージョンを識別する。
【００５８】
サーバ１０２は、４０４に示すように、現在のアクションリストのバージョン識別子を送信することによって、デバイス１０２からの要求に対して応答する。アクションリストバージョン識別子を受信した後に、デバイスは、この識別子を、格納されたアクションリストバージョン識別子と比較する。もしもこれら２つのバージョン識別子が等価であれば、デバイスは更なるアクションを講じない。もしもこれら２つのバージョン識別子が異なっていれば、４０６に示すように、デバイス１０２は、サーバ１０２からの新たなアクションリストを要求する。
【００５９】
サーバ１０２は、４０８に示すように、新たなアクションリストを送信することによって、デバイス１０６からの要求に対して応答する。デバイス１０６は、このアクションリスト内の各コンポーネント／アクションペアを処理し、特定のコンポーネントのインストール、更新、又は削除をするかしないかを判定する。もしも特定のコンポーネントのインストール又は更新が必要であるとデバイス１０６が判定したのであれば、４１０に示すように、デバイス１０６が、サーバ１０２からコンポーネントを要求（または更新）する。
【００６０】
サーバ１０２は、要求されたコンポーネントをデバイス１０６に送信することによってこの要求に応答する。デバイス１０６は、このコンポーネントを受信し、必要に応じてインストール又は更新を行う。コンポーネントは、デバイスがローカルに格納するコンポーネントバージョン識別子を持っている。デバイス１０６がアクションリスト全体を解析し、必要に応じてサーバ１０２から必要な全てのコンポーネントを検索した後に、デバイス１０６は、丁度処理されたアクションリストのバージョンを用いて、ローカルに格納されたアクションリストを更新する。従って、サーバ１０２からダウンロードされたアクションリストバージョン識別子が、格納された識別子と異なるまで、デバイス１０６は、サーバ１０２からの別のアクションリストを処理するであろう。
【００６１】
図５は、デバイス上のコンポーネントを自動的に処理するシステムにおいて使用するためのアクションリスト５００の一つの実施例を示す。アクションリスト５００は、アクションリストバージョン識別子５０２を含む。アクションリストバージョン識別子５０２の後には、コンポーネント／アクションペア（５０４，５０６）が続く。例えば、コンポーネント／アクションペア５０４は、コンポーネント識別子と、対応するアクションとを含む。一つの実施例では、コンポーネント識別子はまた、コンポーネントバージョン識別子をも含んでいる。これによって、コンポーネントのバージョンが、デバイス上に現在コンポーネントが存在しているか否かを判定するために使用されることが可能となる。このアクションは、「インストール」、「更新」、又は「削除」のうちの一つでありうるが、その他任意のアクションが特定されることも可能である。アクションリスト内の情報は、任意の適切なフォーマットを用いて符号化され、アクション識別子は、任意の種類でありうる。このように、デバイス上のコンポーネントを自動的に処理するシステムの一つ又は複数の実施例が説明され、記載されたが、これら精神又は本質的な特徴から逸脱することなく種々の変更が本実施例に対してなされるものと理解されよう。よって、この開示及び記述は、特許請求の範囲に記述された本発明の範囲を限定するものではなく、例示することを意図している。
【図１】
2011175662.tif 000003
【図２】
2011175662.tif 000004
【図３】
2011175662.tif 000005
【図４】
2011175662.tif 000006
【図５】
2011175662.tif 000007
【手続補正書】
【提出日】平成23年4月27日(2011.4.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デバイス上のコンポーネントを自動的に処理する方法であって、
前記デバイスが、
コンポーネント識別子とアクション識別子とのペアを備えたアクションリストに関連付けられたバージョン識別子を受信することと、
前記バージョン識別子が、前記デバイスに格納されたバージョン識別子と等価ではないことを判定することと、
前記アクションリストを受信することと、
前記アクションリストを解析して、コンポーネント識別子と、このコンポーネント識別子とペアをなすアクション識別子とを取得することと、
前記コンポーネント識別子に関連付けられたコンポーネントバージョンが、前記デバイスに格納されたコンポーネントバージョンと等価ではないことを判定することと、
前記コンポーネント識別子によって識別されたコンポーネントに関連付けられたアクションを実行することとを備え、
前記アクションは、前記アクション識別子によって識別され、
前記アクションは前記コンポーネントをインストールすることであり、前記実行するステップは、前記コンポーネントの更新、起動、ディセーブル、リコールのうちの少なくとも何れかを実行することを備える方法。
【請求項２】
請求項１に記載の方法において、前記デバイスが、前記格納されたバージョン識別子を、前記受信されたバージョン識別子に等価になるように更新することを更に備える方法。
【請求項３】
請求項１に記載の方法において、前記デバイスが、前記格納されたコンポーネントバージョンを、前記コンポーネント識別子に関連付けられたコンポーネントバージョンに等価になるように更新することを更に備える方法。
【請求項４】
請求項１に記載の方法において、前記デバイスが、前記アクションリスト、及び前記コンポーネントをサーバから受信することを更に備える方法。
【請求項５】
請求項１に記載の方法において、前記デバイスは無線デバイスである方法。
【請求項６】
コンポーネントを自動的に処理する装置であって、
コンポーネント識別子とアクション識別子とのペアを備えたアクションリストに関連付けられたバージョン識別子を受信するロジックと、
前記バージョン識別子を、前記装置に格納されたバージョン識別子と比較するロジックと、
前記バージョン識別子が前記格納されたバージョン識別子と等価でなければ、前記アクションリストを受信するロジックと、
前記アクションリストを解析して、コンポーネント識別子と、このコンポーネント識別子とペアをなすアクション識別子とを取得するロジックと、
前記コンポーネント識別子に関連付けられたコンポーネントバージョンが、前記装置に格納されたコンポーネントバージョンと等価ではないことを判定するロジックと、
前記コンポーネント識別子によって識別されたコンポーネントに関連付けられたアクションを実行するロジックとを備え、
前記アクションは、前記アクション識別子によって識別され、
前記アクションは前記コンポーネントをインストールすることであり、前記実行するロジックは、前記コンポーネントの更新、起動、ディセーブル、リコールのうちの少なくとも何れかを実行するロジックを備える装置。
【請求項７】
請求項６に記載の装置において、前記格納されたバージョン識別子を、前記受信されたバージョン識別子に等価になるように更新するロジックを更に備える装置。
【請求項８】
請求項６に記載の装置において、前記格納されたコンポーネントバージョンを、前記コンポーネント識別子に関連付けられたコンポーネントバージョンに等価になるように更新するロジックを更に備える装置。
【請求項９】
請求項６に記載の装置において、前記アクションリスト、及び前記コンポーネントをサーバから受信するロジックを更に備える装置。
【請求項１０】
無線デバイスである請求項６に記載の装置。
【請求項１１】
コンポーネントを自動的に処理する装置であって、
コンポーネント識別子とアクション識別子とのペアを備えたアクションリストに関連付けられたバージョン識別子を受信する手段と、
前記バージョン識別子が、前記装置に格納されたバージョン識別子と等価ではないことを判定する手段と、
前記アクションリストを受信する手段と、
前記アクションリストを解析して、コンポーネント識別子と、このコンポーネント識別子とペアをなすアクション識別子とを取得する手段と、
前記コンポーネント識別子に関連付けられたコンポーネントバージョンが、前記装置に格納されたコンポーネントバージョンと等価ではないことを判定する手段と、
前記コンポーネント識別子によって識別されたコンポーネントに関連付けられたアクションを実行する手段とを備え、
前記アクションは、前記アクション識別子によって識別され、
前記アクションは前記コンポーネントをインストールすることであり、前記実行する手段は、前記コンポーネントの更新、起動、ディセーブル、リコールのうちの少なくとも何れかを実行する手段を備える装置。
【請求項１２】
請求項１１に記載の装置において、前記格納されたバージョン識別子を、前記受信されたバージョン識別子に等価になるように更新する手段を更に備える装置。
【請求項１３】
請求項１１に記載の装置において、前記格納されたコンポーネントバージョンを、前記コンポーネント識別子に関連付けられたコンポーネントバージョンに等価になるように更新する手段を更に備える装置。
【請求項１４】
請求項１１に記載の装置において、前記アクションリスト、及び前記コンポーネントをサーバから受信する手段を更に備える装置。
【請求項１５】
無線デバイスである請求項１１に記載の装置。
【請求項１６】
デバイス内のロジックを処理することによって実行された時、前記デバイス上のコンポーネントを自動的に処理するように動作する命令群を備えたコンピュータ読取可能媒体であって、
コンポーネント識別子とアクション識別子とのペアを備えたアクションリストに関連付けられたバージョン識別子を受信する命令と、
前記バージョン識別子が、前記デバイスに格納されたバージョン識別子と等価ではないことを判定する命令と、
前記アクションリストを受信する命令と、
前記アクションリストを解析して、コンポーネント識別子と、このコンポーネント識別子とペアをなすアクション識別子とを取得する命令と、
前記コンポーネント識別子に関連付けられたコンポーネントバージョンが、前記デバイスに格納されたコンポーネントバージョンと等価ではないことを判定する命令と、
前記コンポーネント識別子によって識別されたコンポーネントに関連付けられたアクションを実行する命令とを備え、
前記アクションは、前記アクション識別子によって識別され、
前記アクションは前記コンポーネントをインストールすることであり、前記実行する命令は、前記デバイスが、前記コンポーネントの更新、起動、ディセーブル、リコールのうちの少なくとも何れかを実行する命令を備えるコンピュータ読取可能媒体。
【請求項１７】
請求項１６に記載のコンピュータ読取可能媒体において、前記格納されたバージョン識別子を、前記受信されたバージョン識別子に等価になるように更新する命令を更に備えるコンピュータ読取可能媒体。
【請求項１８】
請求項１６に記載のコンピュータ読取可能媒体において、前記格納されたコンポーネントバージョンを、前記コンポーネント識別子に関連付けられたコンポーネントバージョンと等価になるように更新する命令を更に備えるコンピュータ読取可能媒体。
【請求項１９】
請求項１６に記載のコンピュータ読取可能媒体において、前記アクションリスト、及び前記コンポーネントをサーバから受信する命令を更に備えるコンピュータ読取可能媒体。
【請求項２０】
前記デバイスは無線デバイスである請求項１６に記載のコンピュータ読取可能媒体。
【外国語明細書】
2011175662000001.pdf