Encoded Data Slice Integrity Checks for Low-Latency DSN Retrieval

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current distributed computing systems face challenges in securely and reliably storing and retrieving data across multiple locations while ensuring data integrity and supporting distributed task processing, particularly in the presence of failures and unauthorized access.

Innovation Solution

A distributed computing system that utilizes a dispersed storage network (DSN) with error-encoded data storage and retrieval, managed by a DSTN managing unit, which includes DST execution units for storing and processing data across geographically different sites, and a DST integrity processing unit for verifying data integrity using multiple integrity check algorithms based on available resources and latency requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple integrity check algorithms are executed on encoded data slices, then data integrity verification reliability is improved, but processing time and computational resources increase

Engineering Contradiction:
Improvedata integrity verification reliabilityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system dynamically selects a subset of integrity check algorithms based on current operational conditions, resource availability, and latency requirements. This dynamic adaptation allows the system to adjust the verification thoroughness in real-time, executing more algorithms when resources are abundant and fewer when latency is critical, thus resolving the contradiction between verification reliability and processing time.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameters of integrity verification by selecting different subsets of algorithms from a predefined plurality. By varying which algorithms are executed based on available resources and performance requirements, the system optimizes the balance between thorough verification and acceptable processing time, addressing the trade-off between reliability and time loss.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If error correction encoding is applied to data before storage, then data security and fault tolerance are improved, but storage capacity and processing complexity increase

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

Solution Approach 1:

The system segments data into encoded slices distributed across multiple storage locations, with each slice containing a portion of the error-corrected data. This segmentation enables fault tolerance since the original data can be reconstructed from any sufficient subset of slices, while reducing the complexity burden on any single storage node by distributing the computational load across the network.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces an intermediary error correction layer between the original data and storage locations. This intermediary encoding process creates redundant information that facilitates recovery from failures, while the distributed nature of storing encoded slices across multiple locations reduces the processing complexity at any single point by sharing the reconstruction workload across the network.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If data is distributed across geographically different sites, then system availability and disaster recovery capability are improved, but network latency and synchronization difficulty increase

Engineering Contradiction:
Improvesystem availabilityVSAvoidnetwork latency
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system segments encoded data slices and distributes them across geographically different storage locations. This segmentation enables the system to maintain high availability since data can be retrieved from any sufficient subset of locations, while the error correction encoding allows reconstruction without requiring simultaneous access to all locations, thereby mitigating the impact of network latency.

Inventive Principle:
Principle #1Segmentation

4Adaptability or versatility

If integrity check algorithms are dynamically selected based on resource availability, then system adaptability and efficiency are improved, but decision-making complexity increases

Engineering Contradiction:
Improvesystem adaptabilityVSAvoiddecision-making complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system changes operational parameters by dynamically selecting subsets of integrity check algorithms based on current resource availability and performance requirements. This parameter adjustment enables adaptability to varying conditions while the selection process follows defined criteria that manage the complexity of decision-making, balancing thorough verification with available computational resources.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10042704B2Validating stored encoded data slice integrity in a dispersed storage network
Publication Date: 2018.08.07 PURE STORAGE INC
  • US10042704B2 patent drawing
  • US10042704B2 patent drawing
  • US10042704B2 patent drawing

AI summary

An encoded data slice is received for storage by a dispersed storage and task (DST) execution unit. A plurality of initial integrity values are generated by executing a plurality of integrity check algorithms on the encoded data slice. The encoded data slice and the plurality of initial integrity values are stored in a memory of the DST execution unit. A subset of the plurality of integrity check algorithms are selected in response to a request to retrieve the encoded data slice. At least one final integrity value is generated by executing the subset of the plurality of integrity check algorithms on the encoded data slice stored in memory. An integrity status is generated by comparing the at least one final integrity value to the corresponding subset of the plurality of initial integrity values.