# US 11,310,335 B2 · Function as a service gateway

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,310,335 B2
- Document ID: US11310335B2
- Status: Granted
- Kind: B2
- Application number: 16/409,353
- Filed: 2019-05-10
- Published: 2019-11-14
- Granted: 2022-04-19
- Earliest claimed: 2018-05-11
- Assignees: JPMorgan Chase Bank, N.A.
- Applicants: JPMorgan Chase Bank, N.A.
- Inventors: Duncan Adams; Alex Hayzelden; Tanmay Madan; Callum Watson; Richard Francois; Dominic Dumrauf; Vaidyalingam Ramalingam; Stephen Flaherty
- Web page: https://patentgrep.com/patent/US11310335B2

## CPC

- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/2895: Intermediate processing functionally located close to the data provider application, e.g. reverse proxies
- H04L 67/567: Integrating service provisioning from a plurality of service providers
- H04L 67/59: Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
- H04L 67/60: Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70)
- H04L 67/75: Indicating network or usage conditions on the user display
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Embodiments disclosed herein provide for systems and methods of efficiently scheduling the execution of user-provided functions on available serverless computing vendor platforms using a Function as a Service (“FaaS”) gateway, wherein the FaaS gateway provides the function code to one of the available serverless computing vendor platforms based on service parameters provided by each platform.

## Claims

### Claim 1

A system for scheduling execution of function code between a plurality of cloud service platforms, the system comprising:
one or more computing devices comprising a gateway, wherein the gateway includes at least one connector configured to receive incoming function code from an application that is registered with the gateway;
a cloud service platform data aggregator, wherein the cloud service platform data aggregator is configured to receive service parameters from each of the plurality of cloud service platforms; and
a metric scheduler, wherein the metric scheduler defines policies for routing the incoming function code to at least one of the plurality of cloud service platforms,
wherein the gateway is configured to provide the incoming function code to one of the plurality of cloud service platforms for execution based on (i) the service parameters provided by each of the plurality of cloud service platforms and (ii) the policies provided by the metric scheduler,
wherein a set of connectors are selected for the application in response to the application being registered with the gateway during a registration process, each connector in the set of connections corresponding to a distinct protocol.

### Claim 2 (depends on 1)

The system of claim 1, further comprising:
a graphical user interface, wherein the graphical user interface is configured to display at least one of the service parameters.

### Claim 3 (depends on 1)

The system of claim 1, wherein the gateway triggers a function call to one of the plurality of cloud service platforms based on the incoming function code at the at least one connector.

### Claim 4 (depends on 3)

The system of claim 3, wherein the function is called via one of a first calling mechanism and a second calling mechanism, wherein the first calling mechanism is associated with proprietary computing services and the second calling mechanism is associated with open source computing services.

### Claim 5 (depends on 1)

The system of claim 1, wherein the aggregator is also configured to receive compliance and security information from each of the plurality of cloud service platforms.

### Claim 6 (depends on 1)

The system of claim 1, wherein the gateway implements a routing algorithm in order to determine, for each of the plurality of cloud service platforms, (i) resources and time needed to execute a function associated with the function code, (ii) the language used for the function, and (iii) price offered by the cloud service platform for executing the function.

### Claim 7 (depends on 1)

The system of claim 1, wherein the aggregator and the metric scheduler are implemented within the one or more computing devices.

### Claim 8 (depends on 1)

The system of claim 1, wherein the service parameters received from each of the plurality of cloud service platforms comprise pricing data for each of the plurality of cloud service platforms.

### Claim 9 (depends on 8)

The system of claim 8, wherein the gateway is configured to generate a graphical user interface (GUI), the GUI comprising a cost for the application, the cost being generated from the pricing data.

### Claim 10

A method for scheduling execution of function code between a plurality of cloud service platforms, the method comprising:
receiving, with a gateway, incoming function code from an application that is registered with the gateway;
receiving, with a cloud service platform data aggregator, service parameters from each of the plurality of cloud service platforms; and
routing, with the gateway, the incoming function code to one of the plurality of cloud service platforms for execution based on the service parameters provided by each of the plurality of cloud service platforms,
wherein a set of connectors are selected for the application in response to the application being registered with the gateway during a registration process, each connector in the set of connections corresponding to a distinct protocol.

### Claim 11 (depends on 10)

The method of claim 10, further comprising:
displaying, with a graphical user interface, at least one of the service parameters.

### Claim 12 (depends on 10)

The method of claim 10, further comprising:
triggering, with the gateway, a function call of a function to one of the plurality of cloud service platforms based on the incoming function code.

### Claim 13 (depends on 12)

The method of claim 12, wherein the function is called via one of a first calling mechanism and a second calling mechanism, wherein the first calling mechanism is associated with proprietary computing services of a first connector among the set of connectors and the second calling mechanism is associated with open source computing services of a second connector among the set of connectors.

### Claim 14 (depends on 10)

The method of claim 10, further comprising:
determining for each of the plurality of cloud service platforms, with the gateway, (i) resources and time needed to execute a function associated with the function code, (ii) the language used for the function, and (iii) price offered by the cloud service platform for executing the function.

### Claim 15 (depends on 10)

The method of claim 10, wherein the gateway and the aggregator are implemented with one or more computing devices.

### Claim 16 (depends on 10)

The method of claim 10, wherein the service parameters received from each of the plurality of cloud service platforms comprise pricing data for each of the plurality of cloud service platforms.

### Claim 17 (depends on 16)

The method of claim 16, further comprising generating a graphical user interface (GUI), the GUI comprising a cost for the application, the cost being generated from the pricing data.

### Claim 18

A system for scheduling execution of function code between a plurality of cloud service platforms, the system comprising:
a first computing device, wherein the first computing device is configured to receive incoming function code from an application; and
a second computing device, wherein the second computing device is configured to receive service parameters from each of the plurality of cloud service platforms,
wherein the first computing device is configured to provide the incoming function code to one of the plurality of cloud service platforms for execution based on the service parameters provided by each of the plurality of cloud service platforms,
wherein a set of connectors are selected for the application in response to the application being registered with the first computing device during a registration process, each connector in the set of connections corresponding to a distinct protocol.
