Consistent Reads in Distributed Transaction Protocol

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed storage networks, ensuring consistency in reads and preventing lower revisions of data sources from being written after being read by a client is challenging, leading to inconsistencies and potential data changes.

Innovation Solution

A method and system that utilize a dispersed storage processing unit to issue read requests with a specific timestamp, ensuring the highest revision less than or equal to that timestamp is read, and prevent writing of any revision lower than or equal to the restored revision, using techniques such as relative hybrid logical clocks and read timestamp caches to maintain data consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a distributed storage network allows multiple storage units to independently write and update data objects, then the system achieves high availability and parallel processing capability, but data consistency and version control become difficult to maintain

Engineering Contradiction:
Improveparallel processing capabilityVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by establishing timestamp ordering and version tracking mechanisms before write operations occur. Each data object maintains a history of revisions with associated timestamps, and the system proactively manages version metadata to prevent consistency issues rather than resolving them afterward. This preliminary structuring of data versions and timestamps enables parallel writes while maintaining recoverable consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where storage units report their current timestamp and version information back to the coordinating entity. This feedback loop allows the system to track the state of data objects across distributed storage units, verify timestamp ordering, and ensure that read operations retrieve consistent versions. The feedback enables the system to maintain data consistency while allowing parallel processing.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If the system retrieves the highest revision of a data object less than or equal to a request timestamp, then immediate consistent reads are achieved, but additional processing overhead is introduced to determine the correct version

Engineering Contradiction:
Improveread consistency accuracyVSAvoidversion determination processing
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-computing and storing timestamp information with each data object revision. When a write operation occurs, the system immediately associates the current timestamp with the new revision and stores this metadata. This preliminary tagging of versions with timestamps eliminates the need for complex post-hoc analysis during read operations, as the correct version can be directly identified by comparing timestamps.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates and maintains copies of timestamp and version metadata alongside the actual data objects. Instead of requiring complex queries to determine version information, the system stores redundant copies of timestamp data that can be quickly retrieved and compared. This copying approach simplifies the read operation by providing ready-to-use version information without requiring extensive processing of the original data.

Inventive Principle:
Principle #26Copying

3Reliability

If the system prevents writing of any revision lower than or equal to a restored revision, then data integrity is maintained, but write operations require additional validation checks

Engineering Contradiction:
Improvedata integrityVSAvoidwrite validation overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by establishing a minimum timestamp threshold based on the most recent read operation before allowing write operations. When a read operation occurs, the system determines the timestamp of the retrieved version and sets this as a lower bound for subsequent writes. This preliminary establishment of timestamp boundaries enables write operations to proceed with simple timestamp comparisons rather than complex validation logic.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the parameter used for write validation from complex version comparison to simple timestamp comparison. By representing version information as monotonic timestamps, the system transforms the validation problem into a straightforward numerical comparison. This parameter transformation reduces write validation overhead while maintaining data integrity, as timestamp comparison is computationally simpler than full version object comparison.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If the system uses timestamp-based version control for data objects, then data consistency can be maintained, but the system requires additional metadata storage and management

Engineering Contradiction:
Improvedata consistencyVSAvoidmetadata storage volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system makes the timestamp field multi-functional, using it simultaneously for ordering data revisions, identifying versions for read operations, and preventing invalid writes. Instead of maintaining separate metadata structures for version control, ordering, and validation, the system uses the timestamp parameter for all these purposes. This universal use of timestamps reduces metadata storage requirements while maintaining comprehensive version control capability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system uses homogeneous timestamp data structures across all data objects and operations, rather than maintaining different types of metadata for different purposes. All version information is represented uniformly as timestamp values, which simplifies storage requirements and enables consistent handling of version data throughout the system. This homogeneity approach reduces the overall metadata burden by eliminating the need for diverse metadata structures.

Inventive Principle:
Principle #33Homogeneity

Data Source

PatentUS11226764B2Consistent reads in a distributed transaction protocol
Publication Date: 2022.01.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11226764B2 patent drawing
  • US11226764B2 patent drawing
  • US11226764B2 patent drawing

AI summary

Methods and systems for consistent reads in a distributed transaction protocol are disclosed. A method includes: receiving, by a computing device, a request to write a revision of a data object in a dispersed storage network (DSN); sending, by the computing device, a proposal with the revision of the data object to a plurality of storage units; receiving, by the computing device, a response to the proposal from each of the plurality of storage units, the response including a proposed minimum timestamp corresponding to the data object; determining, by the computing device, a minimum timestamp for the data object based on the proposed minimum timestamps received from the plurality of storage units; and determining, by the computing device, a version of the data object written in the DSN based on the minimum timestamp.