Method and apparatus for online transaction processing
First Claim
Patent Images
1. A method for processing transaction requests from a plurality of clients in a transaction processing system including at least one active execution module, at least one backup execution module and a communication module, the method including the steps of:
- receiving a transaction request from a client at the communication module;
routing the transaction request from the communication module to an active execution module;
processing the routed transaction request in the active execution module, wherein the processing includes at least one of accessing, reading, creating, updating and removing transactional state items; and
sending a checkpoint message from the active execution module to a corresponding backup execution module if a transactional state item was created, updated or removed.
4 Assignments
0 Petitions
Accused Products
Abstract
Online transaction processing is one of the main applications of computer systems. A purpose of the present invention is to improve the performance and availability of online transaction processing systems. A system that uses the present invention may process more transactions per second and remains more available to its clients than systems using the prior art.
312 Citations
118 Claims
-
1. A method for processing transaction requests from a plurality of clients in a transaction processing system including at least one active execution module, at least one backup execution module and a communication module, the method including the steps of:
-
receiving a transaction request from a client at the communication module;
routing the transaction request from the communication module to an active execution module;
processing the routed transaction request in the active execution module, wherein the processing includes at least one of accessing, reading, creating, updating and removing transactional state items; and
sending a checkpoint message from the active execution module to a corresponding backup execution module if a transactional state item was created, updated or removed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for processing transaction requests in a transaction processing system including the steps of:
-
starting a processing of a transaction in an execution module;
obtaining a lock to prevent other transactions from accessing at least one transactional state item;
accessing at least one of the at least one transactional state item by the processing of the transaction;
determining if at least one transactional state item accessed by the transaction is not located in the execution module and upon such a determination;
rolling back the processing of the transaction;
retrieving the at least one transactional state item not located in the execution module from the database module and storing it in the execution module; and
restarting the processing of the transaction in the execution module. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A method for processing transaction requests in a transaction processing system including the steps of:
-
creating, modifying and/or removing a record in a database module;
triggering the sending of a transaction request to a communication module to at create, modify and/or remove a transactional state item in an execution module;
routing the transaction request from the communication module to an active execution module;
processing the routed transaction request including at least one of accessing, reading, creating, updating and removing transactional state items;
determining if a transactional state item was at least one of created, updated and removed, and upon such a determination sending a checkpoint message from the active execution module to the corresponding backup execution module.
-
-
26. A method for initializing a transaction processing system including at least two execution modules including the steps of:
-
sending a start operation to an execution module to start the execution module as an active execution module;
sending an operation to a second execution module to cause it to act as a backup execution module to the active execution module;
creating transactional state items in the active execution module by retrieving information corresponding to the transactional state items from a database module;
sending at least one checkpoint message from the active execution module to the second execution module to replicate the created transactional state items. - View Dependent Claims (27, 28, 29)
-
-
30. A method for initializing a transaction processing system including a plurality of execution modules including the steps of:
-
sending a start operation to at least one execution module to start the execution module as an active execution module;
sending an operation to at least one other execution module to cause the creation of at least one backup execution module corresponding to the active execution module;
creating transactional state items in the active execution module by retrieving information corresponding to the transactional state items from a database module; and
sending at least one checkpoint message from the active execution module to the at least one other execution module to replicate the created transactional state items.
-
-
31. A method for failure recovery in a transaction processing system including a plurality of execution modules including the steps of:
-
creating an active execution module capable of storing transactional state items accessible from multiple clients;
creating at least one backup execution module corresponding to the active execution module;
storing copies of the transactional state items located on the active execution module on the at least one backup execution modules;
detecting a failure in an active execution module; and
promoting one of the at least one backup execution modules corresponding to the failed active execution module to an active execution module. - View Dependent Claims (32, 33)
-
-
34. A method for upgrading an execution module in a transaction processing system including a plurality of execution modules including the steps of:
-
starting a new execution module as a replacement execution module with a new version of transaction programs;
sending a stop message to a second execution module with an old version of transactional programs to stop the second execution module from processing transactions;
causing a communication module to block requests to the second execution module;
sending a start message to the new execution module indicating that it is a replacement execution module for the second execution module;
enabling the replacement execution module to access the transactional state items located in the second execution module;
retrieving at least one of the transactional state items located in the second execution module and creating at least one transactional state item in the new execution module;
causing the communication module to replaces routes to the second execution module with routes to the new execution module. - View Dependent Claims (35, 36, 37, 38)
-
-
39. A method for processing transaction requests in a transaction processing system including at least one active execution module, at least one backup execution module and a communication module, the method includes the steps of:
-
submitting at least a first and second transaction request from at least one client to the communication module;
modifying the value of a transactional state item with the first transaction, and specifying a read of a value of a transactional state item modified by the first transaction and beginning processing after the first transaction with the second transaction;
processing the first transaction and sending a checkpoint message;
processing the second transaction without sending a response message;
sending the acknowledgement message for the first transaction from the backup execution module to the active execution module; and
sending the response for at least the second transaction from the active the active execution module to the communication module. - View Dependent Claims (40, 41)
-
-
42. A method for processing transaction requests in a transaction processing system including at least one active execution module, at least one backup execution module and a communication module, the method including the steps of:
-
submitting at least two transaction requests from at least one client to the communication module;
processing at least two transactions and sending separate checkpoint messages for each of the at least two transactions, the checkpoint messages including a sequence number indicating the order of the transactions; and
processing the checkpoint messages in a backup execution module in an order based on sequence numbers of the checkpoint message. - View Dependent Claims (43)
-
-
44. A transaction processing system including:
-
logic configured to allow multiple clients to share access to the same transactional state item;
a communication module, the communication module including routing logic configured to receive transaction requests and forward the transaction requests to an active execution module;
a plurality of execution modules, each execution module including;
at least one transaction program and at least one persistent transactional state item, each transaction program including logic configured to process transaction requests; and
access logic configured to access a transactional state item;
and wherein at least one first execution module is configured in an active mode and at least one second execution module is configured in a backup mode, the second execution module containing a copy of at least one transactional state item that is held in the first execution module. - View Dependent Claims (45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116)
-
-
117. A transaction processing system including:
-
logic configured to allow multiple clients to share access to the same transactional state item;
a communication module, the communication module including routing logic configured to receive transaction requests and forward the transaction request to an active execution module;
a plurality of execution modules, each execution module including;
at least one transaction program and at least one persistent transactional state item, each transaction program including logic configured to process transaction requests; and
access logic configured to access a transactional state item;
and wherein at least one first execution module is configured in an active mode and includes logic configured to send a checkpoint message to at least one second execution module and at least one second execution module is configured in a backup mode, the second execution module containing a copy of at least one transactional state item that is held in the first execution module;
transaction management logic configured to restore at least one transactional state item to a pre-transaction value upon a failure of the transaction program;
the at least one transactional state item includes the value of a container-managed persistence field of Enterprise JavaBeans entity object; and
the at least one transaction program includes methods of Enterprise JavaBeans.
-
-
118. A transaction processing system including:
-
logic configured to allow multiple clients to share access to the same transactional state item;
a communication module, the communication module including routing logic configured to receive transaction requests and forward the transaction request to an active execution module;
a plurality of execution modules, each execution module including;
at least one transaction program and at least one persistent transactional state item, each transaction program including logic configured to process transaction requests; and
access logic configured to access a transactional state item;
and wherein at least one first execution module is configured in an active mode and includes logic configured to send a checkpoint message to at least one second execution module and at least one second execution module is configured in a backup mode;
the second execution module containing a copy of at least one transactional state item that is held in the first execution module;
transaction management logic configured to restore at least one transactional state item to a pre-transaction value upon a failure of the transaction program;
the at least one transactional state item includes the values of fields of the objects of an object-oriented language; and
the at least one transaction program includes methods of an object-oriented language.
-
Specification