Exo-clone File Management for Container Image Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Docker containers lack mature and powerful software for deploying and tracking changes to container images efficiently, leading to wasteful processing time, bandwidth, and resource usage, especially when dealing with applications in production and development environments, as they require sending entire images even if only a small part has changed.

Innovation Solution

The introduction of exo-clones, which create a snapshot of a volume, calculate differences, and package these differences into a file that includes identifiers and state information, allowing for efficient transfer and application of changes across clusters without copying entire images, thereby reducing data transmission and improving productivity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional Docker containers send entire images even when only a small part has changed, then the application can be updated, but significant processing time, bandwidth, and resources are wasted

Engineering Contradiction:
Improveapplication update speedVSAvoidbandwidth and processing resources
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the container image into multiple layers (base layer, middle layers for libraries, top layer for application binary). This allows only the specific layer containing the changed file to be identified, extracted, and transferred, rather than sending the entire image. The segmentation enables precise targeting of changed content.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the specific changed file or layer from the container image. Instead of transferring the complete image, the system identifies the minimal subset of data that contains the changes (e.g., a single modified binary file) and transfers only that extracted portion to the receiving environment.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If Docker builds and pushes the whole top layer image to the registry, then the application can be deployed, but developers' productivity is reduced due to unnecessary pushes and pulls

Engineering Contradiction:
Improvedeveloper productivityVSAvoidtime spent on pushes and pulls
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts only the specific changed file from the container layer rather than building and pushing the entire layer image. This extraction approach eliminates unnecessary data transfer operations, allowing developers to push and pull only the minimal changed content, thereby reducing the time spent on deployment operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by transferring only the necessary portion of the container image (the changed file or layer) rather than the complete image. This partial transfer approach reduces the overall time and resources required for deployment operations while still achieving the full update effect.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If virtual machine images are used to pack applications, then applications can be deployed, but the large size of VM disk images makes the process cumbersome

Engineering Contradiction:
Improveapplication deployment capabilityVSAvoidsize of disk images
Core Design Contradiction:
Adaptability or versatilityVSWeight of moving object

Solution Approach 1:

The patent segments the application package into container layers and further into individual files or blocks. This segmentation breaks down the large VM disk image into manageable, transferable units that can be selectively transmitted. Only the necessary segments containing the application and its dependencies are transferred, dramatically reducing the weight of the moving object.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the essential application components from the full virtual machine image, creating a minimal container image that contains only what is necessary to run the application. This extraction removes unnecessary overhead and reduces the size of the deployed package while maintaining full adaptability.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11917003B2Container runtime image management across the cloud
Publication Date: 2024.02.27 VMWARE INC
  • US11917003B2 patent drawing
  • US11917003B2 patent drawing
  • US11917003B2 patent drawing

AI summary

Examples disclosed herein relate to propagating changes made on a file system volume of a primary cluster of nodes to the same file system volume also being managed by a secondary cluster of nodes. An application is executed on both clusters, and data changes on the primary cluster are mirrored to the secondary cluster using an exo-clone file. The exo-clone file includes the differences between two or more snapshots of the volume on the primary cluster, along with identifiers of the change blocks and (optionally) state information thereof. Just these changes, identifiers, and state information are packaged in the exo-clone file and then exported to the secondary cluster, which in turn makes the changes to its version of the volume. Exporting just the changes to the data blocks and the corresponding block identifiers drastically reduces the information needed to be exchanged and processed to keep the two volumes consistent.