Two-Phase Commit Prepare List Communication for Coordinator Failure Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed transaction processing, when a coordinator fails, network nodes may remain in a 'ready to commit' state or keep resources locked, affecting reliability and consistency due to the inability to determine the transaction outcome without the coordinator, violating ACID properties.

Innovation Solution

A method and system for communicating a prepare list among network nodes using a two-phase commit protocol, allowing nodes to determine the transaction outcome independently during recovery, even without the coordinator, by transmitting commit determinations and using a prepare list to enable heuristic decisions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the coordinator network node is used to manage distributed transactions, then transaction coordination and commit decisions can be made centrally, but the system becomes vulnerable to coordinator failure causing nodes to remain in 'ready to commit' state indefinitely

Engineering Contradiction:
Improvetransaction outcome determinabilityVSAvoidnode autonomy capability
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by having each participating node determine in advance whether it can commit its process before the coordinator fails. Nodes prepare their commit determinations and store them locally, so that when coordinator failure occurs, they can immediately use this pre-prepared information to make recovery decisions without waiting for coordinator response.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service by enabling participating nodes to autonomously determine transaction outcomes using their own stored commit determination information when the coordinator is unavailable. Each node serves itself by checking its local prepare list and commit determinations to decide whether to commit or roll back, without requiring coordinator intervention.

Inventive Principle:
Principle #25Self-service

2Reliability

If nodes wait for coordinator confirmation to maintain atomicity, then transaction consistency is preserved, but system productivity decreases due to idle waiting during coordinator failure

Engineering Contradiction:
Improveatomicity maintenanceVSAvoidresource utilization during recovery
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by having nodes prepare their commit determinations in advance and store them in the prepare list before coordinator failure occurs. This pre-prepared information allows nodes to immediately make commit or rollback decisions during recovery without entering an idle waiting state, thus maintaining atomicity while preserving productivity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by having nodes continuously monitor coordinator availability and switch to autonomous decision-making when coordinator responses are not received. The feedback mechanism triggers nodes to use their stored commit determinations from the prepare list, enabling them to maintain atomicity while avoiding prolonged waiting that would reduce productivity.

Inventive Principle:
Principle #23Feedback

3Reliability

If nodes keep transaction resources locked during coordinator failure, then consistency is maintained, but system resource availability decreases

Engineering Contradiction:
Improvetransaction consistencyVSAvoidresource availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by having nodes determine and store their commit capability in advance in the prepare list. When coordinator failure occurs, nodes use this pre-determined information to quickly release or commit resources without prolonged locking, thus maintaining consistency while improving resource availability for other transactions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service by enabling nodes to autonomously manage their own resource locking and releasing decisions based on their stored commit determinations. Each node serves itself by evaluating its local prepare list information and making independent decisions to commit or rollback, thereby maintaining consistency while freeing resources promptly rather than holding them indefinitely.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10203981B2Systems and methods for prepare list communication to participants in two-phase commit protocol transaction processing
Publication Date: 2019.02.12 RED HAT INC
  • US10203981B2 patent drawing
  • US10203981B2 patent drawing
  • US10203981B2 patent drawing

AI summary

Systems and methods are provided for prepare list communication to participants in a two-phase commit protocol transaction processing. An exemplary method includes receiving a distributed transaction for processing, wherein the processing uses a two-phase commit protocol, preparing a first participating node comprising a first process of the distributed transaction, and preparing a second participating node comprising a second process of the distributed transaction. The method further includes determining whether the first participating node can commit the first process and transmitting the determination the first participating node can commit the first process to the second participating node. The first participating node and the second participating node may determine a coordinator of the distributed transaction has failed and the second participating node may use the determination to query the first participating node for a transaction outcome, such as a commit of fail state.