ST-TCP

TCP is the most popular transport-level protocol for constructing distributed applications over the Internet. It has been used to construct several commonly used applications and protocols such as FTP, http, telnet, ssh, and sendmail. While TCP provides several useful features, an important feature that TCP does not provide is server fault tolerance. If the machine on which a TCP server is running fails, the TCP connection is broken, and the TCP client gets disconnected from the server. Even if a backup server exists, a new TCP connection has to be established between the client and the backup server and lost packets have to be determined and retransmitted.

ST-TCP (Server fault-Tolerant TCP) is an extension of standard TCP that provides support for tolerating the failure of a TCP sever. ST-TCP relies on the existence of an active backup TCP server that takes over the TCP connection in case of a primary TCP server failure. ST-TCP is different from traditional primary backup systems in that the backup TCP server in ST-TCP does not rely on the primary server to keep its state up-to-date. In fact, only some minor changes are required in the standard TCP server design to behave as an ST-TCP server.

The server fault tolerance extension of ST-TCP is completely transparent to the TCP clients, i.e. there is no change required in the client-side TCP and no special wrapper or libraries are needed on the clients machine. Standard TCP clients can connect to a ST-TCP server in the same way they connect to a standard TCP server. Also, the clients do not notice any server failure, or service disruptions during a server fail-over period. Thus, ST-TCP allows standard TCP clients to stay connected and continue to receive the required service despite TCP server failures.

Publications


Copyright © 2003 Shivakant Mishra