Distributed Storage Router Local Cache for Data Redundancy

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata retrieval and storage operation speedVSAvoidrisk of data loss and operational failures
Core Design Contradiction:
SpeedVSReliability

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedata availability and fault toleranceVSAvoidsystem management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #25Self-service

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

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8793328B2Distributed storage system
Publication Date: 2014.07.29 META PLATFORMS INC
  • US8793328B2 patent drawing
  • US8793328B2 patent drawing
  • US8793328B2 patent drawing

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.