Lazy Loading Container Filesystem for Image Startup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The large size of container images leads to delays in starting containers due to the need to download all layers, inefficient use of computing resources, and unnecessary storage and bandwidth consumption, as they often include unused files and duplicate dependencies.
Innovation Solution
A container filesystem that allows starting a container without fully downloading the image by using a combination of object-based and union filesystem operations, lazy-loading mechanisms, and access sequence logging to transmit files only as needed, eliminating the need for complete image download and reducing storage and bandwidth usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If container images are constructed using layers that are shared between different container images, then the total size of all images on the host machine is smaller, but different layers may maintain copies of the same file causing duplication in lower layers that consumes storage space and transmission bandwidth
Solution Approach 1:
The patent extracts only the necessary files from container images based on an access sequence. Instead of downloading or storing complete container images or all layers, the system identifies and retrieves only those files that will actually be accessed during container execution, eliminating the need to handle duplicate files in lower layers.
Solution Approach 2:
The system performs preliminary analysis to determine the access sequence of files before actual container execution. By pre-identifying which files will be needed and in what order, the system can prepare and transmit only those specific files, avoiding the overhead of managing complete layered image structures with potential duplications.
2Reliability
If all layers of a container image must be downloaded before the container can be started, then complete image availability is ensured, but users experience delay while waiting for the container image to be downloaded
Solution Approach 1:
Instead of downloading the complete container image or all layers, the system downloads only the necessary portion of files required for container startup and execution. This partial action approach allows containers to start faster while maintaining reliability by ensuring that only the essential files needed for operation are transmitted.
Solution Approach 2:
The container image is segmented into individual files with determined access sequences. Rather than treating the image as a monolithic unit that must be completely downloaded, the system segments it into discrete files that can be retrieved in a specific order, allowing startup to begin with critical files while non-essential files are handled separately or on-demand.
3Adaptability or versatility
If container images include all required dependencies such that a process can run on many platforms, then container portability is achieved, but not all dependencies are used during the container's lifetime resulting in unnecessary consumption of computing resources
Solution Approach 1:
The system extracts and identifies only the specific dependency files that will actually be accessed during container execution. While the container image maintains all dependencies for portability, the runtime system selectively retrieves only the necessary subset of these dependencies based on the determined access sequence, reducing computing resource consumption without sacrificing portability.
4Productivity
If container layers are compressed prior to transmission, then transmission efficiency is improved, but decompressing layers or portions that are not used takes time and contributes to preparation time
Solution Approach 1:
Instead of compressing and transmitting complete layers that then require decompression, the system extracts and transmits only the specific individual files that will be needed. This approach maintains transmission efficiency by sending compressed data while eliminating the need for time-consuming decompression of unused portions, as only necessary files are retrieved in the first place.
Data Source
AI summary
One example method includes transmitting a request for a container image to a registry, receiving metadata associated with the container image, wherein the metadata allows a controller to mount an empty filesystem on a host machine, starting a container from the container image without receiving all files associated with the container image, receiving files, from a container server, needed by the container based on an access sequence associated with the container. This allows a container to be started without downloading the entire container image and also conversed bandwidth by providing the files as needed based on the manner in which the container accesses files during execution.


