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;
wherein said communication routines are executing a connection-oriented communication protocol over an underlying network communication protocol that carries data over said network;
wherein said means of migrating connection endpoint within said communication routines comprises a bridqe layer in said first server computer and in said one or more second server computers between said connection-oriented protocol and said underlying network communication protocol.
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.
80 Citations
116 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; wherein said communication routines are executing a connection-oriented communication protocol over an underlying network communication protocol that carries data over said network; wherein said means of migrating connection endpoint within said communication routines comprises a bridqe layer in said first server computer and in said one or more second server computers between said connection-oriented protocol and said underlying network communication protocol. - View Dependent Claims (2, 3, 4, 5, 6, 7, 9, 10, 12)
-
-
8. 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 serverto 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; wherein said communication orotocols comprise a connection-oriented communication protocol executing over a network communication protocol; wherein said programming is executed as bridge routines in a bridge sublayer, positioned between said connection-oriented communication protocol layer and said network communication protocol layer, said bridge routines configured for migrating the connection endpoint from said primary server to said backup server. - View Dependent Claims (11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. 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; wherein said communication routines comprise routines for executing a connection-oriented communication protocol over a network communication protocol; and wherein said migrating connection endpoints is performed within bridge routines, within said communication routines, that execute in a bridge sublayer between said connection-oriented communication protocol layer and said network communication protocol layer. - View Dependent Claims (24, 25, 26, 27, 28, 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. 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 of said two or more computers upon the failure of that computer wherein the other of said two or more computers continues to communicate with said remote computer; wherein routines for maintaining said connection are performed within a bridge layer inserted into the Transmission Control Protocol/Internet Protocol (TCP/IP) stack, between the Transmission Control Protocol (TCP) layer and the Internet Protocol (IP) layer, without modification to either said TCP layer or said IP layer. - View Dependent Claims (55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85)
-
-
86. 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; wherein said communication routines are configured for executing a connection-oriented communication protocol over a network communication protocol; wherein said connection-oriented protocol is the Transmission Control Protocol (TCP); wherein said network communication protocol is the Internet Protocol (IP); wherein communication bridge routines are inserted between the TCP layer and the IP layer of the TCP/IP stack; and wherein said migration of connection endpoint is performed by said communication bridge routines. - View Dependent Claims (87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116)
-
Specification