CN110784558A - 组长角色查询 - Google Patents
组长角色查询 Download PDFInfo
- Publication number
- CN110784558A CN110784558A CN201910618146.5A CN201910618146A CN110784558A CN 110784558 A CN110784558 A CN 110784558A CN 201910618146 A CN201910618146 A CN 201910618146A CN 110784558 A CN110784558 A CN 110784558A
- Authority
- CN
- China
- Prior art keywords
- computing device
- group
- mdns
- group leader
- instructions
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1048—Departure or maintenance mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4541—Directories for service discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1051—Group master selection mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
示例包括组长角色查询。示例包括经由第一通信协议检测第一计算设备与第二计算设备之间的通信丢失,经由第二通信协议传输对关于当前具有所述组长角色的所述第二计算设备的信息的查询。示例还包括基于经由所述第二通信协议从所述第二计算设备接收到对所述查询的响应来确定不由所述第一计算设备承担所述组长角色。
Description
背景技术
计算设备(诸如服务器、存储阵列等)可以通过一个或多个计算机网络互相通信。在一些示例中,计算设备可以代表其他一个或多个计算设备执行各种一个或多个服务、管理或协调涉及多个连接的计算设备的功能等等。在这样的示例中,通过一个或多个计算机网络的通信丢失可能具有不利影响。
附图说明
以下详细描述参考附图,在附图中:
图1是包括用于向具有组长角色的计算设备发送查询的计算设备的示例计算环境的框图;
图2是包括用于响应于接收到提升输入而发送多播域名系统(mDNS)查询的计算设备的示例计算设备组的框图;
图3是包括用于在启动后开始或移交组长角色的计算设备的示例计算设备组的框图;
图4是包括将存储的权限序列标识符与在一个或多个mDNS响应中返回的一个或多个权限序列标识符进行比较的示例方法的流程图;以及
图5是包括对接收到的mDNS响应进行过滤的示例方法的流程图。
具体实施方式
如以上所指出的,通过一个或多个计算机网络在计算设备之间的通信丢失可能具有不利影响。例如,经由一个或多个计算机网络互相通信的多个计算设备可以形成彼此交互的计算设备组(或“集群(cluster)”)以执行某些功能,例如诸如数据复制。在这样的示例中,所述计算设备中的一个可以是所述组的领导者,在本文被称为具有“组长”角色。具有组长角色的计算设备可以代表所述组执行各种功能,诸如管理服务,像例如表述性状态转移(REST)应用程序编程接口(API)端点、命令行接口(CLI)端点等。
在一些示例中,具有组长角色的计算设备也可以为组或集群(例如,在数据库中)维持元数据的权限记录。例如,当计算设备包括处于用于使各个卷的内容彼此复制的复制关系的存储阵列时,具有组长角色的计算设备可以维持组中计算设备(例如,存储阵列)的权限记录、关于那些计算设备的信息(例如,因特网协议(IP)地址等)、以及关于组中复制关系的信息,诸如由存储阵列存储的每个卷的信息和阵列的卷之间的复制关系。例如,这个信息可以为每个卷指定哪个存储阵列拥有所述卷的上游(或源)版本、哪个存储阵列存储所述卷的下游(或终点)版本(用于接收来自上游版本的数据复制)、每个卷被分配至什么复制池等。
在这样的示例中,可能期望提升组中的另一计算设备为组的“备用组长”角色,使得假如当前具有组长角色(在本文中可以被称为“组长”)的计算设备经历诸如与其他一个或多个计算设备的通信丢失、重启、关机等的一个或多个问题时,具有备用组长角色(在本文中可以被称为“备用组长”)的计算设备可以接管组长角色。
在这样的示例中,当备用组长检测到自身与当前组长之间的通信丢失时,备用组长可以承担组长角色。然而,如果组长实际上没有故障或者只是与组中的一些计算设备出现通信丢失但维持与组中其他一个或多个计算设备的通信,则备用组长在这种场景下承担组长角色可能导致“脑裂(split brain)”情形,在所述情形下,存在宣称作为组长的多个计算设备(例如,尚未完全故障的现有组长、以及错误认为现有组长已经故障而承担组长角色的备用组长)。因为两个不同的计算设备可以主张具有对关于组的信息(例如,关于计算设备和复制关系等)的权限意见,随着时间推移这可能产生分歧,并且两者可能都尝试向组提供上述组服务,所以这种脑裂场景可能是不利的。
为解决这些问题,在本文描述的示例中,第一计算设备(例如,备用组长)可以:经由第一通信协议,检测第一计算设备与第二计算设备(例如,组长)之间的通信丢失;接收指示第一计算设备承担组长角色的提升输入;并且,作为响应,经由不同的第二通信协议,发送对关于当前具有组长角色的第二计算设备的信息的查询。在这样的示例中,基于经由第二通信协议从第二计算设备(例如,当前组长)接收到对所述查询的响应,第一计算设备(例如,备用组长)可以确定不承担组长角色。可替代地,基于在阈值时间段内经由第二通信协议没有从第二计算设备(例如,当前组长)接收到对所述查询的响应,第一计算设备(例如,备用组长)可以承担组长角色。在一些示例中,第二通信协议可以是多播域名系统(mDNS)协议。
以此方式,本文描述的示例可以通过当备用组长经由第一协议已经检测到与组长的通信丢失但还能够经由第二协议验证组长尚未完全故障并仍能够通信时备用组长不承担组长角色而避免上述脑裂情形。在这样的示例中,备用组长在这种情况下不承担组长角色可以避免脑裂场景,所述脑裂场景可能在备用组长将要接管组长角色而现有组长尚未完全故障并仍能够通信的情况下发生。在这样的示例中,当备用组长经由第二协议未能验证组长尚未完全故障时,备用组长可以承担组长角色,因为在这种情况下脑裂场景的风险较小。
现在参考附图,图1是包括用于针对具有组长角色的计算设备102发送查询的计算设备101的示例计算环境100的框图。在图1所示的示例中,计算设备101包括至少一个处理资源110和至少包括(例如,编码有)存储指令121的至少一个机器可读存储介质120,所述存储指令可由计算设备101的至少一个处理资源110执行以实施与指令121相关的本文描述的功能。指令121可以至少包括指令122、124、126和128,这些指令可以由所述至少一个处理资源110执行。
计算设备101和102可以是计算设备组的一部分,其中,计算设备102具有组长角色。在这样的示例中,计算设备101可以具有针对组的备用组长角色。在这样的示例中,计算设备101可能已承担(例如,已被提升为)组长角色,如下文所述。
在图1所示的示例中,计算设备101的指令122可以经由第一通信协议180检测计算设备组中计算设备101与计算设备102之间的通信丢失。例如,指令122可以使用诸如因特网控制报文协议(ICMP)的第一通信协议180来与计算设备102交换报文以确认计算设备102可用(例如,没有故障、脱机等)。例如,计算设备101(例如,指令122)和计算设备102可以使用ICMP回声和应答(或者以其他方式相互查验(ping))来确定对方是否仍然可用。在一些示例中,指令122可以周期性地(例如,每五秒或任何其他合适的时间段)向计算设备102发送ICMP回声请求(等),并且监测计算设备102的应答。指令122可以具有阈值时间量,所述指令在所述阈值时间量(例如,每五秒或任何其他合适的时间段)内预期接收来自计算设备102的对回声请求的应答。当指令122在所述阈值时间量内接收到对回声请求的应答时,指令122可以经由第一协议(例如,ICMP)确定计算设备102仍可用。然而,当指令122在阈值时间量内从计算设备102接收到一次或阈值数量次数的对回声请求的预期应答失败时,则指令122可以经由第一通信协议180检测到计算设备101与计算设备102之间的通信丢失。
检测到通信丢失之后,指令124可以接收指示计算设备101(例如,备用组长)承担包括计算设备101和102的计算设备组的组长角色的提升输入182。在一些示例中,指令122可以输出已检测到通信丢失的警报或其他通知。例如,指令122可以经由诸如计算设备101或另一计算设备的用户界面(例如,图形用户界面(GUI))等界面来输出通知。在这样的示例中,用户(诸如,管理员等)可以经由计算设备101或另一计算设备的用户界面来向计算设备101提供提升输入182。
响应于接收到提升输入,指令126可以经由不同于第一通信协议的第二通信协议发送对关于当前具有组长角色的计算设备102的信息的查询184。在一些示例中,这个查询184可以是计算设备101(例如,直接地或间接地)所连接至的一个或多个计算机网络上的多播。在一些示例中,第二通信协议可以是多播域名系统(mDNS)协议。在这样的示例中,查询184可以是mDNS查询。在一些示例中,mDNS查询可以是组长计算设备102的指定一个或多个标识符(例如,序列号等)的针对性查询。在其他示例中,查询182可以是到计算设备101所直接地或间接地连接至的一个或多个计算机网络中的计算设备的多播,并且计算设备101可以基于组长计算设备102的一个或多个标识符对响应进行过滤。
在图1所示的示例中,基于(例如,在阈值时间段内)经由第二通信协议从计算设备102接收到对查询184的响应186,指令128可以响应于提升输入182而确定不承担组长角色(即,由计算设备101)。在这样的示例中,计算设备101已经确认计算设备102尚未完全故障,并且例如仍然存在可用于到达计算设备102的一个或多个网络路径。在这样的示例中,计算设备101承担组长角色可能导致如上所述的计算设备组中的脑裂(即,两个组长)。
在图1所示的示例中,基于在阈值时间段内经由第二通信协议没有从计算设备102接收到对查询184的响应,指令128可以使计算设备101承担188计算设备组中的组长角色(即,由计算设备101承担188组长角色),指令128可以将其记录在计算设备101的存储器中(如下所述)。
在本文描述的示例中,在阈值时间量内预期接收对第一协议请求的应答(例如,对ICMP回声请求的应答)的所述阈值时间量可以不同于用于接收对第二协议查询的响应(例如,对mDNS请求的响应)的阈值时间段。如本文所使用的,描述为由指令121执行的功能可以由执行指令122、124、126、和128中的任何一个指令或指令121中的其他指令来实施。类似地,描述为由指令122、124、126、或128执行的功能可以被认为是由指令121(其包括指令122、124、126、和128)执行的功能。在本文描述的示例中,描述为由“指令”执行的功能可以被理解为当由处理资源执行所述指令时可以由那些指令实施的功能。在其他示例中,关于指令121所描述的功能可以由一个或多个引擎实施,所述一个或多个引擎可以是实施一个或多个引擎的功能的硬件和程序的任何组合。在一些示例中,本文关于图1所描述的功能可以结合本文关于图2至图5中的任何一幅图所描述的功能来提供。
图2是包括用于响应于接收到提升输入而发送mDNS查询的计算设备101的示例计算设备组200的框图。图2所示的示例不同于图1所示的示例,但是为了便于说明,对如上所述的图1所示的示例进行扩展。然而,关于图2所描述的示例不应被解释为限制以上关于图1所描述的示例。
图2中所示的示例包括计算设备组200,所述计算设备组至少包括计算设备101和102,所述计算设备101和102可以经由一个或多个计算机网络201互相通信。在本文描述的示例中,计算机网络可以包括例如局域网(LAN)、虚拟局域网(VLAN)、无线局域网(WLAN)、虚拟专用网络(VPN)、因特网等、或其任何组合。
在图2所示的示例中,计算设备101包括处理资源110、存储介质120和指令121,如上所述。在图2所示的示例中,计算设备101还可以包括可以由任何合适类型的非易失性存储器(例如,一个或多个固态存储设备(SSD),诸如一个或多个闪存设备、或一个或多个硬盘驱动器(HDD)等)实施的永久存储器150。计算设备101还可以包括多个网络接口(NI)130、131等和界面240。
在图2所示的示例中,计算设备102可以包括用于存储指令221(在一些示例中,其等同于指令121)的机器可读存储介质220、用于执行指令221的至少一个处理资源210、可以如上关于永久存储器150所描述的那样实施的永久存储器250。
计算设备102可以将其组角色252的指示、其权限序列标识符254和组配置信息256(如,配置数据库)存储在永久存储器250中。在本文描述的示例中,组角色可以包括组长角色、备用组长角色、或成员角色。在这样的示例中,成员角色可以是由组中每个计算设备初始拥有的角色,并且由既不是组长也不是备用组长的每个计算设备拥有。在本文描述的示例中,权限序列标识符可以在用于确定组中计算设备中的哪个计算设备待成为组长的一个或多个过程中使用。
在这样的示例中,组中的每个计算设备可以存储既不与组长角色相关联也不与备用组长角色相关联的权限序列标识符的初始值。当计算设备承担组长角色时,所述计算设备可以改变(例如,增加)其权限序列标识符,并且当计算设备承担备用组长角色时,所述计算设备可以用组长提供给它的权限序列标识符替换其所存储的权限序列标识符。
例如,在图2所示的示例中,作为承担组长角色的计算设备102的一部分,指令221可以使用永久存储器250中关于计算设备102具有组长角色的指示252来替换计算设备102的存储在永久存储器250中的为“空”的组角色252。指令221还可以将存储在永久存储器250中的权限序列标识符254从初始值“0”(其是针对所有具有成员角色的计算设备的权限序列标识符)增加至具有值“1”的权限序列标识符254(并存储在永久存储器250中)。此外,因为计算设备102是组长,所以指令221还可以启动计算设备组200的多个组服务。在所述多个组服务中,指令221可以实施例如REST API端点、CLI端点、因特网小型计算机系统接口(iSCSI)发现端点、GUI网页服务器、简单网络管理协议守护进程(daemon)(SNMPD)、数据库等中的一个或多个。在一些示例中,组配置信息256可以拥有组中计算设备(例如,存储阵列)的权限记录、关于那些计算设备的信息(例如,IP地址等)、和计算设备之间的关系(例如,复制关系等)。在一些示例中,组配置信息256可以实施为数据库。
在一些示例中,组200中的计算设备可以是实施它们之间卷的复制的相应存储阵列。在这样的示例中,组配置信息256可以如上所述包括关于组中复制关系的信息,诸如,由存储阵列存储在每个卷上的信息和阵列的卷之间的复制关系。例如,这个信息可以为每个卷指定哪个存储阵列拥有所述卷的上游(或源)版本、哪个存储阵列存储所述卷的下游(或终点)版本(用于接收来自上游版本的复制数据)、每个卷被分配至什么复制池等。
指令221还可以将文本记录262存储在计算设备102的永久存储器250中(或者在计算设备102的另一机器可读存储介质中)。文本记录262可以包括在指令221可以经由mDNS发送的mDNS净荷(payload)260中。在本文描述的示例中,mDNS净荷可以是计算设备(例如,响应于mDNS查询)在mDNS协议中发布的信息。在本文描述的示例中,计算设备组中的计算设备可以使用mDNS净荷的文本记录部分来包括特定于计算设备组并且在确定所述组的组长过程中可用的各种类型信息。例如,计算设备的mDNS净荷可以在mDNS净荷的文本记录中包括例如计算设备的名称、组标识符、序列号(或其他设备标识符)、权限序列标识符、组角色(例如,组长、备用组长、或空)等等。在图2所示的示例中,mDNS净荷260可以包括文本记录262,所述文本记录包括权限序列标识符254(即,“1”)、组角色252(例如,组长角色的指示)和特定计算设备信息264(例如,计算设备102的名称和序列号、以及计算设备102是计算设备组200的一部分的指示)。
在计算设备102已承担组长角色并将其增加的权限序列标识符254(“1”)和组长角色252存储在永久存储器250中之后,计算设备102可以将计算设备101提升为备用组长角色。在这样的示例中,指令221可以开始将组配置信息256同步270到计算设备101。例如,指令221可以将组配置信息256提供至计算设备101,并且指令121可以从计算设备102获取组配置信息256且将副本存储在计算设备101的永久存储器150中。在这样的示例中,指令121还可以周期性地将所获取的存储在计算设备101的永久存储器250中的组配置信息256与存储在计算设备102上的组配置信息256同步(例如,当计算设备101具有备用组长角色时)。
在图2所示的示例中,计算设备101可以将其组角色152的初始空值(即,成员角色)和其权限序列标识符154的初始值“0”存储在永久存储器150中。当计算设备102将计算设备101提升为备用组长角色时,指令221还可以向计算设备101提供(或同步)271计算设备102的权限序列标识符254(“1”),指令121可以接收所述权限序列标识符254并将其存储在永久存储器150中作为计算设备101的权限序列标识符154(即,替换先前的“0”值)。
在这样的示例中,计算设备101可以承担计算设备组200的备用组长角色,并且可以将其备用组长角色的指示152存储在计算设备101的永久存储器150中(即,替换先前的“空”值)。指令121还可以将文本记录162存储在计算设备101的永久存储器150中(或者在计算设备101的另一机器可读存储介质中)。文本记录162可以包括在指令121可以经由mDNS发送的mDNS净荷160中。在图2所示的示例中,mDNS净荷160可以在文本记录162中包括权限序列标识符154(即,“1”)、组角色152(例如,备用组长角色的指示)和特定计算设备信息164(例如,计算设备101的名称和序列号、以及计算设备101是计算设备组200的一部分的指示)。
在图2所示的示例中,以上关于承担组长角色的计算设备102和承担备用组长角色的计算设备101所述的功能(包括同步270组配置信息256和同步271权限序列标识符254)可以在检测到计算设备101与102之间的通信丢失之前执行,如下所述。
在图2所示的示例中,计算设备101的指令121可以经由第一通信协议180检测计算设备组中的计算设备101与计算设备102之间的通信丢失,如上所述。例如,指令121可以使用ICMP作为第一通信协议。在这样的示例中,指令121可以周期性地向计算设备102发送ICMP回声请求272,并且监测对回声请求272的ICMP响应273。当指令121在阈值时间量内从计算设备102接收(一次或阈值数量次的)对回声请求272的预期应答273(如由图2的ICMP应答273所示)失败时,则指令121可以经由第一通信协议(即,ICMP)检测到计算设备101与计算设备102之间的通信丢失。
在这样的示例中,在检测到连接丢失之后,指令121可以接收指示计算设备101承担计算设备组200的组长角色的提升输入182。在一些示例中,指令121可以经由计算设备101(或另一设备)的界面240输出已检测到通信丢失的警报或其他通知。在这样的示例中,界面240可以是诸如计算设备101的GUI等用户界面。在这样的示例中,用户(诸如,管理员等)可以经由界面240来向计算设备101提供提升输入182。界面240可以由本文描述的硬件和程序的任何组合来实施。
响应于接收到提升输入182,指令121可以发送对关于当前具有组长角色的计算设备102的信息的mDNS查询274。在这样的示例中,mDNS是不同于第一通信协议ICMP的第二通信协议。如上所述,mDNS查询274可以是组长(即,计算设备102)的指定一个或多个标识符(例如,序列号等)的针对性查询。在其他示例中,mDNS查询274可以是到计算设备101直接地或间接地所连接至的一个或多个计算机网络中的计算设备的多播,并且指令121可以基于组长(即,计算设备102)的一个或多个标识符对响应进行过滤。
基于在(针对mDNS响应的)阈值时间段内从计算设备102接收到来自计算设备102的对mDNS查询274的mDNS响应275,指令121可以确定响应于提升输入182而不由计算设备101承担组长角色。如上所述,在这样的示例中,计算设备101已确认计算设备102尚未完全故障,并且例如仍然存在可用于到达计算设备102的一个或多个网络路径。在这样的示例中,计算设备101承担组长角色可能导致计算设备组中的脑裂(即,两个组长),如上所述。在本文描述的示例中,mDNS响应275可以包括mDNS净荷260,所述净荷包括计算设备102的文本记录262,并且指令121可以使用文本记录262的内容来将mDNS响应275识别为来自计算设备102。在一些示例中,响应于在阈值时间段内从计算设备102接收到对mDNS查询274的mDNS响应275,指令121可以经由计算设备101或另一计算设备的界面240(例如,用户界面)输出错误。在这样的示例中,错误可以指示响应于确定计算设备102(组长)尚未完全故障而不遵循提升输入182。
在其他示例中,基于在(针对mDNS响应的)阈值时间段内没有从计算设备102接收到对mDNS查询274的mDNS响应275(即,包括具有文本记录262的mDNS净荷260),指令121可以使计算设备101承担计算设备组200中的组长角色。作为由计算设备101承担组长角色的一部分,指令121可以将计算设备101具有组长角色的指示152记录在永久存储器150中。组长角色的指示152可以替换永久存储器150中计算设备101具有备用组长角色的先前指示。
还作为由计算设备101承担组长角色的一部分,指令121可以修改存储在永久存储器150中的权限序列标识符154。例如,指令121可以将权限序列标识符154从值“1”增加到值“2”。还作为由计算设备101承担组长角色的一部分,指令121可以修改存储在计算设备101上的文本记录162。指令121可以修改文本记录162以包括修改的权限序列标识符154(即,“2”)和计算设备101具有组长角色的指示152。作为由计算设备101承担组长角色的一部分,指令121还可以在计算设备101处开始用于计算设备组200的多个组服务,如上关于计算设备102所描述的。在这样的示例中,针对组200的多个组服务由具有组200的组长角色的计算设备提供(例如,运行、执行等)。
在计算设备101已经承担组长角色之后,如上所述,指令121可以随后检测第一计算设备101与第二计算设备102之间的通信恢复276。例如,在承担组长角色之后,指令121可以周期性地发送针对已经与其失去通信的计算设备102的信息的mDNS查询(如上关于mDNS查询274所描述的),并且可以基于接收到来自第二计算设备102的mDNS响应来检测通信的恢复。在这样的示例中,响应于检测到恢复,指令121可以向计算设备102提供包括mDNS净荷160的mDNS报文277,mDNS净荷160包括文本记录162。在这样的示例中,报文277的mDNS净荷160包括文本记录162(当计算设备101承担组长角色时由指令121修改),所述文本记录包括经修改的权限序列标识符154(即“2”)和计算设备101具有组长角色的经修改的指示152。在这样的示例中,指令121还可以从计算设备102接收mDNS报文278,所接收的mDNS报文278包括具有文本记录262的mDNS净荷260,所述文本记录包括计算设备102的当前权限序列标识符254(即,“1”)以及由计算设备102宣称的组长角色的指示252。在这样的示例中,因为计算设备101在检测到计算设备101与计算设备102之间的通信丢失期间承担组长角色,所以尽管计算设备101已承担了组长角色,计算设备102仍然宣称组长角色。因此,计算设备101和计算设备102可以协调谁将是组长,以避免以上描述的脑裂场景。
在这样的示例中,指令121可以将计算设备102所接收到的权限序列标识符254(“1”)与计算设备101的经修改的权限序列标识符154(“2”)进行比较。至少基于比较结果,指令121可以将计算设备101保持为组长角色。例如,在这些计算设备101和102中,具有较高权限序列标识符的计算设备将继续作为组长,在上述示例中,与具有权限序列标识符“1”的计算设备102相比,具有权限序列标识符“2”的计算设备101是组长。
在这样的示例中,计算设备102然后可以转换为成员角色,其中,指令221将组角色指示符252的空值存储在永久存储器250和文本记录262中,并且其中,指令还将为“0”的权限序列标识符254存储在永久存储器250和文本记录262中。计算设备101随后可以将计算设备102提升为备用组长角色。
随后,指令121可以将计算设备102提升279为备用组长角色。作为承担备用组长角色的计算设备102的一部分,指令221可以将计算设备102具有备用组长的指示252记录在永久存储器250和文本记录262中(例如,以替换存储在永久存储器250和文本记录262中的先前组角色指示252)。指令221还可以接收计算设备101的权限序列标识符154(“2”)并将其作为其权限序列标识符254(“2”)记录在永久存储器250和文本记录262中(例如,以替换存储在永久存储器250和文本记录262中的先前权限序列标识符254)。在这样的示例中,计算设备101的指令121还可以开始将配置信息256从计算设备101同步280到计算设备102。在这样的示例中,指令221可以接收配置信息256的同步并且将其存储在永久存储器250中。
在一些示例中,指令121检测到的通信丢失可能与计算设备101的网络接口(NI)130(例如,网络接口卡(NIC)等)相关联。例如,指令121可以使用计算设备101的网络接口130来获得ICMP回声和应答。在这样的示例中,指令121可以经由网络接口130将ICMP请求272发送到计算设备102,并然后在阈值时间量内未能经由网络接口130接收到预期的ICMP应答273,如上所述。
在这样的示例中,(在检测到通信丢失之后)响应于接收到提升输入182,指令121可以经由计算设备101的包括网络接口130的多个网络接口130、131、...来发送对关于计算设备102的信息的多个mDNS查询274。在这样的示例中,可以跨连接到计算设备101的每个广播域(或虚拟局域网(VLAN))提供mDNS查询274,以便如果计算设备102是可到达的情况下,给予更大的机会使mDNS请求274到达计算设备102。
尽管为了便于说明而示出了计算设备101的两个网络接口,但是在其他示例中,计算设备101和计算设备102中的每个计算设备可以具有更多或更少的网络接口。尽管在图2的计算设备组200中示出了两个计算设备101和102,但是在其他示例中,计算设备组200可以包括额外的计算设备。尽管本文为了便于说明使用整数作为示例权限序列标识符,但是在本文描述的示例中,针对权限序列标识符,可以使用任何合适类型的标识符。
如以上所指出的,在本文描述的示例中,指令221可以等同于指令121。在这样的示例中,本文关于指令121所描述的任何功能也可以由指令221执行,并且本文关于指令221所描述的任何功能也可以由指令121执行。在一些示例中,本文关于图2所描述的功能可以结合本文关于图1以及图3至图5中的任何一幅图所描述的功能来提供。
图3是包括启动后开始或移交组长角色的计算设备的示例计算设备组300的框图。图3中所示的示例不同于图1和图2中所示的示例,但是为了便于说明,对图1和2中所示的示例进行扩展,如上所述。然而,关于图3所描述的示例不应被解释为限制以上关于图1和图2所描述的示例。
在图3所示的示例包括计算设备组300,所述计算设备组至少包括可以经由一个或多个计算机网络201相互通信的计算设备101、102、103和104。在图3所示的示例中,计算设备101包括处理资源110、存储介质120、指令121、永久存储器150、和文本记录162,如上所述。在图3所示的示例中,计算设备102可以包括用于存储指令221(在一些示例中,其可以等同于指令121)的机器可读存储介质、用于执行指令221的至少一个处理资源、永久存储器250和文本记录262,如图2中所示出的,并且如上所描述的(尽管在图3中未示出)。
计算设备103可以包括用于存储指令(在一些示例中,其可以等同于指令121)的机器可读存储介质、用于执行指令的至少一个处理资源、永久存储器、和(mDNS净荷的)文本记录(未示出),如上关于图2、关于计算设备102所描述的。计算设备104可以包括用于存储指令(在一些示例中,其可以等同于指令121)的机器可读存储介质、用于执行指令的至少一个处理资源、永久存储器和(mDNS净荷的)文本记录(未示出),如上关于图2、关于计算设备102所描述的。
以下将关于图4和图5的方法来描述图3中所示的示例。尽管关于图3的示例来描述图4和图5的方法,所述方法可以由具有两个计算设备的计算设备组实施,或者由具有多于两个计算设备的计算设备组实施(如图3的示例中所示的)。在一些示例中,本文关于图3所描述的功能可以结合本文关于图1至图2以及图4至图5中的任何一幅图所描述的功能来提供。
图4是包括将存储的权限序列标识符与在一个或多个mDNS响应中返回的一个或多个权限序列标识符进行比较的示例方法400的流程图。尽管以下参照图3中的计算设备101描述了方法400的执行,但是可以使用适合于执行方法400的其他计算设备(例如,图1、图2和图3中任何一幅图的计算设备101、102、103或104)。另外,方法400的实施不限于这些示例。
在方法400的405处,响应于(计算设备组300的)计算设备101的启动,计算设备101的指令121在被执行时可以对计算设备101的永久存储器150进行读取以读取计算设备组300的计算设备101的角色的指示152。在(如图3中所示出的)一些示例中,永久存储器150中的指示152可以指示计算设备101具有计算设备组300中的组长角色。在这样的示例中,响应于确定永久存储器150指示计算设备101具有计算设备组300的组长角色,在410处,计算设备101的指令121可以将mDNS查询370传输到计算设备组300的一个或多个计算设备。例如,指令121可以将mDNS查询370传输到计算设备102(例如,当计算设备组300仅具有两个计算设备时)。在其他示例中,计算设备组300可以具有两个以上的计算设备(如图3所示出的),并且在这样的示例中,指令121可以将mDNS查询370传输到其他计算设备中的每一个,诸如计算设备102、103、104等,如图3所示出的。
计算设备101可以响应于一个或多个mDNS查询370接收一个或多个mDNS响应。例如,在计算设备组300仅具有两个计算设备的示例中,指令121可以例如从计算设备102接收mDNS响应372。在计算设备组300具有两个以上的计算设备(例如,如图3中所示出的)的其他示例中,指令121可以分别从计算设备102、103、104等中接收mDNS响应372、373、374等。每个mDNS响应372、373、374等可以包括如上所述的mDNS净荷,所述mDNS净荷包括具有计算设备的权限序列标识符和计算设备所宣称角色的指示的文本记录。在一些示例中,文本记录还可以包括计算设备已将哪个设备记录为组长的指示。
在415处,指令121可以将计算设备101的所存储的权限序列标识符154(例如,“2”)分别与在对mDNS查询370的一个或多个mDNS响应372、373、374等中提供的一个或多个权限序列标识符进行比较。在这样的示例中,存储的权限序列标识符154可以存储在计算设备101的永久存储器150中。
在420处,至少基于比较结果,指令121可以由计算设备101开始执行组长角色、或者将组长角色移交给计算设备组300中的另一计算设备并且用不同的标识符(例如,“0”)替换(或至少部分地替换)存储在计算设备101的永久存储器150中的权限序列标识符154。例如,当指令121确定计算设备101的所存储的权限序列标识符154(例如,“2”)大于对mDNS查询370的一个或多个mDNS响应中提供的每个所比较的权限序列标识符时,则指令121可以由计算设备101开始执行组长角色,包括例如由组长开始执行针对计算设备组的多个服务,如上所述。
尽管图4的流程图示出了某些功能的特定执行顺序,但方法400不限于所述顺序。例如,在流程图中相继示出的功能可以以不同的顺序执行、可以同时执行或部分同时执行、或者其组合。在一些示例中,本文关于图4所描述的功能可以结合本文关于图1至图3以及图5中的任何一幅图所描述的功能来提供。
图5是包括对接收到的mDNS响应进行过滤的示例方法500的流程图。尽管以下参照图3中的计算设备101描述了方法500的执行,但是可以使用适合于执行方法500的其他计算设备(例如,图1、图2和图3中的任何一幅图的计算设备101、102、103或104)。另外,方法500的实施不限于这些示例。
在方法500的505处,计算设备101可以启动。计算设备101可以是计算设备组300的一部分。在510处,响应于计算设备101的启动,计算设备101的指令121在被执行时可以对计算设备101的永久存储器150进行读取以读取计算设备组300的计算设备101的角色的指示152。在512处,指令121可以确定永久存储器150是否指示152计算设备101具有组长角色。响应于在512处确定永久存储器150指示152计算设备101具有除组长角色之外的角色(例如,备用组长角色,或具有指示成员角色的空值),方法500可以在560处结束。
在其他示例中,响应于确定永久存储器150指示152计算设备101具有组长角色(例如,如图3中所示的),方法500可以进行到515。在515处,计算设备101的指令121可以将mDNS查询370传输到计算设备组300的一个或多个计算设备,如上关于图4所描述的。
在520处,计算设备101可以接收响应于一个或多个mDNS查询370的一个或多个mDNS响应,如上关于图4所描述的。每个mDNS响应372、373、374等可以包括如上所述的包括文本记录的mDNS净荷,所述文本记录具有计算设备的权限序列标识符、计算设备所宣称角色的指示、组标识符(标识计算设备所属的计算设备组)、以及计算设备的标识符(例如,序列号)。在一些示例中,文本记录还可以包括计算设备已将哪个设备记录为组长的指示。
在525处,指令121可以对响应于mDNS查询370所接收的一个或多个mDNS响应进行过滤以识别从计算设备组300接收的一个或多个mDNS响应。在一些示例中,指令121可以基于响应中包括的计算设备标识符(例如,序列号)和组标识符中的一个或多个来过滤响应,以识别来自计算设备组300的mDNS响应。
在530处,指令121可以将存储在计算设备101的永久存储器150中的所存储的权限序列标识符154(例如,“2”)与在被识别为从计算设备组300接收的一个或多个mDNS响应的每一个中提供的一个或多个相应权限序列标识符进行比较。
在535处,指令121可以确定所存储的权限序列标识符154是否大于在所识别的一个或多个mDNS响应中提供的一个或多个相应权限序列标识符中的每一个。如果是,则方法500可以进行到550,在550处指令121可以由计算设备101开始执行组长角色,包括由计算设备101开始针对计算设备组300的组服务(例如,由组长执行针对计算设备组的多个服务,如上所述)。在一些示例中,由计算设备101开始执行组长角色还可以包括将mDNS报文377传输到计算设备组300中的计算设备(例如,每个其他计算设备),其中,mDNS报文377包含包括文本记录162的mDNS净荷160,所述文本记录包括存储在计算设备101的永久存储器150中的所存储的权限序列标识符154(例如,“2”)、以及计算设备101具有组长角色的指示。
在其他示例中,其中指令121在535处确定所存储的权限序列标识符154不大于在所识别的一个或多个mDNS响应中提供的一个或多个相应权限序列标识符中的每一个,方法500可以进行到540。在540处,指令121可以确定所存储的权限序列标识符154是否小于在所识别的一个或多个mDNS响应中提供的一个或多个相应权限序列标识符中的至少一个。如果是,则方法500可以进行到555,在555处指令121可以将组长角色移交给计算设备组300的另一计算设备并且用不同的标识符(例如,针对成员计算设备的“0”)替换存储在计算设备101的永久存储器中的权限序列标识符154(例如,“2”)。
在其他示例中,指令121可以在540处确定存储的权限序列标识符154不小于在一个或多个所标识mDNS响应中提供的一个或多个相应权限序列标识符中的任何一个。在这样的示例中,方法500可以进行到545。在545处,指令121可以确定所存储的权限序列标识符154是否等于在所识别的一个或多个mDNS响应中的一个中提供的一个或多个相应权限序列标识符中的一个,并且所识别的mDNS响应指示计算设备101具有组长角色。如果是,则方法500可以进行到550,在550处指令121可以由计算设备101开始执行组长角色,如上所述。
如果否(即,具有等于权限序列标识符154的权限序列标识符的所识别的mDNS响应指示除计算设备101之外的计算设备具有组长角色),则方法500可以进行到555,如上所述,在555处指令121可以将组长角色移交给计算设备组300的另一计算设备并且用不同的标识符(例如,针对成员计算设备的“0”)替换存储在计算设备101的永久存储器中的权限序列标识符154(例如,“2”)。
尽管图5的流程图示出了某些功能的特定执行顺序,但方法500不限于所述顺序。例如,在流程图中相继示出的功能可以以不同的顺序执行、可以同时执行或部分同时执行、或者其组合。在一些示例中,本文关于图5所描述的功能可以结合本文关于图1至图4中的任何一幅图所描述的功能来提供。
如本文所使用的,“计算设备”可以是服务器、存储设备、存储阵列、台式或膝上型计算机、交换机、路由器、或包括处理资源的任何其他处理设备或装置。在本文所描述的示例中,处理资源可以包括例如包括在单个计算设备中或跨多个计算设备分布的一个处理器或多个处理器。如本文所使用的,“处理器”可以是中央处理单元(CPU)、基于半导体的微处理器、图形处理单元(GPU)、被配置用于检索和执行指令的现场可编程门阵列(FPGA)、适用于检索和执行存储在机器可读存储介质上的指令的其他电子电路系统,或其组合中的至少一个。在本文所描述的示例中,处理资源可以提取、解码和执行存储在存储介质上的指令,以执行关于存储在存储介质上的指令所描述的功能。在其他示例中,关于本文描述的任何指令所描述的功能可以以电子电路系统的形式、以在机器可读存储介质上编码的可执行指令的形式、或其组合来实施。存储介质可以位于执行机器可读指令的计算设备中,或者远离计算设备但可(例如,经由计算机网络)由计算设备访问以供执行。在图1所示的示例中,存储介质120可以由一个机器可读存储介质或多个机器可读存储介质实施。
在本文所描述的示例中,存储阵列可以是计算设备,所述计算设备包括多个存储设备和与主机设备交互并控制对存储设备的访问的一个或多个控制器。在一些示例中,存储设备可以包括硬盘驱动器(HDD)、固态驱动器(SSD)、或任何其他合适类型的存储设备,或其任何组合。在一些示例中,一个或多个控制器可以虚拟化由存储设备提供的存储容量,以使主机能够访问由来自多个不同存储设备的存储空间构成的虚拟对象(例如,卷)。
在其他示例中,以上关于本文描述的指令所描述的功能可以由一个或多个引擎实施,所述一个或多个引擎可以是实施一个或多个引擎的功能的硬件和程序的任何组合。在本文所描述的示例中,硬件和程序的这种组合可以以多种不同的方式实施。例如,针对引擎的程序可以是存储在至少一个非暂态机器可读存储介质上的处理器可执行指令并且针对引擎的硬件可以包括执行这些指令的至少一个处理资源。在一些示例中,硬件还可以包括其他电子电路系统,用于至少部分地实施一个或多个引擎中的至少一个。在一些示例中,至少一个机器可读存储介质可以存储指令,所述指令在由至少一个处理资源执行时至少部分地实施一个或多个引擎的一些或全部。在这样的示例中,计算设备可以包括存储指令的至少一个机器可读存储介质和执行指令的至少一个处理资源。在其他示例中,引擎可以由电子电路系统实施。
如本文所使用的,“机器可读存储介质”可以是用于包含或存储诸如可执行指令、数据等信息的任何电子、磁性、光学或其他物理存储装置。例如,本文描述的任何机器可读存储介质可以是随机存取存储器(RAM)、EEPROM、易失性存储器、非易失性存储器、闪速存储器、存储驱动器(例如,硬盘驱动器(HDD))、固态驱动器、任何类型的存储盘(例如,光盘、DVD等)等,或其组合中的任何一者。此外,本文描述的任何机器可读存储介质可以是非暂态的。在本文所描述的示例中,一个或多个机器可读存储介质可以是物品(或制品)的一部分。物品或制品可以指制造的任何单个部件或多个部件。在一些示例中,指令可以是安装包的一部分,所述安装包在被安装时可以由处理资源执行以实施本文描述的功能。
本说明书(包括任何权利要求书、摘要和附图)中所公开的所有特征、和/或如此公开的任何方法和过程的所有元素都可以组合为除了这些特征和/或元素中至少一些相互排他的组合之外的任何组合。
Claims (20)
1.一种包括至少一个非暂态机器可读存储介质的物品,所述至少一个非暂态机器可读存储介质包括可由计算设备组的第一计算设备的至少一个处理资源执行以进行以下操作的指令:
经由第一通信协议,检测所述计算设备组的所述第一计算设备与所述计算设备组的第二计算设备之间的通信丢失;
在检测到所述通信丢失之后,接收指示所述第一计算设备承担所述计算设备组的组长角色的提升输入;
响应于接收到所述提升输入,经由不同于所述第一通信协议的第二通信协议,发送对关于当前具有所述组长角色的所述第二计算设备的信息的查询;
基于经由所述第二通信协议从所述第二计算设备接收到对所述查询的响应,确定响应于所述提升输入而不由所述第一计算设备承担所述组长角色;以及
基于在阈值时间段内经由所述第二通信协议没有从所述第二计算设备接收到对所述查询的响应,由所述第一计算设备承担所述组长角色。
2.如权利要求1所述的物品,其中,所述第二通信协议是多播域名系统mDNS协议。
3.如权利要求2所述的物品,其中,所述第一通信协议是因特网控制报文协议ICMP。
4.如权利要求2所述的物品,其中,所述指令可执行以便:在检测到所述通信丢失之前,
从具有所述组长角色的所述第二计算设备接收权限序列标识符;
将所接收的权限序列标识符存储在所述第一计算设备的永久存储器中;以及
由所述第一计算设备承担所述计算设备组的备用组长角色。
5.如权利要求4所述的物品,其中,所述指令可执行以便:在检测到所述通信丢失之前,
从所述第二计算设备获取组配置信息;以及
当所述第一计算设备具有所述备用组长角色时,周期性地将存储在所述第一计算设备上的所获取的组配置信息与所述第二计算设备的所述组配置信息同步。
6.如权利要求4所述的物品,其中,用于在所述第一计算设备处承担所述组长角色的指令包括可执行以进行以下操作的指令:
修改存储在所述第一计算设备的所述永久存储器中的所述权限序列标识符;
修改所述第一计算设备的mDNS净荷的文本记录以包括所修改的权限序列标识符和所述第一计算设备具有所述组长角色的指示,其中,所述mDNS净荷在对mDNS查询的mDNS响应中返回;
在所述第一计算设备处,开始针对所述计算设备组的多个组服务。
7.如权利要求6所述的物品,其中,所述指令可执行以便:
检测所述第一计算设备与所述第二计算设备之间的通信恢复;
向所述第二计算设备提供包括所述mDNS净荷的第一mDNS报文,所述第一mDNS报文包括所述mDNS净荷,所述mDNS净荷具有所述第一计算设备的所修改的文本记录,所修改的文本记录包括所述修改的权限序列标识符;以及
接收来自所述第二计算设备的第二mDNS报文,所述第二mDNS报文包括具有文本记录的mDNS净荷,所述文本记录包括所述第二计算设备的权限序列标识符和由所述第二计算设备宣称的角色。
8.如权利要求7所述的物品,其中,所述指令可执行以便:
将所接收的所述第二计算设备的权限序列标识符与所述第一计算设备的所述修改的权限序列标识符进行比较;以及
至少基于所述比较的结果,将所述第二计算设备转换为所述备用组长角色,而所述第一计算设备保持为所述组长角色。
9.一种系统,所述系统包括计算设备组的第一计算设备,所述第一计算设备包括:
至少一个处理资源;以及
至少一个非暂态机器可读存储介质,包括可由所述至少一个处理资源执行以进行以下操作的指令:
经由第一通信协议,检测所述计算设备组的所述第一计算设备与所述计算设备组的第二计算设备之间的通信丢失;
在检测到所述连接丢失之后,接收指示所述第一计算设备承担所述计算设备组的组长角色的提升输入;
响应于接收到所述提升输入,发送对关于当前具有所述组长角色的所述第二计算设备的信息的多播域名系统mDNS查询,其中,mDNS是不同于所述第一通信协议的第二通信协议;
基于从所述第二计算设备接收到对所述mDNS查询的mDNS响应,确定响应于所述提升输入而不由所述第一计算设备承担所述组长角色;以及
基于在阈值时间段内没有从所述第二计算设备接收到对所述mDNS查询的mDNS响应,由所述第一计算设备承担所述组长角色。
10.如权利要求9所述的系统,其中,
所述通信丢失与所述第一计算设备的第一网络接口相关联;并且
所述指令可执行以便:
响应于接收到所述提升输入,经由所述第一计算设备的包括所述第一网络接口的多个网络接口来发送对关于当前具有所述组长角色的所述第二计算设备的信息的多个mDNS查询。
11.如权利要求9所述的系统,其中,所述指令可执行以便:
响应于检测到所述通信丢失,经由所述第一计算设备的用户界面来输出警报;
其中,在输出所述警报之后,所述第一计算设备经由所述用户界面接收所述提升输入。
12.如权利要求9所述的系统,其中,所述指令可执行以便:
响应于在所述阈值时间段内从所述第二计算设备接收到对所述mDNS查询的mDNS响应,经由所述第一计算设备的用户界面来输出错误。
13.如权利要求9所述的系统,其中,所述第一通信协议是因特网控制报文协议ICMP。
14.一种计算设备组中的给定计算设备的方法,所述方法包括:
响应于计算设备组的给定计算设备的启动,读取所述给定计算设备的永久存储器以读取所述计算设备组的所述给定计算设备的角色的指示;
响应于确定所述永久存储器指示所述给定计算设备具有所述计算设备组的组长角色,由所述给定计算设备向所述计算设备组的一个或多个计算设备传输多播域名系统mDNS查询;
将所述给定计算设备的存储的权限序列标识符分别与对所述mDNS查询的一个或多个mDNS响应中提供的一个或多个权限序列标识符进行比较,其中,所述存储的权限序列标识符存储在所述给定计算设备的所述永久存储器中;
至少基于所述比较的结果:
由所述给定计算设备开始执行所述组长角色;或者
将所述组长角色移交给所述计算设备组的另一计算设备,并且使用不同的标识符替换存储在所述给定计算设备的所述永久存储器中的所述权限序列标识符。
15.如权利要求14所述的方法,包括:
对响应于所述mDNS查询所接收的所述一个或多个mDNS响应进行过滤以识别从所述计算设备组接收的一个或多个mDNS响应;并且
其中,所述比较包括:
将所述存储的权限序列标识符与在被识别为从所述计算设备组接收的一个或多个mDNS响应中提供的一个或多个权限序列标识符进行比较。
16.如权利要求15所述的方法,包括:
至少基于确定所述存储的权限序列标识符大于在所识别的一个或多个mDNS响应中提供的一个或多个相应权限序列标识符中的每一个:
由所述给定计算设备开始针对所述计算设备组的组服务;以及
将mDNS报文传输到所述计算设备组,所述mDNS报文包括所述存储的权限序列标识符和所述给定计算设备具有所述组长角色的指示。
17.如权利要求15所述的方法,包括:
至少基于确定所述存储的权限序列标识符等于在所识别的mDNS响应中的一个所识别的mDNS响应中提供的相应权限序列标识符中的一个权限序列标识符、并且所述所识别的mDNS响应中的所述一个所识别的mDNS响应指示所述给定计算设备具有所述组长角色:
由所述给定计算设备开始针对所述计算设备组的组服务;以及
将mDNS报文传输到所述计算设备组,所述mDNS报文包括所述存储的权限序列标识符和所述给定计算设备具有所述组长角色的指示。
18.如权利要求15所述的方法,包括:
至少基于确定所述存储的权限序列标识符小于在所识别的一个或多个mDNS响应中提供的一个或多个相应权限序列标识符中的至少一个:
将所述组长角色移交给所述计算设备组中的另一计算设备;以及
使用不同的标识符替换存储在所述给定计算设备的所述永久存储器中的所述权限序列标识符。
19.如权利要求15所述的方法,包括:
至少基于确定所述存储的权限序列标识符等于在所识别的mDNS响应中的一个所识别的mDNS响应中提供的相应权限序列标识符中的一个权限序列标识符、并且所述所识别的mDNS响应中的所述一个所识别的mDNS响应指示所述计算设备中的另一计算设备具有所述组长角色:
将所述组长角色移交给所述计算设备组中的所述另一计算设备;以及
使用不同的标识符替换存储在所述给定计算设备的所述永久存储器中的所述权限序列标识符。
20.如权利要求14所述的方法,其中,所述计算设备组包括多于两个计算设备。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/051,144 | 2018-07-31 | ||
US16/051,144 US11558454B2 (en) | 2018-07-31 | 2018-07-31 | Group leader role queries |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110784558A true CN110784558A (zh) | 2020-02-11 |
Family
ID=69227611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910618146.5A Pending CN110784558A (zh) | 2018-07-31 | 2019-07-10 | 组长角色查询 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11558454B2 (zh) |
CN (1) | CN110784558A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11665136B2 (en) * | 2020-05-02 | 2023-05-30 | Arris Enterprises Llc | Specifying a user group in a multicast domain name system |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60318468T2 (de) | 2002-10-07 | 2008-05-21 | Fujitsu Siemens Computers, Inc., Sunnyvale | Verfahren zur lösung von entscheidungslosigkeiten in einem cluster-rechnersystem |
US7739677B1 (en) | 2005-05-27 | 2010-06-15 | Symantec Operating Corporation | System and method to prevent data corruption due to split brain in shared data clusters |
US8498967B1 (en) | 2007-01-30 | 2013-07-30 | American Megatrends, Inc. | Two-node high availability cluster storage solution using an intelligent initiator to avoid split brain syndrome |
US9456356B2 (en) * | 2009-10-15 | 2016-09-27 | Apple Inc. | Methods for synchronizing data in a network |
GB2484086A (en) * | 2010-09-28 | 2012-04-04 | Metaswitch Networks Ltd | Reliability and performance modes in a distributed storage system |
US8560628B2 (en) | 2011-01-11 | 2013-10-15 | International Business Machines Corporation | Supporting autonomous live partition mobility during a cluster split-brained condition |
US8850068B2 (en) * | 2012-05-03 | 2014-09-30 | Futurewei Technologies, Inc. | United router farm setup |
CN102799394B (zh) | 2012-06-29 | 2015-02-25 | 华为技术有限公司 | 一种实现高可用集群的心跳服务的方法及装置 |
US10003642B2 (en) * | 2013-06-28 | 2018-06-19 | Apple Inc. | Operating a cluster of peer-to-peer devices |
US9450852B1 (en) | 2014-01-03 | 2016-09-20 | Juniper Networks, Inc. | Systems and methods for preventing split-brain scenarios in high-availability clusters |
JP2016062232A (ja) * | 2014-09-17 | 2016-04-25 | 株式会社リコー | 情報処理システム、情報処理装置、プログラム及び情報処理方法 |
WO2017058654A1 (en) * | 2015-09-28 | 2017-04-06 | Google Inc. | Time-synchronized, multizone media streaming |
JP6217877B1 (ja) * | 2017-03-28 | 2017-10-25 | 株式会社セガゲームス | 情報処理装置およびゲームプログラム |
CA3061746A1 (en) * | 2017-04-28 | 2018-11-01 | Aptos, Inc. | Systems and methods for point of sale data synchronization |
US11176172B2 (en) * | 2018-05-14 | 2021-11-16 | Vmware, Inc. | Methods and apparatus for automatic database failover in a master-replica replication configuration |
-
2018
- 2018-07-31 US US16/051,144 patent/US11558454B2/en active Active
-
2019
- 2019-07-10 CN CN201910618146.5A patent/CN110784558A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11558454B2 (en) | 2023-01-17 |
US20200045105A1 (en) | 2020-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10178184B2 (en) | System and method for session handling in a multitenant application server environment | |
US20190108231A1 (en) | Application Aware Snapshots | |
US8856592B2 (en) | Mechanism to provide assured recovery for distributed application | |
US8533171B2 (en) | Method and system for restarting file lock services at an adoptive node during a network filesystem server migration or failover | |
US8938643B1 (en) | Cloning using streaming restore | |
US8655851B2 (en) | Method and system for performing a clean file lock recovery during a network filesystem server migration or failover | |
US8949828B2 (en) | Single point, scalable data synchronization for management of a virtual input/output server cluster | |
US8443231B2 (en) | Updating a list of quorum disks | |
US11709743B2 (en) | Methods and systems for a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system | |
US10430217B2 (en) | High availability using dynamic quorum-based arbitration | |
JP2018534665A (ja) | 入力/出力フェンシングの最適化 | |
US11048559B2 (en) | Managing ownership transfer of file system instance in virtualized distributed storage system | |
WO2018157605A1 (zh) | 一种集群文件系统中消息传输的方法及装置 | |
US20240134761A1 (en) | Application recovery configuration validation | |
CN110784558A (zh) | 组长角色查询 | |
CN116389233B (zh) | 容器云管理平台主备切换系统、方法、装置和计算机设备 | |
EP4250119A1 (en) | Data placement and recovery in the event of partition failures | |
EP4191429A1 (en) | Techniques to achieve cache coherency across distributed storage clusters | |
US11892921B2 (en) | Techniques for package injection for virtual machine configuration | |
US9465654B2 (en) | Intelligent failover or shutdown of an application using input/output shipping in response to loss of connectivity to data storage in a cluster | |
US11108730B2 (en) | Group heartbeat information in a domain name system server text record | |
US11416347B2 (en) | Making a backup copy of data before rebuilding data on a node | |
US8533331B1 (en) | Method and apparatus for preventing concurrency violation among resources | |
US11847033B1 (en) | Limiting blast radius for critical on-disk data corruptions in a distributed storage system | |
US20200311037A1 (en) | State information file locations based on version number |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |