Serverless computing and task scheduling
AssigneeCisco Technology, Inc.
InventorsKomei Shimamura, Timothy Okwii, Debojyoti Dutta, Yathiraj B. Udupi, Rahul Ramakrishna, Xinyuan Huang
Life of this patent
Estimating the term…
Abstract
In one embodiment, a method for serverless computing comprises: receiving a task definition, wherein the task definition comprises a first task and a second task chained to the first task; adding the first task and the second task to a task queue; executing the first task from the task queue using hardware computing resources in a first serverless environment associated with a first serverless environment provider; and executing the second task from the task queue using hardware computing resources in a second serverless environment selected based on a condition on an output of the first task.
Claims14
A method for serverless computing, comprising:
- receiving a task definition, wherein the task definition comprises a first task and a second task chained to the first task;
- adding the first task and the second task to a task queue;
- determining a set of dependency constraints for each task of a task chain in the task queue;
- determining a cost and a set of capabilities associated with each serverless computing environment;
- executing the first task from the task queue using hardware computing resources in a first serverless environment associated with a first serverless environment provider;
- first selecting, based on sets of dependency constraints, the costs, the sets of capabilities, and an output of the first task, a second serverless environment out of a plurality of serverless environments to execute the second task from the task queue;
- and
- executing the second task from the task queue using hardware computing resources in the second serverless environment.
A system comprising:
- at least one memory element;
- at least one processor coupled to the at least one memory element;
- an interface that when executed by the at least one processor is configured to:
- receive a task definition, wherein the task definition comprises a first task and a second task chained to the first task and adding the first task and the second task to a task queue;
- and
- one or more workers provisioned in networked hardware resources of a serverless computing environment that when executed by the at least one processor is configured to:
- determine a set of dependency constraints for each task of a task chain in the task queue;
- determine a cost and a set of capabilities associated with each serverless computing environment;
- execute the first task from the task queue using hardware computing resources in a first serverless environment associated with a first serverless environment provider;
- first select, based on a sets of dependency constraints, the costs, and the sets of capabilities, and an output of the first task, a second serverless environment out of a plurality of serverless environments to execute the second task from the task queue;
- and
- execute the second task from the task queue using hardware computing resources in the second serverless environment.
One or more computer-readable non-transitory media comprising one or more instructions, for serverless computing and task scheduling, that when executed on a processor configure the processor to perform one or more operations comprising:
- receiving a task definition, wherein the task definition comprises a first task and a second task chained to the first task;
- adding the first task and the second task to a task queue;
- determining a set of dependency constraints for each task of a task chain in the task queue;
- determining a cost and a set of capabilities associated with each serverless computing environment;
- executing the first task from the task queue using hardware computing resources in a first serverless environment associated with a first serverless environment provider;
- first selecting, based on sets of dependency constraints, the costs, and the sets of capabilities, and an output of the first task, a second serverless environment out of a plurality of serverless environments to execute the second task from the task queue;
- and
- executing the second task from the task queue using hardware computing resources in the second serverless environment.
Dependencies are inferred from the claim text.