Chain File System for Container Layer Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing containerized storage solutions face challenges in interoperability and efficiency due to issues like inode proliferation, incorrect file semantics, and inefficient memory usage when managing multiple layers of software containers across different computing environments.

Innovation Solution

The implementation of a chain image layer storage driver that creates file snapshots and uses inode numbers to manage data blocks, allowing for efficient loading and writing to files across layers without copying entire files, thus reducing memory usage and performance penalties.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional containerized storage solutions are used to manage multiple layers of software containers, then file system operations can be performed across different computing environments, but inode proliferation occurs and memory usage increases due to copying entire files across layers

Engineering Contradiction:
Improveinteroperability across computing environmentsVSAvoidmemory usage and inode count
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent implements a nested layer structure where multiple software container layers are organized hierarchically, with each layer containing files and sublayers. This nesting allows files to be shared across layers through references rather than physical copies, reducing memory usage while maintaining the ability to access files from any layer in the hierarchy.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent uses copy-on-write technology where files are not physically copied across layers until modification is needed. Instead, layer files contain references to base files, and only when a file is modified does the system create a actual copy. This eliminates inode proliferation while preserving the ability to have multiple layer versions.

Inventive Principle:
Principle #26Copying

2Ease of operation

If files are copied across multiple container layers to ensure data availability, then file access is simplified, but performance degrades due to the overhead of copying and managing duplicate files

Engineering Contradiction:
Improvefile access simplicityVSAvoidfile operation performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system implements lazy copying where file data is not physically copied until modification occurs. Layer files maintain references to base files, and the copy-on-write mechanism ensures that copying only happens when necessary, eliminating the performance overhead of pre-copying files while maintaining simple file access through the layered structure.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent pre-establishes the layered file structure and reference relationships before actual file operations occur. This preliminary organization allows the system to quickly determine file locations and access patterns without performing expensive copy operations during runtime, improving overall file operation performance.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If union file system technology is used to combine multiple container layers, then files from different layers can be accessed uniformly, but incorrect file semantics occur and memory efficiency decreases

Engineering Contradiction:
Improveuniform file access interfaceVSAvoidmemory efficiency
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent implements a nested layer hierarchy where each layer is properly contained within the structure, maintaining clear parent-child relationships. This nested organization preserves correct file semantics by ensuring that file operations respect the layer hierarchy, while simultaneously improving memory efficiency through reference-based file sharing instead of physical copying.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The system uses copy-on-write to avoid unnecessary file copying while maintaining uniform access. Files are shared across layers through references until modification is needed, at which point a copy is created. This approach maintains memory efficiency while preserving the uniform file access interface that union file systems provide.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11500814B1Chain file system
Publication Date: 2022.11.15 PURE STORAGE INC
  • US11500814B1 patent drawing
  • US11500814B1 patent drawing
  • US11500814B1 patent drawing

AI summary

Techniques and mechanisms described herein facilitate the execution of a software program container having a plurality of layers. Each layer may include a plurality of files. For instance, a base layer may include a version of an operating system, while an upper layer may include a software program configured to run within the operating system. Different layers may store, create, or modify the same file. However, the precedence of the version of the data for the file may be based on an ordering of the layers. For example, the version of the file in a higher layer should supersede the version of the file in a lower layer. In some implementations, a privileged storage container that runs atop a virtualization layer may manage storage resources for other containers. The privileged storage container may store each file in a software program container as a snapshotable object.