Distributed systems and methods for state generation based on multi-dimensional data
US-9665405-B1 · May 30, 2017 · US
US11570272B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11570272-B2 |
| Application number | US-202017008520-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 31, 2020 |
| Priority date | Nov 30, 2017 |
| Publication date | Jan 31, 2023 |
| Grant date | Jan 31, 2023 |
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.
A method for data provisioning a serverless computing cluster. A plurality of user defined functions (UDFs) are received for execution on worker nodes of the serverless computing cluster. For a first UDF, one or more data locations of UDF data needed to execute the first UDF are determined. At a master node of the serverless computing cluster, a plurality of worker node tickets are received, each ticket indicating a resource availability of a corresponding worker node. The one or more data locations and the plurality of worker node tickets are analyzed to determine eligible worker nodes capable of executing the first UDF. The master node transmits a pre-fetch command to one or more of the eligible worker nodes, causing the eligible worker nodes to become a provisioned worker node for the first UDF by storing a pre-fetched first UDF data before the first UDF is assigned for execution.
Opening claim text (preview).
We claim: 1. A method comprising: receiving, at a listening layer, and analyzing a user defined function (UDF) for information relating to data needed for execution of the UDF, wherein the UDF is generated by a user of a user device, the information including at least a location of the data to be prefetched and the UDF requires at least a portion of the data be on a node where the UDF is to be executed before the UDF can begin to execute; determining, at a serverless computing environment, plurality of work nodes eligible to execute the UDF based at least in part on the location of the data; selecting, at the serverless computing environment, a subset of worker nodes of the plurality of work nodes; generating and transmitting, at the serverless computing environment, one or more instructions to at least one of the subset of eligible worker nodes to pre-fetch the data needed for execution of the UDF, wherein the one or more instructions cause the subset of eligible worker nodes to pre-fetch the data needed for execution of the UDF and store the pre-fetched data; and assigning the UDF to the at least one of the subset of eligible worker nodes to execute the one or more instructions. 2. The method of claim 1 , wherein, the subset of eligible worker nodes are in an idle state, the subset of eligible worker nodes each store the pre-fetched data; and the assigning of the UDF includes selecting at least one of the subset of eligible worker nodes to execute the UDF. 3. The method of claim 1 , wherein the subset of eligible worker nodes are selected based on at least one of a distance to a location of the data, an available capacity, or an estimated time to complete current tasks. 4. The method of claim 1 , wherein the assigning of the UDF includes additional worker nodes of the plurality of worker nodes that have not stored the pre-fetched data. 5. The method of claim 1 , further comprising: determining whether the UDF is eligible for parallel execution; in response to determining the UDF is eligible for parallel execution, generating a plurality of instructions to the subset of eligible worker nodes, each instruction of the plurality of instructions to pre-fetch a portion of the data associated with the UDF; transmitting the plurality of instructions to the subset of eligible work nodes, wherein each instruction of the plurality of instructions is not transmitted to more than one node of the subset of eligible worker nodes; and assigning the UDF to the subset of eligible worker nodes. 6. The method of claim 1 , wherein the assigning the UDF to the subset of eligible worker nodes is based on one or more parameters including completion time, degree of parallel computation desired, or power consumption. 7. The method of claim 1 , wherein the one or more instructions includes at least a location of the pre-fetched data. 8. A system comprising: at least one processor; and at least one memory storing instructions, which when executed by the at least one processor, causes the at least one processor to: receive, at a listening layer, and analyze a user defined function (UDF) for information relating to data needed for execution of the UDF, wherein the UDF is generated by a user of a user device, the information including at least a location of the data to be prefetched and the UDF requires at least a portion of the data be on a node where the UDF is to be executed before the UDF can begin to execute; determine a plurality of work nodes eligible to execute UDF based at least in part on the location of the data; select a subset of worker nodes of the plurality of work nodes; generate and transmit one or more instructions to at least one of the subset of eligible worker nodes to pre-fetch the data needed for execution of the UDF, wherein the one or more instructions cause the subset of eligible worker nodes to pre-fetch the data needed for execution of the UDF and store the pre-fetched data; and assign the UDF to the at least one of the subset of eligible worker nodes to execute the one or more instructions. 9. The system of claim 8 , wherein, the subset of eligible worker nodes are in an idle state, the subset of eligible worker nodes each store the data; and the assignment the UDF includes a selection of at least one of the subset of eligible worker nodes to execute the UDF. 10. The system of claim 8 , wherein the subset of eligible worker nodes are selected based on at least one of a distance to a location of the data, an available capacity, or an estimated time to complete current tasks. 11. The system of claim 8 , wherein the assignment of the UDF includes additional worker nodes of the plurality of worker nodes that have not stored the pre-fetched data. 12. The system of claim 8 , further comprising instructions, which when executed by the at least one processor causes the at least one processor to: determine whether the UDF is eligible for parallel execution; in response to determination that the UDF is eligible for parallel execution, generate a plurality of instructions to the subset of eligible worker nodes, each instruction of the plurality of instructions to pre-fetch a portion of the data associated with the UDF; transmit the plurality of instructions to the subset of eligible work nodes, wherein each instruction of the plurality of instructions is not transmitted to more than one node of the subset of eligible worker nodes; and assign the UDF the subset of eligible worker nodes. 13. The system of claim 8 , wherein the assignment of the UDF to the subset of eligible worker nodes is based on one or more parameters including completion time, degree of parallel computation desired, or power consumption. 14. The system of claim 8 , wherein the one or more instructions includes at least a location of the pre-fetched data. 15. At least one non-transitory computer readable medium storing instructions, which when executed by the at least one processor of a serverless computing environment, causes the at least one processor to: receive, at a listening layer, and analyze a user defined function (UDF) for information relating to data needed for execution of the UDF, wherein the UDF is generated by a user of a user device, the information including at least a location of the data to be prefetched and the UDF requires at least a portion of the data be on a node where the UDF is to be executed before the UDF can begin to execute; determine a subset of worker nodes of a plurality of work nodes eligible to execute a user defined function (UDF) based at least in part on the location of the data; select a subset of worker nodes of the plurality of work nodes; generate and transmit, at the serverless computing environment, one or more instructions to at least one of the subset of eligible worker nodes to pre-fetch the data needed for execution of the UDF, wherein the one or more instructions cause the subset of eligible worker nodes to pre-fetch the data needed for execution of the UDF and store the pre-fetched data; and assign the UDF to the at least one of the subset of eligible worker nodes to execute the one or more instructions. 16. The at least one non-transitory computer readable medium of claim 15 , wherein, the subset of eligible worker nodes are in an idle state, the subset of eligible worker nodes each store the data; and the assignment of the UDF includes a selection of at least one of the subset of eligible worker nodes to execute the UDF. 17. The at least one non-transitory computer readable medium of claim 15 , wherein the subset o
Grid computing · CPC title
considering hardware capabilities · CPC title
in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title
considering data affinity · CPC title
Pre-fetching or pre-delivering data based on network characteristics · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.