IP Library Granted Patent US 9,332,069
Granted Patent B2
US 9,332,069 · App. 13/837,366 · Granted May 3, 2016

Methods, devices and systems for initiating, forming and joining memberships in distributed computing systems

Inventors: Yeturu Aahlad (Foster City, CA); Michael Parkin (San Ramon, CA); Naeem Akhtar (Dublin, CA)
Assignee: WANdisco, Inc.
H04L67/1048H04L12/185
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,332,069
App. No.
13/837,366
Granted
May 3, 2016
Kind
B2
Abstract

A computer-implemented method of deploying a membership of nodes in a distributed computing system may comprise selecting nodes to be part of a membership of nodes; creating a membership task identifying a membership creator node as the node that is creating the membership and comprising a membership target identifying at least one node of the distributed computing system that is to become a member of the membership; and creating a beacon configured to send a create membership message to each identified node, the create membership message comprising at least an identity of the membership task and an identification of the membership. Upon receiving a response from a node in the membership target, the node from which the response was received may be removed from the beacon. The membership may be deployed when a response has been received from each of the nodes identified in the membership target.

Claims (51)

1. A computer-implemented method of deploying a membership of distributed compute nodes in a distributed computing system hosting replicated state machines, comprising;

selecting distributed compute nodes to be part of a membership of distributed compute nodes to be deployed;

creating a membership task identifying a membership creator node as the distributed compute node that is creating the membership to be deployed and comprising a membership target identifying at least one distributed compute node of the distributed computing system that is to become a member of the membership;

persisting the created membership task in a persistent store;

creating a beacon configured to send, over a computer network, a create membership message to each distributed compute node identified in the membership target, the create membership message comprising at least an identity of the membership task and an identification of the membership to be deployed; and

upon the membership creator node receiving a response from a distributed compute node in the membership target:

removing the distributed compute node from which the response was received from the beacon; and

deploying the membership when a response has been received from each of the distributed compute nodes identified in the membership target, and

if the membership creator node fails before it has received responses from each of the distributed compute nodes identified in the membership target, restarting the membership task and resending duplicate create membership messages to at least one of the distributed compute nodes identified in the membership target.

2. The computer-implemented method of claim 1 , further comprising assigning at least one role to the distributed compute nodes selected to be part of the membership to be deployed.

3. The computer-implemented method of claim 2 , wherein the at least one role comprises a role of a membership creator and a role of a membership target.

4. The computer-implemented method of claim 1 , wherein the create membership message further comprises an identification of the membership creator node and sufficient information to enable communication therewith.

5. The computer-implemented method of claim 4 , wherein the information sufficient to communicate with the membership creator node comprises at least one of an identification, a location and a hostname of the membership creator node.

6. The computer-implemented method of claim 1 , wherein the membership task is identified by a unique task identifier.

7. The computer-implemented method of claim 1 , further comprising, after having deployed the membership, persisting a state of the created membership task.

8. The computer-implemented method of claim 1 , wherein deployment of the membership is idempotent.

9. A computing device, comprising:

a memory;

a processor, and

a plurality of processes spawned by the processor, the processes being configured to cause the computing device to deploy a membership of distributed compute nodes in a distributed computing system hosting replicated state machines, the plurality of processes comprising processing logic to:

select distributed compute nodes to be part of membership of distributed compute nodes to be deployed;

create a membership task identifying a membership creator node as the distributed compute node that is creating the membership to be deployed and comprising a membership target identifying at least one distributed compute node of the distributed computing system that is to become a member of the membership;

persist the created membership task in a persistent store;

create a beacon configured to send, over a computer network, a create membership message to each distributed compute node identified in the membership target, the create membership message comprising at least an identity of the membership task and an identification of the membership to be deployed; and

upon receiving a response from a distributed compute node in the membership target:

remove the distributed compute node from which the response was received from the beacon; and

deploy the membership when a response has been received from each of the distributed compute nodes identified in the membership target, and

if the membership creator node fails before it has received responses from each of the distributed compute nodes identified in the membership target, restart the membership task and resend duplicate create membership messages to at least one of the distributed compute nodes identified in the membership target.

10. The computing device of claim 9 , further comprising processing logic to assign at least one role to the distributed compute nodes selected to be part of the membership to be deployed.

11. The computing device of claim 10 , wherein the at least one role comprises a role of a membership creator and a role of a membership target.

12. The computing device of claim 9 , wherein the create membership message further comprises an identification of the membership creator node and sufficient information to enable communication therewith.

13. The computing device of claim 12 , wherein the information sufficient to communicate with the membership creator node comprises at least one of an identification, a location and a hostname of the membership creator node.

14. The computing device of claim 9 , wherein the membership task is identified by a unique task identifier.

15. The computing device of claim 9 , further comprising processing logic to, after having deployed the membership, persist a state of the created membership task.

16. The computing device of claim 9 , wherein deployment of the membership is idempotent.

17. A non-transitory tangible machine-readable medium having data stored thereon representing sequences of instructions which, when executed by a computing device, cause the computing device to deploy a membership of distributed compute nodes in a distributed computing system hosting replicated state machines by:

selecting distributed compute nodes to be part of membership of distributed compute nodes to be deployed;

creating a membership task identifying a membership creator node as the n distributed compute ode that is creating the membership to be deployed and comprising a membership target identifying at least one distributed compute node of the distributed computing system that is to become a member of the membership; and

persisting the created membership task in a persistent store;

creating a beacon configured to send, over a computer network, a create membership message to each distributed compute node identified in the membership target, the create membership message comprising at least an identity of the membership task and an identification of the membership to be deployed; and

upon receiving a response from a distributed compute node in the membership target:

removing the distributed compute node from which the response was received from the beacon; and

deploying the membership when a response has been received from each of the distributed compute nodes identified in the membership target, and

if the membership creator node fails before it has received responses from each of the distributed compute nodes identified in the membership target, restarting the membership task and resending duplicate create membership messages to at least one of the distributed compute nodes identified in the membership target.

18. The non-transitory tangible machine-readable medium of claim 17 , wherein the sequences of instructions are further configured to cause the computing device to assign at least one role to the distributed compute nodes selected to be part of the membership to be deployed.

19. The non-transitory tangible machine-readable medium of claim 18 , wherein the at least one role comprises a role of a membership creator and a role of a membership target.

20. The non-transitory tangible machine-readable medium of method 17 , wherein the create membership message further comprises an identification of the membership creator node and sufficient information to enable communication therewith.

21. The non-transitory tangible machine-readable medium of claim 20 , wherein the information sufficient to communicate with the membership creator node comprises at least one of an identification, a location and a hostname of the membership creator node.

22. The non-transitory tangible machine-readable medium of claim 17 , wherein the membership task is identified by a unique task identifier.

23. The non-transitory tangible machine-readable medium of claim 17 , wherein the sequences of instructions are further configured to cause the computing device to, after having deployed the membership, persist a state of the created membership task.

24. The non-transitory tangible machine-readable medium of claim 17 , wherein deployment of the membership is idempotent.

Assignments (3)
CHANGE OF NAME Recorded Oct 10, 2023
From: WANDISCO, INC.
To: CIRATA, INC.
Reel/Frame 065239/0381 →
SECURITY INTEREST Recorded Sep 27, 2016
From: WANDISCO, INC.
To: HSBC BANK PLC
Reel/Frame 039870/0958 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2013
From: AAHLAD, YETURU; PARKIN, MICHAEL; AKHTAR, NAEEM
To: WANDISCO, INC.
Reel/Frame 030483/0189 →
Continuity (2)
Provisional Application 61746940 · Dec 28, 2012
Related Publication 20140189004A1 · Jul 3, 2014