Group-Based Container Checkpoint Deduplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems generate checkpoints for individual containers on a per-container basis, which is highly inefficient, especially in host devices with large numbers of running containers, leading to excessive resource usage and undermining system performance in maintenance, upgrade, scale-out, and migration contexts.

Innovation Solution

Implementing group-based checkpointing techniques where containers are assigned to groups based on designated criteria, identifying shared memory pages using deduplication techniques, and generating checkpoints for groups without duplicating shared pages, allowing for efficient restoration of container groups.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If checkpoints are generated for individual containers on a per-container basis, then each container can be restored independently, but excessive resources are consumed and system performance deteriorates

Engineering Contradiction:
Improvecontainer restoration capabilityVSAvoidcheckpoint generation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple individual container checkpoints into a single group-level checkpoint. Instead of generating separate checkpoints for each container, the system generates one checkpoint that represents the entire group, thereby reducing resource consumption while maintaining restoration capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The group checkpoint serves multiple containers simultaneously, making it a universal solution that can restore any container within the group. This multi-functional approach eliminates the need for separate checkpoints for each container, improving efficiency without sacrificing reliability.

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

2Reliability

If checkpoints are generated for individual containers on a per-container basis, then complete container state is captured, but excessive memory and storage resources are required

Engineering Contradiction:
Improvecontainer state capture completenessVSAvoidmemory and storage resource consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts and identifies shared memory pages that are common across multiple containers within a group. By separating shared pages from unique pages, the system only stores unique portions for each container, significantly reducing memory and storage resource requirements while maintaining complete state capture.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system merges the checkpoint representation for multiple containers by identifying and consolidating shared memory pages. Instead of storing duplicate copies of shared pages for each container, the system maintains a single copy that serves all containers in the group, reducing overall resource consumption.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If checkpoints are generated for individual containers on a per-container basis, then each container checkpoint is self-contained, but excessive time is required for checkpoint generation and restoration

Engineering Contradiction:
Improvecheckpoint self-containmentVSAvoidcheckpoint generation and restoration time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges the checkpoint generation process for multiple containers into a single coordinated operation. By generating one group-level checkpoint instead of multiple individual checkpoints, the system reduces the total time required for checkpoint generation and restoration while maintaining the self-contained nature of the checkpoint data.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary identification of shared memory pages before generating the actual checkpoint. This preliminary action allows the system to avoid redundant processing during checkpoint generation, significantly reducing the time required while ensuring complete and accurate state capture.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10705914B2Group-based container checkpoint generation
Publication Date: 2020.07.07 EMC IP HLDG CO LLC
  • US10705914B2 patent drawing
  • US10705914B2 patent drawing
  • US10705914B2 patent drawing

AI summary

An apparatus in one embodiment comprises a host device that includes at least one processor and an associated memory. The host device is configured to implement a plurality of containers each configured to access one or more portions of the memory. The containers are implemented as respective kernel control groups utilizing operating system level virtualization of the processor of the host device. The host device is further configured to assign the containers to groups in accordance with one or more designated criteria, and to generate checkpoints for respective groups of the containers. In conjunction with generation of a given one of the checkpoints for a particular one of the groups of containers, the host device identifies one or more pages of the memory that are shared by at least first and second containers of the particular group of containers, and generates the given checkpoint without duplicating the one or more shared pages to persistent storage.