IP Library Granted Patent US 11,683,220
Granted Patent B2
US 11,683,220 · App. 17/531,566 · Granted Jun 20, 2023

In-memory workflow management in edge devices

Inventors: Prachi Maheshwari (Seattle, WA); Igors Sajenko (Cumming, GA); David Dale Becker (Seattle, WA); Maxim Baturin (Sammamish, WA)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L41/0806G06F3/0604G06F3/067G06F3/0622G06F3/0655G06F3/0659G06F3/0679G06F8/61G06F8/658G06F9/4406G06F9/45558G06F9/505G06F9/5055G06F9/5077G06F9/5088G06F11/1451G06F11/1469H04L9/0897H04L12/4641H04L63/0471H04L63/0478H04L63/0485H04L63/06H04L63/0876H04L63/162H04L63/20H04L67/10G06F2009/45562G06F2009/45587G06F2009/45595G06F2201/84
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,683,220
App. No.
17/531,566
Granted
Jun 20, 2023
Kind
B2
Abstract

Techniques discussed herein relate to providing in-memory workflow management at an edge device (e.g., a computing device distinct from and operating remotely with respect to a data center). The edge device can operate as a computing node in a computing cluster of edge devices and implement a hosting environment (e.g., a distributed data plane). A work request can be obtained by an in-memory workflow manager of the edge device. The work request may include an intended state of a data plane resource (e.g., a computing cluster, a virtual machine, etc.). The in-memory workflow manager can determine the work request has not commenced and initialize an in-memory execution thread to execute orchestration tasks to configure a data plane of the computing cluster according to the intended state. Current state data corresponding to the configured data plane may be provided to the user device and eventually displayed.

Claims (49)

1. A computer-implemented method, comprising:

implementing a plurality of respective hosting environments within a computing cluster comprising a plurality of edge computing devices, the plurality of edge computing devices implementing a distributed control plane for managing respective data planes of the plurality of edge computing devices;

obtaining, by an in-memory workflow manager of the distributed control plane, a work request comprising a request identifier and intended state data corresponding to a respective data plane of a particular cloud-computing edge device of the plurality of edge computing devices;

determining, using the request identifier, that the work request has yet to be started;

initializing, by the in-memory workflow manager, an in-memory execution thread to execute one or more orchestration tasks associated with configuring the respective data plane according to the intended state data;

receiving current state data indicating a current state of the respective data plane of the particular cloud-computing edge device; and

providing an indication of the current state of the respective data plane.

2. The computer-implemented method of claim 1 , wherein the work request is initiated by from a user device configured to communicate with one cloud-computing edge device of the plurality of edge computing devices.

3. The computer-implemented method of claim 1 , wherein the in-memory workflow manager and the in-memory execution thread execute within a Docker container on the particular cloud-computing edge device.

4. The computer-implemented method of claim 1 , wherein the one or more orchestration tasks associated with configuring the respective data plane according to the intended state data are executed in response to:

obtaining, from a distributed data store accessible to the plurality of edge computing devices, previously-received actual state data associated with the respective data plane of the particular cloud-computing edge device;

comparing the previously-received actual state data and the intended state data; and

determining that there is a difference between the previously-received actual state data and the intended state data obtained from the distributed data store.

5. The computer-implemented method of claim 1 , wherein identifying that the work request has yet to be started comprises determining that a record associated with the request identifier is not yet stored in a distributed data store accessible to the plurality of edge computing devices.

6. The computer-implemented method of claim 1 , wherein the plurality of edge computing devices are communicatively coupled with one another via a substrate network that is different from a public network.

7. The computer-implemented method of claim 1 , wherein the in-memory workflow manager executing on the particular cloud-computing edge device identifies the one or more orchestration tasks associated with configuring the respective data plane according to the intended state data.

8. An edge computing device operating as part of a computing cluster of a plurality of edge computing devices, the edge computing device comprising:

one or more processors; and

one or more memories configured with computer-executable instructions that, when executed by the one or more processors, cause the edge computing device to:

implement a hosting environment within the computing cluster, the plurality of edge computing devices implementing a distributed control plane for managing respective data planes of the plurality of edge computing devices;

obtain, by an in-memory workflow manager of the edge computing device, a work request comprising a request identifier and intended state data corresponding to a respective data plane of a particular cloud-computing edge device of the plurality of edge computing devices;

determine, using the request identifier, that the work request has yet to be started;

initialize, by the in-memory workflow manager, an in-memory execution thread to execute one or more orchestration tasks associated with configuring the respective data plane according to the intended state data;

receive current state data indicating a current state of the respective data plane of the particular cloud-computing edge device; and

provide an indication of the current state of the respective data plane.

9. The edge computing device of claim 8 , wherein the work request is initiated by a user device configured to communicate with one cloud-computing edge device of the plurality of edge computing devices.

10. The edge computing device of claim 8 , wherein the in-memory workflow manager and the in-memory execution thread execute within a Docker container on the edge computing device.

11. The edge computing device of claim 8 , wherein the one or more orchestration tasks associated with configuring the respective data plane according to the intended state data are executed in response to:

obtaining, from a distributed data store accessible to the plurality of edge computing devices, previously-received actual state data associated with the respective data plane of the particular cloud-computing edge device;

comparing the previously-received actual state data and the intended state data; and

determining that there is a difference between the previously-received actual state data and the intended state data obtained from the distributed data store.

12. The edge computing device of claim 8 , wherein identifying that the work request has yet to be started comprises determining that a record associated with the request identifier is not yet stored in a distributed data store accessible to the plurality of edge computing devices.

13. The edge computing device of claim 8 , wherein the plurality of edge computing devices are communicatively coupled with one another via a substrate network that is different from a public network.

14. The edge computing device of claim 8 , wherein the in-memory workflow manager identifies the one or more orchestration tasks associated with configuring the respective data plane according to the intended state data.

15. A non-transitory computer-readable storage medium comprising computer-executable instructions that, when executed with one or more processors of an edge computing device, cause the edge computing device to:

implement a hosting environment within a computing cluster comprising a plurality of edge computing devices, the plurality of edge computing devices implementing a distributed control plane for managing respective data planes of the plurality of edge computing devices;

obtain, by an in-memory workflow manager of the distributed control plane, a work request comprising a request identifier and intended state data corresponding to a respective data plane of a particular cloud-computing edge device of the plurality of edge computing devices;

determine, using the request identifier, that the work request has yet to be started;

initialize, by the in-memory workflow manager, an in-memory execution thread to execute one or more orchestration tasks associated with configuring the respective data plane according to the intended state data;

receive current state data indicating a current state of the respective data plane of the particular cloud-computing edge device; and

provide an indication of the current state of the respective data plane.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the in-memory workflow manager and the in-memory execution thread execute within a Docker container on the particular cloud-computing edge device.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the one or more orchestration tasks associated with configuring the respective data plane according to the intended state data are executed in response to:

obtaining, from a distributed data store accessible to the plurality of edge computing devices, previously-received actual state data associated with the respective data plane of the particular cloud-computing edge device;

comparing the previously-received actual state data and the intended state data; and

determining that there is a difference between the previously-received actual state data and the intended state data obtained from the distributed data store.

18. The non-transitory computer-readable storage medium of claim 15 , wherein identifying that the work request has yet to be started comprises determining that a record associated with the request identifier is not yet stored in a distributed data store accessible to the plurality of edge computing devices.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the plurality of edge computing devices are communicatively coupled with one another via a substrate network that is different from a public network.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the in-memory workflow manager executing on the particular cloud-computing edge device identifies the one or more orchestration tasks associated with configuring the respective data plane according to the intended state data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 24, 2021
From: MAHESHWARI, PRACHI; SAJENKO, IGORS; BECKER, DAVID DALE; BATURIN, MAXIM
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 058209/0856 →
Continuity (2)
Provisional Application 63173244 · Apr 9, 2021
Related Publication 20220326848A1 · Oct 13, 2022
Cited By (3)
US 12,355,619 US 12,399,751 US 12,650,886