Reliable network connections
- 23 September 2002
- proceedings article
- Published by Association for Computing Machinery (ACM)
Abstract
We present two systems, reliable sockets (rocks) and reliable packets (racks), that provide transparent network connection mobility using only user- level mechanisms. Each system can detect a connection failure within seconds of its occurrence, preserve the endpoint of a failed connection in a suspended state for an arbitrary period of time, and automatically reconnect, even when one end of the connection changes IP address, with correct recovery of in-flight data. To allow rocks and racks to interoperate with ordinary clients and servers, we introduce a general user-level Enhancement Detection Protocol that enables the remote detection of rocks and racks, or any other socket enhancement system, but does not affect applications that use ordinary sockets. Rocks and racks provide the same functionality but have different implementation models: rocks intercept and modify the behavior of the sockets API by using an interposed library, while racks uses a packet filter to intercept and modify the packets exchanged over a connection. Racks and rocks introduce small throughput and latency overheads that we deem acceptable for the level of mobility and reliability they provide.Keywords
This publication has 6 references indexed in Scilit:
- An end-to-end approach to host mobilityPublished by Association for Computing Machinery (ACM) ,2000
- Internet Message Access Protocol - Version 4rev1Published by RFC Editor ,1996
- A high-performance, portable implementation of the MPI message passing interface standardParallel Computing, 1996
- Efficient use of workstations for passive monitoring of local area networksPublished by Association for Computing Machinery (ACM) ,1990
- The packer filter: an efficient mechanism for user-level network codePublished by Association for Computing Machinery (ACM) ,1987
- Distributed snapshotsACM Transactions on Computer Systems, 1985