CN1906574A - 更新移动终端中的数据 - Google Patents
更新移动终端中的数据 Download PDFInfo
- Publication number
- CN1906574A CN1906574A CNA2004800404438A CN200480040443A CN1906574A CN 1906574 A CN1906574 A CN 1906574A CN A2004800404438 A CNA2004800404438 A CN A2004800404438A CN 200480040443 A CN200480040443 A CN 200480040443A CN 1906574 A CN1906574 A CN 1906574A
- Authority
- CN
- China
- Prior art keywords
- data
- portable terminal
- versions
- difference update
- update instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
- H04B1/40—Circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
- Storage Device Security (AREA)
Abstract
一种将移动终端中存储的数据从第一数据版本差异更新到已更新数据版本的方法。该方法包括:检测移动终端中存储的数据是否包含与第一数据版本不一致的存储的数据的一个或多个已破坏部分;把差异更新指令加载到移动终端中;以及由移动终端从存储的数据和加载的差异更新指令中产生已更新数据版本,包括修复任何所检测的已破坏部分。
Description
本发明涉及将移动终端中存储的数据从第一数据版本差异更新到已更新数据版本。
诸如移动电话、寻呼机、电子管理器、智能电话、个人数字助理(PDA)之类的移动终端已经成为并且不断成为日益软件密集的装置。作为其结果,极大地需要适当的版本管理和更新设施用于移动终端上存储的软件。将来,软件错误修复及标准更新是移动终端的生存周期的正常部分以及终端正确工作的要求。目前,这种移动终端的用户通常需要亲身访问更新中心,其中终端采用线路连接到计算机,以便加载和安装系统的新版本。
在许多方面,这是一种不令人满意的解决方案。它对于终端制造商来说费用高,以及对于用户来说是麻烦的。因此,希望避免顾客实际访问更新中心的需要。此外,以上解决方案的一个缺点在于,更新时间不必要地很长,因为目前的做法是每次要求或需要更新时,下载移动终端的存储器的完整图像。
已经建议引入用于移动终端的空中(OTA)固件更新,从而允许用户在家或者在途中时得到系统软件的最新版本。更新甚至可能不必由用户发起,而是例如可由网络运营商通过网络启动。例如,关键补丁可分发给特定型号的移动电话的所有用户,而无需他们主动寻找新的更新。
因此,在OTA解决方案中,提供附加特征和其它数据的错误修复或更新的软件更新通过空中接口分发给移动终端。为了当前描述的目的,移动终端上存在的旧软件版本又称作基本版本,而新的已更新版本又称作已更新版本或新版本。由于至少两个原因,仅分发新版本的图像是不令人满意或者甚至不可能的。下载时间变得很长,并且它还要求电话同时保存软件的两个副本,这使存储要求加倍。为了解决上述问题,已经建议仅在所谓的差量文件中发送必要的变化。差量文件构造成包括允许移动终端从基本版本以及从差量文件产生新版本的指令、即用于数据的基本版本的差异更新的指令,从而降低加载软件更新所需的带宽以及移动终端的所需存储容量。
美国专利6018747公开一种在目标系统上产生软件的原地差量更新的方法,其中,差量文件包括标识为了达到软件的新版本要对基本版本进行的改变的“复制”命令和“添加”命令。因此,根据以上先有技术的方法,在发布软件的新版本时,差量文件由新版本和前一个版本产生。差量文件则可甚至通过低带宽信道来有效地分发。
但是,以上先有技术的系统的一个问题在于,它没有解决与OTA软件更新相关的安全问题中的一部分。安全的软件更新的一个要求是所得已更新软件版本是可信的、即对应于预计要加载的软件的要求。不可信或已损坏的软件可能导致移动终端发生故障或者甚至根本不工作。已损坏的软件可能是诸如病毒、蠕虫等恶意攻击的结果、诸如许可功能的篡改等的另一种形式的不轨用机的结果、或者例如在存储器错误的情况中的软件或硬件错误的结果。
因此,本发明的一个目的是为移动终端提供更新机制,它提供高度安全性。
通过一种将移动终端中的已存储数据、如表示软件指令的数据从第一数据版本差异更新到已更新数据版本的方法来解决上述和其它问题,该方法包括
-将差异更新指令装入移动终端;以及
-由移动终端从已存储数据和已加载差异更新指令中产生已更新数据版本;
其中,该方法还包括检测移动终端中的已存储数据是否包含与第一数据版本不一致的已存储数据的一个或多个已破坏部分;以及其中,产生已更新数据版本还包括修复任何这类所检测的已破坏部分。
因此,即使基本版本被破坏,通过检测已存储数据的已破坏部分,在新版本的后续生成期间,也确保新版本是可信的新版本。
在这里,术语“修复已存储数据的已破坏部分”意在包括产生可信的已更新版本的对应部分。
在一个优选实施例中,该方法还包括根据与数据的任何所检测已破坏部分有关的信息来产生差异更新指令。因此,按照这个实施例,根据与已存储数据的哪些部分(如果有)被破坏、即已存储数据的哪些部分不对应于可信基本版本或者至少具有与可信基本版本不一致的风险有关的信息,从基本版本和已更新版本产生已修改差量文件。
例如,如果软件的基本版本受到病毒程序的感染,或者如果基本版本已被篡改、例如以便绕过许可保护机制,则这可能使软件更新产生已破坏的存储器图像,它可能导致移动终端发生故障或者终端可能根本不工作。
大家理解,如果没有检测到已破坏部分,则标准差量文件可被产生,或者如果在前一个时间点预先产生了这样的标准差量文件,则标准差量文件可被检索。这种标准差量文件可采用产生差量文件的任何适当方法来产生,例如美国专利号6018747中公开的方法。
在另一个优选实施例中,差异更新指令包含更新数据;以及产生已更新数据版本包括由所述更新数据来替换已存储数据的预定部分。优选地,如果已经检测到数据的已破坏部分,则更新数据包含与已更新数据版本一致的数据的已修复部分,数据的已修复部分对应于数据的所检测已破坏部分。
当产生差异更新指令包括产生使移动终端从不包括任何所检测已破坏数据部分的已存储数据以及从差异更新指令中产生已更新数据版本的指令时,只有未被破坏的基本版本的那些部分才用作差异更新过程的源。因此,把已破坏部分传播到已更新版本的对应部分或甚至其它部分的风险被消除。
在这里,术语“数据部分”包括可这样标识的数据的任何部分,例如某个地址范围中的数据、存储器的一部分、存储块等等。
优选地,在远程数据处理系统、如软件更新服务器上产生差异更新指令。优选地,远程数据处理系统和移动终端经由无线通信链路进行通信,例如经由诸如GSM网络、GPRS网络、UMTS网络之类的蜂窝通信网络或者另外的3G网络。通信可经由任何适当的通信协议、例如象TCP/IP等的因特网协议(IP)、经由短消息服务(SMS)或者其它任何适当的数据传输机制来执行。
在一个优选实施例中,已破坏部分的检测由移动终端执行,以及检测的结果传递给远程处理系统,从而减少需要经由移动终端与远程数据处理系统之间的空中接口传递的数据量。
在另一个优选实施例中,已破坏部分的检测由移动终端和远程数据处理系统协作执行。因此,根据这个实施例,该方法还包括把与已存储数据有关的信息从移动终端发送到远程数据处理系统;其中,检测由远程数据处理系统从所发送信息中进行。这个实施例的一个优点在于,它减少移动终端上所需的计算和存储资源。这个实施例的另一个优点在于,它增加该方法的安全性,因为检测不是完全基于包括可能被破坏的数据或软件的移动终端所执行的过程。
在另一个优选实施例中,检测包括
-由移动终端计算多个校验和,其中,每个校验和对应于移动终端中存储的数据的对应部分;以及
-将所计算的校验和与多个参考校验和进行比较,以便识别数据的任何已破坏部分。
因此,提供一种检测基本版本的已破坏部分的有效且可靠机制。例如,可对于预定大小的存储器的相应块逐块计算校验和。当校验和的计算基于密码上极强的单向散列函数时,检测机制的可靠性得到进一步增强。
在一个实施例中,参考校验和存储在移动终端中,以及比较由移动终端执行。因此,根据这个实施例,移动终端计算和检验校验和,并把检验的结果发送给远程数据处理系统。
依靠完全由移动终端所执行的并且基于移动终端上存储的参考校验和的检测过程涉及安全风险,因为参考校验和本身可能被破坏、例如被篡改。当移动终端中所存储的参考校验和通过消息验证码进行完整性保护时,这个问题得到解决。
在另一个优选实施例中,参考校验和存储在远程数据处理系统中;其中已发送信息包含所计算校验和;以及其中检测还包括由远程数据处理系统把已发送的计算校验和与远程数据处理系统中所存储的多个参考校验和进行比较。因此,参考校验和的存储不需要移动终端中的存储容量,以及参考校验和不易受到移动终端中所存储的数据的破坏或篡改的攻击。
在所附权利要求中公开了其它优选实施例。
注意,以上和以下所述的方法的特征可通过软件来实现,并且在数据处理系统或者通过程序代码部件、如计算机可执行指令的运行所产生的其它处理部件上执行。在这里以及在下文中,术语“处理部件”包括适合于执行以上功能的任何电路和/或装置。具体来说,术语“处理部件”包括通用或专用可编程微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、专用电子电路等或者它们的组合。
例如,程序代码部件可从存储媒体或者经由计算机网络从另一台计算机加载到存储器、如RAM中。或者,所述特征可通过替代软件或者与软件结合的硬件电路来实现。
本发明可通过不同方式来实现,其中包括以上或者下面描述的方法、移动终端、数据处理系统以及其它产品部件,它们各产生结合第一所述方法描述的利益和优点的一个或多个,以及各具有与结合第一所述方法描述的优选实施例对应的一个或多个优选实施例。
本发明还涉及移动终端,包括
-用于存储数据的数据存储器;
-通信部件,适合从数据处理系统接收用于把数据存储器中所存储的数据从第一数据版本更新到已更新数据版本的差异更新指令;
-处理部件,适合从已存储数据以及从所接收的差异更新指令中产生已更新数据版本;
其中处理部件还适合从已存储数据中产生表明是否存在与第一数据版本不一致的已存储数据的一个或多个已破坏部分的信息;以及经由通信部件将所产生信息传递给数据处理系统以便产生差异更新指令。
本发明还涉及用于帮助把移动终端中存储的数据从第一数据版本差异更新到已更新数据版本的数据处理系统,数据处理系统包括用于把差异更新指令加载到移动终端中的部件,差异更新指令使移动终端从已存储数据和已加载的差异更新指令中产生已更新数据版本;
其中数据处理系统还包括
-用于从移动终端接收表明是否存在与第一数据版本不一致的已存储数据的一个或多个已破坏部分的信息的部件;以及
-处理部件,适合从第一和已更新数据版本中以及从所接收信息中产生差异更新指令;以及把修复指令包含到差异更新指令中,其中,修复指令适合使移动终端修复任何这类所检测的已破坏部分。
本发明还涉及计算机程序,其中包括程序代码部件,适合在数据处理系统上运行程序时,通过执行以下步骤,使数据处理系统帮助把移动终端中存储的数据从第一数据版本差异更新到已更新数据版本:
-从第一和已更新数据版本中以及从自移动终端所接收的信息中产生差异更新指令,其中,所接收信息表明是否存在与第一数据版本不一致的已存储数据的一个或多个已破坏部分;其中产生差异更新指令包括把修复指令包含到差异更新指令中,其中修复指令适合使移动终端修复任何这类所检测的已破坏部分;以及
-把所产生的差异更新指令加载到移动终端中,差异更新指令使移动终端从已存储数据和已加载的差异更新指令中产生已更新数据版本。
术语“移动终端”包括任何移动装置,其中包括用于接收和/或发送通信信号、例如无线电通信信号以帮助数据通信的适当电路。这类装置的实例包括便携式无线电通信设备和其它手持式或便携式装置。术语“便携式无线电通信设备”包括诸如移动电话、寻呼机、通信装置、即电子管理器、智能电话、个人数字助理(PDA)等的所有设备。
附图简介
通过以下参照附图所述的实施例,本发明的以上及其它方面将会清楚和得到阐明,其中:
图1示意说明用于更新移动终端中的软件的系统的一个实施例的框图;
图2示意说明根据本发明的一个实施例的移动终端的框图;
图3说明软件更新过程的一个实施例的流程图;
图4示意说明校验和的计算及完整性保护;
图5示意说明根据本发明的另一个实施例的移动终端的框图;
图6说明软件更新过程的另一个实施例的流程图;以及
图7a-b示意分别说明在已破坏存储块不存在和存在时产生差量文件的一个实施例。
图1示意说明用于更新移动终端中的软件的系统的一个实施例的框图。系统包括移动终端101、如移动电话等,软件更新系统102,以及通信网络103。
软件更新系统102可包括有权访问通信网络的服务器计算机。在一些实施例中,服务器计算机的功能性可分布于多个计算机、例如经由诸如局域网、广域网、因特网等的计算机网络连接的计算机当中。软件更新系统102包括允许软件更新系统经由通信网络103传递数据的网络接口104。例如,网络接口可包括网卡、DSL调制解调器、网关计算机等。
软件更新系统还包括适当编程以控制和执行包括差量文件的生成在内的更新过程的处理单元105、例如服务器计算机的CPU。处理单元还包括版本数据库106,在其中已经存储要更新的软件的至少一个基本版本和已更新版本的存储器图像。在一些实施例中,版本数据库还可包括例如用于不同型号的移动终端、用于不同组的顾客的附加信息,例如多个基本版本和/或已更新版本,和/或类似物。
通信网络103可能是例如采用无线通信承载在软件更新系统102与移动终端101之间传递数据的任何适当通信网络。例如,在适合经由例如GSM网络、UMTS网络、GPRS网络等的蜂窝通信网络进行通信的移动电话的情况下,软件更新系统与结合软件更新的移动终端之间的通信优选地经由该蜂窝通信网络来执行,从而避免了对于移动终端中的附加通信接口的需要。还要理解,在移动终端与软件更新系统之间的通信可涉及一个以上通信网络。例如,移动电话可能经由基站以及具有网关系统的蜂窝电信网络进行通信,蜂窝电信网络又经由因特网提供与软件更新系统的通信。
因此,为了更新移动终端101中的软件、例如移动终端的固件或操作系统,移动终端连接到软件更新系统102。或者,软件更新系统可在已更新软件版本可用时连接到移动终端。一旦连接到软件更新系统,移动终端向软件更新系统发送关于其当前软件版本的信息以及关于当前存储于存储器中的数据的信息,该信息使软件更新系统能够识别被破坏或者至少存在被破坏的风险的存储块。通信经由适当的更新协议、例如建立于TCI/IP协议之上的协议来执行。根据从移动终端所接收的信息,软件更新系统对移动终端产生包含差异更新指令的专用更新消息。差异更新指令被产生,使得它们使移动终端能够从移动终端中已经存储的现有版本以及从更新指令所包含的附加信息中产生已更新软件版本。此外,差异更新指令被产生,使得移动终端中的任何已破坏存储块将被更新到已更新版本的可信块,以及使得任何已破坏存储器内容没有被移动终端用于产生已更新版本。
差量文件生成的生成可由以下运算示意说明
文件新-文件基本→Δ文件。
相应地,新版本的实际生成则可由移动终端根据以下运算来执行
文件基本+Δ文件→文件新。
大家要理解,产生差量文件(在以上标记法中表示为“-”)以及在移动终端上产生新版本(在以上标记法中表示为“+”运算)的以上运算可包括或多或少的复数运算。
差量文件可原地应用、即由移动终端对现有图像进行改变,从而需要极少的附加存储区。此外,由于只有差量文件需要被加载,以及由于差量文件通常明显小于新版本,因此加载时间通过以上方法被减少。
在一个实施例中,更新过程由移动终端上运行的更新代理发起。更新代理控制差量文件的接收和检验。随后,更新代理使移动终端断开与网络的连接,并以补丁模式重新启动。在补丁模式中,差量文件的变化被递增应用,直到新的存储器图像完成为止。
下面将更详细地描述更新过程的实施例。
图2示意说明根据本发明的一个实施例的移动终端的框图。移动终端201包括通信块210、处理单元211以及存储单元212、213、214。
通信块210包括允许经由蜂窝通信网络的基于无线电的数据传递的电路和/或装置。因此,为了当前描述的目的,通信块210包括用于接收和发送数据信号的接收机电路和发射机电路。通信块还可包括用于通过无线电通信领域中众所周知的适当技术来适当处理信号、例如对信号进行调制、编码、放大等的电路。
移动终端还包括处理单元211、例如适当编程的微处理器。处理单元适合确定移动终端中存储的软件的版本,计算已存储软件的校验和,以及在接收到对应更新指令时产生软件的已更新版本。
存储单元212已经在其中存储了预定版本的软件和/或其它数据。例如,存储器212可包括在由处理单元210载入并运行时实现移动终端的基本功能的移动终端的固件。固件还可包括允许应用软件被运行的操作系统。因此,存储器212还可已经在其中存储了提供附加功能性的应用软件。存储器212采用适当的地址空间来寻址,从而允许处理单元存取存储器的所选部分。在一些实施例中,存储器212可在逻辑或物理上分为多个存储块。例如,存储器212可包括允许数据被写入预定大小的块的闪速存储器。
下面假定存储器212被分为预定大小的多个块,表示为B1、B2、B3、…BN。但是大家要理解,也可采用存储器的任何其它寻址。还要理解,本文所述的更新过程可例如在移动电话的闪速存储器的整个图像要被更新时应用于整个存储器212,或者例如在一个或多个软件应用要被更新时仅应用于存储器的预定部分。
移动终端201还包括存储器部分213,其中已经存储用于检测可能已破坏的存储块的参考校验和的列表。下面将更详细地描述校验和的生成及使用。大家要理解,存储器部分212和213可能是相同物理存储器的一部分,或者它们可能是物理分离的存储器。
在一个优选实施例中,移动终端还包括存储器部分214,用于安全地存储已存储校验和的完整性保护中使用的保密密钥,下面进行更详细地描述。例如,保密密钥可存储在无法从移动终端的预定电路的外部进行存取的例如ROM、EPROM等的内部存储器中。在其它实施例中,移动终端可包括唯一芯片ID,例如通过电子熔断烧制到移动终端的电路中。在又一些实施例中,保密密钥可加密存储在非保护存储器、如闪速存储器中。
图3说明软件更新过程的一个实施例的流程图。流程图在它的一般表示为321的右侧说明由移动终端执行的步骤,以及在一般表示为322的左侧说明由软件更新系统执行的步骤。
在图3的流程图中,假定软件更新系统发起更新过程。因此,在初始步骤331中,软件更新系统向移动终端例如通过发送表示为ID_V2的新版本的标识来发送消息,通知移动终端软件的新版本可用。在步骤332,响应从软件更新系统接收的消息,移动终端计算存储器312的对应存储块或者包含要更新的软件的存储器部分的内容的校验和。
在步骤333,移动终端把所计算校验和与移动终端的存储器部分313中存储的参考校验和的列表进行比较。参考校验和是与移动终端中当前安装的基本版本对应的可信存储器内容的对应存储块的校验和。现在将参照图4来描述如何存储和计算校验和的一个实例。
图4示意说明校验和的计算及完整性保护。图4示意说明要更新的移动装置的存储器413。存储器被分为一组N个块,表示为B1、B2、…、BN。根据这个实施例,移动终端还包括存储器部分413,其中已经存储与存储器413的N个存储块的可信存储器图像对应的N+1个校验和。N+1个校验和中的N个是在N个存储块中相应的一些上计算的,使得存储了存储块B1、…、BN的每个的参考校验和。各个存储块的校验和表示为CRC1、CRC2、…、CRCN。校验和的每个优选地采用根据CRCi=h(Bi)的散列函数h从对应存储块中计算。散列函数优选地是单向散列函数,更优选地是密码上强的单向散列函数,以便增强防止篡改更新系统的安全性。术语“密码上强的单向散列函数”意在包括任何函数M→h(M)=m,它把消息M从消息空间映射到更小的散列空间,使得在计算上不可能让任何人找到两个消息M和M’使h(M)=h(M’),或者给定任意m,找到任何消息M使h(M)=m。适当的散列函数的实例包括SHA-1和MD5。
表示为CRCT的、N+1个校验和中剩余的一个在整个存储器412上计算,即CRCT=h(B1,B2,…,BN)。在一个实施例中,这个总校验和用来执行初始检验,其中包括计算和比较总校验和。如果总校验和成功地经过检验,则系统假定不存在已破坏的存储块。仅当总校验和失败时,才执行各个校验和的计算和比较,以便识别哪些块被破坏。
在一个实施例中,可信存储器内容的校验和的列表采用允许检测对校验和的列表的任何篡改的完整性保护机制存储于移动终端中。例如,校验和的列表可通过消息验证码(MAC)采用移动终端的安全存储器部分414中存储的保密密钥k来保护。消息验证码的一个实例是HMAC。因此,在一个实施例中,标记值t=MACk(CRC1,…,CRCN,CRCT)采用MAC算法和保密k从校验和中计算。所计算的标记值附加到参考校验和的列表中,并存储于存储器部分413,如参考标号415所示。在更新过程中,移动终端采用密钥k重新计算标记值,并且把所计算值与存储器中存储的标记值415进行比较。
为了提供基于MAC的完整性保护的足够高的安全性,优选的是,密钥k存储在存储器414中,其方式是,它仅可由置信进程/用户来访问/读取,例如以上结合图2所述。
再参照图3,在步骤333,移动终端识别为之所计算校验和不同于移动终端所存储的参考校验和的任何存储块。
在步骤334,移动装置向软件更新系统发送表示为ID_V1的当前安装软件版本的标识以及已破坏存储块的列表。在图3的实例中,这个列表包含块标识符BC1、…、BCK,0≤K≤N。
在接收到这个信息时,软件更新系统产生适当的差量文件。在图3的实施例中,在步骤335,软件更新系统确定移动终端是否已经识别任何已破坏的块。如果情况不是这样,即如果存储器内容已经由移动终端检验为可信基本版本,则软件更新系统不需要产生专用差量文件。在这种情况下,包含用于从可信基本版本到预期已更新版本的更新的差异更新指令的标准差量文件可预先产生,并且存储在软件更新系统的版本数据库306中。因此,如果没有识别出已破坏的块,则过程在步骤336继续进行,在其中,软件更新系统从数据库306中检索对应的标准差量文件,并在步骤338继续进行。
如果识别出一个或多个已破坏的块,则过程在步骤337继续进行,在其中,软件更新系统产生专用差量文件,并在步骤338继续进行。如本文更详细地描述的,专用差量文件包含使移动终端产生可信已更新版本的更新指令。具体来说,更新指令使已破坏的块在已更新版本的生成过程中被拒绝再使用。因此,软件更新系统从版本数据库306中检索基本版本和新版本,并从这两个版本中以及从关于已破坏存储块的信息中产生差量文件。存在已破坏块时的专用差量文件的生成的一个实例将结合图7a-b进行描述。
在步骤338,软件更新系统向移动终端发送所产生差量文件。在步骤339,移动终端从存储器312的内容以及在差量文件中所接收的指令产生软件的已更新版本。移动终端把已更新版本存储在存储器312中。
在图3的实施例中,存储器313中存储的参考校验和也被更新,以便反映已更新的存储器内容。因此,在步骤339,移动终端还计算和存储已更新参考校验和,以及如果完整性保护被应用,则采用密钥k来计算和存储已更新MAC值。大家要理解,在一个备选实施例中,已更新参考校验和以及MAC值可由软件更新系统来计算并发送给移动终端。
还要理解,在一些实施例中,例如通过应用所接收差量文件的完整性保护和/或软件更新系统的验证,移动终端在应用所接收差量文件之前执行所接收差量文件的检验。
可选地,在成功完成更新时,在步骤340,移动终端向软件更新系统发送成功接收的确认。在步骤341,软件更新系统对这个确认的接收完成更新过程。
下面将参照图5和图6来描述更新过程的第二实施例,在其中,已破坏块的检测由移动终端和软件更新系统合作执行。
图5示意说明根据本发明的另一个实施例的移动终端的框图。移动终端501包括通信块510、处理单元511以及存储单元512,例如结合图2所述。移动终端501与图2的移动终端的不同之处在于,移动终端501不包括用于存储参考校验和或者用于参考校验和的完整性保护的密钥参数的存储器部分。
现在将参照图6来描述可与图5的移动终端结合使用的更新过程。图6的过程与图3的过程相似,但是,图6的过程中的移动终端向软件更新系统发送所计算校验和,软件更新系统执行校验和与参考校验和的比较,从而减少移动终端上的存储要求以及所需计算资源。
流程图在它的一般表示为621的右侧说明由移动终端执行的步骤,以及在一般表示为622的左侧说明由软件更新系统执行的步骤。
在图6的流程图中,假定软件更新系统发起更新过程。因此,在初始步骤631中,软件更新系统向移动终端发送消息,通知移动终端软件的新版本可用。在步骤632,响应从软件更新系统接收的消息,移动终端计算存储器612的对应存储块或者包含要更新的软件的存储器部分的内容的校验和,如以上更详细地描述那样。
在步骤634,移动终端向软件更新系统发送当前安装的软件版本的标识以及表示为CRC1、…CRCN的所计算校验和的列表。
在接收到这个信息时,在步骤633,软件更新系统把所接收校验和与版本数据库606中存储的参考校验和的列表进行比较。或者,参考校验和可存储在备选位置,或者软件更新系统可从版本数据库606中存储的可信基本版本中重新计算校验和。以上更详细描述了参考校验和的结构的一个实施例以及一种计算它们的方法。
大家要理解,可选地,例如通过如上所述附加MAC标记和/或以另一种适当方式对它们进行密码保护,移动终端可在把校验和发送给软件更新系统之前对它们进行完整性保护。
在步骤635,软件更新系统确定步骤633的比较是否显示了任何已破坏存储块。如果没有识别出已破坏的块,则过程在步骤636继续进行,在其中,软件更新系统从数据库606中检索对应的标准差量文件,并在步骤638继续进行。
如果识别出一个或多个已破坏的块,则过程在步骤637继续进行,在其中,软件更新系统产生专用差量文件,并在步骤638继续进行。
在步骤638,软件更新系统向移动终端发送所产生差量文件。在步骤639,移动终端从存储器612的内容以及在差量文件中所接收的指令中产生软件的已更新版本。移动终端把已更新版本存储在存储器612中。
还要理解,在一些实施例中,例如通过应用所接收差量文件的完整性保护和/或软件更新系统的验证,移动终端在应用所接收差量文件之前执行所接收差量文件的检验。
可选地,在成功完成更新时,在步骤640,移动终端向软件更新系统发送成功接收的确认。在步骤641,软件更新系统对这个确认的接收完成更新过程。
在图6的过程的一种修改中,移动终端最初计算要更新的整个存储器的总校验和,并把总校验和发送给软件更新服务器进行检验。如果总检验和成功经过检验,则软件更新系统通过把标准更新文件发送给移动终端来继续进行。如果总校验和的检验无法表明至少一个已破坏块的存在,则软件更新系统请求移动终端发送各个块的校验和的列表,以便识别哪一个/哪一些块被破坏。
图7a-b示意分别说明在已破坏存储块不存在和存在时产生差量文件的一个实施例。
如上所述,差量文件包含用于从那个文件的基准版本中产生文件或其它存储器内容的已更新版本的差异更新指令。差量文件生成过程的一个实施例对基准版本和已更新版本进行字节级比较。下面,基准版本将表示为V1,而已更新版本则表示为V2。
若干差量文件生成算法在本领域中同样是已知的,例如US6018747中公开的算法。这类算法通常扫描两种版本V1和V2,并且尝试找到尽可能多的相似性。公共数据部分的位置和大小被记录及存储。差量文件本身通常由多个命令、如添加命令和复制命令组成。复制命令标识应当从版本V1中再使用的数据,而添加命令则表示要引入、即添加到版本V2中的数据。
在图7a-b的简单实例中,假定一般表示为751的文件或存储区的基准版本包括分别表示为B1、B2、B3、B4和B5的五个数据块。这些块中存储的数据分别由A、B、C、D和E表示。一般表示为752的文件的已更新版本也包括分别表示为B1、B2、B3、B4和B5的五个块。但是,各个块的内容不同于基准版本的对应内容。在已更新版本中,五个块包含分别表示为D、A、F、G和B的数据。在这里,相同的字母对应于相同数据,以及不同的字母表示不同的数据。
图7a-b中的虚线箭头标记两个版本共同的块。因此,在图7a-b的实例中,已更新块B 1包括与原始版本中的块B4相同的数据,已更新块B2包括与原始版本中的块B1相同的数据,以及已更新块B5包括与原始版本中的块B2相同的数据。
在更新过程中,通过在差量文件中应用命令,版本V1被变换为版本V2。差量文件的一个实例包括关于如何采用逐块复制和添加操作从版本V1来构造版本V2的描述。在图7a的实例中,差量文件753包含五个命令:
1.B5:CP B2
2.B2:CP B1
3.B1:CP B4
4.B3:AD<F>
5.B4:AD<G>
每个命令标识已更新版本的块以及关于如何产生那个块的命令。在这个实例中,第一命令通过把B2的原始内容复制到块B5,使块B5被产生。类似地,第二和第三命令使块B2和B1分别作为原始块B1和B4的副本被产生。第四和第五命令是添加命令,它们分别指定数据F被添加到块B3,以及数据G被添加到块B4。要注意,以上命令序列的顺序经过选择,以便避免块在该块的原始内容被读取之前被写入的读/写冲突。
以上更新过程依靠以下事实:差量生成算法所使用的版本V1图像与移动终端上的版本V1图像相同。在不是这样的情形下,例如目标节点图像已被篡改或者受到某种病毒感染,存在更新过程将失败并且呈现完全不工作的目标节点的极大风险。为了避免这种情况,在产生差量文件之前,检查目标图像的状态,以及向软件更新系统提交报告。如果找到一些不相同的块,则它们从差量文件生成中排除。这意味着,差量文件可能比标准差量文件更大,因为包含已破坏块的新副本的添加命令可能用来代替复制命令。
图7b说明具有已破坏块的差量文件生成的一个实例。在图7b中,考虑与图7a相同的情况,但是在图7b中,假定块B2已经检测到被破坏。
因此,在已修改的差量文件生成中,已破坏块B2在对版本进行相似性比较时被排除,以及已破坏块B2没有再用于产生已更新块B5。因此,在这种情况下,所得差量文件754与前一个差量文件的不同之处在于,差量文件754包含用于更新块B5的不同命令,它在这时读
1.B5:AD<B>。
因此,作为复制命令的替代,可信更新数据B这时显式添加到块B5。还要指出,为了当前描述的目的,已经保持命令的顺序。但是,在图7b的实例中,以上步骤B5:AD<B>也可作为最后一个步骤来执行,即与块的序列一致,因为用于修改块B5的命令不再依靠其它块之一的内容。因此,在另一个实施例中,命令的序列将为(2,3,4,5,1)。
大家要理解,图7a-b的情况只用作简单实例,以便说明已破坏图像对更新过程的影响。
具体来说,要注意,更新步骤可涉及与逐块更新不同的粒度。复制和添加命令可能涉及更小和/或更大的存储器部分。具体来说,添加和复制命令的粒度不限于检测为破坏与否的块的块大小。添加和复制命令甚至可能涉及变化大小的存储器部分。例如,每个复制或添加命令可表示要复制或添加的数据区域的起始地址和长度。
还要理解,差量文件可包含附加和/或替代命令,例如删除命令等。
还要理解,差量文件可指定与已更新文件中的存储器部分的顺序不同的更新步骤的顺序,例如,以便避免使更新步骤冲突,例如存储块在第一步骤中被更新,而那个存储块的原始内容在后续更新步骤中被再用。
还要理解,在一个备选实施例中,附加的新数据可在分开的文件中发送,使得命令文件和数据文件被发送。
虽然已经描述及说明了本发明的优选实施例,但是本发明不限于此,而是还可以按照以下权利要求中所定义的主题范围之内的其它方式来实施。例如,即使本发明主要结合软件的更新来描述,本领域的技术人员也会理解,本发明也可应用于移动终端中存储的其它数据的更新。
根据本文所述的更新过程的另一种可能修改,软件更新系统在检测到已破坏存储块时可执行替代或补充步骤,例如,如果包含许可相关数据的存储块被破坏,则软件更新系统可能因安全原因而拒绝软件更新。
根据本文所述的更新过程的又一种可能修改,更新过程由移动终端而不是软件更新系统来发起。例如,移动终端可向软件更新系统发送对于可用更新的查询。在一些实施例中,查询可包含当前安装软件的版本信息。例如,移动终端可每隔一定的时间间隔、响应用户命令、响应另一个事件和/或类似物来发送这种查询。在一些实施例中,移动终端可例如每隔一定的时间间隔或者由例如用户命令之类的另一个事件触发,来检查其存储器。例如,存储器检查可包括计算校验和以及比较校验和与移动终端所存储的参考校验和,如上所述。如果存储器检查显示任何已破坏块,则移动终端可请求无条件软件更新、即不管新版本是否可用,从而允许修复已破坏存储器内容。在其它实施例中,移动终端可定期计算校验和,并将其发送给存在如上所述检验的软件更新系统。如果找到破坏的存储器块或者新的软件版本可用,则由更新系统发起软件更新。
根据本文所述的更新过程的又一种可能修改,软件更新系统预先计算多个备选差量文件、例如一组差量文件,其中的每个对应于单个已破坏块。预先计算的备选差量文件被存储,并且可在实际更新过程中被检索,从而减少实际更新过程中所需的处理。作为替代或补充,软件更新系统可对于更新过程中所计算的差量文件进行高速缓存或者存储,从而使它们可用于在其中识别相同的已破坏块的将来更新情况。在其中已破坏存储器是由病毒等所引起的情况中,这可能特别有利,因为可能预计若干移动终端将具有对应的已破坏块。
本发明可以通过包含若干独立元件的硬件或适当编程的计算机来实现。在列举若干部件的装置权利要求中,这些部件中的若干个可通过完全相同的硬件、例如适当编程的微处理器或计算机和/或本文所述的一个或多个通信接口来实施。某些方法在互不相同的从属权利要求中引述或者在不同实施例中描述的简单事实并不表明这些方法的组合不可用来获得优势。
应当强调,在本说明使用的术语“包括/包含”用来表示存在所述特征、整数、步骤或组件,但并不排除存在或附加一个或多个其它特征、整数、步骤、组件或上述各项的组合。
Claims (21)
1.一种将移动终端中存储的数据从第一数据版本差异更新到已更新数据版本的方法,所述方法包括
-将差异更新指令加载到所述移动终端中;以及
-由所述移动终端从所述存储的数据和所述加载的差异更新指令中产生所述已更新数据版本;
其特征在于
所述方法还包括检测所述移动终端中所述存储的数据是否包含与所述第一数据版本不一致的所述存储的数据的一个或多个已破坏部分;以及产生所述已更新数据版本还包括修复任何这类所检测的已破坏部分。
2.如权利要求1所述的方法,其特征在于,还包括根据与数据的任何所检测的已破坏部分有关的信息来产生所述差异更新指令。
3.如权利要求2所述的方法,其特征在于,所述差异更新指令包含更新数据;以及产生所述已更新数据版本包括由所述更新数据来替换所述存储的数据的预定部分。
4.如权利要求3所述的方法,其特征在于,所述更新数据包含与所述已更新数据版本一致的数据的已修复部分,数据的所述已修复部分对应于数据的所检测的已破坏部分。
5.如权利要求2至4中的任一项所述的方法,其特征在于,产生所述差异更新指令包括产生使所述移动终端从不包括任何所检测已破坏数据部分的所述存储的数据以及从所述差异更新指令中产生所述已更新数据版本的指令。
6.如权利要求2至4中的任一项所述的方法,其特征在于,产生所述差异更新指令由远程数据处理系统执行。
7.如权利要求6所述的方法,其特征在于,所述移动终端和所述远程数据处理系统经由无线通信链路来通信。
8.如权利要求6或7所述的方法,其特征在于,所述移动终端和所述远程数据处理系统经由因特网协议来通信。
9.如权利要求6至8中的任一项所述的方法,其特征在于,所述检测由所述移动终端执行,以及所述检测还包括把关于所检测的已破坏部分的信息从所述移动终端发送给所述远程数据处理系统。
10.如权利要求6至8中的任一项所述的方法,其特征在于,所述方法还包括把与所述存储的数据有关的信息从所述移动终端发送到所述远程数据处理系统;所述检测由所述远程数据处理系统从所述发送的信息中进行。
11.如权利要求1至10中的任一项所述的方法,其特征在于,所述检测包括
-由所述移动终端计算多个校验和,其中每个校验和对应于所述移动终端中存储的数据的对应部分;以及
-将所计算的校验和与多个参考校验和进行比较,以便识别数据的任何已破坏部分。
12.如从属于权利要求9的权利要求11所述的方法,其特征在于,所述参考校验和存储在所述移动终端中,以及所述比较由所述移动终端执行。
13.如权利要求12所述的方法,其特征在于,所述移动终端中存储的所述参考校验和通过消息验证码进行完整性保护。
14.如从属于权利要求10的权利要求11所述的方法,其特征在于,所述参考校验和存储在所述远程数据处理系统中;所述发送的信息包含所述所计算校验和;以及所述检测还包括由所述远程数据处理系统把所述发送的所计算校验和与所述远程数据处理系统中存储的多个参考校验和进行比较。
15.如权利要求11至14中的任一项所述的方法,其特征在于,所述计算包括把所述校验和作为所述存储的数据的对应部分的密码上强的单向散列函数来计算。
16.一种移动终端,包括
-用于存储数据的数据存储器;
-通信部件,适合从数据处理系统接收用于把所述数据存储器中存储的数据从第一数据版本更新到已更新数据版本的差异更新指令;
-处理部件,适合从所述存储的数据以及从所述接收的差异更新指令中产生所述已更新数据版本;
其特征在于,所述处理部件还适合从所述存储的数据中产生表明是否存在与所述第一数据版本不一致的所述存储的数据的一个或多个已破坏部分的信息;以及经由所述通信部件将所述产生的信息传递给所述数据处理系统,用以产生所述差异更新指令。
17.一种用于帮助把移动终端中存储的数据从第一数据版本差异更新到已更新数据版本的数据处理系统,所述数据处理系统包括用于把差异更新指令加载到所述移动终端中的部件,所述差异更新指令使所述移动终端从所述存储的数据和所述加载的差异更新指令中产生所述已更新数据版本;
其特征在于
所述数据处理系统还包括
-用于从所述移动终端接收表明是否存在与所述第一数据版本不一致的所述存储的数据的一个或多个已破坏部分的信息的部件;以及
-处理部件,适合从所述第一和已更新数据版本以及从所述接收的信息中产生所述差异更新指令;以及把修复指令包含到所述差异更新指令中,其中所述修复指令适合使所述移动终端修复任何这类所检测的已破坏部分。
18.一种计算机程序,其中包括程序代码部件,适合在移动终端上运行所述程序时,通过执行以下步骤使所述移动终端把所述移动终端中存储的数据从第一数据版本差异更新到已更新数据版本:
-从所述存储的数据中产生表明是否存在与第一数据版本不一致的所述存储的数据的一个或多个已破坏部分的信息;
-将差异更新指令加载到所述移动终端中;以及
-由所述移动终端从所述存储的数据和所述加载的差异更新指令中产生所述已更新数据版本,包括修复任何这类所检测的已破坏部分。
19.一种计算机程序,其中包括程序代码部件,适合在数据处理系统上运行所述程序时,通过执行以下步骤使所述数据处理系统帮助把移动终端中存储的数据从第一数据版本差异更新到已更新数据版本:
-从所述第一和已更新数据版本以及从自所述移动终端接收的信息中产生差异更新指令,其中所述接收的信息表明是否存在与所述第一数据版本不一致的所述存储的数据的一个或多个已破坏部分;其中产生差异更新指令包括把修复指令包含到所述差异更新指令中,其中所述修复指令适合使所述移动终端修复任何这类所检测的已破坏部分;以及
-把所述产生的差异更新指令加载到所述移动终端中,所述差异更新指令使所述移动终端从所述存储的数据和所述加载的差异更新指令中产生所述已更新数据版本。
20.一种包括如权利要求18或19所述的计算机程序的计算机可读媒体。
21.用于把移动终端中存储的数据从第一数据版本差异更新到已更新数据版本的如权利要求16所述的移动终端的使用。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03388075.8 | 2003-11-19 | ||
EP03388075.8A EP1533695B1 (en) | 2003-11-19 | 2003-11-19 | Updating data in a mobile terminal |
US60/526,547 | 2003-12-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1906574A true CN1906574A (zh) | 2007-01-31 |
CN100432932C CN100432932C (zh) | 2008-11-12 |
Family
ID=34429601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800404438A Expired - Fee Related CN100432932C (zh) | 2003-11-19 | 2004-10-14 | 更新移动终端中的数据 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20070150524A1 (zh) |
EP (1) | EP1533695B1 (zh) |
JP (1) | JP4980064B2 (zh) |
KR (1) | KR101115066B1 (zh) |
CN (1) | CN100432932C (zh) |
HK (1) | HK1103817A1 (zh) |
WO (1) | WO2005050441A1 (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101904105A (zh) * | 2007-10-17 | 2010-12-01 | 惠普开发有限公司 | 在更新期间使用高效的块备份和块恢复的移动手持送受话器 |
CN101127960B (zh) * | 2007-09-20 | 2011-05-11 | 中兴通讯股份有限公司 | 一种电子业务指南的差异性更新的系统及方法 |
CN102216936A (zh) * | 2008-06-27 | 2011-10-12 | 微软公司 | 已声明的起源策略 |
CN102479093A (zh) * | 2010-11-25 | 2012-05-30 | 英业达股份有限公司 | 提供验证并更新原始文件与注册表的软件安装系统及方法 |
CN102508680A (zh) * | 2011-11-09 | 2012-06-20 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的音频参数自动更新方法及系统 |
US8468515B2 (en) | 2000-11-17 | 2013-06-18 | Hewlett-Packard Development Company, L.P. | Initialization and update of software and/or firmware in electronic devices |
US8479189B2 (en) | 2000-11-17 | 2013-07-02 | Hewlett-Packard Development Company, L.P. | Pattern detection preprocessor in an electronic device update generation system |
US8526940B1 (en) | 2004-08-17 | 2013-09-03 | Palm, Inc. | Centralized rules repository for smart phone customer care |
US8555273B1 (en) | 2003-09-17 | 2013-10-08 | Palm. Inc. | Network for updating electronic devices |
US8578361B2 (en) | 2004-04-21 | 2013-11-05 | Palm, Inc. | Updating an electronic device with update agent code |
US8752044B2 (en) | 2006-07-27 | 2014-06-10 | Qualcomm Incorporated | User experience and dependency management in a mobile device |
CN104125276A (zh) * | 2014-07-21 | 2014-10-29 | 中兴通讯股份有限公司 | 升级方法及装置 |
US8893110B2 (en) | 2006-06-08 | 2014-11-18 | Qualcomm Incorporated | Device management in a network |
CN104216736A (zh) * | 2014-08-14 | 2014-12-17 | 小米科技有限责任公司 | 增量升级方法、装置及终端设备 |
CN105045631A (zh) * | 2015-07-30 | 2015-11-11 | 北京奇虎科技有限公司 | 一种升级客户端侧应用程序的方法和装置 |
CN105589718A (zh) * | 2015-12-18 | 2016-05-18 | 深圳市万普拉斯科技有限公司 | 智能设备的系统更新方法与更新装置 |
CN105677375A (zh) * | 2014-11-18 | 2016-06-15 | 中兴通讯股份有限公司 | 升级控制设备、终端、终端升级方法及系统 |
CN106055930A (zh) * | 2010-11-05 | 2016-10-26 | 交互数字专利控股公司 | 设备检验和遇险指示 |
CN106161336A (zh) * | 2015-03-25 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种信息更新方法、装置及系统 |
CN107005528A (zh) * | 2014-11-12 | 2017-08-01 | 瑞典爱立信有限公司 | 用于无线频谱使用的无线设备硬件安全系统 |
CN107844318A (zh) * | 2017-12-11 | 2018-03-27 | 维沃移动通信有限公司 | 一种操作系统的升级方法及移动终端和服务器 |
CN109073396A (zh) * | 2016-05-06 | 2018-12-21 | 赫尔环球有限公司 | 拼接混合导航中的混合版本的地图图块进行部分地图更新 |
CN109831323A (zh) * | 2019-01-15 | 2019-05-31 | 网宿科技股份有限公司 | 服务器信息的管理方法、管理系统及服务器 |
CN114900424A (zh) * | 2022-05-27 | 2022-08-12 | 网易(杭州)网络有限公司 | 数据热修复方法、装置、电子设备及存储介质 |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005055055A1 (ja) * | 2003-12-05 | 2005-06-16 | Fujitsu Limited | データ管理システム,データ管理装置,データ管理方法,データ供給システム,データ管理プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体 |
JP4576130B2 (ja) * | 2004-02-12 | 2010-11-04 | パイオニア株式会社 | 通信系アプリケーションプログラムのバージョン更新方法及びそのプログラム |
WO2006053228A2 (en) * | 2004-11-10 | 2006-05-18 | Lehman Brothers Inc. | Methods and system for metering software |
TWI255420B (en) * | 2004-12-22 | 2006-05-21 | Mitac Technology Corp | Software package system |
US20060223496A1 (en) * | 2005-03-31 | 2006-10-05 | Lucent Technologies Inc. | System and method for detection of mobile handset software corruption |
US7926033B2 (en) * | 2005-05-27 | 2011-04-12 | Cisco Technology, Inc. | Method for supporting new network element software versions in an element management system without upgrading |
US7907531B2 (en) * | 2005-06-13 | 2011-03-15 | Qualcomm Incorporated | Apparatus and methods for managing firmware verification on a wireless device |
CA2513019A1 (en) * | 2005-07-22 | 2007-01-22 | Research In Motion Limited | A method for communicating state information between a server and a mobile device browser with version handling |
CA2513018A1 (en) * | 2005-07-22 | 2007-01-22 | Research In Motion Limited | Method for training a proxy server for content delivery based on communication of state information from a mobile device browser |
CA2513022A1 (en) * | 2005-07-22 | 2007-01-22 | Research In Motion Limited | System and method for communicating state management between a browser user-agent and a mobile data server |
CA2513016A1 (en) * | 2005-07-22 | 2007-01-22 | Research In Motion Limited | A secure method of synchronizing cache contents of a mobile browser with a proxy server |
CA2513010A1 (en) * | 2005-07-22 | 2007-01-22 | Research In Motion Limited | A method for detecting state changes between data stored in a first computing device and data retrieved from a second computing device |
CA2513014A1 (en) * | 2005-07-22 | 2007-01-22 | Research In Motion Limited | A method of controlling delivery of multi-part content from an origin server to a mobile device browser via a proxy server |
WO2007012662A1 (fr) * | 2005-07-28 | 2007-02-01 | Gemplus | Telechargement de donnees initie par des objets communicants portables pendant une campagne |
FR2889326A1 (fr) * | 2005-07-28 | 2007-02-02 | Gemplus Sa | Telechargement de donnees initie par des objets communicants portables pendant une campagne |
WO2007023497A1 (en) * | 2005-08-23 | 2007-03-01 | Red Bend Ltd. | Method and system for in-place updating content stored in a storage device |
DE102005059319A1 (de) * | 2005-12-09 | 2007-06-14 | Robert Bosch Gmbh | Verfahren zum Betreiben einer Einrichtung |
DE602005025385D1 (de) | 2005-12-20 | 2011-01-27 | Ericsson Telefon Ab L M | Erstellung inkrementeller Programmaktualisierungen |
FR2895111B1 (fr) * | 2005-12-21 | 2008-02-15 | Gl Trade Sa | Diffusion de donnees par groupement |
US7546492B2 (en) * | 2005-12-22 | 2009-06-09 | Sony Corporation | Remotely repairing files by hierarchical and segmented cyclic redundancy checks |
KR101426710B1 (ko) * | 2006-07-14 | 2014-09-23 | 삼성전자주식회사 | 휴대단말기의 버전정보 갱신 장치 및 방법 |
US7809936B2 (en) * | 2006-08-02 | 2010-10-05 | Freescale Semiconductor, Inc. | Method and apparatus for reconfiguring a remote device |
KR20080025957A (ko) * | 2006-09-19 | 2008-03-24 | 삼성전자주식회사 | 휴대용 단말기에서 소프트웨어를 업그레이드하기 위한 장치및 방법 |
JP4997373B2 (ja) * | 2006-10-31 | 2012-08-08 | ティーティーアイ インベンションズ シー リミテッド ライアビリティ カンパニー | 暗号ハッシュを用いたウィルス位置決定法 |
US8055247B1 (en) * | 2006-12-21 | 2011-11-08 | Sprint Communications Company L.P. | Mobile audible data services |
EP1956482B1 (en) * | 2007-02-09 | 2011-08-17 | Telefonaktiebolaget LM Ericsson | Generating delta updates for a processing device |
DE102007007481A1 (de) | 2007-02-15 | 2008-08-21 | Giesecke & Devrient Gmbh | Verfahren zur Analyse einer Softwarekonfiguration eines tragbaren Datenträgers |
WO2008114454A1 (ja) * | 2007-03-20 | 2008-09-25 | Fujitsu Limited | 更新システム、プログラム実行装置及びコンピュータプログラム |
WO2008153416A1 (en) * | 2007-06-15 | 2008-12-18 | Murray Mcgovern | Mobile device dynamic update |
US8413129B1 (en) * | 2007-08-17 | 2013-04-02 | Mcafee, Inc. | Application repair system, method, and computer program product for generating an alert based on information describing at least one update |
US8539471B2 (en) | 2007-12-13 | 2013-09-17 | Telefonaktiebolaget L M Ericsson (Publ) | Updating firmware of an electronic device |
EP3346669A1 (en) | 2008-01-18 | 2018-07-11 | Interdigital Patent Holdings, Inc. | Method and apparatus for enabling machine to machine communication |
US20090260004A1 (en) * | 2008-04-10 | 2009-10-15 | Palm, Inc. | Computer program updates for mobile computing device |
KR101607363B1 (ko) | 2009-03-05 | 2016-03-29 | 인터디지탈 패튼 홀딩스, 인크 | H(e)NB 무결성 검증 및 확인을 위한 방법 및 장치 |
WO2010102259A2 (en) | 2009-03-06 | 2010-09-10 | Interdigital Patent Holdings, Inc. | Platform validation and management of wireless devices |
JP5225163B2 (ja) * | 2009-03-06 | 2013-07-03 | 三菱電機株式会社 | データ更新装置、データ更新装置のデータ更新方法およびデータ更新プログラム |
JP5545432B2 (ja) * | 2010-02-05 | 2014-07-09 | 日本電気株式会社 | Biosアップデート方法、biosアップデート装置及びbiosアップデートプログラム |
CN102196400A (zh) * | 2010-03-02 | 2011-09-21 | 高通股份有限公司 | 移动通信终端信息更新的方法和装置 |
US9497290B2 (en) * | 2010-06-14 | 2016-11-15 | Blackberry Limited | Media presentation description delta file for HTTP streaming |
US20110320537A1 (en) * | 2010-06-24 | 2011-12-29 | Alcatel-Lucent Canada | One-way information transfer for performing secure information updates |
US9158605B2 (en) | 2010-12-01 | 2015-10-13 | Microsoft Technology Licensing, Llc | Method, system and device for validating repair files and repairing corrupt software |
US8650439B2 (en) * | 2010-12-07 | 2014-02-11 | Samsung Electronics Co., Ltd. | Apparatus and method for fault tolerant FOTA update |
GB201021875D0 (en) * | 2010-12-23 | 2011-02-02 | Antix Labs Ltd | Methods of distributing software |
US8924777B2 (en) * | 2010-12-23 | 2014-12-30 | Samsung Electronics Co., Ltd. | Condensed FOTA backup |
CN102413019A (zh) * | 2011-12-21 | 2012-04-11 | 广东宏海讯科科技发展有限公司 | 一种基于云计算的网络实时监控系统方法 |
US9183393B2 (en) * | 2012-01-12 | 2015-11-10 | Facebook, Inc. | Multiple system images for over-the-air updates |
CN102722386B (zh) * | 2012-05-28 | 2015-09-30 | 华为终端有限公司 | 生成无线固件升级包的方法和装置 |
CN102902562B (zh) * | 2012-09-17 | 2018-04-27 | 中兴通讯股份有限公司 | 一种组件式多模网管补丁包安装方法及装置 |
KR20140077435A (ko) * | 2012-12-14 | 2014-06-24 | 삼성전자주식회사 | 모바일 단말의 소프트웨어 업데이트 서비스 방법 및 장치 |
CN103412777A (zh) * | 2013-08-13 | 2013-11-27 | 珠海金山网络游戏科技有限公司 | 一种将打包文件同步到指定版本的更新方法及系统 |
US9507609B2 (en) | 2013-09-29 | 2016-11-29 | Taplytics Inc. | System and method for developing an application |
EP3026557A1 (en) * | 2014-11-28 | 2016-06-01 | Thomson Licensing | Method and device for providing verifying application integrity |
EP3026558A1 (en) * | 2014-11-28 | 2016-06-01 | Thomson Licensing | Method and device for providing verifying application integrity |
WO2017039588A1 (en) * | 2015-08-28 | 2017-03-09 | Hewlett Packard Enterprise Development Lp | Software patch fix based on checksums |
US11475170B2 (en) * | 2019-05-28 | 2022-10-18 | Nuvoton Technology Corporation | System and method for correction of memory errors |
JP7287125B2 (ja) * | 2019-06-03 | 2023-06-06 | コニカミノルタ株式会社 | 情報処理装置、ファイル不具合対処方法、およびコンピュータプログラム |
CN113157305B (zh) * | 2020-01-23 | 2022-04-05 | 华为技术有限公司 | 一种软件升级方法及设备 |
US20230006833A1 (en) * | 2021-07-01 | 2023-01-05 | Lenovo (Singapore) Pte. Ltd. | Ranked hash validation for new software update file |
CN115167902B (zh) * | 2022-07-12 | 2023-03-28 | 广东全芯半导体有限公司 | 一种tf卡智能升级方法及装置 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5347579A (en) * | 1989-07-05 | 1994-09-13 | Blandford Robert R | Personal computer diary |
US5699509A (en) * | 1995-06-07 | 1997-12-16 | Abbott Laboratories | Method and system for using inverted data to detect corrupt data |
US5881236A (en) * | 1996-04-26 | 1999-03-09 | Hewlett-Packard Company | System for installation of software on a remote computer system over a network using checksums and password protection |
JPH10221736A (ja) * | 1996-12-04 | 1998-08-21 | Ritsuku:Kk | シャッター装置およびカメラ装置 |
EP0907285A1 (en) * | 1997-10-03 | 1999-04-07 | CANAL+ Société Anonyme | Downloading data |
US6018747A (en) * | 1997-11-26 | 2000-01-25 | International Business Machines Corporation | Method for generating and reconstructing in-place delta files |
US6330715B1 (en) * | 1998-05-19 | 2001-12-11 | Nortel Networks Limited | Method and apparatus for managing software in a network system |
US6516327B1 (en) * | 1998-12-24 | 2003-02-04 | International Business Machines Corporation | System and method for synchronizing data in multiple databases |
US6425125B1 (en) * | 1999-03-30 | 2002-07-23 | Microsoft Corporation | System and method for upgrading client software |
US6804778B1 (en) * | 1999-04-15 | 2004-10-12 | Gilian Technologies, Ltd. | Data quality assurance |
US6289455B1 (en) * | 1999-09-02 | 2001-09-11 | Crypotography Research, Inc. | Method and apparatus for preventing piracy of digital content |
US6694336B1 (en) * | 2000-01-25 | 2004-02-17 | Fusionone, Inc. | Data transfer and synchronization system |
JP2001356925A (ja) * | 2000-06-12 | 2001-12-26 | Nec Corp | 携帯電話機 |
US20050055382A1 (en) * | 2000-06-28 | 2005-03-10 | Lounas Ferrat | Universal synchronization |
EP1168165A3 (en) * | 2000-06-30 | 2005-02-16 | International Business Machines Corporation | Device and method for updating code |
GB0017336D0 (en) * | 2000-07-15 | 2000-08-30 | Ibm | Preferable modes of software package deployment |
JP2002236590A (ja) * | 2000-12-08 | 2002-08-23 | Seiko Epson Corp | ソフトウェアのインストール方法 |
US20020099726A1 (en) * | 2001-01-23 | 2002-07-25 | International Business Machines Corporation | Method and system for distribution of file updates |
JP3955443B2 (ja) * | 2001-03-06 | 2007-08-08 | 株式会社エヌ・ティ・ティ・ドコモ | 無線通信端末、ソフトウェア提供システム、ソフトウェア更新方法、ソフトウェア提供方法、プログラムおよび記録媒体 |
JP2003006020A (ja) * | 2001-06-26 | 2003-01-10 | Hitachi Ltd | 複製データベースアクセス装置とそのアクセス方法 |
US7203886B2 (en) * | 2002-03-27 | 2007-04-10 | Intel Corporation | Detecting and correcting corrupted memory cells in a memory |
JP2003296108A (ja) * | 2002-03-29 | 2003-10-17 | Fujitsu Ltd | 管理プログラム、および方法 |
US7085988B1 (en) * | 2002-04-08 | 2006-08-01 | Maxtor Corporation | Hashing system utilizing error correction coding techniques |
ATE479145T1 (de) * | 2003-07-07 | 2010-09-15 | Red Bend Ltd | Verfahren und system zum aktualisieren von versionen von in einer speichereinrichtung gespeichertem inhalt |
US7546492B2 (en) * | 2005-12-22 | 2009-06-09 | Sony Corporation | Remotely repairing files by hierarchical and segmented cyclic redundancy checks |
-
2003
- 2003-11-19 EP EP03388075.8A patent/EP1533695B1/en not_active Expired - Lifetime
-
2004
- 2004-10-14 CN CNB2004800404438A patent/CN100432932C/zh not_active Expired - Fee Related
- 2004-10-14 JP JP2006540205A patent/JP4980064B2/ja not_active Expired - Fee Related
- 2004-10-14 WO PCT/EP2004/011500 patent/WO2005050441A1/en active Application Filing
- 2004-10-14 US US10/595,984 patent/US20070150524A1/en not_active Abandoned
- 2004-10-14 KR KR1020067008937A patent/KR101115066B1/ko active IP Right Grant
-
2007
- 2007-07-26 HK HK07108128.1A patent/HK1103817A1/xx not_active IP Right Cessation
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8468515B2 (en) | 2000-11-17 | 2013-06-18 | Hewlett-Packard Development Company, L.P. | Initialization and update of software and/or firmware in electronic devices |
US8479189B2 (en) | 2000-11-17 | 2013-07-02 | Hewlett-Packard Development Company, L.P. | Pattern detection preprocessor in an electronic device update generation system |
US8555273B1 (en) | 2003-09-17 | 2013-10-08 | Palm. Inc. | Network for updating electronic devices |
US8578361B2 (en) | 2004-04-21 | 2013-11-05 | Palm, Inc. | Updating an electronic device with update agent code |
US8526940B1 (en) | 2004-08-17 | 2013-09-03 | Palm, Inc. | Centralized rules repository for smart phone customer care |
US8893110B2 (en) | 2006-06-08 | 2014-11-18 | Qualcomm Incorporated | Device management in a network |
US8752044B2 (en) | 2006-07-27 | 2014-06-10 | Qualcomm Incorporated | User experience and dependency management in a mobile device |
US9081638B2 (en) | 2006-07-27 | 2015-07-14 | Qualcomm Incorporated | User experience and dependency management in a mobile device |
CN101127960B (zh) * | 2007-09-20 | 2011-05-11 | 中兴通讯股份有限公司 | 一种电子业务指南的差异性更新的系统及方法 |
CN101904105B (zh) * | 2007-10-17 | 2016-08-17 | 高通股份有限公司 | 在更新期间使用高效的块备份和块恢复的移动手持送受话器 |
CN101904105A (zh) * | 2007-10-17 | 2010-12-01 | 惠普开发有限公司 | 在更新期间使用高效的块备份和块恢复的移动手持送受话器 |
CN102216936A (zh) * | 2008-06-27 | 2011-10-12 | 微软公司 | 已声明的起源策略 |
CN106055930A (zh) * | 2010-11-05 | 2016-10-26 | 交互数字专利控股公司 | 设备检验和遇险指示 |
CN102479093A (zh) * | 2010-11-25 | 2012-05-30 | 英业达股份有限公司 | 提供验证并更新原始文件与注册表的软件安装系统及方法 |
CN102508680A (zh) * | 2011-11-09 | 2012-06-20 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的音频参数自动更新方法及系统 |
CN102508680B (zh) * | 2011-11-09 | 2014-07-30 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的音频参数自动更新方法及系统 |
CN104125276A (zh) * | 2014-07-21 | 2014-10-29 | 中兴通讯股份有限公司 | 升级方法及装置 |
CN104216736A (zh) * | 2014-08-14 | 2014-12-17 | 小米科技有限责任公司 | 增量升级方法、装置及终端设备 |
CN107005528A (zh) * | 2014-11-12 | 2017-08-01 | 瑞典爱立信有限公司 | 用于无线频谱使用的无线设备硬件安全系统 |
CN105677375A (zh) * | 2014-11-18 | 2016-06-15 | 中兴通讯股份有限公司 | 升级控制设备、终端、终端升级方法及系统 |
CN106161336A (zh) * | 2015-03-25 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种信息更新方法、装置及系统 |
CN105045631A (zh) * | 2015-07-30 | 2015-11-11 | 北京奇虎科技有限公司 | 一种升级客户端侧应用程序的方法和装置 |
CN105589718A (zh) * | 2015-12-18 | 2016-05-18 | 深圳市万普拉斯科技有限公司 | 智能设备的系统更新方法与更新装置 |
CN109073396A (zh) * | 2016-05-06 | 2018-12-21 | 赫尔环球有限公司 | 拼接混合导航中的混合版本的地图图块进行部分地图更新 |
CN107844318A (zh) * | 2017-12-11 | 2018-03-27 | 维沃移动通信有限公司 | 一种操作系统的升级方法及移动终端和服务器 |
CN107844318B (zh) * | 2017-12-11 | 2021-08-24 | 维沃移动通信有限公司 | 一种操作系统的升级方法及移动终端和服务器 |
CN109831323A (zh) * | 2019-01-15 | 2019-05-31 | 网宿科技股份有限公司 | 服务器信息的管理方法、管理系统及服务器 |
CN114900424A (zh) * | 2022-05-27 | 2022-08-12 | 网易(杭州)网络有限公司 | 数据热修复方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP1533695A1 (en) | 2005-05-25 |
KR101115066B1 (ko) | 2012-02-28 |
JP4980064B2 (ja) | 2012-07-18 |
JP2007515708A (ja) | 2007-06-14 |
US20070150524A1 (en) | 2007-06-28 |
WO2005050441A1 (en) | 2005-06-02 |
KR20060118464A (ko) | 2006-11-23 |
EP1533695B1 (en) | 2013-08-07 |
HK1103817A1 (en) | 2007-12-28 |
CN100432932C (zh) | 2008-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1906574A (zh) | 更新移动终端中的数据 | |
US8001385B2 (en) | Method and apparatus for flash updates with secure flash | |
CN112486554B (zh) | 一种车载联网终端软件升级方法 | |
US9652632B2 (en) | Method and system for repairing file at user terminal | |
CN101077027A (zh) | 更新移动终端中的配置参数 | |
US20130024696A1 (en) | Method and apparatus for flash updates with secure flash | |
CN1825282A (zh) | 公布固件组件状态并更新固件组件 | |
CN1826000A (zh) | 便携式信息终端和数据保护方法 | |
JP5572573B2 (ja) | 携帯端末、プログラム、および通信システム | |
CN1617492A (zh) | 提供服务的系统和方法 | |
US7707409B2 (en) | Method and system for authenticating software | |
JP2006508432A (ja) | アップグレード中に発生した障害や誤りからの自動復元を含む電子ファイルのアップグレード | |
US11138295B2 (en) | Method for securely updating firmware components and docking station using the same | |
CN1946230A (zh) | 手机防盗的方法 | |
US10708063B2 (en) | Security hardening for a Wi-Fi router | |
US11755741B2 (en) | Trusted boot-loader authentication | |
US20120231763A1 (en) | Method and system for antivirus on a mobile device by sim card | |
WO2020177116A1 (zh) | 仿冒app识别方法及装置 | |
KR100453504B1 (ko) | 소프트웨어 인증 방법 및 시스템 | |
CN114675865A (zh) | 空中下载技术升级方法、装置、存储介质及终端设备 | |
CN111506897B (zh) | 数据处理方法和装置 | |
US8769341B2 (en) | System and method for transmitting data using incremental remediation | |
CN111046389A (zh) | 固件组件安全更新的方法以及用以实施的携行计算机站 | |
TW202014879A (zh) | 韌體組件安全更新的方法以及用以實施的攜行電腦站 | |
CN101304427B (zh) | 一种设置最大传输单元值的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1103817 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1103817 Country of ref document: HK |
|
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: 20081112 |