JP2005505813A - 現場における無線通信デバイスシステムソフトウエアダウンロードの管理のためのシステムおよび方法 - Google Patents

現場における無線通信デバイスシステムソフトウエアダウンロードの管理のためのシステムおよび方法 Download PDF

Info

Publication number
JP2005505813A
JP2005505813A JP2003515971A JP2003515971A JP2005505813A JP 2005505813 A JP2005505813 A JP 2005505813A JP 2003515971 A JP2003515971 A JP 2003515971A JP 2003515971 A JP2003515971 A JP 2003515971A JP 2005505813 A JP2005505813 A JP 2005505813A
Authority
JP
Japan
Prior art keywords
section
code
code section
instruction set
updated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2003515971A
Other languages
English (en)
Inventor
ゴウリ ラジャラム,
ポール セッケンドルフ,
ディエゴ カプラン,
Original Assignee
キョウセラ ワイヤレス コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/916,460 external-priority patent/US7159214B2/en
Priority claimed from US09/916,900 external-priority patent/US7027806B2/en
Priority claimed from US09/917,026 external-priority patent/US7328007B2/en
Priority claimed from US09/927,131 external-priority patent/US7143407B2/en
Priority claimed from US09/969,305 external-priority patent/US7386846B2/en
Application filed by キョウセラ ワイヤレス コーポレイション filed Critical キョウセラ ワイヤレス コーポレイション
Publication of JP2005505813A publication Critical patent/JP2005505813A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/20Transfer of user or subscriber data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)
  • Transceivers (AREA)
  • Telephonic Communication Services (AREA)
  • Communication Control (AREA)
  • Information Transfer Between Computers (AREA)
  • Sub-Exchange Stations And Push- Button Telephones (AREA)
  • Circuits Of Receivers In General (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Selective Calling Equipment (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

無線通信デバイスにおけるシステムソフトウエアダウンロード動作を管理するためのシステムおよび方法が提供される。本方法は、システムソフトウェアを実行するステップと、ランタイムエンジンを起動するステップと、動的命令セットを処理するステップと、動的命令セットの処理に応答して、復元ステータスモニタリング、バックアップ、圧縮、および更新オーダリングを包含する群から選択された管理機能を使用して、エアリンクを介して受信出力なれたシステムソフトウェア更新のダウンロードを管理するステップとを含む。
【選択図】図1

Description

【技術分野】
【0001】
(1.発明の分野)
本出願は、2001年8月10日に出願され、「System and Method for Executing Wireless Communications Device Dynamic Instruction Sets」と題された米国特許出願第09/927,131号に対する優先権を主張し、2001年7月26日に出願され、「System and Method for Field Downloading a Wireless Communications Device Software Code Section」と題された米国特許出願第09/916,900号に関連し、そして2001年7月26日に出願され、「System and Method for Compacting Field Upgradeable Wireless Communication Device Software Code Sections」と題された米国特許出願第09/9169,460号に関連し、これらの全ては本明細書中で参考として援用される。
【0002】
本発明は、概して無線通信デバイスに関し、より詳細には、復元ステータスモニタリング、バックアップ、圧縮、および更新オーダリング等の種々のシステムソフトウエア現場ダウンロード管理機能を管理するように動的な命令セットを用いるためのシステムおよび方法に関する。
【背景技術】
【0003】
(関連技術の説明)
現場に既に存在するフォンに対してソフトウェア更新をリリースすることは珍しくはない。これらの更新は、一度フォンが製造され公に流通されてからソフトウェアに見つけられた問題に関連し得る。ある更新には、サービスプロバイダかから供給されたフォンの新機能の用途またはサービスが含まれ得る。さらに他の更新は、地域的な問題、またはある通信事業者に関連する問題に関係し得る。例えば、ある地域では、通信事業者のネットワークレイアウトが、より不適切なチャンネル検索、より不適切なコールの終了、より不適切なオーディオまたはこれと同等の予期していない動作をハンドセットに示させる、ハンドセットにエアリンクインターフェース条件を課し得る。
【0004】
このような更新に対する従来のアプローチは、最も近い通信事業者小売店/サービスアウトレットまたは製造業者に、本明細書中で無線デバイス、フォン、電話、またはハンドセットと呼ばれているものを、無線通信デバイスおよびその変更を処理するためにリコールすることであった。このような更新に含まれるコストは、広範囲に渡り、最終結果へ食い込む。さらに、顧客は、不便であり、いらいらさせられがちである。多くの場合、実際的なソリューションは、顧客に新しいフォンを提供することである。
【0005】
無線デバイスは、異なるカスタマーアプリケーションの数に対して異なる加入者サービスと共に複数の環境において使用される。従って、無線デバイスのソフトウエアがサービスを改善するようにアップグレードされても、アップグレードは、全てのユーザに対して均一な改良を提供する可能性がある。
【0006】
顧客に不便さなく、無線通信デバイスソフトウェアが安価でアップグレードされ得れば、より有利である。
【0007】
無線通信デバイスソフトウェアが、顧客が重要な期間のフォンの利用を失うことなく、アップグレードされ得れば、より有利である。
【0008】
無線通信デバイスソフトウェアが、最小の専門家のサービス時間で、または、サービス設備へデバイスを送る必要なく更新され得れば、より有利である。
【0009】
無線デバイスシステムソフトウェアがコードセクションに分割する場合、有利であり、それにより、システムソフトウエアの特定のコードセクションのみが置換される必要はなく、システムソフトウエアを更新する。これらのコードセクションが、エアリンクを介して無線デバイスに通信され得る場合、有利である。
【0010】
無線デバイスがシステムソフトウェアを更新する現場において支援する動的にロードされた命令のセットを用いて動作し得る場合、有利である。
【0011】
これらの動的な命令のセットが更新ステータスをモニタリングし、キーコードセクションをバックアップし、メモリ圧縮を実行し、そして更新格納処理をオーダリングすることによって更新エラーから無線デバイスを保護し得る場合、有利である。
【発明の開示】
【課題を解決するための手段】
【0012】
(発明の要旨)
無線通信デバイスソフトウェア更新は、顧客にできる限り最良の製品およびユーザ経験を与える。本商業界の高価な部分とは、ソフトウェアを更新するためにハンドセットのリコールを包含することである。これらの更新は、フォンが製造された後に、ユーザに付加的なサービスを提供し、フォンの利用中に発見された問題を処理するために必要とし得る。本発明は、エアリンクインターフェースを介して、現場のハンドセットソフトウェアを実際に更新することを可能にする。より詳細には、本発明は、無線通信デバイスが動的な命令のセットを実行することを可能にする。これらの動的な命令のセットは、無線デバイスがシステムソフトウェアおよびシステムデータを「インテリジェントに」または条件付きにシステムソフトウェアおよびシステムデータを更新することを可能にする。さらに、動的命令のセットは、無線デバイスが首尾よく完了したかどうかを決定することを可能にする。動的命令セットは、更新セクションが非動作的であるとわかった場合、キーコードセクションが格納されることを可能にする。動的な命令のセットはまた、メモリ圧縮および格納オーダリングを実行する。
【0013】
従って、無線通信デバイスにおけるシステムソフトウエアダウンロード動作を管理するための方法が提供される。本方法は、システムソフトウェアを実行するステップと、ランタイムエンジンを起動するステップと、動的命令セットを処理するステップと、動的命令セットの処理に応答して、復元ステータスモニタリング、バックアップ、圧縮、および更新オーダリングを包含する群から選択された命令機能を用いてエアリンク界面を介して受信されたシステムソフトウェア更新のダウンロードを管理するステップとを包含する。
【0014】
上述の復元ステータスモニタリング、バックアップ、圧縮、および更新オーダリング管理機能、ならびに無線通信デバイスにおけるシステムダウンロード動作を管理するためのシステムが以下に提供される。
【発明を実施するための最良の形態】
【0015】
(好適な実施形態の詳細な説明)
以下の詳細な説明のいくつかの部分は、無線デバイスマイクロプロセッサまたはメモリ内のデータビットにおける動作の手順、ステップ、ロジックブロック、コード、処理、および、他のシンボリックな表現ついて示される。これらの記述および表現は、データ処理技術の当業者によって利用される手段であって、これらは、当該の別の技術者に仕事の実質を最も効果的に提供するためのものである。手順、マイクロプロセッサに実行されるステップ、アプリケーション、ロジックブロック、プロセス等は、本明細書中において、および一般的に、所望の結果を導くステップまたは命令の一貫したシーケンスであると考えられる。本ステップは、物理量(quantity)の物理的操作を要求するステップである。通常、必須ではないが、これらの量は、マイクロプロセッサに基づく無線デバイスにおいて、格納、伝達、結合、比較、およびそうでなければ操作され得る電気または磁気信号の形式を取り得る。これらの信号をビット、値、エレメント、シンボル、文字、用語、または数字等として示すことは、原則的に共通の用法で、時には便利であることが証明されている。メモリ等の物理的デバイスについて言及される場合、それらは、バスまたは他の電気接続を介して他の物理的デバイスに接続される。これらの物理的デバイスは、論理的プロセスまたはアプリケーションと相互作用し、従って、論理的演算に「接続される」と考えられ得る。例えば、メモリはさらなる論理演算に対するコードを格納またはアクセスしてもよいし、アプリケーションは、実行のためにメモリからコード選択を呼び出してもよい。
【0016】
しかし、尚、全てのこれらおよび同様の用語は、適切な物理量に関連すべきであり、単にこれらの量に適用される便利なラベルにすぎない。他に特別に述べられない限り、以下の説明から明らかなように、本発明を通して、「処理」「接続」「翻訳」「表示」「プロンプト」「判定」「表示」または「認識」等の用語を利用した説明は、コンピュータシステムのレジスタおよびメモリ内の物理(電気的)量として示されるデータを無線デバイスメモリまたはレジスタまたは他のこのような情報格納デバイス、送信デバイスまたは表示デバイス内の物理量として同様に示される他のデータへ操作して変換する、無線デバイスマイクロプロセッサシステムのアクションおよびプロセスを示す。
【0017】
図1は、無線デバイスソフトウェアメンテナンスシステム全体100の概略的なブロック図である。本発明のシステムソフトウェアの組織化は、以下に詳細に示され、ソフトウェアメンテナンスシステムの一般的概要100に従う。一般的なシステム100は、システムソフトウェア更新および命令セット(プログラム)を送達するステップ、および送達されたソフトウェアを無線デバイスにインストールするステップのプロセスについて記述する。命令セットまたは動的命令セットとして一般的に公知である、システムソフトウェア更新またはパッチマネージャランタイム命令(PMRIS)は、ハンドセットの製造業者によって作成される。システムソフトウェアは、シンボルライブラリに組織化される。シンボルライブラリは、コードセクション内に配置される。シンボルライブラリが更新される場合、ソフトウェア更新102は、1つ以上のコードセクションとしてトランスポートされる。ソフトウェア更新は、現場の無線デバイス(無線通信デバイス104はその代表である)にブロードキャストされるか、または、公知の従来の空中でかつ、データまたはメッセージトランスポートプロトコルを利用して基地局106から別々の通信で送信される。本発明は、無線通信デバイスが、システムソフトウェアおよびPMRTI更新を受け取る目的のために、任意の利用可能な空中を介した(over−the−air)トランスポートプロトコルを処理するように容易に修正され得るので、任意の特定のトランスポーテーションフォーマットに制限されない。
【0018】
システムソフトウェアは、異なるサブシステムのコレクションとみなされ得る。コードオブジェクトは、これらの抽象的なサブシステムの1つにしっかりと接続され得、結果のコレクションは、シンボルライブラリとしてラベル付けされ得る。これは、コードベースの論理的ブレークダウンを提供し、ソフトウェアパッチおよび修正は、これらのシンボルライブラリに関連し得る。多くの場合、単一の更新は、1つまたは多くとも2つのシンボルライブラリと関連する。残りのコードベース、すなわち他のシンボルライブラリは、変化しないままである。
【0019】
シンボルライブラリの概念は、コードおよび定数を扱うためのメカニズムを提供する。一方、リードライト(RW)データは、全てのライブラリのためのRAMベースのデータを包含する固有の個別RWライブラリへ適合する。
【0020】
無線デバイス104によって受け取られると、トランスポートされたコードセクションは、処理されなければならない。この無線デバイスは、不揮発性メモリ108の固有のコードセクションを上書きする。不揮発性メモリ108は、ファイルシステムセクション(FSS)110およびコード格納セクション112を含む。コードセクションは、通常、FSS110の占有率を最小化するためにトランスポートの前に圧縮される。多くの場合、更新されたコードセクションは、RWデータを伴い、RWデータは、各シンボルライブラリのための全RWデータを含む別の種類のシンボルライブラリである。システムソフトウェアは実行時にランダムアクセス揮発性リード−ライトメモリ114にロードされるが、RWデータは、常に不揮発性メモリ108に格納される必要があり、そのため、RWデータは、無線デバイスがリセットされる度に、ランダムアクセス揮発性リード−ライトメモリ114にロードされ得る。これは、初回のRWデータのランダムアクセス揮発性リード−ライトメモリへのロードを含む。以下により詳細に説明されるように、RWデータは、通常、パッチマネージャコードセクションに配置される。
【0021】
システム100は、仮想テーブルの概念を含む。このようなテーブルを用いて、あるコードセクションのシンボルライブラリは、システムソフトウェアの他の部分(他のコードセクション)を壊す(置き換える)ことなく、パッチされる(置き換えられる)。仮想テーブルは、効率性のために、ランダムアクセス揮発性リード−ライトメモリ114から実行する。コードセクションアドレステーブルおよびシンボルオフセットアドレステーブルは、仮想テーブルである。
【0022】
更新されたコードセクションは、無線デバイス104によって受信され、FSS110に格納される。無線デバイスユーザインターフェイス(UI)は、通常、新しいソフトウェアが利用可能であることをユーザに通知する。UIプロンプトに応答して、ユーザは、通知を確認し、かつ、パッチまたは更新動作をシグナリングする。もしくは、更新動作が自動的に実行される。無線デバイスは、更新プロセスが実行される時、標準的な通信タスクを実行不可能であり得る。パッチマネージャ更新セクションは、さらにランダムアクセス揮発性リード−ライトメモリ114へロードされる不揮発性リード−ライトドライバシンボルライブラリを含み得る。不揮発性リード−ライトドライバシンボルライブラリは、コードセクションを更新されるべきコードセクションで上書きさせる。パッチマネージャコードセクションは、リード−ライトデータ、コードセクションアドレステーブル、およびシンボルオフセットアドレステーブル、ならびに、シンボルアクセサコードおよびシンボルアクセサコードアドレス(以下に説明される)を含む。このデータの一部分は、更新されたコードセクションが導入される時に無効であり、更新されたパッチマネージャコードセクションは、更新されたコードセクションに対して有効なリード−ライトデータ、コードセクションアドレステーブル、およびシンボルオフセットアドレステーブルを含む。一旦、更新されたコードセクションが、コード格納媒体112内にロードされると、無線デバイスはリセットされる。リセット動作に続いて、無線デバイスは、更新されたシステムソフトウェアを実行し得る。尚、パッチマネージャコードセクションは、上述されていない他のシンボルライブラリを含み得る。これらの他のシンボルライブラリは、リード−ライト揮発性メモリ114へロードされる必要がない。
【0023】
図2は、エアリンクインターフェースを介する命令セットのインストールをハイライトする、ソフトウェアメンテナンスシステム100の概略的なブロック図である。更新システムソフトウェアコードセクションに加えて、メンAテナンスシステム100は、本明細書中でパッチマネージャランタイム命令(PMRTI)と呼ばれる、命令セット、プログラム、またはパッチマネージャ命令セット(PMIS)をダウンロードおよびインストールし得る。PMRTIコードセクション200は、上述のシステムソフトウェアコードセクションと同一の態様で無線デバイス104にトランスポートされる。PMRTIコードセクションは、最初にFSS110に格納される。PMRTIコードセクションは、通常、コンパイルされたハンドセットへの命令として可視化され得るバイナリフィアルである。PMRTIコードセクションは、基本数学的演算の性能および条件付きで実行される演算の性能を提供するのに十分に包括的である。例えば、RF較正PMRTIは、以下の動作を実行し得る。
【0024】
【数1】
Figure 2005505813
PMRTIは、加算、減算、乗算、および除算等の基本数学的演算をサポートし得る。システムソフトウェアコードセクションと共に、PMRTIコードセクションは、UIプロンプトに応答してロードされ得、無線デバイスは、PMRTIがコード格納セクション112へロードされた後、リセットされなくてはならない。その後、PMRTIセクションは、実行され得る。PMRTIコードセクションが任意の仮想テーブルまたはリード−ライトデータと関連する場合、更新されたパッチマネージャコードセクションは、コード格納セクション112におけるインストールのためにPMRTIと共にトランスポートされる。もしくは、PMRTIは、保持されて、FSS110から処理され得る。ハンドセット104は、PMRTIセクションにおける全ての命令を実行した後、PMRTIセクションは、FSS110から削除され得る。あるいは、PMRTIは、未来の動作のために保守される。例えば、PMRTIは、無線デバイスがエネルギー付与される度に実行され得る。
【0025】
PMRTIは、非常に強力なランタイム命令エンジンである。ハンドセットは、PMRTI環境を介してハンドセットに送達される任意の命令を実行し得る。このメカニズムは、RF較正をサポートするために利用され得る。より一般的には、PMRTIが利用され、典型的にはユーザの不満の結果等のソフトウェア問題が製造業者またはサービスプロバイダによって認識される場合、無線デバイスソフトウェアをリモートデバックし得る。PMRTIはまた、ソフトウェアの問題を診断するために必要なデータを記録できる。PMRTIは、データ解析、デバック、および修正用の新しくダウンロードされたシステムアプリケーションを起動し得る。PMRTIは、更新されたシステムソフトウェアコードセクションの代わりに、ある問題に対する解析およびできる限り短い時間での修正のためのRWデータをベースにした更新を提供し得る。PMRTIは、無線デバイスによる利用のためにメモリ圧縮アルゴリズムを提供し得る。
【0026】
本発明のある局面では、システムソフトウェアのシンボルライブラリへの組織化は、実行のために要求される揮発性メモリ114および不揮発性メモリ108のサイズに影響をし得る。これは、コードセクションが、コードセクション内に配置されるシンボルライブラリよりも典型的には大きいという事実による。これらのより大きいコードセクションが存在するのは、更新されたコードセクションを収容するためである。システムソフトウェアのライブラリのコレクションとしての組織化は、不揮発性メモリサイズ要件に影響する。同一のコードサイズに対して、利用される不揮発性メモリの量は、コードセクションが、内部に配置されるシンボルライブラリよりも大きくなるようにサイズ合わせし得るという事実により、より大きくなる。
【0027】
一旦、ソフトウェア更新が、無線デバイスに送達されると、ソフトウェアメンテナンスシステム100は、メモリ圧縮をサポートする。メモリ圧縮は、デスクトップコンピュータのディスクデフラグアプリケーションと同様である。圧縮メカニズムは、メモリが最適に利用され、将来のコードセクション更新のために良好にバランスされることを保証し、ここで、更新されるコードセクションのサイズは、予測できない。システム100は、パッチがあてられる(更新される)コード格納セクションを解析する。システム100は、更新されたコードセクションを、置換されるコードセクションにより占有されるメモリスペースへ適応させることを試みる。更新されたコードセクションが置換されるコードセクションよりも大きい場合、システム100は、メモリ112のコードセクションを圧縮する。もしくは、圧縮は、製造業者またはサービスプロバイダによって計算され得、圧縮命令は、無線デバイス104へトランポートされ得る。
【0028】
圧縮は、アルゴリズムの複雑性および膨大な量のデータ移動により、時間消費プロセスになり得る。圧縮アルゴリズムは、任意の処理が開始する前に、実行可能性を予測する。UIプロンプトは、圧縮が試みられる前に、ユーザからの許可を適用するために利用され得る。
【0029】
本発明のある局面では、全システムソフトウェアコードセクションは、同時に更新され得る。しかしながら、完全なシステムソフトウェア更新は、より大きなFSS110を要求する。
【0030】
図3は、無線通信デバイスにおける本発明の動的命令セットを示す概略的ブロック図である。システム構造300は、複数のコードセクションに区別される実行可能な無線デバイスシステムソフトウェアを含むメモリ108中にコード格納セクション112を含む。コードセクション1(302)、コードセクション2(304)、コードセクションn(306)、およびパッチマネージャコードセクション308が示される。しかし、本発明は、コードセクションの任意の特定の数に制限されない。システム300はさらに、第2の複数のコードセクション内に配置される第1の複数のシンボルライブラリをさらに含む。示されるのは、コードセクション1(302)に配置されるシンボルライブラリ1(310)、コードセクション2(304)に配置されるシンボルライブラリ2(312)および3(314)、ならびにコードセクションn(306)に配置されるシンボルライブラリm(316)である。各ライブラリは、関連する機能性を有するシンボルを含む。例えば、シンボルライブラリ1(310)は、無線デバイス液晶ディスプレイ(LCD)の動作に関与し得る。そして、シンボルは、ディスプレイ機能に関連する。以下に詳細に示されるように、さらなるシンボルライブラリは、パッチマネージャコードセクション308に配置される。
【0031】
図4は、無線デバイスメモリの概略的なブロック図である。示されるように、メモリは、図1のコード格納セクション112である。メモリは、フラッシュメモリのような書き込み可能な不揮発性メモリである。尚、コードセクションは、必ずしもFSS110と同一のメモリに格納される必要はないことが理解される。尚、本発明のシステムソフトウェア構造は、複数の協働するメモリに格納されるコードセクションにより有効にされることも理解される。コード格納セクション112は、第2の複数の連続してアドレスされるメモリブロックを含み、ここで、各メモリブロックは、第2の複数のコードセクションに対応するコードセクションを格納する。従って、コードセクション1(302)は、第1のメモリブロック400に格納され、コードセクション2(304)は、第2のメモリブロック402に格納され、コードセクションn(306)は、第nのメモリブロック404に格納され、そしてパッチマネージャコードセクション(308)は、第pのメモリブロック406に格納される。
【0032】
図3および4と対照的に、各コードセクションの開始点は、メモリの対応する開始アドレスに格納され、シンボルライブラリは、コードセクションの開始点で開始するように配置される。すなわち、各シンボルライブラリは、第1のアドレスで開始し、第1のアドレスから連続してある範囲のアドレスを通って作動される。例えば、コードセクション1(302)は、コード格納セクションメモリ112の第1の開始アドレス408(「S」でマークされる)で開始する。図3では、シンボルライブラリ1(310)は、第1のコードセクションの開始点318で開始する。コードセクション2(304)が第2の開始アドレス410(図4)で開始するのと同様に、シンボルライブラリ2は、コードセクション2(図3)の開始点320で開始する。コードセクションn(306)は、コード格納セクションメモリ112の第3の開始アドレス412(図4)で開始し、シンボルライブラリm(316)は、コードセクションn322(図3)の開始点で開始する。パッチマネージャコードセクションは、コード格納セクションメモリ112の第pの開始アドレス414で開始し、そしてパッチマネージャコードセクション308の第1のシンボルライブラリは、パッチマネージャコードセクションの開始点324で開始する。従って、シンボルライブラリ1(310)は、最終的に、第1のメモリブロック400に格納される。コードセクションが、コードセクション2(304)のような複数のシンボルライブラリを含む場合、複数のシンボルライブラリは、対応するメモリブロック(この場合、第2のメモリブロック402)に格納される。
【0033】
図3では、システム300は、パッチマネージャコードセクション308に配置されるシンボルライブラリに含まれるシンボルのあるタイプとして、コードセクションアドレステーブル326をさらに含む。コードセクションアドレステーブルは、コードセクション識別子をメモリの対応するコードセクション開始アドレスと相互参照する。
【0034】
図5は、図3のコードセクションアドレステーブル326を示すテーブルである。コードセクションアドレステーブル326は、シンボルライブラリに対するコードセクション開始アドレスを見つけ出すために参照される。例えば、システム300は、シンボルライブラリ1のシンボルが実行に必要とされる時、コードセクション1を検索する。コードセクション1の開始アドレスを見つけ出し、従って、シンボルをシンボルライブラリ1に位置付けるために、コードセクションアドレステーブル326は、参照される。コードセクションのシンボルライブラリの配置、およびテーブルによるコードセクションのトラッキングは、コードセクションが移動され、かつ拡張されることを可能にする。拡張または移動動作は、アップグレードされたコードセクション(アップグレードされたシンボルライブラリを含む)をインストールするために必要とされ得る。
【0035】
尚、図3に戻って、全てのシンボルライブラリは、必ずしもコードセクションの開始点で開始するわけではない。示されるように、シンボルライブラリ3(314)は、コードセクション2(304)に配置されるが、コードセクション開始アドレス320で開始しない。従って、シンボルライブラリ3(314)のシンボルが実行のために必要とされる場合、システム300は、コードセクション2(304)の開始アドレスに対してコードセクションアドレステーブル326を参照する。以下に説明されるように、シンボルオフセットアドレステーブルは、シンボルライブラリ3(314)のシンボルが位置付けられることを可能にする。シンボルが、複数のライブラリにわたって広がることは、同一のコードセクションに保持されない限り、問題ではない。
【0036】
上述されたように、各シンボルライブラリは、機能的に関連したシンボルを含む。シンボルは、ルーティン本体、変数、またはデータ構造を位置付け、かつ利用するための、プログラマ定義の名前である。従って、シンボルは、アドレスまたは値であり得る。シンボルは、内部または外部であり得る。内部シンボルは、現在のコードセクションの範囲を超えて、可視ではない。より詳細には、内部シンボルは、他のコードセクションにおいて、他のシンボルライブラリによって検索されない。外部シンボルは、コードセクション間で利用および呼び出しされ、かつ、異なるコードセクションのライブラリによって検索される。シンボルオフセットアドレステーブルは、通常、全ての外部シンボルのリストを含む。
【0037】
例えば、シンボルライブラリ1(310)は、無線デバイスディスプレイ上に文字を生成する。このライブラリのシンボルは、電話番号、名前、時刻、または他のディスプレイ機能を生成する。各機能は、本明細書中でシンボルとして参照する、ルーティンによって生成される。例えば、シンボルライブラリ1(310)の1つのシンボルは、ディスプレイ上に電話番号を生成する。このシンボルは、「X」で表わされ、外部である。無線デバイスがフォンコールを受け、呼び出し側IDサービスが起動される場合、システムは、「X」シンボルを実行させたい場合、ディスプレイ上に番号を生成しなければならない。従って、システムは、「X」シンボルを位置付けなければならない。
【0038】
図6は、シンボルを有する、図3のシンボルライブラリ1(310)の詳細な図である。シンボルは、各コードセクション開始アドレスからオフセットされるように配置される。多くの状況では、シンボルライブラリの開始点は、コードセクションの開始点であるが、これは、コードセクションが1つより多いシンボルライブラリを含む場合に当てはまらない。シンボルライブラリ1(310)は、コードセクション1(図3を参照)の開始点で開始する。図6に示されるように、「X」シンボルは、シンボルライブラリの開始点からの(03)のオフセットに位置付けられ、「Y」シンボルは、(15)のオフセットに位置付けられる。シンボルオフセットアドレスは、パッチマネージャコードセクションのシンボルオフセットアドレステーブル328に格納される(図3参照)。
【0039】
図7は、図3のシンボルオフセットアドレステーブル328を示すテーブルである。シンボルオフセットアドレステーブル328は、対応するオフセットアドレス、およびメモリの対応するコードセクション識別子によってシンボル識別子を相互参照する。従って、システムは、シンボルライブラリ1において「X」シンボルを実行させるために検索し、シンボルオフセットアドレステーブル328は、それが配置されるコードセクションについて、シンボルの正確なアドレスを位置付けるために参照される。
【0040】
図3に戻って、第1の複数のシンボルライブラリは全て、通常、これらのシンボルライブラリの実行時に参照される、または設定されなければならないリード−ライトデータを含む。例えば、シンボルライブラリは、条件付きステートメントに依存する動作を含み得る。リード−ライトデータセクションを参照して、条件付きステートメントを完了させるために必要なステータスを判定する。本発明は、全てのシンボルライブラリから共有されるリード−ライトセクションへリード−ライトデータをグループ化する。本発明のある局面では、リード−ライトデータ330は、パッチマネージャコードセクション308に配置される。もしくは(示されない)、リード−ライトデータは、異なるコードセクション、例えば、コードセクションn(306)に配置され得る。
【0041】
第1の複数のシンボルライブラリはまた、検索されるシンボルのアドレスを計算するために、コードセクションに配置されるシンボルアクセサコードを含む。シンボルアクセサコードは、別々のコードセクション、例えば、コードセクション2(304)のアドレスに配置され、かつ格納され得る。しかし、示されるように、シンボルアクセサコード332は、パッチマネージャコードセクション308のアドレスに配置され、格納される。システム300は、さらに、シンボルアクセサコードアドレスを格納する第1の位置を含む。第1の位置は、コード格納セクション112、または無線デバイス(示されない)の別々のメモリセクションにおけるコードセクションであり得る。第1の位置はまた、リード−ライトデータと同一のコードセクションにも配置され得る。示されるように、第1の位置334は、リード−ライトデータ330、シンボルオフセットアドレステーブル328、コードセクションアドレステーブル326、シンボルアクセサコード332、およびパッチライブラリ(パッチシンボルライブラリ)336を有するパッチマネージャコードセクション308に格納される。
【0042】
シンボルアクセサコードは、コードセクションアドレステーブルおよびシンボルオフセットアドレステーブルにアクセスして、メモリにおいて検索されるべきシンボルの正確なアドレスを計算するかまたは見出す。すなわち、シンボルアクセサコードは、対応するシンボル識別子および対応するコードセクション識別子を用いて、検索されるべきシンボルのアドレスを計算する。例えば、シンボルライブラリ1の「X」シンボルが検索される場合、シンボルアクセサは、「X」シンボルに対応して(図7を参照されたい)、シンボル識別子(シンボルID)「X_1」を検索するために呼び出される。シンボルアクセサコードは、シンボルオフセットアドレスを参照して、「X_1」シンボル識別子がコードセクション1の開始点から(03)のオフセットを有することを判定する(図6を参照されたい)。シンボルアクセサコードは、コードセクション1に対応して、コードセクション識別子「CS_1」を検索するために呼び出される。シンボルアクセサコードは、コードセクションテーブルを参照して、コードセクション識別子(コードセクションID)「CS_1」と関連する開始アドレスを決定する。この方法では、シンボルアクセサコードは、シンボル識別子「X_1」が、(00100)のアドレスからの(03)のオフセットであるか、または、アドレス(00103)に位置付けられるかを決定する。
【0043】
シンボル「X」は、実際のコードの一部であるので、予約された名前である。言い換えると、シンボル「X」は、それに関連する絶対値データである。データは、アドレスまたは値であり得る。シンボル識別子は、シンボルをトラックするために生成されるエイリアスである。シンボルオフセットアドレステーブルおよびコードセクションアドレステーブルの両方が識別子と共に作用して、予約されたシンボルおよびコードセクション名との混乱を避ける。また、同一のシンボル名を多くのシンボルライブラリにわたって利用することが可能である。識別子の利用は、これらのシンボル間の混乱を避ける。
【0044】
図1に戻って、システム300はさらに、リード−ライト揮発性メモリ114、典型的にはランダムアクセスメモリ(RAM)を含む。リード−ライトデータ330、コードセクションアドレステーブル326、シンボルオフセットアドレステーブル328、シンボルアクセサコード332、およびシンボルアクセサコードアドレス334は、システムソフトウェアの実行中のアクセスのために、パッチマネージャコードセクションからリード−ライト揮発性メモリ114へロードされる。周知のように、RAMに格納されるコードのアクセス時間は、Flashのような不揮発性メモリへのアクセスよりもはるかに短い。
【0045】
図3に戻って、尚、シンボルライブラリは、それらが配置されるコードセクションを必ずしも満たす必要はないが、メモリブロックが内部に格納される対応のコードセクションを正確に収容するようにサイズ合わせされる。代わりに述べられるのは、第2の複数のコードセクションの各々は、配置されるシンボルライブラリを収容するバイトサイズを有し、連続してアドレスされるメモリブロックの各々は、対応するコードセクションを収容するバイトサイズを有する。例えば、コードセクション1(302)は、100バイトの長さを有するシンボルライブラリを収容する100バイトのセクションであり得る。第1のメモリブロックは、コードセクション1のバイトサイズに一致する100バイトである。しかし、コードセクション1にロードされるシンボルライブラリは、100バイトよりも小さくなってもよい。図3に示されるように、コードセクション1(302)は、シンボルライブラリ1(310)が100バイトよりも小さい場合、未使用セクション340を有する。従って、第2の複数のコードセクションの各々は、配置されるシンボルライブラリを収容するのに必要となるサイズよりも大きいサイズを有する。「過剰なサイズ」のコードセクションにより、より大きな更新されたシンボルライブラリが収容され得る。
【0046】
連続的にアドレスされたメモリブロックは、物理メモリ空間を種々のサイズの論理ブロックに分割することを参照する。コードセクションおよびメモリブロックは、コードセクションがメモリ内に格納される場合、本質的に交換可能である用語である。コードセクションの概念は、それが移動されかつ処置されると、シンボルライブラリまたはコードセクションにおけるシンボルライブラリの収集よりも恐らく大きいコードのセクションを識別するために使用される。
【0047】
図3に見出されるように、現在のコードセクションを有するコード格納セクションに新しいコードセクションを配置するために、システム300は、本明細書中でパッチライブラリ336と呼ばれるパッチシンボルライブラリを含む。コード格納セクションにおける現在のコードセクションと共に新しいコードセクションの配置は、更新される実行可能なシステムソフトウェアを形成する。パッチマネージャ336は、現在のコードセクションと共に新しいコードセクションを配置するだけでなく、コードセクションを更新されるコードセクション置換する。
【0048】
図4に戻って、メモリ108のファイルシステムセクション110は、新しいコードセクション450および更新されるパッチマネージャコードセクション452等の新しいコードセクションを受信する。ファイルシステムセクションは、さらに、現在のコードセクションと共に新しいコードセクションを配置するための命令を含む第1のパッチマネージャランタイム命令(PMRTI)454を受信する。図1に見出されるように、エアリンクインターフェース150は、新しいか、または更新されるコードセクション、ならびに第1のPMRTIを受信する。エアリンクインターフェース150は、アンテナによって表されるが、エアリンクインターフェース150は、さらに、RFトランシーバ、ベースバンド回路および復調回路(図示せず)を含むことに留意されたい。ファイルシステムセクション110は、エアリンクインターフェース150を介して受信された新しいコードセクションを格納する。パッチライブラリ336は、リード−ライト揮発性メモリ114から実行し、コード格納セクションの第1のコードセクション、例えば、コードセクションn(306)を、第1のPMRTI454に応答して、新しいか、または更新されるコードセクション450と置換する。通常、パッチマネージャコードセクション308は、更新されるパッチマネージャコードセクション452と置換される。コードセクションが置換された場合、パッチライブラリ336は、コード格納セクション112における第1のコードセクション、例えば、コードセクションn(306)を、ファイルシステムセクション112における、更新されたコードセクション、例えば、コードセクション450に上書きする。極端な場合、コード格納セクション112におけるすべてのコードセクションは、更新されるコードセクションと置換される。すなわち、FSS110は、第2の複数の更新されたコードセクション(図示せず)を受信し、パッチライブラリ336は、コード格納セクション112における第2の複数のコードセクションを第2の複数の更新されるコードセクションと置換する。当然、FSS110は、エアリンクインターフェースを介して受信された第2の複数の更新されるコードセクションを収容するように十分に大きくしなければならない。
【0049】
上述のように、受信された更新されるコードは、リード−ライトデータコードセクション、コードセクションアドレステーブルコードセクション、シンボルライブラリ、シンボルオフセットアドレステーブルコードセクション、シンボルアクセサコードセクション、または新しいパッチライブラリを有するコードセクションを含み得る。これらのすべてのコードセクションは、関連するシンボルライブラリおよびシンボルと共に、別個かつ独立したコードセクションとして格納され得る。その後、これらのコードセクションの各々は、一意的に更新されるコードセクションと置換される。すなわち、更新されるリード−ライトコードセクションは、受信されて、コード格納セクションにおけるリード−ライトコードセクションを置換する。更新されたコードセクションアドレステーブルコードセクションは、受信されて、コード格納セクションにおけるコードセクションアドレステーブルコードセクションを置換する。更新されたシンボルオフセットアドレステーブルコードセクションは、受信されて、コード格納セクションにおけるシンボルオフセットアドレステーブルコードセクションを置換する。更新されるシンボルアクセサコードセクションは、受信されて、コード格納セクションにおけるシンボルアクセサコードセクションと置換する。同様に、更新されるパッチマネージャコードセクション(パッチライブラリを有する)は、受信されて、コード格納セクションにおけるパッチマネージャコードセクションと置換する。
【0050】
しかしながら、上述のコードセクションは、通常、パッチマネージャコードセクションの中でバンドルされる。従って、コード格納セクションにおけるリード−ライトコードセクションは、パッチマネージャコードセクション308が、更新されるパッチマネージャコードセクション450と置換された場合、ファイルシステムセクション110からの更新されるリード−ライトコードセクションと置換される。同様に、更新されるパッチマネージャコードセクション450がインストールされた場合、コードセクションアドレステーブル、シンボルオフセットアドレステーブル、シンボルアクセサコードセクション、およびパッチライブラリが置換される。新しいリード−ライトデータ、新しいコードセクションアドレステーブル、新しいシンボルオフセットアドレステーブル、新しいシンボルアクセサコード、および更新されるパッチマネージャコードセクションとしての新しいパッチライブラリの、コード格納セクションにおける現在のコードセクションと共に配置されることが更新される実行可能なシステムソフトウェアを形成する。
【0051】
ファイルシステムセクション110が更新されたシンボルアクセサコードアドレスを受信した場合、パッチマネージャは、メモリ内の第1のロケーションにおけるシンボルアクセサコードアドレスを更新されるシンボルアクセサコードアドレスと置換する。上述のように、メモリ内334の第1のロケーションは、通常、パッチマネージャコードセクションにある(図3を参照)。
【0052】
図3に見出されるように、パッチライブラリ308は、さらに、圧縮器、または圧縮器シンボルライブラリ342を含み得る。圧縮器342は、さらに、別個および独立したコードセクションとしてイネーブルされ得るが、上述のように、システムソフトウェアアップグレードと関連した機能を単一のパッチマネージャコードセクションにバンドルすることは有用かつ効率的である。通常、圧縮器342は、コードセクションのサイズを変更すると考えられることができ、これにより、新しいセクションは、コード格納セクション112における現在のコードセクションと共に配置され得る。
【0053】
ここで確立された組織、ダウンロード、および圧縮の本発明の局面に関して、以下の説明は、無線通信デバイス動的命令セット実行システム300に集中させる。システム300は、詳細に上述されたように、実行可能なシステムソフトウェア、およびコードセクションと区分されたシステムデータを含む。さらに、システム300は、システムデータおよびシステムソフトウェア上で演算し、かつ、システムソフトウェアの実行を制御するための動的命令セットを含む。図4に示されるように、動的命令セット470は、第1のPMRTI454に組織化される。図3に見出されるように、システムは、さらに、ランタイムライブラリ370によってイネーブルされる動的命令セットを処理するためのランタイムエンジンを含む。圧縮器ライブラリ342およびパッチライブラリ336に関して述べられたように、ランタイムライブラリ370は、通常、パッチマネージャコードセクション308に配置される。しかしながら、ランタイムライブラリ370は、代替的に、別のコードセクション、例えば、第1のコードセクション304において配置され得る。
【0054】
動的命令セットは、条件付きオペレーションコードを含み、かつ、通常、データアイテムを含む命令の1つまたは複数のセットである。ランタイムエンジンは、オペレーションコードを読み出し、かつ、どの演算が実行されることが必要かを決定する。オペレーションコードは、条件的、数学的、プロシージャ的または論理的であり得る。ランタイムエンジン、またはランタイムライブラリ370は、数学的または論理演算等の演算を実行するために動的命令セットを処理する。すなわち、ランタイムエンジンは、動的命令セット470を読み出し、かつ、このオペレーションコードに応答して、演算のシーケンスを実行する。動的命令セットは任意の特定の言語に限定されないが、オペレーションコードは、通常、マシンコードの形態であり、これは、無線デバイスメモリが限定され、実行速度が重要だからである。オペコードは、データアイテムを解析し、かつ、解析の結果として決定を下すという点で条件的であると考えられる。ランタイムエンジンは、さらに、解析される前に、データに関する演算が実行されることを決定し得る。
【0055】
例えば、オペレーションコードは、無線デバイスメモリからのデータが所定の値と比較されるように規定し得る。データアイテムが所定の値よりも小さい場合、データアイテムは、そのままにされ、データアイテムが所定の値よりも大きい場合、これは所定の値と置換される。あるいは、オペレーションコードは、上述の比較演算が実行される前に、第2の所定の値を無線デバイスメモリからのデータアイテムに追加し得る。
【0056】
上述のように、ファイルシステムセクション不揮発性メモリ110は、エアリンク150等のインターフェイスを通じて動的命令セットを受信する。図1に示されるように、インターフェイスは、さらに、無線周波数の(RF)ハードライン160であり得る。その後、PMRTIは、システムソフトウェアが工場での調整環境等のように動作状態ではなく、FSS110によって受信され得る。PMRTIは、さらに、論理ポートインターフェイス162、またはインストール可能メモリモジュール164を介して受信され得る。メモリモジュール164は、初期調整で無線デバイス104にインストールされるか、または工場での再調整中にインストールされ得る。特に記載はないが、PMRTIは、赤外線またはBluetoothインターフェイスを介して受信され得る。
【0057】
図8aおよび図8bは、ランタイムエンジン370によってアクセスされる命令を示す。図8aで示されるのは、第1の命令800、第2の命令802、およびj番目の命令804であるが、動的命令セットは任意の特定の数の命令に限定されない。各命令におけるオペレーションコードの長さは固定される。ランタイムエンジン370は、バイトまたはビットの測定のように、命令の長さをキャプチャし、命令がデータアイテムを含むか否かを決定する。オペレーションコードが減算された後の命令の残りの長さは、データアイテムを含む。ランタイムエンジンは命令からデータアイテムを抽出する。示されるように、第1の命令800の長さ806が測定され、かつデータアイテム808が抽出される。すべての命令が抽出されるべきデータアイテムを必ずしも含まないことに留意されたい。ランタイムエンジン370は、命令800におけるオペレーションコード810に応答する演算のシーケンスを実行する際に、この抽出されたデータ808を用いる。
【0058】
図8bは、図8の第1の命令800のより詳細な図である。第1の命令800を例として用いて、命令は、オペレーションコード810およびデータ808を含む。命令、および、より具体的には、データアイテムセクション808は、シンボル識別子を含み、これは、無線デバイスコードセクションにおけるシンボルへのリンクとして機能する。すでに詳細に説明されたように、シンボル識別子は、シンボル識別子に対応するシンボルを配置するために、コードセクションアドレステーブル326(図5を参照)およびシンボルオフセットアドレステーブル328(図7を参照)と共に用いられる。示されるように、シンボル識別子「X_1」は、第1の命令800において示される。シンボルオフセットアドレステーブル328は、「CS_1」識別子および「3」のオフセットを有するコードセクションにおいて対応するシンボルを配置する。コードセクションアドレステーブル326は、コードセクション1の開始アドレス(302)を与える。このようにして、シンボル「X」が見出される(図6を参照)。
【0059】
ランタイムエンジンが、コードセクションアドレステーブルおよびシンボルオフセットアドレステーブルを用いて、受信されたシンボル識別子に対応するシンボルを配置した後、これは、配置されたシンボルがデータアイテムである場合データを抽出する。例えば、シンボル「X」がシンボルライブラリ1(310)におけるデータアイテムである場合、ランタイムエンジンはこれを抽出する。あるいは、「X」シンボルは、オペレーションコードであり得、ランタイムエンジンは、これが配置されると、シンボル「X」を実行させる。
【0060】
PMRTIがシステムデータまたはシステムデータアイテムを更新するために用いられ得る。本発明のいくつかの局面において、システムデータが、ファイルシステムセクション110、例えば、コードセクション472におけるコードセクションに格納される(図4を参照)。ランタイムエンジンはコードセクション472からのシステムデータにアクセスし、かつ、このシステムデータを解析する。ランタイムエンジンは、上述のように、データアイテムに関する数学的、または論理的演算を実行するために、動的命令のオペレーションコードを処理する。演算の後、ランタイムエンジンは、更新されるシステムデータを生成する命令を処理する。更新されるシステムデータは、いくつかの状況において、変更されないデータアイテムを含み得ることに留意されたい。第2のコードセクション472におけるシステムデータは、オペレーションコードに応答して、更新されるシステムデータと置換される。従って、ランタイムエンジンによる命令の処理によって、システムソフトウェアは、コードセクション472における更新されたシステムデータを用いて実行するように制御される。このようにして、システムソフトウェアにおける、特定のターゲットとされたシンボルが更新され得るが、コードセクション全体は置換されない。同じプロセスによって、システムデータは、コード格納セクション112におけるコードセクションにおいて置換され得る。例えば、システムデータは、第3のコードセクション344に格納され得、ランタイムエンジンは、第3のコードセクションにおけるシステムデータを、オペレーションコードに応答して、更新されるシステムデータと置換し得る。
【0061】
PMRTIは、さらに、揮発性メモリ114内のデータを更新するために用いられ得る。1例として、揮発性メモリ114は、リード−ライトデータ330を受取る(図1を参照)。リード−ライトデータは、コード格納セクション112および/またはFSS110における1つまたは複数のコードセクションから出力され得る。ランタイムエンジンは、リード−ライトデータにアクセスし、リード−ライトデータ330を解析し、更新されるリード−ライトデータを生成し、かつ揮発性メモリ114におけるリード−ライトデータ330を、オペレーションコードに応答して、更新されるリード−ライトデータ330と置換する。その後、システムソフトウェアは、揮発性メモリ114内の更新されたリード−ライトデータを用いて実行するように制御される。
【0062】
本発明のいくつかの局面において、ランタイムエンジンは、システムソフトウェアの実行をモニタリングする。性能モニタリングは、多数の無線デバイスアクティビティを含むように広く規定される。例えば、チャネルパラメータ、チャネル特性、システムスタック、エラー状態、または、特定の故障状態または性能低下状態に至る演算のシーケンスを通じてのRAMにおけるデータアイテムのレコード等のデータが収集され得る。収集された性能データを解析するために動的命令セットを用い、更新されるデータの変形を提供し、かつ問題に対する可能な解決策を検討するためにデータを再キャプチャすることも可能である。PMRTIプロセスを用いて一次的な修理も提供され得る。
【0063】
より具体的には、ランタイムエンジンは性能データを収集し、かつ、オペレーションコードに応答して、性能データをファイルシステムセクションに格納する。その後、システムソフトウェアは、システムソフトウェアの評価のために性能データを収集することによって実行するように制御される。評価は、動的命令セットオペレーションコードによって実行される解析の形態として行われ得るか、または、評価は、無線デバイスの外部で実行され得る。本発明のいくつかの局面において、ランタイムエンジンは、ファイルシステムセクションから収集された性能データをアクセスし、かつ、オペレーションコードに応答して、エアリンクインターフェースを介して性能データを送信する。現場の無線デバイスから性能データを収集することによって、製造業者が、デバイスをリコールすることなく、地域的または地球規模で問題を徹底的に解析することが可能になる。
【0064】
本発明のいくつかの局面において、ファイルシステムセクション110は、新しいコードセクションを含むパッチマネージャランタイム命令を受信する。例えば、新しいコードセクション474は、図4に示される。あるいは、新しいコードセクションn(450)等の新しいコードセクションは、PMRTIに依存し得ない。例えば、新しいコードセクションn(450)は、以前のエアリンク通信で受信され得るか、または、工場調整中にインストールされ得る。ランタイムエンジンは、オペレーションコードに応答して、新しいコードセクション474(450)をコード格納セクションに追加する。本発明のいくつかの局面において、新しいコードセクションは、コード格納セクション112における未使用のブロックに追加される。あるいは、圧縮演算が必要とされる。その後、システムソフトウェアは、新しいコードセクション474(450)を用いて実行するように制御される。本発明の他の局面において、PMRTI454は、更新されたコードセクション474を含む。あるいは、新しいコードセクション450は、PMRTIに依存しない更新されたコードセクションである。ランタイムエンジンは、コード格納セクションにおけるコードセクション、例えば、コードセクション2(304)を、オペレーションコードに応答して、更新されるコードセクション474(450)と置換する。システムソフトウェアは、更新されたコードセクション474(450)を用いて実行するように制御される。本発明のいくつかの局面において、圧縮演算は、更新されるコードセクションを収容するために必要とされる。あるいは、更新されるコードセクションは、コード格納セクションの未使用または空のセクションに追加される。
【0065】
上述のように、新しいコードセクションの追加、またはコードセクションの更新は、通常、新しいコードセクションアドレステーブルの生成を必要とし、これは、これらの演算は、新しいおよび/または変更されたコードセクション開始アドレステーブルを含むからである。さらに、圧縮演算はまた、新しいコードセクションアドレステーブルを必要とする。圧縮演算は、上述の圧縮器342の演算の結果か、または、圧縮方法関する詳細を供給するPMRTI命令の結果であり得る。PMRTIがダウンロードおよび圧縮命令を含む場合、PMRTIは、通常、ダウンロードおよび圧縮が完了された後に有効になる新しいコードセクションアドレステーブルをさらに含む。
【0066】
図9は、無線通信デバイスにおけるシステムソフトウエアダウンロード動作を管理するための本発明のシステムを示す目的で提示された図1〜図8bの特徴を含む概略的ブロック図である。システム900は、図1のエアリンクインターフェース150と等価なエアリンクインターフェース902、および図1のメモリ108と等価な不揮発性メモリ永久格納装置904に格納されたコードセクションに分割された実行可能なシステムソフトウェアおよびシステムデータを含む。不揮発性永久格納装置904は、ファイルシステムセクション906およびコード格納セクション908を含む。
【0067】
システムソフトウェア更新のダウンロードを管理するための動的命令セット910は、エアリンクインターフェース902を介して受け取られる。動的命令セット910および新しいコードセクション912は、パッチマネージャランタイム命令914の一部である。典型的には、動的命令セット910は、ファイルシステムセクション906に格納される。ランタイムエンジンまたはランタイムライブラリ916は、動的命令セット910を処理する。上述のように、ランタイムライブラリ916は、典型的には、パッチマネージャコードセクション918の一部である。実行可能なシステムソフトウェアおよびシステムデータ(永久メモリ904におけるコードセクション)は、動的命令セット910の処理に応答して更新される。動的命令セット910は、復元ステータスモニタリング、バックアップ、圧縮、および更新オーダリングを含む群から選択された機能マネージャを含む。
【0068】
システム900は、更新ステータスを有する新しいコードセクション識別子を相互参照する復元ステータステーブル920をさらに含む。復元ステータステーブル920は、ファイルシステムセクション906における別個のコードセクションとして示される。本発明のいくつかの局面では、システム900がオンにされる場合、復元ステータステーブル920は、揮発性メモリ922にロードされる。テーブル920は、揮発性メモリ922において更新され、システムがオフにされる場合、永久メモリ904で復元される。
【0069】
図10は、動的命令セットの復元ステータスモニタリングマネージャ1000の局面を特徴とする図9のシステム900の概略的ブロック図である。動的命令セット復元ステータスモニタリングマネージャ(以後、復元ステータスモニタリングマネージャ1000と呼ぶ)は、無線通信デバイスの再起動に応答して、復元ステータステーブル(破線矢印「1」)を読み出して、新しいコードセクションが永久格納装置に格納されたかどうかを判断する。
【0070】
図11は、図9の例示的な復元ステータステーブル920を示す図である。テーブル920は、CS_1およびCS_2として識別されたコードセクションが、ファイルシステムセクション906からコード格納セクション908に首尾よく移動されることを示す。しかし、テーブルは、CS_nとして識別されたコードセクションが首尾よく格納されたかどうかが未知であることを示す。例えば、ユーザは、格納動作が完了するか、または無線デバイスバッテリがなくなる前に、無線デバイスをオフにし得る。
【0071】
図10に戻ると、復元ステータスモニタリングマネージャ1000は、新しいコードセクションが格納されなかった場合、永久格納装置に新しいコードセクションを格納し、新しいコードセクションが格納された場合、復元ステータステーブルを更新する。例えば、復元ステータスモニタリングマネージャ1000は、コード格納セクション908にCS_n(1002)を格納し(破線矢印「2」)、次いで、復元ステータステーブルを更新することにより、CS_nステータスが「ロード」されたように変化される。なお、上記パッチマネージャ機能が、典型的には、ファイルシステムセクション906からコード格納セクションへ908へのコードセクションの移動の際に使用される。
【0072】
本発明のいくつかの局面では、復元ステータスモニタリングマネージャ1000は、各新しいコードセクションを格納することに関連したリスクをさらに決定し、新しいコードセクションを格納するリスクが高い場合、安全措置を取る。例えば、復元ステータスモニタリングマネージャ1000は、新しいコード格納プロセスを完了するのに十分な電力のバッテリを検査し、ユーザ始動パワーダウンの検証の促進を使用して、ハイリスクコード格納動作をユーザに警告し、ユーザ始動パワーダウンを回避する等の安全措置を取る。図11にしばらく戻ると、リスクファクタは、復元ステータステーブルにおけるカラムとして提示される。
【0073】
いくつかのコードセクションの格納は、システムソフトウェアにおけるキーコードと更新されたコードセクションとの交換を含む。例えば、ファイルシステムセクション906は、再起動コードセクション、パッチマネージャコードセクション、コードセクションアドレステーブル、シンボルオフセットアドレステーブル、リードライトデータ、およびシンボルアクセサコードアドレス(図示しない)等の新しいコードセクションを受け取り得る。これらのコードセクションの不完全な格納は、無線デバイスがオンにすることに応じて完全に非動作的であることを生じる。すなわち、無線デバイスは、サービスセンタにおいて再プログラミングするために戻される必要がある。従って、復元ステータスステータスモニタリングマネージャ1000は、ファイルシステムセクションにおけるこれらのコードセクションの各々を格納することに関連したリスクを決定し、それに従って安全措置を取る。
【0074】
ファイルシステムセクションは、潜在的に、新しいパッチマネージャコードセクション(例えばCS_n(1002))を含むパッチマネージャランタイム命令を受け取り得る。上記のように、パッチマネージャコードセクションは、ファイルシステムセクション906におけるコードセクション(典型的にはコード格納セクション908)を永久格納装置に移動するためのパッチライブラリを含む。本発明のいくつかの局面では、復元ステータスモニタリングマネージャ1000は、ファイルシステムセクション906における予備のパッチライブラリ1004を保守する。復元ステータスモニタリングマネージャ1000は、復元ステータステーブル920を読み出して、無線通信デバイスの再起動に応答して、新しいパッチマネージャコードセクションがコード格納セクションに首尾よく格納されたかどうかを判断する。新しいパッチマネージャコードセクション1002がコード格納セクションに首尾よく格納されなかった場合、予備のパッチライブラリ1004が使用されて、ファイルシステムセクション906からコード格納セクション908に新しいパッチマネージャコードセクション1002を移動させるために使用される。すなわち、新しいパッチマネージャコードセクション1002は、システムソフトウェア動作のために使用され得る。予備のパッチライブラリ1004なしでは、無線デバイスは、新しいパッチマネージャコードセクションの不完全な格納から復元することは不可能である。
【0075】
図12は、動的命令セットの動的命令セットバックアップマネージャ1200の局面を特徴とする図9のシステム900の概略的ブロック図である。動的命令セットバックアップマネージャは、以後、バックアップマネージャ1200と呼ぶ。タイトルが提示するように、バックアップマネージャは、システムソフトウェアと非動作的であるコードセクションと置換されたコードセクションまたはシステムデータを復元するためのシステムを提供する。例えば、ファイルシステムセクション906は、更新された第1のコードセクションを受け取って、コード格納セクション908における第1のコードセクション1204を置換する。バックアップマネージャ1200は、典型的には、パッチマネージャセクション1206からのライブラリを使用して、コード格納セクション908からパッチマネージャコードセクション906(破線「1」を参照)に第1のコードセクション1204を移動させる。パッチマネージャコードセクション1206からのライブラリを使用して、更新されたコードセクション1202は、ファイルシステムセクション906からコード格納セクション908(破線「2」を参照)に移動される。バックアップマネージャ1200は、コード格納セクション908における更新された第1のコードセクション1202は、所定の制約内部でシステムソフトウェアと共に動作するかどうかを決定する。更新された第1のコードセクション1202が所定の制約内部でシステムソフトウェアと共に動作しないことが決定される場合、バックアップマネージャ1200は、コード格納セクション908における更新された第1のコードセクション1202を、ファイルシステムセクション906からの第1のコードセクション1204と置換する。
【0076】
本発明のいくつかの局面では、ファイルシステムセクション906は、所定の制約によってテストコードセクション1208を受け取る。バックアップマネージャ1200は、コード格納セクション908における更新された第1のコードセクション1202が、更新されたコードセクションによってテストコードセクションを実行することによって所定の制約の範囲内でシステムソフトウェアと共に動作するかどうかを決定する。バックアップマネージャは、テストコードセクション1208の実行の結果を記録し、記録された結果を所定の制約と比較する。本発明の他の局面では、ファイルシステムセクション906は、テストコードライブラリを有する更新されたコードセクション1202を受け取る。次いで、バックアップマネージャ1200は、更新されたコードセクションからのテストコードライブラリを実行する。すなわち、別個のテストコードセクションは、パッチマネージャランタイム命令の一部として必要とされない。
【0077】
ファイルシステムセクション906は、エアリンクインターフェース(図9の902を参照)、ユーザ操作キーボードインターフェース(図示せず)、テストポートインターフェース(論理ポート、シリアルポート、またはRFポート)、そしてさらにメモリモジュール等の種々のソースからのテストコードセクションを受け取り得る。
【0078】
図13は、動的命令セットの動的命令圧縮マネージャ1300を特徴とする図9のシステム900の概略的ブロック図である。上述のように、圧縮マネージャは、新しいコードセクションに適応するか、または置換されるべきコードセクション1302よりも大きい更新されたコードセクションに適応するように、コード格納セクション内のコードセクションを操作することを担う。例えば、ファイルシステムセクション906は、更新されたコードセクションサイズを有する更新された第1のコードセクション1302を受け取って、更新された第1のコードセクションサイズよりも小さい第1のサイズを有する第1のコードセクション1304を置換する。圧縮マネージャ1300は、パッチマネージャコード1308における圧縮ライブラリ1306にアクセスし、第1のコード格納セクション908におけるコードセクションを大きさ調整して、更新された第1のコードセクション1302に適応される。
【0079】
復元ステータスモニタリングマネージャに関して、圧縮マネージャ1300は、コード各能セクションにおけるコードセクションの圧縮に関連したリスクを決定し、圧縮コードセクションのリスクが高い場合、安全措置を取る。例えば、無線デバイスが不適切なまたは未完了の圧縮動作から復元できないかもしれない場合、パッチマネージャコードセクションの圧縮またはシステムソフトウェアの他の重要な部分が危険である。圧縮マネージャ1300は、新しいコードセクションプロセスを完了するのに十分な電力のバッテリを検査すること、ユーザ始動パワーダウンの検証の促進を使用してハイリスクコード格納動作をユーザに警告すること、およびユーザ始動パワーダウンを回避すること等の安全策を取る。
【0080】
図14は、動的命令セットの動的命令セットの更新オーダリングマネージャ1400を特徴とする図9のシステム900の概略的ブロック図である。複数の新しいまたは更新されたコードセクションが格納される場合、更新されたオーダリングマネージャ1400は、格納のオーダを決定する。例えば、ファイルシステムマネージャ906は、第1の新しいコードセクション1402、第2の新しいコードセクション1404、および第3の新しいコードセクション1406といった複数の新しいコードセクションを有する更新オーダリング動的命令セットまたは更新オーダリングマネージャ1400を受け取る。更新オーダリングマネージャ1400は、ファイルシステム格納906からコード格納セクション908にオーダリング命令1400によって示された順序で新しいコードセクション1402〜1406を移動させる。
【0081】
示されたように、第2の新しいコードセクション1404が最初に移動され(破線「1」)、第1の新しいコードセクション1402が2番目に移動され(破線「2」)、第3の新しいコードセクション1406が3番目に移動される(破線「3」)。移動および格納動作は、パッチマネージャコードセクション1408からのライブラリの支援によって達成される。本発明のいくつかの局面では、オーダリングマネージャ1400は、各新しいコードセクション1402〜1406の格納に関連したリスクを決定し、より低いリスク格納セクションの後に移動されるべきハイリスクコードセクションをオーダリングする。本例では、更新オーダリングマネージャ1400は、第3の新しいコードセクション1406が格納するのに最も危険であることを決定する。
【0082】
図15aおよび図15bは、無線通信デバイスにおける動的命令セットを実行するための本発明の方法を示すフローチャートである。明瞭にするために、一連の番号付けされたステップとして示されるが、明示的に示さない限り、番号付け(本方法における番号付け該かに示される)から推論される。本方法はステップ1500で開始する。ステップ1501aは、システムソフトウェアをシンボルライブラリに形成し、各シンボルライブラリは、関連した機能性を有するシンボルを含む。ステップ1501bは、シンボルライブラリをコードセクションに配置する。ステップ1502は、システムソフトウェアを実行する。ステップ1503は、ランタイムエンジンを起動する。典型的には、ランタイムエンジンを起動するステップは、第1のコードセクションからランタイムライブラリを呼び出すステップを包含する。ランタイムエンジンは、揮発性または不揮発性メモリから起動され得る。ステップ1503の後のステップ1504は、動的命令セットを受け取る。ステップ1504において動的命令セットを受け取るステップは、エアリンク、無線周波数(RF)ハードライン、インストール可能なメモリモジュール、赤外線、および論理ポートインターフェースを含む群から選択されたインターフェースを介して動的命令セットを受け取るステップを包含する。本発明のいくつかの局面では、ステップ1504において動的命令セットを受け取るステップは、ファイルステップステムセクション不揮発性メモリにおけるパッチマネージャランタイム命令(PMRTI)を受け取るステップを包含する。
【0083】
ステップ1506は、動的命令セットを処理する。動的命令セットを処理するステップは、数学的および論理演算に応答して命令を処理するステップを包含する。本発明のいくつかの局面では、動的命令セットの処理の後のステップ1507(図示せず)は、動的命令セットを削除する。ステップ1508は、システムデータおよびシステムソフトウェア上で動作する。システムデータおよびシステムソフトウェア上の動作に応答して、ステップ1510は、システムソフトウェアの実行を制御する。
【0084】
典型的には、ステップ1504におけるパッチマネージャランタイム命令を受け取るステップは、条件動作コードおよびデータアイテムを受け取るステップを包含する。次いで、ステップ1506において動的命令を処理するステップは、サブステップを包含する。ステップ1506a1は、ランタイムエンジンを使用して、パッチマネージャランタイム命令動作コードを読み出す。ステップ1506bは、動作コードに応答して一連の動作を実行する。
【0085】
いくつかの局面では、ステップ1501bにおけるシンボルライブラリをコードセクションに配置するステップは、コードセクションの開始時にシンボルライブラリを開始するステップおよびシンボルを配置して、各コードセクション開始アドレスからのオフセットするステップを包含する。次いで、本方法は、さらなるステップを包含する。ステップ1501cは、対応する開始アドレスにおいてコードセクションの開始を格納する。ステップ1501dは、対応する開始アドレスを有するコードセクション識別子を相互参照するコードセクションアドレステーブル(CSAT)を保守する。ステップ1501eは、対応するオフセットアドレスを有するシンボル識別子を相互参照し、コードセクション識別子に対応するシンボルオフセットアドレステーブル(SOAT)を保守する。
【0086】
本発明のいくつかの局面では、ステップ1504におけるパッチマネージャラインタイム命令を受け取るステップは、シンボル識別子を受け取るステップを包含する。次いで、本方法は、さらなるステップを包含する。ステップ1506a2は、コードセクションアドレステーブルおよびシンボルオフセットアドレステーブルを用いることによって受け取られたシンボル識別子に対応するシンボルを位置付ける。ステップ1506bにおける動作コードに応答して一連の動作を実行するステップは、サブステップを包含する。ステップ1506b1は、位置付けられたシンボルがデータアイテムである場合、データを抽出する。ステップ1506b2は、位置付けられたシンボルが命令である場合、シンボルを実行する。
【0087】
本発明のいくつかの局面では、ステップ15061bにおける動的命令セットを処理するステップは、さらなるサブステップを包含する。ステップ1506b1aは、ランタイムエンジンを使用して、パッチマネージャランタイムセクションの長さをキャプチャする。ステップ1506b1bは、動作コードに応答してパッチマネージャランタイム命令からデータアイテムを抽出する。ステップ1506b1cは、動作コードに応答して動作のシーケンスを実行する際に抽出されたデータを使用する。
【0088】
図16は、例示的な動的命令セット動作を示すフローチャートである。図16におけるステップのいくつかは、図15におけるステップと同じであり、明瞭の意図においてここでは繰り返されない。ステップ1606において動的命令セットを処理するステップは、サブステップを包含する。ステップ1606aは、ファイルシステムセクションにおける第2のコードセクションに格納されたシステムデータにアクセスする。ステップ1606bは、システムデータを解析する。ステップ1606cは、更新されたシステムデータを作成する。次いで、ステップ1608においてシステムデータおよびシステムソフトウェア上で動作させるステップは、第2のセクションにおけるシステムデータを更新されたシステムデータと置換するステップを包含し、ステップ1610においてシステムソフトウェアの実行を制御するステップは、システムソフトウェアの実行において更新されたシステムデータを使用するステップを包含する。
【0089】
図17は、別の例示的動的命令セット動作を示すフローチャートである。図17におけるステップのいくつかは、図15におけるステップと同じであり、明瞭の意図においてここでは繰り返されない。ステップ1701cは、コード格納セクション不揮発性メモリに複数のコードセクションを格納する。ステップ1706において動的命令セットを処理するステップは、サブステップを包含する。ステップ1706aは、コード格納セクション(CSS)における第3のコードセクションに格納されたシステムデータにアクセスする。ステップ1706bは、システムデータを解析する。ステップ1706cは、更新されたシステムデータを作成する。ステップ1708においてシステムデータおよびシステムソフトウェア上で動作させるステップは、第3のコードセクションにおけるシステムデータを更新されたシステムデータと置換するステップを包含する。ステップ1710においてシステムソフトウェアの実行を制御するステップは、システムソフトウェアの実行において更新されたシステムデータを使用するステップを包含する。
【0090】
図18は、第3の例示的動的命令セット動作を示すフローチャートである。図18におけるステップのいくつかは、図15におけるステップと同じであり、明瞭の意図においてここでは繰り返されない。ステップ1801cは、コード格納セクション不揮発性メモリに複数のコードセクションを格納する。ステップ1801dは、揮発性メモリにリード−ライトデータをロードする。ステップ1806において動的命令セットを処理するステップは、サブステップを包含する。ステップ1806aは、揮発性メモリにおけるリード−ライトデータにアクセスする。ステップ1806bは、リード−ライトデータを解析する。ステップ1806cは、更新されたリード−ライトデータを作成する。ステップ1808においてシステムデータおよびシステムソフトウェア上で動作させるステップは、揮発性メモリにおけるリード−ライトデータを更新されたリード−ライトデータと置換するステップを包含する。ステップ1810においてシステムソフトウェアの実行を制御するステップは、システムソフトウェアの実行において更新されたリード−ライトデータを使用するステップを包含する。
【0091】
図19は、第4の例示的動的命令セット動作を示すフローチャートである。図19におけるステップのいくつかは、図15におけるステップと同じであり、明瞭の意図においてここでは繰り返されない。動的命令セットを処理するステップは、サブステップを包含する。動作コードに応答するステップ1906aは、システムソフトウェアの実行をモニタリングする。ステップ1906bは、性能データを収集する。ステップ1906cは、性能データを格納する。ステップ1906dは、エアリンクインターフェースを介して格納されたデータを転送する。ステップ1908においてシステムデータおよびシステムソフトウェア上で動作させるステップは、システムソフトウェアの評価において性能データを使用するステップを包含する。ステップ19010は、システムソフトウェアの実行を制御する。
【0092】
図20は、第5の例示的動的命令セット動作を示すフローチャートである。図20におけるステップのいくつかは、図15におけるステップと同じであり、明瞭の意図においてここでは繰り返されない。ステップ2001cは、コード格納セクション不揮発性メモリに複数のコードセクションを格納する。ステップ2003においてパッチマネージャランタイム命令を受け取るステップは、新しいコードセクションを受け取るステップを包含する。ステップ2008におけるシステムデータおよびシステムソフトウェア上で動作させるステップは、新しいコードセクションをコード格納セクションに追加するステップを包含し、ステップ2010においてシステムソフトウェアの実行を制御するステップは、システムソフトウェアの実行において新しいコードセクションを使用するステップを包含する。
【0093】
あるいは、ステップ2003において新しいコードセクションを受け取るステップは、更新されたコードセクションを受け取るステップを包含する。次いで、ステップ2008におけるシステムデータおよびシステムソフトウェア上で動作させるステップは、コード格納セクションにおける第4のコードセクションを更新されたコードセクションと置換するステップを包含する。
【0094】
図21は、無線通信デバイスにおいてシステムソフトウエアダウンロードを管理するための本発明の方法を示すフローチャートである。本方法は、ステップ2100で開始する。ステップ2102は、システムソフトウェアをシンボルライブラリに形成し、各シンボルライブラリは、機能性に関連したシンボルを含む。ステップ2104は、シンボルライブラリを不揮発性メモリのコード格納セクションに格納されたコードセクションに配置する。ステップ2106は、システムソフトウェアを実行する。ステップ2108は、ランタイムエンジンを起動する。ステップ2110は、ファイルシステムセクション(FSS)不揮発性メモリにおけるパッチマネージャランタイム命令(PMRTI)を受け取り、パッチマネージャランタイム命令は、動的命令セットおよび新しいコードセクションを含む。ステップ2112は、動的命令セットを処理する。動的命令セットの処理に応答して、ステップ2114は、エアリンクインターフェースを介して受け取られたシステムソフトウェア更新のダウンロードを管理する。ステップ2116は、更新されたシステムソフトウェアを実行する。
【0095】
ステップ2114におけるエアリンクインターフェースを介してシステムソフトウェア更新のダウンロードを管理するステップは、復元ステータスモニタリング、バックアップ、圧縮、および更新オーダリングを含む群から選択された動的命令セット管理機能を処理するステップを包含する。
【0096】
図22は、本発明の局面をモニタリングする復元ステータスを強調する図21のさらなる細部を示すフローチャートである。ステップ2112において動的命令セットを処理するステップは、サブステップを包含する。ステップ2200は、その更新ステータスを有する新しいコードセクション識別子を相互参照する復元ステータステーブルを保守する。無線通信デバイスの再起動に応答して、ステップ2202は復元ステータステーブルを読み出して新しいコードセクションが永久可能装置に格納されたかどうかを決定する。新しいコードセクションが格納されなかった場合、永久格納装置に新しいコードセクションを格納する。新しいコードセクションが格納された場合、ステップ2206は、復元ステータステーブルを更新する。
【0097】
本発明のいくつかの局面は、さらなるステップを包含する。ステップ2202aは、新しいコードセクションを格納するリスクが高い場合、安全措置を取る。ステップ2202bにおいて安全措置を取るステップは、新しいコードセクションプロセスを完了するのに十分な電力のバッテリを検査すること、ユーザ始動パワーダウンの検証の促進を使用してハイリスクコード格納動作をユーザに警告すること、およびユーザ始動パワーダウンを回避することの群から選択された安全策を取るステップを包含する。
【0098】
ステップ2202aにおいて各コードセクションを格納することに関連したリスクを決定するステップは、再起動コードセクション、パッチマネージャコードセクション、コードセクションアドレステーブル、シンボルオフセットアドレステーブル、リード−ライトデータ、およびシンボルアクセサコードアドレスを含む群から選択された新しいコードセクションに関連したリスクを決定するステップを包含する。
【0099】
本発明のいくつかの局面では、システムソフトウェアをシンボルライブラリに形成するステップ(図21のステップ2101を参照)は、ファイルシステムセクションにおけるコードセクションを永久格納装置に移動するためのパッチライブラリを有するコードセクションを形成するステップを包含する。ファイルシステムセクション不揮発性メモリにおけるパッチマネージャランタイム命令を受け取るステップ(図21のステップ2110)は、新しいパッチマネージャコードセクションを受け取るステップを包含する。次いで、復元ステータスモニタリング動的命令セットを処理するステップは、さらなるサブステップを包含する。ステップ2202cは、ファイルシステムセクションにおける予備のパッチライブラリを保守する。ステップ2202は、復元ステータステーブルを読み出して、無線通信デバイスの再起動に応答して、新しいパッチマネージャコードセクションがコード格納セクションに首尾よく格納されたかどうかを決定する。ステップ2202dは、予備のパッチライブラリを使用して、新しいパッチマネージャコードセクションが、コード格納セクションに首尾よく格納されなかった場合、新しいパッチマネージャコードセクションをファイルセクションからコード格納セクションに移動する。
【0100】
図23は、本発明のバックアップ局面を強調する図21のさらなる詳細を示すフローチャートである。新しいコードセクション(図21のステップ2110を参照)を受信するステップは、コード格納セクションにおける第1のコードセクションを置換するように更新された第1のコードセクションを受け取るステップを包含する。次いで、ステップ2112におけるバックアップ管理動的命令セットを処理するステップはサブステップを包含する。ステップ2300は、コード格納セクションからファイルシステムセクションに第1のコードセクションを移動し、ステップ2302は、コード格納セクションにおける更新された第1のコードセクションが所定の制約内部でシステムソフトウェアによって動作するかどうかを決定する。ステップ2304は、更新された第1のコードセクションが所定の制約内でシステムソフトウェアによって動作しないことが決定される場合、コード格納セクションにおける更新された第1のコードセクションをファイルシステムセクションからの第1のコードセクションと置換する。
【0101】
本発明のいくつかの局面では、新しいコードセクション(図21のステップ2110)を受け取るステップは、所定の制約を有するテストコードセクションを受け取るステップを包含する。次いで、コード格納セクションにおける更新された第1のコードセクションが、ステップ2302において所定の制約の範囲内でシステムソフトウェアによって動作するかどうかを決定するステップは、サブステップを包含する。ステップ2302aは、更新されたコードセクションを有するテストコードセクションを実行する。ステップ2302bは、テストコードセクションを実行する結果を記録する。ステップ2302cは、記録された結果を所定の制約と比較する。
【0102】
いくつかの局面では、新しいコードセクションを受け取るステップ(図21のステップ2110)は、テストコードライブラリを有する更新されたコードセクションを受け取るステップを包含する。次いで、コード格納セクションにおける更新された第1のコードセクションは、ステップ2302において所定の制約の範囲内でシステムソフトウェアによって動作するかどうかを決定するステップは、更新されたコードセクションからのテストコードライブラリを実行するステップを包含する。新しいコードセクション(図21のステップ2110)を受け取るステップは、エアリンクインターフェース、ユーザ動作キーボードインターフェース、およびテストポートインターフェースを含む群から選択されたソースからの所定の制約を有するテストコードセクションを受け取るステップを包含する。
【0103】
図24は、本発明の圧縮局面を強調する図21のさらなる詳細を示すフローチャートである。新しいコードセクションを受け取るステップ(図21、ステップ2110)は、更新されたコードセクションサイズを有する更新された第1のコードセクションを受信するステップを包含し、更新された第1のコードセクションサイズよりも小さい第1のサイズを有する第1のコードセクションを置換する。ステップ2112における圧縮管理動的命令セットを処理するステップはサブステップを包含する。ステップ2400は、パッチマネージャコードセクションにおける圧縮ライブラリにアクセスする。ステップ2402は、更新された第1のコードセクションに適応するように、コード格納セクションにおけるコードセクションをサイズ変更する。
【0104】
本発明のいくつかの局面では、さらなるステップ(ステップ2400a)は、コード格納セクションにおけるコードセクションの圧縮に関連したリスクを決定する。圧縮コードセクションのリスクが高い場合、ステップ2400bは安全措置を取る。ステップ2400bにおける安全措置を取るステップは、前記新しいコードセクションプロセスを完了するのに十分な電力のバッテリを検査すること、ユーザ始動パワーダウンの検証の促進を使用してハイリスクコード格納動作をユーザに警告すること、およびユーザ始動パワーダウンを回避することの群から選択された安全措置を取るステップを包含する。
【0105】
図25は、本発明の更新オーダリング局面を強調する図21のさらなる詳細を示すフローチャートである。動的命令セットを受け取るステップ(図21のステップ2110)は、更新オーダリング命令を受け取るステップを包含し、新しいコードセクションを受け取るステップは、複数のコードセクションを受け取るステップを包含する。ステップ2112における更新オーダリング管理動的命令セットを処理するステップは、ファイルシステム格納からオーダリング命令によって示されたオーダでコード格納セクションに新しいコードセクションを移動するステップを包含する。
【0106】
本発明のいくつかの局面では、ステップ2112において更新オーダリング動的命令セットを処理するステップは、サブステップを包含する。ステップ2500は、各新しいコードセクションの格納に関連するリスクを決定する。ステップ2502は、より低いリスク格納セクションの後に移動されるハイリスクコードセクションをオーダリングする。
【0107】
無線通信デバイスにおける動的命令セットを実行するためのシステムおよび方法が提供され、ソフトウエアアップグレードのダウンロードを管理するプロセスを支援する。コードセクションにおけるシンボルライブラリの構成のために、システムは容易にアップデート可能である。その構成は、メモリ内にコードセクションの開始アドレスおよびシンボルライブラリ内のシンボルのオフセットアドレスにアクセスするためのテーブルを有する。動的命令セット上での使用は、そのデバイスの特定の特性に基づいて、カスタム改変が各無線デバイスに対して実行されることを可能にする。動的命令セットに対する可能な使用を示す数個の一般的な例が与えられてきた。しかし、本発明は、これらの例のみに限定されない。本発明の他の改変および実施形態が当業者に想起される。
【図面の簡単な説明】
【0108】
【図1】図1は、無線デバイスソフトウェアメンテナンスシステム全体の概略的なブロック図である。
【図2】図2は、エアリンクインターフェースを介して命令セットのインストールをハイライトする、ソフトウェアメンテナンスシステムの概略的なブロック図である。
【図3】図3は、無線通信デバイスにおける動的な命令セットを実行するための本発明のシステムを示す概略的ブロック図である。
【図4】図4は、無線デバイスメモリの概略的ブロック図である。
【図5】図5は、図3のコードセクションアドレステーブルを示すテーブルである。
【図6】図6は、シンボルを有する、図3のシンボルライブラリの詳細な図である。
【図7】図7は、図3のシンボルオフセットアドレステーブルを示すテーブルである。
【図8a】図8aは、ランタイムエンジンによってアクセスされる動作コード(op−code)の図である。
【図8b】図8bは、ランタイムエンジンによってアクセスされる動作コード(op−code)の図である。
【図9】図9は、無線通信デバイスにおいてシステムソフトウエアダウンロード動作を管理するための本発明のシステムを示す目的のために提示された図1〜8bの特徴を含む概略的ブロック図である。
【図10】図10は、動的命令のセットのマネージャ局面をモニタリングする動的命令セット復元ステータスを特徴とする図9のシステムの概略的ブロック図である。
【図11】図11は、図9の例示的な復元ステータステーブルを示す図である。
【図12】図12は、動的命令セットの動的命令設定バックアップマネージャ局面を特徴とする図9のシステムの概略的ブロック図である。
【図13】図13は、動的命令セットの動的命令圧縮マネージャを特徴とする図9のシステムの概略的ブロック図である。
【図14】図14は、動的命令セットの動的命令設定更新オーダリングマネージャ局面を特徴とする図9のシステムの概略的ブロック図である。
【図15a】図15aは、無線通信デバイスにおける動的命令セットを実行するための本発明の方法を示すフローチャートである。
【図15b】図15bは、無線通信デバイスにおける動的命令セットを実行するための本発明の方法を示すフローチャートである。
【図16】図16は、例示的な動的命令セット動作を示すフローチャートである。
【図17】図17は、別の例示的な動的命令セット動作を示すフローチャートである。
【図18】図18は、第3の例示的な動的命令セット動作を示すフローチャートである。
【図19】図19は、第4の例示的な動的命令セット動作を示すフローチャートである。
【図20】図20は、第5の例示的な動的命令セット動作を示すフローチャートである。
【図21】図21は、無線通信デバイスにおけるシステムソフトウエアダウンロード動作を管理するための本発明の方法を示すフローチャートである。
【図22】図22は、本発明の復元ステータスモニタリング局面を強調する図21のさらなる細部を示すフローチャートである。
【図23】図23は、本発明のバックアップ局面を強調する図21のさらなる細部を示すフローチャートである。
【図24】図24は、本発明の圧縮局面を強調する図21のさらなる細部を示すフローチャートである。
【図25】図25は、本発明のオーダリング局面を強調する図21のさらなる細部を示すフローチャートである。

Claims (38)

  1. 無線通信デバイスにおいてシステムソフトウエアダウンロード動作を管理するための方法であって、
    システムソフトウェアを実行するステップと、
    動的命令セットを処理するステップと、
    ランタイムエンジンを起動するステップと、
    動的命令セットの処理に応答して、エアリンクインターフェースを介して受け取られたシステムソフトウェア更新のダウンロードを管理するステップと、
    を包含する、方法。
  2. 更新されたシステムソフトウェアを実行するステップをさらに包含する、請求項1に記載の方法。
  3. 前記システムソフトウェアをシンボルライブラリに形成するステップであって、各シンボルライブラリは、関連した機能性を有するシンボルを含む、ステップと、
    該シンボルライブラリを、不揮発性メモリのコード格納セクションに格納されたコードセクションに配置するステップと、
    ファイルシステムセクション(FSS)不揮発性メモリにおけるパッチマネージャランタイム命令(PMRTI)を受け取るステップであって、該パッチマネージャランタイム命令は、動的命令セットおよび新しいコードセクションを含む、ステップと
    をさらに包含する、請求項1に記載の方法。
  4. エアリンクインターフェースを介して受け取られたシステムソフトウェア更新のダウンロードを管理するステップは、復元ステータスモニタリング、バックアップ、圧縮、および更新オーダリングを含む群から選択された動的命令セット管理機能を処理するステップを包含する、請求項3に記載の方法。
  5. 復元ステータスモニタリング動的命令セットを処理するステップは、
    その更新状態を有する新しいコードセクション識別子を相互参照する復元ステータステーブルを保守するステップと、
    前記無線通信デバイスの再起動に応答して、該復元ステータステーブルを読み出し、新しいコードセクションが永久格納装置に格納されたかどうかを決定するステップと、
    該新しいコードセクションが格納されない場合、永久格納装置に該新しいコードセクションを格納するステップと、
    該新しいコードセクションが格納された場合、該復元ステータステーブルを更新するステップと
    を包含する、請求項4に記載の方法。
  6. 復元ステータスモニタリング動的命令セットを処理するステップは、
    各新しいコードセクションを格納するステップに関連したリスクを決定するステップと、
    該新しいコードセクションのリスクが高い場合、安全措置を取るステップと、
    をさらに包含する、請求項5に記載の方法。
  7. 安全措置を取るステップは、前記新しいコード格納プロセスを完了するのに十分な電力のバッテリを検査するステップ、ハイリスクコード格納動作の前記ユーザに警告するステップと、ユーザ始動パワーダウンの検証の促進を使用するステップと、ユーザ始動パワーダウンを回避するステップの群から選択された安全措置を取るステップを包含する、請求項6に記載の方法。
  8. 前記各新しいコードセクションを格納することに関連したリスクを決定するステップは、起動コードセクション、パッチマネージャコードセクション、コードセクションアドレステーブル、シンボルオフセットアドレステーブル、リード−ライトデータ、およびシンボルアクセサコードアドレスを含む群から選択された新しいコードセクションに関連付けられた該リスクを決定するステップを包含する、請求項7に記載の方法。
  9. 前記システムソフトウェアをシンボルライブラリに形成するステップは、前記ファイルシステムセクションにおけるコードセクションを永久格納装置に移動させるためのパッチライブラリを有するパッチマネージャコードセクションを形成するステップを包含し、
    ファイルシステムセクション不揮発性メモリにおいて該パッチマネージャランタイム命令を受け取るステップは、新しいパッチマネージャコードセクションを受け取るステップを包含し、
    復元ステータスモニタリング動的命令セットを処理するステップは、
    該ファイルシステムセクションにおいて予備のパッチライブラリを保守するステップと、
    前記無線通信デバイスの再起動に応答して、該復元ステータステーブルを読み出して、該新しいパッチマネージャコードセクションが該コード格納セクションに首尾よく格納されたかどうかを決定するステップと、
    該新しいパッチマネージャコードセクションが該コード格納セクションに首尾よく格納されなかった場合、該ファイルシステムセクションからコード格納セクションに該新しいパッチマネージャコードセクションを移動させるように該予備のパッチライブラリを使用するステップと
    をさらに包含する、請求項8に記載の方法。
  10. 新しいコードセクションを受け取るステップは、前記コード格納セクションにおいて第1のコードセクションを置換するために更新された第1のコードセクションを受け取るステップを包含し、
    バックアップ管理動的命令セットを処理するステップは、
    該コード格納セクションから前記ファイルシステムセクションに該第1のコードセクションを移動させるステップと、
    該コード格納セクションにおける更新された第1のコードセクションが、所定の制約内部のシステムソフトウェアと共に動作するかどうかを決定するステップと、
    該更新された第1のコードセクションが、該所定の制約の範囲内でシステムソフトウェアを用いて動作しないことを決定する場合、該コード格納セクションにおける該更新された第1のコードセクションを、該ファイルシステムセクションからの該第1のコードセクションと置換するステップと
    を包含する、請求項4に記載の方法。
  11. 新しいコードセクションを受け取るステップは、所定の制約を有するテストコードセクションを受け取るステップを包含し、
    前記コード格納セクションにおける前記更新された第1のコードセクションが所定の制約の範囲内で前記システムソフトウェアを用いて動作するかどうかを決定するステップは、
    該更新されたコードセクションを有するテストコードセクションを実行するステップと、
    該テストコードセクションを実行する結果を記録するステップと、
    該記録された結果を該所定の制約と比較するステップと
    を包含する、請求項10に記載の方法。
  12. 新しいコードセクションを受け取るステップは、テストコードライブラリを有する更新されたコードセクションを受け取るステップを包含し、
    前記コード格納セクションにおける前記更新された第1のコードセクションが所定の制約の範囲内で前記システムソフトウェアを用いて動作するかどうかを決定するステップは、該更新されたコードセクションからの該テストコードライブラリを実行するステップを包含する、請求項11に記載の方法。
  13. 新しいコードセクションを受け取るステップは、エアリンクインターフェース、ユーザ動作キーボードインターフェース、およびテストポートインターフェースを含む群から選択されたソースからの所定の制約を有するテストコードセクションを受け取るステップを包含する、請求項11に記載の方法。
  14. 新しいコードセクションを受け取るステップは、更新された第1のコードセクションサイズよりも小さい第1のサイズを有する第1のコードセクションを置換するように、更新されたコードセクションサイズを有する該更新された第1のコードセクションを受け取るステップを包含し、
    圧縮管理動的命令セットを処理するステップは、
    パッチマネージャコードセクションにおける圧縮ライブラリにアクセスするステップと、
    該更新された第1のコードセクションに適応させるように前記コード格納セクションにおけるコードセクションを大きさ調整するステップと
    を包含する、請求項4に記載の方法。
  15. 圧縮管理動的命令セットを処理するステップは、
    前記コード格納セクションにおけるコードセクションの圧縮に関連したリスクを決定するステップと、
    該コードセクションの圧縮のリスクが高い場合、安全措置を取るステップと
    をさらに包含する、請求項14に記載の方法。
  16. 安全措置を取るステップは、前記新しいコード格納プロセスを完了するのに十分な電力のバッテリをチェックするステップと、ユーザにハイリスクのコード格納動作を警告するステップと、ユーザ始動パワーダウンの検証の促進を使用するステップと、ユーザ始動パワーダウンを回避するステップとの群から選択された安全措置を取るステップを包含する、請求項15に記載の方法。
  17. 動的命令セットを受け取るステップは、更新オーダリング命令を受け取るステップを包含し、新しいコードセクションを受け取るステップは、複数の新しいコードセクションを受け取るステップを包含し、
    更新オーダリング管理動的命令セットを処理するステップは、該オーダリング命令によって示されたオーダで前記ファイルシステム格納から該コード格納セクションに該新しいコードセクションを移動させるステップを包含する、請求項4に記載の方法。
  18. 更新オーダリング動的命令セットを処理するステップは、
    前記各新しいコードセクションの格納に関連付けられたリスクを決定するステップと、
    より低いリスク格納セクションの後に移動される前記ハイリスクコードセクションをオーダリングするステップと
    をさらに包含する、請求項17に記載の方法。
  19. 無線通信デバイスにおいて、システムソフトウエアダウンロード動作を管理するための方法であって、
    システムソフトウェアを実行するステップと、
    ランタイムエンジンを起動するステップと、
    動的命令セットを処理するステップと、
    該動的命令セットの処理に応答して、復元ステータスモニタリング、バックアップ、圧縮、および更新オーダリングを含む群から選択された管理機能を使用して、エアリンクインターフェースを介して受け取られたシステムソフトウェア更新のダウンロードを管理するステップと
    を包含する、方法。
  20. 無線通信デバイスにおいて、システムソフトウエアダウンロード動作を管理するためのシステムであって、
    エアリンクインターフェースと、
    不揮発性メモリ永久格納装置に格納されたコードセクションに分割された実行可能なシステムソフトウェアおよびシステムデータと、
    該エアリンクインターフェースを介して受け取られたシステムソフトウェア更新のダウンロードを管理するための動的命令セットと、
    該動的命令セットを処理するためのランタイムエンジンと
    を含むシステム。
  21. 前記実行可能なシステムソフトウェアおよびシステムデータが前記動的命令セットの処理に応答して更新される、請求項20に記載のシステム。
  22. 前記実行可能なシステムソフトウェアは、シンボルライブラリに形成され、各シンボルライブラリは、関連した機能性を有するシンボルを含み、コード格納セクションにおいて格納されたコードセクションに配置され、
    動的命令セットおよび新しいコードセクションを含む不揮発性メモリ受信パッチマネージャランタイム命令(PMRTI)のファイルシステムセクションをさらに含む、請求項20に記載のシステム。
  23. 前記動的命令セットは、復元状態ステータスモニタリング、バックアップ、圧縮、および更新オーダリングを含む群から選択された機能的マネージャを含む、請求項22に記載のシステム。
  24. 更新ステータスを有する新しいコードセクション識別子を相互参照する復元ステータステーブルをさらに含み、
    前記動的命令セット復元ステータスモニタリングマネージャは、前記無線通信デバイスの再起動に応答して、該復元ステータステーブルを読み出し、新しいコードセクションが永久格納装置に格納されたかどうかを決定し、該新しいコードセクションが格納されなかった場合、永久格納装置に該新しいコードセクションを格納し、該新しいコードセクションが格納された場合、該復元ステータステーブルを更新する、請求項23に記載のシステム。
  25. 前記動的命令セット復元ステータスモニタリングマネージャは、各新しいコードセクションを格納することに関連したリスクをさらに決定し、新しいコードセクションを格納する該リスクが高い場合、安全措置を取る、請求項24に記載のシステム。
  26. 前記動的命令セット復元ステータスモニタリングマネージャは、前記新しいコード格納プロセスを完了するのに十分な電力のバッテリを検査すること、ユーザ始動パワーダウンの検証の促進を使用すること、ハイリスクコード格納動作をユーザに警告すること、およびユーザ始動パワーダウンを回避することの群から選択された安全措置を取る、請求項25に記載のシステム。
  27. 前記ファイルシステムセクションは、ブートコードセクション、パッチマネージャコードセクション、コードセクションアドレステーブル、シンボルオフセットアドレステーブル、リード−ライトデータ、およびシンボルアクセサコードアドレスを含む群から選択された新しいコードセクションを受け取り、
    前記動的命令セット復元ステータスモニタリングマネージャは、該ファイルシステムセクションに該新しいコードセクションの各々を格納することに関連付けられた前記リスクを決定する、請求項26に記載のシステム。
  28. 前記実行可能システムソフトウェアは、前記ファイルシステムセクションにおけるコードセクションを永久格納装置に移動するためにパッチライブラリを有するパッチマネージャコードセクションを含み、
    該ファイルシステムセクションは、新しいパッチマネージャコードセクションを含むパッチマネージャランタイム命令を受け取り、
    前記動的命令セット復元ステータスモニタリングマネージャは、該ファイルシステムセクションにおける予備パッチライブラリを保守し、該復元ステータステーブルを読み出して、該新しいパッチマネージャコードセクションが、前記無線通信デバイスの再起動に応答して、該コード格納セクションに首尾よく格納されたかどうかを決定し、そして該新しいパッチマネージャコードセクションが、該コード格納セクションに首尾よく格納されない場合、該予備のパッチライブラリを使用して、該ファイルシステムセクションからコード格納セクションに該新しいパッチマネージャコードセクションを移動させる、請求項27に記載のシステム。
  29. 前記ファイルシステムセクションは、更新された第1のコードセクションを受け取って、前記コード格納セクションにおける第1のコードセクションを置換し、
    前記動的命令セットのバックアップマネージャは、該コード格納セクションから該ファイルシステムセクションに該第1のコードセクションを移動させ、該コード格納セクションにおける該更新された第1のコードセクションが所定の制約の範囲内で前記システムソフトウェアと共に動作するかどうかを決定し、該更新された第1のコードセクションが該所定の制約の範囲内で該システムソフトウェアと共に動作しないことが決定される場合、該コード格納セクションにおける該更新された第1のコードセクションを該ファイルシステムセクションからの該第1のコードセクションと置換する、請求項23に記載のシステム。
  30. 前記ファイルシステムセクションは、所定の制約を有するテストコードセクションを受け取り、
    前記動的命令セットのバックアップマネージャは、前記コード格納セクションにおける前記更新された第1のコードセクションが、該更新されたコードセクションを有するテストコードセクションを実行し、該テストコードセクションの実行の結果を記録し、該記録された結果を該所定の制約と比較することによって、所定の制約で前記システムソフトウェアと共に動作するかどうかを決定する、請求項29に記載のシステム。
  31. 前記ファイルシステムセクションは、テストコードライブラリを有する更新されたコードセクションを受け取り、
    前記動的命令セットのバックアップマネージャは、該更新されたコードセクションから該テストコードライブラリを実行する、請求項30に記載のシステム。
  32. 前記ファイルシステムセクションは、前記エアリンクインターフェース、ユーザ作動オペランドキーボードインターフェース、およびテストポートインターフェースを含む群から選択されたソースから前記テストコードセクションを受け取る、請求項30に記載のシステム。
  33. 前記ファイルシステムセクションは、更新されたコードセクションサイズを有する更新された第1のコードセクションを受け取って、該更新された第1のコードセクションサイズよりも小さい第1のサイズを有する第1のコードセクションを置換し、
    前記動的命令セットの圧縮マネージャは、パッチマネージャコードセクションにおける圧縮ライブラリにアクセスかつ前記コード格納セクションにおけるコードセクションをサイズ変更して、該更新された第1のコードセクションに適応させる、請求項23に記載のシステム。
  34. 前記動的命令セットの圧縮マネージャは、前記コード格納セクションにおけるコードセクションの圧縮に関連したリスクを決定し、コードセクションの圧縮のリスクが高い場合、安全措置を取る、請求項33に記載のシステム。
  35. 前記動的命令セットの圧縮マネージャは、前記新しいコード格納プロセスを完了するのに十分な電力のバッテリを検査すること、ハイリスクコード格納動作をユーザに警告すること、ユーザ始動パワーダウンの検証の促進を使用すること、ユーザ始動パワーダウンを回避することの群から選択された安全措置を取る、請求項34に記載のシステム。
  36. 前記ファイルシステムセクションは、前記更新オーダリング動的命令セットを有する複数の新しいコードセクションを受け取り、
    前記動的命令セットの更新オーダリングマネージャは、該ファイルシステム格納装置から該オーダリング命令によって示された順序で前記コード格納セクションに該新しいコードセクションを移動させる、請求項23に記載のシステム。
  37. 前記動的命令セット更新オーダリングマネージャは、各新しいコードセクションの格納に関連したリスクを決定し、より低い格納セクションの後に移動されるべきハイリスクコードセクションをオーダリングする、請求項36に記載のシステム。
  38. 無線通信デバイスにおいて、システムソフトウエアダウンロード動作を管理するためのシステムであって、
    エアリンクインターフェースと、
    不揮発性メモリ永久格納装置に格納されるコードセクションに分割され、該動的命令セットの処理の応答して更新される実行可能なシステムソフトウェアおよびシステムデータと、
    復元ステータスモニタリング、バックアップ、圧縮、および更新オーダリングを含む群から選択された機能的マネージャを用いて該エアリンクインターフェースを介して受け取られたシステムソフトウェア更新のダウンロードを管理するための動的命令セットと、
    該動的命令セットの処理のためのランタイムエンジンと、
    動的命令セットおよび新しいコードセクションを含むパッチマネージャランタイム命令(PMRTI)を受け取る不揮発性メモリのファイルシステムセクションと
    を含む、システム。
JP2003515971A 2001-07-26 2002-07-22 現場における無線通信デバイスシステムソフトウエアダウンロードの管理のためのシステムおよび方法 Withdrawn JP2005505813A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US09/916,460 US7159214B2 (en) 2001-07-26 2001-07-26 System and method for compacting field upgradeable wireless communication device software code sections
US09/916,900 US7027806B2 (en) 2001-07-26 2001-07-26 System and method for field downloading a wireless communications device software code section
US09/917,026 US7328007B2 (en) 2001-07-26 2001-07-26 System and method for organizing wireless communication device system software
US09/927,131 US7143407B2 (en) 2001-07-26 2001-08-10 System and method for executing wireless communications device dynamic instruction sets
US09/969,305 US7386846B2 (en) 2001-07-26 2001-10-02 System and method for the management of wireless communications device system software downloads in the field
PCT/IB2002/002875 WO2003010663A2 (en) 2001-07-26 2002-07-22 System and method for the management of wireless communications device system software downloads in the field

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008220523A Division JP4953465B2 (ja) 2001-07-26 2008-08-28 無線通信デバイスシステムソフトウエアダウンロードの管理のための方法およびデバイス

Publications (1)

Publication Number Publication Date
JP2005505813A true JP2005505813A (ja) 2005-02-24

Family

ID=27542295

Family Applications (11)

Application Number Title Priority Date Filing Date
JP2003515971A Withdrawn JP2005505813A (ja) 2001-07-26 2002-07-22 現場における無線通信デバイスシステムソフトウエアダウンロードの管理のためのシステムおよび方法
JP2003515964A Withdrawn JP2004537120A (ja) 2001-07-26 2002-07-22 無線通信デバイスに関する更新命令を実行するためのシステムおよび方法
JP2003515966A Expired - Fee Related JP4104546B2 (ja) 2001-07-26 2002-07-22 現場更新可能な無線通信デバイスソフトウェアを組織化するシステムおよび方法
JP2003515976A Expired - Fee Related JP4176634B2 (ja) 2001-07-26 2002-07-23 無線通信デバイスシステムソフトウェアの現場診断のためのシステムおよび方法
JP2003517749A Expired - Fee Related JP4310186B2 (ja) 2001-07-26 2002-07-23 現場の更新可能な無線通信デバイスのソフトウェアコードセクションを圧縮するシステムおよび方法
JP2003515972A Expired - Fee Related JP4278513B2 (ja) 2001-07-26 2002-07-23 無線通信デバイスにおける永続データを更新するためのシステムおよび方法
JP2003515970A Expired - Fee Related JP4073399B2 (ja) 2001-07-26 2002-07-23 無線通信デバイスのソフトウェアコードセクションを現場ダウンロードするシステムおよび方法
JP2003516189A Expired - Fee Related JP4077408B2 (ja) 2001-07-26 2002-07-25 ピアツーピアハンドセット通信のシステムおよび方法
JP2003518153A Expired - Fee Related JP4101752B2 (ja) 2001-07-26 2002-07-25 双方向通信および動的命令セットを実行するシステムおよび方法
JP2003516197A Expired - Fee Related JP4106020B2 (ja) 2001-07-26 2002-07-25 ハンドセットの再プロビジョニングおよび再プログラミングにおけるセキュリティを改善するシステムおよび方法
JP2007303740A Pending JP2008108268A (ja) 2001-07-26 2007-11-22 現場更新可能な無線通信デバイスソフトウェアを組織化するシステムおよび方法

Family Applications After (10)

Application Number Title Priority Date Filing Date
JP2003515964A Withdrawn JP2004537120A (ja) 2001-07-26 2002-07-22 無線通信デバイスに関する更新命令を実行するためのシステムおよび方法
JP2003515966A Expired - Fee Related JP4104546B2 (ja) 2001-07-26 2002-07-22 現場更新可能な無線通信デバイスソフトウェアを組織化するシステムおよび方法
JP2003515976A Expired - Fee Related JP4176634B2 (ja) 2001-07-26 2002-07-23 無線通信デバイスシステムソフトウェアの現場診断のためのシステムおよび方法
JP2003517749A Expired - Fee Related JP4310186B2 (ja) 2001-07-26 2002-07-23 現場の更新可能な無線通信デバイスのソフトウェアコードセクションを圧縮するシステムおよび方法
JP2003515972A Expired - Fee Related JP4278513B2 (ja) 2001-07-26 2002-07-23 無線通信デバイスにおける永続データを更新するためのシステムおよび方法
JP2003515970A Expired - Fee Related JP4073399B2 (ja) 2001-07-26 2002-07-23 無線通信デバイスのソフトウェアコードセクションを現場ダウンロードするシステムおよび方法
JP2003516189A Expired - Fee Related JP4077408B2 (ja) 2001-07-26 2002-07-25 ピアツーピアハンドセット通信のシステムおよび方法
JP2003518153A Expired - Fee Related JP4101752B2 (ja) 2001-07-26 2002-07-25 双方向通信および動的命令セットを実行するシステムおよび方法
JP2003516197A Expired - Fee Related JP4106020B2 (ja) 2001-07-26 2002-07-25 ハンドセットの再プロビジョニングおよび再プログラミングにおけるセキュリティを改善するシステムおよび方法
JP2007303740A Pending JP2008108268A (ja) 2001-07-26 2007-11-22 現場更新可能な無線通信デバイスソフトウェアを組織化するシステムおよび方法

Country Status (9)

Country Link
EP (12) EP1410189B1 (ja)
JP (11) JP2005505813A (ja)
KR (10) KR100940180B1 (ja)
CN (10) CN1275149C (ja)
AT (9) ATE387658T1 (ja)
AU (9) AU2002319569A1 (ja)
DE (7) DE60206389T2 (ja)
ES (9) ES2300454T3 (ja)
WO (10) WO2003010658A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009054160A (ja) * 2001-07-26 2009-03-12 Kyocera Wireless Corp 現場における無線通信デバイスシステムソフトウエアダウンロードの管理のためのシステムおよび方法

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4417123B2 (ja) 2003-02-19 2010-02-17 パナソニック株式会社 ソフトウェア更新方法及び無線通信装置
EP1654640B1 (en) 2003-06-04 2018-08-01 Qualcomm Incorporated Network having customizable generators of sofware updates and mobile electronic devices having customizable updating software
US7873956B2 (en) 2003-09-25 2011-01-18 Pantech & Curitel Communications, Inc. Communication terminal and communication network for partially updating software, software update method, and software creation device and method therefor
US7257583B2 (en) 2004-01-09 2007-08-14 Microsoft Corporation System and method for updating an on-device application catalog in a mobile device receiving a push message from a catalog server indicating availability of an application for download
KR100620729B1 (ko) * 2004-03-31 2006-09-13 주식회사 팬택앤큐리텔 소프트웨어 이미지 생성 방법
JP4528328B2 (ja) * 2004-05-18 2010-08-18 キョウセラ ワイヤレス コープ. 無線通信機器用のモジュラデータコンポーネント
GB2416876B (en) * 2004-08-03 2007-01-10 Nec Technologies Export file processing within a mobile radio communications device
US7512939B2 (en) 2004-10-05 2009-03-31 Neopost Technologies System and method of secure updating of remote device software
EP1659810B1 (en) * 2004-11-17 2013-04-10 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Updating configuration parameters in a mobile terminal
US9148409B2 (en) 2005-06-30 2015-09-29 The Chamberlain Group, Inc. Method and apparatus to facilitate message transmission and reception using different transmission characteristics
USRE48433E1 (en) 2005-01-27 2021-02-09 The Chamberlain Group, Inc. Method and apparatus to facilitate transmission of an encrypted rolling code
US8422667B2 (en) 2005-01-27 2013-04-16 The Chamberlain Group, Inc. Method and apparatus to facilitate transmission of an encrypted rolling code
WO2006110991A1 (en) * 2005-04-18 2006-10-26 Research In Motion Limited Method and system for controlling software version updates
CN100442708C (zh) * 2005-06-17 2008-12-10 上海华为技术有限公司 一种主备备份的方法及***
CN100476728C (zh) * 2005-08-19 2009-04-08 光宝科技股份有限公司 应用程序更新方法及使用上述方法的移动通讯装置
CN100410893C (zh) * 2005-09-28 2008-08-13 联想(北京)有限公司 自行修复嵌入式设备的主控应用程序的方法及设备
CN1980447B (zh) * 2005-12-06 2010-06-16 中兴通讯股份有限公司 一种通信***软件版本的平滑升级方法
WO2007105274A1 (ja) * 2006-03-10 2007-09-20 Fujitsu Limited 適用パッチ選別装置及び適用パッチ選別方法
EP2025095A2 (en) 2006-06-08 2009-02-18 Hewlett-Packard Development Company, L.P. Device management in a network
EP2047420A4 (en) 2006-07-27 2009-11-18 Hewlett Packard Development Co USER EXPERIENCE AND DEPENDENCE MANAGEMENT IN A MOBILE DEVICE
CN100403263C (zh) * 2006-08-16 2008-07-16 华为技术有限公司 按配置下载设备软件的方法
KR100924647B1 (ko) * 2008-08-07 2009-11-02 주식회사 케이티 모바일 플랫폼 런타임 다이나믹 링킹 라이브러리 관리 방법및 시스템
US9221986B2 (en) 2009-04-07 2015-12-29 Sensient Colors Llc Self-dispersing particles and methods for making and using the same
CN101539885B (zh) * 2009-04-23 2011-06-08 大唐微电子技术有限公司 一种无线通信模块软件自主空中升级的方法、装置及***
US8402217B2 (en) * 2009-09-15 2013-03-19 Marvell International Ltd. Implementing RAID in solid state memory
CN102253847A (zh) * 2010-05-19 2011-11-23 宏碁股份有限公司 制作***软件的***及***软件的部署方法
US8756256B2 (en) * 2010-05-26 2014-06-17 Qualcomm Incorporated Method and systems for the management of non volatile items and provisioning files for a communication device with multiple service accounts
JP6290913B2 (ja) * 2012-11-09 2018-03-07 コーヒレント・ロジックス・インコーポレーテッド 多重プロセッサシステムのためのリアルタイム分析及び制御
US10064251B2 (en) 2013-03-15 2018-08-28 Cree, Inc. Updatable lighting fixtures and related components
CN103345412B (zh) * 2013-07-10 2016-08-24 华为技术有限公司 打补丁的方法及装置
US10652743B2 (en) 2017-12-21 2020-05-12 The Chamberlain Group, Inc. Security system for a moveable barrier operator
WO2019213672A1 (en) * 2018-05-04 2019-11-07 Herdx, Inc. Food supply tracking, verification, and feedback system
US11074773B1 (en) 2018-06-27 2021-07-27 The Chamberlain Group, Inc. Network-based control of movable barrier operators for autonomous vehicles
US11423717B2 (en) 2018-08-01 2022-08-23 The Chamberlain Group Llc Movable barrier operator and transmitter pairing over a network
KR102176204B1 (ko) 2018-10-15 2020-11-09 김용대 유명인 사용물품 기부 중개 서비스 방법
US10997810B2 (en) 2019-05-16 2021-05-04 The Chamberlain Group, Inc. In-vehicle transmitter training
JP7461755B2 (ja) * 2020-02-21 2024-04-04 日立Astemo株式会社 情報処理装置、プログラム更新システム、及びプログラム更新方法

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8901932D0 (en) * 1989-01-28 1989-03-15 Int Computers Ltd Data processing system
FR2662891A1 (fr) * 1990-05-30 1991-12-06 Cit Alcatel Dispositif de telechargement de logiciel pour un terminal de telecommunication.
US5193180A (en) * 1991-06-21 1993-03-09 Pure Software Inc. System for modifying relocatable object code files to monitor accesses to dynamically allocated memory
JPH07182178A (ja) * 1993-02-19 1995-07-21 Nec Corp プリロードモジュール修正システム
US5488648A (en) * 1993-08-17 1996-01-30 Telefonaktiebolaget L M Ericsson Behavior monitoring and analyzing system for stored program controlled switching system
US5845090A (en) * 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
JP3140906B2 (ja) 1994-04-12 2001-03-05 株式会社エヌ・ティ・ティ・データ システムファイルの更新及び復元方法
US5734904A (en) * 1994-11-14 1998-03-31 Microsoft Corporation Method and system for calling one of a set of routines designed for direct invocation by programs of a second type when invoked by a program of the first type
JPH08166877A (ja) * 1994-12-13 1996-06-25 Olympus Optical Co Ltd 修正プログラムの実行可能なワンチップマイクロコンピュータ及びrom修正可能なマイクロコンピュータ
DE19502728A1 (de) * 1995-01-28 1996-08-01 Philips Patentverwaltung Telekommunikationsvorrichtung
US5673317A (en) * 1995-03-22 1997-09-30 Ora Electronics, Inc. System and method for preventing unauthorized programming of wireless network access devices
US5699275A (en) * 1995-04-12 1997-12-16 Highwaymaster Communications, Inc. System and method for remote patching of operating code located in a mobile unit
DE19527808C2 (de) * 1995-07-28 1999-04-01 Siemens Ag Verfahren zum Modifizieren der Softwareprozeduren eines Kommunikationssystems
DE19543843C2 (de) * 1995-11-24 2001-02-08 Acer Peripherals Inc Verfahren zur Aktualisierung der Software in einem mikrocomputergestützten Telefon
EP0979449A4 (en) * 1996-08-28 2005-08-24 Wind River Systems Inc TOOL FOR DIAGNOSING SOFTWARE DISTRIBUTED BETWEEN SEVERAL PROCESSORS
US6247065B1 (en) * 1996-12-26 2001-06-12 At&T Corp. Messaging platform process
US6023620A (en) * 1997-02-26 2000-02-08 Telefonaktiebolaget Lm Ecrisson Method for downloading control software to a cellular telephone
US5938766A (en) * 1997-03-21 1999-08-17 Apple Computer, Inc. System for extending functionality of a digital ROM using RAM/ROM jump tables and patch manager for updating the tables
SE512110C2 (sv) * 1997-06-17 2000-01-24 Ericsson Telefon Ab L M System och förfarande för att kundanpassa trådlösa kommunikationsenheter
JPH1115689A (ja) * 1997-06-19 1999-01-22 Nec Corp ソフトウェアのデバッグ方法及びデバッグ・プログラムを記録した記録媒体
US5974312A (en) * 1997-07-10 1999-10-26 Ericsson Inc. System and method for updating a memory in an electronic device via wireless data transfer
US6496979B1 (en) * 1997-10-24 2002-12-17 Microsoft Corporation System and method for managing application installation for a mobile device
JPH11141394A (ja) * 1997-11-07 1999-05-25 Nissan Motor Co Ltd 車両制御用メモリ書き換え装置
JPH11146011A (ja) * 1997-11-11 1999-05-28 Nec Corp 電子メールシステム及び電子メールサーバ及び通信端末
JP3337062B2 (ja) * 1997-11-21 2002-10-21 日本電気株式会社 無線データ転送方法及びそのシステム
US6275694B1 (en) * 1997-12-19 2001-08-14 Vlsi Technology, Inc. Method for remotely updating software code for personal handy phone system equipment
US6438711B2 (en) * 1998-07-15 2002-08-20 Intel Corporation Method and apparatus for performing field diagnostics on a computer system
US20020073398A1 (en) * 1998-12-14 2002-06-13 Jeffrey L. Tinker Method and system for modifying executable code to add additional functionality
GB2349485B (en) * 1999-04-23 2003-12-10 Ibm Application management
SE516806C2 (sv) * 1999-05-26 2002-03-05 Ericsson Telefon Ab L M Sätt för inladdning av programvara i en radioterminal, såsom en mobiltelefon, och tillhörande radioterminal
US6282647B1 (en) * 1999-06-02 2001-08-28 Adaptec, Inc. Method for flashing a read only memory (ROM) chip of a host adapter with updated option ROM bios code
FR2800963B1 (fr) * 1999-11-09 2001-12-07 Wavecom Sa Procede de mise a jour d'un programme principal execute par un module de radiocommunication et/ou de donnees associees a ce programme principal, et module de radiocommunication correspondant
US7264532B2 (en) * 2004-12-27 2007-09-04 Tsan-Yao Chen Cup structure

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009054160A (ja) * 2001-07-26 2009-03-12 Kyocera Wireless Corp 現場における無線通信デバイスシステムソフトウエアダウンロードの管理のためのシステムおよび方法

Also Published As

Publication number Publication date
WO2003012639A2 (en) 2003-02-13
CN1288554C (zh) 2006-12-06
JP2005502105A (ja) 2005-01-20
EP1410192B1 (en) 2007-12-26
KR100817387B1 (ko) 2008-03-27
DE60211719D1 (de) 2006-06-29
CN1235138C (zh) 2006-01-04
WO2003010664A3 (en) 2003-12-24
CN1535422A (zh) 2004-10-06
AU2002319568A1 (en) 2003-02-17
KR20040017352A (ko) 2004-02-26
WO2003010942A2 (en) 2003-02-06
CN1310488C (zh) 2007-04-11
DE60207429D1 (de) 2005-12-22
EP1601217B1 (en) 2007-04-11
WO2003010668A3 (en) 2003-09-25
CN1235137C (zh) 2006-01-04
CN1535423A (zh) 2004-10-06
JP2004537895A (ja) 2004-12-16
KR20040022461A (ko) 2004-03-12
ATE387658T1 (de) 2008-03-15
WO2003010932A3 (en) 2004-04-08
DE60205755D1 (de) 2005-09-29
DE60206055D1 (de) 2005-10-13
KR20040017351A (ko) 2004-02-26
KR100911604B1 (ko) 2009-08-07
WO2003012639A3 (en) 2003-12-24
EP1601217A2 (en) 2005-11-30
JP2004537925A (ja) 2004-12-16
KR20040022463A (ko) 2004-03-12
CN1288553C (zh) 2006-12-06
AU2002319572A1 (en) 2003-02-17
ATE359681T1 (de) 2007-05-15
JP2004537123A (ja) 2004-12-09
DE60211719T2 (de) 2007-01-11
EP1410193A2 (en) 2004-04-21
KR100940179B1 (ko) 2010-02-03
AU2002319577A1 (en) 2003-02-17
WO2003010664A2 (en) 2003-02-06
EP1410193B1 (en) 2005-09-28
WO2003010932A2 (en) 2003-02-06
WO2003010942A3 (en) 2003-05-15
KR100940178B1 (ko) 2010-02-03
JP4073399B2 (ja) 2008-04-09
ATE382159T1 (de) 2008-01-15
WO2003010662A3 (en) 2003-12-24
KR100984895B1 (ko) 2010-10-01
CN1537276A (zh) 2004-10-13
JP4101752B2 (ja) 2008-06-18
AU2002319570A1 (en) 2003-02-17
KR20040022464A (ko) 2004-03-12
WO2003013103A2 (en) 2003-02-13
DE60211704D1 (de) 2006-06-29
KR100932058B1 (ko) 2009-12-15
CN1535421A (zh) 2004-10-06
CN1279447C (zh) 2006-10-11
JP4176634B2 (ja) 2008-11-05
EP1410209B1 (en) 2006-05-24
CN1535419A (zh) 2004-10-06
WO2003010658A3 (en) 2003-12-24
ATE302972T1 (de) 2005-09-15
KR20040022462A (ko) 2004-03-12
WO2003010658A2 (en) 2003-02-06
JP4310186B2 (ja) 2009-08-05
EP1610222A2 (en) 2005-12-28
EP1610222A3 (en) 2007-01-31
KR20040019334A (ko) 2004-03-05
ATE304272T1 (de) 2005-09-15
EP1410189A2 (en) 2004-04-21
EP1601217A3 (en) 2006-05-10
DE60206389D1 (de) 2006-02-09
KR100913658B1 (ko) 2009-08-24
ES2248568T3 (es) 2006-03-16
KR100913659B1 (ko) 2009-08-24
JP2004537899A (ja) 2004-12-16
JP4278513B2 (ja) 2009-06-17
ATE327536T1 (de) 2006-06-15
CN1535529A (zh) 2004-10-06
WO2003010662A2 (en) 2003-02-06
DE60219536D1 (de) 2007-05-24
EP1410190B1 (en) 2005-08-24
CN1275150C (zh) 2006-09-13
WO2003013103A3 (en) 2004-04-08
ATE305632T1 (de) 2005-10-15
EP1410188A2 (en) 2004-04-21
ES2247355T3 (es) 2006-03-01
DE60206055T2 (de) 2006-06-29
ATE310354T1 (de) 2005-12-15
EP1410191A2 (en) 2004-04-21
AU2002319569A1 (en) 2003-02-17
DE60207429T2 (de) 2006-07-27
JP2004537121A (ja) 2004-12-09
AU2002319576A1 (en) 2003-02-17
CN1275149C (zh) 2006-09-13
KR20040022459A (ko) 2004-03-12
EP1410665B1 (en) 2005-09-07
JP2004537120A (ja) 2004-12-09
ES2284112T3 (es) 2007-11-01
ES2300454T3 (es) 2008-06-16
WO2003010663A2 (en) 2003-02-06
ATE327628T1 (de) 2006-06-15
CN1250035C (zh) 2006-04-05
EP1425894B1 (en) 2005-11-16
CN1537397A (zh) 2004-10-13
EP1410190A2 (en) 2004-04-21
AU2002319573A1 (en) 2003-02-17
JP4104546B2 (ja) 2008-06-18
WO2003010663A3 (en) 2003-12-24
ES2263796T3 (es) 2006-12-16
CN1535420A (zh) 2004-10-06
DE60206389T2 (de) 2006-07-13
WO2003010656A2 (en) 2003-02-06
AU2002355308A1 (en) 2003-02-17
ES2299587T3 (es) 2008-06-01
JP4077408B2 (ja) 2008-04-16
WO2003010656A3 (en) 2003-11-13
EP1410189B1 (en) 2008-02-27
ES2249602T3 (es) 2006-04-01
EP1425894A2 (en) 2004-06-09
DE60219536T2 (de) 2008-01-03
DE60211704T2 (de) 2007-05-10
JP2004537209A (ja) 2004-12-09
KR100918162B1 (ko) 2009-09-17
CN100378661C (zh) 2008-04-02
JP2004538693A (ja) 2004-12-24
ES2263799T3 (es) 2006-12-16
ES2253553T3 (es) 2006-06-01
JP4106020B2 (ja) 2008-06-25
KR100940180B1 (ko) 2010-02-04
JP2008108268A (ja) 2008-05-08
CN1537272A (zh) 2004-10-13
EP1410665A2 (en) 2004-04-21
DE60205755T2 (de) 2006-06-29
EP1423959A2 (en) 2004-06-02
EP1610222B1 (en) 2011-03-02
EP1410192A2 (en) 2004-04-21
KR20040015823A (ko) 2004-02-19
EP1423959B1 (en) 2006-05-24
KR20040022460A (ko) 2004-03-12
CN1535418A (zh) 2004-10-06
WO2003010668A2 (en) 2003-02-06
AU2002328167A1 (en) 2003-02-17
EP1410209A2 (en) 2004-04-21

Similar Documents

Publication Publication Date Title
JP4953465B2 (ja) 無線通信デバイスシステムソフトウエアダウンロードの管理のための方法およびデバイス
JP2005505813A (ja) 現場における無線通信デバイスシステムソフトウエアダウンロードの管理のためのシステムおよび方法
US7386846B2 (en) System and method for the management of wireless communications device system software downloads in the field
US7159214B2 (en) System and method for compacting field upgradeable wireless communication device software code sections
US7027806B2 (en) System and method for field downloading a wireless communications device software code section
US7328007B2 (en) System and method for organizing wireless communication device system software
US9554268B2 (en) System and method for updating persistent data in a wireless communications device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070522

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070810

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070817

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070919

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071003

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071017

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080228

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080523

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080603

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080723

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080730

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081216

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20081222