CN102782656B - 管理应用程序可用性的系统和方法 - Google Patents

管理应用程序可用性的系统和方法 Download PDF

Info

Publication number
CN102782656B
CN102782656B CN201080064056.3A CN201080064056A CN102782656B CN 102782656 B CN102782656 B CN 102782656B CN 201080064056 A CN201080064056 A CN 201080064056A CN 102782656 B CN102782656 B CN 102782656B
Authority
CN
China
Prior art keywords
application program
configuration data
clustered node
cluster
clustered
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.)
Active
Application number
CN201080064056.3A
Other languages
English (en)
Other versions
CN102782656A (zh
Inventor
S·S·曼莫汉
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.)
NortonLifeLock Inc
Original Assignee
Symantec 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 Symantec Corp filed Critical Symantec Corp
Publication of CN102782656A publication Critical patent/CN102782656A/zh
Application granted granted Critical
Publication of CN102782656B publication Critical patent/CN102782656B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware

Abstract

一种管理应用程序可用性的计算机实施方法。该方法可用包括识别在故障转移集群的第一集群节点上运行的应用程序并且将该应用程序的配置数据复制到该故障转移集群的第二集群节点可访问的存储单元上。该方法还可以进包括检测第一集群节点的故障,将配置数据恢复到第二集群节点,并且根据配置数据在该第二集群节点上执行应用程序。在此还披露了不同的其他的方法、系统、以及计算机可读媒质。

Description

管理应用程序可用性的系统和方法
发明背景
从关键业务应用程序角度看,业务连续和灾难恢复是指在出现中断业务操作的灾难之后恢复正常(或接近正常)业务操作的能力。业务连续和灾难恢复可能需要产生关键任务应用程序以及这些应用程序所依赖的数据的能力,并且使得它们像业务需求命令一样快地为用户所使用的能力。故障停机期的代价是高昂的,在这种情况下,这个过程可能会涉及自动操作。对于要求最小故障停机时间的关键任务应用程序而言,灾难恢复处理可能需要较高的自动化操作和弹性。集群技术可以提供这样的较高自动化操作和弹性灾难恢复。
集群可以包括以各种组合形式连接至共享存储装置的多个系统。集群服务器软件可以监测并控制在群集中运行的应用程序,并且可以响应于各种硬件和软件故障来重新启动应用程序。不幸的是,很多应用程序并未被配置在集群环境中运行。因此,需要一种机制,以便将集群技术扩展到可能不是集群感知的软件应用程序中。
发明概述
如以下更为详细说明的,本披露总体上涉及管理应用程序可用性的多种系统及方法。例如,一种管理应用程序可用性的方法可以包括识别在故障转移集群的第一集群节点上运行的应用程序。该方法还可以包括将该应用程序的配置数据复制到该故障转移集群的第二集群节点可访问的存储单元上。该方法可以进一步包括检测第一集群节点的故障,将配置数据恢复到第二集群节点,并且根据配置数据在该第二集群节点上执行应用程序。
在一些实施方案中,该方法可以包括接收一条请求以启动该第一集群节点上的应用程序。在这种实施方案中,识别在第一集群节点上运行的应用程序可以包括接收该请求以启动该应用程序,并复制该应用程序的配置数据可以包括获取该配置数据的初始备份。另外或可替代地,该方法可以包括确定该应用程序的配置数据已经发生变化。在这种实施方案中,复制应用程序的配置数据可以响应于确定该应用程序的配置数据已经发生变化而执行。根据不同的实施方案,确定该应用程序的配置数据已经发生变化可以包括监控存储该应用程序的配置数据的第一集群节点上的目录并检测该监控目录中数据的变化。
根据至少一个实施方案,该方法可以包括接收一条请求以停止该应用程序。在这种实施方案中,识别在该第一集群节点上运行的应用程序可以包括接收该条请求以启动该应用程序并且复制该应用程序的配置数据可以包括在停止该应用程序之后获取该配置数据的备份。在某些实施方案中,该方法可以包括将该恢复的配置数据与已经存储在该第二集群节点上的应用程序的配置数据合并。在至少一个实施方案中,该应用程序可以包括非集群感知的应用程序。
在一些实施方案中,一种管理应用程序应用性的系统可以包括识别模块,该模块被编程用以识别在故障转移集群的第一集群节点上运行的应用程序。该系统还可以包括监控模块,该模块被编程用以将该应用程序的配置数据复制到该故障转移集群的第二集群节点可访问的存储单元。该系统可以进一步包括第一集群代理,该第一集群代理安装在该第一集群节点上并且被编程用以与该监控模块进行通信。该系统可以包括第二集群代理,该第二集群代理安装在该第二集群节点上并且被编程用以检测该第一集群节点的故障,将该配置数据恢复至该第二集群节点,并且根据该配置数据执行该第二集群节点上的应用程序。
在一些实施方案中,该第一集群代理可以进一步被编程用于接收一条请求以启动该第一集群节点上的应用程序,该识别模块可以被编程以便通过接收该条请求启动该应用程序而识别在该第一集群节点上运行的应用程序,并且该监控模块可以被编程以便通过获取该配置数据的初始备份来复制该应用程序的配置数据。
根据不同的实施方案,该第一集群代理可以被进一步编程以便确定该应用程序的配置数据已经发生变化,并且该监控模块可以被编程以便响应于确定该应用程序的配置数据已经发生变化而复制该应用程序的配置数据。
在某些实施方案中,该第一集群代理可以被编程,以便通过监控存储该应用程序的配置数据的第一集群节点上的目录并通过检测该监控目录中数据的变化来确定该应用程序的配置数据已经发生变化。另外或可替代地,该第一集群代理可以被编程以便接收一条请求来停止该应用程序,该识别模块可以被编程以便通过接收该条请求启动该应用程序来识别在该第一集群节点上运行的应用程序,并且该监控模块可以被编程以便通过在停止该应用程序后获取该配置数据的备份来复制该应用程序的配置数据。在至少一个实施方案中,该第二集群代理可以被进一步编程以便将该恢复的配置数据与已经存储在该第二集群节点上的应用程序的配置数据进行合并。
来自上述任一个实施方案的多种特征可以根据在此说明的通用原理彼此相互结合使用。通过阅读以下的详细说明连同附图和权利要求,将会更加全面地理解这些以及其他的实施方案、特征和优点。
附图简要说明
附图展示了多个示例性实施方案并且是本说明书的一部分。这些附图与以下的说明一起展现并解释了本披露的不同原理。
图1是用于管理应用程序可用性的一个示例性系统的方框图。
图2是管理应用程序可用性的一个示例性系统的方框图。
图3是管理应用程序可用性的一个示例性方法的流程图。
图4是一个示例性计算系统的方框图,该计算系统能够实施在此说明和/或展示的这些实施方案中的一个或多个。
图5是一个示例性计算网络的方框图,该计算网络能够实施在此说明和/或展示的这些实施方案中的一个或多个。
贯穿这些附图,相同的参考字符以及说明表示相似的但并不一定完全相同的要素。虽然在此说明的这些示例性实施方案可容许进行不同的修改以及多种替代形式,在此仍在附图中以举例的方式示出多个具体的实施方案并且对其进行了详细的说明。然而,在此说明的多个示例性实施方案并非旨在限于所披露的这些具体形式。相反,本披露覆盖落入所附权利要求范围内的所有修改形式、等效物、以及替代方案。
示例性实施方案的详细说明
如以下更为详细说明的,本披露总体上涉及管理应用程序可用性的多种系统及方法。本披露的实施方案可以提供多种方法和系统,这些方法和系统用于通过在故障集群节点和故障转移集群节点可访问的存储单元上存储应用配置数据来使非集群感知的应用程序高度可用。例如,第一集群节点上的集群代理可以识别包含应用程序的配置数据的单元。该集群代理可以提供具有信息的监控模块,该信息识别包含该应用程序的配置数据的单元,并且该监控模块可以监控这些单元的变化。
当在监控的单元中对数据做出改变时,监控模块可以将这些单元中的配置数据保存至第二集群节点可访问的共享存储单元上。响应于其他触发器(例如,当应用程序启动时,当应用程序终止时等),配置数据还可以复制到共享存储单元上。如果第一集群节点失效,第二集群节点上的集群代理可以访问共享存储单元的配置数据。然后可以利用该配置数据在第二节点上启动应用程序。
以下将参考图1至2提供管理应用程序可用性的示例性系统的详细描述。还将结合图3提供相应的计算机实现方法的详细说明。另外,将结合图4和5对应地提供一种示例性计算系统和网络架构的详细说明,它们能够实施在此说明的这些实施方案中的一个或多个。
图1是管理应用程序可用性的示例性系统100的方框图。如此图中所示,示例性系统100可以包括用于执行一项或多项任务的一个或多个模块102。例如,如以下更为详细解释的,示例性系统100可以包括识别模块104,该模块被编程以便识别故障转移集群的第一集群节点上运行的应用程序。示例性系统100还可以包括监控模块106,该模块被编程以便将该应用程序的配置数据复制到该故障转移集群的第二集群节点可访问的存储单元。
另外,如以下更为详细描述的,示例性系统100可以包括一个集群代理108,该集群代理被编程以便检测集群节点故障,恢复配置数据,并且执行集群节点上的应用程序。尽管展示为多个分离的元件,图1中的模块102中的一个或多个可以代表一个单一模块或应用程序的多个部分。
在某些实施方案中,图1中模块102的一个或多个可以代表一个或多个软件应用程序或程序,这些软件应用程序或程序在由计算装置执行时可以使该计算装置执行一项或多项任务。例如,如以下更为详细解释的,模块102中的一个或多个可以代表在一个或多个计算装置上存储并被配置为在其上运行的多个软件模块,如图2所示的这些装置(例如,集群节点202和/或集群节点204)、图4中的计算系统410、和/或图5中的示例性网络架构500的多个部分。图1中模块102的一个或多个还可以代表被配置用于执行一项或多项任务的一个或多个专用计算机的全部或一些部分。
集群代理108、监控模块106和/或识别模块104可以是集群监控器或其他用于管理集群节点的集群服务器软件的一部分。集群服务器软件的实例包括VERITAS集群服务器、MICROSOFT集群服务器、LINUX集群服务器、和/或任意其他适合类型的集群软件。集群服务器软件可以提供故障转移集群(即高可用性集群),这可用出于提高服务的可用性而实施并且可以操作冗余节点,这些节点用于在系统组件失效时提供服务。
系统100可以包括处理器130,它可以被配置用于执行识别模块104、监控模块106、和/或集群代理108。处理器130总体上代表能够执行代码的任意装置,例如图4中的处理器414。
如图1中所示,示例性系统100还可以包括配置数据数据库120。配置数据数据库120可以代表一个单一数据库或计算装置或者多个数据库或计算装置的多个部分。配置数据数据库120可以存储应用程序的配置数据。如本文所用,短语“配置数据”总体上是指应用程序的配置设置和选项。配置数据可以包括用于任意类型应用程序的任意类型或形式的设置或选项。
图1中的配置数据数据库120可以代表一个或多个计算装置的一部分。例如,配置数据数据库120可以代表图2中共享存储206、图4中计算系统410的一部分、和/或图5中示例性网络架构500的多个部分。可替代地,图1中配置数据数据库120可以代表能够由计算装置访问的一个或多个物理上分离的装置,例如图2中的共享存储206、图4中的计算系统410、和/或图5中示例性网络架构500的多个部分。
图1中的示例性系统100可以采用各种方式进行部署。例如,示例性系统100的所有或一部分可以代表云计算或基于网络的环境的多个部分。云计算环境可以通过互联网提供不同的服务和应用程序。这些基于云的服务(例如,软件即服务、平台即服务、基础设施即服务等等)可以通过网络浏览器或其他的远程接口进行访问。在此所述的不同功能可以通过远程桌面环境或任何其他的基于云的计算环境来提供。
如图2所示,系统200可以包括通过网络208与共享存储206进行通信的集群节点202和204。集群节点202和204总体上代表能够读取计算机可执行指令的任意类型或形式的计算装置。如图2所示,集群节点202可以包括识别模块104(a)、监控模块106(a)、集群代理108(a)、以及应用程序203(a)。类似地,集群节点204可以包括识别模块104(b)、监控模块106(b)、集群代理108(b)、以及应用程序203(b)。共享存储206可以包括配置数据数据库120。
在图2所示的实例中,集群节点202和204可以代表一个集群。如本文所用,术语“集群节点”总体上是指任意的计算装置,该装置是一群连接的计算装置的一部分。集群节点的实例包括但不限于膝上计算机、桌上计算机、服务器、虚拟机、嵌入式系统、图4中相同的示例性计算系统410的一个或多个的组合、或任意其他适合计算装置或系统。集群还可以包括多于两个的节点并且可以被配置用于为应用程序提供高可用性(例如,集群可以包括提供故障转移能力的冗余节点)。
如所提及,集群节点202可以包括应用程序203(a),该应用程序可以是非集群感知的应用程序。如本文所用,短语“非集群感知的应用程序”总体上是指不是被设计用于调用集群应用程序接口(“API”)的一种软件应用程序,该程序不能够保持节点之间的集群心跳,不能够进行事务处理,不能够实时地反映集群信息,并且/或者不能够改变其配置数据路径。
集群节点202、集群节点204以及共享存储206可以在网络208上进行通信。网络208总体上代表能够协助通信或数据传输的任意媒质或架构。网络208的实例包括但不限于内部网、广域网(“WAN”)、局域网(“LAN”)、个人区域网(“PAN”)、互联网、电力线通信(“PLC”)、蜂窝网络(例如GSM网络)、图5中的示例性网络架构500等等。网络204可以使用无线或有线连接来协助通信或数据传送。
在一些实施方案中,示例性系统200的全部或一部分可以在虚拟环境中实施。例如,集群节点202和204可以实施为虚拟机,该虚拟机作为客户系统运行在两个不同的主系统上(即,具有虚拟化软件的物理机)。这种配置可以提供高可用性,同时使得虚拟集群节点有可能在主系统之间灵活迁移。在第二实例中,集群节点202可用直接运行在物理主系统上,同时集群节点204作为客户系统运行在相同的主系统上。作为第三实例,集群节点202和204两者都可用作为客户系统运行在一个单一主系统上。第二和第三实例可以有效地利用硬件,但也可能对提供高可用性有较少的帮助。
图3是用于管理应用程序可用性的示例性计算机实施方法300的流程图。图3中所示的步骤可以由任何适当的计算机可执行代码和/或计算系统来执行。在一些实施方案中,图3所示的步骤可以由图1中系统100和/或图2中系统200的一个或多个组件来执行。
在图3的步骤302中,本文描述的系统的一个或多个可以识别在高可用性集群的第一集群节点上运行的应用程序。例如,识别模块104(a)可以识别在集群节点202上运行的应用程序203(a)。识别模块104(a)可以识别各种环境中的应用程序203(a)。例如,识别模块104(a)可以将应用程序203(a)识别为一条请求的一部分以便启动或停止应用程序203(a)。
识别模块104(a)可以将应用程序203(a)识别为不是集群感知的并因此不可编程或在其他方面被配置用于在传统集群环境中利用故障转移能力的一种应用程序。在将应用程序203(a)识别为非集群感知应用程序后,识别模块104(a)可以通知监控模块106(a)和/或集群代理108(a)应用程序203(a)的配置数据应当复制到共享存储206。
在图3的步骤304中,在此描述的系统的一个或多个可以将应用程序的配置数据复制到高可用性集群的第二集群节点可访问的存储单元上。例如,监控模块106(a)可以将应用程序203(a)的配置数据复制到集群节点204可访问的存储单元(例如,共享存储206)上。配置数据可以在各种环境中进行复制。在一些实施方案中,当应用程序203(a)启动时,数据的配置可以复制到共享存储单元。另外或可替代地,当修改集群节点202上的应用程序203(a)的配置数据时,监控模块106(a)可以将应用程序203(a)的配置数据复制到共享存储206。在一些实施方案中,当应用程序203(a)停止或以其他方式终止时,监控模块106(a)可以将应用程序203(a)的配置数据复制到共享存储206。
如所提及,应用程序203(a)的配置数据可以在应用程序203(a)启动时就复制到共享存储206上的配置数据数据库120上。在这种实施方案中,集群代理108(a)可以接收一条请求以启动应用程序203(a)。如果在应用程序203(a)启动时共享存储206不包括用于应用程序203(a)的配置数据,集群代理108(a)可以提示监控模块106(a)将应用程序203(a)的配置数据复制到共享存储206。
如果应用程序203(a)的配置数据已经位于共享存储206上,集群代理108(a)可以将存储在共享存储206上的配置数据应用于应用程序203(a)。例如,集群代理108(a)可以将共享存储206中的配置数据复制到集群节点202上为应用程序203(a)存储配置数据的单元。在一些实施方案中,代理108(a)可以用来自共享存储206的配置数据代替已经存储在集群节点202上的任意配置数据。可替代地,如以下更为详细讨论的,通过执行差异合并集群代理108(a)可以将已经位于集群节点202上的配置数据于来自共享存储的配置数据进行组合。
集群代理108(a)可以向监控模块106(a)提供信息,该信息识别目录数、目录树集、和/或为应用程序203(a)存储配置数据的其他单元。集群代理108(a)还可以提示监控模块106(a)开始监控识别的单元的变化。监控模块108(a)可以采用任意适合的途径与监控模块106(a)进行通信。例如,集群代理108(a)可以通过进程间通信(例如,利用共享内存)与监控模块106(a)进行通信。
监控模块106(a)可以为与应用程序203(a)的配置数据相关联的每个目录数或其他单元的文件变化通知进行注册。然后,监控模块106(a)可以通知集群代理108(a)可以启动应用程序203(a),并且作为响应,集群代理108(a)可以启动应用程序203(a)。
当应用程序203(a)运行时,在配置数据发生变化时应用程序203(a)的配置数据可以复制到共享存储206。例如,监控模块106(a)可以监控存储应用程序203(a)的配置数据的单元(例如,通过对变化通知进行注册,监控输入和输出活动等)。如果监控模块106(a)检测到应用程序203(a)的配置数据已经发生变化,监控模块106(a)可以将应用程序203(a)的配置数据备份到共享存储206。
当应用程序203(a)停止时,配置数据还可以复制到共享存储单元。在这种实施方案中,集群代理108(a)可以接收一条请求以便停止应用程序203(a)。然后集群代理108(a)可以通知监控模块106(a)应用程序203(a)已经停止,并且监控模块106(a)可以将与应用程序203(a)相关联的配置数据复制到共享存储206。
在图3的步骤306,在此描述的系统的一个或多个可以检测第一集群节点的故障。例如,集群代理108(b)可以确定集群节点202已经发生故障。集群节点的故障可以采用各种途径进行检测。在一些实施方案中,集群代理108(b)可以通过确定集群节点202的一个或多个资源(例如,磁盘、网络适配器、文件系统、数据库、应用程序等)已经发生故障来检测群集节点202的故障。故障资源可以是由硬件问题、软件问题、过载和/或任意其他问题而导致的不再正常运行的源。
在一些集群中,可以将资源组织进入服务群,服务群是共同工作以便向客户端提供服务的资源集合。在这种实施方案中,如果群集节点202的服务群中的资源发生故障,集群代理108(b)可以为整个服务群开启故障转移程序。换言之,如果集群代理108(b)检测到服务群中任意资源的故障,集群代理108(b)可以对服务群中的每个资源进行故障转移。
在图3的步骤308,在此描述的系统的一个或多个可以将配置数据恢复到第二集群。例如,集群代理108(b)可以将来自共享存储206的应用程序203(a)的配置数据恢复到集群节点204。配置数据可以采用任意适合的方式存储。例如,配置数据可以从共享存储206中的配置数据数据库120复制到集群节点204。在一些实施方案中,集群代理108(b)可以向应用程序203(b)提供配置数据(例如,通过将配置数据复制到为应用程序203(b)存储注册数据的内存区域),不需要对配置数据做任何改变。
可替代地,集群代理108(b)可以将共享存储206的配置数据与已经位于集群节点204上的配置数据进行合并。集群代理108(b)可以出于各种原因并采用各种途径合并配置数据。例如,如果应用程序的两个实例正在运行:一个位于集群节点202上,而另一个位于集群节点204上,并且运行在集群节点202上的实例出现故障,运行在集群节点202上的应用程序实例可以故障转移至集群节点204上。为了操控故障转移,集群代理108(b)可以将配置数据库120的配置数据恢复到集群节点204上并可以将恢复的配置数据与已经位于集群节点204上的配置数据(即,运行在集群节点204上的应用程序的实例的配置数据)进行合并。然后集群代理108(b)可以启动集群节点204上的应用程序的第二实例,并可以使恢复的配置数据可用于应用程序的第二实例。
集群代理108(b)可以采用各种途径合并不同的配置数据集。例如,集群代理108(b)可以通过只保留在已存在的和存储的配置数据中相同的设置和/或选项的一个单一拷贝并通过保留已存在的和存储的配置数据中不同的设置和/或选项的两个拷贝来执行现有配置数据和已存储配置数据的差异合并。可替代地,集群代理108(b)可以通过组合已存在的配置数据和已存储的配置数据的完全拷贝来执行完全合并。
在一些实施方案中,集群代理108(b)可以通过将配置数据结合到一个单一文件中来合并不同的配置数据集。例如,应用程序的配置数据可以存储在可扩展标示语言(“XML”)文档中。在这种实施方案中,集群代理108(b)可以通过执行两个XML文档的完整或差异化合并来合并配置数据。
在一些实施方案中,配置数据可以包括节点专用信息,例如主名称(例如,集群节点名称)、全局唯一标识符(“GUID”)、或任意其他类型的节点专用信息。当集群代理将带有节点专用信息的配置数据恢复到故障转移集群节点时,集群代理可以转换节点专用信息。例如,监控模块106(a)可以向共享存储206复制包括节点专用信息的数据。
恢复配置数据可以包括转换节点专用信息。如果配置被恢复到集群节点204,则可以转换节点专用信息以用于集群节点204。因此,如果集群节点202发生故障,集群代理108(b)可以恢复共享存储206的配置数据并且可以转换配置数据中的节点专用信息以对应于集群节点204而不是集群节点202。
在图3的步骤310,在此描述的系统的一个或多个可以根据配置数据在第二集群节点上执行应用程序。例如,集群节点204上的集群代理108(b)可以根据从共享存储206恢复的配置数据在集群节点204上执行应用程序203(b)。集群代理108(b)可以根据共享存储206的配置数据通过保证应用程序203(b)可以访问所恢复的配置数据和/或利用恢复的配置数据进行配置来执行应用程序203(b)。通过采用这种方式恢复配置数据,在此描述的系统可以向未配置在传统集群环境中进行故障转移的应用程序提供高可用性。
图4是一个示例性计算系统410的方框图,该系统能够实施在此说明和/或展示的实施方案中的一个或多个。计算系统410广义上代表能够执行计算机可读指令的任何单处理器或多处理器的计算装置或系统。计算系统410的多个实例包括但不限于工作站、膝上型计算机、客户侧终端、服务器、分布式计算系统、手持装置、或任何其他计算系统或装置。在其最基本的配置中,计算系统410可以包括至少一个处理器414以及系统内存416。
处理器414总体上代表能够处理数据或解释并执行多个指令的任何类型或形式的处理单元。在某些实施方案中,处理器414可以从软件应用程序或模块中接收指令。这些指令可以使处理器414执行在此所说明和/或展示的这些示例性实施方案中的一个或多个的功能。例如,处理器414可以单独地或与其他元件相结合来执行和/或作为一种手段来执行在此描述的识别、复制、检测、恢复、执行、接收、获取、确定、监控、和/或合并步骤中的一个或多个。处理器414还可以执行和/或作为一种手段来执行在此说明和/或展示的任何其他步骤、方法、或过程。
系统内存416总体上代表能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储装置或媒质。系统内存416的多个实例包括(但不限于)随机存取存储器(RAM)、只读存储器(ROM)、闪存、或任何其他适当的存储装置。尽管未作要求,在某些实施方案中计算系统410可以既包括易失性内存单元(例如,像系统内存416)又包括非易失性存储装置(例如,像以下详细说明的主存储装置432)。在一个实例中,图1模块102中的一个或多个可以载入到系统内存416中。
在某些实施方案中,除了处理器414和系统内存416外,示例性计算系统410还可以包括一个或多个组件或元件。例如,如图4所示,计算系统410可以包括内存控制器418、输入/输出(I/O)控制器420、以及通信接口422,它们中的每一个可以通过通信基础设施412相互连接。通信基础设施412总体上代表能够帮助在计算装置的一个或多个组件之间进行通信的任意类型或形式的基础设施。通信基础设施412的实例包括但不限于通信总线(例如ISA、PCI、PCIe、或类似总线)和网络。
内存控制器418总体上代表在计算系统410的一个或多个组件之间操作内存或数据或者控制通信的任意类型或形式的装置。例如。在某些实施方案中,内存控制器418可以通过通信基础设施412控制处理器414、系统内存416以及I/O控制器420之间的通信。在某些实施方案中,内存控制器可以独立地或与其他元件相结合地执行和/或作为一种手段执行在此描述和/或展示的多个步骤或特征中的一个或多个,例如识别、复制、检测、恢复、执行、接收、获取、确定、监控、和/或合并。
I/O控制器420总体上代表能够协调和/或控制计算装置的输入和输出功能的任何类型或形式的模块。例如,在某些实施方案中,I/O控制器420可以控制或协助计算系统410的一个或多个元件之间的数据传输,例如处理器414、系统内存416、通信接口422、显示适配器426、输入接口430以及存储器接口434。例如,I/O控制器420可以独立地或结合其他元件执行和/或作为一种手段执行在此描述的识别、复制、检测、恢复、执行、接收、获取、确定、监控、和/或合并中的一个或多个。I/O控制器420还可用于执行和/或作为一种手段用于执行本披露中提出的其他步骤和特征。
通信接口422广义地代表能够协助示例性计算系统410与一个或多个附加装置之间进行通信的任何类型或形式的通信装置或适配器。例如,在某些实施方案中,通信接口422可以协助计算系统410与包括多个附加的计算系统的私有或公共网络之间的通信。通信接口422的实例包括而不限于有线网络接口(例如网络接口卡)、无线网络接口(例如无线网络接口卡)、调制解调器、以及任何其他适当的接口。在至少一个实施方案中,通信接口422可通过到网络(如互联网)的直接链接来提供到远程服务器的直接连接。通信接口422还可以间接地提供这种连接,例如通过局域网(如以太网)、个人局域网、电话或缆线网、蜂窝电话连接、卫星数据连接、或任何其他适当的连接。
在某些实施方案中,通信接口422还可以代表主机适配器,该主机适配器被配置为用于通过外部总线或通信信道协助计算系统410与一个或多个附加网络或存储装置之间的通信。主机适配器的实例包括但不限于SCSI主机适配器、USB主机适配器、IEEE 1394主机适配器、SATA和eSATA主机适配器、ATA和PATA主机适配器、光纤通道接口适配器、以太网适配器等。通信接口422还可以允许计算系统410参与分布式计算或远程计算。例如,通信接口422可以从远程装置接收指令或向远程装置发送指令用于执行。在某些实施方案中,通信接口422可以独立地或与其他元件相结合地执行和/或作为一种手段执行在此披露的识别、复制、检测、恢复、执行、接收、获取、确定、监控、和/或合并步骤中的一个或多个。通信接口422还可以用于执行和/或作为一种手段用于执行本披露中提出的其他步骤和特征。
如图4所示,计算系统410还可以包括通过显示适配器426连接至通信基础设施412的至少一个显示装置424。显示装置424总体上代表能够可视地呈现显示适配器426所转发的显示信息的任意类型或形式的装置。相似地,显示适配器426总体上代表任意类型或形式的装置,这些装置被配置用于从通信基础设施412(或从本领域已知的帧缓冲器)转发图形、文本以及其他数据以便显示在显示装置424上。
如图4所示,示例性计算系统410还可以包括通过输入接口430连接至通信基础设施412的至少一个输入装置428。输入装置428总体上代表能够向示例性计算系统410提供计算机或人员生成的输入的任意类型或形式的输入装置。输入装置428的实例包括但不限于键盘、指向装置、语音识别装置或任意其他输入装置。在至少一个实施方案中,输入装置428可以独立地或结合其他元件执行和/或作为一种手段执行在此披露的识别、复制、检测、恢复、执行、接收、获取、确定、监控、和/或合并步骤中的一个或多个。输入装置428还可以用于执行和/或作为一种手段来执行本披露中提出的其他步骤和特征。
如图4所示,示例性计算系统410还包括通过存储接口434连接至通信基础设施412的主存储装置432和备份存储装置433。存储装置432和433总体上代表能够存储数据和/或其他计算机可读指令的任意类型或形式的储存装置或媒质。例如,存储装置432与433可以是磁盘驱动器(例如,所谓的硬盘驱动器)、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器、或者类似装置。存储接口434总体上代表用于在存储装置432和433以及计算系统410的其他组件之间传输数据的任意类型或形式的接口或装置。在一个实例中,图1的数据库120可以存储在主存储装置432中。
在某些实施方案中,存储装置432和433可以被配置为用于读取自和/或写入到可移动存储单元,该可移动存储单元被配置为用于存储计算机软件、数据、或其他计算机可读信息。适当的可移动存储单元的实例包括但不限于软盘、磁带、光盘、闪存装置如等等。存储装置432和433还可以包括其他类似的结构或装置,以允许计算机软件、数据或其他计算机可读指令下载到计算系统410中。例如,存储装置432和433可以被配置用于读或写软件、数据或其他计算机可读信息。存储装置432和433还可以作为计算系统410的一部分或可以是通过其他接口系统访问的一个分离的装置。
在某些实施方案中,存储装置432和433可以用于例如独立地或结合其他元件执行和/或作为一种手段执行在此披露的识别、复制、检测、恢复、执行、接收、获取、确定、监控、和/或合并步骤中的一个或多个。存储装置432和433还可以被用于执行和/或作为一种手段用于执行本披露提出的其他步骤和特征。
很多其他装置或子系统可以连接至计算系统410上。相反地,为了实施在此描述和/展示的实施方案,不需要图4中所示的所有组件和装置。以上提到的这些装置和子系统还能够以不同于图4中所示的方式进行相互连接。计算系统410还可使用任何数目的软件、固件、和/或硬件的配置。例如,在此披露的示例性实施方案中的一个或多个可以被编码为一种计算机可读媒质上的计算机程序(也称为计算机软件、软件应用程序、计算机可读指令、或计算机控制逻辑)。短语“计算机可读媒质”总体上是指能够存储或携带计算机可读指令的任何形式的装置、载体、或媒质。计算机可读媒质的实例包括但不限于传输型媒质,如载波,以及物理媒质,如磁性存储媒质(例如,硬盘驱动器和软盘驱动器)、光存储媒质(例如,CD-ROM或DVD-ROM)、电子存储媒质(例如,固态驱动器和闪存媒质)、以及其他分布式系统。
包含计算机程序的计算机可读媒质可以载入到计算系统410中。存储在计算机可读媒质上的所有或部分计算机程序然后可以存储在系统内存416和/或存储装置432和433的不同部分上。当由处理器414执行时,载入到计算系统410中的计算机程序可以使处理器414执行和/或作为一种手段执行在此描述和/或展示的示例性实施方案中的一个或多个的功能。额外地或可替代地,在此所说明和/或展示的示例性实施方案中的一个或多个可以在固件和/或硬件中实施。例如计算系统410可被配置用作一种专用集成电路(ASIC),它被适配为用于实施在此所披露的这些示例性实施方案中的一个或多个。
图5是示例性网络架构500的方框图,其中客户端系统510、520和530以及服务器540和545可以连接至网络550。客户端系统510、520和530总体上代表任意类型或形式的计算装置或系统,例如图4中的示例性计算系统410。在一个实例中,客户系统510可以包括图1的系统100。
类似地,服务器540和545总体上代表被配置为用于提供不同的数据库服务和/或运行某种软件应用程序的计算装置或系统,例如应用程序服务器或数据库服务器。网络550总体上代表任何电信或计算机网络,例如它包括:内部网、广域网(WAN)、局域网(LAN)、个人区域网(PAN)、或互联网。
如图5所示,一个或多个存储装置560(1)-(N)可以直接附接至服务器540。类似地,一个或多个存储装置570(1)-(N)可以直接附接至服务器545。存储装置560(1)-(N)和存储装置570(1)-(N)总体上代表能够存储数据和/或其他计算机可读指令的任意类型或形式的存储装置或媒质。在某些实施方案中,存储装置560(1)-(N)和存储装置570(1)-(N)可代表被配置为用于使用不同协议(例如NFS、SMB、或CIFS)来与服务器540和545进行通信的网络附联存储(NAS)装置。
服务器540和545还可以连接至存储区域网络(SAN)结构580。SAN结构580总体上代表能够协助多个存储装置之间通信的任意类型或形式的计算机网络或架构。SAN结构580可以协助服务器540和545与多个存储装置590(1)-(N)和/或一个智能存储器阵列595之间的通信。SAN结构580还可以通过网络550和服务器540和545协助客户端系统510、520和530与存储装置590(1)-(N)和/或智能存储器阵列595之间的通信,其方式为装置590(1)-(N)与阵列595对客户端系统510、520和530呈现为本地附接的装置。与存储装置560(1)-(N)和存储装置570(1)-(N)一样,存储装置590(1)-(N)和存储阵列595总体上代表能够存储数据和/或其他计算机可读指令的任意类型或形式的存储装置或媒质。
在某些实施方案中,参考图4的示例性计算系统410,通信接口(例如,图4中的通信接口422)可用于在每一个客户端系统510、520和530以及网络550之间提供连接性。客户端系统510、520和530能够利用例如网络浏览器或其他客户端软件来访问服务器540和545上的信息。这种软件可以允许客户端系统510、520和530访问由服务器540、服务器545、存储装置560(1)-(N)、存储装置570(1)-(N)、存储装置590(1)-(N)或智能存储器阵列595管理的数据。尽管图5描绘了使用网络(例如互联网)交换数据,但在此描述和/或展示的实施方案不限于互联网或任意具体的基于网络的环境。
在至少一个实施方案中,在此披露的示例性实施方案中的一个或多个的全部或一部分可被编码为一种计算机程序并且由服务器540、服务器545、存储装置560(1)-(N)、存储装置570(1)-(N)、存储装置590(1)-(N)、智能存储阵列595、或它们中的任意组合加载并执行。在此披露的多个示例性实施方案的一个或多个的全部或一部分还可以被编码为计算机程序,存储在服务器540中,由服务器545运行,并在网络550上分发给客户端系统510、520和530。因此,网络体系架构500可以独立地或与其他元件相结合地执行和/或作为一种手段执行在此披露的识别、复制、检测、恢复、执行、接收、获取、确定、监控、和/或合并步骤中的一个或多个。网络架构500还可以用于执行和/或作为一种手段来执行本披露中提出的其他步骤和特征。
如以上所述,计算系统410和/或网络架构500的一个或者多个部件可以单独地亦或与其他元件相结合地执行和/或作为一种手段来执行管理应用程序可用性的示例性方法的一个或多个步骤。
虽然以上披露使用了多个具体的框图、流程图、以及实例阐明了不同的实施方案,在此说明和/或展示的每个框图部件、流程图步骤、操作、和/或部件都可以单独地和/或共同地使用一个大范围的硬件、软件、或者固件(或者它们的任何组合)配置来实施。另外,在其他部件之中所包括的任何部件的披露都应该看作本质上是示例性的,因为可以实施许多其他的架构来达到同样的功能。
在此说明和/或展示的进程的参数以及步骤的顺序仅仅是以举例的方式给出并且可以按希望来更改。例如,虽然在此展示和/或说明的这些步骤可以按照一个具体的顺序来示出或讨论,但这些步骤并非必须按照所展示或者所讨论的顺序来执行。在此说明和/或展示的不同的示例性方法还可以省略在此说明或展示的一个或者多个步骤或者还可以包括除所披露的那些之外的额外步骤。
虽然不同的实施方案在此已经在全功能性计算系统的背景下进行了说明和/或展示,这些示例性实施方案中的一个或者多个能够以多种形式作为一个程序产品来分发,而无论实际用于进行该分发的计算机可读媒质的具体形式如何。在此披露的这些实施方案还可以通过使用执行一些特定任务的软件模块来实施。这些软件模块可以包括脚本、成批文件、或者其他可执行文件,它们可以存储在一种计算机可读的存储媒质上或者在一种计算系统中。在一些实施方案中,这些软件模块可以将一个计算系统配置用于实施在此披露的一个或者多个示例性的实施方案。
在某些实施方案中,在此披露的软件模块的一个或多个可以在云计算环境中实施。云计算环境可以通过互联网提供不同的服务和应用程序。这些基于云的服务(例如,软件即服务、平台即服务、基础设施即服务等等)可以通过网络浏览器或其他的远程接口进行访问。在此所述的不同功能可以通过远程桌面环境或任何其他的基于云的计算环境来提供。例如,数据可以从云计算环境扫描和/或扫描至云计算环境,并且/或者模块102中的一个或多个可以在云计算环境中操作。
另外,在此所述的这些模块中的一个或多个可以将数据、物理装置、和/或物理装置的表示从一种形式转换到另一种形式。例如,通过将本文描述的一个或多个模块部署到集群节点并通过将配置数据恢复至节点,本文提出的系统可以将计算装置转换为故障转移集群节点。
已经提供了以上说明用于使本领域的其他普通技术人员能够最好地使用在此披露的这些示例性实施方案的不同方面。这种示例性说明并非旨在是穷尽性的或者被限制在所披露的任何准确的形式上。许多修改与变更都是可能的而不背离本披露的精神与范围。应该认为在此披露的这些实施方案在所有方面都是展示性的而非限制性的。应该参照所附权利要求及其等效物来确定本披露的范围。
除非另外说明,如在本说明书与权利要求中所使用的,术语“一种”或“一个”将被解释为“至少一个”的意思。此外,为便于使用,如在本说明书以及权利要求中所使用的文字“包含”和“具有”是可以互换的并且具有与文字“包括”相同的含义。

Claims (15)

1.一种管理应用程序可用性的计算机实施方法,该方法的至少一部分由包括至少一个处理器的计算装置来执行,该方法包括:
该计算装置内的识别模块通过接收一条请求以停止该应用程序来识别在故障转移集群的第一集群节点上运行的应用程序不是集群感知的;
响应于该识别模块识别该应用程序不是集群感知的,该识别模块通知监控模块应当将该应用程序的配置数据复制到存储单元;
该监控模块通过在停止该应用程序后获取该配置数据的备份来将该应用程序的配置数据复制到该故障转移集群的第二集群节点可访问的存储单元上;
检测该第一集群节点的故障;
将该配置数据恢复到该第二集群节点;
根据该配置数据在该第二集群节点上执行该应用程序。
2.如权利要求1所述的方法,进一步包括:
接收一条请求以启动该第一集群节点上的应用程序,其中:
识别在该第一集群节点上运行的应用程序包括接收该条请求以启动该应用程序;
复制该应用程序的配置数据包括获取该配置数据的初始备份。
3.如权利要求1所述的方法,进一步包括:
确定该应用程序的配置数据已经发生变化,其中复制该应用程序的配置数据是响应于确定该应用程序的配置数据已经发生变化而执行的。
4.如权利要求3所述的方法,其中确定该应用程序的配置数据已经发生变化包括:
监控存储该应用程序的配置数据的该第一集群节点上的目录;
检测该监控目录中数据的变化。
5.如权利要求1所述的方法,进一步包括:
通过只保留在已存在的和存储的配置数据中相同的设置和/或选项的一个单一拷贝并通过保留已存在的和存储的配置数据中不同的设置和/或选项的两个拷贝来执行已存储配置数据与已经在该第二集群节点上存在的配置数据的差异合并。
6.如权利要求1所述的方法,其中:
该第一与第二集群节点在同一主系统上运行,
该第一与第二集群节点中的至少一个被实施为在该主系统上作为客户系统运行的虚拟机。
7.如权利要求1所述的方法,进一步包括:
作为在该第一集群节点的该故障发生时该第二集群节点执行该应用程序的一个实例的结果,在该第一集群节点的该故障发生时将该恢复的配置数据与已经存储在该第二集群节点上的应用程序的配置数据合并。
8.如权利要求1所述的方法,其中:
该应用程序包括非集群感知的应用程序,该非集群感知的应用程序不能够保持节点之间的集群心跳、不能够实时地反映集群信息、并且不能够改变其配置数据路径。
9.一种管理应用程序可用性的系统,该系统包括:
识别模块,该模块被配置用于:
通过接收一条请求以停止该应用程序来识别在故障转移集群的第一集群节点上运行的应用程序不是集群感知的;
响应于识别该应用程序不是集群感知的,通知监控模块应当将该应用程序的配置数据复制到存储单元;
监控模块,该模块被配置用于通过在停止该应用程序后获取该配置数据的备份来将该应用程序的配置数据复制到该故障转移集群的第二集群节点可访问的存储单元;
第一集群代理,该第一集群代理安装在该第一集群节点上并且被配置用于与该监控模块进行通信;
第二集群代理,该第二集群代理安装在该第二集群节点上并且被配置用于:
检测该第一集群节点的故障;
将该配置数据恢复到该第二集群节点;
根据该配置数据执行该第二集群节点上的应用程序;
至少一个处理器,该处理器被配置用于执行该识别模块、该监控模块、该第一集群代理、以及该第二集群代理。
10.如权利要求9所述的系统,其中:
该第一集群代理被配置用于接收一条请求以启动该第一集群节点上的应用程序;
该识别模块被配置用于通过接收该条请求启动该应用程序来识别在该第一集群节点上运行的应用程序;
该监控模块被配置用于通过获取该配置数据的初始备份来复制该应用程序的配置数据。
11.如权利要求9所述的系统,其中:
该第一集群代理被进一步配置用于确定该应用程序的配置数据已经发生变化;
该监控模块被配置用于响应于确定该应用程序的配置数据已经发生变化而复制该应用程序的配置数据。
12.如权利要求11所述的系统,其中该第一集群代理被配置用于通过以下方式来确定该应用程序的配置数据已经发生变化:
监控存储该应用程序的配置数据的该第一集群节点上的目录;
检测该监控目录中数据的变化。
13.如权利要求9所述的系统,其中:
该第二集群代理被进一步配置用于通过只保留在已存在的和存储的配置数据中相同的设置和/或选项的一个单一拷贝并通过保留已存在的和存储的配置数据中不同的设置和/或选项的两个拷贝来执行已存储配置数据与已经在该第二集群节点上存在的配置数据的差异合并。
14.如权利要求9所述的系统,其中:
该第二集群代理进一步被配置用于:作为在该第一集群节点的该故障发生时该第二集群节点执行该应用程序的一个实例的结果,在该第一集群节点的该故障发生时将该恢复的配置数据与已经存储在该第二集群节点上的应用程序的配置数据合并。
15.如权利要求9所述的系统,其中:
该应用程序包括非集群感知的应用程序,该非集群感知的应用程序不是被设计为调用集群应用程序接口。
CN201080064056.3A 2010-02-26 2010-12-15 管理应用程序可用性的系统和方法 Active CN102782656B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/713,590 US8688642B2 (en) 2010-02-26 2010-02-26 Systems and methods for managing application availability
US12/713590 2010-02-26
PCT/US2010/060502 WO2011106067A1 (en) 2010-02-26 2010-12-15 Systems and methods for failing over cluster unaware applications in a clustered system

Publications (2)

Publication Number Publication Date
CN102782656A CN102782656A (zh) 2012-11-14
CN102782656B true CN102782656B (zh) 2015-05-27

Family

ID=43650964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080064056.3A Active CN102782656B (zh) 2010-02-26 2010-12-15 管理应用程序可用性的系统和方法

Country Status (5)

Country Link
US (1) US8688642B2 (zh)
EP (1) EP2539820B1 (zh)
JP (1) JP5562444B2 (zh)
CN (1) CN102782656B (zh)
WO (1) WO2011106067A1 (zh)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429449B2 (en) * 2010-03-01 2013-04-23 International Business Machines Corporation Optimized placement of virtual machines in a network environment
JP5604989B2 (ja) * 2010-05-31 2014-10-15 富士通株式会社 探索装置、探索方法および探索プログラム
US8392378B2 (en) * 2010-12-09 2013-03-05 International Business Machines Corporation Efficient backup and restore of virtual input/output server (VIOS) cluster
US8484163B1 (en) * 2010-12-16 2013-07-09 Netapp, Inc. Cluster configuration backup and recovery
US8819190B2 (en) * 2011-03-24 2014-08-26 International Business Machines Corporation Management of file images in a virtual environment
US9009212B2 (en) * 2011-06-29 2015-04-14 Cisco Technology, Inc. Optimized transfer of applications between computing environments
US9003222B2 (en) * 2011-09-30 2015-04-07 International Business Machines Corporation Configuration fault localization in shared resource environments
US9092329B2 (en) * 2011-12-21 2015-07-28 Sap Se Process integration alerting for business process management
US9021096B2 (en) 2012-01-23 2015-04-28 International Business Machines Corporation Performing maintenance operations on cloud computing node without requiring to stop all virtual machines in the node
US9037897B2 (en) * 2012-02-17 2015-05-19 International Business Machines Corporation Elastic cloud-driven task execution
US8984325B2 (en) * 2012-05-30 2015-03-17 Symantec Corporation Systems and methods for disaster recovery of multi-tier applications
CN103516538A (zh) * 2012-06-28 2014-01-15 中兴通讯股份有限公司 一种电信级集群化应用的统一配置的方法及装置
EP2800303B1 (en) 2012-08-17 2015-11-04 Huawei Technologies Co., Ltd. Switch method, device and system for virtual application dual machine in cloud environment
US10938917B2 (en) * 2012-12-19 2021-03-02 Micro Focus Llc Triggering a high availability feature in response to detecting impairment of client experience
CN103973470A (zh) * 2013-01-31 2014-08-06 国际商业机器公司 用于无共享集群的集群管理方法和设备
US9733917B2 (en) * 2013-02-20 2017-08-15 Crimson Corporation Predicting whether a party will purchase a product
US9591059B2 (en) * 2013-03-13 2017-03-07 International Business Machines Corporation File change notifications in a scale-out NAS system
US9110864B2 (en) * 2013-06-25 2015-08-18 International Business Machines Corporation Fault tolerance solution for stateful applications
US20150074219A1 (en) * 2013-07-12 2015-03-12 Brocade Communications Systems, Inc. High availability networking using transactional memory
CN105339911A (zh) 2013-07-30 2016-02-17 惠普发展公司,有限责任合伙企业 恢复滞留数据
CN103678036B (zh) * 2013-11-15 2016-08-17 上海爱数信息技术股份有限公司 一种基于虚拟机运行信息数据发现的备份方法
CN103746837A (zh) * 2013-12-27 2014-04-23 乐视网信息技术(北京)股份有限公司 监控数据库的方法、数据库监控装置及系统
US9304877B2 (en) 2014-01-24 2016-04-05 International Business Machines Corporation Mobile agent based memory replication
GB2524000B (en) * 2014-03-10 2018-11-21 Coull Ltd Distributed computing system
US10554709B2 (en) * 2014-07-08 2020-02-04 Microsoft Technology Licensing, Llc Stream processing utilizing virtual processing agents
US9436553B2 (en) * 2014-08-04 2016-09-06 Microsoft Technology Licensing, Llc Recovering usability of cloud based service from system failure
US9990423B2 (en) 2014-09-30 2018-06-05 Splunk Inc. Hybrid cluster-based data intake and query
US10235460B2 (en) * 2014-09-30 2019-03-19 Splunk Inc. Sharing configuration information for searches in data intake and query systems
US9922099B2 (en) 2014-09-30 2018-03-20 Splunk Inc. Event limited field picker
US9507678B2 (en) * 2014-11-13 2016-11-29 Netapp, Inc. Non-disruptive controller replacement in a cross-cluster redundancy configuration
US9774613B2 (en) * 2014-12-15 2017-09-26 Sophos Limited Server drift monitoring
US9942351B2 (en) * 2014-12-16 2018-04-10 International Business Machines Corporation Enabling and disabling execution environments
KR102449533B1 (ko) * 2015-05-28 2022-10-04 삼성전자주식회사 전자 장치 및 전자 장치에서 어플리케이션의 실행을 제어하는 방법
US9836368B2 (en) * 2015-10-22 2017-12-05 Netapp, Inc. Implementing automatic switchover
US10303678B2 (en) 2016-06-29 2019-05-28 International Business Machines Corporation Application resiliency management using a database driver
CN107277113B (zh) * 2017-05-25 2020-06-26 北京数科网维技术有限责任公司 一种实现文件下载处理的方法及设备
US11102060B2 (en) * 2018-01-31 2021-08-24 Hewlett Packard Enterprise Development Lp Identification of a soft failure at a member
CN108572845B (zh) * 2018-03-15 2022-05-31 华为技术有限公司 分布式微服务集群的升级方法及相关系统
US10922199B2 (en) * 2018-07-04 2021-02-16 Vmware, Inc. Role management of compute nodes in distributed clusters
JP6720250B2 (ja) * 2018-07-11 2020-07-08 株式会社日立製作所 ストレージシステム及び構成情報制御方法
US11003686B2 (en) * 2018-07-26 2021-05-11 Roblox Corporation Addressing data skew using map-reduce
CN110858168B (zh) * 2018-08-24 2023-08-18 浙江宇视科技有限公司 集群节点故障处理方法、装置及集群节点
CN110795508B (zh) * 2019-11-04 2023-04-07 中国建设银行股份有限公司 数据的复制方法、装置、设备和存储介质
JP2022065788A (ja) * 2020-10-16 2022-04-28 株式会社日立製作所 制御システム及びその制御方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058846B1 (en) * 2002-10-17 2006-06-06 Veritas Operating Corporation Cluster failover for storage management services
CN101578586A (zh) * 2007-01-12 2009-11-11 国际商业机器公司 在故障转移和故障回复环境中使用虚拟拷贝

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0277943A (ja) * 1988-09-14 1990-03-19 Hitachi Ltd システムリカバリ方法
US6363497B1 (en) * 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6360331B2 (en) * 1998-04-17 2002-03-19 Microsoft Corporation Method and system for transparently failing over application configuration information in a server cluster
US6728896B1 (en) * 2000-08-31 2004-04-27 Unisys Corporation Failover method of a simulated operating system in a clustered computing environment
US6857082B1 (en) * 2000-11-21 2005-02-15 Unisys Corporation Method for providing a transition from one server to another server clustered together
US7213246B1 (en) * 2002-03-28 2007-05-01 Veritas Operating Corporation Failing over a virtual machine
US7010717B2 (en) * 2002-07-29 2006-03-07 Hewlett-Packard Development Company, L.P. Facility creation process for clustered servers
US7124320B1 (en) * 2002-08-06 2006-10-17 Novell, Inc. Cluster failover via distributed configuration repository
JP4315016B2 (ja) * 2004-02-24 2009-08-19 株式会社日立製作所 コンピュータシステムの系切替方法
US20050283636A1 (en) * 2004-05-14 2005-12-22 Dell Products L.P. System and method for failure recovery in a cluster network
US20060047776A1 (en) * 2004-08-31 2006-03-02 Chieng Stephen S Automated failover in a cluster of geographically dispersed server nodes using data replication over a long distance communication link
US7689862B1 (en) * 2007-01-23 2010-03-30 Emc Corporation Application failover in a cluster environment
JP5257672B2 (ja) * 2008-09-25 2013-08-07 株式会社日立製作所 ジャーナルの階層を管理する計算機システム及び方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058846B1 (en) * 2002-10-17 2006-06-06 Veritas Operating Corporation Cluster failover for storage management services
CN101578586A (zh) * 2007-01-12 2009-11-11 国际商业机器公司 在故障转移和故障回复环境中使用虚拟拷贝

Also Published As

Publication number Publication date
US20110213753A1 (en) 2011-09-01
JP2013520746A (ja) 2013-06-06
US8688642B2 (en) 2014-04-01
EP2539820B1 (en) 2016-04-20
CN102782656A (zh) 2012-11-14
JP5562444B2 (ja) 2014-07-30
EP2539820A1 (en) 2013-01-02
WO2011106067A1 (en) 2011-09-01

Similar Documents

Publication Publication Date Title
CN102782656B (zh) 管理应用程序可用性的系统和方法
US11797395B2 (en) Application migration between environments
US11074143B2 (en) Data backup and disaster recovery between environments
US11663085B2 (en) Application backup and management
CN101398770B (zh) 迁移一个或多个虚拟机的系统和方法
US11349917B2 (en) Replication handling among distinct networks
US8655851B2 (en) Method and system for performing a clean file lock recovery during a network filesystem server migration or failover
US8910172B2 (en) Application resource switchover systems and methods
CN102782639B (zh) 使复制目标能够回收瘦供给存储系统上未使用的存储空间的系统和方法
US8533171B2 (en) Method and system for restarting file lock services at an adoptive node during a network filesystem server migration or failover
US11789638B2 (en) Continuing replication during storage system transportation
US8862927B2 (en) Systems and methods for fault recovery in multi-tier applications
US8539087B2 (en) System and method to define, visualize and manage a composite service group in a high-availability disaster recovery environment
EP2856317B1 (en) System and method for disaster recovery of multi-tier applications
CN103973470A (zh) 用于无共享集群的集群管理方法和设备
US11675674B2 (en) Instant recovery of databases
US11550677B2 (en) Client-less database system recovery
WO2023070025A1 (en) Declarative provisioning of storage
US20230161733A1 (en) Change block tracking for transfer of data for backups
US20230315881A1 (en) Universal platform for data protection
Ravi Kumar et al. Oracle Engineered Systems for High Availability

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