説明

実行期間中にアプリケーションアップグレードを実施するための方法、ソフトウエア、および装置

【課題】無線デバイス上のソフトウエアアプリケーションをソフトウエアアプリケーションの実行期間中に任意にアップグレードするためのシステムおよび方法。
【解決手段】システムは常駐して実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信することを含む。システムはさらに常駐して実行可能なアプリケーションのアクティブな実行を検出することを含む。システムはまた、ネットワークを経由してアプリケーションの異なったバージョンを受信することを含む。また、システムは常駐して実行可能なアプリケーションのアクティブな実行を検出することに応じてアプリケーションの異なったバージョンを一時的な位置に保管することを含む。さらに、システムは常駐して実行可能なアプリケーションのアクティブな実行を終了することを含む。

【発明の詳細な説明】
【技術分野】
【0001】
[関連出願に対する相互参照(CROSS-REFERENCE)]
本出願は、2003年10月29日に出願された、この中に参照として組み込まれた、未決定の米国暫定出願番号(Provisional application No.)60/515,802についての優先権を主張する。
本発明は、一般的にデータネットワークおよびデータネットワークを横断する計算機通信に関する。より特定的には、本発明は、一部分は、無線デバイス上における1個あるいはそれ以上のアプリケーションダウンロードサーバとの無線データネットワークを横断する選択的通信におけるソフトウエアアプリケーションおよびそれらのコンポーネントのインストレーション(installation)および削除に、またより特定的には本発明は一部分はソフトウエアアプリケーションの任意のアップグレード(upgrading)に関する。
【背景技術】
【0002】
セルラ電話等の無線デバイスは、音声およびデータを含むパケットを、無線ネットワークを越えて伝達する。セルラ電話それ自身は、増加された計算能力を持って製造されており、そしてパーソナル計算機およびハンドヘルドパーソナルディジタルアシスタント(“PDAs:hand-held personal digital assistant)と同等 になって来ている。これらの“スマート(smart)”なセルラ電話機は、それらの局部的な計算機プラットフォーム(local computer platform)上に、ソフトウエア開発者がソフトウエアアプリケーション(通常は“プログラム”として参照される)を作成することを可能とするセルラ電話機上で完全に実行可能なアプリケーションプログラムインタフェース(API:application programming interfaces)をインストールしている。APIは無線デバイスシステムソフトウエアおよびソフトウエアアプリケーションの間に位置し、そしてセルラ電話計算機能が、ソフトウエア開発者が特定のセルラ電話システムソースコード(cellular telephone system source code)を有することを必要とすることなしにアプリケーションを利用可能にする。
【0003】
ソフトウエアアプリケーションは、無線電話が製造されると同時にプレロード(pre-load)されることが可能であり、あるいは、ユーザが後で、付加的なプログラムがセルラ電気通信搬送ネットワーク上でダウンロードされることを要求することが可能である。そしてここで、ダウンロードされたアプリケーションは無線電話上で実行可能である。その結果、無線電話のユーザは、その無線電話をゲーム、印刷されたメディア、株式市況(stock updates)、ニュース、あるいは無線ネットワークを通じて利用可能な任意の情報あるいはアプリケーションの他の形式等の、選択的なアプリケーションのダウンロードによって、それらの無線電話を自分の好みに合わせて設定する(customize)ことが可能である。セルラ電話資源を制御するために、無線電話のユーザは、意図的に新しいアプリケーションがクリア化されたメモリ領域上にロードされることが可能なように記憶領域をクリアにするために無線電話プラットフォームからアプリケーションおよびデータを削除する。
【0004】
パーソナル計算機およびPDAに関するより大きい計算プラットフォームとは対照的に、無線デバイスは不必要なアプリケーションに振り向けるための記憶および処理のような限定された資源を有する。典型的には、電気通信アプリケーションは、利用可能な資源が割り当てられる他のアプリケーションとともに、システム資源の使用に関する優先度を有する。このように、無線デバイスは単にアプリケーションのためにすべてのファイルを維持する限定された容量を有し、そして無線デバイスに対してダウンロードされることが望まれる新しいアプリケーションのためにスペースを作るため、アプリケーションを削除することの管理は電話機のユーザの裁量に残される。そうでない場合は、無線デバイスは、保持しそして実行するための資源を有していないアプリケーションをダウンロードしないであろう。
【0005】
無線デバイスにおいて開放された資源(free resource)を得ようとする場合に、ユーザが通常は常駐する(resident)アプリケーションのあるコンポーネントを削除することは、全常駐アプリケーションの機能を使用不可にすることなしには不可能である。もしもユーザが特定のコンポーネントを削除することを必要とする場合、このように意図する資源の開放化についての操作は、使用不能の常駐アプリケーションがアプリケーションの完全な再インストールなしには再復活することが不可能であるとして否定されるであろう。無用の削除されないアプリケーションコンポーネントは主要なアプリケーションが実行不可能である場合でさえもなお記憶スペースを不必要に占有する。この無線デバイス上の常駐するソフトウエアアプリケーションに対するオールオアナッシングの削除要求は、無線デバイス上に常駐させることが可能なそしてユーザにとって利用可能なアプリケーションの数を大いに限定する。
【0006】
したがって、無線デバイス上の計算機資源の利用を最大とするために、ライセンス(license)あるいはユーザ固有のデータ等のアプリケーションに対する重要なデータを維持する期間中、あるコンポーネントを削除することが可能な無線デバイスを提供することは利益のあることであろう。無線デバイスがアプリケーションを再び実行するために削除されたソフトウエアコンポーネントを要求している場合には、無線デバイスは無線ネットワークを経由してソフトウエアコンポーネントを取得することが可能である。このように本発明が第1に指向するものは、無線デバイスにおいて選択されたソフトウエアアプリケーションコンポーネントの削除および再ローディングを制御することが可能なこのようなシステムおよび方法を提供 することである。
【発明の開示】
【課題を解決するための手段】
【0007】
この中に開示された実施例は、セルラ電話、パーソナルディジタルアシスタント、携帯無線呼び出し器(pager)、あるいは他の計算機プラットフォーム等の無線デバイス上のソフトウエアアプリケーションに関するアップグレーディングのためのシステムおよび方法を含み、ここでアップグレードはソフトウエアアプリケーションの実行期間中に任意に実行される。少なくとも1個の実施例は、常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信することを含む。このような実施例はさらに、常駐する実行可能なアプリケーションのアクティブな実行を検出することを含む。このような実施例はさらにアプリケーションの異なったバージョンをネットワークを経由して受信することを含む。このような実施例は、さらに、アプリケーションの異なったバージョンを、常駐する実行可能なアプリケーションのアクティブな実行の検出に応じて一時的な位置(temporary location)においてアプリケーションの異なったバージョンを保管することを含む。このような実施例は、さらに常駐する実行可能なアプリケーションのアクティブな実行を終了することを含む。またこのような実施例はさらに、常駐する実行可能なアプリケーションを一時的な位置に保管されたアプリケーションの異なったバージョンで上書きすることを含み、そしてこのような実施例はさらに、アプリケーションの異なったバージョンのアクティブな実行を開始することを含む。
【0008】
少なくとも1個の実施例は、常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信するために構成された論理(logic)を含む。このような実施例はさらに、常駐する実行可能なアプリケーションのアクティブな実行を検出するために構成された論理を含む。このような実施例は、さらにアプリケーションの異なったバージョンをネットワークを経由して受信するために構成された論理を含む。このような実施例はさらにアプリケーションの異なったバージョンを常駐する実行可能なアプリケーションのアクティブな実行の検出に応じてアプリケーションの異なったバージョンを一時的な位置に保管するために構成された論理を含む。このような実施例はさらに、常駐する実行可能なアプリケーションのアクティブな実行を終了するために構成された論理を含む。このような実施例はさらに常駐する実行可能なアプリケーションを任意の位置に保管されたアプリケーションの異なったバージョンで上書きするために構成された論理を含む。また、このような実施例はさらに、アプリケーションの異なったバージョンのアクティブな実行を開始するために構成された論理を含む。
【0009】
少なくとも1個の実施例は、常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信する動作が可能なコード(code)を含む。このような実施例はさらに常駐する実行可能なアプリケーションのアクティブな実行を検出することが可能なコードを含む。このような実施例はさらにアプリケーションの異なったバージョンをネットワークを経由して受信することが可能なコードを含む。このような実施例は、さらにアプリケーションの異なったバージョンを常駐する実行可能なアプリケーションのアクティブな実行の検出に応じて一時的な位置に保管することが可能なコードを含む。このような実施例はさらに常駐する実行可能なアプリケーションのアクティブな実行を終了することが可能なコードを含む。このような実施例はさらに常駐する実行可能なアプリケーションを一時的な位置に保管されたアプリケーションの異なったバージョンで上書きすることが可能なコードを含む。また、このような実施例はさらにアプリケーションの異なったバージョンのアクティブな実行を開始することが可能なコードを含む。
【0010】
少なくとも1個の実施例は、常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信するための手段を含む。このような実施例は、常駐する実行可能なアプリケーションのアクティブな実行を検出するための手段を含む。このような実施例はネットワークを経由してアプリケーションの異なったバージョンを受信するための手段を含む。このような実施例は、アプリケーションの異なったバージョンを常駐する実行可能なアプリケーションのアクティブな実行を検出するに応じて一時的な位置に保管するための手段を含む。このような実施例は常駐する実行可能なアプリケーションのアクティブな実行を終了させる手段を含む。このような実施例は常駐する実行可能なアプリケーションを一時的な位置に保管されたアプリケーションの異なったバージョンを用いて上書きするための手段を含む。また、このような実施例は、アプリケーションの異なったバージョンのアクティブな実行を開始するための手段を含む。
【0011】
少なくとも1個の実施例は、常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信することを含む。このような実施例はさらに、ネットワークを経由してアプリケーションの異なったバージョンを受信することを含む。このような実施例は、さらに、常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換する要求を受信することに応じて、一時的な位置においてアプリケーションの異なったバージョンを保管することを含む。このような実施例はさらに、常駐する実行可能なアプリケーションのアクティブな実行を検出することを含む。このような実施例は、さらに常駐する実行可能なアプリケーションのアクティブな実行を終了することを含む。このような実施例はさらに、常駐する実行可能なアプリケーションを一時的な位置に保管されたアプリケーションの異なったバージョンで上書きすることを含む。また、このような実施例は、さらに、アプリケーションの異なったバージョンのアクティブな実行を開始することを含む。
【0012】
少なくとも1個の実施例は、常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信するために構成された論理を含む。このような実施例はまたネットワークを経由してアプリケーションの異なったバージョンを受信するために構成された論理を含む。このような実施例はさらに、常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換する要求を受信するのに応じて、一時的な位置にアプリケーションの異なったバージョンを保管するために構成された論理を含む。このような実施例はさらに、常駐する実行可能なアプリケーションのアクティブな実行を検出するために構成された論理を含む。このような実施例はさらに、常駐する実行可能なアプリケーションのアクティブな実行を終了するために構成された論理を含む。このような実施例はさらに、常駐する実行可能なアプリケーションを一時的な位置に保管されたアプリケーションの異なったバージョンで上書きするために構成された論理を含む。また、このような実施例はさらに、アプリケーションの異なったバージョンのアクティブな実行を開始するために構成された論理を含む。
【0013】
少なくとも1個の実施例は、常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信することが可能なコードを含む。このような実施例はさらに、ネットワークを経由してアプリケーションの異なったバージョンを受信することが可能なコードを含む。このような実施例はさらに、常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換するための要求を受信するのに応じて、一時的な位置にアプリケーションの異なったバージョンを保管することが可能なコードを含む。このような実施例はさらに、常駐する実行可能なアプリケーションのアクティブな実行を検出することが可能なコードを含む。このような実施例はさらに、常駐する実行可能なアプリケーションのアクティブな実行を終了することが可能なコードを含む。このような実施例はさらに、常駐する実行可能なアプリケーションを一時的な位置に保管された異なったバージョンの常駐する実行可能なアプリケーションで上書きすることが可能なコードを含む。また、このような実施例はさらに、アプリケーションの異なったバージョンのアクティブな実行を開始することが可能なコードを含む。
【0014】
少なくとも1個の実施例は、常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信するための手段を含む。このような実施例はさらに、ネットワークを経由してアプリケーションの異なったバージョンを受信するための手段を含む。このような実施例はさらに、常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信することに応じて一時的な位置にアプリケーションの異なったバージョンを保管するための手段を含む。このような実施例はさらに、常駐する実行可能なアプリケーションのアクティブな実行を検出するための手段を含むこのような実施例はさらに、常駐する実行可能なアプリケーションのアクティブな実行を終了するための手段を含む。このような実施例はさらに、常駐する実行可能なアプリケーションを任意の位置に保管されたアプリケーションの異なったバージョンで上書きするための手段を含む。また、このような実施例はさらに、アプリケーションの異なったバージョンのアクティブな実行を開始するための手段を含む。
【0015】
少なくとも1個の実施例は、常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信することを含む。このような実施例はさらに、ネットワークを経由してアプリケーションの異なったバージョンを受信することを含む。このような実施例は、さらに、常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換する要求を受信するに応じてアップグレードの位置においてアプリケーションの異なったバージョンを保管することを含む。このような実施例はさらに、アクティブなアプリケーションの位置(active application location)内に常駐する実行可能なアプリケーションのアクティブな実行を検出することを含む。このような実施例は、さらに常駐する実行可能なアプリケーションのアクティブな実行を終了することを含む。また、このような実施例は、さらに、アップグレード位置(upgrade location)およびアクティブなアプリケーションの位置の連続した検索において検出された第1のアプリケーションの実行を開始することを含む。
【0016】
少なくとも1個の実施例は常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信するために構成された論理を含む。このような実施例はまたネットワークを経由してアプリケーションの異なったバージョンを受信するために構成された論理を含む。このような実施例はさらに、常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換する要求を受信するのに応じて、アップグレードの位置にアプリケーションの異なったバージョンを保管するために構成された論理を含む。このような実施例はさらに、アクティブなアプリケーションの位置内に常駐する実行可能なアプリケーションのアクティブな実行を検出するために構成された論理を含む。このような実施例はさらに、常駐する実行可能なアプリケーションのアクティブな実行を終了するために構成された論理を含む。また、このような実施例はさらに、アップグレード位置およびアクティブなアプリケーションの位置の連続した検索において検出された第1のアプリケーションの実行を開始するように構成された論理を含む。
【0017】
少なくとも1個の実施例は、常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信することが可能なコードを含む。このような実施例は、ネットワークを経由してアプリケーションの異なったバージョンを受信することが可能なコードを含む。このような実施例は、アプリケーションの異なったバージョンを常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信することに応じてアップグレード位置にあるアプリケーションの異なったバージョンを保管するために動作可能なコードを含む。このような実施例は、アクティブアプリケーション位置にある、常駐する実行可能なアプリケーションのアクティブな実行を検出することが可能なコードを含む。このような実施例は常駐する実行可能なアプリケーションのアクティブな実行を終了するために動作可能なコードを含む。また、このような実施例は、アップグレード位置およびアクティブなアプリケーション位置の順次の探索において検出された第1のアプリケーションの実行開始のために動作可能なコードを含む。
【0018】
少なくとも1個の実施例は常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信するための手段を含む。このような実施例は、またネットワークを経由してアプリケーションの異なったバージョンを受信するための手段を含む。このような実施例はまた、常駐する実行可能なアプリケーションをアプリケーションの異なったバージョンと置換することの要求を受信することに応じてアップグレード位置内のアプリケーションの異なったバージョンを保管するための手段を含む。このような実施例はまた、アクティブアプリケーション位置にある常駐する実行可能なアプリケーションのアクティブな実行を検出するための手段を含む。このような実施例はまた、常駐する実行可能なアプリケーションのアクティブな実行を終了するための手段を含む。また、このような実施例はアップグレード位置およびアクティブアプリケーション位置の順次の探索において検出された第1のアプリケーションを開始するための手段を含む。
【0019】
本発明の他の目的、利点、および特徴は、以下に示される図面に関する簡単な記述、本発明の詳細な記述および請求範囲(Claims)の概観の後に明白になろう。
【発明を実施するための最良の形態】
【0020】
図1を参照すると、そこには無線ネットワーク14への無線通信ポータル(wireless communication portal)または他のデータアクセスを介して無線デバイスに対し選択的にソフトウエアアプリケーションおよびコンポーネントを送信する少なくとも1個のダウンロードサーバ16を有する無線ネットワーク14を介して通信する電話機12のような無線デバイスにおいて、ソフトウエアアプリケーションコンポーネントを削除および再ローディングするための、本発明のシステム10が示されている。ここに示されたように無線デバイスは、セルラ電話12、パーソナルディジタルアシスタント18、形態無線呼び出し器20、ここでは2方向テキスト形態無線呼び出し器として示されている、あるいは無線通信ポータルを有し、そうでない場合はネットワークあるいはインターネットに対して有線接続24を有することが可能な分離した計算機22とすることが可能である。本発明のシステムはこのようにして、無線通信ポータル、限定なしに、無線モデム、PCMCIAカード、アクセス端末、パーソナル計算機、アクセス端末、ディスプレーあるいはキーパッドのない電話機、あるいはこれらの任意の組み合わせ、あるいはこれらのサブ組み合わせを含む遠隔モジュールの任意の形態において実現することが可能である。
【0021】
アプリケーションダウンロードサーバ16はここではネットワーク26上に無線ネットワーク14と通信中の他の計算機エレメントとともに示されている。第2のサーバ30およびスタンドアローンサーバ32があり、そして各サーバは無線ネットワーク14を越えて無線デバイス12、18、20、22に対して別々のサービスおよび処理を与えることが可能である。なるべくならばまた、無線デバイス12、18、20、22によってダウンロードが可能なアプリケーションを保管する少なくとも1個のストアードアプリケーションデータベース28が存在する。
【0022】
図2においては、無線ネットワーク14のコンポーネントおよび本発明のエレメントの相互関係をさらに十分に説明するブロック線図が示される。無線ネットワーク14は単に典型的なものであり、そしてそれによって無線デバイス12、18、20、22等の遠隔モジュール間で相互に、そしてそれぞれ互いに、そして/あるいは限定なしに無線ネットワークキャリアおよび/あるいはサーバを含む無線ネットワーク14のコンポーネントの間およびその中で放送を介して(over-the-air)通信する任意のシステムを含むことが可能である。アプリケーションダウンロードサーバ16および保管されたアプリケーションデータベース28はセルラ通信サービスを与えるために必要とされるサーバ30等の任意の他のサーバとともにインターネット、安全なLAN,WAN、あるいは他のネットワーク等のデータリンクを経由して、キャリアネットワーク40と通信する。キャリアネットワーク40は、メッセージングサービス制御器(“MSC:messaging service controller”)42に送出された(データパケットとして送出された)メッセージを制御する。キャリアネットワーク40は、ネットワーク、インターネット、および/あるいはPOTS(“plain ordinary telephone system”)によってMSC42と通信する。典型的には、キャリアネットワーク40およびMSC42間のネットワークあるいはインターネット接続はデータを転送し、そしてPOTSは音声情報を転送する。MSC42は、複数の基地局(“BTS”;base stations)44に接続される。キャリアネットワークと類似の方法で、MSC42は、典型的にネットワークおよび/あるいはデータ転送のためのインターネットおよび音声情報に対するPOTSの両者によってBTS44に接続される。BTS44は、結局セルラ電話12等の無線デバイスに対してショートメッセージングサービス(“SMS”;short messaging servise)あるいは他の当業界において知られる放送を介する方法によって無線によりメッセージを放送する。
【0023】
セルラ電話12等の無線デバイスはアプリケーションダウンロードサーバ16から送信されたソフトウエアアプリケーションを受信しそして実行することが可能な計算機プラットフォーム50を有する。計算機プラットフォーム50は、特定アプリケーション向け集積回路(“ASIC”52)あるいは他の処理装置、マイクロ処理装置、論理回路あるいは他のデータ処理デバイスを含む。ASIC52は、無線デバイスの製造と同時に作成されそして通常はアップグレード可能ではない。ASIC52あるいは他の処理装置は無線デバイスのメモリ56内に常駐する任意のプログラムインタフェースとなるアプリケーションプログラミングインタフェース(“API:application programming interface”)を実行する。メモリは読み出し専用あるいはランダムアクセスメモリ(RAMおよびROM)EPROM、フラッシュカード、あるいは計算機プラットフォームに対して一般的な任意のメモリを含むことが可能である。計算機プラットフォーム50はまた、メモリ56内に使用されてアプリケーションをアクティブでなく維持することが可能な局部データベース(local database)58を含む。局部データベース58は、典型的にはフラッシュメモリセルであるがしかし磁気的媒体、EPROM、光学的媒体、テープあるいはソフトあるいはハードディスク等の当業界において知られるような任意の2次的記憶デバイスであることが可能である。
【0024】
セルラ電話12等の無線デバイスは、よって、ゲーム、ニュース、株式市況、および同様のもの等の1個あるいはそれ以上のソフトウエアアプリケーションをダウンロードし、そしてアプリケーションを使用しない場合は局部データベース58上に保管する。そして記憶された常駐アプリケーションをユーザによってそれが望まれる場合API54上で実行のために局部データベース58上にアップロードする。しかしながら、無線デバイス上においては局部的データベース58およびメモリ56において利用可能なインストールされた記憶容量を制限する、重要なコストおよびサイズの制約が存在する。そこで、常駐するソフトウエアアプリケーションについては限定された量を無線デバイス上に保管することができる。本発明のシステムおよび方法は、さらにこの中に記述されるように個々のソフトウエアアプリケーションの選択的な削除および再ローディングを通じて記憶容量のこの制限を管理する。
【0025】
図3において、API54内に保管される説明のためのファイル構造、あるいはデータ管理構造が示されている。トップレベル領域は計算機プラットフォーム50上にすべての分離したソフトウエアファイルを含む“ファイル”60である。図3におけるファイル構造は、単に説明的なものであり、そして計算機プラットフォーム50上にこの形態で現れていないかも知れない。そして、識別可能なファイル構造を持たないで無線デバイス12、18、20、22上の機械コード内に表されるかも知れない。ファイル60内にAPIがあり、そしてここではウインドウズ(“BREW”)62に対するバイナリなルーチン環境として示されており、これは、無線デバイス計算機プラットフォーム50上のソフトウエアアプリケーションと相互に影響しあうようにQUALCOMM(R)によって使用されたAPIである。BREW62ファイルはアプリケーションファイル64を含み、そして1個のファイルはアプリケーションダウンロードサーバ16からダウンロードされているチェス(chess)66のゲーム(game)であり、そして現在無線デバイスの計算機プラットフォーム50の局部的データベース58上に常駐している。説明の目的に対し、チェス66アプリケーションは無線デバイスの常駐ソフトウエアアプリケーションである。
【0026】
チェス66アプリケーションは、chess.modおよびchess.barファイル等のいくつかのソフトウエアコンポーネント68を含む。アプリケーションコンポーネント68は、計算機プラットフォーム上でチェスアプリケーションを実行するために必要なモジュールである。チェス66はまた、ここにscore.sig70として示された特定のアプリケーションと組み合わせられたデータを含む。そしてそれらは、計算機プラットフォーム50上でチェスゲームをプレーしているユーザに対する保管されたスコアである。66アプリケーションの中に隠されたファイル(hidden file)として含まれるライセンス(license)もまた存在することが可能である。このようにして、チェスのゲームの実行を可能にするアプリケーションコンポーネント68はアプリケーションダウンロードサーバ16から送信されたコピーを使用して容易に複写される。一方、スコア(score)70および認可等の組み合わせられたアプリケーションデータ(associated-application data)はもしもそれらのファイルあるいはモジュールが削除される場合は失われるであろう。本発明はその結果、アプリケーションダウンロードサーバ16からの必須でないアプリケーションコンポーネントに関する他のコピーを、ライセンス、あるいは個人的情報および住所、あるいはチェスゲームに対する以前のスコア70等の純粋に娯楽に関連したデータのような回復不能のアプリケーションと組み合わせられたデータ(non-retrieval application-associated data)を維持しながら、取得する能力を利用する。
【0027】
ユーザが他のソフトウエアアプリケーションを計算機プラットフォーム50に対してダウンロードすることを必要とし、そしてとくに局部データベース58の保管に関して、不十分な資源しか存在しない場合は、BREWAPI62あるいは他のスペース管理コンポーネントは、要求されたダウンロードされるアプリケーションコンポーネントを計算機プラットフォーム50上に配置することが可能であるように、ユーザにチェスに対するアプリケーションコンポーネントを削除することが可能であるかどうかを質問するための催促を開始することが可能である。そうでない場合は、BREWAPI62は、いずれのコンポーネントを削除するかを決定することが可能であり、そしてシステム資源の自動的管理を決定することが可能である。一方chess.modeおよびchess.barファイルがchess66ファイルから削除される場合はチェスゲームは計算機プラットフォーム50上で実行可能でないであろう。計算機プラットフォーム50上の必須のおよび必須でないファイルの分離を通して,無線デバイスは選択的に1個あるいはそれ以上の常駐ソフトウエアアプリケーションの1個あるいはそれ以上のアプリケーションコンポーネント68を、スコアファイル70等のアプリケーションと組み合わせられたデータの損失なしに削除することが可能である。
【0028】
chess.modeおよびchess.barアプリケーションコンポーネント68を伴ったチェスゲーム66等の1個あるいはそれ以上のアプリケーションコンポーネントを有しているアプリケーションが削除され、そしてユーザがそのアプリケーションを再び使用することを望む場合は、無線デバイスは選択的に無線ネットワーク14を通して、アプリケーションダウンロードサーバ16に1個あるいはそれ以上のアプリケーションコンポーネント68の送信を催促するであろう。無線デバイスがアプリケーションコンポーネント68を受信すると無線デバイスは送信された1個あるいはそれ以上のアプリケーションコンポーネントを計算機プラットフォーム50上に、常駐するアプリケーションがあるいはここではチェス66が再び実行可能なように逆インストールする。アプリケーションコンポーネント68のすべてが削除されるべきでなく、そしてアプリケーションのサイズあるいは他の基準に基づいて削除されることが可能であることは注目されるべきである。さらに、scores.sig70のようなアプリケーションと組み合わせられたデータを含むファイルは、またアプリケーションを実行するために必要とされるアプリケーションコンポーネントを含むことが可能であり、そして純粋なデータコンテナ(pure data-container)である必要はない。
【0029】
図4および5は無線デバイス12、18、20、22に関する計算機プラットフォーム50上に常駐する1個あるいはそれ以上のソフトウエアアプリケーションのアプリケーションコンポーネント68のローディングおよび削除を制御するための独創的な方法を示すフローチャートである。図4に示されるように計算機プラットフォーム50は、ステップ80においてソフトウエアアプリケーションをダウンロードするための命令を受信する。そしてそこで、決定82において示されるように無線デバイスのASIC52あるいは他の処理装置上に、アプリケーションをダウンロードするために利用可能な十分な資源があるか否かに関する決定がなされる。もしも利用可能な十分な資源がある場合は、そこで、アプリケーションはステップ84に示されるようにダウンロードされそして保管される。そしてダウンロード処理は終了する。もしも決定82において不十分な資源しかない場合は、そこで、アプリケーションをダウンロードするためにステップ86に示されたようにユーザはシステム資源をクリアにすることを促される。そしてそれは、一定したアプリケーションコンポーネントの削除を課する。そこでユーザが決定88に示されるように資源をクリアにすることを認めるか否かに関する決定がなされる。そしてもしも否である場合は、ステップ90に示されるようにダウンロードに利用可能な不十分な資源について知らされる。そしてダウンロード処理は終了される。もしもユーザが決定88において資源のクリア化を承認する場合は、そこでコンポーネント68等の1個あるいはそれ以上のアプリケーションコンポーネントが選択的に必須の資源をクリアにするために削除される。そしてこのような削除はscores.sigファイル70あるいは任意のアプリケーションを使用するための認可等のアプリケーションと組み合わせられたデータに関する重要な損失なしに行なわれる。そこで、アプリケーションはステップ94に示されたように計算機プラットフォーム上にダウンロードされ、そして記憶される。そしてダウンロード処理は終了する。
【0030】
1個あるいはそれ以上の削除されたコンポーネント68を有するアプリケーションを実行することの要求が受信される場合、ステップ100に示されたように、削除されたコンポーネントを再インストールするための処理が図5に示される。この一つの例はチェスゲームをもう1度プレーするためのユーザ探索であろう。ユーザはそこでなるべくならばステップ102によって示されるようにアプリケーションダウンロードサーバ16への通信リンクを作成することを促される。しかしながら実行要求を受信するときの無線デバイスは代わりに自動的に通信リンクを確立することが可能である。もしもアプリケーションを実行することの要求がユーザに要求される場合は、そこで決定104に示されるようにユーザがリンクを認定しているか否かに関する決定がなされる。もしもユーザがリンクを確立することを辞退する場合は、ステップ106において示されるように、ユーザは、必要とされるアプリケーションコンポーネントは必要とするアプリケーションを実行するためにはダウンロードされなくてはならないことを知らせられる。そしてそこで、実行要求は終了する。もしもユーザが決定104において、通信リンクを認定する場合は、そこで、ステップ108において示されたようにアプリケーションダウンロードサーバ16と通信リンクが確立される。
【0031】
アプリケーションダウンロードサーバ16と通信リンクが確立されると、アプリケーションダウンロードサーバ16は、無線デバイスによってステップ110において示されるように要求されたアプリケーションを実行するために無線デバイスによって必要とされる1個あるいはそれ以上のアプリケーションコンポーネントを送信することを促される。決定112に示されたように、サーバが必須のアプリケーションコンポーネントを送信したか否かがそこで決定される。そしてもしも否である場合は、決定114に示されるようにユーザは必須のコンポーネントを取得するのに失敗したことを知らされ、そして実行要求は終了する。そうでない場合は、もしもサーバが決定112において必須のコンポーネントを送信している場合は、無線デバイスはステップ116に示されたようにアプリケーションダウンロードサーバからのコンポーネントを受信し、そして受信されたコンポーネントをステップ118に示されたようにアプリケーションが実行可能であるようにアプリケーションの中にインストールする。アプリケーションはそこで、ステップ120に示されたように、無線デバイス上で終了するまで実行される。
【0032】
もしもアプリケーションコンポーネント68等の削除されたアプリケーションコンポーネントの再ローディングが自動的である場合は、図5のプロセスはステップ100におけるアプリケーションを実行することの要求の受信から110におけるステップアプリケーションダウンロードサーバ16を促すまで順当に(right)進むであろう。無線デバイスは単にユーザにステップ114に示されたようにアプリケーションがコンポーネントのダウンロードに失敗したことを知らせるのみであろう。
【0033】
通信リンクを確立するステップは典型的には、図2に示されたように、通信リンクをディジタルあるいはアナログのセルラ電気通信ネットワークを経由して確立することである。しかし他の無線LANあるいはマイクロ波あるいは赤外ネットワークが代わりに使用されることが可能である。さらに、通信リンクの確立は、それに対する1個あるいはそれ以上の組み合わせられたコンポーネントが削除されている常駐するソフトウエアアプリケーションを実行すること、すなわち、無線デバイスがアプリケーションダウンロードサーバ16に至る無線ネットワーク14を経由する通信を橋渡しすることを意図して、無線デバイス12、18、20、22上で自動的に開始することが可能である。
【0034】
そうでない場合は、通信リンクを確立するステップは、無線デバイス12、18、20、22のユーザのアプリケーションダウンロードサーバ16との通信リンクの橋渡しをするために、無線ネットワーク14を通して1個あるいはそれ以上のそれに対する1個あるいはそれ以上の組み合わせられたコンポーネントが削除されている常駐するソフトウエアアプリケーションに関するアプリケーションコンポーネントを送信することの特定の催促によって開始することが可能である。もしも無線デバイスのユーザが、その無線デバイスに対して送信される新しいアプリケーションコンポーネントを得るためのセルラ電話呼等の通信リンクに対して課金される場合は、そこでユーザはコンポーネントを再ロードする必要とされるであろう通信リンクを認可するためにコンポーネントの削除に先立ってコンポーネントを再ロードするために必要とされる通信リンクを認可することを促すべきであろう。通信リンクがアプリケーションを実行可能にするためにアプリケーションのコンポーネントを回復するために必要とされる場合は、再び促されることが可能である。しかしながらもしも無線デバイスがフルに自動化されそして通信リンクがユーザに対して請求を必要としない場合はそこでユーザに対して催促を行う必要はなく、そしてステップ114におけるように、問題が発生しそしてエラーメッセージが発生されない場合は、コンポーネントの再ローディングはトランスペアレント(transparent)である。
【0035】
実行期間中の自動アプリケーションアップグレード。
【0036】
図6に示されたように一つの実施例においては、無線デバイス12、18、20、22に対してダウンロードされたアプリケーションあるいはエクステンション(extension)は、アプリケーションあるいはエクステンションの以前のあるいは異なったバージョンが無線デバイス12、18、20、22上で現在実行されている期間中に無線デバイス12、18、20、22にダウンロードされるかも知れない。アプリケーションあるいはエクステンションをアップグレードあるいはダウンロードすることの要求は、無線デバイス12、18、20、22によって作成されることが可能であり、デバイスのユーザあるいは無線デバイス12、18、20、22上で動作中の処理のいずれかによって、あるいはサーバ16、30、32によって作成されることが可能である。“アップグレード”は必然的により後のバージョンを含まないがしかし異なったバージョンを参照するかも知れないことは注意すべきである。たとえば、一つのアプリケーションのより古いバージョンに戻ることは好ましいかも知れないが、このような場合の“アップグレード”は、現存のしかしより後のバージョンを置換するために、アプリケーションの以前のバージョンをダウンロードすることを含む。
【0037】
(以下、“アプリケーション”のみが使用されるであろう。しかしながらこの記述はさらにエクステンションに対しても適用することは理解されるであろう。エクステンションは、これらのプログラム、コンポーネントあるいは実行を支援するためにデータあるいは命令によって使用されるサービスを含む。たとえば、エクステンションは、BREW環境においてjava(登録商標)プログラムを実行するために使用される無線デバイス上にインストールされたJAVAバーチャルマシンあるいはMPEGファイルと関連してインストールされそして使用されたMPEGプレイヤーを含むことが可能である。)さらに、アプリケーションは任意の実行可能なソフトウエアの形式ばかりでなくスクリプト(script)あるいは内容データ(content data)を含むことが可能である。
【0038】
実施例のプロセスは、そこでは、無線デバイス12、18、20、22に対するアプリケーションアップグレードをダウンロードするために作られた要求ステップ600を含む。無線デバイス12、18、20、22は、送受話器において実行するアプリケーションの異なったあるいは以前のバージョンを有することが可能である。ステップ602において、要求されたアプリケーションに関する異なったあるいは以前のバージョンが無線デバイス12,18,20,22上で実行されているかを決定するチェックがなされる。もしもそうでなければ、そこで、ステップ604において、現在のアプリケーションを、現在の(すなわち以前のあるいは異なった)アプリケーションが置かれているデバイス上のファイル位置に、新しく要求されたアプリケーションを上書きすることによって、アプリケーションは新しく要求されたアプリケーションによりグレードアップすることが可能である。
【0039】
しかしながら、もしもステップ602において、チェックがアプリケーションが実行されていると決定した場合には、プロセスはアップグレードされたアプリケーションが一時的な位置に保管されるステップ606に続く。この一時的な位置はデバイス上にあることが可能であるが、しかしながら、それは周辺のデバイスあるいはデバイスがアクセス可能な他のどこかの位置にネットワークを通して保管することが可能である。
【0040】
ステップ608において実行しているアプリケーションはそれが終了することを必要とすると通知される。そしてアプリケーションあるいは第2のプロセスのいずれかが実行しているアプリケーションの終了を開始する。ステップ610におけるアプリケーションの終了に続いてアップグレードされたアプリケーションがそこで現存するアプリケーションのファイル位置を越えて転送される。アップグレードされたアプリケーションが複写される位置はアプリケーションを実行するためにシステムによって予期される位置であることに注意すべきである。例えば一つの実施例においては、もしもシステムがアップグレードされたアプリケーションを実行するためにアップグレードされた位置に発見することを予期し、そしてもしも存在しない場合は、続いてプロセスは現存するアプリケーションを実行するために他の位置を捜し、アップグレードされたアプリケーションをアップグレードされた位置にコピーし、そして現存するアプリケーションを上書きしないであろう。
【0041】
アップグレードアプリケーションが一時的な位置から正しい位置に移動された後に(それが現存のアプリケーションの上書きあるいは上に記述されたように若干の他の予期された位置のいずれにせよ)そこで、ステップ612においてアプリケーションは再スタートする。このアプリケーションは、自動的に再スタートすることが可能であることに注意すべきである。デバイスは、リセットし、電力サイクルを経て動作し(run)、また、いかなる他のアップグレードされるべき現存するおよび実行中のアプリケーションに関する機能のリセッティング形式を実行するために再起動する必要がないことに注意すべきである。
【0042】
アプリケーションアップグレードの他の実施例においては、そして図7に示されたように、要求されたアプリケーションは、ステップ606において、そしてステップ602に先立って、一時的な位置にデバイスにダウンロードされる。ダウンロードの後にそこでステップ602において、デバイスは以前のあるいは異なったアプリケーションバージョンがデバイス上で実行されつつあるかをチェックされる。もしもそうである場合はそこでステップ608において現在のアプリケーションの実行は終了される。ステップ610において、アップグレードされたアプリケーションが一時的な保管位置から正しい保管位置にコピーされ(例えば、そうでなければ現在のアプリケーションであるかも知れない)、そしてそこでアップグレードされたアプリケーションがステップ612において再スタートされる。上に言明されたように、この実行は自動的に実行される。
【0043】
もしも現在のアプリケーションが、ステップ602において決定されたように、実行されていない場合は、そこで、ステップ700においてアップグレードされたアプリケーションが正しい位置上に移動され、例えば現在のアプリケーションを上書きする。この場合アプリケーションは実行されないために、アップグレードされたアプリケーションを正しい位置に移動することに先立ってその実行を終了する必要はない。
【0044】
図8は図6に記述された方法を備えている無線デバイスの1例を示す。示されたように、無線デバイス800は、メモリ802、ネットワークインタフェース804、処理装置806および母線808を含む。メモリ802は、RAMメモリとして示されるが、他の実施例は、構成された論理を保管する準備をするために知られたすべての既知の形式のメモリとしてこのようなメモリ802を含む。さらに、メモリ802は一つの形式のメモリの1個の接触したユニットとして示されているが他の実施例はメモリ802として複数の位置および複数の形式のメモリを使用する。ネットワークI/Oインタフェース804は、母線808を経由してネットワークに結合されたデバイスへの入力および出力を与える。処理装置806は、命令により動作し、そしてデータは母線808を経由して与えられる。少なくとも1個の実施例においては、処理装置806はASIC52の一部分である。
【0045】
メモリ802の中に置かれたものは、常駐して実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信するための論理810である。論理812は、常駐して実行可能なアプリケーションのアクティブな実行を検出するためのもの、論理814は、ネットワークを経由してアプリケーションの異なったバージョンを受信するもの、論理816は常駐して実行可能なアプリケーションのアクティブな実行を検出するに応じてアプリケーションの異なったバージョンを一時的な位置に保管するためのもの、論理818は、常駐して実行可能なアプリケーションのアクティブな実行を終了するためのもの、論理820は、常駐して実行可能なアプリケーションを一時的な位置に保管されたアプリケーションの異なったバージョンで上書きするためのものである。1個あるいはそれ以上の異なった実施例においては、常駐して実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信するための論理810は、ここでは、要求は無線デバイス(824)によって開始されここでは、要求はユーザ入力(826)の検出に伴って開始され、ここでは、アプリケーションの異なったバージョンは以前のバージョン(828)、および/あるいはここでは、アプリケーションは、エクステンション、スクリプトおよび内容データ(830)であるようにさらに修正されている。また、一つの実施例においては、常駐の実行可能なアプリケーションのアクティブな実行を検出するに応じて一時的な位置にあるアプリケーションの異なったバージョンを保管するための論理816は、ここでは、一時的な位置は周辺デバイスおよび離れたネットワーク位置(832)の少なくとも一つの上にあるとさらに修正されている。
【0046】
図9は、図7の中に記述されたように方法を実行する無線デバイスの一つの実施例を示す。示されたように、無線デバイス900は、メモリ902、ネットワークインタフェース904、処理装置906および母線908を含む。メモリ902はRAMメモリとして示されるが、他の実施例はこのようなメモリ902を構成された論理を保管するために与えるものとして知られたすべての既知の形式をメモリとして含む。さらに、メモリ902はメモリの一つの形式として一つの連続したユニットとして示すが、他の実施例はメモリ902として複数の配置および複数の形式のメモリを使用する。ネットワークI/Oインタフェース904は母線908を経由してネットワークに結合されたデバイスに入力および出力を与える。処理装置906は命令および母線908を経由して与えられるデータに従って動作する。
【0047】
メモリ902内に配置されるものは、常駐の実行可能なアプリケーションをアプリケーションの異なったバージョンで置換する要求を受信するための論理910、ネットワークを経由してアプリケーションの異なったバージョンを受信するための論理912、常駐の実行可能なアプリケーションをアプリケーションの異なったバージョンで置換する要求を受信するのに応じて一時的な位置にアプリケーションの異なったバージョンを保管するための論理914、常駐の実行可能なアプリケーションのアクティブな実行を検出するための論理916、常駐の実行可能なアプリケーションのアクティブな実行を終了するための論理918、常駐の実行可能なアプリケーションを一時的な位置に保管された異なったバージョンのアプリケーションで上書きするための論理920、そして異なったバージョンのアプリケーションに関しアクティブな実行を開始するための論理922である。1個あるいはそれ以上の異なった実施例においては、常駐の実行可能なアプリケーションを異なったバージョンのアプリケーションで置換することの要求を受信するための論理910は、さらに、要求は無線デバイス(924)によって開始され、要求はユーザ入力(926)の検出によって開始され、そこでは異なったバージョンのアプリケーションは以前のバージョン(928)であり、そして/あるいはそこでは、アプリケーションはエクステンション、スクリプトおよび内容データの少なくとも1個(930)であるように、さらに修正されている。また、一つの実施例においては、常駐の実行可能なアプリケーションのアクティブな実行を検出するに応じて、一時的な位置にアプリケーションの異なったバージョンを保管するための論理914は、さらに、そこでは任意の位置は周辺デバイスおよび遠隔ネットワーク位置の少なくとも1個(932)であるとさらに修正されている。
【0048】
図10は、好ましいアプリケーションの実行を開始するプロセスにおいて、実行する位置に関する連続的な探索を含むものとして記載された、自動的アプリケーションアップグレード処理のバージョンを実行する無線デバイスの一つの実施例を示す。示されているように、無線デバイス1000は、メモリ1002、ネットワークインタフェース1004、処理装置1006、および母線1008を含む。メモリ1002は、RAMメモリとして示されるが、他の実施例はこのようなメモリ1002は、構成された論理を保管するために提供されるものとして知られているすべての既知のメモリの形式を含む。さらに、メモリ1002はメモリの一つの形式の一つの連続したユニットとして示されているが、他の実施例はメモリ1002として複数の形式と複数の位置メモリを使用する。ネットワークI/Oインタフェース1004は、ネットワークに結合されたデバイスに母線1008を経由して入力および出力を与える。処理装置1006は、命令および母線1008を経由して与えられたデータに基づき動作する。少なくとも1個の実施例において、処理装置1006はASIC52の一部分である。
【0049】
メモリ1002内に位置するものは、常駐の実行可能なアプリケーションを異なったアプリケーションのバージョンにより置換することの要求を受信するための論理1010、ネットワークを経由してアプリケーションの異なったバージョンを受信する論理1012、常駐の実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信するに応じて一時的な位置に異なったバージョンのアプリケーションを保管するための論理1014、アクティブなアプリケーション位置における常駐する実行可能なアプリケーションのアクティブな実行を検出するための論理1016、常駐する実行可能なアプリケーションのアクティブな実行を終了するための論理1018、アップグレード位置およびアクティブなアプリケーション位置に関する順次の探索において検出された第1のアプリケーションの実行を開始するよう構成された論理1020である。常駐の実行可能なアプリケーションをアプリケーションの異なったバージョンで置換することの要求を受信するための論理1010は、1個あるいはそれ以上の異なった実施例においては、さらにここで、要求は無線デバイス(1022)によって開始され、ここで、要求はユーザ入力(1024)の検出に伴って開始され、ここでアプリケーションの異なったバージョンは以前のバージョン(1026)であり、そして/あるいはここで、アプリケーションはエクステンション、スクリプト、および内容データ(1028)の少なくとも1個であるようにさらに修正される。また、アップグレード位置において、常駐の実行可能なアプリケーションを異なったアプリケーションのバージョンに置換するとの要求に応じてアップグレード位置においてアプリケーションの異なったバージョンを保管するための論理(1014)は、さらにアップグレード位置は周辺デバイスおよび遠隔ネットワーク位置の少なくとも一つ(1030)であるように修正される。
【0050】
発明に関する方法の観点から、本発明は計算機が読み出し可能な媒体の中に常駐するプログラムを含む。ここで、プログラムは、方法に関する進歩性のあるステップを実行するための計算機プラットフォームを有する無線デバイスを目的とする。計算機により読み出し可能な媒体は、セルラ電話12、あるいは他の無線デバイスの計算機プラットフォーム50のメモリ56であることが可能であり、あるいはセルラ電話12の局部データベース58等のような、局部データベース内に置くことが可能である。さらに、計算機により読み出し可能な媒体は、磁気ディスクあるいはテープ、光ディスク、ハードディスク、フラッシュメモリ、あるいは当業界において知られるような他の記憶媒体等のような、無線デバイス計算機プラットフォーム上にロード可能な他の2次的記憶媒体(secondary storage media)内に置くことができる。図4および5のような状況においては、本発明の方法はたとえば、無線ネットワーク14が機械により読み出し可能な命令のシーケンスを実行するための動作部分によって実行されることが可能である。これらの命令は、種々の形式の信号関連媒体の中に常駐させることが可能である。この信号関連媒体は、たとえ無線ネットワーク14のコンポーネントによってアクセス可能なあるいはその中に常駐するRAM(示されず)を含む。RAM、ディスケット、あるいは他の2次的記憶媒体の中に含まれるか否かは、命令がDASD記憶装置(たとえば従来の“ハードドライブ”あるいはRAIDアレイ)、磁気テープ、電子的読み出し専用メモリ(たとえばCD−ROM,WORM、DVD、ディジタル光テープ)、紙の“パンチ”カード、あるいはディジタルおよびアナログ等の伝送媒体を含む他の適切なデータ記憶媒体等の種々の機械によって読み出し可能なデータ記憶媒体上に保管することが可能である。
【0051】
以上の開示は本発明の説明的実施例を示す一方、添付された特許請求の範囲によって規定される発明の範囲から逸脱することなしに、種々の変更および修正を行うことが可能であることに注意すべきであろう。さらに、本発明のエレメントは単数で記述されあるいは請求されているが単数に対する限定が明白に宣言されていない場合は、複数が考慮されている。
【図面の簡単な説明】
【0052】
【図1】図1は、本発明の無線デバイス上のソフトウエアアプリケーションを、無線ネットワークを越えて1個あるいはそれ以上のアプリケーションダウンロードサーバとの選択的な通信によって管理するシステムの代表的な線図である。
【図2】図2は、異なった無線デバイスおよびアプリケーションダウンロードサーバおよびデータベース間の通信を与える典型的な無線ネットワークに関するハードウエアコンポーネントのブロック線図である。
【図3】図3は、無線デバイスプラットフォーム上に常駐するファイルテーブルであってとくに、その構成コンポーネントへの適用を示している。
【図4】図4は、無線デバイス上のアプリケーションコンポーネントに関する選択的な削除を示すフローチャートである。
【図5】図5は、アプリケーションが再び実行可能となるよう無線デバイス上のアプリケーションを復元するためアプリケーションダウンロードサーバからアプリケーションコンポーネントの無線デバイスの回復を示しているフローチャートである。
【図6】図6は、常駐して実行可能なアプリケーションをアプリケーションの異なったバージョンとの置換を含むシステムの一つの実施例を示しているフローチャートである。
【図7】図7は、常駐して実行可能なアプリケーションをアプリケーションの異なったバージョンとの置換を含むシステムの一つの実施例を示しているフローチャートである。
【図8】図8は、常駐して実行可能なアプリケーションをアプリケーションの異なったバージョンと置換するためのシステムにおいて使用されている無線デバイスの一つの実施例に関するブロック線図である。
【図9】図9は、常駐して実行可能なアプリケーションをアプリケーションの異なったバージョンと置換するためのシステムにおいて使用されている無線デバイスの一つの実施例に関するブロック線図である。
【図10】図10は、常駐して実行可能なアプリケーションをアプリケーションの異なったバージョンと置換するためのシステムにおいて使用されている無線デバイスの一つの実施例に関するブロック線図である。

【特許請求の範囲】
【請求項1】
無線デバイス上に常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換するための方法であって、
常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンに置換するための要求を受信し、
常駐する実行可能なアプリケーションのアクティブな実行を検出し、
ネットワークを経由してアプリケーションの異なったバージョンを受信し、
常駐する実行可能なアプリケーションのアクティブな実行を検出することに応じてアプリケーションの異なったバージョンを一時的な位置に保管し、
常駐する実行可能なアプリケーションのアクティブな実行を終了し、
常駐する実行可能なアプリケーションを一時的な位置に保管された異なったバージョンで上書きし、そして
アプリケーションの異なったバージョンのアクティブな実行を開始する
ことを含む方法。
【請求項2】
要求は無線デバイスによって開始される請求項1記載の方法。
【請求項3】
要求はユーザ入力の検出に伴って開始される請求項1記載の方法。
【請求項4】
アプリケーションの異なったバージョンは以前のバージョンである請求項1記載の方法。
【請求項5】
アプリケーションはエクステンション、スクリプト、および内容データの少なくとも1個である請求項1記載の方法。
【請求項6】
一時的な位置は、周辺デバイス、および遠隔ネットワーク位置の少なくとも一つの上にある請求項1記載の方法。
【請求項7】
常駐する実行可能なアプリケーションを含む無線デバイスであって、
常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換することの要求を受信するために構成された論理と、
常駐する実行可能なアプリケーションのアクティブな実行を検出するように構成された論理と、
ネットワークを経由して、アプリケーションの異なったバージョン受信するように構成された論理と、
常駐する実行可能なアプリケーションのアクティブな実行を検出することに応じて一時的な位置にアプリケーションの異なったバージョンを保管するように構成された論理と、
常駐する実行可能なアプリケーションのアクティブな実行を終了するように構成された論理と
常駐する実行可能なアプリケーションを一時的な位置に保管されたアプリケーションの異なったバージョンで上書きするように構成された論理と、そして
アプリケーションの異なったバージョンのアクティブな実行を開始するよう構成された論理と
を含む無線デバイス。
【請求項8】
要求は無線デバイスによって開始される請求項7記載の無線デバイス。
【請求項9】
要求はユーザ入力の検出に伴って開始される請求項7記載の無線デバイス。
【請求項10】
アプリケーションの異なったバージョンは以前のバージョンである請求項7記載の無線デバイス。
【請求項11】
アプリケーションはエクステンション、スクリプトおよび内容データの少なくとも1個である請求項7記載の無線デバイス。
【請求項12】
一時的な位置は周辺デバイスおよび遠隔ネットワーク位置である請求項7記載の無線デバイス。
【請求項13】
計算機が読み出し可能な媒体上に具体化された計算機プログラムであって、計算機プログラムは無線デバイス上に常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換することが可能であり、計算機プログラムは
常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換することの要求を受信することを実行可能であるコードと、
常駐する実行可能なアプリケーションのアクティブな実行を検出することを実行可能なコードと、
ネットワークを経由してアプリケーションの異なったバージョンを受信することを実行可能なコードと、
常駐する実行可能なアプリケーションのアクティブな実行を検出することに応じて一時的な位置にアプリケーションの異なったバージョンを保管することを実行可能なコードと、
常駐する実行可能なアプリケーションのアクティブな実行を終了することを実行可能なコードと、
常駐する実行可能なアプリケーションを一時的な位置に保管されたアプリケーションの異なったバージョンで上書きすることを実行可能なコードと、そして
アプリケーションの異なったバージョンのアクティブな実行を開始することを実行可能なコードと
を含む計算機プログラム。
【請求項14】
アプリケーションは少なくとも、エクステンション、スクリプトおよび内容データの1個を含む請求項13記載のプログラム。
【請求項15】
常駐するアプリケーションを含む無線デバイスであって
常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョン置換することの要求を受信するための手段と、
常駐する実行可能なアプリケーションのアクティブな実行を検出するための手段と、
ネットワークを経由してアプリケーションの異なったバージョンを受信するための手段と、
常駐する実行可能なアプリケーションのアクティブな実行を検出することに応じて一時的な位置にアプリケーションの異なったバージョンを記憶するための手段と、
常駐する実行可能なアプリケーションのアクティブな実行を終了するための手段と、
常駐する実行可能なアプリケーションを一時的な位置に保管されたアプリケーションの異なったバージョンで上書きするための手段と、そして
アプリケーションの異なったバージョンのアクティブな実行を開始するための手段と
を含む無線デバイス。
【請求項16】
アプリケーションは少なくとも、エクステンション、スクリプトおよび内容データの1個である請求項15記載のデバイス。
【請求項17】
無線デバイス上に常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換するための方法であって、方法は、
常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換することの要求を受信し、
ネットワークを経由して、アプリケーションの異なったバージョンを受信し、
常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換する要求を受信することに応じて一時的な位置にアプリケーションの異なったバージョンを保管し、
常駐する実行可能なアプリケーションのアクティブな実行を検出し、
常駐する実行可能なアプリケーションのアクティブな実行を終了し、
常駐する実行可能なアプリケーションを一時的な位置に保管された異なったバージョンで上書きし、そして
アプリケーションの異なったバージョンのアクティブな実行を開始する
ことを含む方法。
【請求項18】
要求は無線デバイスによって開始される請求項17記載の方法。
【請求項19】
要求はユーザ入力の検出に伴って開始される請求項17記載の方法。
【請求項20】
アプリケーションの異なったバージョンは以前のバージョンである請求項17記載の方法。
【請求項21】
常駐する実行可能なアプリケーションは少なくとも、エクステンション、スクリプトおよび内容データのうちの1個である請求項17記載の方法。
【請求項22】
一時的な位置は、周辺デバイスおよび遠隔ネットワーク位置の少なくとも1個である、請求項17記載の方法。
【請求項23】
常駐する実行可能なアプリケーションを含む無線デバイスであって、
常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換することの要求を受信するよう構成された論理と、
ネットワークを経由してアプリケーションの異なったバージョン受信するよう構成された論理と
常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換することの要求を受信することに応じて一時的な位置にアプリケーションの異なったバージョンを保管するよう構成された論理と、
常駐する実行可能なアプリケーションのアクティブな実行を検出するよう構成された論理と、
常駐する実行可能なアプリケーションを、一時的な位置に保管されたそのアプリケーションの異なったバージョンで上書きするよう構成された論理と、そして
アプリケーションの異なったバージョンのアクティブな実行を開始するように構成された論理と
を含む無線デバイス。
【請求項24】
要求は無線デバイスによって開始される請求項23記載の無線デバイス。
【請求項25】
要求はユーザ入力の検出によって開始される請求項23記載の無線デバイス。
【請求項26】
アプリケーションの異なったバージョンは以前のバージョンである請求項23記載の無線デバイス。
【請求項27】
常駐する実行可能なアプリケーションは、エクステンション、スクリプトおよび内容データの少なくとも1個である、請求項23記載の無線デバイス。
【請求項28】
一時的な位置は、周辺デバイス、および遠隔ネットワーク位置の少なくとも1個である、請求項23記載の無線デバイス。
【請求項29】
計算機によって読み出し可能な媒体上に実現された計算機プログラムであって、計算機プログラムは無線デバイス上に常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換することが可能であり、計算機プログラムは、
常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換することの要求を受信することを実行可能なコードと、
常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換することの要求を受信することに応じて、アプリケーションの異なったバージョンを一時的な位置に保管することを実行可能なコードと、
常駐する実行可能なアプリケーションのアクティブな実行を検出することを実行可能なコードと、
常駐する実行可能なアプリケーションのアクティブな実行を終了することを実行可能なコードと、
常駐する実行可能なアプリケーションを、一時的な位置に保管されたアプリケーションの異なったバージョンで上書きすることを実行可能なコードと、そして
アプリケーションの異なったバージョンのアクティブな実行を開始することを実行可能なコードと
を含む計算機プログラム。
【請求項30】
アプリケーションはエクステンション、スクリプトおよび内容データの少なくとも1個である、請求項29記載の計算機プログラム。
【請求項31】
クライアント計算デバイスとネットワーク上で安全な通信を処理するための無線デバイスであって、常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換することの要求を受信するための手段と、
ネットワークを経由してアプリケーションの異なったバージョンを受信するための手段と、
常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換することの要求を受信することに応じて、アプリケーションの異なったバージョンを一時的な位置に保管するための手段と、
常駐する実行可能なアプリケーションのアクティブな実行を検出するための手段と、
常駐する実行可能なアプリケーションのアクティブな実行を終了するための手段と
常駐する実行可能なアプリケーションを一時的な位置に保管されたアプリケーションの異なったバージョンで上書きするための手段と、そして
アプリケーションの異なったバージョンのアクティブな実行を開始するための手段と
を含む無線デバイス。
【請求項32】
アプリケーションはエクステンション、スクリプトおよび内容データの少なくとも1個である請求項31記載の無線デバイス。
【請求項33】
無線デバイス上に常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換するための方法であって、常駐する実行可能なアプリケーションをこのアプリケーションの異なったバージョンで置換することの要求を受信し、
ネットワークを経由してアプリケーションの異なったバージョンを受信し
常駐する実行可能なアプリケーションをこのアプリケーションの異なったバージョンで置換する要求を受信することに応じてアプリケーションの異なったバージョンをアップグレード位置に保管し、
アクティブなアプリケーション位置にある常駐する実行可能なアプリケーションのアクティブな実行を検出し、
常駐する実行可能なアプリケーションのアクティブな実行を終了し、そして
アップグレード位置およびアクティブなアプリケーション位置に関する順次の探索において検出された第1のアプリケーションの実行を開始する
ことを含む方法。
【請求項34】
要求は無線デバイスによって開始される請求項33の方法。
【請求項35】
要求は、ユーザ入力の検出とともに開始される請求項33記載の方法。
【請求項36】
アプリケーションの異なったバージョンは以前のバージョンである、請求項33記載の方法。
【請求項37】
常駐する実行可能なアプリケーションはエクステンション、スクリプトおよび内容データの少なくとも1個である請求項33記載の方法。
【請求項38】
一時的な位置は周辺デバイスおよび遠隔ネットワーク位置の少なくとも1個である請求項33記載の方法。
【請求項39】
常駐する実行可能なアプリケーションを含む無線デバイスであって
常駐する実行可能なアプリケーションを、そのアプリケーションの異なったバージョンで置換することの要求を受信するように構成された論理と、
ネットワークを経由してアプリケーションの異なったバージョンを受信するように構成された論理と、
常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換することの要求を受信することに応じてアプリケーションの異なったバージョンをアップグレード位置に保管するように構成された論理と、
アクティブアプリケーション位置にある常駐する実行可能なアプリケーションのアクティブな実行を検出するように構成された論理と、
常駐する実行可能なアプリケーションのアクティブな実行を終了するように構成された論理と、
アップグレード位置およびアクティブアプリケーション位置に関する順次の探索において検出された第1のアプリケーションの実行を開始するように構成された論理と
を含む無線デバイス。
【請求項40】
要求は無線デバイスによって開始される請求項39記載の無線デバイス。
【請求項41】
要求はユーザ入力の検出に伴って開始される請求項39記載の無線デバイス。
【請求項42】
アプリケーションの異なったバージョンは以前のバージョンである請求項39記載の無線デバイス。
【請求項43】
常駐する実行可能なアプリケーションはエクステンション、スクリプトおよび内容データの少なくとも1個である、請求項39記載の無線デバイス。
【請求項44】
アップグレード位置は、周辺デバイスおよび遠隔ネットワーク位置の少なくとも1個である請求項39記載の無線デバイス。
【請求項45】
計算機により読み出し可能な媒体上に実現された計算機プログラムであって、
計算機プログラムは、無線デバイス上に常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換することが可能であり、計算機プログラムは、
常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換することの要求を受信することが可能なコードと、
ネットワークを経由して、アプリケーションの異なったバージョンを受信することを実行可能なコードと、
常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換することの要求を受信することに応じてアプリケーションの異なったバージョンをアップグレード位置に保管することを実行可能なコードと、
アクティブなアプリケーション位置にある常駐する実行可能なアプリケーションのアクティブな実行を検出することを実行可能なコードと、
常駐する実行可能なアプリケーションのアクティブな実行を終了することを実行可能なコードと、そして
アップグレード位置およびアクティブなアプリケーション位置に関する順次の探索において検出された第1のアプリケーションの実行を開始することを実行可能なコードと
を含んでいる計算機プログラム。
【請求項46】
アプリケーションはエクステンション、スクリプトおよび内容データの少なくとも1個である請求項45記載の計算機プログラム。
【請求項47】
常駐する実行可能なアプリケーションを含む無線デバイスであって、
常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換することの要求を受信するための手段と、
ネットワークを経由してアプリケーションの異なったバージョンを受信するための手段と、
常駐する実行可能なアプリケーションをそのアプリケーションの異なったバージョンで置換することの要求を受信するに応じてアプリケーションの異なったバージョンをアップグレードした位置に保管するための手段と、
アクティブなアプリケーション位置にある常駐する実行可能なアプリケーションのアクティブな実行を検出するための手段と、常駐する実行可能なアプリケーションのアクティブな実行を終了するための手段と、そして
アップグレード位置およびアクティブアプリケーション位置に関する順次の探索において検出された第1のアプリケーションの実行を開始するための手段と
を含む無線デバイス。
【請求項48】
アプリケーションはエクステンション、スクリプトおよび内容データの少なくとも1個である、請求項47記載の無線デバイス。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公表番号】特表2007−511822(P2007−511822A)
【公表日】平成19年5月10日(2007.5.10)
【国際特許分類】
【出願番号】特願2006−538400(P2006−538400)
【出願日】平成16年10月28日(2004.10.28)
【国際出願番号】PCT/US2004/036288
【国際公開番号】WO2005/043337
【国際公開日】平成17年5月12日(2005.5.12)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ウィンドウズ
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】