System and method for joining containers running on multiple nodes of a cluster
First Claim
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 a cluster, starting a plurality of containers,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 program modules corresponding to the 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 program module with the real process and replacing the real process with the fake program module on the source container; and
re-launching a process on the same hardware node with live settings from another node,wherein the fake program module includes interfaces identical to interfaces of a corresponding real process;
wherein interfaces of real processes are connected to corresponding interfaces of the corresponding fake program modules so as to establish output data flow of the corresponding interfaces of corresponding fake program modules identical to the data flow outputted by interfaces of a corresponding real process; and
wherein interfaces of the fake program modules are configured to receive data from conjugated interfaces.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for joining Containers and balancing loads uses a cluster of independent computer nodes assembled into a cloud service. The cluster nodes have Containers implemented on them. The Containers execute some real processes that use the resources of the node. If the Container requires additional resources (CPU, memory, etc.), the Container is provided with resources available from another node. In order to do this, the process requiring additional resources is migrated to another Container on a different node, and a proxy process imitates this process execution on the original Container. A load balancer monitors the resource usage and selects the Containers to be joined.
28 Citations
14 Claims
-
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 a cluster, starting a plurality of containers, 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 program modules corresponding to the 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 program module with the real process and replacing the real process with the fake program module on the source container; and re-launching a process on the same hardware node with live settings from another node, wherein the fake program module includes interfaces identical to interfaces of a corresponding real process; wherein interfaces of real processes are connected to corresponding interfaces of the corresponding fake program modules so as to establish output data flow of the corresponding interfaces of corresponding fake program modules identical to the data flow outputted by interfaces of a corresponding real process; and wherein interfaces of the fake program modules are configured to receive data from conjugated interfaces. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. 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 program modules 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; for the target container, the system replaces the fake program module with the real process and replaces the real process with the fake program module 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 program module includes interfaces identical to interfaces of a corresponding real process; wherein interfaces of real processes are connected to a corresponding interfaces of the corresponding fake program modules so as to establish output data flow of the corresponding interfaces of corresponding fake program modules identical to the data flow outputted by interfaces of a corresponding real process; and wherein interfaces of the fake program modules receive data from conjugated interfaces. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A non-transitory computer storage medium storing computer code for implementing a method for joining containers running on a cluster of hardware nodes, the method comprising:
-
on a plurality of nodes connected into a cluster, starting a plurality of containers, 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 program modules corresponding to the 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 program module with the real process and replacing the real process with the fake program module on the source container; and re-launching a process on the same hardware node with live settings from another node, wherein the fake program module includes interfaces identical to interfaces of a corresponding real process; wherein interfaces of real processes are connected to corresponding interfaces of the corresponding fake program modules so as to establish output data flow of the corresponding interfaces of corresponding fake program modules identical to the data flow outputted by interfaces of a corresponding real process; and wherein interfaces of the fake program modules are configured to receive data from conjugated interfaces.
-
Specification