IP Library Granted Patent US 10,749,951
Granted Patent B2
US 10,749,951 · App. 16/398,281 · Granted Aug 18, 2020

Selection of leader nodes in distributed data services

Inventors: Bogdan-Alexandru Matican (Sunnyvale, CA); Rahul Desirazu (Sunnyvale, CA); Karthik Ranganathan (Sunnyvale, CA); Kannan Muthukkaruppan (Sunnyvale, CA); Bharat Chandra Baddepudi (Sunnyvale, CA); Ramkumar Vaidyanathan Sri (Sunnyvale, CA); Choudhury Sidharth (Sunnyvale, CA)
Assignee: YugaByte Inc
H04L67/1051G06F9/5077G06F16/27H04L41/0806H04L41/0893H04L41/22H04L61/1511H04L67/10H04L67/1097H04L67/32H04L67/34
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 10,749,951
App. No.
16/398,281
Granted
Aug 18, 2020
Kind
B2
Abstract

An aspect of the present disclosure facilitates selection of leader nodes in distributed data services. In one embodiment, a distributed data service is provided operative based on multiple nodes. Upon receiving from a user a selection of a set of nodes that are preferred as leader nodes, a node contained in the set of nodes is set as a leader node in the distributed data service in view of the selection by the user. Accordingly, a user is provided control over the selection of leader nodes in the distributed data service.

Claims (43)

1. A method comprising:

providing a distributed data service operative based on a plurality of nodes organized into a plurality of zones in a cloud infrastructure;

receiving from a user a selection comprising indication of a first zone of said plurality of zones as being preferred for leader nodes, said first zone comprising a set of nodes of said plurality of nodes; and

setting a first node of said set of nodes as a leader node in said distributed data service in view of said selection by said user.

2. The method of claim 1 , further comprising:

receiving from said user an input data requesting provisioning of said distributed data service; and

orchestrating provisioning of said distributed data service on said plurality of nodes, wherein said orchestrating is performed in response to said receiving of said input data,

wherein said selection is received as a part of said input data, and wherein said setting is performed as a part of said orchestrating.

3. The method of claim 2 , wherein said plurality of nodes is grouped into a plurality of clusters of nodes, said method further comprising:

electing a corresponding leader node for each cluster of said plurality of clusters of nodes, but setting one of said set of nodes as the leader node of a first cluster if the elected leader node for the first cluster is not organized into said first zone.

4. The method of claim 3 , wherein said electing is performed by a consensus algorithm,

wherein said setting comprises execution of said consensus algorithm iteratively until one of said set of nodes organized into said first zone is elected as the leader node of said first cluster in view of receiving of said selection.

5. The method of claim 4 , wherein said consensus algorithm is Raft consensus algorithm.

6. The method of claim 5 , wherein said distributed data service is a distributed database.

7. The method of claim 1 , wherein said selection of said set of nodes includes only said first node.

8. A non-transitory machine readable medium storing one or more sequences of instructions, wherein execution of said one or more instructions by one or more processors contained in a system causes said system to perform the actions of:

providing a distributed data service operative based on a plurality of nodes organized into a plurality of zones in a cloud infrastructure;

receiving from a user a selection comprising indication of a first zone of said plurality of zones as being preferred for leader nodes, said first zone comprising a set of nodes of said plurality of nodes; and

setting a first node of said set of nodes as a leader node in said distributed data service in view of said selection by said user.

9. The non-transitory machine readable medium of claim 8 , further comprising one or more instructions for:

receiving from said user an input data requesting provisioning of said distributed data service; and

orchestrating provisioning of said distributed data service on said plurality of nodes, wherein said orchestrating is performed in response to said receiving of said input data,

wherein said selection is received as a part of said input data, and wherein said setting is performed as a part of said orchestrating.

10. The non-transitory machine readable medium of claim 8 , wherein said plurality of nodes are grouped into a plurality of clusters of nodes, further comprising one or more instructions for:

electing a corresponding leader node for each cluster of said plurality of clusters of nodes, but setting one of said set of nodes as the leader node of a first cluster if the elected leader node is not organized into said first zone.

11. The non-transitory machine readable medium of claim 10 , wherein said electing is performed by a Raft consensus algorithm,

wherein said setting comprises one or more instructions for execution of said consensus algorithm iteratively until one of said set of nodes organized into said first zone is elected as the leader node of said first cluster in view of receiving of said selection.

12. The non-transitory machine readable medium of claim 11 , wherein said distributed data service is a distributed database.

13. A digital processing system comprising:

one or more processors; and

a random access memory (RAM) to store instructions, wherein said one or more processors retrieve said instructions and execute said instructions, wherein execution of said instructions causes said digital processing system to perform the actions of:

providing a distributed data service operative based on a plurality of nodes organized into a plurality of zones in a cloud infrastructure;

receiving from a user a selection comprising indication of a first zone of said plurality of zones as being preferred for leader nodes, said first zone comprising a set of nodes of said plurality of nodes that are preferred as leader nodes; and

setting a first node of said set of nodes as a leader node in said distributed data service in view of said selection by said user.

14. The digital processing system of claim 13 , further performing the actions of:

receiving from said user an input data requesting provisioning of said distributed data service; and

orchestrating provisioning of said distributed data service on said plurality of nodes, wherein said orchestrating is performed in response to said receiving of said input data,

wherein said selection is received as a part of said input data, and wherein said setting is performed as a part of said orchestrating.

15. The digital processing system of claim 13 , wherein said plurality of nodes are grouped into a plurality of clusters of nodes, said digital processing system further performing the actions of:

electing a corresponding leader node for each cluster of said plurality of groups of nodes, but setting one of said set of nodes as the leader node of a first cluster if the elected leader node is not organized into said first zone.

16. The digital processing system of claim 15 , wherein said electing is performed by a Raft consensus algorithm,

wherein said setting comprises execution of said consensus algorithm iteratively until one of said set of nodes organized into said first zone is elected as the leader node of said first cluster in view of receiving of said selection.

17. The digital processing system of claim 16 , wherein said distributed data service is a distributed database.

Assignments (2)
CHANGE OF NAME Recorded May 9, 2023
From: YUGABYTE, INC.
To: YUGABYTEDB, INC.
Reel/Frame 063574/0473 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2019
From: MATICAN, BOGDAN-ALEXANDRU; DESIRAZU, RAHUL; RANGANATHAN, KARTHIK; MUTHUKKARUPPAN, KANNAN; BADDEPUDI, BHARAT CHANDRA; VAIDYANATHAN SRI, RAMKUMAR; SIDHARTH, CHOUDHURY
To: YUGABYTE INC
Reel/Frame 049095/0402 →
Continuity (3)
Provisional Application 62665496 · May 1, 2018
Provisional Application 62690344 · Jun 26, 2018
Related Publication 20190342383A1 · Nov 7, 2019