CN101910971A - 可重新开始地供应软件组件的系统及方法 - Google Patents

可重新开始地供应软件组件的系统及方法 Download PDF

Info

Publication number
CN101910971A
CN101910971A CN2009801016470A CN200980101647A CN101910971A CN 101910971 A CN101910971 A CN 101910971A CN 2009801016470 A CN2009801016470 A CN 2009801016470A CN 200980101647 A CN200980101647 A CN 200980101647A CN 101910971 A CN101910971 A CN 101910971A
Authority
CN
China
Prior art keywords
state
global state
independent
checkpoint
global
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009801016470A
Other languages
English (en)
Other versions
CN101910971B (zh
Inventor
A·卡尔夫
A·海因德拉
R·A·伦达尔
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.)
Workday Inc
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 CN101910971A publication Critical patent/CN101910971A/zh
Application granted granted Critical
Publication of CN101910971B publication Critical patent/CN101910971B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种用于将状态与分布式系统相关联及借助恢复转变组件状态以逆转转变尝试的系统和方法,其包括:定义表示系统中所涉及的多个组件的整体供应状态的全局状态,其中将一组全局状态用作供应检查点。定义用于从一个状态转变成另一个状态的单独软件组件方法。将单独状态与全局状态相关联。定义回退方法,在发生失败的情况下可借助该回退方法而将目的全局状态回退至前一全局状态。

Description

可重新开始地供应软件组件的系统及方法
技术领域
本发明涉及计算机网络管理,更具体地说,涉及用于提供可重新开始地供应软件组件的系统及方法。
背景技术
在数据中心内部署解决方案要求跨越多个层安装及配置若干软件组件。需要独立安装及配置每个软件组件。通常手动进行此任务或使用诸如IBM的用于自动供应的Tivoli Provisioning ManagerTM(Tivoli供应管理器)之类的供应工具来进行此任务。由于单独组件通常经由使选择性解除配置/解除安装很困难的配置而链接在一起,因此任何组件的安装/配置期间的失败都将导致供应操作作废(scrapping)及重新开始供应。
关于单个过程组件的检查点/重新开始的先前工作集中于单个节点环境内的一个或多个相关组件的安装及失败恢复。另外,具有相关技术的若干专利包括以下内容。名为″Apparatus and methods for controlling restartconditions of a faulted process″的美国专利第6,453,430号集中于在具有多个及不同恢复步骤的单个节点内的对处理失败的恢复策略。名为″Restartand recovery of OMG-compliant transaction systems″的美国专利第5,923,833号集中于交易系统中的重新开始及恢复技术。名为″Scheme forrestarting processes at distributed checkpoints in client-server computersystem″的美国专利第6,026,499号集中于一种在一个节点中发生失败的情况下重新开始多个节点间的过程的分布式方法,但未考虑供应、捕获全局状态或提供回退能力的过程。
用于处理失败及重新开始能力的传统方法将不起作用,因为至少获得一致的分布式检查点在这些方法中是不可行的。
发明内容
一种用于将状态与分布式系统相关联及借助恢复转变组件状态以逆转转变尝试的系统和方法,其包括:定义表示系统中所涉及的多个组件的整体供应状态的全局状态,其中将一组全局状态用作供应检查点。定义用于从一个状态转变成另一个状态的单独软件组件方法。将单独状态与全局状态相关联。定义回退方法,在发生失败的情况下可借助该回退方法而将目的全局状态回退至前一全局状态。
自以下应结合附图进行阅读的对本发明的示例性实施例的详细描述,这些及其他特征及优点将变得显而易见。
附图说明
参考以下附图,本揭示内容将提供优选实施例的以下描述的细节,这些附图是:
图1是示出可用于根据本发明原理实施一例示性实施例的网络数据处理系统的方块图;
图2是可用于根据本发明原理实施一例示性实施例的数据处理系统的方块图;
图3是可用于根据本发明原理实施一例示性实施例的服务传送环境的示意表示;
图4是说明可用于根据本发明原理实施一例示性实施例的多层模型的一个实例的方块图;
图5是说明根据本发明原理的由所涉及软件组件的基本状态组成的全局状态连同用于自一全局状态移动至下一全局状态的组件级别状态转变及回退模式的图;
图6是说明根据一例示性实施例的用于在分布式计算网络中通过历经系统状态(包括失败步骤时的恢复步骤)而供应软件组件的系统/方法的方块/流程图;
图7是说明根据本发明原理的用于管理由组件或所涉及软件组件的基本状态组成的一组全局状态的状态管理连同用于自一全局状态移动至下一全局状态的组件级别状态转变及回退模式的图;及
图8是说明根据本发明原理的图5的全局状态连同用于在全局状态之间移动的组件级别状态转变及回退转变的另一图。
具体实施方式
本发明提供用于自动供应分布式计算网络中的计算资源的系统及方法,且所述系统及方法包括使用全局状态检查点,在发生失败的情况下允许供应的受控回退。全局状态包括供应中所涉及的多个软件组件的单独状态。在供应尝试期间发生失败的情况下移回至前一全局状态检查点所需的回退程序(多个)与每个全局状态相关联,以便自一检查点移动至下一检查点。
根据一例示性实施例,一种用于自动供应分布式计算网络中的计算资源的方法包括生成单个全局状态,该单个全局状态表示自动供应过程的进行中的状态。全局状态包括分布式计算网络中的软件组件的单独状态。全局状态经由分布式系统中的单独软件组件的递增供应步骤而自一状态转变成下一状态。回退程序与每个状态相关联。在供应失败的情况下,相关联的回退程序可用于使系统返回至前一系统状态。
应理解,可以各种形式的硬件、软件、固件、专用处理器或其组合来实施本文中所描述的本发明的例示性实施例。本发明的一个例示性实施例可采用完全硬件实施例、完全软件实施例,或包括硬件与软件元素两者的实施例的形式。
此外,本发明可采用可从计算机可用或计算机可读介质访问的计算机程序产品的形式,所述介质提供供计算机或任何指令执行系统使用的程序代码,或结合计算机或任何指令执行系统而使用的程序代码。出于此描述之目的,计算机可用或计算机可读介质可以是任何可包括、存储、传送、传播或传输程序的装置,该程序供指令执行系统、装置或设备使用或结合指令执行系统、装置或设备而使用该程序。所述介质可为电子、磁性、光学、电磁、红外线或半导体系统(或装置或设备)或传播介质。计算机可读介质的实例包括半导体或固态存储器、磁带、抽取式计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘及光盘。光盘的当前实例包括紧密光盘-只读存储器(CD-ROM)、紧密光盘-读取/写入(CD-R/W)及DVD。
例示性实施例可在软件介质中实现为应用程序,其有形地体现在可由能够执行指令程序的机器(诸如计算机)读取的一个或多个程序存储设备上,所述程序存储设备如计算机硬盘驱动器、CD-ROM(紧密光盘-只读存储器)驱动器及抽取式介质(如CD、DVD(数字通用光盘或数字视频光盘)、通用串行总线(USB)驱动器、软盘、磁盘及磁带)。应用程序可上载至包括任何合适架构的指令执行系统、装置或设备,且由所述指令执行系统、装置或设备执行。还应理解,由于附图中所描绘的本发明的例示性实施例可以以软件来实施,因此系统组件之间的实际连接(或过程步骤的流程)可视编程应用的方式而不同。在一个优选实施例中,本发明以软件实施,所述软件可包括(但不限于)固件、常驻软件、微码等。
适合于存储和/或执行程序代码的数据处理系统将包括至少一个直接或通过系统总线间接连接到存储器元件的处理器。所述存储器元件可以包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高速缓冲存储器。输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等)可以直接或通过中间I/O控制器与系统相连。
网络适配器也可以被连接到系统以使所述数据处理系统能够通过中间专用或公共网络变得与其他数据处理系统或远程打印机或存储设备相连。调制解调器、电缆调制解调器和以太网卡只是当前可用的网络适配器类型中的少数几种。
现参考类似数字表示相同或相似组件的图,初始地,参考图1,其说明性地示出可用于实施本发明的一个例示性实施例的网络数据处理系统100。网络数据处理系统100包括计算机104、106、110、112、114...的网络,其可使用任何合适的计算机来实施。网络数据处理系统100可包括(例如)个人计算机、工作站或大型机。网络数据处理系统100可使用客户端-服务器网络架构,其中网络上的每个计算机或过程为客户端或服务器。
网络数据处理系统100包括网络102,网络102为用于在网络数据处理系统100内的各种设备与计算机之间提供通信链路的介质。网络102可包括各种连接,诸如有线、无线通信链路、光缆、经由电话所进行的连接及/或其他通信链路。
各种服务器、客户端及其他设备可连接至网络102。例如,连同存储单元108及客户端110、112及114,服务器104及服务器106可连接至网络102,如图1中所示。存储单元108可包括各种类型的存储介质,诸如计算机硬盘驱动器、CD-ROM驱动器及/或抽取式介质(诸如CD、DVD、USB驱动器、软盘、磁盘及/或磁带)。客户端110、112及114可为(例如)个人计算机及/或网络计算机。
客户端110可为个人计算机。客户端110可包括系统单元(其包括处理单元及存储器设备)、视频显示终端、键盘、存储设备(诸如软盘驱动器及其他类型之永久或抽取式存储介质),及指针设备(诸如鼠标)。客户端110可包括额外输入设备,例如,操纵杆、触控板、触摸屏、轨迹球、麦克风等。
例如,客户端110、112及114可为服务器104的客户端。服务器104可将诸如引导文件、操作系统映像及应用之类的数据提供给客户端110、112及114。网络数据处理系统100可包括未示出的其他设备。
网络数据处理系统100可包括(例如)因特网,其中网络102表示使用传输控制协议/网际协议(TCP/IP)协议集彼此通信的网络及网关的全球集合。因特网包括主节点或主计算机之间的高速数据通信线路的骨干,所述主计算机包括路由数据及消息的大量商业、政府、教育及其他计算机系统。
网络数据处理系统100可实施为任何合适类型之网络,诸如,内联网、局域网(LAN)及/或广域网(WAN)。图1中的网络数据处理元件旨在作为一实例,且并非作为对于本发明的实施例的架构限制。
参考图2,其说明性地示出可用于实施例示性实施例的数据处理系统200的方块图。数据处理系统200是计算机的实例,如图1中的服务器104或客户端110,实施根据本发明原理的过程的计算机可用代码或指令可位于其中。
在此实例中,数据处理系统200使用集线器架构,该集线器架构包括北桥及存储器控制器集线器(NB/MCH)202和南桥及输入/输出(I/O)控制器集线器(SB/ICH)204。可包括一个或多个处理器的处理单元206、主存储器208及图形处理器210耦接至北桥及存储器控制器集线器202。图形处理器210可经由加速图形端口(AGP)而耦接至NB/MCH 202。数据处理系统200可为(例如)在处理单元206中包括多个处理器的对称多处理器(SMP)系统。数据处理系统200可为单处理器系统。
局域网(LAN)适配器212耦接至南桥及I/O控制器集线器204。音频适配器216、键盘及鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)端口及其他通信端口232,及PCI/PCIe(PCIExpress)设备234经由总线238耦接至南桥及I/O控制器集线器204,且硬盘驱动器(HDD)226及CD-ROM驱动器230经由总线240耦接至南桥及I/O控制器集线器204。
PCI/PCIe设备的实例包括以太网络适配器、插卡(add-in card),及用于笔记本计算机的PC卡。大体而言,PCI使用卡总线控制器,而PCIe不使用卡总线控制器。ROM 224可为(例如)闪速二进制输入/输出系统(BIOS)。硬盘驱动器226及CD-ROM驱动器230可使用(例如)集成驱动电子(IDE)或串行高级技术附件(SATA)接口。超级I/O(SIO)设备236可耦接至南桥及I/O控制器集线器204。
可在处理单元206上执行的操作系统协调数据处理系统200内的各种组件及提供对数据处理系统200内的各种组件的控制。例如,操作系统可为市售之操作系统,诸如
Figure BPA00001174956800061
XP(Microsoft及Windows为Microsoft公司的商标或注册商标)。
面向对象的编程系统(诸如JavaTM编程系统)可结合操作系统而执行,且自在数据处理系统200上执行的Java程序或应用提供对操作系统的调用(Java标记及所有基于Java的标记为Sun Microsystems公司的商标或注册商标)。
操作系统的指令、面向对象的编程系统、应用及/或指令的程序位于诸如硬盘驱动器226的存储设备上,且可加载至主存储器208中用于由处理单元206执行。可由处理单元206使用可位于诸如主存储器208、只读存储器224之类的存储器中或一个或多个外围设备中的计算机可用程序代码而执行例示性实施例的过程。
应了解,图1及图2中所描绘的硬件可视实施方式而变化。除了所描绘硬件之外,或替代该硬件,可使用其他内部硬件或外围设备,诸如闪存、等效非易失性存储器,或光驱等。根据本发明原理的实施例的过程可应用于多处理器数据处理系统。
数据处理系统200可采用各种形式。例如,数据处理系统200可为平板计算机、膝上型计算机或电话设备。例如,数据处理系统200可为个人数字助理(PDA),其可具备闪存以提供用于存储操作系统文件及/或用户生成的数据的非易失性存储器。数据处理系统200内的总线系统可包括一个或多个总线238、240,诸如系统总线、I/O总线及PCI总线。应理解,可使用提供耦接至结构或架构的不同组件或设备之间的数据传输的任何类型的通信结构或架构来实施总线系统。通信单元可包括一个或多个用于传输及接收数据的设备,如调制解调器222或网络适配器212。存储器可为(例如)主存储器208、ROM 224或诸如北桥及存储器控制器集线器202中所发现的高速缓存。处理单元206可包括一个或多个处理器或CPU。
可在诸如图1中所示出的数据处理系统100或图2中所示出的数据处理系统200之类的数据处理系统中执行根据例示性实施例的用于自动供应的方法。
适合于存储和/或执行指令程序的数据处理系统可包括一个或多个直接或通过系统总线间接连接到存储器元件的处理器。所述存储器元件可以包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高速缓冲存储器。
数据处理系统200可包括可直接或经由中间I/O控制器耦接至该系统的输入/输出(I/O)设备,诸如键盘、显示器及指点设备。网络适配器亦可耦接至系统以使该数据处理系统能够经由中间专用或公共网络而耦接至其他数据处理系统或远程打印机或存储设备。网络适配器包括(但不限于)调制解调器、电缆调制解调器及以太网卡。
参考图3,其说明性地描绘可用于实施一个例示性实施例的服务传送环境300的示意表示。服务传送环境300包括物理服务器群302、DMZ(非军事区)306及管理服务器312。术语″非军事区″或首字母缩略字″DMZ″指位于组织的内部网络与诸如因特网的外部网络之间的网络区域。
由路由器设备接收来自因特网或内联网的用户请求。例如,路由器设备可位于DMZ 306内。可由诸如IBM的WebSealTM产品之类的反向代理(reverse proxy)实施路由器设备。
用户请求可经由网络308而导向到供应解决方案,在服务器群302上执行的真实或虚拟机器310的集合上托管该供应解决方案。可用于管理服务器群302的管理服务器312经由网络308而耦接至物理服务器302。管理服务器312可由系统管理员304用来管理及监视服务器群。在管理服务器312上运行的软件可有助于各种任务,诸如软件计量、应用供应、监视所有(或选定)应用,及服务器群的问题确定。
参考图4,该图为说明多层系统的一个实例的方块/流程图,该多层系统可用于根据本发明原理而实施一个例示性实施例。所描绘的模型为三层模型400。每个层本身可以是多层的(在此情况下,整体架构称作″n层架构″)。可以不同方式物理地实施逻辑层。例如,可在不同服务器上物理地实施全部三层,这可导致较大的伸缩性及同时处理较多客户端请求的能力。
第一层402为呈现层或网络层,其为用户动态地生成各种格式的内容。呈现层402包括处理用户与业务层404之间的交互的组件。用户与呈现层402的交互可经由网络浏览器。例如,支持基于HTML的前端的网络浏览器与将修改后的或新的网页转发回用户的网络服务器通信。应了解,网络服务器可使用不同方法来为用户请求服务。这些方法包括(但不限于)公共网关接口(CGI)、Microsoft的活动服务器页(ASP)及Java服务器页(JSP)。呈现层(402)组件可包括HTML页、图像及计算机可读程序代码以显示及处理诸如门户件(portlet)及/或服务器小程序(servlet)之类的HTML页。
第二层404为应用层或业务层。业务层404的组件处理客户端请求及提供应用的业务逻辑。业务逻辑包括将功能性提供给特定应用域的计算机可读代码。可由实际J2EE(Java 2平台,企业版本)应用或执行特定于供应解决方案的功能性的业务过程来体现业务逻辑。
第三层406为数据库层。数据库层406包括数据及用于管理及提供对数据的存取的组件,诸如数据库管理软件。
参考图5,根据本发明原理而说明性地描绘由单独软件组件状态组成的全局状态的一个实例。全局状态502由组件状态508、510及512的元组组成。系统的供应包括经由组件的单独状态转变(508至514、510至516,及512至518)而使全局状态自状态502移动至状态504。归因于自508及510转变的组件C1与C2之间的次序相关性,组件C1B经由中间状态(C1B′)506而移动至新的全局状态504。
在实际中,例示性方法将组件状态捕获为表示单独组件状态的元组。有效状态的一个例示性集合可包括未安装、已安装、已开始、阶段<n>、已完成,其中阶段<n>为组件特定的。在图5中,组件[C1、C2、C3]的全局状态B(502)可为[已安装、已安装、未安装]。由C1的部分转变所表示的中间状态(506)可为[已开始、已安装、未安装]。最终全局状态C(504)可为[阶段1、阶段1、已安装]。
图6为说明一种用于根据一个例示性实施例而在分布式计算网络中自动供应计算资源的方法的流程图。
参考图6,在方块602中接收供应请求。方块604通过检查组成系统的组件的当前状态而建立系统的初始全局状态。例如,可在供应请求之前部署及配置单独软件组件。方块606检查系统内的软件组件的当前状态以识别单独步骤及移动至下一全局状态所需的那些步骤间的次序相关性。
方块608启动方块606中所识别的实际供应步骤。可按顺序或并行地执行这些步骤,从而维持状态转变方法中所定义的任何次序相关性。方块610检查单独组件状态转变的成功以判定是否已达到新的全局状态。
在任何方块中出现失败的情况下,整体全局状态转变已失败且需要启动回退程序。回退程序以方块616开始。方块616识别被尝试及需被回退的单独组件状态转变。方块618启动在方块616中所识别的移动回前一全局状态检查点所需的回退步骤。
在回退至已知状态之后,可经由供应过程外部的手动或自动干预而纠正失败原因。方块620判定是否已纠正问题。如果未被纠正,则系统保持已知的失败状态,如方块622中所指示的。如果已纠正问题,则控制返回方块606。
在方块610中,成功的状态转变分析导致对供应请求的额外评估以判定是否在方块612中需要另一全局状态转变。当需要另一全局状态转变时,控制返回方块606。当方块612处不需要其他状态转变时,已成功地供应系统,如方块614中所表示。
在实际中,一个例示性方法经由对目标环境的检验而识别初始组件状态。供应逻辑经由元数据定义而结合全局状态定义及转变步骤集合。给定初始组件状态的情况下,供应逻辑确定下一全局状态。启动达到该状态所必须的每个转变步骤。如果所有步骤成功,则达到新的全局状态。如果存在任何剩余全局状态,则重复该模式。如果某一步骤失败,则启动与全局状态转变相关联的回退步骤。对失败原因的自动纠正允许供应过程自前一全局状态重新继续。如果未纠正原因,则整体供应被保持在前一全局状态处,处于失败状态中。
现在根据本发明原理而呈现一个更详细的实例。描述一种基于状态的方法,其中单独软件组件的状态链接至供应过程的单个全局状态。随着供应进行,解决方案的供应自一个状态转变成另一个状态。用于自动恢复的回退程序与软件组件的每个状态相关联。
在发生失败的情况下,通过执行与由全局状态表示的每个软件组件相关联的″撤销″程序,分布式系统的状态回退至前一一致状态。全局状态提供对软件组件的当前状态的理解以便进行手动恢复。
参考图7,示出了根据示例性实施例的状态管理。每个全局状态702都是其子组件C的复合状态。例如,状态初始(702)包括处于状态C10及C20的两个子组件。
实线箭头704示出自一个全局状态至另一个全局状态,及自每个子组件状态至另一子组件状态的状态转变。具有标号的虚线箭头706指示将一个子组件的状态回退至前一状态的恢复程序。例如,程序proc2将组件C1的状态自状态C1B转至C1A
在自一个全局状态至另一个全局状态的转变期间出现失败的情况下,供应子系统自动地执行将单独组件的状态回退至前一组件状态的撤销程序。仅针对已转变成下一状态或在转变成下一状态的过程中的组件执行″撤销″程序。
所有子组件不必同时转变成下一状态。可存在基于完成与转变成下一状态相关联的任务所需的供应步骤的固有次序相关性(组件及程序相关性两者)。此外,随着全局状态改变,并非所有组件都需要转变成下一状态。例如,在图7中,随着全局状态自状态A转变成状态B,组件C3的状态保持为C3A
参考图8,说明性地描绘状态转变间的次序相关性的实例。作为执行程序(a)之结果,组件C1转变成中间状态C1B′。接下来,作为执行程序(b)之结果,组件C2自状态C2B转变成状态C2C。在此转变完成之后,作为执行程序(c)之结果,组件C1自中间状态C1B′转变成C1C。作为执行程序(d)之结果,组件C3自C3A转变成C3C。如果步骤(a)至步骤(d)中的任一者失败,则以相反次序运行单独回退程序(例如,proc1′、proc1″、proc23、proc33)以达到前一全局状态。
尽管已描述可重新开始地供应软件组件的系统及方法的优选实施例(其旨在是说明性的而非限制性的),但应注意,本领域技术人员可根据以上教导进行修改及变化。因此应了解,可在所披露的特定实施例中进行在如由所附权利要求概述的本发明的范围及精神内的改变。已详细及根据专利法的特定需要而如此描述本发明的各方面,由专利证书所保护的主张及所要的内容在所附权利要求中阐述。

Claims (23)

1.一种用于将状态与分布式系统相关联及借助恢复能力转变组件状态以逆转转变尝试的方法,所述方法包括:
定义表示分布式系统中所涉及的多个组件的整体供应状态的全局状态,其中将一组全局状态用作供应检查点;
定义用于从一个状态转变成另一个状态的单独软件组件方法;
将所述组件的单独状态与全局状态相关联;及
定义回退方法,在发生失败的情况下可借助该回退方法而将目的全局状态回退至前一全局状态。
2.如权利要求1中所述的方法,其中定义回退方法包括:定义将回退在失败的转变中发起的所有单独组件转变的单个过程。
3.如权利要求1中所述的方法,其中定义回退方法包括:在组件级别定义与单独状态转变活动相关联的单独回退程序。
4.如权利要求1中所述的方法,还包括:在单个步骤中将组件从初始全局状态直接转变成下一全局状态。
5.如权利要求1中所述的方法,还包括:将组件转变成不是任何全局状态检查点的一部分的中间组件级别状态。
6.如权利要求1中所述的方法,还包括:在不维持从一个全局状态检查点移动至另一个全局状态检查点的组件间的任何次序相关性的情况下转变组件。
7.如权利要求1中所述的方法,还包括:在维持从一个全局状态检查点移动至另一个全局状态检查点的组件间的次序相关性的情况下转变组件。
8.如权利要求1中所述的方法,还包括:
确定失败原因;
如果确定了失败原因,则继续在状态之间转变;及
如果未确定失败原因,则所述系统保持已知失败状态。
9.一种计算机可读介质,其包括用于将状态与分布式系统相关联及借助恢复能力转变组件状态以逆转转变尝试的计算机可读程序,其中当所述计算机可读程序在计算机上执行时,将导致所述计算机执行以下步骤:
定义表示分布式系统中所涉及的多个组件的整体供应状态的全局状态,其中将一组全局状态用作供应检查点;
定义用于从一个状态转变成另一个状态的单独软件组件方法;
将所述组件的单独状态与全局状态相关联;及
定义回退方法,在发生失败的情况下可借助该回退方法而将目的全局状态回退至前一全局状态。
10.如权利要求9中所述的计算机可读介质,其中定义回退方法包括:定义将回退在失败的转变中发起的所有单独组件转变的单个过程。
11.如权利要求9中所述的计算机可读介质,其中定义回退方法包括:在组件级别定义与单独状态转变活动相关联的单独回退程序。
12.如权利要求9中所述的计算机可读介质,还包括:在单个步骤中将组件从初始全局状态直接转变成下一全局状态。
13.如权利要求9中所述的计算机可读介质,还包括:将组件转变成不是任何全局状态检查点的一部分的中间组件级别状态。
14.如权利要求9中所述的计算机可读介质,还包括:在不维持从一个全局状态检查点移动至另一个全局状态检查点的组件间的任何次序相关性的情况下转变组件。
15.如权利要求9中所述的计算机可读介质,还包括:在维持从一个全局状态检查点移动至另一个全局状态检查点的组件间的次序相关性的情况下转变组件。
16.如权利要求9中所述的计算机可读介质,还包括:
确定失败原因;
如果确定了失败原因,则继续在状态之间转变;及
如果未确定失败原因,则所述系统保持已知失败状态。
17.一种用于在分布式计算网络中供应计算资源的自动供应系统,所述系统包括:
多个全局状态,每个全局状态表示分布式系统中所涉及的多个组件的整体供应状态,其中将一组全局状态用作供应检查点;
多个单独状态,每个单独状态都与全局状态相关联且具有配置为允许所述单独状态从一个状态转变至另一个状态的单独软件组件方法;及
回退方法,在发生失败的情况下可借助该回退方法而将目的全局状态回退至前一全局状态。
18.如权利要求17中所述的系统,其中所述回退方法包括:回退在失败的转变中发起的所有单独组件转变的单个过程。
19.如权利要求17中所述的系统,其中所述回退方法包括:在组件级别与单独状态转变活动相关联的单独回退程序。
20.如权利要求17中所述的系统,其中所述多个组件包括:被配置为在单个步骤中从初始全局状态直接转变成下一全局状态的组件。
21.如权利要求17中所述的系统,其中所述多个组件包括:被配置为在不是任何全局状态检查点的一部分的中间组件级别状态中转变的组件。
22.如权利要求17中所述的系统,其中所述多个组件包括:被配置为在不维持从一个全局状态检查点移动至另一个全局状态检查点的组件间的任何次序相关性的情况下转变的组件。
23.如权利要求17中所述的系统,其中所述多个组件包括:被配置为在维持从一个全局状态检查点移动至另一个全局状态检查点的组件间的任何次序相关性的情况下转变的组件。
CN2009801016470A 2008-01-11 2009-01-09 可重新开始地供应软件组件的系统及方法 Active CN101910971B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/972,763 US8776018B2 (en) 2008-01-11 2008-01-11 System and method for restartable provisioning of software components
US11/972,763 2008-01-11
PCT/US2009/030530 WO2009089408A1 (en) 2008-01-11 2009-01-09 System and method for restartable provisioning of software components

Publications (2)

Publication Number Publication Date
CN101910971A true CN101910971A (zh) 2010-12-08
CN101910971B CN101910971B (zh) 2012-09-19

Family

ID=40851586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801016470A Active CN101910971B (zh) 2008-01-11 2009-01-09 可重新开始地供应软件组件的系统及方法

Country Status (7)

Country Link
US (1) US8776018B2 (zh)
EP (1) EP2247996A4 (zh)
JP (1) JP5476316B2 (zh)
KR (1) KR101354228B1 (zh)
CN (1) CN101910971B (zh)
TW (1) TW200937218A (zh)
WO (1) WO2009089408A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855216A (zh) * 2011-08-26 2013-01-02 微软公司 改进多处理器计算机系统的性能
CN107820699A (zh) * 2015-03-25 2018-03-20 迈克菲有限公司 IoT系统中的目标驱动配设
CN112579315A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 操作执行状态的处理方法、装置、存储介质和设备

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003270322A1 (en) * 2003-09-05 2005-04-21 Itron, Inc. Synchronizing and controlling software downloads, such as for utility meter-reading data collection and processing
US10013277B2 (en) * 2009-05-29 2018-07-03 Red Hat, Inc. Rolling back state changes in distributed transactions
FR2968422B1 (fr) 2010-12-01 2013-07-19 Commissariat Energie Atomique Procédé et dispositif de fiabilisation d'un système multi-processeur par pointage hybride
US10127084B2 (en) * 2012-11-15 2018-11-13 Red Hat Israel, Ltd. Pre-provisioning resources for composite applications
US9081964B2 (en) 2012-12-27 2015-07-14 General Electric Company Firmware upgrade error detection and automatic rollback
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
WO2015014394A1 (en) * 2013-07-30 2015-02-05 Nec Europe Ltd. Method and system for checkpointing a global state of a distributed system
US10148489B2 (en) 2015-09-01 2018-12-04 At&T Intellectual Property I, L.P. Service impact event analyzer for cloud SDN service assurance
CN107528709A (zh) * 2016-06-22 2017-12-29 中兴通讯股份有限公司 一种配置状态回退方法和装置
JP7024804B2 (ja) * 2018-02-06 2022-02-24 日本電気株式会社 システム更新装置およびシステム更新方法

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3154942B2 (ja) 1995-09-11 2001-04-09 株式会社東芝 分散チェックポイント生成方法および同方法が適用される計算機システム
US5630047A (en) * 1995-09-12 1997-05-13 Lucent Technologies Inc. Method for software error recovery using consistent global checkpoints
US5712971A (en) 1995-12-11 1998-01-27 Ab Initio Software Corporation Methods and systems for reconstructing the state of a computation
GB2311391A (en) * 1996-03-19 1997-09-24 Ibm Restart and recovery of OMG compliant transaction systems
US6185702B1 (en) * 1997-01-24 2001-02-06 Kabushiki Kaisha Toshiba Method and system for process state management using checkpoints
JP3253883B2 (ja) * 1997-01-31 2002-02-04 株式会社東芝 プロセスリスタート方法及びプロセス監視装置
SE510050C2 (sv) * 1997-07-21 1999-04-12 Ericsson Telefon Ab L M Metod för insamlande av logginformation vid förändring av databas
US6795966B1 (en) * 1998-05-15 2004-09-21 Vmware, Inc. Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction
US6453430B1 (en) * 1999-05-06 2002-09-17 Cisco Technology, Inc. Apparatus and methods for controlling restart conditions of a faulted process
US7206805B1 (en) * 1999-09-09 2007-04-17 Oracle International Corporation Asynchronous transcription object management system
US6556544B1 (en) * 1999-10-22 2003-04-29 Nortel Networks Limited Method and system for provisioning network resources for dynamic multicast groups
GB0017336D0 (en) * 2000-07-15 2000-08-30 Ibm Preferable modes of software package deployment
US7334004B2 (en) * 2001-06-01 2008-02-19 Oracle International Corporation Consistent read in a distributed database environment
US6898702B1 (en) * 2001-06-29 2005-05-24 Ciena Corporation System and method for staggered starting of embedded system modules in an optical node
US7203866B2 (en) * 2001-07-05 2007-04-10 At & T Corp. Method and apparatus for a programming language having fully undoable, timed reactive instructions
US7471625B2 (en) 2001-10-31 2008-12-30 Nec Corporation Fault recovery system and method for a communications network
US20040001476A1 (en) * 2002-06-24 2004-01-01 Nayeem Islam Mobile application environment
US7337195B2 (en) * 2002-12-31 2008-02-26 International Business Machines Corporation Method and device for establishing synchronized recovery log points
US7263590B1 (en) * 2003-04-23 2007-08-28 Emc Corporation Method and apparatus for migrating data in a computer system
US7093088B1 (en) * 2003-04-23 2006-08-15 Emc Corporation Method and apparatus for undoing a data migration in a computer system
US7174479B2 (en) * 2003-09-10 2007-02-06 Microsoft Corporation Method and system for rollback-free failure recovery of multi-step procedures
WO2005050404A2 (en) * 2003-11-17 2005-06-02 Virginia Tech Intellectual Properties, Inc. Transparent checkpointing and process migration in a distributed system
US7447710B2 (en) 2003-12-11 2008-11-04 Sybase, Inc. Database system providing self-tuned parallel database recovery
US20050132351A1 (en) * 2003-12-12 2005-06-16 Randall Roderick K. Updating electronic device software employing rollback
US7275183B2 (en) * 2004-04-30 2007-09-25 Hewlett-Packard Development Company, L.P. Method of restoring processes within process domain
US7787360B2 (en) * 2004-07-23 2010-08-31 Cisco Technology, Inc. System and method for preserving multicast data forwarding during control failures in a router
US7613743B1 (en) * 2005-06-10 2009-11-03 Apple Inc. Methods and apparatuses for data protection
US7516361B2 (en) * 2005-06-27 2009-04-07 Sun Microsystems, Inc. Method for automatic checkpoint of system and application software
US7707451B2 (en) * 2005-06-28 2010-04-27 Alcatel-Lucent Usa Inc. Methods and devices for recovering from initialization failures
US7761739B2 (en) * 2006-02-23 2010-07-20 Librato, Inc. Method for checkpointing a system already engaged in a concurrent checkpoint
US7996716B2 (en) * 2008-06-12 2011-08-09 International Business Machines Corporation Containment and recovery of software exceptions in interacting, replicated-state-machine-based fault-tolerant components
US8108718B2 (en) * 2009-11-13 2012-01-31 Hewlett-Packard Development Company, L.P. Checkpointing in massively parallel processing
US8132043B2 (en) * 2009-12-17 2012-03-06 Symantec Corporation Multistage system recovery framework

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855216A (zh) * 2011-08-26 2013-01-02 微软公司 改进多处理器计算机系统的性能
US9021138B2 (en) 2011-08-26 2015-04-28 Microsoft Technology Licensing, Llc Performance of multi-processor computer systems
CN102855216B (zh) * 2011-08-26 2015-12-16 微软技术许可有限责任公司 改进多处理器计算机系统的性能
US10484236B2 (en) 2011-08-26 2019-11-19 Microsoft Technology Licensing Llc Performance of multi-processor computer systems
CN107820699A (zh) * 2015-03-25 2018-03-20 迈克菲有限公司 IoT系统中的目标驱动配设
CN107820699B (zh) * 2015-03-25 2019-02-26 迈克菲有限公司 IoT系统中的目标驱动配设
CN112579315A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 操作执行状态的处理方法、装置、存储介质和设备

Also Published As

Publication number Publication date
KR101354228B1 (ko) 2014-01-22
JP5476316B2 (ja) 2014-04-23
TW200937218A (en) 2009-09-01
JP2011510381A (ja) 2011-03-31
US20090182782A1 (en) 2009-07-16
EP2247996A1 (en) 2010-11-10
EP2247996A4 (en) 2012-06-27
US8776018B2 (en) 2014-07-08
WO2009089408A1 (en) 2009-07-16
CN101910971B (zh) 2012-09-19
KR20100120131A (ko) 2010-11-12

Similar Documents

Publication Publication Date Title
CN101910971B (zh) 可重新开始地供应软件组件的系统及方法
US9569480B2 (en) Method and system for stateful recovery and self-healing
US8452853B2 (en) Browser with offline web-application architecture
CN100345106C (zh) 用于软件自动更新和测试的方法和设备
CN101438248A (zh) 事务恢复机制
US8370802B2 (en) Specifying an order for changing an operational state of software application components
US7895571B2 (en) Method and apparatus for resolving client-side logic
US7657782B2 (en) Creating and managing multiple virtualized remote mirroring session consistency groups
CN100489850C (zh) Web页的及时更新
US8225308B2 (en) Managing software lifecycle
US8332443B2 (en) Masterless distributed batch scheduling engine
CN112668386A (zh) 使用机器人过程自动化用于文档处理的长时间运行工作流
US9086944B2 (en) Method and system for synchronizing changes between product development code and related documentation
CN101821993A (zh) 对使用会话亲缘性的分布式环境中的故障恢复进行处理的方法和系统
CN1902595A (zh) 在复制环境中的协调的存储管理操作
KR20140117418A (ko) 클라이언트측 최소 다운로드 및 시뮬레이션 페이지 네비게이션 기능
US20080178102A1 (en) Automated learning system for improving graphical user interfaces
US20080127219A1 (en) Enhancement of assured event delivery mechanism to eliminate external xa store requirement
JPWO2006057061A1 (ja) 分散トランザクション処理方法、装置、及びプログラム
US7379989B2 (en) Method for dual agent processes and dual active server processes
US10740085B2 (en) Webserver interface for deployment management tool
US20090106322A1 (en) Two-set method for avoiding data loss when multiple users simultaneously edit the same data
CN111813568B (zh) 一种服务管理系统和方法
US11513717B2 (en) Online data rehydration
US8250195B2 (en) Leveraging synchronous communication protocols to enable asynchronous application and line-of-business behaviors

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210510

Address after: Tortola Island, British Virgin Islands

Patentee after: Green City Plaza Co.,Ltd.

Address before: New York, USA

Patentee before: International Business Machines Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240619

Address after: California, USA

Patentee after: WORKDAY Inc.

Country or region after: U.S.A.

Address before: Tortola Island, British Virgin Islands

Patentee before: Green City Plaza Co.,Ltd.

Country or region before: British Virgin Islands