IP Library Granted Patent US 12,086,642
Granted Patent B2
US 12,086,642 · App. 17/468,749 · Granted Sep 10, 2024

Context aware distribution of computing

Inventors: Thomas F. Guevin (Nashua, NH); Dennis Cox (Huntsville, AL); Sjohn Chambers (Madison, AL)
Assignee: ADTRAN, Inc.
G06F9/5038G06F9/4881G06F9/547G06N5/01
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,086,642
App. No.
17/468,749
Granted
Sep 10, 2024
Kind
B2
Abstract

Methods and systems for context-aware distributed computing. In one aspect, a system includes a work administrator system; an API; a worker module; and a work administrator. One or more worker modules register with one or more work administrators. The worker modules may inform the work administrators of their processing capabilities and capacity. The work administration system receives a request for processing via the API. A work administrator parses a request into one or more discrete work requests and publishes each work request to the worker modules. The worker modules notify the work administrator whether they can perform the work, along with load and capabilities. The work administrator a worker module to perform each work request. When a worker module completes the work, it notifies the work administrator. The work administration system may aggregate the results from one or more worker modules and provide a response via the API.

Claims (67)

1. A method of context-aware distribution of computing, comprising:

receiving, by an application programming interface (API) of a work administration system, a request for processing;

parsing the request for processing into a work request;

publishing the work request to a worker module, wherein publishing the work request to the worker module comprises selectively broadcasting the work request to the worker module based on a capability of the worker module;

receiving a response to the work request from the worker module;

assigning the worker module to perform the work request;

receiving a result of the work request; and

providing, by the API, the result of the request for processing.

2. The method of claim 1 wherein parsing the request for processing into a work request comprises one or more of:

determining a work request type,

comparing a work request type to known work request types,

splitting the work request into one or more child work requests, or

storing work requests.

3. The method of claim 1 wherein the response to the work request from the worker module comprises one or more of:

an operational state of the worker module,

an indication of whether the worker module is capable of performing the work request,

heuristics associated with the work request, or

heuristics associated with the worker module.

4. The method of claim 1 wherein assigning the worker module to perform the work request comprises a determination based on a heuristic.

5. The method of claim 1 wherein providing, by the API, the result of the request for processing comprises aggregating the results of a plurality of work requests.

6. The method of claim 1 wherein receiving the result of the work request comprises receiving a work request result or an error notification.

7. A system comprising:

a work administrator system;

an application programming interface (API) in communication with the work administration system;

a worker module; and

a work administrator in communication with the API and the worker module, wherein the work administrator operates to manage a request for processing by performing operations including:

receiving a request for processing from the API;

parsing the request for processing into a work request;

publishing the work request to the worker module, wherein publishing the work request to the worker module comprises selectively broadcasting the work request to the worker module based on a capability of the worker module;

receiving a response to the work request from the worker module;

assigning the worker module to perform the work request;

receiving a result of the work request; and

providing the result of the request for processing to the API.

8. The system of claim 7 wherein parsing the request for processing into a work request comprises one or more of:

determining a work request type,

comparing a work request type to known work request types,

splitting the work request into one or more child work requests, or

storing work requests.

9. The system of claim 7 wherein the response to the work request from the worker module comprises one or more of:

an operational state of the worker module,

an indication of whether the worker module is capable of performing the work request,

heuristics associated with the work request, or

heuristics associated with the worker module.

10. The system of claim 7 wherein assigning the worker module to perform the work request comprises a determination based on a heuristic.

11. The system of claim 7 wherein providing, by the API, the result of the request for processing comprises aggregating the results of a plurality of work requests.

12. The system of claim 7 wherein receiving the result of the work request comprises receiving a work request result or an error notification.

13. The system of claim 12 wherein, in response to the error notification, the work administrator requests the worker module to retry the work request.

14. The system of claim 12 wherein, in response to the error notification, the work administrator attempts to assign the work request to a second worker module.

15. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

receiving, by an application programming interface (API) of a work administration system, a request for processing;

parsing the request for processing into a work request;

publishing the work request to a worker module, wherein publishing the work request to the worker module comprises selectively broadcasting the work request to the worker module based on a capability of the worker module;

receiving a response to the work request from the worker module;

assigning the worker module to perform the work request;

receiving a result of the work request; and

providing, by the API, the result of the request for processing.

16. The non-transitory, computer-readable medium of claim 15 wherein parsing the request for processing into a work request comprises one or more of:

determining a work request type,

comparing a work request type to known work request types,

splitting the work request into one or more child work requests, or

storing work requests.

17. The non-transitory, computer-readable medium of claim 15 wherein the response to the work request from the worker module comprises one or more of:

an operational state of the worker module,

an indication of whether the worker module is capable of performing the work request,

heuristics associated with the work request, or

heuristics associated with the worker module.

18. The non-transitory, computer-readable medium of claim 15 wherein assigning the worker module to perform the work request comprises a determination based on a heuristic.

Assignments (2)
SECURITY INTEREST Recorded Jul 18, 2022
From: ADTRAN, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 060692/0249 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2021
From: GUEVIN, THOMAS F.; COX, DENNIS; CHAMBERS, SJOHN
To: ADTRAN, INC.
Reel/Frame 058019/0168 →