IP Library Granted Patent US 8,539,490
Granted Patent B2
US 8,539,490 · App. 13/188,289 · Granted Sep 17, 2013

System and method for providing dynamic transaction optimizations

Inventors: Paul Parkinson (Wenonah, NJ); Charles Paclat (Cape Elizabeth, ME)
Assignee: Oracle International Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,539,490
App. No.
13/188,289
Granted
Sep 17, 2013
Kind
B2
Abstract

A system and method for providing dynamic transaction optimizations, such as dynamic XA transaction optimizations. In accordance with an embodiment, the system enables monitoring of transactional behavior in an application during runtime, in order to provide a feedback loop. The application/transaction information in the feedback loop can be analyzed by a transaction manager to determine an indication as to whether a particular optimization, such as an isSameRM optimization, will provide a benefit or not. The optimization can then be applied accordingly. In accordance with various embodiments, such determination can be made transparently, so that its enablement is not detectable to, e.g., an end-application, or a system administrator, even though the distribution and type of XA calls may be detected through system monitoring. The feature can be used to improve the performance of transaction processing in a transaction-based system.

Claims (35)

1. A system for providing dynamic transaction optimizations in a distributed transaction process, comprising:

a computing device which includes a processor and a transaction processing system for processing transaction requests received from one or more client applications, the transaction processing system comprising:

one or more resource managers which control access to one or more resources;

one or more transaction managers which receive the transaction requests from the client applications and provide connections to the resource managers to enable the resources to be updated; and

one or more dynamic optimizations which can be dynamically enabled or disabled by the transaction managers at runtime in response to application/transaction feedback information from the resource managers;

wherein the resource managers continuously provide the application/transaction feedback information to the transaction managers to determine whether a particular dynamic optimization will provide a benefit or not, and in which circumstances; and

wherein the transaction manager explicitly enable or disable the particular dynamic optimization based on the determination.

2. The system of claim 1 , wherein the transaction manager is an XA transaction manager, and the one or more resource managers are XA resource managers.

3. The system of claim 2 , wherein the dynamic optimization includes an isSameRM optimization, and wherein the application/transaction feedback information is used by the transaction manager to explicitly enable or disable the availability of the isSameRM optimization for application requests.

4. The system of claim 1 , wherein the application/transaction feedback information is stored only in transient memory for use by the transaction manager for the duration of its uptime.

5. The system of claim 1 , wherein the application/transaction feedback information is persisted for use by the transaction manager after a reboot.

6. The system of claim 1 , further comprising one or more transaction processing monitors which coordinate the transaction requests between the client applications and the resources.

7. The system of claim 6 , wherein the transaction processing monitors include the transaction managers.

8. A method for providing dynamic transaction optimizations in a distributed transaction process, comprising the steps of:

providing a computing device which includes a processor and a transaction processing system for processing transaction requests received from one or more client applications;

providing one or more resource managers which control access to one or more resources;

providing one or more transaction managers which receive the transaction requests from the client applications and provide connections to the resource managers to enable the resources to be updated; and

providing one or more dynamic optimizations which can be dynamically enabled or disabled by the transaction managers at runtime in response to application/transaction feedback information from the resource managers;

wherein the resource managers continuously provide the application/transaction feedback information to the transaction managers to determine whether a particular dynamic optimization will provide a benefit or not, and in which circumstances; and

wherein the transaction manager explicitly enable or disable the particular dynamic optimization based on the determination.

9. The method of claim 8 , wherein the transaction manager is an XA transaction manager, and the one or more resource managers are XA resource managers.

10. The method of claim 9 , wherein the dynamic optimization includes an isSameRM optimization, and wherein the application/transaction feedback information is used by the transaction manager to explicitly enable or disable the availability of the isSameRM optimization for application requests.

11. The method of claim 8 , wherein the application/transaction feedback information is stored only in transient memory for use by the transaction manager for the duration of its uptime.

12. The method of claim 8 , wherein the application/transaction feedback information is persisted for use by the transaction manager after a reboot.

13. A non-transitory computer readable storage medium, including instructions stored thereon, which when read and executed by one or more computers, cause the one or more computers to perform the steps comprising:

providing a computing device which includes a processor and a transaction processing system for processing transaction requests received from one or more client applications;

providing one or more resource managers which control access to one or more resources;

providing one or more transaction managers which receive the transaction requests from the client applications and provide connections to the resource managers to enable the resources to be updated; and

providing one or more dynamic optimizations which can be dynamically enabled or disabled by the transaction managers at runtime in response to application/transaction feedback information from the resource managers;

wherein the resource managers continuously provide the application/transaction feedback information to the transaction managers to determine whether a particular dynamic optimization will provide a benefit or not, and in which circumstances; and

wherein the transaction manager explicitly enable or disable the particular dynamic optimization based on the determination.

14. The non-transitory computer readable storage medium of claim 13 , wherein the transaction manager is an XA transaction manager, and the one or more resource managers are XA resource managers.

15. The non-transitory computer readable storage medium of claim 14 , wherein the dynamic optimization includes an isSameRM optimization, and wherein the application/transaction feedback information is used by the transaction manager to explicitly enable or disable the availability of the isSameRM optimization for application requests.

16. The non-transitory computer readable storage medium of claim 13 , wherein the application/transaction feedback information is stored only in transient memory for use by the transaction manager for the duration of its uptime.

17. The non-transitory computer readable storage medium of claim 13 , wherein the application/transaction feedback information is persisted for use by the transaction manager after a reboot.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2011
From: PARKINSON, PAUL; PACLAT, CHARLES
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 026631/0637 →
Continuity (1)
Related Publication 20130024863A1 · Jan 24, 2013