IP Library › Granted Patent US 12,061,928
Granted Patent B1
US 12,061,928 · App. 17/031,469 · Granted Aug 13, 2024

Cloud-based job scheduling and management service

Inventor: Akash Anjanappa (Bellevue, WA)
Assignee: Amazon Technologies, Inc.
G06F9/4887G06F9/5072G06F9/542G06F9/547G06F11/3409G06F2201/86G06F2209/508
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,061,928
App. No.
17/031,469
Granted
Aug 13, 2024
Kind
B1
Abstract

Devices, systems, and methods are provided for cloud-based job scheduling and management. A method may include receiving, by at least one serverless processor of a cloud-based network, data from a first interface. The method may include determining, based on the data, a first activity and a second activity, the first activity associated with a first service of the cloud-based network, and the second activity associated with a second service of the cloud-based network. The method may include determining, based on the data, a precondition associated with causing execution of the first activity and the second activity. The method may include determining that an event associated with the cloud-based network has occurred, and generating an instance associated with causing performance of the first activity and the second activity. The method may include discarding the instance after performance of the first activity and the second activity.

Claims (102)

1. A method comprising:

receiving, by at least one serverless processor of a cloud-based network, data from a first application programming interface (API);

determining, by the at least one serverless processor, based on the data, a workflow including a first activity and a second activity, the first activity comprising a first serverless task associated with a first service of the cloud-based network, and the second activity comprising a second serverless task associated with a second service of the cloud-based network;

determining, by the at least one serverless processor, based on the data, a precondition associated with causing execution of the workflow;

determining, by the at least one serverless processor, that an event associated with the cloud-based network has occurred;

determining, by the at least one serverless processor, based on the occurrence of the event, that the precondition has been satisfied;

executing, by the at least one serverless processor, based on the satisfaction of the precondition, the workflow by performing the first activity and the second activity using a serverless instance;

storing, by the at least one serverless processor, an indication of the serverless instance;

discarding the serverless instance after the performance of the first activity and the second activity, wherein the indication remains stored after the discarding of the serverless instance;

receiving, by the at least one processor, second data from the API;

determining, by the at least one processor, based on the second data, a second workflow including the first activity and a third activity, the third activity comprising a third serverless task associated with a third service of the cloud-based network; and

executing the second workflow by performing the first activity and the third activity using a second serverless instance.

2. The method of claim 1 , further comprising:

determining, based on the data, a schedule comprising a time at which to execute the workflow, wherein executing the workflow is further based on the schedule.

3. The method of claim 1 , further comprising:

determining, based on the data, that the first activity may be skipped and that the execution of the workflow may continue when the second activity fails,

wherein executing the workflow skips the first activity and continues after failure to execute the second activity.

4. The method of claim 1 , further comprising:

determining, based on the second data, a second precondition associated with causing execution of the second workflow;

determining that a second event associated with the cloud-based network has occurred;

determining, based on the occurrence of the second event, that the second precondition has been satisfied, wherein executing the second workflow is based on the satisfaction of the second precondition;

storing an indication of the second serverless instance; and

discarding the second serverless instance after the performance of the first activity and the third activity.

5. A method comprising:

receiving, by at least one serverless processor of a cloud-based network, data from a first interface;

determining, by the at least one serverless processor, based on the data, a first activity and a second activity, the first activity comprising a first serverless task associated with a first service of the cloud-based network, and the second activity comprising a second serverless task associated with a second service of the cloud-based network;

determining, by the at least one serverless processor, based on the data, a precondition associated with causing serverless execution of the first activity and the second activity;

determining, by the at least one serverless processor, that an event associated with the cloud-based network has occurred;

executing, based on the occurrence of the event, the first activity and the second activity using a serverless instance;

discarding the serverless instance after the serverless execution of the first activity and the second activity;

receiving second data from the first interface;

determining, based on the second data, a workflow including the first activity and a third activity, the third activity comprising a third serverless task associated with a third service of the cloud-based network; and

executing the workflow, wherein the execution of the workflow comprises performing the first activity and the third activity using a second serverless instance.

6. The method of claim 5 , wherein the workflow is indicative of a sequential execution of the first activity and the second activity, and

wherein executing the first activity and the second activity comprises performance of the first activity before performance of the second activity.

7. The method of claim 5 , wherein the workflow is indicative of a parallel execution of the first activity and the second activity, and

wherein executing the first activity and the second activity comprises concurrent performance of the first activity and the second activity.

8. The method of claim 5 , further comprising:

determining, based on the data, a schedule comprising a time at which to execute the first activity and the second activity; and

generating the serverless instance based on the schedule.

9. The method of claim 5 , further comprising:

determining, based on the data, at least one of:

that the first activity may be skipped,

that executing the workflow may continue when the second activity fails,

a number of retries for the first activity,

a time between retries for the first activity,

that the first serverless task may be rerun, or

that the first activity may disabled upon a failure to execute.

10. The method of claim 5 , further comprising:

determining, based on the second data, a second precondition associated with causing execution of the workflow;

determining that a second event associated with the cloud-based network has occurred;

determining, based on the occurrence of the second event, that the second precondition has been satisfied, wherein executing the workflow is based on the satisfaction of the second precondition;

storing an indication of the execution of the workflow; and

discarding the second serverless instance after the performance of the first activity and the third activity.

11. The method of claim 5 , further comprising:

storing a first indication of the serverless instance;

determining a status associated with the execution of the first activity and the second activity, the status indicating a completion or a failure of the execution of the first activity and the second activity; and

storing a second indication of the serverless instance, the second indication indicative of the completion or the failure of the execution of the first activity and the second activity.

12. The method of claim 5 , further comprising:

determining, based on the data, that the first serverless task is a data lake task; and

determining, based on the data lake task, a wait time between a first attempt to perform the first serverless task and a second attempt to perform the second serverless task,

wherein the execution of the first activity is based on the wait time.

13. The method of claim 5 , further comprising:

determining, based on the data, a group identifier associated with the first activity and the second activity;

determining that a list of authenticated group identifiers comprises the group identifier; and

generating the serverless instance based on determining that the list of authenticated group identifiers comprises the group identifier.

14. The method of claim 5 , further comprising:

determining, based on the data, a first schedule associated with the execution of the first activity and the second activity;

generating the serverless instance based on the first schedule;

determining, based on the data, a second schedule associated with serverless execution of the first activity and the second activity;

executing, based on the second schedule, the first activity and the second activity using a second serverless instance; and

discarding the second serverless instance after the serverless execution of the first activity and the second activity.

15. The method of claim 5 , further comprising:

determining, based on the data, a number of times that the workflow is to be executed; and

generating the serverless instance based on the number of times that the workflow is to be executed.

16. The method of claim 5 , further comprising storing an indication of the serverless instance, wherein the indication of the serverless instance remains stored after the discarding of the serverless instance.

17. A system comprising memory coupled to at least one serverless processor, the at least one serverless processor configured to:

receive, at a cloud-based network, data from a first interface;

determine, based on the data, a first activity and a second activity, the first activity comprising a first serverless task associated with a first service of the cloud-based network, and the second activity comprising a second serverless task associated with a second service of the cloud-based network;

determine, based on the data, a precondition associated with causing serverless execution of the first activity and the second activity;

determine that an event associated with the cloud-based network has occurred;

execute the first activity and the second activity using a serverless instance;

discard the serverless instance after the execution of the first activity and the second activity;

receive second data from the first interface;

determine, based on the second data, a workflow including the first activity and a third activity, the third activity comprising a third serverless task associated with a third service of the cloud-based network; and

execute the workflow, wherein the execution of the workflow comprises performing the first activity and the third activity using a second serverless instance.

18. The system of claim 17 , wherein the at least one serverless processor is further configured to:

receive third data from the first interface;

determine, based on the third data, a second workflow including the first activity and a third activity, the third activity comprising a third serverless task associated with a third service of the cloud-based network;

determine, based on the third data, a second precondition associated with causing serverless execution of the second workflow;

determine that a second event associated with the cloud-based network has occurred;

determine, based on the occurrence of the second event, that the second precondition has been satisfied;

execute, based on the satisfaction of the second precondition, the second workflow, the first activity and the third activity using a second serverless instance;

store an indication of the execution of the second workflow; and

discard the second serverless instance after the executing the first activity and the third activity.

19. The system of claim 17 , wherein the at least one serverless processor is further configured to:

determine, based on the data, a first schedule associated with the execution of the first activity and the second activity;

generating the serverless instance based on the first schedule;

determine, based on the data, a second schedule associated with a second serverless performance of the first activity and the second activity;

execute, based on the second schedule, the first activity and the second activity using a second serverless instance; and

discard the second serverless instance after the execution of the first activity and the second activity based on the second schedule.

20. The system of claim 17 , wherein the at least one serverless processor is further configured to store an indication of the serverless instance, wherein the indication of the serverless instance remains stored after the discarding of the serverless instance.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2020
From: ANJANAPPA, AKASH
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 053883/0014 →
Cited By (1)
US 12,561,129