Abstract
We evaluate the feasibility of using Migratory TCP (M-TCP), a reliable connection-oriented transport layer protocol that supports connection migration, for building highly available Internet services. M-TCP can transparently migrate the server endpoint of a live connection and assists server applications in resuming service on migrated connections. M-TCP provides a generic solution for the problem of service continuity and availability in the face of connectivity failures. We have implemented M-TCP and present results of an experimental evaluation which shows it can efficiently provide support for highly available services. We illustrate the use of M-TCP in two applications. The first is a synthetic generic media streaming server. We show that, when the performance of the current server degrades, M-TCP an sustain throughput lose to the average server behavior by migrating connections to better servers. The second application is a transactional database server in which we have integrated support for migrating client connections. Using our system, a database frontend an continue the execution of a series of transactions submitted by a remote client in a session started with another front-end. The system allows a session to survive adverse conditions by connection migration, while ensuring that ACID semantics are preserved and that the execution is deterministic across migration.