IP Library › Granted Patent US 11,526,385
Granted Patent B1
US 11,526,385 · App. 17/000,553 · Granted Dec 13, 2022

Systems and methods to leverage unused compute resource for machine learning tasks

Inventor: Sateesh Mannar (Plano, TX)
Assignee: STATE FARM MUTUAL AUTOMOBILE INSURANCE COMPANY
G06F9/5083G06F9/4881G06F9/542
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,526,385
App. No.
17/000,553
Granted
Dec 13, 2022
Kind
B1
Abstract

Systems and methods relating to leveraging inactive computing resources are discussed. An example system may include one or more computing nodes having an active state and an inactive state, one or more processors, and a memory. The memory may contain instructions therein that, when executed, cause the one or more processors to identify a task to be performed by the one or more computing nodes based upon a received request. The instructions may further cause the one or more processors to create one or more sub-tasks based upon the task and schedule the one or more sub-tasks for execution on the one or more computing nodes during the inactive state. The instructions may further cause the one or more processors to collate the one or more sub-tasks into a completed task, and generate a completed task notification based upon the completed task.

Claims (68)

1. A system for leveraging inactive computing resources, comprising:

one or more computing nodes having an active state and an inactive state;

one or more processors; and

a memory communicatively coupled to the one or more computing nodes and the one or more processors, the memory containing instructions therein that, when executed, cause the one or more processors to:

identify a task to be performed by the one or more computing nodes based upon a received request,

create one or more sub-tasks based upon the task,

schedule the one or more sub-tasks for execution on the one or more computing nodes during the inactive state,

responsive to the execution of each of the one or more sub-tasks, collate the one or more sub-tasks into a completed task, and

generate a completed task notification based upon the completed task.

2. The system of claim 1 , wherein the one or more computing nodes includes a first set of computing nodes and a second set of computing nodes, each computing node in the first set of computing nodes is a private computing node, and wherein each computing node in the second set of computing nodes is a public cloud-based computing node.

3. The system of claim 2 , wherein the active state of the private computing node indicates a private user utilizing the private computing node, and wherein the inactive state of the private computing node indicates a private user not utilizing the private computing node.

4. The system of claim 2 , wherein the instructions, when executed, further cause the one or more processors to:

determine a resource requirement for the one or more sub-tasks based upon a resource model;

route a task request including the resource requirement to each of the first set of computing nodes;

receive a set of node identifications including a node identification from each of the first set of computing nodes; and

schedule the one or more sub-tasks for execution on the one or more computing nodes during the inactive state by applying the resource model to the set of node identifications.

5. The system of claim 4 , wherein the resource model is a machine learning model, and wherein the instructions, when executed, further cause the one or more processors to train the machine learning model with (i) a set of prior task data, (ii) a set of prior node identifications, and (iii) a set of prior completed task data.

6. The system of claim 1 , wherein the instructions, when executed, further cause the one or more processors to:

remove identifying information from the received request;

store at least a portion of the identifying information on a public storage device; and

collate the one or more sub-tasks and the identifying information into the completed task.

7. The system of claim 1 , wherein the instructions, when executed, further cause the one or more processors to:

during execution of the one or more sub-tasks, periodically request one or more status updates from each of the one or more computing nodes executing the one or more sub-tasks;

collate the one or more status updates into a status notification; and

transmit the status notification to a client device for display to a client.

8. A computer-implemented method for leveraging inactive computing resources, comprising:

identifying a task to be performed by one or more computing nodes based upon a received request, wherein each of the one or more computing nodes has an active state and an inactive state;

creating one or more sub-tasks based upon the task;

scheduling the one or more sub-tasks for execution on the one or more computing nodes during the inactive state;

responsive to the execution of each of the one or more sub-tasks, collating the one or more sub-tasks into a completed task; and

generating a completed task notification based upon the completed task.

9. The computer-implemented method of claim 8 , wherein the one or more computing nodes includes a first set of computing nodes and a second set of computing nodes, each computing node in the first set of computing nodes is a private computing node, and wherein each computing node in the second set of computing nodes is a public cloud-based computing node.

10. The computer-implemented method of claim 9 , wherein the active state of the private computing node indicates a private user utilizing the private computing node, and wherein the inactive state of the private computing node indicates a private user not utilizing the private computing node.

11. The computer-implemented method of claim 9 , further comprising:

determining a resource requirement for the one or more sub-tasks based upon a resource model;

routing a task request including the resource requirement to each of the first set of computing nodes;

receiving a set of node identifications including a node identification from each of the first set of computing nodes; and

scheduling the one or more sub-tasks for execution on the one or more computing nodes during the inactive state by applying the resource model to the set of node identifications.

12. The computer-implemented method of claim 11 , wherein the resource model is a machine learning model, and the method further comprises training the machine learning model with (i) a set of prior task data, (ii) a set of prior node identifications, and (iii) a set of prior completed task data.

13. The computer-implemented method of claim 8 , further comprising:

removing identifying information from the received request;

storing at least a portion of the identifying information on a public storage device; and

collating the one or more sub-tasks and the identifying information into the completed task.

14. The computer-implemented method of claim 8 , further comprising:

during execution of the one or more sub-tasks, periodically requesting one or more status updates from each of the one or more computing nodes executing the one or more sub-tasks;

collating the one or more status updates into a status notification; and

transmitting the status notification to a client device for display to a client.

15. A computer readable storage medium comprising non-transitory computer readable instructions stored thereon for leveraging inactive computing resources, wherein the instructions when executed on one or more processors cause the one or more processors to:

identify a task to be performed by one or more computing nodes based upon a received request, wherein each of the one or more computing nodes has an active state and an inactive state;

create one or more sub-tasks based upon the task;

schedule the one or more sub-tasks for execution on the one or more computing nodes during the inactive state;

responsive to the execution of each of the one or more sub-tasks, collate the one or more sub-tasks into a completed task; and

generate a completed task notification based upon the completed task.

16. The computer readable storage medium of claim 15 , wherein the one or more computing nodes includes a first set of computing nodes and a second set of computing nodes, each computing node in the first set of computing nodes is a private computing node, and wherein each computing node in the second set of computing nodes is a public cloud-based computing node.

17. The computer readable storage medium of claim 16 , wherein the active state of the private computing node indicates a private user utilizing the private computing node, and wherein the inactive state of the private computing node indicates a private user not utilizing the private computing node.

18. The computer readable storage medium of claim 16 , wherein the instructions, when executed, further cause the one or more processors to:

determine a resource requirement for the one or more sub-tasks based upon a resource model;

route a task request including the resource requirement to each of the first set of computing nodes;

receive a set of node identifications including a node identification from each of the first set of computing nodes; and

schedule the one or more sub-tasks for execution on the one or more computing nodes during the inactive state by applying the resource model to the set of node identifications.

19. The computer readable storage medium of claim 18 , wherein the resource model is a machine learning model, and wherein the instructions, when executed, further cause the one or more processors to train the machine learning model with (i) a set of prior task data, (ii) a set of prior node identifications, and (iii) a set of prior completed task data.

20. The computer readable storage medium of claim 15 , wherein the instructions, when executed, further cause the one or more processors to:

remove identifying information from the received request;

store at least a portion of the identifying information on a public storage device;

during execution of the one or more sub-tasks, periodically request one or more status updates from each of the one or more computing nodes executing the one or more sub-tasks;

collate the one or more status updates into a status notification;

transmit the status notification to a client device for display to a client; and

collate the one or more sub-tasks and the identifying information into the completed task.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2020
From: MANNAR, SATEESH
To: STATE FARM MUTUAL AUTOMOBILE INSURANCE COMPANY
Reel/Frame 053573/0447 →
Continuity (1)
Provisional Application 63004202 · Apr 2, 2020
Cited By (5)
US 12,217,090 US 12,430,170 US 12,432,220 US 12,645,959 US 12,647,468