IP Library Granted Patent US 9,172,750
Granted Patent B2
US 9,172,750 · App. 14/511,141 · Granted Oct 27, 2015

Cluster-node load balancing in a distributed database system

Inventors: Brian J. Bulkowski (Menlo Park, CA); Venkatachary Srinivasan (Sunnyvale, CA)
H04L67/10G06F17/30545G06F17/30575G06F17/30598
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,172,750
App. No.
14/511,141
Granted
Oct 27, 2015
Kind
B2
Abstract

In one exemplary aspect, a method of a cluster-node load balancing system of a distributed database system includes receiving a request from a cluster with at least one node of a cluster of the distributed database system. The request includes a query for an identity of all other nodes known by the node as well as a metadata of all data maintained by the node. The identity of all other nodes known by the node as well as the metadata of all data maintained by the node is provided to the cluster.

Claims (21)

1. A database node of a node cluster of a distributed database system comprising:

a query layer, implemented with at least one processor, dynamically tracking a state of the node cluster, wherein the query layer comprises a set of information of a location of individual data elements stored in the distributed database system, and wherein the query layer receives a request from a cluster node of the distributed database system and responds with the set of information of a location of individual data elements stored in the distributed database system;

a distribution layer managing a set of distributed transactions of a distributed node cluster architecture of the distributed database in the database node; and

a data storage layer managing data storage and data retrieval in the database node distrusted database system.

2. The node cluster of claim 1 , wherein the query layer dynamically tracks the size and state of the node cluster.

3. The node cluster of claim 2 , wherein a database reconfiguration operation is not performed when one or more cluster nodes added or removed to the node cluster.

4. The node cluster of claim 2 , wherein the set of client libraries automatically retry transactions safely when a failure case is detected.

5. The node cluster of claim 4 , wherein the set of client libraries retries a write operating using a client-generated unique persistent transaction identifier.

6. The node cluster of claim 5 , wherein the query layer generates a list of peer nodes to a cluster node when the query layer receives a request from the cluster node to generate a list of peer nodes in the node cluster.

7. The node cluster of claim 6 , wherein the query layer determines which data is maintained by each peer node in the node cluster.

8. The node cluster of claim 7 , wherein the cluster node iteratively requests the list of peer nodes to the cluster node from the query layer of each of the other peer nodes provided in the list from query layer.

9. The node cluster of claim 8 , wherein the set of information comprises a metadata that provides the location of the data in node cluster.

10. A method of a distributed database system comprising:

providing, implemented with at least one processor, a first server node of a node cluster of a Not Only Structured Query Language (NoSQL) distributed database system, wherein the first server node maintains a node address list of a set of active cluster nodes of the node cluster;

providing a second cluster node of the node cluster of the NoSQL distributed database system, wherein upon joining the set of active cluster nodes, the second cluster node is configured with all address of the first server node, wherein the second cluster node requests the node address list from the first server node, wherein the second cluster node polls each individual node of the set of active cluster nodes to determine the portions of the data of the NoSQL distributed database system that each individual node maintains.

11. The method of claim 10 , wherein the first server node and the second cluster node communicate using an ASCII-based control protocol.

12. The method of claim 11 , wherein the first server node communicates the node address list to the second cluster list after the second cluster node requests the node address list from the first server node.

13. The method of claim 12 , wherein the node address list comprises an identity the set of active cluster nodes of the node cluster and a metadata of all data maintained by the first node.

14. The method of claim 13 , wherein each individual node responds to the second node with the metadata comprising a distributed hash table comprising the data maintained by each individual node.

15. The method of claim 14 , wherein the node cluster is designed without a node master and without database sharding.

16. The method of claim 15 , wherein the second node creates a data map of set of active cluster nodes of the node cluster, and wherein the data map is used to populate the node address list in the second node.

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/0648 →
Continuity (4)
Continuation In Part 14299566 · Jun 9, 2014
Continuation In Part 13451551 · Apr 20, 2012
Provisional Application 61478940 · Apr 26, 2011
Related Publication 20150127625A1 · May 7, 2015