System and method for supporting transaction affinity based request handling in a middleware environment
First Claim
Patent Images
1. A method for supporting transaction processing in a computing cluster including a plurality of application servers, the method comprising:
- initiating a first global transaction from an application running on a host server external to the cluster by transmitting a first RMI request from the host server to said cluster;
receiving at said cluster the first remote method invocation (RMI) request associated with the first global transaction;
determining that no RMI request associated with said first global transaction has been previously received by said cluster;
selecting a first application server of said plurality of application servers for processing said first RMI request;
routing said first RMI request to said first application server for processing;
processing on the first application server, a first method invoked by the first RMI request associated with the first global transaction;
receiving at said cluster a second RMI request;
determining whether the second RMI request is associated with the first global transaction; and
selecting the first application server for processing said second RMI request if the second RMI request is associated with the first global transaction, and using a load balancing method for selecting a second application server of said plurality of application servers for processing said second RMI request if the second RMI request is associated with a second global transaction.
0 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
20 Claims
-
1. A method for supporting transaction processing in a computing cluster including a plurality of application servers, the method comprising:
-
initiating a first global transaction from an application running on a host server external to the cluster by transmitting a first RMI request from the host server to said cluster; receiving at said cluster the first remote method invocation (RMI) request associated with the first global transaction; determining that no RMI request associated with said first global transaction has been previously received by said cluster; selecting a first application server of said plurality of application servers for processing said first RMI request; routing said first RMI request to said first application server for processing; processing on the first application server, a first method invoked by the first RMI request associated with the first global transaction; receiving at said cluster a second RMI request; determining whether the second RMI request is associated with the first global transaction; and selecting the first application server for processing said second RMI request if the second RMI request is associated with the first global transaction, and using a load balancing method for selecting a second application server of said plurality of application servers for processing said second RMI request if the second RMI request is associated with a second global transaction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for supporting transaction processing comprising:
-
a computing cluster including a plurality of application servers, each application server comprising one or more microprocessors; an application running on a host server external to the cluster which initiates a first global transaction and transmits a first RMI request from the host server in the cluster; an interceptor and a handler running on said plurality of application servers in said cluster; wherein said interceptor and handler are configured to perform steps comprising; intercepting the first remote method invocation (RMI) request associated with the first global transaction received at said cluster; determining that no RMI request associated with said first global transaction has been previously received by said cluster; selecting a first application server of said plurality of application servers for processing said first RMI request; routing said first RMI request to said first application server for processing; intercepting a second RMI request received at the cluster; determining whether the second RMI request is associated with the first global transaction; and selecting the first application server for processing said second RMI request if the second RMI request is associated with the first global transaction, and using a load balancing method for selecting a second application server of said plurality of application servers for processing said second RMI request if the second RMI request is associated with a second global transaction. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory machine readable storage medium having instructions stored thereon for supporting transaction processing in a computing cluster including a plurality of application servers, which instructions, when executed, cause said cluster to perform steps comprising:
-
initiating a first global transaction from an application running on a host server external to the cluster by transmitting a first RMI request from the host server to said cluster; receiving at said cluster the first remote method invocation (RMI) request associated with the first global transaction; determining that no RMI request associated with said first global transaction has been previously received by said cluster; selecting a first application server of said plurality of application servers for processing said first RMI request; routing said first RMI request to said first application server for processing; processing on the first application server, a first method invoked by the first RMI request associated with the first global transaction; receiving at said cluster a second RMI request; determining whether the second RMI request is associated with the first global transaction; and selecting the first application server for processing said second RMI request if the second RMI request is associated with the first global transaction, and using a load balancing method for selecting a second application server of said plurality of application servers for processing said second RMI request if the second RMI request is associated with a second global transaction.
-
Specification