IP Library › Granted Patent US 11,513,833
Granted Patent B1
US 11,513,833 · App. 17/036,939 · Granted Nov 29, 2022

Event listener interface for container-based execution of serverless functions

Inventors: Jeremiah M. Dunham (Hood River, OR); Fernando Francisco Dingler Avilez (San Diego, CA)
Assignee: AMAZON TECHNOLOGIES, INC.
G06F9/45558G06F9/5072G06F9/541G06F9/542G06F2009/4557G06F2009/45595
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,513,833
App. No.
17/036,939
Granted
Nov 29, 2022
Kind
B1
Abstract

A lexical analyzer is provided to analyze serverless application code to help ensure that the serverless application is portable between different execution environments. The lexical analyzer may identify non-portable features of the application, and alerts of these features may be provided to users. A transfer tool may be provided to assist in transferring a serverless application between computing platforms, such as by converting the portable serverless application to a container format. An interface may be provided that subscribes, on behalf of a container, to receive notifications of triggering events from a computing platform's notification service. The interface may provide a message to the container to indicate an occurrence of a triggering event, which may trigger execution of a serverless function by the container.

Claims (40)

1. A computing system comprising:

one or more processors; and

one or more memories having stored therein computing instructions that, upon execution by the one or more processors, cause the computing system to perform operations comprising:

receiving, by a platform-neutral component of an interface, from a container that executes a serverless function of a serverless application, a request for notifications of occurrences of a triggering event for the serverless function;

subscribing, by a first platform-specific component of the interface, to a notification service of a first computing platform, to receive the notifications of the occurrences of the triggering event;

receiving, by the first platform-specific component of the interface, from the notification service, a first platform-specific event message indicating a first occurrence of the triggering event, wherein the first platform-specific event message is in a first platform-specific format corresponding to the first computing platform;

converting, by the first platform-specific component of the interface, the first platform-specific event message into a platform-neutral event message indicating the first occurrence of the triggering event;

converting, by a second platform-specific component of the interface, the platform-neutral event message into a second platform-specific event message indicating the first occurrence of the triggering event, wherein the second platform-specific event message is in a second platform-specific format corresponding to a second computing platform; and

sending, by the platform-neutral component of the interface, to the container, the second platform-specific event message, wherein the first occurrence of the triggering event triggers execution of the serverless function in the container.

2. The computing system of claim 1 , wherein the first platform-specific component and the second platform-specific component are included in a plurality of platform-specific components that are connectable to the platform-neutral component, and wherein each of the plurality of platform-specific components corresponds to a different respective computing platform.

3. The computing system of claim 2 , wherein the platform-neutral component is configured to receive pluggable connections from the plurality of platform-specific components.

4. The computing system of claim 2 , wherein the first platform-specific component is selected from the plurality of platform-specific components for inclusion in the interface to enable communication between the interface and the first computing platform.

5. A computer-implemented method comprising:

receiving, by an interface, from a container that executes a serverless function of a serverless application, a request for notifications of occurrences of a triggering event for the serverless function, wherein the serverless application is implemented by a plurality of containers executing a plurality of serverless functions of the serverless application;

requesting, by the interface, to a notification service of a first computing platform, to receive the notifications of the occurrences of the triggering event;

receiving, by the interface, from the notification service, a notification of a first occurrence of the triggering event; and

sending, by the interface, to the container, a message indicating the first occurrence of the triggering event, wherein the first occurrence of the triggering event triggers execution of the serverless function in the container.

6. The computer-implemented method of claim 5 , wherein the notification is a first platform-specific event message, and wherein the first platform-specific event message is in a first platform-specific format corresponding to the first computing platform.

7. The computer-implemented method of claim 6 , wherein the message is a second platform-specific event message, and wherein the second platform-specific event message is in a second platform-specific format corresponding to a second computing platform.

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

converting, by a first platform-specific component of the interface, the first platform-specific event message into a platform-neutral event message indicating the first occurrence of the triggering event;

converting, by a second platform-specific component of the interface, the platform-neutral event message into the second platform-specific event message.

9. The computer-implemented method of claim 5 , wherein the interface includes a platform-neutral component, a first platform-specific component, and a second platform-specific component.

10. The computer-implemented method of claim 9 , wherein the first platform-specific component and the second platform-specific component are included in a plurality of platform-specific components that are connectable to the platform-neutral component, and wherein each of the plurality of platform-specific components corresponds to a different respective computing platform.

11. The computer-implemented method of claim 10 , wherein the platform-neutral component is configured to receive pluggable connections from the plurality of platform-specific components.

12. One or more non-transitory computer-readable storage media having stored thereon computing instructions that, upon execution by one or more computing devices, cause the one or more computing devices to perform operations comprising:

receiving, by an interface, from a container that executes a serverless function of a serverless application, a request for notifications of occurrences of a triggering event for the serverless function;

requesting, by the interface, to a notification service of a first computing platform, to receive the notifications of the occurrences of the triggering event;

receiving, by the interface, from the notification service, a first platform-specific event message indicating a first occurrence of the triggering event, wherein the first platform-specific event message is in a first platform-specific format corresponding to the first computing platform;

converting, by the interface, the first platform-specific event message into a platform-neutral event message indicating the first occurrence of the triggering event;

converting, by the interface, the platform-neutral event message into a second platform-specific event message indicating the first occurrence of the triggering event, wherein the second platform-specific event message is in a second platform-specific format corresponding to a second computing platform; and

sending, by the interface, to the container, the second platform-specific event message, wherein the first occurrence of the triggering event triggers execution of the serverless function in the container.

13. The one or more non-transitory computer-readable storage media of claim 12 , wherein the interface includes a platform-neutral component, a first platform-specific component corresponding to the first computing platform, and a second platform-specific component corresponding to the second computing platform.

14. The one or more non-transitory computer-readable storage media of claim 13 , wherein the first platform-specific component and the second platform-specific component are included in a plurality of platform-specific components that are connectable to the platform-neutral component, and wherein each of the plurality of platform-specific components corresponds to a different respective computing platform.

15. The one or more non-transitory computer-readable storage media of claim 14 , wherein the platform-neutral component is configured to receive pluggable connections from the plurality of platform-specific components.

16. The one or more non-transitory computer-readable storage media of claim 14 , wherein the first platform-specific component is selected from the plurality of platform-specific components for inclusion in the interface to enable communication between the interface and the first computing platform.

17. The one or more non-transitory computer-readable storage media of claim 14 , wherein the second platform-specific component is selected from the plurality of platform-specific components for inclusion in the interface to match a native computing platform for which serverless application was originally designed.

18. The one or more non-transitory computer-readable storage media of claim 13 , wherein the first platform-specific component performs the requesting to the notification service, the receiving of the first platform-specific event message, and the converting of the first platform-specific event message into the platform-neutral event message.

19. The one or more non-transitory computer-readable storage media of claim 13 , wherein the second platform-specific component performs the converting of the platform-neutral event message into the second platform-specific event message.

20. The one or more non-transitory computer-readable storage media of claim 13 , wherein the platform-neutral component performs the receiving of the request for the notifications of the occurrences of the triggering event and the sending of the second platform-specific event message.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2020
From: DUNHAM, JEREMIAH M.; DINGLER AVILEZ, FERNANDO FRANCISCO
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 053921/0470 →
Cited By (1)
US 12,277,210