Delegating Commit Voting in Distributed Transactions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing systems, the two-phase commit protocol for ensuring ACID properties in transactions is costly due to high control communications and network traffic, leading to performance degradation, especially when multiple resources are involved.

Innovation Solution

A method where resources can delegate commit voting to another resource, allowing them to register as nonvoting participants and receive notifications of transaction completion instead of participating in commit decisions, thereby avoiding the two-phase commit protocol and its overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the two-phase commit protocol is used to ensure ACID properties in distributed transactions, then data consistency and reliability are improved, but control communications and network traffic increase, leading to performance degradation

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

Solution Approach 1:

The patent segments participants into voting participants (who participate in commit decisions) and nonvoting participants (who only receive notifications). This segmentation allows the system to maintain ACID properties for critical resources while reducing communication overhead for non-critical resources, thereby improving transaction processing efficiency without sacrificing data consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by allowing nonvoting participants to opt out of the full two-phase commit protocol. These participants receive commit notifications but do not participate in voting, reducing the number of control messages and network traffic required while still maintaining data consistency for the overall transaction.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If resources participate in commit voting, then transaction safety and consistency are improved, but the number of control communications and network traffic increase

Engineering Contradiction:
Improvetransaction safetyVSAvoidnetwork traffic
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent divides resources into voting and nonvoting categories based on their criticality to transaction consistency. Nonvoting participants are segmented out from the voting process, reducing the number of prepare and commit messages that need to be exchanged across the network, thereby reducing overall network traffic while maintaining safety for critical operations.

Inventive Principle:
Principle #1Segmentation

3Productivity

If a single resource manages multiple delegated resources, then transaction processing efficiency is improved, but the complexity of resource management increases

Engineering Contradiction:
Improvetransaction processing efficiencyVSAvoidresource management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the management of multiple nonvoting participants under a single voting participant or coordinator. This consolidation reduces the number of individual management operations required, as the coordinator handles commit notifications for multiple delegated resources in a unified manner, thereby improving efficiency while managing complexity through centralization.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a coordinator or lead participant as an intermediary that manages the delegation relationships between voting and nonvoting participants. This intermediary simplifies resource management by centralizing the logic for handling commit notifications and coordinating the two-phase commit protocol, reducing the complexity burden on individual resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7483987B2Registering a resource that delegates commit voting
Publication Date: 2009.01.27 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7483987B2 patent drawing
  • US7483987B2 patent drawing
  • US7483987B2 patent drawing

AI summary

A method, apparatus, system, and signal-bearing medium that, in an embodiment, receive an allocation request for a resource and registers the resource as a non-voting participant if the resource desires to delegate commit voting to another resource. The registered resource is then prohibited from participating in an enclosing transactional context and instead is informed when the transaction completes. The resource is enlisted as a voting participant if the resource does not desire to delegate commit voting. In this way, when multiple resources are used in a transaction, a resource may be registered and receive notifications of transaction completion instead of being enlisted and voting on commit decisions. The result of a transaction in which a single resource takes responsibility for a number of other resources is that transaction completion avoids the two-phase commit protocol and the resulting performance degradation.