FAILURE TOLERANT TRANSACTION PROCESSING SYSTEM
First Claim
1. ) A transaction processing method in a computer system comprising a plurality of clients and a plurality of server farms connected to a network, wherein each of said server farms comprises at least a database, a DB server for managing the database, and one or more application servers for communicating with said DB server and said clients, the transaction processing method comprises the steps of:
- determining whether a transaction with the same ID is being executed or completes a commit by referencing a transaction ID according to a transaction start request from said client via said application server, and if said transaction with the same ID is being executed or completes a commit, returning rollback to the transaction start request;
checking whether a self server farm keeps a valid processing authority token or not, and if it does not keep said processing authority token, issuing an acquisition request of said valid processing authority token to all the other server farms, other than said self server farm, and waiting for completion of the acquisition request from a majority of said other server farms; and
said self server farm performing data consistency among all of said other server farms when said valid processing authority token is acquired.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention proposes a system for resending a process to a backup server farm from a client without waiting for the failure-detection, if no reply is received for a certain time. The transaction processing mechanism of the present invention has a transaction start processing mechanism in which an exclusive control using a valid processing authority token and data consistency are combined, and a commit processing mechanism in which determination on whether a commit is available or not based on a distributed agreement and replication of updated data. With the mechanisms, a system for shortening a service halt time when a failure occurs to a time as such it appears to a client that the service does not stop is provided.
-
Citations
18 Claims
-
1. ) A transaction processing method in a computer system comprising a plurality of clients and a plurality of server farms connected to a network, wherein each of said server farms comprises at least a database, a DB server for managing the database, and one or more application servers for communicating with said DB server and said clients, the transaction processing method comprises the steps of:
-
determining whether a transaction with the same ID is being executed or completes a commit by referencing a transaction ID according to a transaction start request from said client via said application server, and if said transaction with the same ID is being executed or completes a commit, returning rollback to the transaction start request; checking whether a self server farm keeps a valid processing authority token or not, and if it does not keep said processing authority token, issuing an acquisition request of said valid processing authority token to all the other server farms, other than said self server farm, and waiting for completion of the acquisition request from a majority of said other server farms; and said self server farm performing data consistency among all of said other server farms when said valid processing authority token is acquired. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. ) A transaction processing system comprising a plurality of clients and a plurality of server farms connected to a network, wherein said server farm comprises at least a database, a DB server for managing the database, and one or more application servers for communicating with said DB server, the transaction processing system comprises:
-
a transaction redundancy determining unit for determining whether a transaction with the same ID is being executed or completes a commit by referencing a transaction ID according to a transaction start request from said client via said application server, and if the transaction with said same ID is being executed or completes a commit, returning rollback to the transaction start request; a token exclusive control unit for checking whether the self server farm keeps a valid processing authority token or not, and if it does not keep said processing authority token, issuing an acquisition request of said processing authority token to all the server farms other than said self server farm, and waiting for completion of the acquisition request from a majority of server farms; and a data consistency processing unit for said self server farm to perform data consistency among all of said server farms when said processing authority token is acquired, and wherein said transaction processing system in a commit process of said transaction further comprises; a data replication processing unit for transferring said transaction ID of an objective transaction, data updated by the transaction and a processing result to be returned to that requests the transaction to all of said other server farms, and checking whether said data is copied to said database in at least a majority of server farms or not; a commit establishing processing unit for, if checking succeeded by said data replication processing unit, sending a message of a commit request to all of said other server farms, and if a commit agreement from a majority of server farms is received, determining that said commit request succeeded; and a commit sending unit for sending a result of a commit established by said commit establishing processing unit to all of said other server farms. - View Dependent Claims (11)
-
-
12. ) A transaction processing device in a computer system comprising a plurality of clients and a plurality of server farms connected to a network, wherein said server farm comprises at least a database, a DB server for managing the database and one or more application servers, the transaction processing device included in said DB server comprising:
-
a token request sending unit for sending processing authority token acquisition request message for the self server farm to acquire a right to access said database according to a transaction start request from said client via said application server; a token reply receiving unit for receiving a reply message to said valid processing authority token acquisition request message; a commit request sending unit for sending a commit request message; and a commit reply receiving unit for receiving a reply message to said commit request message; wherein said token request sending unit sends a valid processing authority token acquisition request message to all the server farms other than said self server farm, if said self server farm does not keep the valid processing authority token and said token reply receiving unit determines whether the valid processing authority token acquisition success or acquisition failure according to receiving a reply from a majority of server farms to said valid processing authority token acquisition request message, said commit request sending unit sends a commit request message including a transaction log to all of said other server farms, if said valid processing authority token acquisition succeeded and, said commit reply receiving unit determines that a commit succeeded, if an approval message is received from a majority of sever farms. - View Dependent Claims (13, 14)
-
-
15. ) A computer program in a computer system comprising a plurality of clients and a plurality of server farms connected to a network, wherein said server farm comprises at least a database, a DB server for managing the database, and one or more application servers for communicating with said DB server and said clients, the computer program causes a computer system to execute:
-
determining whether a transaction with the same ID is being executed or completes a commit by referencing a transaction ID according to a transaction start request from said client via said application server, and if the transaction with said same ID is being executed or completes a commit, returning rollback to the transaction start request; checking whether the self server farm keeps a valid processing authority token or not, and if it does not keep said valid processing authority token, issuing an acquisition request of said valid processing authority token to all the server farms other than said self server farm, and waiting for completion of the acquisition request from a majority of server farms; and said self server farm performing data consistency among all of said server farms when said valid processing authority token is acquired. - View Dependent Claims (16, 17, 18)
-
Specification