Scaling hosts in distributed event handling systems
US-2019014171-A1 · Jan 10, 2019 · US
US2019028552A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2019028552-A1 |
| Application number | US-201715806702-A |
| Country | US |
| Kind code | A1 |
| Filing date | Nov 8, 2017 |
| Priority date | Jul 20, 2017 |
| Publication date | Jan 24, 2019 |
| Grant date | — |
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.
Systems, methods, and computer-readable media for managing a distributed network of function execution environments. In some examples, a function router registers a plurality of execution endpoints on a catalog of execution endpoints and functions, each of the plurality of execution endpoints including a respective runtime environment capable of executing one or more functions. The function router receives, from a client, a request to execute a particular function and, based on the request, queries the catalog for the particular function and execution endpoints associated with the particular function. The function router receives a query response identifying one or more execution endpoints associated with the particular function, and selects an execution endpoint for executing the particular function based on one or more criteria associated with the request. The function router then sends to the client a response identifying the execution endpoint selected for executing the particular function.
Opening claim text (preview).
What is claimed is: 1 . A method comprising: registering, via a function router, a plurality of execution endpoints on a catalog of execution endpoints, each of the plurality of execution endpoints comprising a respective runtime environment capable of executing one or more functions, the plurality of execution endpoints being located in one or more networks; receiving, via the function router, from a client, a request to execute a particular function; based on the request, querying, via the function router, the catalog of execution endpoints for execution endpoints associated with the particular function; receiving, via the function router, a query response identifying one or more execution endpoints associated with the particular function; selecting, via the function router, an execution endpoint for executing the particular function, the execution endpoint being selected from the one or more execution endpoints associated with the particular function based on one or more criteria associated with the request; and sending, via the function router, to the client, a response to the request to execute the particular function, the response identifying the execution endpoint selected for executing the particular function. 2 . The method of claim 1 , further comprising: sending, via the function router, to the execution endpoint, a second request to load the particular function from a storage location and generate a function execution endpoint address for invoking the particular function at the execution endpoint. 3 . The method of claim 2 , wherein the response comprises the function execution endpoint address for invoking the particular function at the execution endpoint. 4 . The method of claim 2 , wherein the second request comprises at least one of an indication that the client is authorized to execute the particular function on the execution endpoint or an instruction to fetch the particular function from the storage location. 5 . The method of claim 3 , wherein the function execution endpoint address comprises at least one of a unified resource locator (URL) corresponding to the particular execution endpoint or a hypertext transfer protocol (HTTP) redirect configured to redirect the client to the particular function at the execution endpoint. 6 . The method of claim 4 , wherein the storage location comprising one or more function repositories, and wherein the one or more networks comprise a cloud network and one or more local networks. 7 . The method of claim 1 , wherein registering the plurality of execution endpoints comprises storing, in the catalog of execution endpoints, at least one of respective location information associated with each execution endpoint, a respective identifier associated with each execution endpoint, a respective runtime identifier associated with each execution endpoint, one or more respective functions associated with each execution endpoint, and one or more parameters associated with each execution endpoint. 8 . The method of claim 7 , wherein the one or more criteria comprises at least one of an availability, a location, a cost, a performance level, a proximity, or a security level. 9 . The method of claim 1 , further comprising: polling, via the function router, at least one of the plurality of execution endpoints for respective information updates; and updating the catalog of execution endpoints to include one or more of the respective information updates. 10 . The method of claim 9 , wherein the respective information updates comprise at least one of a respective availability, a respective runtime environment, a respective security level, a respective cost, a respective performance level, a respective indication of associated functions, a respective location, and a respective status. 11 . The method of claim 1 , wherein the catalog of execution endpoints associates at least one of: respective functions with respective execution endpoints; respective execution endpoints with respective locations; respective functions with respective runtime environments; respective functions with respective clients; respective clients with respective execution endpoints; and respective execution endpoints with respective parameters. 12 . The method of claim 1 , wherein the plurality of execution endpoints reside on a plurality of different networks, wherein the one or more criteria comprises a location, and wherein the execution endpoint is selected based on a proximity between the client and the execution endpoint. 13 . A system comprising: one or more processors; and at least one computer-readable storage medium having stored therein instructions which, when executed by the one or more processors, cause the system to: register a plurality of execution endpoints on a catalog of execution endpoints, each of the plurality of execution endpoints comprising a respective runtime environment capable of executing one or more functions, the plurality of execution endpoints being located in one or more networks; receive from a client, a request to execute a particular function; based on the request, query the catalog of execution endpoints for execution endpoints associated with the particular function; receive a query response identifying one or more execution endpoints associated with the particular function; select an execution endpoint for executing the particular function, the execution endpoint being selected from the one or more execution endpoints associated with the particular function based on one or more criteria associated with the request; and send, to the client, a response to the request to execute the particular function, the response identifying the execution endpoint selected for executing the particular function. 14 . The system of claim 13 , the at least one computer-readable storage medium having stored therein additional instructions which, when executed by the one or more processors, cause the system to: send, to the execution endpoint, a second request to load the particular function from a storage location and generate a function execution endpoint address for invoking the particular function at the execution endpoint, wherein the response comprises the function execution endpoint address for invoking the particular function at the execution endpoint. 15 . The system of claim 13 , wherein registering the plurality of execution endpoints comprises storing, in the catalog of execution endpoints, at least one of respective location information associated with each execution endpoint, a respective identifier associated with each execution endpoint, a respective runtime identifier associated with each execution endpoint, one or more respective functions associated with each execution endpoint, and one or more parameters associated with each execution endpoint, wherein the one or more criteria comprises at least one of an availability, a location, a cost, a performance level, a proximity, or a security level. 16 . The system of claim 13 , wherein the one or more networks comprise a plurality of different networks, wherein the plurality of execution endpoints reside on the plurality of different networks, wherein the one or more criteria comprises a location, and wherein the execution endpoint is selected based on a proximity between the client and the execution endpoint. 17 . A non-transitory computer-readable storage medium having stored therein instructions which, when executed by one or more processors, cause the one or more processors to: register, via a function router, a plurality of
Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding · CPC title
in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title
based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title
Electricity · mapped topic
Discovery or management thereof, e.g. service location protocol [SLP] or web services · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.