Transparent TCP connection failover

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.

[1]  Bogdan M. Wilamowski,et al.  The Transmission Control Protocol , 2005, The Industrial Information Technology Handbook.

[2]  Riccardo Bettati,et al.  HydraNet-FT: network support for dependable services , 2000, Proceedings 20th IEEE International Conference on Distributed Computing Systems.

[3]  Hari Balakrishnan,et al.  Fine-Grained Failover Using Connection Migration , 2001, USITS.

[4]  W. Richard Stevens,et al.  Unix network programming , 1990, CCRV.

[5]  Christof Fetzer,et al.  Tapping TCP streams , 2001, Proceedings IEEE International Symposium on Network Computing and Applications. NCA 2001.

[6]  Deron Liang,et al.  NT-SwiFT: software implemented fault tolerance on Windows NT , 2004, J. Syst. Softw..

[7]  John H. Hartman,et al.  Optimizing TCP forwarder performance , 2000, TNET.

[8]  Willy Zwaenepoel,et al.  Scalable Content-aware Request Distribution in Cluster-based Network Servers , 2000, USENIX Annual Technical Conference, General Track.

[9]  Liviu Iftode,et al.  Migratory TCP: connection migration for service continuity in the Internet , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[10]  Lorenzo Alvisi,et al.  Wrapping server-side TCP to mask connection failures , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[11]  Jon Postel,et al.  The TCP Maximum Segment Size and Related Topics , 1983, RFC.

[12]  Yuval Tamir,et al.  Client-transparent fault-tolerant Web service , 2001, Conference Proceedings of the 2001 IEEE International Performance, Computing, and Communications Conference (Cat. No.01CH37210).

[13]  Anupam Bhide,et al.  A Highly Available Network File Server , 1991, USENIX Winter.