Eventual Consistency in Data Stores via Initial State Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-tenant data stores face challenges in maintaining data consistency due to the increasing likelihood of out-of-order message processing as database size and complexity grow, requiring additional processing safeguards to ensure eventual consistency.

Innovation Solution

Implementing an 'eventually consistent' design pattern in the authoritative data store that processes update instructions with initial and final state information, using a redrive queue for messages with mismatched states to ensure reliable consistency without relying on timestamps or intensive techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If update instructions are processed in the order they were received to maintain data consistency, then data consistency is improved, but processing efficiency deteriorates due to the need to handle out-of-order messages with additional safeguards

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by including the initial state of the information object within the update instruction itself, before processing occurs. This allows the system to verify consistency prerequisites upfront without needing to track or reorder messages, enabling efficient parallel processing while maintaining consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the initial state information from the system's current state and embeds it directly in the update instruction. This removal of dependency on system state tracking at processing time eliminates the need for complex ordering logic and safeguards, improving processing efficiency while preserving consistency.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If additional processing safeguards are implemented to handle out-of-order messages, then data consistency is improved, but device complexity increases

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

Solution Approach 1:

The patent extracts initial state information from the system and embeds it in each update instruction, removing the need for complex tracking and ordering mechanisms. This simplifies the processing logic while ensuring consistency can be verified independently of message arrival order.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The update instruction becomes self-sufficient by containing its own initial state information, allowing it to verify its own consistency prerequisites without requiring external tracking or coordination mechanisms. This reduces system complexity while maintaining reliability.

Inventive Principle:
Principle #25Self-service

3Reliability

If timestamps or intensive techniques are used to ensure consistency, then data consistency is improved, but use of energy increases

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing energy
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent uses lightweight, disposable initial state information embedded in each update instruction rather than maintaining complex, energy-intensive timestamp systems or intensive consistency checking mechanisms. This approach achieves consistency with minimal processing overhead and energy consumption.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

By extracting and embedding initial state information directly in update instructions, the patent eliminates the need for energy-intensive timestamp management and complex consistency algorithms, achieving reliable consistency with reduced energy usage.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9971987B1Out of order data management
Publication Date: 2018.05.15 AMAZON TECH INC
  • US9971987B1 patent drawing
  • US9971987B1 patent drawing
  • US9971987B1 patent drawing

AI summary

Systems and methods for providing updates to a data store are described. A data store may receive, process and distribute update information in a substantially orderless manner. This may include implementing an “eventually consistent” design pattern, in which all operations include an object identifier associated with one of the objects in the data store, an information attribute identifier, an initial state, and a final state. Examples may include comparing the initial state included in the update instruction to a current state of one of the objects. If the initial state and the current state are the same, the current state of the object may be modified to match the final state of the update instruction. If the initial state and the current state are not the same, the update instruction may be sent to a redrive queue, from which the update may be reprocessed at a later time.