US 11,709,705 B2
Event proxies for functions-as-a-service (FaaS) infrastructures
Berndt Jung, Redwood City, CA (US); Mark Peek, Belmont, CA (US); and Karol Stepniewski, Santa Clara, CA (US)
Assigned to VMware, Inc., Palo Alto, CA (US)
Filed by VMware, Inc., Palo Alto, CA (US)
Filed on Oct. 25, 2021, as Appl. No. 17/510,148.
Application 17/510,148 is a continuation of application No. 16/244,983, filed on Jan. 10, 2019, granted, now 11,182,206.
Prior Publication US 2022/0043676 A1, Feb. 10, 2022
Int. Cl. G06F 9/48 (2006.01); H04L 67/10 (2022.01); H04L 67/306 (2022.01); G06F 9/54 (2006.01)
CPC G06F 9/4881 (2013.01) [G06F 9/542 (2013.01); H04L 67/10 (2013.01); H04L 67/306 (2013.01)] 21 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, by a service layer of a Functions-as-a-Service (FaaS) infrastructure in a first computing cloud, information pertaining to a plurality of event sources running in a plurality of second computing clouds distinct from the first computing cloud, the information including, for each event source, account credentials for connecting to the event source and a list of event types emitted by the event source;
instantiating, by the service layer based on the received information, a plurality of event proxies in the FaaS infrastructure corresponding to the plurality of event sources, wherein the plurality of event proxies are long-lived software processes that are communicatively coupled with an event bus of the FaaS infrastructure and wherein the instantiating includes, for each event proxy:
connecting the event proxy to its respective event source using the respective event source's account credentials;
subscribing the event proxy to inbound events from the respective event source that are of a type in the respective event source's list of event types; and
subscribing the event proxy to outbound events from the FaaS infrastructure that are destined for the respective event source; and
at a time a function of the FaaS infrastructure generates an outbound event destined for a first event source in the plurality of event sources:
retrieving, by a first event proxy in the plurality of event proxies that corresponds to the first event source, the outbound event from an outbound queue of the event bus;
translating, by the first event proxy, the outbound event into a format understood by the first event source; and
transmitting, by the first event proxy, the translated outbound event to the first event source in its respective second computing cloud.