CN103942065A - 用于更新固件兼容性数据的方法和系统 - Google Patents

用于更新固件兼容性数据的方法和系统 Download PDF

Info

Publication number
CN103942065A
CN103942065A CN201410015235.8A CN201410015235A CN103942065A CN 103942065 A CN103942065 A CN 103942065A CN 201410015235 A CN201410015235 A CN 201410015235A CN 103942065 A CN103942065 A CN 103942065A
Authority
CN
China
Prior art keywords
firmware
version
compatibility
metadata
upgrading
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
CN201410015235.8A
Other languages
English (en)
Other versions
CN103942065B (zh
Inventor
A·A·阿塞林
W·J·皮亚扎
D·B·罗伯茨
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.)
Lenovo Global Technologies International Ltd
Lenovo Enterprise Solutions Singapore Pte Ltd
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103942065A publication Critical patent/CN103942065A/zh
Application granted granted Critical
Publication of CN103942065B publication Critical patent/CN103942065B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

一种确定固件版本的兼容性的方法,包括下载用于特定产品的固件图像的候选版本、通过下载用于特定产品的附加固件兼容性元数据来更新不完整固件兼容性元数据、并且使用经更新的固件兼容性元数据来确定固件图像的候选版本是否与安装在特定产品内的固件图像的当前版本兼容。

Description

用于更新固件兼容性数据的方法和系统
技术领域
本发明一般地涉及用于系统和电子设备的固件,并且具体地涉及固件升级。更具体地,本发明涉及一种用于识别候选固件是否与现有或已安装的固件装置兼容的方法。
背景技术
固件是驻留于一件硬件中并负责硬件功能的主要部分且一般地被视为是硬件的组成部分的软件代码。通常,固件作为二进制信息被存储在某种形式的非易失性存储器组件中,其中能够用十六进制、八进制及其他数基来表示二进制。固件的组成部分可以是可执行程序,诸如上电自检(POST)、基本输入/输出软件(BIOS)、配置实用工具(utility)等,或者其可以是数据表,例如硬文件的几何结构的描述、将与通用异步收发机(UART)一起使用以产生不同波特率的寄存器值等。固件通常被存储在当电源被去除或丢失时不会失去其存储能力的特定类型的存储器芯片中。该非易失性存储器被分类为“只读”存储器(ROM),因为用户在正常操作期间不能改变存储在那里的信息。一般地,在“工厂”处对ROM进行编程,即通过ROM制造商利用由客户提供的信息来进行编程。被用来存储固件的存储器器件的基本类型被称为可编程只读存储器(PROM),其可由任何技术人员利用例如编程控制台来编程。基本PROM接收固件的一个版本(version),并且固件代码被“烧制”到PROM中且不能被改变。为了更新固件,必须将PROM在物理上从设备移除,并且用包含已升级固件的新PROM来替换。存储器器件技术的改进已经提供了PROM的变体,诸如可擦除可编程只读存储器(EPROM)和电可擦除可编程只读存储器(EEPROM)器件,其能够在不需要将其从电路去除的情况下利用电信号来擦除。
许多产品经历许多固件版本,其修正固件缺陷、补偿硬件或操作系统错误或引入新特征。只要子系统的硬件架构基本上不改变且每个新固件修订能够识别并处理硬件修订等级中的差异,则对于用升级固件图像来替换目前已安装固件图像的快闪(flash)实用工具而言,事情相对简单。快闪实用工具可以假设构建的ID、诸如QYKT24AUS、QYKT25AUS等的演进是有效的,并且可以在较新的修订上应用较旧的修订,即快闪的等级可以回退,虽然具有可能损失功能和重新引入固件缺陷。
然而,产品族的寿命周期中的某些事件破坏了这些简单的假设。这些事件可以包括:
(1)产品架构的重大改变,例如由于成本降低改变,使得固件的较旧版本并未识别到较新的硬件特征并且因此不正确地对待它们。
(2)一个产品族向2个或更多个相关族的分叉,可能在位于例如远方城市中的两个不同工程团队的控制下,其中固件可能看起来是相似的,但实际上已针对特定的硬件集合被自定义。
(3)两个产品族的会聚(从固件角度出发)。会聚能够被用作成本降低工具,其中两件类似的固件存在并且能够被组合成在两个硬件平台上工作但仅要求单个开发组对其进行维护和测试的单个固件图像。
(4)产品的特性、例如CMOS存储器中的配置信息的布局以这样的方式改变,使得固件的较旧水平将会对其误解释。
一般地,具有可升级固件的系统和子系统通常要求某种验证以确定候选图像对现有装置的可应用性。常规方法常常只不过是验证以下各项中的某些或全部:(i)在候选图像中存在公司的版权声明;(ii)在候选图像中存在可识别形式和位置的零件号码;(iii)在候选图像中以可识别形式和位置存在“类型码”,并且该类型码指示旧图像和新图像是兼容的(类型码识别硬件的兼容类型,并且可以应用于整体产品或产品内的子系统);(iv)在候选图像中存在修订等级,并且用户正在尝试在较旧图像上应用较新图像;以及(v)候选图像已被破坏,例如通过使用校验和或CRC来验证的。以上项目(i)、(ii)和(iv)对帮助验证固件图像之间的兼容性做的很少(如果有的话)。它们允许软件实用工具验证固件图像来自单个供应商并且用户并不在尝试回退到较旧固件图像。即使在那时,有时也可能期望回退,使得通常提供具有用以超越保护的机制的警告。
有时使用类型码来指示固件图像之间的兼容性,但是此类实践具有限制。常规技术并未利用这种类型码,在这种情况下,可能无意中将错误类型的固件图像应用于产品,或者假设只有同一类型码内的固件图像是兼容的。另外,常规技术将常常要求在候选图像中的单个类型码与已安装图像中的单个类型码之间存在精确的匹配。此外,这些技术还可以一般地假设呈现与已安装固件图像相同的类型码的任何新固件图像是兼容的,并且可以用来更新已安装图像。这些“简单”方案常常在其中可能出现复杂情形的实际工作中引起问题。
发明内容
本发明的一个实施例提供了一种确定固件版本的兼容性的方法。该方法包括下载用于特定产品的固件图像的候选版本、通过下载用于该特定产品的附加固件兼容性元数据来更新不完整的固件兼容性元数据,并且使用经更新的固件兼容性元数据来确定固件图像的候选版本是否与安装在特定产品内的固件图像的当前版本兼容。
本发明的另一实施例提供了一种计算机程序产品,其包括在有形计算机可用存储介质上体现的计算机可用程序代码。该计算机程序产品包括用于下载用于特定产品的固件图像的候选版本的计算机可用程序代码、用于通过下载用于该特定产品的附加固件兼容性元数据来更新不完整的固件兼容性元数据的计算机可用程序代码以及用于使用经更新的固件兼容性元数据来确定固件图像的候选版本是否与安装在特定产品内的固件图像的当前版本兼容的计算机可用程序代码。
附图说明
图1是提供用于实施本发明的适当环境的示例性数据处理系统的简化高级框图。
图2是与系统固件通信的快闪实用工具应用程序的图。
图3是矩阵形式的固件兼容性元数据的图。
图4是根据本发明的一个实施例的方法的流程图。
具体实施方式
本发明的一个实施例提供了一种确定固件版本的兼容性的方法。该方法包括下载用于特定产品的固件图像的候选版本、通过下载用于该特定产品的附加固件兼容性元数据来更新不完整的固件兼容性元数据、并使用经更新的固件兼容性元数据来确定固件图像的候选版本是否与安装在特定产品内的固件图像的当前版本兼容。
本发明的方法的实施例可以在能够用不同的固件图像覆写当前固件图像的快闪实用工具(应用程序)中实现。然而,根据本发明的实施例,快闪实用工具可以负责处理、更新和使用固件兼容性元数据。虽然可以将固件兼容性元数据连同固件图像一起存储在例如类似于EPROM或EEPROM的非易失性存储器器件中,但快闪实用工具能够对固件兼容性元数据进行读和写。
固件图像的候选版本可以例如从由特定产品的制造商维护的网站下载。通常,候选版本将是从安装于特定产品内的固件图像的当前版本的升级。然而,此类网站还可以保持许多版本,包括固件图像的当前和先前版本。先前版本对于使从当前版本到期望版本的兼容路径等级返回(back-leveling)或实现有帮助。
本发明的实施例认识到连同固件一起存储的固件兼容性元数据可能是不完整的。例如,元数据可能是与当前固件图像同时获得的,并且用户现在正在下载更新近的候选版本。相应地,较早的元数据并未指示该更新近的候选版本是否与当前固件图像兼容。此外,用于固件的一个或多个候选版本的当前兼容性元数据也可能由于测试限制而是不完整的。因此,本发明的实施例包括通过下载用于特定产品的附加固件兼容性元数据来更新不完整的固件兼容性元数据。可以从各种源获得该元数据,诸如通过测试实验室运行的网站、用户群组、固件开发者或产品制造商。此外,元数据可以采取各种形式,诸如用可扩展标记语言。在第一选项中,用较新文件来替换固件兼容性元数据的整个文件。在第二选项中,快闪实用工具可以仅请求用于在与特定产品中的固件一起存储的固件兼容性元数据中当前识别到其兼容性的固件组合的附加元数据。在第三选项中,快闪实用工具可以仅请求或下载用于已被识别或下载的特定候选固件图像的兼容性元数据。在任何的这些选项中,可以与固件本身分开地下载元数据,并且还可以在不同的时间从不同的源下载。
经更新的固件兼容性元数据优选地包括固件图像的候选版本与当前版本之间的兼容性或不兼容性的指示。替换地,经更新的固件兼容性元数据可以包括两个固件版本之间的兼容固件的已证明序列的指示。换言之,如果不知道从版本D到版本G的直接升级是兼容的还是不兼容的,则仍可以存在足够的元数据来确定可以通过连续地从版本D升级至版本F且然后进一步从版本F升级至版本G来获得版本G。
本发明的实施例可以在确定候选固件的兼容性之后包括进一步的动作。例如,该方法可以在经更新的固件兼容性元数据指示候选固件图像与当前固件图像不兼容的情况下,防止候选固件图像的安装。同样地,该方法可以在经更新的固件兼容性元数据指示候选固件图像与当前固件图像兼容的情况下允许或发起候选固件图像的安装。
此外,该方法可以包括确定从当前固件版本至期望固件版本的路径。该路径将包括固件版本的序列,其中固件兼容性元数据指示该序列中的每个后续固件版本与该序列中的每个先前固件版本兼容。该路径可以允许从当前安装的固件版本到更新近的固件版本的升级,或者该路径可以允许从当前安装的固件版本到先前固件版本的回退或等级返回。可选地,该方法可以包括自动地下载所需的固件图像的中间版本以便遵循兼容升级或等级返回序列。
在另一实施例中,可以将固件兼容性元数据存储为已知兼容性路径的矩阵。无论那些路径是否是从一个版本到另一版本的直接路径,或者在路径经历中间版本的情况下,可以将元数据表示为兼容性矩阵。矩阵可以包括任何已知的兼容性或不兼容性数据,但是矩阵的各部分也可以是未知的。随着越来越多的兼容性体验或测试完成,矩阵可能由于固件兼容性元数据的周期性更新而随时间的推移变得更加完整。
本发明的另一实施例提供了一种计算机程序产品,其包括在有形计算机可用存储介质上体现的计算机可用程序代码。该计算机程序产品包括用于下载用于特定产品的固件图像的候选版本的计算机可用程序代码、用于通过下载用于该特定产品的附加固件兼容性元数据来更新不完整的固件兼容性元数据的计算机可用程序代码以及用于使用已更新固件兼容性元数据来确定固件图像的候选版本是否与安装在特定产品内的固件图像的当前版本兼容的计算机可用程序代码。应认识到的是该计算机程序产品可以包括其他计算机可用程序代码以实现本文所述的方法的任何一个或多个步骤或特征。
图1是提供用于实施本发明的适当环境的示例性数据处理系统10的简化高级框图。数据处理系统10、诸如个人计算机或服务器包括利用系统总线14互连的随机存取存储器(RAM)11、存储器控制器12和中央处理单元(CPU)13。总线控制器15提供了用于对系统总线14与输入/输出总线16之间的数据流进行仲裁的装置。数据处理系统10还包括多个I/O设备,一般地指定为18,诸如磁盘驱动和网卡以及系统固件17,其通常驻留在可编程只读存储器(PROM)器件中,诸如电可擦除可编程只读存储器(EEPROM)。应注意的是虽然已在计算机系统的背景下描述了数据处理系统10,但本发明并不预期使此实践局限于这个特定实施例。可以在任何系统和/或设备中有利地实施本发明,诸如以太网卡,其在其建立和操作阶段中利用固件。
图2是根据本发明的一个实施例的与系统固件通信的快闪实用工具应用程序的图。快闪实用工具应用程序20在数据处理系统10(在本文中另外称为产品)中运行。快闪实用工具20能够从可以存储固件兼容性元数据23的硬盘驱动或其他数据存储设备21或可以存储系统固件17和固件兼容性元数据24的EEPROM22进行读取和向其写入。在其中固件兼容性元数据被存储在硬盘驱动上的实施例中,可以将元数据调用到产品10中的处理器的RAM存储器中达升级过程的持续时间,并且然后将其从RAM存储器擦除。快闪实用工具20还能够通过全球通信网络、诸如因特网30来与web服务器40通信。可以以这种方式将候选固件图像42下载到快闪实用工具20。同样地,可以将固件兼容性元数据44下载到快闪实用工具20中以便更新存储在硬盘驱动23上的固件兼容性元数据23或存储在EEPROM22中的固件兼容性元数据24。应认识到的是可以从不同且分离的源获得候选固件图像42和固件兼容性元数据44。
图3是矩阵或表格形式的固件兼容性元数据24的图。所示元数据仅仅用于特定产品“产品XYZ”。列提供对应于候选固件版本的数据并且行提供对应于当前固件版本的数据。当已识别到候选固件版本,诸如通过将候选版本下载到快闪实用工具,并且当前固件版本也是快闪实用工具所已知的时,对应列和行的交叉点处的单元将提供可用兼容性数据,如果有的话。例如,从当前版本A(行A)到版本G(列G)的升级在点26处提供“X”,其指示候选G与当前版本A不兼容。作为另一示例,从当前版本G(行G)到版本F(列F)的等级返回在点27处被示为是兼容的(示为“√”),但是进一步到版本E(列E)的等级返回在点28处被示为是未知的(单元为空),并且到版本D(列D)的等级返回在点29处被示为不兼容。
在又一示例中,使用元数据24来识别从一个版本到另一版本的路径。如果固件的当前版本是版本C(行C)并且用户已促使快闪实用工具下载候选固件版本G(列G),则点32处的单元显示兼容性是未知的。快闪实用工具将优选不使用且可以避免使用具有未知兼容性的固件版本。然而,元数据24在点34处示出候选版本F(列F)与当前版本C(列C)是兼容的,并且在版本F变成当前版本(行F)之后,然后知道候选版本G(列G)是兼容的(参见点36)。相应地,兼容路径是从版本C到版本F且然后到版本G的序列。
图4是根据本发明的一个实施例的方法50的流程图。在步骤52中,将用于特定产品的固件图像的候选版本下载到特定产品。在步骤54中,下载用于特定产品的附加固件兼容性元数据。相应地,可以在步骤56中用附加固件兼容性元数据来更新固件兼容性元数据的不完整矩阵。在步骤58中,可以使用经更新的固件兼容性元数据来确定固件图像的候选版本是否与固件图像的当前版本兼容。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现在流程图和/或框图中的方框中规定的功能/动作的过程。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在此使用的术语仅是为了描述特定实施例的目的,并不旨在限制本发明。本文所使用的单数形式“一”、和“该”意在也包括复数形式,除非上下文另外清楚地指明。还将理解,当在说明书中使用时,术语“包括”和/或“包含”指明存在所述的特征、整体、步骤、操作、元件、组件和/或组,但不排除存在或附加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其组。术语“优选地”、“优选的”、“优选”、“可选地”、“可以”和类似术语用来指示被提到的项目、条件或步骤是本发明的可选(非必要)特征。
以下权利要求中的所有装置或步骤加功能元素的相应结构、材料、动作以及等效物(如果有的话)意在包括用于与其他要求保护的元素相结合地执行功能的任何结构、材料或动作,如具体地要求保护的那样。本发明的说明书被呈现以用于说明和描述的目的,而不是穷尽性的或将本发明限制于所公开的形式。许多修改和变体对本领域普通技术人员来说是显而易见的,而没有脱离本发明的范围和精神。选择和描述实施例是为了最佳地解释本发明的原理和实际应用,并使得本领域普通技术人员能针对具有适于所考虑的特定用途的各种修改的各种实施例来理解本发明。

Claims (17)

1.一种方法,包括:
下载用于特定产品的固件图像的候选版本;
通过下载用于所述特定产品的附加固件兼容性元数据来更新不完整的固件兼容性元数据;以及
使用经更新的固件兼容性元数据来确定所述固件图像的所述候选版本是否与被安装于所述特定产品内的固件图像的当前版本兼容。
2.根据权利要求1所述的方法,其中所述经更新的固件兼容性元数据包括所述固件图像的所述候选版本与所述当前版本之间的兼容性或不兼容性的指示。
3.根据权利要求1所述的方法,其中所述经更新的固件兼容性元数据包括两个固件版本之间的兼容固件的已证明序列的指示。
4.根据权利要求1所述的方法,还包括:
如果所述经更新的固件兼容性元数据指示候选固件图像是不兼容的,则阻止固件安装。
5.根据权利要求1所述的方法,还包括:
如果所述经更新的固件兼容性元数据指示候选固件图像是兼容的,则允许固件安装。
6.根据权利要求1所述的方法,其中下载固件兼容性元数据包括通过万维网来下载固件兼容性元数据。
7.根据权利要求1所述的方法,其中所述固件兼容性数据与固件分离地被下载。
8.根据权利要求7所述的方法,其中所述固件兼容性数据是在比下载所述固件迟的时间产生的。
9.根据权利要求1所述的方法,还包括:
确定从所述当前固件版本到期望固件版本的路径,其中所述路径包括固件版本的序列,其中所述固件兼容性元数据指示所述序列中的每个后续固件版本与所述序列中的每个先前固件版本兼容。
10.根据权利要求9所述的方法,其中所述路径允许从当前安装的所述固件版本到更新近的固件版本的升级。
11.根据权利要求9所述的方法,其中所述路径允许从当前安装的固件版本到先前固件版本的回退。
12.根据权利要求9所述的方法,还包括:
自动地下载所需的固件图像的中间版本以便遵循测定的升级或等级返回序列。
13.根据权利要求1所述的方法,其中所述元数据被下载作为可扩展标记语言文件。
14.根据权利要求1所述的方法,其中所述经更新的固件兼容性元数据被存储为已知兼容性路径的矩阵。
15.根据权利要求14所述的方法,其中所述矩阵由于所述固件兼容性元数据的周期性更新而随时间变得更加完整。
16.根据权利要求1所述的方法,还包括:
将所述经更新的固件兼容性元数据连同当前安装在所述产品上的所述固件一起存储。
17.一种适合于执行权利要求1至16中的任一项的方法步骤的系统。
CN201410015235.8A 2013-01-17 2014-01-13 用于更新固件兼容性数据的方法和系统 Active CN103942065B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/744,029 US9027014B2 (en) 2013-01-17 2013-01-17 Updating firmware compatibility data
US13/744,029 2013-01-17

Publications (2)

Publication Number Publication Date
CN103942065A true CN103942065A (zh) 2014-07-23
CN103942065B CN103942065B (zh) 2018-07-06

Family

ID=51166303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410015235.8A Active CN103942065B (zh) 2013-01-17 2014-01-13 用于更新固件兼容性数据的方法和系统

Country Status (2)

Country Link
US (2) US9027014B2 (zh)
CN (1) CN103942065B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106843946A (zh) * 2017-01-04 2017-06-13 努比亚技术有限公司 一种固件更新方法及终端
CN107808134A (zh) * 2017-10-26 2018-03-16 广东欧珀移动通信有限公司 图像处理方法、图像处理装置及电子终端
CN112241383A (zh) * 2019-07-18 2021-01-19 Wago管理有限责任公司 模块化系统的部件的更新

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014054179A1 (ja) * 2012-10-05 2014-04-10 富士通株式会社 情報処理装置、システム、方法及びプログラム
US9348582B2 (en) * 2014-02-13 2016-05-24 Linkedin Corporation Systems and methods for software dependency management
US10296241B2 (en) * 2014-03-14 2019-05-21 Omron Corporation Control device, control system, control method for control device, and control method for control system
US9383989B1 (en) * 2014-06-16 2016-07-05 Symantec Corporation Systems and methods for updating applications
KR102261815B1 (ko) 2014-10-30 2021-06-07 삼성전자주식회사 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
US9459857B2 (en) * 2015-01-21 2016-10-04 HGST Netherlands B.V. Managing wear of system areas of storage devices
US20170115978A1 (en) * 2015-10-26 2017-04-27 Microsoft Technology Licensing, Llc Monitored upgrades using health information
US10489138B1 (en) * 2016-06-30 2019-11-26 EMC IP Holding Company LLC Managing software upgrades in storage systems
US10289400B2 (en) * 2016-09-07 2019-05-14 Amplidata N.V. Outdated resource handling and multiple-version upgrade of cloud software
CN107102906B (zh) * 2017-04-26 2019-12-17 福建中金在线信息科技有限公司 一种应用程序的数据处理方法及装置
CN107193563B (zh) * 2017-05-19 2021-05-25 郑州云海信息技术有限公司 一种服务器无状态固件版本管理的方法
CN107957876A (zh) * 2017-11-27 2018-04-24 马瑞利汽车电子(广州)有限公司 一种升级汽车仪表ui和固件程序的方法
TWI676933B (zh) * 2018-07-05 2019-11-11 慧榮科技股份有限公司 韌體更新方法
US20210389937A1 (en) * 2020-06-12 2021-12-16 Western Digital Technologies, Inc. Systems And Methods For Fixing Incompatibilities In Field Firmware Updates
EP4109237A1 (en) * 2021-06-22 2022-12-28 ABB Schweiz AG Computer-implemented method for updating a process control system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6675258B1 (en) * 2000-06-30 2004-01-06 Lsi Logic Corporation Methods and apparatus for seamless firmware update and propagation in a dual raid controller system
US7178141B2 (en) 2001-07-30 2007-02-13 International Business Machines Corporation Method and system for identifying compatibility between firmware images
US20050028146A1 (en) 2003-08-01 2005-02-03 Quick Shawn G. Systems and methods for software and firmware testing using checkpoint signatures
US7984436B1 (en) 2005-09-27 2011-07-19 Intuit Inc. Management of compatibility of software products installed on a user's computing device
US7620392B1 (en) 2006-02-27 2009-11-17 Good Technology, Inc. Method and system for distributing and updating software in wireless devices
US9112891B2 (en) 2007-02-02 2015-08-18 Sharp Laboratories Of America, Inc. Remote firmware management for electronic devices
US8615751B2 (en) 2007-02-28 2013-12-24 Oracle International Corporation Seeding product information
US20080256530A1 (en) 2007-04-16 2008-10-16 William Joseph Armstrong System and Method for Determining Firmware Compatibility for Migrating Logical Partitions
US8151257B2 (en) 2007-05-29 2012-04-03 Sap Ag Managing different versions of server components regarding compatibility with collaborating servers
US8892699B2 (en) 2008-12-31 2014-11-18 Schneider Electric USA, Inc. Automatic firmware updates for intelligent electronic devices
EP2369474B1 (en) 2009-09-18 2017-06-28 Yamaha Corporation Firmware update apparatus and program
KR20110107579A (ko) 2010-03-25 2011-10-04 삼성전자주식회사 인쇄 제어 단말장치 및 펌웨어 업그레이드 방법
CN102289382B (zh) * 2011-08-30 2015-09-02 青岛海信电器股份有限公司 电视软件更新方法、装置及系统
US8978024B2 (en) * 2012-08-02 2015-03-10 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Federated system automatic update communication to enable selective update of critical firmware elements

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106843946A (zh) * 2017-01-04 2017-06-13 努比亚技术有限公司 一种固件更新方法及终端
CN107808134A (zh) * 2017-10-26 2018-03-16 广东欧珀移动通信有限公司 图像处理方法、图像处理装置及电子终端
CN112241383A (zh) * 2019-07-18 2021-01-19 Wago管理有限责任公司 模块化系统的部件的更新

Also Published As

Publication number Publication date
US20140201727A1 (en) 2014-07-17
CN103942065B (zh) 2018-07-06
US9027014B2 (en) 2015-05-05
US20140201726A1 (en) 2014-07-17

Similar Documents

Publication Publication Date Title
CN103942065A (zh) 用于更新固件兼容性数据的方法和系统
US9201632B2 (en) Systems and methods for incremental software development
US10324830B2 (en) Conditional upgrade and installation of software based on risk-based validation
KR102341154B1 (ko) 모바일 장치들의 원격 구성을 허용하기 위해 모바일 장치들 상에 설치되는 고속 어플리케이션
CN109558160A (zh) 升级方法、嵌入式系统
CN103324498A (zh) 用于引导裸机计算设备的方法和设备
CN107844313B (zh) 一种Android中SDK版本升级方法及装置
CN110221860A (zh) 一种配置文件处理方法、装置、终端及介质
US9043779B2 (en) Loading remote binaries onto a write-protected device
CN106293798B (zh) 电子装置的自我修复方法、系统及服务器
CN106557878B (zh) 开发项目管理方法及装置
US10896109B2 (en) Non-monotonic eventual convergence for desired state configuration
TW201721412A (zh) 選擇及載入韌體卷區之技術
CN112650518A (zh) Dsp程序在线升级方法
CN108920171A (zh) 固件更新方法及装置、电子设备
CN111459506B (zh) 深度学习平台集群的部署方法、装置、介质及电子设备
US20150355997A1 (en) Server-Platform Simulation Service
CN117215558A (zh) 安卓的基于可视化的软件开发方法、装置、设备及介质
CN110647457B (zh) 数据挖掘方法、数据处理方法和系统
Faci et al. In situ mutation for active things in the IoT context
CN102323885B (zh) 一种传感网节点操作系统的动态配置方法
McAllister Mastering Jenkins
Tinetti Yet Another Example of ESPx Over the Air (OTA) Firmware Upload and Related Details
CN116910764A (zh) 一种组件漏洞修复方法、装置、设备及介质
Bell et al. Methods for Storing Sensor Data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200923

Address after: Singapore City

Patentee after: Lenovo Enterprise Solutions (Singapore) Pte. Ltd.

Address before: Armank, New York

Patentee before: International Business Machines Corp.

Effective date of registration: 20200923

Address after: 23 / F, Lincoln building, 979 King's road, Quarry Bay, Hong Kong, China

Patentee after: Lenovo Global Technology International Co.,Ltd.

Address before: Singapore City

Patentee before: Lenovo Enterprise Solutions (Singapore) Pte. Ltd.