Container Filesystem Sharing via Initialization Directory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing method of creating separate filesystems for each container in operating systems like Linux leads to reduced launch speed, increased memory usage, and higher disk access, limiting the number of containers that can be launched simultaneously.
Innovation Solution
Sharing a root filesystem among containers by creating a single initialization layer or directory, allowing subsequent containers to launch faster and consume less memory without additional disk accesses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If separate filesystems are created for each container to ensure isolation, then container isolation and security are improved, but launch speed decreases and memory usage increases
Solution Approach 1:
The patent merges the filesystem resources of multiple containers by implementing a shared filesystem mechanism where multiple container processes access a common filesystem namespace. This allows containers to share the same filesystem infrastructure rather than each having separate copies, directly reducing memory usage and improving launch speed while maintaining process isolation through other kernel mechanisms.
Solution Approach 2:
The shared filesystem mechanism serves multiple containers simultaneously with a single filesystem instance, making the filesystem resource universal across multiple container contexts. This multi-functionality allows the same filesystem to be mounted and accessed by multiple container processes, eliminating the need for separate filesystem creations and thereby improving launch performance.
2Reliability
If separate filesystems are created for each container, then container isolation is improved, but memory usage increases
Solution Approach 1:
The patent merges the filesystem resources of multiple containers by implementing a shared filesystem mechanism where multiple container processes access a common filesystem namespace. This allows containers to share the same filesystem infrastructure rather than each having separate copies, directly reducing memory usage and improving launch speed while maintaining process isolation through other kernel mechanisms.
Solution Approach 2:
Instead of creating actual copies of filesystem data for each container, the patent uses namespace mechanisms that provide virtual copies or references to the same underlying filesystem data. This allows each container to have its own filesystem view without duplicating the actual file data in memory, significantly reducing memory consumption while maintaining isolation.
3Reliability
If separate filesystems are created for each container, then container isolation is improved, but the number of containers that can be launched simultaneously is limited
Solution Approach 1:
The patent merges the filesystem resources of multiple containers by implementing a shared filesystem mechanism where multiple container processes access a common filesystem namespace. This allows containers to share the same filesystem infrastructure rather than each having separate copies, directly reducing memory usage and improving launch speed while maintaining process isolation through other kernel mechanisms.
Solution Approach 2:
The shared filesystem mechanism serves multiple containers simultaneously with a single filesystem instance, making the filesystem resource universal across multiple container contexts. This multi-functionality allows the same filesystem to be mounted and accessed by multiple container processes, eliminating the need for separate filesystem creations and thereby improving launch performance.
4Reliability
If separate filesystems are created for each container, then container isolation is improved, but disk access increases
Solution Approach 1:
The patent merges the filesystem resources of multiple containers by implementing a shared filesystem mechanism where multiple container processes access a common filesystem namespace. This allows containers to share the same filesystem infrastructure rather than each having separate copies, directly reducing memory usage and improving launch speed while maintaining process isolation through other kernel mechanisms.
Data Source
AI summary
A filesystem can be shared between containers. For example, a computing device having a host filesystem can launch a first container from an image file. Launching the first container can include creating an initialization directory for the first container on the host filesystem. The initialization directory can include a filesystem to be shared between containers. Launching the first container can also include creating a first filesystem directory for the first container on the host filesystem and mounting the initialization directory to the first filesystem directory. The computing device can also launch a second container from the image file. Launching the second container can include creating a second filesystem directory for the second container on the host filesystem and mounting the initialization directory to the second filesystem directory to enable the second container to access the filesystem.


