Synchronized Data Stream Reconstruction in Distributed Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage networks face challenges in ensuring data integrity and availability across geographically dispersed storage units, particularly in handling errors and failures without redundant copies, while maintaining secure and efficient data storage and retrieval.

Innovation Solution

The implementation of dispersed storage error encoding using Cauchy Reed-Solomon encoding, where data is segmented and encoded into multiple slices, allowing for error correction and reconstruction of data segments from a threshold number of slices, ensuring data integrity and availability even with storage unit failures, and secure storage across multiple sites.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored using traditional redundancy methods (RAID), then data availability is improved, but storage efficiency deteriorates due to duplicate copies

Engineering Contradiction:
Improvedata availabilityVSAvoidstorage efficiency
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments data into multiple slices using dispersed storage error encoding (Cauchy Reed-Solomon encoding). Instead of creating full redundant copies like RAID, the data is divided into N slices where only a threshold number (K) are needed for reconstruction. This segmentation allows distributed storage across multiple units while maintaining data availability with improved storage efficiency.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If data is encoded into multiple slices for distributed storage, then storage efficiency is improved, but data integrity deteriorates due to potential slice loss or corruption

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata integrity
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent applies preliminary error correction encoding (Cauchy Reed-Solomon encoding) to data before segmentation. This preliminary action embeds redundancy in the form of parity slices, enabling the system to tolerate up to (N-K) slice losses or corruptions while still reconstructing the original data. This ensures data integrity is maintained even when some slices are lost or corrupted during distributed storage.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If data is dispersed across geographically distributed storage units, then system reliability is improved, but operational complexity deteriorates due to synchronization and coordination

Engineering Contradiction:
Improvesystem reliabilityVSAvoidoperational complexity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces an intermediary encoding/decoding mechanism (Cauchy Reed-Solomon encoder/decoder) that simplifies operations in distributed storage. The encoder converts data into a standardized slice format with built-in error correction capabilities, and the decoder automatically reconstructs data from any K slices. This intermediary layer abstracts the complexity of distributed coordination, allowing storage units to operate independently while maintaining system reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11334425B1Transmitting synchronized data streams in a distributed storage network
Publication Date: 2022.05.17 PURE STORAGE INC
  • US11334425B1 patent drawing
  • US11334425B1 patent drawing
  • US11334425B1 patent drawing

AI summary

A method begins by a processing module of a storage network receiving a first plurality of pairs of coded values corresponding to first data segments of a first data stream and a second data stream. The method continues with the processing module generating a received coded matrix to include a plurality of groups of selected coded values and when the received coded matrix includes a decode threshold number of pairs of coded values, generating a data matrix from the received coded matrix and an encoding matrix. The method continues with the processing module reproducing the first data segment of the first and second data streams, while maintaining the time alignment of the first and second data streams.