CN1682184A - 用于软件自动更新和测试的方法和设备 - Google Patents
用于软件自动更新和测试的方法和设备 Download PDFInfo
- Publication number
- CN1682184A CN1682184A CNA038222175A CN03822217A CN1682184A CN 1682184 A CN1682184 A CN 1682184A CN A038222175 A CNA038222175 A CN A038222175A CN 03822217 A CN03822217 A CN 03822217A CN 1682184 A CN1682184 A CN 1682184A
- Authority
- CN
- China
- Prior art keywords
- software part
- renewal
- node
- test
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test 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 (62)
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.根据权利要求13的方法,其中,在至少两次尝试对该软件部件的更新失败后,发送所述通知。
15.一种在数据处理系统中对网络数据处理系统中的多个节点部署更新的计算机处理方法,所述计算机处理方法包括:
从网络数据处理系统内的多个节点中识别出具有需要更新的软件部件的节点,以形成一组识别的节点;
利用该更新来启动对该组识别的节点的更新,以生成一组更新的节点;
对该组更新的节点进行自动测试;以及
当该组更新的节点中的节点出现测试失败时,执行校正动作。
16.根据权利要求15的计算机处理方法,其中,校正动作是以下动作中的至少一个:发送关于测试失败的通知,对测试失败的节点重新尝试进行更新,使更新回退,和安装不同的软件部件。
17.根据权利要求15的计算机处理方法,还包括:
当对该组识别的节点中的软件部件进行更新时,判定节点中是否出现失败;以及
当在对该组节点中至少两个节点的软件部件进行的更新中出现失败时,发送关于失败的通知。
18.根据权利要求15的计算机处理方法,还包括:
当对该组识别的节点中的软件部件进行更新时,判定节点中是否出现失败;以及
当在对该节点的软件部件进行的更新中出现失败时,对该节点中的该软件部件重新尝试更新。
19.根据权利要求18的计算机处理方法,还包括:
当对节点中的软件部件的更新出现第二次失败时,发送关于失败的通知。
20.根据权利要求15的计算机处理方法,还包括:
存储有关度量的数据,该度量是多个节点的更新的成功部署和更新测试结果中的至少一个的度量。
21.根据权利要求20的计算机处理方法,还包括:
对所述数据进行分析,以识别该多个节点中的测试失败的模式。
22.根据权利要求21的计算机处理方法,还包括:
修改多个节点内节点的识别,以按照减少测试失败的方式接收未来更新,其中,该识别是基于测试失败的模式。
23.根据权利要求21的计算机处理方法,还包括:
修改多个节点内的节点的识别,以按照该多个节点中的某些节点停止接收该软件部件的更新的方式接收未来更新,其中,识别是基于测试失败的模式。
24.根据权利要求21的计算机处理方法,还包括:
修改多个节点内的节点的识别,以按照该多个节点中的某些节点停止接收该软件部件的更新的方式接收未来更新,其中,所述某些节点是很可能出现失败的节点,并且识别是基于测试失败的模式。
25.根据权利要求21的计算机处理方法,还包括:
修改多个节点内的节点的识别,以按照该多个节点中的某些节点以加速速率接收更新的方式接收未来更新,其中,识别是基于测试失败的模式。
26.一种在计算机中更新软件部件的计算机实现的处理方法,所述计算机实现的处理方法包括:
判定是否要更新该软件部件,其中,该软件部件在该计算机上执行;
当判定要更新该软件部件时,识别也包含该软件部件的第二计算机以便对该软件部件部署更新;
启动第二计算机上该软件部件的更新,以在第二计算机上生成更新的软件部件,其中,计算机继续执行该软件部件;
自动测试第二计算机上的更新的软件部件;以及
当对该更新的部件进行的测试出现失败时,执行校正动作。
27.根据权利要求26的方法,其中,测试步骤包括:
将该计算机上执行的软件部件的客户迁移到第二计算机上的更新的软件部件。
28.根据权利要求27的方法,还包括:
当对该软件部件的测试成功时,从服务中去除该计算机上的该软件部件。
29.一种用于更新软件部件的数据处理系统,所述数据处理系统包括:
总线系统;
与总线系统相连的通信单元;
与总线系统相连的存储器,其中,存储器包括一组指令;以及
与总线系统相连的处理单元,其中,处理单元执行该组指令,以判定是否要更新该软件部件;当判定要更新该软件部件时,更新该软件部件以形成更新的软件部件;自动测试更新的软件部件;以及当对更新的部件进行的测试中出现失败时,执行校正动作。
30.一种对网络数据处理系统中的多个节点部署更新的数据处理系统,所述数据处理系统包括:
总线系统;
与总线系统相连的通信单元;
与总线系统相连的存储器,其中,存储器包括一组指令;以及
与总线系统相连的处理单元,其中,处理单元执行该组指令,以从网络数据处理系统内的多个节点中识别出具有需要更新的软件部件的节点,以形成一组识别的节点;利用该更新来启动对该组识别的节点的更新,以生成一组更新的节点;对该组更新的节点进行自动测试;以及当该组更新的节点中的节点出现测试失败时,执行校正动作。
31.一种更新软件部件的数据处理系统,所述数据处理系统包括:
总线系统;
与总线系统相连的通信单元;
与总线系统相连的存储器,其中,存储器包括一组指令;以及
与总线系统相连的处理单元,其中,处理单元执行该组指令,以判定是否要更新该软件部件,其中,该软件部件在该计算机上执行;当判定要更新该软件部件时,识别也包含该软件部件的第二计算机以便对该软件部件部署更新;启动第二计算机上该软件部件的更新,以在第二计算机上生成更新的软件部件,其中,计算机继续执行该软件部件;自动测试第二计算机上的更新的软件部件;以及当对该更新的部件进行的测试出现失败时,执行校正动作。
32.一种更新软件部件的数据处理系统,所述数据处理系统包括:
判定装置,用于判定是否要更新该软件部件;
更新装置,当判定要更新该软件部件时,用于更新该软件部件以形成更新的软件部件;
测试装置,用于自动测试更新的软件部件;以及
执行装置,当对更新的部件进行的测试中出现失败时,用于执行校正动作。
33.根据权利要求32的数据处理系统,其中,所述判定装置为第一判定装置,并且还包括:
第二判定装置,用于判定是否存在针对该软件部件的更新;
第三判定装置,当存在针对该软件部件的更新时,用于判定是否应对该软件部件应用该更新;以及
应用装置,当判定应对该软件部件应用该更新时,用于对该软件部件应用该更新,以形成更新的软件部件。
34.根据权利要求32的数据处理系统,其中,校正动作包括将更新的软件部件回退到进行更新之前的状态。
35.根据权利要求32的数据处理系统,其中,校正动作包括以下动作中的至少之一:识别可选更新,将更新的软件部件回退到未更新时的软件部件,安装不同的软件部件,和安装可选更新。
36.根据权利要求32的数据处理系统,其中,执行装置为第一执行装置,并且测试装置包括:
识别装置,用于从测试数据库中识别要执行的测试,以形成识别的测试;以及
第二执行装置,用于对更新的部件执行该识别的测试。
37.根据权利要求32的数据处理系统,其中,更新是配置文件的新参数。
38.根据权利要求32的数据处理系统,其中,更新是软件部件的可执行文件。
39.根据权利要求32的数据处理系统,还包括:
存储装置,用于存储有关更新,回退,更新部件测试的测试结果,用户组之间的错误出现率,特定类型的软件部件之间的错误出现率,和操作系统组之间的错误出现率中的至少一个的数据。
40.根据权利要求32的数据处理系统,其中,自动测试装置使用性能测试,运行中回归测试,单元测试和兼容性测试中的至少一个。
41.根据权利要求32的数据处理系统,其中,第一方为软件更新的源,第二方提供用于判定是否更新该软件部件的策略。
42.根据权利要求32的数据处理系统,其中,判定装置包括:
第一装置,用于判定更新是否可用;以及
第二装置,如果该更新可用,用于使用与特定类型的软件源,用户,操作系统类型,和数据处理系统类型中的至少一个有关的错误出现模式判定是否应用该更新。
43.根据权利要求32的数据处理系统,其中,判定装置为第一判定装置,并且还包括:
第二判定装置,用于判定是否成功地更新该软件部件以形成更新的软件部件;以及
发送装置,当没有成功更新该软件部件时,用于发送关于失败的通知。
44.根据权利要求32的数据处理系统,其中,判定装置为第一判定装置,更新装置为第一更新装置,还包括:
第二判定装置,用于判定是否成功地更新该软件部件以形成更新的软件部件;以及
第二更新装置,当没有成功更新该软件部件时,用于重新尝试该软件部件的更新。
45.根据权利要求44的数据处理系统,其中,在至少两次尝试对该软件部件的更新失败后,发送所述通知。
46.一种对网络数据处理系统中的多个节点部署更新的数据处理系统,所述数据处理系统包括:
标识装置,用于从网络数据处理系统内的多个节点中识别出具有需要更新的软件部件的节点,以形成一组识别的节点;
启动装置,用于利用该更新来启动对该组识别的节点的更新,以生成一组更新的节点;
测试装置,用于对该组更新的节点进行自动测试;以及
执行装置,当该组更新的节点中的节点出现测试失败时,用于执行校正动作。
47.根据权利要求46的数据处理系统,其中,校正动作是以下动作中的至少一个:发送关于测试失败的通知,对测试失败的节点重新尝试进行更新,使更新回退,和安装不同的软件部件。
48.根据权利要求46的数据处理系统,还包括:
判定装置,当对该组识别的节点中的软件部件进行更新时,用于判定节点中是否出现失败;以及
发送装置,当在对该组节点中至少两个节点的软件部件进行的更新中出现失败时,用于发送关于失败的通知。
49.根据权利要求46的数据处理系统,其中,更新装置为第一更新装置,并且还包括:
判定装置,当对该组识别的节点中的软件部件进行更新时,用于判定节点中是否出现失败;以及
第二更新装置,当在对该节点的软件部件进行的更新中出现失败时,用于对该节点中的该软件部件重新尝试更新。
50.根据权利要求49的数据处理系统,还包括:
发送装置,当对节点中的软件部件的更新出现第二次失败时,用于发送关于失败的通知。
51.根据权利要求46的数据处理系统,还包括:
存储装置,用于存储有关度量的数据,该度量是多个节点的更新的成功部署和更新测试结果中的至少一个的度量。
52.根据权利要求51的数据处理系统,还包括:
分析装置,用于对所述数据进行分析,以识别该多个节点中的测试失败的模式。
53.根据权利要求52的数据处理系统,还包括:
修改装置,用于修改多个节点内节点的识别,以按照减少测试失败的方式接收未来更新,其中,该识别是基于测试失败的模式。
54.根据权利要求52的数据处理系统,还包括:
修改装置,用于修改多个节点内的节点的识别,以按照该多个节点中的某些节点停止接收该软件部件的更新的方式接收未来更新,其中,识别是基于测试失败的模式。
55.根据权利要求52的数据处理系统,还包括:
修改装置,用于修改多个节点内的节点的识别,以按照该多个节点中的某些节点停止接收该软件部件的更新的方式接收未来更新,其中,所述某些节点是很可能出现失败的节点,并且识别是基于测试失败的模式。
56.根据权利要求52的数据处理系统,还包括:
修改装置,用于修改多个节点内的节点的识别,以按照该多个节点中的某些节点以加速速率接收更新的方式接收未来更新,其中,识别是基于测试失败的模式。
57.一种更新软件部件的数据处理系统,所述数据处理系统包括:
判定装置,用于判定是否要更新该软件部件,其中,该软件部件在该计算机上执行;
标识装置,当判定要更新该软件部件时,用于识别也包含该软件部件的第二计算机以便对该软件部件部署该更新;
启动装置,用于启动第二计算机上该软件部件的更新,以在第二计算机上生成更新的软件部件,其中,计算机继续执行该软件部件;
测试装置,用于自动测试第二计算机上的更新的软件部件;以及
执行装置,当对该更新的部件进行的测试出现失败时,用于执行校正动作。
58.根据权利要求57的数据处理系统,其中,测试装置包括:
迁移设备,用于将该计算机上执行的软件部件的客户机迁移到第二计算机上的更新的软件部件。
59.根据权利要求58的数据处理系统,还包括:
去除装置,当对该软件部件的测试成功时,用于从服务中去除该计算机上的该软件部件。
60.一种计算机可读介质中的用于更新软件部件的计算机程序产品,所述计算机程序产品包括:
第一指令,用于判定是否要更新该软件部件;
第二指令,当判定要更新该软件部件时,用于更新该软件部件以形成更新的软件部件;
第三指令,用于自动测试更新的软件部件;以及
第四指令,当对更新的部件进行的测试中出现失败时,用于执行校正动作。
61.一种计算机可读介质中的用于对网络数据处理系统中多个节点部署更新的计算机程序产品,所述计算机程序产品包括:
第一指令,用于从网络数据处理系统内的多个节点中识别出具有需要更新的软件部件的节点,以形成一组识别的节点;
第二指令,用于利用该更新来启动对该组识别的节点的更新,以生成一组更新的节点;
第三指令,用于对该组更新的节点进行自动测试;以及
第四指令,当该组更新的节点中的节点出现测试失败时,用于执行校正动作。
62.一种计算机可读介质中用于更新软件部件的计算机程序产品,所述计算机程序产品包括:
第一指令,用于判定是否要更新该软件部件,其中,该软件部件在该计算机上执行;
第二指令,当判定要更新该软件部件时,用于识别也包含该软件部件的第二计算机以便对该软件部件部署该更新;
第三指令,用于启动第二计算机上该软件部件的更新,以在第二计算机上生成更新的软件部件,其中,计算机继续执行该软件部件;
第四指令,用于自动测试第二计算机上的更新的软件部件;以及
第五指令,当对该更新的部件进行的测试出现失败时,用于执行校正动作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/252,868 | 2002-09-20 | ||
US10/252,868 US7216343B2 (en) | 2002-09-20 | 2002-09-20 | Method and apparatus for automatic updating and testing of software |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1682184A true CN1682184A (zh) | 2005-10-12 |
CN100345106C 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 (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1992639B (zh) * | 2005-12-27 | 2011-08-10 | 中兴通讯股份有限公司 | 网络设备的软件及数据远程更新方法 |
CN103440460A (zh) * | 2013-09-09 | 2013-12-11 | 中国农业银行股份有限公司 | 一种应用系统变更验证方法及验证系统 |
CN104536891A (zh) * | 2014-12-26 | 2015-04-22 | 小米科技有限责任公司 | 系统测试方法及装置 |
US9464835B2 (en) | 2006-04-25 | 2016-10-11 | Carrier Corporation | Remote software loading for refrigerant system |
CN107273139A (zh) * | 2017-07-05 | 2017-10-20 | 努比亚技术有限公司 | 一种系统更新方法、设备及计算机可读存储介质 |
CN107870851A (zh) * | 2017-11-29 | 2018-04-03 | 广州品唯软件有限公司 | 应用性能测试方法、装置、计算机可读存储介质及系统 |
Families Citing this family (201)
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 |
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 |
WO2004063899A2 (en) * | 2003-01-13 | 2004-07-29 | Bitfone Corporation | Mobile handset capable of updating its update agent |
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 |
US9350752B2 (en) | 2003-07-01 | 2016-05-24 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9118710B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | System, method, and computer program product for reporting an occurrence in different manners |
US9118708B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Multi-path remediation |
US20070113272A2 (en) | 2003-07-01 | 2007-05-17 | Securityprofiling, Inc. | Real-time vulnerability monitoring |
US20070113265A2 (en) * | 2003-07-01 | 2007-05-17 | Securityprofiling, Inc. | Automated staged patch and policy management |
US8984644B2 (en) | 2003-07-01 | 2015-03-17 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9100431B2 (en) | 2003-07-01 | 2015-08-04 | Securityprofiling, Llc | Computer program product and apparatus for multi-path remediation |
US9118711B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9118709B2 (en) | 2003-07-01 | 2015-08-25 | 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 |
US7559058B2 (en) * | 2004-05-11 | 2009-07-07 | Microsoft Corporation | Efficient patching |
US8539469B2 (en) | 2004-05-11 | 2013-09-17 | Microsoft Corporation | Efficient patching |
US7890946B2 (en) | 2004-05-11 | 2011-02-15 | 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 | ソフトウェア更新プログラム、ソフトウェア更新装置およびソフトウェア更新方法 |
EP1653350B1 (en) * | 2004-10-27 | 2008-10-08 | Sap Ag | Method and computer system for effecting a preliminary software service in a productive system of a software system landscape |
EP1653345B1 (en) * | 2004-10-27 | 2008-07-23 | Sap Ag | Method and computer system for effecting software maintenance in a software system landscape |
EP1653351B1 (en) * | 2004-10-27 | 2008-06-25 | Sap Ag | Method and computer system for effecting changes in 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 |
ATE400844T1 (de) * | 2004-10-27 | 2008-07-15 | Sap Ag | Verfahren und system zur generierung eines transportweges durch eine softwaresystemlandschaft |
DE602004006630T2 (de) * | 2004-10-27 | 2008-01-17 | Sap Ag | Verfahren zur Durchführung eines Softwaredienstes in einer Systemlandschaft |
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 |
WO2006110991A1 (en) * | 2005-04-18 | 2006-10-26 | Research In Motion Limited | Method and system for controlling software version updates |
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 | 삼성전자주식회사 | 소프트웨어 설치 방법, 장치, 및 시스템 |
US10042980B2 (en) * | 2005-11-17 | 2018-08-07 | Gearbox Llc | Providing assistance related to health |
US20070112796A1 (en) * | 2005-11-17 | 2007-05-17 | Jung Edward K | Research in providing assistance related to health |
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 |
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 |
US20070119928A1 (en) * | 2005-11-17 | 2007-05-31 | Jung Edward K | Generating a nutraceutical request from an inventory |
US8532938B2 (en) * | 2005-11-17 | 2013-09-10 | The Invention Science Fund I, Llc | Testing-dependent administration of a nutraceutical |
US7827042B2 (en) | 2005-11-30 | 2010-11-02 | The Invention Science Fund I, Inc | Methods and systems related to transmission of nutraceutical associated information |
US10296720B2 (en) | 2005-11-30 | 2019-05-21 | Gearbox Llc | 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 |
US20080210748A1 (en) | 2005-11-30 | 2008-09-04 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware, | Systems and methods for receiving pathogen related information and responding |
US7974856B2 (en) * | 2005-11-30 | 2011-07-05 | The Invention Science Fund I, Llc | Computational systems and methods related to nutraceuticals |
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 |
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 |
US8000981B2 (en) * | 2005-11-30 | 2011-08-16 | The Invention Science Fund I, Llc | Methods and systems related to receiving nutraceutical associated information |
US7927787B2 (en) | 2006-06-28 | 2011-04-19 | The Invention Science Fund I, Llc | Methods and systems for analysis of nutraceutical associated components |
US20080004909A1 (en) * | 2005-11-30 | 2008-01-03 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Computational systems related to nutraceuticals |
US8297028B2 (en) | 2006-06-14 | 2012-10-30 | The Invention Science Fund I, Llc | Individualized pharmaceutical selection and packaging |
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 |
KR100957900B1 (ko) * | 2006-02-10 | 2010-05-13 | 미쓰비시덴키 가부시키가이샤 | 엘리베이터 제어 프로그램의 원격 갱신 시스템 |
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 |
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 |
US8752044B2 (en) | 2006-07-27 | 2014-06-10 | Qualcomm Incorporated | 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 | キヤノン株式会社 | 情報処理装置、製造装置及びデバイス製造方法 |
JP5222403B2 (ja) * | 2009-06-08 | 2013-06-26 | シャープ株式会社 | ソフトウェア更新システム、表示ユニット、及びソフトウェア更新方法 |
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 |
US9317269B2 (en) * | 2012-09-28 | 2016-04-19 | Wal-Mart Stores, Inc. | Systems and methods for installing, managing, and provisioning applications |
US9235491B2 (en) | 2012-09-28 | 2016-01-12 | 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 |
TWI608419B (zh) * | 2013-09-23 | 2017-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 |
CN104461873B (zh) * | 2014-11-19 | 2018-03-23 | 青岛海信电器股份有限公司 | 一种应用程序的测试方法和装置 |
US9419989B2 (en) | 2014-12-15 | 2016-08-16 | Sophos Limited | Threat detection using URL cache hits |
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 |
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 |
WO2016138240A1 (en) * | 2015-02-27 | 2016-09-01 | 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 |
US10158528B2 (en) | 2015-10-13 | 2018-12-18 | Uber Technologies, Inc. | Application service configuration system |
US11533226B2 (en) | 2015-10-13 | 2022-12-20 | Uber Technologies, Inc. | Application service configuration system |
US11283900B2 (en) | 2016-02-08 | 2022-03-22 | Microstrategy Incorporated | Enterprise performance and capacity testing |
US10440153B1 (en) | 2016-02-08 | 2019-10-08 | Microstrategy Incorporated | Enterprise health score and data migration |
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 |
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 |
KR102103590B1 (ko) * | 2018-01-09 | 2020-04-23 | 주식회사 한글과컴퓨터 | 프로그램 호환성 자동테스트 방법 및 이를 이용하는 장치 |
US10467121B2 (en) * | 2018-02-02 | 2019-11-05 | Bank Of America Corporation | Smart tool for enterprise-wide software integration and deployment |
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 |
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 |
US11966774B2 (en) | 2019-10-25 | 2024-04-23 | Microstrategy Incorporated | Workflow generation using multiple interfaces |
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 |
US20230103400A1 (en) * | 2021-10-04 | 2023-04-06 | 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 |
Family Cites Families (50)
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 |
GB2333864B (en) * | 1998-01-28 | 2003-05-07 | Ibm | Distribution of software updates via a computer network |
US6023586A (en) * | 1998-02-10 | 2000-02-08 | Novell, Inc. | Integrity verifying and correcting software |
JP2002506249A (ja) * | 1998-03-03 | 2002-02-26 | シーベル システムズ,インコーポレイティド | ソフトウェア・アップグレードの分配およびインスタンス化のための方法、システム、装置およびプログラム製品 |
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 |
AU1100500A (en) | 1998-09-30 | 2000-04-17 | Cadence Design Systems, Inc. | Block based design methodology |
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 |
US7103647B2 (en) | 1999-08-23 | 2006-09-05 | Terraspring, Inc. | Symbolic definition of a computer system |
US6779016B1 (en) | 1999-08-23 | 2004-08-17 | Terraspring, Inc. | Extensible computing system |
CN1296220A (zh) * | 1999-11-01 | 2001-05-23 | 城市集团发展中心有限公司 | 安装和/或升级自助金融交易终端的软件的方法和系统 |
US6553548B1 (en) | 1999-12-14 | 2003-04-22 | International Business Machines Corporation | System and method for recovering from 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 |
CA2423175A1 (en) * | 2000-09-22 | 2002-03-28 | Patchlink.Com Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
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 |
-
2002
- 2002-09-20 US US10/252,868 patent/US7216343B2/en not_active Expired - Lifetime
-
2003
- 2003-05-27 CN CNB038222175A patent/CN100345106C/zh not_active Expired - Fee Related
- 2003-05-27 WO PCT/US2003/016553 patent/WO2004027541A2/en active Application Filing
- 2003-05-27 AU AU2003288894A patent/AU2003288894A1/en not_active Abandoned
- 2003-05-27 EP EP03781280A patent/EP1540469A4/en not_active Withdrawn
- 2003-05-27 JP JP2004538169A patent/JP2006507570A/ja active Pending
- 2003-05-27 KR KR1020057004827A patent/KR20050043982A/ko not_active Application Discontinuation
- 2003-07-28 TW TW092120510A patent/TWI234736B/zh not_active IP Right Cessation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1992639B (zh) * | 2005-12-27 | 2011-08-10 | 中兴通讯股份有限公司 | 网络设备的软件及数据远程更新方法 |
US9464835B2 (en) | 2006-04-25 | 2016-10-11 | Carrier Corporation | Remote software loading for refrigerant system |
CN103440460A (zh) * | 2013-09-09 | 2013-12-11 | 中国农业银行股份有限公司 | 一种应用系统变更验证方法及验证系统 |
CN104536891A (zh) * | 2014-12-26 | 2015-04-22 | 小米科技有限责任公司 | 系统测试方法及装置 |
CN104536891B (zh) * | 2014-12-26 | 2017-07-11 | 小米科技有限责任公司 | 系统测试方法及装置 |
CN107273139A (zh) * | 2017-07-05 | 2017-10-20 | 努比亚技术有限公司 | 一种系统更新方法、设备及计算机可读存储介质 |
CN107870851A (zh) * | 2017-11-29 | 2018-04-03 | 广州品唯软件有限公司 | 应用性能测试方法、装置、计算机可读存储介质及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP1540469A2 (en) | 2005-06-15 |
CN100345106C (zh) | 2007-10-24 |
US20040060044A1 (en) | 2004-03-25 |
EP1540469A4 (en) | 2007-10-24 |
WO2004027541A2 (en) | 2004-04-01 |
KR20050043982A (ko) | 2005-05-11 |
TW200405202A (en) | 2004-04-01 |
AU2003288894A1 (en) | 2004-04-08 |
AU2003288894A8 (en) | 2004-04-08 |
WO2004027541A3 (en) | 2004-07-08 |
JP2006507570A (ja) | 2006-03-02 |
US7216343B2 (en) | 2007-05-08 |
TWI234736B (en) | 2005-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100345106C (zh) | 用于软件自动更新和测试的方法和设备 | |
US7318226B2 (en) | Distributed autonomic solutions repository | |
US7594219B2 (en) | Method and apparatus for monitoring compatibility of software combinations | |
US8527814B1 (en) | Method and system for repairing an error in a software application | |
EP2210183B1 (en) | Managing updates to create a virtual machine facsimile | |
US7194445B2 (en) | Adaptive problem determination and recovery in a computer system | |
US7451142B2 (en) | Autonomic relevancy building | |
US20070083861A1 (en) | Managing a computer system with blades | |
US11442830B2 (en) | Establishing and monitoring programming environments | |
US20080172679A1 (en) | Managing Client-Server Requests/Responses for Failover Memory Managment in High-Availability Systems | |
US7624309B2 (en) | Automated client recovery and service ticketing | |
CN101063973A (zh) | 用于多处理环境中的数据聚合的方法和系统 | |
JP2015505097A (ja) | 修復送達システムのためのコンピュータ実装プロセス、コンピュータ・プログラム製品、および装置 | |
Grottke et al. | Recovery from software failures caused by mandelbugs | |
US9256509B1 (en) | Computing environment analyzer | |
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 | |
US20060136526A1 (en) | Rapid provisioning of a computer into a homogenized resource pool | |
CN1522403A (zh) | 处理因特网表单的方法和设备 | |
US20230222031A1 (en) | Method and system for proactively resolving application upgrade issues using a device emulation system of a customer environment | |
US20070043717A1 (en) | Relevancy association architecture | |
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 | |
US20080249970A1 (en) | Method and computer program product for selecting among multiple provisioning mechanisms in a self-managing computer system |
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 |