Suspending and Resuming Network Applications using Session Continuations

Alex C. Snoeren, Debashis Panigrahi, Shoubhik Mukhopadhyay, Hari Balakrishnan and M. Frans Kaashoek
April 2, 2008

Migrate is a system service that allows network applications to suspend upon disconnection and properly resume when connectivity is restored. Migrate uses session continuations, which allow applications to explicitly record all the state and resources required to correctly resume. Migrate virtualizes network connections to function across network address changes, allows portions of an application to be suspended and securely resumed, and optimizes scarce system resources on servers handling many suspended clients. We demonstrate that the continuation abstraction is both useful and efficient by showing how two important applications, SSH and Icecast, can use Migrate to implement a suspend/resume feature. We find that the required source code changes are between 0.5% and 1.75% of the total, that the generated continuations are between 1% and 5% of the memory footprint of the entire process, and that session resumption times are small (a few hundred milliseconds) compared to typical disconnection durations. We also show that he proposed system is scalable to support large number of simultaneous requests for suspension/resumption.

How to view this document

The authors of these documents have submitted their reports to this technical report series for the purpose of non-commercial dissemination of scientific work. The reports are copyrighted by the authors, and their existence in electronic format does not imply that the authors have relinquished any rights. You may copy a report for scholarly, non-commercial purposes, such as research or instruction, provided that you agree to respect the author's copyright. For information concerning the use of this document for other than research or instructional purposes, contact the authors. Other information concerning this technical report series can be obtained from the Computer Science and Engineering Department at the University of California at San Diego,

[ Search ]

This server operates at UCSD Computer Science and Engineering.
Send email to