Stateless Datastore Transaction Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing environments, managing application state changes becomes challenging due to increased failure events, network latency, and complexity, with traditional techniques often leading to performance bottlenecks or requiring 'stop-the-world' pauses, which are problematic for latency-sensitive applications.

Innovation Solution

A dynamic directed acyclic graph (DAG) of replication nodes is established to manage application state changes, allowing for fault-tolerant and asynchronous propagation of state information without requiring synchronization, thereby minimizing downtime and handling false-positive failure detections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If locking mechanisms are used to manage application state changes, then consistency of state information is improved, but application performance deteriorates due to performance bottlenecks

Engineering Contradiction:
Improvestate information consistencyVSAvoidapplication performance
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent extracts the locking mechanism from the state management process entirely. Instead of using locks to ensure consistency, the system uses a distributed transaction model with commit records and conflict detection that operates without centralized locking, thereby maintaining consistency while avoiding performance bottlenecks

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the mechanical locking system with a software-based distributed transaction coordination system. The commit record log and conflict detection mechanism substitute for physical locks, enabling consistency through logical rather than mechanical means

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

2Stability of the object's composition

If locking mechanisms are used to manage application state changes, then consistency of state information is improved, but system complexity increases

Engineering Contradiction:
Improvestate information consistencyVSAvoidsystem complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The patent removes the complex locking protocol from the system and replaces it with a simpler append-only commit record log that is naturally ordered by sequence numbers, reducing system complexity while maintaining consistency

Inventive Principle:
Principle #2Taking out (Extraction)

3Stability of the object's composition

If state information is propagated among application components, then consistency is improved, but application performance deteriorates due to stop-the-world pauses

Engineering Contradiction:
Improvestate information consistencyVSAvoidapplication performance
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent performs preliminary actions by pre-ordering commit records with sequence numbers and pre-establishing the total ordering of transactions. This allows components to process state changes in a predetermined order without requiring stop-the-world pauses for synchronization

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables continuous processing of application requests while state information is propagated. The asynchronous replication and conflict detection mechanisms allow the system to maintain operational continuity rather than requiring periodic stop-the-world pauses

Inventive Principle:
Principle #20Continuity of useful action

4Stability of the object's composition

If state information is propagated among application components, then consistency is improved, but response time increases due to propagation delays

Engineering Contradiction:
Improvestate information consistencyVSAvoidresponse time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent pre-orders all commit records with sequence numbers before propagation begins. This preliminary ordering allows receiving components to immediately process state changes in the correct order without waiting for synchronization signals, reducing propagation delays

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system propagates state information asynchronously in the background while application processing continues uninterrupted. The conflict detection and resolution occur without blocking the main application flow, minimizing the impact on response time

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10296606B2Stateless datastore—independent transactions
Publication Date: 2019.05.21 AMAZON TECH INC
  • US10296606B2 patent drawing
  • US10296606B2 patent drawing
  • US10296606B2 patent drawing

AI summary

At a client-side component of a storage group, a read descriptor generated in response to a read request directed to a first data store is received. The read descriptor includes a state transition indicator corresponding to a write that has been applied at the first data store. A write descriptor indicative of a write that depends on a result of the read request is generated at the client-side component. The read descriptor and the write descriptor are included in a commit request for a candidate transaction at the client-side component, and transmitted to a transaction manager.