Managing a distributed network of function execution environments

US2019028552A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2019028552-A1
Application numberUS-201715806702-A
CountryUS
Kind codeA1
Filing dateNov 8, 2017
Priority dateJul 20, 2017
Publication dateJan 24, 2019
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

  • H04L67/16Primary

    Electricity · mapped topic

  • H04L67/51Primary

    Discovery or management thereof, e.g. service location protocol [SLP] or web services · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2019028552A1 cover?
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 rou…
Who is the assignee on this patent?
Cisco Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/16. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Jan 24 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).