IP Library Granted Patent US 10,841,366
Granted Patent B2
US 10,841,366 · App. 15/923,989 · Granted Nov 17, 2020

Service graph based serverless cloud platform

Inventors: Hong Zhang (Palo Alto, CA); Farhad P. Sunavala (San Ramon, CA); Henry Louis Fourie (Livermore, CA)
Assignee: Futurewei Technologies, Inc.
H04L67/1002G06F9/44H04L41/08H04L41/5041G06F9/4498G06F9/5027G06F9/5077G06F9/542
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,841,366
App. No.
15/923,989
Granted
Nov 17, 2020
Kind
B2
Abstract

An architecture, method, and/or non-transitory computer-readable media provide a service graph based serverless cloud architecture. The service graphs can orchestrate cloud-hosted functions into a coordinated micro-service application, and thus control the execution of the cloud-hosted functions in a prescribed manner. Additionally, service graphs permit a user to arrange cloud-hosted functions to execute in sequence or concurrently, manage error conditions by re-invoking function calls, handle scaling to accommodate varying event loads, and the like. Service graphs also allow a user to define rendezvous points (i.e., states) to wait for pre-defined events before executing a cloud-hosted function and progressing through the service graph. The advantages of coordinating the execution of cloud-hosted functions with service graphs is that the service graphs provide a consistent framework for managing cloud-hosted functions without the user having to solve the coordination problems on their own.

Claims (37)

1. A serverless cloud architecture, comprising:

a service graph manager configured to perform operations comprising:

receiving a state machine model specification that defines a state machine model that transitions in response to events, a representation of the state machine model being based on a service graph language, the state machine model comprising states, actions, and events defined in a hierarchical structure;

generating one or more service graph controllers (SGCs) configured to manage state machine instances (SMIs) that implement the state machine model and generate function calls; and

generating a number of event mapping agents associated with one or more event sources, wherein each event mapping agent is configured to track events generated at the event sources and to transmit notification of the events to the one or more SGCs to trigger actions of one or more SMIs; and

a function execution engine configured to execute a plurality of cloud-hosted functions on one or more nodes in response to the function calls generated by the SMIs, the actions including invoking a function call of a cloud-hosted function executed by the function execution engine.

2. The serverless cloud architecture of claim 1 , wherein the events include at least one of file events, table events, and protocol events.

3. The serverless cloud architecture of claim 1 , wherein the service graph language comprises a javascript object notation (JSON) representation of the state machine model.

4. The serverless cloud architecture of claim 1 , wherein the service graph manager is configured to generate a service graph engine corresponding to a particular service graph, the service graph engine comprising:

the one or more SGCs;

a service graph scheduler in communication with the one or more SGCs; and

one or more SMIs associated with each SGC in the one or more SGCs.

5. The serverless cloud architecture of claim 4 , wherein each SGC in the one or more SGCs is hosted on a different node in a plurality of nodes, each node hosting one SGC and one or more SMIs associated with the SGC.

6. The serverless cloud architecture of claim 4 , wherein the SG manager is configured to perform load balancing by adjusting a number of the one or more SGCs.

7. A method for executing cloud-hosted functions in a serverless cloud architecture, the method comprising:

receiving, at a service graph manager, a state machine model specification that defines a state machine model that transitions in response to events, a representation of the state machine model being based on a service graph language, the state machine model comprising states, actions, and events defined in a hierarchical structure;

generating one or more service graph controllers (SGCs) configured to manage state machine instances (SMIs) that implement the state machine model and generate function calls;

generating a number of event mapping agents associated with one or more event sources, wherein each event mapping agent is configured to track events generated at the event sources and to transmit notification of the events to the one or more SGCs to trigger actions of one or more SMIs; and

executing a plurality of cloud-hosted functions on one or more nodes in response to the function calls generated by the SMIs, the actions including invoking a function call of a cloud-hosted function executed on the one or more nodes.

8. The method of claim 7 , wherein the events include at least one of file events, database table events, and protocol events.

9. The method of claim 7 , wherein representing the state machine model based on the service graph language comprises providing a javascript object notation (JSON) representation of the state machine model.

10. The method of claim 7 , further comprising configuring the service graph manager to generate a service graph engine corresponding to a particular service graph, the generated service graph engine comprising:

the one or more SGCs;

a service graph scheduler in communication with the one or more SGCs; and

one or more SMIs associated with each SGC in the one or more SGCs.

11. The method of claim 10 , further comprising hosting each SGC in the one or more SGCs on a different node in a plurality of nodes, each node hosting one SGC and one or more SMIs associated with the SGC.

12. The method of claim 10 , further comprising configuring the SG manager to perform load balancing by adjusting a number of the one or more SGCs.

13. A non-transitory computer-readable media storing computer instructions for executing cloud-hosted functions in a serverless cloud architecture that, when executed by one or more processors, cause the one or more processors to perform the steps of:

receiving, at a service graph manager, a state machine model specification that defines a state machine model that transitions in response to events, a representation of the state machine model being based on a service graph language, the state machine model comprising states, actions, and events defined in a hierarchical structure;

generating one or more service graph controllers (SGCs) configured to manage state machine instances (SMIs) that implement the state machine model and generate function calls;

generating a number of event mapping agents associated with one or more event sources, wherein each event mapping agent is configured to track events generated at the event sources and to transmit notification of the events to the one or more SGCs to trigger actions of one or more SMIs; and

executing a plurality of cloud-hosted functions on one or more nodes in response to the function calls generated by the SMIs, the actions including invoking a function call of a cloud-hosted function executed on the one or more nodes.

14. The non-transitory computer-readable media of claim 13 , wherein the steps further comprise configuring the service graph manager to generate a service graph engine corresponding to a particular service graph, the generated service graph engine comprising:

the one or more SGCs;

a service graph scheduler in communication with the one or more SGCs; and

one or more SMIs associated with each SGC in the one or more SGCs.

15. The non-transitory computer-readable media of claim 14 , wherein the steps further comprise hosting each SGC in the one or more SGCs on a different node in a plurality of nodes, each node hosting one SGC and one or more SMIs associated with the SGC.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2022
From: FUTUREWEI TECHNOLOGIES, INC.
To: HUAWEI CLOUD COMPUTING TECHNOLOGIES CO., LTD.
Reel/Frame 059682/0738 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2018
From: ZHANG, HONG; SUNAVALA, FARHAD P.; FOURIE, HENRY LOUIS
To: FUTUREWEI TECHNOLOGIES, INC.
Reel/Frame 045305/0303 →
Continuity (2)
Provisional Application 62473973 · Mar 20, 2017
Related Publication 20180270301A1 · Sep 20, 2018
Cited By (1)
US 12,466,345