IP Library Granted Patent US 11,055,140
Granted Patent B2
US 11,055,140 · App. 16/718,906 · Granted Jul 6, 2021

Platform for hierarchy cooperative computing

Inventors: Jason Crabtree (Vienna, VA); Andrew Sellers (Monument, CO)
Assignee: QOMPLX, Inc.
G06F9/5011G06N5/025G06Q10/067G06Q30/0201G06Q30/0205G06Q40/04
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,055,140
App. No.
16/718,906
Filed
Dec 18, 2019
Granted
Jul 6, 2021
Kind
B2
Examiner
LEE, ADAM
Art Unit
2193
USPC
718/104
Abstract

A system for hierarchical cooperative computing is provided, comprising a vector definition service configured to receive a user-submitted request, and compile the request into a vector; a rules engine configured to retrieve the vector from the vector definition service, and evaluate the vector for appropriateness; a parametric evaluator configured to parameterize the vector, and generate at least a run from the parameterized vector; and an optimizer configured to retrieve the run from the parametric evaluator, and determine an optimal plan for executing the user-submitted request.

Claims (33)

1. A system for hierarchical cooperative computing, comprising:

a computing device comprising a memory and a processor; and

a vector definition service platform 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 user-submitted request comprising a cooperative computing request and a pre-defined constraint; and

compile the user-submitted request into a vector using a model definition language;

a rules engine 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:

retrieve the vector from the vector definition service; and

evaluate the vector based on a predefined rule, data associated with the user-submitted request, and processing localities;

a parametric evaluator 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:

parameterize the vector based at least on an intended purpose of the user-submitted request and the predefined constraint of the user-submitted request; and

generate at least a run from the parameterized vector; and

an optimizer comprising a fourth plurality of programming instructions stored in the memory and operating on the processor, wherein the fourth plurality of programming instructions, when operating on the processor, causes the computing device to:

retrieve the run from the parametric evaluator; and

determine an optimal plan for executing the user-submitted request based on the run, wherein the optimal plan includes executing the user-submitted request in an optimal processing locality of the processing localities, and wherein the optimal processing locality is determined based at least on the status of connections from the system to the optimal processing locality and availability of computational resources of the optimal processing locality.

2. The system of claim 1 , further comprising a data migration service comprising a fifth plurality of programming instructions stored in the memory and operating on the processor, wherein the fifth plurality of programming instructions, when operating on the processor, causes the computing device to initiate migration of data associated with the user-submitted request to a different locality for processing.

3. The system of claim 1 , further comprising a resource modulation service comprising a sixth plurality of programming instructions stored in the memory and operating on the processor, wherein the sixth plurality of programming instructions, when operating on the processor, causes the computing device to acquire additional resources in order to execute the user-submitted request from a service provider external to the optimal processing locality.

4. The system of claim 1 , wherein the optimizer uses a simulation service on a different computing device to operate a model of a computing environment in order to identify bottlenecks in the system.

5. The system of claim 1 , wherein the rules engine is further configured to conduct a feasibility analysis on the vector.

6. The system of claim 5 , wherein the rules engine denies the vector and submits a request for additional information.

7. A method for hierarchical cooperative computing, comprising the steps of:

receiving a user-submitted request using a vector definition service operating on a computing device comprising a memory and a processor, the user-submitted request comprising a cooperative computing request and a pre-defined constraint;

compiling the user-submitted request into a vector using a model definition language using the vector definition service;

retrieving the vector from the vector definition service using a rules engine operating on the computing device;

evaluating the vector based on a predefined rule, data associated with the user-submitted request, and processing localities;

parameterizing the vector using a parametric evaluator operating on the computing device, the parameterization being based on an intended purpose of the user-submitted request and the predefined constraint of the user-submitted request;

generating a run from the parameterized vector using the parametric evaluator;

retrieving the run from the parametric evaluator using an optimizer operating on the computing device; and

determining an optimal plan for executing the user-submitted request based on the run, wherein the optimal plan includes executing the user-submitted request in an optimal processing locality of the processing localities, and wherein the optimal processing locality is determined based at least on the status of connections from the system to the optimal processing locality and availability of computational resources of the optimal processing locality.

8. The method of claim 7 , further comprising the step of using a data migration service to initiate migration of data associated with the user-submitted request to a different locality for processing.

9. The method of claim 7 , further comprising the step of using a resource modulation service to acquire additional resources in order to execute the user-submitted request from a service provider external to the optimal processing locality.

10. The system of claim 7 , wherein the optimizer uses a simulation service on a different computing device to operate a model of a computing environment in order to identify bottlenecks in the system.

11. The method of claim 7 , wherein the rules engine is further configured to conduct a feasibility analysis on the vector.

12. The method of claim 11 , wherein the rules engine denies the vector and submits a request for additional information.

Assignments (8)
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 NAME Recorded Aug 23, 2020
From: FRACTAL INDUSTRIES, INC.
To: QOMPLX, INC.
Reel/Frame 053569/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2020
From: CRABTREE, JASON; SELLERS, ANDREW
To: FRACTAL INDUSTRIES, INC.
Reel/Frame 053247/0047 →