IP Library Granted Patent US 9,760,400
Granted Patent B1
US 9,760,400 · App. 15/476,114 · Granted Sep 12, 2017

System and method for joining containers running on multiple nodes of a cluster

Inventor: Pavel Emelyanov (Moscow, RU)
Assignee: Parallels International GmbH
G06F9/4856G06F9/4881G06F9/5077G06F9/5088
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 9,760,400
App. No.
15/476,114
Granted
Sep 12, 2017
Kind
B1
Abstract

Method for joining containers. On a plurality of nodes connected into a cluster, where each node hosts at least one container, executing real processes in the containers, where each real process is executed on a single container and other containers execute fake process corresponding to the real process; the fake process includes interfaces identical to interfaces of a corresponding real process; determining the real process on a source container to be migrated; for the target container, replacing the fake process with the real process and replacing the real process with the fake process on the source container; re-launching a process on the same hardware node with settings from another node. Interfaces of real processes are connected to interfaces of fake processes to establish data flow of fake process identical to the data flow outputted by interfaces of a real process. Interfaces of the fake process receive data from conjugated interfaces.

Claims (43)

1. A computer-implemented method for joining containers running on a cluster of hardware nodes, the method comprising:

on a plurality of nodes connected into the cluster, where each node hosts at least one container, executing a plurality of real processes in the containers, where each real process is executed on a single container and other containers execute fake processes corresponding to the real process, and

wherein the fake process includes interfaces identical to interfaces of a corresponding real process;

for at least one container, executing a backup process that represents a state of the corresponding real process on each node, and

wherein the node on which the backup process executes has no other fake processes corresponding to the real process of that backup process;

determining the real process on a source container to be migrated and a target container where the real process is to be migrated;

for the target container, replacing the fake process with the real process and replacing the real process with the fake process on the source container; and

re-launching a process on the same hardware node with settings from another node;

wherein interfaces of real processes are connected to corresponding interfaces of the corresponding fake process to establish data flow of the interfaces of fake processes identical to the data flow outputted by interfaces of a corresponding real process.

2. The method of claim 1 , wherein interfaces of the fake processes are configured to receive data from conjugated interfaces.

3. The method of claim 1 , further comprising disconnecting interfaces of the real processes from corresponding interfaces of the fake processes when the interfaces of real processes are connected to interfaces of other real processes of the same container.

4. The method of claim 1 , further comprising discarding data flows directed from the real processes to the fake processes received at the interfaces of the fake processes connected to interfaces of another program module.

5. The method of claim 1 , further comprising storing data of the real processes.

6. The method of claim 1 , further comprising applying a check point method to distribution of the real processes and the fake processes for minimizing computational losses.

7. The method of claim 6 , wherein the check point method is Checkpoint/currently amended in User space (CRIU) method.

8. The method of claim 6 , wherein the checkpoint method provides for the re-launching of the process.

9. A computer-implemented method for joining containers running on a cluster of hardware nodes, the method comprising:

on a plurality of nodes connected into the cluster, where each node hosts at least one container, executing a plurality of real processes in the containers, where each real process is executed on a single container and other containers execute fake processes corresponding to the real process,

wherein the fake process includes interfaces identical to interfaces of a corresponding real process;

determining the real process on a source container to be migrated and a target container where the real process is to be migrated;

for the target container, replacing the fake process with the real process and replacing the real process with the fake process on the source container; and

re-launching a process on the same hardware node with settings from another node;

wherein interfaces of real processes are connected to corresponding interfaces of the corresponding fake process to establish data flow of the interfaces of fake processes identical to the data flow outputted by interfaces of a corresponding real process, and

wherein interfaces of the fake processes are configured to receive data from conjugated interfaces.

10. The method of claim 9 , wherein at least one container is executing a backup process that represents a state of the corresponding real process on each node, and

wherein the node on which the backup process executes has no other fake processes corresponding to the real process of that backup process.

11. The method of claim 9 , further comprising disconnecting interfaces of the real processes from corresponding interfaces of the fake processes when the interfaces of real processes are connected to interfaces of other real processes of the same container.

12. The method of claim 9 , further comprising discarding data flows directed from the real processes to the fake processes received at the interfaces of the fake processes connected to interfaces of another program module.

13. The method of claim 9 , further comprising storing data of the real processes.

14. The method of claim 9 , further comprising applying a check point method to distribution of the real processes and the fake processes for minimizing computational losses.

15. The method of claim 9 , wherein the check point method is Checkpoint in User space (CRIU) method.

16. A system for joining containers running on a cluster of hardware nodes, the system comprising:

a plurality of nodes connected into a cluster, each node having a processor;

a plurality of containers running on the nodes, wherein each node hosts at least one container;

a plurality of real processes executing in the containers, wherein each real process is executed on a single container and other containers execute fake processes corresponding to the real process on their respective processors;

wherein the system determines the real process on a source container to be migrated and a target container where the real process is to be migrated;

at least one container executing a backup process that represents a state of the corresponding real process on each node, and

wherein the node on which the backup process executes has no other fake processes corresponding to the real process of that backup process;

for the target container, the system replaces the fake process with the real process and replaces the real process with the fake process on the source container; and

the system re-launches a process on the same hardware node with live settings from another node,

wherein the fake process includes interfaces identical to interfaces of a corresponding real process, and

wherein interfaces of real processes are connected to a corresponding interfaces of the corresponding fake processes so as to establish output data flow of the corresponding interfaces of corresponding fake processes identical to the data flow outputted by interfaces of a corresponding real process.

17. The system of claim 16 , wherein, upon failure of a real process, the backup process takes over functions of the real process.

Assignments (3)
SECURITY INTEREST IN TRADEMARK, PATENT, AND COPYRIGHT RIGHTS Recorded Dec 22, 2022
From: VIRTUOZZO INTERNATIONAL GMBH; ONAPP LIMITED
To: WILMINGTON TRUST (LONDON) LIMITED
Reel/Frame 062206/0557 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2018
From: PARALLELS INTERNATIONAL GMBH
To: VIRTUOZZO INTERNATIONAL GMBH
Reel/Frame 044756/0294 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2017
From: EMELYANOV, PAVEL
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 041813/0269 →
Continuity (1)
Continuation In Part 14814576 · Jul 31, 2015