Presentation is loading. Please wait.

Presentation is loading. Please wait.

Enabling Internet “Suspend/Resume” with Session Continuations Alex C. Snoeren MIT Laboratory for Computer Science (with Hari Balakrishnan, Frans Kaashoek,

Similar presentations


Presentation on theme: "Enabling Internet “Suspend/Resume” with Session Continuations Alex C. Snoeren MIT Laboratory for Computer Science (with Hari Balakrishnan, Frans Kaashoek,"— Presentation transcript:

1 Enabling Internet “Suspend/Resume” with Session Continuations Alex C. Snoeren MIT Laboratory for Computer Science (with Hari Balakrishnan, Frans Kaashoek, and Jon Salz)

2 Challenges of “Suspend/Resume” What happens to the “other” end? How does the session resume? It’s a state management problem.

3 Suspend/Resume Tasks Intelligent disconnection handling  Buffer otherwise lost communications  Emulate remote services locally  Release resources while disconnected Graceful resumption handling  Reallocate resources and restore state  Adapt to new network conditions  Indicate how to resume processing

4 Motivating Continuations Observation: complete context inappropriate  Some previous state irrelevant, or, even worse,  Invalidated due to change in conditions Similar problem in programming languages  Block when state and context is complex  Pass continuation if state and context is small Continuations can request blocking behavior

5 Using Continuations User level App Kernel SL Expand session notion  Align with application  Annotate state, resources,  associated computation  Include system state Provide synchronization and preservation assistance  Shared attribute/value store  Persist local system IPC, file descriptors System invokes continuation at session resumption  Generated in response to disconnection notification

6 An Example: SSH Session Remote log in / port forwarding  Provides secure remote communication  Data compressed and encrypted as a stream SSHd shell emacs X app server client ssh

7 Conserving Session Resources SSHd emacs Socket Buffers Network Ports Open Files Kernel Resources dedicated to active session >> Resources dedicated to suspended session Release system resources as well Continuation generation is recursive!

8 SSH Continuation Don’t suspend until it’s convenient  Process pending data, deliver to app or network Only a minimum of state to preserve  Auth, crypto, and compression state  Preserve IPC to child processes Notify child processes of disconnection  Tunneled apps share connectivity fate Added ~250 LOC in an afternoon

9 Continuation Efficiency Anecdotal evidence of size and speed SSHdFTPd 0 200 400 600 800 1000 1200 1400 1600 1800 2000 Memory Usage (KB) 0 50 100 150 200 250 300 Restart Latency (msec) SSHdFTPd System Resources Shared Pages Non-Shared Pages Startup Latency Session Overhead Session Continuation

10 Conclusion & Future Directions Continuations enable “suspend/resume”  Integrates well with session model  Support intelligent application adaptation  Enable system resource conservation Useful for mobility across hosts?  Continuations eliminate dependencies  An area for future exploration…


Download ppt "Enabling Internet “Suspend/Resume” with Session Continuations Alex C. Snoeren MIT Laboratory for Computer Science (with Hari Balakrishnan, Frans Kaashoek,"

Similar presentations


Ads by Google