550 likes | 565 Vues
Supporting Communication for Multihomed Mobile Devices. Prof. Robin Kravets Mobius Group Dept. of Computer Science University of Illinois at Urbana-Champaign. Communication resources Multiple choices No one perfect technology Range vs. Capacity vs. Power Dynamically changing
E N D
Supporting Communication for Multihomed Mobile Devices Prof. Robin Kravets Mobius Group Dept. of Computer Science University of Illinois at Urbana-Champaign
Communication resources Multiple choices No one perfect technology Range vs. Capacity vs. Power Dynamically changing Need information about availability Coverage varies Transparent support from the network Goal Support mobile devices Requirements Connectivity Configuration Performance Supporting Communication for Mobile Nodes Cellular Network Satellite Network GPS Network Packet Radio Network Wireless LAN BlueTooth Infrared Wireless LAN In-Building Infrared HomeRF
Challenge Mobile hosts have multiple network interfaces Coverage areas of different technologies overlap Mobile hosts are able to use network access points from different technologies Goal Intelligent use of multiple interfaces Approach Focus on supporting communication for a single node IR WLAN Cell Supporting Communication for Mobile Nodes
Network Layer Connectivity Configuration Expose available interfaces Contact Networking Transport Layer Performance Expose potential configurations Resource Management Efficient use of resources in the current environment Corvus Link Layer Mobility Support Throughout the Protocol Stack Application Control: Corvus Transport: Network: Contact Networking
Contact Networking • Environment • Mobile node • Multiple interfaces • Unknown environment • Goal • Simple efficient communication with other devices in the current environment, as well as with other devices in the Internet • People • Casey Carter, UIUC • Jean Tourrilhes, HP Labs
Existing Solutions Focus on communication with devices in the Internet Remote communication Inefficient for communication with local devices Requires internet access Requires complex configuration Local vs. Remote Communication Remote Communication MIP FA MIP HA MN MIP FA MIP HA MN Contact Networking Local Communication MIP FA MIP HA MN MIP FA MIP HA MN
Problems of Remote Communication • Long-haul wireless is inherently slower and more expensive • Two users meet in the desert • Can’t use MobileIP without Internet • Can’t use DNS without Internet • How about manual configuration? • Complicated IP and link layer configuration • Fails the “Mom” test • Solution? Just use a floppy! Contact Networking
Goals of a Localized Mobility System • Infrastructureless • Internetworking without the Internet • Transparent • User ignorant of number and type of interfaces • Transparent local/remote communication • Rendezvous, ZeroConf • Simple as beaming a business card between PDAs Contact Networking
Transport IP Link Transport IP Link Realizing a Localized Mobility System • Challenge • Link-layer connections are changing dynamically • Goal • Maintain an application-layer flow across connection lifetimes • A flow is an end-to-end bit pipe between transports • A channel is the end-to-end network-layer pipe through which transport-layer flows propagate • A connection is a link-layer pipe through which channels propagate Contact Networking Flow Channel Connection Connection Link
Requirements forLocalized Communication • Neighbor Discovery • Name Resolution • On-Demand Interface Binding • IP Autoconfiguration • Neighbor Routing • Channel Management • Infrastructure Access Contact Networking
Presence Mobile node needs to know what neighbors it can access through its interfaces Link-layer dependence Discovery mechanism is necessarily specific to each link layer Alice Bob Requirements:Neighbor Discovery Who’s there? Contact Networking Who’s there?
Simplicity Users want to use names instead of addresses even when DNS is not available Transparency Local and remote names should be the same Alice Bob Requirements:Name Resolution It’s Bob! Contact Networking It’s Alice!
Binding is configuration to select the link-layer medium ESSID in IEEE 802.11 Saving Power Desirable to keep interfaces in low-power state Flexibility Can only bind to one medium at a time Alice Bob Requirements:On-Demand Interface Binding Contact Networking I want to talk to Alice!
IP needs an address Can’t rely on DHCP Manual config is worse Fast and persistent Link-local IP addresses are insufficient Alice Bob Requirements:IP Autoconfiguration Alice’s IP Contact Networking Bob’s IP
Route support Tell IP who is at the other end of the connection Bidirectional Ensure symmetric routing Alice Bob Requirements:Neighbor Routing I am connected to Bob! Bob via Bob’s IP Contact Networking Alice via Alice’s IP I am connected to Alice!
Multiple Neighbors Orchestrate simultaneous channels to several neighbors Multiple Interfaces Choose between potential connections to a neighbor Switch channel when connection breaks Proactively switch to better connections Switch my connection to Bob to WLAN. Alice Carol Bob Requirements:Channel Management Contact Networking I lost my connection to Alice!
Local is better… Prefer local communication when possible But people move Seamlessly transition between local and remote communication Switch my channel to Bob to remote communication. Alice Internet Bob Requirements:Infrastructure Access Contact Networking I lost my last connection to Alice!
Approach:Contact Networking (CN) • Architected as several modules in two sub-layers • Link-layer independent part (in IP layer) • Link-layer specific part (in Link layer) Applications Transports IP Route Table CN Route Control Database Contact Networking Link Layers Interface Management CNS ND Physical Layers
What Transport sees: A B C Architecture:Database Neighbors Interfaces Links Paths A Contact Networking B C
Architecture:Interface Management • Watch for interface plugging • Inform higher layers of new interfaces, or • Connections broken by interface removal • Monitor traffic to determine connection idleness • Don’t waste battery on idle connections Contact Networking
Architecture:IP Autoconfiguration • Extend the MobileIP home address approach • Use same Globally Routable IP (GRIP) address on all interfaces • Permanent and statically configured node ID • Sidesteps the addressing problem • Distinct IP addresses are unnecessary for one hop communication • Infrastructure access still needs topologically valid addresses Contact Networking
Architecture: Contact Naming System (CNS) • Transparency to Users • Every node uses its fully qualified DNS name for CNS • The name DNS resolves to its GRIP • Local and remote names are equivalent • Transparency to Applications • CNS and DNS use the same name resolution API Contact Networking
Contact Naming System (CNS) • Nodes are identified by CNS records • Name • GRIP • Optional service information • Browsing is possible with aliases • “any”, “all” • Link-layer specific name suffixes • “any.irda” enables IR selection Contact Networking
Architecture:Neighbor Discovery • Transport • Nodes Query/Advertise CNS records using link-layer specific mechanisms • Active or On-demand discovery • Name resolution requests can trigger neighbor discovery • Caching • CNS record is coupled with neighbor knowledge • Discovery adds new Path and Neighbor to Database Contact Networking
Architecture:Route Control • The brains of the operation • Controls other modules • Several primary responsibilities • On-demand binding • Neighbor routing • Channel control • Internet access Contact Networking
Route Control:Neighbor Routing • Catch demand indications • Queue packets waiting for connection establishment • Create IP routes to reflect link-layer connectivity • Routing is GRIP-specific • Enables transport-layer persistence Contact Networking
Treat the Internet as a single virtual neighbor Virtual paths overlay actual FA paths Map remote access into virtual neighbor access Virtual Neighbor Route Control:Infrastructure Access Internet Contact Networking FA Path Virtual Path
Route Control:Channel Management • Policy • Chooses which path to connect to a neighbor • Decides when to proactively switch connections • Power Conservation • Responds to idleness indications by disconnecting paths and unbinding interfaces Contact Networking
Example • The misadventures of hypothetical grad student, Prashant • Three examples show Contact Networking performing • Local communication • Local communication with handoff • Infrastructure access Contact Networking
Soda Chip MN Example Network Internet DNS /. Contact Networking
Prashant loves FritosTM Performs purchase transaction with “any.irda” CNS engages ND to obtain C’s GRIP First data packet activates path, binds/connects IR Chip MN Example:Purely Local Communication Contact Networking
CokeTM goes well with FritosTM As before, but with the soda machine Prashant pockets the MN, blocking IrDA Channel management switches paths Soda MN Example: Local Communication with Handoff Contact Networking
Example:Infrastructure Access • On the way back to the office, Prashant decides to check the headlines on Slashdot • This is, of course, challenging with a bag of FritosTM in one hand and a can of CokeTM in the other Contact Networking
MN Example:Infrastructure Access Internet DNS /. Contact Networking
Linux 2.4 Kernel Added support for wireless events Three link layers IrDA link-layer notifications 802.11/Ethernet link-layer notifications Virtual Dynamics MobileIP Almost complete Only proactive discovery No policy support Static preference order of link layers No proactive channel switching Prototype Implementation Contact Networking
Contact Networking extends traditional mobility support with the notion of localized mobility Internetworking without the Internet Benefits No changes to IP Link-specific mechanisms Light-weight discovery Link-failure detection Link-specific optimizations Simple setup No infrastructure access Simultaneous use of multiple interfaces Future Work Integration of Co-Link 802.11 scanning Bluetooth Flexible Network Support Inverse Multiplexing On-demand ad hoc cloud formation Integration with resource management Conclusion Contact Networking
Corvus: A Context-Aware Mobile System • Goals • Use of context by the mobile system to support resource management • Inclusion of system-level resources as context • Challenges • System resources are shared • Context involving systems resources has complex dependencies • Context involving systems resources must have access control • People • Al Harris, UIUC
Context and Its Use • What is context? • Information • Ex: time, location, available bandwidth • What changes when we consider system resources as context? • Dependencies between units of context become more complex • Ex: available bandwidth depends on what applications are using it • Access control to context is needed • Ex: some context may be private to an application or the operating system • Simple interface is needed • Ex: applications should not need to know system configurations to use context Corvus
Context Structure • Defines interface between context user and context provider • Types • Simple • Single unit of information • Ex.:Time, amount of bandwidth available • Complex • Multiple units of information • Ex.: GPS coordinates, who is present in the room Corvus
Means by which context is acquired Types Basic Acquired from a single source Ex.: Time Aggregate The union multiple units Ex.: Bandwidth usages of applications Fused Derived from other units Ex.: Amount of Bandwidth Available Context Acquisition Corvus
How applications affect context Types Immutable Applications can’t change Ex: Time of day Direct-mutable Application directly change Ex: Desired bandwidth Indirect-mutable Applications’ actions can affect the context Ex: Amount of bandwidth available on the system Context Mutability APP Corvus APP APP
Context Dependency • Problem • Context represents dynamically changing information • Goal • Capture the relationships between context to track changes • Approach • Context dependency graph (CDG) Corvus
Context in the middle of the graph only needs to be recalculated when a leaf changes. Context Dependency Graphs Example CDG for a Content Filtering Application Aggregate What Data to Send Fused Basic Amount of Data to send Presentation Data Unit Sizes Corvus Available Bandwidth Time Constraints Available Interfaces Channel Quality Application A Channel Usage Application B Channel Usage
Context Access Control • Accessing Context • Current approach: Context Blackboard • Globally readable • Globally writable • Problem • Applications should not be able to access and/or alter all context • Approach • Extended Context Blackboard Corvus
Extended Blackboard • Extended Blackboard contains access control areas: Global, Application specific and OS specific Read: Global Write: Global Application A Application B Corvus Read: Global Write: OS Read: Global Write: Application A Read: Global Write: Application B Public Private Read: Application A/OS Write: Application A Read: Application B/OS Write: Application B Read: OS Write: OS Read: Application A/OS Write: OS Read: Application B/OS Write: OS
Example Scenario • Video Feeds from two people • A friend at home • A colleague at work • Presence Detection utility running at both locations • Need to view feed from colleague when available Corvus
Example Scenario Video Source 1 802.11 Internet Mobile Node MobileIP Foreign Agent Corvus Video 1 Time Public Private BW Needed: 5 - 25fps Priority Video 1: Med BW Available: 25fps
Example Scenario Video Source 1 802.11 Internet Mobile Node MobileIP Foreign Agent Video Source 2 Corvus Video 1 Video 2 Time Public Private BW Needed: 5 - 25fps BW Needed: 15 - 25fps Video 1: Med Video 2: High BW Available: 5fps BW Available: 25fps
Example Scenario Video Source 1 802.11 Internet Mobile Node MobileIP Foreign Agent Video Source 2 Corvus Video 1 Video 2 Time Public Private BW Needed: 5 - 25fps BW Needed: 15 - 25 fps Video 1: Med Video 2: High BW Available: 0fps BW Available: 15fps
Comparison • Standard Kernel and resource management Corvus