[go: up one dir, main page]

CN1537397A - 用于提高手机重建程序和重新编程的安全性的系统及方法 - Google Patents

用于提高手机重建程序和重新编程的安全性的系统及方法 Download PDF

Info

Publication number
CN1537397A
CN1537397A CNA02814841XA CN02814841A CN1537397A CN 1537397 A CN1537397 A CN 1537397A CN A02814841X A CNA02814841X A CN A02814841XA CN 02814841 A CN02814841 A CN 02814841A CN 1537397 A CN1537397 A CN 1537397A
Authority
CN
China
Prior art keywords
reprogramming
code
wireless communication
communication device
code segment
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
CNA02814841XA
Other languages
English (en)
Other versions
CN1250035C (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/916,900 external-priority patent/US7027806B2/en
Priority claimed from US09/916,460 external-priority patent/US7159214B2/en
Priority claimed from US09/917,026 external-priority patent/US7328007B2/en
Priority claimed from US09/927,131 external-priority patent/US7143407B2/en
Priority claimed from US09/969,305 external-priority patent/US7386846B2/en
Application filed by Kyocera Wireless Corp filed Critical Kyocera Wireless Corp
Publication of CN1537397A publication Critical patent/CN1537397A/zh
Application granted granted Critical
Publication of CN1250035C publication Critical patent/CN1250035C/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/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/20Transfer of user or subscriber data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

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

Abstract

提供在手机重新编程中用于提高安全性的系统和方法,其可防止手机在未得到营运商授权的情况下而被现场重新编程。当手机接收到重新编程的请求或检测到重新编程的尝试时,手机可与营运商联系来请求授权重新编程。网络可以提供授权、拒绝授权,可从重新编程设备中要求其它的信息,或直接与重新编程设备联系以授权重新编程。此外,营运商可向手机和重新编程设备提供专用密钥,专用密钥能被每个设备转换并被手机比较以确定重新编程是否被授权。

Description

用于提高手机重建程序和重新编程的安全性的系统及方法
技术领域
本发明一般涉及无线通信领域,特别涉及用于重建及重编无线通信设备程序的安全系统。
背景技术
无线通信设备包括任何类型的可通过无线通信网络通信的设备,它们在制造时可以被编程和编制程序。可选择地,当它们被零售商或网络接入提供商如Sprint、Verizon、AT&T Mobile等激活时,它们也可被编程或编制程序。无线通信设备(在本文也被称为“无线设备”、“手机”或“移动设备”)的编程和编制程序(本文统称为“编程”)可为手机提供也被称为电话号码的移动识别码(“MIN”)、其它操作参数、网络参数及应用软件。这些项目可置于手机的永久存储器中,在那里它们不能被更改或删除。
通常当手机被激活时,运营商或服务提供商可为手机编程。在常规手机中,编程发生后,锁代码(在本文也被称为“访问码”)也被置于手机的永久存储器中。随后,任何将来的编程尝试必须在手机允许其永久存储器被改变前首先提供访问码,这种过程被称为重建或重新编程(在本文统称为“重新编程”)。
用于重编手机程序的常规安全类型面临着许多问题。半黑市和黑市的利害当事人已经开发了能够破译手机访问码的应用程序和工具,从而手机可被重新编程。然后经重新编程的电话通常作为半黑市商品出售给没有戒心的消费者。此外这些非法经重新编程的电话也在黑市上被出售,它们在黑市上的使用由于干扰了网络和未付费通信,所以使合法消费者非常烦恼。
因此,需要一种可对手机提供附加安全性以预防未经授权的重新编程而不会阻碍经授权的重新编程的系统和方法。
发明内容
常规手机通常可通过相当便宜的软件工具和串口连接而现场重新编程。这种重新编程使得手机可被出售到半黑市或黑市,在那里它们的非法使用以额外的通信量干扰了波段并使付费消费者的网络存取混乱。
提供用于提高手机重新编程的安全性的系统和方法,其可防止手机在未得到服务提供商(在本文中也被称为“营运商”)授权的情况下而被现场重新编程。这种新解决方案显著的优点是营运商可以保存关于何时、何地、由谁将他们投入市场的电话进行了重新编程的记录。此外,对手机重新编程需要营运商授权,显著提高了可重新编程手机投入半黑市或黑市的难度和复杂性。
当手机接收到重新编程的请求或检测到重新编程的尝试时,手机可与营运商联系来请求授权重新编程。网络可以提供授权、拒绝授权,可从重新编程设备中要求其它信息,或直接与重新编程设备联系以授权重新编程。
有利的是,可以制造在永久存储器中没有访问码的手机。没有访问码使手机在缺少营运商认可和授权的情况下没有被重新编程的能力。在参考详细说明书之后,可以更清楚本文提出的系统和方法的其它优点和应用。
附图简要说明
结合附图可部分地理解本发明结构和操作的细节,其中相同的标号指代相同的部分,及其中:
图1是整个无线设备软件维护系统的示意性方框图;
图2是软件维护系统的示意性方框图,突出表明通过无线链路接口安装指令集;
图3是本发明的用于在无线通信设备中执行动态指令集的系统的示意性方框图;
图4是无线设备存储器的示意性方框图;
图5是图3所示的代码段地址表;
图6是图3中带有符号的符号库1的详细说明;
图7是图3所示的符号偏移地址表;
图8是对由运行时期引擎所访问的操作代码(操作码)的说明;
图9是对图8的第一操作代码的更详细说明;
图10是本发明的用于在无线通信设备中执行动态指令集的方法的流程图;
图11是动态指令集操作的一个示例的流程图;
图12是动态指令集操作的另一示例的流程图;
图13是动态指令集操作的第三示例的流程图;
图14是动态指令集操作的第四示例的流程图;;
图15是动态指令集操作的第五示例的流程图;;
图16是无线通信网络的一个示例的高级网络图;
图17A是无线通信设备的一个示例的方框图;
图17B是远程运行时期(runtime)指令代码段的一个示例的方框图;
图18A是PMRTI服务器的一个示例的方框图;
图18B是服务器运行时期指令代码段的一个示例的方框图;
图19是在无线通信设备上执行动态指令集的示意性过程的流程图;
图20是在无线通信设备上编译动态指令集的示例性过程的流程图;
图21是在PMRTI服务器上执行动态指令集的示例性过程的流程图;
图22是营运商授权手机重新编程的示例性过程的流程图;
图23是营运商授权手机重新编程的示例性公用和专用密钥处理过程流程图;
图24是在手机上创建授权无关重新编程窗口的示例性过程的流程图;
图25是营运商授权手机重新编程的示例性PMRTI处理过程的流程图;
图26是可用于与本文所述的各种实施方案结合的示例性计算机系统的方框图。
详细说明
本文公开的某些实施方案提供了用于在无线通信设备和无线通信网络之间双向交换动态指令集的系统和方法。例如,本文所公开的一种方法允许无线通信设备动态地创建指令集并将该指令集发送到网络上以进行执行和处理。
在理解了说明书之后,对于本领域所属技术人员来讲如何实施本发明的各种可选择的实施方案和可选择的应用是显而易见的。然而,虽然本文描述了本发明的各种实施方案,但是应该理解这些实施方案仅是作为例子而不是用来限制本发明。同样,各种可选择实施方案的详细说明也不是要限制如所附权利要求中阐明的本发明范围或者广度。
下面结合无线设备微处理器或存储器中数据位的操作流程、步骤、逻辑块、代码、方法和其它操作符号表示,列出详细说明的一部分。这些说明和表示可使数据处理领域的所属技术人员能更有效地将他们的工作内容转达给本领域所属的其他工作人员。此处的流程、微处理器执行步骤、应用、逻辑块、方法等通常被认为是指可引起所期望结果的前后一致的步骤序列或指令序列。步骤是指那些需要对物理量进行物理处理的步骤。通常尽管不是必须的,这些量表现为能够存储、传输、组合、比较或其它可在基于微处理器的无线设备中处理的电信号或磁信号的形式。主要是因为通用的原因,将这些信号称为位、值、单元、符号、字符、项、数字等被证实有时是方便的。当物理设备(如存储器)被提及时,它们是通过总线或其它的电连接与其它的物理设备连接的。这些物理设备可被认为是与逻辑处理或应用程序相互作用,因此与逻辑操作“连接”。例如,存储器可存储或存取代码以进行逻辑操作,或者应用程序能够访问源于存储器的代码段以执行程序。
然而应该记住,所有这些术语和相似的术语与相应的物理量相关,其仅是加到这些物理量上的方便标记。除非从下面的讨论中另有特别指明的,应该理解整个发明中使用术语“处理”、“连接”、“翻译”、“显示”、“提示”、“确定”、“显示”、“识别”等的讨论指的是无线设备微处理系统中的活动和过程,其可将计算机系统寄存器和存储器中被表示作物理(电子)量的数据处理并转换成在无线设备存储器或寄存器或其它此类信息存储、传输或显示设备中被表示作相似物理量的其它数据。
图1是整个无线设备软件维护系统100的示意性方框图。下面在对软件维护系统100做总的说明之后,详细说明本发明的系统软件结构。总系统100说明了一种用于传输系统软件更新和指令集(程序)并在无线设备中安装所传输的软件的方法。系统软件更新以及更经常被称为指令集或动态指令集的补丁管理器运行时期指令(PMRTI)是由手机制造商创建的。系统软件可被编制成符号库。符号库被排列进代码段。当欲更新符号库时,软件更新102按一个或多个代码段传输。将软件更新广播到无线通信设备104所代表的现场无线设备中,或使用公知的常规无线链路、数据或信息传输协议在分离的通信中从基站106开始传输。由于无线通信设备可容易地被改进以适于任何可用的在无线上的传输协议从而达到接收系统软件和PMRTI更新程序的目的,所以本发明不限于任何特定的传输形式。
系统软件也可被认为是不同子系统的集合。代码对象可被紧密地连接进这些抽象子集中的一个,得到的集合可称为符号库。从而可对代码库(code base)提供逻辑分类,软件修补和改正与这些符号库中的一个相关。在大多数情况下,单独的更新程序与一个或至多两个符号库相关。代码基数的其余部分、其它符号库保持不变。
符号库的概念为处理代码和常数提供了方法。另一方面读写(RW)数据被装入含有用于所有库的基于RAM的数据的唯一的独立的RW库。
一旦传输的代码段被无线设备104接受,那么其必须被处理。无线设备将重写非易失性存储器108的特定代码段。非易失性存储器108包括文件系统段(FSS)110和代码存储段112。为最小化代码段在FSS 110中的占用空间,在传输前通常压缩代码段。通常更新的代码段与其RW数据结合,RW数据是另一种含有RW数据的符号库,包括用于每个符号库的所有RW数据。尽管当执行系统软件时,RW数据可装入随机存取易失性读写存储器114中,但是RW数据总是需要被存储在非易失性存储器108中,所以每次无线设备被复位时,其能被装入随机存取易失性读写存储器114中。这一点包括第一次的RW数据被装入随机存取易失性读写存储器中。如下面更详细地说明中的那样,RW数据通常排列在补丁代码段。
系统100包括虚拟表的概念。使用这种表,在一个代码段中的符号库可被修补(替换),而不会破坏(替换)系统软件(其它代码段)的其它部分。为更有效率,虚拟表在随机存取易失性读写存储器114中执行。代码段地址表和符号偏移地址表都是虚拟表。
更新的代码段被无线设备104接收并存储在FSS 110中。无线设备用户接口(UI)通常将通知用户新软件是可用的。用户确认该通知并发送补丁或更新信号以响应UI提示。可选择地,更新操作可自动进行。当进行更新操作时,无线设备不能进行标准通信任务。补丁管理器代码段包括也被装入随机存取易失性读写存储器114中的非易失性读写驱动器符号库。非易失性读写驱动器符号库将引起代码段被更新的代码段重写。补丁管理器代码段包括读写数据、代码段地址表、偏移地址表及符号存取器代码、符号存取器代码地址(下面讨论)。当传入了更新的代码段,并且更新的补丁管理器代码段包括对更新的代码段有效的读写数据、代码段地址表及偏移地址表时,该数据的一部分是无效的。一旦更新的代码段被装入代码存储段112中,无线设备就被复位。在复位操作之后,无线设备能执行更新的系统软件。应该理解,补丁管理器代码段可包括上面没有讨论的其它符号库。这些其它的符号库不需要被装入可读写易失性存储器114中。
图2是软件维护系统100的示意性方框图,重点说明通过无线链路接口安装指令集。除了更新系统的代码段外,维护系统100可下载并安装本文称为补丁管理器运行时期指令(PMRTI)的动态指令集、程序、或补丁管理器指令集(PMIS)。PMRTI代码段200按与上所述的系统软件代码段相同的方式传输到无线设备104。PMRTI代码段起初储存在FSS 110中。PMRTI代码段通常是二进制文件,并可形成针对手机的编译指令。对于基本数学操作性能和条件执行操作性能而言,PMRTI代码段是足够全面的。例如,RF校准PMRTI能执行下面的操作:
IF RF CAL ITEM IS LESS THAN X(如果RF CAL项小于X)
EXECUTE INSTRUCTION(执行指令)
ELSE(否则)
EXECUTE INSTRUCTION(执行指令)
PMRTI可支持基本数学运算,如加、减、乘、除。与系统软件代码段相同,可装入PMRTI代码段以响应UI提示,在PMRTI装入到代码存储段112后,无线设备必须复位。然后再执行PMRTI段。如果PMRTI代码段与任何虚拟表或读写数据相关,那么为在代码存储段112中安装,更新的补丁管理器代码段将和PMRTI一起被传输。可选择地,PMRTI也可被保持并在FSS 110中处理。在手机104已执行了所有PMRTI段的指令后,可从FSS 110删除PMRTI段。可选择地,为更进一步的操作可保留PMRTI。例如每次无线设备启动后,可执行PMRTI。
PMRTI是一种非常有效的运行时期指令引擎。通过PMRTI环境,手机可执行任何传到它的指令。这种方法可被用来支持RF校准。更一般而言,当制造商或服务供应商认识到软件问题时,这通常是用户报怨的结果,PMRTI可用于远程调试无线设备软件。PMRTI也可记录诊断软件问题所需要的数据。PMRTI可提供用于数据分析、调试及改正的最新下载系统应用程序。PMRTI可提供基于RW数据的更新程序用于分析,并短期内改正问题以代替更新的系统软件代码段。PMRTI可提供无线设备使用的存储器压缩算法。
在本发明的某些方面中,将系统软件编制为符号库可影响执行所需要的易失性存储器114和非易失性存储器108的长度。这是由于通常代码段比排列在代码段中的符号库更大的原因。这些较大代码段用以容纳更新的代码段。将系统软件编制成库的集合对非易失性存储器长度需求有影响。对于同样代码长度而言,使用的非易失性存储器的容量较大是由于代码段比排列于其中的符号库更大的原因。
一旦软件更新被传输到无线设备,那么软件维护系统100就支持存储器压缩。存储器压缩与台式计算机中的磁盘碎片整理程序应用相似。这种压缩方法可确保存储器的最佳使用并有更多的节余以用于将来的代码段更新程序,而更新的代码段长度是不可预测的。当系统100被修补(更新)时,其可分析代码存储段。系统100意图使更新的代码段进入由被代替的代码段所占据的存储空间。如果更新的代码段比被代替的代码段更大,那么系统100在存储器112中压缩代码段。可选择地,制造商或服务提供商可计算这种压缩,并且压缩指令可被传输到无线设备104。
由于算法的复杂性和大量的数据移动,所以压缩是耗费时间的过程。在其开始任何过程之前压缩算法可预测可能性。在试图压缩之前可用UI提示请求用户的许可。
在本发明的某些方面中,所有的系统软件代码段可被同时更新。然而,完整的系统软件升级需要较大的FSS 110。
图3是本发明的用于在无线通信设备中执行动态指令集的系统的示意性方框图。系统300包括在存储器108中的代码存储段112,其包括被区分成多个当前代码段的可执行无线设备系统软件。以代码段1(302)、代码段2(304)、代码段n(306)及补丁管理器代码段308表示,然而本发明不限于任何特定数量的代码段。系统300还包括排列进第二组代码段的第一组符号库。示出的是排列在代码段1(302)中的符号库1(310)、排列在代码段2(304)中的符号库2(312)及符号库3(314)及排列在代码段n(306)中的符号库m(316)。每个库包括具有相关功能的符号。例如,符号库1(310)可能与无线设备液晶显示器(LCD)的操作有关。那么此符号与显示功能相关。如下面详细说明的,其它符号库被排列在补丁管理器代码段308中。
图4是无线设备存储器的示意性方框图。如图所示,存储器是图1中的代码存储段112。该存储器是可写非易失性存储器,如闪存。应该理解,代码段不需象FSS 110那样被存储在相同的存储器中。而应该理解,本发明的系统软件结构能使代码段存储在多个合作的存储器中。代码存储段112包括第二组连续寻址存储块,其中每个存储块存储来自于第二组代码段的相应代码段。因而,代码段1(302)存储在第一存储块400中,代码段2(304)存储在第二存储块402中,代码段n(306)存储在第n存储块404中,补丁管理器代码段(308)存储在第p存储块406中。
比较图3与图4,每个代码段的起始位置存储在存储器中相应的起始地址处,符号库从代码段的起始位置开始排列。也就是说,每个符号库开始在第一地址处并从第一地址依次占用一段地址。例如,代码段1(302)在代码存储段存储器112中的第一起始地址408(用“S”标示)开始。在图3中,符号库1(310)在第一代码段的起始位置318开始。同样的,代码段2(304)在第二起始地址410(如图4)开始,符号库2在代码段2的起始位置320(图3)开始。代码段n(306)在代码存储段存储器112中的第三起始地址412(图4)开始,符号库m(316)在代码段n的起始位置322(图3)开始。补丁管理器代码段在代码存储段存储器112的第p起始地址(414)开始,在补丁管理器代码段308中的第一符号库在补丁管理器代码段的起始位置324开始。因而,符号库1(310)最终存储在第一存储块400中。如果代码段包括多个符号库,如代码段2(304),那么此多个符号库被存储在相应的存储块中,在这种情况下是第二存储块402。
在图3中,系统300还包括作为一种符号的代码段地址表326,其包括在排列在补丁管理器代码段308中的符号库内。代码段地址表在存储器中可用相应的代码段起始地址交叉引用代码段标识符。
图5是表,代表图3中的代码段地址表326。访问代码段地址表326能够为符号库找到代码段起始地址。例如,当需要执行符号库1中的符号时,系统300将寻找代码段1。为找到代码段1的起始地址并且由此定位符号库1中的符号,需访问代码段地址表326。代码段内符号库的排列及用表跟踪代码段使得代码段可被移动或扩展。扩展或移动操作对于安装升级代码段(带有升级符号库)是需要的。
参照图3,应该注意到并非每个符号库必须在代码段的起始位置开始。如图所示,符号库3(314)排列在代码段2(304)中,但是不在代码段起始地址320处开始。因而,如果需要执行符号库3(314)中的符号,系统300需访问代码段地址表326以找到代码段2(304)的起始地址。如下所述的,符号偏移地址表使得符号库3(314)中的符号可被定位。符号跨越穿过多个符号库也没有关系,只要它们在相同的代码段中。
如上所述,每个符号库包括功能上相关的符号。符号是用于定位和使用例行程序(routine body)、变量或数据结构由程序员定义的名称。因而,符号可以是地址或值。符号可以在内部或外部。内部符号在超出当前代码段的范围是不可见的。更具体而言,它们不能由其它代码段内的其它符号库寻找。可跨代码段地利用及调用外部符号,并且可由不同代码段内的符号库来寻找。符号偏移地址表通常包括所有外部符号的列表。
例如,符号库1(310)可以在无线设备显示器上生成字符。在这个库中符号将依次生成电话号码、名字、时间或其它显示特征。每个特征例行产生,在这里被称为符号。例如,符号库1(310)中的一个符号可在显示器上生成电话号码。这个符号以“X”表示,且为外部符号。当无线设备接收电话呼叫并且呼叫方ID服务被激活时,系统必须执行符号“X”以在显示器上产生号码。因而,系统必须定位符号“X”的位置。
图6是图3中带有符号的符号库1的详细说明。从各自代码段起始地址排列被偏移的符号。在许多情况下,符号库的起始位置就是代码段的起始位置,但是如果代码段包括超过一个的符号库,这就不准确了。符号库1(310)在代码段1的起始位置开始(参见图3)。如图6所示,符号“X”定位在距符号库起始位置偏移量为(03)的位置处,符号“Y”定位在偏移量为(15)的位置处。符号偏移地址存储在补丁管理器代码段中的符号偏移地址表328中(参见图3)。
【65】图7是图3所示的符号偏移地址表328。符号偏移地址表328可用存储器中的相应的偏移地址及相应的代码段标识符交叉引用符号标识符。因而,当系统寻找以执行符号库1中的符号“X”时,需访问符号偏移地址表328以定位该符号在其排列的代码段中的确切地址。
参照图3,通常第一组符号库都包括在这些符号库执行时必须访问或设置的读写数据。例如,符号库可以包括由条件语句决定的操作。访问读写数据段以确定完成条件语句所需要的状态。本发明将所有符号库中的读写数据组合成共享的读写段。在本发明的某些方面中,读写数据330排列在补丁管理器代码段308中。可选择地(图未示),读写数据可排列在不同的代码段中,例如代码段n(306)中。
第一组符号库也包括排列在代码段中的符号存取器代码用以计算所寻找符号的地址。符号存取器代码可被排列并存储在单独的代码段中的地址内,如代码段2(304)内。然而,如图所示,符号存取器代码332可被排列并存储在补丁管理器代码段308中的地址内。系统300还包括用于存储符号存取器代码地址的第一单元。第一单元可以是在代码存储段112中或是在无线设备的独立存储器段(图未示)内的代码段。第一单元也可被排列在与读写数据相同的代码段中。如图所示,该第一单元334与读写数据330、符号偏移地址表328、代码段地址表326、符号存取器代码332及补丁库(补丁符号库)336一起存储在补丁管理器代码段308中。
符号存取器代码使用代码段地址表和符号偏移地址表以在存储器内计算或找到所寻找符号的地址。也就是说,符号存取器代码利用相应的符号标识符和相应的代码段标识符计算所寻找符号的地址。例如,如果寻找符号库1中的符号“X”,那么需调用符号存取器以寻找相应于符号“X”的符号标识符(符号ID)“X_1”(参见图7)。符号存取器代码访问符号偏移地址以确定“X_1”符号标识符距代码段1起始位置的偏移量为(03)(参见图6)。调用符号存取器代码以寻找相应于代码段1的代码段标识符“CS_1”。符号存取器代码访问代码段地址表以确定与代码段标识符(代码段ID)“CS_1”相关的起始地址。以这种方式,符号存取器代码可确定符号标识符“X_1”距地址(00100)的偏移量为(03),或其被定位在地址(00103)处。
因为其是实际代码的一部分,所以符号“X”是保留名。换句话说,其包括与其相关的绝对数据。此数据可以是地址或值。符号标识符是为跟踪符号而创建的别名。符号偏移地址表和代码段地址表二者都用标识符工作以避免与保留的符号和代码段名混淆。许多符号库使用相同的符号名也是可能的。标识符的使用可防止这些符号间的混淆。
参照图1,系统300还包括可读写易失性存储器114,其一般为随机存取存储器(RAM)。读写数据330、代码段地址表326、符号偏移地址表328、符号存取器代码332及符号存取器代码地址334被从补丁管理器代码段装入可读写易失性存储器114中,用于在系统软件执行期间的存取。众所周知,存储在RAM中的代码的存取时间明显少于从非易失性存储器如闪存存取的时间。
参照图3,应该注意,符号库不需要填满它们所排列的代码段,尽管存储块的大小以恰好可容纳存储在其内的相应的代码段。可选择地,第二组代码段中每个代码段具有可容纳被排列的字符库的字节长度,每个连续寻址存储块具有可容纳相应代码段的字节长度。例如,代码段1(302)可以是100字节的段以容纳具有100字节长度的符号库。第一存储块将是100字节以匹配代码段1的字节长度。然而,装入到代码段1的符号库可以小于100字节。如图3所示,当符号库1(310)小于100字节时,代码段1(302)具有未用段340。因而,第二组代码段的每个代码段可以具有比容纳排列符号库所需长度更大的长度。通过“扩大”代码段,可以容纳更大长度的更新的符号库。
连续编址存储块是指将物理存储器空间分区成可变大小的逻辑块。当代码段被存储在存储器中时,代码段和存储块基本上是可互换的术语。代码段的概念被用于识别可能比符号库更大的一段代码,或用于识别当移动并处理代码段时代码段中的符号库集合。
如图3所示,系统300包括在本文也被称为补丁库336的补丁符号库,用以将当前代码段和代码存储段中的新代码段排列在一起。在代码存储库中新代码段和当前代码段的排列可形成更新的可执行系统软件。补丁管理器336不但可将新代码段和当前代码段排列在一起,而且可用更新的代码段代替代码段。
参照图4,存储器108的文件系统段110可接收新代码段,如新代码段450和更新的补丁管理器代码段452。文件系统段也可接收补丁管理器运行时期指令(PMRTI)454,其包含将当前代码段和代码存储段中的新代码段排列在一起的指令。如图1所示,无线链路接口150可接收新的或更新的代码段及第一PMRTI。尽管无线链路接口150是天线,但是应该理解无线链路接口也包括RF收发机、基带电路(baseband circuitry)及解调电路(图未示)。文件系统段110可存储通过无线链路接口150接收的代码段。在读写易失性存储器114中执行的补丁库336可用新的或更新的代码段450代替代码存储段中的首次代码段,例如代码段n(306),以响应PMRTI 454。通常用更新的补丁管理器代码段452代替补丁管理器代码段308。当代码段被代替时,补丁库336用文件系统段110中的更新的代码段(例如代码段450)重写代码存储段112中的首次代码段,例如代码段n(306)。在极端情况下,存储段112中的所有代码段都被更新的代码段所代替。即FSS 110接收第二组更新的代码段(图未示),并且补丁库336可用第二组更新的代码段代替代码存储段112中的第二组代码段。当然,FSS 110必须足够大以容纳通过无线链路接口接收的第二组更新的代码段。
如上所述,接收的更新的代码段可包括读写数据代码段、代码段地址表代码段、符号库、符号偏移地址表代码段、符号存取器代码段或带有新补丁库的代码段。所有这些代码段和与它们相关的符号库及符号可被存储成不同和独立的代码段。然后这些代码段中的每一个被唯一的更新的代码段所代替。即更新的读写代码段将被接收并代替代码存储段中的读写代码段。更新的代码段地址表代码段将被接收并代替代码存储段中的代码段地址表代码段。更新的偏移地址表代码段将被接收并代替代码存储段中的偏移地址表代码段。更新的符号存取器代码段将被接收并代替代码存储段中的符号存取器代码段。同样地,更新的补丁管理器代码段(带有补丁库)将被接收并代替代码存储段中的补丁管理器代码段。
然而上述的代码段通常在补丁管理器代码段中被捆绑在一起。这样当补丁管理器代码段308被更新的补丁管理器代码段450所代替时,代码存储段中的读写代码段可被从文件系统段110中来的读写代码段代替。同样地,当安装更新的补丁管理器代码段450时,代码段地址表、偏移地址表、符号存取器代码段及补丁库将被代替。在代码存储段中,新读写数据、新代码段地址表、新偏移地址表、新符号存取器代码、作为更新的补丁管理器代码段450的新补丁库及当前代码段的排列可形成更新的可执行系统软件。
当文件系统段110接收更新的符号存取器代码地址时,修补管理器用更新的符号存取器代码地址代替存储器中第一单元的符号存取器代码地址。如上所述,存储器中的第一单元334通常是在补丁管理器代码段中(参见图3)。
如图3所示,补丁库308还包括压缩器或压缩器符号库342。压缩器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。然后在没有系统软件是被操作的情况下,如在工厂校准环境中,PMRTI可被FSS 110接收。PMRTI也可通过逻辑端口接口162或可安装的存储器模块164来接收。存储器模块164可在初始校准时安装在无线设备104中,或现场安装,或在工厂在校准时安装。尽管没有特别说明,但PMRTI可通过红外接口或蓝牙(Bluetooth)接口来接收。
图8是对由运行时期引擎370所存取的指令的说明。表明了第一条指令800、第二条指令802和第j条指令804,然而动态指令集不限于任何特定数量的指令。在每条指令中的操作代码的长度是固定的。运行时期引擎370可捕获按字节或位来计量的指令的长度,以检测指令是否包括数据项。减去操作代码后,指令的剩余长度中包括数据项。运行时期引擎可从指令中提取数据项。如图所示,测量第一指令800的长度806并提取808。应注意并不是所有的指令都必须包括将被提取的数据项。运行时期引擎370使用提取的数据808根据指令800中的操作代码810进行一系列操作。
图9是图8中的第一指令800的更详细说明。使用第一指令800为例子,指令包括操作代码810和数据808。指令,具体地是指数据项段808,包括符号标识符,其作为对无线设备代码段中的符号的连接。如上所详细说明的,符号标识符和代码段地址表326(参见图5)和符号偏移地址表328(参见图7)一起使用以定位相应于符号标识符的符号。如图所示,在第一指令800中符号标识符表示为“X_1”。符号偏移地址表328可定位标识符为“CS_1”的代码段中偏移量为“3”的相应符号。代码段地址表326可给出代码段1(302)的起始地址。以这种方式找到符号“X”(参见图6)。
在运行时期引擎使用代码段地址表和符号偏移地址表定位相应于所接收的符号标识符后,当定位的符号是数据项时它可提取数据。例如,如果符号库1(310)中的符号“X”是数据项时,运行时期引擎就可提取它。可选择地,符号“X”可以是操作代码,并且当其被定位时,运行时期引擎可执行符号“X”。
PMRTI可被用于更新系统数据或系统数据项。在本发明的某些方面中,参见图4,系统数据存储在文件系统段110的代码段中,例如在代码段472中。运行时期引擎可访问来自于代码段472中的系统数据并分析系统数据。如上所述,运行时期引擎可处理动态指令集中的操作代码以对数据项执行数学上或逻辑上的操作。此操作后,运行时期引擎可处理指令以产生更新的系统数据。应注意到在某些情况下更新的系统数据可包括未改变的数据项。在第二代码段472中的系统数据可被更新的系统数据代替以响应操作代码。因而,通过运行时期引擎处理指令,可使用代码段472中的更新的系统数据控制系统软件的执行。以这种方式,系统软件中的特定目标符号可被更新,而不用代替全部的代码段。通过相同的处理,可以代替代码存储段112的代码段中的系统数据。例如系统数据可存储在第三代码段344中,运行时期引擎可以响应操作代码而用更新的系统数据代替第三代码段中的系统数据。
在易失性存储器114中,PMRTI也可被用于更新的数据项。例如参见图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)代替代码存储段中的代码段,例如代码段2(304)以响应操作代码。使用更新的代码段474(450)控制系统软件的执行。在本发明的某些方面中,需要压缩操作以容纳更新的代码段。可选择地,更新的代码段被加到代码存储段的未用段或空白段中。
如上所述,由于这些操作包括新的和/或变化的代码段起始地址,因而新代码段的加入或代码段的更新通常需要产生新代码段地址表。此外,压缩操作也需要新代码段地址表。压缩操作也可以是操作如上所述的压缩器342结果,或者是可提供怎样压缩的细节的PMRTI指令的结果。当PMRTI包括下载和压缩指令时,PMRTI通常也包括在下载和压缩操作完成后有效的新代码段地址表。
图10a和图10b是本发明的在无线通信设备中执行动态指令集的方法的流程图。尽管为清楚起见以连续编号的步骤描述,但是除非明确说明,不应从编号(下面列出本方法的编号)中得出先后顺序。本方法从步骤1000开始。步骤1001a使系统软件排列成符号库,每个符号库包括具有相关功能的符号。步骤1001b将符号库排列进代码段。步骤1002执行系统软件。步骤1003接收动态指令集。在步骤1003中接收动态指令集包括通过用选自无线链路、射频(RF)硬线、可安装的存储器模块和红外接口及逻辑端口接口的接口来接收动态指令集。在本发明的某些方面中,在步骤1003中接收动态指令集包括接收在文件系统段非易失性存储器中的补丁管理器运行时期指令(PMRTI)。
步骤1004启动运行时期引擎。通常启动运行时期引擎包括从第一代码段中调用运行时期库。可以从易失性或非易失性存储器中启动运行时期引擎。步骤1006处理动态指令集。处理动态指令集包括处理指令以响应数学和逻辑操作。在本发明的某些方面中,在处理动态指令集之后,步骤1007(图未示)删除动态指令集。步骤1008操作系统数据和系统软件。步骤1010控制系统软件的执行以响应数学和逻辑操作。
在步骤1003中接收补丁管理器运行时期指令通常包括接收条件操作代码和数据项。然后,在步骤1006中处理动态指令集包括子步骤。步骤1006a1使用运行时期引擎读取补丁管理器运行时期指令操作代码。步骤1006b进行连续操作以响应操作代码。
在某些方面,在步骤1001b中将符号库排列进代码段包括在代码段的起始位置开始符号库,并从各自代码段起始地址排列被偏移的符号。本方法还包括如下步骤。步骤1001c在相应的起始地址存储代码段的起始。步骤1001d通过相应的起始地址交叉引用代码段标识符来维护代码段地址表(CSAT)。步骤1001e通过相应的偏移地址及相应的代码段标识符交叉引用符号标识符来维护符号偏移地址表(SOAT)。
在本发明的某些方面中,在步骤1003中接收补丁管理器运行时期指令包括接收符号标识符。本方法还包括如下步骤。步骤1006a2通过使用代码段地址表和偏移地址表定位与接收的符号标识符相应的符号。在步骤1006b中根据操作代码进行的一系列操作包括一些子步骤。当定位的符号是数据项时,步骤1006b1提取数据。当定位的符号是指令时,步骤1006b2执行符号。
在本发明的某些方面中,在步骤1006b1中处理动态指令集包括其它子步骤。步骤1006b1a利用运行时期引擎捕获补丁管理器运行时期指令的长度。步骤1006b1b从补丁管理器运行时期指令中提取数据项以响应操作代码。步骤1006b1c使用提取的数据进行连续操作以响应操作代码。
图11是动态指令集操作的一个示例的流程图。图11中的几个步骤和图10中的相同,为了简洁这里就不再重复。在步骤1106中处理动态指令集包括子步骤。步骤1106a存取存储在文件系统段中第二代码段中的系统数据。步骤1106b分析该系统数据。步骤1106c创建更新的系统数据。在步骤1108中操作系统数据和系统软件包括用更新的系统数据代替第二段中的系统数据,在步骤1010中控制系统软件的执行包括在系统软件的执行中使用更新的系统数据。
图12是动态指令集操作的另一示例的流程图。图12中的几个步骤和图10中的相同,为了简洁这里就不再重复。步骤1201c在代码存储段的非易失性存储器存储多个代码段。在步骤1206中处理动态指令集包括子步骤。步骤1206a存取存储在代码存储段(CSS)中第三代码段中的系统数据。步骤1206b分析该系统数据。步骤1206c创建更新的系统数据。在步骤1208中操作系统数据和系统软件包括用更新的系统数据代替第三代码段中的系统数据。在步骤1210中控制系统软件的执行包括在系统软件的执行中使用更新的系统数据。
图13是动态指令集操作的第三示例的流程图。图13中的几个步骤和图10中的相同,为了简洁这里就不再重复。步骤1301c在代码存储段非易失性存储器存储多个代码段。步骤1301d将读写数据装入易失性存储器。在步骤1306中处理动态指令集包括子步骤。步骤1306a存取易失性存储器中的读写数据。步骤1306b分析该读写数据。步骤1306c创建更新的读写数据。在步骤1308中操作系统数据和系统软件包括用更新的读写数据代替易失性存储器中的读写数据。控制系统软件的执行包括在系统软件的执行中使用更新的读写数据。
图14是动态指令集操作的第四示例的流程图。图14中的几个步骤和图10中的相同,为了简洁这里就不再重复。处理动态指令集包括子步骤。步骤1406a监测系统软件的执行以响应操作代码。步骤1406b收集性能数据。步骤1406c存储该性能数据。步骤1406d通过无线链路接口传输存储的数据。在步骤1408中操作系统数据和系统软件包括在系统软件的评估中使用此性能数据。
图15是动态指令集操作的第五示例的流程图。图15中的几个步骤和图10中的相同,为了简洁这里就不再重复。步骤1501c在代码存储段的非易失性存储器中存储多个代码段。在步骤1503中接收补丁管理器运行时期指令包括接收新代码段。在步骤1508中操作系统数据和系统软件包括将新代码段加入到代码存储段中,在步骤1510中控制系统软件的执行包括在系统软件的执行中使用新代码段。
可选择地,在步骤1503中接收新代码段包括接收更新的代码段。在步骤1508中操作系统数据和系统软件包括用更新的代码段代替代码存储段中的第四代码段。
已经提供了用于在无线通信设备中执行动态指令集的系统和方法,从而在更新软件并监测软件性能的过程中提供帮助。由于代码段中符号库的排列并用表来访问存储器中代码段的起始地址和符号库中符号的偏移地址,所以此系统非常容易更新。动态指令集的使用可按设备的特殊性质对每种设备进行常规修改。已经举出了几个常用实施例用以阐明动态指令集的可能应用。然而,本发明不仅限于这些实施例。本领域所属技术人员可以想到本发明的其它变化和实施方案。
图16是依据本发明的一个实施例的示例性的无线通信网络的高级网络图。所示的无线通信网络包含多个无线通信设备10、12和14;多个基站20和22;PMRTI服务器30、安全服务器35,每个服务器通过网络40与无线通信设备10、12和14连接。
在示例性的实施方案中还示出了重新编程设备45,其通过直接连接47与手机14相连。直接连接47是一种在手机14和重新编程设备45之间的硬连线物理连接。例如串行电缆或有线网络连接。重新编程设备45也与网络连接,如互联网42,从而可使重新编程设备45访问网络40。此外,重新编程设备45具有无线通信能力,从而使其可通过基站例如基站22与网络40连接。
无线通信设备10可以是在无线通信网络中具有通信能力的任何装置。例如,无线通信设备10可以是手机、个人数字助理机(“PDA”)、膝上型计算机、手表或者被配置成无线通信设备的其他设备。本文中无线通信设备也被称为“手机”、“移动设备”或“无线设备”。
基站20优选地可与多个无线通信设备无线通信,其包括可将无线通信转换成可通过网络40传输的有线通信的收发机(图未示)。网络40优选地是由无线营运商操作的专用网络。优选地网络40可为基站之间(如基站20和基站22之间)的越区切换提供基础设施。此外,网络40优选地可在各种应用、服务及诸如PMRTI服务器30和安全服务器35的其他基于计算机的服务器之间提供通信链路。
网络40也可以用作连接其他网络(图未示)的通道,例如综合服务数字网(“ISDN”)、公用交换电话网(“PSTN”)、公用陆地移动通信网(“PLMN”)、分组交换公共数据网(“PSPDN”)和互联网,这里仅列举一部分。
PMRTI服务器30可以由单个计算机实现或者由被逻辑排列的多个服务器实现,用于向移动设备提供动态指令集并执行从移动设备接收的动态指令集。相似地,如同本领域中可以理解的那样,安全服务器35可以由带有一个或多个微处理器的通用目的计算机实现。特别地,安全服务器35和PMRTI服务器30可以结合在单个物理服务器装置上,在那里它们共享硬件和系统资源。安全服务器35和PMRTI服务器30也可以共享数据文件,并可通过进程间通信技术或者经由网络40的物理或无线连接可通信地连接起来。
图17A是依据本发明一个实施例的示例性的无线通信设备10的方框图。因为无线通信设备10完成其功能的常用特征为本领域所属技术人员所熟知,所以这里不再进行说明。
在一个实施方案中,手机10包括访问码55。访问码55存储在手机10的永久性存储器中,在那里其不能被更改或删除。访问码55可以是字母数字串、十六进制数、二进制数等。优选地,访问码55是随机并极不易被非法重新编程工具得到的较大数或串。在可选择的实施方案中,手机10不包括访问码55。当手机10上没有访问码时,重新编程工具将完全不能以允许重新编程的方式访问手机。有利的是,当手机10中没有访问码10,只有营运商可授权重新编程。这样的实施方案明显地提高了手机重新编程的安全性。
在一个实施方案中,访问码55含有可指导手机查询营运商网络以授权重新编程的标记符。这样营运商可更新访问码55中的标记符,从而重新编程安全性可被关闭、被设成局部判断(例如当提供正确的访问码时)或设成由营运商授权决定。有利的是,这一点允许营运商在单个手机粒度级别(level of granularity)上灵活地控制重新编程安全性。
手机10也包含运行时期引擎50、远程操作代码(“操作码”)库60、服务器操作码库70和远程运行时期指令代码段80。运行时期引擎50优选地可用于处理动态指令集。动态指令集的一个例子是PMRTI指令集。动态指令集的另一个例子是RPMRTI指令集。这两个指令集的区别是PMRTI集包含可由无线装置执行的功能,而RPMRTI指令集包含可由位于网络40中的PMRTI服务器30执行的功能。
对动态指令集的处理包含执行从PMRTI服务器30接收的PMRTI集,编译RPMRTI集和相应的数据从而传输给PMRTI服务器30。优选地,运行时期引擎50在需要时可由无线通信设备10启动,从而使其仅在需要时运行,这样可以消耗最少量的设备10的系统资源(例如存储器、CPU循环等)。
远程操作码库60优选地包含代表每个PMRTI操作或者可执行代码段的通用操作代码。有利的是,远程操作码库60包含作为针对实际可执行的机器代码功能的位置保持器(place holder)的操作代码或者代码段。同样,远程操作码库60包含所有可用操作代码的列表,这些操作代码与可由无线通信设备10执行的每个PMRTI功能相对应。
相似地,服务器操作码库70优选包含代表每个PMRTI操作或者可执行代码段的通用操作代码。有利的是,服务器操作码库70仅包含代表实际可执行机器代码功能或者代码段(它们不驻留在无线通信设备10上)的操作代码。同样,服务器操作码库70包含用于每个可用的RPMRTI功能的所有操作代码的列表,RPMRTI功能可由PMRTI服务器30代表无线通信设备10来执行。
在优选的实施方案中,因为PMRTI服务器30不会面临通常基于诸如手机和PDA等移动设备的最小资源问题,所以有效的RPMRTI操作数量可完全超过有效的PMRTI操作数量。
另外,无线通信设备10包含远程运行时期指令代码段80。代码段80是指驻留在设备10的永久性存储器中的实际机器代码或者可执行指令。这些可执行指令或者代码段优选以一对一的关系与远程操作码库60中的操作码相应。图17B是本发明实施方案的示例性的代码段80的方框图。如图所示,从指令01到指令n的任意数量的PMRTI操作都可以包含在代码段80中。最佳的是,在代码段80中大量的操作是有效的,仍消耗装置10的较少资源(例如永久性存储器)。
有利的是,在装置10的制造中和在投入市场之前(例如在销售给消费者之前),服务器操作码库70、远程操作码库60和相应的代码段80可被安装在无线通信设备10的永久性存储器中。通过实施稍后结合图22所述的过程,PMRTI服务器30可以对任何一个库中的操作码集或者代码段80中的可执行指令集进行未来更新。
最后,在此示例性的实施方案中,无线通信设备包含无线通信链路90。通信链路90的应用在本领域中是公知的,其可使无线通信设备10具有通过无线电或者其他无线连接在无线通信网络100内通信的能力。有利的是,无线通信链路90可以提供用PMRTI服务器30更新远程操作码库60、服务器操作码库70和远程运行时期指令代码段80的方法。
图18A是本发明实施方案的示例性的PMRTI服务器的方框图。稍后将结合图23说明可用作PMRTI服务器的通用目标计算机的特征。
在示例性的实施方案中,PMRTI服务器30包含控制模块95、远程操作码库60、服务器操作码库70和服务器运行时期指令代码段82。远程操作码库60和服务器操作码库70优选包含与无线通信设备10中的库相同的操作码列表。控制模块95优选可处理动态指令集并且可管理PMRTI通信网络,PMRTI通信是指通过无线通信网络在PMRTI服务器30和多个可用的无线通信设备之间的通信。
例如,控制模块95可以编译多种动态PMRTI集,并将这些指令集发送到多个分离的无线通信设备中。相似地,控制模块95也可以接收多个动态RPMRTI集并代表发送的无线通信设备执行这些指令集。
远程操作码库60优选地包含与每个可用的PMRTI操作或者可执行代码段相对应的通用操作代码。有利的是,远程操作码库60包含操作代码的列表,该操作代码用作在远程运行时期指令代码段80中(在无线通信设备中)的实际可执行机器代码操作或者代码段的位置保持器。同样,远程操作码库60包含针对所有可用的PMRTI操作的所有可用操作码的列表,PMRTI操作可由无线通信设备执行。
相似地,服务器操作码库70优选地包含与每个RPMRTI操作或者可执行代码段相对应的通用操作代码。有利的是,服务器操作码库70仅包含代表可由PMRTI服务器30执行的实际可执行机器代码操作或者代码段的操作代码。在优选实施方案中,因为PMRTI服务器30不会从通常基于诸如手机和PDAs等移动设备的最小的资源中受到损失,所以有效的RPMRTI操作数量可完全超过有效的PMRTI操作数量。
另外,PMRTI服务器30包含服务器运行时期指令代码段82。代码段82是指驻留在服务器30的永久存储器中的实际机器代码或者可执行指令。这些可执行指令或者代码段优选以一对一的关系与服务器操作码库70中的操作代码相应,服务器操作码库70可驻留在服务器30和无线通信设备10中。图18B是依据本发明的实施例的服务器运行时期指令代码段的一个示例的方框图。
图19是依据本发明的实施例的在无线通信设备上执行动态指令集的过程的示例的流程图。首先,在步骤500中无线设备接收一组远程操作码。这组远程操作码可以通过无线通信链路被接收,例如通过具有无线通信网络的链路被接收。优选地,该操作码被最优化以将无线发送的数据量最小化。另外,无线设备接收的操作码包含数据有效载荷。
在步骤502中,无线设备启动运行时期引擎从而处理远程操作码集。如步骤504所示,运行时期引擎解析该远程操作码集,然后在步骤506中提取数据有效载荷。如果不存在数据有效载荷,那么跳过该步骤。如果确实存在数据有效载荷,那么可以将结果数据存储在易失性存储器的可用部分中以稍后使用。接下来,如步骤508所示,运行时期引擎获得与远程操作码集中的操作码相对应的可执行指令。这些指令可以从无线设备的远程运行时期指令代码段中获得。
一旦获得了与远程操作码集中的操作码相对应的可执行指令,则如步骤510所示运行时期引擎就执行该指令。当执行该指令时,任何操作所必须的数据都可以从存储有数据有效载荷的易失性存储器中获得。可选择地或者可附加地,任何操作所必须的数据都可作为已执行指令的结果被获得。
例如,数据有效载荷可以包含用于无线设备的更新的软件模块。另外,远程操作码集中的一个操作码可以与可执行指令相对应,该可执行指令用于使用数据有效载荷的一部分代替永久性存储器中的一段。在本实施例中,永久性存储器被代替的部分是过时的软件模块,因此该指令可将更新的软件模块装入永久性存储器中。因此,在无线设备中操作该远程操作码集和数据有效载荷,从而更新软件模块。
一旦指令集被运行时期引擎完全执行,则如步骤512所示可以终止运行时期引擎。有利的是,运行时期引擎可以被启动和终止,因此其可以仅在需要时运行。这样可节省无线设备的系统资源,例如,其可以节省易失性存储器空间和CPU周期。
图20是依据本发明的实施例的在无线通信设备上编译动态指令集的示例性过程的流程图。首先,如步骤520所示启动运行时期引擎。一旦运行运行时期引擎,则如步骤522所示该引擎可以编译一组服务器操作码。这组服务器操作码可以从无线设备中运行的后台程序中获得。可选择地,该服务器操作码集可以在使用者的操作下从无线设备中运行的程序中获得。
例如,该无线设备可以包含一组程序,其可被操作系统定期和自动地运行,从而执行系统维护或者其他所需要的功能。作为执行的结果,这些程序可使运行时期引擎产生服务器操作码集。可选择地,用户可以启动一组只有在客户要求时才被执行的特殊程序。这组程序也可以使运行时期引擎产生服务器操作码集。在这两种情况下,如步骤522所示,结果是运行时期引擎产生了服务器操作码集。
一旦产生了服务器操作码集,则在步骤524中运行时期引擎判断是否需数据有效载荷与该服务器操作码集相伴。如果需要数据与服务器代码集相伴,则在步骤526中运行时期引擎从永久性或者易失性存储器中取得该数据或者执行返回所需数据的指令。一旦数据被获得,则如步骤528所示,接下来运行时期引擎将该数据插入到服务器操作码集中。实现这一点的简单方法是将该数据有效载荷附加到单个数据包中的服务器操作码集中。
一旦该数据有效载荷与服务器操作码集结合,或者如果没有数据有效载荷被需求时,则如步骤530所示运行时期引擎将该服务器操作码集(带有或者不带有数据有效载荷)发送到服务器中。在发送服务器操作码集之后,如步骤532所示可以终止运行时期引擎从而释放无线设备的资源。
图21是依据本发明的一个实施例的在PMRTI服务器上执行动态指令集的示例性过程的流程图。首先,在步骤540中,服务器接收服务器操作码集。操作码集优选是代表一系列可执行程序的名字的列表,并且每个操作码代表独立的可执行指令或者一组独立分散的可执行指令。一旦接收到这组服务器操作码,则在步骤542中服务器解析服务器操作码集并且如步骤544所示提取包含在服务器操作码集内的数据有效载荷。数据有效载荷被提取后,其可被临时存储到服务器的易失性存储器中以稍后使用。
接下来,如步骤546所示,服务器获得相对应的指令集。优选地,该相对应的指令集存储在服务器运行时期指令代码段中,该代码段驻留在PMRTI服务器的永久性存储器中。一旦获得该指令集,那么如步骤548所示服务器执行该指令集。当该指令集被执行时,执行程序可以利用与服务器操作码集一起来的数据有效载荷。为实现该目的,优选地该数据有效载荷存储到服务器的存储器中。可选择地,执行程序可以包含可产生实现指令集功能所必需的数据的指令。
图22是请求营运商授权手机重新编程的示例性过程的流程图。首先,在步骤580中,手机从重新编程设备接收重新编程请求。此设备可通过直接串行电缆连接或局部物理网络连接与手机相连。此设备也可以通过本地网络连接或一对多串行电缆连接与多个手机连接,从而允许重新编程设备对多个手机同时起作用。
一旦手机接收到重新编程请求、重新编程尝试或检测手机访问码的尝试,那么如步骤582所示,手机就通过某种无线通信方式向营运商发送询问。发送请求是为确定手机的重新编程是否是营运商所授权的。当手机通过相同的无线通信方式从营运商接收到响应时,如步骤584所示,手机将确定重新编程是否被授权。如果重新编程是得到授权的,那么在步骤586中手机将允许重新编程,例如如果存在访问码就通过向重新编程设备提供访问码而允许重新编程。
如果重新编程没被授权,那么如步骤588所示,手机将拒绝重新编程请求。有利的是营运商可记录这种请求。此外,营运商可查询手机的定位信息如GPS以确定重新编程尝试进行的位置。如果重新编程尝试是未授权的,那么这种信息是有用的。
图23是用于请求营运商授权手机重新编程的示例性公用和专用密钥处理过程的流程图。首先,在步骤590中手机接收重新编程请求。其次,手机得到尽可能多的关于重新编程设备的信息。例如,如果设备是被无线使能的,那么手机可得到重新编程设备的IP地址或MIN。也可得到其它信息。
在步骤594中,手机得到其本身信息如它的MIN和ESN及营运商所需要的用于识别此手机的其它信息。一旦收集到信息,如步骤596所示,手机就向营运商发送信息。此信息也能被传送到网络上的安全服务器中以进行处理。发送此信息后,如步骤598所示,手机从营运商接收专用密钥。然后在步骤600中手机用其本身公用密码转换此专用密钥,然后在步骤602中从重新编程设备接收密码。然后如步骤604所示,手机将此转换的密码和从重新编程设备得到的密码进行对比判断它们是否匹配。如果密码匹配,那么如步骤608所示授权重新编程。然而,如果密码不匹配,那么在步骤606中手机将拒绝重新编程请求。
在上述过程中(从手机的观点出发),下面指出的是重要的,与在步骤598中营运商将其专用密钥发送给手机相似,营运商使用重新编程设备信息来联系重新编程设备并将营运商的专用密钥发送给重新编程设备。专用密钥是由重新编程设备进行的任何密码转换的来源,从而重新编程设备必定要得到专用密钥以使其能够被转换并发送到手机而进行对比。如果重新编程设备不能接收专用密钥并转换它再将转换后的密码发送给手机,那么手机可被设定为时间用尽而拒绝重新编程请求。
图24是表明在手机上创建免授权的重新编程窗口的示例性过程的流程图。在营运商有大批需要被重新编程的电话的实施方案中,营运商可以选择以预定的时间间隔关闭重新编程安全程序。例如,可以设计6小时窗口以允许服务提供商能够重新编程一批手机。
首先,营运商向一组手机或可选择地向一个手机发出指令。这条指令可由PMRTI服务器使用前述远程操作码集传输。在步骤620中,手机从营运商接收到这条指令。指令告诉手机在特定的窗口时间内关掉重新编程安全性程序。指令也可以告诉手机在不确定地内关掉重新编程安全性程序。可选择地,指令可以告诉手机打开安全性程序。在本例中,指令告诉手机关闭安全性程序6小时窗口,然后立即开始。
在步骤622中,手机关闭重新编程安全性部件。然后如步骤624所示,手机周期性地检查判断是否已到达预定时间的终点。如果时间仍然有效,那么如步骤626所示手机继续等待。每次检查之间的等待时间可设定为较小时间间隔、较大时间间隔或可变化的时间间隔,取决于距重新打开重新编程安全程序有多近。
图25是表明营运商授权手机重新编程的示例性PMRTI处理过程的流程图。首先,如步骤640所示,手机接收重新编程请求。一旦接收到这样的请求,那么如步骤642所示,手机从重新编程设备得到信息。这种信息可以包括软件识别号码(使重新编程工具生效)、MIN、或重新编程设备所用的其它独特标识符、或重新编程设备所用的软件工具。
在步骤644中,手机得到其本身的识别信息,如它的MIN、ESN和其它有用或有帮助的信息,如它的位置。一旦得到手机和重新编程设备信息,则在步骤646中手机创建含有这种信息的有效数据负载。也可提供其它的信息。接下来,在步骤648中,手机编译包含数据有效载荷和服务器操作码并代表用于服务器授权重新编程指令的服务器操作码集。然后,在步骤650中该服务器操作码集被发送到营运商,在那里其首先传送到PMRTI服务器然后再到安全服务器。这两个服务器可置于相同的机器内,甚至作为单个组合软件应用程序运行。
在营运商处理服务器操作码集后,如步骤652所示手机接收从营运商来的远程操作码集。一旦接收到远程操作码集,则在步骤654中手机提取数据有效载荷,然后如步骤656所示将该远程操作码集中的远程操作码翻译成可执行指令。然后在步骤658中,手机执行这些指令以确定是否营运商已授权。营运商的授权和拒绝可包括在数据有效载荷中,其带有从数据有效载荷中取得响应并将响应传送到与重新编程设备相连通的手机操作系统或工具的指令。一旦手机从营运商得到授权或拒绝,那么手机以肯定或否定的方式对重新编程设备作出响应。
在服务器方面,优选地营运商记录从手机来的每个重新编程请求。此外,营运商可以保持对成功或不成功重新编程尝试的统计资料。此外,营运商可以基于所提供的重新编程设备的信息来授权重新编程。此外,营运商可以授权手机部分重新编程。例如当较旧的手机被捐赠给避难所或其它组织时,这一点是有利的。这些手机可被重新编程以适用于特定类型的网络存取,同时保持手机原有的MIN。
图26是可与本文所述的各种实施例结合的示例性计算机系统550的方框图。例如,该计算机系统550可用作驻留在无线通信网络中的PMRTI服务器或安全服务器。计算机系统550也可以用作任何其他通用或者特殊目的的计算机系统,这种系统包含无线通信网络及系统组成元件。然而,也可以使用其他计算机系统和计算机结构,这一点对于本领域所属技术人员是众所周知的。
计算机系统550优选地包含一个或者多个处理器,例如处理器552。也可以设有附加处理器,例如管理输入和输出的辅助处理器、实现浮点数学运算的辅助处理器、具有适用于快速执行信号处理算法构造的特殊目的微处理器(例如数字信号处理器)、从属于主处理系统(例如后端处理器)的从属处理器、用于双处理器系统或者多处理器系统的附加微处理器或者控制器、或者协处理器。这些辅助处理器可以是分离的处理器或者可以与处理器552结为一体。
处理器552优选地与通信总线554连接。通信总线554可以包含用于促进信息在计算机系统550的存储器和其他外设部件之间传输的数据信道。该通信总线554还可以提供一组用于与处理器552通信的信号,其包含数据总线、地址总线和控制总线(图未示)。该通信总线554可以包含任何标准的或者非标准的总线结构,例如,适合工业标准结构(“ISA”)、扩充型工业标准结构(“EISA”)、微通道结构(“MCA”)、外设部件互连(“PCI”)局部总线、或者是由电气和电子工程师协会(“IEEE”)公布的包含IEEE488通用接口总线(“GPIB”)、IEEE696/S-100等标准的总线结构。
计算机系统550优选地包含主存储器556,也可以包含次级存储器558。主存储器556可为在处理器552上执行的程序提供指令和数据存储。主存储器556通常是基于半导体的存储器,例如动态随机存储存储器(“DRAM”)和/或者静态随机存取存储器(“SRAM”)。其他基于半导体存储器类型包含,例如同步动态随机存取存储器(“SDRAM”)、内存总线式动态随机存取存储器(“RDRAM”)、铁电随机存取存储器(“FRAM”)等,还包含只读存储器(“ROM”)。
次级存储器558可选择地可包含硬盘驱动器560和/或可移动的存储驱动器562,例如软盘驱动器、磁带驱动器、光盘(“CD”)驱动器、数字多用光盘(“DVD”)驱动器等。可移动存储驱动器562可按照众所周知的方式从可移动存储介质564中读取和/或者在该介质上进行写入。可移动存储介质564例如可以是软盘、磁带、CD、DVD等。
可移动存储介质564优选是其上存储有计算机可执行代码(即软件)和/或数据的计算机可读介质。存储在可移动存储介质564上的计算机软件或者数据作为电通信信号578被读入计算机系统550中。
在可选择的实施方案中,次级存储器558可以包含用于使计算机程序或者其他数据或者指令装入到计算机系统550中的其他相似装置。这种装置例如可以包含外部存储介质572和接口570。外部存储介质572的例子可以包含外部硬盘驱动器或者外部光驱或者外部磁光驱动器。
次级存储器558的其他例子包含基于半导体的存储器,例如可编程只读存储器(“PROM”)、可擦可编程只读存储器(“EPROM”)、电可擦除只读存储器(“EEPROM”)或者闪存(类似EEPROM的面向块的存储器)。还可包含任何其他的可移动存储器单元572和接口570,它们都允许软件和数据从可移动存储单元572传输到计算机系统550。
计算机系统550还可以包含通信接口574。该通信接口574允许软件和数据在计算机系统550和外部设备(如打印机)、网络或者信息源之间传输。例如,计算机软件或者可执行代码可以通过信息接口574从网络服务器传输到计算机系统550中。通信接口574的例子包括调制解调器、网络接口卡(“NIC”)、通信端口、PCMCIA槽和卡、红外线接口、IEEE1394火线,这里仅列举几个。
通信接口574优选地可执行工业公布协议标准,例如以太网IEEE802标准、光纤信道、数字用户线(“DSL”)、异步数字用户线(“ADSL”)、帧中继、异步传输模式(“ATM”)、综合服务数字网(“ISDN”)、个人通信服务(“PCS”)、传输控制协议/互联网协议(“TCP/IP”)、串行线路互联网协议/点对点协议(“SLIP/PPP”)等,但是也可执行自定义或者非标准接口协议。
通过通信接口574传输的软件和数据通常以电通信信号578的形式存在。这些信号578优选通过通信信道576提供给通信端口574。通信信道576可传送信号578,并且可以使用多种通信方式进行,该通信方式包含电线或者电缆、光纤、常规电话线、手机链路、射频(RF)链路或者红外线链路,这里仅列举几个。
计算机可执行代码(即计算机程序或者软件)存储在主存储器556和/或次级存储器558中。计算机程序也可以通过通信接口574接收,并且存储在主存储器556和/或次级存储器558中。这些计算机程序在执行时,可以使计算机系统550完成如前所述的本发明的各种功能。
在本说明书中,术语“计算机可读介质”用于指向计算机系统550提供计算机可执行代码(例如软件和计算机程序)的任何介质。这些介质的例子包含主存储器556、次级存储器558(包含硬盘驱动器560、可移动存储介质564和外部存储介质572)、及与通信接口574通信连接的外设设备(包含网络信息服务器或者其他网络设备)。这些计算机可读介质是用于向计算机系统550提供可执行代码、程序指令和软件的工具。
在使用软件实现的实施方案中,该软件可以存储在计算机可读介质中,并可通过可移动存储驱动器562、接口570或者通信接口574装入到计算机系统550中。在这种实施方案中,软件以电通信信号578的形式装入到计算机系统550中。当该软件被处理器552执行时,优选地软件可使处理器552实现本文前述的发明的创造性特征和功能。
使用硬件,例如使用诸如专用集成电路(“ASIC”)或者现场可编程门阵列(“FPGA”)等元件基本上也可以实现不同的实施方案。可执行本文所述功能的硬件状态机器的使用对于相关领域所属的技术人员是显而易见的。也可以使用软硬件的结合来实现各种实施方案。
虽然本文详细说明和描述的特定系统和方法可全面实现本发明的上述目的,但是应该理解,本文的说明书和附图表明了本发明当前的优选实施方案,因此说明书和附图也表明了本发明所广泛预期的主题内容。还应该理解的是,本发明范围还充分包含对于本领域所属技术人员显而易见的其他实施方案,由此本发明的范围仅被所附的权利要求限定。

Claims (25)

1.一种提高无线通信设备重新编程的安全性的方法,所述方法包括如下步骤:
从与重新编程设备相连的可重新编程无线通信设备中接收授权请求,所述授权请求包括针对所述发出请求的可重新编程无线通信设备的独特标识符;
查询数据存储区以查找与所述的可重新编程无线通信设备相关的重新编程信息;
确定可重新编程无线通信设备的当前编程状态;及
基于所述的当前编程状态向可重新编程无线通信设备发送授权响应。
2.如权利要求1所述的方法,其中所述的授权响应拒绝重新编程。
3.如权利要求1所述的方法,其中所述的授权响应允许重新编程。
4.如权利要求1所述的方法,其中所述的授权响应允许部分重新编程。
5.如权利要求1所述的方法,还包括如下步骤:
在所述的数据存储区存储所述的授权请求和所述的授权响应;及
将所述的授权请求和所述的授权响应与所述的发出请求的可重新编程无线通信设备联系起来。
6.如权利要求1所述的方法,其中所述的授权请求包括针对所述的重新编程设备的联系信息,还包括如下步骤:
向所述的可重新编程无线通信设备发送专用密钥;及
向所述的重新编程设备发送所述的专用密钥,其中所述的专用密钥被每个设备转换并被比较以确定所述的重新编程授权响应。
7.一种计算机可读介质,其上存储有用于使一个或多个微处理器执行如下步骤而提高无线通信设备重新编程的安全性的一列或多列指令,所述步骤包括:
从可重新编程无线通信设备中接收授权请求,所述授权请求包括针对所述的请求可重新编程无线通信设备的独特标识符;
查询数据存储区以查找属于所述的可重新编程无线通信设备的重新编程信息;
确定可重新编程无线通信设备的当前编程状态;及
基于所述的当前编程状态向可重新编程无线通信设备发送授权响应。
8.如权利要求7所述的计算机可读介质,其中所述的授权响应拒绝重新编程。
9.如权利要求7所述的计算机可读介质,其中所述的授权响应允许重新编程。
10.如权利要求7所述的计算机可读介质,其中所述的授权响应允许部分重新编程。
11.如权利要求7所述的计算机可读介质,还包括用于执行以下步骤的指令:
在所述的数据存储区存储所述的授权请求和所述的授权响应;及
将所述的授权请求和所述的授权响应与所述的请求可重新编程无线通信设备联系起来。
12.如权利要求7所述的计算机可读介质,其中所述的授权请求包括针对所述的重新编程设备的联系信息,还包括用于执行以下步骤的指令:
向所述的可重新编程无线通信设备发送专用密钥;及
向所述的重新编程设备发送所述的专用密钥,其中所述的专用密钥被每个设备转换并被比较以确定所述的重新编程授权响应。
13.一种提高无线通信设备重新编程的安全性的系统,所述系统包括:
可重新编程无线通信设备,其包括用于与重新编程设备相连的串行接口;及
通过无线通信网络与所述的可重新编程无线通信设备可通信地连接的安全服务器,其中所述的可重新编程无线通信设备在响应从所述的重新编程设备来的信息时与所述的安全服务器联系以得到可重新编程的授权。
14.如权利要求13所述的系统,还包括与所述安全服务器相连的数据存储区,所述的数据存储区用来存储与可重新编程无线通信设备的重新编程相关的信息。
15.如权利要求13所述的系统,其中所述的可重新编程无线通信设备包括访问码,所述的访问码对重新编程所述的可重新编程无线通信设备提供授权。
16.如权利要求15所述的系统,其中当提供授权代码时,所述的可重新编程无线通信设备拒绝重新编程。
17.如权利要求13所述的系统,其中所述的可重新编程无线通信设备还包括访问标记符,其中所述的访问标记符可由安全服务器改变。
18.如权利要求17所述的系统,其中所述的访问标记符被设置成允许手机授权重新编程。
19.如权利要求17所述的系统,其中所述的访问标记符被设置成需要安全服务器授权手机重新编程。
20.如权利要求17所述的系统,其中所述的访问标记符被设置成不需要授权就允许重新编程。
21.一种提高无线通信设备重新编程的安全性的方法,所述方法包括如下步骤:
在可重新编程无线通信设备中接收重新编程请求;
从所述的可重新编程无线通信设备通过某种无线通信方式向营运商安全服务器发送询问;
通过所述的无线通信方式从所述的安全服务器接收响应,所述的响应授权或拒绝所述的重新编程请求;及
基于所述的响应对所述的重新编程请求作出反应。
22.一种提供对可重新编程无线通信设备的可变重新编程访问的方法,所述方法包括如下步骤:
编译远程操作码集,所述的远程操作码集包括至少一个远程操作码和数据有效载荷;及
将所述的远程操作码集发送到多个手机,其中对所述远程操作码集的处理使每个手机改变它的重新编程安全性级别。
23.如权利要求22所述的方法,其中所述的改变包括在不连续的时间间隔关闭重新编程安全性。
24.如权利要求22所述的方法,其中所述的改变包括允许手机授权手机重新编程。
25.如权利要求22所述的方法,其中所述的改变包括需要安全服务器授权手机重新编程。
CNB02814841XA 2001-07-26 2002-07-25 用于提高手机重建程序和重新编程的安全性的系统及方法 Expired - Fee Related CN1250035C (zh)

Applications Claiming Priority (10)

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 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 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/917,026 2001-07-26
US09/927,131 US7143407B2 (en) 2001-07-26 2001-08-10 System and method for executing wireless communications device dynamic instruction sets
US09/927,131 2001-08-10
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
CN1537397A true CN1537397A (zh) 2004-10-13
CN1250035C CN1250035C (zh) 2006-04-05

Family

ID=27542295

Family Applications (10)

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

Family Applications Before (7)

Application Number Title Priority Date Filing Date
CNB028148312A Expired - Fee Related CN1275149C (zh) 2001-07-26 2002-07-22 用于管理无线通信设备系统软件现场下载的系统和方法
CNB028148339A Expired - Fee Related CN1275150C (zh) 2001-07-26 2002-07-22 在无线通信设备中现场升级系统软件的设备及方法
CNB028148320A Expired - Fee Related CN1288553C (zh) 2001-07-26 2002-07-22 用于在无线通信设备上执行更新指令的方法
CNB02814838XA Expired - Fee Related CN1288554C (zh) 2001-07-26 2002-07-23 在无线通信设备中更新持久数据的系统和方法
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 (2)

Application Number Title Priority Date Filing Date
CNB028148401A Expired - Fee Related CN1310488C (zh) 2001-07-26 2002-07-25 用于对等手机通信的系统及方法
CNB028148398A Expired - Fee Related CN100378661C (zh) 2001-07-26 2002-07-25 用于双向通信和执行动态指令集的系统和方法

Country Status (9)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102939773A (zh) * 2010-05-26 2013-02-20 高通股份有限公司 用于管理具有多个服务账户的通信装置的非易失性项目及预备文件的方法及系统

Families Citing this family (39)

* 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 주식회사 팬택앤큐리텔 소프트웨어 이미지 생성 방법
KR100841510B1 (ko) * 2004-05-18 2008-06-25 키오세라 와이어리스 코포레이션 무선 통신 장치를 위한 모듈식 데이터 구성요소
GB2416876B (en) * 2004-08-03 2007-01-10 Nec Technologies Export file processing within a mobile radio communications device
US7512939B2 (en) * 2004-10-05 2009-03-31 Neopost Technologies System and method of secure updating of remote device software
EP1659810B1 (en) * 2004-11-17 2013-04-10 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Updating configuration parameters in a mobile terminal
US9148409B2 (en) 2005-06-30 2015-09-29 The Chamberlain Group, Inc. Method and apparatus to facilitate message transmission and reception using different transmission characteristics
USRE48433E1 (en) 2005-01-27 2021-02-09 The Chamberlain Group, Inc. Method and apparatus to facilitate transmission of an encrypted rolling code
US8422667B2 (en) 2005-01-27 2013-04-16 The Chamberlain Group, Inc. Method and apparatus to facilitate transmission of an encrypted rolling code
US20230336342A1 (en) 2005-01-27 2023-10-19 The Chamberlain Group Llc Method and apparatus to facilitate transmission of an encrypted rolling code
WO2006110991A1 (en) * 2005-04-18 2006-10-26 Research In Motion Limited Method and system for controlling software version updates
CN100442708C (zh) * 2005-06-17 2008-12-10 上海华为技术有限公司 一种主备备份的方法及系统
CN100476728C (zh) * 2005-08-19 2009-04-08 光宝科技股份有限公司 应用程序更新方法及使用上述方法的移动通讯装置
CN100410893C (zh) * 2005-09-28 2008-08-13 联想(北京)有限公司 自行修复嵌入式设备的主控应用程序的方法及设备
CN1980447B (zh) * 2005-12-06 2010-06-16 中兴通讯股份有限公司 一种通信系统软件版本的平滑升级方法
JP5018768B2 (ja) * 2006-03-10 2012-09-05 富士通株式会社 適用パッチ選別装置及び適用パッチ選別方法
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 宏碁股份有限公司 制作系统软件的系统及系统软件的部署方法
CN104871140B (zh) * 2012-11-09 2018-06-19 相干逻辑公司 对于多处理器系统的实时分析和控制
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
AU2019262696A1 (en) * 2018-05-04 2021-01-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株式会社 情報処理装置、プログラム更新システム、及びプログラム更新方法
US11588924B2 (en) * 2020-10-29 2023-02-21 Hewlett Packard Enterprise Development Lp Storage interface command packets over fibre channel with transport and network headers as payloads

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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102939773A (zh) * 2010-05-26 2013-02-20 高通股份有限公司 用于管理具有多个服务账户的通信装置的非易失性项目及预备文件的方法及系统
CN102939773B (zh) * 2010-05-26 2016-05-11 高通股份有限公司 用于管理具有多个服务账户的通信装置的非易失性项目及预备文件的方法及系统

Also Published As

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

Similar Documents

Publication Publication Date Title
CN1537397A (zh) 用于提高手机重建程序和重新编程的安全性的系统及方法
JP4728359B2 (ja) ハンドセットの再プロビジョニングおよび再プログラミングにおけるセキュリティを改善するシステムおよび方法
US7254386B2 (en) System and method for improved security in handset reprovisioning and reprogramming
JP5072992B2 (ja) 無線によるエリアコード更新のためのシステムおよび方法
CN1386385A (zh) 在具体使用gsm标准的移动电话网络上处理和发送数字数据的方法和嵌入式微芯片系统
JP2013526818A (ja) 複数のサービスアカウントをもつ通信デバイスのための不揮発性項目とプロビジョニングファイルとの管理のための方法およびシステム
CN1759376A (zh) 用于加载到一装置上的程序数据的排序
EP3836523A1 (en) Information processing device and communication system
CN101895883A (zh) 一种支持鉴权算法更新的智能卡及方法
US20130152217A1 (en) Machine-to-machine apparatus capable of facilitating addition of extension functionalities
EP2633461B1 (en) A method for accessing an application and a corresponding device
CN118075756A (zh) 网络配置信息的获取方法、装置、设备、介质及产品
CN112631640A (zh) 补丁生成方法、装置、设备及存储介质
KR101847050B1 (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060405

Termination date: 20160725