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