Transcript ppt

Mobile Computing – A Distributed
Systems Perspective
Prof. Nalini
Venkatasubramanian
Department of Computer Science
University of California, Irvine
Outline
 The Future: Mobile and Pervasive Computing
 An Applications View
 A Content View
 Multimedia Content
 QoS Basics and End-to-end support
 A Systems View
Device, Operating System
Networks, Middleware
Application, Content
A Cross-Layer Approach to Systems Support
 Supporting Cross Cutting Concerns (Security, Reliability,
Heterogeneous Interoperability)
Pervasive Computing and
Communication
 Proliferation of devices
System support for multitude of smart (mobile) devices
that
• attach and detach from a distribution infrastructure
• produce a large volume of information at a high rate
• limited by communication and power constraints
 Require a customizable global networking backbone.
That can handle heterogeneous needs of applications
• Quality of Service (QoS), security, reliability
That can make effective use of the underlying infrastructure
 Intelligent Middleware is key to supporting application needs
in a highly dynamic environment
Distributed Mobile
Applications
In the last 5 years…..
 New devices w/ new capabilities
Data capture, storage, presentation
 New apps
Social networking,….
Multimedia applications, gaming, data capturing,
download/upload/streaming
Information seek/notification
 New network infrastructures
DTN, WiMax, UWB,…
 New computational infrastructure
Cloud computing, grids…
New problems and challenges…
Introduction
Mobile Ecosystem
Users
Applications
Networks
Mobile
Devices
Access Point WLAN
Cell Phone
Internet
ad hoc
network
BS
GSM or
CDMA
PDA
Laptop
Technology Incentive
Growth in computational capacity
MM workstations with audio/video processing capability
Dramatic increase in CPU processing power
Dedicated compression engines for audio, video etc.
Rise in storage capacity
Large capacity disks (several gigabytes)
Increase in storage bandwidth,e.g. disk array technology
Surge in available network bandwidth
high speed fiber optic networks - gigabit networks
fast packet switching technology
Enabler: Mobile
Communication Networks
 Cellular - GSM (Europe+), TDMA & CDMA (US)
FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services)
 Public Packet Radio - Proprietary
19.2 Kbps (raw), 9.6 Kbps (effective)
 Private and Share Mobile Radio
 Wireless LAN - wireless LAN bridge (IEEE 802.11)
Radio or Infrared frequencies: 1.2 Kbps-15 Mbps
 Paging Networks – typically one-way communication
low receiving power consumption
 Satellites – wide-area coverage (GEOS, MEOS, LEOS)
LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink)
Mobile Network
Architecture
Wireless network
characteristics
 Variant Connectivity
Low bandwidth and reliability
 Frequent disconnections
•
predictable or sudden
 Asymmetric Communication
Broadcast medium
 Monetarily expensive
Charges per connection or per message/packet
 Connectivity is weak, intermittent and expensive
Device Characteristics
Battery Power restrictions
Transmit/receive, disk spinning, display, CPUs,
memory consume power
Resource constraints
Mobile computers are resource poor
Reduce program size
Computation and communication load cannot be
distributed equally
Small screen sizes
Mobility Characteristics
 Location changes
• location management - cost to locate is added to communication
 Heterogeneity in services
bandwidth restrictions and variability
 Dynamic replication of data
• data and services follow users
 Querying data - location-based responses
 Security and authentication
 System configuration is no longer static
Challenges
Application Context
System support for multitude of components
Attach and detach from a distributed infrastructure  Increasing QoS., security, reliability demands
Deal with large vol. of information at a high rate Soft Real Time Constraints
Changing global system state
Support for traditional media (text, images) and
continuous media (audio/video)
Synchronization (e.g. lip sync., floor control)
Challenges
Need high degree of “network awareness”
and “customizability”
congestion rates, mobility patterns etc.
QoS driven resource provisioning
Heterogeneous networks
Heterogeneous devices
Limited battery lifetime
Size/weight limitations
Computation/Communication
constraints
Mobile Multimedia – Rich Media
applications on mobile devices
OBJECTIVE : Stream rich multimedia content at highest possible quality (user experience) over
wired and wireless networks
Low-power
mobile device
Video stream
Wide Area
Network
MEDIA SERVER
Wireless
Network
Access point
Video request
Challenges
• Soft Real time Requirements
• High demands on CPU / Network
• Loss in performance directly affects user perception
Opportunities
• Predictable regular behavior allows for interesting optimizations and
adaptations
Multimedia Information
Systems: Challenges
Sheer volume of data
Need to manage huge volumes of data
Timing requirements
among components of data computation and communication.
Must work internally with given timing constraints - real-time
performance is required.
Integration requirements
need to process traditional media (text, images) as well as
continuous media (audio/video).
Media are not always independent of each other - synchronization
among the media may be required.
High Data Volume of
Multimedia Information
Speech
8000 samples/s
8Kbytes/s
CD Audio
44,100 samples/s, 2
bytes/sample
176Kbytes/s
Satellite
Imagery
180X180 km^2
30m^2 resolution
NTSC Video
30fps, 640X480
pixels, 3bytes/pixel
600MB/image
(60MB
compressed)
30Mbytes/s
(2-8 Mbits/s
compressed)
Quality of Service in MM
Applications
QoS: A Design
Parameter for MM
Minor violations of
performance
requirements
Generally used to
express constraints on
Timing, availability,
reliability,security,
resource utilization
User
(Perceptual QoS)
Application
(Application QoS)
System
(Operating and Communication System)
(System QoS)
(Device QoS)
MM devices
(Network QoS)
Network
QoS Classes
 QoS Service Classes determine
reliability of offered QoS
utilization of resources
Guaranteed Service Class
QoS guarantees are provided based on deterministic and statistical QoS
parameter values.
Predictive Service Class
QoS parameter values are estimated and based on the past behavior of the
service
Best-effort Service Class
No guarantees or only partial guarantees provided
No QoS parameters are specified or some minimal bounds are given.
Supporting continuous
media: Approaches
Admission control
Provide different service classes
Fast storage and retrieval of Multimedia content
Optimized organization (placement) of multimedia
files on disk
Special disk scheduling algorithms
Efficient Memory Management
Sufficient buffers to avoid jitter
 Intelligent Caching
End-to-end QoS for Wired Applications
Usually achieved through QoS Brokers
Coordinates interactions between multiple sessions
with QoS needs
Typical Functions of a QoS broker
Resource Provisioning
Deal adaptively with incoming requests
Allocate server, network and client resources
Predictive and Adaptive Data Placement
Re(configure) data to service requests more efficiently
Must maintain resource allocation invariants
Supporting QoS in Mobile
Applications
 New challenges
Constantly changing system conditions
Network connectivity, user mobility
Device constraints
Energy, CPU, display, bandwidth
 This needs
 Provisioning, re-provisioning based on local conditions of wireless network
 Data Placement based on current and projected data access patterns
 Cross-layer awareness required
 Resource provisioning algorithms utilize current system resource availability
information to ensure that applications meet their QoS requirements
QoS-based resource
provisioning
 Provisioning Network and Server Resources Effectively
State information enables decision making for resource provisioning - e.g.
Routing, Scheduling and Placement
Maintaining accurate and current system information is important
 Existing Approaches
 In network : QoS Based Routing
 At Server : Server Load Balancing
 Future Middleware will support CPSS (Combined Path and Server
l
l : UF (l , r , n), DL 
Scheduling)
s1
l
l : BWavail
, DLl 
s1
O
s2
s3
s2
O
CD
s3
s : UF ( s1, r , n ), RSP
s

Data Placement in Mobile
Environments
Initial placement
 Design replication and intelligent
S1
data placement mechanisms that
 Ensure effective resource
management
 Ensure QoS for admitted clients
S2
S3
v1
v2
v5
v6
v1
v2
v3
v4
v1
v2
v3
v4
 Design caching mechanisms
 Partition data/processing between
mobile clients and infrastructure
S1
S2
S3
 Allows disconnected operation
v1
v2
v5
v6
v6
v5
 Efficient power management
v3
v4
v1
v2
v3
v4
After replication degree enforcement
Need for a Cross Layer
Approach
 Information exchange needed
To provide information good enough for resource provisioning tasks
such as admission control, load balancing etc.
Need an information collection mechanism that is :
• is aware of multiple levels of imprecision in data
• is aware of quality requirements of applications
• makes optimum use of the system (network and server)
resources
 Sample Parameters
Network link status, Data server capacity (Remote disk bandwidth,
Processor capacity), device constraints (battery power, memory
limitations)
Case Study: Power
Management
 Power Optimization in battery operated mobile
devices is a crucial research challenge
 Devices operate in dynamic distributed environments
 Power Management strategies need to be aware of
global system state and exploit it.
Misc.
NETWORK
CARD
CPU
DISPLAY
CPU
NIC
Display
Existing Work in Power
Optimization
• Flinn (ICDSP 2001), Yau (ICME 2002)
• Krintz, Wolski (ISLPED 2004)
• Noble (SOSP 97, MCSA 1999)
• Li (CASES 2002), Othman (1998)
• Ellis,
Vahdat
(IEEE
• Abeni
(RTSS
98)pervasive 05, Usenix 03, ASPLOS 02)
• Hao,
Nahrstedt
(ICMCS
99, Globecom
•Rudenko
( ACM
SAC 99,
99),HPDC
Satyanarayan
(2001) 01)
• Yuan (MMCN 03,04, SOSP 03, ACM MM 04),
• Rajkumar (03), Anand (Mobicom 03, Mobisys 04)
• DVS (Shin, Gupta, Weiser, Srivastava, Govil et. al.)
• DPM (Douglis, Hembold, Delaluz, Kumpf et. al.)
• Chandra (MMCN 04,02, USENIX 2002, ICPP 04)
• Shenoy (ACM MM 2002)
• Feeney, Nilson ( Infocom 2001)
Katz (IEICE
97) Multimedia 97)
• Soderquist
(ACM
• Azevedo (AWIA 2001)
• Hughes, Adve (MICRO 01, ICSA 01)
• Brooks (ISCA 2000), Choi (ISLPED 02)
• Leback (ASPLOS 2000), Microsoft’s ACPI
Quality of Service
Application/user feedback
DVS, DPM, Driver
Interfaces, system calls
User/Application
Network
Interface Card
Operating System
Architecture
(cpu, memory)
Network
Architecture
Power Optimization has been extensively researched
Limitations of Current
Approaches
 Limited co-ordination between the different system layers
• Address concerns at one or two system levels
• Make assumptions about adaptations at other system levels (lack
awareness)
 Device Centric
• Cannot exploit global system knowledge
Illustration
location)
What if new applications are started or
battery energy
changes?
(e.g. residual
congestion,
mobility,
Client
• Reactive Adaptations
 Lack of generalized framework
Server
Wired
Network
Proxy
Client
congestion
Wireless
Network
Client
Power-aware middleware
A power-cognizant distributed middleware framework can
o dynamically adapt to global changes
o co-ordinate techniques at different system levels
o maximize the utility (application QoS, power savings) of a low-power device.
o study and evaluate cross layer adaptation techniques for performance vs. quality vs. power
tradeoffs for mobile handheld devices.
Caching
Compression
Traffic Shaping
State Monitor
Compositing
Transcoding
Use proxy to dynamically
adapt to global changes
Execute Remote Tasks
Low-power
mobile device
Wide Area
Network
server
Wireless
Network
proxy
Use a Proxy-Based Architecture
Coordinate techniques
on device
Power-Aware Adaptive
Middleware
Quality of Service
Application/user feedback
Distributed Adaptation
Cross-Layer Adaptation
Power-Aware API
Distributed Adaptation
Cross-Layer Adaptation
Appl. specific Adaptation
User/Application
Middleware
• DYNAMO SYSTEM
Mohapatra et. al (ICN 05, ITCC 05, ACM
Middleware 04, DATE 04, ICDCS 03, MWCN 03,
ACM MM 03, RTAS/RTSS Workshops 03,
Estimedia 03, CIPC 03, ICDCS 01)
Operating System
Architecture
(cpu, memory)
Network
Architecture
Cross-Layer Approach
User/Application
network
Distributed Middleware
Middleware
Operating System
Architecture
Proxy
LOCAL
CROSS LAYER ADAPTATION
GLOBAL (End-to-End)
PROXY BASED ADAPTATION
1. Design end-to-end adaptations that
can exploit global state (network noise,
mobility patterns, device state etc.)
2. Use control information to notify
mobile device of adaptations
3. Adapt strategies on device
1.
Expose “state” information to
other layers
2. Design strategies at each layer to
dynamically adapt to changes at
other layers
device
Energy-Sensitive Video Transcoding for
Mobile devices
► We conducted a survey to subjectively assess human
perception of video quality on handhelds.
► Hard to programmatically identify video quality parameters
► We identified 8 perceptible video quality levels that produced noticeable
difference in power consumption (Compaq iPaq 3600)
VIDEO TRANSCODING PARAMETERS
QUALITY
Q1 (Like original)
Video transformation
parameters
SIF, 30fps, 650Kbps
Avg. Power
(Windows CE)
4.42 W
Avg. Power
(Linux)
6.07 W
Q2 (Excellent)
SIF, 25fps, 450Kbps
4.37 W
5.99 W
Q3 (Very Good)
SIF, 25fps, 350Kbps
4.31 W
5.86 W
Q4 (Good)
HSIF, 24fps, 350Kbps
4.24 W
5.81 W
Q5 (Fair)
HSIF, 24fps, 200Kbps
4.15 W
5.73 W
Q6(Poor)
HSIF, 24fps, 150Kbps
4.06 W
5.63 W
Q7 (Bad)
QSIF, 20fps, 150Kbps
3.95 W
5.5 W
Q8 (Terrible)
QSIF, 20fps,100kbps
3.88 W
5.38 W
Quality/Power Matrix for COMPAQ IPAQ 3600 ( Grand Theft Auto Action Video Sequence)
Energy-Sensitive Video Transcoding:
Visual Comparison
Quality 1
(like original)
Avg. Power : 6.24 W
Quality 4
(good)
Avg. Power : 5.81 W
Quality 7
(bad)
Avg. Power : 5.41 W
Parameters varying: frame size, bit-rate, frame rate
• Profile power for each quality
• Optimize system for each quality
Energy-Aware Video
Transcoding
Video Stream (QSTREAM)
Mobile
Device
Proxy
Residual Energy (ERES)
User defined Quality (Qthreshold)
12
QSTREAM
=
Max(Qi) such that
PSTREAM * T < ERES
QSTREAM > QTHRESHOLD
QSTREAM
= Video streamed by proxy
Qthreshold = Threshold quality level acceptable to the user
PSTREAM
= Avg. Power consumption for video playback
ERES
= Residual Energy of device
T
= Time of playback
Normalized Energy saved (%)
10
8
6
4
2
0
Q1
Q2
Q3
Q4
Q5
Q6
Energy-Aware Application
Adaptation
User
Profile
Negotiation
Application
QoS
Monitor
E-Q
profile Transcoder
Communication
Dynamo Middleware
Dynamo Middleware
CPU
NIC
Linux OS
NIC
Wireless
Network
Proxy
Wireless Network
DISPLAY
CPU
Mobile Device
Network Card Optimization
 Wireless NIC cards can operate in various power modes
 Avg. power consumption in sleep mode (0.184 W) whereas idle/receive modes
consume (1.34/1.435 W) respectively.
 NIC can be transitioned to sleep mode (high energy savings)
 Packets can get lost (quality drop)
 Adaptation
Proxy buffers video and sends it in bursts to the device
Control info added - when device should wake up
 Allows for long sleep intervals of the network card on device
Limitations
 Large bursts can result in high packet loss rates
 Access point and mobile device buffering limitations
Adaptation at Proxy
QSTREAM
=
Max(Qi) such that
PSTREAM * T < ERES
QSTREAM > QTHRESHOLD
Video Stream (QSTREAM)
# of frames, buffer size, quality
Proxy
Residual Energy, Quality threshold
+ Noise (SL), Buffer capacity (Bf),
Decode rate (Fd)
Set local buffer size based on noise level (empirical)
Fix quality level (Qi) to be streamed (QSTREAM ... QTHRESHOLD)
Let
N = number of transcoded frames in local buffer
Burst Size (I) = N / Fd
Send next burst after I seconds.
Mobile
Device
Adaptation at Mobile
Burst Size (I) = N / F
Device
Video Stream (QSTREAM)
# of frames (N), buffer size, quality, σ
Proxy
d
Mobile
Device
total number of packets at the
Access Point
Worst case transmission delay of burst (D) = σ x TAP
Therefore total sleep time (δ) for NIC at the device
δ = I – D + γ. DEtoE
Psaved ≥ δ x (PIDLE - PSLEEP)
Switch network card to
“sleep” mode for δ seconds
after receiving video
Network Card Adaptation
in Dynamo
User
Profile
Negotiation
Application
QoS
E-Q
Monitor
profile
Network
Transmission Transcoder
NIC
adaptation
Communication
Dynamo Middleware
Dynamo Middleware
CPU
NIC
Linux OS
NIC
Wireless
Network
Proxy
Wireless Network
DISPLAY
CPU
Mobile Device
Network Energy Savings
NIC
Backlight
1738 Frames
Energy Savings – 35% - 57% (over no optimization)
Frames Lost – < 12%
399 Frames
Energy Savings – 50% - 75% (over no optimization)
Frames Lost – < 5%
2924 Frames
Energy Savings – 25% - 45% (over no optimization)
Frames Lost – < 10%
CPU
Backlight Compensation

Adaptation
1) Enhance luminance of video frames at proxy
2) Dim backlight on the device to compensate luminance enhancement

Problems


Technique to achieve the suitable (optimal) backlight dimming factor
Reduce flicker induced by frequent backlight switching
Backlight Adaptation
Fair
Good
Excellent
Fair
Good
Excellent
Fair
Good
Excellent
Backlight
Level
Quality
(PSNR)
Power
Savings
149
162
205
30.17
34.28
42.31
41.8%
36.7%
27.3%
Backlight
Level
Power
Savings
80
125
186
44.8%
39.7%
30.3%
Backlight
Level
Power
Savings
172
162
205
34.8%
27.7%
21.4%
Backlight Adaptation in
Dynamo
Video Stream (QSTREAM)
# of frames, buffer size, quality
+ Backlight Setting
Proxy
Mobile
Device
Residual Energy, Quality threshold
+ Noise (SL), Buffer capacity (Bf),
Decode rate (Fd)
Stream luminance
compensated video
Use backlight quantization
table to set backlight
Backlight Adaptation using
Dynamo
NIC
Backlight
CPU
User
Profile
Negotiation
Application
QoS
E-Q
profile
B/L Scaling
NIC
adaptor
Backlight
Monitor adaptor
Network
Transmission
Transcoder
Communication
Dynamo Middleware
Dynamo Middleware
CPU
NIC
Linux OS
NIC
Wireless
Network
Proxy
Wireless Network
DISPLAY
CPU
Mobile Device
Architecture/CPU
Adaptation
 DVS idea: trade off processor speed for power
 MPEG frame decoding – good candidate
Frame decoding takes less than the frame delay
Decoding time – depends on frame type: I, P, B
Voltage
I
B
B
P
B
B
P
no DVS
with DVS
MPEG Stream
0
D
Fd
time
CPU Adaptation using
Dynamo
Video Stream (QSTREAM)
# of frames, buffer size, quality
Backlight Setting + Profiled WCET,
BCET, Avg. Execution time
Proxy
Mobile
Device
Residual Energy, Quality threshold
+ Noise (SL), Buffer capacity (Bf),
Decode rate (Fd)
• Determine video quality
• Use a rule base of profiled data to
send execution parameters to the mobile
device
• Middleware communicates execution
characteristics to scheduler
• Scheduler can now dynamically recompute slowdown parameters for the
new video quality
CPU Adaptation
User
Profile
Negotiation
Application
QoS
Rule Base
E-Q
profile
B/L Scaling
Network
Transmission
Transcoder
NIC
adaptor
Backlight
CPU
adaptation
Monitor adaptation
Communication
Dynamo Middleware
Dynamo Middleware
scheduler
Linux OS
NIC
Wireless
Network
Proxy
Wireless Network
DISPLAY
CPU
Mobile Device
Overall Energy Savings
Other
(8.2%)
CPU
(27.2%)
Network
(37.7%)
Display
(26.9%)
Energy Distribution
(Before Optimization)
After Cross-Layer
Optimizations
Other Network
CPU (8.2%) (15.09%)
Savings
(13.6%)
NIC Savings
CPU
(22.64%)
(13.6%)
Display Display
Savings (14.8%)
(12.1%)
Energy Distribution
(After Optimization)
Note: These are avg. energy savings
Total energy savings ~ 48% (for a medium action video clip called Foreman)
Implications for a commercial PDA
Avg. Battery lifetime of the mobile device increases by approximately 2 times its
original lifetime under similar load (i.e. battery power consumption).
•
Secure Mobile Multimedia – Energy Implications
Problem and Motivation
Measured Energy (Joules)
 Mobile multimedia applications
are vulnerable to security attacks
in wireless networks
 Significant computation for
video encryption is expected
on battery-operated mobiles
▶ Evaluate symmetric video
encryption schemes w.r.t. energy
Battery
-Operated
Devices
Attacks
Video
Encoder
Symmetric
Encryption
Technique
Secure Video Encoder
Insecure
network
80
Encoding without Encryption
60
50
Encoding with Encryption
(Selective)
40
30
Encoding with Encryption
(Naïve)
20
10
0
FOREMAN.qcif
NEWS.qcif
Video Clips
Symmetric
Decryption
Technique
Secure Video Decoder
Experimental Study
90 Negligible Energy Overhead
70
Video
Decoder
Reliable Mobile Multimedia – Energy
Implications
Problem and Motivation
Idea: ME (Motion Estimation) is..
Most energy consuming operation
Avoiding ME can improve energy profile
at the cost of encoding efficiency
High impact on image quality
Making ME algorithm robust against packet loss
can improve error resiliency
Video streams over a wireless network
Data loss  Error control
•Channel coding : FEC, Retransmission
•Source coding: Error-resilient coding
Video Encoder
Raw
Video
ME
DCT
Q
Multiplexing,
Packetizing
& Channel
Encoding
VLC
Lossy
Network
Probability Based Partial intra-coding
 trade-offs among error resiliency, encoding efficiency, energy consumption
Experimental Study
36
25
25
30
20
15
10
5
Encoding
Energy(J)
20
NO
PBPAIR
PGOP-3
GOP-3
AIR-24
PSNR (dB)
24
18
12
15
10
5
0
0
49
47
45
43
41
39
37
35
33
31
29
27
25
23
21
19
17
15
13
9
11
7
5
3
0
akiyo
garden
Energy efficiency
PBPAIR
PGOP-1
GOP-8
Fast recovery
AIR-10
0.2
0.4
PLR
Frame Number
0
foreman
0.9
0.6
0.3
6
1
Encoding Energy (J)
Encoding Energy Consumption (iPAQ)
PNSR Variation
Encoding Energy Consumption (iPAQ)
0-5
5-10
0.6
10-15
0.8
1
15-20
0
20-25
Flexibility
Intra_Th
Mobile
Grid/Cloud
Computing
Dealing with mobility
Proxy must be close to device for effectiveness
Idea – use a network of proxies and identify how to
use the proxy network for multiple moving devices…
Where to obtain proxies
Fixed backbone infrastructure (Akamai)
– Could be effective, but proprietary
Grid infrastructure (MAPGRID)
– Open access, but intermittently available
Cloud infrastructure (Charisma)
– Open access, limited ability to tailor use of proprietary backbone
resources
Observations (I)
– Proxy-based Techniques
 Network proxies support for mobile applications, e.g.:
Proxy caching:
 [Hadjiefthymiades WWW01], [Xu TKDE04],[Wang TM 07], etc.
Proxy-based content transcoding:
 [Shenoy, MMCN03] [Change EUROMICRO Journal 07], etc.
Offloading tasks:
 [Kejariwal, Trans VLSI 06], [Mohapatra, ACM 2003],[ Li, NOSSDAV 2003], etc.
► Grid/Cloud infrastructure support for implementing proxy-based solutions, e.g:
using grid machines as proxies for mobile applications [Phan MobiCom 02]
► Online Server or third party Storage
► e.g. iPhone 3G MobileMe keeps all user information in the “cloud”
 “
Observations (II)
- Context Awareness and Predictability
Importance of Context information, e.g.
Enabling mobile applications:
Location-based services
Achieving service flexibility and adaptability:
Layered video transcoding [Shanableh Transaction of Multimedia 05], etc.
Improving system performance:
Mobility-aware data allocation (increasing cache hit ratio) [Peng ICPP00], etc.
 Predictability and Patterns of Context
Exploited for improving handoff performance, reducing task failure rate and dynamic
resource allocation, etc
Mobility prediction [Song, IEEE Transaction on Mobile Computing 06]
Mobility models [ MCNett SIGMOBILE review 05] [Hong MSWiM99]
Characterizing resource availability in desktop grids [Kondo FGCS 07]
MAPGrid: A New Paradigm
Grid Enabled Mobile Applications
VS 2
VS 3
VS 1
Broker
Research Challenges
 Resource Discovery
 Application aspect
Ensure user QoS satisfaction
 System View
Define an “optimal” grid resource allocation
• User mobility
• resource heterogeneity
• Grid intermittent availability
Adapt to changing context
• User mobility, device energy, and proxy availability
► Data Placement
 Application aspect
► Guarantee data availability
► Improve information retrieval efficiency with user mobility
 System View
► Address both short term on-demand caching and long term data placement
► Make caching or data replication at finer granularity
► Balance availability efficiency tradeoff
MapGrid
 Uses (idle) grid computing resources as the intermediate node cache proxy
for mobile applications.
 Resources on grid (storage and computation) are intermittently available.
 MapGrid uses the interval tree data structure for storing the information
about available resources on grid.
 Mobility pattern has been used to optimal data replication policy in
MapGrid.
56
Contains information about
available resources on Grid
and Clients
1. Resource Discovery
2. Schedule Planning
Replace the data
to grid resources
Admission Control
Req
Broker
Req
Tertiary
Storage
Directory
Info
Service
Request Req*
Scheduler
Mobile
Client
Mobile Client
Monitoring
Moving_Profile
Mobility Pattern detection
Data
Placement Req@
Management
Resource
Reservation
Grid
Monitoring
MapGrid Middleware Service Architecture
Volunteer
Servers(Grids)
Req#
Reports changes in
grid resources
57
MapGrid
 Request: R(VID, itinerary) where VID is the video and itinerary is mobility
information.
 Grid Loading Factor:
LF j ( R, t )  max{ CPU a , MEM a , NBWa , DBW a }
where X a is the ratio of requested resource
to available resource on grid j. 0  LF j  1
 Grid Factor:
If grid j is available at
time t equal 1 else 0.
Availabili ty( j, t )
Gf j ( R, t ) 
LFj ( R, t )  Dist ( j, R)
Distance of grid J from
request R.
58
Grid Resource Discovery for
Mobile Services
R: < IDR , T , QL , QH, , ER , itinerary>
Partition Service Period
•
•
apply mobility or location information
choose the number of chunks (partition)
•
decide the size of each chunk
Proxy (VS) Selection
•
N
choose available VSs
•
choose lighter loaded VSs
•
choose “closer” VSs
Satisfy different QoS reqirements on service
response time, service continuity…
•
All chunks have VS
assignments?
Y
Rescheduling if dynamic
changes happen
•
Rescheduling when device has no enough
residual energy for the current QoS level
•
Rescheduling when grid node fails
Grid Resource Discovery for
Mobile Services
Partition Service Period
Problem: Volunteer Server Allocation
► Determine number of partitions and size of each
partition
Machine learning approach using mobility info
N
All chunks have VS
assignments?
Y
Rescheduling if dynamic
changes happen
Grid Resource Discovery for
Mobile Services
Partition Service Period
Volunteer Server Allocation
N
All chunks have VS
Optimizing grid resource selection
assignments?
► Factors: Load, location, availability, capacity
► Achieve system-wide load balancing
Y
► Maximize the number of accepted
services
Graph theoretic approach
Rescheduling if dynamic
changes happen
Grid Service Discovery
(Multimedia Application)
IS-C-SS
P2-T2
8000
Collections of services support by
grid significantly increases
request acceptance and
Completion ratios
DS-C-SS
7000
DS-C-MS
6000
DS-D-SS
5000
DS-D-MS
4000
3000
2000
1000
0
1
4
7
10 13 16 19 22 25 28 31 34 37 40 43 46 49
300
time (hours)
number of requests that
can not be completed
number of rejections
IS-C-MS
P2: Deterministic data placement
T2: Random VS availability
Uncompleted requests when VSs become
unavailable simultaneously
250
224 231
no adaptation
193
190
with adaptation
200
266
168
146
150
116 118
100
50
69
104
82
36
10
0
0
0
0
0
0
0
0
11
0
1
2
3
4
5
6
7
8
9
10
11
number of VSs that become unavailable simultaneously
12
MAPGrid Prototype
Failure detection for both client and
VSs using Globus life time
management control.
Volunteer
Servers
GridFTP
Information
Services
JADE
The Volunteer Server can
join and disjoin the grid
dynamically .
Globus Toolkit
Broker
Life time
control
Http
Client can specify
QoS requirements via
friendly GUI
Client
JMF (Java Media Framework)
Mobile Cloud
Computing
What is Cloud Computing
 Cloud computing is a model for enabling convenient, ondemand network access to a shared pool of configurable
computing resources (e.g., networks, servers, storage,
applications, and services).
 It can be rapidly provisioned and released with minimal
management effort.
 It provides high level abstraction of computation and
storage model.
On-Demand Self Service,
Heterogeneous Access,
Resource Pooling.
Essential Characteristics
On-Demand Self Service:
A consumer can unilaterally provision computing
capabilities, automatically without requiring human
interaction with each service’s provider.
Heterogeneous Access:
Capabilities are available over the network and accessed
through standard mechanisms that promote use by
heterogeneous thin or thick client platforms.
66
Essential Characteristics (cont.)
 Resource Pooling:
The provider’s computing resources are pooled to serve multiple
consumers using a multi-tenant model.
Different physical and virtual resources dynamically assigned and
reassigned according to consumer demand.
 Measured Service:
Cloud systems automatically control and optimize resources used
by leveraging a metering capability at some level of abstraction
appropriate to the type of service.
It will provide an analyzable and predictable computing platform.
67
Service Models
 Cloud Software as a Service (SaaS):
The capability provided to the consumer is to use the provider’s
applications running on a cloud infrastructure.
The applications are accessible from various client devices such as
a web browser (e.g., web-based email).
The consumer does not manage or control the underlying cloud
infrastructure including network, servers, operating systems,
storage,…
Examples: Caspio, Google Apps, Salesforce, Nivio, Learn.com.
68
Service Models (cont.)
 Cloud Platform as a Service (PaaS):
The capability provided to the consumer is to deploy onto the
cloud infrastructure consumer-created or acquired applications
created using programming languages and tools supported by the
provider.
The consumer does not manage or control the underlying cloud
infrastructure.
 Consumer has control over the deployed applications and
possibly application hosting environment configurations.
Examples: Windows Azure, Google App.
69
Service Models (cont.)
 Cloud Infrastructure as a Service (IaaS):
The capability provided to the consumer is to provision
processing, storage, networks, and other fundamental computing
resources.
 The consumer is able to deploy and run arbitrary software, which
can include operating systems and applications.
The consumer does not manage or control the underlying cloud
infrastructure but has control over operating systems, storage,
deployed applications, and possibly limited control of select
networking components (e.g., host firewalls).
Examples: Amazon EC2, GoGrid, iland, Rackspace Cloud
Servers, ReliaCloud.
70
Service Models (cont.)
Service Model at a glance: Picture From http://en.wikipedia.org/wiki/File:Cloud_Computing_Stack.svg
71
Deployment Models
 Private Cloud:
 The cloud is operated solely for an organization. It may be managed by
the organization or a third party and may exist on premise or off premise.
 Community Cloud:
 The cloud infrastructure is shared by several organizations and supports a
specific community that has shared concerns.
 It may be managed by the organizations or a third party and may exist on
premise or off premise.
 Public Cloud:
 The cloud infrastructure is made available to the general public or a large
industry group and it is owned by an organization selling cloud services.
 Hybrid cloud:
 The cloud infrastructure is a composition of two or more clouds (private,
community, or public).
72
Deployment Models (cont.)
Service Model at a glance: Picture From http://en.wikipedia.org/wiki/File:Cloud_computing_types.svg
73
Towards Pervasive Computing
Evolution of Computing Environment:
[Satyanarayanan_2001] :
Toward Pervasive Computing environment
Cloud
Computing
Promises
74
Cloudlet
 It has been shown that a one hop connection from mobile
device to internet is not efficient.
 Humans are sensitive to the current delay in clouds
latency is unlikely to improve significantly
security and firewall it is unlikely that latency improves (although
increase in bandwidth).
 Cloudlet
Between mobile devices and cloud pools (Infrastructure).
 A cloudlet (micro edition of cloud)only contains soft
states such as cache copies of data or code.
75
Cloudlet (cont.)
The prototype based on this systems is implemented in
CMU and called Kimberley [Satyanarayanan_2009] .
Cloudlets are as the infrastructure for mobile cloud computing. From: [Satyanarayanan_2009]
76
Dynamic Task Reconfiguration
 How can we support dynamic task/service reconfiguration to achieve
energy gains (i.e. migrate computationally expensive tasks from the device
to the proxy and use the results locally)
Approach:
Identify “energy intensive” components that can be dynamically migrated to a proxy
► What to reconfigure?
 computation/communication characteristics of tasks (use Profiling)
 Current residual power of the device
► When to reconfigure?
 Identify set of policies that dictate how often or under what conditions
reconfigurations should be initiated
77
Dynamo: Dynamic Task
Reconfiguration
Problem
How to maintain an optimized component distribution under dynamic device
power conditions?
Solution
►Cast the distribution problem as a “Source Parametric Flow Network”.
►Use Current residual energy at device to make the flow graph “source parametric”
78
Source Parametric Flow Graph
Runtime on Device
Rd
X2
X1
M1
A1
Y1
M2
A2
D
Bi = Energy cost of
executing task Mi at
the device.
Bd
Xn
B1
B2
P
proxy
device
Y2
An
Ai = Energy cost A
of executing task
Mi at the proxy.
p
Bn
Mn
Yn
Rp
Runtime on Proxy
• If Mi is executing on the Device, then Xi = communication costs in energy terms
• If Mi is executing on the Proxy, then Yi = communication costs in energy terms
79
High Level Algorithm
►
The minimum cut of the graph determines which components can be moved to
the proxy.
► Can be solved using a modified FIFO Pre-Flow push algorithm.
► Complexity = O(n3)
FOR (each reconfiguration interval) DO
BEGIN
o update list of components/residual energy on device
o generate network flow graph
o determine component partitioning (min cut)
o IF (new partition)
o reconfigure components between device and proxy
END
80
AlfredO Platform (ETH Zurich)




SaaS distribution model for physical services (MW 2008, 2009)
Mobile Phones as universal interfaces to cloud applications
Supports partition and distribution of modularized applications
in a client-server setup
 OSGI-based (Open Services Gateway Initiative)
 Focus on presentation and logic modules
Home 3D Planner
Virtual ticket machine
Turn the phone into an
interface for the
ticket machine
81
AlfredO architecture and
applications (MW 2009)
Premise: Modularized application and Model of resource consumption and dependencies
among application modules
Goal: Partition the application between phone and server based on different criteria
(bandwidth, memory)
Component Based Architecture
Supports optimal task migration
between server and mobile client
[Middleware 2009].
Generate an application graph and
determine a cut (tasks done on server
side and remaining will be done on
mobile side) to meet the required
optimization issues.
AlfredO
Original Plan
S6
S1
S2
S3
S4
S7
S8
S5
Mobile Cut
Mobile Cut
S6
S1
S2
S3
S6
S1
S4
S7
S8
S5
S2
S3
S4
S7
S8
S5
83
AlfredO (MW 2009)
CHARISMA: Tiered Clouds
 Just like ISPs cloud computing could be considered in different
Tiers.
 The backbone Cloud which usually large organization such as
Google, Yahoo, Microsoft support them.
 The second tier is edge Cloud which is near end user.
Tier 2-Cloud (Edge Cloud)
Tier 1-Cloud (Backbone Clouds,. Amazon
EC2, Azure,… )
Mobile Client
Middleware(Broker)
Cloudlet and Cloud Pool
Cloud Service Registry and Discovery
Qos
Monitoring
Qos Monitoring , Service Discovery
Qos Analyzer
Admission
Control
Scheduler
Mobile
Client
Mobile Profile Monitoring
Mobile Profile Analyzer
Cloudlet
Pools
Cloud
Pools
Middleware Blocks
Functionalities
Admission Control
Accepts or rejects mobile client requests according to the
resources available and mobile profile (it could be poweraware, resource –aware and…. Policies, Maybe Game Theory
could be used for optimal admission policy).
Mobile Profile Monitoring
Monitors mobile profile.
Mobile Profile Analyzer
Analyzes mobile profile specially power level, location
pattern,… for optimal scheduling.
Scheduler
It schedules the accepted requests and design a plan
according to the negotiations done with Cloudlets (Schedule
Queue).
Qos Monitoring, Service
Discovery (Cloud and
Cloudlets)
It discovers cloudlets (maybe based on ontology and
semantics) in the area (like UDDI), its Qos during service
from mobile client. It also registers its services and
middleware business on UDDI for accessing mobile clients.
Qos Analyzer
It is analyzing the Cloudlets services and make a list of
suitable cloudlets and policy of admission.
Mobile Client Block
Functionalities
Qos Monitoring
Reports the Middleware about the Qos of the cloudlets. 87
Barcode Reader: Sample
Application
 Simple barcode reader service has been implemented.
 In this scenario the user takes a picture of the barcode for
getting some information about the object, for example the
cheapest price location.
 The picture is sent to cloudlet for processing.
 The cloudlet extracts the information and queries Amazon
or other clouds for price and returns back to the user
88
Cloudlet
Cloud
89
Yahoo Cloud (Flicker) as a Cache.
Cloud(Yahoo)
Cloudlet
Cloud(Amazon)
90
http://www.youtube.com/watch?v=fQywFeN1wdM
91
Cloud computing
 Remote access to distributed and shared cluster resources
Potentially owned by someone else (e.g. Amazon, Google, …)
Users rent a small fraction of vast resource pools
• Advertised service-level-agreements (SLAs)
• Resources are opaque and isolated
Offer high availability, fault tolerance, and extreme scale
Relies on OS, network, and storage virtualization/isolation
Virtualization
SLAs
Web Services
Future: Interoperable Networking
Heterogeneous access
technologies available
802.11b
End devices equipped with
multiple radio interfaces
802.11a
Wi-Fi
Ad Hoc
Reliable Secure QoS over
multiple access networks
Cellular
......
Applications are run over
the most efficient access
networks
Bluetooth
GPRS
UMTS
Always Best Connected: Solution
Components
profile handling
content adaptation
mobility management
AAA support
access selection
access discovery
• personal profiles for ABC
• access selection & content adaptation
• applications adapting to access & device
• session continuity, session transfer
• support for real-time services
• authentication, authorization, accounting
• accesses, services...  single logon
• what access to choose; what is “best”?
• user/network-based solution
• one or multiple accesses in parallel
• what accesses are currently available?
• what are their bandwidth and delay?
Access Selection: Benefits
 Continual connectivity
Uninterrupted Internet access even when some of the access
networks are unavailable
 High throughput/QoS
Connect via the access network with highest data rate and/or
shortest delay
 Broader bandwidth
Aggregate the bandwidth offered by multiple access networks
 Energy Conservation
Different power consumption properties of access networks
provide chances for better energy efficiency.
 Enhanced Security
Transmitting sensitive data on multiple access networks
potentially provides higher security.
Access Selection: Research
Challenges
How to select appropriate access networks
for application traffic flows?
Dynamicity
 Non-predetermined
traffic flows
start/terminate at
discrete time points.
 Access networks’
bandwidth and delay
might fluctuate.
Multiple Constraints
 QoS requirements
 Energy consumption
 User/application
specified access
preferences
Groupware apps
Multiparty collaborations
Seguti
Reliability + Security
Summary
 New Generation of Pervasive and Mobile Computing
Applications with diverse content
Need significant enhancements in system and software support
 Distributed mobile middleware can significantly improve performance of
next generation mobile applications.
 Open interfaces will yield much more optimized solutions for distributed
mobile devices.
The use of cross-layer design architectures is inevitable for future
mobile systems, if we are to realize cumulative benefits of independent
research at each system layer.
Networks for Mobile Computing
 Mobile Internet
 Mobile IP (MIP)
Introduction (goals, architecture,
protocol, examples)
MIP messages, encapsulations
MIP issues: triangular routing,
reverse tunneling, MobileIPv6
 Micro-mobility Protocols
Cellular IP
HMIP
MobileNAT
 Summary
 Mobile Ad Hoc Networks
 Introduction: difference from
Wireless Sensor Networks
(WSNs)
 Routing Protocols
WRP
AODV
DSR
Improvements:
• interference levels
• topology control/management
 Summary
Wireless Networking
103
Motivation for Mobile IP
 Internet routing
 based on IP destination address and network prefix
 change of physical subnet implies that the mobile node should
change its IP address to have a topologically correct address
 Challenges – 1) find the MS, 2) avoid disconnection
 DNS? Updates take to long time
 Per-host routing? Too many entries in the RT.
 Solution:
 Mobile IP is an open standard, defined by the Internet Engineering Task Force (IETF) RFC 2002, that
allows users to keep the same IP address, stay connected, and maintain ongoing applications while
roaming between IP networks
 Network supported Mobile IP (tunneling in IPv4)
 Host supported Mobile IPv6 (Routing extension header)
Wireless Networking
104
Requirements to Mobile IP (RFC
3344)
 Transparency
 Mobile keeps its IP address when changing subnets
 Communication continues after interruption of link possible
 Compatibility
 no changes to current end-systems and routers required - tunneling
 no changes to fixed systems – HA-FA tunneling
 Security
 authentication of all registration messages – MIP messages
 Efficiency and scalability
 only a few additional messages to the mobile system required (connection typically via a
low bandwidth radio link) – MIP messaging
 Global support of a large number of mobile systems in the whole Internet – HA for MN
Wireless Networking
105
Architectural Components
1.
End system elements


2.
Mobile Node (MN)
Correspondent Node (CN): communication partner
Network elements

Home Agent (HA): System in the home network of the MN, typically a router
 Registers the location of the MN, tunnels IP datagrams to the COA
 Foreign Agent (FA): the default router for MN


Forwards the tunneled datagrams to the MN
Can be collocated with MN
 Care-of Address (COA): address of the current tunnel end-point for the
MN

Can be associated with the MN or FA.
Wireless Networking
106
Mobile IP Protocol
 Agent Advertisement using ICMP
 HA and FA periodically send advertisement messages into
their physical subnets in ICMP messages
 MN listens to these messages and detects, if it is in the
home or a foreign network (standard case for home
network)
 MN reads a COA from the FA advertisement messages
 MN may send out router (agent) solicitation.
 Registering the COA using UDP
 binding for the mobile node – tuple (home address, COA,
registration lifetime, authentication)
 binding update sent by MN to HA for remote redirect.
 Traffic forwarding using Tunneling
 HA advertises the IP address of the MN (as for fixed
systems) via proxy ARP
 routers adjust their entries, these are stable for a longer time
(HA responsible for a MN over a longer period of time)
 packets to the MN are sent to the HA, which tunnels to the
COA.
 independent of changes in COA/FA
Wireless Networking
107
Example network
HA
MN
router
home network
mobile end-system
Internet
(physical home network
for the MN)
FA
foreign
network
router
(current physical network
for the MN)
CN
end-system
router
Wireless Networking
108
Data transfer to the mobile
system
HA
2
MN
home network
Internet
receiver
3
FA
1
CN
sender
foreign
network
1. Sender sends to the IP address of MN,
HA intercepts packet (via proxy ARP)
2. HA tunnels packet to COA, here FA,
by encapsulation
3. FA forwards the packet to the MN
Wireless Networking
109
Data transfer from the
mobile
system
HA
1
home network
MN
sender
Internet
FA
foreign
network
1. Sender sends to the IP address
of the receiver as usual,
FA works as default router
CN
receiver
Wireless Networking
110
Agenda
 Mobile Internet
 Mobile IP (MIP)
Introduction (goals, architecture,
protocol, examples)
MIP messages, encapsulations
MIP operations: triangular
routing, reverse tunneling,
MobileIPv6
 Micro-mobility Protocols
Cellular IP
HMIP
MobileNAT
 Mobile Ad Hoc Networks
 Introduction: difference from
Wireless Sensor Networks
(WSNs)
 Routing Protocols
WRP
AODV
DSR
Improvements:
• interference levels
• topology control/management
 Summary
 Summary
Wireless Networking
111
Mobile Ad-hoc Networks (MANET)
 Ad-hoc network:
A collection of wireless mobile hosts forming a
temporary network without the aid of any established
infrastructure or centralized administration.
 Significant differences to existing wired networks:
Wireless
Self-starting
No administrator
Cannot assume, that every computer is within
communication range of every other computer
Possibly quite dynamic topology of interconnections
 Traffic types: unicast/multicast/anycast/geocast
Wireless Networking
112
Routing in MANET
 Routing assumptions for unicast traffic
Flat topology assumption
Proactive: DSDV, TORA, WRP
Reactive: AODV, DSR, STAR
Hierarchical topology assumption
Clustering: CBRP, PATM
Geographic assumption
Location aided routing: LAR, GeoCast
Wireless Networking
113
Classification of Routing Protocols
for MANETS
Unicast-Routing Protocol for
MANET (Topology-based)
Table-Driven/
Proactive
Distance
Vector
LinkState
DSDV
OLSR
TBRPF
FSR
STAR
Hybrid
On-Demand
/Reactive
Clusterbased/
Hierarchical
ZRP
DSR
AODV
TORA
LANMAR
CEDAR
MANET: Mobile Ad hoc Network
(IETF working group)
Wireless Networking
114
Desired Properties of Ad Hoc Routing Protocols
 Distributed
 Bandwidth efficient
Reduce control traffic/overhead
 Battery efficient
 Fast route convergence
 Correct: loop free
Reduce overhead
 Unidirectional Link Support
Wireless Networking
115
Performance Metrics of Ad Hoc Routing Protocols
 Maximize
end-to-end throughput
delivery ratio
load balancing (congestion)
 Minimize
end-to-end delay
packet loss
shortest path/minimum hop (route length)
overhead (bandwidth)
energy consumption
Wireless Networking
116
Mobile Ad hoc Networks (MANET) vs.
Sensor Networks
MANET
SensorNet
applications
meeting, grp collaboration
smart building, habitat monitoring
comm.
address-centric comm.
data centric comm.
topology
peer-to-peer
sensors  base & peer-to-peer
traffic
random
periodic, synchronous
platform
laptops, PDAs
motes: more resource constrained
scale
10’s
>1000: larger scale and more
redundancy
mobility
slow (meeting) ~ fast (cars):
focus on mobility
slow (habitat) ~ fast: less focus on
mobility so far
similarity
No infrastructure, multi-hop, wireless networks
Wireless Networking
117
Address Centric Routing
(AC)
Temperature Reading
(source 2)
Temperature Reading
(source 1)
source 2
source 1
source 2
Z
B
source 1
source 2
Give Me The Average Temperature?
( sink )
Wireless Networking
118
Data Centric Routing (DC)
Temperature Reading
(source 2)
Temperature Reading
(source 1)
source 2
source 1
source 2
Z
B
source 1 & 2
Give Me The Average Temperature?
( sink )
Wireless Networking
119
Distance-Vector routing
 Each node maintains a routing table containing
list of all available destinations
number distance to each each destination
next hop to reach a destination
 The succession of next hops leads to a destination
 Each node periodically broadcasts its current estimate
of the shortest distance to each available destination to
all of its neighbors
 Typical representative: Distributed Bellman-Ford
(DBF)
Wireless Networking
120
AODV (Ad Hoc On-Demand Distance
Vector)
 AODV is based on the DSDV (Destination-Sequenced
Distance Vector) algorithm
Distance vector
Sequence numbers controlled by the destination.
 Creation of routes on a demand basis – traffic reactive
 Nodes that are not on a selected path do not maintain
routing information or participate in routing table
exchanges!
 Goal: Minimize broadcast overhead and transmission
latency
Wireless Networking
121
Route Requests from S to
D in AODV
Y
Z
S
E
F
B
C
M
J
A
L
G
H
K
I
D
N
Represents a node that has received RREQ for D from S
Wireless Networking
122
Route Requests from S to
D in AODV
Y
Broadcast transmission
Z
S
E
F
B
C
M
J
A
L
G
H
K
I
D
N
Represents transmission of RREQ
Wireless Networking
123
Route Requests from S to
D in AODV
Y
Z
S
E
F
B
C
M
J
A
L
G
H
K
D
I
N
Represents links on Reverse Path
Wireless Networking
124
Reverse Path Setup from S
to D in AODV
Y
Z
S
E
F
B
C
M
J
A
L
G
H
K
I
D
N
• Node C receives RREQ from G and H, but does not forward
it again, because node C has already forwarded RREQ once
Wireless Networking
125
Reverse Path Setup from S
to D in AODV
Y
Z
S
E
F
B
C
M
J
A
L
G
H
K
I
D
N
Wireless Networking
126
Reverse Path Setup in
AODV
• Node D does not forward RREQ, because node D
is the intended target of the RREQ
Y
Z
S
E
F
B
C
M
J
A
L
G
H
K
I
D
N
Wireless Networking
127
Route Reply from D to S in
AODV
Y
Z
S
E
F
B
C
M
J
A
L
G
H
K
D
I
N
Represents links on path taken by RREP
Wireless Networking
128
Route Reply in AODV
 Intermediate node may also send a Route Reply
(RREP) provided that it knows a more recent path
than the one previously known to sender S
To determine whether the path known to an intermediate
node is more recent, destination sequence numbers are
used
 The likelihood that an intermediate node will send a
RREP not as high as DSR
An intermediate node which knows a route, but with a
smaller sequence number, cannot send Route Reply
Wireless Networking
129
Forward Path Setup in
AODV
Y
Z
S
E
F
B
C
M
J
A
L
G
H
K
I
D
N
Forward links are setup when RREP travels along
the reverse path
Represents a link on the forward path
Wireless Networking
130
Data Delivery in AODV
Routing table entries used to forward data packet.
Route is not included in packet header.
DATA
Y
Z
S
E
F
B
C
M
J
A
L
G
H
K
I
D
N
Wireless Networking
131
AODV Key Advantages
 “Partial” routing tables are constructed reactively
Entries are updated only when a node sends to another unreachable
node
No periodic updates
Node not on active paths maintain no routing entries
 Reduce packet overhead
 Routing table
No source routing needed  reduce bit overhead
“Route caching”  reduce establishment latency
Sequence number  loop freedom
 Push link failure to relevant nodes
 Reduce establishment latency
Wireless Networking
132
Dynamic Source Routing (DSR)
[Johnson96]
When node S wants to send a packet to node D,
but does not know a route to D, node S initiates
a route discovery using Route Request (RREQ)
Each node appends own identifier when
forwarding RREQ
Wireless Networking
133
Route Discovery in DSR
Y
Z
S
E
F
B
C
M
J
A
L
G
H
K
I
D
N
Represents a node that has received RREQ for D from S
Wireless Networking
134
Route Discovery in DSR
Y
Broadcast transmission
[S]
S
Z
E
F
B
C
M
J
A
L
G
H
K
D
I
N
Represents transmission of RREQ
[X,Y]
Represents list of identifiers appended to RREQ
Wireless Networking
135
Route Discovery in DSR
Y
Z
S
E
[S,E]
F
B
C
A
M
J
[S,C]
H
L
G
K
D
I
N
• Node H receives packet RREQ from two neighbors:
potential for collision
Wireless Networking
136
Route Discovery in DSR
Y
Z
S
E
F
B
[S,E,F]
C
M
J
A
L
G
H
I
[S,C,G]
K
D
N
• Node C receives RREQ from G and H, but does not forward
it again, because node C has already forwarded RREQ once
Wireless Networking
137
Route Discovery in DSR
Y
Z
S
E
[S,E,F,J]
F
B
C
M
J
A
L
G
H
K
I
D
[S,C,G,K]
N
• Nodes J and K both broadcast RREQ to node D
• Caveat: Since nodes J and K are hidden from each other, their
transmissions may collide
Wireless Networking
138
Route Discovery in DSR
Destination D on receiving the first RREQ,
sends a Route Reply (RREP)
RREP is sent on a route obtained by reversing the
route appended to received RREQ
RREP includes the route from S to D on which
RREQ was received by node D
Wireless Networking
139
Route Reply in DSR
Y
Z
S
E
RREP [S,E,F,J,D]
F
B
C
M
J
A
L
G
H
K
I
D
N
Represents RREP control message
Wireless Networking
140
Dynamic Source Routing
(DSR)
 Node S on receiving RREP, caches the route included in
the RREP
 When node S sends a data packet to D, the entire route is
included in the packet header
hence the name source routing
 Intermediate nodes use the source route included in a
packet to determine to whom a packet should be
forwarded
Wireless Networking
141
Data Delivery in DSR
Y
DATA [S,E,F,J,D]
S
Z
E
F
B
C
M
J
A
L
G
H
K
I
D
N
Packet header size grows with route length
Wireless Networking
142
DSR Optimization: Route
Caching
 Each node caches a new route it learns by any means
 Through Route Request (RREQ)
When node K receives RREQ [S,C,G] destined for node D, node K learns route
[K,G,C,S] to node S
 Through Route Reply (RREP)
When node S finds RREP [S,E,F,J,D] to node D, node S also learns route [S,E,F] to
node F
When node F forwards RREP [S,E,F,J,D], node F learns route [F,J,D] to node D
 Through DATA packet’s source routes
When node E forwards Data [S,E,F,J,D] it learns route [E,F,J,D] to node D
A node may also learn a route when it overhears Data
 Problem: Stale caches may increase overheads
Wireless Networking
143
Dynamic Source Routing:
Advantages
Routes maintained only between nodes who
need to communicate
reduces overhead of route table maintenance
Routing cache can further reduce route
discovery overhead
A single route discovery may yield many routes
to the destination, due to intermediate nodes
replying from local caches
Wireless Networking
144
Dynamic Source Routing: Disadvantages
 Packet header size grows with route length due to source
routing
 Flooding of route requests may potentially reach all nodes
in the network
 Stale caches will lead to increased overhead
 Common problems for both AODV and DSR
Potential collisions between route requests propagated by
neighboring nodes - insertion of random delays before forwarding
RREQ
Increased contention if too many route replies come back due to
nodes replying using their local cache - Route Reply Storm
problem
Wireless Networking
145