IP Library Granted Patent US 12,340,261
Granted Patent B2
US 12,340,261 · App. 17/657,329 · Granted Jun 24, 2025

Tightly coupled parallel applications on a serverless computing system

Inventors: Arijit Ganguly (Kirkland, WA); Prashant Kumar Singh (Seattle, WA); Ravi S Nagayach (Aurora, IL)
Assignee: Amazon Technologies, Inc.
G06F9/541G06F9/4881G06F21/53G06F2221/034
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 12,340,261
App. No.
17/657,329
Granted
Jun 24, 2025
Kind
B2
Abstract

A serverless computing system executes user-submitted code in sandboxed environments such as virtual machines or containers. To support execution of parallel applications that require data transfer between instances of the application, the serverless computing system implements an ephemeral mesh network that allows instances of the parallel application to communicate with each other while executing in their respective sandboxes. In some embodiments, a controller or parent application may also connect to the ephemeral mesh network to coordinate execution of the parallel applications. In other embodiments, the parent application may be external to the serverless computing system. The serverless computing system may connect and disconnect sandboxed environments from the ephemeral mesh network as parallel applications start and stop executing, and may remove the network and terminate the parallel applications when the parent application stops executing.

Claims (51)

1. A system comprising:

a computer-readable memory configured to store computer-executable instructions; and a processor in communication with the computer-readable memory, wherein the computer-executable instructions, when executed by the processor, configure the processor to perform operations including:

receiving, via an application programming interface (“API”), a first request from a controller process to execute a first instance of a child task on a serverless computing system, the first request including an ephemeral mesh network identifier;

in response to receiving the first request, causing the first instance of the child task to execute in a first sandboxed environment of the serverless computing system;

receiving, via the API, a second request from the controller process to execute a second instance of the child task on the serverless computing system, the second request including the ephemeral mesh network identifier; and

in response to receiving the second request:

creating an ephemeral mesh network between the first sandboxed environment associated with the first request and a second sandboxed environment associated with the second request, the ephemeral mesh network includes the ephemeral mesh network identifier, the ephemeral mesh network enables the first instance of the child task to communicate with the second instance of the child task;

causing the second instance of the child task to execute in the second sandboxed environment; and

wherein the ephemeral mesh network is a distinct, temporary, and dynamically created network that enables communications between one or more sandboxed environment associated with any request that include the ephemeral mesh network identifier.

2. The system of claim 1 , wherein the controller process comprises a parent task executing in a third sandboxed environment of the serverless computing system.

3. The system of claim 1 , wherein the controller process is executed on a computing device external to the serverless computing system.

4. The system of claim 1 , wherein data store is configured to store further computer-executable instructions that, when executed by the processor, configure the processor to perform further operations including:

in response to a determination that the first instance of the child task has ceased executing, removing the first sandboxed environment from the ephemeral mesh network.

5. A computer-implemented method comprising:

receiving, via an application programming interface (“API”), a first request to execute a first instance of a child task on a serverless computing system, the first request including an ephemeral mesh network identifier;

in response to receiving the first request, causing the first instance of the child task to execute in a first sandboxed environment of the serverless computing system;

receiving, via the API, a second request to execute a second instance of a child task on the serverless computing system, the second request including the ephemeral mesh network identifier; and

creating an ephemeral mesh network between the first sandboxed environment associated with first request and a second sandboxed environment associated with the second request, the ephemeral mesh network includes the ephemeral mesh network identifier, the ephemeral mesh network enables the first instance of the child task to communicate with the second instance of the child task, wherein the ephemeral mesh network is a distinct, temporary, and dynamically created network that enables communications between one or more sandboxed environments associated with any request that includes the ephemeral mesh network identifier; and

causing the second instance of the child task to execute in the second sandboxed environment of the serverless computing system.

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

receiving, via the API, an output from the first instance of the child task; and

transmitting the output via the API to a sender of the first request.

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

in response to receiving the output from the first instance of the child task, removing the first sandboxed environment from the ephemeral mesh network.

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

receiving, via the API, a third request to execute a third instance of the child task on the serverless computing system, the third request including the ephemeral mesh network identifier; and in response to the third request:

causing the third instance of the child task to execute in a third sandboxed environment of the serverless computing system; and

connecting the third sandboxed environment to the ephemeral mesh network.

9. The computer-implemented method of claim 5 , wherein the ephemeral mesh network identifier is a first ephemeral mesh network identifier, wherein the ephemeral mesh network is a first ephemeral mesh network, and wherein the first ephemeral mesh network identifier comprises a first user identifier and a first user-defined string.

10. The computer-implemented method of claim 9 , wherein the second ephemeral mesh network identifier comprises the first user identifier and a second user-generated string.

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

receiving, via the API, a third request to execute a third instance of the child task on the serverless computing system, the third request including a second ephemeral mesh network identifier; and

in response to the third request:

causing the third instance of the child task to execute in a third sandboxed environment of the serverless computing system;

creating a second ephemeral mesh network; and

connecting the third sandboxed environment to the second ephemeral mesh network.

12. The computer-implemented method of claim 11 , wherein the second ephemeral mesh network identifier comprises a second user identifier and a first user-generated string.

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

determining that the serverless computing system does not have an existing ephemeral mesh network corresponding to the ephemeral mesh network identifier.

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

transmitting, to the first instance of the child task, an address of the second instance of the child task on the ephemeral mesh network.

15. A computer-implemented method comprising:

in response to receiving a first request from a controller process to execute a first instance of a child task on a serverless computing system, causing the first instance of the child task to execute in a first sandboxed environment of the serverless computing system, wherein the first request includes an ephemeral mesh network identifier, wherein an ephemeral mesh network is a distinct, temporary, and dynamically created network that enables communications between one or more sandboxed environments associated with any request, to execute an instance of a task, that include the ephemeral mesh network identifier, the individual sandboxed environments including the first sandboxed environment and a second sandboxed environment associated with a second request;

in response to receiving the second request from the controller process to execute a second instance of the child task on the serverless computing system, wherein the second request includes the ephemeral mesh network identifier:

causing the second instance of the child task to execute in the second sandboxed environment of the serverless computing system; and

connecting the second sandboxed environment to an ephemeral mesh network corresponding to the ephemeral mesh network identifier, the ephemeral mesh network enables the first instance of the child task to communicate with the second instance of the child task; and

connecting the first sandboxed environment to the ephemeral mesh network corresponding to the ephemeral mesh network identifier.

16. The computer-implemented method of claim 15 , wherein at least one of the first request or the second request is received via an application programming interface.

17. The computer-implemented method of claim 15 further comprising creating the ephemeral mesh network in response to the first request.

18. The computer-implemented method of claim 15 further comprising creating the ephemeral mesh network in response to the second request.

19. The computer-implemented method of claim 15 , wherein connecting the first sandboxed environment to the ephemeral mesh network is in response to the first request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2023
From: GANGULY, ARIJIT; SINGH, PRASHANT KUMAR; NAGAYACH, RAVI S
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 063150/0460 →
Continuity (1)
Related Publication 20230315543A1 · Oct 5, 2023
References Cited (45)
US 6044394A · Cadden et al. · 2000 [cited by applicant]
US 7885204B1 · Schongar · 2011 [cited by examiner]
US 9070211B1 · Kroeger et al. · 2015 [cited by applicant]
US 10127601B2 · Milne · 2018 [cited by examiner]
US 10397189B1 · Hashmi · 2019 [cited by examiner]
US 11068888B1 · Levatte · 2021 [cited by examiner]
US 11144359B1 · Brooker et al. · 2021 [cited by applicant]
US 11409864B1 · Baker et al. · 2022 [cited by applicant]
US 11611616B1 · Gabrielson · 2023 [cited by examiner]
US 20050022086A1 · Kotz · 2005 [cited by examiner]
US 20070258508A1 · Werb et al. · 2007 [cited by applicant]
US 20080056191A1 · Heinonen · 2008 [cited by examiner]
US 20100146085A1 · Van Wie · 2010 [cited by examiner]
US 20110078703A1 · Dokovski et al. · 2011 [cited by applicant]
US 20130109314A1 · Kneckt · 2013 [cited by examiner]
US 20160330107A1 · Thubert et al. · 2016 [cited by applicant]
US 20160350564A1 · Nedelcu · 2016 [cited by examiner]
US 20160378554A1 · Gummaraju et al. · 2016 [cited by applicant]
US 20180302807A1 · Chen et al. · 2018 [cited by applicant]
US 20190332366A1 · Natanzon et al. · 2019 [cited by applicant]
US 20200036796A1 · Tollet · 2020 [cited by examiner]
US 20200068369A1 · Liao et al. · 2020 [cited by applicant]
US 20200089528A1 · Gutierrez et al. · 2020 [cited by applicant]
US 20200137125A1 · Patnala · 2020 [cited by examiner]
US 20200145920A1 · Shen · 2020 [cited by examiner]
US 20200184556A1 · Cella · 2020 [cited by examiner]
US 20200344610A1 · Duo · 2020 [cited by examiner]
US 20210097193A1 · Miller et al. · 2021 [cited by applicant]
US 20210208948A1 · Sagi et al. · 2021 [cited by applicant]
US 20210358032A1 · Cella · 2021 [cited by examiner]
US 20210373861A1 · Parthasarathy et al. · 2021 [cited by applicant]
US 20210377157A1 · Zhao · 2021 [cited by examiner]
US 20210389983A1 · Blue et al. · 2021 [cited by applicant]
US 20210406088A1 · Chen · 2021 [cited by examiner]
US 20220035905A1 · Lu et al. · 2022 [cited by applicant]
US 20220103570A1 · Nainar · 2022 [cited by examiner]
CN 113300985A · 2021 [cited by examiner]
WO WO2022206229A1 · 2022 [cited by examiner]
Fatima Hussain, Intelligent Service Mesh Framework for API Security and Management. (Year: 2019). [cited by examiner]
Thomas Mundt, Network Topology Analysis in the Cloud. (Year: 2011). [cited by examiner]
Ashima Agarwal, Live Migration of Virtual Machines in Cloud. (Year: 2012). [cited by examiner]
Jeremy A. Hansen, Extending Mesh Networks to Opportunistic Resource Sharing (Year: 2012). [cited by examiner]
International Search Report and Written Opinion issued in application No. PCT/US2023/016609 on Jul. 5, 2023. [cited by applicant]
Sanjay et al., “A strategy for scheduling tightly coupled parallel applications on clusters”, Concurrency and Computation: Practice and Experience, 21:2491-2517 (2009). [cited by applicant]
Zhang, Weihua & Sun, Gengxin & Bin, Sheng. “A Novel Task Communication and Scheduling Algorithm for NoC-based MPSoC.” International Journal of Smart Home., vol. 9, p. 179-188. (Year: 2015). [cited by applicant]
Cited By (1)
US 12,705,111