Highly available TCP systems with fail over connections
First Claim
1. A method by which a second system maintains connections for a failed first system, the second system and the first system being peers to one another, the method performed by the second system and comprising:
- receiving ownership information from the first system on which an application is running, the ownership information indicating that the second system is to assume a connection of the first system upon failure of the first system;
prior to the first system having entered a failed state, snooping the connection from a client to the first system to use the application thereof, in order to maintain information regarding the connection as known by the first system;
determining that the first system is in the failed state; and
in response to determining that the first system is in the failed state, assuming the connection for the first system in a peer-to-peer manner, wherein the snooping of the connection from the client to the first system enables the second system to assume the connection without losing the information regarding the connection as known by the first system, such that the client is unaware that the second system has assumed the connection for the first system.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a method, system and apparatus by which TCP connections may be failed-over from one system to another within a highly available network service, and appear transparent to the remote client. The connection state and ownership information of a system is broadcast within the network, so that if a first system crashes while running an application, a predetermined take-over policy causes a peer system to assume connection without loss of data such that a permanent connection has been established from the client'"'"'s point of view. After the failed system has been restored to a normal state, new connections are established by the first system.
47 Citations
19 Claims
-
1. A method by which a second system maintains connections for a failed first system, the second system and the first system being peers to one another, the method performed by the second system and comprising:
-
receiving ownership information from the first system on which an application is running, the ownership information indicating that the second system is to assume a connection of the first system upon failure of the first system;
prior to the first system having entered a failed state, snooping the connection from a client to the first system to use the application thereof, in order to maintain information regarding the connection as known by the first system;
determining that the first system is in the failed state; and
in response to determining that the first system is in the failed state, assuming the connection for the first system in a peer-to-peer manner, wherein the snooping of the connection from the client to the first system enables the second system to assume the connection without losing the information regarding the connection as known by the first system, such that the client is unaware that the second system has assumed the connection for the first system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A peer-to-peer system for maintaining a connection within a network, comprising:
-
means for broadcasting ownership information between a first system on which an application is running to at least a second system within the network, the first system and the second system being peers to one another, the ownership information indicating that the second system is to assume a connection of the first system by a client to use the application thereof, upon failure of the first system;
means for determining that the second system will assume the connection for the first system if the first system fails;
means for snooping by the second system prior to failure of the first system, packets sent to and received by the first system, so that the second system is able to maintain information regarding the connection as known by the first system;
means for determining that the first system is in a failed state;
means for continuing the application on the second system from the point at which the first system failed, the second system assuming the connection in a peer-to-peer manner, the snooping of the connection from the client to the first system enabling the second system to assume the connection without losing the information regarding the connection as known by the first system, such that the client is unaware that the second system has assumed the connection for the first system. - View Dependent Claims (12, 13, 14)
-
-
15. An article for maintaining connections by a second system for a first system, the first system and the second system being peers to one another, comprising:
-
a computer-readable signal-bearing medium;
means in the medium for receiving ownership information of the first system by the second system, the ownership information indicating that the second system is to assume a connection of the first system by a client to use an application thereof, upon failure of the first system, means in the medium for snooping the connection by the second system prior to failure of the first system so that the second system is able to maintain information regarding the connection as known by the first system;
means in the medium for determining that the first system is in a failed state; and
means in the medium for assuming the connection for the first system by the second system in a peer-to-peer manner, the snooping of the connection from the client to the first system enabling the second system to assume the connection without losing the information regarding the connection as known by the first system, such that the client is unaware that the second system has assumed the connection for the first system. - View Dependent Claims (16, 17, 18, 19)
-
Specification