Abstract—Application-level protocols used for object delivery, such as HTTP, are built atop TCP/IP and inherit its hostabstraction. Given that these services are replicated for scalability, this unnecessarily exposes failures of individual servers to their clients. While changes to both client and server applications can be used to mask such failures, this paper explores the feasibility of transparent recovery for unmodified object delivery services (TRODS). The key insight in TRODS is cross-layer visibility and control: TRODS carefully derives reliable storage for applicationlevel state from the mechanics of the transport layer. This state is used to reconstruct object delivery sessions, which are then transparently spliced into the client’s ongoing connection. TRODS is fully backwards-compatible, requiring no changes to the clients or server applications. Its performance is competitive with unmodified HTTP services, providing nearly identical throughput while enabling timely fa...
Wyatt Lloyd, Michael J. Freedman