IP Library Granted Patent US 11,915,031
Granted Patent B2
US 11,915,031 · App. 17/403,326 · Granted Feb 27, 2024

Methods and systems for instantiating and transparently migrating executing containerized processes

Inventors: Zhiming Shen (Ithaca, NY); Hakim Weatherspoon (Ithaca, NY); Robbert Van Renesse (Ithaca, NY)
Assignee: Exostellar, Inc.
G06F9/45558G06F8/63G06F9/4887G06F9/545G06F2009/45562G06F2009/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,915,031
App. No.
17/403,326
Granted
Feb 27, 2024
Kind
B2
Abstract

A method for instantiating and transparently migrating executing containerized processes includes receiving, by a container engine executing on a first machine, an instruction to instantiate a container image on the first machine. The container engine transmits, to a modified container runtime process, executing on the first machine, the instruction to instantiate the container image on the first machine. The modified container runtime process generates, on the first machine, a shim process representing the instantiated container image. The shim process forwards the instruction to an agent executing on a second machine, via a proxy connected to the agent via a network connection. The agent directs instantiation of the container image as a containerized process. A scheduler component executing on the first machine determines to migrate the containerized process to a third machine. The scheduler component directs migration of the containerized process to the third machine, during execution of the containerized process.

Claims (28)

1. A method for instantiating and transparently migrating executing containerized processes, the method comprising:

receiving, by a container engine executing on a first machine, an instruction to instantiate a container image on the first machine;

transmitting, by the container engine, to a modified container runtime process, executing on the first machine, the instruction to instantiate the container image on the first machine;

generating, by the modified container runtime process, on the first machine, a shim process representing the instantiated container image;

forwarding, by the shim process, the instruction, to an agent executing on a second machine, via a proxy connected to the agent via a network connection;

directing, by the agent, instantiation of the container image as a containerized process;

determining, by a scheduler component executing on the first machine, to migrate the containerized process to a third machine; and

directing, by the scheduler component, migration of the containerized process to the third machine, during execution of the containerized process.

2. The method of claim 1 , wherein receiving, by the container engine, the instruction to instantiate the container image on the first machine further comprises receiving, by the container engine, from a container orchestration engine executing on the first machine, the instruction to instantiate the container image on the first machine.

3. The method of claim 1 , further comprising determining, by the scheduler component, that the third machine provides functionality for hosting the containerized process at a level of efficiency that is higher than a level of efficiency provided by the second machine.

4. The method of claim 1 , further comprising determining, by the scheduler component, that the third machine provides functionality for hosting the containerized process at a level of optimization that is higher than a level of optimization provided by the second machine.

5. A system for instantiating and transparently migrating executing containerized processes comprising:

a container engine executing on a first machine and receiving an instruction to instantiate a container image on the first machine;

a modified container runtime process executing on the first machine and receiving, from the container engine, the instruction to instantiate the container image on the first machine;

a shim process (i) representing the instantiated container image, (ii) generated on the first machine by the modified container runtime responsive to receiving, by the modified container runtime process, the instruction to instantiate the container image on the first machine, and (iii) executing a proxy;

an agent (i) executing on a second machine, (ii) connected to the proxy on the first machine via a network connection, (iii) receiving, from the shim process via the proxy, an instruction to instantiate the container image on the second machine, and (iv) directing instantiation of the container image as a containerized process; and

a scheduler component executing on the first machine, determining to migrate the containerized process to a third machine, and directing migration of the containerized process to the third machine, during execution of the containerized process.

6. The system of claim 5 , wherein the first machine is a physical computing device.

7. The system of claim 5 , wherein the first machine is a virtual computing device.

8. The system of claim 5 , wherein the second machine is a physical computing device.

9. The system of claim 5 , wherein the second machine is a virtual computing device.

10. The system of claim 5 , wherein the container image includes a dedicated kernel.

11. The system of claim 5 , wherein the container image includes a dedicated kernel executing as a library in user mode.

12. The system of claim 5 , wherein the system further comprises a container orchestration engine.

13. The system of claim 12 , wherein the container engine further comprises functionality for receiving, from the container orchestration engine, the instruction to instantiate a container image on the first machine.

14. The system of claim 5 , wherein the container engine further comprises functionality for receiving an instruction to execute the modified container runtime process.

15. The system of claim 5 , wherein the scheduler component determines that the third machine provides functionality for hosting the containerized process at a level of efficiency that is higher than a level of efficiency provided by the second machine.

16. The system of claim 5 , wherein the scheduler component determines that the third machine provides functionality for hosting the containerized process at a level of optimization that is higher than a level of optimization provided by the second machine.

Assignments (3)
MERGER Recorded Apr 20, 2026
From: EZRA ACQUISITION CORPORATION
To: EXOSTELLAR, INC.
Reel/Frame 074418/0878 →
CHANGE OF NAME Recorded May 16, 2023
From: EXOTANIUM, INC.
To: EXOSTELLAR, INC.
Reel/Frame 063663/0821 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2021
From: SHEN, ZHIMING; WEATHERSPOON, HAKIM; VAN RENESSE, ROBBERT
To: EXOTANIUM, INC.
Reel/Frame 057208/0486 →
Continuity (3)
Provisional Application 63211200 · Jun 16, 2021
Provisional Application 63066566 · Aug 17, 2020
Related Publication 20220050705A1 · Feb 17, 2022