Method and apparatus for providing transparent fault tolerance within an application server environment
First Claim
1. An apparatus for providing transparent fault tolerance within an application server environment comprising a network of computers, said apparatus comprising:
- a. a first server designated as a master server for storing and operating a first operating system program communicating by system calls with a first server application program and a first fail over protection program, said first server designated as a master server connected to a computer network and having a network address;
said first server having a first initial state, a first application state and a first network connection state;
b. a second server designated as a back-up server for storing and operating a second operating system program communicating by system calls with a second server application program and a second fail over protection program;
said second operating system program, said second server application program and said second fail over protection program identical respectively to said first operating system program, said first server application program and said first fail over protection program;
said second server designated as a back-up server connected to said computer network;
said second server having a second initial state, a second application state and a second network connection state c. wherein the first server designated as a master server is operatively connected to the second server designated as a back-up server and wherein the first server is in continuous communication with said second server so that the first fail over protection program is in constant communication with the second fail over protection program and further wherein the operation of the first server and second server are synchronized by the first and second fail over protection programs respectively;
d. wherein the first and second fail over protection programs include;
i. means for establishing synchronicity between the first server and the second server;
ii. means for monitoring synchronicity between the first server and the second server;
iii. means for detecting non-synchronicity between the first server and the second server; and
, iv. means for invoking the first or second fail over protection programs upon detection of non-synchronicity between the first and second servers;
e. wherein said first and second fail over protection programs, when invoked, cause a transfer of server operations from a failed server to a non-failed server upon the detection of non-synchronicity or non-responsiveness of either server, and wherein transfer from failed to non-failed server is totally transparent to the client.
0 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is an apparatus for providing transparent fault protection for redundant server systems comprising a plurality of servers connected to a plurality of clients over a network. One or more servers are configured in a master and back-up configurations. Each server operates independently from the other and each server is connected to the network using an identical address so that each master and back-up server receives the same client communications. Each server runs the same copy of operating system, server application system and fail over protection system programs. The invention provides for a method of transparent fail over protection between the master and the back-up servers by synchronizing the operation of the master with the back-up. Synchronization is accomplished by synchronizing the initial state of the operating system by ensuring that the respective master and back-up operating systems are using the same file systems. Synchronization of the servers also necessitates synchronization of the application states of the respective master and back-up server application programs and synchronization of the respective network connection states between the master and back-up servers and the network respectively. Once synchronization is achieved, the fail over between master and back-up servers will be transparent to the client.
-
Citations
9 Claims
-
1. An apparatus for providing transparent fault tolerance within an application server environment comprising a network of computers, said apparatus comprising:
-
a. a first server designated as a master server for storing and operating a first operating system program communicating by system calls with a first server application program and a first fail over protection program, said first server designated as a master server connected to a computer network and having a network address;
said first server having a first initial state, a first application state and a first network connection state;
b. a second server designated as a back-up server for storing and operating a second operating system program communicating by system calls with a second server application program and a second fail over protection program;
said second operating system program, said second server application program and said second fail over protection program identical respectively to said first operating system program, said first server application program and said first fail over protection program;
said second server designated as a back-up server connected to said computer network;
said second server having a second initial state, a second application state and a second network connection statec. wherein the first server designated as a master server is operatively connected to the second server designated as a back-up server and wherein the first server is in continuous communication with said second server so that the first fail over protection program is in constant communication with the second fail over protection program and further wherein the operation of the first server and second server are synchronized by the first and second fail over protection programs respectively;
d. wherein the first and second fail over protection programs include;
i. means for establishing synchronicity between the first server and the second server;
ii. means for monitoring synchronicity between the first server and the second server;
iii. means for detecting non-synchronicity between the first server and the second server; and
,iv. means for invoking the first or second fail over protection programs upon detection of non-synchronicity between the first and second servers;
e. wherein said first and second fail over protection programs, when invoked, cause a transfer of server operations from a failed server to a non-failed server upon the detection of non-synchronicity or non-responsiveness of either server, and wherein transfer from failed to non-failed server is totally transparent to the client. - View Dependent Claims (2, 3)
-
-
4. A method for providing transparent fault tolerance within an application server environment comprising a network of computers, said method comprising the steps of:
-
a. providing a first server for storing and operating a first operating system program, a first server application program and a first fail over protection program;
b. providing a second server for storing and operating a second operating system program, a second server application program and a second fail over protection program;
c. placing said first server in continuous communication with said second server;
d. designating from the first server and the second server a master server and a back-up server;
e. synchronizing the operation of the master server and the back-up server;
f. providing from the network an identical client data stream input simultaneously to the master server and the back-up server wherein;
i. the master server and back-up server have the same network address ii. the master server and back-up server simultaneously process said identical client data stream; and
wherein,iii. the master server and the back-up server simultaneously produce a respective first and second output data streams; and
wherein,iv. said first and said second output data streams are identical if the master server and the back-up server are operating correctly;
g. comparing by said first and second fail over protection programs respectively, said first output data stream with said second output data stream for divergence from identicality of the first output data stream from the second output data stream;
h. detecting by said first and second fail over protection programs no divergence from identicality of the first output data stream from the second output data stream;
- View Dependent Claims (5, 6, 7, 8, 9)
-
Specification