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

Slides:



Advertisements
Similar presentations
RASPro is a secure high performance remote application delivery platform through a perfect combination of application hosting and application streaming.
Advertisements

Distributed System Structures Network Operating Systems –provide an environment where users can access remote resources through remote login or file transfer.
Socket Layer Security. In this Presentation: need for web security SSL/TLS transport layer security protocols HTTPS secure shell (SSH)
1 Cheriton School of Computer Science 2 Department of Computer Science RemusDB: Transparent High Availability for Database Systems Umar Farooq Minhas 1,
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Precept 3 COS 461. Concurrency is Useful Multi Processor/Core Multiple Inputs Don’t wait on slow devices.
User Level Interprocess Communication for Shared Memory Multiprocessor by Bershad, B.N. Anderson, A.E., Lazowska, E.D., and Levy, H.M.
Dawson R. Engler, M. Frans Kaashoek, and James O'Tool Jr.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Telnet/SSH Tim Jansen, Mike Stanislawski. TELNET is short for Terminal Network Enables the establishment of a connection to a remote system, so that the.
3.5 Interprocess Communication
SSH : The Secure Shell By Rachana Maheswari CS265 Spring 2003.
Scuola Superiore Sant’Anna Project Assignments Operating Systems.
Hands-On Microsoft Windows Server 2003 Administration Chapter 5 Administering File Resources.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
Chapter 4.1 Interprocess Communication And Coordination By Shruti Poundarik.
Fundamentals of Python: From First Programs Through Data Structures
File Transfer Protocol (FTP)
John Degenhart Joseph Allen.  What is FTP?  Communication over Control connection  Communication over Data Connection  File Type  Data Structure.
MCTS GUIDE TO MICROSOFT WINDOWS 7 Chapter 14 Remote Access.
1 Microsoft Windows NT 4.0 Authentication Protocols Password Authentication Protocol (PAP) Challenge Handshake Authentication Protocol (CHAP) Microsoft.
SSH Secure Login Connections over the Internet
Ch 1. Mobile Adaptive Computing Myungchul Kim
TCP Mobility/Splicing Francis Chang Systems Software Lab OGI.
Chapter 4: Core Web Technologies
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
Distributed File Systems
Network Security SSH Tunneling David Funk Matt McLaughlin Systems Administrators Computer Systems Support COE, University of Iowa.
KONOE, a toolkit for an object- oriented online environment, with Gate Package M.Abe,Y.Nagasaka,F.Fujiwara, T.Tamura,I.Nakano,H.Sakamoto, Y.Sakamoto,S.Enomoto,
Session-Based Mobility An End-to-End Approach Alex C. Snoeren MIT Laboratory for Computer Science (with Hari Balakrishnan, Frans Kaashoek, and Jon Salz)
VNC Greg Fankhanel Jessica Nunn Jennifer Romero. What is it? Stands for Virtual Network Computing It is remote control software which allows you to view.
Behzad Akbari Spring 2012 (These slides are based on lecture slides by Lawrie Brown)
LWIP TCP/IP Stack 김백규.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Network Security Essentials Chapter 5
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
CSCE 815 Network Security Lecture 26 SSH and SSH Implementation April 24, 2003.
MODULE I NETWORKING CONCEPTS.
1 Mail Saurus Reference:“Usable Encryption Enabled by AJAX” J.F. Ryan; B.L. Reid; Networking and Services, ICNS '06. Digital Object Identifier /ICNS
Chapter 4.1 Message Passing Communication Prepared by: Karthik V Puttaparthi
BASIC INTERNET PROTOCOLS: http, ftp, telnet. Mirela Walczak.
Reconsidering Internet Mobility Alex C. Snoeren, Hari Balakrishnan, M. Frans Kaashoek MIT Laboratory for Computer Science.
Transparent Mobility of Distributed Objects using.NET Cristóbal Costa, Nour Ali, Carlos Millan, Jose A. Carsí 4th International Conference in Central Europe.
 Distributed file systems having transaction facility need to support distributed transaction service.  A distributed transaction service is an extension.
LEGS: A WSRF Service to Estimate Latency between Arbitrary Hosts on the Internet R.Vijayprasanth 1, R. Kavithaa 2,3 and Raj Kettimuthu 2,3 1 Coimbatore.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Middleware Services. Functions of Middleware Encapsulation Protection Concurrent processing Communication Scheduling.
{ Cloud computing. Exciting and relatively new technologies allow computing to be a part of our everyday lives. Cloud computing allows users to save their.
Operating Systems Proj.. Background A firewall is an information technology (IT) security device which is configured to permit, deny or proxy data connections.
Intel Research & Development ETA: Experience with an IA processor as a Packet Processing Engine HP Labs Computer Systems Colloquium August 2003 Greg Regnier.
Phil Hurvitz Securing UNIX Servers with the Secure.
Fine-Grained Failover Using Connection Migration Alex C. Snoeren, David G. Andersen, Hari Balakrishnan MIT Laboratory for Computer Science.
NETWORKING FUNDAMENTALS. Network+ Guide to Networks, 4e2.
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
XWN740 X-Windows Configuring and Using Remote Access (Chapter 13: Pages )‏
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Cloud Computing Computer Science Innovations, LLC.
Pony – The occam-π Network Environment A Unified Model for Inter- and Intra-processor Concurrency Mario Schweigler Computing Laboratory, University of.
1 Example security systems n Kerberos n Secure shell.
Microsoft Windows NT 4.0 Authentication Protocols
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
WSU Linux Users Group By Haven Hash
Reliable Sockets: A Foundation for Mobile Communications
XWN740 X-Windows Configuring and Using Remote Access
Linternals SysInternals for Linux
Introduction to Operating Systems
RASPro is a secure high performance remote application delivery platform through a perfect combination of application hosting and application streaming.
Presentation transcript:

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

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

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

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

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

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

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!

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

Continuation Efficiency Anecdotal evidence of size and speed SSHdFTPd Memory Usage (KB) Restart Latency (msec) SSHdFTPd System Resources Shared Pages Non-Shared Pages Startup Latency Session Overhead Session Continuation

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…