Distributed Transaction Lock Hash Bucket Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Transactional middleware systems face challenges in efficiently managing distributed transactions due to high contention and coarse-grained locking mechanisms, which can lead to performance issues and deadlocks in multi-process environments.

Innovation Solution

A distributed transaction lock system using a global transaction identifier to locate and lock hash buckets in a transaction hash table, allowing only one process to access global transaction entry structures, and employing a granular lock mechanism to manage lock dependencies and prevent deadlocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If coarse-grained locking mechanisms are used to manage distributed transactions, then implementation simplicity is maintained, but contention and deadlock occurrences increase

Engineering Contradiction:
Improvelocking mechanism complexityVSAvoiddeadlock occurrence
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments the transaction hash table into multiple hash buckets, each with its own lock. This divides the single coarse-grained lock into multiple fine-grained locks, reducing contention while maintaining implementation feasibility. Each hash bucket can be locked independently, allowing parallel access to different portions of the transaction table.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local locking at the hash bucket level rather than global locking of the entire transaction table. This allows different processes to access different hash buckets simultaneously, improving concurrency while keeping the locking mechanism relatively simple to implement.

Inventive Principle:
Principle #3Local quality

2Productivity

If fine-grained locking mechanisms are used to reduce contention, then transaction performance improves, but system complexity increases

Engineering Contradiction:
Improvetransaction performanceVSAvoidlocking mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The transaction hash table is segmented into multiple hash buckets, each protected by its own lock. This segmentation enables fine-grained locking that improves transaction performance through reduced contention, while the segmentation itself provides a clear organizational structure that manages complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a lock table as an intermediary data structure that maps hash buckets to their corresponding locks. This intermediary layer simplifies the management of fine-grained locks by providing a systematic way to acquire and release locks based on hash bucket identifiers, rather than directly managing multiple lock objects.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If single-process access to global transaction entry structures is enforced, then data consistency is maintained, but concurrency and scalability are reduced

Engineering Contradiction:
Improvedata consistencyVSAvoidconcurrency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The global transaction table is segmented into multiple hash buckets, each accessible to multiple processes under its own lock. This segmentation maintains data consistency within each hash bucket while enabling concurrent access to different hash buckets, thus improving overall system concurrency and scalability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimension global lock to a multi-dimensional locking scheme where locks are organized by hash bucket. This dimensional change allows processes to access different portions of the transaction table simultaneously, maintaining consistency within each portion while enabling parallel execution across multiple portions.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Device complexity

If hash table locking is implemented without granular control, then implementation simplicity is maintained, but scalability in distributed environments is limited

Engineering Contradiction:
Improvelocking implementation complexityVSAvoidscalability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The hash table is segmented into multiple independently lockable hash buckets, which can be distributed across multiple processes and machines. This segmentation provides a natural basis for scaling distributed transaction processing while keeping the locking implementation relatively simple through systematic hash-based allocation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hash bucket locking mechanism serves multiple functions: it provides fine-grained locking for reduced contention, enables distributed access patterns, and maintains data consistency. This multi-functional approach improves scalability without proportionally increasing implementation complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP3138013B1System and method for providing distributed transaction lock in transactional middleware machine environment
Publication Date: 2019.02.27 ORACLE INT CORP
  • EP3138013B1 patent drawingFigure 1
  • EP3138013B1 patent drawingFigure 2
  • EP3138013B1 patent drawingFigure 3

AI summary

A system and method can support a distributed transaction lock in a transactional middleware machine environment. The system can use a global transaction identifier to locate a hash bucket in a transaction hash table, wherein the transaction hash table contains a plurality of hash buckets. Then, the system can lock said hash bucket in the transaction hash table, and allow only one process to access one or more global transaction entry structures in the transaction table before said hash bucket is unlocked, wherein said one or more global transaction entry structures are associated with the locked hash bucket in the transaction hash table.