Transparent TCP connection failover
First Claim
1. An apparatus for providing transparent connection failover, comprising:
- a first server computer and one or more second server computers executing the same server application and configured for executing communication routines for communicating over a network; and
means for migrating the connection endpoint of the server, within said communication routines on said computer servers upon the failure of said first server computer which is replying to requests from a client, so that said one or more second server computers begins replying to requests from said client without said client changing the connection endpoint address of the server from said first server computer to said one or more second server computers.
4 Assignments
0 Petitions
Accused Products
Abstract
Methods of transparent connection failover allowing a remote computer (i.e., a client), to continue to use a network connection to communicate with one of at least two or more other computers (i.e., the backup servers) over a network, when one of the other computers (i.e., the primary server) fails. With the mechanisms of this invention, there is no need for the client to establish a new connection to a backup server when the primary server fails. The failover is preferably executed within a bridge layer between the TCP layer and the IP layer of the server'"'"'s TCP/IP stack. No modifications are required to the network infrastructure, the client'"'"'s TCP/IP stack, the client application or the server application. The methods support active or semi-active replication of the server application, and do not require rollback of the application during failover. The invention also provides mechanisms for bringing up new backup servers.
-
Citations
96 Claims
-
1. An apparatus for providing transparent connection failover, comprising:
-
a first server computer and one or more second server computers executing the same server application and configured for executing communication routines for communicating over a network; and
means for migrating the connection endpoint of the server, within said communication routines on said computer servers upon the failure of said first server computer which is replying to requests from a client, so that said one or more second server computers begins replying to requests from said client without said client changing the connection endpoint address of the server from said first server computer to said one or more second server computers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus for providing fault tolerance and transparent connection failover, comprising:
-
a computer server configured for executing communication protocols with client computers over a network; and
programming within said computer server for executing said communication protocols for communicating requests from a client to a primary server over said network, communicating requests from a client to at least one backup server over said network, where said backup server runs the same application program and performs the same operations in the application program as said primary server, communicating responses from said primary server to said client, and migrating the connection endpoint from said primary server to said backup server in response to the failure of said primary server;
wherein said backup server receives and processes said client requests without said client changing the endpoint address of the server from said primary server to said backup server, so that connection endpoint migration is transparent to said client. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. In a server computer that executes a connection-oriented communication protocol over a network communication protocol for communicating requests and responses between a client computer and a primary server computer, the improvement comprising:
communication programming within said server computer for carrying out the operations of communicating client requests to at least one backup server on said network, and migrating the connection endpoint from said primary server to said backup server after the failure of said primary server in response to which said backup server receives and responds to said client requests while said client is still addressing said primary server over said network and is unaware of said server failure and said connection endpoint migration.
-
28. A method of ensuring transparent connection failover within a network, comprising:
-
executing communication routines on computers connected in said network so that computations can be executed on a first computer in response to communication with a remote computer;
maintaining synchronization of at least a second computer with said first computer, within said communication routines, wherein said second computer executes the same said computations as said first computer; and
migrating the connection endpoint, within said communication routines, from said first computer to said second computer in response to the failure of said first computer, providing transparent connection failover so that said remote computer still addresses said first computer but communicates with said second computer, and said remote computer is unaware of said server failure or of said connection failover. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62)
-
-
63. A method of ensuring transparent connection failover within a network, comprising:
-
executing communication routines on computers connected in said network so that computations can be executed within a server application on a primary server in response to communication with a client;
maintaining synchronization with at least one backup server executing said server application, within said communication routines, wherein said backup server executes the same computations as said primary server application; and
migrating the connection endpoint, within said communication routines, from said primary server to said backup server in response to the failure of said primary server, to provide transparent connection failover so that said client still addresses said primary server while actually communicating with one of said backup servers, and said client is unaware of said failure and of said failover;
wherein said server application is replicated using active or semi-active replication;
wherein said primary server and said backup server belong to the same subnet of said network;
wherein said primary server and said backup server applications undergo identical state transitions, eliminating the need for transfer of application state in order to achieve transparent connection failover; and
wherein said communication routines are configured to maintain communication between said client and one of said servers, provided that at least one of said servers remains operational.
-
-
64. A method of providing fault tolerance for two or more computers that communicate with a remote computer over a network connection and of providing transparent connection failover, comprising:
-
executing the same computations of same server application on said two or more computers in response to communication from a remote computer;
using the Transmission Control Protocol (TCP) over the Internet Protocol (IP); and
migrating the connection endpoint of one said computer upon the failure of that computer wherein the other of said computers continues to communicate with said remote computer. - View Dependent Claims (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)
-
Specification