Slides: Supporting Communication for Multihomed Mobile

Download Report

Transcript Slides: Supporting Communication for Multihomed Mobile

Supporting Communication for
Multihomed Mobile Devices
Prof. Robin Kravets
Mobius Group
Dept. of Computer Science
University of Illinois at UrbanaChampaign
Supporting Communication for
Mobile Nodes

Communication resources

Multiple choices



Transparent support from the
network
Goal


Need information about
availability
Coverage varies


GPS Network
Dynamically changing


No one perfect technology
Range vs. Capacity vs. Power
Cellular
Network
Satellite
Network
Support mobile devices
Wireless
LAN
BlueTooth
Infrared
Requirements



Connectivity
Configuration
Performance
Wireless
LAN
In-Building
Infrared
HomeRF
Packet
Radio
Network
Supporting
Communication for Mobile Nodes

Challenge




IR
Goal


Mobile hosts have multiple
network interfaces
Coverage areas of different
technologies overlap
Mobile hosts are able to use
network access points from
different technologies
Intelligent use of multiple
interfaces
Approach

Focus on supporting
communication for a single
node
WLAN
Cell
Mobility Support Throughout
the Protocol Stack

Network Layer





Transport Layer



Connectivity
Configuration
Expose available interfaces
Contact Networking
Performance
Expose potential
configurations
Resource Management


Efficient use of resources in
the current environment
Corvus
Application
Control:
Corvus
Transport:
Network:
Contact Networking
Link Layer
Contact Networking

Environment




Goal


Mobile node
Multiple interfaces
Unknown environment
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
Local vs. Remote
Communication

Existing Solutions
Contact Networking

Focus on
communication with
devices in the Internet




Remote
communication
Inefficient for
communication with
local devices
Requires internet
access
Requires complex
configuration
Remote Communication
MN
MIP
FA
MIP
HA
MN
MIP
FA
MIP
HA
Local Communication
MN
MIP
FA
MIP
HA
MN
MIP
FA
MIP
HA
Problems of
Remote Communication
Contact Networking


Long-haul wireless is inherently slower and
more expensive
Two users meet in the desert



How about manual configuration?



Can’t use MobileIP without Internet
Can’t use DNS without Internet
Complicated IP and link layer configuration
Fails the “Mom” test
Solution? Just use a floppy!
Goals of a
Localized Mobility System

Infrastructureless
Contact Networking


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
Realizing a
Localized Mobility System

Challenge

Contact Networking

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
Transport
Flow
Transport
IP
Channel
IP
Link
Connection
Link
Connection
Link
Requirements for
Localized Communication

Contact Networking






Neighbor Discovery
Name Resolution
On-Demand Interface Binding
IP Autoconfiguration
Neighbor Routing
Channel Management
Infrastructure Access
Requirements:
Neighbor Discovery

Presence
Contact Networking


Mobile node needs to
know what neighbors it
can access through its
interfaces
Alice
Who’s there?
Link-layer dependence

Discovery mechanism
is necessarily specific
to each link layer
Who’s there?
Bob
Requirements:
Name Resolution

Simplicity
Contact Networking


Users want to use
names instead of
addresses even
when DNS is not
available
Alice
It’s Bob!
Bob
It’s Alice!
Transparency

Local and remote
names should be
the same
Requirements:
On-Demand Interface Binding
Contact Networking

Binding is
configuration to select
the link-layer medium


Alice
Saving Power


ESSID in IEEE 802.11
Desirable to keep
interfaces in low-power
state
Flexibility

Can only bind to one
medium at a time
Bob
I want to talk
to Alice!
Requirements:
IP Autoconfiguration
Contact Networking

IP needs an
address



Can’t rely on DHCP
Manual config is
worse
Alice
Alice’s IP
Fast and persistent

Link-local IP
addresses are
insufficient
Bob’s IP
Bob
Requirements:
Neighbor Routing

Route support
Contact Networking


Tell IP who is at the
other end of the
connection
I am
connected to
Bob!
Bidirectional

Ensure symmetric
routing
Alice
Bob via
Bob’s IP
Alice via
Alice’s IP
I am
connected to
Alice!
Bob
Requirements:
Channel Management

Multiple Neighbors
Contact Networking


Orchestrate
simultaneous channels
to several neighbors
Alice
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.
Carol
Bob
I lost my
connection to
Alice!
Requirements:
Infrastructure Access

Local is better…
Contact Networking


Prefer local
communication
when possible
But people move

Seamlessly
transition between
local and remote
communication
Alice
Switch my
channel to Bob
to remote
communication
.
Internet
Bob
I lost my last
connection to
Alice!
Approach:
Contact Networking (CN)
Contact Networking

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
Database
Link
Layers CNS
ND
Route
Control
Interface
Management
Physical Layers
Architecture:
Database
Neighbors
Contact Networking
Interfaces
A
Links
Paths
What Transport sees:
B
A
C
B
C
Architecture:
Interface Management

Watch for interface plugging
Contact Networking



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
Architecture:
IP Autoconfiguration

Extend the MobileIP home address
approach
Contact Networking



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
Architecture: Contact Naming
System (CNS)

Transparency to Users
Contact Networking

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 Naming System
(CNS)

Nodes are identified by CNS records
Contact Networking




Name
GRIP
Optional service information
Browsing is possible with aliases


“any”, “all”
Link-layer specific name suffixes

“any.irda” enables IR selection
Architecture:
Neighbor Discovery

Transport
Contact Networking


Active or On-demand discovery


Nodes Query/Advertise CNS records using linklayer specific mechanisms
Name resolution requests can trigger neighbor
discovery
Caching

CNS record is coupled with neighbor knowledge

Discovery adds new Path and Neighbor to Database
Architecture:
Route Control

The brains of the operation
Contact Networking


Controls other modules
Several primary responsibilities




On-demand binding
Neighbor routing
Channel control
Internet access
Route Control:
Neighbor Routing

Catch demand indications
Contact Networking


Queue packets waiting for connection
establishment
Create IP routes to reflect link-layer
connectivity


Routing is GRIP-specific
Enables transport-layer persistence
Route Control:
Infrastructure Access

Contact Networking


Treat the Internet as a
single virtual neighbor
Virtual paths overlay
actual FA paths
Map remote access
into virtual neighbor
access
FA Path
Virtual Path
Virtual
Neighbor
Internet
Route Control:
Channel Management

Policy
Contact Networking



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
Example
Contact Networking


The misadventures of hypothetical
grad student, Prashant
Three examples show Contact
Networking performing



Local communication
Local communication with handoff
Infrastructure access
Contact Networking
Example Network
Internet
DNS
/.
Soda
Chip
MN
Example:
Purely Local Communication
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: Local
Communication with Handoff
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:
Infrastructure Access
Contact Networking


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
Example:
Infrastructure Access
Internet
DNS
/.
MN
Prototype Implementation

Linux 2.4 Kernel
Contact Networking


Added support for
wireless events
Three link layers

IrDA


Almost complete


link-layer notifications
Virtual

Dynamics MobileIP
Only proactive
discovery
No policy support

link-layer notifications
802.11/Ethernet




Static preference
order of link layers
No proactive
channel switching
Conclusion

Contact Networking extends
traditional mobility support with
the notion of localized mobility
Contact Networking


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
Corvus:
A Context-Aware Mobile System

Goals



Challenges




Use of context by the mobile system to support resource
management
Inclusion of system-level resources as context
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?


Corvus

Information
Ex: time, location, available bandwidth
What changes when we consider system resources
as context?

Dependencies between units of context become more
complex


Access control to context is needed


Ex: available bandwidth depends on what applications are
using it
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
Context Structure


Defines interface between context user and
context provider
Types
Corvus

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
Context Acquisition


Means by which context is
acquired
Types

Basic
Corvus



Aggregate



Acquired from a single
source
Ex.: Time
The union multiple units
Ex.: Bandwidth usages of
applications
Fused


Derived from other units
Ex.: Amount of Bandwidth
Available
Context Mutability


How applications affect
context
Types

Immutable

Corvus


Direct-mutable



Applications can’t change
Ex: Time of day
APP
Application directly change
Ex: Desired bandwidth
APP
Indirect-mutable


Applications’ actions can
affect the context
Ex: Amount of bandwidth
available on the system
APP
Context Dependency

Problem
Corvus


Goal


Context represents dynamically changing
information
Capture the relationships between
context to track changes
Approach

Context dependency graph (CDG)
Context Dependency Graphs
Corvus

Context in the
middle of the graph
only needs to be
recalculated when
a leaf changes.
Example CDG for a Content
Filtering Application
What Data to
Send
Aggregate
Fused
Basic
Presentation
Data Unit
Sizes
Time
Constraints
Available
Interfaces
Amount of
Data to send
Available
Bandwidth
Channel Application Application
Quality A Channel B Channel
Usage
Usage
Context Access Control

Accessing Context


Corvus


Problem


Current approach: Context Blackboard
Globally readable
Globally writable
Applications should not be able to access and/or
alter all context
Approach

Extended Context Blackboard
Extended Blackboard
Corvus

Extended Blackboard contains access control
areas: Global, Application specific and OS specific
Read: Global
Write: Global
Read: Global
Write: OS
Read: OS
Write: OS
Application A
Application B
Read: Global
Write: Application A
Read: Global
Write: Application B
Read: Application A/OS
Write: Application A
Read: Application B/OS
Write: Application B
Read: Application A/OS
Write: OS
Read: Application B/OS
Write: OS
Public
Private
Example Scenario

Video Feeds from two people

Corvus



A friend at home
A colleague at work
Presence Detection utility running at
both locations
Need to view feed from colleague
when available
Example Scenario
Video
Source 1
802.11
Corvus
Mobile
Node
MobileIP
Foreign
Agent
Internet
Video 1
Time
Public
BW Needed: 5 - 25fps
Priority
Video 1: Med
BW Available: 25fps
Private
Example Scenario
Video
Source 1
802.11
Corvus
Mobile
Node
MobileIP
Foreign
Agent
Video 1
Internet
Video
Source 2
Video 2
Time
Video 1: Med
Video 2: High
Public
BW Needed: 5 - 25fps
BW Needed: 15 - 25fps
BW Available: 5fps
BW Available: 25fps
Private
Example Scenario
Video
Source 1
802.11
Corvus
Mobile
Node
MobileIP
Foreign
Agent
Video 1
Internet
Video
Source 2
Video 2
Time
Video 1: Med
Video 2: High
Public
BW Needed: 5 - 25fps
BW Needed: 15 - 25 fps
BW Available: 0fps
BW Available: 15fps
Private
Comparison

Standard Kernel and resource management
Frames per Second
Corvus
35
Collegue
Friend
30
25
20
15
10
5
0
0
5
10
15
20
25
Time (min)
30
35
40
Comparison

Priority based resource management
Frames per Second
Corvus
35
Collegue
Friend
30
25
20
15
10
5
0
0
5
10
15
20
25
Time (min)
30
35
40
Comparison

Corvus performance
Frames per Second
Corvus
35
30
Collegue
Friend
25
20
15
10
5
0
0
5
10
15
20
25
Time (min)
30
35
40
Conclusions

Corvus:

Corvus

Extended categorization


Capture and understand context relationships
Context Dependency Graphs


Context distribution and resource management
framework
Represent the application-context and contextcontext relationships
Extended Blackboard

Provided access control
Future Directions

Policy Enforcement

Corvus


Make sure applications are well-behaved
Ex.: Keep applications from trying to use
more bandwidth then Corvus allots
Group Management in the Blackboard

Access area for context to be shared
between a group of applications, but not
globally
Research in Mobile and
Wireless Networking
Robin Kravets
Mobius Group
[email protected]
http://mobius.cs.uiuc.edu