Fault tolerant client server system
First Claim
1. In a client/server computer system, a method for providing fault tolerance, comprising the steps of:
- establishing a connection from a client computer to a primary server computer;
designating a backup server computer for processing transactions from the client if the primary server becomes disabled, wherein the transactions are processed according to database management system (DBMS) instructions;
storing connection information for connecting the client to the backup server;
storing in-flight client transaction information by a log writing process for completing in-flight transactions without user intervention if the primary server becomes disabled;
determining whether the primary server is disabled, wherein if the primary server becomes disabled;
A) establishing a connection from the client to the backup server;
B) submitting the in-flight transaction information to the backup server;
C) completing the in-flight transactions on the backup server;
D) routing subsequent transactions from the client to the backup server for processing.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for providing fault tolerance in a client/server computer system. A client is initially connected to a primary server. The primary server normally handles all of the client'"'"'s transactions. However, a secondary connection is designated to a backup server, whereby if the primary server ever becomes disabled, the client is automatically switched over to the backup server. In-flight transaction information corresponding to transactions currently being processed by the primary server is stored and regularly updated by the client. The client regularly polls the primary server to check whether the primary server is properly functioning. If the primary server becomes disabled, all in-flight transactions pending on the disabled server are rolled back and the client resubmits in-flight transaction information to the backup server so that it can complete any transactions which were in progress on the primary server at the time of the failure. Thus, server failures are transparent to the user.
-
Citations
15 Claims
-
1. In a client/server computer system, a method for providing fault tolerance, comprising the steps of:
-
establishing a connection from a client computer to a primary server computer; designating a backup server computer for processing transactions from the client if the primary server becomes disabled, wherein the transactions are processed according to database management system (DBMS) instructions; storing connection information for connecting the client to the backup server; storing in-flight client transaction information by a log writing process for completing in-flight transactions without user intervention if the primary server becomes disabled; determining whether the primary server is disabled, wherein if the primary server becomes disabled; A) establishing a connection from the client to the backup server; B) submitting the in-flight transaction information to the backup server; C) completing the in-flight transactions on the backup server; D) routing subsequent transactions from the client to the backup server for processing. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A fault tolerant computer system comprising:
-
a client computer for running an application; a first server coupled to the client for accepting transactions generated by the client application, wherein the transactions are processed according to database management system (DBMS) instructions; a first memory for storing connection information corresponding to a second server, wherein if the first server becomes disabled, a connection from the client to the second server is automatically established by the client and transactions from the client are handled by the second server; a second memory for storing information pertaining to transactions pending on the first server, wherein the information is stored by a log writing process for completing the pending transactions without user intervention when the first server becomes disabled; a client interface coupled to the second memory which submits pending transaction information to the second server for processing by the second server when the first server becomes disabled. - View Dependent Claims (7, 8, 9)
-
-
10. A computer-readable medium having stored thereon instructions for causing a client computer to implement fault tolerance comprising the steps of:
-
establishing a first connection between the client and a primary server for servicing transactions generated by an application running on the client, wherein the transactions are processed according to database management system (DBMS) instructions; designating a second connection between the client and a backup server; storing in-flight transaction information corresponding to transactions being processed by the primary server, wherein the information is stored by a log writing process for completing the in-flight transactions without user intervention if the primary server fails; detecting whether the primary server has failed, wherein if the primary server fails; a) establishing the second connection to the backup server; b) submitting the in-flight transaction information to the backup server, c) completing the in-flight transaction by the backup server. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A computer capable of being coupled as a client to a server of a computer network for accessing a database stored in a mass storage device, comprising:
-
a bus; a processor coupled to the bus for running an application on the client; a first memory coupled to the bus for storing connection information for connecting the client to a primary server and for connecting the client to a backup server, wherein the client is normally connected to the primary server and the primary server handles transactions generated by an application running on the client, and the transactions are processed according to database management system (DBMS) instructions; a second memory coupled to the bus for storing in-flight transaction information by a log writing process for completing in-flight transactions without user intervention if the primary server becomes disabled; an interface coupled to the bus for determining whether the primary server is functioning properly, wherein if the primary server becomes disabled, the client automatically establishes a connection to the backup server and transmits the in-flight transaction information to the backup server so that the backup server can complete the in-flight transaction.
-
Specification