Failure tolerant transaction processing system
First Claim
1. A computer-implemented method of transaction processing comprising a plurality of clients and a plurality of server farms connected to a network, each of said plurality of server farms comprising a database (DB), a DB server for managing the database, and an application server for communicating with said DB server and said plurality of clients, the method comprising:
- determining, by a computer, whether a transaction with a 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 when said transaction with the same ID is being executed or completes a commit, returning rollback to the transaction start request;
transferring, by said computer, said transaction ID of an objective transaction, data updated by the transaction, and a processing result to be returned to all of said server farms, and checking, by said computer, whether said data is copied to said database in a majority of server farms;
when said checking of said data being copied is successful, sending, by said computer, a message of a commit request to all of said other server farms, and when a commit agreement from a majority of said other server farms is received, determining, by said computer, that said commit request is successful;
sending, by said computer, a result of said commit established by said determining to all of said other server farms;
checking, by said computer, whether a self server farm keeps a valid time-limited processing authority token, and when said self server farm does not keep said valid time-limited processing authority token, issuing an acquisition request of said valid time-limited 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;
when said commit request is received while said valid time-limited processing authority token acquisition is being processed, not replying, by said computer, to the commit request until said valid time-limited processing authority token acquisition process is completed, or performing, by said computer, a resending request of a message of said commit request; and
said self server farm, of said computer, performing data consistency among all of said other server farms when said valid time-limited 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
13 Claims
-
1. A computer-implemented method of transaction processing comprising a plurality of clients and a plurality of server farms connected to a network, each of said plurality of server farms comprising a database (DB), a DB server for managing the database, and an application server for communicating with said DB server and said plurality of clients, the method comprising:
-
determining, by a computer, whether a transaction with a 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 when said transaction with the same ID is being executed or completes a commit, returning rollback to the transaction start request; transferring, by said computer, said transaction ID of an objective transaction, data updated by the transaction, and a processing result to be returned to all of said server farms, and checking, by said computer, whether said data is copied to said database in a majority of server farms; when said checking of said data being copied is successful, sending, by said computer, a message of a commit request to all of said other server farms, and when a commit agreement from a majority of said other server farms is received, determining, by said computer, that said commit request is successful; sending, by said computer, a result of said commit established by said determining to all of said other server farms; checking, by said computer, whether a self server farm keeps a valid time-limited processing authority token, and when said self server farm does not keep said valid time-limited processing authority token, issuing an acquisition request of said valid time-limited 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; when said commit request is received while said valid time-limited processing authority token acquisition is being processed, not replying, by said computer, to the commit request until said valid time-limited processing authority token acquisition process is completed, or performing, by said computer, a resending request of a message of said commit request; and said self server farm, of said computer, performing data consistency among all of said other server farms when said valid time-limited processing authority token is acquired. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer system for transaction processing, said computer system comprising a plurality of clients and a plurality of server farms connected to a network, each of said plurality of server farms comprising a database (DB), a DB server for managing the database, and one or more application servers for communicating with said DB server, the system comprising:
-
a memory, for each said database, for storing data; and a processor, for each said DB server, configured to; determine whether a transaction with a 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 when the transaction with said same ID is being executed or completes a commit, returning rollback to the transaction start request; check whether the self server farm keeps a valid time-limited processing authority token, and when said self server farm does not keep said valid time-limited processing authority token, issuing an acquisition request of said valid time-limited 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; when said commit request is received while said valid time-limited processing authority token is being processed, not replying to the commit request until said valid time-limited processing authority token acquisition process is completed, or performing a sending request of a message of said commit request; perform data consistency, by said self server farm, among all of said server farms when said valid time-limited processing authority token is acquired, and said computer system in a commit process of said transaction being further configured to; transfer said transaction ID of an objective transaction, data updated by the transaction, and a processing result to be returned to all of said other server farms, and check whether said data is copied to said database in at least a majority of server farms; when checking of said data being copied is successful, sending a message of a commit request to all of said other server farms, and when a commit agreement from a majority of server farms is received, determining that said commit request is successful; and send a result of a commit established by commit establishing to all of said other server farms. - View Dependent Claims (9)
-
-
10. A non-transitory storage medium for a computer program readable by a computer system, tangibly embodying a program of instructions executable by said computer system, said computer system comprising a plurality of clients and a plurality of server farms connected to a network, said server farms comprising a database (DB), a DB server for managing the database, and one or more application servers for communicating with said DB server and said clients, to perform a method of transaction processing, said method comprising:
-
determining whether a transaction with a 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 when said transaction with the same ID is being executed or completes a commit, returning rollback to the transaction start request; transferring said transaction ID of an objective transaction, data updated by the transaction, and a processing result to be returned to all of said server farms, and checking whether said data is copied to said database in a majority of server farms; when said checking of said data being copied is successful, sending a message of a commit request to all of said other server farms, and when a commit agreement from a majority of said other server farms is received, determining that said commit request is successful; sending a result of said commit established by said determining to all of said other server farms. checking whether a self server farm keeps a valid time-limited processing authority token, and when said self server farm does not keep said valid time-limited processing authority token, issuing an acquisition request of said valid time-limited 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; when said commit request is received while said valid time-limited processing authority token acquisition is being processed, not replying to the commit request until said valid time-limited processing authority token acquisition process is completed, or performing a resending request of a message of said commit request; and said self server farm performing data consistency among all of said other server farms when said valid time-limited processing authority token is acquired. - View Dependent Claims (11, 12, 13)
-
Specification