Distributed Transaction Management Using Local Clock Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current distributed transaction management systems with multiversioning face challenges in ensuring consistency and performance, particularly in distributed database systems, as they incur additional overhead, require a global clock, and are prone to deadlocks, failing to support all isolation levels for global transactions efficiently.
Innovation Solution
Implementing a commit protocol that uses local clocks synchronized through a global transaction coordinator, with a modified two-phase commit process and 'heartbeat' mechanisms to maintain clock synchronization and prevent premature garbage collection, ensuring all nodes agree on a commit timestamp and advance their clocks accordingly, thus enabling transactional consistency without a global clock.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a global clock is used to ensure transaction consistency across distributed nodes, then transactional consistency is improved, but system complexity and performance overhead increase
Solution Approach 1:
The patent extracts the global clock dependency from the distributed transaction system by implementing local clocks at each node that operate independently. The commit timestamp, which previously required global clock synchronization, is now generated locally and propagated to participating nodes, eliminating the need for continuous global clock references while maintaining transactional consistency.
Solution Approach 2:
The commit timestamp acts as an intermediary mechanism that replaces the global clock. Instead of nodes directly referencing a global clock, they use the commit timestamp propagated through the commit protocol to achieve synchronization. This intermediary enables consistency without requiring a centralized time-keeping infrastructure.
2Reliability
If conventional distributed transaction management is implemented, then transaction consistency is maintained, but additional overhead is incurred affecting performance
Solution Approach 1:
Each node independently manages its own local clock and generates commit timestamps without requiring continuous coordination with other nodes. The commit protocol enables nodes to self-serve by propagating the commit timestamp to all participants, who then use it locally to ensure consistency. This self-service approach eliminates the performance overhead of centralized coordination while maintaining transaction integrity.
3Reliability
If global clock synchronization is implemented to support multiversioning, then version consistency is improved, but scalability is reduced due to frequent access to global nodes
Solution Approach 1:
The patent segments the centralized global clock functionality into distributed local clocks at each node. Each node maintains its own clock independently, and version consistency is achieved through the propagation of commit timestamps rather than continuous reference to a global time source. This segmentation enables parallel operation of multiple nodes without scalability constraints.
4Reliability
If distributed deadlocks are detected and prevented using conventional methods, then transaction correctness is improved, but detection and resolution complexity increases
Solution Approach 1:
Instead of actively detecting and preventing deadlocks through complex monitoring mechanisms, the patent inverts the approach by designing a commit protocol that inherently prevents deadlocks. The protocol ensures that commits are processed in a consistent order across all nodes using local timestamps, eliminating the conditions that would lead to deadlocks without requiring active detection or resolution mechanisms.
Data Source
AI summary
The subject disclosure relates to a distributed transaction management technique that ensures synchronization between participating nodes in a global or distributed database transaction. The technique leverages a commit protocol that uses local clocks at the respective participating nodes. Participants in a global transaction are configured to utilize the same commit timestamp and logical read time and can advance their respective local clocks to establish this synchronization. In one embodiment, distributed commit utilizes a modified version of two-phase commit that includes an extra phase to collect commit timestamp votes from participants. Additionally, a heartbeat mechanism can be used to establish loose synchronization between nodes. In another embodiment, a node can respond to a remote transaction request by returning a list of nodes involved in generating the result of the transaction and the types of access used by such nodes in addition to the transaction result itself.


