Storage Controller Container Management for Network Overhead Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage systems, the performance of host applications is affected by delayed communication between geographically distant client computing devices and storage arrays, leading to high network traffic and bandwidth consumption, which can be exacerbated by the limited computing resources of storage array controllers when processing a large number of IO requests.
Innovation Solution
Implementing a method to manage containers within resource limits by dynamically selecting a controller based on available resources, scheduling container execution, and performing operations like deduplication and snapshot operations locally to reduce network traffic and improve resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data operations are performed remotely over the network, then host applications can access storage, but network traffic and bandwidth consumption increase
Solution Approach 1:
The patent extracts data operations (deduplication, snapshots, backups) from the remote host system and relocates them to execute locally on the storage array. This extraction eliminates the need for continuous network communication during these operations, reducing bandwidth consumption while maintaining data access capability.
Solution Approach 2:
The storage array controller acts as an intermediary that receives data from the host, performs operations locally, and returns results. This intermediary approach allows operations to be performed without constant host-controller network communication, reducing network traffic while maintaining data integrity and access.
2Productivity
If more computing resources are allocated to storage array controllers, then IO request processing improves, but device complexity and resource management difficulty increase
Solution Approach 1:
The patent segments the storage system into multiple storage array controllers, each capable of independently executing containerized applications. This segmentation distributes the computational load across multiple units, improving overall IO processing capacity while maintaining manageable complexity through modular architecture.
Solution Approach 2:
The storage array controllers are designed with multi-functionality, capable of performing both traditional storage I/O operations and executing containerized applications locally. This universal design consolidates resources and reduces overall system complexity by eliminating the need for separate specialized hardware for different functions.
3Adaptability or versatility
If container execution is scheduled dynamically based on resource availability, then resource utilization optimizes, but system complexity and scheduling overhead increase
Solution Approach 1:
The patent implements dynamic scheduling where container execution is adjusted in real-time based on the availability of computing resources on storage array controllers. This dynamic approach allows the system to adapt to changing workloads and resource conditions, optimizing utilization without requiring overly complex predetermined scheduling mechanisms.
Solution Approach 2:
The scheduling system operates with a degree of autonomy, where the storage array controllers themselves monitor their resource availability and make scheduling decisions locally. This self-service approach reduces the complexity of centralized scheduling mechanisms while maintaining adaptive resource utilization.
Data Source
AI summary
Examples described herein relate to management of containers in a storage system. Examples may receive a container specification corresponding to a container image. Examples may obtain the container image from a container repository and select storage volumes based on the container specification. Examples may execute one or more containers from the container image on a controller of the storage system within resource limits. Examples may dynamically select the controllers based on resource availability at the plurality of controllers. Examples may allow scheduling the execution of the containers at a specific controller at a predetermined time. The execution may include performing one or more batch operations on the storage volumes. Examples may further enable monitoring a status of the container and providing alerts in response to a detection of a failure event associated with the container.


