CN1535422A - 在无线通信设备中更新持久数据的***和方法 - Google Patents

在无线通信设备中更新持久数据的***和方法 Download PDF

Info

Publication number
CN1535422A
CN1535422A CNA02814838XA CN02814838A CN1535422A CN 1535422 A CN1535422 A CN 1535422A CN A02814838X A CNA02814838X A CN A02814838XA CN 02814838 A CN02814838 A CN 02814838A CN 1535422 A CN1535422 A CN 1535422A
Authority
CN
China
Prior art keywords
data
persistant
code
code section
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
Application number
CNA02814838XA
Other languages
English (en)
Other versions
CN1288554C (zh
Inventor
�����ķ��˹
高里·拉贾拉姆
保罗·泽肯多夫
迭戈·卡普兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Corp
Original Assignee
Kyocera Wireless Corp
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/917,026 external-priority patent/US7328007B2/en
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/927,131 external-priority patent/US7143407B2/en
Priority claimed from US09/969,305 external-priority patent/US7386846B2/en
Application filed by Kyocera Wireless Corp filed Critical Kyocera Wireless Corp
Publication of CN1535422A publication Critical patent/CN1535422A/zh
Application granted granted Critical
Publication of CN1288554C publication Critical patent/CN1288554C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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
    • 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
    • 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 Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)
  • Transceivers (AREA)
  • Telephonic Communication Services (AREA)
  • Communication Control (AREA)
  • Sub-Exchange Stations And Push- Button Telephones (AREA)
  • Information Transfer Between Computers (AREA)
  • Circuits Of Receivers In General (AREA)
  • Selective Calling Equipment (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

提供了一种用于更新无线通信设备内持久数据的***和方法。该方法包括:执行***软件;启动运行时期引擎;在非易失性存储器内的文件***段内接收补丁管理器运行时期指令和动态指令集以及新的代码段,所述新的代码段包括更新持久数据;处理动态指令集;响应于处理动态指令集,选择性地更新从下述数据中选出的***软件内的持久数据,所述数据包括射频(RF)校准数据、非易失性***和用户配置数据、资源数据、非易失性***和用户应用数据和任何其它数据;和使用更新的持久数据来执行***软件。

Description

在无线通信设备中更新持久数据的***和方法
发明背景
1.技术领域
本申请要求2001年8月10日提交的序列号为09/927,131,标题为“执行无线通信设备动态指令集的***和方法(System and Method forExecuting Wireless Communication Device Dynamic Instruction Sets)”的美国专利申请的优先权,并涉及2001年7月26日提交的序列号为09/916,900,标题为“用于现场下载无线通信设备软件代码段的***和方法(System and Method for Field Downloading a Wireless CommunicationsDevice Software Code Section)”的美国专利申请,以及2001年7月26日提交的序列号为09/9169,460,标题为“用于压缩现场可升级的无线通信设备软件代码段的***和方法(System and Method for Compacting FieldUpgradeable Wireless Communication Device Software Code Sections)”的美国专利申请,所有上述申请在此引用作为参考。
本申请一般涉及无线通信设备,尤其涉及在无线通信设备的***软件中使用动态指令集来更新持久数据项的***和方法。
现有技术
为已经使用的电话机发放软件更新是很平常的。一旦电话机被制造并销售给公众,这些更新可能涉及软件中发现的问题。一些更新可能涉及在电话机上使用新的特性或者由业务供应商提供的业务。另一些更新可能涉及区域问题,或者与某些运营商有关的问题。例如,在某些区域内,运营商的网络布局可能影响手机的无线接口状态,导致手机进入预料不到的工作状态,例如不正确的频道搜索、异常呼叫结束、异常音频等等。
进行此更新的传统方法是将无线通信设备,也称作无线设备、电话机或手机,召回到最近的运营商零售点/业务店,或者是召回到制造商处来处理这些变更。这种更新所涉及的成本是昂贵的,并超过底线。此外,客户也很不方便,并可能被激怒。在大多数情况下,实际的解决方法是向客户发放新的电话机。
无线设备在许多环境下使用,具有不同的用户业务,用于多种不同的客户应用。因此,即使无线设备的软件可以被更新来改善业务,这种更新也不可能为所有的用户提供统一的改进。
如果可以低成本地和在不给客户带来任何麻烦的情况下更新无线通信设备软件将是有利的。
如果可以在不使客户长期不能使用他们的电话机的情况下更新无线通信设备软件将是有利的。
如果可以使用最少的技术服务时间或者不需要将设备送到业务机构的情况下更新无线通信设备软件将是有利的。
如果可以将无线设备***软件划分成代码段,因而在更新***软件时仅需要替换***软件的特定代码段,将是有利的。如果可以通过无线链路将这些代码段发送给无线设备将是有利的。
如果可以使用将有助于现场更新***软件持久数据的动态装载的指令集来操作无线设备将是有利的。如果可以选择地更新这个持久数据以满足需要或者解决特定用户的问题将是有利的。
发明概述
无线通信设备软件更新向用户提供了可能最好的产品和用户体验。回收手机而更新软件在商业上是昂贵的。为了向用户提供附加的业务,或者解决在制造之后在手机使用过程中发现的问题,这些更新可能是必需的。本发明使通过无线链路接口现场更新手机软件成为现实。更具体地说,本发明允许无线通信设备执行动态指令集。这些动态指令集允许无线设备“智能地”或者有条件地更新***软件和***数据。此外,动态指令集允许无线设备选择性地更新***软件使用的持久数据项。
因此,提供了一种用于更新无线通信设备内持久数据的方法。该方法包括:执行***软件;启动运行时期引擎;在非易失性存储器内的文件***段内接收带有动态指令集和新代码段的补丁管理器运行时期指令,包括更新的持久数据;处理动态指令集;响应于处理动态指令集,选择性地更新从下述数据中选出的***软件内的持久数据,所述数据包括射频(RF)校准数据、非易失性***和用户配置数据、资源数据、非易失性***和用户应用数据以及其它任意数据;和使用更新的持久数据来执行***软件。
下面描述上述持久数据更新方法和更新无线通信设备内持久数据的***的细节。
附图说明
图1是整个无线设备软件维护***的示意方框图;
图2是软件维护***的示意方框图,突出显示通过无线链路接口的指令集安装;
图3是图示用于在无线通信设备内执行动态指令集的本发明的***的示意方框图;
图4是无线设备存储器的示意方框图;
图5是表示图3所示的代码段地址表的表格;
图6是使用符号对图3的一个符号库的详细说明;
图7是表示图3所示的符号偏移地址表的表格;
图8a和图8b是由运行时期引擎存取的操作码(“opcode”);
图9是图示用于更新无线通信设备的***软件内持久数据的本发明的***的示意方框图;
图10是图示图9***的普通形式的示意方框图;
图11a和图11b是图示图10的本发明***的替换代码段方面的示意方框图;
图12是图示本发明***的条件逻辑方面的示意方框图;
图13是图示条件持久数据指令的操作的示意图;
图14是图示本发明***的目录方面的示意方框图;
图15a和图15b是图示用于在无线通信设备内执行动态指令集的本发明方法的流程图;
图16是图示一个示意性动态指令集操作的流程图;
图17是图示另一个示意性动态指令集操作的流程图;
图18是图示第三个示意性动态指令集操作的流程图;
图19是图示第四个示意性动态指令集操作的流程图;
图20是图示第五个示意性动态指令集操作的流程图;
图21是图示用于更新无线通信设备的***软件内的持久数据的本发明方法的流程图;
图22是与图21基本上相同的流程图,特征在于替换数据项更新处理;
图23是与图21基本上相同的流程图,特征在于条件逻辑数据项更新处理;
图24是与图21基本上相同的流程图,特征在于目录数据项更新处理。
具体实施方式
下面通过程序、步骤、逻辑模块、代码、处理和对无线设备微处理器或存储器内的数据比特进行操作的其它符号表示来详细地描述本发明的一些方面。这些描述和表示是数据处理领域的普通技术人员所使用的手段,从而最有效地将它们工作要点提供给本领域的其它技术人员。在此,通常将程序、微处理器所执行的步骤、应用、逻辑模块和处理等视为产生预期结果的自相一致的步骤或指令序列。这些步骤需要物理量的物理操作。通常,尽管不是必需的,这些物理量采用能够被存储、传送、合并、比较以及在基于微处理器的无线设备内的其它操作的电或磁信号的形式。主要出于共同使用的原因,已经多次证明将这些信号视为比特、数值、单元、符号、字符、项目和数字等是很方便的。当提及物理设备例如存储器时,它们通过总线或其它电连接而连接到其它物理设备。可以认为这些物理设备能够与逻辑处理或应用相互作用,因此这些设备“连接”到逻辑操作。例如,存储器能够存储或存取代码以进行逻辑操作,或一个应用能够从存储器内调用用于执行的代码段。另外,软件应用能使用数据项运行指令。
然而,应该指出全部的这些和类似的术语都将与合适的物理量相关,并仅仅是应用于这些物理量的便利标记而已。除非特别声明,否则根据下文的讨论将是显而易见的,应该理解在本发明中,使用术语例如“处理”、“连接”、“翻译”、“显示”、“提示”、“确定”、“显示”或“识别”等等的讨论是指一个无线设备微处理器***的动作和处理,该***将在计算机***寄存器和存储器内表示为物理(电)量值的数据转换成在无线设备存储器、寄存器或其它的这种信息存储器、传输或显示设备内类似地表示为物理量值的其它数据。
图1是整个无线设备软件维护***100的示意方框图。在软件维护***100的概括描述之后,下面详细地描述本发明的***软件组织结构。综合***100描述了发送***软件更新和指令集(程序)和在无线设备内安装发送软件的处理方法。***软件更新和补丁管理器运行时期指令(PMRTI)通常多称作指令集或动态指令集,它们由手机的制造商产生。将***软件组织为符号库。将所述符号库安排成代码段。当将要更新符号库时,作为一个或多个代码段传输软件更新102。使用公知传统的无线链路(air)以及数据或消息传送协议,软件更新材料被广播到无线通信设备104所代表的现场无线设备,或从基站106在个别通信中传输。本发明不限定于任何特定的传输格式,因为为了接收***软件和PMRTI更新,能够很容易地修改无线通信设备以处理任何可用的无线传输协议。
可以将***软件视为不同子***的集合。代码对象可以紧密连接到这些抽象子***之一内,并且可以将所产生集合标记为符号库。这提供了源代码(code base)的逻辑细分,并且软件补丁和修正能够与这些符号库中的一个相关联。在大部分情况下,单个更新与一个或至多两个符号库相关联。剩余的源代码和其它符号库保持不变。
符号库的概念提供了一种处理代码和常量的机制。另一方面,读写(RW)数据安装到唯一的单独的RW库中,该库包括用于所有库的基于RAM的数据。
一旦无线设备104接收到了所传输的代码段,就必须处理该代码段。无线设备重写非易失性存储器108的特定代码段。非易失性存储器108包括文件***段(FSS)100和代码存储段112。在传输之前,为了最小地占用FSS 110代码段,通常将代码段进行压缩。通常,更新代码段将伴随有它的RW数据,这是包括用于每个符号库的全部RW数据的另一种符号库。尽管当执行***软件时,将其载入随机存取易失性读写存储器114中,RW数据总是需要存储在非易失性存储器108中,因此,可以在每次复位无线设备时将***软件载入随机访问易失性读写存储器114中。这包括载入到随机存取易失性读写存储器的第一次RW数据。如下文更加详细地解释的,通常使用补丁管理器代码段来安排RW数据。
***100包括虚拟表的概念。使用这些表,能够修补(替换)代码段内的符号库,而不用中断(替换)***软件的其它部分(其它代码段)。为了提高效率,虚拟表从随机访问易失性读写存储器114开始执行。代码段地址表和符号偏移地址表都是虚拟表。
无线设备104接收更新代码段并将其存储在FSS 110中。无线设备用户接口(UI)通常将通知用户新软件是可用的。响应于UI提示,用户确认此通知,并通知修补或更新操作。可选择地,自动地执行更新操作。当执行更新处理时,无线设备可能不能执行标准的通信任务。补丁管理器代码段包括非易失性读写驱动符号库,该符号库也装载到随机访问易失性读写存储器114中。非易失性读写驱动符号库使代码段用更新代码段重写。补丁管理器代码段包括读写数据、代码段地址表、符号偏移地址表、符号存取器代码和符号存取器代码地址(下面将进行讨论)。当引入更新代码段时,该数据的一些部分是无效的,更新补丁管理器代码段包括读写数据、代码段地址表和对于更新代码段有效的符号偏移地址表。一旦将更新代码段载入到代码存储段112中,则无线设备复位。在复位操作之后,无线设备能够执行更新的***软件。也应该理解,补丁管理器代码段可以包括上面没有讨论过的其它符号库。这些其它的符号库不需要载入到可读写易失性存储器114内。
图2是软件维护***100的示意性方框图,其中突出显示了通过无线链路接口的指令集的安装。除了更新***软件代码段以外,维护***100可以下载和安装动态指令集、程序或补丁管理指令集(PMIS),这里称之为补丁管理器运行时期指令(PMRTI)。以与上述***软件代码段相同的方式将PMRTI代码段200传送到无线设备104。PMRTI代码段最初存储在FSS 110内。PMRTI代码段通常是可以视作发送给手机作为编辑指令的二进制文件。很容易理解,PMRTI代码段足够用于提供基本数学运算的性能和有条件的执行运算的性能。例如,射频校准PMRTI能够执行以下操作:
IF RF CAL ITEM IS LESS THAN X(如果RF CAL项小于X)
EXECUTE INSTRUCTION(执行指令)
ELSE(否则)
EXECUTE INSTRUCTION(执行指令)
PMRTI能够支持基本数学运算,例如:加法、减法、乘法和除法。由于具有了***软件代码段,可以响应于UI提示载入PMRTI代码段,在将PMRTI装入代码存储段112之后必须复位无线设备。然后,执行PMRTI段。如果PMRTI代码段与任何虚拟表或读写数据相关联,为了在代码存储段112内安装,将与PMRTI一起传输更新的补丁管理器代码段。可选择地,在FSS 110保持和处理PMRTI。在手机104已经执行PMRTI段内的全部指令之后,可以从FSS 110删除PMRTI段。可选择地,维持PMRTI用于将来的操作。例如,可以在每次为无线设备充电时执行PMRTI。
PMRTI是非常强大的运行时期指令引擎。手机能够执行通过PMRTI环境传送到它的任何指令。这种机制可以用于支持射频校准。一般来说,通常作为用户申诉的结果,当制造商或业务提供商意识到软件问题时,可以使用PMRTI来远程调试无线设备软件。PMRTI也能够记录用于诊断软件问题所需要的数据。PMRTI可以启动最新下载的用于数据分析、调试和修复的***应用程序。PMRTI可以提供用于分析和可能短期修复一个问题的基于RW数据的更新来替代一个更新***软件代码段。PMRTI可以提供无线设备使用的存储压缩算法。
在本发明的一个方面,将***软件组织成符号库可以减少执行所需要的易失性存储器114和非易失性存储器108的大小。这是由于以下事实,即代码段通常大于代码段内所安排的符号库。存在这些较大的代码段用于容纳更新代码段。将***软件组织为库的集合降低了非易失性存储器大小的需要。对于相同的代码大小,由于代码段的大小可能大于在其所设置的符号库,所以所使用的非易失性存储器的量值将更大。
一旦软件更新已经传送到无线设备,则软件维护***100支持存储器压缩。存储器压缩类似于台式机中的硬盘碎片整理应用程序。当更新代码段的大小不可预测时,这种压缩方法可确保存储器的最佳使用并有更多的节余,以用于将来的代码段更新。当代码存储段被修补(更新)时,***100分析代码存储段。***100试图将更新代码段装入所替换的代码段占用的存储空间。如果更新代码段大于被替换的代码段,则***100压缩存储器112中的代码段。可选择地,制造商或业务提供商能够计算压缩,并将压缩指令传送到无线设备104。
由于算法复杂、数据运动量大,压缩是耗费时间的过程。压缩算法在开始处理之前进行可行性分析。在压缩开始前,UI提示可用于请求使用者的许可。
在本发明一些方面,可以同时更新所有的***软件代码段。但是,完整的***软件更新将需要更大的FSS 110。
图3是图示在无线通信设备内执行的本发明动态指令集的示意方框图。***300包括存储器108中的代码存储段112,该代码存储段包括被分成多个当前代码段的可执行的无线设备***软件。图示了代码段一(302)、代码段二(304)、代码段n(306)和补丁管理器代码段308。但是,本发明不限定于任何特定数量的代码段。而且,***300还包括在第二组代码段中设置的第一组符号库。图中图示了在代码段一(302)中安排的符号库一(310),在代码段二(304)中安排的符号库二(312)和符号库三(314)和在代码段n(306)中安排的符号库m(316)。每个库包括具有相关功能的符号。例如,符号库一(310)可能涉及无线设备液晶显示器(LCD)的操作。然后,这些符号将与显示功能相关联。如下详细所述,在补丁管理器代码段308中安排了其它符号库。
图4是无线设备存储器的示意方框图。如图所示,存储器是图1的代码存储段112。该存储器是可写的非易失性存储器,例如闪存。应该理解,代码段并不必存储在与FSS 110相同的存储器内。还应该理解,本发明***软件结构可以通过许多协作存储器内存储的代码段来实现。代码存储段112包括第二组连续地址存储块,其中每个存储块存储第二组代码段中相应的代码段。因此,代码段一(302)存储在第一存储块400中,代码段二(304)存储在第二存储块402,代码段n(306)存储在第n存储块404和补丁管理器代码段(308)存储在第p存储块406中。
比较图3和图4,每个代码段的开始部分存储在存储器内相应的开始地址中,符号库安排在代码段的开始部分开始。即,每个符号库在第一地址上开始,并在从第一地址开始的顺序地址范围内运行。例如,代码段一(302)从代码存储段存储器112的第一开始地址408(用“S”标记)开始。在图3中,符号库一(310)起始于第一代码段的开始318。类似地,代码段二(304)起始于第二开始地址410(图4),和符号库二起始于代码段二的开始320(图3)。代码段n(306)起始于代码存储段存储器112的第三开始地址412(图4),和符号库m(316)起始于代码段n322的开始(图3)。补丁管理器代码段起始于代码存储段存储器112的第p开始地址414,和补丁管理器代码段308的第一符号库起始于修补代码段的开始324。因此,符号库一(310)最终存储在第一存储块400中。如果代码段包括多个符号库,例如代码段二(304),那么多个符号库存储在相应的存储器块中,存储器块402就是这种情况。
在图3中,***300进一步包含代码段地址表326,作为一种类型的符号包括在补丁管理器代码段308中排列的符号库中。代码段地址表交叉引用代码段标识符与存储器内的相应代码段开始地址。
图5是表示图3代码段地址表326的表。查询代码段地址表326以找到符号库的代码段开始地址。例如,当需要执行符号库一中的符号时,***300搜寻代码段一。为了找到代码段一的开始地址从而定位符号库一内的符号,查阅代码段地址表326。符号库在代码段中的排列以及利用表对代码段的跟踪,允许代码段被移动或扩充。在安装升级的代码段(带有升级的符号库)时可能需要扩充或移动操作。
参见图3,应该注意到并非每一个符号库都必须起始于代码段的开始。如图所示,在代码段二(304)内安排符号库三(314),而不是代码段开始地址320的开始位置。因此,如果需要执行符号库三(314)内的符号,***300向代码段地址表326查询代码段二(304)的开始地址。如下面所解释的,符号偏移地址表允许在符号库三(314)内定位符号。这些符号分布在多个库内是没关系的,只要这些符号保持在同一代码段内。
如上所述,每个符号库包括功能上相关的符号。每个符号是编程人员定义的名称,用于定位和使用程序主体、变量或数据结构。因此,一个符号可以是一个地址或一个数值。这些符号可以是内部的或外部的。内部符号在当前代码段的范围之外是不可见的。更具体而言,其它代码段中的其它符号库不能搜寻这些符号。在整个代码段中使用和调用外部符号,并由不同代码段内库来搜寻这些符号。符号偏移地址表通常包括一个全部外部符号的列表。
例如,符号库一(310)可以在无线设备显示器上生成符号。这个库内的符号将依次生成电话号码、名称、时间或其它显示特征。每个特征通过程序来产生,在这里称作符号。例如,符号库一(310)中的一个符号在显示器上产生电话号码。该符号由“X”表示,并且是外部的。当无线设备接收电话呼叫时并且主叫ID业务是激活的时,***必须执行“X”符号以在显示器上产生电话号码。因此,***必须定位“X”符号。
图6是使用符号对图3的符号库一(310)的详细描述。安排符号使其从各自代码段的开始地址偏移。在许多情况下,符号库的开始就是代码段的开始,但是如果代码段包括不止一个符号库时就不是这样了。符号库一(310)起始于代码段一(参见图3)的开始。如图6所示,“X”符号位于距离符号库的开始位置的一个偏移(03)上,“Y”符号位于偏移(15)上。符号偏移地址存储在补丁管理器代码段的符号偏移地址表328内(参见图3)。
图7是图示图3的符号偏移地址表328的表。符号偏移地址表328交叉引用符号标识符与相应的偏移地址以及存储器内的相应代码段标识符。因此,当***试图执行符号库一内的符号“X”时,则根据安排的代码段来查询符号偏移地址表328以定位符号的精确地址。
参见图3,第一组符号库通常都都包括读写数据,在执行这些符号库时必需查阅或设置这些数据。例如,符号库可以包括一个基于条件语句的操作。查询读写数据段以确定完成条件语句所需要的状态。本发明将所有符号库的读写数据分组为共享的读写段。在本发明的一些方面中,将读写数据330安排在补丁管理器代码段308中。可选择地(未图示),读写数据能够安排在不同的代码段中,例如代码段n(306)。
第一组符号库也包括在代码段内安排的符号存取器代码,用于计算所寻找符号的地址。符号存取器代码能够被安排和存储在独立代码段内的一个地址中,例如代码段二(304)。但是,如图所示,符号存取器代码332被安排和存储在补丁管理器代码段308的一个地址中。***300还包括用于存储符号存取器代码地址的第一位置。第一位置可以是代码存储段112中的代码段,或者是无线设备(未图示)的单独存储段中的代码段。第一位置也可以安排在与读写数据相同的代码段中。如图所示,第一位置334存储在具有读写数据330、符号偏移地址表328、代码段地址表326、符号存取器代码332和补丁库(补丁符号库)336的补丁管理器代码段308内。
符号存取器代码存取代码段地址表和符号偏移地址表以在存储器内计算或查找所寻找符号的地址。即,符号存取器代码使用相应的符号标识符和相应的代码段标识符来计算所查询符号的地址。例如,如果查询符号库一中的符号“X”,则调用符号存取器以查找对应于“X”符号的符号标识符(符号ID)“X_1”(参见图7)。符号存取器代码查询符号偏移地址表以确定“X_1”符号标识符具有一个距离代码段一的开始位置的偏移(03)(参见图6)。调用符号存取器代码以寻找对应于代码段一的代码段标识符“CS_1”。符号存取器代码查询代码段地址表以确定与代码段标识符(代码段ID)“CS_1”相关的开始地址。通过这种方式,符号存取器代码确定符号标识符“X_1”与地址(00100)偏移(03),或位于地址(00103)上。
由于符号“X”是实际代码的一部分,因此它是一个保留名称。换句话说,该符号具有与它相关的绝对数据。该数据可以是地址或值。符号标识符是建立用于跟踪符号的一个别名。符号偏移地址表和代码段地址表都通过标识符操作以避免与保留符号和代码段名称混淆。很有可能的是在许多符号库中使用相同的符号名称。使用标识符避免了混淆这些符号。
参见图1,***300还包括读写易失性存储器114,通常是随机访问存储器(RAM)。在执行***软件过程中,为了存取,将读写数据330、代码段地址表326和符号偏移地址表328、符号存取器代码332以及符号存取器代码地址334从补丁管理器代码段装载到读写易失性存储器114内。众所周知,存取在RAM内存储的代码的时间远小于存取非易失性存储器例如闪存内的代码的时间。
参见图3,可以看出,符号库不需要将代码段填满它们所处的代码段,尽管精确地确定存储块的大小以容纳在其中存储的相应代码段。也就是说,第二组代码段中的每个代码段的字节大小可容纳所设置的符号库,每个连续编址的存储块的字节大小可容纳相应的代码段。例如,代码段一(302)可以是100字节的段以容纳长度为100字节的符号库。第一存储块将是100字节以匹配代码段一的字节大小。然而,载入代码段1的符号库可能小于100字节。如图3所示,代码段一(302)具有一个未使用的段340,例如符号库一(310)小于100字节。因此,每个第二组代码段的大小可能大于容纳所设置的符号库所需要的大小。使用“超大的”代码段,可以容纳更大的更新符号库。
连续编址的存储块是指将物理存储空间分割成可变大小的逻辑块。当将代码段存储在存储器内时,代码段和存储块的含义基本上相同。使用代码段的概念来标识一段可能大于符号库的代码,或者标识当移动和操作时代码段内符号库的集合。
如图3所示,***300包括补丁符号库,在此将其称为补丁库336,用于将新的代码段设置在带有当前代码段的代码存储段。通过在代码存储段内设置新的代码段与当前代码段形成了更新的可执行***软件。补丁管理器336不仅与新的代码段一起设置新的代码段,而且还用更新代码段替换代码段。
参见图4,存储器108的文件***段100接收新的代码段,例如新代码段450和更新补丁管理器代码段452。文件***段也接收包括指令的第一补丁管理器运行时期指令(PMRTI)454,这些指令用于与当前代码段一起设置新的代码段。如图1所示,无线链路接口150接收新的或更新代码段以及第一PMRTI。尽管无线链路接口150通过天线来表示,应该理解无线链路接口也将包括射频收发信机、基带电路和解调电路(未图示)。文件***段110存储通过无线链路接口150接收到的新代码段。响应于第一PMRTI 454,从读写易失性存储器114中执行的补丁库336用新的或更新代码段450替换代码存储段内的第一代码段,例如代码段n(306)。通常用更新补丁管理器代码段452替换补丁管理器代码段308。当更新代码段时,补丁库336使用更新代码段,例如文件***段110中的代码段450来重写代码存储段112的第一代码段,例如代码段n(306)。在极端情况下,用更新代码段替换代码存储段112中的全部代码段。即,FSS 110接收第二组更新代码段(未图示),补丁库336用第二组更新代码段替换代码存储段112中的第二组代码段。当然,FSS 110必须足够大以容纳通过无线链路接口接收的第二组更新代码段。
如上所述,接收的更新代码段可能包括读写数据代码段、代码段地址表代码段、符号库、符号偏移地址表代码段、符号存取器代码段或具有新补丁库的代码段。全部的这些代码段和它们的相关符号库和符号可以被存储为各自独立的代码段。然后,用唯一的更新代码段来替换这些代码段中的每一个代码段。即,将接收一个更新的读写数据代码段并使用它来替换代码存储段中的读写代码段。将接收一个更新代码段地址表代码段并使用它来替换代码存储段中的代码段地址表代码段。接收一个更新的符号偏移地址表代码段并使用它来替换代码存储段中的符号偏移地址表代码段。接收一个更新的符号存取器代码段并使用它来替换代码存储段中的符号存取器代码段。同样,接收一个更新的补丁管理器代码段(具有补丁库)并使用它来替换代码存储段中的补丁管理代码段。
然而,通常将上述代码段在补丁管理器代码段中捆绑在一起。因此,当用更新的补丁管理器代码段450替换补丁管理器代码段308时,使用来自文件***段110中的更新读写代码段来替换代码存储段中的读写代码段。同样,当安装更新补丁管理代码段450时,替换代码段地址表、符号偏移地址表、符号存取器代码段以及补丁库。新的读写数据、新的代码段地址表、新的符号偏移地址表、新的符号存取器代码段、作为更新补丁管理代码段450的新补丁库和存储代码段中的当前代码段的设置构成了更新可执行***软件。
当文件***段110接收一个更新符号存取器代码地址时,补丁管理用更新的符号存取器代码地址来替换存储器第一位置中的符号存取器代码地址。如上所述,存储器334的第一位置通常位于补丁管理代码段中(参见图3)。
如图3所示,补丁库308也包括压缩器或压缩器符号库342。压缩器可以作为分开的独立的代码段,但是如上所述,将与***软件升级相关的功能捆绑在单个补丁管理器代码段中是有用和有效的。通常,压缩器342能够调整代码段的大小,因此,新段可以与当前代码段一起设置在代码存储段112内。
使用目前建立的本发明的组织结构、下载和压缩特征,下面的讨论将集中于无线通信设备动态指令集执行***300。如上面详细讨论的,该***300包括划分成代码段的可执行的***软件和***数据。此外,***300包括对***数据和***软件进行操作和控制***软件执行的动态指令集。如图4所示,将动态指令集470组织进第一PMRTI 454。如图3所示,该***还包括处理动态指令集的运行时期引擎,使其作为运行时期库370。与上述压缩库342和补丁库336一样,运行时期库370通常位于补丁管理代码段308内。但是,运行时期库370也可以位于另一个代码段内,例如第一代码段304。
动态指令集是单独的或多个指令集,这些指令集包括条件操作代码,通常包括数据项。运行时期引擎读取操作代码并确定需要执行哪一项操作。操作代码可以是条件的、数学的、程序的或逻辑的。运行时期引擎或运行时期库370处理动态指令集以执行操作,例如数学或逻辑运算。即,运行时期引擎读取动态指令集470并响应于操作代码而执行一系列的操作。尽管动态指令集并不限定于任何特定的语言,但是因为无线设备存储器空间有限并且执行速度很重要,所以操作代码通常是机器代码形式的。由于操作代码分析数据项并根据分析结果作出决定,因而它被视为是条件代码。在分析数据之前,运行时期引擎也可以确定对数据执行操作。
例如,操作代码可以规定比较无线设备存储器内的数据项与预定数值。如果数据项小于预定值,则不用处理它,如果数据项大于预定值,则用预定值予以替换。可选择地,在执行上述比较操作之前,操作代码可以将第二预定值添加给无线设备存储器内的数据项。
如上所述,文件***段非易失性存储器110通过接口诸如无线链路150的接口接收动态指令集。如图1所示,接口也可以是射频(RF)硬连线160。然后,在***软件不工作的情况下,例如在工厂校准环境下,可以由FSS 110来接收PMRTI。也可以通过逻辑端口接口162或可安装的存储器模块164来接收PMTRI。在初始化校准时,存储器模块164可安装在无线设备104中、在现场安装或在工厂重新校准过程中安装。尽管未具体图示,也可以通过红外或蓝牙接口来接收PMRTI。
图8a和图8b图示运行时期引擎370所存取的指令。图8a图示了第一指令800、第二指令802和第j指令804,但是,动态指令集不限定于任何特定数量的指令。每个指令内操作代码的长度是固定的。运行时期引擎370捕获指令长度,即字节或比特的数量,确定该指令是否包括数据项。在减去操作代码之后,剩余长度的指令包括数据项。运行时期引擎从指令中提取数据项。如图所示,测量第一指令800的长度806并提取数据项808。应当指出并非所有指令都包括将要提取的数据项。在依据指令800内的操作代码810执行一系列的操作时,运行时期引擎370使用所提取的数据808。
图8b更详细地图示了图8a的第一指令800。以第一指令800作为例子,该指令包括操作代码810和数据808。指令,更具体而言,数据项段808,包括符号标识符,其用于链接无线设备代码段内的符号。如上文详细解释的,使用符号标识符与代码段地址表326(见图5)和符号偏移地址表328(参见图7)来定位对应于符号标识符的符号。如图所示,在第一指令800中图示了符号标识符“X_1”。符号偏移地址表328使用“CS_1”标识符和偏移“3”来定位代码段内的相应符号。代码段地址表326提供了代码段一(302)的起始地址。通过这种方式,找到了符号“X”(参见图6)。
在运行时期引擎使用代码段地址表和符号偏移地址表定位了对应于所接收的符号标识符的符号之后,当所定位的符号是数据项时,它提取数据。例如,如果符号“X”是符号库一(310)内的数据项,运行时期引擎提取该数据项。可选择地,“X”符号可以是操作代码,当定位了符号X时,运行时期引擎执行符号“X”。
可以将PMRTI用于更新***数据或***数据项。在本发明的一些方面,***数据被存储在文件***段110的代码段中,例如代码段472中存储***数据,参见图4。运行时期引擎访问代码段472中的***数据,并分析该***数据。运行时期引擎处理动态指令集的操作代码以对数据项执行数学或逻辑运算,如上所述。在操作之后,运行时期引擎处理这些指令以产生更新***数据。注意到在一些情况中,更新的***数据可能包括未改变的数据项。根据操作代码,使用更新***数据来替换第二代码段472中的***数据。因此,通过运行时期引擎对指令的处理,使用代码段472内的更新数据来控制***软件的执行。通过这种方式,可以更新***软件内的特定目标符号,而不用替换整个代码段。通过相同的处理,也可以替换在代码存储段112的代码段中的***数据。例如,可以将***数据存储在第三代码段344中,运行时期引擎能够响应于操作代码使用更新的***数据来替换第三代码段内的***数据。
PMRTI也可被用于更新易失性存储器114中的数据项。例如参见图1,易失性存储器114接收读写数据330。读写数据可从代码存储段112和/或FSS 110中的一个或多个代码段得来。运行时期引擎可访问读写数据、分析读写数据330、产生更新的读写数据并用已更新的读写数据代替易失性存储器114中的读写数据330以响应操作代码。然后使用易失性存储器114中的已更新的读写数据来控制***软件的执行。
在本发明的某些方面中,运行时期引擎可监测***软件的执行。性能监测被广义地定义,以包括最大数量的无线设备活动。例如,通过一系列操作可导致特定失效条件或性能下降的诸如信道参数、信道特性、***栈、出错条件等数据或RAM中数据项记录可被收集。也可使用动态指令集分析收集到的性能数据、提供已更新的数据变量并再次捕获数据来研究针对问题的可能解决方案。也可使用PMRTI处理提供临时性的修正。
更具体地,运行时期引擎可以根据操作代码收集性能数据并将性能数据存储在文件***段中。然后,通过收集用于评估***软件性能的数据控制执行***软件。评估可以作为分析的一种形式被动态指令集操作代码进行,它也能在无线设备外部进行。在本发明的某些方面中,运行时期引擎可访问从文件***段收集的性能数据并通过无线链路接口传输性能数据以响应操作代码。从无线设备现场收集性能数据允许制造商全面地分析问题(在本地或全球任何地方),而不用将设备回收。
在本发明的一些方面,文件***段110接收含有新代码段的补丁管理器运行时期指令。例如,图4中所示的新代码段474。可选择地,新代码段可以独立于PMRTI,例如新代码段n(450)。例如,在早先的无线链路通信中可能已经接收到新代码段n(450),或在工厂校准过程中可能已经安装这些新代码段。响应于操作代码,运行时期引擎将新的代码段474(450)添加到代码存储段中。在本发明的一些方面,将新代码段填加到代码存储段112的未使用块中。可选择地,需要压缩操作。然后,使用新代码段474(450)控制***软件的执行。在本发明的其它方面,PMRTI 454包括更新代码段474。可选择地,新代码段450是独立于PMRTI的更新代码段。运行时期引擎使用更新代码段474(450)来替换代码存储段内的代码段,例如代码段二(304),以响应操作代码。使用更新代码段474(450)来控制***软件的执行。在本发明的一些方面,需要压缩操作以容纳更新代码段。可选择地,将更新代码段填加到代码存储段的未使用或空闲段中。
如上所述,当这些操作包括新的和/或改变的代码段起始地址时,填加新代码段或更新代码段通常需要产生新的代码段地址表。而且,压缩操作也需要新的代码段地址表。如上所述,压缩操作可能是操作压缩器342的结果,或操作PRMTI指令的结果,该指令提供了有关如何执行压缩的细节。当PMRTI包括下载和压缩指令时,PMRTI通常也包括在完成下载和压缩操作之后有效的新代码段地址表。
图9是图示用于更新无线通信设备内的***软件的持久数据的本发明***的示意方框图。该***900包括无线链路接口902(其与图1所示的无线链路接口150相同)和划分成在非易失性存储器永久存储器904内存储的代码段的可执行的***软件和***数据(其与图1的存储器108等同)。***900与上述***100基本上相同,为了简明起见将不再重复描述类似的特征。非易失性永久存储器904包括文件***段906和代码存储段908。
通过无线链路接口902接收用于选择性地更新***软件内持久数据的动态指令集910。将持久数据理解为通常保存为固定或恒定数值的***软件数据项。例如,持久数据可以是根据所接收的由基站控制的发送电平确定的、在射频衰减器数值的计算中使用的固定数值。可以考虑区域温度差别或射频功率晶体管组(RF power transistor lots)的变化而改变持久数据。这样的改变允许无线设备永久性地校正它的校准处理。除了射频校准数据之外,非易失性***和用户配置数据、资源数据、非易失性***和用户应用数据和其它任意数据都是可以被更新的持久数据。下面更详细地描述非易失性***和用户配置数据、资源数据、非易失性***和用户应用数据。将任意数据理解为不包含在上述数据种类内的任意一种***软件数据项。
之所以称***是选择性地更新持久数据,是因为在一些现有技术的处理中,并不需要全部更新代码段或符号库内的所有数据项目。也就是说,可以更新代码段内的单个或多个数据项。更新还可以选择性地使用条件逻辑或数学操作以同时确定将要替换的数据项和将用作替换的数值。最后,该***能够更新上述多种数据种类中的持久数据。
动态指令集910以及新代码段912是补丁管理器运行时期指令914的一部分。通常将动态指令集910存储在文件***段906内。运行时期引擎或运行时期库916处理动态指令集910。如上所述,运行时期库916通常是补丁管理器代码段918的一部分。根据对动态指令集的处理来更新可执行***软件和***数据(永久性存储器904内的代码段)。在动态指令集910进行***软件持久数据更新之后执行***软件。
如上面详细描述的,将***软件构成为符号库。每个符号库包括设置在非易失性存储器904(代码存储段908或文件***段904)内代码段中的具有相关功能的符号。非易失性存储器的文件***段906接收补丁管理器运行时期指令(PMRTI)914,包括动态指令集910和新的代码段(图示了新的代码段912)。这些动态指令集和新的代码段可以包括更新的持久数据和持久数据指令。
***900可以包括除了无线链路接口902之外的其它接口。例如,无线通信设备键盘950、可安装的存储器模块952、红外接口954、逻辑端口956和射频硬连线接口958。文件***段906能够通过这些接口中的任一个接口接收更新的持久数据。
图10是图示图9的***900的普通形式的示意方框图。文件***段906接收包括持久数据指令910的动态指令集。***软件包括在第一代码段1000内的多个持久数据项。用参考标号1002代表持久数据项X_1。应当理解一个代码段通常将包括许多持久数据项。持久数据指令910使用更新持久数据项来替换在第一代码段1000内的持久数据项。如图所示,用更新的持久数据项Y_1(1004)来替换数据项X_1(1002),参见标记为“1”的虚箭头。如下面所描述的,通过多种方法来更新所述更新数据项。尽管将第一代码段图示为位于代码存储段908内,还应当理解第一代码段也可以位于文件***段906内,本发明的***可以更新永久性存储器904内的文件***段906内的持久数据项。
图11a和图11b是图示图10的本发明***900的替换代码段方面的示意方框图。图11a图示数据项替换处理的一个方面。文件***段906接收替换代码段912,其通常带有多个数据项,但是代码段912也可只包括一个数据项。替换数据项也可以分布在多个替换代码段内。持久数据指令910用替换代码段内的数据项来替换第一代码段1000内的持久数据项。如图所示,数据项X_1(1002)被替换代码段912内的数据项Y_1(1004)替换,参见标记为“1”的虚箭头。
图11b是图示本发明***900的替换代码段方面的一个变型的示意方框图。在本发明的一些方面,文件***段906接收内嵌在持久数据指令910内的替换数据项。持久数据指令910用嵌入在持久数据指令内的数据项来替换第一代码段1000内的持久数据项。如图所示,使用持久指令集910内的数据项Y_1(1004)来替换数据项X_1(1002),参见标记为“1”的虚箭头。尽管将第一代码段图示为位于代码存储段908内,还应当理解第一代码段也可以位于文件***段906内,本发明的***在替换方面可以更新永久性存储器904的文件***段906内的持久数据项。
图12是图示本发明***900的条件逻辑方面的示意方框图。该文件***段906接收多个限制数据项和条件持久数据指令1200。可以将条件持久数据指令1200视为具体使用条件逻辑或数学操作来执行数据项替换的持久指令集的一个子集。条件持久数据指令1200比较第一代码段1000内的持久数据项与限制数据项。根据第一代码段1000内的持久数据项与限制数据项的比较,条件持久数据指令1200替换第一代码段1000内的持久数据项。
在本发明的一个方面,文件***段906接收带有多个数据项的限制代码段1202。图示了数据项Y_1(1204)、Y_2(1206)和Y_3(1208)。根据比较结果第一代码段1000内的持久数据项与限制代码段1202内的数据项,条件持久数据指令1200使用限制代码段120内的数据项来替换第一代码段1000内的持久数据项。
图13是条件持久数据指令操作的示意图。如在这个例子中所图示的,条件持久数据指令1200可以比较第一代码段1000内的数据项X_1(1002)与限制数据段1202内的数据项Y_1(1204)。条件操作可以是:(Y_1>X_1)吗?作为这个操作的结果,条件持久数据指令1200可以决定保留X_1(1002)、使用Y_1(1204)替换X_1(1002)、使用Y_2(1206)替换X_1(1002)或者使用一计算出的数值替换X_1(1002),仅举了一些例子。因而,根据比较第一代码段1000内的持久数据项(即X_1)与限制数据项(即Y_1)的结果,条件持久数据指令1200可以使用条件持久数据指令1202所计算的数据项来替换第一代码段1000内的持久数据项。例如(如图所示),该计算可以发现Y_1和X_1之间的差值,将此差值添加给Y_1,并使用所获结果来替换X_1。
可选择地,条件持久数据指令1200在计算产生数据项乘积时使用限制数据项作为操作数。然后,使用数据项乘积来替换第一代码段内的持久数据项。例如,如果Y_1大于X_1,则计算可以是将操作数Y_1乘以3,并使用此乘积来替代X_1。在另一种变型中,如果Y_1大于X_1,则计算可以是将操作数Y_2乘以3,并使用乘积来替代X_1。还应当理解条件逻辑或数学操作可以使用常规的软件操作来处理,因而可以是软件可执行的任意操作。
参见图12,在本发明的一些方面,文件***段906接收内嵌在条件持久数据指令1200内的限制数据项,例如数据项Z_1(1210)。然后,根据第一代码段1000内的持久数据项与限制数据项的比较,条件持久数据指令1200使用嵌入在条件持久数据指令1200内的限制数据项来替换第一代码段1000内的持久数据项。尽管未具体图示,条件持久数据指令1200将执行一个条件逻辑或数学操作,例如比较X_1(1002)与Z_1(1210),作为比较结果将执行一个替换决定。此外,该数据项可以使用一个内嵌的数据项来简单地替换,或者替换数据项可以作为使用嵌入在条件持久数据指令1200内的数据项的数学操作的结果而生成。尽管将第一代码段图示为位于代码存储段908内,还应当理解第一代码段也可以位于文件***段906内,并且本发明***的条件逻辑方面可以更新永久性存储器904的文件***段906内的持久数据项。
图14是图示本发明***900的目录方面的示意方框图。该文件***段906接收带有多个数据项地址的目录代码段1400,例如A_1(1402)、A_2(1404)和A_3(1406)。持久数据指令910根据目录代码段数据项地址来定位替换数据项。持久数据指令910使用所定位的替换数据项来替换第一代码段1000内的持久数据项。如图所示,持久数据指令910使用数据项地址A_1(1402),参见标记“1”的虚箭头。地址A_1(1402)将持久数据指令910定向到新代码段912内的数据项Y_1(1004),参见标记“2”的虚箭头。一旦定位,使用数据项Y_1(1004)来替换第一代码段1000内的数据项X_1(1002),参见标记“3”的虚箭头。
在目录处理的更复杂的变型中,文件***段906接收表示为参考标号910的条件持久数据指令,和带有表示为A_1(1402)、A_2(1404)和A_3(1406)的多个限制地址的目录代码段1400。条件持久数据指令910使用目录代码段1400内的限制地址来定位限制数据项。然后,条件持久数据指令910比较第一代码段1000内的持久数据项与使用限制地址所定位的限制。根据此比较,条件持久数据指令910替换第一代码段1000内的持久数据项。例如(未图示),条件持久数据指令910使用地址A_1(1402)来在新代码段912内定位限制Y_1(1004)。然后,以与上述图13的描述类似的方式,条件持久数据指令910使用限制Y_1(1004)来执行条件逻辑或数学操作。再次,如上所述,替换数据项可以是一个简单的替换值或由计算结果产生的。尽管将第一代码段图示为位于代码存储段908内,还应当理解第一代码段也可以位于文件***段906内,本发明***的目录方面可以更新永久性存储器904的文件***段906内的持久数据项。
如先前所述,本发明的一个重要用途是更新支持射频校正操作的数据项。参见图9,***软件包括在第一代码段1000内设置的射频校正数据项。射频校正数据项用于例如频率调整、放大器偏置、衰减器调整和温度调整等,仅举了一些例子。然后,文件***段906接收带有至少一个更新的射频校正数据项的补丁管理器运行时期指令914。持久数据的更新通常涉及接收多个更新数据项以及替换多个数据项。如上所述,可以通过与PMRTI 914有关的多种方法(替换、条件、目录或者三者之组合)来更新数据项。因此,一般来说,当替换第一代码段1000内的射频校准数据项时,持久数据指令910可以说是参考补丁管理器运行时期指令914内的更新射频校准数据项。
在本发明一些方面,文件***段906接收带有至少一个更新的非易失性***和用户配置数据项的补丁管理器运行时期指令914。再次说明,也可以存在多个数据项来源。***软件包括在第一代码段1000内设置的非易失性***和用户配置数据项,用于功能诸如为:用于识别无线设备的原籍区域、识别可许可的漫游区域、识别无线设备操作在数字模式还是模拟模式和识别无线设备的优选操作模式的***配置文件。当替换第一代码段1000内的非易失性***和用户配置数据项时,持久数据指令910参考补丁管理器运行时期指令914内的更新的非易失性***和用户配置数据项。使用替换处理、条件逻辑操作或目录处理来更新数据项。
在本发明的一些方面,文件***段906接收带有至少一个更新的非易失性***和用户应用数据项的补丁管理器运行时期指令914。***软件包括在第一代码段1000内设置的例如用作管理电话本文件和管理日程文件的非易失性***和用户应用数据项。当替换第一代码段1000内的非易失性***和用户应用数据项时,持久数据指令910参考补丁管理器运行时期指令914内的更新的非易失性***和用户应用数据项。如上面所解释的,使用替换处理、条件逻辑操作、目录处理或这三种基本处理方法的组合来更新所述非易失性***和用户应用数据项。
在本发明的一些方面,文件***段906接收带有至少一个更新资源数据项的补丁管理器运行时期指令914。***软件包括在第一代码段1000内设置的用于用户接口对话、用户接口菜单和用户接口语言的资源数据项。当替换第一代码段1000内的资源数据项时,持久数据指令910参考补丁管理器运行时期指令914内的更新的资源数据项。使用替换处理、条件逻辑操作、目录处理或这三种基本处理方法的组合来更新资源数据项。
图15a和15b图示了用于在无线通信设备中执行动态指令集的本发明方法的流程图。尽管为了清楚起见描述为一系列编号的步骤,除非特别声明,不应该根据编号(和下述方法中的编号)推断出任何顺序。本方法在步骤1500开始。步骤1501a将***软件形成进符号库中,每个符号库包括具有相关功能的符号。步骤1501b将符号库排列到代码段内。步骤1502执行***软件。步骤1503启动运行时期引擎。通常,启动运行时期引擎包括从第一代码段调用运行时期库。可以从易失性或非易失性存储器启动运行时期引擎。在步骤1503之后,步骤1504接收动态指令集。在步骤1504中接收动态指令集包括通过一个接口接收动态指令集,该接口选自一组接口,其中包括有无线链路、射频(RF)硬连线、可安装的存储器模块、红外以及逻辑端口接口。在本发明的一些方面,在步骤1504中接收动态指令集包括接收文件***段非易失性存储器内的补丁管理器运行时期指令(PMRTI)。
步骤1506处理动态指令集。处理动态指令集包括根据数学和逻辑运算来处理指令。在本发明的一些方面,在处理动态指令集之后,步骤1507(图中未示出)删除动态指令集。步骤1508操作***数据和***软件。根据对***数据和***软件的操作,步骤1510控制***软件的执行。
通常,在步骤1504接收补丁管理器运行时期指令包括接收条件操作代码和数据项。然后,在步骤1506处理动态指令集包括子步骤。步骤1506a1使用运行时期引擎读取补丁管理器运行时期指令操作代码。步骤1506b响应该操作代码执行一系列的操作。
在一些方面,在步骤1501b中在代码段内设置符号库包括在代码段的开始地址开始符号库,并设置符号使它们从各自的代码段开始地址偏移。然后,该方法还包括下述步骤。步骤1501c在相应的开始地址存储代码段的开始地址。步骤1501d维护交叉引用代码段标识符与相应起始地址的代码段地址表(CSAT)。步骤1501e保存交叉引用符号标识符和相应的偏移地址以及相应的代码段标识符的符号偏移地址表(SOAT)。
在本发明的一些方面,在步骤1504接收补丁管理器运行时期指令包括接收符号标识符。然后,该方法还包括下述步骤。步骤1506a2使用代码段地址表和符号偏移地址表来定位对应于所接收的符号标识符的符号。在步骤1506b响应于操作代码执行一系列的操作包括下述子步骤。在所定位的符号是数据项时,步骤1506b1提取该数据。所定位的符号是指令时,步骤1506b2执行这些符号。
在本发明的一些方面,在步骤1506b1处理动态指令集包括其它的子步骤。步骤1506b1a使用运行时期引擎捕获补丁管理器运行时期指令的长度。步骤1506b1b响应于操作代码从补丁管理器运行时期指令中提取数据项。在步骤1506b1c,操作代码在执行一系列操作时使用所提取的数据。
图16是动态指令集的一个例子的操作流程图。图16中的几个步骤和图15中的相同,为了简洁起见这里不再重复。在步骤1606中处理动态指令集包括一些子步骤。步骤1606a访问存储在文件***段中第二代码段中的***数据。步骤1606b分析此***数据。步骤1606c创建更新的***数据。在步骤1608中操作***数据和***软件包括用更新的***数据代替第二代码段中的***数据,在步骤1610中控制执行***软件包括在***软件的执行中使用更新的***数据。
图17是动态指令集另一示例的操作流程图。图17中的几个步骤和图15中的相同,为了简洁这里就不再重复。步骤1701c在非易失性存储器的代码存储段存储多个代码段。在步骤1706中处理动态指令集包括一些子步骤。步骤1706a访问存储在代码存储段(CSS)中第三代码段中的***数据。步骤1706b分析此***数据。步骤1706c创建更新的***数据。在步骤1708中操作***数据和***软件包括用更新的***数据代替第三代码段中的***数据。在步骤1710中对***软件执行的控制包括在***软件的执行中使用更新的***数据。
图18是动态指令集第三示例的操作流程图。图18中的几个步骤和图15中的相同,为了简洁这里不再重复。步骤1801c在非易失性存储器的代码存储段存储多个代码段。步骤1801d将读写数据加载入易失性存储器。在步骤1806中处理动态指令集包括子步骤。步骤1806a访问易失性储存器中的读写数据。步骤1806b分析此读写数据。步骤1806c创建更新的读写数据。在步骤1808中操作***数据和***软件包括用更新的读写数据代替易失性存储器中的读写数据。在步骤1810中控制***软件执行包括在***软件的执行中使用更新的读写数据。
图19是动态指令集操作的第四示例的流程图。图19中的几个步骤和图15中的相同,为了简洁这里就不再重复。处理动态指令集包括子步骤。步骤1906a监测***软件的执行以响应操作代码。步骤1906b收集性能数据。步骤1906c存储此性能数据。步骤1906d通过无线链路接口传输存储的数据。在步骤1908中操作***数据和***软件包括在***软件的评估中使用此性能数据。步骤1910控制***软件的执行。
图20是动态指令集操作的第五示例的流程图。图20中的几个步骤和图15中的相同,为了简洁这里就不再重复。步骤2001c在非易失性存储器的代码存储段存储多个代码段。在步骤2003中接收补丁管理器运行时期指令包括接收新代码段。在步骤2008中操作***数据和***软件包括将新代码段加入到代码存储段中,在步骤2010中对执行***软件的控制包括在***软件的执行中使用新代码段。
可选择地,在步骤2003中接收新的代码段包括接收更新代码段。然后,在步骤2008对***数据和***软件的操作包括用更新代码段来替换代码存储段中的***码段。
图21是用于更新无线通信设备***软件内的持久数据的本发明的方法的流程图。该方法开始于步骤2100。如上面详细描述的,因此,在附图中未具体图示,步骤2101a将***软件构造成符号库,每个符号库包括具有相关功能的符号。步骤2101b将符号库设置在非易失性存储器内的代码段内(在文件***段的代码存储段内)。步骤2102执行***软件。步骤2104启动运行时期引擎。步骤2106在非易失性存储器内的文件***段内接收带有动态指令集和新代码段的补丁管理器运行时期指令,其中包括更新的持久数据。步骤2108处理动态指令组。根据对动态指令集的处理,步骤2110选择性地更新***软件内的持久数据。
在步骤2110更新***软件内的持久数据包括更新诸如射频(RF)校准数据、非易失性***和用户配置数据、资源数据、非易失性***和用户应用数据和其它任意数据等持久数据。本发明的(多个中的)一个新颖的特点是能够替换***软件的一个段内的一些数据项,而不需要执行所有数据项的全部替换。步骤2112使用更新后的持久数据来执行***软件。
图22是与图21基本上相同的流程图,特征在于替换数据项更新处理。图22中的大部分步骤与图21相同,为了简洁不对它们进行解释。在步骤2206接收动态指令包括接收持久数据指令,在步骤2201b将符号库设置在代码段内(未图示)包括在第一代码段内设置多个持久数据项。然后,在步骤2210更新持久数据包括根据持久数据指令,使用更新后的持久数据项来替换第一代码段内的持久数据项。
在一些方面,在步骤2206中在非易失性存储器内的文件***段内接收更新持久数据包括接收带有多个数据项的替换代码段。然后,响应于持久数据指令,使用更新后的持久数据项替换第一代码段内的持久数据项(步骤2210),包括使用替换代码段内的数据项来替换第一代码段内的持久数据项。
在一些方面,在步骤2206接收持久数据指令包括接收内嵌在持久数据指令中的替换数据项。然后,根据持久数据指令,使用更新后的持久数据项替换第一代码段内的持久数据项(步骤2210)包括使用嵌入在持久数据指令内的数据项来替换第一代码段内的持久数据项。
图23是与图21基本上相同的流程图,特征在于条件逻辑数据项更新处理。图23中的大部分步骤与图21相同,为了简洁不对它们进行解释。在步骤2306中在非易失性存储器内的文件***段内接收更新持久数据包括接收多个限制数据项和条件持久数据指令。然后,响应于持久数据指令,使用更新后的持久数据项替换第一代码段内的持久数据项(步骤2310)包括子步骤。在步骤2310a使用所述条件持久数据指令比较第一代码段内的持久数据项与限制数据项。根据比较的结果,步骤2310b替换第一代码段内的持久数据项。
在一些方面,在步骤2306中在非易失性存储器的文件***段内接收更新持久数据包括接收带有多个数据项的限制代码段。然后,根据比较结果,替换第一代码段内的持久数据项(步骤2310b)包括使用限制代码段内的数据项来替换第一代码段内的持久数据项。
在一些方面,在步骤2306中接收条件持久数据指令包括接收内嵌在条件持久数据指令中的限制数据项。然后,根据比较结果,替换第一代码段内的持久数据项(步骤2310b)包括使用嵌入在条件持久数据指令内的限制数据项来替换第一代码段内的持久数据项。
在本发明的一些方面,根据比较结果,替换第一代码段内的持久数据项(步骤2310b)包括使用由条件持久数据指令所计算出的数据项来替换第一代码段内的持久数据项,在其它方面,根据比较结果,替换第一代码段内的持久数据项(步骤2310b)包括子步骤。步骤2310b1在条件持久数据指令所执行的计算中使用限制数据项作为操作数来建立数据项乘积。步骤2310b2使用该数据项乘积来替换第一代码段内的持久数据项。
图24是与图21基本上相同的流程图,特征在于目录数据项更新处理。图24中的大部分步骤与图21相同,为了简明不对它们进行解释。步骤2406在非易失性存储器内的文件***段内接收更新持久数据包括接收带有多个数据项地址的目录代码段。然后,响应于持久数据指令,使用更新的持久数据项替换第一代码段内的持久数据项(步骤2410)包括子步骤。步骤2410a根据目录代码段数据项地址来定位替换数据项。步骤2410b使用所定位的替换数据项来替换第一代码段内的持久数据项。
在一些方面,步骤2406中在非易失性存储器内的文件***段内接收更新后的持久数据包括接收带有多个限制地址的目录代码段。然后,响应于持久数据指令,使用持久数据项替换第一代码段内的持久数据项(步骤2410)包括子步骤。步骤2410c使用目录代码段内的限制地址来定位限制数据项。步骤2410d使用条件持久数据指令来比较第一代码段内的持久数据项与所述限制。根据比较结果,步骤2410e替换第一代码段内的持久数据项。
参见图21,在步骤2106中接收更新后的持久数据包括通过一个接口接收更新后的持久数据,所述接口包括无线链路、无线通信设备键盘、可安装的存储器模块、红外线、逻辑端口和射频硬连线接口。
在一些方面,在步骤2106中接收更新后的持久数据包括接收带有至少一个更新后的射频校准数据项的补丁管理器运行时期指令。在步骤2101b(未图示)中将符号库设置在代码段内包括在第一代码段内设置射频校准数据项,在步骤2102中执行***软件包括使用第一代码段内的射频校准数据,用于包括但不限制于频率调整、放大器偏置、衰减器调整和温度调整的功能。因此,更新***软件内的持久数据2110包括当替换第一代码段内的射频校准数据项时参考补丁管理器运行时期指令内的更新射频校准数据项。如上所述,在使用替换、条件逻辑或目录更新处理时参考更新的数据项。
在本发明的一些方面,步骤2106中接收更新后的持久数据包括接收带有至少一个更新后的非易失性***和用户配置数据项的补丁管理器运行时期指令。在步骤2101b(未图示)中将符号库设置在代码段内包括在第一代码段内设置非易失性***和用户配置数据项。在步骤2102中执行***软件包括使用第一代码段内的非易失性***和用户配置数据项,用于包括但不限制于识别无线设备的原籍区域、识别可能的漫游区域、识别无线设备操作在数字模式还是模拟模式内和识别无线设备的优选操作模式的功能。随后,在步骤2110内更新***软件内的持久数据包括当替换第一代码段内的非易失性***和用户配置数据项时,参考补丁管理器运行时期指令内的更新后的非易失性***和用户配置数据项。
在本发明的一些方面,在步骤2106中接收更新后的持久数据包括接收带有至少一个更新后的非易失性***和用户应用数据项的补丁管理器运行时期指令。在步骤2101b(未图示)中将符号库设置在代码段内包括在第一代码段内设置非易失性***和用户应用数据项。在步骤2102中执行***软件包括使用第一代码段内的非易失性***和用户应用数据项,用于包括但不限制于管理电话本文件和管理日程表文件的功能。随后,在步骤2110内更新***软件内的持久数据包括当替换第一代码段内的非易失性***和用户应用数据项时,参考补丁管理器运行时期指令内的更新后的非易失性***和用户应用数据项。
在本发明的一些方面,步骤2106中接收新的代码段包括接收带有至少一个更新后的资源数据项的补丁管理器运行时期指令。在步骤2101b(未图示)中将符号库设置在代码段内包括在第一代码段内设置资源数据项。在步骤2102中执行***软件包括使用第一代码段内的资源数据项,用于包括但不限制于用户接口对话、用户接口菜单和用户接口语言的功能。在步骤2110内更新***软件内的持久数据包括当替换第一代码段内的资源数据项时,参考补丁管理器运行时期指令内的更新后的资源数据项。
已经提供了一种用于在无线通信设备内执行动态指令集的***和方法,从而有助于更新和修补***的软件问题。因为在代码段内设置符号库,用表来存取在存储器内的所述代码段开始地址和符号在符号库内的偏移地址,所以能够很方便地更新该***。根据每个设备的具体特性,使用动态指令集允许为每个无线设备执行定制的修改。已经举了几个普通的例子来说明在更新***软件持久数据时动态指令集的可能用途。然而,本发明并不仅限制于这些例子。对于本领域的技术人员来说,本发明的其它改变和实施例将是显而易见。

Claims (41)

1.在无线通信设备内,一种更新持久数据的方法,所述方法包括:
执行***软件;
启动运行时期引擎;
处理动态指令集;和
根据对动态指令集的处理,选择性地更新***软件内的持久数据。
2.权利要求1的方法,还包括:
使用更新后的持久数据来执行***软件。
3.权利要求2的方法,其中更新***软件内的持久数据包括更新从下组数据中选择出的持久数据,该组数据包括射频(RF)校准数据、非易失性***和用户配置数据、资源数据、非易失性***和用户应用数据以及任意数据。
4.权利要求3的方法,还包括:
将***软件构造成符号库,每个符号库包括具有相关功能的符号;
将所述符号库排列到非易失性存储器内的代码段中;和
在非易失性存储器内的文件***段内接收带有动态指令集以及新的代码段的补丁管理器运行时期指令,包括更新后的持久数据。
5.权利要求4的方法,其中接收动态指令集包括接收持久数据指令;
其中将符号库排列到代码段内包括将多个持久数据项设置在第一代码段内;和
其中更新持久数据包括响应于持久数据指令,使用更新后的持久数据项替换第一代码段内的持久数据项。
6.权利要求5的方法,其中在非易失性存储器内的文件***段内接收更新后的持久数据包括接收带有多个数据项的替换代码段;和
其中依据持久数据指令,使用更新后的持久数据项来替换第一代码段内的持久数据项,包括使用替换代码段内的数据项来替换第一代码段内的持久数据项。
7.权利要求5的方法,其中接收持久数据指令包括接收内嵌在持久数据指令中的替换数据项;和
其中响应于持久数据指令,使用更新后的持久数据项替换第一代码段内的持久数据项,包括使用嵌入在持久数据指令内的数据项来替换第一代码段内的持久数据项。
8.权利要求5的方法,其中在非易失性存储器内的文件***段内接收更新后的持久数据包括接收多个限制数据项和条件持久数据指令;
其中响应于条件持久数据指令,使用更新后的持久数据项替换第一代码段内的持久数据项,包括:
使用条件持久数据指令,比较第一代码段内的持久数据项与限制数据项;和
根据比较结果,替换第一代码段内的持久数据项。
9.权利要求8的方法,其中在非易失性存储器内的文件***段内接收更新后的持久数据包括接收带有多个数据项的限制代码段;和
其中根据比较结果,替换第一代码段内的持久数据项包括使用限制代码段内的数据项来替换第一代码段内的持久数据项。
10.权利要求8的方法,其中接收条件持久数据指令包括接收内嵌在条件持久数据指令内的限制数据项;
其中根据比较结果,替换第一代码段内的持久数据项包括使用内嵌在条件持久数据指令中的限制数据项来替换第一代码段内的持久数据项。
11.权利要求8的方法,其中根据比较结果,替换第一代码段内的持久数据项包括使用由条件持久数据指令计算出的数据项来替换第一代码段内的持久数据项。
12.权利要求8的方法,其中根据比较结果,替换第一代码段内的持久数据项,包括:
在条件持久数据指令所执行的计算中使用限制数据项作为操作数来建立数据项乘积;和
使用数据项乘积来替换第一代码段内的持久数据项。
13.权利要求5的方法,其中在非易失性存储器内的文件***段内接收更新后的持久数据包括接收带有多个数据项地址的目录代码段;
其中响应于持久数据指令,使用更新后的持久数据项替换第一代码段内的持久数据项包括:
响应于目录代码段数据项地址来定位替换数据项;和
使用所定位的替换数据项来替换第一代码段内的持久数据项。
14.权利要求5的方法,其中在非易失性存储器内的文件***段内接收更新后的持久数据包括接收带有多个限制地址的目录代码段;
其中响应于持久数据指令,使用持久数据项来替换第一代码段内的持久数据项包括:
使用目录代码段内的限制地址来定位限制数据项;和
使用条件持久数据指令,比较第一代码段内的持久数据项与所述限制;和
根据比较结果,替换第一代码段内的持久数据项。
15.权利要求5的方法,其中接收更新后的持久数据包括通过一个接口接收更新后的持久数据,所述接口包括无线链路、无线通信设备键盘、可安装的存储器模块、红外的、逻辑端口和射频硬连线接口。
16.权利要求5的方法,其中接收更新后的持久数据包括接收带有至少一个更新后的射频校准数据项的补丁管理器运行时期指令;
其中将符号库排列到代码段内包括将射频校准数据项排列到第一代码段内;
其中执行***软件包括使用第一代码段内的射频校准数据,用于从包括频率调整、放大器偏置、衰减器调整和温度调整的组中选择出的功能;和
其中更新***软件内的持久数据包括当替换第一代码段内的射频校准数据项时参考补丁管理器运行时期指令内的更新后的射频校准数据项。
17.权利要求5的方法,其中接收更新后的持久数据包括接收带有至少一个更新后的非易失性***和用户配置数据项的补丁管理器运行时期指令;
其中将符号库设置到代码段内包括将非易失性***和用户配置数据项设置在第一代码段内;
其中执行***软件包括使用第一代码段内的非易失性***和用户配置数据项,用于从包括从各种***配置文件的组中选择出的功能,所述***配置文件包括用于识别无线设备的原籍区域、用于识别允许的漫游区域、用于识别无线设备工作在数字模式还是模拟模式、以及用于识别无线设备的优选工作模式的***配置文件;和
其中更新***软件内的持久数据包括当替换第二代码段内的非易失性***和用户配置数据项时参考补丁管理器运行时期指令内的更新后的非易失性***和用户配置数据项。
18.权利要求5的方法,其中接收更新后的持久数据包括接收带有至少一个更新后的非易失性***和用户应用数据项的补丁管理器运行时期指令;
其中将符号库设置到代码段内包括将非易失性***和用户应用数据项设置在第一代码段内;
其中执行***软件包括使用第一代码段内的非易失性***和用户应用数据项,用于从包括管理电话本文件和管理日程表文件的组中选择出的功能;和
其中更新***软件内的持久数据包括当替换第一代码段内的非易失性***和用户应用数据项时参考补丁管理器运行时期指令内的更新后的非易失性***和用户应用数据项。
19.权利要求5的方法,其中接收新的持久数据包括接收带有至少一个更新后的资源数据项的补丁管理器运行时期指令;
其中将符号库设置在代码段内包括将资源数据项设置在第一代码段内;
其中执行***软件包括使用第一代码段内的资源数据,用于从包括用户接口对话、用户接口菜单和用户接口语言的组中选择出的功能;和
其中更新***软件内的持久数据包括当替换第一代码段内的资源数据项时参考补丁管理器运行时期指令内的更新后的资源数据项。
20.在无线通信设备中的一种更新持久数据的方法,该方法包括:
执行***软件;
启动运行时期引擎;
在非易失性存储器内的文件***段内接收带有动态指令集和新代码段的补丁管理器运行时期指令,其中包括更新后的持久数据;
处理动态指令集;
响应于处理动态指令集,选择性地更新从包括射频(RF)校准数据、非易失性***和用户配置数据、资源数据、非易失性***和用户应用数据以及任意数据的组中选择出的***软件内的持久数据;和
使用更新后的持久数据来执行***软件。
21.在无线通信设备内的一种更新持久数据的***,该***包括:
划分成在非易失性存储器永久性存储区内存储的代码段的可执行的***软件和***数据;
用于选择性地更新***软件内持久数据的动态指令集;和
用于处理动态指令集的运行时期引擎。
22.权利要求21的***,其中响应于处理动态指令集来更新可执行的***软件和***数据。
23.权利要求22的***,其中将可执行的***软件构造成符号库,每个符号库包括具有相关功能和设置到在代码存储段内存储的代码段的符号;
该***还包括:
无线链路接口;和
通过无线链路接口接收补丁管理器运行时期指令(PMRTI)的非易失性永久性存储器的文件***段,所述补丁管理器运行时期指令包括动态指令集和新代码段。
24.权利要求23的***,其中动态指令集更新从下述组中选择出的***软件内的持久数据,所述组包括射频(RF)校准数据、非易失性***和用户配置数据、资源数据、非易失性***和用户应用数据和任意数据。
25.权利要求24的***,其中***软件被构造成符号库,每个符号库包括具有相关功能的符号,并被设置到非易失性永久性存储器内的代码段内;和
其中文件***段接收动态指令集和新代码段,其中包括更新后的持久数据。
26.权利要求25的***,其中文件***段接收包括持久数据指令的动态指令集;
其中***软件包括第一代码段内的多个持久数据项;和
其中持久数据指令使用更新后的持久数据项来替换第一代码段内的持久数据项。
27.权利要求26的***,其中文件***段接收带有多个数据项的替换代码段;和
其中持久数据指令使用替换代码段内的数据项来替换第一代码段内的持久数据项。
28.权利要求26的***,其中文件***段接收内嵌在持久数据指令中的替换数据项;和
其中持久数据指令使用内嵌在持久数据指令中的数据项来替换第一代码段内的持久数据项。
29.权利要求26的***,其中文件***段接收多个限制数据项和条件持久数据指令;
其中条件持久数据指令比较第一代码段内的持久数据项与限制数据项,并响应于对第一代码段内的持久数据项与限制数据项的比较,替换第一代码段内的持久数据项。
30.权利要求29的***,其中文件***段接收带有多个数据项的限制代码段;和
其中响应于对第一代码段内的持久数据项与限制数据项的比较,条件持久数据指令使用限制代码段内的数据项替换第一代码段内的持久数据项。
31.权利要求29的***,其中文件***段接收内嵌在条件持久数据指令中的限制数据项;
其中响应于对第一代码段内的持久数据项与限制数据项的比较,条件持久数据指令使用内嵌在条件持久数据指令中的限制数据项来替换第一代码段内的持久数据项。
32.权利要求29的***,其中响应于对第一代码段内的持久数据项与限制数据项的比较,条件持久数据指令使用由条件持久数据指令计算出的数据项来替换第一代码段内的持久数据项。
33.权利要求29的***,其中条件持久数据指令在计算中使用限制数据项作为操作数来建立数据项乘积,使用所述数据项乘积来替换第一代码段内的持久数据项。
34.权利要求26的***,其中文件***段接收带有多个数据项地址的目录代码段;
其中持久数据指令响应于目录代码段数据项地址来定位替换数据项,并使用所定位的替换数据项来替换第一代码段内的持久数据项。
35.权利要求26的***,其中文件***段接收条件持久数据指令与带有多个限制地址的目录代码段;
其中条件持久数据指令使用目录代码段内的限制地址来定位限制数据项,比较第一代码段内的持久数据项与所定位的限制,并根据比较结果,替换第一代码段内的持久数据项。
36.权利要求26的***,进一步包括:
从包括无线通信设备键盘、可安装的存储器模块、红外的、逻辑端口和射频硬连线接口的组中选择出接口;和
其中文件***段通过从下述组中选择出的接口来接收更新后的持久数据,所述组包括无线链路、无线通信设备键盘、可安装的存储器模块、红外的、逻辑端口和射频硬连线接口。
37.权利要求26的***,其中文件***段接收带有至少一个更新后的射频校准数据项的补丁管理器运行时期指令;
其中***软件包括在第一代码段内设置的射频校准数据项,用于从包括频率调整、放大器偏置、衰减器调整和温度调整的组中选择出的功能;和
其中当替换第一代码段内的射频校准数据项时,持久数据指令参考补丁管理器运行时期指令内的更新后的射频校准数据项。
38.权利要求26的***,其中文件***段接收带有至少一个更新后的非易失性***和用户配置数据项的补丁管理器运行时期指令;
其中***软件包括在第一代码段内设置的非易失性***和用户配置数据项,用于从包括识别无线设备的原籍区域、识别允许的漫游区域、识别无线设备工作在数字模式还是模拟模式和识别无线设备的优选工作模式的***配置文件的组中选择出的功能;和
其中当替换第一代码段内的非易失性***和用户配置数据项时,持久数据指令参考补丁管理器运行时期指令内的更新后的非易失性***和用户配置数据项。
39.权利要求26的***,其中文件***段接收带有至少一个更新后的非易失性***和用户应用数据项的补丁管理器运行时期指令;
其中***软件包括在第一代码段内设置的非易失性***和用户应用数据项设置,用于从包括管理电话本文件和管理日程表文件的组中选择出的功能;和
其中当替换第一代码段内的非易失性***和用户应用数据项时,持久数据指令参考补丁管理器运行时期指令内的更新后的非易失性***和用户应用数据项。
40.权利要求26的***,其中文件***段接收带有至少一个更新后的资源数据项的补丁管理器运行时期指令;
其中***软件包括设置在第一代码段内的资源数据项,用于从包括用户接口对话、用户接口菜单和用户接口语言的组中选择出的功能;和
其中当替换第一代码段内的资源数据项时,持久数据指令参考补丁管理器运行时期指令内的更新后的资源数据项。
41.在无线通信设备中,一种用于更新持久数据的***,该***包括:
可执行的***软件和***数据,划分成存储在非易失性存储器永久性存储区内的代码段并构造成符号库,每个符号库包括具有相关功能的符号,设置在代码存储区域内存储的代码段;
动态指令集,用于选择性地更新从下组中选择出的***软件内的持久数据,所述组包括射频(RF)校准数据、非易失性***和用户配置数据、资源数据、非易失性***和用户应用数据和任意数据;
用于处理动态指令集的运行时期引擎;
无线链路接口;
非易失性永久性存储器的文件***段,通过所述无线链路接口接收补丁管理器运行时期指令(PMRTI),所述补丁管理器运行时期指令包括持久数据指令和新代码段;和
其中响应于处理动态指令集来更新可执行的***软件和***数据。
CNB02814838XA 2001-07-26 2002-07-23 在无线通信设备中更新持久数据的***和方法 Expired - Fee Related CN1288554C (zh)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US09/917,026 2001-07-26
US09/916,900 2001-07-26
US09/917,026 US7328007B2 (en) 2001-07-26 2001-07-26 System and method for organizing wireless communication device system software
US09/916,460 2001-07-26
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/927,131 2001-08-10
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
US09/969,305 2001-10-02

Publications (2)

Publication Number Publication Date
CN1535422A true CN1535422A (zh) 2004-10-06
CN1288554C CN1288554C (zh) 2006-12-06

Family

ID=27542295

Family Applications (10)

Application Number Title Priority Date Filing Date
CNB028148320A Expired - Fee Related CN1288553C (zh) 2001-07-26 2002-07-22 用于在无线通信设备上执行更新指令的方法
CNB028148312A Expired - Fee Related CN1275149C (zh) 2001-07-26 2002-07-22 用于管理无线通信设备***软件现场下载的***和方法
CNB028148339A Expired - Fee Related CN1275150C (zh) 2001-07-26 2002-07-22 在无线通信设备中现场升级***软件的设备及方法
CNB028148347A Expired - Fee Related CN1235137C (zh) 2001-07-26 2002-07-23 用于压缩可现场升级的无线通信设备软件代码段的***及方法
CNB028148371A Expired - Fee Related CN1279447C (zh) 2001-07-26 2002-07-23 用于现场诊断无线通信设备***软件的***和方法
CNB028148355A Expired - Fee Related CN1235138C (zh) 2001-07-26 2002-07-23 用于现场下载无线通信设备软件代码段的***及方法
CNB02814838XA Expired - Fee Related CN1288554C (zh) 2001-07-26 2002-07-23 在无线通信设备中更新持久数据的***和方法
CNB02814841XA Expired - Fee Related CN1250035C (zh) 2001-07-26 2002-07-25 用于提高手机重建程序和重新编程的安全性的***及方法
CNB028148398A Expired - Fee Related CN100378661C (zh) 2001-07-26 2002-07-25 用于双向通信和执行动态指令集的***和方法
CNB028148401A Expired - Fee Related CN1310488C (zh) 2001-07-26 2002-07-25 用于对等手机通信的***及方法

Family Applications Before (6)

Application Number Title Priority Date Filing Date
CNB028148320A Expired - Fee Related CN1288553C (zh) 2001-07-26 2002-07-22 用于在无线通信设备上执行更新指令的方法
CNB028148312A Expired - Fee Related CN1275149C (zh) 2001-07-26 2002-07-22 用于管理无线通信设备***软件现场下载的***和方法
CNB028148339A Expired - Fee Related CN1275150C (zh) 2001-07-26 2002-07-22 在无线通信设备中现场升级***软件的设备及方法
CNB028148347A Expired - Fee Related CN1235137C (zh) 2001-07-26 2002-07-23 用于压缩可现场升级的无线通信设备软件代码段的***及方法
CNB028148371A Expired - Fee Related CN1279447C (zh) 2001-07-26 2002-07-23 用于现场诊断无线通信设备***软件的***和方法
CNB028148355A Expired - Fee Related CN1235138C (zh) 2001-07-26 2002-07-23 用于现场下载无线通信设备软件代码段的***及方法

Family Applications After (3)

Application Number Title Priority Date Filing Date
CNB02814841XA Expired - Fee Related CN1250035C (zh) 2001-07-26 2002-07-25 用于提高手机重建程序和重新编程的安全性的***及方法
CNB028148398A Expired - Fee Related CN100378661C (zh) 2001-07-26 2002-07-25 用于双向通信和执行动态指令集的***和方法
CNB028148401A Expired - Fee Related CN1310488C (zh) 2001-07-26 2002-07-25 用于对等手机通信的***及方法

Country Status (9)

Country Link
EP (12) EP1410188A2 (zh)
JP (11) JP4104546B2 (zh)
KR (10) KR100940178B1 (zh)
CN (10) CN1288553C (zh)
AT (9) ATE387658T1 (zh)
AU (9) AU2002319568A1 (zh)
DE (7) DE60205755T2 (zh)
ES (9) ES2300454T3 (zh)
WO (10) WO2003010656A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101401072B (zh) * 2006-03-10 2010-12-15 富士通株式会社 应用补丁筛选装置以及应用补丁筛选方法
CN102023815A (zh) * 2009-09-15 2011-04-20 格雷戈里·伯德 在固态存储器中实现raid

Families Citing this family (36)

* Cited by examiner, † Cited by third party
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 パナソニック株式会社 ソフトウェア更新方法及び無線通信装置
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 주식회사 팬택앤큐리텔 소프트웨어 이미지 생성 방법
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
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
US8422667B2 (en) 2005-01-27 2013-04-16 The Chamberlain Group, Inc. Method and apparatus to facilitate transmission of an encrypted rolling code
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 中兴通讯股份有限公司 一种通信***软件版本的平滑升级方法
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 주식회사 케이티 모바일 플랫폼 런타임 다이나믹 링킹 라이브러리 관리 방법및 시스템
JP2012523479A (ja) 2009-04-07 2012-10-04 センシエント カラーズ エルエルシー 自己分散性粒子並びにその製造方法及び使用方法
CN101539885B (zh) * 2009-04-23 2011-06-08 大唐微电子技术有限公司 一种无线通信模块软件自主空中升级的方法、装置及***
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
JP2002515999A (ja) * 1996-08-28 2002-05-28 ウィンド リヴァー システムズ インコーポレイテッド 複数プロセッサーで分割されるソフトウエア診断のためのツール
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101401072B (zh) * 2006-03-10 2010-12-15 富士通株式会社 应用补丁筛选装置以及应用补丁筛选方法
CN102023815A (zh) * 2009-09-15 2011-04-20 格雷戈里·伯德 在固态存储器中实现raid
CN102023815B (zh) * 2009-09-15 2016-01-20 马维尔国际贸易有限公司 在固态存储器中实现raid

Also Published As

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

Similar Documents

Publication Publication Date Title
CN1288554C (zh) 在无线通信设备中更新持久数据的***和方法
EP1973035B1 (en) System and method for the management of wireless communications device system software downloads in the field
US20050026603A9 (en) System and method for the management of wireless communications device system software downloads in the field
US8479180B2 (en) Maintenance of over the air upgradeable wireless communication device software
CN104199706A (zh) 一种eMMC的固件升级方法及其设备
CN103559065B (zh) 一种ota升级的方法和***
CN101331781A (zh) 使用装置的嵌入式无线技术的装置制造
CN1781075A (zh) 电子文件更新期间的设备存储器管理
US20030110479A1 (en) System and method for bi-directional communication and execution of dynamic instruction sets
US9554268B2 (en) System and method for updating persistent data in a wireless communications device
KR20070014787A (ko) 이동 통신 단말기의 바이러스 처리 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: KYOCERA CO.,LTD.

Free format text: FORMER NAME OR ADDRESS: KYOCERA WIRELESS CORP.

CP03 Change of name, title or address

Address after: American California

Patentee after: Kyocera Wireless Corp.

Address before: American California

Patentee before: Kyocera Wireless Corp.

ASS Succession or assignment of patent right

Owner name: KYOCERA CORP.

Free format text: FORMER OWNER: KYOCERA WIRELESS CORP.

Effective date: 20110630

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: STATE OF CALIFORNIA, THE USA TO: KYOTO, JAPAN

TR01 Transfer of patent right

Effective date of registration: 20110630

Address after: Kyoto Japan

Patentee after: Kyocera Corp.

Address before: American California

Patentee before: Kyocera Wireless Corp.

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Kyoto Japan

Patentee after: KYOCERA Corporation

Address before: Kyoto Japan

Patentee before: Kyocera Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20061206

Termination date: 20160723

CF01 Termination of patent right due to non-payment of annual fee