IP Library Granted Patent US 11,182,206
Granted Patent B2
US 11,182,206 · App. 16/244,983 · Granted Nov 23, 2021

Event proxies for functions-as-a-service (FAAS) infrastructures

Inventors: Berndt Jung (Redwood City, CA); Mark Peek (Belmont, CA); Karol Stepniewski (Santa Clara, CA)
Assignee: VMWARE, INC.
G06F9/4881G06F9/542H04L67/10H04L67/306
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 11,182,206
App. No.
16/244,983
Granted
Nov 23, 2021
Kind
B2
Abstract

Techniques for implementing event proxies in a Functions-as-a-Service (FaaS) infrastructure are provided. In one set of embodiments, a computer system implementing an event proxy can receive an event emitted by an event source, where the computer system is part of a first computing cloud including the FaaS infrastructure, and where the event source is a software service running in a second computing cloud that is distinct from the first computing cloud. The computer system can translate the event from a first format understood by the event source to a second format understood by a function scheduler of the FaaS infrastructure, where the function scheduler is configured to schedule execution of functions on hosts of the FaaS infrastructure. The computer system can then make the translated event available to the function scheduler.

Claims (48)

1. A method executable by a computer system implementing an event proxy in a Functions-as-a-Service (FaaS) infrastructure, the method comprising:

receiving, by the computer system, an event emitted by an event source, the computer system being part of a first computing cloud including the FaaS infrastructure, the event source being a software service running in a second computing cloud that is distinct from the first computing cloud, the event identifying a change in persistent state stored in the second computing cloud;

translating, by the computer system, the event from a first format understood by the event source to a second format understood by a function scheduler of the FaaS infrastructure, the function scheduler being configured to schedule execution of functions on hosts of the FaaS infrastructure; and

making, by the computer system, the translated event available to the function scheduler, wherein upon detecting the translated event, the function scheduler is configured to:

identify a function uploaded to the FaaS infrastructure that is subscribed to the translated event or a type of the translated event; and

schedule the identified function for execution, the scheduling comprising passing the translated event as an input parameter to the function, wherein the function is executed using the translated event as the input parameter.

2. The method of claim 1 wherein making the translated event available to the function scheduler comprises:

placing the translated event on an event bus interconnecting the computer system and the function scheduler.

3. The method of claim 1 wherein the first computing cloud is a private cloud and wherein the second computing cloud is a public cloud.

4. The method of claim 1 wherein the first and second computing clouds are different public clouds.

5. The method of claim 1 wherein the event source is an external storage service configured to manage and enable access to the persistent state stored in the second computing cloud.

6. The method of claim 1 further comprising:

receiving an outbound event emitted by an executing function instance, the outbound event being destined for the event source;

translating the outbound event from the second format to the first format; and

transmitting the translated outbound event to the event source.

7. A non-transitory computer readable storage medium having stored thereon program code executable by a computer system implementing an event proxy in a Functions-as-a-Service (FaaS) infrastructure, the computer system being part of a first computing cloud including the FaaS infrastructure, the program code embodying a method comprising:

receiving an event emitted by an event source, the event source being a software service running in a second computing cloud that is distinct from the first computing cloud, the event identifying a change in persistent state stored in the second computing cloud;

translating the event from a first format understood by the event source to a second format understood by a function scheduler of the FaaS infrastructure, the function scheduler being configured to schedule execution of functions on hosts of the FaaS infrastructure; and

making, by the computer system, the translated event available to the function scheduler, wherein upon detecting the translated event, the function scheduler is configured to:

identify a function uploaded to the FaaS infrastructure that is subscribed to the translated event or a type of the translated event; and

schedule the identified function for execution, the scheduling comprising passing the translated event as an input parameter to the function, wherein the function is executed using the translated event as the input parameter.

8. The non-transitory computer readable storage medium of claim 7 wherein making the translated event available to the function scheduler comprises:

placing the translated event on an event bus interconnecting the computer system and the function scheduler.

9. The non-transitory computer readable storage medium of claim 7 wherein the first computing cloud is a private cloud and wherein the second computing cloud is a public cloud.

10. The non-transitory computer readable storage medium of claim 7 wherein the first and second computing clouds are different public clouds.

11. The non-transitory computer readable storage medium of claim 7 wherein the event source is an external storage service configured to manage and enable access to the persistent state stored in the second computing cloud.

12. The non-transitory computer readable storage medium of claim 7 wherein the method further comprises:

receiving an outbound event emitted by an executing function instance, the outbound event being destined for the event source;

translating the outbound event from the second format to the first format; and

transmitting the translated outbound event to the event source.

13. A computer system implementing an event proxy in a Functions-as-a-Service (FaaS) infrastructure, the computer system comprising:

a processor; and

a non-transitory computer readable medium having stored thereon program code that, when executed by the processor, causes the processor to:

receive an event emitted by an event source, the computer system being part of a first computing cloud including the FaaS infrastructure, the event source being a software service running in a second computing cloud that is distinct from the first computing cloud, the event identifying a change in persistent state stored in the second computing cloud;

translate the event from a first format understood by the event source to a second format understood by a function scheduler of the FaaS infrastructure, the function scheduler being configured to schedule execution of functions on hosts of the FaaS infrastructure; and

make the translated event available to the function scheduler,

wherein upon detecting the translated event, the function scheduler is configured to:

identify a function uploaded to the FaaS infrastructure that is subscribed to the translated event or a type of the translated event; and

schedule the identified function for execution, the scheduling comprising passing the translated event as an input parameter to the function, wherein the function is executed using the translated event as the input parameter.

14. The computer system of claim 13 wherein making the translated event available to the function scheduler comprises:

placing the translated event on an event bus interconnecting the computer system and the function scheduler.

15. The computer system of claim 13 wherein the first computing cloud is a private cloud and wherein the second computing cloud is a public cloud.

16. The computer system of claim 13 wherein the first and second computing clouds are different public clouds.

17. The computer system of claim 13 wherein the event source is an external storage service configured to manage and enable access to the persistent state stored in the second computing cloud.

18. The computer system of claim 13 wherein the program code further causes the processor to:

receive an outbound event emitted by an executing function instance, the outbound event being destined for the event source;

translate the outbound event from the second format to the first format; and

transmit the translated outbound event to the event source.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2019
From: JUNG, BERNDT; PEEK, MARK; STEPNIEWSKI, KAROL
To: VMWARE, INC.
Reel/Frame 047960/0152 →
Cited By (7)
US 12,487,582 US 12,504,727 US 12,530,020 US 12,578,710 US 12,591,221 US 12,607,985 US 12,705,091