Proxy Read Routing in Dispersed Storage for Anticipated Node Failures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dispersed storage networks face challenges in efficiently processing user requests and maintaining data integrity when storage units fail or require maintenance, as existing systems lack effective mechanisms to anticipate and address these issues without data loss or redundancy.

Innovation Solution

A dispersed storage network architecture that includes a managing unit for error encoding and decoding, an integrity processing unit for rebuilding 'bad' or missing encoded data slices, and a distributed error correction scheme using Cauchy Reed-Solomon encoding, allowing for data redundancy and fault tolerance without the need for redundant copies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional RAID systems are used for data storage, then data redundancy is achieved through copying, but storage efficiency is reduced and space is wasted

Engineering Contradiction:
Improvedata redundancyVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments data into multiple data slices and disperses them across different storage units. Instead of creating full redundant copies of entire data blocks, the system divides data into smaller segments and distributes them, allowing for more efficient use of storage space while maintaining redundancy through error correction codes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the fundamental parameter of data representation from complete copies to encoded fragments. By applying error correction encoding, the system transforms data into a form where any k slices out of n total slices can reconstruct the original data, thereby reducing the total storage required compared to traditional copying methods.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If storage units are distributed across multiple locations, then system availability is improved, but data integrity becomes more difficult to maintain during failures

Engineering Contradiction:
Improvesystem availabilityVSAvoiddata integrity
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent applies error correction encoding in advance before data is dispersed to storage units. This preliminary encoding ensures that even if some storage units fail or become unavailable, the original data can be reconstructed from the remaining units, thereby maintaining data integrity across distributed locations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system incorporates integrity checking mechanisms that monitor the state of dispersed data slices. When failures are detected, the system can identify which slices are missing or corrupted and retrieve them from alternative storage units, ensuring data integrity is maintained through continuous monitoring and correction.

Inventive Principle:
Principle #23Feedback

3Speed

If read requests are processed directly from storage units, then response time is reduced, but performance degradation occurs when storage units fail or require maintenance

Engineering Contradiction:
Improveresponse timeVSAvoidperformance stability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces a data processing unit as an intermediary between read requests and storage units. This mediator manages the complexity of dispersed storage by handling slice reconstruction, error correction, and coordination of multiple storage units, allowing fast direct access while maintaining reliability through intelligent intermediation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system combines multiple data slices from different storage units to fulfill a single read request. The data processing unit retrieves the necessary k slices from n total storage units, reconstructs the original data through decoding, and returns it to the user, thereby maintaining fast response times even when some storage units are unavailable.

Inventive Principle:
Principle #5Merging (Combining)

4Reliability

If error correction encoding is implemented, then data recovery capability is improved, but processing complexity increases

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidprocessing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements self-service error correction where the encoded data slices themselves contain the information needed for their own recovery. The error correction codes are designed such that any k slices can independently reconstruct the original data without requiring external intervention or complex coordination, thereby improving data recovery capability while limiting processing complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10146458B2Proxying read requests when performance or availability failure is anticipated
Publication Date: 2018.12.04 WORKDAY INC
  • US10146458B2 patent drawing
  • US10146458B2 patent drawing
  • US10146458B2 patent drawing

AI summary

A method includes receiving, by a read threshold number of storage units of a dispersed storage network (DSN), the read threshold number of read requests regarding the read threshold number of encoded data slices of a set of encoded data slices. The method further includes determining, by each storage unit of the read threshold number of storage units, whether the storage unit is capable of processing a respective read request. When a particular storage unit is not capable of processing the respective read request, the method further includes sending, by the particular storage unit, a proxy read request to another storage unit that is not in the read threshold number of storage units. The method further includes determining, by the other storage unit, whether the other storage unit is capable of processing the proxy read request and, when it is, processing the proxy read request.