Transaction Affinity Middleware Request Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In middleware environments, existing transaction processing systems face inefficiencies in handling transactions across multiple servers, leading to increased overhead in inter-server coordination and resource management, particularly in load-balancing and global transactions.
Innovation Solution
Implementing transaction affinity based request handling, where a processor associates transactions with specific server instances and routes subsequent requests to existing participants, reducing the need for load-balancing and optimizing resource utilization through the use of transaction interceptors and affinity handlers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If load-balancing is used to distribute transactions across multiple servers, then resource utilization is improved, but inter-server coordination overhead increases
Solution Approach 1:
The system performs preliminary actions by establishing transaction affinity bindings between transaction identifiers and server identifiers before transactions are distributed. The affinity handler pre-configures routing information so that subsequent transaction routing decisions can be made locally without requiring real-time inter-server coordination or communication
Solution Approach 2:
The patent implements local quality by making routing decisions local to each server instance based on stored affinity information. Each server maintains local knowledge about which transactions it should handle, eliminating the need for centralized load-balancing coordination and reducing inter-server communication overhead
2Productivity
If transaction requests are routed to multiple different server instances, then load distribution is improved, but transaction coordination complexity increases
Solution Approach 1:
The affinity handler performs preliminary action by pre-establishing bindings between transaction identifiers and target server identifiers. This binding information is stored and reused for all transactions in the same affinity group, allowing multiple transactions to be routed to the same server without requiring complex real-time coordination mechanisms
Solution Approach 2:
The system uses copying by replicating the affinity binding information across relevant system components. Once a transaction-server binding is established, this binding information is copied and stored in the affinity handler, enabling consistent routing decisions without requiring ongoing coordination with the original transaction source
3Reliability
If inter-server communication is increased for transaction coordination, then transaction consistency is improved, but processing throughput decreases
Solution Approach 1:
The patent extracts the coordination function from the transaction processing path by separating affinity management into a dedicated affinity handler component. This extraction allows transaction processing to proceed independently using pre-established bindings, removing the need for synchronous inter-server communication during transaction execution and thereby improving throughput while maintaining consistency
Data Source
AI summary
A system and method can support transaction processing in a middleware environment. A processor, such as a remote method invocation stub in the middleware environment, can be associated with a transaction, wherein the transaction is from a first cluster. Then, the processor can handle a transactional request that is associated with the transaction, wherein the transactional request is to be sent to the first cluster. Furthermore, the processor can route the transactional request to a said cluster member in the first cluster, which is an existing participant of the transaction.


