Storage System Node with Lightweight Containers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage systems, such as SAN and hyper-converged storage, face inefficiencies due to distant computation nodes and storage devices, leading to increased latency and costs, and lack application-specific optimization, resulting in suboptimal resource allocation and performance.
Innovation Solution
A scalable storage system with a cluster of nodes, each equipped with a storage operating system and service containers, utilizing a messaging module for communication and a policy engine to dynamically allocate resources based on performance metrics and workload thresholds, ensuring efficient deployment and removal of service containers to maintain high performance and cost-effectiveness.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If computation nodes and storage devices are separated in traditional SAN architecture, then storage capacity and reliability are improved, but latency and system cost increase due to distant communication
Solution Approach 1:
The patent merges computation nodes and storage devices into integrated node units, where each node contains both computing resources and storage devices. This co-location eliminates the need for distant communication between separate computation and storage components, reducing data access latency while maintaining the reliability benefits of distributed architecture through the cluster of multiple nodes.
Solution Approach 2:
The patent introduces a messaging module as an intermediary component that facilitates efficient communication between nodes. This messaging module optimizes data transmission protocols and routing, further reducing latency in the integrated architecture while maintaining system reliability through standardized communication interfaces.
2Adaptability or versatility
If storage devices are architected as application-agnostic, then device versatility and ease of deployment are improved, but resource allocation efficiency and performance optimization deteriorate
Solution Approach 1:
The patent implements dynamic resource allocation where storage devices within nodes can be dynamically assigned and reassigned to different service containers based on workload demands. The policy engine continuously monitors performance metrics and adjusts resource allocation in real-time, enabling the system to adapt to changing application requirements while optimizing resource utilization efficiency.
Solution Approach 2:
The patent applies local quality by allowing different storage devices within the same node to be optimized for specific application types or workload characteristics. Each storage device can be tuned with appropriate performance parameters and resource allocations based on its intended use, while the overall system maintains versatility through the ability to reconfigure these local optimizations as needs change.
3Stability of the object's composition
If fixed resource allocation is used in storage systems, then system stability and ease of operation are improved, but performance under varying workload conditions and cost-effectiveness deteriorate
Solution Approach 1:
The patent implements feedback mechanisms where the policy engine continuously monitors performance metrics such as IOPS, throughput, and latency from storage devices and service containers. Based on this feedback, the system dynamically adjusts resource allocation decisions, scaling resources up or down according to actual workload conditions. This maintains system stability through controlled adjustments while optimizing performance and cost-effectiveness by allocating resources only when needed.
Data Source
AI summary
A storage system having nodes with light weight containers is disclosed by the present invention. The storage system includes: at least one cluster, having a number of nodes linked to one another, each node having: a node host, operated by a storage operating system, and installed with a number of service containers, which are used for providing specific services to clients and/or operations of the node out of the service containers; and at least one node storage device, operated by the storage operating system, for providing storing and accessing of data for the service containers; and a messaging module, linked to each node host, for bridging the node hosts and/or node hosts in different clusters. Coarse-grained REST APIs are used for communication between any two service containers to reduce chatty communication in the storage system.


