Partial Task Messaging for Fault-Tolerant Distributed Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current distributed computing systems face challenges in efficiently encoding and decoding data across multiple storage units while ensuring data integrity and security, particularly in scenarios where storage units may fail or data corruption occurs.

Innovation Solution

The implementation of a dispersed storage network (DSN) that uses error encoding techniques like Cauchy Reed-Solomon encoding to split data into encoded slices, which are then stored across multiple geographically dispersed units, allowing for secure and fault-tolerant data storage and retrieval, with a managing unit coordinating the process and an integrity processing unit rebuilding any corrupted slices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored across multiple dispersed storage units, then fault tolerance and data security are improved, but system complexity and coordination overhead increase

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments data into multiple encoded slices and distributes them across different storage units. This segmentation enables fault tolerance since individual slice failures do not compromise the entire dataset, while the modular structure helps manage system complexity through organized data partitioning

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a coordinating entity that manages task distribution and slice retrieval across dispersed storage units. This intermediary handles the complexity of coordination centrally, allowing individual storage units to operate independently while maintaining system-wide coherence

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If error encoding techniques are used to protect data, then data integrity is improved, but processing time and computational resources increase

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies error encoding techniques during the initial data storage phase, encoding data into multiple slices before distribution. This preliminary encoding ensures data integrity is built-in from the start, avoiding the need for time-consuming error detection and correction during retrieval operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs Cauchy Reed-Solomon encoding, which transforms data using mathematical parameters to create redundant encoded slices. This parameter-based approach provides robust error protection while maintaining efficient encoding and decoding operations through optimized mathematical computations

Inventive Principle:
Principle #35Parameter changes

3Reliability

If data is encoded and distributed across geographically dispersed units, then security and fault tolerance are improved, but data retrieval speed decreases

Engineering Contradiction:
Improvefault toleranceVSAvoiddata retrieval speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent divides data into multiple encoded slices distributed across geographically dispersed storage units. This segmentation enables parallel retrieval operations where multiple slices can be fetched simultaneously from different locations, offsetting the speed penalty of geographic distribution through concurrent operations

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a threshold-based retrieval mechanism where only a subset of encoded slices (excessive action beyond the minimum required) needs to be retrieved and decoded. This allows the system to recover data faster by obtaining more slices in parallel than strictly necessary, then using efficient decoding algorithms to reconstruct the original data

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10944712B1Partial task messaging in a distributed storage system
Publication Date: 2021.03.09 PURE STORAGE INC
  • US10944712B1 patent drawing
  • US10944712B1 patent drawing
  • US10944712B1 patent drawing

AI summary

A method for processing partial tasks in a distributed storage network (DSN) includes receiving a partial task request message for a DS execution unit, where the partial task request message includes corresponding partial tasks. The method continues by processing each partial task request message in accordance with the processing parameters to produce task request slice groupings, generating slices, such that each message is directed at a corresponding DS execution unit, and the sending the slice groupings and the task request slice groupings to the selected DS execution units for storage therein. The method continues by retrieving at least a decode threshold number of task response slices of one or more task response slice groupings from the DS execution units, decoding the task response slices, retrieving at least a decode threshold number of partial result slices, and decoding the partial results slices and processing the partial results to produce a result.