Method and apparatus for asynchronous transaction processing
First Claim
1. A method for asynchronous transaction processing in a distributed computing environment including at least one client object and at least one server object comprising the steps of:
- a) initiating a transaction by a client object, the client object initiating a transaction context and registering as a participant with the transaction context;
b) publishing an event by the client object, the event including a reference to the transaction context, a reference to the client object and information;
c) registering with the transaction context as a participant by at least one server object responsive to the event, the at least one server object responsive to the event;
i) performing logical operations using the information provided in the event;
ii) placing a vote to commit or roll back the transaction with the transaction context; and
iii) calling back the client object with a response to the event using the reference to the client object included in the event;
d) upon receiving a call back from the at least one server object responsive to the event, placing a vote to commit or roll back the transaction with the transaction context by the client object;
e) passing a request from the client object to the transaction context to close the transaction;
f) reviewing the votes in the transaction context and;
i) if all of the transaction participants have voted to commit the transaction, the transaction context causes the transaction to be committed to at least one database;
orii) if at least one participant in the transaction has voted to roll back the transaction, the transaction context signals the client object of the roll back vote and causes the transaction to be rolled back.
11 Assignments
0 Petitions
Accused Products
Abstract
In an asynchronous transaction processing method, system and computer program product, a transaction is initiated by a client object when the client object initiates a transaction context and registers with the transaction context as a participant in the transaction. The client object also publishes an event, the event including a reference to the transaction context, a reference to the client object and information. At least one server object responsive to, or subscribing to, the event registers with the transaction context identified in the event, performs a logical operation using the information provided in the event, places a vote to commit or roll back the transaction with the transaction context and calls back the client object with a response to the event using the reference to the client object included in the event. Upon receiving a call back from the at least one server object responsive to the event, the client object place a vote to commit or roll back the transaction with the transaction context. The client object then requests that the transaction context close the transaction. The transaction context reviews the votes and if all of the transaction participants have voted to commit the transaction, the transaction context commits the transaction data to one or more databases. If at least one participant in the transaction has voted to roll back the transaction, the transaction context signals the client object of the roll back vote and causes the transaction to be rolled back.
-
Citations
39 Claims
-
1. A method for asynchronous transaction processing in a distributed computing environment including at least one client object and at least one server object comprising the steps of:
-
a) initiating a transaction by a client object, the client object initiating a transaction context and registering as a participant with the transaction context; b) publishing an event by the client object, the event including a reference to the transaction context, a reference to the client object and information; c) registering with the transaction context as a participant by at least one server object responsive to the event, the at least one server object responsive to the event; i) performing logical operations using the information provided in the event; ii) placing a vote to commit or roll back the transaction with the transaction context; and iii) calling back the client object with a response to the event using the reference to the client object included in the event; d) upon receiving a call back from the at least one server object responsive to the event, placing a vote to commit or roll back the transaction with the transaction context by the client object; e) passing a request from the client object to the transaction context to close the transaction; f) reviewing the votes in the transaction context and; i) if all of the transaction participants have voted to commit the transaction, the transaction context causes the transaction to be committed to at least one database;
orii) if at least one participant in the transaction has voted to roll back the transaction, the transaction context signals the client object of the roll back vote and causes the transaction to be rolled back. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. In a distributed object computing environment including a plurality of host computers connected by an object request broker, a system for asynchronously processing a transaction comprising:
-
a) at least one client object class including means for instantiating a client object, the client object having means for initiating a transaction including means for initiating a transaction context, means for registering with the transaction context as a participant in the transaction, means for publishing an event having a reference to the client object, a reference to the transaction context and data, a means for placing a vote to commit or roll back the transaction with the transaction context, and a means for requesting that the transaction context close the transaction; b) at least one server object class including means for instantiating a server object, the server object being responsive to an event published by the client object and having a means for registering with the transaction context identified in the event as a transaction participant, a means for performing a logical operation with the data included in the event, a means for placing a vote to commit or roll back the transaction with the transaction context identified in the event, and a means for making a call back to the client object identified in the event with results of the logical operation; c) a transaction context class having means responsive to a client object for instantiating a transaction context object having a means for registering participants in a transaction and for recording votes on whether to commit or roll back the transaction, the transaction context including means for committing the transaction to one or more databases. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. In a system for asynchronously processing a transaction in a distributed object computing environment including a plurality of host computers connected by an object request broker, a computer program product comprising a computer useable medium having computer readable program code to direct the system to perform at least the following steps:
-
a) initiating a transaction by a client object, the client object initiating a transaction context and registering as a participant with the transaction context; b) publishing an event by the client object, the event including a reference to the transaction context, a reference to the client object and information; c) registering with the transaction context as a participant by at least one server object responsive to the event, the at least one server object responsive to the event; i) performing logical operations using the information provided in the event; ii) placing a vote to commit or roll back the transaction with the transaction context; and iii) calling back the client object with a response to the event using the reference to the client object included in the event; d) upon receiving a call back from the at least one server object responsive to the event, placing a vote to commit or roll back the transaction with the transaction context by the client object; e) passing a request from the client object to the transaction context to close the transaction; f) reviewing the votes in the transaction context and; i) if all of the transaction participants have voted to commit the transaction, the transaction context causes the transaction to be committed to at least one database;
orii) if at least one participant in the transaction has voted to roll back the transaction, the transaction context signals the client object of the roll back vote and causes the transaction to be rolled back. - View Dependent Claims (25, 26)
-
-
27. A method for asynchronous transaction processing in a distributed computing environment including at least one client object and at least one server object comprising the steps of:
-
a) initiating a transaction by a client object, the client object initiating a transaction context and registering as a participant with the transaction context; b) publishing an event by the client object, the event including a reference to the transaction context and information; c) registering with the transaction context as a participant by at least one server object responsive to the event, the at least one server object responsive to the event; i) performing logical operations using the information provided in the event; and ii) placing a vote to commit or roll back the transaction with the transaction context; d) placing a vote to commit or roll back the transaction with the transaction context by the client object; e) passing a request from the client object to the transaction context to close the transaction; f) reviewing the votes in the transaction context and; i) if all of the transaction participants have voted to commit the transaction, the transaction context causes the transaction to be committed to at least one database;
orii) if at least one participant in the transaction has voted to roll back the transaction, the transaction context signals the client object of the roll back vote and causes the transaction to be rolled back. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
Specification