JP2005502105A - 無線通信デバイスシステムソフトウェアの現場診断のためのシステムおよび方法 - Google Patents
無線通信デバイスシステムソフトウェアの現場診断のためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2005502105A JP2005502105A JP2003515976A JP2003515976A JP2005502105A JP 2005502105 A JP2005502105 A JP 2005502105A JP 2003515976 A JP2003515976 A JP 2003515976A JP 2003515976 A JP2003515976 A JP 2003515976A JP 2005502105 A JP2005502105 A JP 2005502105A
- Authority
- JP
- Japan
- Prior art keywords
- code section
- code
- data
- instruction set
- section
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
- H04W12/35—Protecting application or service provisioning, e.g. securing SIM application provisioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/20—Transfer of user or subscriber data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
Abstract
【選択図】図1
Description
【0001】
(発明の分野)
本出願は、「System and Method for Executing Wireless Communications Device Dynamic Instruction Sets」と称する2001年8月10日に出願された米国特許出願第09/927,131号に対する優先権を主張し、「System and Method for Field Downloading Wireless Communications Device Software Code Section」と称する2001年7月26日に出願された米国特許出願第09/916,900号、および「System and Method for Compacting Field Upgradeable Wireless Communication Device Software Code Sections」と称する2001年7月26日に出願された第09/9169,460号に関連し、これらは全て、本明細書中で参照として援用される。
【0002】
本発明は、一般的には、無線通信デバイスに関し、より詳細には、現場で無線通信デバイスを診断するダイナミック命令セットを利用するシステムおよび方法に関する。
【背景技術】
【0003】
(関連技術の説明)
現場に既に存在するフォンに対してソフトウェア更新をリリースすることは珍しくはない。これらの更新は、一度フォンが製造され公に流通されてからソフトウェアに見つけられた問題に関連し得る。ある更新には、サービスプロバイダから供給されたフォンの新機能の用途またはサービスが含まれ得る。さらに他の更新は、地域的な問題、またはある通信事業者に関連する問題に関係し得る。例えば、ある地域では、通信事業者のネットワークレイアウトが、より不適切なチャンネル検索、より不適切なコールの終了、より不適切なオーディオまたはこれと同等の予期していない動作をハンドセットに示させる、ハンドセットにエアリンクインターフェイス条件を課し得る。
【0004】
このような更新に対する従来のアプローチは、最も近い通信事業者小売店/サービスアウトレットまたは製造業者に、本明細書中で無線デバイス、フォン、電話、またはハンドセットと呼ばれている無線通信デバイスを、その変更を処理するためにリコールすることであった。このような更新に含まれるコストは、広範囲に渡り、最終結果へ食い込む。さらに、顧客は、不便であり、いらいらさせられがちである。多くの場合、実際的なソリューションは、顧客に新しいフォンを提供することである。
【0005】
無線デバイスは、異なる加入者サービスによって、多くの異なる顧客のアプリケーションに対して、多くの環境で利用される。従って、無線デバイスのソフトウェアがサービスを改良するためにアップグレードされ得る場合でさえ、アップグレードが、全てのユーザに対して一様な改良を提供する可能性は低い。
【0006】
顧客に不便さなく、無線通信デバイスソフトウェアが安価でアップグレードされ得れば、より有利である。
【0007】
無線通信デバイスソフトウェアが、顧客が重要な期間のフォンの利用を失うことなく、アップグレードされ得れば、より有利である。
【0008】
無線通信デバイスソフトウェアが、最小の専門家のサービス時間で、または、サービス設備へデバイスを送る必要なく更新され得れば、より有利である。
【0009】
無線デバイスシステムソフトウェアがコードセクションへ区分され得、その結果、システムソフトウェアを更新する際に、システムソフトウェアの特定のコードセクションのみが置換される必要がある場合、より有利である。これらのコードセクションが、エアリンクを介して無線デバイスと通信され得る場合、より有利である。
【0010】
無線デバイスが、システムソフトウェアの現場更新に役立つ、ダイナミックにロードされる命令セットによって動作し得る場合、より有利である。
【0011】
ダイナミック命令セットが、各デバイスユーザのニーズまたは問題に適応するような修正に変更し得る場合、より有利である。
【0012】
ダイナミック命令セットが、システムソフトウェアの問題に対して、トラブルシューティングし、かつ一時的な修正を提供するために利用され得る場合、より有利である。
【発明の開示】
【課題を解決するための手段】
【0013】
(発明の要旨)
無線通信デバイスソフトウェア更新は、顧客にできる限り最良の製品およびユーザ経験を与える。本商業界の高価な部分とは、ソフトウェアを更新するためにハンドセットのリコールを含むことである。これらの更新は、フォンが製造された後に、ユーザに付加的なサービスを提供し、フォンの利用中に発見された問題を処理するために必要とし得る。本発明は、エアリンクインターフェイスを介して、現場のハンドセットソフトウェアを実際にアップグレードすることを可能にする。より詳細には、本発明は、無線通信デバイスが、ダイナミック命令セットを実行することを可能にする。これらのダイナミック命令セットは、無線デバイスが、「知能的に」または条件的に、システムソフトウェアおよびシステムデータをアップグレードすることを可能にする。さらに、ダイナミック命令セットは、無線デバイスが、データを収集し、収集されたデータに応答してシステムソフトウェアを変更することを可能にする。もしくは、データは、収集され、かつ解析のために無線デバイス製造業者に送信され得る。
【0014】
従って、無線通信デバイスのシステムソフトウェアを現場診断するための方法が提供される。本方法は、システムソフトウェアを実行するステップ、ランタイムエンジンを起動するステップ、パッチマネージャランタイム命令(PMRTI)を受信するステップ、ファイルシステムセクション不揮発性メモリにダイナミック命令セットおよび新しいコードセクションを含むステップ、およびシステムソフトウェアを現場診断するダイナミック命令セットを処理するステップを包含する。
【0015】
ダイナミック命令セットを処理するステップは、データを収集するために、システムソフトウェアを有する診断命令セットを実行するステップ、収集されたデータを解析するステップ、および収集されたデータの解析に応答して、システムデータおよびシステムソフトウェアにおいて演算するステップを包含する。本方法はさらに、システムソフトウェアおよびシステムデータにおける演算に従って、システムソフトウェアを実行するステップを包含する。
【0016】
上述のシステムソフトウェア現場診断方法、および無線通信デバイスのシステムソフトウェアを現場診断するシステムの詳細は、以下に記載される。
【発明を実施するための最良の形態】
【0017】
以下の詳細な説明のいくつかの部分は、無線デバイスマイクロプロセッサまたはメモリ内のデータビットにおける演算の手順、ステップ、ロジックブロック、コード、処理、および、他のシンボリックな表現ついて示される。これらの記述および表現は、データ処理技術の当業者によって利用される手段であって、これらは、当該の別の技術者に仕事の実質を最も効果的に提供するためのものである。手順、マイクロプロセッサに実行されるステップ、アプリケーション、ロジックブロック、プロセス等は、本明細書中において、および一般的に、所望の結果を導くステップまたは命令の一貫したシーケンスであると考えられる。本ステップは、物理量(quantity)の物理的操作を要求するステップである。通常、必須ではないが、これらの量は、マイクロプロセッサに基づく無線デバイスにおいて、格納、伝達、結合、比較、およびそうでなければ操作され得る電気または磁気信号の形式を取り得る。これらの信号をビット、値、エレメント、シンボル、文字、用語、または数字等として示すことは、原則的に共通の用法で、時には便利であることが証明されている。メモリ等の物理的デバイスについて言及される場合、それらは、バスまたは他の電気接続を介して他の物理的デバイスに接続される。これらの物理的デバイスは、論理的プロセスまたはアプリケーションと相互作用し、従って、論理的演算に「接続される」と考えられ得る。例えば、メモリはさらなる論理演算に対するコードを格納またはアクセスし得る。あるいは、アプリケーションは、実行のためにメモリからコードセクションを呼び出し得る。
【0018】
しかし、尚、全てのこれらおよび同様の用語は、適切な物理量に関連すべきであり、単にこれらの量に適用される便利なラベルにすぎない。他に特別に述べられない限り、以下の説明から明らかなように、本発明を通して、「処理」「接続」「翻訳」「表示」「プロンプト」「判定」「表示」または「認識」等の用語を利用した説明は、コンピュータシステムのレジスタおよびメモリ内の物理(電気的)量として示されるデータを無線デバイスメモリまたはレジスタまたは他のこのような情報格納デバイス、送信デバイスまたは表示デバイス内の物理量として同様に示される他のデータへ操作して変換する、無線デバイスマイクロプロセッサシステムのアクションおよびプロセスを示す。
【0019】
図1は、無線デバイスソフトウェアメンテナンスシステム全体100の概略的なブロック図である。本発明のシステムソフトウェアの組織化は、以下に詳細に示され、ソフトウェアメンテナンスシステムの一般的概要100に従う。一般的なシステム100は、システムソフトウェア更新および命令セット(プログラム)を送達するステップ、および送達されたソフトウェアを無線デバイスにインストールするステップのプロセスについて記述する。より一般的には命令セットまたはダイナミック命令セットとして知られるシステムソフトウェア更新およびパッチマネージャランタイム命令(PMRTI)は、ハンドセットの製造業者によって作成される。システムソフトウェアは、シンボルライブラリに組織化される。シンボルライブラリは、コードセクション内に配置される。シンボルライブラリが更新される場合、ソフトウェア更新102は、1つ以上のコードセクションとしてトランスポートされる。ソフトウェア更新は、現場の無線デバイス(無線通信デバイス104はその代表である)にブロードキャストされるか、または、公知の従来の空中でかつ、データまたはメッセージトランスポートプロトコルを利用して基地局106から別々の通信で送信される。本発明は、無線通信デバイスが、システムソフトウェアおよびPMRTI更新を受信する目的のために、任意の利用可能な空中を介した(over−the−air)トランスポートプロトコルを処理するように容易に修正され得るので、任意の特定のトランスポーテーションフォーマットに制限されない。
【0020】
システムソフトウェアは、異なるサブシステムのコレクションとみなされ得る。コードオブジェクトは、これらの抽象的なサブシステムの1つにしっかりと接続され得、結果のコレクションは、シンボルライブラリとしてラベル付けされ得る。これは、コードベースの論理的ブレークダウンを提供し、ソフトウェアパッチおよび修正は、これらのシンボルライブラリに関連し得る。多くの場合、単一の更新は、1つまたは多くとも2つのシンボルライブラリと関連する。残りのコードベース、すなわち他のシンボルライブラリは、変化しないままである。
【0021】
シンボルライブラリの概念は、コードおよび定数を扱うためのメカニズムを提供する。一方、リードライト(RW)データは、全てのライブラリのためのRAMベースのデータを含む固有の個別RWライブラリへ適合する。
【0022】
無線デバイス104によって受信されると、トランスポートされたコードセクションは、処理されなければならない。この無線デバイスは、不揮発性メモリ108の固有のコードセクションを上書きする。不揮発性メモリ108は、ファイルシステムセクション(FSS)110およびコード格納セクション112を含む。コードセクションは、通常、FSS110の占有率を最小化するためにトランスポートの前に圧縮される。多くの場合、更新されたコードセクションは、RWデータを伴い、RWデータは、各シンボルライブラリのための全RWデータを含む別の種類のシンボルライブラリである。システムソフトウェアは実行時にランダムアクセス揮発性リード−ライトメモリ114にロードされるが、RWデータは、常に不揮発性メモリ108に格納される必要があり、そのため、RWデータは、無線デバイスがリセットされる度に、ランダムアクセス揮発性リード−ライトメモリ114にロードされ得る。これは、初回のRWデータのランダムアクセス揮発性リード−ライトメモリへのロードを含む。以下により詳細に説明されるように、RWデータは、通常、パッチマネージャコードセクションに配置される。
【0023】
システム100は、仮想テーブルの概念を含む。このようなテーブルを用いて、あるコードセクションのシンボルライブラリは、システムソフトウェアの他の部分(他のコードセクション)を壊す(置き換える)ことなく、パッチされる(置き換えられる)。仮想テーブルは、効率性のために、ランダムアクセス揮発性リード−ライトメモリ114から実行する。コードセクションアドレステーブルおよびシンボルオフセットアドレステーブルは、仮想テーブルである。
【0024】
更新されたコードセクションは、無線デバイス104によって受信され、FSS110に格納される。無線デバイスユーザインターフェイス(UI)は、通常、新しいソフトウェアが利用可能であることをユーザに通知する。UIプロンプトに応答して、ユーザは、通知を確認し、かつ、パッチまたは更新動作をシグナリングする。もしくは、更新動作が自動的に実行される。無線デバイスは、更新プロセスが実行される時、標準的な通信タスクを実行不可能であり得る。パッチマネージャ更新セクションは、さらにランダムアクセス揮発性リード−ライトメモリ114へロードされる不揮発性リード−ライトドライバシンボルライブラリを含み得る。不揮発性リード−ライトドライバシンボルライブラリは、コードセクションを更新されるべきコードセクションで上書きさせる。図に示されるように、コードセクションnおよびパッチマネージャコードセクションは、更新されるコードセクションで上書きされる。パッチマネージャコードセクションは、リード−ライトデータ、コードセクションアドレステーブル、およびシンボルオフセットアドレステーブル、ならびに、シンボルアクセサコードおよびシンボルアクセサコードアドレス(以下に説明される)を含む。このデータの一部分は、更新されたコードセクションが導入される時に無効であり、更新されたパッチマネージャコードセクションは、更新されたコードセクションに対して有効なリード−ライトデータ、コードセクションアドレステーブル、およびシンボルオフセットアドレステーブルを含む。一旦、更新されたコードセクションが、コード格納媒体112内にロードされると、無線デバイスはリセットされる。リセット動作に続いて、無線デバイスは、更新されたシステムソフトウェアを実行し得る。尚、パッチマネージャコードセクションは、上述されていない他のシンボルライブラリを含み得る。これらの他のシンボルライブラリは、リード−ライト揮発性メモリ114へロードされる必要がない。
【0025】
図2は、エアリンクインターフェイスを介する命令セットのインストールをハイライトする、ソフトウェアメンテナンスシステム100の概略的なブロック図である。更新システムソフトウェアコードセクションに加えて、メンテナンスシステム100は、本明細書中でパッチマネージャランタイム命令(PMRTI)と呼ばれる、ダイナミック命令セット、プログラム、またはパッチマネージャ命令セット(PMIS)をダウンロードおよびインストールし得る。PMISコードセクション200は、上述のシステムソフトウェアコードセクションと同一の態様で無線デバイス104にトランスポートされる。PMISコードセクションは、最初にFSS110に格納される。PMRTIコードセクションは、通常、コンパイルされたハンドセットへの命令として可視化され得るバイナリフィアルである。PMRTIコードセクションは、基本数学的演算の性能および条件付きで実行される演算の性能を提供するのに十分に包括的である。例えば、RF調整PMRTIは、以下の動作を実行し得る。
【0026】
【数1】
PMRTIは、加算、減算、乗算、および除算等の基本数学的演算をサポートし得る。システムソフトウェアコードセクションと共に、PMRTIコードセクションは、UIプロンプトに応答してロードされ得、無線デバイスは、PMRTIがコード格納セクション112へロードされた後、リセットされなくてはならない。その後、PMRTIセクションは、実行され得る。PMRTIコードセクションが任意の仮想テーブルまたはリード−ライトデータと関連する場合、更新されたパッチマネージャコードセクションは、コード格納セクション112におけるインストールのためにPMISと共にトランスポートされる。もしくは、PMRTIは、保持されて、FSS110から処理され得る。ハンドセット104は、PMRTIセクションにおける全ての命令を実行した後、PMRTIセクションは、FSS110から削除され得る。あるいは、PMRTIは、さらなる動作のために維持される。例えば、PMRTIは、無線デバイスが電力供給(energized)されるたびに実行され得る。
【0027】
PMRTIは、非常に強力なランタイム命令エンジンである。ハンドセットは、PMRTI環境を介してハンドセットに送達される任意の命令を実行し得る。このメカニズムは、RF調整およびPRI更新をサポートするために利用され得る。より一般的には、PMRTIが利用され、典型的にはユーザの不満の結果等のソフトウェア問題が製造業者またはサービスプロバイダによって認識される場合、無線デバイスソフトウェアをリモートデバックし得る。PMRTIはまた、ソフトウェアの問題を診断するために必要なデータを記録できる。PMRTIは、データ解析、デバック、および修正用の新しくダウンロードされたシステムアプリケーションを起動し得る。PMRTIは、更新されたシステムソフトウェアコードセクションの代わりに、ある問題に対する解析およびできる限り短い時間での修正のためのRWデータをベースにした更新を提供し得る。PMRTIは、無線デバイスによる利用のためにメモリ圧縮アルゴリズムを提供し得る。
【0028】
本発明のいくつかの局面において、システムソフトウェアのシンボルライブラリへの組織化が、実行のために必要とされる揮発性メモリ114および不揮発性メモリ108のサイズに影響を及ぼし得る。これは、コードセクションが、通常、コードセクション内に配置される、シンボルライブラリよりも大きいという事実による。これらのより大きいコードセクションは、更新コードセクションを収容するために存在する。システムソフトウェアをライブラリのコレクションとして組織化することにより、不揮発性メモリのサイズ要件に影響が及ぼされる。コードセクションは、中に配置されるシンボルライブラリよりも大きいサイズであり得るという事実により、同じコードサイズに対して用いられる不揮発性メモリの量が多くなる。
【0029】
一旦、ソフトウェア更新が、無線デバイスに送達されると、ソフトウェアメンテナンスシステム100は、メモリ圧縮をサポートする。メモリ圧縮は、デスクトップコンピュータのディスクデフラグアプリケーションと同様である。圧縮メカニズムは、メモリが最適に利用され、将来のコードセクション更新のために良好にバランスされることを保証し、ここで、更新されるコードセクションのサイズは、予測できない。システム100は、パッチがあてられる(更新される)コード格納セクションを解析する。システム100は、更新されたコードセクションを、置換されるコードセクションにより占有されるメモリスペースへ適応させることを試みる。更新されたコードセクションが置換されるコードセクションよりも大きい場合、システム100は、メモリ112のコードセクションを圧縮する。もしくは、圧縮は、製造業者またはサービスプロバイダによって計算され得、圧縮命令は、無線デバイス104へトランポートされ得る。
【0030】
圧縮は、アルゴリズムの複雑性および膨大な量のデータ移動により、時間消費プロセスになり得る。圧縮アルゴリズムは、任意の処理が開始する前に、実行可能性を予測する。UIプロンプトは、圧縮が試みられる前に、ユーザからの許可を適用するために利用され得る。
【0031】
本発明のある局面では、全システムソフトウェアコードセクションは、同時に更新され得る。しかしながら、完全なシステムソフトウェア更新は、より大きなFSS110を要求する。
【0032】
図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に配置される。
【0033】
図4は、無線デバイスメモリの概略的なブロック図である。示されるように、メモリは、図1のコード格納セクション112である。メモリは、フラッシュメモリのような書き込み可能な不揮発性メモリである。尚、コードセクションは、必ずしもFSS110と同一のメモリに格納される必要はないことが理解される。尚、本発明のシステムソフトウェア構造は、複数の協働するメモリに格納されるコードセクションにより有効にされることも理解される。コード格納セクション112は、第2の複数の連続してアドレスされるメモリブロックを含み、ここで、各メモリブロックは、第2の複数のコードセクションに対応するコードセクションを格納する。従って、コードセクション1(302)は、第1のメモリブロック400に格納され、コードセクション2(304)は、第2のメモリブロック402に格納され、コードセクションn(306)は、第nのメモリブロック404に格納され、そしてパッチマネージャコードセクション(308)は、第pのメモリブロック406に格納される。
【0034】
図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)に格納される。
【0035】
図3では、システムソフトウェア構造300は、パッチマネージャコードセクション308に配置されるシンボルライブラリに含まれるシンボルのあるタイプとして、コードセクションアドレステーブル326をさらに含む。コードセクションアドレステーブルは、コードセクション識別子をメモリの対応するコードセクション開始アドレスと相互参照する。
【0036】
図5は、図3のコードセクションアドレステーブル326を示すテーブルである。コードセクションアドレステーブル326は、シンボルライブラリに対するコードセクション開始アドレスを見つけ出すために参照される。例えば、システム300は、シンボルライブラリ1のシンボルが実行に必要とされる時、コードセクション1を検索する。コードセクション1の開始アドレスを見つけ出し、従って、シンボルをシンボルライブラリ1に位置付けるために、コードセクションアドレステーブル326は、参照される。コードセクションのシンボルライブラリの配置、およびテーブルによるコードセクションのトラッキングは、コードセクションが移動され、かつ拡張されることを可能にする。拡張または移動動作は、アップグレードされたコードセクション(アップグレードされたシンボルライブラリを含む)をインストールするために必要とされ得る。
【0037】
尚、図3に戻って、全てのシンボルライブラリは、必ずしもコードセクションの開始点で開始するわけではない。示されるように、シンボルライブラリ3(314)は、コードセクション2(304)に配置されるが、コードセクション開始アドレス320で開始しない。従って、シンボルライブラリ3(314)のシンボルが実行のために必要とされる場合、システム300は、コードセクション2(304)の開始アドレスに対してコードセクションアドレステーブル326を参照する。以下に説明されるように、シンボルオフセットアドレステーブルは、シンボルライブラリ3(314)のシンボルが位置付けられることを可能にする。シンボルが、複数のライブラリにわたって広がることは、同一のコードセクションに保持されない限り、問題ではない。
【0038】
上述されたように、各シンボルライブラリは、機能的に関連したシンボルを含む。シンボルは、空中を介した通信本体、変数、またはデータ構造を位置付け、かつ利用するための、プログラマ定義の名前である。従って、シンボルは、アドレスまたは値であり得る。シンボルは、内部または外部であり得る。内部シンボルは、現在のコードセクションの範囲を超えて、可視ではない。より詳細には、内部シンボルは、他のコードセクションにおいて、他のシンボルライブラリによって検索されない。外部シンボルは、コードセクション間で利用および呼び出しされ、かつ、異なるコードセクションのライブラリによって検索される。シンボルオフセットアドレステーブルは、通常、全ての外部シンボルのリストを含む。
【0039】
例えば、シンボルライブラリ(310)は、無線デバイスディスプレイ上に文字を生成する。このライブラリのシンボルは、電話番号、名前、時刻、または他のディスプレイ機能を生成する。各機能は、本明細書中でシンボルとして参照する、空中を介した通信によって生成される。例えば、シンボルライブラリ1(310)の1つのシンボルは、ディスプレイ上に電話番号を生成する。このシンボルは、「X」で表わされ、外部である。無線デバイスがフォンコールを受け、呼び出し側IDサービスが起動される場合、システムは、「X」シンボルを実行させたい場合、ディスプレイ上に番号を生成しなければならない。従って、システムは、「X」シンボルを位置付けなければならない。
【0040】
図6は、シンボルを有する、図3のシンボルライブラリ1(310)の詳細な図である。シンボルは、各コードセクション開始アドレスからオフセットされるように配置される。多くの状況では、シンボルライブラリの開始点は、コードセクションの開始点であるが、これは、コードセクションが1つより多いシンボルライブラリを含む場合に当てはまらない。シンボルライブラリ1は、コードセクション1(図3を参照されたい)の開始点で開始する。図6に示されるように、「X」シンボルは、シンボルライブラリの開始点からの(03)のオフセットに位置付けられ、「Y」シンボルは、(15)のオフセットに位置付けられる。シンボルオフセットアドレスは、パッチマネージャコードセクションのシンボルオフセットアドレステーブル328に格納される(図3)。
【0041】
図7は、図3のシンボルオフセットアドレステーブル328を示すテーブルである。シンボルオフセットアドレステーブル328は、対応するオフセットアドレス、およびメモリの対応するコードセクション識別子によってシンボル識別子を相互参照する。従って、システムは、シンボルライブラリ1において「X」シンボルを実行させるために検索し、シンボルオフセットアドレステーブル328は、それが配置されるコードセクションについて、シンボルの正確なアドレスを位置付けるために参照される。
【0042】
図3に戻って、第1の複数のシンボルライブラリは全て、通常、これらのシンボルライブラリの実行時に参照される、または設定されなければならないリード−ライトデータを含む。例えば、シンボルライブラリは、条件付きステートメントに依存する動作を含み得る。リード−ライトデータセクションを参照して、条件付きステートメントを完了させるために必要なステータスを判定する。本発明は、全てのシンボルライブラリから共有されるリード−ライトセクションへリード−ライトデータをグループ化する。本発明のある局面では、リード−ライトデータ330は、パッチマネージャコードセクション308に配置される。もしくは(示されない)、リード−ライトデータは、異なるコードセクション、例えば、コードセクションn(306)に配置され得る。
【0043】
第1の複数のシンボルライブラリはまた、検索されるシンボルのアドレスを計算するために、コードセクションに配置されるシンボルアクセサコードを含む。シンボルアクセサコードは、別々のコードセクション、例えば、コードセクション2(304)のアドレスに配置され、かつ格納され得る。しかし、示されるように、シンボルアクセサコード332は、パッチマネージャコードセクション308のアドレスに配置され、格納される。システムソフトウェア構造300は、さらに、シンボルアクセサコードアドレスを格納する第1の位置を含む。第1の位置は、コード格納セクション112、または無線デバイス(示されない)の別々のメモリセクションにおけるコードセクションであり得る。第1の位置はまた、リード−ライトデータと同一のコードセクションにも配置され得る。示されるように、第1の位置334は、リード−ライトデータ330、シンボルオフセットアドレステーブル328、コードセクションアドレステーブル326、シンボルアクセサコード332、およびパッチライブラリ(パッチシンボルライブラリ)336を有するパッチマネージャコードセクション308に格納される。
【0044】
シンボルアクセサコードは、コードセクションアドレステーブルおよびシンボルオフセットアドレステーブルを利用して、メモリにおいて検索されるべきシンボルの正確なアドレスを検索する。すなわち、シンボルアクセサコードは、対応するシンボル識別子および対応するコードセクション識別子を用いて検索されるシンボルのアドレスを計算する。例えば、シンボルライブラリ1の「X」シンボルが検索される場合、シンボルアクセサは、「X」シンボルに対応して(図7を参照されたい)、シンボル識別子(シンボルID)X_1を検索するために呼び出される。シンボルアクセサコードは、シンボルオフセットアドレスを参照して、X_1シンボル識別子がコードセクション1の開始点から(03)のオフセットを有することを判定する(図6を参照されたい)。シンボルアクセサコードは、コードセクション1に対応して、コードセクション識別子CS_1を検索するために呼び出される。シンボルアクセサコードは、コードセクションテーブルを参照して、コードセクション識別子(コードセクションID)CS_1と関連する開始アドレスを決定する。この方法では、シンボルアクセサコードは、シンボル識別子X_1が、(00100)のアドレスからの(03)のオフセットであるか、または、アドレス(00103)に位置付けられるかを決定する。
【0045】
シンボル「X」は、実際のコードの一部であるので、予約された名前である。言い換えると、シンボル「X」は、それに関連する絶対値データである。データは、アドレスまたは値であり得る。シンボル識別子は、シンボルをトラックするために生成されるエイリアスである。シンボルオフセットアドレステーブルおよびコードセクションアドレステーブルの両方が識別子と共に作用して、予約されたシンボルおよびコードセクション名との混乱を避ける。また、同一のシンボル名を多くのシンボルライブラリにわたって利用することが可能である。識別子の利用は、これらのシンボル間の混乱を避ける。
【0046】
図1に戻って、システムソフトウェア構造300はさらに、リード−ライト揮発性メモリ114、典型的にはランダムアクセスメモリ(RAM)を含む。リード−ライトデータ330、コードセクションアドレステーブル326、シンボルオフセットアドレステーブル328、シンボルアクセサコード332、およびシンボルアクセサコードアドレス334は、システムソフトウェアの実行中のアクセスのために、パッチメネージャセクションからリード−ライト揮発性メモリ114へロードされる。周知のように、RAMに格納されるコードのアクセス時間は、Flashのような不揮発性メモリへのアクセスよりもはるかに短い。
【0047】
図3に戻って、尚、シンボルライブラリは、それらが配置されるコードセクションを必ずしも満たす必要はないが、メモリブロックが内部に格納される対応のコードセクションを正確に収容するようにサイズ合わせされる。代わりに述べられるのは、第2の複数のコードセクションの各々は、配置されるシンボルライブラリを収容するバイトサイズを有し、連続してアドレスされるメモリブロックの各々は、対応するコードセクションを収容するバイトサイズを有する。例えば、コードセクション1(302)は、100バイトの長さを有するシンボルライブラリを収容する100バイトのセクションであり得る。第1のメモリブロックは、コードセクション1のバイトサイズに一致する100バイトである。しかし、コードセクション1にロードされるシンボルライブラリは、100バイトよりも小さくなってもよい。図3に示されるように、コードセクション1(302)は、シンボルライブラリ1(310)が100バイトよりも小さい場合、未使用セクション340を有する。従って、第2の複数のコードセクションの各々は、配置されるシンボルライブラリを収容するのに必要となるサイズよりも大きいサイズを有する。「過剰なサイズ」のコードセクションにより、より大きな更新されたシンボルライブラリが収容され得る。
【0048】
連続的にアドレスされるメモリブロックは、物理的メモリ空間を種々のサイズのロジックブロックに区切ることである。コードセクションおよびメモリブロックは、コードセクションがメモリに格納された場合に実質的に交換可能である用語である。コードセクションという概念は、コードセクションにおけるシンボルライブラリ、またはシンボルライブラリのコレクションよりもおそらく大きいコードのセクションが移動および操作される場合に識別するために用いられる。
【0049】
図3に見出されるように、現在のコードセクションを有するコード格納セクションに新しいコードセクションを配置するために、システム300は、本明細書中でパッチライブラリ336と呼ばれるパッチシンボルライブラリを含む。コード格納セクションにおける現在のコードセクションと共に新しいコードセクションの配置は、更新される実行可能なシステムソフトウェアを形成する。パッチマネージャ336は、現在のコードセクションと共に新しいコードセクションを配置するだけでなく、コードセクションを更新されるコードセクションとも置換する。
【0050】
図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)を、ファイルシステムセクション110における、更新されたコードセクション、例えば、コードセクション450に上書きする。極端な場合、コード格納セクション112におけるすべてのコードセクションは、更新されるコードセクションと置換される。すなわち、FSS110は、第2の複数の更新されたコードセクション(図示せず)を受信し、パッチライブラリ336は、コード格納セクション112における第2の複数のコードセクションを第2の複数の更新されるコードセクションと置換する。当然、FSS110は、エアリンクインターフェイスを介して受信された第2の複数の更新されるコードセクションを収容するように十分に大きくしなければならない。
【0051】
上述のように、受信された更新されるコードは、リード−ライトデータコードセクション、コードセクションアドレステーブルコードセクション、シンボルライブラリ、シンボルオフセットアドレステーブルコードセクション、シンボルアクセサコードセクション、または新しいパッチライブラリを有するコードセクションを含み得る。これらのすべてのコードセクションは、関連するシンボルライブラリおよびシンボルと共に、別個かつ独立したコードセクションとして格納され得る。その後、これらのコードセクションの各々は、一意的に更新されるコードセクションと置換される。すなわち、更新されるリード−ライトコードセクションは、受信されて、コード格納セクションにおけるリード−ライトコードセクションを置換する。更新されたコードセクションアドレステーブルコードセクションは、受信されて、コード格納セクションにおけるコードセクションアドレステーブルコードセクションを置換する。更新されたシンボルオフセットアドレステーブルコードセクションは、受信されて、コード格納セクションにおけるシンボルオフセットアドレステーブルコードセクションを置換する。更新されるシンボルアクセサコードセクションは、受信されて、コード格納セクションにおけるシンボルアクセサコードセクションと置換する。同様に、更新されるパッチマネージャコードセクション(パッチライブラリを有する)は、受信されて、コード格納セクションにおけるパッチマネージャコードセクションと置換する。
【0052】
しかしながら、上述のコードセクションは、通常、パッチマネージャコードセクションの中でバンドルされる。従って、コード格納セクションにおけるリード−ライトコードセクションは、パッチマネージャコードセクション308が、更新されるパッチマネージャコードセクション450と置換された場合、ファイルシステムセクション110からの更新されるリード−ライトコードセクションと置換される。同様に、更新されるパッチマネージャコードセクション450がインストールされた場合、コードセクションアドレステーブル、シンボルオフセットアドレステーブル、シンボルアクセサコードセクション、およびパッチライブラリが置換される。新しいリード−ライトデータ、新しいコードセクションアドレステーブル、新しいシンボルオフセットアドレステーブル、新しいシンボルアクセサコード、および更新されるパッチマネージャコードセクション450としての新しいパッチライブラリの、コード格納セクションにおける現在のコードセクションと共に配置されることが更新される実行可能なシステムソフトウェアを形成する。
【0053】
ファイルシステムセクション110が更新されたシンボルアクセサコードアドレスを受信した場合、パッチマネージャは、メモリ内の第1のロケーションにおけるシンボルアクセサコードアドレスを更新されるシンボルアクセサコードアドレスと置換する。上述のように、メモリ内334の第1のロケーションは、通常、パッチマネージャコードセクションにある(図3を参照)。
【0054】
図3に見出されるように、パッチライブラリ308は、さらに、圧縮器、または圧縮器シンボルライブラリ342を含み得る。圧縮器342は、さらに、別個および独立したコードセクションとしてイネーブルされ得るが、上述のように、システムソフトウェアアップグレードと関連した機能を単一のパッチマネージャコードセクションにバンドルすることは有用かつ効率的である。通常、圧縮器342は、コードセクションのサイズを変更すると考えられることができ、これにより、新しいセクションは、コード格納セクション112における現在のコードセクションと共に配置され得る。
【0055】
ここで確立された組織、ダウンロード、および圧縮の本発明の局面に関して、以下の説明は、無線通信デバイスダイナミック命令セット実行システム300に集中させる。システム300は、詳細に上述されたように、実行可能なシステムソフトウェア、およびコードセクションと区分されたシステムデータを含む。さらに、システム300は、システムデータおよびシステムソフトウェア上で演算し、かつ、システムソフトウェアの実行を制御するためのダイナミック命令セットを含む。図4に示されるように、ダイナミック命令セット470は、第1のPMRTI454に組織化される。図3に見出されるように、システムは、さらに、ランタイムライブラリ370によってイネーブルされるダイナミック命令セットを処理するためのランタイムエンジンを含む。圧縮器ライブラリ342およびパッチライブラリ336に関して述べられたように、ランタイムライブラリ370は、通常、パッチマネージャコードセクション308に配置される。しかしながら、ランタイムライブラリ370は、代替的に、別のコードセクション、例えば、第1のコードセクション304において配置され得る。
【0056】
ダイナミック命令セットは、条件付きオペレーションコードを含み、かつ、通常、データアイテムを含む命令の1つまたは複数のセットである。ランタイムエンジンは、オペレーションコードを読み出し、かつ、どの演算が実行されることが必要かを決定する。オペレーションコードは、条件的、数学的、プロシージャ的または論理的であり得る。ランタイムエンジン、またはランタイムライブラリ370は、数学的または論理演算等の演算を実行するためにダイナミック命令セットを処理する。すなわち、ランタイムエンジンは、ダイナミック命令セット470を読み出し、かつ、このオペレーションコードに応答して、演算のシーケンスを実行する。ダイナミック命令セットは任意の特定の言語に限定されないが、オペレーションコードは、通常、マシンコードの形態であり、これは、無線デバイスメモリが限定され、実行速度が重要だからである。オペコードは、データアイテムを解析し、かつ、解析の結果として決定を下すという点で条件的であると考えられる。ランタイムエンジンは、さらに、解析される前に、データに関する演算が実行されることを決定し得る。
【0057】
例えば、オペレーションコードは、無線デバイスメモリからのデータが所定の値と比較されるように規定し得る。データアイテムが所定の値よりも小さい場合、データアイテムは、そのままにされ、データアイテムが所定の値よりも大きい場合、これは所定の値と置換される。あるいは、オペレーションコードは、上述の比較演算が実行される前に、第2の所定の値を無線デバイスメモリからのデータアイテムに追加し得る。
【0058】
上述のように、ファイルシステムセクション不揮発性メモリ110は、エアリンク150等のインターフェイスを通じてダイナミック命令セットを受信する。図1に示されるように、インターフェイスは、さらに、無線周波数の(RF)ハードライン160であり得る。その後、PMRTIは、システムソフトウェアが工場での調整環境等のように動作状態ではなく、FSS110によって受信され得る。PMRTIは、さらに、論理ポートインターフェイス162、またはインストール可能メモリモジュール164を介して受信され得る。メモリモジュール164は、初期調整で無線デバイス104にインストールされるか、または工場での再調整中にインストールされ得る。特に記載はないが、PMRTIは、赤外線またはBluetoothインターフェイスを介して受信され得る。
【0059】
図8aおよび8bは、ランタイムエンジン370によってアクセスされる命令を示す。図8aに示されるのは、第1の命令800、第2の命令802、およびj番目の命令804であるが、ダイナミック命令セットは任意の特定の数の命令に限定されない。各命令におけるオペレーションコードの長さは固定される。ランタイムエンジン370は、バイトまたはビットの測定のように、命令の長さをキャプチャし、命令がデータアイテムを含むか否かを決定する。オペレーションコードが減算された後の命令の残りの長さは、データアイテムを含む。ランタイムエンジンは命令からデータアイテムを抽出する。示されるように、第1の命令800の長さ806が測定され、かつデータアイテム808が抽出される。すべての命令が抽出されるべきデータアイテムを必ずしも含まないことに留意されたい。ランタイムエンジン370は、命令800におけるオペレーションコード810に応答する演算のシーケンスを実行する際に、この抽出されたデータ808を用いる。
【0060】
図8bは、図8aの第1の命令800のより詳細な図である。第1の命令800を例として用いて、命令は、オペレーションコード810およびデータ808を含む。命令、および、より具体的には、データアイテムセクション808は、シンボル識別子を含み、これは、無線デバイスコードセクションにおけるシンボルへのリンクとして機能する。すでに詳細に説明されたように、シンボル識別子は、シンボル識別子に対応するシンボルを配置するために、コードセクションアドレステーブル326(図5を参照)およびシンボルオフセットアドレステーブル328(図7を参照)と共に用いられる。示されるように、シンボル識別子「X_1」は、第1の命令800において示される。シンボルオフセットアドレステーブル328は、「CS_1」識別子および「3」のオフセットを有するコードセクションにおいて対応するシンボルを配置する。コードセクションアドレステーブル326は、コードセクション1の開始アドレス(302)を与える。このようにして、シンボル「X」が見出される(図6を参照)。
【0061】
ランタイムエンジンが、コードセクションアドレステーブルおよびシンボルオフセットアドレステーブルを用いて、受信されたシンボル識別子に対応するシンボルを配置した後、これは、配置されたシンボルがデータアイテムである場合データを抽出する。例えば、シンボル「X」がシンボルライブラリ1(310)におけるデータアイテムである場合、ランタイムエンジンはこれを抽出する。あるいは、「X」シンボルは、オペレーションコードであり得、ランタイムエンジンは、これが配置されると、シンボル「X」を実行させる。
【0062】
PMRTIがシステムデータまたはシステムデータアイテムを更新するために用いられ得る。本発明のいくつかの局面において、システムデータが、ファイルシステムセクション110、例えば、コードセクション472におけるコードセクションに格納される(図4を参照)。ランタイムエンジンはコードセクション472からのシステムデータにアクセスし、かつ、このシステムデータを解析する。ランタイムエンジンは、上述のように、データアイテムに関する数学的、または論理的演算を実行するために、ダイナミック命令のオペレーションコードを処理する。演算の後、ランタイムエンジンは、更新されるシステムデータを生成する命令を処理する。更新されるシステムデータは、いくつかの状況において、変更されないデータアイテムを含み得ることに留意されたい。第2のコードセクション472におけるシステムデータは、オペレーションコードに応答して、更新されるシステムデータと置換される。従って、ランタイムエンジンによる命令の処理によって、システムソフトウェアは、コードセクション472における更新されたシステムデータを用いて実行するように制御される。このようにして、システムソフトウェアにおける、特定のターゲットとされたシンボルが更新され得るが、コードセクション全体は置換されない。同じプロセスによって、システムデータは、コード格納セクション112におけるコードセクションにおいて置換され得る。例えば、システムデータは、第3のコードセクション344に格納され得、ランタイムエンジンは、第3のコードセクションにおけるシステムデータを、オペレーションコードに応答して、更新されるシステムデータと置換し得る。
【0063】
PMRTIは、さらに、揮発性メモリ114内のデータを更新するために用いられ得る。1例として、揮発性メモリ114は、リード−ライトデータ330を受取る(図1を参照)。リード−ライトデータは、コード格納セクション112および/またはFSS110における1つまたは複数のコードセクションから出力され得る。ランタイムエンジンは、リード−ライトデータにアクセスし、リード−ライトデータ330を解析し、更新されるリード−ライトデータを生成し、かつ揮発性メモリ114におけるリード−ライトデータ330を、オペレーションコードに応答して、更新されるリード−ライトデータ330と置換する。その後、システムソフトウェアは、揮発性メモリ114内の更新されたリード−ライトデータを用いて実行するように制御される。
【0064】
本発明のいくつかの局面において、ランタイムエンジンは、システムソフトウェアの実行をモニタリングする。性能モニタリングは、多数の無線デバイスアクティビティを含むように広く規定される。例えば、チャネルパラメータ、チャネル特性、システムスタック、エラー状態、または、特定の故障状態または性能低下状態に至る演算のシーケンスを通じてのRAMにおけるデータアイテムのレコード等のデータが収集され得る。収集された性能データを解析するためにダイナミック命令セットを用い、更新されるデータの変形を提供し、かつ問題に対する可能な解決策を検討するためにデータを再キャプチャすることも可能である。PMRTIプロセスを用いて一次的な修理も提供され得る。
【0065】
より具体的には、ランタイムエンジンは性能データを収集し、かつ、オペレーションコードに応答して、性能データをファイルシステムセクションに格納する。その後、システムソフトウェアは、システムソフトウェアの評価のために性能データを収集することによって実行するように制御される。評価は、ダイナミック命令セットオペレーションコードによって実行される解析の形態として行われ得るか、または、評価は、無線デバイスの外部で実行され得る。本発明のいくつかの局面において、ランタイムエンジンは、ファイルシステムセクションから収集された性能データをアクセスし、かつ、オペレーションコードに応答して、エアリンクインターフェイスを介して性能データを送信する。現場の無線デバイスから性能データを収集することによって、製造業者が、デバイスをリコールすることなく、地域的または地球規模で問題を徹底的に解析することが可能になる。
【0066】
本発明のいくつかの局面において、ファイルシステムセクション110は、新しいコードセクションを含むパッチマネージャランタイム命令を受信する。例えば、新しいコードセクション474は、図4に示される。あるいは、新しいコードセクションn(450)等の新しいコードセクションは、PMRTIに依存し得ない。例えば、新しいコードセクションn(450)は、以前のエアリンク通信で受信され得るか、または、工場調整中にインストールされ得る。ランタイムエンジンは、オペレーションコードに応答して、新しいコードセクション474(450)をコード格納セクションに追加する。本発明のいくつかの局面において、新しいコードセクションは、コード格納セクション112における未使用のブロックに追加される。あるいは、圧縮演算が必要とされる。その後、システムソフトウェアは、新しいコードセクション474(450)を用いて実行するように制御される。本発明の他の局面において、PMRTI454は、更新されたコードセクション474を含む。あるいは、新しいコードセクション450は、PMRTIに依存しない更新されたコードセクションである。ランタイムエンジンは、コード格納セクションにおけるコードセクション、例えば、コードセクション2(304)を、オペレーションコードに応答して、更新されるコードセクション474(450)と置換する。システムソフトウェアは、更新されたコードセクション474(450)を用いて実行するように制御される。本発明のいくつかの局面において、圧縮演算は、更新されるコードセクションを収容するために必要とされる。あるいは、更新されるコードセクションは、コード格納セクションの未使用または空のセクションに追加される。
【0067】
上述のように、新しいコードセクションの追加、またはコードセクションの更新は、通常、新しいコードセクションアドレステーブルの生成を必要とし、これは、これらの演算は、新しいおよび/または変更されたコードセクション開始アドレステーブルを含むからである。さらに、圧縮演算はまた、新しいコードセクションアドレステーブルを必要とする。圧縮演算は、上述の圧縮器342の演算の結果か、または、圧縮方法関する詳細を供給するPMRTI命令の結果であり得る。PMRTIがダウンロードおよび圧縮命令を含む場合、PMRTIは、通常、ダウンロードおよび圧縮が完了された後に有効になる新しいコードセクションアドレステーブルをさらに含む。
【0068】
図9は、無線通信デバイスにおいてシステムソフトウェアを現場診断する本発明の方法を示す概略的ブロック図である。システム900は、図1のエアリンクインターフェイス150と等価であるエアリンクインターフェイス902、ならびに図1のメモリ108と等価である不揮発性メモリ永久格納装置904に格納されるコードセクションへ区分される実行可能システムソフトウェアおよびシステムデータを含む。システム900は、実質的に上述のシステム100と同一であり、同様の特徴は、簡単のために繰り返さない。不揮発性永久格納装置904は、ファイルシステムセクション906およびコード格納セクション908を含む。
【0069】
システムソフトウェアを現場診断するダイナミック命令セット910は、エアリンクインターフェイス902を介して受信される。ダイナミック命令セット910、および新しいコードセクション912は、パッチマネージャランタイム命令914の一部である。通常、ダイナミック命令セット910は、ファイルシステムセクション906に格納される。ランタイムエンジン、またはランタイムライブラリ916は、ダイナミック命令セット910を処理する。上述のように、ランタイムライブラリ916は、通常、パッチマネージャコードセクション918の一部である。
【0070】
実行可能システムソフトウェアおよびシステムデータ(永久メモリ904のコードセクション)は、ダイナミック命令セット910によって動作する。システムソフトウェアは、ダイナミック命令セット910によるシステムソフトウェアおよびシステムデータ上の演算に続いて実行される。
【0071】
上記に詳細が示されたように、システムソフトウェアは、シンボルライブラリへ形成される。各シンボルライブラリは、コード格納セクション不揮発性メモリ908のコードセクションへ配置される関連機能を有するシンボルを含む。不揮発性メモリのファイルシステムセクション906は、ダイナミック命令セット910および新しいコードセクション(新しいコードセクション912が示される)を含む、パッチマネージャランタイム命令(PMITI)914を受信する。
【0072】
本発明のいくつかの局面では、ダイナミック命令セット910は、診断命令セットであり、新しいコードセクション912は、診断コードセクションである。ファイルシステムセクション906で受信された後、診断コードセクション912は、不揮発性メモリ904、通常はコード格納セクション908に格納される(「1」とラベル付けられた破線を参照)。診断命令セット910は、システムソフトウェアを有する診断コードセクション912を実行する。
【0073】
図10は、図9のシステムをより詳細に示す概略的ブロック図である。診断命令セット910の1つの機能は、システムソフトウェアを有する診断コードセクション912を実行することに応答して、システムデータを収集することである。本発明のある局面では、システムソフトウェアシンボルおよびシンボルデータは、収集されるデータコードセクション1000に収集され、収集されるデータコードセクション1000は、通常ファイルシステムセクション906(示されない)に存在するが、また、コード格納セクション(示されない)またはリード−ライト揮発性メモリ1002に存在し得る。
【0074】
本発明の別の局面では、システムソフトウェアは、シンボルおよびデータアイテムを格納し、格納されたシンボルおよびデータアイテムを更新して、システムソフトウェア演算のレコードを提供する。この一時的ステータス情報は、揮発性メモリ1002に保存され得る。これは、診断命令セット910が、収集されるデータコードセクション1000における格納のために、リード−ライト揮発性メモリに格納されるシンボルのアドレスおよび値をより単純に収集することを可能にする。
【0075】
収集されるデータコードセクション1000の収集されたデータは、その後、一時的修正を成立させるために現場診断システム900によって解析され得る(以下の図13および14の説明を参照)、もしくは無線デバイス製造業者に解析のために送信され得る。診断命令セット910は、収集されるシステムデータ1000をエアリンクインターフェイス902によって送信させる(「1」とラベル付けされた破線を参照)。その後、新しいパッチマネージャランタイム命令1004は、エアリンクインターフェイス902を介して受信される(ラベル「2」の破線を参照)。新しいPMRTI1004は、更新されたデータを含む新しいコードセクションを有する。診断命令セット910は、永久記憶装置の第1のコードセクションを新しいコードセクションと置換し(図9を参照)、システムソフトウェアは、新しいコードセクションを用いて実行される。
【0076】
図11は、図10の診断命令セット912の条件付論理または数学的局面を示す概略図である。本発明のこの局面では、診断命令セット912は、条件付診断命令セットを利用して、収集されるデータを解析する。条件付き演算は、データアイテムに「3」を加えるような、単純な数学的演算であり得る。もしくは、演算は、より複雑であり得る。示されるように、演算は、if X<3であれば、X=5にし、elseであれば、X値をそのままにしておく。条件付演算は、標準的なソフトウェア機能に基づくので、条件付論理演算の総数、タイプ、およびバリエーションは多様すぎて述べることはできない。システムデータは、収集されたデータの解析に応答して更新され、システムソフトウェアは、更新されたシステムデータを利用して実行される。示されるように、システムソフトウェアは、Xにおいて演算し、ここでXの値は、5に等しい。
【0077】
図12は、本発明の現場診断システム900の単純な更新局面を示す概略的なブロック図である。診断コードセクション914は、Z_1(1200)、Z_2(1202)、およびZ_3(1204)として示される、更新されるシステムデータの所定のセットを含む。診断ダイナミック命令セット912は、更新されるシステムデータセット、例えばZ_1(1200)を選択する。その後、システムソフトウェア、例えばコードセクション1206は、選択される更新されるシステムデータセットZ_1(1200)を利用して実行する。尚、Z_1データセット1200は、R_1データセット1208を置換する。診断命令セット912は、R_1データセットを利用してシステムソフトウェアがより効力を持たないことを既に判定している。
【0078】
図13は、本発明の現場診断システム900の反復コードパッチ局面を示す概略的なブロック図である。ここで、診断コードセクション914は、Y_1(1300)、Y_2(1302)、およびY_3(1304)として示される、複数の一時的コードシンボルライブラリ、ならびに対応する制約条件YC_1(1306)、YC_2(1308)、およびYC_3(1310)を含む。この診断コードセクション914はまた、テストコードセクションと呼ばれ得る。ライブラリおよび制約条件セクションは、別々に示されるが、制約条件セクション1306〜1310は、あるいは一時的ライブラリ1300〜1304の一部であり得るか、または他の診断コードセクション(示されない)に位置付けられる。
【0079】
診断命令セット912は、第1の一時的コード、例えばY_1(1300)を実行する。すなわち、診断命令セット912は、システムソフトウェア、例えばコードセクション1312を第1の一時的コードY_1(1300)を用いて実行する。システムデータは、第1の一時的コードY_1(1200)の実行に応答して、例えば収集されるデータコードセクション1000に収集される(「1」とラベル付けされた破線を参照)。診断命令セット912は、収集されるシステムデータを対応する制約条件YC_1(1306)と比較する。解析は、診断命令セットにより生成される、上述のような単純または複雑な条件付論理または数学的演算に基づき得る。単純には、診断コードセクション914は、システムデータトリガー値として組織化される制約条件を含み、診断命令セット912は、第1の一時的コードY_1(1300)の実行に応答して収集されたシステムデータ1000を、YC_1(1306)のシステムデータトリガー値と比較することによって、収集されたデータを解析する。
【0080】
収集されるシステムデータ1000が解析をパスすると、第1の一時的コードY_1(1200)は、動作可能であることが前提とされ、システムデータは、第1の一時的コード制約条件YC_1(1306)毎に一時的に更新される。コードセクション1312が、インストールされたコードの代わりの一時的コードセクション、例えばR_1(1314)を有して動作し得るので、システムソフトウェアは、一時的に、選択されたシステムソフトウェアシンボルを、診断コードセクション914の第1の一時的コードシンボルライブラリY_1(1300)における対応シンボルにリダイレクトする(「2」とラベル付けされた破線を参照)。詳細に上述されたように、コードセクションアドレステーブルおよびシンボルオフセットアドレステーブルは、コードセクション内にコードセクションおよびシンボルを位置付けるために利用される。一時的コードセクションがシステムソフトウェアへパッチされる場合、診断命令セット912はまた、診断コードセクションのアドレスで、シンボルオフセットアドレステーブルおよびコードセクションアドレステーブルを更新する。示されるように、コードセクション1312は、コードセクションR_1(1314)の対応シンボルと置換するために、一時的コードセクションY_1(1300)におけるシンボルで更新される。
【0081】
しかし、収集されるデータ1000は、制約条件との都合のより比較でなくてもよい。この不都合な比較は、一時的コードがシステムソフトウェア問題に対する正しい修正でないことを示す。従って、診断命令セット912は、収集されるシステムデータが解析をパスしない場合、代替の一時的コードシンボルライブラリを実行する。このプロセスが、「良好」コードセクションが発見されるまで、反復的に一時的コードセクションをテストする。「良好」コードが発見されない場合、システムソフトウェアは、元々インストールされていたコードにより動作し続ける。尚、上述の一時的修正は、診断ツールであることが意図されるが、この一時的修正は、無制限にシステムへパッチされたままであり得る。
【0082】
図14は、図13の現場診断システム900により確立された一時的修正への永久的ソリューションを示す概略的ブロック図である。診断された問題に対する永久的ソリューションを成立させるために、診断命令セット912は、一時的ソフトウェアデータ更新および一時的にリダイレクトされたシステムソフトウェアシンボルのコレクションを、エアリンクインターフェイス902を介して送信させる(「1」とラベル付けされた破線を参照)。示されるように、一時的更新情報は、コードセクション1400へ格納される。一時的修正の送信は、製造業者が情報の解析を実行することを可能にし、それにより、包括的かつ効果的ソリューションが生成され得る。その後、更新されるコードセクションアドレステーブルおよび更新されるシンボルオフセットアドレステーブルを有する永久的に更新されるコードセクション1402は、エアリンクインターフェイス902を介して、ファイルシステムセクション906において新しいPMRTIとして受信される(「2」とラベル付けされた破線を参照)。診断命令セット912は、更新されるコードセクションアドレステーブルおよびシンボルオフセットテーブルを有する更新されるコードセクション1402を、永久格納装置に格納する。示されるように、更新されるコードセクションは、コード格納セクション908に格納される(「3」とラベル付けされた破線を参照)。
【0083】
図15aおよび図15bは、無線通信デバイスにおいてダイナミック命令セットを実行する本発明の方法を示すフローチャートである。明確さのためにナンバリングされたステップのシーケンスとして示されるが、順序は、特に記述されない限り、ナンバリング(および以下に示される方法におけるナンバリング)から推論されるべきではない。本方法は、ステップ1500で開始する。ステップ1501aは、システムソフトウェアをシンボルライブラリへ形成し、各シンボルライブラリは、関連する機能を有するシンボルを有する。ステップ1501bは、シンボルライブラリをコードセクションへ配置する。ステップ1502は、システムソフトウェアを実行する。ステップ1503は、ランタイムエンジンを起動する。通常、ランタイムエンジンを起動するステップは、第1のコードセクションからランタイムライブラリを呼び出すステップを包含する。ランタイムエンジンは、揮発性または不揮発性メモリのどちらかから起動され得る。ステップ1504は、ステップ1503に続いて、ダイナミック命令セットを受信する。ステップ1504におけるダイナミック命令セットを受信するステップは、エアリンク、無線周波数(RF)有線、インストール可能メモリモジュール、赤外線、および論理ポートインターフェイスを含むグループから選択されるインターフェイスを介して、ダイナミック命令セットを受信するステップを包含する。発明のいくつかの局面では、ステップ1504においてダイナミック命令セットを受信するステップは、ファイルシステムセクション不揮発性メモリにおいてパッチマネージャランタイム命令(PMRTI)を受信するステップを包含する。
【0084】
ステップ1506は、ダイナミック命令セットを処理する。ダイナミック命令セットを処理するステップは、数学的および論理的演算に応答して、命令を処理するステップを包含する。本発明のいくつかの局面では、ステップ1507(示されない)において、ダイナミック命令セットを処理するステップに続いて、ダイナミック命令セットを消去する。ステップ1508は、システムデータおよびシステムソフトウェアにおいて演算する。ステップ1510は、システムデータおよびシステムソフトウェアにおいて演算するステップに応答して、システムソフトウェアの実行を制御する。
【0085】
通常、ステップ1504においてパッチマネージャランタイム命令を受信するステップは、条件付演算コードおよびデータアイテムを受信するステップを包含する。さらに、ステップ1506においてダイナミック命令セットを受信するステップは、サブステップを包含する。ステップ1506a1は、ランタイムエンジンを利用して、パッチマネージャラインタイム命令演算コードを読む。ステップ1506bは、演算コードに応答して、演算のシーケンスを実行する。
【0086】
いくつかの局面では、ステップ1501bにおいてシンボルライブラリをコードセクションへ配置するステップは、コードセクションの開始点でシンボルライブラリを開始させるステップと、シンボルを各コードセクション開始アドレスからのオフセットになるように配置するステップとを包含する。本方法は、さらなるステップを包含する。ステップ1501cは、対応する開始アドレスにおいてコードセクションの開始点を格納する。ステップ1501dは、対応する開始アドレスとコードセクション識別子を相互参照するコードセクションアドレステーブル(CSAT)を保持する。ステップ1501eは、対応するオフセットアドレス、および対応するコードセクション識別子とシンボル識別子を相互参照するシンボルオフセットアドレステーブル(SOAT)を保持する。
【0087】
本発明のいくつかの局面では、ステップ1504においてパッチマネージャランタイム命令を受信するステップは、シンボル識別子を受信するステップを包含する。さらに、本方法は、さらなるステップを包含する。ステップ1506a2は、コードセクションアドレステーブルおよびシンボルオフセットアドレステーブルの利用により、受信したシンボル識別子と対応するシンボルを位置付ける。ステップ1506bの演算コードに応答して、演算のシーケンスを実行するステップは、サブステップを包含する。ステップ1506b1は、位置付けられたシンボルがデータアイテムである場合、データを抽出する。ステップ1506b2は、位置付けられたシンボルが命令である場合、シンボルを実行する。
【0088】
本発明のいくつかの局面において、ステップ1506b1のダイナミック命令セットを処理するステップは、さらなるサブステップを包含する。ステップ1506b1aは、ランタイムエンジンを利用して、パッチマネージャランタイム命令の長さをキャプチャする。ステップ1506b1bは、演算コードに応答して、パッチマネージャランタイム命令からデータアイテムを抽出する。ステップ1506b1cは、演算コードに応答する演算のシーケンスを実行する際に、抽出されたデータを利用する。
【0089】
図16は、例示的ダイナミック命令セットオペレーションを示すフローチャートである。図16のステップのいくつかは、図15と同じであり、簡単のためにここでは繰り返さない。ステップ1606においてダイナミック命令セットを処理するステップは、サブステップを包含する。ステップ1606aは、ファイルシステムセクションにおける第2のコードセクションに格納されるシステムデータにアクセスする。ステップ1606bは、システムデータを解析する。ステップ1606cは、更新されるシステムデータを生成する。その後、ステップ1608におけるシステムデータおよびシステムソフトウェアにおいて演算するステップは、更新されるシステムデータで第2のセクションのシステムデータを置換するステップを包含し、ステップ1610においてシステムソフトウェアの実行を制御するステップは、システムソフトウェアの実行時に更新されるシステムデータを利用するステップを包含する。
【0090】
図17は、別の例示的ダイナミック命令セットオペレーションを示すフローチャートである。図17のステップのいくらかは、図15と同じであり、簡単のためにここでは繰り返さない。ステップ1701cは、複数のコードセクションをコード格納セクション不揮発性メモリに格納する。ステップ1706におけるダイナミック命令セットを処理するステップは、サブステップを包含する。ステップ1706aは、コード格納セクション(CSS)の第3のコードセクションに格納されるシステムデータにアクセスする。ステップ1706cは、更新されるシステムデータを生成する。ステップ1708においてシステムデータおよびシステムソフトウェアにおいて演算するステップは、更新されるシステムデータで第3のコードセクションのシステムデータを置換するステップを包含する。ステップ1710においてシステムソフトウェアの実行を制御するステップは、システムソフトウェアの実行時に更新されるシステムデータを利用するステップを包含する。
【0091】
図18は、第3の例示的ダイナミック命令セットオペレーションを示すフローチャートである。図18のステップのいくらかは、図15と同じであり、簡単のためにここでは繰り返さない。ステップ1801cは、複数のコードセクションをコード格納セクション不揮発性メモリに格納する。ステップ1801dは、リード−ライトデータを揮発性メモリにロードする。ステップ1806におけるダイナミック命令セットを処理するステップは、サブステップを包含する。ステップ1806aは、揮発性メモリのリード−ライトデータにアクセスする。ステップ1806bは、リード−ライトデータを解析する。ステップ1806cは、更新されるリード−ライトデータを生成する。ステップ1808のシステムデータおよびシステムソフトウェアにおける演算は、更新されるリード−ライトデータで揮発性メモリのリード−ライトデータを置換するステップを包含する。ステップ1810においてシステムソフトウェアの実行を制御するステップは、システムソフトウェアの実行時に更新されるリード−ライトデータを利用するステップを包含する。
【0092】
図19は、第4の例示的ダイナミック命令セットオペレーションを示すフローチャートである。図19のステップのいくつかは、図15と同じであり、簡単のためにここでは繰り返さない。ダイナミック命令セットを処理するステップは、サブステップを包含する。ステップ1906aは、オペレーションコードに応答して、システムソフトウェアの実行をモニタリングする。ステップ1906bは、性能データを収集する。ステップ1906cは、性能データを格納する。ステップ1906dは、エアリンクインターフェイスを介して格納されるデータを送信する。ステップ1908のシステムデータおよびシステムソフトウェアにおける演算は、システムソフトウェアの評価時に性能データを利用する。ステップ1910は、システムソフトウェアの実行を制御する。
【0093】
図20は、第5の例示的ダイナミック命令セットオペレーションを示すフローチャートである。図20のステップのいくつかは、図15と同じであり、簡単のためにここでは繰り返さない。ステップ2001cは、複数のコードセクションをコード格納セクション不揮発性メモリに格納する。ステップ2003においてパッチマネージャランタイム命令を受信するステップは、新しいコードセクションを受信するステップを包含する。ステップ2008のシステムデータおよびシステムソフトウェアにおいて演算するステップは、コード格納セクションに新しいコードセクションを加算するステップを包含し、ステップ2010のシステムソフトウェアの実行を制御するステップは、システムソフトウェアの実行時に新しいコードセクションを利用するステップを包含する。
【0094】
もしくは、ステップ2003の新しいコードセクションを受信するステップは、更新されるコードセクションを受信するステップを包含する。そして、ステップ2008におけるシステムデータおよびシステムソフトウェアにおいて演算するステップは、更新されるコードセクションでコード格納セクションの第4のコードセクションを置換するステップを包含する。
【0095】
図21は、無線通信デバイスにおいてシステムソフトウェアを現場更新する本発明の方法を示すフローチャートである。本方法は、ステップ2100で開始する。ステップ2102は、システムソフトウェアを実行する。ステップ2104は、ランタイムエンジンを起動する。ステップ2106は、ダイナミック命令セットおよび新しいコードセクションを含む、ファイルシステムセクション不揮発性メモリにおいてパッチマネージャランタイム命令(PMRTI)を受信する。ステップ2108は、ダイナミック命令セットを処理して、システムソフトウェアを現場診断する。ステップ2110は、ステップ2108のシステムソフトウェアを現場診断するステップに応答して、システムデータおよびシステムソフトウェアにおいて演算する。ステップ2110のシステムソフトウェアおよびシステムデータにおいて演算するステップに続いて、ステップ2112は、システムソフトウェアを実行する。
【0096】
既に記載されたのでこの図に具体的に示されないが、ステップ2101aは、システムソフトウェアをシンボルライブラリへ形成し、各シンボルライブラリは、関連する機能を有するシンボルを含み、ステップ2101bは、シンボルライブラリをコード格納セクション不揮発性メモリのコードセクションへ配置する。
【0097】
本発明のいくつかの局面では、ステップ2106のダイナミック命令セットを受信するステップは、診断命令セットを受信するステップを包含する。さらに、新しいコードセクションを受信するステップは、診断コードセクションを受信するステップを包含する。その後、ステップ2107は、診断コードセクションを不揮発性メモリ永久記憶装置に格納し、ステップ2108のダイナミック命令セットを処理するステップは、システムソフトウェアを有する診断コードセクションを実行するために診断命令セットを処理するステップを包含する。
【0098】
本発明のいくつかの局面では、ステップ2108の診断命令セットを処理するステップは、サブセットを包含する。ステップ2108aは、システムデータを収集する。通常、システムデータは、システムソフトウェアを有する診断コードセクションを実行するステップに応答して、収集される。いくつかの局面では、ステップ2108aのシステムデータを収集するステップは、リード−ライト揮発性メモリのシンボルのアドレスおよび値を収集するステップを包含する。ステップ2108bは、収集されるシステムデータをファイルシステムセクションの第1のコードセクションに格納する。ステップ2108cは、条件付演算コードを利用して、収集されるデータを解析する。その後、ステップ2110のシステムデータおよびシステムソフトウェアにおいて演算するステップは、収集されるデータを解析するステップに応答して、システムデータを更新するステップを包含する。ステップ2112のシステムソフトウェアを実行するステップは、更新されるシステムデータを利用するステップを包含する。理解されるべきは、ステップ2108aから2108cのデータを収集、格納、解析するステップの順序は、必ずしも示される順番ではないことである。いくつかのプロセスは、反復的であり、収集、格納、および解析するステップを呼び出す。別のプロセスが、データを解析し得、データを格納し得る。当業者に理解されるように、収集、格納、解析ステップの別のバリエーションが存在する。
【0099】
本発明のいくつかの局面では、ステップ2106の診断コードセクションを受信するステップは、更新されるシステムデータの所定のセットを受信するステップを包含する。ステップ2108の診断命令セットを処理するステップは、更新されるシステムデータセットを選択するステップを包含し、ステップ2110のシステムデータおよびシステムソフトウェアにおいて演算するステップは、システムソフトウェアを実行するために選択された更新されるシステムデータセットを利用するステップを包含する。
【0100】
図22は、図21に示される本発明の方法のさらなる特徴を示すフローチャートである。尚、簡単のために、図21に示されるステップのほとんどは、図22と同じであり、その説明は、ここで繰り返さない。ステップ2106は、複数の一時的コードシンボルライブラリおよび対応する制約条件を有するテストコードセクションを受信するステップを包含する。ステップ2108の診断命令セットを処理するステップは、第1の一時的コードを実行するステップを包含する。ステップ2108cの収集されたデータを解析するステップは、第1の一時的コードを実行するステップに応答して収集されるシステムデータを対応する制約条件と比較するステップを包含する。ステップ2110のシステムデータおよびシステムソフトウェアにおいて演算するステップは、サブステップを包含する。ステップ2110aは、収集されるシステムデータが解析をパスする場合、第1の一時的コード制約条件毎にソフトウェアデータを一時的に更新する。ステップ2110bは、診断コードセクションの第1の一時的コードシンボルライブラリの対応シンボルに、選択されたシステムソフトウェアをリダイレクトする。収集されるシステムデータが解析をパスしない場合、ステップ2108の診断命令セットを処理するステップは、代替の一時的コードシンボルライブラリを実行するステップを包含する。
【0101】
ステップ2101bのシンボルライブラリをコードセクションへ配置するステップは、コードセクションの開始点でシンボルライブラリを開始するステップを包含し、各コードセクション開始アドレスからのオフセットになるようにシンボルを配置する。上述されたので、従って説明しないが、ステップ2101cは、対応する開始アドレスにおいてコードセクションの開始点を格納する。ステップ2101dは、コードセクション識別子を対応する開始アドレスと相互参照するコードセクションアドレステーブルを保持する。ステップ2101eは、シンボル識別子を対応するオフセットアドレスおよび対応するコードセクション識別子と相互参照するシンボルオフセットアドレステーブルを保持する。その後、ステップ2112においてテストコードセクションから一時的コードシンボルライブラリを実行するステップは、シンボルオフセットアドレステーブルおよびコードセクションアドレステーブルを診断コードセクションのアドレステーブルで更新するステップを包含する。
【0102】
いくつかの局面では、ステップ2106の診断コードセクションを受信するステップは、一時的コードシンボルライブラリおよびシステムデータトリガー値として組織化される制約条件を有するテストコードセクションを受信するステップを包含する。その後、ステップ2108cの収集されるデータを解析するステップは、第1の一時的コードを実行するステップに応答して収集されたシステムデータを、システムデータトリガー値のセットと比較するステップを包含する。
【0103】
ステップ2114は、一時的ソフトウェアデータ更新のコレクションを送信し、かつエアリンクインターフェイスを介してシステムソフトウェアシンボルを一時的にリダイレクトする。ステップ2116は、ファイルシステムセクションに更新されるコードセクションアドレステーブルおよび更新されるシンボルオフセットアドレステーブルを有する更新されるコードセクション(永久更新)を受信する。その後、ステップ2108のダイナミック命令セットを処理するステップは、更新されるコードセクションアドレステーブルおよびシンボルオフセットアドレステーブルを有する更新されるコードセクションを永久格納装置に格納するステップを包含する。
【0104】
図23は、図21の現場診断方法の外部解析の特徴を示すフローチャートである。再び、図23のステップのほとんどは、図21のステップと同じであり、簡単のために繰り返さない。ステップ2108の診断命令セットを処理するステップは、エアリンクインターフェイスを介して収集されるシステムデータを送信するステップを包含する。外部解析の後、ステップ2108dは、更新されるデータを含む新しいコードセクションを有する新しいパッチマネージャランタイム命令を受信する。ステップ2108eは、永久格納装置の第1のコードセクションを新しいコードセクションで置換する。その後、ステップ2112のシステムソフトウェアを実行するステップは、新しいコードセクションを利用するステップを包含する。本発明のいくつかの局面では、ステップ2118は、ステップ2108のシステムソフトウェアの現場診断に続いて、ダイナミック(診断)命令セットをファイルシステムセクションから除去する。
【0105】
少なくとも一時的にシステムソフトウェアの問題を診断および/または修正するのに役立つような、無線通信デバイスにおいてダイナミック命令セットを実行するシステムおよび方法が提供された。本システムは、シンボルライブラリのコードセクションにおける配置のために、メモリ内のコードセクションの開始アドレスにアクセスするためのテーブルおよびシンボルライブラリにおけるシンボルのオフセットアドレスにより、容易に更新可能である。ダイナミック命令セットの利用は、カスタム修正が、デバイスの特定の特徴に基づき、各無線デバイスに対して実行されることを可能にする。ダイナミック命令セットの可能な利用を示すいくつかの一般的な例が示された。しかし、本発明は、これらの例だけに制限されない。本発明の他の改変および実施形態が、当業者には明らかである。
【図面の簡単な説明】
【0106】
【図1】図1は、無線デバイスソフトウェアメンテナンスシステム全体の概略的なブロック図である。
【図2】図2は、エアリンクインターフェイスを介して命令セットのインストールをハイライトする、ソフトウェアメンテナンスシステムの概略的なブロック図である。
【図3】図3は、無線通信デバイスのダイナミック命令セットを実行する本発明のシステムを図示する概略的ブロック図である。
【図4】図4は、無線デバイスメモリの概略的ブロック図である。
【図5】図5は、図3のコードセクションアドレステーブルを示すテーブルである。
【図6】図6は、シンボルを有する、図3のシンボルライブラリ1の詳細な図である。
【図7】図7は、図3のシンボルオフセットアドレステーブルを示すテーブルである。
【図8a】図8aは、ランタイムエンジンによりアクセスされているオペレーションコード(オペコード)の図である。
【図8b】図8bは、ランタイムエンジンによりアクセスされているオペレーションコード(オペコード)の図である。
【図9】図9は、無線通信デバイスのシステムソフトウェアを現場診断する本発明のシステムを示す概略的ブロック図である。
【図10】図10は、より詳細な図9のシステムを示す概略的なブロック図である。
【図11】図11は、図10の診断命令セットの条件的論理または数学的局面を示す概略図である。
【図12】図12は、本発明の現場診断システムの単純な更新局面を示す概略的ブロック図である。
【図13】図13は、本発明の現場診断システムの反復コードパッチ局面を示す概略的ブロック図である。
【図14】図14は、図13の現場診断システムにより確立される一時的な修正に対する永久的ソリューションを示す概略的ブロック図である。
【図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の現場診断方法の外部解析の特徴を示すフローチャートである。
Claims (35)
- 無線通信デバイスにおいて、システムソフトウェアを現場診断する方法であって、該方法は、
システムソフトウェアを実行するステップと、
ランタイムエンジンを起動するステップと、
該システムソフトウェアを現場診断するダイナミック命令セットを処理するステップと
を包含する、方法。 - 前記システムソフトウェアを現場診断するステップに応答して、システムデータおよびシステムソフトウェアにおいて演算するステップと、
該システムソフトウェアおよびシステムデータにおいて演算する該ステップに続いて、該システムソフトウェアを実行するステップと
をさらに包含する、請求項1に記載の方法。 - 前記システムソフトウェアをシンボルライブラリへ形成するステップであって、各ライブラリは、関連する機能を有するシンボルを含む、ステップと、
該シンボルライブラリをコード格納セクション不揮発性メモリのコードセクションへ配置するステップと、
ダイナミック命令セットおよび新しいコードセクションを含む、ファイルシステムセクション不揮発性メモリにおいてパッチマネージャランタイム命令(PMRTI)を受信するステップと
をさらに包含する、請求項2に記載の方法。 - ダイナミック命令セットを受信するステップは、診断命令セットを受信するステップを包含し、新しいコードセクションを受信するステップは、診断コードセクションを受信するステップを包含し、
該診断コードセクションを不揮発性メモリ永久格納装置に格納するステップ
をさらに包含し、
ダイナミック命令セットを処理するステップは、前記システムソフトウェアを有する該診断コードセクションを実行するように該診断命令セットを処理するステップを包含する、請求項3に記載の方法。 - 診断命令セットを処理するステップは、システムデータを収集するステップを包含する、請求項4に記載の方法。
- 診断命令セットを処理するステップは、前記システムソフトウェアを有する前記診断コードセクションを実行するステップに応答して、システムデータを収集するステップを包含する、請求項5に記載の方法。
- システムデータを収集するステップは、リード−ライト揮発性メモリのシンボルのアドレスおよび値を収集するステップを包含する、請求項5に記載の方法。
- 診断命令セットを処理するステップは、前記収集されたシステムデータを前記ファイルシステムセクションの第1のコードセクションに格納するステップを包含する、請求項5に記載の方法。
- 診断命令セットを処理するステップは、前記収集されたデータを解析する条件付オペレーションコードを利用するステップを包含する、請求項5に記載の方法。
- 前記システムデータおよびシステムソフトウェアにおいて演算するステップは、前記収集されたデータを解析するステップに応答して、該システムデータを更新するステップを包含し、
該システムソフトウェアを実行するステップは、該更新されたシステムデータを利用するステップを包含する、請求項9に記載の方法。 - 診断コードセクションを受信するステップは、更新されたシステムデータの所定のセットを受信するステップを包含し、
診断命令セットを処理するステップは、更新されたシステムデータセットを選択するステップを包含し、
該システムデータおよびシステムソフトウェアにおいて演算するステップは、該システムソフトウェアを実行する選択された更新されたシステムデータセットを利用するステップを包含する、請求項6に記載の方法。 - 診断コードセクションを受信するステップは、複数の一時的コードシンボルライブラリおよび対応する制約条件を有するテストセクションを受信するステップを包含し、
診断命令セットを処理するステップは、第1の一時的コードを実行するステップを包含し、
前記収集されたデータを解析するステップは、該第1の一時的コードを実行するステップに応答して収集されたシステムデータを、該対応する制約条件と比較するステップを包含し、
前記システムデータおよびシステムソフトウェアにおいて演算するステップは、
該収集されたシステムデータが解析をパスする場合、該第1の一時的コード制約条件毎に該ソフトウェアデータを一時的に更新するステップと、
該診断コードセクションの該第1の一時的コードシンボルライブラリの対応シンボルに、選択されたシステムソフトウェアシンボルを一時的にリダイレクトするステップと
を包含し、
診断命令セットを処理するステップは、該収集されるシステムデータが解析をパスしない場合、代替の一時的コードシンボルライブラリを実行するステップを包含する、請求項11に記載の方法。 - 前記シンボルライブラリをコードセクションへ配置するステップは、コードセクションの開始点でシンボルライブラリを開始させるステップと、シンボルをそれらの各コードセクション開始アドレスからのオフセットであるように配置するステップとを包含し、
コードセクションの該開始点を対応する開始セクションに格納するステップと、
コードセクション識別子を対応する開始アドレスと相互参照するコードセクションアドレステーブルを保持するステップと、
シンボル識別子を対応するオフセットアドレスおよび対応するコードセクション識別子と相互参照するシンボルオフセットアドレステーブルを保持するステップとをさらに包含し、
前記テストコードセクションから一時的コードシンボルライブラリを実行するステップは、前記診断コードセクションのアドレスで該シンボルオフセットアドレステーブルおよびコードセクションアドレステーブルを更新するステップを包含する、請求項12に記載の方法。 - 診断コードセクションを受信するステップは、一時的コードシンボルライブラリおよびシステムデータトリガー値として組織化される制約条件を有するテストコードセクションを受信するステッを包含し、
前記収集されたデータを解析するステップは、前記第1の一時的コードを実行するステップに応答して収集されたシステムデータを、システムデータトリガー値のセットと比較するステップを包含する、請求項13に記載の方法。 - エアリンクインターフェイスを介する、一時的ソフトウェアデータ更新、および一時的にリダイレクトされたシステムソフトウェアシンボルの収集を送信するステップと、
前記ファイルシステムセクションの更新されたコードセクションアドレステーブルおよび更新されたシンボルオフセットアドレステーブルを有する更新されたコードセクションを受信するステップと
をさらに包含し、
診断命令セットを処理するステップは、該更新されたコードセクションアドレステーブルおよび更新されたシンボルオフセットアドレステーブルを有する更新されたコードセクションを、永久格納媒体に格納するステップを包含するステップを包含する、請求項13に記載の方法。 - 診断命令セットを処理するステップは、エアリンクインターフェイスを介して前記収集されたシステムデータを送信するステップを包含し、
更新されたデータを含む新しいコードセクションを有する新しいパッチマネージャランタイム命令を受信するステップと、
永久格納装置の第1のコードセクションを該新しいコードセクションで置換するステップと、
前記システムソフトウェアを該新しいコードセクションを利用して実行するステップと
をさらに包含する、請求項8に記載の方法。 - 前記システムソフトウェアの前記現場診断に続いて、前記ファイルシステムセクションから前記ダイナミック命令セットを除去するステップ
をさらに包含する、請求項3に記載の方法。 - 無線通信デバイスにおいて、システムソフトウェアを現場更新する方法であって、該方法は、
システムソフトウェアを実行するステップと、
ランタイムエンジンを起動するステップと、
ダイナミック命令セットおよび新しいコードセクションを含む、ファイルシステムセクション不揮発性メモリにおいてパッチマネージャラインタイム命令(PMRTI)を受信するステップと
該システムソフトウェアを現場更新するダイナミック命令セットを処理するステップであって、
該システムソフトウェアを有するデータを収集する診断命令セットを実行するステップと、
該収集されたデータを解析するステップ
のように処理するステップと、
該収集されたデータを解析するステップに応答して、システムデータおよびシステムソフトウェアにおいて演算するステップと、
該システムソフトウェアおよびシステムデータにおいて演算を実行する該ステップに続いて、該システムソフトウェアを実行するステップと
を包含する、方法。 - 無線通信デバイスにおいて、システムソフトウェアを現場更新するシステムであって、該システムは、
不揮発性メモリ永久格納装置に格納されるコードセクションへ区分される実行可能システムソフトウェアおよびシステムデータと、
現場で該システムソフトウェアを診断するダイナミック命令セットと、
該ダイナミック命令セットを処理するランタイムエンジンと
を備える、システム。 - 前記現場診断ダイナミック命令セットは、システムデータおよびシステムソフトウェアにおいて演算し、
該システムソフトウェアは、該ダイナミック命令セットによる該システムソフトウェアおよびシステムデータにおける該演算の後に実行される、請求項19に記載のシステム。 - 前記システムソフトウェアは、シンボルライブラリへ形成され、各シンボルライブラリは、コード格納セクション不揮発性メモリのコードセクションへ配置される関連する機能を有するシンボルを含み、
ダイナミック命令セットおよび新しいコードセクションを含む、パッチマネージャランタイム命令(PMRTI)を受信する不揮発性メモリのファイルシステムセクション
をさらに備える、請求項20に記載のシステム。 - 前記ファイルシステムは、診断命令セットおよび診断コードセクションを受信し、
該診断コードセクションは、不揮発性メモリに格納され、
前記診断命令セットは、該システムソフトウェアを有する該診断コードセクションを実行する、請求項21に記載のシステム。 - 前記診断命令セットは、システムデータを収集する、請求項22に記載のシステム。
- 前記診断命令セットは、前記システムソフトウェアを有する前記診断コードセクションの実行に応答して、システムデータを収集する、請求項23に記載のシステム。
- リード−ライト揮発性メモリ
をさらに備え、
前記診断命令セットは、リード−ライト揮発性メモリに格納されるシンボルのアドレスおよび値を収集する、請求項23に記載のシステム。 - 前記診断命令セットは、前記ファイルシステムセクションの第1のコードセクションに前記収集されたシステムデータを格納する、請求項23に記載のシステム。
- 前記診断命令セットは、前記収集されたデータを解析する条件付診断命令セットを利用する、請求項23に記載のシステム。
- 前記システムデータは、前記収集されたデータの解析に応答して更新され、前記システムソフトウェアは、該更新されたシステムデータを利用して実行される、請求項27に記載のシステム。
- 前記診断コードセクションは、更新されたシステムデータの所定のセットを含み、
前記診断ダイナミック命令セットは、更新されたシステムデータセットを選択し、
前記システムソフトウェアは、該選択された更新されたシステムデータセットを利用して実行する、請求項24に記載のシステム。 - 前記診断コードセクションは、複数の一時的コードシンボルライブラリおよび対応する制約条件を含み、
前記診断命令セットは、第1の一時的コードを実行し、かつ該第1の一時的コードの実行に応答して収集されたシステムデータを、該対応する制約条件と比較し、
該システムデータは、前記収集されたシステムデータが解析をパスする場合、該第1の一時的コード制約条件毎に一時的に更新され、該システムソフトウェアは、該診断コードセクションの該第1の一時的コードシンボルライブラリの対応シンボルに選択されたシステムソフトウェアシンボルを一時的にリダイレクトし、
該診断命令セットは、該収集されたシステムデータが解析をパスしない場合、代替の一時的コードシンボルライブラリを実行する、請求項29に記載のシステム。 - 前記システムソフトウェアは、コードセクションの開始点で開始するシンボルライブラリを含み、シンボルは、各コードセクション開始アドレスからのオフセットになるように配置され、コードセクションの開始点は、対応する開始アドレスに格納され、
コードセクション識別子と対応する開始アドレスを相互参照するコードセクションアドレステーブルと、
コードセクション識別子を対応するオフセットアドレス、オフセットアドレス、および対応するコードセクション識別子と相互参照するシンボルオフセットアドレステーブルと
をさらに含み、
前記診断命令セットは、前記診断コードセクションのアドレスで該シンボルオフセットアドレステーブルおよびコードセクションアドレステーブルを更新する、請求項30に記載のシステム。 - 前記診断コードセクションは、システムデータトリガー値として組織化される制約条件を含み、
該診断命令セットは、前記第1の一時的コードの実行に応答して収集されるシステムデータを該システムデータトリガー値のセットと比較することによって、該収集されたデータを解析する、請求項31に記載のシステム。 - エアリンクインターフェイス
をさらに備え、
前記診断命令セットは、該エアリンクインターフェイスを介して一時的ソフトウェアデータ更新および一時的にリダイレクトされたシステムソフトウェアシンボルのコレクションを送信し、前記ファイルシステムセクションに更新されたコードセクションアドレステーブルおよび更新されたシンボルオフセットアドレステーブルを有する更新されたコードセクションを、該エアリンクインターフェイスを介して受信し、
前記診断命令セットは、更新されたコードセクションアドレステーブルおよびシンボルオフセットテーブルを有する該更新されたコードセクションを永久記憶装置に格納する、請求項31に記載のシステム。 - 前記診断命令セットにより収集された前記システムデータを送信するエアリンクインターフェイスと、
該エアリンクインターフェイスを介して受信された更新されたデータを含む新しいコードセクションを有する、新しいマッチマネージャランタイム命令と
をさらに含み、
診断命令セットは、永久格納装置の第1のコードセクションを該新しいコードセクションで置換し、
前記システムソフトウェアは、該新しいコードセクションを利用して実行される、請求項26に記載のシステム。 - 無線通信デバイスにおいて、システムソフトウェアを現場更新するシステムであって、該システムは、
不揮発性メモリ永久格納装置に格納されるコードセクションへ区分される実行システムソフトウェアおよびシステムデータと、
ダイナミック命令セットおよび新しいコードセクションを含む、パッチマネージャランタイム命令(PMRTI)を受信する不揮発性メモリのファイルシステムセクションと、
該ダイナミック命令セットを処理するランタイムエンジンと
を備え、
該ダイナミック命令セットは、データを収集および解析することによって現場で該システムソフトウェアを診断し、該収集されたデータの解析に応答してシステムデータおよびシステムソフトウェアにおいて演算する、システム。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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/916,460 US7159214B2 (en) | 2001-07-26 | 2001-07-26 | System and method for compacting field upgradeable wireless communication device software code sections |
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/002877 WO2003010668A2 (en) | 2001-07-26 | 2002-07-23 | System and method for field diagnosis of wireless communications device system software |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005502105A true JP2005502105A (ja) | 2005-01-20 |
JP2005502105A5 JP2005502105A5 (ja) | 2005-09-02 |
JP4176634B2 JP4176634B2 (ja) | 2008-11-05 |
Family
ID=27542295
Family Applications (11)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003515971A Withdrawn JP2005505813A (ja) | 2001-07-26 | 2002-07-22 | 現場における無線通信デバイスシステムソフトウエアダウンロードの管理のためのシステムおよび方法 |
JP2003515966A Expired - Fee Related JP4104546B2 (ja) | 2001-07-26 | 2002-07-22 | 現場更新可能な無線通信デバイスソフトウェアを組織化するシステムおよび方法 |
JP2003515964A Withdrawn JP2004537120A (ja) | 2001-07-26 | 2002-07-22 | 無線通信デバイスに関する更新命令を実行するためのシステムおよび方法 |
JP2003515976A Expired - Fee Related JP4176634B2 (ja) | 2001-07-26 | 2002-07-23 | 無線通信デバイスシステムソフトウェアの現場診断のためのシステムおよび方法 |
JP2003515970A Expired - Fee Related JP4073399B2 (ja) | 2001-07-26 | 2002-07-23 | 無線通信デバイスのソフトウェアコードセクションを現場ダウンロードするシステムおよび方法 |
JP2003515972A Expired - Fee Related JP4278513B2 (ja) | 2001-07-26 | 2002-07-23 | 無線通信デバイスにおける永続データを更新するためのシステムおよび方法 |
JP2003517749A Expired - Fee Related JP4310186B2 (ja) | 2001-07-26 | 2002-07-23 | 現場の更新可能な無線通信デバイスのソフトウェアコードセクションを圧縮するシステムおよび方法 |
JP2003518153A Expired - Fee Related JP4101752B2 (ja) | 2001-07-26 | 2002-07-25 | 双方向通信および動的命令セットを実行するシステムおよび方法 |
JP2003516189A Expired - Fee Related JP4077408B2 (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 Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003515971A Withdrawn JP2005505813A (ja) | 2001-07-26 | 2002-07-22 | 現場における無線通信デバイスシステムソフトウエアダウンロードの管理のためのシステムおよび方法 |
JP2003515966A Expired - Fee Related JP4104546B2 (ja) | 2001-07-26 | 2002-07-22 | 現場更新可能な無線通信デバイスソフトウェアを組織化するシステムおよび方法 |
JP2003515964A Withdrawn JP2004537120A (ja) | 2001-07-26 | 2002-07-22 | 無線通信デバイスに関する更新命令を実行するためのシステムおよび方法 |
Family Applications After (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003515970A Expired - Fee Related JP4073399B2 (ja) | 2001-07-26 | 2002-07-23 | 無線通信デバイスのソフトウェアコードセクションを現場ダウンロードするシステムおよび方法 |
JP2003515972A Expired - Fee Related JP4278513B2 (ja) | 2001-07-26 | 2002-07-23 | 無線通信デバイスにおける永続データを更新するためのシステムおよび方法 |
JP2003517749A Expired - Fee Related JP4310186B2 (ja) | 2001-07-26 | 2002-07-23 | 現場の更新可能な無線通信デバイスのソフトウェアコードセクションを圧縮するシステムおよび方法 |
JP2003518153A Expired - Fee Related JP4101752B2 (ja) | 2001-07-26 | 2002-07-25 | 双方向通信および動的命令セットを実行するシステムおよび方法 |
JP2003516189A Expired - Fee Related JP4077408B2 (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) | KR100940178B1 (ja) |
CN (10) | CN1275150C (ja) |
AT (9) | ATE387658T1 (ja) |
AU (9) | AU2002319568A1 (ja) |
DE (7) | DE60205755T2 (ja) |
ES (9) | ES2300454T3 (ja) |
WO (10) | WO2003010656A2 (ja) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7143407B2 (en) * | 2001-07-26 | 2006-11-28 | Kyocera Wireless Corp. | System and method for executing wireless communications device dynamic instruction sets |
JP4417123B2 (ja) * | 2003-02-19 | 2010-02-17 | パナソニック株式会社 | ソフトウェア更新方法及び無線通信装置 |
US7644404B2 (en) | 2003-06-04 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | Network having customizable generators and electronic device 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 | 주식회사 팬택앤큐리텔 | 소프트웨어 이미지 생성 방법 |
EP1757132B1 (en) * | 2004-05-18 | 2013-07-17 | Kyocera Corporation | Modular data components for wireless communication devices |
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 |
US8422667B2 (en) | 2005-01-27 | 2013-04-16 | The Chamberlain Group, Inc. | Method and apparatus to facilitate transmission of an encrypted rolling code |
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 |
CN101040552B (zh) * | 2005-04-18 | 2010-12-01 | 捷讯研究有限公司 | 控制软件版本更新的方法和系统 |
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 | 中兴通讯股份有限公司 | 一种通信系统软件版本的平滑升级方法 |
CN101401072B (zh) * | 2006-03-10 | 2010-12-15 | 富士通株式会社 | 应用补丁筛选装置以及应用补丁筛选方法 |
WO2007146710A2 (en) | 2006-06-08 | 2007-12-21 | Hewlett-Packard Development Company, L.P. | Device management in a network |
US8752044B2 (en) | 2006-07-27 | 2014-06-10 | Qualcomm Incorporated | User experience and dependency management in a mobile device |
CN100403263C (zh) * | 2006-08-16 | 2008-07-16 | 华为技术有限公司 | 按配置下载设备软件的方法 |
KR100924647B1 (ko) * | 2008-08-07 | 2009-11-02 | 주식회사 케이티 | 모바일 플랫폼 런타임 다이나믹 링킹 라이브러리 관리 방법및 시스템 |
KR20110135989A (ko) | 2009-04-07 | 2011-12-20 | 센션트 컬러스 엘엘씨 | 자가-분산 입자 및 그의 제조 및 사용 방법 |
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 |
EP2917837B1 (en) * | 2012-11-09 | 2019-01-02 | Coherent Logix Incorporated | Real time analysis and control for a multiprocessor system |
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 |
BR112020022518A2 (pt) * | 2018-05-04 | 2021-02-09 | Herdx, Inc. | sistema de rastreamento, autenticação e realimentação de fornecimento de alimentos |
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)
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 |
-
2002
- 2002-07-22 WO PCT/IB2002/002866 patent/WO2003010656A2/en active Application Filing
- 2002-07-22 WO PCT/IB2002/002875 patent/WO2003010663A2/en not_active Application Discontinuation
- 2002-07-22 JP JP2003515971A patent/JP2005505813A/ja not_active Withdrawn
- 2002-07-22 JP JP2003515966A patent/JP4104546B2/ja not_active Expired - Fee Related
- 2002-07-22 EP EP02749158A patent/EP1410189B1/en not_active Expired - Lifetime
- 2002-07-22 AU AU2002319568A patent/AU2002319568A1/en not_active Abandoned
- 2002-07-22 AT AT02749158T patent/ATE387658T1/de not_active IP Right Cessation
- 2002-07-22 CN CNB028148339A patent/CN1275150C/zh not_active Expired - Fee Related
- 2002-07-22 JP JP2003515964A patent/JP2004537120A/ja not_active Withdrawn
- 2002-07-22 CN CNB028148320A patent/CN1288553C/zh not_active Expired - Fee Related
- 2002-07-22 ES ES02749158T patent/ES2300454T3/es not_active Expired - Lifetime
- 2002-07-22 EP EP02749161A patent/EP1410191A2/en not_active Withdrawn
- 2002-07-22 AU AU2002319572A patent/AU2002319572A1/en not_active Abandoned
- 2002-07-22 WO PCT/IB2002/002867 patent/WO2003010658A2/en active IP Right Grant
- 2002-07-22 CN CNB028148312A patent/CN1275149C/zh not_active Expired - Fee Related
- 2002-07-22 AU AU2002319569A patent/AU2002319569A1/en not_active Abandoned
- 2002-07-22 KR KR1020047000719A patent/KR100940178B1/ko not_active IP Right Cessation
- 2002-07-22 EP EP02749157A patent/EP1410188A2/en not_active Withdrawn
- 2002-07-22 KR KR1020047000723A patent/KR100911604B1/ko not_active IP Right Cessation
- 2002-07-22 KR KR1020047000721A patent/KR100940180B1/ko not_active IP Right Cessation
- 2002-07-23 EP EP02749166A patent/EP1410192B1/en not_active Expired - Lifetime
- 2002-07-23 AT AT02749167T patent/ATE305632T1/de not_active IP Right Cessation
- 2002-07-23 CN CNB028148355A patent/CN1235138C/zh not_active Expired - Fee Related
- 2002-07-23 WO PCT/IB2002/002877 patent/WO2003010668A2/en active IP Right Grant
- 2002-07-23 DE DE60205755T patent/DE60205755T2/de not_active Expired - Lifetime
- 2002-07-23 JP JP2003515976A patent/JP4176634B2/ja not_active Expired - Fee Related
- 2002-07-23 ES ES02749159T patent/ES2247355T3/es not_active Expired - Lifetime
- 2002-07-23 KR KR1020047000725A patent/KR100918162B1/ko not_active IP Right Cessation
- 2002-07-23 DE DE60206389T patent/DE60206389T2/de not_active Expired - Lifetime
- 2002-07-23 JP JP2003515970A patent/JP4073399B2/ja not_active Expired - Fee Related
- 2002-07-23 JP JP2003515972A patent/JP4278513B2/ja not_active Expired - Fee Related
- 2002-07-23 AT AT02749159T patent/ATE302972T1/de not_active IP Right Cessation
- 2002-07-23 KR KR1020047000726A patent/KR100913659B1/ko not_active IP Right Cessation
- 2002-07-23 AT AT02749163T patent/ATE327536T1/de not_active IP Right Cessation
- 2002-07-23 AU AU2002319573A patent/AU2002319573A1/en not_active Abandoned
- 2002-07-23 CN CNB028148347A patent/CN1235137C/zh not_active Expired - Fee Related
- 2002-07-23 ES ES02749167T patent/ES2249602T3/es not_active Expired - Lifetime
- 2002-07-23 WO PCT/IB2002/002889 patent/WO2003012639A2/en active IP Right Grant
- 2002-07-23 WO PCT/IB2002/002869 patent/WO2003010662A2/en active IP Right Grant
- 2002-07-23 JP JP2003517749A patent/JP4310186B2/ja not_active Expired - Fee Related
- 2002-07-23 EP EP05021081A patent/EP1610222B1/en not_active Expired - Fee Related
- 2002-07-23 ES ES02749163T patent/ES2263796T3/es not_active Expired - Lifetime
- 2002-07-23 AU AU2002319577A patent/AU2002319577A1/en not_active Abandoned
- 2002-07-23 EP EP02749163A patent/EP1410209B1/en not_active Expired - Lifetime
- 2002-07-23 WO PCT/IB2002/002890 patent/WO2003010664A2/en active IP Right Grant
- 2002-07-23 ES ES02749166T patent/ES2299587T3/es not_active Expired - Lifetime
- 2002-07-23 CN CNB028148371A patent/CN1279447C/zh not_active Expired - Fee Related
- 2002-07-23 EP EP02749167A patent/EP1410193B1/en not_active Expired - Lifetime
- 2002-07-23 AU AU2002319570A patent/AU2002319570A1/en not_active Abandoned
- 2002-07-23 KR KR1020047000716A patent/KR100940179B1/ko not_active IP Right Cessation
- 2002-07-23 KR KR1020047000718A patent/KR100913658B1/ko not_active IP Right Cessation
- 2002-07-23 AT AT02749166T patent/ATE382159T1/de not_active IP Right Cessation
- 2002-07-23 EP EP02749159A patent/EP1410190B1/en not_active Expired - Lifetime
- 2002-07-23 CN CNB02814838XA patent/CN1288554C/zh not_active Expired - Fee Related
- 2002-07-23 AU AU2002319576A patent/AU2002319576A1/en not_active Abandoned
- 2002-07-23 DE DE60211704T patent/DE60211704T2/de not_active Expired - Lifetime
- 2002-07-25 EP EP02762622A patent/EP1425894B1/en not_active Expired - Lifetime
- 2002-07-25 ES ES02741113T patent/ES2248568T3/es not_active Expired - Lifetime
- 2002-07-25 CN CNB02814841XA patent/CN1250035C/zh not_active Expired - Fee Related
- 2002-07-25 WO PCT/IB2002/002912 patent/WO2003013103A2/en active IP Right Grant
- 2002-07-25 WO PCT/IB2002/002906 patent/WO2003010942A2/en active IP Right Grant
- 2002-07-25 DE DE60211719T patent/DE60211719T2/de not_active Expired - Lifetime
- 2002-07-25 ES ES05018919T patent/ES2284112T3/es not_active Expired - Lifetime
- 2002-07-25 EP EP05018919A patent/EP1601217B1/en not_active Expired - Lifetime
- 2002-07-25 JP JP2003518153A patent/JP4101752B2/ja not_active Expired - Fee Related
- 2002-07-25 AT AT02751472T patent/ATE327628T1/de not_active IP Right Cessation
- 2002-07-25 AT AT05018919T patent/ATE359681T1/de not_active IP Right Cessation
- 2002-07-25 AU AU2002355308A patent/AU2002355308A1/en not_active Abandoned
- 2002-07-25 AT AT02762622T patent/ATE310354T1/de not_active IP Right Cessation
- 2002-07-25 EP EP02751472A patent/EP1423959B1/en not_active Expired - Lifetime
- 2002-07-25 ES ES02751472T patent/ES2263799T3/es not_active Expired - Lifetime
- 2002-07-25 KR KR1020047001086A patent/KR100817387B1/ko not_active IP Right Cessation
- 2002-07-25 CN CNB028148398A patent/CN100378661C/zh not_active Expired - Fee Related
- 2002-07-25 ES ES02762622T patent/ES2253553T3/es not_active Expired - Lifetime
- 2002-07-25 DE DE60207429T patent/DE60207429T2/de not_active Expired - Lifetime
- 2002-07-25 AT AT02741113T patent/ATE304272T1/de not_active IP Right Cessation
- 2002-07-25 JP JP2003516189A patent/JP4077408B2/ja not_active Expired - Fee Related
- 2002-07-25 EP EP02741113A patent/EP1410665B1/en not_active Expired - Lifetime
- 2002-07-25 WO PCT/IB2002/002905 patent/WO2003010932A2/en active IP Right Grant
- 2002-07-25 KR KR1020047001088A patent/KR100984895B1/ko not_active IP Right Cessation
- 2002-07-25 CN CNB028148401A patent/CN1310488C/zh not_active Expired - Fee Related
- 2002-07-25 JP JP2003516197A patent/JP4106020B2/ja not_active Expired - Fee Related
- 2002-07-25 DE DE60206055T patent/DE60206055T2/de not_active Expired - Lifetime
- 2002-07-25 AU AU2002328167A patent/AU2002328167A1/en not_active Abandoned
- 2002-07-25 KR KR1020047001087A patent/KR100932058B1/ko not_active IP Right Cessation
- 2002-07-25 DE DE60219536T patent/DE60219536T2/de not_active Expired - Lifetime
-
2007
- 2007-11-22 JP JP2007303740A patent/JP2008108268A/ja active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4176634B2 (ja) | 無線通信デバイスシステムソフトウェアの現場診断のためのシステムおよび方法 | |
JP4953475B2 (ja) | 動的命令セットを実行する方法および無線通信デバイス | |
US7386846B2 (en) | System and method for the management of wireless communications device system software downloads in the field | |
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: 20050627 |
|
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: 20080116 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080416 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080423 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080514 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080522 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080616 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080813 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080820 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120829 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120829 Year of fee payment: 4 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120829 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120829 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130829 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |