IP Library › Granted Patent US 12,131,036
Granted Patent B2
US 12,131,036 · App. 18/532,113 · Granted Oct 29, 2024

Database system with coding cluster and methods for use therewith

Inventors: George Kondiles (Chicago, IL); Rhett Colin Starr (Long Grove, IL); Joseph Jablonski (Chicago, IL); S. Christopher Gladwin (Chicago, IL)
Assignee: Ocient Inc.
G06F3/0619G06F3/0629G06F3/067G06F16/252H04L67/1097G06F3/0679
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 12,131,036
App. No.
18/532,113
Granted
Oct 29, 2024
Kind
B2
Abstract

A networked database management system (DBMS) is disclosed. In particular, the disclosed DBMS includes a plurality of nodes, one of which is elected as a designated leader. The designated leader is elected using a consensus algorithm, such as tabulated random votes, RAFT or PAXOS. The designated leader is responsible for managing open coding lines, and determining when to close an open coding line.

Claims (33)

1. A database system comprising:

a coding cluster for storing data, wherein the coding cluster includes a plurality of nodes, wherein each node of the plurality of nodes includes:

a server having a network interface; and

a switch coupled to the network interface, wherein the switch allows each node to communicate with other nodes of the plurality of nodes;

wherein a majority of the plurality of nodes elect, via a consensus protocol, one of the plurality of nodes as a designated leader node and wherein the plurality of nodes includes at least two other nodes; and

wherein the designated leader node performs operations that include maintaining a collection of coding lines associated with the plurality of nodes, the collection of coding lines including an inventory of open coding lines of the collection of coding lines having at least one open coding block and wherein the maintaining the collection of coding lines maintains at least one open coding line for each node of the plurality of nodes.

2. The database system of claim 1 , wherein the consensus protocol includes nodes of the plurality of nodes randomly voting for any node of the plurality of nodes.

3. The database system of claim 1 , wherein the designated leader node maintains at least one open coding line for each node of the plurality of nodes by creating a new open coding line to add to the collection of coding lines when the inventory of the open coding lines for a node is empty.

4. The database system of claim 1 , wherein the designated leader node is elected responsive to the majority of the plurality of nodes losing contact with a prior designated leader node.

5. The database system of claim 1 , wherein the designated leader node is elected responsive to a verified failure of a prior designated leader node.

6. The database system of claim 1 , wherein the designated leader node is elected responsive to a system startup.

7. The database system of claim 1 , wherein the operations further include:

assigning one of the at least two other nodes to be an aggregation node that collects and aggregates performance data associated with the plurality of nodes.

8. The database system of claim 7 , wherein the performance data for a node of the plurality of nodes includes a percentage of storage utilized.

9. The database system of claim 7 , wherein the performance data for a node of the plurality of nodes includes an amount of data read in a time period.

10. The database system of claim 7 , wherein the performance data for a node of the plurality of nodes includes a total data rate in a time period.

11. The database system of claim 7 , wherein the performance data for a node of the plurality of nodes includes an amount of input transactions in a time period.

12. The database system of claim 7 , wherein the performance data for a node of the plurality of nodes includes an amount of output transactions in a time period.

13. The database system of claim 7 , wherein the performance data for a node of the plurality of nodes includes an amount of total transactions in a time period.

14. A method comprising:

providing a coding cluster for storing data, wherein the coding cluster includes a plurality of nodes, wherein each node of the plurality of nodes includes:

a server having a network interface; and

a switch coupled to the network interface, wherein the switch allows each node to communicate with other nodes of the plurality of nodes;

wherein the plurality of nodes include a designated leader node and at least two other nodes;

maintaining, via the designated leader node, a collection of coding lines associated with the plurality of nodes, the collection of coding lines including an inventory of open coding lines of the collection of coding lines having at least one open coding block and wherein the maintaining the collection of coding lines maintains at least one open coding line for each node of the plurality of nodes; and

facilitating replacing the designated leader node with a new designated leader node, wherein a majority of the plurality of nodes elect, via a consensus protocol, the new designated leader node to replace the designated leader node.

15. The method of claim 14 , wherein the consensus protocol includes nodes of the plurality of nodes randomly voting for any node of the plurality of nodes.

16. The method of claim 14 , wherein the designated leader node maintains at least one open coding line for each node of the plurality of nodes by creating a new open coding line to add to the collection of coding lines when the inventory of the open coding lines for a node is empty.

17. The method of claim 14 , wherein the new designated leader node is elected responsive to the majority of the plurality of nodes losing contact with the designated leader node.

18. The method of claim 14 , wherein the new designated leader node is elected responsive to a verified failure of the designated leader node.

19. The method of claim 14 , wherein the new designated leader node is elected responsive to a system startup.

20. The method of claim 14 , further comprising:

assigning, via the designated leader node, one of the at least two other nodes to be an aggregation node that collects and aggregates performance data associated with the plurality of nodes.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2023
From: OCIENT LLC
To: OCIENT INC.
Reel/Frame 065823/0605 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2023
From: KONDILES, GEORGE; STARR, RHETT COLIN; JABLONSKI, JOSEPH; GLADWIN, S. CHRISTOPHER
To: OCIENT LLC
Reel/Frame 065806/0498 →
Continuity (6)
Continuation 18165603 · Feb 7, 2023
Continuation 17659203 · Apr 14, 2022
Continuation 17092567 · Nov 9, 2020
Continuation 15840633 · Dec 13, 2017
Provisional Application 62433919 · Dec 14, 2016
Related Publication 20240134539A1 · Apr 25, 2024