Host Daemon Sharing Container Layers via DAX

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing method of running application containers inside Virtual Machines (VMs) leads to data duplication and inefficient resource usage due to the duplication of identical layers across multiple VMs, resulting in redundant disk and memory content.

Innovation Solution

Implementing a system that uses a host-side container generation daemon to manage and share identical container layers across VMs through Direct Access (DAX) devices, eliminating the need for duplicate storage and caching by mapping layers directly from a shared host storage, and utilizing Overlay FS or similar file systems that operate in XIP mode to merge layers without creating additional memory caching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If each VM independently downloads and stores container layers from the registry, then each VM can run containers autonomously, but data is duplicated across multiple VMs resulting in inefficient resource usage

Engineering Contradiction:
Improveautonomous container operationVSAvoiddata duplication
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent merges the container layer storage across multiple VMs by implementing a shared storage mechanism where identical layers are stored only once in a common location (e.g., shared filesystem, network storage, or storage pool). The VMs access these shared layers through references or mount points, eliminating redundant copies while maintaining autonomous container operation capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal layer storage system that serves multiple VMs simultaneously. A single layer repository or storage pool provides services to all VMs, allowing them to share common base images and libraries. This multi-functional storage infrastructure replaces individual VM-specific storage, reducing overall data quantity while maintaining operational independence.

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

2Speed

If each VM stores complete copies of container layers in local storage, then fast access is achieved, but disk space is wasted due to redundant storage of identical layers

Engineering Contradiction:
Improvelayer access speedVSAvoiddisk space usage
Core Design Contradiction:
SpeedVSVolume of stationary object

Solution Approach 1:

The patent combines the storage infrastructure into a shared system where multiple VMs access common layer repositories. This eliminates the need for each VM to maintain separate complete copies, significantly reducing total disk space consumption while maintaining fast access through optimized shared storage paths and caching mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Instead of copying entire layer images to each VM's local storage, the patent uses reference-based access where VMs hold minimal metadata or pointers to the actual layer data stored centrally. This allows fast access through efficient reference resolution while avoiding redundant data duplication across VMs.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If Docker daemons in each VM pull layers independently from the registry, then each VM maintains container independence, but identical layers are downloaded multiple times increasing network bandwidth consumption

Engineering Contradiction:
Improvecontainer independenceVSAvoidnetwork bandwidth usage
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent merges the layer distribution function across VMs by implementing a coordinated pull mechanism where Docker daemons communicate or coordinate their layer requests. When one VM downloads a layer, other VMs can access it from the shared storage instead of re-downloading from the external registry, reducing network bandwidth consumption while maintaining container independence through shared access protocols.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a intermediary layer distribution mechanism between the external registry and individual VMs. This intermediary (such as a gateway daemon or shared storage interface) receives layer requests, checks for existing copies in shared storage, and distributes layers efficiently to multiple VMs simultaneously, reducing redundant network traffic while preserving container autonomy.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10684884B1Application containers running inside virtual machine
Publication Date: 2020.06.16 VIRTUOZZO INT GMBH
  • US10684884B1 patent drawing
  • US10684884B1 patent drawing
  • US10684884B1 patent drawing

AI summary

System for launching application containers inside VMs without data duplication, includes first and second VMs on a host; a storage to which the host has access; a container generation module running on the host and configured to interface to VM-side container generation daemons in the VMs; the container generation daemons transmits to the container generation module a request to pull container layers; a host-side container generation daemon processes the request to pull the container layers from the container generation daemons running inside the VMs; and a DAX device residing on each of the VMs. The host container generation daemon sends the request for any missing container layers to a registry, and writes them onto the storage, maps the layers to the VMs as the DAX devices, maps all needed container layers to the first VM and maps any identical container layers to the second VM, without accessing the registry.