Distributed Hierarchical Transaction Data Structure for Conflict-Free Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed systems face inefficiencies in processing transaction requests, particularly in ensuring conflict-free outcomes when multiple requests overlap, leading to potential inconsistencies in database operations.
Innovation Solution
A distributed hierarchical transaction data structure (DHTDS) is implemented, where nodes are organized in a hierarchy with a controlling node and executing nodes, allowing direct addressing and mutual exclusion locking using algorithms like Dekker, Peterson, or Lamport bakery to manage transaction requests and prevent conflicts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If transaction requests are processed concurrently in distributed systems, then productivity is improved, but reliability deteriorates due to potential conflicts and inconsistencies
Solution Approach 1:
The system performs preliminary actions by acquiring locks on database resources before executing transaction operations. The lock acquisition mechanism ensures that conflicting transactions are serialized, preventing inconsistencies while maintaining concurrent processing capability for non-conflicting transactions.
Solution Approach 2:
The patent introduces an intermediary locking mechanism that mediates between concurrent transactions. The lock manager acts as a mediator that coordinates access to shared database resources, ensuring that transactions are executed in a conflict-free manner while preserving the benefits of concurrent processing.
2Reliability
If sequential transaction processing is used, then reliability is improved by preventing conflicts, but productivity deteriorates due to reduced throughput
Solution Approach 1:
The patent segments the transaction processing space by dividing database resources into multiple lockable units. This segmentation allows transactions to be processed concurrently when they operate on different segments, while still maintaining serial execution when conflicts arise, thus improving throughput without sacrificing integrity.
Solution Approach 2:
The system dynamically adjusts the level of concurrency based on actual conflict detection. When no conflicts are detected, multiple transactions proceed in parallel; when conflicts are detected, the system dynamically serializes execution. This dynamic approach optimizes both throughput and reliability based on real-time system state.
3Reliability
If locking mechanisms are implemented to prevent conflicts, then data consistency is improved, but device complexity increases due to additional coordination overhead
Solution Approach 1:
The locking mechanism is implemented as a self-service system where transactions automatically acquire and release locks without external intervention. The lock manager autonomously manages lock allocation, waiting, and release based on predefined policies, reducing the complexity burden on transaction processing logic while maintaining data consistency.
4Reliability
If rollback operations are performed for failed transactions, then reliability is improved by maintaining consistency, but loss of time occurs due to undoing successful operations
Solution Approach 1:
The system performs preliminary actions by pre-acquiring locks before executing transaction operations. This preliminary lock acquisition prevents the need for extensive rollbacks by ensuring that transactions only proceed when resources are available, reducing the frequency and duration of rollback operations while maintaining atomicity.
Data Source
AI summary
There is disclosed a method of processing a transaction request. The transaction request is associated with a computer transaction which has to be executed in a succeed-or-fail-as-a-whole manner. The method is executable in a distributed processing system having a plurality of nodes. Each of executing nodes is associated with a pre-defined type of the computer transaction and is directly addressable by a controlling node. In response to receiving by the controlling node, from a client device, a transaction request, the controlling node determines, based on the pre-defined type of the computer transaction, a specific node of a set of executing nodes responsible for the pre-defined type of the computer transaction and sends the transaction request directly to the determined specific node for execution thereof. While the determined specific node executed the transaction requests, it blocks receiving of additional transaction requests until the transaction request is executed.


