IP Library Granted Patent US 11,023,284
Granted Patent B2
US 11,023,284 · App. 15/849,901 · Granted Jun 1, 2021

System and method for optimization and load balancing of computer clusters

Inventors: Jason Crabtree (Vienna, VA); Andrew Sellers (Colorado Springs, CO)
Assignee: QOMPLX, INC.
G06F9/5083G06F9/448G06F9/505G06F11/3457G06F16/2453G06F30/20G06Q10/0637H04L67/1008H04L67/12H04L67/42H04L67/1002
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 11,023,284
App. No.
15/849,901
Granted
Jun 1, 2021
Kind
B2
Abstract

A system and methods for optimization and load balancing for computer clusters, comprising a distributed computational graph, a server architecture using multi-dimensional time-series databases for continuous load simulation and forecasting, a server architecture using traditional databases for discrete load simulation and forecasting, and using a combination of real-time data and records of previous activity for continuous and precise load forecasting for computer clusters, datacenters, or servers.

Claims (20)

1. A system for optimization and load balancing for computer clusters, comprising:

a computing device comprising a memory, a processor, and a non-volatile data storage device;

a distributed computational graph module comprising a first plurality of programming instructions stored in the memory and operating on the processor, wherein the first plurality of programming instructions, when operating on the processor, causes the computing device to:

receive a distributed computational graph defining a data processing workflow wherein:

the vertices of the distributed computational graph represent data transformation stages and the edges of the distributed computational graph represent messaging between the data transformation stages; and

the data processing workflow comprises one or more data pipelines for analysis of load balancing of a plurality of devices, each data pipeline comprising a series of nodes and edges of the directed computational graph;

maintain a plurality of connections with each of the plurality of devices over a network, wherein each connection provides the ability to send data to, and receive data from, the respective device over the network;

analyze a dataset using the data pipeline as requested by a load forecasting application to produce a load balancing result;

a multidimensional time-series database module comprising a second plurality of programming instructions stored in the memory and operating on the processor, wherein the second plurality of programming instructions, when operating on the processor, causes the computing device to:

record received data from the plurality of devices according to a user configuration, wherein the recording occurs continuously over time and wherein the recorded data comprises both the received data from each of the plurality of devices and a time stamp describing when the data was originally received from each device;

provide response data comprising portions of the recorded data as requested by the load forecasting application; and

the load forecasting application comprising a third plurality of programming instructions stored in the memory and operating on the processor, wherein the third plurality of programming instructions, when operating on the processor, causes the computing device to:

query the multidimensional time-series database for portions of the recorded data for one or more of the plurality of devices;

utilize the response data received from the multidimensional time-series database to produce a load simulation, wherein the load simulation comprises a the distributed computational graph;

provide the distributed computational graph to the directed computational graph module for execution;

receive the load balancing result from the directed computational graph; and

create a redistribution of a processing load among the plurality of devices.

2. The system of claim 1 , wherein the load forecasting application queries data from a database other than the multidimensional time-series database.

3. The system of claim 1 , wherein the load forecasting application operates on continuous data from a multidimensional time-series database operating on the same computing device as the load forecasting application.

4. The system of claim 1 , wherein the load forecasting application operates on continuous data from a multidimensional time-series database operating on a device connected by a network.

Assignments (9)
CHANGE OF ADDRESS Recorded Oct 1, 2024
From: QOMPLX LLC
To: QOMPLX LLC
Reel/Frame 069083/0279 →
CHANGE OF NAME Recorded Sep 27, 2023
From: QPX LLC
To: QOMPLX LLC
Reel/Frame 065036/0449 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY PREVIOUSLY RECORDED AT REEL: 064674 FRAME: 0408. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 20, 2023
From: QOMPLX, INC.
To: QPX LLC
Reel/Frame 064966/0863 →
PATENT ASSIGNMENT AGREEMENT TO ASSET PURCHASE AGREEMENT Recorded Aug 23, 2023
From: QOMPLX, INC.
To: QPX, LLC.
Reel/Frame 064674/0407 →
CHANGE OF ADDRESS Recorded Dec 29, 2022
From: QOMPLX, INC.
To: QOMPLX, INC.
Reel/Frame 062251/0629 →
CHANGE OF ADDRESS Recorded Oct 27, 2020
From: QOMPLX, INC.
To: QOMPLX, INC.
Reel/Frame 054298/0094 →
CHANGE OF ADDRESS Recorded Aug 7, 2019
From: FRACTAL INDUSTRIES, INC.
To: QOMPLX, INC.
Reel/Frame 049996/0683 →
CHANGE OF NAME Recorded Aug 7, 2019
From: FRACTAL INDUSTRIES, INC.
To: QOMPLX, INC.
Reel/Frame 049996/0698 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2018
From: CRABTREE, JASON; SELLERS, ANDREW
To: FRACTAL INDUSTRIES, INC.
Reel/Frame 045279/0403 →