Dispersed Storage Network Incomplete Transaction Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems face challenges in maintaining data consistency and integrity across multiple storage units, particularly in scenarios where conflicts and errors arise during the three-phase writing process in dispersed storage networks, leading to potential data loss and inconsistency.

Innovation Solution

The implementation of a dispersed storage network (DSN) with a managing unit and integrity processing unit that utilizes error encoding and decoding techniques, such as Cauchy Reed-Solomon encoding, to produce and reconstruct encoded data slices, ensuring data integrity and consistency across geographically dispersed storage units, and managing transactions to handle incomplete operations effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If distributed storage systems use multiple storage units to improve storage capacity and reliability, then data redundancy and fault tolerance are enhanced, but data consistency and integrity become harder to maintain across units

Engineering Contradiction:
Improvefault toleranceVSAvoiddata consistency
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The patent segments data into multiple encoded data slices distributed across different storage units. Each slice is a independent part of the whole data set, allowing the system to tolerate failures of individual units while maintaining overall data integrity through the segmentation of information across the distributed network

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs error encoding techniques that transform the original data into encoded form with modified parameters (redundancy factors, encoding schemes). This parameter transformation allows the system to detect and correct inconsistencies, maintaining data stability across distributed units by changing the mathematical representation of the data

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the system uses error encoding to improve data integrity and recovery capability, then the ability to tolerate storage unit failures increases, but the computational complexity and processing time increase

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies error encoding in advance during the data writing phase, before any potential failures occur. This preliminary encoding action prepares the data for future recovery operations, allowing the system to tolerate failures without requiring complex real-time processing during read operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates encoded copies of the original data through error encoding techniques. These copies contain redundant information that can be used to reconstruct the original data if needed, distributing the computational burden across multiple storage units rather than requiring complex processing at a single location

Inventive Principle:
Principle #26Copying

3Stability of the object's composition

If the system implements a three-phase writing process to maintain consistency, then data consistency across storage units is improved, but the time required to complete write operations increases

Engineering Contradiction:
Improvedata consistencyVSAvoidwrite operation time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent performs error encoding and data preparation in advance during the write phase, before committing to storage units. This preliminary action ensures that when the commit and finalize phases occur, the system can quickly verify consistency without performing complex computations, reducing the time penalty of the three-phase process

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces mechanical coordination between storage units with mathematical verification through error encoding schemes. Instead of requiring complex communication and coordination protocols between units, the system uses mathematical relationships in the encoded data to verify consistency, substituting computational mathematics for mechanical coordination overhead

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Reliability

If the system disperses data across geographically distributed storage units to improve availability and reliability, then fault tolerance is enhanced, but maintaining data consistency and handling incomplete transactions becomes more difficult

Engineering Contradiction:
ImproveavailabilityVSAvoidtransaction management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces error encoding schemes as an intermediary mechanism between distributed storage units. This mathematical intermediary provides a common language and verification method that simplifies transaction management across geographically dispersed units, allowing them to coordinate through standardized encoding/decoding operations rather than complex direct communication protocols

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10157021B2Processing incomplete data access transactions
Publication Date: 2018.12.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10157021B2 patent drawing
  • US10157021B2 patent drawing
  • US10157021B2 patent drawing

AI summary

A method includes obtaining a set of pending transaction information from a set of storage units regarding a plurality of pending transactions. A pending transaction information includes information regarding an encoded data slice and a computing device issuing a data access request. The method further includes identifying an incomplete transaction based on the set of pending transaction information. The method further includes determining whether to complete the incomplete transaction based on information regarding the requesting computing device. The method further includes, when the incomplete transaction is not to be completed, instructing the storage units to discard a corresponding data access request associated with the incomplete transaction. The method further includes, when the incomplete transaction is to be completed, determining what aspects of the corresponding data access request have not been completed and instructing at least one storage unit to complete the aspects of the corresponding data access request.