In-Memory Container Storage for Fast, Persistent File Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing container technologies face limitations in data storage capacity due to the volatile nature of main memory and the inability to permanently store large amounts of data, leading to performance issues and system backup challenges.
Innovation Solution
An in-memory container storage system that integrates main memory and disk storage, utilizing a container file system with a merged access layer, container layer, and image layer to provide application virtualization and efficient data management, including a unifying file-system function for integrated processing and sharing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If main memory is used for container storage, then execution speed is improved, but data storage capacity is limited and data cannot be permanently stored
Solution Approach 1:
The patent merges main memory (RAM) and disk storage into a unified storage system. The container runtime dynamically manages data across both memory and disk, allowing containers to leverage the speed of memory while utilizing the capacity of disk storage. This combination resolves the contradiction by providing both fast execution (through memory) and large storage capacity (through disk).
Solution Approach 2:
The system dynamically adjusts the balance between memory and disk usage based on container needs. The container runtime can move data between memory and disk as required, providing adaptive performance optimization. This dynamic management allows the system to maintain high execution speed while accommodating large data volumes.
2Speed
If main memory is used for container storage, then execution speed is improved, but data volatility causes backup problems
Solution Approach 1:
The system performs preliminary actions by continuously syncing container data to disk storage in the background. Before memory data can be lost due to volatility, it has already been persisted to durable storage. This preliminary persistence action resolves the contradiction by maintaining both fast memory access and reliable data backup.
Solution Approach 2:
The container runtime implements feedback mechanisms that monitor memory usage and data changes, triggering automatic sync operations to disk. This feedback loop ensures that data is continuously backed up without impacting container performance, resolving the contradiction between speed and reliability.
3Quantity of substance
If disk storage is used instead of main memory, then data storage capacity is improved, but execution speed decreases
Solution Approach 1:
The storage system is segmented into hot data (frequently accessed) and cold data (less frequently accessed). Hot data resides in main memory for fast access, while cold data is stored on disk. This segmentation allows the system to provide large storage capacity while maintaining high execution speed for active containers.
Solution Approach 2:
The system dynamically moves data between memory and disk based on access patterns. Frequently accessed data is kept in memory, while less accessed data is moved to disk. This dynamic data placement resolves the contradiction by optimizing both storage capacity and execution speed based on actual usage.
4Device complexity
If traditional container storage is used, then system complexity is reduced, but integrated file management and user access capabilities are limited
Solution Approach 1:
The container runtime is enhanced with multi-functional capabilities including unified file system management, backup/restore operations, and user access control. These additional functions are integrated into the existing container runtime architecture, providing versatile file management capabilities while maintaining relatively simple system operation through standardized interfaces.
Data Source
AI summary
Disclosed herein are an apparatus and method for managing in-memory container storage. The apparatus includes one or more processors, executable memory for storing at least one program executed by the one or more processors, and a container file system for storing a container, which provides application virtualization. Here, the container file system includes a merged access layer, a container layer, and an image layer, and the at least one program provides an application with link information of files in the container layer and the image layer, thereby allowing the application to access the files.


