Leaderless Logical Timeouts for Distributed Transaction Nodes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed systems face challenges in consistently detecting timeouts across nodes due to varying local clock times and require centralized authority for time synchronization, leading to inefficiencies and inconsistent performance.
Innovation Solution
A method where each node stores an action log and receives logical time updates from other nodes, merging them to determine a common logical time, allowing independent timeout detection and rescheduling without leader interaction, ensuring consistent timeout decisions across nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If wall-clock synchronization via Network Time Protocol is used to achieve consistent timeout behavior across nodes, then timeout consistency is improved, but communication overhead increases and absolute synchronization cannot be guaranteed due to local time variations
Solution Approach 1:
The patent extracts the time synchronization function from centralized NTP servers and implements it locally at each node. Each node maintains its own logical clock and independently determines timeouts without querying external time sources, eliminating the need for continuous inter-node time synchronization communication.
Solution Approach 2:
The system segments the time management function by allowing each node to independently maintain its own logical clock and timeout determination. Instead of a centralized time authority, each node operates autonomously with its own time reference, dividing the time synchronization task into independent local operations.
2Reliability
If a centralized time vendor with leader-stanby processes is used to provide network time, then a unified time reference is achieved, but interactive communication overhead increases significantly
Solution Approach 1:
Each node serves its own time synchronization needs by maintaining a local logical clock. Nodes independently determine timeouts based on their own logical time without requiring queries to or updates from a centralized time vendor, making the system self-sufficient in time management.
Solution Approach 2:
The logical clock mechanism serves multiple functions simultaneously: it provides time reference for timeout determination, enables consistent action ordering across distributed nodes, and eliminates the need for separate time synchronization protocols. Each node's logical clock is both the time source and the reference for its own timeout decisions.
3Adaptability or versatility
If integer logical time counters are used across nodes, then a distributed time reference is established, but response times vary and the system may stall infinitely due to lack of wall-clock relationship
Solution Approach 1:
The patent transforms the logical time parameter from a simple integer counter to a logical clock that incorporates wall-clock time relationships. The logical clock maintains monotonic progression while being anchored to physical time, allowing timeout thresholds to be expressed in meaningful time units (seconds, milliseconds) rather than arbitrary counter increments.
Solution Approach 2:
The system uses short-lived logical time references that are continuously updated based on wall-clock time. Rather than relying on a single persistent counter that may drift indefinitely, the logical clock periodically synchronizes with physical time, discarding accumulated drift and maintaining accurate timeout predictions.
4Reliability
If threshold logical clocks with monotonically increasing integer steps are used, then asynchronous coordination is achieved, but performance decreases due to quorum requirements for proceeding to next time step
Solution Approach 1:
Each node preliminarily determines its own timeout based on its logical clock before needing confirmation from other nodes. The timeout decision is made locally in advance based on the node's own time reference, eliminating the need to wait for quorum confirmation from the distributed system.
Solution Approach 2:
Nodes independently service their own timeout determination needs using their local logical clock without requiring coordination or confirmation from other nodes. Each node autonomously monitors its own actions and determines timeouts based on its own time reference, making the system decentralized and high-performance.
Data Source
AI summary
Method for interrupting an action in a parallel, distributed processing system (26) comprising at least two nodes (28, 29), and node (28; 29) configured to perform such a method as well as distributed transaction management system (26) comprising two or more such nodes (28, 29),wherein each node (28, 29) stores an action log of pending actions, the method comprising the following steps carried out by at least one of the nodes:receiving a logical time update from at least another one of the nodes,merging the logical time update into a shared state to obtain an updated shared state,determining a common logical time from the updated shared state,checking each of the pending actions in the action log for a timeout condition based on the determined common logical time,upon detecting a timeout of one of the pending actions, interrupting the action by the present node.


