Replication DAG for Coordinated State Suspension

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed applications face challenges in maintaining high performance and consistency as they scale, due to issues like increased failure events, network latency, and complexity, which traditional state management techniques struggle to address effectively, often leading to performance bottlenecks and downtime.

Innovation Solution

A dynamic directed acyclic graph (DAG) of replication nodes is used to manage application state changes, allowing for fault-tolerant and efficient propagation of state information without requiring 'stop-the-world' synchronization, using acceptor, intermediary, and committer nodes, along with a configuration manager that asynchronously handles configuration changes and node failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If locking mechanisms are used for application state management, then consistency is improved, but performance becomes bottlenecked

Engineering Contradiction:
ImproveconsistencyVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

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 replication DAG where state changes are propagated asynchronously through directed acyclic graph edges, allowing multiple nodes to read and write state without mutual exclusion while maintaining consistency through the graph structure.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The replication DAG acts as an intermediary structure between state readers and writers. Configuration changes and state transitions are mediated through the DAG's edge-based propagation mechanism, which coordinates state updates across nodes without requiring direct locking between operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If locking mechanisms are used for application state management, then consistency is improved, but system complexity increases

Engineering Contradiction:
ImproveconsistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent removes the complex locking protocol from the system. The replication DAG provides consistency through its inherent graph structure and asynchronous propagation mechanism, eliminating the need for lock acquisition, release, and deadlock detection that would increase system complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If stop-the-world synchronization is used for state propagation, then consistency is improved, but downtime increases

Engineering Contradiction:
ImproveconsistencyVSAvoiddowntime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system maintains continuous operation during state propagation. The replication DAG allows state changes to be propagated asynchronously along graph edges while the application continues to serve requests. Nodes can read state from the DAG without waiting for propagation to complete, eliminating stop-the-world pauses.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system performs preliminary state replication before it is needed. Configuration changes and state transitions are propagated through the DAG in advance, allowing nodes to have state information ready before application operations require it, thus avoiding synchronization pauses.

Inventive Principle:
Principle #10Preliminary action

4Device complexity

If traditional state management techniques are used, then simplicity is maintained, but scalability is limited

Engineering Contradiction:
ImprovesimplicityVSAvoidscalability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the state management system into multiple independent nodes connected by a replication DAG. Each node can independently process requests and maintain local state, with the DAG coordinating updates across segments. This segmentation enables horizontal scaling while keeping individual node complexity manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from traditional single-dimensional state management to a multi-dimensional replication DAG structure. State propagation occurs along graph edges in multiple directions simultaneously, allowing the system to scale across multiple dimensions (nodes, edges, propagation paths) while maintaining coordinated consistency.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9529882B2Coordinated suspension of replication groups
Publication Date: 2016.12.27 AMAZON TECH INC
  • US9529882B2 patent drawing
  • US9529882B2 patent drawing
  • US9529882B2 patent drawing

AI summary

A target commit sequence number (CSN) to be used to synchronize state information pertaining to an application among nodes of a state replication group (SRG) prior to a suspension of the SRG's operations is identified. Each node stores a respective commit record set of the application. Some number of SRG nodes suspend operations after synchronizing their local commit records up to the CSN. A configuration manager of the SRG verifies that, subsequent to a suspension of operations at the nodes, at least a threshold number of the nodes are available for service and have updated their commit record sets. The configuration manager then re-activates the SRG.