IP Library Granted Patent US 9,201,742
Granted Patent B2
US 9,201,742 · App. 14/508,785 · Granted Dec 1, 2015

Method and system of self-managing nodes of a distributed database cluster with a consensus algorithm

Inventors: Brian J. Bulkowski (Menlo Park, CA); Venkatachary Srinivasan (Sunnyvale, CA)
G06F11/183G06F17/30584
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,201,742
App. No.
14/508,785
Granted
Dec 1, 2015
Kind
B2
Abstract

In one exemplary aspect, a method of a distributed database system includes the step of detecting that a database node departed from a database cluster. A consensus-based voting process is implemented utilizing all of a set of other database nodes remaining in the database cluster. A cluster configuration is determined with the consensus-based voting process. The cluster configuration includes a new list of the set of other database nodes remaining in the database cluster. The data is automatically rebalanced among the set of other database nodes remaining in the database cluster according to the cluster configuration. Optionally, the consensus-based voting process can include a Paxos algorithm. The database cluster can be a Not-Only SQL (NOSQL) distributed database cluster.

Claims (38)

1. A method of a distributed database system comprising:

detecting that a database node departed from a database cluster;

implementing a consensus-based voting process utilizing all of a set of other database nodes remaining in the database cluster;

determining a cluster configuration, with the consensus-based voting process, wherein the cluster configuration comprises a new list of the set of other database nodes remaining in the database cluster; and

automatically rebalancing data among the set of other database nodes remaining in the database cluster according to the cluster configuration.

2. The method of claim 1 , wherein the consensus-based voting process comprises a Paxos algorithm.

3. The method of claim 2 , wherein the database cluster comprises a Not-Only Structured Query Language (NOSQL) distributed database cluster.

4. The method claim 3 , wherein the database node includes a persistent unique identifier that the database node periodically transmits to the set of other database nodes.

5. The method of claim 4 , wherein determining that the database node has departed from a database cluster further comprises:

monitoring, with the set of other database nodes, a departure of the persistent unique identifier from the database node; and

automatically determining that the database node has departed from the database cluster when the persistent unique identifier is no longer received by the set of other database nodes.

6. The method of claim 5 further comprising:

automatically determining that a new database node has arrived when a new persistent unique identifier is received by the set of other database nodes.

7. The method of claim 6 , wherein the Paxos algorithm comprises:

automatically electing a principal node with votes by all members of the set of other database nodes remaining in the database cluster;

utilizing a multi-phase commit process with the principal database node to determine the state of the set of other database nodes, and wherein the principal node communicates a request to the other members of the set of other database nodes to return a commit transaction back to the principal node;

detecting a commit transaction in response to the principal database node's request from the other members of the set of other database nodes; and

including each database node that communicates the commit transactions in a new database cluster, wherein the Paxos algorithm is used to generate a list member nodes of the new database cluster.

8. The method of claim 2 , wherein a set of instructions for the consensus-based voting process are present in each database node of the database cluster.

9. A computerized system comprising:

a processor configured to execute instructions;

a memory containing instructions when executed on the processor, causes the processor to perform operations that:

detect a change to the number of database nodes a database cluster;

implement consensus-based voting process utilizing all of a set of database nodes in the database cluster;

determine a cluster configuration, with the consensus-based voting process, wherein the cluster configuration comprises a new list of the set of database nodes in the database cluster.

10. The computerized system of claim 9 , wherein the wherein the consensus-based voting process comprises a Paxos algorithm.

11. The computerized system of claim 10 , wherein the database cluster comprises a Not-Only SQL (NOSQL) distributed database cluster.

12. The computerized system of claim 11 , wherein the memory containing instructions when executed on the processor, causes the processor to perform operations that:

automatically elect a principal node with votes by all members of the set of database nodes in the database cluster.

13. The computerized system of claim 12 , wherein the memory containing instructions when executed on the processor, causes the processor to perform operations that:

utilize a multi-phase commit process with the principal database node to determine the state of the set of database nodes, and wherein the principal node communicates a request to the other members of the set of database nodes to return a commit transaction back to the principal node.

14. The computerized system of claim 13 , wherein the memory containing instructions when executed on the processor, causes the processor to perform operations that:

detect a commit transaction in response to the principal database node's request from the other members of the set of database nodes.

15. The computerized system of claim 14 , wherein the memory containing instructions when executed on the processor, causes the processor to perform operations that:

include each database node that communicates the commit transactions in a new database cluster, wherein the Paxos algorithm is used to generate a list member nodes of the new database cluster.

16. The computerized system of claim 15 , wherein a set of instructions for the consensus-based voting process are present in each database node of the database cluster.

17. The computerized system of claim 16 , wherein the memory containing instructions when executed on the processor, causes the processor to perform operations that:

automatically rebalance data among the set of database nodes in the new database cluster according to the cluster configuration.

Assignments (4)
SECURITY INTEREST Recorded Sep 4, 2024
From: AEROSPIKE, INC.
To: CANADIAN IMPERIAL BANK OF COMMERCE, AS ADMINISTRATIVE AGENT
Reel/Frame 068479/0616 →
RELEASE OF SECURITY INTEREST Recorded Aug 27, 2024
From: ACQUIOM AGENCY SERVICES LLC
To: AEROSPIKE, INC.
Reel/Frame 068408/0094 →
SECURITY INTEREST Recorded Dec 29, 2021
From: AEROSPIKE, INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 058502/0586 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2019
From: BULKOWSKI, BRIAN J.; SRINIVASAN, VENKATACHARY
To: AEROSPIKE INC.
Reel/Frame 048887/0550 →
Continuity (4)
Continuation In Part 14299566 · Jun 9, 2014
Continuation In Part 13451551 · Apr 20, 2012
Provisional Application 61478940 · Apr 26, 2011
Related Publication 20150161016A1 · Jun 11, 2015