Method for managing distributed savepoints across multiple DBMS's within a distributed transaction
First Claim
1. A method of managing transactions on a plurality of database management systems residing on separate servers and including a coordinator server, wherein a single transaction comprises multiple steps across more then one of said plurality of database management systems as participants, said method comprising:
- a) assigning across the database management system participants at least one savepoint within a multiple step transaction;
b) if an application decision to reject a step of the transaction is found, rolling back the transaction across the database management system participants to a savepoint; and
c) when no application decisions to reject the transaction are found, COMMITING the transaction across the multiple database management system participants.
1 Assignment
0 Petitions
Accused Products
Abstract
System, method, and program product for managing transactions on a plurality of Database Management Systems residing on separate participant servers and a coordinator server, A single transaction proceeds by multiple steps across more then one of the plurality of Database Management Systems as participants. Savepoints are assigned to the participants across the Database Management System, with at least one savepoint within a multiple step transaction. The DBMS responds to application requests to rollback to savepoint by rolling back the transaction, across the Database Management System participants, to the savepoint Further disclosed is a program product that contains code, which, either as written on the medium, or as instantiated in RAM, or both, controls the operation of a distributed database management system.
44 Citations
44 Claims
-
1. A method of managing transactions on a plurality of database management systems residing on separate servers and including a coordinator server, wherein a single transaction comprises multiple steps across more then one of said plurality of database management systems as participants, said method comprising:
-
a) assigning across the database management system participants at least one savepoint within a multiple step transaction;
b) if an application decision to reject a step of the transaction is found, rolling back the transaction across the database management system participants to a savepoint; and
c) when no application decisions to reject the transaction are found, COMMITING the transaction across the multiple database management system participants. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of managing savepoints on a plurality of database management systems residing on separate servers and including a coordinator server, wherein a single transaction comprises multiple steps across more then one of said plurality of database management systems as participants, said method comprising the steps of:
-
a. assigning across the database management system participants at least one savepoint with savepoint identifiers within the multiple step transaction;
b. sending a message from the coordinator server to the multiple database server participants in the transaction at the beginning of the transaction identifying;
1) savepoints that have been rolled back since the database server participant was last notified;
2) savepoints that are still in effect;
3) savepoints that have been released;
c. sending messages from the multiple database server participants to the coordinator server at the time of doing one of rolling a step in the multiple-step transaction back to a savepoint, releasing a savepoint, completing a request, or replying to a request, said messages identifying;
1) savepoints that have been rolled back during this request;
2) savepoints that are still in effect;
3) savepoints that have been released; and
d. returning an SQL result set to a requester, and flowing a sequence number associated with a cursor associated with the result set to the requester so that the result set can be positioned correctly within the savepoints. - View Dependent Claims (13)
-
-
8. A distributed database management system comprising a plurality of individual database management systems residing on separate servers and including a coordinator server, said distributed database management system configured and controlled to process transactions which comprise multiple steps across more then one of said plurality of database management systems, as participants, by the method comprising:
-
a) assigning across the database management system participants at least one savepoint within a multiple step transaction; and
b) if an application decision to reject a step of the multiple step transaction is found, rolling back the transaction across the database management system participants to a savepoint. - View Dependent Claims (9, 10, 11, 12, 15, 17, 18, 19, 20, 21)
-
-
14. A distributed database management system comprising a plurality of individual database management systems residing on separate servers and including a coordinator server, said distributed database management system configured and controlled to process transactions which comprise multiple steps across more then one of said plurality of database management systems, as participants, by the method comprising the steps of:
-
a. assigning savepoint identifiers to savepoints;
b. sending a message from the coordinator server to the multiple database server participants identifying;
1) savepoints that have been rolled back since the database server participant was last notified;
2) savepoints that are still in effect;
3) savepoints that have been released;
c. sending a message from the multiple database sever participants to the coordinator server identifying;
1) savepoints that have been rolled back during this request;
2) savepoints that are still in effect;
3) savepoints that have been released; and
d. returning an SQL result set to a requester, and flowing a sequence number associated with a cursor associated with the result set to the requester so that the result set can be associated with and positioned correctly within the savepoints.
-
-
16. A program product comprising a storage medium having computer readable program code thereon for controlling the operation of a distributed database management system, the distributed database management system comprising a plurality of individual database management systems residing on separate servers and including a coordinator server, said program code configuring and controlling the database management system to process transactions which comprise multiple steps across more then one of said plurality of database management systems, as participants, by the method comprising:
-
a) assigning across the database management system participants at least one savepoint within a transaction comprising multiple steps; and
b) if an application decision is made to reject the step is found, rolling back the step across the database management system participants to a savepoint.
-
-
22. A program product comprising a storage medium having computer readable program code thereon for managing a distributed database management system, said distributed database management system comprising a plurality of individual database management systems residing on separate servers and including a coordinator server, said program code configuring and controlling the distributed database management system to process transactions which comprise multiple steps across more then one of said plurality of database management systems, as participants, by the method comprising the steps of:
-
a. assigning savepoint identifiers to savepoints;
b. sending a message from the coordinator server to the multiple database server participants identifying;
1) savepoints that have been rolled back since the participant database server was last notified;
2) savepoints that are still in effect;
3) savepoints that have been released;
c. sending a message from the multiple database sever participants to the coordinator server identifying;
1) savepoints that have been rolled back during this request;
2) savepoints that are still in effect;
3) savepoints that have been released; and
d. returning an SQL result set to a requester, and flowing a sequence number associated with a cursor associated with the result set to the requester so that the result set can be associated with and positioned correctly within the savepoints. - View Dependent Claims (24, 25, 26, 27, 28, 35)
-
-
23. A method of managing transactions on a plurality of relational database management systems residing on separate servers and including a coordinator server, wherein a single transaction comprises multiple sub-transactions across more then one of said plurality of relational database management systems as participants, said method comprising:
-
a) assigning across the relational database management system participants at least one savepoint within a transaction having multiple steps;
b) testing the sub-transaction across the relational database management system participants for application decisions to accept or reject a step; and
c) if an application decision to reject the step is found, rolling back the step across the relational database management system participants to a savepoint.
-
-
29. A method of managing savepoints on a plurality of relational database management systems residing on separate servers and including a coordinator server, wherein a single transaction comprises multiple stepacross more then one of said plurality of relational database management systems as participants, said method comprising the steps of:
-
a. assigning across the relational database management system participants at least one savepoint with savepoint identifiers within a transaction comprising multiple steps;
b. sending a message from the coordinator server to the multiple database server participants in the transaction at the beginning of a step identifying;
1) savepoints that have been rolled back since the database server participant was last notified;
2) savepoints that are still in effect;
3) savepoints that have been released;
c. sending messages from the multiple database server participants to the coordinator server at the time of doing one of rolling a step back to a savepoint, releasing a savepoint, completing a request, or replying to a request, said messages identifying;
1) savepoints that have been rolled back during this request;
2) savepoints that are still in effect;
3) savepoints that have been released; and
d. returning an SQL result set to a requester, and flowing a sequence number associated with a cursor associated with the result set to the requester so that the result set can be associated with and positioned correctly within the savepoints.
-
-
30. A distributed relational database management system comprising a plurality of individual relational database management systems residing on separate servers and including a coordinator server, said distributed relational database management system configured and controlled to process transactions which comprise multiple steps across more then one of said plurality of relational database management systems, as participants, by the method comprising:
-
a) assigning across the relational database management system participants at least one savepoint within a step;
b) if an application decision to reject the step is found, rolling back the step across the relational database management system participants to a savepoint; and
c) when no application decisions to reject the step are found, COMMITING the transaction across the multiple relational database management system participants. - View Dependent Claims (31, 32, 33, 34, 37, 39, 40, 41, 42, 43)
-
-
36. A distributed relational database management system comprising a plurality of individual relational database management systems residing on separate servers and including a coordinator server, said distributed relational database management system configured and controlled to process transactions which comprise multiple steps across more then one of said plurality of relational database management systems, as participants, by the method comprising the steps of:
-
a. assigning savepoint identifiers to savepoints;
b. sending a message from the coordinator server to the multiple database server participants identifying;
1) savepoints that have been rolled back since the database server participant was last notified;
2) savepoints that are still in effect;
3) savepoints that have been released;
c. sending a message from the multiple database sever participants to the coordinator server identifying;
1) savepoints that have been rolled back during this request;
2) savepoints that are still in effect;
3) savepoints that have been released; and
d. returning an SQL result set to a requester, and flowing a sequence number associated with a cursor associated with the result set to the requester so that the result set can be positioned correctly within the savepoints.
-
-
38. A program product comprising a storage medium having computer readable program code thereon for controlling the operation of a distributed relational database management system, the distributed relational database management system comprising a plurality of individual relational database management systems residing on separate servers and including a coordinator server, said program code configuring and controlling the relational database management system to process transactions which comprise multiple steps across more then one of said plurality of relational database management systems, as participants, by the method comprising:
-
a) assigning across the relational database management system participants at least one savepoint within a step; and
b) if an application decision is made to reject the step is found, rolling back the step across the relational database management system participants to a savepoint.
-
-
44. A program product comprising a storage medium having computer readable program code thereon for managing a distributed relational database management system, said distributed relational database management system comprising a plurality of individual relational database management systems residing on separate servers and including a coordinator server, said program code configuring and controlling the distributed relational database management system to process transactions which comprise multiple steps across more then one of said plurality of relational database management systems, as participants, by the method comprising the steps of:
-
a. assigning savepoint identifiers to savepoints;
b. sending a message from the coordinator server to the multiple database server participants identifying;
1) savepoints that have been rolled back since the participant database server was last notified;
2) savepoints that are still in effect;
3) savepoints that have been released;
c. sending a message from the multiple database sever participants to the coordinator server identifying;
1) savepoints that have been rolled back during this request;
2) savepoints that are still in effect;
3) savepoints that have been released; and
returning an SQL result set to a requester, and flowing a sequence number associated with a cursor associated with the result set to the requester so that the result set can be associated with and positioned correctly within the savepoints.
-
Specification