CN103581289A - 有助于分布式计算系统的服务提供和协调的方法和系统 - Google Patents

有助于分布式计算系统的服务提供和协调的方法和系统 Download PDF

Info

Publication number
CN103581289A
CN103581289A CN201310345015.7A CN201310345015A CN103581289A CN 103581289 A CN103581289 A CN 103581289A CN 201310345015 A CN201310345015 A CN 201310345015A CN 103581289 A CN103581289 A CN 103581289A
Authority
CN
China
Prior art keywords
node
processor
distributed
service management
service
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
CN201310345015.7A
Other languages
English (en)
Other versions
CN103581289B (zh
Inventor
J·W·丹
S·莱曼
D·米兰德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103581289A publication Critical patent/CN103581289A/zh
Application granted granted Critical
Publication of CN103581289B publication Critical patent/CN103581289B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明内容涉及有助于分布式计算系统的服务提供和协调的方法和系统。一种分布式节点服务管理系统利用分布式计算系统的多个已有处理器节点支持分布式计算系统的主要数据处理功能。该分布式节点服务管理系统代表分布式计算系统的处理器节点协调和管理服务功能。根据特定应用,可以实现其它特征和方面。

Description

有助于分布式计算系统的服务提供和协调的方法和系统
相关申请
本申请涉及转让给本申请的受让人的、提交于2012年8月9日、申请号为13/571102、代理卷号为TUC920120063US1的标题为“Service Management Modes of Operation in Distributed nodeService Management”的待审申请,通过引用将其全部内容合并于此。
技术领域
本描述大体上涉及分布式计算系统,并且更特别地,涉及用于有助于分布式计算系统的服务提供和协调的方法、系统和程序产品。
背景技术
为了提供高的工作吞吐量或几乎连续的可用性,通常利用分布式计算系统。分布式计算系统典型地包括两个或更多计算装置,这些计算装置有点自治地频繁操作,并且在网络或其他通信路径上彼此通信。
具有共享资源的能力的分布系统的计算装置通常被称为集群(cluster),集群具有两个或更多节点,每个节点具有处理器或至少处理器资源,并且典型地具有单独的操作系统。利用一个或多个集群的分布式计算系统的一个示例是IBM System Storage TS7650ProtecTIER Deduplication Gateway,其提供诸如虚拟带库(virtualtape library)的功能,虚拟带库对于应用来说看似一个自动带库。TS7650的分布式计算系统通常还包括在网络上与集群通信的几个控制器。
图1示出分布式计算系统100的例子,分布式计算系统100具有集群计算装置102、104、一个或多个单个节点计算装置106、以及系统或服务控制台110,系统或服务控制台110为具有多个计算装置的分布式计算系统(诸如ProtecTIER系统)提供服务的中心点。计算装置102、104、106和服务控制台110典型地通过网络112链接在一起,网络112例如可以是分布式计算系统内部的网络。
服务控制台可以具有外出连接114,以便连接到支持中心120。可以在例如宽带以太网连接上形成这种连接114,其包括例如内联网115、防火墙116和互联网118。服务控制台还可以具有另一个连接122,连接122可以是例如到支持中心120的调制解调器连接。
在一种集群配置中,诸如在集群102中所见的配置中,两个处理器节点124通常都是激活的(通常称为“激活-激活”操作),以便提供对相同数据集的访问。在集群内部的网络130可用于在集群102的两个处理器节点之间提供通信。
分布式计算系统100还可以包括工作站134,例如,工作站134在网络136(诸如用户网络)上连接到计算装置102、104、106中的每一个。适合的管理器程序(诸如ProtecTIER Manager)例如可以运行在工作站134上,以便提供配置并且监控对每个计算装置102、104、106的访问。另外,可以为服务控制台110以及计算装置102、104、106的处理器节点124提供一个或多个键盘、视频和监视器(KVM)接口140,以便提供本地访问。可以通过适合的KVM交换机在服务控制台110和计算装置102、104、106的一个或多个处理器节点124之间共享KVM接口140。
服务控制台110有助于远程支持中心120接入到服务控制台110以及到各个计算装置102、104、106。相反地,服务控制台110有助于计算装置102、104、106接入到远程支持中心120以提供错误或其它服务通知。例如,如果集群102的处理器节点124遇到一个错误,它可以产生错误通知(通常称为“通报请求”或“消息卸载请求”),并且将通报请求发送到服务控制台110。服务控制台110又将错误通知和任意相关联的错误数据(通常称为通报包)(诸如存储器内容更新(coredump))转发到远程支持中心120。另外,支持中心120的服务人员可以登录服务控制台110以便远程访问附接到服务控制台110的计算装置102、104、106。在一些设施中,服务控制台(诸如服务控制台110)可以具有提供web浏览器及其他图形用户接口以便有助于对分布式计算系统的本地或远程监控和管理的软件。
一些分布式计算系统缺少诸如服务控制台110的系统或服务控制台。因此,这种分布式计算系统典型地不具有用于用户位置处的多个处理器节点之间的服务或协调的综合、集中的管理点。在这种缺少服务控制台或集中管理点的分布式计算系统中,分布式计算系统的每个计算装置可以具有其自己的单独的互联网或调制解调器连接,以便连接到支持中心。
发明内容
在本描述的一个方面,针对如下两者描述操作:在具有多个处理器节点的分布式计算系统中在所述多个处理器节点中的每一个处执行数据处理功能,和对于所述分布式计算系统中的所述多个处理器节点中的每一个,从在分布式节点服务管理系统中能够使用的多个分布式节点服务管理操作角色中选择分布式节点服务管理操作角色。操作还包括在所述多个处理器节点中的每一个处执行分布式节点服务管理,其中在每个处理器节点处在为特定处理器节点选择的分布式节点服务管理角色中执行所述分布式节点服务管理,并且所述分布式节点服务管理包括对服务请求进行处理以为分布式计算系统的处理器节点提供服务。
在另一个方面,所述分布式节点服务管理在所述多个处理器节点中的第一处理器节点处,在为所述第一处理器节点选择的主分布式节点服务管理角色中被执行。在一个实施例中,主分布式节点服务管理角色包括:从所述多个处理器节点中的第二处理器节点接收服务请求,并且代表第二处理器节点将该服务请求转发到远程服务中心,以为分布式计算系统的第二处理器节点提供服务。
在另一个方面,所述分布式节点服务管理在所述多个处理器节点中的所述第二处理器节点处,在为所述第二处理器节点选择的成员分布式节点服务管理角色中被执行。在一个实施例中,成员分布式节点服务管理角色包括:代表第二处理器节点产生服务请求,并且将该服务请求发送到第一处理器节点以便转发到远程服务中心,其中该服务请求是响应于第二处理器节点处的服务状况而产生的,并且包括第二处理器节点处的服务状况的服务通知。
在另一个方面,所述分布式计算系统中的多个处理器节点中的每一个处的数据处理功能包括数据备份功能,所述数据备份功能包括在主机和数据存储之间传送数据。
在本描述的另一个方面,所述分布式节点服务管理在所述多个处理器节点中的第三处理器节点处,在为所述第三处理器节点选择的备用分布式节点服务管理角色中被执行。在一个实施例中,备用分布式节点服务管理角色包括:在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理功能时失败的情况下,将为所述第三处理器节点选择的分布式节点服务管理角色从所述备用分布式节点服务管理角色改变为所述主分布式节点服务管理角色,使得在第三处理器节点处而不是在第一处理器节点处执行主分布式节点服务管理角色中的分布式节点服务管理功能。
在另一个方面,在所述第二处理器节点处执行的成员分布式节点服务管理角色包括:在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理服务请求转发功能时失败的情况下,将该服务请求发送到第三处理器节点,以便在第三处理器节点的所述主分布式节点服务管理角色中转发到远程服务中心。
在另一个方面,所述分布式节点服务管理在所述多个处理器节点中的多个额外处理器节点处,在为每个额外处理器节点选择的分布式-备用分布式节点服务管理角色中被执行,其中分布式-备用分布式节点服务管理角色包括:在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理功能时失败的情况下,对于所述多个处理器节点中的每个特定处理器节点,在每个特定处理器节点处而不是在第一处理器节点处代表该特定处理器节点执行分布式节点服务管理功能。
在另一个方面,在所述多个额外处理器节点中的每一个处执行的分布式-备用分布式节点服务管理角色包括:对于所述多个处理器节点中的每个特定处理器节点,在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理服务请求转发功能时失败的情况下,代表所述多个额外处理器节点中的该特定处理器节点将服务请求发送到远程服务中心。
在另一个方面,在所述多个处理器节点中的每一个处执行的分布式节点服务管理角色包括:对于所述多个处理器节点中的每个特定处理器节点,代表该特定处理器节点产生服务请求,并且将该服务请求发送到用于为分布式计算系统提供服务的服务中心,其中该服务请求是响应于该特定处理器节点处的服务状况而产生的,并且包括该特定处理器节点处的服务状况的服务通知。
在另一个方面,所述分布式节点服务管理在所述多个处理器节点中的第三处理器节点处,在为所述第三处理器节点选择的主分布式节点服务管理角色中被执行,其中主分布式节点服务管理角色包括:从所述多个处理器节点中的第四处理器节点接收服务请求,并且代表第四处理器节点将该服务请求转发到用于为分布式计算系统提供服务的远程服务中心。
在另一个方面,在所述第一处理器节点和第三处理器节点处在主分布式节点服务管理角色中执行的所述分布式节点服务管理包括:在所述第一处理器节点和第三处理器节点之间平衡主分布式节点服务管理角色中的分布式节点服务管理工作负载。
在另一个方面,在所述第一处理器节点和第三处理器节点处在主分布式节点服务管理角色中执行的所述分布式节点服务管理包括:在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理功能时失败的情况下,承担来自所述第一处理器节点的分布式节点服务管理功能,使得在第三处理器节点处而不是在第一处理器节点处在主分布式节点服务管理角色中执行所承担的分布式节点服务管理功能。
在另一个方面,所述服务请求包括如下之一:服务通知,服务中心对所述多个处理器节点中的处理器节点的远程访问的请求,本地用户对所述多个处理器节点中的处理器节点的本地访问的请求,以及处理器节点健康状态请求。
在另一个方面,所述第一处理器节点处的主分布式节点服务管理角色中的分布式节点服务管理功能还包括如下至少一项:为所述服务中心提供对所述分布式计算系统的其它处理器节点的远程访问,为用户提供对所述分布式计算系统的其它处理器节点的本地访问,以及监视所述分布式计算系统的其它处理器节点的健康。
在另一个方面,所述分布式节点服务管理在所述多个处理器节点中的第三处理器节点处,也在为所述第三处理器节点选择的成员分布式节点服务管理角色中被执行,其中所述第一处理器节点和第二处理器节点均是集群中的对等节点,其中第三处理器节点的成员分布式节点服务管理角色包括:在第一处理器节点未能响应由第二处理器节点发送的服务请求的情况下,代表第二处理器节点向第一处理器节点重新发送该服务请求以便转发到远程服务中心,其中在所述多个处理器节点中的第四处理器节点处,在为所述第四处理器节点选择的备用分布式节点服务管理角色中执行所述分布式节点服务管理,其中备用分布式节点服务管理角色包括:在第一处理器节点未能响应由第三处理器节点代表第二处理器节点发送的服务请求的情况下,将为所述第四处理器节点选择的分布式节点服务管理角色从所述备用分布式节点服务管理角色改变为所述主分布式节点服务管理角色,使得在第四处理器节点处而不是在第一处理器节点处执行主分布式节点服务管理角色中的分布式节点服务管理功能。
在另一个方面,所述分布式节点服务管理在所述多个处理器节点中的处理器节点处,在如下分布式节点服务管理角色中被执行,该分布式节点服务管理角色包括用于检测与分布式计算系统的其它处理器节点的分布式节点服务管理操作有关的错误的健康检查功能,其中所述健康检查功能包括向分布式计算系统中的每个节点发送请求消息以便确定它们的当前操作状态,以及其中所述分布式计算系统中的所述多个处理器节点中的任何处理器节点能够被选择来在包括健康检查功能的分布式节点服务管理角色中执行分布式节点服务管理。
在另一个方面,分布式节点服务管理还包括:自动重新配置第一处理器节点处的分布式节点服务管理角色,以便恢复到在第一处理器节点处执行的分布式节点服务管理再次处于主分布式节点服务管理角色中的以前配置,使得其它处理器节点选择第一处理器节点处理服务通知以便联系远程服务中心,以及其中分布式节点服务管理还包括:自动重新配置第三处理器节点处的分布式节点服务管理角色,以便恢复到在第三处理器节点处执行的分布式节点服务管理再次处于备用分布式节点服务管理角色中的以前配置。
在另一个方面,响应于为所述第三处理器节点选择的分布式节点服务管理角色从所述备用分布式节点服务管理角色到所述主分布式节点服务管理角色的改变,在所述主分布式节点服务管理角色中的第三处理器节点处的分布式节点服务管理还包括:向分布式计算系统中的其它处理器节点广播分布式节点服务管理系统状态消息,以指示主分布式节点服务管理角色中的分布式节点服务管理功能正在第三处理器节点处而不是在第一处理器节点处被执行,以及其中响应于该状态消息,每个处理器节点更新分布式节点服务管理配置信息的本地拷贝,以便指示主分布式节点服务管理角色正在第三处理器节点处而不是在第一处理器节点处被执行。
在另一个方面,所述分布式节点服务管理在所述多个处理器节点中的额外处理器节点处,在为所述额外处理器节点选择的激活备用分布式节点服务管理角色中被执行,其中激活备用分布式节点服务管理角色包括:在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理功能时失败的情况下,在所述额外处理器节点中的每一个处执行的激活分布式节点服务管理角色包括对于所述额外处理器节点中的每个特定处理器节点,代表该特定处理器节点产生服务请求,并且将该服务请求发送到用于为分布式计算系统提供服务的服务中心,其中该服务请求是响应于该特定处理器节点处的服务状况而产生的,并且包括该特定处理器节点处的服务状况的服务通知。
根据特定应用,可以实现其它特征和方面。
附图说明
图1示出了采用分布式计算系统的现有技术的计算环境。
图2示出了根据本描述的一个方面的具有采用分布式节点服务管理系统的分布式计算系统的计算环境的例子。
图3示出了结合图2的分布式节点服务管理系统使用的分布式计算系统的处理器节点的例子。
图4示出根据本描述的一个方面的用于分布式节点服务管理的操作的例子。
图5示出根据本描述的另一个方面的用于分布式节点服务管理的操作的另一个例子。
图6示出了根据本描述的一个方面的具有采用分布式节点服务管理系统的分布式计算系统的计算环境的另一个例子。
图7示出根据本描述的另一个方面的用于分布式节点服务管理的操作的另一个例子。
图8示出根据本描述的另一个方面的用于分布式节点服务管理的操作的另一个例子。
具体实施方式
在图2中的200示出合并并且使用根据本描述的一个实施例的分布式节点服务管理系统的方面的分布式计算系统的一个示例,并在这里进行描述。根据本描述的分布式计算系统可以包括多个处理器节点,所述处理器节点可通过各种计算装置被提供,包括集群、控制器以及其它编程的或专用处理器。分布式计算系统的主要功能是提供数据处理功能,诸如数据备份、数据检索、重复数据删除、数据挖掘、数据获取、数据归档、数据复制、带宽缩减的数据复制、数据加密等等。
在本描述的一个方面,提供利用分布式计算系统的多个已有处理器节点的分布式节点服务管理系统,以支持分布式计算系统的主要数据处理功能。该分布式节点服务管理系统代表分布式计算系统的处理器节点协调和管理服务功能。例如,分布式节点服务管理系统的处理器节点可以管理向远程支持中心(诸如远程支持中心201)发送错误通知或其它服务通知。
如下面更详细解释的,根据本描述的分布式节点服务管理系统可以减少或消除对用于向远程支持中心发送服务通知的服务控制台的单独硬件的需要。而是,该分布式节点服务管理系统可以在已经就位并且正在执行分布式计算系统的主要数据处理功能的分布式计算系统的处理器节点上操作。
在另一个方面,分布式节点服务管理的许多功能可被集中在分布式计算系统的少至一个处理器节点内。结果,可以减少或消除例如为分布式计算系统的每个计算装置使用单独的互联网或调制解调器连接以便连接支持中心。
在本描述的另一个方面,根据本描述的分布式节点服务管理系统的处理器节点可以提供额外服务功能,包括提供对分布式计算系统的计算装置的远程访问、监视分布式计算系统的计算装置和相关网络基础设施的健康、以及提供对分布式计算系统的计算装置的本地访问。根据特定应用,还可以提供其它服务功能。
此外,在一个实施例中,根据本描述的分布式节点服务管理系统可根据不同的用户环境或要求被动态地配置,同时仍然为分布式计算系统的多个计算装置提供集中的服务点。例如,用户可以配置分布式节点服务管理系统的不同服务操作模式,其中在特定模式中处理服务功能的方式可以不同。因此,可以提供不同操作模式,以便根据选择和配置的模式或多个模式以不同方式协调错误或其它服务通知、故障恢复和健康检查。另外,在一个实施例中,用户可以启动从一种分布式节点服务管理操作模式到另一种模式的改变,同时处理器节点的主要数据处理功能保持在线,并且不由于分布式节点服务管理系统的操作模式的改变而中断。
在另一个方面,根据本描述的分布式节点服务管理系统可以根据分布式节点服务管理系统的当前操作模式,给分布式节点服务管理系统的每个处理器节点分配不同的分布式节点服务管理角色。例如,如在下面更详细解释的,在一些操作模式中,可以根据当前的操作模式给处理器节点分配不同的操作角色,包括例如主激活角色、备用角色和成员角色。而且,在错误状态的情况下,分布式节点服务管理系统可以将分布式节点服务管理功能从一个处理器节点故障转移(failover)到另一个处理器节点,同时处理器节点的主要数据处理功能保持在线,并且不由于分布式节点服务管理系统的处理器节点的操作角色的改变而中断。
在图2的例子中,分布式计算系统200包括具有两个服务器(服务器210和服务器212)的集群202,每个服务器可以包括在执行系统任务时彼此共享资源和协作的一个或多个处理器节点220。虽然在该说明性实施例中示出了一个集群202和两个服务器210、212,但是应当理解,根据特定应用,分布式计算系统200可以具有更少或更多数目的集群和服务器。
每个服务器210、212可以具有一个或多个中央处理单元(CPU),其中服务器的处理、存储器及其它资源可被分配到逻辑分区(partition)(通常被称为“虚拟服务器”)中,每个虚拟服务器能够运行操作系统的单个拷贝并且执行“服务器”的服务功能。因此,如本文中使用的,术语“服务器”可用于指物理服务器或者执行服务器功能的逻辑分区或虚拟服务器。
每个处理器节点220典型地包括具有运行操作系统的单个拷贝的处理器和存储器资源的虚拟或物理服务器。因此,每个处理器节点220能够独立地执行数据处理功能以及分配给该处理器节点的分布式节点服务管理功能。
服务器可以具有多个I/O适配器,包括例如通过交换机(诸如PCIe交换机)接入的主机和装置适配器。为了提高效率,通常希望在集群的服务器之间共享I/O适配器。因此,装置适配器例如可作为“虚拟”装置适配器被共享。服务器典型地在一种“构造”上与装置适配器及其它I/O适配器通信,所述“构造”可以包括提供服务器和适配器之间的通信路径的一个或多个接口。
在示出的实施例中,服务器210和服务器212中的每一个被示出为例如具有两个处理器节点220。应当理解,根据特定应用,每个服务器210、212中的处理器节点220的数目可以改变。
服务中心201的服务技术人员240或其它操作员可以使用根据本描述的分布式节点服务管理系统来访问服务器210、212的处理器节点220,该分布式节点服务管理系统包括运行分布式计算系统200的一个或多个处理器节点220的管理系统程序或其它软件。与分布式节点服务管理系统兼容的额外软件(诸如web浏览器)例如运行在服务中心201的工作站242上,工作站242可被远程定位或可以与分布式计算系统200的一个或多个组件处于相同的地点。通信路径248互连分布式计算系统200的各个处理器节点220以及工作站242。通信路径248可以是例如以太网的一部分,使得每个处理器节点220具有单独的网络(网际协议)地址。根据特定应用,可以利用其它类型的网络或其它通信路径,诸如调制解调器电话路径、无线网络等等。
在示出的实施例中,服务技术人员240可以登录服务器210、212的第一处理器节点220,例如,以便监视该特定处理器节点。服务技术人员可以例如响应于收到来自分布式计算系统200的处理器节点220的通报请求而登录处理器节点。可替换地,服务技术人员可以登录特定处理器节点以便例如作为预定维修或其它操作的一部分监视该处理器节点的操作。
在示出的实施例中,分布式计算系统200可以包括例如虚拟带库,虚拟带库对于运行在一个或多个主机250上的应用来说看似一个自动带库。因此,分布式计算系统200可以包括例如虚拟带库,诸如用于System z的IBM System Storage TS7650ProtecTIER DeduplicationGateway。应当理解,例如,根据本描述的分布式计算系统可以具有其它主要数据处理应用,诸如存储控制器。分布式计算系统200还可以提供例如额外数据处理功能,诸如网络协议,例如常见互联网文件系统(CIFS)网络协议,其也被称为服务器消息块(SMB)协议。该协议的常见用途是在局域网(LAN)上提供文件共享。使用该协议,客户端可以操纵存储在远程服务器上的文件,好像这些文件存储在本地计算机上一样。文件操纵包括例如诸如读、写、创建、删除和改名之类的操作。分布式计算系统200提供的其它数据处理功能可以包括例如与其它备份系统(诸如Netbackup Open Storage(OST))的接口。根据特定应用,可以实现其它分布式计算系统。典型设施中的IBMSystem Storage TS7650G ProtecTIER Deduplication Gateway具有包括两个物理服务器的单个集群,每个物理服务器具有处理器节点。
TS7650G的服务器允许运行在主机上的磁存储带处理应用访问虚拟机器人以移动虚拟盒带,虽然服务器实际上将数据存储在由一个或多个盘存储装置260表示的存储构造(storage fabric)的一个或多个虚拟卷上。所述存储构造包括存储构造的存储装置260和服务器210、212之间的适合的通信路径270。所述存储构造可以包括适合的交换机和其他构造装置。
主机250通过网络构造的通信路径276耦连到分布式计算系统200。该网络构造可以类似地包括适合的交换机和其它构造通信装置。
在示出的实施例中,服务器210、212提供耦连到主机250的通信路径276和存储构造的存储装置260与服务器210、212之间的通信路径270之间的接口。因此,到主机250的通信路径可以例如基于特定的主机连接协议,(诸如FICON),并且通信路径270可以基于例如光纤通道协议。应当理解,根据特定应用,可以利用其它通信路径协议。
图3示出了分布式计算系统200的处理器节点220的一个实施例。处理器节点220可以包括任意适合的计算装置,诸如大型机、服务器、个人计算机、膝上计算机、手持式计算机、电话装置、网络设备、虚拟化装置、存储控制器等等。处理器节点220可以包括处理器302(例如,微处理器)、存储器304(例如,易失性存储器装置)和存储306(例如,非易失性存储,诸如磁盘驱动器、光盘驱动器、磁带驱动器、闪存存储等等)。存储306可以包括内部存储装置或者附连的或可通过网络访问的存储。如以操作系统310和程序312表示的,存储306中的程序被装入存储器304,并且由处理器302执行。处理器节点220还包括网络控制器或适配器316,以便使得能够与诸如网络248(图2)之类的网络(诸如互连分布式计算系统200的处理器节点的以太网、光纤通道仲裁环等等)通信。网络控制器或适配器316还可以使得能够与到主机250的网络路径276或与到存储260的网络路径270通信。
用户输入装置320给处理器302提供用户输入,并且可以包括键盘、鼠标、输入笔、麦克风、触敏显示屏、或任意其它适合的激活或输入机构。输出装置322能够呈现从处理器302或其它组件(诸如显示监视器、打印机、存储等等)传输的信息。在一些应用中,输入装置320和输出装置322可使用适合的KVM(键盘、视频、鼠标)交换机330直接耦连到处理器节点。
在一个实施例中,分布式计算系统200的每一个服务器210、212的处理器节点220执行主要数据处理功能,诸如虚拟带库的功能,诸如IBM System Storage TS7650ProtecTIER Deduplication Gateway。因此,存储器304中包括的是例如用于执行数据处理功能(诸如虚拟带库功能)的适合的数据处理编程350。应当理解,分布式计算系统的处理器节点220可以执行其它数据处理功能,例如,诸如磁盘阵列中的数据存储和管理。因此,处理器节点220可以执行数据处理任务,诸如数据备份、重复数据删除、数据挖掘、数据获取、数据归档、数据复制、带宽缩减数据复制、数据加密等等,并且典型地涉及主机250和存储260之间的大量数据的传送。
根据本描述,每个处理器节点220还具有分布式节点服务管理编程360,其可以共享特定处理器节点220的硬件和软件资源中的一些或全部。如下面更详细解释的,运行分布式节点服务管理编程360中的一个或多个这种处理器节点220可以用作例如“服务代理”,以便代表分布式计算系统200的其它处理器节点提供主要分布式节点服务管理功能,包括为多个处理器节点220提供远程支持中心连接、以及为多个处理器节点220向远程支持中心转发错误通知或其它服务通知。如下面更详细解释的,处理器节点220可以执行分布式节点服务管理系统中的其它分布式节点服务管理角色。
因为编程360提供的分布式节点服务管理功能可以与数据处理编程350提供的主要数据处理功能共享特定处理器节点220的硬件和软件资源,所以根据本描述的分布式节点服务管理可以减少或消除外部服务器或服务控制台的使用以便提供集中服务点。另外,可以针对单点故障提供保护。例如并且如下面更详细解释的,用户可以选择性地配置分布式节点服务管理系统,以便在处理器节点故障的情况下自动重新分配分布式节点服务管理服务冗余。
每个处理器节点还可以具有一个或多个分布式节点服务管理队列370,包括外出队列和进入队列,分别用于在处理器节点220之间发送服务相关消息和接收服务相关消息。这种服务相关消息的例子包括服务通知,包括错误通知、通报请求和通报包。
并且,每个处理器节点220可以具有数据结构380,用于存储分布式节点服务管理信息的本地拷贝。这种信息的例子可以包括分布式节点服务管理系统的操作模式的标识、分布式节点服务管理系统中的每个处理器节点的网络地址、以及每个处理器节点正在标识出的分布式节点服务管理操作模式内执行的角色。根据特定应用,可以包括其它信息。
在本描述的一个方面,用于执行数据处理功能(诸如带库功能)的数据处理编程350例如基本上独立于分布式节点服务管理编程360操作,分布式节点服务管理编程360代表分布式计算系统200的一个或多个处理器节点提供分布式节点服务管理功能。因此,例如,特定处理器节点220处的数据处理编程350提供的数据处理功能中的软件故障或关闭可以不干扰相同处理器节点220处的分布式节点服务管理功能。相反地,特定处理器节点处的分布式节点服务管理功能中的软件故障或关闭可以不干扰相同处理器节点220处的数据处理编程350提供的数据处理功能。数据处理功能和分布式节点服务管理功能两者将独立于另一方中的故障或关闭而继续操作,只要该故障或关闭不涉及该处理器节点处的数据处理功能和分布式节点服务管理功能两者所需的硬件或软件。
图4示出根据本描述的一个实施例的用于分布式节点服务管理的操作的一个示例。在第一操作中,选择处理器节点(方框410)以便执行分布式节点服务管理,例如,诸如服务代理功能。在一个实施例中,可由用户手工地选择处理器节点。在另一个实施例,可以自动选择处理器节点。如下面更详细解释的,根据本描述的一个方面的分布式节点服务管理可以具有可以影响选择处理器节点的方式的各种配置和操作模式。
正如前面提到的那样,可以独立于所选择的处理器节点处的分布式节点服务管理,在所选择的处理器节点处执行(方框414)数据处理编程350提供的数据处理功能(诸如数据存储功能)。因此,在另一个操作中,做出关于是否在特定处理器节点处选择了分布式节点服务管理角色(方框416)的确定。如果没有选择分布式节点服务管理角色,可以继续在该特定处理器节点处执行数据处理编程350提供的数据存储功能(方框414),而不在分布式计算系统的该处理器节点处同时执行分布式节点服务管理。
如果在该特定处理器节点处选择了分布式节点服务管理角色(方框416),那么做出关于所选择的分布式节点服务管理角色是否是新选择的确定(方框418)。如果是,那么针对新选择的分布式节点服务管理角色配置(方框420)选择的处理器节点,并且可以开始分布式节点服务管理。
可以独立于选择的处理器节点处的分布式节点服务管理,在选择的节点处继续执行(方框422)数据处理编程350提供的数据处理功能(诸如数据存储功能)。在处理器节点处执行分布式节点服务管理时,该特定处理器节点可以接收(方框424)分布式节点服务管理请求。在本描述的一个方面,分布式节点服务管理可以利用选择的处理器节点以用作用于代表分布式节点服务管理系统的其它处理器节点执行分布式节点服务管理的服务代理。因此,分布式节点服务管理系统中的服务代理节点可以协调和管理代表分布式节点服务管理系统的其它处理器节点向远程支持中心(诸如远程支持中心201)发送错误或其它服务通知。其它服务请求可以涉及其它服务代理功能,包括提供对分布式计算系统的计算装置的远程访问、监视分布式计算系统的计算装置和相关网络基础设施的健康、以及提供对分布式计算系统的计算装置的本地访问。
在本描述的另一个方面,分布式节点服务管理可以利用选择的处理器节点来提供服务以代表分布式节点服务管理系统的该特定处理器节点在本地执行分布式节点服务管理。因此,分布式节点服务管理系统中的处理器节点可以协调和管理代表分布式计算系统的该处理器节点向远程支持中心(诸如远程支持中心201)发送错误通知。其它服务请求可以涉及其它服务功能,包括提供对分布式计算系统的该特定处理器节点的远程访问、监视分布式计算系统的该特定处理器节点和相关网络基础设施的健康、以及提供对分布式计算系统的该特定处理器节点的本地访问。
因此,可以在特定处理器节点中本地产生分布式节点服务管理请求以便由该特定处理器节点响应,或者可以由特定处理器节点产生分布式节点服务管理请求以便发送到分布式计算系统的不同处理器节点来处理。并且,可由远程服务中心或由本地用户产生分布式节点服务管理请求。根据特定应用,还可以提供与其它服务功能有关的服务请求。
响应于服务请求(方框424),进行在选择的处理器节点处执行适当的分布式节点服务管理任务或多个任务的尝试(方框430)。在执行该任务时在选择的处理器节点处分布式节点服务管理系统失败(方框440)的情况下,可以选择(方框410)、配置(方框420)另一个处理器节点,并响应于分布式节点服务管理请求(方框424),进行在该下一个选择的处理器节点处而不是原来选择的处理器节点处执行适当的分布式节点服务管理任务或多个任务的另一个尝试(方框430)。
在原来选择的处理器节点处没有失败的情况下,在选择的分布式节点服务管理角色中恢复原来选择的处理器节点处的分布式节点服务管理,从而等待(方框424)下一个分布式节点服务请求。然而,在原来选择的处理器节点处分布式节点服务管理失败(方框440)的情况下,可以在不同的分布式节点服务管理角色中再次选择(方框410)并配置(方框420)原来的处理器节点,所述不同的分布式节点服务管理角色可能不太可能出于与原来选择的角色可能失败的原因相同的原因而失败。例如,如果失败与不能联系远程服务中心有关,那么可以在该处理器节点处成功地执行与联系远程服务中心无关的角色中的分布式节点管理服务。
正如前面提到的那样,根据本描述的一个方面的分布式节点服务管理可以具有可以影响选择处理器节点的方式的各种操作模式。此处被称为“激活-备用”模式的这样一种模式允许用户配置处理器节点220中的一个作为主激活节点,并且配置一个或多个其它激活节点220作为备用处理器节点。处理器节点220的主激活节点可以执行服务代理类分布式节点服务管理功能,包括协调和管理向远程支持中心(诸如远程支持中心201)发送错误及其它服务通知。可以由主激活节点执行的其它服务功能包括提供对分布式计算系统的计算装置的远程访问、监视分布式计算系统的计算装置和相关网络基础设施的健康、以及提供对分布式计算系统的计算装置的本地访问。根据特定应用,还可由主激活节点提供其它服务功能。
在执行分布式节点服务管理功能(诸如向服务中心发送通报包)时主激活节点遇到错误(方框440)的情况下,根据用户的配置设置或默认配置,分布式节点服务管理的一个或多个服务代理功能可以故障转移到备用节点以便由该备用节点执行。在故障转移操作完成之后,作为故障转移操作的目标的备用节点被重新指定为替代主激活节点,用于经受了故障转移操作的那些服务功能。因此,替代主激活节点可以执行一个或多个服务代理分布式节点服务管理功能,包括协调和管理向远程支持中心(诸如远程支持中心201)发送错误及其它服务通知、提供对分布式计算系统的计算装置的远程访问、监视分布式计算系统的计算装置和相关网络基础设施的健康、以及提供对分布式计算系统的计算装置的本地访问。
故障转移操作可被用户配置为在检测到错误之后自动发生,或可以被配置为由用户手工地执行。分布式节点服务管理可被配置为自动选择(方框410)备用处理器节点作为故障转移操作的目标,或可被配置为用户手动选择备用节点作为故障转移目标。可由用户事先指定用于自动选择的作为故障转移目标备用节点的适当候选。被选择(方框410)为故障转移操作的目标的备用节点被配置(方框420)为替代主激活节点,用于经受了故障转移操作的那些服务代理功能。
在替代主激活节点随后也在执行服务代理分布式节点服务管理功能(诸如向服务中心发送通报包)时遇到错误(方框440)的情况下,根据用户的配置设置,分布式节点服务管理可以故障转移到再一个备用节点,以便执行一个或多个服务代理分布式节点服务管理功能,诸如协调和发送通报包。在遇到后续额外的失败时可重复该处理,直到根据用户配置的服务策略,系统中的所有备用节点已被耗尽为止。因此,分布式节点服务管理系统以串行方式协调到额外备用节点的故障转移,这可以限制网络上的外出连接。
在本描述的另一个方面,分布式节点服务管理可以包括用户可以选择的此处被称为“激活-分布式备用”模式的操作模式。在激活-分布式备用模式中,主激活节点可被最初选择(方框410),并被配置(方框420)为执行与上面描述的激活-备用模式中的主激活节点所执行的分布式节点服务管理的服务代理功能相同的服务代理功能。然而,在失败(方框440)的情况下,分布式计算系统的每个备用节点可被选择(方框410),并被配置(方框420)为在本地的基础上执行(方框430)它们自己的分布式节点服务管理功能,包括管理为该特定备用节点向远程支持中心发送错误及其它服务通知、提供对分布式计算系统的该特定备用节点的远程访问、监视分布式计算系统的该特定备用节点的健康、以及提供对分布式计算系统的该特定备用节点的本地访问。因此,在激活-分布式备用模式中,在主激活节点失败的情况下,每个备用节点可被配置为执行分布式节点服务管理功能的本地服务功能,而不是如激活-备用模式中那样由服务代理(诸如替代主激活节点)执行。
在本描述的另一个方面,根据本描述的一个实施例的分布式节点服务管理可以包括用户可以选择的此处被称为“全分布式”模式的另一个操作模式。在全分布式模式中,分布式计算系统的每个备用节点可被选择(方框410),并被配置(方框420)为执行(方框430)它们自己的分布式节点服务管理功能,而没有服务代理节点。因此,在全分布式模式中,分布式计算系统的每个备用节点可被选择(方框410),并被配置(方框420)为执行(方框430)它们自己的分布式节点服务管理功能,包括在没有服务代理的服务的情况下,管理为该特定备用节点向远程支持中心发送错误及其它服务通知、提供对分布式计算系统的该特定备用节点的远程访问、监视分布式计算系统的该特定备用节点的健康、以及提供对分布式计算系统的该特定备用节点的本地访问。因此,在全分布式模式中,不利用主激活节点为分布式计算系统的所有处理器节点执行服务代理分布式节点服务管理功能。而是,在全分布式模式中,每个备用节点可被配置为,在没有如激活-备用模式和激活-分布式备用模式中那样由主激活节点提供的服务代理的服务的情况下,执行它自己的分布式节点服务管理功能。
在本描述的再一个方面,根据本描述的一个实施例的分布式节点服务管理可以包括此处被称为“服务聚集”模式的另一个可用操作模式。在服务聚集模式中,两个或更多处理器节点被选择(方框410),并被配置(方框420)为同时承担主激活节点的角色和职责。因此,在服务聚集模式中,所有主激活节点在这些主激活节点之间并且代表分布式计算系统的其它处理器节点协调和平衡服务代理分布式节点服务管理功能的负载。
可以在主激活节点之间分配服务代理分布式节点服务管理功能的负载的方式可以根据特定应用而改变。例如,代表特定处理器节点起作用的职责可被指定到特定主激活节点。另外,服务代理分布式节点服务管理功能可根据每个主激活节点在特定时刻的工作负荷从一个主激活节点转移到另一个主激活节点。在一些情况下,大的错误或其它服务通知包(诸如通报包)可被再分并且卸载到多于一个主激活节点以便转送到远程支持中心。
在主激活节点失败(方框440)的情况下,一个或多个其它主激活节点可以完全承担失败的主激活节点的服务代理分布式节点服务管理职责。因此,在主激活节点失败(方框440)的情况下,一个或多个其它主激活节点可以被选择(方框410),并被配置(方框420)为执行(方框430)由选择的主激活节点已经执行的功能之外的服务代理分布式节点服务管理功能的额外份额。
在本描述的又一个方面,根据本描述的一个实施例的分布式节点服务管理可以包括此处被称为“健康检查”模式的用于分布式节点服务管理的再一个可用操作模式。在健康检查模式中,分布式节点服务管理根据选择的模式监视分布式计算系统的处理器节点(包括任意主激活节点、备用节点或全分布式主激活节点),以便识别各种错误(包括软件、硬件和网络错误)。另外,健康检查模式可以有助于保持一致的主激活和备用节点状态。
图5示出根据本描述的一个实施例的用于分布式节点服务管理的操作的另一个例子。正如前面提到的那样,每个处理器节点220的数据处理编程350提供的数据处理功能(诸如数据存储功能)可在分布式计算系统的多个处理器节点220处被执行(方框508)。在分布式计算系统中,做出关于是否选择了分布式节点服务管理的模式的确定(方框510)。正如前面提到的那样,可在一个实施例中使用的分布式节点服务管理的各种模式包括激活-备用模式、激活-分布式备用模式、全分布式模式、服务聚集模式和健康检查模式。应当理解,除了这些模式之外或取代此处明确说明的模式,根据特定应用,还可以利用其它模式。
在一个实施例中,可由用户手工选择模式。在另一个实施例中,可以自动选择模式。如果没有选择分布式节点服务管理模式,那么可以在分布式计算系统的多个处理器节点220处继续执行(方框508)每个处理器节点220的数据处理编程350提供的数据处理功能(诸如数据存储功能),而不在分布式计算系统的多个处理器节点220处同时执行分布式节点服务管理。如果选择了分布式节点服务管理模式,那么做出关于该分布式节点服务管理模式是否是新选择的确定(方框514)。如果是,可以针对选择的模式中的分布式节点服务管理来配置(方框520)分布式计算系统的处理器节点220。然后可以在选择的模式中执行(方框530)分布式节点服务管理。
在本描述的另一个方面,用户具有改变(方框514)所选择的操作模式的选择能力。因此,可以改变分布式计算系统中的状况,使得不同的操作模式可能更为适合。例如,可以改变分布式计算系统中的处理器节点的数目,使得分布式节点服务管理的不同操作模式可能更为适合。如果是,分布式节点服务管理的不同模式被选择(方框514),并针对分布式节点服务管理被配置(方框520)。然后,可以在新选择的模式中执行(方框530)分布式节点服务管理。
另外,可以周期地进入某些操作模式(诸如健康检查模式)以便检查分布式节点服务管理的健康。另外,例如,可以与其它操作模式(诸如激活-备用模式)同时进入某些操作模式(诸如健康检查模式)。如果是,可以利用计时器例如以便确定何时进入健康检查模式。
正如前面提到的那样,激活-备用模式允许用户配置一个处理器节点220作为主激活节点、以及一个或多个其它激活节点220作为备用节点。可以手工或自动进行该配置。处理器节点220的主激活节点执行服务代理分布式节点服务管理功能,包括协调和管理向远程支持中心(诸如远程支持中心201)发送错误或其它服务通知。在主激活节点在执行分布式节点服务管理功能(诸如向服务中心发送通报包)时遇到错误的情况下,根据用户的配置设置,分布式节点服务管理的一个或多个服务代理功能可以故障转移到备用节点以便由该备用节点执行。
主激活节点代表作为分布式计算系统的成员的其它处理器节点执行服务代理分布式节点服务管理功能。因此,当分布式节点服务管理在激活-备用模式中操作时,成员节点向主激活节点发送错误或其它服务通知,所述主激活节点协调成员节点的这些通知到远程支持中心的卸载。
如果发生了错误以使得错误通知不能被卸载到远程支持中心,那么可以调用节点故障转移过程。在启动故障转移时,在分布式计算系统的所有成员节点之间传递并以其它方式协调成员节点的新状态,包括新的主激活节点的身份。
在一个实施例中,如果遇到错误的成员节点不能与主激活节点通信、但是处于包含一个或多个对等节点的集群中(这些对等节点不仅是相同集群中的激活节点,而且是分布式计算系统的成员),那么分布式节点服务管理的一个实施例提供有限的故障转移,其允许集群中的对等成员节点代表最初遇到错误的处理器节点向主激活节点发送错误或其它服务通知。可以在集群中的对等节点之间使用代替的通信路径或方法以便协调服务通知向分布式节点服务管理的主激活节点的发送。因此,可以在集群的对等成员节点能够与主激活节点通信的情形下避免导致新的主激活节点的完整故障转移操作。
然而,在一些状况下,完整的故障转移操作可能是适当的。如果是这样,那么分布式节点服务管理可以在检测到包括以下状况的各种状态时,请求一个或多个备用节点向支持中心发送错误通知,并启动故障转移操作,以使得备用代理服务器成为新的主激活节点:a)主激活节点能够与遇到错误的成员节点通信,但是不能与远程服务中心通信,b)遭遇失败的成员节点不在集群内(即,不具有作为分布式计算系统的成员节点的任意对等节点)并且不能与主激活节点通信,或c)遭遇失败的成员节点在集群内的集群对等成员节点不能与主代理服务器通信。
在本描述的另一个方面,在从主激活节点到备用节点的完整故障转移状况的情况下,或者在相同集群内的对等节点之间的有限故障转移的情况下,分布式节点服务管理可以被配置为进入健康检查模式并周期地检查分布式计算系统的成员节点的状态。如果在这种健康检查中确定最初配置的成员节点是健康的,那么该处理器节点可被重新配置为自动恢复到优选的分布式节点服务管理系统配置。以这种方式,分布式节点服务管理可以表现出一定程度的自愈性。
图6示出根据本描述的分布式计算系统600的另一个例子。分布式计算系统600可以是以图2中的200指示的类型的分布式计算系统,或者可以是根据特定应用的另一种类型的分布式计算系统。
在该实施例中,分布式计算系统600具有三个集群计算装置:具有对等处理器节点604a、604b的集群602,具有对等处理器节点608a、608b的集群606,以及具有对等处理器节点612a、612b的集群610。另外,分布式计算系统600具有单个处理器节点计算装置:具有在该例子中缺少对等节点的处理器节点616的计算机614。应当理解,根据特定应用,分布式计算系统600可以具有更多或更少的集群、更多或更少的单个处理器节点计算装置、以及每个装置中更多或更少的处理器节点。
处理器节点604a、604b、608a、608b、612a、612b和616可以类似于例如图3中示出的处理器节点220,并且因此可以包括分布式节点服务管理的方面。然而,应当理解,处理器节点的软件和硬件配置可以根据特定应用而改变。
在示出的实施例中,分布式计算系统600的分布式节点服务管理可以被配置为例如在激活-备用模式中操作。因此,集群602的处理器节点604a例如可被配置为分布式节点服务管理的主激活节点。另外,集群602的处理器节点604b例如可被配置为分布式节点服务管理的第一备用节点。
另外,集群606的处理器节点608a例如可被配置为分布式节点服务管理的第二备用节点。另外,集群606的处理器节点608b例如可被配置为分布式节点服务管理的成员节点。在这个例子中,集群610的处理器节点612a、612b两者均被配置为了成员节点。类似地,计算机614的处理器节点616可被配置为成员节点。
分布式计算系统600还可以包括工作站634,工作站634例如在用户网络636上连接到计算装置602、606、610、614中的每一个。适合的管理器程序(诸如ProtecTIER Manager)例如可以运行在工作站634上,以便提供配置并且监视对计算装置602、606、610、614中的每一个的访问。另外,可以为计算装置602、606、610、614的处理器节点提供一个或多个键盘、视频和监视器(KVM)接口640,以便提供本地访问。可以通过适合的KVM交换机在计算装置602、606、610、614的一个或多个处理器节点之间共享KVM接口640。
在诸如集群602中发现的集群配置之类的集群配置中,两个处理器节点604a、604b都是激活的(“激活-激活”),以便提供对相同数据集的访问。类似地,集群606、610中的每一个的两个处理器节点是激活-激活的,以便提供对相同数据集的访问。可以使用内部网络650提供每个集群602、606、610的两个处理器节点之间的通信。
在示出的实施例中,分布式计算系统600的分布式节点服务管理缺少单独的服务控制台。而是,配置为分布式节点服务管理的主激活节点的集群602的处理器节点604a提供用于具有多个计算装置(诸如多个ProtecTIER系统)的分布式计算系统的中心服务点。每个计算装置602、606、610、614在内部网络660上具有连接,以便关于分布式节点服务管理彼此通信。配置为分布式节点服务管理系统的主激活节点的集群602的处理器节点604a具有连接到支持中心670的进入/外出连接664。可以在例如包括例如网络636、防火墙672和互联网674的宽带以太网连接上形成这种连接664。集群602的主激活节点604a和第一备用节点604b还可以具有一个或多个额外连接676,其可以是例如到支持中心670的调制解调器连接。在到除了节点604a之外的目标备用节点的故障转移的情况下,该目标备用节点可被配置为故障转移操作的一部分,以便具有与原始主激活节点604a的外出连接相似的外出连接664。
在示出的实施例中,分布式计算网络600的每个成员节点可以在数据结构(诸如图3的数据结构380)中保持分布式节点服务管理的处理器节点的配置信息的本地拷贝。因此,每个处理器节点通过参考它的处理器节点配置信息的本地拷贝,可以确定每个处理器节点作为主激活、备用、成员、对等成员等等的分配角色。
分布式节点服务管理的集群602的主激活节点604a有助于远程支持中心670到计算装置602、606、610、614的处理器节点的访问。相反地,主激活节点604a协调计算装置602、606、610、614向远程支持中心670转发错误或其它服务通知。例如,如果集群610的成员节点612b遇到错误,那么它可以产生错误通知(诸如“通报包”)并且将该通报包发送到主激活节点604a,主激活节点604a又将该通报包转发到远程支持中心670。另外,支持中心670的服务人员可以使用分布式节点服务管理的主激活节点604a提供的资源来登录计算装置602、606、610、614的处理器节点。
现在将描述用于说明根据本描述的一个实施例的分布式节点服务管理的各个方面的情景。该情景开始于集群610的成员节点612b遇到问题,并且在集群610的处理器节点612b的队列370中的外出请求队列中对“通报”请求进行排队。该通报请求是请求将错误或其它服务通知发送到服务中心670的消息。
集群610的成员节点612b将其排队的通报请求标记为“处理中”,并且通过网络660将该通报请求发送到主激活节点,在这个例子中,主激活节点是集群602的处理器节点604a。在该情景中,由于一些错误或其它状况,集群610的成员节点612b不能接收及时响应,而是集群610的成员节点612b等待来自集群602的主激活节点604a的响应超时。可通过适合的计时器或其它定时处理来设置超时期限。
在等待响应的超时期限过期之后,集群610的成员节点612b确定它是集群(集群610)的一部分、以及其对等节点(集群610的处理器节点612a)在线(是激活的)并且也是分布式计算系统600的成员节点。因此,在这个实施例中,集群610的成员节点612b使用适合的网络(诸如网络650或网络660)联系集群610的对等成员节点612a,以便通过将通报请求放入集群610的对等节点612a进入请求队列中来发送错误或其它服务通知。
作为响应,集群610的对等成员节点612a从其进入请求队列获得该通报请求消息,并且将其标记为处理中。另外,集群610的对等成员节点612a通过网络660将通报请求发送到集群602的主激活节点604a。集群602的主激活节点604a在其进入请求队列中接收该通报请求。
集群602的主激活节点604a从其进入请求队列中去除该通报请求消息,并且尝试通过网络636和外出连接664将与该通报请求消息相关联的通报包发送到服务中心670。在该情景中,集群602的主激活节点604a在它尝试通过网络636和外出连接664将通报包发送到服务中心670时失败。
因此,集群602的主激活节点604a使用适合的网络(诸如网络650或网络660)向集群610的对等成员节点612a发送失败消息,以指示它不能将通报错误通知消息发送到支持中心670。
响应于接收到的失败消息,集群610的对等成员节点612a从其进入请求队列中去除通报请求,并且向集群610的成员节点612b通知该失败。在示出的实施例中,集群610的对等成员节点612a通过更新通报请求消息中的标志并且将通报请求消息放入集群610的成员节点612b的进入请求队列中,将该失败通知集群610的成员节点612b。更新的标志向集群610的成员节点612b指示:集群610的对等成员节点612a可以与集群602的主激活节点604a通信,但是集群602的主激活节点604a不能将通报错误通知包发送到支持中心670。
响应于更新的标志,在示出的实施例中,集群610的成员节点612b基于由集群610的对等成员节点612a提供的更新的标志信息并且根据集群610的成员节点612b接收来自集群602的主激活节点604a的响应的初始失败,产生两个警告。在示出的实施例中,这些警告是:1)指示集群610的成员节点612b和集群602的主激活节点604a之间的链接无效(down)的警告,和2)指示集群602的主激活节点604a不能与外部支持中心670通信的警告。作为结果,支持中心670可以不仅解决导致原始通报请求的原始错误,而且解决上面描述并且在警告中提出的附属问题。
另外,集群610的成员节点612b检查其存储在成员节点612b处的分布式节点配置信息的本地拷贝,并且确定集群602的处理器节点604b已被配置为第一备用节点。虽然主激活节点604a和第一备用节点604b在该情景中处于相同集群602中,但是应当理解,可以选择在完全不同的集群中的处理器节点分别配置为主激活节点和第一备用节点。针对分布式计算系统的每个处理器节点的特定角色的选择可以根据若干因素而改变,所述因素包括例如用户的配置设置和处理器节点被添加到系统的顺序。
识别出集群602的处理器节点604b被配置为第一备用节点,集群610的成员节点612b向集群602的第一备用节点604b发送通报请求。作为响应,集群602的第一备用节点604b从其进入请求队列中去除该通报请求消息,并且尝试通过网络636和外出连接664向服务中心670发送通报消息。在该情景中,集群602的第一备用节点604b同样在尝试通过网络636和外出连接664向服务中心670发送通报消息时失败。
因此,集群602的第一备用节点604b通过网络660向集群610的成员节点612b发送失败消息。作为响应,集群610的成员节点612b产生再一个警告,以指示集群602的第一备用节点604b不能与外部支持中心670通信。另外,集群610的成员节点612b检查它的分布式计算系统配置信息的本地拷贝,并且确定集群606的处理器节点608a已被配置为下一个备用节点。
因此,集群610的成员节点612b将其外出消息队列中的通报请求标记为正去向集群606的第二备用节点608a,并且通过网络660将该通报请求发送到集群606的第二备用节点608a。作为响应,集群606的第二备用节点608a从其进入请求队列中去除该通报请求消息,并且尝试通过网络636和外出连接664向服务中心670发送通报消息。在该情景中,如通过进入连接664和网络636接收到来自服务中心的应答消息所指示的那样,集群606的第二备用节点608a成功地发送该消息。
响应于从服务中心670接收到应答消息,集群606的第二备用节点608a通过网络660向集群610的成员节点612b发送成功响应消息。响应于该成功响应消息,集群606的成员节点608a向分布式计算系统中的所有处理器节点广播主代理节点状态改变通知消息。另外,集群610的成员节点612b从其外出请求队列中去除通报请求。
响应于该主代理节点状态改变通知,每个处理器节点更新它的分布式节点服务管理配置信息的本地拷贝,以便指示集群606的第二备用节点608a现在是主激活节点。另外,一个或多个处理器节点可被配置为备用节点。
在替代实施例中,用户可以可选择地配置分布式节点服务管理,使得在成功到达远程支持中心失败的情况下,主激活节点尝试通过替代的连接(诸如调制解调器676)向支持中心发送通报包或其它服务通知。例如,可以在分布式节点服务管理使得备用节点承担服务代理的角色并且接管尝试向支持中心发送服务通知之前,进行主激活节点在替代的连接上的尝试。因此,在上面的情景中,集群602的主激活节点604a在尝试通过网络636和外出连接664向服务中心670发送通报包时失败之后,可以再次试着在调制解调器连接676上而不是在网络636和外出连接664上向服务中心670发送通报包。如果成功了,可以避免服务代理从主激活节点604a到备用节点的故障转移。然而,主激活节点604a可以发出警告,以指示通过网络636和外出连接664向服务中心670发送通报包失败。如果不成功,集群602的主激活节点604a通过网络660向集群610的对等成员节点612a发送失败消息,以指示它不能向支持中心670发送通报服务通知消息,这如上所述那样启动服务代理从主激活节点604a到备用节点的故障转移。
在上面描述的情景中,分布式节点服务管理被配置为了处于激活-备用模式中。在替代实施例中,分布式节点服务管理可被配置为处于激活-分布式备用模式中。在该替代情景中,与配置备用节点发送通报包相反,未成功请求主激活节点代表成员节点转发通报包的该成员节点可以自己直接向支持中心发送通报包或其它服务通知。例如,在集群610的成员节点612b未能接收到及时响应、而是集群610的成员节点612b等待来自集群的主激活节点604a的响应超时的上述情景中,与请求另一个备用节点(诸如集群602的第一备用节点604b)发送通报相反,集群610的成员节点612b可以直接向支持中心发送通报包。这种布置提供集中并且统一的服务代理点,只要主激活节点恰当地起作用即可。然而,如果主激活节点失败,那么激活-分布式备用模式提供在分布式节点服务管理的故障转移特性中的额外灵活性,以便应对不同的用户需要。
在再一个实施例中,分布式计算系统600的分布式节点服务管理可被配置为例如在服务聚集模式中操作。因此,在替代情景中,集群602的处理器节点604a例如可被再次配置为分布式节点服务管理的主激活节点。然而,在该替代情景中,集群602的处理器节点604b例如可被配置为成员节点而不是分布式节点服务管理的第一备用节点。
另外,集群606的处理器节点608a例如可被配置为分布式节点服务管理的主激活节点。另外,集群606的处理器节点608b例如可被配置为分布式节点服务管理的成员节点。在这个例子中,集群610的处理器节点612a、612b两者均被配置为了成员节点。类似地,计算机614的处理器节点616可被配置为成员节点。
在该替代情景中,集群610的成员节点612b遇到问题,并且将错误或其它服务通知放入队列,该通知包括包含要被转发到远程支持中心670的存储器内容更新的通报包,该存储器内容更新的大小为几百兆字节。另外,集群610的成员节点612b将其本地外出请求队列中的通报请求标记为正在进行中,并且通过网络660将该通报请求发送到集群602的主激活节点604a。
集群602的主激活节点604a与集群606的主激活节点608a协调,以便确定哪个处理器节点最适合为该通报请求服务并且将该通报包卸载即转发到服务中心。根据本描述的一个方面,在确定最适合执行到服务中心的消息卸载的处理器节点时可以考虑各种因素。在示出的实施例中,考虑的因素包括每个候选处理器节点在a)主机输入/输出活动、b)数据处理活动(诸如数据复制、重复数据删除、数据备份等等)、c)存储活动(包括盘和带活动)、以及d)进行中的其它服务代理相关任务(诸如远程访问、额外通报服务通知、队列深度等等)中的牵涉级别。在确定处理通报包的适当处理器节点时考虑的额外因素包括a)卸载的通报包的大小、b)卸载通报包的估计的时间或数据速率、以及c)候选处理器节点的CPU利用率。应当理解,根据特定应用,可以考虑其它因素。
在该替代情景中,在考虑上述因素之后,分布式节点服务管理确定集群606的主激活节点608a最适合处理通报服务通知卸载到远程支持中心。因此,集群602的主激活节点604a对于集群610的成员节点612b做出响应以表明该通报请求应当被路由到集群606的主激活节点608a。
作为响应,集群610的成员节点612b将该通报请求发送到集群606的主激活节点608a。为了防止对于相同通报服务通知的进一步协调并且防止两个主节点都表明另一个处理器节点应当处理该请求的乒乓效应,每个主节点通过检查协商标识信息来跟踪经协商/协调的请求。例如,当集群606的主激活节点608a接收到通报服务通知请求时,它检查与该请求相关联的协商标识信息,并且确定该请求已经经过协商并且主激活节点608a需要为该请求提供服务。因为主节点利用率可能是动态的并且随时间波动,所以可以在协商时根据主激活节点的相应利用率来选择不同的主激活节点。
响应于接收到通报请求,集群606的主激活节点608a从其进入请求队列中去除该消息,并且尝试通过网络636和外出连接664将该通报包发送到服务中心。在该情景中,集群606的主激活节点608a成功,并且通过进入连接664和网络636从服务中心得到成功应答消息。另外,集群606的主激活节点608a通过网络660向集群610的成员节点612b发送成功响应消息。作为响应,集群610的成员节点612b从其本地外出请求队列中去除通报请求。因此,可以实现一种推送(push)方法,其中主节点协调哪个处理器节点最适合为请求提供服务,以便在主节点失败的情况下有助于故障转移。
在再一个实施例中,可以配置分布式计算系统600的分布式节点服务管理以使分布式节点服务管理例如在健康检查模式中操作。因此,在替代情景中,健康检查模式可被配置为周期地被进入,以便检测与当前操作模式内的主激活、备用和成员的处理器节点角色有关的错误。
例如,按照健康检查模式,主激活节点可以周期地向分布式计算系统中的每个激活节点发送请求消息,以便确定它们的当前操作状态。如果主激活节点未从特定处理器节点得到对操作状态请求的响应,那么主激活节点可以检查它的本地数据结构360,并且检查分布式节点服务管理系统节点配置信息的本地拷贝,以便确定该主激活节点是否在集群中并具有在线的对等成员节点。如果确定主激活节点在集群中并且确实具有在线的对等成员节点,那么主激活节点向该集群的对等成员节点发送请求,以便确定未对操作状态请求给出响应的目标成员节点的健康。虽然上面结合主激活节点进行了描述,但是应当理解,在根据本描述的分布式节点服务管理系统中,用户可以配置分布式节点服务管理系统的任何节点以执行如上所述的系统的健康检查,同时每个节点继续提供数据处理功能以及其它分布式节点服务管理功能。
如果主激活节点的对等成员节点不能确定目标成员节点的健康,那么主激活节点检查它的分布式节点服务管理系统节点配置信息的本地拷贝,以便确定目标成员节点是否是集群的一部分,并且如果是,确定它是否具有在线的对等成员节点。如果目标成员节点是集群的一部分、并且目标成员节点的对等成员节点在线,那么主激活节点向目标成员节点的对等成员节点发送请求,以便通过该集群的对等节点之间的内部集群网络650或其它适合接口来确定目标成员节点的健康。
在一个实施例中,如果备用节点未从主激活节点接收到预期的操作状态请求消息,那么该备用节点可以假设主激活节点经历了失败,并且该备用节点可以承担主激活节点的服务代理角色。因为分布式节点服务管理中的处理器节点的特定拓扑可以包括多个备用节点,所以在一个实施例中,分布式节点服务管理可以被配置为使得主激活节点的服务代理角色将故障转移到第一备用节点。如果第一备用节点没有操作,那么分布式节点服务管理可被配置为故障转移到在操作的其它备用节点之一。在另一个实施例中,为了减少或消除过早的故障转移,容限或阈值级别可以被设置为使得不发生从主激活节点到备用节点的服务代理功能的故障转移,直到备用节点没有接收到的预期的操作状态请求的数目超过了阈值为止。
在本描述的另一个方面,分布式节点服务管理系统可被配置为指示在尝试与服务中心通信时遭遇失败的处理器节点周期地向服务中心发送测试消息。在从服务中心接收到成功响应时,可以将分布式节点服务管理系统状态广播到分布式计算系统中的所有处理器节点,以指示特定处理器节点现在能够成功地与远程服务中心通信。
在上面讨论的原始主激活节点604a和第一备用节点604b在尝试与远程服务中心通信时经历了失败的情景中,响应于给远程服务中心的测试消息随后从服务中心接收到成功响应时,分布式节点服务管理系统可被配置为恢复到使用原始主激活节点604a作为处理请求以便联系远程服务中心的第一启动点的原始配置,并且恢复到在遇到主激活节点604a处的另一个失败时使用第一备用节点604b。
类似地,分布式节点服务管理系统可被配置为指示在尝试与其它处理器节点通信时遭遇失败的处理器节点向其它处理器节点周期地发送测试消息。响应于给其它处理器节点的测试消息随后从其它处理器节点接收到成功响应时,分布式节点服务管理系统可被配置为恢复原始配置。
因此,可以认识到,在测试消息指示引发配置改变的问题的成功解决方案克服该问题的那些实施例中,根据本描述的分布式节点服务管理系统可以自动恢复到优选配置而无需用户干涉。另外,这种布置可以有助于识别和隔离特定的故障处理器节点、通信路径、软件实例和硬件组件。根据特定应用,在其它实施例中可以实现其它特征。
正如前面提到的那样,可以选择(图5的方框510)分布式节点服务管理的操作模式,例如,诸如激活-备用模式、激活-分布式备用模式、全分布式模式、服务聚集模式或健康检查模式。应当理解,根据特定应用,除了这些模式之外或取代此处明确描述的这些模式,还可以利用其它模式。
在一个实施例中,可由用户手动选择模式,或可以自动选择模式。在本描述的一个方面,分布式节点服务管理可以基于特定用户硬件和软件环境以及用户需求(如果有的话),提供分布式节点服务管理系统拓扑的动态和灵活配置。用户可以使用图形用户界面来选择和操作特定分布式节点服务管理操作模式(例如,激活-备用、激活-分布式备用、全分布式、聚集服务模式),并且给特定处理器节点(例如,主激活节点、备用(故障转移)节点等等)分配分布式节点服务管理角色,并且配置分布式节点服务管理系统以便提供分布式节点服务管理系统拓扑的自动创建。分布式节点服务管理拓扑的这种自动创建可以包括自动节点加入过程,其中处理器节点可被自动加入到分布式节点服务管理系统,并且根据选择的分布式节点服务管理模式被配置为分布式节点服务管理角色。
例如,对于特定分布式节点服务管理模式,可以基于各种因素给加入分布式节点服务管理系统的拓扑的处理器节点分配角色,所述因素包括预定义和可配置的用户偏好,其可能在处理器节点被添加到分布式节点服务管理系统时有助于"即插即用"类处理。其它因素包括分布式节点服务管理系统可以发现有助于"即插即用"类处理的硬件配置和网络连接。可替代地,当处理器节点被添加或重新配置时,分布式节点服务管理系统可以允许用户逐节点指定分布式节点服务管理角色。
在再一个方面,分布式节点服务管理系统可以根据特定应用允许以如下方式在分布式节点服务管理操作模式之间切换,所述方式对于正在进行的与分布式节点服务管理无关的数据处理功能可以是不能中断的,并且可以被配置为以自动方式切换操作模式。在又一个方面,分布式节点服务管理系统可以被配置为例如基于节点能力自动选择用于主激活角色的处理器节点。可以利用分布式节点服务管理系统基于对各种类型的分布计算应用的用户需要来配置不同的分布式节点服务管理操作模式,从而实现这种特征。
下面将描述建立根据本描述的一个实施例的分布式节点服务管理系统的一个示例。在该例子中,分布式节点服务管理系统的操作模式将包括主激活节点。在该例子中,主激活节点协调额外处理器节点被添加到分布式节点服务管理系统的节点加入处理。应当理解,在其它操作模式中,主激活节点可能不存在。在这种操作模式中,可以例如通过其它处理器节点(诸如分布式备用节点)协调节点加入处理,或例如由用户手动指示节点加入处理。
此外,描述处理器节点加入已有的分布式节点服务管理系统的例子。以下将描述根据本描述的分布式节点服务管理系统中的操作模式和节点角色之间的非中断、在线切换的例子。还将描述在节点失败的情况下自动重新分配备用节点冗余的分布式节点服务管理系统的例子。
正如前面提到的那样,可以手动或自动建立具有主激活节点的分布式节点服务管理系统。在手动设施中,服务分布式节点服务管理系统可以在图形用户界面中,例如,提示用户确认是否安装新的分布式节点服务管理系统,选择分布式节点服务管理系统操作模式(例如激活-备用),指示任意节点角色分配偏好(诸如,例如,保持最少33%的处理器节点作为备用角色中的节点),和指示在一些失败的情况下分布式节点服务管理系统是否将自动重新分配冗余。根据特定应用,可以手动选择或配置其它信息。例如,当处理器节点正被添加到分布式计算系统时,或当重新分配已有分布式节点服务管理系统的操作模式或重新分配分布式节点服务管理系统中的一个或多个处理器节点的角色时,可以发生这种用户提示。
可替代地,在安装根据本描述的分布式节点服务管理系统中的一些或所有部分期间,用户可以指示分布式节点服务管理系统完全自动化操作模式中分布式节点服务管理系统的建立、以及在该操作模式中处理器节点加入该分布式节点服务管理系统。例如,用户可以接受工厂默认的分布式节点服务管理系统设置,诸如例如默认设置,其将操作模式指定为例如激活-备用操作模式,保持至少例如25%的处理器节点操作于备用角色中,在某些失败的情况下自动重新分配节点冗余等等。
图7示出了用于以自动模式建立分布式节点服务管理系统的操作的例子。在一个操作中,操作分布式节点服务管理软件360的处理器节点根据适合的网络配置协议(诸如动态主机配置协议(DHCP))向为网络660上的计算装置提供网络寻址服务的服务器或其它主机发送(方框710)对网络地址(诸如网际协议(IP)地址)的请求。在示出的实施例中,由主激活节点在一些模式(诸如激活-备用操作模式)中提供网络地址分配功能。因此,如果在计时器超时(方框712)之前响应于对网络地址的请求接收到网络地址,则确定主激活节点已经存在并且可操作,以及分布式节点服务管理系统已经被建立。因此,处理器节点可以前进到用于加入已有的分布式节点服务管理系统的“加入”过程(方框714)。
另一方面,如果在计时器超时之前(方框712)响应于对网络地址的请求未接收到网络地址,则确定主激活节点还没有存在并且分布式节点服务管理系统还不是完全可操作的。因此,处理器节点可以前进到被配置为主激活节点,新的分布式节点服务管理系统的第一处理器节点。
因为提供网络地址分配功能的主激活节点尚未被建立,所以可以通过例如调用随机数产生器创建明确定义的网络地址的例如最后八位字节来为该处理器节点产生随机网络地址(方框716)。应当理解,根据特定应用,可以使用其它过程产生适合的网络地址。
还应当理解,在一些应用中,存在如下小的可能性:如果多于一个处理器节点正在执行建立过程,那么以自动模式建立分布式节点服务管理系统的该处理可能在网络600上产生重复的网络地址。因此,在建立过程中,进行检查(方框720)以便确定是否检测到重复的网络地址。如果检测到重复的网络地址,那么建立过程前进到纠正(方框722-732)重复的网络地址。
更具体地,纠正重复网络地址错误状况的过程被启动(方框722),其包括:对临时随机产生的重复网络地址取消赋值(方框724),增加(方框726)重试计数器,并允许建立过程在预先确定的时段内睡眠(方框728)。该睡眠时段允许例如在另一个处理器节点处于建立临时主节点的处理中的情况下处理网络660上的状况。
在醒来之后,建立过程检查(方框730)重试计数器,以便确定重试计数器是否超过阈值。如果超过阈值,那么确定已经有太多的重试尝试,并且建立过程前进到产生(方框732)错误警告,并且建立过程结束(方框733)。如果重试计数器未超过(方框730)重试阈值,那么建立过程返回以便再次发送(方框710)对网络地址的请求,从而确定是否在另一个处理器节点处建立了主激活节点。
因此,如果在计时器超时(方框712)之前响应于对网络地址的请求接收到网络地址,则确定主激活节点已经存在并且是可操作的,以及分布式节点服务管理系统已被建立。因此,处理器节点可以前进到用于加入已有的分布式节点服务管理系统的“加入”过程(方框714)。
另一方面,如果在计时器超时(方框712)之前响应于对网络地址的请求没有接收到网络地址,则确定主激活节点还没有存在,并且分布式节点服务管理系统尚未被建立。因此,可以再次产生随机网络地址(方框716),并且再次进行检查(方框720)以便确定是否检测到重复的网络地址。如果检测到重复的网络地址,那么建立过程再次前进到纠正(方框722-732)重复的网络地址。
如果确定(方框720)随机产生的网络地址不是重复的,那么处理器节点可以利用该随机产生的网络地址作为其网络地址,除非存在可能处于正被建立的过程中或者可能最近被建立了的另一个主激活节点。在示出的实施例中,在网络660上对于分布式节点服务管理系统的处理器节点保留一网络地址范围。为了确定另一个主激活节点是否已被建立为保留范围内的网络地址,在这个例子中,建立过程通过探测保留范围内的网络地址来测试(方框734)该地址。如果探测成功(方框736),被探测的网络地址可能属于已经建立的主激活节点。因此,如果探测成功,建立过程对当前处理器节点的随机网络地址取消复制(方框724),并且前进到请求(方框710)另一个网络地址。如果在计时器超时(方框712)之前响应于对网络地址的请求接收到网络地址,则确定主激活节点已经存在并且可操作,以及分布式节点服务管理系统已经被建立。
如果探测不成功(方框736),那么建立过程确定(方框738)在保留范围内是否存在要检查的额外地址。如果存在,建立过程选择(方框740)下一个地址并且探测(方框734)该地址。一旦已经测试了保留范围内的所有网络地址(方框734)而当前处理器节点没有接收到探测响应(方框736),就暂时确定分布式节点服务管理系统中没有其它主激活节点已被建立,并且当前处理器节点被暂时认为(方框742)是主激活节点。
为了确保另一个主激活节点在以前的探测检查(方框734)期间未处于正被建立的过程中,建立过程睡眠(方框744)以便提供用于处理网络660上的状况的额外时间。因此,在睡眠之后,建立过程通过探测保留范围内的定义好的网络地址再次测试(方框746),以便确定是否多个处理器节点可能已被指定为临时主激活节点。如果该测试(方框746)成功(方框748),那么做出关于响应的处理器节点是否是主激活节点(临时的或永久的)的确定(方框750)。如果该测试(方框746)不成功(方框748),或确定(方框750)响应的处理器节点不是主激活节点(临时的或永久的),那么做出关于保留范围内是否存在要检查的额外地址的确定(方框752)。如果存在,选择下一个网络地址(方框753),并且测试该下一个地址(方框746)。
一旦已经测试(方框746)了所有网络地址而没有发现(方框750)另一个主激活节点,当前处理器节点就承担(方框754)分布式节点服务管理系统中的主激活节点的角色,并且建立过程结束(方框733)。作为其作为主激活节点的角色的一部分,当前处理器节点成为网络地址分配服务器,例如,诸如DHCP服务器。
另一方面,如果测试(方框746)成功(方框748),并且确定(方框750)响应的处理器节点是主激活节点(临时的或永久的),那么仅有临时主激活节点中的一个将保持其作为主激活节点的角色。在示出的实施例中,按照相应网络地址选择存留的临时主激活节点。在示出的实施例中,具有较高网络地址的临时主激活节点保持其作为主激活节点的角色。因此,做出关于响应探测请求的主激活节点的网络地址是否高于当前处理器节点的网络地址的确定(方框760)。如果响应探测请求的主激活节点的网络地址高于当前处理器节点的网络地址,那么建立过程对当前处理器节点的随机网络地址的分配取消赋值(方框724),并且前进到从其它主激活节点请求(方框710)网络地址。应当理解,可以使用其它技术确保保持单个主激活节点。
一旦建立了分布式节点服务管理系统,候选处理器节点就可以加入(方框714)该分布式节点服务管理系统。在一个示例中,具有已有的分布式节点服务管理系统的分布式计算系统600(图6)包括具有处理器节点604a、604b的集群602,处理器节点604a、604b可以是例如ProtecTIER DD4网关。第二集群606具有处理器节点608a和处理器节点608b。在这个例子中,集群602的处理器节点604a已通过上面讨论的建立过程被建立为了主激活节点。另外,集群606的处理器节点608a以备用服务节点的角色加入了该分布式节点服务管理系统。这在图2中被示出。
在示出的实施例中,如图8所示,进入或离开分布式节点服务管理系统的处理器节点可被视为具有四个状态的状态机。图8示出的四个分布式节点服务管理状态独立于特定处理器节点的数据处理状态。因此,处理器节点可以进入或离开图8示出的分布式节点服务管理状态,而不中断该处理器节点的数据处理功能。因此,在被指定为“离线”的第一状态810中,处理器节点离线,并且当前在分布式节点服务管理系统中不被激活。然而,在离线的分布式节点服务管理状态810中的处理器节点仍然可以完全在线并且可以操作以执行数据处理功能。在第二“待决”状态814中,处理器节点再次在分布式节点服务管理系统中不被激活,但是正尝试获得启动加入过程712(图7)的授权以便加入分布式节点服务管理系统。在示出的实施例中,启动加入过程的授权在此处被称为“加入锁”,使得在示出的实施例中每次仅有一个处理器节点被授予加入锁。应当理解,可以利用其它过程来管理处理器节点加入分布式节点服务管理。
在此处被称为“加入”状态的第三分布式节点服务管理状态820中,处理器节点当前正在加入过程712中加入分布式节点服务管理系统。如前面所述,在示出的实施例中,每次仅有一个处理器节点可以处于加入状态820。然而,应当理解,在其它应用中,根据特定应用,每次多于一个处理器节点可以加入。在被称为“激活”状态的第四状态824中,处理器节点是分布式节点服务管理系统中的激活的参与者。再次,因为图8示出的分布式节点服务管理状态独立于特定处理器节点的数据处理状态,所以处理器节点可以进入或离开图8示出的分布式节点服务管理状态,而不中断该处理器节点的数据处理功能。
在示出的实施例中,作为特定处理器节点的加电初始化处理(POI)的一部分,处理器节点在转变830中从离线状态810移动到待决状态814。因此,在图6的例子中,具有两个处理器节点(集群610的节点612a、集群610的处理器节点612b)的新集群610被添加到它们的分布式节点服务管理系统。在集群610的处理器节点612a加电初始化之后,集群610的处理器节点612a在分布式计算系统600的内部网络660上发送网络地址请求(诸如DHCP请求)。由主激活节点(集群602的主激活节点604a)回答该网络地址请求,该主激活节点也是DHCP服务器或其它适合的网络地址协议服务器,并且网络地址被分配给集群610的处理器节点612a。
接收到分配的网络地址之后,集群610的处理器节点612a根据加入过程714向主激活节点604a发送分布式节点服务管理系统加入锁请求,以便如此处下面描述的那样启动加入过程(图7的方框714)。如前面所述,在示出的实施例中,如果两个或更多处理器节点正在尝试同时加入分布式节点服务管理系统,那么每次仅有一个处理器节点可以从主激活节点获得加入锁。这个锁过程对自动化的加入处理建立控制,以便有助于提供与用户偏好一致的分布式节点服务管理系统分配。应当理解,在其它实施例中,根据特定应用,每次多于一个处理器节点可以加入分布式节点服务管理系统。
响应于该加入锁请求,集群602的主激活节点604a向处理器节点612a发送分布式节点服务管理系统加入锁授予(grant)。在收到加入锁授予之后,处理器节点612a在“锁授予”转变834中移动到加入状态820。在示出的实施例中,缺少锁授予的处理器节点不能进入加入状态820。在处理器节点612a遇到错误或阻止成功加入到分布式节点服务管理系统的其它状况的情况下,处理器节点612a在“加入失败事件”转变840中移动回到待决状态814。
错误状况的一个示例可以包括处理器节点612a发送了加入锁请求但是未能继而收到锁授予。在替代实施例中,在未能响应于加入锁请求接收到锁授予之后,分布式节点服务管理软件360可以引导集群610的处理器节点612a进入定时睡眠并且增加计数器。在处理器节点612a处将为分布式节点服务管理功能的悬置提供这种定时睡眠,从而使得处理器节点612a按照数据处理软件350的数据处理功能可以继续。
在从睡眠醒来之后,处理器节点612a可以向主激活节点604a发出另一个加入锁请求。如果处理器节点612a再次未能响应于加入锁请求接收到锁授予,那么集群610的处理器节点612a可以再次进入定时睡眠并且增加计数器。
如果失败尝试计数器超过了阈值(该阈值可以具有缺省值或可以由用户配置),那么处理器节点612a在分布式节点服务管理软件360的引导下可以启动锁接管处理,以便使来自保持加入锁的处理器节点的加入锁空闲。这种锁接管处理可以包括,例如,在一个实施例中,处理器节点612a尝试与包含该锁的处理器节点建立通信。例如,处理器节点612a可以向主激活节点604a查询占有加入锁的处理器节点的操作状态的状态。如果确定占有加入锁的处理器节点没有在操作,那么主激活节点604a可以释放由没有操作的处理器节点占有的加入锁,并且向处理器节点612a重新发出加入锁授予。
在加入状态820中,集群610的处理器节点612a向主激活节点604a发送加入分布式节点服务管理系统的请求。该请求可以包括节点说明信息(诸如,例如,标识正被集群610的处理器节点612a利用的软件版本的说明),以便帮助主激活节点604a确定是否应当允许处理器节点612a加入该分布式节点服务管理系统。
响应于接收到加入请求,集群602的主激活节点604a审阅在加入请求中提供的节点软件说明,比较处理器节点612a的这些说明和已经加入分布式节点服务管理系统的其它处理器节点的说明,并且确定是否批准处理器节点612a的软件操作为分布式节点服务管理系统中的处理器节点。如果批准,主激活节点604a在给处理器节点612a的软件说明确认应答消息中确认对处理器节点612a的软件说明的批准。
如果集群610的处理器节点612a未能接收到批准处理器节点612a的软件说明的软件说明确认应答消息,那么在一个实施例中,处理器节点612a可以产生错误状况警告,以向分布式节点服务管理系统的用户指示存在阻止处理器节点612a加入分布式节点服务管理系统的软件或代码版本差异。因此,通过恰当地升级或降级处理器节点处的软件版本,用户可以解决代码版本差异,从而允许处理器节点612a加入分布式节点服务管理系统。
在等待清除错误状况的同时,集群610的处理器节点612a可以向集群602的主激活节点604a发送锁释放请求,这释放分布式节点服务管理系统加入锁,从而允许待决状态814中的另一个处理器节点请求加入锁以便启动加入分布式节点服务管理系统的处理。另外,集群602的主激活节点604a向集群610的处理器节点612a发送锁释放确认。作为响应,处理器节点612a在"加入失败"转变840中恢复到待决状态814。
一旦处理器节点加入了分布式节点服务管理系统,就可由分布式节点服务管理系统的每个处理器节点在其本地数据结构380(图3)中保持软件说明的持久拷贝。因此,如果特定处理器节点将离开分布式节点服务管理系统并且进入离线状态810,那么主激活节点仍然可以使用该离线处理器节点的软件说明,以便比较以后加入该分布式节点服务管理系统的处理器节点的软件说明。因此,当离线处理器节点寻求回到分布式节点服务管理系统时,如下具有很小可能性:存在阻止其返回的不兼容的软件说明问题。
响应于来自主激活节点604a的软件说明确认应答消息,寻求加入分布式节点服务管理系统的集群610的处理器节点612a可以发送另一个加入请求消息,其可以包括额外节点说明信息,诸如,例如标识硬件版本的说明。这种硬件说明可以包括例如集群610的处理器节点612a利用的机器类型和序列号,以便帮助主激活节点604a确定是否应当允许处理器节点612a加入分布式节点服务管理系统。
响应于接收到第二个加入请求,集群602的主激活节点604a审阅在硬件说明加入请求中提供的节点硬件说明,比较处理器节点612a的这些硬件说明和已经加入分布式节点服务管理系统的其它处理器节点的硬件说明,并且确定是否批准处理器节点612a的硬件操作为分布式节点服务管理系统中的处理器节点。如果批准,主激活节点604a在给处理器节点612a的硬件说明确认应答消息中确认对处理器节点612a的硬件说明的批准。该硬件说明确认应答消息批准处理器节点612a加入该分布式节点服务管理系统,并且包括关于该分布式节点服务管理系统的各种信息,包括例如当前分布式节点服务管理模式(诸如激活-备用)。
该确认应答消息还标识在分布式节点服务管理系统内处理器节点612a将执行的角色。可以使用各种技术来选择处理器节点612a在分布式节点服务管理模式内的角色。例如,用户可能配置了用于分布式节点服务管理系统中的角色分配的预先定义的规则。例如,分布式节点服务管理系统可被配置为将执行选择的角色的处理器节点的数目指定为达到或超过某些百分数。因此,在一种情景中,分布式节点服务管理系统可以被配置为指定分布式节点服务管理系统中例如至少20%的处理器节点为备用节点。一旦达到了至少20%的目标,新加入该分布式节点服务管理的处理器节点就可被分配为其它角色。
因此,在执行加入过程714中,主激活节点可以确定在分布式节点服务管理系统中已经存在例如四个处理器节点,并且它们中的一个已经是备用节点,使得25%的处理器节点是备用节点。因此,已经实现了20%的处理器节点处于备用角色的目标。因此,当下一个处理器节点(这个例子中的处理器节点612a)寻求加入分布式节点服务管理系统时,管理加入过程的主激活节点可以给新的集群610的处理器节点612a分配成员节点的角色。在处理器节点612a作为成员节点而不是备用节点加入之后,保持满足20%的处理器节点处于备用角色(即,五分之一是备用)的限制。
继续在这种情景中,如果加入的下一个处理器节点是集群610的处理器节点612b、而集群610的处理器节点612a已经如上所述作为成员节点加入了分布式节点服务管理系统,那么管理加入过程的主激活节点可以将集群610的处理器节点612b(或另一个已有的处理器节点)指定为备用节点,以便继续满足至少20%的处理器节点为备用节点的目标(六分之二的处理器节点(即,33%)是备用节点)。可以基于用于备用角色的优选处理器节点特性(例如,诸如宽带连接而不是调制解调器连接),来选择被指定为备用角色的处理器节点。如果另一方面,管理加入过程的主激活节点已经将集群610的处理器节点612b指定为成员节点、并且没有已有的处理器节点被重新配置为备用节点,那么因为仅有六分之一(17%)会是备用节点,所以将不满足至少20%的处理器节点是备用节点的目标。
用于在分布式节点服务管理系统中配置角色分配的技术的另一个例子是规定每个集群中的一个处理器节点将被分配备用节点的角色。因此,在集群610的处理器节点612a被分配成员节点的角色的上述情景中,相同集群610的处理器节点612b将被分配备用节点的角色。
用于在分布式节点服务管理系统中配置角色分配的技术的另一个例子是规定可以按照处理器节点的硬件或软件说明以及处理器节点的网络连接来给处理器节点分配角色。例如,在一个实施例中,主激活节点可以确定加入分布式节点服务管理系统的处理器节点是否具有可选择的调制解调器,并且如果具有,那么自动给具有这种调制解调器的处理器节点分配备用角色。
用于在分布式节点服务管理系统中配置角色分配的技术的再一个例子是给用户提供为各个处理器节点指定特定角色的机会,处理器节点在加入分布式节点服务管理系统时将被分配该特定角色。这种选项可以提供额外的灵活性,并且允许用户设置服务分布式节点服务管理系统中的错误恢复和冗余的定制级别。
如前面所述,硬件说明确认应答消息批准处理器节点612a加入分布式节点服务管理系统,并且包括各种关于该分布式节点服务管理系统的信息,所述信息包括分布式节点服务管理模式,例如,诸如激活-备用。可以包括在该确认应答消息中的另一种信息是用户信息,诸如企业公司名称、机器位置、联系人信息等等。
确认应答消息还可以包括网络信息,诸如分布式节点服务管理系统的网络660中的每个处理器节点的网络地址。另外,该确认应答消息还可以标识分布式节点服务管理系统中的每个处理器节点的角色。因此,在上述情景中,确认应答消息可以向处理器节点612a指出主激活节点是集群602的处理器节点604a、第一备用节点是集群602的处理器节点604b、第二备用节点是集群606备用的处理器节点608a、以及集群606的处理器节点608b是成员节点。
在收到向集群610的处理器节点612a通知分布式节点服务管理系统的信息的确认应答消息之后,处理器节点612a在其数据结构320中填充其本地拷贝,并且配置分布式节点服务管理软件360以便在当前操作于分布式计算系统600的分布式节点服务管理中的相同的分布式节点服务管理模式中运行。以这种方式,处理器节点612a在“加入成功”转变844中移动到激活状态,其中在完成配置处理之后,处理器节点612a用作分布式节点服务管理系统的激活节点。
因此,如果分布式节点服务管理系统被配置为在激活备用模式中操作,并且处理器节点612a被选择为操作于该分布式节点服务管理系统内的备用角色,那么处理器节点612a的分布式节点服务管理软件360被配置为向主激活节点604a发送在处理器节点612a处发生的服务事件的通知。另外,处理器节点612a还被配置为在从主激活节点进行故障转移的情况下,向分布式节点服务管理系统的一个或多个备用节点发送这种事件。
如果分布式节点服务管理系统被配置为操作于全分布式模式,那么处理器节点612a的分布式节点服务管理软件360被配置为直接向远程支持中心发送涉及处理器节点612a的服务事件的通知。可替代地,如果分布式节点服务管理系统被配置为操作于激活分布式备用模式,那么处理器节点612a的分布式节点服务管理软件360被配置为向主激活节点604a发送涉及处理器节点612a的服务事件的通知。另外,处理器节点612a还被配置为在主激活节点失败的情况下直接向远程支持中心发送这种事件。如果分布式节点服务管理系统被配置为操作于服务聚集模式,那么处理器节点612a的分布式节点服务管理软件360被配置为向主激活节点中的一个发送事件。
在示出的实施例中,在配置分布式节点服务管理软件360以便在分配给处理器节点612a的分布式节点服务管理角色中操作处理器节点612a时,处理器节点612a产生测试“通报”通知,以便测试成功的“通报”消息是否可被传输到远程服务中心(诸如远程服务中心670)。如果分布式计算系统600的分布式节点服务管理系统被配置为了操作于具有主激活节点的模式,那么处理器节点612a向主激活节点(诸如在这个例子中的处理器节点604a)发送测试通报通知,以便由主激活节点转发到远程服务中心。
因此,集群602的主激活节点604a向远程支持中心发送测试通报通知。响应于接收到测试通报通知,远程支持中心向集群602的主激活节点604a发回确认消息。集群602的主激活节点604a又向集群610的发起处理器节点612a转发确认消息。
在收到指示处理器节点612a已经成功地加入分布式节点服务管理系统并且已经成功地通过主激活节点604a联系远程服务中心的确认消息之后,集群610的处理器节点612a向集群602的主激活节点604a发送锁释放请求,其释放分布式节点服务管理系统加入锁,从而允许待决状态814中的另一个处理器节点请求加入锁,以便启动加入分布式节点服务管理系统的处理。另外,集群602的主激活节点604a向分布式计算系统600的分布式节点服务管理系统中的所有处理器节点广播拓扑状态改变通知。该拓扑状态改变通知引导分布式节点服务管理系统中的每个处理器节点更新它们的本地数据结构380,以便包括新加入的处理器节点612a的上述软件说明、硬件说明以及操作角色。另外,集群602的主激活节点604a向集群610的处理器节点612a发送锁释放确认。
在处于待决状态814、加入状态820或激活状态824之一中时处理器节点612a需要提供服务(或经历未预期的错误)的情况下,该处理器节点在"服务模式/未预期错误"转变850中移动回到离线状态810。在替代实施例中,在处理器节点612a未能接收到锁释放确认的情况下,在一个实施例中,处理器节点612a可以恢复到待决状态814,并且抑制加入分布式节点服务管理系统的进一步尝试,直到错误状况被清除。
类似地,在另一个实施例中,如果处理器节点612a在上面所述的加入处理过程期间未能接收到来自主激活节点604a的预期响应(诸如对加入锁请求的响应、软件或硬件说明确认应答消息、测试通报确认消息、或锁释放确认消息),那么分布式节点服务管理软件360可以引导集群610的处理器节点612a进入定时睡眠并且增加计数器。这种定时睡眠将提供用于分布式节点服务管理功能的挂起,以使得处理器节点612a按照数据处理软件350的数据处理功能可以继续。
在从睡眠中醒来之后,处理器节点612a的分布式节点服务管理功能可以向主激活节点604a发出另一个请求。如果处理器节点612a再次未能接收到预期响应,那么集群610的处理器节点612a可以再次进入定时睡眠并且增加计数器。
如果失败尝试计数器超过阈值(该阈值可能具有默认值或可由用户配置),那么在分布式节点服务管理软件360的引导下,处理器节点612a可以公布错误,以指示它不能加入分布式节点服务管理系统、并且抑制加入服务分布式节点服务管理系统的进一步尝试。处理器节点612a可以抑制加入分布式节点服务管理系统的进一步尝试,直到错误状况被清除为止。
在等待清除错误状况的同时,集群610的处理器节点612a可以向集群602的主激活节点604a发送锁释放请求,其释放分布式节点服务管理系统加入锁,从而允许待决状态814中的另一个处理器节点请求加入锁,以便启动加入分布式节点服务管理系统的处理。另外,集群602的主激活节点604a向集群610的处理器节点612a发送锁释放确认。作为响应,处理器节点612a在"加入失败"转变840中恢复到待决状态814。
在缺少主激活节点的那些分布式节点服务管理模式中,处理器节点612a可以直接向远程支持中心发送测试通报通知,并且直接从远程支持中心接收确认。另外,处理器节点612a可以向分布式计算系统600的分布式节点服务管理系统中的所有处理器节点广播拓扑状态改变通知。以这种方式,可以引导分布式节点服务管理系统的每个处理器节点更新它们的本地数据结构380,以便包括新加入的处理器节点612a的上述软件说明、硬件说明以及操作角色。
根据本描述的另一个方面,用户可以指示分布式节点服务管理系统从服务分布式节点服务管理系统中去除特定处理器节点。作为响应,主激活节点更新分布式节点服务管理系统拓扑,以便指示该特定处理器节点的去除。另外,主激活节点向分布式节点服务管理系统中的剩余处理器节点广播消息,以指示剩余处理器节点更新保持在它们的本地数据结构380中的分布式节点服务管理系统拓扑信息。在示出的实施例中,在上述处理器节点加入分布式节点服务管理系统的协商期间,不再出于比较目的使用从系统中被去除的处理器节点的硬件和软件说明的拷贝。另外,如果用户选择使得能够实现服务冗余的自动重新分配,那么如下面解释的,根据需要可以为主激活节点重新分配处理器节点角色。
在本描述的另一个方面,分布式节点服务管理系统允许用户重新分配处理器节点角色并且以非中断的在线方式切换分布式节点服务管理系统模式。例如,用户可以在从激活备用操作模式到全分布式操作模式操作分布式节点服务管理系统之间进行切换。在一个实施例中,这种操作模式改变可以包括指示分布式节点服务管理系统的每一个处理器节点在“拓扑改变”转变860中将状态从激活状态824改变到待决状态814。一旦在待决状态814中,每个处理器节点就将启动从分布式节点服务管理系统加入锁请求开始的上面讨论的加入过程714。因此,根据选择的分布式节点服务管理模式给每个处理器节点分配分布式节点服务管理角色。另外,在加入分布式节点服务管理系统中的每个处理器节点学习并且记录新的分布式节点服务管理系统拓扑。因为图8示出的分布式节点服务管理状态独立于特定处理器节点的数据处理功能,所以处理器节点可以进入或离开图8示出的分布式节点服务管理状态而不中断该处理器节点的数据处理功能。因此,任意处理器节点的分布式节点服务管理角色同样地独立于特定处理器节点的数据处理角色,并且任意处理器节点的分布式节点服务管理角色可被容易地配置或重新配置,而不中断该处理器节点的数据处理功能。类似地,处理器节点的分布式节点服务管理操作模式同样地独立于该处理器节点的数据处理操作,并且处理器节点的分布式节点服务管理操作模式可被容易地配置或重新配置,而不中断该处理器节点的数据处理功能。另外,分布式节点服务管理的任意数目的处理器节点可被配置或重新配置为健康检查节点,所述健康检查节点在分布式节点服务管理中在健康检查模式中执行,而不中断进入或离开健康检查模式的处理器节点正在执行的数据处理功能。
在本描述的另一个方面,用户还可以配置分布式节点服务管理系统,以使得分布式节点服务管理软件360能够根据处理器节点能力为特定分布式节点服务管理角色自动选择处理器节点。例如,如果当前主激活节点是具有单个四核处理器的计算装置,并且具有更强大能力的另一个计算装置(诸如具有四个八核处理器的计算装置)加入分布式节点服务管理系统,那么分布式节点服务管理软件360可以被配置为检测这种情况,并且将主激活角色从原始处理器节点重新分配到该更有能力的处理器节点。
在另一个例子中,当前主激活节点可以是通过调制解调器与远程支持中心通信的计算装置。当新处理器节点加入分布式节点服务管理系统、并且该新处理器节点具有与远程支持中心进行宽带通信的能力时,分布式节点服务管理软件可以被配置为检测这种情况,并且将主激活角色从具有调制解调器通信的原始处理器节点重新分配到具有宽带通信能力的更有能力的处理器节点。
在本描述的另一个方面,如果分布式节点服务管理系统的处理器节点遇到失败或是以其它方式离开分布式节点服务管理系统,那么可由用户配置该分布式节点服务管理系统,以便自动识别保留在分布式节点服务管理中的处理器节点,并且在需要时在分布式节点服务管理系统的剩余处理器节点之间重新分配分布式节点服务管理角色。例如,在处理器节点执行其在分布式节点服务管理系统内的功能时失败之后,或在处理器节点从分布式节点服务管理系统中退出之后,分布式节点服务管理系统可以指示分布式节点服务管理系统的每一个剩余处理器节点在"拓扑改变"转变860中将状态从激活状态824改变到待决状态814。一旦在待决状态814中,每个处理器节点就将启动从分布式节点服务管理系统加入锁请求开始的上面讨论的加入过程714。因此,根据选择的分布式节点服务管理模式给每个处理器节点重新分配分布式节点服务管理角色,并且将由遇到了错误或退出了分布式节点服务管理系统的原始处理器节点空出的分布式节点服务管理角色提供给替代处理器节点,以便恢复选择的冗余级别。另外,在加入分布式节点服务管理系统中的每个处理器节点学习并且记录新的分布式节点服务管理系统拓扑。以这种方式,响应于分布式节点服务管理角色中的冗余损失,可以自动重新配置分布式计算系统的处理器节点,以便按照选择的操作模式在分布式节点服务管理角色的不同分配中执行分布式节点服务管理,并且恢复分布式节点服务管理角色中的冗余。
额外实施例细节
描述的操作可通过使用标准编程和/或工程技术产生软件、固件、硬件或其任意组合而被实现为的方法、设备或计算机程序产品。因此,这些实施例的方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等等)、或者此处可被一般地称为"电路"、"模块"或"系统"的合并软件和硬件方面的实施例的形式。另外,这些实施例的方面可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,所述计算机可读介质在其上包含有计算机可读程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、专用集成电路(ASIC)、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
上面参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他装置以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
计算机程序指令还可被装载到计算机其它可编程数据处理装置或其它装置上,以便使得在计算机、其它可编程装置或其它装置上执行一系列操作步骤,以便产生以计算机实现的处理,从而在计算机或其它可编程装置上执行的指令提供用于实现流程图和/或方框图方框或多个方框中指定的功能/动作的处理。
变量“a”和“b”当用于表示元件的可变数目时,可以指示该元件的实例的任意数目,并且当与不同元件一起使用时或当与相同元件的不同实例一起使用时,可以指示不同的整数数目。例如,用于指示若干源存储和目标存储的变量“a”和“b”可以指示相同或不同数目的这些元件。
除非明确地另外说明,术语“一个实施例”、“实施例”、“多个实施例”、“该实施例”、“这些实施例”、“一个或多个实施例”、“一些实施例”和“一种实施例”的含义是“本发明的一个或多个(但是不是所有)实施例”。
除非明确地另外说明,术语“包括”、“包含”、“具有”以及它们的变体的含义是“包括但不限于”。
除非明确地另外说明,列举的项目列表不暗示着任意或所有项目是互斥的。
除非明确地另外说明,术语“一”、“一个”和“该”的含义是“一个或多个”。
除非明确地另外说明,彼此通信的装置不必彼此连续通信。另外,彼此通信的装置可以直接通信或通过一个或多个中间装置间接通信。
对具有彼此通信的几个组件的实施例的描述不暗示所有这些组件都是需要的。相反,描述了各种可选择的组件,以便示出本发明的种种可能的实施例。
另外,虽然可以用顺序的次序描述处理步骤、方法步骤、算法等等,这些处理、方法和算法可被配置为以交替的顺序工作。换言之,可能被描述的任意步骤序列或顺序不必然指示以该顺序执行这些步骤的要求。此处描述的处理步骤可被以任意实际顺序执行。另外,一些步骤可被同时执行。
当此处描述单个装置或制品时,将容易理解可以使用多于一个装置/制品(不论它们是否结合在一起)取代单个装置/制品。类似地,在此处描述多于一个装置或制品(不论它们是否结合在一起)的情况下,将容易理解可以使用单个装置/制品取代多于一个装置或制品,或可以使用不同数目的装置/制品而不是所示数目的装置或程序。装置的功能和/或特征可被可替代地以未被明确地描述为具有这种功能/特征的一个或多个其它装置具体实现。因此,本发明的其它实施例不必包括该装置本身。
图4、5、7、8的示出的操作示出了以某一顺序发生的某些事件。在替代实施例中,某些操作可以不同顺序被执行、修改或去除。另外,可以给上面描述的逻辑添加步骤,并且仍然符合描述的实施例。另外,此处描述的操作可以顺序地发生,或某些操作可以被并行处理。另外,可由单个处理单元或分布式处理单元执行操作。
已经出于说明和描述的目的给出了对本发明的各种实施例的前面的描述。其不旨在是穷尽的或将本发明限制为公开的精确形式。根据上述教导可以有许多修改和变化。不旨在将本发明的范围局限于该详细说明书,而是由所附的权利要求限制本发明的范围。上面的说明、例子和数据提供了对本发明的组成的制造和使用的完整描述。因为可以进行本发明的许多实施例而不脱离本发明的精神和范围,所述本发明存在于所附的权利要求中。

Claims (38)

1.一种方法,包括:
在具有多个处理器节点的分布式计算系统中在所述多个处理器节点中的每一个处执行数据处理功能;
对于所述分布式计算系统中的所述多个处理器节点中的每一个,从在分布式节点服务管理系统中能够使用的多个分布式节点服务管理操作角色中选择分布式节点服务管理操作角色;和
在所述多个处理器节点中的每一个处执行分布式节点服务管理,其中在每个处理器节点处在为特定处理器节点选择的分布式节点服务管理角色中执行所述分布式节点服务管理,并且所述分布式节点服务管理包括对服务请求进行处理以为分布式计算系统的处理器节点提供服务。
2.如权利要求1所述的方法,其中所述分布式节点服务管理在所述多个处理器节点中的第一处理器节点处,在为所述第一处理器节点选择的主分布式节点服务管理角色中被执行,其中主分布式节点服务管理角色包括:从所述多个处理器节点中的第二处理器节点接收服务请求,并且代表第二处理器节点将该服务请求转发到用于为分布式计算系统的第二处理器节点提供服务的远程服务中心。
3.如权利要求2所述的方法,其中所述分布式节点服务管理在所述多个处理器节点中的所述第二处理器节点处,在为所述第二处理器节点选择的成员分布式节点服务管理角色中被执行,其中成员分布式节点服务管理角色包括:代表第二处理器节点产生服务请求,并且将该服务请求发送到第一处理器节点以便转发到远程服务中心,其中该服务请求是响应于第二处理器节点处的服务状况而产生的,并且包括第二处理器节点处的服务状况的服务通知。
4.如权利要求1所述的方法,其中所述分布式计算系统中的多个处理器节点中的每一个处的所述数据处理功能包括数据备份功能,所述数据备份功能包括在主机和数据存储之间传送数据。
5.如权利要求3所述的方法,其中所述分布式节点服务管理在所述多个处理器节点中的第三处理器节点处,在为所述第三处理器节点选择的备用分布式节点服务管理角色中被执行,其中备用分布式节点服务管理角色包括:在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理功能时失败的情况下,将为所述第三处理器节点选择的分布式节点服务管理角色从所述备用分布式节点服务管理角色改变为所述主分布式节点服务管理角色,使得在第三处理器节点处而不是在第一处理器节点处执行主分布式节点服务管理角色中的分布式节点服务管理功能。
6.如权利要求5所述的方法,其中在所述第二处理器节点处执行的成员分布式节点服务管理角色包括:在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理服务请求转发功能时失败的情况下,将该服务请求发送到第三处理器节点,以便在第三处理器节点的所述主分布式节点服务管理角色中转发到远程服务中心。
7.如权利要求3所述的方法,其中所述分布式节点服务管理在所述多个处理器节点中的多个额外处理器节点处,在为每个额外处理器节点选择的分布式-备用分布式节点服务管理角色中被执行,其中分布式-备用分布式节点服务管理角色包括:在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理功能时失败的情况下,对于所述多个处理器节点中的每个特定处理器节点,在每个特定处理器节点处而不是在第一处理器节点处代表该特定处理器节点执行分布式节点服务管理功能。
8.如权利要求7所述的方法,其中在所述多个额外处理器节点中的每一个处执行的分布式-备用分布式节点服务管理角色包括:对于所述多个处理器节点中的每个特定处理器节点,在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理服务请求转发功能时失败的情况下,代表所述多个额外处理器节点中的该特定处理器节点将服务请求发送到远程服务中心。
9.如权利要求1所述的方法,其中在所述多个处理器节点中的每一个处执行的分布式节点服务管理角色包括:对于所述多个处理器节点中的每个特定处理器节点,代表该特定处理器节点产生服务请求,并且将该服务请求发送到用于为分布式计算系统提供服务的服务中心,其中该服务请求是响应于该特定处理器节点处的服务状况而产生的,并且包括该特定处理器节点处的服务状况的服务通知。
10.如权利要求1所述的方法,其中所述分布式节点服务管理在所述多个处理器节点中的第三处理器节点处,在为所述第三处理器节点选择的主分布式节点服务管理角色中被执行,其中主分布式节点服务管理角色包括:从所述多个处理器节点中的第四处理器节点接收服务请求,并且代表第四处理器节点将该服务请求转发到用于为分布式计算系统提供服务的远程服务中心。
11.如权利要求10所述的方法,其中在所述第一处理器节点和第三处理器节点处在主分布式节点服务管理角色中执行的所述分布式节点服务管理包括:在所述第一处理器节点和第三处理器节点之间平衡主分布式节点服务管理角色中的分布式节点服务管理工作负载。
12.如权利要求11所述的方法,其中在所述第一处理器节点和第三处理器节点处在主分布式节点服务管理角色中执行的所述分布式节点服务管理包括:在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理功能时失败的情况下,承担来自所述第一处理器节点的分布式节点服务管理功能,使得在第三处理器节点处而不是在第一处理器节点处在主分布式节点服务管理角色中执行所承担的分布式节点服务管理功能。
13.如权利要求1所述的方法,其中所述服务请求包括如下之一:服务通知,服务中心对所述多个处理器节点中的处理器节点的远程访问的请求,本地用户对所述多个处理器节点中的处理器节点的本地访问的请求,以及处理器节点健康状态请求。
14.如权利要求5所述的方法,其中所述第一处理器节点处的主分布式节点服务管理角色中的分布式节点服务管理功能还包括如下至少一项:为所述服务中心提供对所述分布式计算系统的其它处理器节点的远程访问,为用户提供对所述分布式计算系统的其它处理器节点的本地访问,以及监视所述分布式计算系统的其它处理器节点的健康。
15.如权利要求3所述的方法,其中在所述多个处理器节点中的第三处理器节点处,也在为所述第三处理器节点选择的成员分布式节点服务管理角色中执行所述分布式节点服务管理,其中所述第一处理器节点和第二处理器节点均是集群中的对等节点,其中第三处理器节点的成员分布式节点服务管理角色包括:在第一处理器节点未能响应由第二处理器节点发送的服务请求的情况下,代表第二处理器节点向第一处理器节点重新发送该服务请求以便转发到远程服务中心,其中在所述多个处理器节点中的第四处理器节点处,在为所述第四处理器节点选择的备用分布式节点服务管理角色中执行所述分布式节点服务管理,其中备用分布式节点服务管理角色包括:在第一处理器节点未能响应由第三处理器节点代表第二处理器节点发送的服务请求的情况下,将为所述第四处理器节点选择的分布式节点服务管理角色从所述备用分布式节点服务管理角色改变为所述主分布式节点服务管理角色,使得在第四处理器节点处而不是在第一处理器节点处执行主分布式节点服务管理角色中的分布式节点服务管理功能。
16.如权利要求1所述的方法,其中在所述多个处理器节点中的处理器节点处,在如下分布式节点服务管理角色中执行所述分布式节点服务管理,该分布式节点服务管理角色包括用于检测与分布式计算系统的其它处理器节点的分布式节点服务管理操作有关的错误的健康检查功能,其中所述健康检查功能包括向分布式计算系统中的每个节点发送请求消息以便确定它们的当前操作状态,以及其中所述分布式计算系统中的所述多个处理器节点中的任何处理器节点能够被选择来在包括所述健康检查功能的分布式节点服务管理角色中执行分布式节点服务管理。
17.如权利要求5所述的方法,其中分布式节点服务管理还包括:自动重新配置第一处理器节点处的分布式节点服务管理角色,以便恢复到在第一处理器节点处执行的分布式节点服务管理再次处于主分布式节点服务管理角色中的以前配置,使得其它处理器节点选择第一处理器节点处理服务通知以便联系远程服务中心,以及其中分布式节点服务管理还包括:自动重新配置第三处理器节点处的分布式节点服务管理角色,以便恢复到在第三处理器节点处执行的分布式节点服务管理再次处于备用分布式节点服务管理角色中的所述以前配置。
18.如权利要求6所述的方法,其中响应于为所述第三处理器节点选择的分布式节点服务管理角色从所述备用分布式节点服务管理角色到所述主分布式节点服务管理角色的改变,在所述主分布式节点服务管理角色中的第三处理器节点处的分布式节点服务管理还包括:向分布式计算系统中的其它处理器节点广播分布式节点服务管理系统状态消息,以指示主分布式节点服务管理角色中的分布式节点服务管理功能正在第三处理器节点处而不是在第一处理器节点处被执行,以及其中响应于该状态消息,每个处理器节点更新分布式节点服务管理配置信息的本地拷贝,以便指示主分布式节点服务管理角色正在第三处理器节点处而不是在第一处理器节点处被执行。
19.如权利要求3所述的方法,其中所述分布式节点服务管理在所述多个处理器节点中的额外处理器节点处,在为所述额外处理器节点选择的激活备用分布式节点服务管理角色中被执行,其中激活备用分布式节点服务管理角色包括:在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理功能时失败的情况下,在所述额外处理器节点中的每一个处执行的激活分布式节点服务管理角色包括对于所述额外处理器节点中的每个特定处理器节点,代表该特定处理器节点产生服务请求,并且将该服务请求发送到用于为分布式计算系统提供服务的服务中心,其中该服务请求是响应于该特定处理器节点处的服务状况而产生的,并且包括该特定处理器节点处的服务状况的服务通知。
20.一种分布式计算系统,包括:
多个处理器节点;和
计算机可读存储介质,其中包含有由处理器节点执行以便执行计算操作的计算机可读程序代码,所述计算操作包括:
在具有多个处理器节点的分布式计算系统中在所述多个处理器节点中的每一个处执行数据处理功能;
对于所述分布式计算系统中的所述多个处理器节点中的每一个,从在分布式节点服务管理系统中能够使用的多个分布式节点服务管理操作角色中选择分布式节点服务管理操作角色;和
在所述多个处理器节点中的每一个处执行分布式节点服务管理,其中在每个处理器节点处在为特定处理器节点选择的分布式节点服务管理角色中执行分布式节点服务管理,并且分布式节点服务管理包括对服务请求进行处理以为分布式计算系统的处理器节点提供服务。
21.如权利要求20所述的系统,其中所述分布式节点服务管理在所述多个处理器节点中的第一处理器节点处,在为所述第一处理器节点选择的主分布式节点服务管理角色中被执行,其中主分布式节点服务管理角色包括:从所述多个处理器节点中的第二处理器节点接收服务请求,并且代表第二处理器节点将该服务请求转发到用于为分布式计算系统的第二处理器节点提供服务的远程服务中心。
22.如权利要求21所述的系统,其中所述分布式节点服务管理在所述多个处理器节点中的所述第二处理器节点处,在为所述第二处理器节点选择的成员分布式节点服务管理角色中被执行,其中成员分布式节点服务管理角色包括:代表第二处理器节点产生服务请求,并且将该服务请求发送到第一处理器节点以便转发到远程服务中心,其中该服务请求是响应于第二处理器节点处的服务状况而产生的,并且包括第二处理器节点处的服务状况的服务通知。
23.如权利要求20所述的系统,其中所述分布式计算系统中的多个处理器节点中的每一个处的所述数据处理功能包括数据备份功能,所述数据备份功能包括在主机和数据存储之间传送数据。
24.如权利要求22所述的系统,其中所述分布式节点服务管理在所述多个处理器节点中的第三处理器节点处,在为所述第三处理器节点选择的备用分布式节点服务管理角色中被执行,其中备用分布式节点服务管理角色包括:在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理功能时失败的情况下,将为所述第三处理器节点选择的分布式节点服务管理角色从所述备用分布式节点服务管理角色改变为所述主分布式节点服务管理角色,使得在第三处理器节点处而不是在第一处理器节点处执行主分布式节点服务管理角色中的分布式节点服务管理功能。
25.如权利要求24所述的系统,其中在所述第二处理器节点处执行的成员分布式节点服务管理角色包括:在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理服务请求转发功能时失败的情况下,将该服务请求发送到第三处理器节点,以便在第三处理器节点的所述主分布式节点服务管理角色中转发到远程服务中心。
26.如权利要求22所述的系统,其中所述分布式节点服务管理在所述多个处理器节点中的多个额外处理器节点处,在为每个额外处理器节点选择的分布式-备用分布式节点服务管理角色中被执行,其中分布式-备用分布式节点服务管理角色包括:在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理功能时失败的情况下,对于所述多个处理器节点中的每个特定处理器节点,在每个特定处理器节点处而不是在第一处理器节点处代表该特定处理器节点执行分布式节点服务管理功能。
27.如权利要求26所述的系统,其中在所述多个额外处理器节点中的每一个处执行的分布式-备用分布式节点服务管理角色包括:对于所述多个处理器节点中的每个特定处理器节点,在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理服务请求转发功能时失败的情况下,代表所述多个额外处理器节点中的该特定处理器节点将服务请求发送到远程服务中心。
28.如权利要求20所述的系统,其中在所述多个处理器节点中的每一个处执行的分布式节点服务管理角色包括:对于所述多个处理器节点中的每个特定处理器节点,代表该特定处理器节点产生服务请求,并且将该服务请求发送到用于为分布式计算系统提供服务的服务中心,其中该服务请求是响应于该特定处理器节点处的服务状况而产生的,并且包括该特定处理器节点处的服务状况的服务通知。
29.如权利要求20所述的系统,其中所述分布式节点服务管理在所述多个处理器节点中的第三处理器节点处,在为所述第三处理器节点选择的主分布式节点服务管理角色中被执行,其中主分布式节点服务管理角色包括:从所述多个处理器节点中的第四处理器节点接收服务请求,并且代表第四处理器节点将该服务请求转发到用于为分布式计算系统提供服务的远程服务中心。
30.如权利要求29所述的系统,其中在所述第一处理器节点和第三处理器节点处在主分布式节点服务管理角色中执行的所述分布式节点服务管理包括:在所述第一处理器节点和第三处理器节点之间平衡主分布式节点服务管理角色中的分布式节点服务管理工作负载。
31.如权利要求30所述的系统,其中在所述第一处理器节点和第三处理器节点处在主分布式节点服务管理角色中执行的所述分布式节点服务管理包括:在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理功能时失败的情况下,承担来自所述第一处理器节点的分布式节点服务管理功能,使得在第三处理器节点处而不是在第一处理器节点处在主分布式节点服务管理角色中执行所承担的分布式节点服务管理功能。
32.如权利要求20所述的系统,其中所述服务请求包括如下之一:服务通知,服务中心对所述多个处理器节点中的处理器节点的远程访问的请求,本地用户对所述多个处理器节点中的处理器节点的本地访问的请求,以及处理器节点健康状态请求。
33.如权利要求24所述的系统,其中所述第一处理器节点处的主分布式节点服务管理角色中的分布式节点服务管理功能还包括如下至少一项:为所述服务中心提供对所述分布式计算系统的其它处理器节点的远程访问,为用户提供对所述分布式计算系统的其它处理器节点的本地访问,以及监视所述分布式计算系统的其它处理器节点的健康。
34.如权利要求22所述的系统,其中在所述多个处理器节点中的第三处理器节点处,也在为所述第三处理器节点选择的成员分布式节点服务管理角色中执行所述分布式节点服务管理,其中所述第一处理器节点和第二处理器节点均是集群中的对等节点,其中第三处理器节点的成员分布式节点服务管理角色包括:在第一处理器节点未能响应由第二处理器节点发送的服务请求的情况下,代表第二处理器节点向第一处理器节点重新发送该服务请求以便转发到远程服务中心,其中在所述多个处理器节点中的第四处理器节点处,在为所述第四处理器节点选择的备用分布式节点服务管理角色中执行所述分布式节点服务管理,其中备用分布式节点服务管理角色包括:在第一处理器节点未能响应由第三处理器节点代表第二处理器节点发送的服务请求的情况下,将为所述第四处理器节点选择的分布式节点服务管理角色从所述备用分布式节点服务管理角色改变为所述主分布式节点服务管理角色,使得在第四处理器节点处而不是在第一处理器节点处执行主分布式节点服务管理角色中的分布式节点服务管理功能。
35.如权利要求20所述的系统,其中所述分布式节点服务管理在所述多个处理器节点中的处理器节点处,在如下分布式节点服务管理角色中被执行,该分布式节点服务管理角色包括用于检测与分布式计算系统的其它处理器节点的分布式节点服务管理操作有关的错误的健康检查功能,其中所述健康检查功能包括向分布式计算系统中的每个节点发送请求消息以便确定它们的当前操作状态,以及其中所述分布式计算系统中的所述多个处理器节点中的任何处理器节点能够被选择来在包括所述健康检查功能的分布式节点服务管理角色中执行分布式节点服务管理。
36.如权利要求24所述的系统,其中分布式节点服务管理还包括:自动重新配置第一处理器节点处的分布式节点服务管理角色,以便恢复到在第一处理器节点处执行的分布式节点服务管理再次处于主分布式节点服务管理角色中的以前配置,使得其它处理器节点选择第一处理器节点处理服务通知以便联系远程服务中心,以及其中分布式节点服务管理还包括:自动重新配置第三处理器节点处的分布式节点服务管理角色,以便恢复到在第三处理器节点处执行的分布式节点服务管理再次处于备用分布式节点服务管理角色中的所述以前配置。
37.如权利要求25所述的系统,其中响应于为所述第三处理器节点选择的分布式节点服务管理角色从所述备用分布式节点服务管理角色到所述主分布式节点服务管理角色的改变,在所述主分布式节点服务管理角色中的第三处理器节点处的分布式节点服务管理还包括:向分布式计算系统中的其它处理器节点广播分布式节点服务管理系统状态消息,以指示主分布式节点服务管理角色中的分布式节点服务管理功能正在第三处理器节点处而不是在第一处理器节点处被执行,以及其中响应于该状态消息,每个处理器节点更新分布式节点服务管理配置信息的本地拷贝,以便指示主分布式节点服务管理角色正在第三处理器节点处而不是在第一处理器节点处被执行。
38.如权利要求22所述的系统,其中所述分布式节点服务管理在所述多个处理器节点中的额外处理器节点处,在为所述额外处理器节点选择的激活备用分布式节点服务管理角色中被执行,其中激活备用分布式节点服务管理角色包括:在所述第一处理器节点处执行所述主分布式节点服务管理角色中的分布式节点服务管理功能时失败的情况下,在所述额外处理器节点中的每一个处执行的激活分布式节点服务管理角色包括对于所述额外处理器节点中的每个特定处理器节点,代表该特定处理器节点产生服务请求,并且将该服务请求发送到用于为分布式计算系统提供服务的服务中心,其中该服务请求是响应于该特定处理器节点处的服务状况而产生的,并且包括该特定处理器节点处的服务状况的服务通知。
CN201310345015.7A 2012-08-09 2013-08-09 有助于分布式计算系统的服务提供和协调的方法和系统 Active CN103581289B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/571,075 US9071631B2 (en) 2012-08-09 2012-08-09 Service management roles of processor nodes in distributed node service management
US13/571,075 2012-08-09

Publications (2)

Publication Number Publication Date
CN103581289A true CN103581289A (zh) 2014-02-12
CN103581289B CN103581289B (zh) 2017-04-12

Family

ID=50052198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310345015.7A Active CN103581289B (zh) 2012-08-09 2013-08-09 有助于分布式计算系统的服务提供和协调的方法和系统

Country Status (2)

Country Link
US (4) US9071631B2 (zh)
CN (1) CN103581289B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618190A (zh) * 2015-02-04 2015-05-13 浪潮电子信息产业股份有限公司 一种基于shell的集群环境下测试网络带宽的方法
US9071631B2 (en) 2012-08-09 2015-06-30 International Business Machines Corporation Service management roles of processor nodes in distributed node service management
US9678801B2 (en) 2012-08-09 2017-06-13 International Business Machines Corporation Service management modes of operation in distributed node service management
CN107317702A (zh) * 2017-06-13 2017-11-03 广东神马搜索科技有限公司 在线服务系统的服务级别控制方法与系统
CN111046246A (zh) * 2019-08-05 2020-04-21 腾讯科技(深圳)有限公司 标签更新方法及装置、分布式存储系统
CN113778730A (zh) * 2021-01-28 2021-12-10 北京京东乾石科技有限公司 分布式系统的服务降级方法和装置
CN115002124A (zh) * 2022-08-01 2022-09-02 太极计算机股份有限公司 分布式任务调度处理方法、装置和设备

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9231895B2 (en) * 2012-10-23 2016-01-05 International Business Machines Corporation Tag management of information technology services improvement
US20140195672A1 (en) * 2013-01-09 2014-07-10 Microsoft Corporation Automated failure handling through isolation
WO2014130091A1 (en) * 2013-02-22 2014-08-28 Intel IP Corporation Systems and methods for access network selection and traffic routing
US9225638B2 (en) 2013-05-09 2015-12-29 Vmware, Inc. Method and system for service switching using service tags
US9344493B1 (en) * 2013-07-11 2016-05-17 Juniper Networks, Inc. Server health monitoring for traffic load balancer
US9990352B2 (en) 2014-08-06 2018-06-05 Quest Software Inc. Chunk compression in a deduplication aware client environment
US10459886B2 (en) 2014-08-06 2019-10-29 Quest Software Inc. Client-side deduplication with local chunk caching
US20160044077A1 (en) * 2014-08-06 2016-02-11 Dell Products L.P. Policy use in a data mover employing different channel protocols
US9984093B2 (en) 2014-08-06 2018-05-29 Quest Software Inc. Technique selection in a deduplication aware client environment
US9917894B2 (en) 2014-08-06 2018-03-13 Quest Software Inc. Accelerating transfer protocols
US10225137B2 (en) 2014-09-30 2019-03-05 Nicira, Inc. Service node selection by an inline service switch
US9531590B2 (en) 2014-09-30 2016-12-27 Nicira, Inc. Load balancing across a group of load balancers
US9774537B2 (en) 2014-09-30 2017-09-26 Nicira, Inc. Dynamically adjusting load balancing
US10013169B2 (en) 2014-12-19 2018-07-03 International Business Machines Corporation Cooperative data deduplication in a solid state storage array
CN104660689B (zh) * 2015-02-04 2018-04-27 中国南方电网有限责任公司 分布式计算系统
CN104580261B (zh) * 2015-02-10 2018-01-05 成都英力拓信息技术有限公司 一种适用于物联网的安全方法
US9785480B2 (en) * 2015-02-12 2017-10-10 Netapp, Inc. Load balancing and fault tolerant service in a distributed data system
US9985843B2 (en) * 2015-02-27 2018-05-29 International Business Machines Corporation Efficient parallel processing of a network with conflict constraints between nodes
US10609091B2 (en) 2015-04-03 2020-03-31 Nicira, Inc. Method, apparatus, and system for implementing a content switch
US9772920B2 (en) * 2015-04-29 2017-09-26 Apollo Education Group, Inc. Dynamic service fault detection and recovery using peer services
RU2015139057A (ru) 2015-09-14 2017-03-17 ИЭмСи КОРПОРЕЙШН Способ и система распределенного хранения данных
US10061697B2 (en) 2015-12-16 2018-08-28 EMC IP Holding Company LLC Garbage collection scope detection for distributed storage
US10146600B2 (en) 2015-12-16 2018-12-04 EMC IP Holding Company LLC Mutable data objects content verification tool
US10133770B2 (en) 2015-12-16 2018-11-20 EMC IP Holding Company LLC Copying garbage collector for B+ trees under multi-version concurrency control
US10067696B2 (en) 2015-12-18 2018-09-04 Emc Corporation Capacity exhaustion prevention for distributed storage
US10379780B2 (en) * 2015-12-21 2019-08-13 EMC IP Holding Company LLC Statistics management for scale-out storage
CN105577791A (zh) * 2015-12-23 2016-05-11 浪潮集团有限公司 一种远程自动配置分布式iaas系统的方法
US10291265B2 (en) 2015-12-25 2019-05-14 EMC IP Holding Company LLC Accelerated Galois field coding for storage systems
US10152248B2 (en) 2015-12-25 2018-12-11 EMC IP Holding Company LLC Erasure coding for elastic cloud storage
US10171472B2 (en) * 2016-03-02 2019-01-01 Microsoft Technology Licensing, Llc Role-specific service customization
US10089166B2 (en) 2016-03-08 2018-10-02 International Business Machines Corporation Configuring and utilizing call-home systems
US10063675B2 (en) * 2016-03-29 2018-08-28 Juniper Networks, Inc. Performing duplicate address detection for an integrated routing and bridging device
US10110258B2 (en) 2016-03-30 2018-10-23 EMC IP Holding Company LLC Accelerated erasure coding for storage systems
US10795872B2 (en) 2016-06-29 2020-10-06 EMC IP Holding Company LLC Incremental bloom filter rebuild for B+ trees under multi-version concurrency control
US10248326B2 (en) 2016-06-29 2019-04-02 EMC IP Holding Company LLC Incremental erasure coding for storage systems
US10152376B2 (en) 2016-06-29 2018-12-11 EMC IP Holding Company LLC Data object recovery for storage systems
US10616335B2 (en) * 2016-08-17 2020-04-07 Cisco Technology, Inc. Controller-based configuration proxy
US10412195B2 (en) * 2016-09-26 2019-09-10 International Business Machines Corporation Risk-aware service management stack transformation during workload migration
US10831742B2 (en) * 2016-12-09 2020-11-10 EMC IP Holding Company LLC Data set verification
US10873501B2 (en) * 2016-12-09 2020-12-22 Vmware, Inc. Methods, systems and apparatus to propagate node configuration changes to services in a distributed environment
US10564883B2 (en) 2016-12-13 2020-02-18 EMC IP Holding Company LLC Efficient migration to distributed storage
US10776322B2 (en) * 2016-12-13 2020-09-15 EMC IP Holding Company LLC Transformation processing for objects between storage systems
JP6758479B2 (ja) * 2016-12-21 2020-09-23 株式会社日立製作所 統計を集約するための方法および分散ストレージシステム
US10797966B2 (en) 2017-10-29 2020-10-06 Nicira, Inc. Service operation chaining
US11012420B2 (en) 2017-11-15 2021-05-18 Nicira, Inc. Third-party service chaining using packet encapsulation in a flow-based forwarding element
US10768985B1 (en) * 2017-12-06 2020-09-08 Parallels International Gmbh Active directory organizational unit-based deployment of computing systems
US10797910B2 (en) 2018-01-26 2020-10-06 Nicira, Inc. Specifying and utilizing paths through a network
US11356866B2 (en) * 2018-02-28 2022-06-07 Hewlett Packard Enterprise Development Lp Selecting a role for an access point
US10805192B2 (en) 2018-03-27 2020-10-13 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
US10783022B2 (en) 2018-08-03 2020-09-22 EMC IP Holding Company LLC Immediate replication for dedicated data blocks
US11595250B2 (en) 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway
US10944673B2 (en) 2018-09-02 2021-03-09 Vmware, Inc. Redirection of data messages at logical network gateway
US11360796B2 (en) 2019-02-22 2022-06-14 Vmware, Inc. Distributed forwarding for performing service chain operations
CN111866041B (zh) * 2019-04-28 2023-05-02 杭州海康威视系统技术有限公司 业务设备选取、云存储集群更新的方法、装置及存储介质
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
US11283717B2 (en) 2019-10-30 2022-03-22 Vmware, Inc. Distributed fault tolerant service chain
US11223494B2 (en) 2020-01-13 2022-01-11 Vmware, Inc. Service insertion for multicast traffic at boundary
US11153406B2 (en) 2020-01-20 2021-10-19 Vmware, Inc. Method of network performance visualization of service function chains
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11212356B2 (en) 2020-04-06 2021-12-28 Vmware, Inc. Providing services at the edge of a network using selected virtual tunnel interfaces
US11734043B2 (en) 2020-12-15 2023-08-22 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11611625B2 (en) 2020-12-15 2023-03-21 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US20220405170A1 (en) * 2021-06-18 2022-12-22 Fidelity Information Services, Llc Systems and methods for application failover management using a distributed director and probe system
CN113342698A (zh) * 2021-07-21 2021-09-03 统信软件技术有限公司 一种测试环境调度方法、计算设备及存储介质
CN113595805B (zh) * 2021-08-23 2024-01-30 海南房小云科技有限公司 一种用于局域网内的个人计算机数据共享方法
CN114050960B (zh) * 2021-10-19 2024-05-14 厦门亿联网络技术股份有限公司 一种分布式服务器集群节点管理方法及装置
WO2024015070A1 (en) * 2022-07-15 2024-01-18 Rakuten Symphony Singapore Pte. Ltd. System and method for automated configuration of nodes in a server cluster

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1487435A (zh) * 2002-10-03 2004-04-07 鸿富锦精密工业(深圳)有限公司 工作流程分配系统及方法
US20050038883A1 (en) * 2003-08-14 2005-02-17 International Business Machines Corporation System, method, and computer program product for centralized management of an infiniband distributed system area network
WO2007122030A1 (en) * 2006-04-20 2007-11-01 International Business Machines Corporation Method, system and computer program for the centralized system management on endpoints of a distributed data processing system
CN101291245A (zh) * 2007-04-16 2008-10-22 阿里巴巴集团控股有限公司 一种分布式处理方法、系统及其装置
CN101727629A (zh) * 2008-10-10 2010-06-09 北京资和信担保有限公司 自组织分布式金融业务系统

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5913060A (en) * 1995-10-11 1999-06-15 Citrix Systems, Inc. Method for deadlock avoidance in a distributed process system using a synchronous procedure call
US6144992A (en) * 1997-05-09 2000-11-07 Altiris, Inc. Method and system for client/server and peer-to-peer disk imaging
US5960404A (en) * 1997-08-28 1999-09-28 International Business Machines Corp. Mechanism for heterogeneous, peer-to-peer, and disconnected workflow operation
US7020697B1 (en) * 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
US6973023B1 (en) * 2000-12-30 2005-12-06 Cisco Technology, Inc. Method for routing information over a network employing centralized control
US20030149735A1 (en) 2001-06-22 2003-08-07 Sun Microsystems, Inc. Network and method for coordinating high availability system services
WO2003098873A1 (en) * 2002-05-17 2003-11-27 Legend (Beijing) Limited A method to realize dynamic networking and resource sharing among equipments
JP4151322B2 (ja) 2002-06-26 2008-09-17 コニカミノルタビジネステクノロジーズ株式会社 ネットワーク管理プログラム及びネットワーク管理方法
US7159150B2 (en) 2002-12-31 2007-01-02 International Business Machines Corporation Distributed storage system capable of restoring data in case of a storage failure
US8001142B2 (en) * 2003-04-02 2011-08-16 Oracle America, Inc. Distributed data system with incremental data updates
US7158985B1 (en) * 2003-04-09 2007-01-02 Cisco Technology, Inc. Method and apparatus for efficient propagation of large datasets under failure conditions
GB0308923D0 (en) 2003-04-17 2003-05-28 Ibm Low-overhead storage cluster configuration locking
US20060070060A1 (en) * 2004-09-28 2006-03-30 International Business Machines Corporation Coordinating service performance and application placement management
US7778157B1 (en) 2007-03-30 2010-08-17 Symantec Operating Corporation Port identifier management for path failover in cluster environments
US8219848B2 (en) 2007-04-10 2012-07-10 International Business Machines Corporation Mechanism for recovery from site failure in a stream processing system
US7793140B2 (en) 2007-10-15 2010-09-07 International Business Machines Corporation Method and system for handling failover in a distributed environment that uses session affinity
CA2645716C (en) 2007-11-21 2017-05-30 Datagardens Inc. Adaptation of service oriented architecture
US20090198549A1 (en) * 2008-01-31 2009-08-06 Kearns James A Automated Repair System and Method for Network-Addressable Components
EP2389751A1 (en) 2009-01-22 2011-11-30 Telefonaktiebolaget LM Ericsson (publ) Address allocation in a network
US8327186B2 (en) 2009-03-10 2012-12-04 Netapp, Inc. Takeover of a failed node of a cluster storage system on a per aggregate basis
JP2011124695A (ja) 2009-12-09 2011-06-23 Seiko Epson Corp ネットワーク接続装置及びネットワーク接続方法
JP2011138225A (ja) 2009-12-25 2011-07-14 Canon Inc クラスタシステム、情報処理装置、制御方法、及びプログラム
US8843571B2 (en) 2010-01-15 2014-09-23 Endurance International Group, Inc. Web hosting service based on a common service architecture and third party services
GB2477514A (en) 2010-02-03 2011-08-10 Orbital Multi Media Holdings Corp Accessing media content
US20130166677A1 (en) 2011-12-23 2013-06-27 Electronics And Telecommunications Research Institute Role-based access control method and apparatus in distribution system
US9071631B2 (en) 2012-08-09 2015-06-30 International Business Machines Corporation Service management roles of processor nodes in distributed node service management
US9678801B2 (en) 2012-08-09 2017-06-13 International Business Machines Corporation Service management modes of operation in distributed node service management

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1487435A (zh) * 2002-10-03 2004-04-07 鸿富锦精密工业(深圳)有限公司 工作流程分配系统及方法
US20050038883A1 (en) * 2003-08-14 2005-02-17 International Business Machines Corporation System, method, and computer program product for centralized management of an infiniband distributed system area network
WO2007122030A1 (en) * 2006-04-20 2007-11-01 International Business Machines Corporation Method, system and computer program for the centralized system management on endpoints of a distributed data processing system
CN101291245A (zh) * 2007-04-16 2008-10-22 阿里巴巴集团控股有限公司 一种分布式处理方法、系统及其装置
CN101727629A (zh) * 2008-10-10 2010-06-09 北京资和信担保有限公司 自组织分布式金融业务系统

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9762669B2 (en) 2012-08-09 2017-09-12 International Business Machines Corporation Service management roles of processor nodes in distributed node service management
US10389824B2 (en) 2012-08-09 2019-08-20 International Business Machines Corporation Service management modes of operation in distributed node service management
US9071632B2 (en) 2012-08-09 2015-06-30 International Business Machines Corporation Service management roles of processor nodes in distributed node service management
US9678801B2 (en) 2012-08-09 2017-06-13 International Business Machines Corporation Service management modes of operation in distributed node service management
US9678802B2 (en) 2012-08-09 2017-06-13 International Business Machines Corporation Service management modes of operation in distributed node service management
US9749415B2 (en) 2012-08-09 2017-08-29 International Business Machines Corporation Service management roles of processor nodes in distributed node service management
US9071631B2 (en) 2012-08-09 2015-06-30 International Business Machines Corporation Service management roles of processor nodes in distributed node service management
US11223690B2 (en) 2012-08-09 2022-01-11 International Business Machines Corporation Service management modes of operation in distributed node service management
CN104618190A (zh) * 2015-02-04 2015-05-13 浪潮电子信息产业股份有限公司 一种基于shell的集群环境下测试网络带宽的方法
CN107317702A (zh) * 2017-06-13 2017-11-03 广东神马搜索科技有限公司 在线服务系统的服务级别控制方法与系统
CN111046246A (zh) * 2019-08-05 2020-04-21 腾讯科技(深圳)有限公司 标签更新方法及装置、分布式存储系统
CN113778730A (zh) * 2021-01-28 2021-12-10 北京京东乾石科技有限公司 分布式系统的服务降级方法和装置
CN113778730B (zh) * 2021-01-28 2024-04-05 北京京东乾石科技有限公司 分布式系统的服务降级方法和装置
CN115002124A (zh) * 2022-08-01 2022-09-02 太极计算机股份有限公司 分布式任务调度处理方法、装置和设备

Also Published As

Publication number Publication date
US20140324940A1 (en) 2014-10-30
US20140046997A1 (en) 2014-02-13
US9749415B2 (en) 2017-08-29
US9071631B2 (en) 2015-06-30
US9762669B2 (en) 2017-09-12
CN103581289B (zh) 2017-04-12
US20140325052A1 (en) 2014-10-30
US20140047088A1 (en) 2014-02-13
US9071632B2 (en) 2015-06-30

Similar Documents

Publication Publication Date Title
CN103581289A (zh) 有助于分布式计算系统的服务提供和协调的方法和系统
US11223690B2 (en) Service management modes of operation in distributed node service management
US7003687B2 (en) Fail-over storage system
US7225356B2 (en) System for managing operational failure occurrences in processing devices
CN103546914B (zh) 一种hss主备管理的方法及装置
CN109495312A (zh) 基于仲裁盘和双链路的高可用集群的实现方法和系统
JP2006114040A (ja) コンピュータクラスタのノードのフェールオーバー範囲
CN108369544A (zh) 计算系统中延期的服务器恢复
CN103888277A (zh) 一种网关容灾备份方法、装置和系统
CN102075369A (zh) 一种监控设备的管理方法和设备
CA2616229A1 (en) Redundant systems management frameworks for network environments
CN109254876A (zh) 云计算系统中数据库的管理方法和装置
JP2009026091A (ja) 接続管理プログラム、接続管理方法および情報処理装置
CN110247980B (zh) 一种局域网中的网关控制方法及网关
JP2018005431A (ja) 運用監視サーバおよび運用監視システム
Mitrović et al. Improving fault-tolerance of distributed multi-agent systems with mobile network-management agents
JP4806382B2 (ja) 冗長化システム
EP3316114A1 (en) Data reading and writing method and device
JP2013025765A (ja) マスター/スレーブシステム、制御装置、マスター/スレーブ切替方法、および、マスター/スレーブ切替プログラム
EP3884648B1 (en) Geo-replicated iot hub
JP2007173990A (ja) 情報処理装置、通信負荷分散方法及び通信負荷分散プログラム
KR20120074528A (ko) 클러스터 노드 제어 방법 및 그를 위한 전화 시스템
CN112882771A (zh) 应用系统的服务器切换方法及装置、存储介质及电子设备
JP2009211279A (ja) 操業データ管理サーバシステム
CN105027514A (zh) 网络系统、节点、网络管理方法和计算机可读记录介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant