Stream-Based Shared Storage System for Distributed Data Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed database systems face coordination challenges, particularly with lock-based systems that slow operations and become complex as additional nodes are added, and read replica models experience lag due to asynchronous data propagation.

Innovation Solution

A stream-based system that replicates shared data storage among client hosts without using lock-based mechanisms, where client hosts perform read and write operations using stream events stored in a sequence by a stream service, allowing for independent access and asynchronous update propagation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If lock-based systems are implemented to coordinate access to shared data among multiple nodes, then data consistency is maintained, but operation speed decreases and system complexity increases

Engineering Contradiction:
Improvedata consistencyVSAvoidoperation speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent extracts the locking mechanism from the data access coordination process entirely. Instead of using locks to coordinate read/write operations, the system uses version vectors and conflict-free replicated data types (CRDTs) that allow concurrent access without mutual exclusion, thereby maintaining data consistency while eliminating the speed penalty associated with lock-based systems

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces version vectors as an intermediary mechanism to track data modifications across nodes. Rather than directly coordinating access through locks, the system uses version vectors to detect conflicts and resolve them asynchronously, enabling faster operations while maintaining consistency through the intermediary conflict resolution layer

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If lock-based systems are implemented to coordinate access to shared data among multiple nodes, then data consistency is maintained, but system complexity increases

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

Solution Approach 1:

The patent removes the complex lock management infrastructure from the distributed database system. By replacing locks with CRDTs and version vectors, the system eliminates the need for centralized coordination, lock acquisition/release protocols, and deadlock detection mechanisms, thereby reducing system complexity while maintaining data consistency

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements self-service conflict resolution through CRDTs that automatically detect and resolve conflicts without external coordination. Each node independently manages its own data versions using version vectors and applies conflict resolution rules locally, eliminating the need for complex centralized lock management and reducing overall system complexity

Inventive Principle:
Principle #25Self-service

3Productivity

If read replica models are used to scale read processing, then read capacity is increased, but data propagation lag occurs due to asynchronous log shipping

Engineering Contradiction:
Improveread capacityVSAvoiddata propagation lag
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent uses CRDTs as a copying mechanism where each node maintains a local copy of the data with version information. Rather than asynchronously shipping SQL logs to replicas, the system copies data with embedded version vectors that enable each node to independently determine its synchronization state and apply updates without lag, maintaining read capacity while eliminating propagation delays

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent applies preliminary action by pre-tagging data with version vectors before replication. This allows receiving nodes to immediately process and apply updates in the correct order based on the pre-computed version information, eliminating the need for asynchronous log shipping and reducing data propagation lag while maintaining high read capacity

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11038960B1Stream-based shared storage system
Publication Date: 2021.06.15 AMAZON TECH INC
  • US11038960B1 patent drawing
  • US11038960B1 patent drawing
  • US11038960B1 patent drawing

AI summary

A client host may be used to provide access to a shared storage. The client host may receive a read request from a local client for particular data of the shared storage. In response to the read request, the client host may obtain the particular data from a local storage device. The client host may receive a write request from the local client for the shared storage. In response to the write request, the client host may send data to a network-based stream service as one or more stream events for the shared storage. After sending the one or more stream events to the network-based stream service, the client host may receive, from the network-based stream service, an ordered stream event for the shared storage. Based at least in part on the ordered stream event, the client host may update the data stored at the local storage device.