Methodology and apparatus for topology discovery and mapping of chained network services
US-2015131484-A1 · May 14, 2015 · US
US10884807B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10884807-B2 |
| Application number | US-201715485910-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 12, 2017 |
| Priority date | Apr 12, 2017 |
| Publication date | Jan 5, 2021 |
| Grant date | Jan 5, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 1. 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. 2. The method of claim 1 , wherein the task definition comprises a first task identifier identifying the first task, a first pointer to input data, a task action function code, a second pointer to output data, and a second task identifier identifying the second task. 3. The method of claim 1 , wherein the first selecting the serverless computing environment comprises minimizing sum of costs for all tasks in the task chain and ensuring the set of dependency constraints for each task in the task chain is satisfied by the set of capabilities associated with the serverless environment selected for each task in the task chain. 4. The method of claim 1 , wherein the set of dependency constraints comprises code for the task, and the set of capabilities comprises a programming language that a serverless environment can execute. 5. The method of claim 1 , wherein a set of dependency constraints for a given task comprises a data locality compliance rule. 6. The method of claim 1 , wherein a set of dependency constraints for a given task comprises one or more requirements specified in a task definition associated with the given task. 7. The method of claim 1 , wherein a set of dependency constraints for a given task comprises a rule specifying a particular serverless environment to be used for the given task if a condition of an output of a task previous to the given task in the task chain is met. 8. 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. 9. The system of claim 8 , wherein the task definition comprises a first task identifier identifying the first task, a first pointer to input data, a task action function code, a second pointer to output data, and a second task identifier identifying the second task. 10. 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. 11. The media of claim 10 , wherein the first selecting the serverless computing environment comprises minimizing sum of costs for all tasks in the task chain and ensuring the set of dependency constraints for each task in the task chain is satisfied by the set of capabilities associated with the serverless environment selected for each task in the task chain. 12. The media of claim 10 , wherein the set of dependency constraints comprises the programming language of code for the task, and the set of capabilities comprises a programming language that a serverless environment can execute. 13. The media of claim 10 , wherein a set of dependency constraints for a given task comprises one or more of the following: a data locality compliance rule, and one or more requirements specified in a task definition associated with the given task. 14. The media of claim 10 , wherein a set of dependency constraints for a given task comprises a rule specifying a particular serverless environment to be used for the given task if a condition of an output of a task previous to the given task in the task chain is met.
the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title
Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs (mappping at compile time, see G06F8/451) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.