Non-blocking Federated Transaction Processing via Lock Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed systems face consistency issues when handling transactions across multiple data partitions, leading to contention and blocking of transactions, which hinders efficient processing and data integrity.

Innovation Solution

Implementing non-blocking processing for federated transactions by using multiple transaction managers and data nodes that maintain lock request queues, allowing transactions to proceed until a determination can be made on which transaction to commit, using selection rules based on lock request ordering and expanding key sets to resolve conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional consistency mechanisms are used to ensure data integrity across distributed partitions, then data consistency is maintained, but transaction processing is blocked and productivity decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidtransaction processing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the transaction management system into multiple independent transaction managers, each responsible for specific data partitions. This segmentation allows parallel processing of transactions across different partitions without requiring centralized blocking, thereby maintaining data consistency while improving throughput

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces lock request queues as intermediary structures between transaction managers and data partitions. These queues buffer lock requests and enable non-blocking processing by decoupling the transaction submission from the lock acquisition, allowing transactions to proceed without immediate blocking

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple transactions are processed in parallel across distributed partitions, then productivity increases, but contention and consistency conflicts worsen

Engineering Contradiction:
Improvetransaction processing throughputVSAvoidtransaction coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

By dividing the system into multiple independent transaction managers handling specific partitions, the patent enables parallel transaction processing while distributing coordination complexity across multiple nodes rather than centralizing it, thus improving throughput without proportionally increasing overall system complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic selection rules that adaptively determine transaction commit order based on lock request queue states. This dynamic approach allows the system to handle contention efficiently by making context-dependent decisions rather than following fixed protocols, reducing coordination complexity under varying load conditions

Inventive Principle:
Principle #15Dynamics

3Reliability

If lock requests are strictly ordered to ensure consistency, then data integrity is maintained, but transaction processing speed decreases

Engineering Contradiction:
Improvedata integrityVSAvoidtransaction processing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent performs preliminary ordering of lock requests in queues before actual data access occurs. By pre-establishing the order in which lock requests will be processed, the system ensures data integrity is maintained while allowing transactions to be submitted and processed in parallel, thus preserving speed without sacrificing integrity

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10706037B2Non-blocking processing of federated transactions for distributed data partitions
Publication Date: 2020.07.07 AMAZON TECH INC
  • US10706037B2 patent drawing
  • US10706037B2 patent drawing
  • US10706037B2 patent drawing

AI summary

Non-blocking processing of federated transactions may be implemented for distributed data partitions. A transaction may be received that specifies keys at data nodes to lock in order to perform the transaction. Lock requests are generated and sent to the data nodes which identify sibling keys to be locked at other data nodes for the transaction. In response to receiving the lock requests, data nodes may send to lock queues indicating other lock requests for the keys at the data node. An evaluation of the lock queues based, at least in part, on an ordering of the lock requests in the lock queues may be performed to identify a particular transaction to commit. Once identified, a request to commit the identified transaction may be sent to the particular data nodes indicated by the sibling keys in a lock request for the identified transaction.