Journal-Based Registers for Distributed State Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing environments, existing technologies face challenges in managing complex transactions across multiple data stores, particularly in ensuring ACID properties and robust state change management, due to varying data models and network delays, which can lead to service level issues in mission-critical operations.

Innovation Solution

The implementation of journal-based registers with an optimistic concurrency control protocol allows for replicated state management, enabling transaction requests to be processed with conflict detection and logical constraint checking, ensuring that transactions are committed only if they do not violate read-write conflicts or logical constraints, and allowing for more sophisticated commit processing logic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional conflict detection techniques are used for state change management, then implementation simplicity is maintained, but robustness and reliability are insufficient for mission-critical operations

Engineering Contradiction:
ImproverobustnessVSAvoidstate change management logic
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces journal-based registers as an intermediary mechanism between distributed data stores and application logic. These registers provide a standardized interface for state change management, mediating between the complexity of distributed transactions and the simplicity required by applications. The registers capture state changes in a structured format that can be reliably processed across network boundaries, enhancing robustness without requiring applications to implement complex management logic directly.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments state change management into discrete, manageable units through journal entries and register operations. Each state change is captured as an individual journal entry with specific properties (timestamp, operation type, data changes), allowing for granular control and verification. This segmentation enables reliable processing of complex distributed transactions by breaking them down into atomic, verifiable steps that can be independently validated and replayed if needed.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If ad-hoc state change management mechanisms are implemented, then customization to application requirements is achieved, but ease of maintenance deteriorates as object types evolve

Engineering Contradiction:
ImprovecustomizationVSAvoidease of maintenance
Core Design Contradiction:
Adaptability or versatilityVSEase of repair

Solution Approach 1:

The patent creates a universal journal-based register interface that can handle multiple object types and application requirements through a single standardized mechanism. The register system supports various operation types (read, write, delete, conditional operations) and can manage different data structures uniformly. This universality allows applications to be customized for specific requirements while maintaining a consistent, maintainable underlying implementation that doesn't fragment as object types evolve.

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

Solution Approach 2:

The patent enables adaptation to changing application requirements through parameterized register operations and configurable journal properties. Rather than restructuring the entire state change management system when object types evolve, the system accommodates changes by modifying parameters such as operation schemas, validation rules, and register configurations. This allows the system to remain maintainable while adapting to new object types and application needs.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If sophisticated state change management logic is implemented, then service levels for mission-critical operations are maintained, but transaction processing overhead increases

Engineering Contradiction:
Improveservice levelVSAvoidtransaction rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by capturing and validating state change information in journal entries before committing transactions. The journal-based registers pre-process and structure state change data, performing validation and normalization in advance. This preliminary processing reduces the computational overhead during actual transaction execution, as the heavy lifting of state management is already completed during journaling, allowing mission-critical service levels to be maintained without excessive processing delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by maintaining journal copies of state changes separate from the primary data stores. Rather than repeatedly accessing and validating the same state information during each transaction, the system creates and stores copies of state changes in the journal structure. These copies can be efficiently referenced and validated without impacting the performance of primary data store operations, thereby maintaining high transaction rates while ensuring service level requirements are met.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11048669B2Replicated state management using journal-based registers
Publication Date: 2021.06.29 AMAZON TECH INC
  • US11048669B2 patent drawing
  • US11048669B2 patent drawing
  • US11048669B2 patent drawing

AI summary

A transaction request is received at a journal-based state management system. The transaction request includes a register processing section indicating an operation to be performed at a journal register allocated to the transaction submitter to store state information of an application. Based on the results of a conflict detection operation performed with respect to the transaction request and on the result of the operation on the journal register, the transaction request is accepted for commit. The value of the journal register is stored at a node of the state management system and provided to the transaction submitter.