Dispersed Storage Write Locking for Concurrent Data Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current dispersed storage systems face challenges in ensuring data integrity and availability across multiple storage units, particularly in scenarios where data needs to be written or updated, as they lack efficient mechanisms to handle concurrent access and potential conflicts between devices attempting to write to the same storage units.

Innovation Solution

The implementation of a dispersed storage network (DSN) with a managing unit and integrity processing unit that employs error encoding and decoding techniques, such as Cauchy Reed-Solomon encoding, to distribute data across multiple storage units, along with a multi-phase lock/persist mechanism to manage concurrent writing requests, ensuring data integrity and availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is distributed across multiple storage units using error encoding, then data reliability and availability are improved, but system complexity and overhead increase

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

Solution Approach 1:

The data is segmented into multiple slices that are distributed across different storage units. Each slice is an independent portion of the original data, allowing the system to store and retrieve data in manageable units while maintaining overall data integrity through error encoding schemes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A coordinating entity is introduced to manage lock requests and persist operations across multiple storage units. This intermediary handles the complexity of distributed transactions by serializing access to shared data slices, preventing conflicts while allowing parallel operations on different slices.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If lock requests are sent to all storage units before writing, then data consistency is improved, but network traffic and operation time increase

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

Solution Approach 1:

Lock requests are sent to storage units in advance before the actual write operation begins. This preliminary locking phase ensures that no other transactions can modify the data slices during the write operation, guaranteeing consistency while allowing the actual data transfer to proceed efficiently once locks are granted.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The write operation is divided into distinct phases: a lock acquisition phase followed by a data writing phase. This periodic structure allows the system to maintain consistency through structured locking while optimizing performance by batching the actual write operations after locks are secured.

Inventive Principle:
Principle #19Periodic action

3Reliability

If lock requests are sent to all storage units before writing, then data consistency is improved, but network traffic increases

Engineering Contradiction:
Improvedata consistencyVSAvoidnetwork traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

Lock requests are sent to storage units in advance before the actual write operation begins. This preliminary locking phase ensures that no other transactions can modify the data slices during the write operation, guaranteeing consistency while allowing the actual data transfer to proceed efficiently once locks are granted.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Multiple lock requests are batched and sent together in a single transaction phase, rather than sending them individually. This merging of operations reduces the total number of network round trips required, decreasing overall network traffic while still achieving the necessary locking for data consistency.

Inventive Principle:
Principle #5Merging (Combining)

4Productivity

If concurrent writing operations are allowed, then productivity is improved, but data integrity and consistency become difficult to maintain

Engineering Contradiction:
Improvewriting throughputVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The data is segmented into multiple slices that are distributed across different storage units. Each slice is an independent portion of the original data, allowing the system to store and retrieve data in manageable units while maintaining overall data integrity through error encoding schemes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A coordinating entity is introduced to manage lock requests and persist operations across multiple storage units. This intermediary handles the complexity of distributed transactions by serializing access to shared data slices, preventing conflicts while allowing parallel operations on different slices.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10409492B2Multi-phase dispersed storage write process
Publication Date: 2019.09.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10409492B2 patent drawing
  • US10409492B2 patent drawing
  • US10409492B2 patent drawing

AI summary

A method begins by a storage unit of a dispersed storage network (DSN) receiving a lock request from a distributed storage (DS) processing unit associated with the DSN for an encoded data slice (EDS) of a set of encoded data slices (EDSs). The method continues with the storage unit determining whether a lock request has previously been granted for the EDS and when a lock request has not been previously granted for a slice name associated with the EDS, transmitting, by the storage unit, a favorable lock request response to the DS processing unit and locking the slice name associated with the EDS. The method continues with storage unit receiving a persist message indicating that the DS processing unit has received a write threshold number of favorable lock request responses for the set of EDSs.