IP Library Granted Patent US 10,915,382
Granted Patent B2
US 10,915,382 · App. 16/738,810 · Granted Feb 9, 2021

Event-driven serverless function orchestration

Inventors: Hong Zhang (Palo Alto, CA); Henry Louis Fourie (Livermore, CA); Farhad P. Sunavala (San Ramon, CA)
Assignee: Futurewei Technologies, Inc.
G06F9/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,915,382
App. No.
16/738,810
Granted
Feb 9, 2021
Kind
B2
Abstract

A computer-implemented method for processing serverless functions includes mapping a received event to an event state of a plurality of event states in a function graph according to a mapping rule, the function graph including one or more actions for the event state. A data package of a previous event state of the plurality of event states is filtered to generate a filtered data package, using a payload filter associated with the event state. The actions of the event state are executed, where the one or more actions satisfy the mapping rule. A modified data package is sent to a computer system to trigger executing one or more serverless functions associated with the executed one or more actions. The modified data package is based on a data package of the event and the filtered data package. One or more responses are received based on execution of the serverless functions.

Claims (52)

1. A computer-implemented method for processing serverless functions, the method comprising:

mapping, by a processor of a network device, a received event to an event state of a plurality of event states in a function graph according to a mapping rule, the function graph including one or more actions for the event state;

filtering, by the processor of the network device, a data package of a previous event state of the plurality of event states to generate a filtered data package, using a payload filter associated with the event state;

executing, by the processor of the network device, the one or more actions of the event state, the one or more actions satisfying the mapping rule;

sending, by the processor of the network device, a modified data package to a computer system to trigger executing one or more serverless functions associated with the executed one or more actions, the modified data package based on a data package of the event and the filtered data package; and

receiving, by the processor of the network device, one or more responses based on execution of the one or more serverless functions processing the modified data package.

2. The computer-implemented method of claim 1 , further comprising:

filtering, by the processor of the network device, the filtered data package of the previous event state and the data package of the event state to generate the modified data package.

3. The computer-implemented method of claim 2 , wherein the filtering comprises:

modifying the filtered data package and the data package of the event state using filtering criteria of the one or more actions, to generate the modified data package.

4. The computer-implemented method of claim 3 , wherein the modifying includes a data merging operation.

5. The computer-implemented method of claim 3 , further comprising:

filtering, by the processor of the network device, the one or more responses and the filtered data package of the previous event state to generate modified one or more responses.

6. The computer-implemented method of claim 5 , further comprising:

modifying the one or more responses and the filtered data package of the previous event state using second filtering criteria of the one or more actions, to generate the modified one or more responses.

7. The computer-implemented method of claim 6 , wherein modifying the one or more responses includes a data merging operation to merge the one or more responses and the filtered data package of the previous event.

8. The computer-implemented method of claim 6 , further comprising:

causing communicating, by the processor of the network device, the modified one or more responses to an event source associated with the received event.

9. The computer-implemented method of claim 6 , further comprising:

modifying the one or more responses and the filtered data package of the previous event state using third filtering criteria of the one or more actions, to generate a data package for a next state.

10. The computer-implemented method of claim 9 , further comprising:

filtering, by the processor of the network device, the data package for the next state using a second payload filter associated with the event state to generate second filtered data package.

11. The computer-implemented method of claim 10 , further comprising:

performing, by the processor of the network device, the next state of the function graph following the event state, using the second filtered data package.

12. The computer-implemented method of claim 1 , wherein the executing the one or more actions comprises:

concurrently executing the actions of the event state, wherein each of the actions invokes a corresponding serverless function such that the modified data package is passed to the serverless functions for execution.

13. The computer-implemented method of claim 1 , wherein the executing the one or more actions comprises:

sequentially executing the actions of the event state, wherein each of the actions invokes a corresponding serverless function,

wherein the modified data package is passed to a serverless function corresponding to a first action of the actions, and a data package of a response of the one or more responses from the serverless function corresponding to the first action is passed to another serverless function corresponding to a second action of the actions following the first action.

14. A device for coordinating processing of serverless functions, comprising:

a non-transitory memory storage comprising instructions; and

one or more processors in communication with the non-transitory memory storage, wherein the one or more processors execute the instructions to:

map a received event to an event state of a plurality of event states in a function graph according to a mapping rule, the function graph including one or more actions for the event state;

filter a data package of a previous event state of the plurality of event states to generate a filtered data package, using a payload filter associated with the event state;

execute the one or more actions of the event state, the one or more actions satisfying the mapping rule;

send a modified data package to a computer system to trigger executing one or more serverless functions associated with the executed one or more actions, the modified data package based on a data package of the event and the filtered data package; and

receive one or more responses based on execution of the one or more serverless functions processing the modified data package.

15. The device of claim 14 , wherein the one or more processors further execute the instructions to:

filter the filtered data package of the previous event state and the data package of the event state to generate the modified data package.

16. The device of claim 15 , wherein the one or more processors further execute the instructions to:

modify the filtered data package and the data package of the event state using filtering criteria of the one or more actions, to generate the modified data package.

17. The device of claim 16 , wherein the modifying includes a data merging operation to merge the filtered data package and the data package of the event state.

18. The device of claim 16 , wherein the one or more processors further execute the instructions to:

filter the one or more responses and the filtered data package of the previous event state to generate modified one or more responses.

19. A non-transitory computer-readable medium storing computer instructions for coordinating processing of serverless functions, that when executed by one or more processors, cause the one or more processors to perform the steps of:

mapping a received event to an event state of a plurality of event states in a function graph according to a mapping rule, the function graph including one or more actions for the event state;

filtering a data package of a previous event state of the plurality of event states to generate a filtered data package, using a payload filter associated with the event state;

executing the one or more actions of the event state, the one or more actions satisfying the mapping rule;

sending a modified data package to a computer system to trigger executing one or more serverless functions associated with the executed one or more actions, the modified data package based on a data package of the event and the filtered data package; and

receiving one or more responses based on execution of the one or more serverless functions processing the modified data package.

20. The non-transitory computer-readable medium of claim 19 , wherein executing the instructions further causes the one or more processors to perform the steps of:

filtering the filtered data package of the previous event state and the data package of the event state to generate the modified data package.

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 Jan 5, 2021
From: ZHANG, HONG; FOURIE, HENRY LOUIS; SUNAVALA, FARHAD P
To: FUTUREWEI TECHNOLOGIES, INC.
Reel/Frame 054814/0128 →
Continuity (3)
Continuation 16194114 · Nov 16, 2018
Continuation In Part 15858359 · Dec 29, 2017
Related Publication 20200151032A1 · May 14, 2020
Cited By (2)
US 12,223,299 US 12,561,256