IP Library Granted Patent US 9,467,510
Granted Patent B2
US 9,467,510 · App. 15/004,144 · Granted Oct 11, 2016

Methods, devices and systems enabling a secure and authorized induction of a node into a group of nodes in a distributed computing environment

Inventors: Yeturu Aahlad (Foster City, CA); Michael Parkin (San Ramon, CA); Naeem Akhtar (Dublin, CA)
Assignee: WANdisco, Inc.
H04L67/1095G06F9/5083H04L67/10H04L67/34H04L67/40H04L69/24
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,467,510
App. No.
15/004,144
Granted
Oct 11, 2016
Kind
B2
Abstract

A messaging model and node induction methods and corresponding devices and systems are disclosed herein that are effective to enable an inductor node to induct an inductee node into a distributed computing system and to enable the inducted node to carry out predetermined tasks.

Claims (84)

1. A computer-implemented method for an inductor node to induct a selected inductee node into a distributed computing system, comprising:

creating an induction task comprising at least:

an induction ticket that defines an identity of the induction task, information that enables the inductor node and the inductee node to communicate, and configuration information;

at least one other node of the distributed computing system of which the inductee node should be aware and;

at least one post-induction task;

storing the created induction task in a persistent memory accessible to the inductor node;

sending the induction task to the selected inductee node over a computer network;

responsive to the inductee node having received the induction task, receiving a membership request indicating that the selected inductee node has initiated an induction process;

creating a bootstrap membership that defines roles of the inductor node and of the selected inductee node and deploying the bootstrap membership; and

creating a deterministic state machine referencing the created bootstrap membership.

2. The computer-implemented method of claim 1 , further comprising accessing the stored induction task from the persistent memory and cloning the induction task for use in inducting another selected inductee node into the distributed computing system.

3. The computer-implemented method of claim 1 , further comprising accessing the stored induction task from the persistent memory and continuing the induction of the selected inductee node into the distributed computing system after a restart of the inductor node before the deterministic state machine is created.

4. The computer-implemented method of claim 1 , further comprising encrypting the induction ticket.

5. The computer-implemented method of claim 1 , further comprising validating the membership request received from the selected inductee node and terminating the induction if the membership request is invalid.

6. The computer-implemented method of claim 1 , wherein the bootstrap membership comprises:

a determinalistically created membership identity; and

roles of the inductor node and of the selected inductee node.

7. A computing device, comprising:

a memory; and

a processor, the processor being configured to execute instructions stored in the memory to run the computing device as an inductor node configured to induct a selected inductee node into a distributed computing system, the stored instructions being configured to cause the processor to:

create an induction task comprising at least:

an induction ticket that defines an identity of the induction task, information that enables the inductor node and the inductee node to communicate, and configuration information;

at least one other node of the distributed computing system of which the inductee node should be aware and;

at least one post-induction task;

store the created induction task in a persistent memory accessible to the inductor node;

send the induction task to the selected inductee node over a computer network;

responsive to the inductee node having received the induction task, receive a membership request indicating that the selected inductee node has initiated an induction process;

create a bootstrap membership that defines roles of the inductor node and of the selected inductee node and deploy the bootstrap membership; and

create a deterministic state machine referencing the created bootstrap membership.

8. A non-transitory, tangible data storage medium storing data and instructions that configure a computing device as an inductor node configured to induct a selected inductee node into a distributed computing system, the stored data and instructions being configured to cause the computing device to:

create an induction task comprising at least:

an induction ticket that defines an identity of the induction task, information that enables the inductor node and the inductee node to communicate, and configuration information;

at least one other node of the distributed computing system of which the inductee node should be aware and;

at least one post-induction task;

store the created induction tail in a persistent memory accessible to the inductor node;

send the induction task to the selected inductee node over a computer network;

responsive to the inductee node having received the induction task, receive a membership request indicating that the selected inductee node has initiated an induction process;

create a bootstrap membership that defines roles of the inductor node and of the selected inductee node and deploy the bootstrap membership; and

create a deterministic state machine referencing the created bootstrap membership.

9. A computer-implemented method for a selected inductee node to be inducted into a distributed computing system b an inductor node, comprising:

receiving from the inductor node, over a computer network, an induction task that comprises:

an induction ticket that defines at least an identity of the induction task and information that enables the selected inductee node to communicate with the inductor node;

at least one other node of the distributed computing system of which the selected inductee node should be aware and;

at least one post-induction task;

initiating an induction process according to the received induction task;

sending to the inductor task an indication that the induction process has initiated;

creating a bootstrap membership that defines roles of the inductor node and of the selected inductee node and deploying the bootstrap membership;

creating a deterministic state machine referencing the bootstrap membership; and

carrying out the at least one post-induction task.

10. The computer-implemented method claim 9 , further comprising the deterministic state machine receiving, from the inductor node, a list of locations and nodes of which the selected inductee node should be aware.

11. The computer-implemented method claim 9 , further comprising the deterministic state machine receiving, from the inductor node, a proposal comprising a list of locations and nodes of which the selected inductee node should be aware.

12. The computer-implemented method claim 9 , further comprising validating the received induction ticket.

13. The computer-implemented method of claim 9 , wherein creating the bootstrap membership comprises creating the bootstrap membership with a deterministically-created membership identity, and roles of the inductor and inductee nodes.

14. The computer-implemented method of claim 9 , wherein the received induction task is a clone of a previously used induction task that was stored in a persistent memory accessible to the inductor node.

15. The computer-implemented method of claim 9 , wherein the received induction ticket comprises a location identity, hostname and port of the inductor node on the computer network.

16. The computer-implemented method of claim 9 , wherein the induction ticket is encrypted using a Private Key Infrastructure (PKI) encryption system and wherein the method further comprises the induction node decrypting the induction ticket using a public key of the inductor node.

17. The computer-implemented method of claim 9 , wherein carrying out the at least one post-induction task comprises at least one of:

creating a new membership;

joining an existing membership; and

performing a deployment and synchronization of a replicated entity.

18. The computer-implemented method of claim 9 , wherein sending to the inductor task an indication that the induction process has initiated comprises creating and switching on a beacon that broadcasts, over the computer network, an identity of the induction task, an identity, location, hostname and port of the inductee node on the computer network.

19. The computer-implemented method of claim 9 , wherein creating the bootstrap membership comprises configuring the bootstrap membership with a deterministically-created membership identity, the inductor node in a role of agreement proposer and agreement acceptor and the selected inductee node in a role of learner.

20. A computing device, comprising:

a memory; and

a processor, the processor being configured to execute instructions stored in the memory to configure the computing device as a selected inductee node to be inducted into a distributed computing system by an inductor node, the stored instructions being configured to cause the processor to:

receive from the inductor node, over a computer network, an induction task that comprises:

an induction ticket that defines an identity of the induction task, information that enables the selected inductee node to communicate with the inductor node, and configuration information;

at least one other node of the distributed computing system of which the selected inductee node should be aware and;

at least one post-induction task;

initiate an induction process according to the received induction task;

send to the inductor task an indication that the induction process has initiated;

create a bootstrap membership that defines roles of the inductor node and of the selected inductee node and deploy the bootstrap membership;

create a deterministic state machine referencing the bootstrap membership; and

carry out the at least one post-induction task.

21. A non-transitory, tangible data storage medium storing data and instructions that configure a computing device as a selected inductee node to be inducted into a distributed computing system by an inductor node, the stored instructions being configured to cause the computing device to:

receive from the inductor node, over a computer network, an induction task that comprises:

an induction ticket that defines an identity of the induction task, information that enables the selected inductee node to communicate with the inductor node, and configuration information;

at least one other node of the distributed computing system of which the selected inductee node should be aware and;

at least one post-induction task;

initiate an induction process according to the received induction task;

send to the inductor task an indication that the induction process has initiated;

create a bootstrap membership that defines roles of the inductor node and of the selected inductee node and deploy the bootstrap membership;

create a deterministic state machine referencing the bootstrap membership; and

carry out the at least one post-induction task.

Assignments (2)
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 →
Continuity (3)
Continuation 13835888 · Mar 15, 2013
Provisional Application 61746867 · Dec 28, 2012
Related Publication 20160191622A1 · Jun 30, 2016