Storage Node Loop for Reliable Data Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems face challenges in providing high reliability with reduced communications interface overhead and messaging traffic, especially in cloud computing environments, where mechanical storage devices are prone to failure and require redundant setups that increase system load.
Innovation Solution
A system and method utilizing two storage nodes arranged in a sequential loop, where information is written to a first storage node and copied to a second node, with a message sent to the originator upon successful write, and read operations directly accessing the first node to ensure data consistency and reduce message traffic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple storage devices with duplicate information are used to provide high reliability, then reliability is improved, but communications interface overhead and messaging traffic increase
Solution Approach 1:
The storage system is segmented into a head node and tail node with distinct responsibilities. The head node accepts write operations and stores data locally, while the tail node receives notifications and stores data asynchronously. This segmentation reduces the need for continuous communication between nodes during write operations, thereby reducing communications interface overhead while maintaining reliability through distributed storage.
Solution Approach 2:
The head node performs the write operation and stores data locally before notifying the tail node. This preliminary action allows the head node to complete the write operation independently without waiting for the tail node, reducing messaging traffic and communications overhead while ensuring data is already available at the head node for immediate access.
2Reliability
If multiple storage devices with duplicate information are used to provide high reliability, then reliability is improved, but system performance deteriorates
Solution Approach 1:
By segmenting the system into head and tail nodes with asymmetric roles, write operations are optimized for performance at the head node while the tail node operates asynchronously. This segmentation eliminates the performance penalty of synchronous replication, maintaining high write throughput while still providing reliability through distributed storage.
Solution Approach 2:
The head node completes the write operation and makes data available before initiating communication with the tail node. This preliminary action ensures that write performance is not degraded by waiting for confirmation from the tail node, thereby maintaining high productivity while still achieving reliability through the redundant tail node copy.
3Reliability
If redundant storage devices are implemented to ensure reliability, then reliability is improved, but the number of access operations increases
Solution Approach 1:
The system is divided into head and tail nodes where the head node serves as the primary access point for write operations. This segmentation concentrates access operations at the head node, reducing the need for multiple nodes to participate in every write operation, thereby reducing access operation time while maintaining reliability through the tail node's asynchronous copy.
Solution Approach 2:
The head node performs the write operation and stores data locally before notifying the tail node. This preliminary action allows the write operation to complete quickly at the head node without waiting for the tail node, significantly reducing access operation time while still achieving reliability through the distributed redundant copy at the tail node.
Data Source
AI summary
A system and method for providing reliable storage are provided. A method for initiator operations includes storing information associated with an access attempt in a store, and accessing a storage system responsive to the access attempt, wherein the storage system includes a first storage node and a second storage node arranged in a sequential loop, and where the first storage node is accessed by an initiator. The method also includes determining if the access attempt completed successfully, deleting the information from the store if the access attempt completed successfully, and indicating an error if the access attempt did not complete successfully.


