Reconsidering Internet Mobility - PowerPoint PPT Presentation

About This Presentation
Title:

Reconsidering Internet Mobility

Description:

Resynchronize transport protocols. Detect and handle disconnectivity ... Support transcoding, different transport protocol, etc. Summary ... – PowerPoint PPT presentation

Number of Views:20
Avg rating:3.0/5.0
Slides: 17
Provided by: alexcs
Learn more at: http://wind.lcs.mit.edu
Category:

less

Transcript and Presenter's Notes

Title: Reconsidering Internet Mobility


1
ReconsideringInternet Mobility
  • Alex C. Snoeren,
  • Hari Balakrishnan, M. Frans Kaashoek
  • MIT Laboratory for Computer Science

2
A Model of Mobility
  • Hosts change attachment point
  • Move from home, to office, to
  • Use multiple physical technologies
  • Mobility events are rare
  • When compared with packet RTTs
  • Long Running Applications
  • SSH Tunnels
  • Streaming apps

3
Services Required
  • Locate the mobile host or service
  • Preserve communication
  • Support changes in network attachment
  • Expect and support disconnection
  • Gracefully detect lack of connectivity
  • Conserve resources during disconnection
  • Reconnect quickly and efficiently
  • Keep the application informed!

4
Naming is not Enough
  • Naming can abstract location details
  • E.g., Mobile IP uses home IP address
  • But specifies both timing and granularity
  • Mobility is more than a naming problem
  • Apps need different semantics (IP, DNS)
  • Handle resolution failures (disconnection)
  • Lookup granularity is application specific
  • Dont prescribe a naming scheme!

5
The Problem with Proxies
  • Proxies provide transparency
  • Applications oblivious to changes
  • Must highly engineer and place well


6
Migrate Architecture
Correspondent Host
xxx.xxx.xxx.xxx
7
Positioning Mobility Services
Application
Generality
User space
Session Layer
Kernel
Transport Protocol
Network Layer
Link Layer
Transparency
8
Migrate Approach
  • Provide services in a Session Layer
  • Applications define what a session is
  • A single RPC-like packet exchange
  • A bundle of semantically-related streams
  • Or any combination in between
  • Manage sessions as a group
  • Resources can be associated with network
    activity, and allocated accordingly
  • Support is strictly optional

9
Session Layer Services
  • Provide robust communication across changes of
    end-point addresses
  • Resynchronize transport protocols
  • Detect and handle disconnectivity
  • Buffer, discard, or distill connections
  • Manage related system resources
  • Memory, timers, files, devices
  • Marshall and store session state

10
A Conference Session
User space
Kernel
Session Layer
Application Resources
System Resources
11
Migrate Framework
Application
Session Layer
12
Robust Communication
  • Handle disconnection
  • Block or buffer sockets
  • of reliable connections
  • Proactively discard
  • unreliable datagrams
  • Restart transport layers?
  • Rebind network endpoints
  • Replay buffered data

Application
Session Layer
13
Disconnection and Hibernation
  • Monitor network connectivity
  • Exploit transport/network layer signals
  • Support application hints
  • Interface with network monitoring agents
  • Support application-dependent behavior
  • Default handlers can spool to disk
  • Virtualize remote services
  • Invoke application-specific handlers

14
Resource Management
  • Notify application to hibernate
  • Blocked apps can be swapped out
  • Shared files and devices can be released
  • System resources can be reallocated
  • Similar to Resource Containers
  • Timers, locks, semaphores released
  • Buffer space drained/paged

15
State Management
  • Enable state migration
  • Associate application and system state
  • Transfer from kernel to app, host to host
  • Context management
  • State may depend on path characteristics
  • Support transcoding, different transport
    protocol, etc.

16
Summary
  • Mobility services are session oriented
  • Often several related network activities
  • Naming neither necessary nor sufficient
  • Applications have different needs
  • Resource management is key
  • Especially with large numbers of hibernated
    sessions
  • Sessions enable state management

17
The Session API
  • Session creation
  • Applications specify resources and end points
    (e.g. TCP connections, UDP port/address pairs)
  • Connectivity Monitor
  • Status can be signaled from above (application),
    below (transport stack), or separate monitor
  • Callback Register
  • Applications can register to be notified on
    disconnection, reconnection, and/or changes in
    network attachment point

18
Supporting Disconnection
  • Current approaches
  • Generally do not address disconnection
  • Proxies often assumed always connected
  • Our approach
  • Handle unexpected disconnections
  • Many disconnections are unplanned

19
Reconnection
  • Hosts contact correspondent peers
  • Lost hosts may force naming lookup
  • Session state is resynchronized
  • Transport sessions may need to be restarted
  • Application processing resumed
  • Notification of reconnection delivered
  • System resources are reallocated

20
Enabling graceful reconnection
  • Current approaches
  • Obscure network characteristics
  • Hide path dynamics resource availability
  • Our approach
  • Notify higher layers of changes
  • Enable application adaptation
  • Eliminate lower-layer dependence
  • Enable rebinding of network endpoints

21
A Model of Mobility
Move from home, to office, to coffee shop, across
multiple access technologies, all without
restarting applications.
Periods between movement gtgt Round Trip Times
Write a Comment
User Comments (0)
About PowerShow.com