Container Data Rerouting via Shared Namespace
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional systems for managing application containers are inefficient in handling storage and storage I/O operations, leading to increased resource demands on hosts due to the overhead of data transfer through kernel space.
Innovation Solution
The method involves identifying application and storage containers, configuring them to share a namespace, and creating a resource within this shared namespace to reroute data between them, bypassing the kernel and using user space for data transfer, potentially employing a data structure in shared memory or an inter-process communication socket.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is transferred through kernel space between application containers and storage containers, then data transfer can be performed using traditional system calls, but host processing resources are overwhelmed due to the overhead of kernel space operations
Solution Approach 1:
The patent introduces a message queue as an intermediary component that mediates data transfer between application containers and storage containers. Instead of direct kernel space operations, data is queued in user space and processed asynchronously, reducing the burden on host processing resources while maintaining reliable data transfer capability.
Solution Approach 2:
The patent replaces the traditional mechanical kernel space data transfer mechanism with a user space message queue system. This substitution eliminates the need for costly context switches and kernel mode transitions, significantly reducing processing overhead while maintaining data transfer functionality.
2Productivity
If more application containers are run on the same host, then resource utilization increases, but storage I/O demand and kernel processing load increase proportionally
Solution Approach 1:
The patent segments the monolithic storage I/O management system into container-level message queues. Each container has its own message queue instance, allowing independent management and processing of I/O requests. This segmentation reduces the complexity of managing storage I/O for multiple containers simultaneously.
Solution Approach 2:
The message queue system enables containers to self-manage their own data transfer operations through standardized queue interfaces. Containers can independently enqueue and dequeue messages without requiring complex centralized coordination, reducing the overall system complexity while supporting high container density.
3Ease of manufacture
If traditional container management systems are used, then implementation is straightforward using existing tools, but efficiency in handling storage and storage I/O is poor
Solution Approach 1:
The message queue system serves multiple functions: it handles data transfer between containers, manages storage I/O operations, provides buffering capabilities, and enables asynchronous processing. This multi-functionality improves storage I/O handling efficiency while maintaining ease of implementation through a unified, standardized interface.
Data Source
AI summary
The disclosed computer-implemented method for rerouting data sent between application containers and storage containers may include (1) identifying an application container, a storage container that stores data for the application container, and a host that hosts both the application container and the storage container, (2) configuring the application container and the storage container to share a namespace on the host, (3) creating, within the shared namespace on the host, a resource that enables the application container and the storage container to share data, and (4) rerouting at least one item of data sent between the application container and the storage container to pass through the resource in the shared namespace rather than through a kernel of the host. Various other methods, systems, and computer-readable media are also disclosed.


