Distributed Storage Router Local Cache for Data Redundancy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed storage systems face inefficiencies in data retrieval and storage operations due to the need for routers to access multiple computing devices for storage information, leading to potential data loss and operational failures when storage nodes malfunction.
Innovation Solution
Implementing a distributed storage system where each router maintains a local cache of storage information, allowing it to iteratively select and write or read data from storage volumes without relying on other devices, ensuring data duplication across multiple nodes for redundancy and fault tolerance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If routers access other computing devices to retrieve storage information during read or write operations, then the system maintains centralized control and consistency, but the operation speed decreases and the risk of data loss increases due to network dependencies
Solution Approach 1:
The router pre-loads and caches storage information (storage volume identifiers, storage node identifiers, and mappings) into its local memory before actual data operations are needed. This preliminary action allows the router to immediately perform read/write operations using cached information without needing to access other computing devices during critical data operations, thereby improving speed and reducing network dependency risks
Solution Approach 2:
The router acts as an intermediary that maintains local cached copies of storage information between clients and storage nodes. Instead of clients directly accessing storage nodes or routers continuously querying other devices, the router uses its local cache as a mediator to facilitate fast, reliable data operations while maintaining system consistency
2Reliability
If the system uses multiple storage nodes for data redundancy, then data availability and fault tolerance improve, but the system complexity and management overhead increase
Solution Approach 1:
The router autonomously manages the complexity of multi-node operations by maintaining local caches of storage information and independently selecting appropriate storage nodes for data operations. The system self-services by using cached mappings to automatically route data to correct storage nodes without requiring complex external coordination or management overhead
Solution Approach 2:
The storage information is segmented into distinct cached components (storage volume identifiers, storage node identifiers, and mappings) that are independently managed in the router's local memory. This segmentation allows the router to efficiently manage multiple storage nodes by organizing information in discrete, easily accessible units rather than handling monolithic complex data structures
Data Source
AI summary
In one embodiment, a first computing device receives a write request and data from a second computing device; iteratively attempts to write the data until a copy of the data is successfully written to each and every storage node belonging to a storage volume; and transmits a volume identifier of the storage volume and a data identifier assigned to the data to the second computing device. In one embodiment, a first computing device receives a read request and a volume identifier and a data identifier from a second computing device; accesses a cache to select the storage volume identified by the volume identifier; iteratively attempts to read data identified by the data identifier until a copy of the data is successfully read from a storage node belonging to the selected storage volume; and transmits the copy of the data to the second computing device.


