CN1825282A - 公布固件组件状态并更新固件组件 - Google Patents

公布固件组件状态并更新固件组件 Download PDF

Info

Publication number
CN1825282A
CN1825282A CNA2006100043214A CN200610004321A CN1825282A CN 1825282 A CN1825282 A CN 1825282A CN A2006100043214 A CNA2006100043214 A CN A2006100043214A CN 200610004321 A CN200610004321 A CN 200610004321A CN 1825282 A CN1825282 A CN 1825282A
Authority
CN
China
Prior art keywords
mobile computing
computing device
upgating object
update
assembly
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
CNA2006100043214A
Other languages
English (en)
Other versions
CN1825282B (zh
Inventor
J·M·鲍尔
Y·朱
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1825282A publication Critical patent/CN1825282A/zh
Application granted granted Critical
Publication of CN1825282B publication Critical patent/CN1825282B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/902Application using ai with detail of the ai system
    • Y10S706/934Information retrieval or Information management

Abstract

创建一个只读管理对象,它包含有涉及可被更新的固件组件的信息。该信息包括组件标识符、组件版本和该组件的用户友好名。该信息还包括状态标识符,它表示了包括有固件组件的设备的状态。来自该管理对象的信息可作为固件更新进程的部分被其他组件使用。动态地创建一个更新管理对象以把更新分组递交给所述设备。所述更新分组可以包括多个固件组件的更新。

Description

公布固件组件状态并更新固件组件
技术领域
相关申请
本发明要求遵守35U.S.C.§119(e)的于2005年2月1日提交的标题为“MEANS FOR PUBLISHING THE STATUS OF AND UPDATING FIRMWARECOMPONENTS”的美国临时专利申请(序列号为No.60/648,887)的优先权。该申请全文合并在此作为参考。
背景技术
计算设备,特别是诸如膝上型计算机、个人数字助理(PDA)和蜂窝电话的便携计算设备,通常都包括一组计算机可读指令或代码。这些指令通常被存储在计算设备的非易失性存储区域内,诸如闪存或只读存储器(ROM)。通过在诸如ROM的非易失性存储区域内存储指令,就可在即使该设备的电源供应断开的情况下仍然保存该设备的操作指令。在诸如ROM那样的非易失性存储器中存储的代码有时称为固件。
这些计算设备的生产商、拥有者和用户有时需要或期望改变存储在ROM内的代码。做出这些改变的原因包括改变功能或安全,或者校正代码中的缺陷。为参与这一任务,业已开发了诸如版本编号、模块化和通信协议的方法和设备。然而由于存在不同的和潜在的不兼容的更新固件的方法和设备使得执行更新的任务变得复杂。现有用于更新固件的系统和方法不考虑固件更新系统或实现的根本不同,并且不能够为跨越不同系统或实现的固件提供统一的更新方案。
发明内容
下文给出了一个简化概要以提供基本的理解。本概述不是一个广泛的综述。它即不旨在识别关键要素也不想要描绘范围。它唯一的目的是以简化的形式提出某些概念以作为后续详细描述的序言。此外,仅为了方便提供在此使用的段落标题并且不应该认为这些标题具有任何限制意义。
创建一个只读管理对象,它包含有涉及可更新的固件组件的信息。该信息包括组件ID、组件版本和该组件的用户友好名。该信息还包括状态标识符,它表示了包括有固件组件的设备的状态。来自该管理对象的信息可作为固件更新进程的部分被其他组件使用。
创建一个将被发送至移动计算设备的更新对象。该更新对象包括涉及可用固件组件更新分组的信息,并且通常包括版本、名称和位置信息。通常以统一源标识符的形式提供位置信息。一个更新对象可以包括关于多于一个的可用固件组件更新分组的信息。
一个更新服务器可以访问来自管理对象的信息并且识别可以用来更新移动计算设备固件的固件组件更新分组。该更新服务器创建一个更新对象并且把该对象发送给所述移动计算设备。包含在该更新对象内的信息为所述移动计算设备提供所述固件组件更新分组的一个位置。
所揭示和描述的组件和方法包括将在随后详尽描述并在权利要求中特别指出的特性。随后的描述和附图将详细阐述特定的典型方面。然而这些方面仅指出了使用所揭示的组件和方法的少数方法。所揭示和描述的组件和方法的具体实现可以包括这些方面以及等效物的部分、多数或全部。通过结合附图阅读随后的详细描述,就使得在此给出的特定实现和实例的变化变得显而易见。
附图说明
图1是固件更新系统的系统框图。
图2是用于一管理对象的方案示意图。
图3是用于一更新对象的方案示意图。
图4是包括有定位特征的ROM更新系统的系统框图。
图5是基于对等的ROM更新系统的系统框图。
图6是安全ROM更新系统的系统框图。
图7是描述一种可使用的方法中的动作的流程图。
图8是描述一种可使用的方法中的动作的流程图。
图9是描述一种可使用的方法的过程的流程图。
图10是描述一种可使用的方法的过程的流程图。
图11示出了一种示例的网络环境。
图12示出了一种示例的操作环境。
具体实施方式
在本申请中使用的术语“组件”、“系统”和“模块”等等意在指涉及计算机的实体,诸如硬件、软件(例如在执行中的软件)和/或固件。例如,组件可以是在处理器上运行的进程、处理器、对象、可执行码、程序和/或计算机。而且在服务器上运行的应用程序和服务器本身都是组件。在一进程内可有一个或多个组件并且一个组件可以位于一个计算机上和/或分布在两个或更多的计算机之间。
对揭示的组件和方法参考附图加以描述,其中类似的编号始终用于表示类似的要素。在随后的描述中,出于解释的目的,为了提供对揭示主题的透彻理解阐述了许多具体的细节。尽管如此,可以显见能够省略这些具体细节中的某一些或者将其在具体实现中与其他细节相结合。在其他实例中,将以框图的形式示出特定的结构和设备以方便描述。此外,虽然所阐述的具体实施例可以使用与客户机/服务器相一致的术语或者甚至成为客户机/服务器实现的实例,但是本领域普通技术人员应该认识到客户机和服务器之间的角色是可以颠倒的,并且揭示并描述的组件和方法不限于客户机/服务器体系结构并可方便地用于特别包括对等(P2P)体系结构的其他的体系结构而不背离揭示并描述的组件和方法的精神或范围。此外,应该认识到虽然在此呈现的特定实施例包括或参考了特定的组件,但是在此揭示并描述的组件和方法的实现并不限于这些特定的组件并且可以用于其他的场合。
图1是根据本发明一个方面的固件更新系统100的系统框图。该系统包括访问固件代码数据存储120的更新服务器110。该更新服务器可以是为提供固件更新而特别设计的专用服务器或者可以是诸如Web服务器的更通用的信息服务器的部分。固件代码数据存储120可包括涉及固件代码版本的信息以及任何更新代码版本本身。更新服务器110可连接至包括有无线通信组件的网络130。通信信道140把更新服务器110耦合至网络130并且可以是有线或无线信道。
移动计算设备150包括固件160形式的机器可读指令。移动计算设备150还可包括无线通信组件,诸如发射机、接收机或组合收发机等等。移动计算设备150是通过无线通信信道170耦合至网络130。无线通信信道170可以是基于IEEE802.11x(WiFi)的无线连接或者可以是另一个合适的无线通信信道。这些预期的无线信道包括IEEE 802.16(WiMax)、蓝牙、红外线(IrDa)、码分多址(CDMA)、时分多址(TDMA)以及蜂窝电话连接的全球移动通信系统(GSM)。
下面是将在操作中的固件更新系统100的一个实例。移动计算设备150建立与网络130的无线连接170。网络130提供与更新服务器110的连接140。更新服务器使用已建立的连接访问关于当前出现在移动计算设备150上的固件160的信息。
更新服务器110将当前安装在移动计算设备150上的固件160的各个组件和存储在固件代码数据存储120内对该设备的固件组件的版本作比较。如果安装在移动计算设备150上的固件160的组件是最新版本,就不采取任何动作。如果存储在固件代码数据存储120内的关于移动计算设备150的至少一个固件组件是存储在移动计算设备150上的固件160的组件的升级更新的版本,则移动计算设备150从服务器上下载该升级或更新版本并代替当前安装的组件。如下将进一步讨论该方案的细节。
通常将固件分成若干数目的独立分组或组件,每一个都可被独立更新、删除或代替。每个分组通常包括分组标识符、版本标识符和更新状态标识符。在简单可能更新方案中,每个描述的固件组件为用户或为更新服务器提供状态信息并且提供用于下载的更新或者在ROM内合适的位置更新或代替特定的组件。尽管如此,固件更新频繁请求更新或替换ROM映像的若干各别区域,正常情况下每个区域都是分开记版本号的。在此方案中,使用标准化实现(诸如由开放移动联盟(OMA)固件更新(FUMO)规范所预见的实现)的更新请求多次下载和更新循环以独立更新所述ROM映像的每个受影响部分。该进程导致固件分组的“不同步,因为在尚未替代其他分组时就已更新了某些分组。
解决方法是拆分来自下载和更新行为的状态。该逻辑拆分准许由移动算子基本结构进行的标准化查询用于在检测需要更新的固件组件,而同时仍然允许对包括拟施加到ROM映像的代码更新的聚合的修补。一个可能的实现包括使用标准化移动算子基本结构。在此方案中,能够公布只读管理对象用于描述可被更新的ROM映像或固件组件的区域。可以按照图2所示的方案实现所示管理对象。
图2描述了用于只读管理对象200的方案。此类对象可被管理作为诸如OMA FUMO设备管理树之类的设备管理树的部分。只读管理对象200包括在根层处的ROMPackage节点210。根据此特定方案,只可以有一个根层节点。本领域普通技术人员将认识到在根层具有不同数目节点的其他方案也是可行的。
在此实例中,ROMPackage节点210是在组成ROM分组标识符以及版本和名称信息的根层处的父节点,其中所述ROM分组标识符是全球唯一标识符(“GUID”)。所述GUID可以是文字数字标识符、二进制标识符、十六进制标识符或其他合适的标识符。正如在此具体方案中所示,ROMPackage节点210被要求并限定于位于根层的单个实例。应该注意到对该方案进一步的讨论有时会涉及以某些方式要求和限定的某些组件。当做出该参考时,这些参考仅用于该特定的实例而非意味着不允许偏离提供作为实例的特定实现。
下一层包括至少一个包含有分组标识符的x+节点220。所述分组标识符可以是文字数字标识符、二进制标识符、十六进制标识符或其他合适的标识符。为了明确起见仅示出了单个x+节点220。尽管如此,多个x+节点220不仅是可能的,还是可以现象的。在此实例中的每个x+节点220都包括一个PkgVersion节点230、一个PkgName节点240以及一个State节点250。如下将进一步讨论这些组件。
每个x+节点220都表示一个特定ROM分组的标识符。包括在x+节点220内的值是GUID,它可以是文字数字标识符、二进制标识符、十六进制标识符或其他合适的标识符。x+节点220用于组合包括关于其涉及的ROM映像的进一步描述信息的其他更低层节点。更具体地,每个x+节点220可以作为一个标识符用于除了完整映像之外可被处理成单个或可分单元的ROM映像的离散部分。
PkgVersion节点230包括关于所述ROM映像的一部分(更具体地,关于所述ROM映像的一个分组)的版本信息。能够以任何合适的格式提供版本信息,更具体地可以包括文字数字串、二进制标识符或者十六进制标识符。在此特定实施例中,在由x+节点220指定的一个组中仅允许一个PkgVersion节点230。尽管如此,本领域普通技术人员仍可轻易地认识到其他方案也是可行的。这些构想的方案可以是在一个分组可以代替多于一个现存分组的情况下包括了多个版本标识符的那些方案,以及包括了子版本或者特殊版本(例如具有诸如游戏或视频会议之类特定用途的版本)的那些方案。在具有子版本或特殊版本组件的情况下,可以使用与子版本或特殊版本相关联的特殊格式标识符。附加地或可选地,可以扩展提出的实例方案以包括有关于子版本或特殊版本标识的节点。
在此给出的方案的一大优点在于它的可扩展性。在此给出的实例方案提供了可基于其进行进一步发展(包括扩展发展)的基础层框架。应该意识到能够以普遍可用的、由高度按实施情况确定的或介于两者之间的多种方式扩展该基础方案。
PkgName节点240包括所述ROM分组的名称。在此实例中,所述名称是人类可读的,并且是一个字符或文字数字串。然而能以另外可选的方式表示所述ROM分组的名称,具体地包括非人类可读的文字数字标识符、二进制标识符、十六进制标识符或其他合适的标识符。虽然在此实施例中为每个x+节点220仅提供了一个PkgName节点240,也是在具体实现中也可使用多于一个的节点。
State节点250包括关于分组的移动设备状态的值。该值可以是由按实现情况确定的并且可用于为该移动计算设备存储状态信息。例如,能够在State节点250内设置可以指明更新成功并且旧有数据已被删除的值。类似地,可以设置指明了更新尝试已失败并且保留旧有数据的值。可以创建并使用多种其他状态描述符和值。
图3是根据本发明的一个方面的更新对象300的方案示意图。在此实例中,依赖被施加的具体更新在运行时间动态地创建一个更新对象300的实例。如上参考图2讨论的对象方案,也可根据OMA FUMO系统或其他合适的系统来处理该更新对象。该对象300包括在根层处的FwUpdate节点310。根据此特定方案,只可以有一个根层节点。尽管如此,在其他实施例中也可使用多于一个根层的节点。本领域普通技术人员应该认识到,为了具体实施的特定需要如何修改给出的方案。
下一层包括一个包含有分组标识符的x*节点320。为了明确起见仅示出了单个x*节点320。尽管如此,仍可想像能够并且将要使用多个x*节点320。在此实例中,x*节点320的分组标识符是映像更新分组的GUID。所述GUID可以是文字数字标识符、二进制标识符、十六进制标识符或其他合适的标识符。
每个x*节点320都表示ROM映像的一个更新分组。所表示的更新分组可以包括用于更新多个ROM分组的信息。
每个x*节点320都包括DownloadAndUpdate节点330,其自身包含PkgURL节点340。所述DownloadAndUpdate节点330可包括布尔数据。PkgURL节点340可以包括诸如统一资源定位器(“URL”)的位置信息用于拟被下载并应用作为固件更新的分组。
x*节点320还可包括PkgVersion节点350。PkgVersion节点350包括用于映像更新分组的版本信息。该版本信息可以是人类可读的(诸如字符串),或者可以是诸如二进制码的机器可读格式。其他合适的格式也可用于该版本信息。此外,子版本或者特殊版本信息可被包括作为提出的方案的部分或者作为该方案的扩展。
x*节点320还可包括一个PkgName节点360。在此实例中,PkgName节点360包括ROM分组的用户友好名称。参考在此给出的其他实例,能够以其自身根据特定实现而变化的各种格式表示该名称。
State节点370可被附加包括在x*节点320内。State节点370包括在尝试更新ROM分组之后对所述移动设备的状态值。该值可以是由实现决定的并且可用于为该移动计算设备存储状态信息。例如,能够在State节点370内设置可以指明更新成功并且旧有数据已被删除的值。类似地,可以设置指明更新尝试已失败并且保留旧有数据的值。可以创建并使用多种其他的描述符和值。
图4是根据本发明的另一个方面包括有定位特征的ROM更新系统400的系统框图。定位通常描述改编计算设备的组件(尤其包括软件字符)以适应反映特定地理位置的需要的过程。定位通常涉及诸如使用特定领域内的语言改写软件的事件。正如在此使用的,定位还包括改变操作层以使得计算设备在一个地理区域内的操作与另一个地理区域内的操作不同。
该功能性改变的一个实例发生在通信协议内。移动计算设备可以包括支持多个通信协议的硬件。在美国境内的设备可使用TDMA协议对通信设施进行无线接入。然而在欧洲却主要使用GSM协议。因此,移动计算设备的ROM内的改变能够使得在该移动设备在欧洲工作时使用GSM代替TDMA。
类似地,移动计算设备可以支持IEEE 802.11x(WiFi)通信以及其他通信协议。当该移动计算设备进入WiFi热区或进入由WiFi接入点服务的另一区域时,该移动计算设备可以更新它的ROM以使得该设备使用所述WiFi接入点。在通信协议间进行该切换的其他实例对本领域普通技术人员来说是显而易见的。
其他的实例包括根据地理位置添加或移除(或者类似地,启用或禁用)移动计算设备的功能。在美国,可以使用强有力的加密技术来保证电子通信的安全。对该技术的支持通常不是在每个地理位置上都可用的。该移动计算设备可以通过更新其内部的ROM映像添加或移除(或者启用或禁用)加密特征。该功能性修改的其他实例对本领域普通技术人员来说是显而易见的。
所述ROM更新系统400旨在根据该移动计算设备的地理位置启用对该移动计算设备的ROM映像的更新。ROM更新系统400包括移动计算设备410,后者自身包括被定位固件420。该移动计算设备410可以是蜂窝电话、个人信息管理器、个人数字助理或者其他设备。全球定位系统(GPS)模块430可被耦合至该移动计算设备并且可以访问GPS卫星440。GPS模块430可以使用来自GPS卫星440的信息来确定移动计算设备410的地理位置。
移动计算设备410可以访问网络450。网络450可以是有线或无线网络,尤其可以是因特网。网络450可以连接至更新服务器460。更新服务器可以是专用文件服务器、适用于固件更新任务的Web服务器或者其他合适种类的服务器。然而一旦被实现,所述更新服务器460能够与移动计算设备410通信,特别可以发送更新信息给所述移动计算设备410。
更新服务器460可以访问定位模块470。定位模块470可以使用来自GPS模块430的信息来确定将被送至移动计算设备410的恰当定位信息(诸如被定位的ROM映像或其部分)。更新服务器460可以访问由定位模块470指定来自ROM代码数据存储480的合适ROM组件。所述来自ROM代码数据存储480的ROM组件可由更新服务器460使用网络450发送至移动计算设备410。
揭示和描述的组件(例如与定位或识别任务相连的组件)可以使用各种基于人工智能的方案来执行它的各个方面。例如可以通过神经网络、专家系统、基于规则的处理组件或SVM来进行对被定位ROM组件的识别。此外,当使用多于一个组件时,神经网络其他的基于人工智能的组件可以帮助识别基于预定因素而提供“最适”的被定位的ROM组件。
分类器是把输入属性向量X=(x1,x2,x3,x4,...xn)映射到该输入属于一个分类的置信度的函数,即f(X)=confidence(class)。这一分类可以是使用基于概率和/或统计的分析(例如分解至分析效用和成本)来预测和推断用户期望被自动执行的动作。例如,在ROM组件代替系统的情况下,属性可以是文件描述符,诸如文件名、签名、散列函数、更新代码、兼容性代码、版本号、建立号、发布日期或者从ROM文件中导出的其他特定数据属性,而所述分类是感兴趣的范畴或区域,例如该设备可使用的其他ROM组件的描述符。
支持矢量机(SVM)是一个可采用的分类器的实例。SVM通过在可能的输入空间内寻找超曲面进行操作,其中超曲面试图将触发准则从非触发事件分隔出来。直观地,这就使得对接近但不等同于培训数据的测试数据的分类正确。可以采用其他有向和无向的模型分类方法例如包括如
Figure A20061000432100121
Bayes、Bayesian网络和决策树和提供不同独立模式的概率分类模型。在此使用的分类还可包括用于发展优先权模块的统计回归。
正如可从主题说明中所轻易认识的那样,本主题发明可采用被明确训练(例如通过一般训练数据)或被隐含训练(例如通过观察用户行为,接收外来信息)的分类器。例如,可以通过在分类器构造器和特征选择模块内的学习或训练阶段来配置SVM。这样就可使用分类器自动执行多个函数,包括但不限于确定一设备是否应发送数据。
随后是ROM更新系统400操作的一个实例。移动计算设备410在使用中访问GPS模块430来获取关于其地理位置的信息。为了获取此信息,GPS模块430访问GPS卫星440并且基于来自该GPS卫星的信息计算它的地理位置。移动计算设备也以结合先前附图的上述方案或对象中的一个形式访问关于被定位固件420的信息。
移动计算设备410经由网络450发送关于其地理位置和被定位固件420的信息。该信息由更新服务器460接收。更新服务器460把地理信息以及关于被定位固件420的信息发送给定位模块470。定位模块470使用所述地理信息以及关于被定位固件420的信息来确定替换的被定位ROM组件是否存在以及是否将应用该替换的被定位ROM组件。
如果替换被定位ROM组件存在并且应被应用,则定位模块470把关于该替换的ROM组件的信息提供给更新服务器460。更新服务器460从ROM代码数据存储中获取所述组件并经由网络450发送该组件。移动计算设备410接收来自网络450的替换组件并且使用该替换组件进行对被定位固件420的更新。
图5是根据本发明又一个方面的基于对等的ROM更新系统500的系统框图。该基于对等的ROM更新系统旨在提供一种措施,其中移动通信设备通过该措施在对等的基础上直接从第二移动计算设备中获取替换ROM组件。该对等功能在移动计算设备无法连接网络以获取ROM更新的情况下(诸如当移动计算设备的固件的一部分被破坏或出现故障时等)十分有用。
基于对等的ROM更新系统500包括移动计算设备510和520。每个移动计算设备510和520都包括一组固件530和540。每个移动计算设备510和520还可访问相关联的对等更新管理器550和560。对等更新管理器550和560可以获取关于移动计算设备510和520的固件530和540的描述信息。该描述信息可由对等更新管理器550和560公布给其他移动计算设备。与移动计算设备相关联的对等更新管理器(诸如对等更新管理器550和560)可使用所述公布的信息以确定诸如固件530和540的固件是否应使用该公布的移动计算设备作为源而进行更新。
移动计算设备510和520都还可访问网络570。每个移动计算设备510和520也可使用网络570访问更新服务器580。提供访问更新服务器580作为获取更新另外的或附加的途径。可以料想更新服务器580总是具有用于安装入移动计算设备的固件内的最新版本的ROM组件,但那不是必须的。
也存在那样的情况,更新服务器580可以获取来自移动计算设备的ROM组件以分配给访问该更新服务器的其他移动计算设备。
随后是一个可能操作情况的实例。移动计算设备510使用网络570来访问更新服务器580以获取用于安装入固件530的已更新的ROM组件。更新服务器580确定一更新可用并将该更新发送给移动计算设备510。移动计算设备510使用所述新的组件来更新固件530并且继续其操作。
移动计算设备510使用该对等更新管理器550来公布关于其ROM组件的信息给移动计算设备520。移动计算设备520的对等更新管理器560将由移动计算设备510公布的信息与关于移动计算设备520的固件540的ROM组件的信息相比较。对等更新管理器560使用该信息确定来自所述移动计算设备510的ROM组件的已更新版本是否可用。如果可用,则对等更新管理器560获取所述已更新的组件或者来自移动计算设备510的组件并且更新移动计算设备520的固件540。
图6是根据揭示的本发明的再一个方面的安全ROM更新系统600的系统框图。安全ROM更新系统600旨在提供一个能够保护用于更新移动计算设备固件的ROM组件内容的平台,并且验证这些ROM组件的一个源的等同。可使用许多方法来确保和验证ROM组件。如下将进一步讨论一些实例。
安全ROM更新系统600包括一个更新服务器610。更新服务器610可以访问为该更新服务器610提供安全和认证功能的安全模块620。此安全和认证功能可包括将数字签名应用到电子通信并加密那些电子通信。可利用多个技术以数字地签署或加密电子通信。这些技术包括使用对称私钥加密算法、不对称私钥-公钥算法或者其他合适的加密方案。
更新服务器可以访问网络630来与移动计算设备650通信。移动计算设备650可以访问能够解释由与更新服务器610相关联的安全模块620签署或加密的电子通信的移动安全模块640。由移动安全模块640解释的电子通信可被转发给移动计算设备650来使用。
在操作中,移动计算设备650可以发送一个更新请求给移动安全模块640。移动安全模块640加密并数字签署该请求并且将其转发给网络630用于递交。网络630将该请求转发给验证该数字签名并解密该请求的安全模块620。随后该安全模块620就把该请求转发给更新服务器610。
更新服务器识别一个更新分组并把该分组发送给安全模块620。安全模块620加密并数字签署该更新分组并且随后将该更新分组转发给网络630。网络630把该更新分组转发给验证该更新分组的数字签名并解密该分组的移动安全模块640。随后该移动安全模块640就把所述更新分组转发给要使用该分组更新其固件的移动计算设备650。
参考图7至图12,给出了根据各种方法或过程的流程图。虽然为了解释简单的目的,在此例如以流程图的形式示出的一种或多种方法是作为一系列的动作被示出和描述的,但应该理解并认识到示出的和描述的方法和过程以及这些方法和过程要用到的任何组件都不限于这些动作的顺序,因为有些动作能够以不同的顺序发生和/或与在此示出并描述的其他动作一起发生。例如,本领域普通技术人员应该理解并认识到,能够另外地以一系列相关状态或事件的方式表示一种方法,诸如以状态图的形式。此外,为实现一种方法或过程并不是所有示出的动作都是必需的。
图7是描述根据在此已揭示或描述的组件,可采用的通用处理方法700中使用的动作的流程图。处理在起始框710处开始并且继续到进程框720,其中管理对象被公布。在进程框730处,识别拟被更新的ROM部分。随后处理进行到进程框740处,在其中获取一个更新对象。在进程框750处下载实际的更新并将其应用于一设备的ROM映像。随后在进程框760处设置表示跟随更新尝试的设备状态的状态标识符并且处理在终止框770处结束。
图8是描述按照在此已揭示或描述的组件,可采用的通用处理方法800中使用的动作的流程图。方法800旨在提供一种能定位移动计算设备固件的方法。处理在起始框810处开始并且继续到进程框820。在进程框820处,获取移动计算设备的地理位置。可使用GPS系统自动获取地理位置信息。附加地或另选地,这些信息可由用户通过键入一位置、从地图中选择一位置、从菜单中的一组位置中选择一位置或者通过其他合适的方法手动地输入。
处理行进到进程框830处,在其中获取安装在所述移动计算设备上的固件的描述符。该描述符可以是结合了以前附图描述的描述符或者可以是其他合适的描述符。在进程框840处,将一个包括了该移动计算设备的固件描述符和地理信息的更新请求发送给更新服务器。这两部分信息可作为单个单元被一起发送或者可被分开发送。
在进程框850处,更新服务器从组件数据存储中识别一个恰当的被定位的固件更新组件。该被定位的固件更新可以是一个完整的ROM映射或者可以是ROM映象的一个组件。而且该被定位的固件更新能够以结合其他附图以前讨论的任何方式调整所述移动计算设备的功能。处理行进到进程框860处,其中所述更新服务器将被定位的固件更新组件发送给该移动计算设备。所述移动计算设备使用该被定位的更新组件来更新其固件的至少一部分。处理在终止框880处结束。
图9是描述结合在此已揭示或描述的组件,可采用的通用处理方法900中使用的过程的流程图。方法900旨在提供一种可通过访问另一个,诸如使用对等通信的移动计算设备来更新一移动计算设备固件的方法。方法900的处理在起始框910处开始并且继续到进程框920,其中一移动计算设备公布安装在其固件内的ROM映象的描述符。该描述符可以是结合了前面附图描述的描述符或者可以是其他合适的描述符。
处理行进到进程框930处,其中第二移动计算设备将已公布的ROM描述符和当前安装在所述第二移动计算设备内的ROM映射描述符比较。当前安装在第二移动计算设备内的ROM映象的描述符可以是结合了前面附图描述的描述符中的一个或者可以是其他合适的描述符。在决定框940处,做出该已公布的描述符是否与能够更新第二移动计算设备的ROM组件相关联的决定。
如果在决定框940处做出的决定是肯定的,则处理行进到决定框950,其中从所述第一移动计算设备中获取可用于升级的ROM组件。设备之间组件的传送连同描述符的公布是可以使用该移动计算设备能够支持的任何有线或无线的通信设备。可期望的有线系统有通用串行总线(“USB”)、IEEE 1394(Fire Wire)、串行和并行连接等等。可使用的无线系统包括WiFi、WiMax、CDMA、TDMA、GSM和蓝牙等等。
处理行进到进程框960处,其中获取的更新组件被安装入第二移动计算设备的固件中。安装可以包括一次或多次检查以确保更新进程的成功完成。处理在终止框970处结束。类似地,如果在决定框940处做出的决定指明来自其他移动计算设备的更新组件是不可用的,则处理在终止框970处结束。
图10是描述结合在此已揭示或描述的组件,描述了可在通用处理方法1000中使用的动作的流程图。方法1000旨在提供一种方法来安全地更新安装在移动计算设备的固件内的ROM组件。方法1000的处理在起始框1010处开始并且继续到进程框1020。在进程框1020处,移动计算设备构造一个被加密和数字签署的更新请求。如同在讨论加密和数字签署的其他地方这里应该注意到,两种技术可单独使用或结合一起使用。
处理行进到进程框1030处,其中把当前签署并被加密的更新请求发送给更新服务器。可以通过直接连接更新服务器、通过一网络连接至更新服务器或者通过连接至能够代替更新服务器的对等物来完成对该请求的发送。在进程框1040处,服务器接收到该更新请求并对该更新请求的数字签名进行识别,然后解密该更新请求的内容。在该点处,可以实行一系列的检查(未示出)来确保该数字签名指明该请求是可信的,并且表示该请求在发送至更新服务器的过程中未被篡改。如果这些检查中出现任何失败,就结束该处理。
在进程框1050处,更新服务器根据在更新请求内提供的信息来识别可用于更新该移动计算设备固件的ROM组件。在进程框1060处,所述更新服务器加密并数字签署该更新组件。附加地,该更新服务器把所述被签署和加密的ROM组件发送给移动计算设备。
在进程框1070处,移动计算设备接收该被签署和加密的ROM组件,并进行验证该签名和解密该组件。如前类似的进程,可以实行一系列的检查(未示出)来确保该数字签名指明该请求是可信的,并且表示该请求在发送至更新服务器的过程中未被篡改。如果这些检查中出现任何失败,就结束该处理。
在进程框1080处,移动计算设备安装该ROM组件以更新其固件。安装可以包括检查(未示出)以确保该组件被合适安装并且是可运行的。这些检查中出现任何失败就可导致另一次更新尝试或者可以导致处理的终止等等。方法1000的处理在终止框1090处结束。
为了提供用于实行的附加情况,图11和图12以及随后的讨论旨在提供对在其中可实现揭示或描述的组件和方法的合适计算环境的简明和通用的描述。虽然上述各种特定实现是在本地计算机和/或远程计算机上运行的计算机程序的计算机可执行指令的背景中讨论的,但是本领域普通技术人员应该认识到单独的或结合其他的程序模块的实现也是可能的。通常的程序模块包括执行特定任务和/或实现特定抽象数据类型的例程、程序、组件、数据结构等等。
此外,本领域普通技术人员应该认识到上述讨论的组件和方法可以使用其他计算机系统结构实现,包括单处理器或多处理器计算机系统、小型机、大型机、以及个人计算机、手持计算设备、基于微处理器和/或可编程电子消费品等等,它们都可操作地与其他相关的设备连接。揭示和描述的组件或方法的某些示出部分也可在分布式计算环境中实现,其中某些的任务可由通过通信网络或其他数据连接而链接的远程处理设备来执行。尽管如此,这些方面的部分(如果不是全部的话)可在独立的计算机上实现。在分布式计算环境中,程序模块可以位于本地和/或远程存储器存储设备中。
图11是在其中可使用揭示和描述的组件和方法的采样计算环境1100的示意框图。系统1100包括一个或多个客户机1110。客户机1110可以是硬件和/或软件(例如,线程、进程、计算设备)。系统1100也包括一个或多个服务器1120。例如,服务器1120可以容纳通过使用被揭示和描述的组件或方法来执行转换的线程或进程。特别地,可在服务区1120上实现的一个组件是一个更新服务器,诸如图1的更新服务器110。另一个可被实现的组件是图4的定位模块470。此外,诸如结合图6讨论的安全模块620的各安全模块也可作为服务器1120的组件实现。揭示和讨论的各其他组件也可在服务器1120上的实现。
客户机1110和服务器1120之间的一种可能的通信方法可以是以适于在两个或多个计算机进程之间传输的数据包的形式。系统1100包括可以被用来促进客户机1110和服务器1120之间通信的通信架构1140。客户机1110可操作地连接至可用来存储对客户机1110本地的信息的一个或多个客户机数据存储1150。类似地,服务器1120可操作地连接至可被用来存储对服务器1140本地的信息的一个或多个服务器数据存储1130。
参考图12,用于实现本发明各个组件的示例性环境1210包括计算机1212。计算机1212包括处理单元1214、系统存储器1216和系统总线1218。系统总线1218将包括但不限于系统存储器1216的系统组件耦合至处理单元1214。处理单元1214可以是任何各种可用的处理器。也可以使用双微处理器和其它多处理器体系结构作为处理单元1214。
系统总线1218可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线或外部总线和/或使用各种可用的总线体系结构中的任一种的局部总线,可用的总线体系结构包括但不限于工业标准体系结构(ISA)、微通道体系结构(MCA)、扩展的ISA(EISA)、智能驱动器电子接口(IDE)、VESA局部总线(VLB)、外围部件互连(PCI)、外围部件互连表示(PCI Express)、ExpressCard、插件总线、通用串行总线(USB)、高级图形接口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)、火线(IEEE1394)、串行先进技术附件(SATA)以及小型计算机系统接口(SCSI)。
系统存储器1216包括易失性存储器1220和非易失性存储器1222。基本输入/输出系统(BIOS)包含有助于诸如启动时在计算机1212中元件之间传递信息的基本例程,它通常存储在非易失性存储器1222中。作为说明,而非限制,非易失性存储器1222可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)或闪存。易失性存储器1220包括用作外部高速缓存的随机存取存储器(RAM)。作为说明,而非限制,RAM可以有多种形式,诸如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)以及直接Rambus RAM(DRRAM)。
计算机1212也包括可移动/不可以移动、易失性/非易失性计算机存储介质。例如,图12示出磁盘存储1224。磁盘存储1224包括,但不限于,如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或记忆棒的设备。另外,磁盘存储1224可以包括独立的存储介质或与其它存储介质结合,包括但不限于,诸如光盘ROM设备(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字多功能盘ROM驱动器(DVD-ROM)等的光盘驱动器。为了便于将磁盘存储设备1224连接至系统总线1218,一般使用诸如接口1226等可移动或不可移动接口。
提供给计算机1212的各种类型的易失性和非易失性存储器或存储装置可用于存储在此揭示和描述的数据端口信令系统的各种实现的组件。例如参考图1,固件160可作为存储在非易失性存储器1222内的软件模块来实现。在运行时间中,固件160可被载入易失性存储器1220,而处理单元1214从中访问固件160的机器可解释代码并将其放入处理单元中执行。
可以理解,图12描述了作为用户和在合适的操作环境1200中描述的基本计算机资源之间的中介的软件。这样的软件包括操作系统1228。可被存储在磁盘存储1224上的操作系统1228用来控制和分配计算机系统1212的资源。系统应用程序1230利用了操作系统1228通过存储在系统存储器1216或者磁盘存储1224上的程序模块1232和程序数据1234执行的资源管理。可以理解,所揭示的组件和方法可以使用各种操作系统或操作系统的组合来实现。
用户通过输入设备1236向计算机1212输入命令或信息。输入设备1236包括但不限于,诸如鼠标、跟踪球、输入笔等定点设备、触摸垫、键盘、麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪、TV调谐器卡、数码相机、数码摄像机、Web摄像头等。这些和其它输入设备经由接口端口1238通过系统总线1218连接至处理单元1214。接口端口1238例如包括串行端口、并行端口、游戏端口和通用串行总线(USB)。输出设备1240使用某些与输入设备1236相同类型的端口。因此,例如USB端口可以用于向计算机1212提供输入,并向输出设备1240输出来自计算机1212的信息。接口端口1238可具体地包括可用于在此揭示和描述的组件的各种数据连接端口。
提供输出适配器1242来示出,存在类似监视器、扬声器和打印机的输出设备1240以及其它需要专用适配器的某些输出设备1240。作为说明而非限制,输出适配器1242包括提供输出设备1240和系统总线1218之间的连接手段的显卡和声卡。应该注意,诸如远程计算机1244等其它设备和/或设备系统同时提供输入和输出能力两者。
计算机1212可使用至一台或多台远程计算机,诸如远程计算机1244的逻辑连接在网络化环境中操作。远程计算机1244可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的装置、对等设备或其它公用网络节点等,且通常包括相对于计算机1212描述的许多或所有元件。为简洁起见,对于远程计算机1244仅示出存储器存储设备1246。远程计算机1244通过网络接口1248被逻辑连接至计算机1212,并且然后通过通信连接1250被物理地连接。网络接口1248包括诸如局域网(LAN)和广域网(WAN)的有线和/或无线通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜线分布式数据接口(CDDI)、以太网和令牌环等。WAN技术包括,但不限于,点对点链路、类似综合业务数字网(ISDN)及其变体的电路交换网络、分组交换网络和数字用户线(DSL)。
通信连接1250指的是用来将网络接口1248连接至总线1218的硬件/软件。尽管为说明清楚,将通信连接1250示为位于计算机1212内,然而通信连接1250也可以在计算机1212外部。仅为示例的目的,连接至网络接口1248所必需的硬件/软件包括内部和外部技术,诸如包括常规电话级调制解调器、线缆调制解调器和DSL调制解调器等的调制解调器、ISDN适配器以及以太网卡。
以上的描述包括某些组件和方法的示出实例。当然不可能描述组件和方法的每一种能够想到的组合,但是本领域普通技术人员应该认识到许多其他的组合和排列都是可能的。因此所有这些改变、修改和变化都旨在落于所附权利要求的精神和范围之内。
特别地关于由上述组件、设备、电路和系统等等执行的各种功能,用于描述这些组件的术语(包括对“装置”的参考)除非另行指出,旨在对应于执行被描述组件的特定功能的任何组件(例如功能等效物),即使这些组件执行在此揭示的实例中的功能但在结构上并不等效于已被揭示的结构。在这点上,应该认识到所揭示和描述的组件和方法可以包括一个系统以及含有用于执行在此揭示并描述的方法的动作和/或事件的计算机可执行指令的计算机可读介质。
此外,虽然仅结合了各种实现中的一个来揭示某些特性,但是这些特性也组合按照需要的其他实现的一个或多个其他特性以及对任何给定或特定应用的优点。而且对详细描述和权利要求书中都使用的术语“包括”而言,当被用作权利要求书中的过渡词时,这样的术语旨在是包含性的,类似于术语“包含”。

Claims (21)

1.一种用于描述移动计算设备的固件的系统,包括:
只读管理对象,它包含有关于一固件组件的标识和版本信息;以及
更新对象,它包含有关于该固件组件的更新分组的标识和版本信息。
2.如权利要求1所述的系统,其特征在于,还包括更新模块,所述模块访问关于该固件组件的标识和版本信息以确定固件组件的更新分组是否可用。
3.如权利要求2所述的系统,其特征在于,所述更新对象还包括所述固件组件更新分组的位置。
4.如权利要求3所述的方法,其特征在于,所述固件组件更新分组的位置是统一资源标识符。
5.如权利要求4所述的系统,其特征在于,还包括使用所述管理对象以提供所述更新对象的更新服务器。
6.如权利要求5所述的系统,其特征在于,所述更新对象参考一被定位的组件。
7.如权利要求5所述的系统,其特征在于,还包括能够从移动计算设备中获取所述更新对象的对等更新模块。
8.如权利要求5所述的系统,其特征在于,还包括能够识别参考了被定位内容的更新对象的定位模块。
9.如权利要求5所述的系统,其特征在于,还包括能够使更新对象安全传输的安全模块。
10.一种管理便携计算设备的固件组件的计算机实现方法,包括:
至少部分基于被存取信息,使用只读管理对象来识别可用的固件组件更新分组;以及
创建一个包含有涉及固件组件更新分组的信息的更新对象。
11.如权利要求10所述的方法,其特征在于,创建更新对象包括提供一更新组件的位置。
12.如权利要求11所述的方法,其特征在于,还包括把所述更新对象发送给移动计算设备。
13.如权利要求12所述的方法,其特征在于,把所述更新对象发送给移动计算设备包括数字签署所述更新对象和加密所述更新对象中的至少一个。
14.如权利要求12所述的方法,其特征在于,还包括把所述固件组件分组发送给所述移动计算设备。
15.如权利要求11所述的方法,其特征在于,创建更新对象包括使用定位信息。
16.一种用于管理便携计算设备的固件组件的系统,包括:
用于至少部分基于被存取信息,使用只读管理对象来识别可用的固件组件更新分组的装置;以及
用于创建一个包含有涉及固件组件更新分组的信息的更新对象的装置。
17.如权利要求16所述的系统,其特征在于,用于创建更新对象的装置包括用于提供一更新组件的位置的装置。
18.如权利要求17所述的系统,其特征在于,还包括用于把所述更新对象发送给移动计算设备的装置。
19.如权利要求18所述的系统,其特征在于,用于把所述更新对象发送给移动计算设备的装置包括数字签署所述更新对象的装置和加密所述更新对象的装置中的至少一个。
20.如权利要求18所述的系统,其特征在于,还包括用于把所述固件组件分组发送给所述移动计算设备的装置。
21.如权利要求17所述的系统,其特征在于,用于创建更新对象的装置包括用于使用定位信息的装置。
CN2006100043214A 2005-02-01 2006-01-24 用于管理移动计算设备的固件组件的系统和方法 Expired - Fee Related CN1825282B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US64888705P 2005-02-01 2005-02-01
US60/648,887 2005-02-01
US11/141,864 US7873959B2 (en) 2005-02-01 2005-06-01 Publishing the status of and updating firmware components
US11/141,864 2005-06-01

Publications (2)

Publication Number Publication Date
CN1825282A true CN1825282A (zh) 2006-08-30
CN1825282B CN1825282B (zh) 2010-05-12

Family

ID=36603025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100043214A Expired - Fee Related CN1825282B (zh) 2005-02-01 2006-01-24 用于管理移动计算设备的固件组件的系统和方法

Country Status (8)

Country Link
US (1) US7873959B2 (zh)
EP (1) EP1686469B1 (zh)
JP (1) JP5096680B2 (zh)
KR (1) KR101238511B1 (zh)
CN (1) CN1825282B (zh)
BR (1) BRPI0600159A (zh)
ES (1) ES2601502T3 (zh)
MX (1) MXPA06001253A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508729A (zh) * 2011-09-29 2012-06-20 中国航天科技集团公司第五研究院第五一三研究所 Fpga内rom映射区动态刷新纠错方法
US8266613B2 (en) 2007-04-23 2012-09-11 Konica Minolta Business Technologies, Inc. Image forming apparatus, program updating system, and program updating program
CN103176822A (zh) * 2013-03-04 2013-06-26 广东欧珀移动通信有限公司 一种下载数据的控制方法及控制装置
CN103888867A (zh) * 2014-03-07 2014-06-25 深圳市领芯者科技有限公司 音箱、音箱的控制系统及控制方法
CN104220981A (zh) * 2012-02-23 2014-12-17 惠普发展公司,有限责任合伙企业 用于修改有效固件的固件包
CN104520870A (zh) * 2012-08-27 2015-04-15 德国捷德有限公司 用于更新安全模块的固件的方法和系统

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7409685B2 (en) 2002-04-12 2008-08-05 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
US8233893B2 (en) * 2002-08-22 2012-07-31 Hewlett-Packard Development Company, L.P. Mobile handset update package generator that employs nodes technique
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US7428709B2 (en) * 2005-04-13 2008-09-23 Apple Inc. Multiple-panel scrolling
US7634584B2 (en) 2005-04-27 2009-12-15 Solarflare Communications, Inc. Packet validation in virtual network interface architecture
US7870490B2 (en) * 2005-11-15 2011-01-11 Microsoft Corporation On-the-fly device configuration and management
US7378966B2 (en) * 2006-01-04 2008-05-27 Microsoft Corporation RFID device groups
US7984432B2 (en) * 2006-05-30 2011-07-19 Infineon Technologies Ag Method for patching a read-only memory and a data processing system comprising a means of patching the read-only memory based on patch contexts
WO2007146710A2 (en) 2006-06-08 2007-12-21 Hewlett-Packard Development Company, L.P. Device management in a network
US20080001711A1 (en) * 2006-06-15 2008-01-03 Microsoft Corporation Reliability of execution for device provider implementations
US8207822B2 (en) * 2006-06-15 2012-06-26 Microsoft Corporation Support for batching of events, and shredding of batched events in the RFID infrastructure platform
US8752044B2 (en) 2006-07-27 2014-06-10 Qualcomm Incorporated User experience and dependency management in a mobile device
GB2458047B (en) * 2006-11-29 2011-11-09 Hewlett Packard Development Co IP based notification of device management operations in a network
TW200828099A (en) * 2006-12-19 2008-07-01 Realtek Semiconductor Corp Flash memory device and renewing method, and program search method
US8041444B2 (en) * 2006-12-22 2011-10-18 Harris Stratex Networks Operating Corporation Intelligent production station and production method
US20080174404A1 (en) * 2007-01-23 2008-07-24 Microsoft Corporation Dynamic updates in rfid manager
US8245219B2 (en) * 2007-01-25 2012-08-14 Microsoft Corporation Standardized mechanism for firmware upgrades of RFID devices
US9112891B2 (en) * 2007-02-02 2015-08-18 Sharp Laboratories Of America, Inc. Remote firmware management for electronic devices
FR2913295B1 (fr) * 2007-03-02 2010-09-10 Sagem Comm Procede de telechargement dans un boitier recepteur/ decodeur de television.
US20080244553A1 (en) * 2007-03-28 2008-10-02 Daryl Carvis Cromer System and Method for Securely Updating Firmware Devices by Using a Hypervisor
US8019794B2 (en) * 2007-04-02 2011-09-13 Sharp Laboratories Of America, Inc. Firmware repository for MFP devices
US8271969B2 (en) 2007-08-09 2012-09-18 Research In Motion Limited Method and apparatus for determining the state of a computing device
CN101437071B (zh) 2007-11-15 2011-09-28 华为技术有限公司 终端设备管理树管理对象实例化的方法及设备
KR100932276B1 (ko) 2007-12-06 2009-12-16 한국전자통신연구원 보안 모듈의 업그레이드 장치 및 그 방법
US8201161B2 (en) 2008-01-07 2012-06-12 Lenovo (Singapore) Pte. Ltd. System and method to update device driver or firmware using a hypervisor environment without system shutdown
US20090183182A1 (en) * 2008-01-10 2009-07-16 Microsoft Corporation Dynamic Composition of Virtualized Applications
US8219595B2 (en) * 2008-02-14 2012-07-10 Hewlett-Packard Development Company, L.P. System and method for efficient remote data access for server management
KR20090090801A (ko) * 2008-02-22 2009-08-26 삼성전자주식회사 휴대 단말기의 펌웨어 업데이트 방법 및 장치
US8347348B2 (en) * 2008-03-31 2013-01-01 Lenovo (Singapore) Pte. Ltd. Apparatus, system, and method for pre-boot policy modification
KR100951622B1 (ko) * 2008-05-02 2010-04-09 강릉원주대학교산학협력단 무선센서 네트워크의 노드에 대한 펌웨어 업데이트 방법 및이에 사용되는 펌웨어 업데이트장치
US8971884B2 (en) 2008-09-30 2015-03-03 At&T Mobility Ii Llc Rejection notification to a universal integrated circuit card
US8892699B2 (en) * 2008-12-31 2014-11-18 Schneider Electric USA, Inc. Automatic firmware updates for intelligent electronic devices
US8618717B2 (en) * 2009-07-02 2013-12-31 Sierra Wireless, Inc. System and method for connection to a wireless network
US8296399B2 (en) * 2009-07-15 2012-10-23 Microsoft Corporation Connecting galleries to dynamic server-hosted content
US9639347B2 (en) * 2009-12-21 2017-05-02 International Business Machines Corporation Updating a firmware package
US8869138B2 (en) 2011-11-11 2014-10-21 Wyse Technology L.L.C. Robust firmware update with recovery logic
US9467338B2 (en) * 2010-04-01 2016-10-11 Blackberry Limited Method for communicating device management data changes
US8806190B1 (en) 2010-04-19 2014-08-12 Amaani Munshi Method of transmission of encrypted documents from an email application
US9110690B2 (en) * 2010-04-28 2015-08-18 General Electric Company Systems, methods, and apparatus for deploying application code change configurations for multiple target controllers
US8307095B2 (en) 2010-06-21 2012-11-06 Research In Motion Limited Firmware upgrade system and method in a device management architecture
US8667057B1 (en) 2010-10-01 2014-03-04 Google Inc. Method and system for delivering object update messages including payloads
JP5655612B2 (ja) * 2011-02-14 2015-01-21 富士通株式会社 情報処理システム、情報処理方法、及び制御プログラム
US8824346B2 (en) * 2011-02-23 2014-09-02 Lg Electronics Inc. Remote wakeup of application processor of mobile device
US20120216183A1 (en) * 2011-02-23 2012-08-23 Amit Mahajan Firmware updation in electronic devices
WO2012119407A1 (zh) * 2011-08-23 2012-09-13 华为技术有限公司 文档更新方法和装置
US8984502B2 (en) 2011-10-28 2015-03-17 Hewlett-Packard Development Company, L.P. Systems and methods for composing or decomposing a composite image for firmware update images
KR101995461B1 (ko) * 2011-12-06 2019-09-30 삼성전자주식회사 사용자 단말들에게 fota 서비스를 제공하는 방법 및 장치
US8713646B2 (en) 2011-12-09 2014-04-29 Erich Stuntebeck Controlling access to resources on a network
US9430206B2 (en) * 2011-12-16 2016-08-30 Hsiu-Ping Lin Systems for downloading location-based application and methods using the same
US9680763B2 (en) 2012-02-14 2017-06-13 Airwatch, Llc Controlling distribution of resources in a network
US10404615B2 (en) 2012-02-14 2019-09-03 Airwatch, Llc Controlling distribution of resources on a network
US9032386B1 (en) * 2012-07-30 2015-05-12 Adobe Systems Incorporated Product upgrade location identifier for software upgrade
US8869133B2 (en) * 2012-11-06 2014-10-21 General Electric Company Method and system for use in facilitating patch change management of industrial control systems
US8832785B2 (en) 2012-12-06 2014-09-09 Airwatch, Llc Systems and methods for controlling email access
US8826432B2 (en) 2012-12-06 2014-09-02 Airwatch, Llc Systems and methods for controlling email access
US9021037B2 (en) 2012-12-06 2015-04-28 Airwatch Llc Systems and methods for controlling email access
US8978110B2 (en) 2012-12-06 2015-03-10 Airwatch Llc Systems and methods for controlling email access
US8862868B2 (en) 2012-12-06 2014-10-14 Airwatch, Llc Systems and methods for controlling email access
US8938730B2 (en) 2012-12-17 2015-01-20 Itron, Inc. Utilizing a multi-system set configuration to update a utility node system set
US8924950B2 (en) * 2012-12-17 2014-12-30 Itron, Inc. Utility node software/firmware update through a multi-type package
US8781502B1 (en) 2013-02-01 2014-07-15 Swirl Networks, Inc. Systems and methods for display of supplemental content responsive to location
US20140280955A1 (en) 2013-03-14 2014-09-18 Sky Socket, Llc Controlling Electronically Communicated Resources
US8997187B2 (en) 2013-03-15 2015-03-31 Airwatch Llc Delegating authorization to applications on a client device in a networked environment
US10742604B2 (en) 2013-04-08 2020-08-11 Xilinx, Inc. Locked down network interface
US9787686B2 (en) 2013-04-12 2017-10-10 Airwatch Llc On-demand security policy activation
US8868796B1 (en) 2013-04-18 2014-10-21 Otter Products, Llc Device and method for updating firmware of a peripheral device
US9584437B2 (en) 2013-06-02 2017-02-28 Airwatch Llc Resource watermarking and management
US9900261B2 (en) 2013-06-02 2018-02-20 Airwatch Llc Shared resource watermarking and management
US8775815B2 (en) 2013-07-03 2014-07-08 Sky Socket, Llc Enterprise-specific functionality watermarking and management
US8806217B2 (en) 2013-07-03 2014-08-12 Sky Socket, Llc Functionality watermarking and management
US8756426B2 (en) 2013-07-03 2014-06-17 Sky Socket, Llc Functionality watermarking and management
US9665723B2 (en) 2013-08-15 2017-05-30 Airwatch, Llc Watermarking detection and management
US9516005B2 (en) 2013-08-20 2016-12-06 Airwatch Llc Individual-specific content management
US9258301B2 (en) 2013-10-29 2016-02-09 Airwatch Llc Advanced authentication techniques
US9544306B2 (en) 2013-10-29 2017-01-10 Airwatch Llc Attempted security breach remediation
US9098375B2 (en) * 2013-12-23 2015-08-04 Verizon Patent And Licensing Inc. Automatic management of software patch installation
WO2016076880A1 (en) * 2014-11-14 2016-05-19 Hewlett Packard Enterprise Development Lp Secure update of firmware and software
US10015048B2 (en) * 2014-12-27 2018-07-03 Intel Corporation Programmable protocol parser for NIC classification and queue assignments
JP6659220B2 (ja) * 2015-01-27 2020-03-04 ルネサスエレクトロニクス株式会社 通信装置、半導体装置、プログラムおよび通信システム
US9807117B2 (en) 2015-03-17 2017-10-31 Solarflare Communications, Inc. System and apparatus for providing network security
US9825862B2 (en) 2015-08-26 2017-11-21 Barefoot Networks, Inc. Packet header field extraction
US9912774B2 (en) 2015-12-22 2018-03-06 Intel Corporation Accelerated network packet processing
US10491400B2 (en) 2016-08-23 2019-11-26 Solarflare Communications, Inc. System and apparatus for providing network security
CN107800561B (zh) * 2016-09-12 2021-05-04 平安科技(深圳)有限公司 资源更新方法和装置
US10528708B2 (en) * 2016-12-16 2020-01-07 International Business Machines Corporation Prevention of unauthorized resource updates
US11245572B1 (en) 2017-01-31 2022-02-08 Barefoot Networks, Inc. Messaging between remote controller and forwarding element
US10757028B1 (en) 2017-04-23 2020-08-25 Barefoot Networks, Inc. Configurable forwarding element deparser
US10826840B1 (en) 2017-07-23 2020-11-03 Barefoot Networks, Inc. Multiple copies of stateful tables
US10346157B2 (en) * 2017-07-31 2019-07-09 Qualcomm Incorporated Patch infrastructure for ROM firmware
US10594630B1 (en) 2017-09-28 2020-03-17 Barefoot Networks, Inc. Expansion of packet data within processing pipeline
US10686872B2 (en) 2017-12-19 2020-06-16 Xilinx, Inc. Network interface device
US11165720B2 (en) 2017-12-19 2021-11-02 Xilinx, Inc. Network interface device
US10686731B2 (en) 2017-12-19 2020-06-16 Xilinx, Inc. Network interface device
JP7081223B2 (ja) 2018-03-07 2022-06-07 トヨタ自動車株式会社 マスタ装置、マスタ、ソフトウェアの整合性を確認するための方法及びプログラム、車両
US11520572B2 (en) * 2019-09-13 2022-12-06 Oracle International Corporation Application of scheduled patches
KR20210046418A (ko) * 2019-10-18 2021-04-28 삼성전자주식회사 보안 패치가 가능한 롬을 갖는 반도체 장치 및 그것의 패치 방법
KR102188044B1 (ko) * 2019-11-29 2020-12-07 한남대학교 산학협력단 뉴로모픽 아키텍처 기반 지능형 응용 개발을 위한 프레임워크 시스템

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151643A (en) * 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US6976163B1 (en) * 2000-07-12 2005-12-13 International Business Machines Corporation Methods, systems and computer program products for rule based firmware updates utilizing certificate extensions and certificates for use therein
US7149792B1 (en) 2000-11-20 2006-12-12 Axeda Corporation Device registration mechanism
JP3654247B2 (ja) * 2002-01-11 2005-06-02 日本電気株式会社 携帯電話のファームウェア配信システム、携帯電話端末およびそのファームウェア更新プログラム
US20070169073A1 (en) * 2002-04-12 2007-07-19 O'neill Patrick Update package generation and distribution network
US20030217357A1 (en) * 2002-05-14 2003-11-20 Parry Travis J. Monitoring firmware
US7146609B2 (en) * 2002-05-17 2006-12-05 Sun Microsystems, Inc. Method, system and article of manufacture for a firmware image
JP2004126856A (ja) 2002-10-01 2004-04-22 Matsushita Electric Ind Co Ltd Ddnsクライアント端末とddnsサーバ、ddnsバージョン管理システム、及びファームウェアバージョンの更新方法
JP2004199491A (ja) * 2002-12-19 2004-07-15 Komatsu Ltd 車載プログラムの書き換え制御装置
JP3864337B2 (ja) 2002-12-27 2006-12-27 富士通株式会社 バージョンアップ方法
US20040193917A1 (en) * 2003-03-26 2004-09-30 Drews Paul C Application programming interface to securely manage different execution environments
US7203745B2 (en) * 2003-05-29 2007-04-10 Akamai Technologies, Inc. Method of scheduling hosts for software updates in a distributed computer network
US7428417B2 (en) * 2003-09-26 2008-09-23 Siemens Communications, Inc. System and method for presence perimeter rule downloading
US7765540B2 (en) * 2003-10-23 2010-07-27 Microsoft Corporation Use of attribution to describe management information

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8266613B2 (en) 2007-04-23 2012-09-11 Konica Minolta Business Technologies, Inc. Image forming apparatus, program updating system, and program updating program
CN102508729A (zh) * 2011-09-29 2012-06-20 中国航天科技集团公司第五研究院第五一三研究所 Fpga内rom映射区动态刷新纠错方法
CN104220981A (zh) * 2012-02-23 2014-12-17 惠普发展公司,有限责任合伙企业 用于修改有效固件的固件包
CN104520870A (zh) * 2012-08-27 2015-04-15 德国捷德有限公司 用于更新安全模块的固件的方法和系统
CN104520870B (zh) * 2012-08-27 2017-09-19 捷德移动安全有限责任公司 用于更新安全模块的固件的方法和系统
CN103176822A (zh) * 2013-03-04 2013-06-26 广东欧珀移动通信有限公司 一种下载数据的控制方法及控制装置
CN103176822B (zh) * 2013-03-04 2016-08-31 广东欧珀移动通信有限公司 一种下载数据的控制方法及控制装置
CN103888867A (zh) * 2014-03-07 2014-06-25 深圳市领芯者科技有限公司 音箱、音箱的控制系统及控制方法

Also Published As

Publication number Publication date
CN1825282B (zh) 2010-05-12
KR101238511B1 (ko) 2013-02-28
JP2006216047A (ja) 2006-08-17
MXPA06001253A (es) 2006-09-19
BRPI0600159A (pt) 2007-07-17
ES2601502T3 (es) 2017-02-15
EP1686469A3 (en) 2009-01-14
US20060174242A1 (en) 2006-08-03
US7873959B2 (en) 2011-01-18
EP1686469A2 (en) 2006-08-02
EP1686469B1 (en) 2016-08-31
KR20060093022A (ko) 2006-08-23
JP5096680B2 (ja) 2012-12-12

Similar Documents

Publication Publication Date Title
CN1825282A (zh) 公布固件组件状态并更新固件组件
RU2437143C2 (ru) Способ и устройство, предназначенное для инициированного сетью удаления прикладных программ через беспроводную сеть
CN1285235C (zh) 应用国际移动设备识别码实现手机防盗的方法及其系统
CN1174302C (zh) 用于软件代理和代理活动的验证的系统和方法
US8213971B2 (en) Apparatus and method for activating computer applications with SMS messaging
CN1946019A (zh) 网络装置、网络系统及密钥更新方法
CN1906574A (zh) 更新移动终端中的数据
CN101077027A (zh) 更新移动终端中的配置参数
CN1668010A (zh) 用来在更新分发系统中分发更新元数据的基于标记模式
CN1957345A (zh) 用于设备管理系统的设备管理方法
CN1783811A (zh) 将网络上的软件部署与外部恶意入侵隔离
CN1748191A (zh) 由物主控制电子设备的系统和方法
US20070300068A1 (en) Method and apparatus for flash updates with secure flash
CN1852101A (zh) 一种并行下载方法和终端
CN1497472A (zh) 服务验证系统、认证要求终端、服务使用终端及提供方法
CN1577272A (zh) 易受攻击文件的自动检测和修复
CN1815468A (zh) 非关系型查询语言与关系型数据存储的集成
JP5572573B2 (ja) 携帯端末、プログラム、および通信システム
CN1735862A (zh) 用于更新网络化环境中的安装组件的系统和方法
CN1961527A (zh) 检查数字证书的系统和方法
CN104598263A (zh) 应用程序运行方法、配置文件生成方法和装置
US20130024696A1 (en) Method and apparatus for flash updates with secure flash
CN1874218A (zh) 一种许可证管理方法、系统及装置
JP7201761B2 (ja) 出荷可能記憶装置のプロビジョニング及び出荷可能記憶装置からのデータの取り込み
CN1453959A (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
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150525

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150525

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft 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: 20100512