Sie sind auf Seite 1von 141

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
Laptop
Cell Phone

ad hoc
BS
network
GSM or PDA
CDMA
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
PDA

MOBILE HOST

WIRELESS LAN CELL


2Kbps - 15Mbps

BASE
STATION FIXED
BASE HOST
WIRELESS RADIO CELL
STATION
9Kbps - 14Kbps

FIXED NETWORK
BASE
STATION
Mbps to Gbps
BASE
STATION
PDA
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
System support for multitude of Application Context
components Increasing QoS., security, reliability
Attach and detach from a distributed demands
infrastructure Soft Real Time Constraints
Ap
Deal with large vol. of information at a Support
pl for traditional media (text,
high rate C ic and continuous media
images)
on a

te l
on a
xt
Changing global system state t e t io
C lob
(audio/video)
G xt n
Synchronization (e.g. lip sync., floor
control)
Challenges
ce t
N on

i
et te
C

x
ev te
w xt

D n
or

o
k

C
Need high degree of network Heterogeneous devices
awareness and Limited battery lifetime
customizability Size/weight limitations
congestion rates, mobility patterns Computation/Communic
etc. ation constraints
QoS driven resource provisioning
Heterogeneous networks
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 Wireless
Network Network
MEDIA SERVER 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 176Kbytes/s


bytes/sample

Satellite 180X180 km^2 600MB/image


Imagery 30m^2 resolution (60MB
compressed)
NTSC Video 30fps, 640X480 30Mbytes/s
pixels, 3bytes/pixel (2-8 Mbits/s
compressed)
Quality of Service in MM
Applications

QoS: A Design User

Parameter for MM (Perceptual QoS)

Minor violations of Application


performance
requirements (Application QoS)

System
Generally used to
(Operating and Communication System)
express constraints on
(System QoS)
Timing, availability, (Network QoS)
(Device QoS)
reliability,security,
resource utilization MM devices 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
Scheduling) l : UF (l , r , n ), DL

l
l : BWavail , DLl
s1

s1 O s2

O CD
s3
s2 s
s : UF ( s1, r , n ), RSP
s3
Data Placement in Mobile
Environments
Initial placement
Design replication and intelligent
S1 S2 S3
data placement mechanisms that
Ensure effective resource v1 v2 v5 v6 v1 v2
management
v3 v4 v1 v2 v3 v4
Ensure QoS for admitted clients

Design caching mechanisms


Partition data/processing
between mobile clients and S1 S2 S3
infrastructure
v1 v2 v5 v6 v6 v5
Allows disconnected operation
v3 v4 v1 v2 v3 v4
Efficient power management
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 Misc.
NETWORK
CARD Display
Power Optimization in battery operated mobile CPU
DISPLAY
devices is a crucial research challenge
CPU
Devices operate in dynamic distributed environments
Power Management strategies need to be aware of
global system state and exploit it. NIC
Existing Work in Power
Optimization
Flinn (ICDSP 2001), Yau (ICME 2002) Quality of Service
Krintz, Wolski (ISLPED 2004) Application/user
Noble (SOSP 97, MCSA 1999) feedback
Li (CASES 2002), Othman (1998)
Ellis, Vahdat
Abeni (IEEE
(RTSS 98)pervasive 05, Usenix DVS, DPM, Driver
03, ASPLOS
Rudenko02) ( ACM SAC 99), Satyanarayan Interfaces, system calls
Hao, Nahrstedt
(2001) (ICMCS 99, HPDC 99, User/Application
Globecom 01)
Yuan (MMCN 03,04, SOSP 03, ACM MM Network
04), Interface Card
Rajkumar (03), Anand (Mobicom 03, Operating System
Chandra
Mobisys 04) (MMCN 04,02, USENIX
2002,
DVS (Shin,
ICPP Gupta,
04) Weiser, Srivastava, Govil Architecture
et. al.)
Shenoy (ACM MM 2002) (cpu, memory)
DPM (Douglis,
Feeney, Nilson
Soderquist Hembold,
(ACM( InfocomDelaluz,
2001)
Multimedia 97)Kumpf
Network
Azevedo
et. al.)
Katz (IEICE 97)2001)
(AWIA
Hughes, Adve (MICRO 01, ICSA 01)
Brooks (ISCA 2000), Choi (ISLPED Architecture
02)
Leback (ASPLOS 2000), Microsofts
ACPI
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 (e.g. congestion, mobility, location)
Reactive Adaptations
Lack of generalized framework
What if new applications
are started or residual
Illustration battery energy changes?
Client

Client
congestion

Wired Wireless Client


Server Network Proxy Network
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 Compress
ion
Traffic State
Use proxy to
Shaping Monitor dynamically adapt to
Compositi Transcodi global changes
ng ng

Execute Remote Tasks


Low-power
mobile device

Wide Area Wireless


Network Network

server proxy Coordinate techniques


Use a Proxy-Based Architecture on device
Power-Aware Adaptive
Middleware
Quality of Service
Application/user feedback

Distributed Adaptation
Distributed Adaptation
Cross-Layer Adaptation
Cross-Layer Adaptation
Power-Aware API
Appl. specific Adaptation
User/Application

Middleware
DYNAMO SYSTEM
Mohapatra et. al (ICN 05, ITCC 05,
ACM Middleware 04, DATE 04, ICDCS Operating System
03, MWCN 03, ACM MM 03, RTAS/RTSS
Workshops 03, Estimedia 03, CIPC 03, Architecture
ICDCS 01) (cpu, memory)
Network

Architecture
Cross-Layer Approach
device
User/Application
network
Distributed Middleware
Middleware

Operating System

Proxy Architecture

GLOBAL (End-to-End) LOCAL


PROXY BASED ADAPTATION CROSS LAYER ADAPTATION

Design end-to-end adaptations that 1. Expose state


exploit global state (network noise, information to other layers
bility patterns, device state etc.) 2. Design strategies at each
Use control information to notify layer to dynamically adapt
bile device of adaptations to changes at other layers
dapt strategies on 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 Video transformation Avg. Power Avg. Power


parameters (Windows CE) (Linux)
Q1 (Like original) SIF, 30fps, 650Kbps 4.42 W 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 Quality 4 Quality 7


(like original) (good) (bad)
Avg. Power : 6.24 W Avg. Power : 5.81 W 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
Proxy
Device
Residual Energy (ERES)
User defined Quality (Qthreshold)

QSTREAM = Max(Qi) such that


PSTREAM * T < ERES
QSTREAM >
QTHRESHOLD
= Video streamed by proxy
REAM

reshold = Threshold quality level acceptable to the user


REAM = Avg. Power consumption for video playback
S = Residual Energy of device
= Time of playback
Energy-Aware Application
Adaptation
User Negotiati
Profile on
Application

QoS

Monitor

E-Q profileTranscoder Dynamo Middleware


Communication
Dynamo Middleware CPU OS
Linux NIC

NIC
Wireless
Network DISPLA
Y CPU
Proxy
Wireless Network
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
Mobile
Proxy
Device
Residual Energy, Quality threshold
+ Noise (SL), Buffer capacity (Bf),
Decode rate (Fd)

local buffer size based on noise level (empirical)


quality level (Qi) to be streamed (QSTREAM ... QTHRESHOLD)

N = number of transcoded frames in local buffer


Burst Size (I) = N / Fd

d next burst after I seconds.


Adaptation at Mobile
Device Burst Size (I) = N / F d

Video Stream (QSTREAM)


# of frames (N), buffer size, quality,
Mobile
Proxy
Device

total number of packets


at the Access Point

Worst case transmission delay of burst (D) = x TAP


Switch network card to
sleep mode for seconds
Therefore total sleep time () for NIC at the device
= I D + . Dafter
EtoE
receiving video

Psaved x (PIDLE - PSLEEP)


Network Card Adaptation
in Dynamo
User Negotiati
Profile on
Application

QoS
NIC
adaptation
Monitor
E-Q profile
Network
Transcoder
Transmission Dynamo Middleware
Communication
Dynamo Middleware CPU OS
Linux NIC

NIC
Wireless
Network DISPLA
Y CPU
Proxy
Wireless Network
Mobile Device
Network Energy Savings NIC
Backlig
1738 Frames htCPU
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%
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 Backlight Quality Power
Level (PSNR) Savings

Fair 149 30.17 41.8%


Good 162 34.28 36.7%
Excellent 205 42.31 27.3%

Backlight Power
Level Savings

Fair 80 44.8%
Good 125 39.7%
Excellent 186 30.3%

Backlight Power
Level Savings

Fair 172 34.8%


Good 162 27.7%
Excellent 205 21.4%
Backlight Adaptation in
Dynamo
Video Stream (QSTREAM)
# of frames, buffer size, quality
+ Backlight Setting
Mobile
Proxy
Device
Residual Energy, Quality threshold
+ Noise (SL), Buffer capacity (Bf),
Decode rate (Fd)

Stream luminance Use backlight


compensated video quantization table to
set backlight
Backlight Adaptation using
Dynamo
NIC
Backlig
htCPU
User Negotiati
Profile on
Application

QoS
NIC
adaptor
profileNetwork MonitorBacklight
E-Q adaptor
Transmission
B/L Scaling Transcoder Dynamo Middleware
Communication
Dynamo Middleware CPU OS
Linux NIC

NIC
Wireless
Network DISPLA
Y CPU
Proxy
Wireless Network
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

I B B P B B P
Voltage

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 Mobile
Proxy
time Device
Residual Energy, Quality threshold
+ Noise (SL), Buffer capacity (Bf),
Decode rate (Fd)

Middleware communicates
Determine video quality execution characteristics to
Use a rule base of profiled scheduler
data to send execution Scheduler can now
parameters to the mobile dynamically re-compute
device slowdown parameters for the
new video quality
CPU Adaptation
User Negotiati
Profile on
Application

QoS CPU
NIC
adaptor adaptatio
Backlight n
Network Monitoradaptation
Rule BaseE-Q profileTransmission
B/L Scaling Transcoder Dynamo Middleware
Communication
Dynamo Middleware
schedule
r
Linux OS
NIC
Wireless
Network DISPLA
Y CPU
Proxy
Wireless Network
Mobile Device
Overall Energy Savings
Other OtherNetwork
(8.2%)
After Cross-Layer CPU (8.2%)(15.09%)
Network Savings
CPU
Optimizations (13.6%)
(37.7%)
(27.2%) NIC Savings
CPU (22.64%)
(13.6%)
Display Display Display
(26.9%) Savings(14.8%)
(12.1%)
Energy Distribution
Energy Distribution (After Optimization)
(Before 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
Attacks Battery
Mobile multimedia applications -Operated
Video Devices Video
are vulnerable to security attacks Encoder Decoder
in wireless networks
Insecure
Significant computation for network
Symmetric Symmetric
video encryption is expected Encryption Decryption
on battery-operated mobiles Technique Technique
Evaluate symmetric video
encryption schemes w.r.t. energy Secure Video Encoder Secure Video Decoder

Experimental Study
90 Negligible Energy Overhead
Measured Energy (Joules)

80
70 Encoding without Encryption
60
50 Encoding with Encryption
40 (Selective)
30
Encoding with Encryption
20
(Nave)
10
0
FOREMAN.qcif NEWS.qcif
Video Clips
Reliable Mobile Multimedia Energy
Implications
Problem and Motivation Idea: ME (Motion Estimation) is..

Most energy consuming operation


Video streams over a wireless network Avoiding ME can improve energy profile
Data loss Error control at the cost of encoding efficiency
High impact on image quality
Channel coding : FEC, Retransmission Making ME algorithm robust against packet loss
Source coding: Error-resilient coding can improve error resiliency

Video Encoder Multiplexing,


Packetizing
Raw ME DCT Q VLC & Channel Lossy
Video Encoding Network

Probability Based Partial intra-coding


trade-offs among error resiliency, encoding efficiency, energy consumption

Experimental Study
Encoding Energy Consumption (iPAQ) PNSR Variation Encoding Energy Consumption (iPAQ)

25 36
25
30
20 20
Encoding Energy (J)

NO 24

Energy(J)
Encoding
PSNR (dB)

15
15 PBPAIR 18

PGOP-3 10
12
10 GOP-3 5
0.9
AIR-24 6
0.6
5 0
0
0.3 Intra_Th
0 0.2 0.4 0.6 0
0.8
1

11

13

15

17

19

21

25

27

39

41

43

45

47

49
23

29

31

33

35

37

1
0 Frame Number PLR
foreman akiyo garden PBPAIR PGOP-1 GOP-8 AIR-10 0-5 5-10 10-15 15-20 20-25

Energy efficiency Fast recovery Flexibility


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 1. Resource Discovery
available resources on Grid 2. Schedule Planning
and Clients

Replace the data


to grid resources

Directory Tertiary Data


Info
Admission Control Service Storage

Placement Req@ Volunteer


Req Request Req* Management Servers(Grids)
Broker
Scheduler
Req Mobile
Client
Resource Req#
Mobile Client Reservation
Monitoring
Moving_Profile Grid
Reports changes in
Monitoring grid resources
Mobility Pattern detection

MapGrid Middleware Service Architecture 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 , DBWa }
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 )
LF j ( 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


choose available VSs
choose lighter loaded VSs
choose closer VSs
Satisfy different QoS reqirements on service
N All chunks have VS response time, service continuity
assignments?

Y Rescheduling when device has no enough


residual energy for the current QoS level
Rescheduling if dynamic
Rescheduling when grid node fails
changes happen
Grid Resource Discovery for
Mobile Services
Partition Service Period

Problem:Volunteer Server Allocation


Determine number of partitions and size of each
partition
Machine
N learning approach using mobility info
All chunks have VS
assignments?

Rescheduling if dynamic
changes happen
Grid Resource Discovery for
Mobile Services
Partition Service Period

Volunteer Server Allocation

N
All chunks have VS
Optimizing grid assignments?
resource selection
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)

Collections of services support by


grid significantly increases
request acceptance and
Completion ratios

P2: Deterministic data placement


T2: Random VS availability
MAPGrid Prototype Failure detection for both client and
VSs using Globus life time
management control.
Volunteer
Servers GridFTP

Globus Toolkit
Information Broker
Services
Life time
JADE control
Http
Da
ta
The Volunteer Server can
join and disjoin the grid Client can specify
dynamically . 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, on-
demand 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 services 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 providers 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 providers
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

Cloud
Computing
Evolution of Computing Environment: Promises
[Satyanarayanan_2001] :
Toward Pervasive Computing environment
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
cloud 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

ite
X1 Bd
Bi = Energy
i n X2
inf M1
A1 B1 cost of
Y1
A2 Xn
M2
B2
executing task
D P
device proxy Mi at the
An Y2
Mn
Bn
device.
Ai = Energy A p
Yn in
fi nite

cost of Rp
executing task Runtime on Proxy

Mi at the 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
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
80
END
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 S2 S3
S4 S4

S7 S8 S5 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
Qos Monitoring , Service Discovery
Monitoring

Qos Analyzer
Admission
Control
Scheduler Cloudlet Cloud
Pools Pools
Mobile
Client
Mobile Profile Monitoring

Mobile Profile Analyzer


Middleware Blocks Functionalities
Admission Control Accepts or rejects mobile client requests according to the
resources available and mobile profile (it could be power-
aware, 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 It discovers cloudlets (maybe based on ontology and


Discovery (Cloud and semantics) in the area (like UDDI), its Qos during service
Cloudlets) 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
Bluetooth
Ad Hoc
Cellular
Applications are run over GPRS
......

the most efficient access


networks

Reliable Secure QoS over


multiple access networks UMTS
Always Best Connected: Solution
Components
personal profiles for ABC
profile handling access selection & content adaptation

content adaptation applications adapting to access & device

session continuity, session transfer


mobility management support for real-time services

AAA support authentication, authorization, accounting


accesses, services... single logon
what access to choose; what is best?
access selection user/network-based solution
one or multiple accesses in parallel

access discovery 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 Multiple Constraints

QoS requirements
Non-predetermined traffic
flows start/terminate at Energy consumption
discrete time points. User/application
Access networks bandwidth specified access
and delay might fluctuate. 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 Ad Hoc Networks


Mobile IP (MIP) Introduction: difference from
Introduction (goals, architecture, Wireless Sensor Networks
protocol, examples) (WSNs)
MIP messages, encapsulations Routing Protocols
MIP issues: triangular routing, WRP
reverse tunneling, MobileIPv6 AODV
Micro-mobility Protocols DSR
Cellular IP Improvements:
HMIP interference levels
MobileNAT topology control/management
Summary 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
Mobile Node (MN)
Correspondent Node (CN): communication partner
2. 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 receiver


3
Internet

FA foreign
network

1. Sender sends to the IP address of MN,


1 HA intercepts packet (via proxy ARP)
CN 2. HA tunnels packet to COA, here FA,
by encapsulation
sender 3. FA forwards the packet to the MN

Wireless Networking 109


Data transfer from the
mobile
HA
system
1 MN

home network sender


Internet

FA foreign
network

1. Sender sends to the IP address


CN of the receiver as usual,
FA works as default router
receiver

Wireless Networking 110


Agenda

Mobile Internet Mobile Ad Hoc Networks


Mobile IP (MIP) Introduction: difference from
Introduction (goals, architecture, Wireless Sensor Networks
protocol, examples) (WSNs)
MIP messages, encapsulations Routing Protocols
MIP operations: triangular WRP
routing, reverse tunneling, AODV
MobileIPv6
DSR
Micro-mobility Protocols
Improvements:
Cellular IP interference levels
HMIP topology control/management
MobileNAT 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/ Hybrid On- Clusterbased/


Hierarchical
Proactive Demand
Distance Link- /Reactive
DSR
ZRP LANMAR
Vector State AODV CEDAR
TORA
DSDV OLSR
TBRPF
MANET: Mobile Ad hoc Network
FSR
STAR (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 10s >1000: larger scale and more


redundancy

mobility slow (meeting) ~ fast (cars): slow (habitat) ~ fast: less focus on
focus on mobility mobility so far

similarity No infrastructure, multi-hop, wireless networks

Wireless Networking 117


Address Centric Routing
(AC) Temperature Reading
Temperature Reading (source 2)
(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
Temperature Reading (source 2)
(source 1)

source 2

source 1

source 2
Z

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 L
J
A G
H D
K
I 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 L
J
A G
H D
K
I N

Represents transmission of RREQ

Wireless Networking 123


Route Requests from S to
D in AODV
Y

Z
S E
F
B
C M L
J
A G
H D
K
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 L
J
A G
H D
K
I 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 L
J
A G
H D
K
I N

Wireless Networking 126


Reverse Path Setup in
AODV
Node D does not forward RREQ, because node D Y
is the intended target of the RREQ
Z
S E
F
B
C M L
J
A G
H D
K
I N

Wireless Networking 127


Route Reply from D to S in
AODV
Y

Z
S E
F
B
C M L
J
A G
H D
K
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 L
J
A G
H D
K
I 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. Y
Route is not included in packet header.
DATA
Z
S E
F
B
C M L
J
A G
H D
K
I 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 L
J
A G
H D
K
I N

Represents a node that has received RREQ for D from S

Wireless Networking 134


Route Discovery in DSR
Y
Broadcast transmission

[S] Z
S E
F
B
C M L
J
A G
H D
K
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 [S,E]
E
F
B
C M L
J
A [S,C] G
H D
K
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 [S,E,F]
B
C M L
J
A G
H D
[S,C,G] K
I 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
F [S,E,F,J]
B
C M L
J
A G
H D
K
I [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 RREP [S,E,F,J,D]
E
F
B
C M L
J
A G
H D
K
I 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] Z
S E
F
B
C M L
J
A G
H D
K
I 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 packets 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

Das könnte Ihnen auch gefallen