Container Resource Pooling via Fake Process Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cluster systems face inefficiencies in resource usage and load balancing, as Containers running on nodes either overload some nodes or waste resources on others, as they cannot utilize available resources from other nodes within the cluster.

Innovation Solution

A method for joining Containers across different nodes in a computer cluster, where processes are migrated and replaced with fake program modules that imitate the real processes, allowing for efficient resource sharing and load balancing by using available CPU and memory resources across the cluster.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If Containers are launched on a node and use all available CPU time, then CPU resources are fully utilized, but memory resources are wasted because they cannot be used by other Containers

Engineering Contradiction:
ImproveCPU resource utilizationVSAvoidmemory resource waste
Core Design Contradiction:
Use of energy by moving objectVSLoss of energy

Solution Approach 1:

The patent merges CPU and memory resources across multiple nodes into a unified pool that can be dynamically shared by Containers. Instead of binding memory to single nodes, the system creates a cluster-wide resource pool where memory from any node can be allocated to any Container that needs it, resolving the contradiction between full CPU utilization and memory waste.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements universal resource allocation where memory resources serve multiple purposes across the entire cluster rather than being dedicated to single nodes. The same memory pool can serve different Containers on different nodes, allowing memory to perform multiple functions and serve multiple Containers simultaneously, eliminating the waste while maintaining CPU efficiency.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Device complexity

If Containers are isolated on single nodes, then resource allocation is simple, but load balancing across the cluster is inefficient

Engineering Contradiction:
Improveresource allocation complexityVSAvoidload balancing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent introduces a resource management intermediary layer that sits between Containers and physical nodes. This intermediary abstracts the complexity of cross-node resource allocation by providing a unified interface for resource requests, automatically routing them to appropriate nodes with available resources, thus maintaining simplicity while enabling efficient load balancing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transitions from single-node resource allocation to multi-dimensional cluster-wide allocation. By adding the dimension of cross-node resource sharing, the system can balance loads across the entire cluster while maintaining simple Container execution models. Resources are allocated not just within a node but across the full cluster dimension.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If processes are migrated between nodes, then resource utilization improves, but system complexity increases due to process management

Engineering Contradiction:
Improveresource utilizationVSAvoidprocess management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses copying mechanisms to replicate process states and resource allocations across nodes during migration. Instead of complex direct migration, the system creates copies of process contexts and resource mappings, allowing seamless transitions between nodes while simplifying the management overhead through standardized copy operations.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9760400B1System and method for joining containers running on multiple nodes of a cluster
Publication Date: 2017.09.12 VIRTUOZZO INT GMBH
  • US9760400B1 patent drawing
  • US9760400B1 patent drawing
  • US9760400B1 patent drawing

AI summary

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.