CN100345106C - 用于软件自动更新和测试的方法和设备 - Google Patents

用于软件自动更新和测试的方法和设备 Download PDF

Info

Publication number
CN100345106C
CN100345106C CNB038222175A CN03822217A CN100345106C CN 100345106 C CN100345106 C CN 100345106C CN B038222175 A CNB038222175 A CN B038222175A CN 03822217 A CN03822217 A CN 03822217A CN 100345106 C CN100345106 C CN 100345106C
Authority
CN
China
Prior art keywords
software part
renewal
test
node
software
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.)
Expired - Fee Related
Application number
CNB038222175A
Other languages
English (en)
Other versions
CN1682184A (zh
Inventor
拉加什·达斯
埃德温·拉塞特雷
埃拉·西加尔
伊万·沃利
史蒂夫·怀特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
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 CN1682184A publication Critical patent/CN1682184A/zh
Application granted granted Critical
Publication of CN100345106C publication Critical patent/CN100345106C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management

Abstract

本发明提供了一种用于更新软件部件的方法,设备和计算机指令。判定是否要更新软件部件(602)。当判定要更新软件部件时,更新软件部件,以形成更新的软件部件(606)。自动测试更新的软件部件(612)。当对更新的部件进行测试出现失败时,执行校正动作(620)。

Description

用于软件自动更新和测试的方法和设备
相关申请的交叉引用
本发明涉及以下申请:“Method and Apparatus for Publishingand Monitoring Entities Providing Services in a Distributed DataProcessing System”,序列号10/252,816(代理受理号YOR920020173US1);“Composition Service for AutonomicComputing”,序列号10/252,324(代理受理号YOR920020181US1);以及“Adaptive Problem Determination and Recovery in a ComputerSystem”,序列号10/252,979(代理受理号YOR920020194US1);所有申请均与本发明在同一天递交,转让给相同受让人,并在此引作参考。
技术领域
本发明通常涉及改进的数据处理系统,具体涉及用于管理软件部件的方法和设备。更具体而言,本发明提供了用于自动更新软件部件的方法和设备。
背景技术
现代计算技术导致了非常复杂和不断变化的环境。一种这样的环境就是Internet,也称为“因特网”。Internet是通过网关连接在一起的一组计算机网络,这些计算机网络有可能不同,所述网关用于处理数据传输,并将消息从发送网络的协议转换到接收网络所使用的协议。术语“Internet”主要指使用TCP/IP协议族的网络和网关的集合。目前,通过Internet传输数据的最常用方法是利用万维网环境,也将其简单地称为“Web″。还存在用于传输信息的其他Internet资源,例如文件传输协议(FTP)和Gopher,但还达不到Web那样普及。在Web环境中,服务器和客户机使用超文本传输协议(HTTP)进行数据事务,HTTP是用于处理各种数据文件(例如,文本,静止图像,音频,运动视频等)传输的公知协议。通过标准页面描述语言,即超文本标记语言(HTML),将各种数据文件中的信息进行格式化,以便提供给用户。Internet还广泛用于向使用浏览器的用户传输应用程序。软件包的用户会经常通过Internet搜索和获取对那些软件包的更新。
其他类型的复杂网络数据处理系统包括为大型公司中便于工作而创建的系统。在许多情形中,这些网络可遍布于世界各地的多处区域。这些复杂的网络还可将Internet用作用于商业运营的虚拟产品网络的部分。由于需要对网络内部使用的软件进行管理和更新,从而这些网络更为复杂。
由多个松散连接的软件部件构成的这种环境通常有些脆弱。在这些环境中,对于网络数据处理系统所涉及的软件部件,对其中一个软件部件部署新版本就可能造成问题,且可能对于仅仅无关地(tangentially)连接到被替换部件的整个系统的各部分造成深远和不可预料的影响。即便危险性并不明显的改变也往往会造成不可预见和不期望的负面影响。从而,由于这些深远的影响,系统管理员通常对于执行诸如部件升级或较小的配置变化之类的更新极为谨慎。当信息系统对于现代商业非常重要时,甚至数秒的机器故障时间也可能造成严重的问题,而跟踪探测该故障时间可能花费远比数秒更多的时间。例如,电子邮件服务器对许多企业提供重要的部件,这是由于这些服务器促成在企业或组织内部和外部的用户之间的通信。导致电子邮件消息传递错误的电子邮件服务器更新会对公司或组织造成生产率降低和业务损失。
随着软件变得日益“自主”,对软件进行更新,配置和修补的任务也将越来越多地由计算机本身执行,而不是由管理员来执行。当前的更新机制趋于“自主”处理。例如,许多操作系统和软件包将基于某些事件,例如定时器或由用户执行的一组特定动作而自动查找更新。更新机制经常在预选位置处连接到Internet,以查看是否存在更新。如果存在更新,则向用户发送消息,该消息向用户询问是否下载和安装更新。下一个趋向于“自主”计算的步骤涉及识别和下载更新,而无需用户的干预。因此,提供一种用于处理因软件的这种更新,重新配置和修补造成的不期望或仅仅不可预料的影响的改进的方法,设备和计算机指令,将是有益的。
发明内容
本发明提供了一种用于更新软件部件的方法,设备和计算机指令。判定是否要更新软件部件。当判定要更新软件部件时,更新软件部件以形成更新的软件部件。自动测试更新的软件部件。响应当测试更新的部件时出现的失败,执行校正动作。
本发明提供了一种在数据处理系统中的方法,用于更新数据处理系统中包含的软件部件,所述方法包括计算机实现的步骤:判定是否要更新该软件部件;当判定要更新该软件部件时,更新该软件部件以形成更新的软件部件;由主更新管理部件跟踪涉及具体实现的信息;建立测试策略,该测试策略根据涉及具体实现的信息指定多个测试中的测试;识别用于软件部件更新的具体实现;选择所述多个测试中针对该具体实现指定的测试,以形成选择的测试;自动地对所述更新的软件部件执行所述选择的测试;建立错误过程策略,该错误过程策略根据错误类型指定多个错误过程中的至少一个;当对所述更新的软件部件进行的所述选择的测试中的一个测试失败时,判定发生的错误的类型;选择所述多个错误过程中针对所述发生的错误的类型而指定的错误过程;使用所述多个错误过程中选择的错误过程判定是否应执行校正动作;当判定没有校正动作应被执行时,保持所述更新的软件部件不被改变;以及当判定应执行校正动作时,根据所述多个错误过程中选择的错误过程执行校正动作。
本发明提供了一种在数据处理系统中对网络数据处理系统中的多个节点部署更新的计算机处理方法,所述计算机处理方法包括:从网络数据处理系统内的多个节点中识别出具有需要更新的软件部件的节点,以形成一组识别的节点;利用该更新来启动对该组识别的节点的更新,以生成一组更新的节点;对该组更新的节点进行自动测试;存储度量数据,该数据包含该组更新的节点的测试的结果;以及当该组更新的节点中的节点出现测试失败时,执行校正动作。
本发明提供了一种更新软件部件的数据处理系统,所述数据处理系统包括:第一判定装置,用于判定是否要更新该软件部件;更新装置,当判定要更新该软件部件时,用于更新该软件部件以形成更新的软件部件;第一跟踪装置,用于通过主更新管理部件跟踪涉及具体实现的信息;第一建立装置,用于建立测试策略,该测试策略根据涉及具体实现的信息指定多个测试中的测试;识别装置,用于识别用于软件部件更新的具体实现;第一选择装置,用于选择所述多个测试中针对该具体实现指定的测试,以形成选择的测试;测试装置,用于自动地对所述更新的软件部件执行所述选择的测试;以及第二建立装置,用于建立错误过程策略,该错误过程策略根据错误类型指定多个错误过程中的至少一个;第二判定装置,用于当对所述更新的软件部件进行的所述选择的测试中的一个测试失败时,判定发生的错误的类型;第二选择装置,用于选择所述多个错误过程中针对所述发生的错误的类型而指定的错误过程;使用装置,用于使用所述多个错误过程中选择的错误过程判定是否应执行校正动作;当判定没有校正动作应被执行时,保持所述更新的软件部件不被改变的装置;以及当判定应执行校正动作时,根据所述多个错误过程中选择的错误过程执行校正动作的装置。
本发明提供了一种对网络数据处理系统中的多个节点部署更新的数据处理系统,所述数据处理系统包括:标识装置,用于从网络数据处理系统内的多个节点中识别出具有需要更新的软件部件的节点,以形成一组识别的节点;启动装置,用于利用该更新来启动对该组识别的节点的更新,以生成一组更新的节点;测试装置,用于对该组更新的节点进行自动测试;存储装置,用于存储度量数据,该数据包含该组更新的节点的测试的结果;以及执行装置,当该组更新的节点中的节点出现测试失败时,用于执行校正动作。
附图说明
在所附权利要求中给出了认为是本发明特征的新颖特性。不过,结合附图,参照后面对示意性实施例的详细描述,将更好地理解本发明本身,和所使用的优选实施方式,以及其他目的和优点,其中:
图1示意性地表示可实现本发明的数据处理系统的网络;
图2表示根据本发明优选实施例实现为服务器的数据处理系统的框图;
图3表示可实现本发明的数据处理系统的框图;
图4表示根据本发明优选实施例对软件部件进行更新时所使用的部件的图例;
图5表示根据本发明优选实施例的自主更新中所使用的部件的图例;
图6表示用于根据本发明优选实施例执行自主更新的过程的流程图;
图7表示用于根据本发明优选实施例执行自主更新的过程的流程图;
图8表示用于根据本发明优选实施例执行自主更新的过程的流程图;而
图9表示用于根据本发明优选实施例修改自主更新的过程的流程图。
具体实施方式
现在参照附图,图1示意性地表示可实现本发明的数据处理系统的网络。网络数据处理系统100为可实现本发明的计算机网络。网络数据处理系统100包含网络102,网络102是用于在网络数据处理系统100内连接在一起的多个设备和计算机之间提供通信链路的介质。网络102可包括诸如线缆,无线通信链路或光缆之类的连接。
在所述示例中,服务器104与网络102连接,并且与存储单元106连接。此外,客户机108,110和112也与网络102相连。这些客户机108,110和112可为例如个人计算机或网络计算机。在所述示例中,服务器104向客户机108-112提供数据,如引导文件,操作系统映像和应用程序。客户机108,110和112为服务器104的客户机。服务器104可为客户机(如客户机108,110和112)提供更新源。在这些示例中,网络数据处理系统100包含自动计算特性,如更新在网络数据处理系统100内使用的软件部件的特性。具体地,可在无需用户干预以获取和安装更新的情况下对软件部件进行更新。这些更新可包括例如对软件部件的可执行文件的更新,对软件部件的新可执行文件或数据文件的更新,或甚至对软件部件的配置文件的改变。网络数据处理系统100可包括另外的服务器,客户机,以及其他设备,在此未示出。
在所述示例中,网络数据处理系统100为Internet,其中网络102表示彼此使用传输控制协议/网际协议(TCP/IP)协议族进行通信的网络和网关的世界范围集合。Internet的核心为主节点或主机(由成千上万个对数据和消息进行路由的商业,政府,教育及其他计算机系统组成)之间的高速数据通信线路的骨干网。当然,还可将网络数据处理系统100实现为多个不同类型的网络,如企业内部网,局域网(LAN),或广域网(WAN)。图1意在作为示例,并不对本发明进行体系结构限制。
参看图2,其中根据本发明优选实施例描述了可实现为服务器(例如图1中的服务器104)的数据处理系统的框图。数据处理系统200可以是包括与系统总线206相连的多个处理器202和204的对称多处理器(SMP)系统。或者,可以采用单处理器系统。存储器控制器/高速缓存208也与系统总线206连接,并为局部存储器209提供接口。I/O总线桥(bus bridge)210与系统总线206相连,并为I/O总线212提供接口。如图所示,可将存储器控制器/高速缓存208与I/O总线桥210集成。
连接到I/O总线212的外围部件互连(PCI)总线桥214提供针对PCI局部总线216的接口。若干个调制解调器可与PCI局部总线216连接。典型的PCI总线设备将支持4个PCI扩展槽或内插(add-in)连接器。到图1中客户机108-112的通信链路可通过经由内插板(add-in board)与PCI局部总线216相连的调制解调器218或网络适配器220来提供。
附加的PCI总线桥222和224提供针对附加PCI局部总线226和228的接口,由此可支持附加的调制解调器或网络适配器。通过这种方式,数据处理系统200能连接多个网络计算机。如图所示,还可将存储器映射图形适配器230和硬盘232直接或间接地与I/O总线212相连。
本领域技术人员可知,可以改变图2中所示的硬件。例如,还可以使用其他外围设备,如光盘驱动器等,或者用这些设备添加到或取代所述硬件。所述示例并不意味着对本发明进行体系结构限制。
在图2所示的数据处理系统例如可为IBM eSever系统(纽约Armonk的IBM公司的产品),该系统可运行先进交互执行程序(AIX)操作系统或LINUX操作系统。
现参看图3,图3的框图表示可实现本发明的数据处理系统。数据处理系统300表示客户机计算机的示例。数据处理系统300采用外围部件互连(PCI)局部总线体系结构。尽管所示示例采用PCI总线,不过也可使用其他总线体系结构,如加速图形端口(AGP)和工业标准体系结构(ISA)。处理器302和主存储器304通过PCI桥308与PCI局部总线306相连。PCI桥308还可包括处理器302的集成存储器控制器和高速缓存。到PCI局部总线306的附加连接可通过直接部件互连或内插板实现。在所示示例中,局域网(LAN)适配器310,SCSI主机总线适配器312和扩展总线接口314通过直接部件连接与PCI局部总线306相连。相比之下,音频适配器316,图形适配器318和音频/视频适配器319通过插入到扩展槽的内插板与PCI局部总线306相连。扩展总线接口314为键盘和鼠标适配器320,调制解调器322和附加存储器324提供连接。小型计算机系统接口(SCSI)主机总线适配器312为硬盘驱动器326,磁带驱动器328和CD-ROM驱动器330提供连接。
操作系统在处理器302上运行,用于对图3中数据处理系统300内的多个部件进行协调和提供控制。操作系统可为市场上能够获得的操作系统,如Windows XP(可从微软公司获得)。诸如Java的面向对象编程系统可结合操作系统运行,并从在数据处理系统300上执行的Java程序或应用提供对操作系统的调用。“Java”为SunMicrosystems公司的商标。操作系统,面向对象的操作系统,和应用或程序的的指令处在存储设备上,如在硬盘驱动器326上,并且可将其载入到主存储器304,以便由处理器302执行。
本领域技术人员可知,可以根据实现改变图3中所示的硬件。可以使用其他内部硬件或外围设备,如快擦写只读存储器(ROM),等效非易失性存储器或光盘驱动器等,来补充或取代图3中所示硬件。另外,本发明的处理可应用于多处理器的数据处理系统。
图3所示示例和上述示例并不意在对体系结构进行限制。例如,除采用PDA的形式外,数据处理系统300还可为笔记本电脑或手持式计算机。数据处理系统300还可为公共信息亭(kiosk)或Web电器。
现参看图4,图4表示根据本发明优选实施例对软件进行更新时所使用的部件。这些部件可处在单个数据处理系统内部,或这些部件中的一个或多个可处在一个或多个其他数据处理系统中。
在执行自动更新时,更新管理部件400利用数据库402。使用术语“自主更新”表示使用软件过程没有任何用户干预地自动执行软件部件的更新。该更新可包括例如对可执行文件的改变,对数据文件的改变,添加新的可执行文件,添加新的数据文件,或改变配置。数据库402包括可用更新(available update)404,测试信息406,安装信息408和回退信息410。可用更新404包含有关对不同软件部件的更新的消息,它可由更新管理部件400进行管理。该信息可包括例如通过版本号所标识的当前可用更新,可标识更新的位置或路径,或实际更新文件本身。该信息还可包括参与自主更新的不同数据处理系统的标识。如果更新位于可用更新404之外,则这些更新可通过路径或位置信息来定位。例如,在可用更新404内的更新信息可指向存储介质412,该存储介质可由更新管理部件400访问。存储介质412可与更新管理部件400位于相同的数据处理系统上,或可处在远程数据处理系统上。该存储介质可采用多种形式,如硬盘驱动器,磁带或CD-ROM。
数据库402还包括可用更新404中列出的每个更新的测试信息。在这些示例中,测试信息406指定在自主部署更新之后所要执行的零或更多个测试。术语“自主部署”可与术语“自主更新”互换使用。在自主更新后执行的测试可根据具体实现进行变化。测试可包括除用于确定更新是否被正确安装的测试之外的测试。例如,在某些情形中,测试可包括性能测试,单元测试,兼容性测试,或运行中(on-the-fly)回归测试。单元测试涉及测试更大整体的一小部分。例如,针对正开发的特定软件的各个对象进行软件单元测试,以检验这些对象是否响应不同输入和输出而产生正确行为。在这些示例中,单元测试涉及对特别相关于所应用更新的一个或多个部件进行测试。更新可为例如新的程序文件,修改的程序文件,或配置改变。此类型测试从时间和影响方面而言成本较低,并且在过程级别(course level)上验证对于某些标准或基准(benchmark)而言该更新正有效执行。性能测试被用于确定更新之后的系统性能是可接受的。可使用各种阈值和标准作为性能测试的部分。可采用兼容性测试以确保更新部件按照与更新部件通信的其他部件可接受的方式工作。回归测试为可用于确定更新部件是否与旧部件等效工作的另一种测试。对于性能测试,如果软件部件未满足某种度量(metric)或阈值,则即便已对软件部件成功部署更新,该测试也失败。所执行的不同类型测试称为“自主”测试,这是由于在执行更新后自动执行测试。执行这些测试不需要任何用户输入。在这些示例中,由更新管理部件400执行自主测试。“自主”测试是不需要用户输入或介入便可启动或执行的测试。换而言之,响应于更新刚好发生而启动自动测试,其中不需要用户向数据处理系统提供用户输入来选择或启动测试。是否执行测试以及执行什么样的测试取决于测试信息406内的策略。例如,策略可指定如果更新是针对电子邮件服务器的,则在部署更新后要执行性能测试。另外,所要采取的校正动作可包括在测试信息406中。校正动作可包括例如回退更新,安装完全不同的软件部件,或用不同的参数或选项重新安装更新。
此外,数据库402还包含安装消息408。在这些示例中,该安装消息指定在使用特定更新安装或更新软件部件时由更新管理部件400所使用的过程。回退信息410指定若更新要被回退则所要执行的过程。更新的回退涉及移除更新,并将软件部件置回到其更新前的先前状态。如果对更新的软件部件的测试结果为失败或某种特定错误,则根据本发明的优选实施例执行这样的过程。在某些情形中,错误或许较小,导致不执行回退而保留更新。在另外一些情形中,错误可能较严重,导致更新管理部件400执行更新的回退。
安装数据库414是安装在特定数据处理系统上的软件部件和更新的数据库。安装数据库414可包含一个数据处理系统或多个数据处理系统的信息。安装数据库414可被更新管理部件400用来通过可用更新404交叉引用该数据库中的信息,以识别可用于特定数据处理系统的更新。其次,历史数据库416包含对数据处理系统做出的更新的历史纪录。例如,该历史信息包括当每个更新均被部署时,已被部署到数据处理系统的可用更新404中的更新的标识,以及对更新执行的测试的测试结果。该数据库还可跟踪不止一个计算机的状态。此外,可将更新测试后做出的判决以及根据测试结果所采取的任何动作存储在历史数据库416中。通过历史数据库416,更新管理部件400可对更新做出例如有关安装哪些更新以及何时安装更新的判定。更新管理部件400使用的另一数据库是优选数据库(preference database)418。该数据库包含用于控制更新管理部件400的操作的附加信息。例如,优选数据库418可指定对于特定软件部件,不应安装最新的更新。从而,该特定软件部件会一直使用当前可用更新之前的更新来运行。
在这些示例中,安装数据库414,历史数据库416和优选数据库418可包含关于不止一个客户机数据处理系统的信息。例如,优选数据库418可指定对于特定软件部件和特定数据处理系统,不应安装最新的更新。从而,该特定数据处理系统会一直使用该特定软件部件的当前可用更新之前的更新来运行。更新管理部件400还可跟踪除在数据库402中所示信息之外的其他类型的信息。例如,可将与计算机过去状态以及更新有关的信息存储在数据库402中。
现在参看图5,图5表示根据本发明优选实施例的自动更新中所使用的部件。在该示例中,使用中央或主更新部件(如主更新管理部件500)执行更新,从而对多个不同客户机(如客户机502和504)上的更新进行管理。这些客户机包含辅助更新管理部件,例如,辅助更新管理部件506和508。主更新管理部件500可处在服务器上,如处在图1中的服务器104上,而辅助更新管理部件506和508可处在客户机上,如在图1中的客户机108和110上。这些辅助更新管理部件均管理其所在的客户机上的软件部件。
在该示例中,数据库510被主更新管理部件500访问,以控制可用更新的自主更新,测试和回退。在这些示例中,可用更新在可用更新512中。用于在客户机502和504上安装更新的信息在安装信息514中,而在安装之后所要执行的测试在测试信息516中。如果测试失败,则用于回退更新的过程在回退信息518中。
辅助更新管理部件506访问历史数据库520和优选数据库522,而辅助更新管理部件508访问历史数据库524和优选数据库526。这些辅助更新管理部件均会与主更新管理部件500联系以确定更新是否可用于每个特定客户机。在检查可用更新时,可将有关安装的更新的优选信息和历史信息从辅助更新管理部件506和辅助更新管理部件508发送到主更新管理部件500。该检查的进行可基于某些事件,如周期性事件(类似于定时器的到期),或基于某些其他非周期性事件,如软件部件的启动。更新的可用性存储在可用更新512中。
如果更新可用,则由主更新管理部件500从安装信息514获得用于安装更新的过程,并将其发送到辅助更新管理部件506和508。响应于接收到安装信息,辅助更新管理部件506和辅助更新管理部件508将使用从主更新管理部件500接收的过程执行自主更新。安装更新之后,辅助更新管理部件506和辅助更新管理部件508将使用通过主更新管理部件500接收的来自测试信息516的测试信息,执行更新的测试。如果测试成功,则软件部件继续操作。如果测试不成功,则通过主更新管理部件500从回退信息接收回退过程。关于更新,测试和回退的数据及其他统计信息存储在历史数据库520和历史数据库524中。
在该特定示例中,主更新管理部件500可跟踪附加信息,如关于参与自主更新的计算机,用于执行测试的数据处理系统的标识,每个软件部件的版本标识以及当前安装在计算机中的配置的信息,以及关于可用于安装的软件部件的版本和配置的信息。另外,主更新管理部件500还可跟踪有关在客户机上当前进行的更新和测试的其他信息。该信息可包括例如当前更新的软件部件和所执行的任何测试的状态或阶段。
在关键软件部件的情形中,可在具有相似或相同配置的新客户机上执行软件部件的安装。例如,客户机502可为形成网络数据处理系统关键部件的电子邮件服务器。当辅助更新管理部件506识别出电子邮件服务器部件的可用更新时,识别出在其上要执行更新的另一客户机。特别是,可由辅助更新管理部件508对客户机504进行更新,而客户机502不进行更新。当在客户机504上对电子邮件服务器部件进行更新并执行测试后,可将用户从客户机502转移或迁移到客户机504。如果未出现失败或错误,则可逐步停止(phase out)客户机502,客户机504可向用户提供电子邮件服务。如果出现错误,则可使用户移回到客户机502。如果在更新后出现某些错误或失败,该过程提供了附加的防故障机制。通过在第二数据处理系统上执行更新,同时保持第一数据处理系统处于没有更新的状态,当在第二数据处理系统上出现失败时,可快速使第一数据处理系统恢复服务。当然,该过程可通过对软件部件的更新以及使用迁移进行控制的单个管理部件来执行,如图4所示,而不采用如图5所示分布式结构。
现在参看图6,图6表示用于根据本发明优选实施例执行自主更新的过程的流程图。如图6所示的流程可在更新管理部件(例如,图4中的更新管理部件400)中实现。
流程以选择软件部件(步骤600)而开始。部件的选择可根据具体实施方式而发生变化。在这些示例中,所选的部件可通过访问安装数据库,例如图4中的安装数据库414来进行识别。安装数据库可标识在特定数据处理系统上安装的软件部件。或者,软件部件可在特定时刻(如当要执行更新时)动态识别。判定更新对于软件部件是否可用(步骤602)。该更新可通过检查数据库,例如图4的数据库402中的信息来进行。如果更新对于部件可用,则判定是否需要更新(步骤604)。该判决可借助可在数据库,例如图4的历史数据库416和优选数据库418中找到的优选和历史信息来实现。如果需要更新,则部署更新(步骤606)。在部署更新后,判定部署是否成功(步骤608)。如果部署是成功的,则判定是否测试更新(步骤610)。在某些情形中,可不对更新执行测试。如果要对更新进行测试,则执行一个或多个指定的测试(步骤612)。要运行的特定测试通过测试消息(例如,在图4所示数据库402中所找到的测试消息406)来指定。执行测试之后,判定对更新所执行的测试是否成功(步骤614),如果测试是成功的,则更新历史数据库(步骤616)。历史数据库为诸如图4所示历史数据库416的历史数据库。写入到数据库中的信息包括关于更新形式的信息,测试的结果,以及用于确定更新对软件部件的未来应用的任何其他数据。接下来,判定是否存在其他未处理的软件部件(步骤618)。如果不存在其他未处理的软件部件,则流程结束。
再次参看步骤618,如果存在其他未处理的软件部件,则流程返回到如上所述的步骤600。回到步骤614,如果测试未成功,则执行校正动作(步骤620)。对软件部件更新的回退可作为校正动作执行。可执行的其他校正动作包括例如识别应用到软件部件的不同更新,或加速全新软件部件的展开(roll out)以代替现有软件部件。例如,如果对Web服务器进程的更新导致测试失败,可安装来自不同源的Web服务器进程来代替当前的Web服务器进程,而不是将Web服务器进程回退到其未更新状态。所要采取的具体校正动作可包括在数据库,例如图4的数据库402中。如果执行回退,可从图4所示数据库402的回退信息中识别用于回退更新的过程。此后,发送通知(步骤622)。通知通常在没有进行更多尝试来重新应用更新时发送。通知通常发送给管理人员。通知可通过多种通信机制发送,如电子邮件,寻呼机和简单网络管理协议(SNMP),其中流程进行到如上所述的步骤618。
回到步骤608,如果部署不成功,则判定是否重试更新部署(步骤624)。如果要重复更新,则流程返回到步骤606。否则,流程进行到如上所述的步骤622。在此情形中,通知指示在部署中出现失败。通知可在多种类型的失败后出现,例如,当单个部署失败时,当对同一目标的同一更新的两次或多次尝试部署失败时,或当对不同目标的同一更新的两次或多次尝试部署失败时,或当对同一目标的两个或多个不同更新的一次或多次尝试部署失败时。可根据具体实施方式将这些通知记录在文件中或发送到管理员处。再次参看步骤610,如果不执行测试,流程进行到如上所述的步骤618。在某些情形中,如果度量表明不太可能出现失败,则不执行测试。如果不需要更新,则流程也从步骤604进行到步骤618。再次参看步骤602,如果更新对部件而言不可用,则流程也进行到步骤618。
现在参看图7,图7表示用于根据本发明优选实施例执行自动更新的过程的流程图。如图7所示的流程可在辅助更新管理部件(例如,图5的辅助更新管理部件506)中实现。
流程以向主更新管理部件发送消息(步骤700)而开始。该消息包括有关更新是否可用以及是否应执行更新的查询。发送到主管理部件的消息可包括诸如以下内容的信息:关于更新的优选信息和关于对软件部件执行的最后更新的历史信息。接收对消息的响应(步骤702)。消息指示是否要执行更新以及所要执行的任何更新的标识。该消息还可包括诸如以下的信息:用于安装更新的过程,安装更新后执行的一个或多个测试的标识,以及如果测试不成功,回退过程的标识。判定是否要执行更新(步骤704)。如果要执行更新,则使用从主更新管理部件接收的安装信息对软件部件执行更新(步骤706)。对部件进行测试(步骤708),并判定测试是否成功(步骤710)。如果测试成功,则更新历史数据库(步骤712),此后,流程结束。
再次回到步骤710,如果测试不成功,则执行更新的回退,以便从软件部件中去除更新,并将软件部件置回到其先前状态(步骤714),此后,流程结束。再次参看步骤704,如果不需要执行更新,则流程结束。
还可对图7所示步骤进行修改,以使得辅助更新管理部件能够被主更新管理部件联系到。在此情形中,主更新管理部件告知辅助更新管理部件什么更新是可用的。与在辅助更新管理部件对主更新管理部件进行询问以确定更新是否可用的这些示例中所述的拉入模型(pullmodel)相对比,这样的配置属于推送模型(push model)。
现参看图8,图8表示用于根据本发明优选实施例执行自主更新的过程的流程图。图8所示流程可在更新管理部件(例如,在图5中的辅助更新管理部件506和在图4中的更新管理部件400)中实现。在该示例中的流程用于对具有重要功能的软件部件执行软件更新。
流程以判定更新是否可用(步骤800)而开始。如果更新是可用的,则判定是否需要更新(步骤802)。如果需要更新,则识别新的系统(步骤804)。新系统为另一数据处理系统,将所述另一数据处理系统配置成提供同更新管理部件所管理的软件部件相同的功能。例如,如果软件部件为电子邮件服务器,则选择更新包含该软件部件的另一数据处理系统。对新系统部署更新(步骤806)。测试对新系统的更新(步骤808),判定更新是否成功(步骤810)。如果更新成功,将软件部件的客户移到新系统(步骤812)。在步骤812中,根据具体实施方式,可将某些或全部客户移动到新系统。判定将客户移动或转移到新系统后是否存在错误(步骤814)。如果存在错误,将客户移回到旧系统(步骤816),此后,流程结束。
再次参看步骤814,如果不存在错误,则逐步停止旧系统(步骤818),此后,流程结束。再次参看步骤810,如果更新不成功,则流程结束。当然,根据具体实施方式,可执行附加尝试以实现更新。再次参看步骤802,如果不需要更新,则流程结束。再次参看步骤800,如果更新不可用,则流程结束。
现在参看图9,图9表示用于根据本发明优选实施例修改自主更新的过程的流程图。图9所示的流程可在更新管理部件(例如,在图5中的主更新管理部件500)中实现。
流程以检索关于更新的度量(步骤900)而开始。这些度量可从历史数据库(例如在图5中的历史数据库520或历史数据库524)中检索。这些度量可从单个客户机或节点,或者从网络数据处理系统中的多个客户机或节点获取。这些度量包括诸如以下的数据:执行展开的日期和客户机,发生回退的数据和客户机,以及关于更新的任何测试和测试结果。对度量进行分析(步骤902)。根据具体实现,该分析可采用各种形式。例如,可对度量进行分析以识别在特定类型或组的软件实体,用户,硬件类型和操作系统之间的错误出现率之间的模式和关联。使用该分析修改更新的部署(步骤904),此后,流程结束。该修改可采用各种形式。例如,可避免在更新很可能失败的数据处理系统上进行更新的部署。该修改还可包括对很可能成功部署的数据处理系统进行加速更新部署。修改还可包括停止更新部署或修改更新。分析可导致这样的修改,其中,部署或进行附加更新以提高先前更新的成功率。此外,根据在步骤902中识别的特定关联或模式,可对管理员提供关联或模式的通知。
从而,本发明提供了用于自主更新软件部件的改进的方法,设备和计算机指令。本发明的机制对软件部件进行更新,自动测试软件部件以判定是否出现错误或故障,并且当在测试中识别出错误或故障时,可将更新回退到先前的版本或采取某些其他校正动作。显然,本发明的更新管理部件能够接收关于更新的进展和状态的信息,并基于该信息作出判决。这些判决可囊括从简单(例如,判断是否回退升级以及不尝试重新部署)到复杂(例如,判断是否部分回退升级-将其从升级计算机的子集进行回退-以及对于按照某种相关度量而言与升级会使测试失败的计算机相似的计算机,不尝试部署升级)的范围。因此,显然看出,与没有更新管理部件的情况相比,更新管理部件的出现使得能够基于更宽的可用数据集自动地进行更为复杂的判决。
出于进一步改进的目的,在另一优选实施例中,更新的显著成功(按照一个或多个适当的度量而言)可加速对其他机器的更新部署。在又一实施例中,度量的分析表明软件更新在某些环境中工作良好,而在其他环境中并不好,并且分析可指示在更新运行不好的环境之间的相似性-于是可继续对与更新失败的环境不具有相似性的机器进行更新展开。在另一实施例中,当部件部署遇到问题时,可决定加速对被认为可解决,或通过某些其他方式处理所检测出的问题的另一软件部件的部署。另一可能的实施例具有这样的更新管理部件,即该更新管理部件对许多计算机执行同样的更新,并且当在一些这样的计算机上成功进行更新和测试之后,决定跳过该更新对其余计算机的部署的某些或全部测试。
另外,本发明的机制可保持所有软件更新,展开,回退和测试的度量,以识别在特定类型的软件实体,特定类型的用户,特定类型的数据处理系统,和/或操作系统之间的错误出现模式。这些模式可通过通常用于识别模式的不同统计分析来识别。多个数据处理系统上多个更新的总体行为的某些示例包括这样一种模式,其中每次在运行特定操作系统的机器上尝试更新时更新失败。在该情形中,在未来不应执行对该特定操作系统的更新。另一示例为,每次将更新安装在特定厂商的数据处理系统上时,更新失败。另一模式的示例为,当到第三更新安装时,而其在第一更新后任何时候的安装都无法通过测试。另一模式可为,例如,除非先安装第二更新,否则从来都不安装第四更新。更细粒度的模式检测也可用于检测其他模式,例如,在性能或兼容性方面的模式。这些模式可用于自适应修改更新的过程或更新处理中的其他因素,以减少部署中错误以及所需回退的发生。例如,特定模式可指示其中发生安装的方式的改变,或者在特定步骤或选项被识别为导致测试故障或失败的情况下,指示更新选项的选择。通过该方式,可避免在测试很可能失败的系统上进行部署或更新。此外,这些识别可加速软件的部署,以对其他计算机进行更新。在所识别的模式表明更新不太可能导致任何失败的情形中,这确实如此。此外,当模式表明会出现许多失败时,可停止更新的部署。在其他情形中,模式可表明应采用附加的更新以提高先前更新的成功率。该机制还可用于以某种方式识别对更新的修改以增加随后更新的成功可能性。更新过程可用于基于哪些先前更新已经执行或尚未执行来对模式(例如,在其中某些安装会失败或不会成功出现的模式)进行自动测试和响应。可通过改变过程来调整更新过程,以避免在测试或更新安装中出现失败。
重要的是应注意,虽然针对全功能的数据处理系统描述了本发明,然而本领域普通技术人员应该理解,本发明的处理能够以计算机可读指令介质的形式以及多种其它形式分布,并且无论实际用于实现分布的信号承载介质的具体类型如何,本发明同样适用。计算机可读介质的示例包括可读类型介质,如软盘,硬盘驱动器,RAM,CD-ROM,DVD-ROM,和传输类型介质,诸如使用例如无线电频率和光波传输的传输形式的数据和模拟通信链路,有线或无线通信链路。计算机可读介质可采用编码格式的形式,该编码格式在具体数据处理系统中为实际使用而进行解码。
本发明的描述是出于说明及描述目的,并不意在以所批露的形式详尽列举出本发明或限制本发明。显而易见,本领域普通技术人员能够易于想到多种修改和变形。所选及所述实施例是为了更好地说明本发明的原理以及实际应用,并能够使本领域其他普通技术人员理解本发明的具有各种修改的多种实施例,这些修改的实施例适用于他们所想到的具体应用。

Claims (46)

1.一种在数据处理系统中的方法,用于更新数据处理系统中包含的软件部件,所述方法包括计算机实现的步骤:
判定是否要更新该软件部件;
当判定要更新该软件部件时,更新该软件部件以形成更新的软件部件;
由主更新管理部件跟踪涉及具体实现的信息;
建立测试策略,该测试策略根据涉及具体实现的信息指定多个测试中的测试;
识别用于软件部件更新的具体实现;
选择所述多个测试中针对该具体实现指定的测试,以形成选择的测试;
自动地对所述更新的软件部件执行所述选择的测试;
建立错误过程策略,该错误过程策略根据错误类型指定多个错误过程中的至少一个;
当对所述更新的软件部件进行的所述选择的测试中的一个测试失败时,判定发生的错误的类型;
选择所述多个错误过程中针对所述发生的错误的类型而指定的错误过程;
使用所述多个错误过程中选择的错误过程判定是否应执行校正动作;
当判定没有校正动作应被执行时,保持所述更新的软件部件不被改变;以及
当判定应执行校正动作时,根据所述多个错误过程中选择的错误过程执行校正动作。
2.根据权利要求1的方法,其中,判定是否更新软件部件的步骤包括:
判定是否存在针对该软件部件的更新;
当存在针对该软件部件的更新时,判定是否应对该软件部件应用该更新;以及
当判定应对该软件部件应用该更新时,对该软件部件应用该更新,以形成更新的软件部件。
3.根据权利要求1的方法,其中,校正动作包括将更新的软件部件回退到进行更新之前的状态。
4.根据权利要求1的方法,其中,所述多个错误过程包括以下过程:识别可选更新,将更新的软件部件回退到未更新时的软件部件,安装不同的软件部件,不执行任何校正动作,和安装可选更新。
5.根据权利要求1的方法,其中,更新是配置文件的新参数。
6.根据权利要求1的方法,其中,更新是软件部件的可执行文件。
7.根据权利要求1的方法,还包括:
存储有关更新,回退,更新部件测试的测试结果,用户组之间的错误出现率,特定类型的软件部件之间的错误出现率,和操作系统组之间的错误出现率中的至少一个的数据。
8.根据权利要求1的方法,其中,所述选择的测试包括以下测试的至少之一:使用性能测试,运行中回归测试,单元测试和兼容性测试。
9.根据权利要求1的方法,其中,第一方为软件更新的源,第二方提供所述策略,该策略用于判定是否更新该软件部件。
10.根据权利要求1的方法,其中,判定是否更新软件部件的步骤包括:
判定该更新是否可用;以及
如果该更新可用,使用与特定类型的软件源,用户,操作系统类型,和数据处理系统类型中的至少一个有关的错误出现模式判定是否应用该更新。
11.根据权利要求1的方法,还包括:
判定是否成功地更新该软件部件以形成更新的软件部件;以及
当没有成功更新该软件部件时,发送关于失败的通知。
12.根据权利要求1的方法,还包括:
判定是否成功地更新该软件部件以形成更新的软件部件;以及
当没有成功更新该软件部件时,重新尝试该软件部件的更新。
13.根据权利要求1的方法,还包括:
所述测试策略针对所述具体实现指定安装测试和性能测试;
自动执行安装测试以判定更新的软件部件是否被恰当安装;
当判定更新的软件部件被恰当安装时,自动地对更新的软件部件执行性能测试,以判定更新的软件部件是否满足预设的度量;和
当判定更新的软件部件不满足预设的度量时,执行校正动作。
14.一种在数据处理系统中对网络数据处理系统中的多个节点部署更新的计算机处理方法,所述计算机处理方法包括:
从网络数据处理系统内的多个节点中识别出具有需要更新的软件部件的节点,以形成一组识别的节点;
利用该更新来启动对该组识别的节点的更新,以生成一组更新的节点;
对该组更新的节点进行自动测试;
存储度量数据,该数据包含该组更新的节点的测试的结果;以及
当该组更新的节点中的节点出现测试失败时,执行校正动作。
15.根据权利要求14的计算机处理方法,其中,校正动作是以下动作中的至少一个:发送关于测试失败的通知,对测试失败的节点重新尝试进行更新,使更新回退,和安装不同的软件部件。
16.根据权利要求14的计算机处理方法,还包括:
当对该组识别的节点中的软件部件进行更新时,判定节点中是否出现失败;以及
当在对该组节点中至少两个节点的软件部件进行的更新中出现失败时,发送关于失败的通知。
17.根据权利要求14的计算机处理方法,还包括:
当对该组识别的节点中的软件部件进行更新时,判定节点中是否出现失败;以及
当在对该节点的软件部件进行的更新中出现失败时,对该节点中的该软件部件重新尝试更新。
18.根据权利要求17的计算机处理方法,还包括:
当对节点中的软件部件的更新出现第二次失败时,发送关于失败的通知。
19.根据权利要求14的计算机处理方法,还包括:
对所述度量数据进行分析,以识别该多个节点中的测试失败的模式。
20.根据权利要求19的计算机处理方法,还包括:
修改多个节点内节点的识别,以按照减少测试失败的方式接收未来更新,其中,该识别是基于测试失败的模式。
21.根据权利要求19的计算机处理方法,还包括:
修改多个节点内的节点的识别,以按照该多个节点中的某些节点停止接收该软件部件的更新的方式接收未来更新,其中,识别是基于测试失败的模式。
22.根据权利要求19的计算机处理方法,还包括:
修改多个节点内的节点的识别,以按照该多个节点中的某些节点停止接收该软件部件的更新的方式接收未来更新,其中,所述某些节点是很可能出现失败的节点,并且识别是基于测试失败的模式。
23.根据权利要求19的计算机处理方法,还包括:
修改多个节点内的节点的识别,以按照该多个节点中的某些节点以加速速率接收更新的方式接收未来更新,其中,识别是基于测试失败的模式。
24.一种更新软件部件的数据处理系统,所述数据处理系统包括:
第一判定装置,用于判定是否要更新该软件部件;
更新装置,当判定要更新该软件部件时,用于更新该软件部件以形成更新的软件部件;
第一跟踪装置,用于通过主更新管理部件跟踪涉及具体实现的信息;
第一建立装置,用于建立测试策略,该测试策略根据涉及具体实现的信息指定多个测试中的测试;
识别装置,用于识别用于软件部件更新的具体实现;
第一选择装置,用于选择所述多个测试中针对该具体实现指定的测试,以形成选择的测试;
测试装置,用于自动地对所述更新的软件部件执行所述选择的测试;以及
第二建立装置,用于建立错误过程策略,该错误过程策略根据错误类型指定多个错误过程中的至少一个;
第二判定装置,用于当对所述更新的软件部件进行的所述选择的测试中的一个测试失败时,判定发生的错误的类型;
第二选择装置,用于选择所述多个错误过程中针对所述发生的错误的类型而指定的错误过程;
使用装置,用于使用所述多个错误过程中选择的错误过程判定是否应执行校正动作;
当判定没有校正动作应被执行时,保持所述更新的软件部件不被改变的装置;以及
当判定应执行校正动作时,根据所述多个错误过程中选择的错误过程执行校正动作的装置。
25.根据权利要求24的数据处理系统,其中,所述第一判定装置还包括:
第三判定装置,用于判定是否存在针对该软件部件的更新;
第四判定装置,当存在针对该软件部件的更新时,用于判定是否应对该软件部件应用该更新;以及
应用装置,当判定应对该软件部件应用该更新时,用于对该软件部件应用该更新,以形成更新的软件部件。
26.根据权利要求24的数据处理系统,其中,校正动作包括将更新的软件部件回退到进行更新之前的状态。
27.根据权利要求24的数据处理系统,其中,校正动作包括以下动作中的至少之一:识别可选更新,将更新的软件部件回退到未更新时的软件部件,安装不同的软件部件,和安装可选更新。
28.根据权利要求24的数据处理系统,其中,更新是配置文件的新参数。
29.根据权利要求24的数据处理系统,其中,更新是软件部件的可执行文件。
30.根据权利要求24的数据处理系统,还包括:
存储装置,用于存储有关更新,回退,更新部件测试的测试结果,用户组之间的错误出现率,特定类型的软件部件之间的错误出现率,和操作系统组之间的错误出现率中的至少一个的数据。
31.根据权利要求24的数据处理系统,其中,所述选择的测试包括以下测试的至少之一:使用性能测试,运行中回归测试,单元测试和兼容性测试。
32.根据权利要求24的数据处理系统,其中,第一方为软件更新的源,第二方提供所述策略,该策略用于判定是否更新该软件部件。
33.根据权利要求24的数据处理系统,其中,第一判定装置包括:
第一装置,用于判定更新是否可用;以及
第二装置,如果该更新可用,用于使用与特定类型的软件源,用户,操作系统类型,和数据处理系统类型中的至少一个有关的错误出现模式判定是否应用该更新。
34.根据权利要求24的数据处理系统,其中,第一判定装置还包括:
第三判定装置,用于判定是否成功地更新该软件部件以形成更新的软件部件;以及
发送装置,当没有成功更新该软件部件时,用于发送关于失败的通知。
35.根据权利要求24的数据处理系统,其中,更新装置为第一更新装置,并且还包括:
第三判定装置,用于判定是否成功地更新该软件部件以形成更新的软件部件;以及
第二更新装置,当没有成功更新该软件部件时,用于重新尝试该软件部件的更新。
36.根据权利要求35的数据处理系统,其中,在至少两次尝试对该软件部件的更新失败后,发送所述通知。
37.一种对网络数据处理系统中的多个节点部署更新的数据处理系统,所述数据处理系统包括:
标识装置,用于从网络数据处理系统内的多个节点中识别出具有需要更新的软件部件的节点,以形成一组识别的节点;
启动装置,用于利用该更新来启动对该组识别的节点的更新,以生成一组更新的节点;
测试装置,用于对该组更新的节点进行自动测试;
存储装置,用于存储度量数据,该数据包含该组更新的节点的测试的结果;以及
执行装置,当该组更新的节点中的节点出现测试失败时,用于执行校正动作。
38.根据权利要求37的数据处理系统,其中,校正动作是以下动作中的至少一个:发送关于测试失败的通知,对测试失败的节点重新尝试进行更新,使更新回退,和安装不同的软件部件。
39.根据权利要求37的数据处理系统,还包括:
判定装置,当对该组识别的节点中的软件部件进行更新时,用于判定节点中是否出现失败;以及
发送装置,当在对该组节点中至少两个节点的软件部件进行的更新中出现失败时,用于发送关于失败的通知。
40.根据权利要求37的数据处理系统,其中,更新装置为第一更新装置,并且还包括:
判定装置,当对该组识别的节点中的软件部件进行更新时,用于判定节点中是否出现失败;以及
第二更新装置,当在对该节点的软件部件进行的更新中出现失败时,用于对该节点中的该软件部件重新尝试更新。
41.根据权利要求40的数据处理系统,还包括:
发送装置,当对节点中的软件部件的更新出现第二次失败时,用于发送关于失败的通知。
42.根据权利要求37的数据处理系统,还包括:
分析装置,用于对所述度量数据进行分析,以识别该多个节点中的测试失败的模式。
43.根据权利要求42的数据处理系统,还包括:
修改装置,用于修改多个节点内节点的识别,以按照减少测试失败的方式接收未来更新,其中,该识别是基于测试失败的模式。
44.根据权利要求42的数据处理系统,还包括:
修改装置,用于修改多个节点内的节点的识别,以按照该多个节点中的某些节点停止接收该软件部件的更新的方式接收未来更新,其中,识别是基于测试失败的模式。
45.根据权利要求42的数据处理系统,还包括:
修改装置,用于修改多个节点内的节点的识别,以按照该多个节点中的某些节点停止接收该软件部件的更新的方式接收未来更新,其中,所述某些节点是很可能出现失败的节点,并且识别是基于测试失败的模式。
46.根据权利要求42的数据处理系统,还包括:
修改装置,用于修改多个节点内的节点的识别,以按照该多个节点中的某些节点以加速速率接收更新的方式接收未来更新,其中,识别是基于测试失败的模式。
CNB038222175A 2002-09-20 2003-05-27 用于软件自动更新和测试的方法和设备 Expired - Fee Related CN100345106C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/252,868 US7216343B2 (en) 2002-09-20 2002-09-20 Method and apparatus for automatic updating and testing of software
US10/252,868 2002-09-20

Publications (2)

Publication Number Publication Date
CN1682184A CN1682184A (zh) 2005-10-12
CN100345106C true CN100345106C (zh) 2007-10-24

Family

ID=31993034

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038222175A Expired - Fee Related CN100345106C (zh) 2002-09-20 2003-05-27 用于软件自动更新和测试的方法和设备

Country Status (8)

Country Link
US (1) US7216343B2 (zh)
EP (1) EP1540469A4 (zh)
JP (1) JP2006507570A (zh)
KR (1) KR20050043982A (zh)
CN (1) CN100345106C (zh)
AU (1) AU2003288894A1 (zh)
TW (1) TWI234736B (zh)
WO (1) WO2004027541A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461873A (zh) * 2014-11-19 2015-03-25 青岛海信电器股份有限公司 一种应用程序的测试方法和装置
TWI608419B (zh) * 2013-09-23 2017-12-11 財團法人資訊工業策進會 軟體相容性預先檢測方法與其系統

Families Citing this family (204)

* 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
US7725889B2 (en) * 2003-01-13 2010-05-25 Hewlett-Packard Development Company, L.P. Mobile handset capable of updating its update agent
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US7334219B2 (en) * 2002-09-30 2008-02-19 Ensco, Inc. Method and system for object level software testing
US8271971B2 (en) * 2002-11-26 2012-09-18 Hewlett-Packard Development Company, L.P. System and method for automated program updating in a remote appliance
US7802234B2 (en) * 2003-01-02 2010-09-21 Oracle International Corporation Integration of context-sensitive runtime metrics into integrated development environments
FR2852123A1 (fr) * 2003-03-04 2004-09-10 Paul Saravanane Marechal Procede pour l'automatisation de la mise en oeuvre et la mise a jour d'un systeme d'information
US7793233B1 (en) 2003-03-12 2010-09-07 Microsoft Corporation System and method for customizing note flags
US7644288B2 (en) * 2003-03-19 2010-01-05 Ricoh Company, Ltd. Image forming apparauts that checks authenticity of an update program
US7024330B2 (en) * 2003-03-28 2006-04-04 Mitsubishi Electric And Electronics U.S.A., Inc. Method and apparatus for decreasing automatic test equipment setup time
US9118711B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US9118708B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc Multi-path remediation
US20070113265A2 (en) * 2003-07-01 2007-05-17 Securityprofiling, Inc. Automated staged patch and policy management
US9100431B2 (en) 2003-07-01 2015-08-04 Securityprofiling, Llc Computer program product and apparatus for multi-path remediation
US9118710B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc System, method, and computer program product for reporting an occurrence in different manners
US9118709B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US8984644B2 (en) 2003-07-01 2015-03-17 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US20070113272A2 (en) 2003-07-01 2007-05-17 Securityprofiling, Inc. Real-time vulnerability monitoring
US9350752B2 (en) 2003-07-01 2016-05-24 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US7757268B2 (en) * 2003-07-25 2010-07-13 Oracle International Corporation Policy based service management
US7536387B2 (en) * 2003-08-15 2009-05-19 Intelligent Medical Objects, Inc. Method for interfacing applications to maintain data integrity
US20050055689A1 (en) * 2003-09-10 2005-03-10 Abfalter Scott A. Software management for software defined radio in a distributed network
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US7600219B2 (en) * 2003-12-10 2009-10-06 Sap Ag Method and system to monitor software interface updates and assess backward compatibility
US20050132351A1 (en) * 2003-12-12 2005-06-16 Randall Roderick K. Updating electronic device software employing rollback
US8688803B2 (en) * 2004-03-26 2014-04-01 Microsoft Corporation Method for efficient content distribution using a peer-to-peer networking infrastructure
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
US20050251798A1 (en) * 2004-05-05 2005-11-10 News, Iq, Inc. System and method for inventory control and management
US7890946B2 (en) 2004-05-11 2011-02-15 Microsoft Corporation Efficient patching
US7559058B2 (en) 2004-05-11 2009-07-07 Microsoft Corporation Efficient patching
US8539469B2 (en) 2004-05-11 2013-09-17 Microsoft Corporation Efficient patching
US7360208B2 (en) * 2004-05-17 2008-04-15 Oracle International Corp. Rolling upgrade of distributed software with automatic completion
US20050262494A1 (en) * 2004-05-18 2005-11-24 Bea Systems, Inc. Production redeployment through application versioning
US20050262495A1 (en) * 2004-05-18 2005-11-24 Bea Systems, Inc. Administration mode for server applications
US7660879B2 (en) 2004-05-20 2010-02-09 Ananthan Bala Srinivasan System and method for application deployment service
US7503041B2 (en) * 2004-07-01 2009-03-10 International Business Machines Corporation Apparatus, system, and method for delivery of software
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US8146073B2 (en) * 2004-09-30 2012-03-27 Microsoft Corporation Updating software while it is running
US7890952B2 (en) * 2004-10-07 2011-02-15 International Business Machines Corporation Autonomic peer-to-peer computer software installation
JP2006119848A (ja) * 2004-10-20 2006-05-11 Fujitsu Ltd ソフトウェア更新プログラム、ソフトウェア更新装置およびソフトウェア更新方法
EP1653349B1 (en) * 2004-10-27 2008-07-09 Sap Ag Method and system for generating a transport track through a software system landscape
EP1653348A1 (en) * 2004-10-27 2006-05-03 Sap Ag Method for tracking transport requests and computer system with trackable transport requests
ATE410729T1 (de) * 2004-10-27 2008-10-15 Sap Ag Rechnersystem und verfahren zum bewirken eines einleitenden softwaredienstes in einem produktiven system einer softwaresystemlandschaft
DE602004006630T2 (de) * 2004-10-27 2008-01-17 Sap Ag Verfahren zur Durchführung eines Softwaredienstes in einer Systemlandschaft
DE602004014622D1 (de) * 2004-10-27 2008-08-07 Sap Ag Rechnersystem und Verfahren zum Bewirken von Veränderungen in einer Softwaresystemlandschaft
ATE402438T1 (de) * 2004-10-27 2008-08-15 Sap Ag Rechnersystem und verfahren zum bewirken von softwarewartung in einer softwaresystemlandschaft
EP1653317A1 (en) 2004-10-27 2006-05-03 Sap Ag Method and system for setting change options of software systems
US20130019019A1 (en) * 2004-11-15 2013-01-17 Peter Ar-Fu Lam Cloud servicing system configured for servicing smart phone or touch pad circuit applications and consumer programmable articles
US20060143533A1 (en) * 2004-12-22 2006-06-29 International Business Machines Corporation Apparatus and system for testing of software
US9201641B2 (en) * 2004-12-24 2015-12-01 Telecom Italia S.P.A. Method and system for upgrading the software of a telecommunication terminal, in particular of a video telephone, and related computer program product
DE102006001776A1 (de) * 2005-01-12 2006-11-09 Advanced Testing Technologies, Inc. Testprogrammsatz Minimierung der Veralterung durch Software- und automatische Testgeräteprozesse
US7523147B2 (en) * 2005-02-24 2009-04-21 International Business Machines Corporation Method and system for managing inventory for a migration using history data
US7555551B1 (en) 2005-04-13 2009-06-30 Symantec Corporation Automatic controllable deployment of software updates
US7334005B2 (en) 2005-04-13 2008-02-19 Symantec Corporation Controllable deployment of software updates
CN101040552B (zh) * 2005-04-18 2010-12-01 捷讯研究有限公司 控制软件版本更新的方法和系统
JP2006302174A (ja) * 2005-04-25 2006-11-02 Olympus Corp 端末機能更新システム
US20070043956A1 (en) * 2005-08-19 2007-02-22 Microsoft Corporation System and methods that facilitate third party code test development
US7707559B2 (en) * 2005-08-30 2010-04-27 International Business Machines Corporation Analysis of errors within computer code
US7814480B2 (en) * 2005-09-05 2010-10-12 Seiko Epson Corporation Control software updating technique for a network apparatus
KR100755697B1 (ko) * 2005-11-09 2007-09-05 삼성전자주식회사 소프트웨어 설치 방법, 장치, 및 시스템
US20070112592A1 (en) * 2005-11-17 2007-05-17 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Payments in providing assistance related to health
US20070119928A1 (en) * 2005-11-17 2007-05-31 Jung Edward K Generating a nutraceutical request from an inventory
US20070112796A1 (en) * 2005-11-17 2007-05-17 Jung Edward K Research in providing assistance related to health
US20070112589A1 (en) * 2005-11-17 2007-05-17 Searete Llc, A Limited Liability Corporation Of The State Of Delaware User interface for providing assistance related to health
US8532938B2 (en) * 2005-11-17 2013-09-10 The Invention Science Fund I, Llc Testing-dependent administration of a nutraceutical
US10042980B2 (en) * 2005-11-17 2018-08-07 Gearbox Llc Providing assistance related to health
US7927787B2 (en) 2006-06-28 2011-04-19 The Invention Science Fund I, Llc Methods and systems for analysis of nutraceutical associated components
US7974856B2 (en) * 2005-11-30 2011-07-05 The Invention Science Fund I, Llc Computational systems and methods related to nutraceuticals
US8000981B2 (en) * 2005-11-30 2011-08-16 The Invention Science Fund I, Llc Methods and systems related to receiving nutraceutical associated information
US20080004909A1 (en) * 2005-11-30 2008-01-03 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Computational systems related to nutraceuticals
US8068991B2 (en) 2005-11-30 2011-11-29 The Invention Science Fund I, Llc Systems and methods for transmitting pathogen related information and responding
US20080082272A1 (en) * 2005-11-30 2008-04-03 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Computational systems and methods related to nutraceuticals
US8340944B2 (en) 2005-11-30 2012-12-25 The Invention Science Fund I, Llc Computational and/or control systems and methods related to nutraceutical agent selection and dosing
US8297028B2 (en) 2006-06-14 2012-10-30 The Invention Science Fund I, Llc Individualized pharmaceutical selection and packaging
US10296720B2 (en) 2005-11-30 2019-05-21 Gearbox Llc Computational systems and methods related to nutraceuticals
US7827042B2 (en) 2005-11-30 2010-11-02 The Invention Science Fund I, Inc Methods and systems related to transmission of nutraceutical associated information
US20080193919A1 (en) * 2005-11-30 2008-08-14 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Systems and methods for receiving pathogen related information and responding
US8775460B2 (en) * 2005-12-08 2014-07-08 International Business Machines Corporation Managing changes to computer system
US8495613B2 (en) * 2005-12-22 2013-07-23 Microsoft Corporation Program execution service windows
CN1992639B (zh) * 2005-12-27 2011-08-10 中兴通讯股份有限公司 网络设备的软件及数据远程更新方法
DE112006003745T8 (de) * 2006-02-10 2009-04-16 Mitsubishi Electric Corp. Fernaktualisierungssystem für ein Aufzugssteuerprogramm
US8352916B2 (en) * 2006-02-17 2013-01-08 International Business Machines Corporation Facilitating the automated testing of daily builds of software
TW200732963A (en) * 2006-02-22 2007-09-01 Benq Corp Method for checking a configuration of a wireless communication device and related device
US8522228B1 (en) 2006-03-31 2013-08-27 Vmware, Inc. Updating software on dormant disks
US7823145B1 (en) * 2006-03-31 2010-10-26 Vmware, Inc. Updating software on dormant disks
KR20070101507A (ko) * 2006-04-11 2007-10-17 엘지전자 주식회사 방송 수신기 및 방송 수신기의 펌웨어 업데이트 방법그리고 데이터 전송 시스템
US20070245313A1 (en) * 2006-04-14 2007-10-18 Microsoft Corporation Failure tagging
US8214474B2 (en) * 2006-04-18 2012-07-03 International Business Machines Corporation Autonomic computing system with model transfer
ES2699689T3 (es) * 2006-04-25 2019-02-12 Carrier Corp Carga remota de software para sistema refrigerante
US20070261027A1 (en) * 2006-05-08 2007-11-08 International Business Machines Corporation Method and system for automatically discovering and populating a palette of reusable dialog components
US20070265900A1 (en) * 2006-05-09 2007-11-15 Moore Dennis B Business process evolution
EP2025095A2 (en) 2006-06-08 2009-02-18 Hewlett-Packard Development Company, L.P. Device management in a network
WO2008014454A2 (en) 2006-07-27 2008-01-31 Hewlett-Packard Development Company, L.P. User experience and dependency management in a mobile device
US7865889B1 (en) * 2006-09-14 2011-01-04 Crimson Corporation Systems and methods for verifying the compatibility of software with a group of managed nodes
US8539474B2 (en) * 2006-09-28 2013-09-17 International Business Machines Corporation Method and system for management of interim software fixes
US8719787B2 (en) * 2006-09-30 2014-05-06 American Express Travel Related Services Company, Inc. System and method for server migration synchronization
US7730478B2 (en) * 2006-10-04 2010-06-01 Salesforce.Com, Inc. Method and system for allowing access to developed applications via a multi-tenant on-demand database service
US8813063B2 (en) * 2006-12-06 2014-08-19 International Business Machines Corporation Verification of successful installation of computer software
KR101368714B1 (ko) * 2006-12-22 2014-03-05 삼성전자주식회사 이동식 저장장치, 소프트웨어 자동설치시스템 및소프트웨어 자동설치방법
US7788540B2 (en) 2007-01-31 2010-08-31 Microsoft Corporation Tracking down elusive intermittent failures
US7673178B2 (en) * 2007-01-31 2010-03-02 Microsoft Corporation Break and optional hold on failure
US20090013317A1 (en) * 2007-02-08 2009-01-08 Airnet Communications Corporation Software Management for Software Defined Radio in a Distributed Network
US8756694B2 (en) * 2007-03-30 2014-06-17 Microsoft Corporation Prevention of exploitation of update rollback
JP5080136B2 (ja) * 2007-05-24 2012-11-21 日立オムロンターミナルソリューションズ株式会社 リモートメンテナンスシステム
US20090007096A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Secure Software Deployments
US7857222B2 (en) 2007-08-16 2010-12-28 Hand Held Products, Inc. Data collection system having EIR terminal interface node
KR101473337B1 (ko) 2007-10-01 2014-12-16 삼성전자 주식회사 컴포넌트 모델을 기반으로 하는 인터페이스 호환성 결정 방법 및 장치
US8245217B2 (en) 2007-10-12 2012-08-14 Microsoft Corporation Management of software and operating system updates required for the process of creating a virtual machine facsimile of an existing physical or virtual machine
US7788534B2 (en) * 2007-12-11 2010-08-31 International Business Machines Corporation Method for monitoring and managing a client device in a distributed autonomic computing environment
US8112771B2 (en) 2008-01-30 2012-02-07 Microsoft Corporation Managing component programs within a service application
JP4969480B2 (ja) * 2008-02-21 2012-07-04 株式会社リコー 画像形成装置、情報処理方法、及び情報処理プログラム
JP5081668B2 (ja) * 2008-02-28 2012-11-28 株式会社リコー 画像処理装置、情報処理方法及び情報処理プログラム
US8255896B2 (en) * 2008-04-01 2012-08-28 Honeywell International Inc. Network software normalization and installation in a fire detection system
US7516367B1 (en) * 2008-05-30 2009-04-07 International Business Machines Corporation Automated, distributed problem determination and upgrade planning tool
US10558948B2 (en) * 2008-09-15 2020-02-11 Oath Inc. Targeted instant messenger behaviors employed for optimization of a client
US20100082963A1 (en) * 2008-10-01 2010-04-01 Chun Hui Li Embedded system that automatically updates its software and the method thereof
TWI385577B (zh) * 2008-11-07 2013-02-11 Hon Hai Prec Ind Co Ltd 具有軟件自動更新功能的電子裝置及方法
JP5368878B2 (ja) * 2009-05-25 2013-12-18 キヤノン株式会社 情報処理装置、製造装置及びデバイス製造方法
EP2450797A4 (en) * 2009-06-08 2013-03-13 Sharp Kk SOFTWARE UPGRADE SYSTEM, DISPLAY UNIT AND SOFTWARE UPGRADING PROCEDURE
US8918779B2 (en) * 2009-08-27 2014-12-23 Microsoft Corporation Logical migration of applications and data
DE102009050646A1 (de) * 2009-10-26 2011-04-28 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern einer Mehrmaschinenanordnung
US8356354B2 (en) * 2009-11-23 2013-01-15 Kaspersky Lab, Zao Silent-mode signature testing in anti-malware processing
JP5508824B2 (ja) 2009-12-03 2014-06-04 アズビル株式会社 フィールドバスシステム
US9497092B2 (en) 2009-12-08 2016-11-15 Hand Held Products, Inc. Remote device management interface
US9251312B2 (en) * 2010-02-23 2016-02-02 Siemens Aktiengesellschaft Application platform
US20110238980A1 (en) * 2010-03-23 2011-09-29 Fujitsu Limited System and methods for remote maintenance in an electronic network with multiple clients
US8959507B2 (en) * 2010-06-02 2015-02-17 Microsoft Corporation Bookmarks and performance history for network software deployment evaluation
US9338064B2 (en) * 2010-06-23 2016-05-10 Twilio, Inc. System and method for managing a computing cluster
US20120124561A1 (en) * 2010-11-17 2012-05-17 Sap Ag Obtaining Notes for Software Objects
DE102010063164A1 (de) * 2010-12-15 2012-06-21 Endress + Hauser Process Solutions Ag Verfahren zum Integrieren von mindestens einem Feldgerät in ein Netzwerk der Automatisierungstechnik
JP5665188B2 (ja) * 2011-03-31 2015-02-04 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウエア更新を適用した情報処理装置を検査するシステム
JP5629239B2 (ja) 2011-05-23 2014-11-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェアの動作をテストする装置及び方法
US8978015B2 (en) * 2011-08-15 2015-03-10 Red Hat, Inc. Self validating applications
US8990771B2 (en) * 2011-08-19 2015-03-24 Red Hat, Inc. Building and distributing software packages
US20130081007A1 (en) * 2011-09-27 2013-03-28 International Business Machines Corporation Providing continuous application availability during application update
US8621123B2 (en) 2011-10-06 2013-12-31 Honeywell International Inc. Device management using virtual interfaces
US8539123B2 (en) 2011-10-06 2013-09-17 Honeywell International, Inc. Device management using a dedicated management interface
GB2498714A (en) * 2012-01-19 2013-07-31 Cambium Networks Ltd Automatic reversion to a working configuration following faulty re-configuration of a network node
US9158577B2 (en) 2012-08-08 2015-10-13 Amazon Technologies, Inc. Immediately launching applications
US9542176B2 (en) * 2012-08-20 2017-01-10 Microsoft Technology Licensing, Llc Predicting software build errors
US9235491B2 (en) 2012-09-28 2016-01-12 Wal-Mart Stores, Inc. Systems and methods for installing, managing, and provisioning applications
US9317269B2 (en) * 2012-09-28 2016-04-19 Wal-Mart Stores, Inc. Systems and methods for installing, managing, and provisioning applications
CN103823747B (zh) * 2012-11-16 2017-09-15 上海华虹集成电路有限责任公司 自动回归测试的方法
FR3003365B1 (fr) * 2013-03-12 2015-04-10 Airbus Operations Sas Procede et dispositif de gestion de mises a jour logicielles d'un ensemble d'equipements d'un systeme tel qu'un systeme d'un aeronef
US9524157B2 (en) * 2013-08-06 2016-12-20 Salesforce.Com, Inc. Providing an improved web user interface framework for building web applications
CN103440460A (zh) * 2013-09-09 2013-12-11 中国农业银行股份有限公司 一种应用系统变更验证方法及验证系统
US9733921B1 (en) * 2014-01-23 2017-08-15 NetSuite Inc. System and methods for management of cloud application extensions
US20150242282A1 (en) * 2014-02-24 2015-08-27 Red Hat, Inc. Mechanism to update software packages
RU2573783C1 (ru) 2014-08-01 2016-01-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ изменения функционала приложения
US9348571B2 (en) 2014-08-25 2016-05-24 General Electric Company Method, device, and program storage device for autonomous software life cycle management
GB2532076A (en) * 2014-11-10 2016-05-11 Inst Information Ind Backup method, pre-testing method for environment updating and system thereof
US9571512B2 (en) * 2014-12-15 2017-02-14 Sophos Limited Threat detection using endpoint variance
US9774613B2 (en) 2014-12-15 2017-09-26 Sophos Limited Server drift monitoring
US9419989B2 (en) 2014-12-15 2016-08-16 Sophos Limited Threat detection using URL cache hits
CN104536891B (zh) * 2014-12-26 2017-07-11 小米科技有限责任公司 系统测试方法及装置
US9575837B2 (en) * 2015-02-03 2017-02-21 Uber Technologies, Inc. System and method for introducing functionality to an application for use with a network service
EP4218551A3 (en) 2015-02-27 2023-08-09 Zoll Medical Corporation Downloading and booting method and system for a wearable medical device
US10120758B2 (en) * 2015-03-10 2018-11-06 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method for implementing a system rollback process
US10031831B2 (en) * 2015-04-23 2018-07-24 International Business Machines Corporation Detecting causes of performance regression to adjust data systems
TWI557594B (zh) * 2015-06-02 2016-11-11 緯創資通股份有限公司 電子裝置的自我修復方法、系統及伺服器
US10212536B2 (en) 2015-07-10 2019-02-19 Uber Technologies, Inc. Selecting a messaging protocol for transmitting data in connection with a location-based service
US11533226B2 (en) 2015-10-13 2022-12-20 Uber Technologies, Inc. Application service configuration system
US10158528B2 (en) 2015-10-13 2018-12-18 Uber Technologies, Inc. Application service configuration system
US10440153B1 (en) 2016-02-08 2019-10-08 Microstrategy Incorporated Enterprise health score and data migration
US11283900B2 (en) 2016-02-08 2022-03-22 Microstrategy Incorporated Enterprise performance and capacity testing
US10735348B2 (en) * 2016-04-29 2020-08-04 International Business Machines Corporation Providing an optimal resource to a client computer via interactive dialog
KR101664150B1 (ko) * 2016-06-13 2016-10-10 (주) 피에스소프트 단말기 소프트웨어 검증 시스템 및 그 검증방법
US10467002B2 (en) 2016-06-24 2019-11-05 Vmware, Inc. Validating interoperability of installed components of a computer system
US10255064B2 (en) * 2016-06-24 2019-04-09 Vmware, Inc. Upgrade analysis of a computer system
JP6797588B2 (ja) * 2016-07-22 2020-12-09 株式会社東芝 検証システム
CN106126432A (zh) * 2016-09-18 2016-11-16 网易(杭州)网络有限公司 软件开发项目中修改内容的测试方法及装置
TWI740886B (zh) * 2017-01-23 2021-10-01 香港商阿里巴巴集團服務有限公司 日誌收集客戶端及其升級方法
US10481969B2 (en) 2017-02-07 2019-11-19 Microsoft Technology Licensing, Llc Configurable system wide tests
US11366744B2 (en) 2017-04-07 2022-06-21 Microsoft Technology Licensing, Llc Partitioning and orchestrating infrastructure software deployments for safety and agility across diverse configurations and hardware types
US10437683B1 (en) * 2017-06-06 2019-10-08 Symantec Corporation Systems and methods for protecting data affected by system changes
CN107273139A (zh) * 2017-07-05 2017-10-20 努比亚技术有限公司 一种系统更新方法、设备及计算机可读存储介质
US10503495B2 (en) * 2017-08-02 2019-12-10 Accenture Global Solutions Limited Component management platform
US10838847B2 (en) * 2017-08-25 2020-11-17 Sap Se Integrated software testing and deployment tracker
US10678528B1 (en) * 2017-11-21 2020-06-09 Amazon Technologies, Inc. Directory schema deployment with pipelines
CN107870851A (zh) * 2017-11-29 2018-04-03 广州品唯软件有限公司 应用性能测试方法、装置、计算机可读存储介质及系统
KR102103590B1 (ko) * 2018-01-09 2020-04-23 주식회사 한글과컴퓨터 프로그램 호환성 자동테스트 방법 및 이를 이용하는 장치
US10503496B2 (en) 2018-02-02 2019-12-10 Bank Of America Corporation Smart tool for enterprise-wide version control of codes during software integration and deployment
US10467121B2 (en) * 2018-02-02 2019-11-05 Bank Of America Corporation Smart tool for enterprise-wide software integration and deployment
US10474556B2 (en) 2018-02-20 2019-11-12 Bank Of America Corporation Multiple ruleset version scanning, warning and correction tool
US10977025B2 (en) * 2018-11-07 2021-04-13 Microsoft Technology Licensing, Llc Intelligent software asset classification for software update validation
JP7163739B2 (ja) * 2018-11-27 2022-11-01 株式会社リコー 情報処理装置、プログラム更新方法、及びプログラム
US10977105B2 (en) 2018-12-14 2021-04-13 Uber Technologies, Inc. Memory crash prevention for a computing device
US11263111B2 (en) * 2019-02-11 2022-03-01 Microstrategy Incorporated Validating software functionality
US11409644B2 (en) 2019-03-11 2022-08-09 Microstrategy Incorporated Validation of mobile device workflows
US10776254B1 (en) * 2019-04-22 2020-09-15 Sap Se Executing integration scenario regression tests in customer landscapes
US11637748B2 (en) 2019-08-28 2023-04-25 Microstrategy Incorporated Self-optimization of computing environments
US11102330B2 (en) 2019-08-30 2021-08-24 Microstrategy Incorporated Providing updates for server environments
US11210189B2 (en) 2019-08-30 2021-12-28 Microstrategy Incorporated Monitoring performance of computing systems
US11354216B2 (en) 2019-09-18 2022-06-07 Microstrategy Incorporated Monitoring performance deviations
US11360881B2 (en) 2019-09-23 2022-06-14 Microstrategy Incorporated Customizing computer performance tests
US11438231B2 (en) 2019-09-25 2022-09-06 Microstrategy Incorporated Centralized platform management for computing environments
US11314216B2 (en) * 2020-04-30 2022-04-26 Fisher-Rosemount Systems, Inc. Remote deployment and commissioning of workstations within a distributed control system
US11294654B2 (en) 2020-05-20 2022-04-05 Microsoft Technology Licensing, Llc Automated rules for controlled distribution of program instructions
US11354118B2 (en) 2020-06-05 2022-06-07 Cross Vista, Inc. Version control system
US11294664B2 (en) 2020-06-05 2022-04-05 CrossVista, Inc. Version control system
EP3944085A1 (en) * 2020-07-24 2022-01-26 Rimo Capital Ltd An information processing system with intelligent program smoke testing
US11604724B2 (en) 2020-12-18 2023-03-14 International Business Machines Corporation Software application component testing
CA3231082A1 (en) * 2021-10-04 2023-04-13 Wayne Fueling Systems Llc Intelligent electronic fueling station component provisioning
FR3131408A1 (fr) * 2021-12-29 2023-06-30 Thales Procédé et système de supervision de mise à jour de logiciel de support dans une infrastructure de fourniture de services

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6199204B1 (en) * 1998-01-28 2001-03-06 International Business Machines Corporation Distribution of software updates via a computer network
CN1296220A (zh) * 1999-11-01 2001-05-23 城市集团发展中心有限公司 安装和/或升级自助金融交易终端的软件的方法和系统
US20020100036A1 (en) * 2000-09-22 2002-07-25 Patchlink.Com Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4305522C2 (de) * 1993-02-17 1996-03-28 Daimler Benz Ag Einrichtung zur rechnergestützten Diagnose eines aus Modulen bestehenden technischen Systems
CA2119085C (en) 1994-03-15 2002-01-15 Deborah L. Pinard Adaptive communication system
GB9508283D0 (en) 1995-02-07 1995-06-14 British Telecomm Information services provision and management
US5701400A (en) 1995-03-08 1997-12-23 Amado; Carlos Armando Method and apparatus for applying if-then-else rules to data sets in a relational data base and generating from the results of application of said rules a database of diagnostics linked to said data sets to aid executive analysis of financial data
US5909544A (en) * 1995-08-23 1999-06-01 Novell Inc. Automated test harness
GB9519678D0 (en) 1995-09-27 1995-11-29 Philips Electronics Nv Behaviour prediction
US6026374A (en) 1996-05-30 2000-02-15 International Business Machines Corporation System and method for generating trusted descriptions of information products
US5790789A (en) 1996-08-02 1998-08-04 Suarez; Larry Method and architecture for the creation, control and deployment of services within a distributed computer environment
US6031990A (en) * 1997-04-15 2000-02-29 Compuware Corporation Computer software testing management
US6055562A (en) 1997-05-01 2000-04-25 International Business Machines Corporation Dynamic mobile agents
US5935264A (en) * 1997-06-10 1999-08-10 Micron Technology, Inc. Method and apparatus for determining a set of tests for integrated circuit testing
GB2329266A (en) * 1997-09-10 1999-03-17 Ibm Automatic error recovery in data processing systems
US6125359A (en) * 1997-09-23 2000-09-26 Unisys Corporation Method and apparatus for identifying the coverage of a test sequence in a rules-based expert system
US6256771B1 (en) 1997-10-16 2001-07-03 At&T Corp. Method and apparatus for providing a dynamic service composition software architecture
US6286131B1 (en) * 1997-12-03 2001-09-04 Microsoft Corporation Debugging tool for linguistic applications
US6023586A (en) * 1998-02-10 2000-02-08 Novell, Inc. Integrity verifying and correcting software
DE69938547T2 (de) * 1998-03-03 2009-06-18 Siebel Systems, Inc., San Mateo Verfahren, system, gerät und programm zur verteilung und einführung von software-upgrade
DE19810814B4 (de) * 1998-03-12 2004-10-28 Telefonaktiebolaget Lm Ericsson (Publ) Rechnersystem und Zustandskopierverfahren zur skalierbaren Software-Aktualisierung
US6360331B2 (en) 1998-04-17 2002-03-19 Microsoft Corporation Method and system for transparently failing over application configuration information in a server cluster
JP4200565B2 (ja) * 1998-06-24 2008-12-24 日立金属株式会社 電子部品の洗浄方法
US6330561B1 (en) 1998-06-26 2001-12-11 At&T Corp. Method and apparatus for improving end to end performance of a data network
US6182245B1 (en) * 1998-08-31 2001-01-30 Lsi Logic Corporation Software test case client/server system and method
US6622157B1 (en) 1998-09-28 2003-09-16 Certeon, Inc. Extending network services using mobile agents
BR9914200A (pt) 1998-09-30 2002-01-22 Cadence Design Systems Inc Métodos para projetar um sistema de circuito, para expandir uma metodologia existente para avaliar a viabilidade de um projeto de circuito, para realizar uma avaliação de viabilidade para um projeto de circuito, para refinar uma primeira regra de decisão para um projeto de circuito, para formar uma segunda regra de decisão para um projeto de circuito, para organizar os dados de experiência de um projetista relativos a uma pluralidade de blocos de circuito pré-projetados, para aumentar a eficiência de distribuição de lógica de cola e para distribuir uma pluralidade de elementos lógicos de cola entre os blocos de projeto e distribuir lógica de cola para execução em um esquema de projeto de dispositivo de circuito integrado, para converter uma interface especìfica de um bloco de circuito, para selecionar um coletor de circuito, para projetar um dispositivo que incorpora o projeto e habilitar um teste do dispositivo, para verificar o correto funcionamento de um projeto de circuito e para desenvolver uma bancada de teste de nìvel comportamental, interface de colar e sistema de interface
US6145000A (en) * 1998-10-06 2000-11-07 Ameritech Corporation System and method for creating and navigating a linear hypermedia resource program
US6851115B1 (en) 1999-01-05 2005-02-01 Sri International Software-based architecture for communication and cooperation among distributed electronic agents
US6353897B1 (en) * 1999-01-06 2002-03-05 International Business Machines Corporation Object oriented apparatus and method for testing object oriented software
US6947797B2 (en) 1999-04-02 2005-09-20 General Electric Company Method and system for diagnosing machine malfunctions
DE19922768A1 (de) * 1999-05-18 2000-12-07 Dell Usa Lp Verfahren zum Installieren von Software und/oder zum Testen eines Computersystems
US6473794B1 (en) * 1999-05-27 2002-10-29 Accenture Llp System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework
US7472349B1 (en) 1999-06-01 2008-12-30 Oracle International Corporation Dynamic services infrastructure for allowing programmatic access to internet and other resources
US6529950B1 (en) 1999-06-17 2003-03-04 International Business Machines Corporation Policy-based multivariate application-level QoS negotiation for multimedia services
US6467088B1 (en) 1999-06-30 2002-10-15 Koninklijke Philips Electronics N.V. Reconfiguration manager for controlling upgrades of electronic devices
US6779016B1 (en) 1999-08-23 2004-08-17 Terraspring, Inc. Extensible computing system
US7103647B2 (en) 1999-08-23 2006-09-05 Terraspring, Inc. Symbolic definition of a computer system
US6584455B1 (en) 1999-12-14 2003-06-24 International Business Machines Corporation System and method for predicting design errors in integrated circuits
US6834341B1 (en) 2000-02-22 2004-12-21 Microsoft Corporation Authentication methods and systems for accessing networks, authentication methods and systems for accessing the internet
US6970869B1 (en) 2000-05-09 2005-11-29 Sun Microsystems, Inc. Method and apparatus to discover services and negotiate capabilities
US7496637B2 (en) 2000-05-31 2009-02-24 Oracle International Corp. Web service syndication system
US20040236843A1 (en) 2001-11-15 2004-11-25 Robert Wing Online diagnosing of computer hardware and software
US20020087668A1 (en) * 2000-12-29 2002-07-04 San Martin Raul S. Automatic upgrade of live network devices
US6804709B2 (en) * 2001-02-20 2004-10-12 Microsoft Corporation System uses test controller to match different combination configuration capabilities of servers and clients and assign test cases for implementing distributed testing
US6982960B2 (en) * 2001-03-09 2006-01-03 Motorola, Inc. Protocol for self-organizing network using a logical spanning tree backbone
US7249100B2 (en) 2001-05-15 2007-07-24 Nokia Corporation Service discovery access to user location
JP3828379B2 (ja) * 2001-05-17 2006-10-04 富士通株式会社 テスト仕様生成支援装置、方法、プログラム及び記録媒体
US7412502B2 (en) 2002-04-18 2008-08-12 International Business Machines Corporation Graphics for end to end component mapping and problem-solving in a network environment
US7165074B2 (en) * 2002-05-08 2007-01-16 Sun Microsystems, Inc. Software development test case analyzer and optimizer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6199204B1 (en) * 1998-01-28 2001-03-06 International Business Machines Corporation Distribution of software updates via a computer network
CN1296220A (zh) * 1999-11-01 2001-05-23 城市集团发展中心有限公司 安装和/或升级自助金融交易终端的软件的方法和系统
US20020100036A1 (en) * 2000-09-22 2002-07-25 Patchlink.Com Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI608419B (zh) * 2013-09-23 2017-12-11 財團法人資訊工業策進會 軟體相容性預先檢測方法與其系統
CN104461873A (zh) * 2014-11-19 2015-03-25 青岛海信电器股份有限公司 一种应用程序的测试方法和装置
CN104461873B (zh) * 2014-11-19 2018-03-23 青岛海信电器股份有限公司 一种应用程序的测试方法和装置

Also Published As

Publication number Publication date
EP1540469A4 (en) 2007-10-24
KR20050043982A (ko) 2005-05-11
EP1540469A2 (en) 2005-06-15
AU2003288894A8 (en) 2004-04-08
TW200405202A (en) 2004-04-01
WO2004027541A2 (en) 2004-04-01
US7216343B2 (en) 2007-05-08
CN1682184A (zh) 2005-10-12
TWI234736B (en) 2005-06-21
AU2003288894A1 (en) 2004-04-08
US20040060044A1 (en) 2004-03-25
WO2004027541A3 (en) 2004-07-08
JP2006507570A (ja) 2006-03-02

Similar Documents

Publication Publication Date Title
CN100345106C (zh) 用于软件自动更新和测试的方法和设备
US7594219B2 (en) Method and apparatus for monitoring compatibility of software combinations
US7318226B2 (en) Distributed autonomic solutions repository
CN101821727B (zh) 管理更新以创建虚拟机复制品
CN100570607C (zh) 用于多处理环境中的数据聚合的方法和系统
US7451142B2 (en) Autonomic relevancy building
US20070083861A1 (en) Managing a computer system with blades
CN1645389A (zh) 用于实现高可用性系统的远程企业管理的系统和方法
CN101910971B (zh) 可重新开始地供应软件组件的系统及方法
CN1528079A (zh) 用于对等服务的方法和装备
US8001542B2 (en) Self-installing software components for network service execution
US7793113B2 (en) Guaranteed deployment of applications to nodes in an enterprise
US20040261079A1 (en) Method and system for maintaining service dependency relationships in a computer system
WO2006064000A1 (en) Rapid provisioning of a computer into a homogenized resource pool
US20060123387A1 (en) Apparatus and method for producing application software for streaming service and system and method for providing software streaming service with network fault tolerance
US20040025077A1 (en) Method and apparatus for the dynamic tuning of recovery actions in a server by modifying hints and symptom entries from a remote location
US11782785B2 (en) Method and system for proactively resolving application upgrade issues using a device emulation system of a customer environment
CN1522403A (zh) 处理因特网表单的方法和设备
CN112486517B (zh) 应用程序的安装方法、系统、电子设备及存储介质
US11275574B2 (en) Recovering the last successful device update on a computing system
CN112256277A (zh) 软件编译的方法、系统、电子设备及存储介质
US11868791B2 (en) Method and system for determining the next state of application upgrades using a device emulation system of a customer environment
CN115421748B (zh) 多云环境下kubernetes容器升级系统及方法
US20230221974A1 (en) Method and system for determining the state of application upgrades using a device emulation system of a customer environment
CN111176676B (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071024

Termination date: 20100527