Breaking 2PC Locks via High-Priority Server Designation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The two-phase commit protocol faces issues where locks on data remain indefinitely if the coordinator crashes after the 'prepare' phase, leading to data inconsistency and inability to commit or roll back transactions, especially in high-priority operations like disaster recovery.

Innovation Solution

Designating a high-priority server to manage locks and transactions, forcing the 2PC coordinator to reside on this server, allowing it to block or commit/abort transactions without waiting for low-priority servers, ensuring data consistency and releasing locks for high-priority operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the 2PC coordinator crashes after the prepare phase, then data consistency is maintained through locking, but locks are never released and further updates are blocked indefinitely

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent designates a high-priority server in advance that is authorized to break locks and proceed with commit or rollback operations independently if the coordinator fails. This preliminary designation enables the system to handle coordinator failures without blocking, as the high-priority server already has the authority and mechanism to release locks when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The high-priority server acts as an intermediary that can intervene in the transaction process when the coordinator is unavailable. It monitors the transaction state and can independently execute commit or rollback operations, serving as a backup decision-maker that prevents system deadlock while maintaining data consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the system waits for all servers to vote before proceeding, then data consistency is ensured, but high-priority operations are delayed indefinitely

Engineering Contradiction:
Improvedata consistencyVSAvoidoperation speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent introduces dynamic priority levels for different servers and operations. The high-priority server can escalate its operation importance when needed, allowing it to break out of the standard voting wait and proceed with lock-breaking operations. This dynamic adjustment of priority enables the system to respond to urgent operations while maintaining normal consistency protocols for regular transactions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the server population into different priority levels (high-priority and low-priority servers). This segmentation allows the system to treat different operations differently, enabling high-priority operations to proceed independently while low-priority operations follow the standard consensus protocol, thus resolving the conflict between consistency and speed.

Inventive Principle:
Principle #1Segmentation

3Reliability

If locks are held indefinitely to prevent data inconsistency, then data integrity is maintained, but the system cannot perform new updates

Engineering Contradiction:
Improvedata integrityVSAvoidtransaction completion time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces a disposable mechanism where the high-priority server can unilaterally break locks when coordinator failure is detected. This 'cheap' operation (simple lock breaking without full consensus) allows the system to release locks quickly in failure scenarios, sacrificing some theoretical consistency guarantees in exchange for rapid system recovery and continued operation.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS8655971B2Breaking locks held by two-phase commit transactions while preserving data consistency
Publication Date: 2014.02.18 VMWARE INC
  • US8655971B2 patent drawing
  • US8655971B2 patent drawing
  • US8655971B2 patent drawing

AI summary

A technique for breaking locks held by two-phase commit (2PC) transactions while preserving data consistency that guarantees that either the “commit” phase or the “abort” phase of the 2PC protocol is completed at a higher-priority server. Accordingly, all locks on data objects are released and a high-priority operation can proceed. Data consistency is also preserved because the 2PC coordinator adheres to the 2PC protocol and properly notifies both the higher-priority server and one or more lower-priority servers when they are available.