Dynamic Rate Adaptatio n in IEEE 802.11 WLANs SongYiLin@ICT August 10, 2008
Mar 27, 2015
Dynamic Rate Adaptation in IEEE 802.11 WLANs
SongYiLin@ICT
August 10, 2008
References
[1] On the Performance Characteristics of WLANs: Revisited (SIGMETRICS 2005)
[2] CARA: Collision-Aware Rate Adaptation for
IEEE 802.11 WLANs (INFOCOM 2006)
[3] Robust Rate Adaptation for 802.11 Wireless Networks (MOBICOM 2006)
[4] IEEE 802.11 Rate Adaptation: A Practical Approach
(MSWiM 2004)
[5] Link Adaptation Strategy for IEEE 802.11 WLAN via Received Signal Strength Measurement (ICC 2003)
Outline
Introduction of Rate Adaptation in IEEE 802.11 WLANs
Existing ChallengesDevelopment of Rate Adaptation Al
gorithmsPresentative old onesNew Kids in this areaMy Opinion
Outline
Introduction of Rate Adaptation in IEEE 802.11 WLANs
Existing ChallengesDevelopment of Rate Adaptation Al
gorithmsPresentative old onesNew Kids in this areaMy Opinion
802.11 MAC (with RTS/CTS on)
[2]
RTS: 20 bytes in mac
CTS: 14 bytes in mac
What is “Rate Adaptation” ?
The 802.11 a/b/g/n standards allow the use of multiple transmission rates
802.11b, 4 rate options (1,2,5.5,11Mbps) 802.11a, 8 rate options (6,9,12,18,24,36,48,54
Mbps) 802.11g, 12 rate options (11a set + 11b set)
The method to select the transmission rate in real time is called “Rate Adaptation”
Rate adaptation is important yet unspecified by the 802.11 standards
Why do we need “Rate Adaptation” ?
AccessPoint MN
Why do we need “Rate Adaptation” ?
AccessPoint MN
Why do we need “Rate Adaptation” ?
AccessPoint MN
Distance Effects :attenuation
fading interference
SRN
Why do we need “Rate Adaptation” ?
[5]
BPSK 1MbpsQPSK 2Mbps
BPSK/QPSK/CCKDifferent
modulation schemes
Best throughput
How to adjust the rate ?
Rate adaptation plays a critical role to the throughput performance
Ideally, the transmission rate should be adjusted according to the ……
throughput decreases
Rate too high
Loss ratio increases
Rate too low
under-utilize the capacity
channel condition
How to estimate channel condition ?
SNR of the channel SNR of receiver…… no feedback in 802.11…… fluctuation of SNR……
Gauging how well the currently chosen rate performs (Statistics: transmission loss/success) not timely affected by random collisions (unnecessary downshift)easy to implement
receiversender
Modified frame
Symmetric link
Outline
Introduction of Rate Adaptation in IEEE 802.11 WLANs
Existing ChallengesDevelopment of Rate Adaptation Al
gorithmsPresentative old onesNew Kids in this areaMy Opinion
Channel Dynamics
Wireless channel exhibits rich channel dynamics in practical scenarios
Random channel errorMobility-induced changeCollisions induced by
Hidden-terminals Multiple contending clients
Random collision congestion
Channel Dynamics
When should the transmission rate be updated?
too quick: perform bad when channel conditions fluctuate acutely
too slow: not in time (base on a relative long history)
The algorithm should be adaptive…
Equidistant Distribution
AccessPoint MN2
MN1
MN4
MN3
Node Contention Effects:
Collisions induced by: random backoff hidden terminal
Equidistant Distribution- random collisions
[1]
means:unnecessary
downshift
Equidistant Distribution- hidden terminal
[3]
means:unnecessary
downshift
Hidden terminal broadcast packets at a mild rate of 0.379Mbps continuously while other nodes begin with 11Mbps
Non-equidistant Distribution
AccessPoint
MN3
Nodes Diversity Effects:
collisionshidden terminalchannel diversity link capture
MN1
MN2
MN4
fairness
Non-equidistant Distribution- fairness
The poor-channel flows would consume more time and system resources
Different kinds of fairness: throughput fairness time-share fairness
In single-rate networks: equivalent
In multi-rate networks: time-share fairness is the one to be concerned
Outline
Introduction of Rate Adaptation in IEEE 802.11 WLANs
Existing ChallengesDevelopment of Rate Adaptation Al
gorithmsPresentative old onesNew Kids in this areaMy Opinion
Rate Adaptation Algorithms List
1997 ARF1998199920002001 RBAR2002 OAR 2003 LA 2004 AARF MultiRateRetry AMRR 2005 ONOE LD-ARF SampleRate2006 CARA RRAA2007 AORA CHARMTBC ……
Classification of existing algorithms
Open-loop
Local channel estimation
Closed-loop
Packet transmissionsituation
RTSCTS
Beaconprobe response
Information channel estimation depends on:
LACHARM
AORA (idle slots)
ARFAARFMMR
AMRRONOE
LD-ARF(NACK)SampleRate
CARARRAA
RBAROARCARARRAA
CHARM(noise)
Classification of existing algorithms
Estimation (channel conditions)
Which layer to use
Action (how to adjust)
Which messages to use
How to estimate
sequentialrate
adjustment
bestrate
adjustment
PHYMAC hybrid datasignal
probe Noprobe
mappingcalculate
deterministicstatistical
Rate Adaptation Processing:
RBAROAR
ARF/AARFMMR/AMMR
LD-ARFSamleRate
CARA 、 RRAAAORA 、 ONOE
LA 、 CHARM
RBAROARCARA
LD-ARFRRAA
CHARM
ARF/AARFMMR/AMMR
LD-ARFSampleRate
AORACHARM
RRAA
RBAROARLA
CHARM
ARFAARF
LD-ARFMRRONOECARA
AMRRSampleRate
RRAAAORA
CHARM
ARFAARFMRR
AMRRONOE
LD-ARFCARARRAAAORA
RBARLA
SampleRateCHARM
Trend of rate adaptation algorithms
open-loop & statistics based: ARFclose-loop & SNR based (rts/cts): RBAR/OARstatistics & SNR based & adaptive: LAstatistics based & adaptive: AARFstatistics based & adaptive & estimate transimission time for differe
nt rates: SampleRatestatistics based & collisions avoid/detect: CARA 、 RRAA
• easy to implement
• can not react on the real time channel situation
• suffer from random collisions
• not compliant with current 802.11 networks
• The SNR is obtained based on” Symmetric link”, which is not accurate…
• improve the upshift performance
• Still suffer from random collision
• One probe every 10 frames
• Can react quickly to mobility
• Too sensitive to probe failure
• Differentiate the reasons for packet loss…
• Increasing load at some level…
Each algorithm has its own Achille’s heel…
Outline
Introduction of Rate Adaptation in IEEE 802.11 WLANs
Existing ChallengesDevelopment of Rate Adaptation Al
gorithmsPresentative old onesNew Kids in this areaMy Opinion
Presentative old ones ARF RBAR OAR LA AARF SampleRate
ARF- How does it work ?
Use packet transmission situation to estimate the channel condition:
If two consecutive ACK frames are not received correctly, the second retry and subsequent transmissions are done at a lower rate and a timer is started.
When the number of successfully received ACKs reaches 10 or the timer goes off, a probe frame is sent at the next higher rate. However, if an ACK is NOT received for this frame, the rate is lowered back and the timer is restarted.
ARF- Does it work well ?
Advantages: Compliant with 802.11 All things can be done by the sender Easy to implement
Disadvantages: Suffer from random collisions and hidden ter
minals Constantly upshift try when channel conditio
n is stable Rate can only be adjusted step by step
RBAR- How does it work ?
Receivers control sender’s transmission rate:
RTS and CTS are modified to contain info on size and rate.
Uses analysis of RTS reception to estimate SNR and send choice back to sender in CTS.
Receiver picks rate based on pre-defined SNR thresholds.
RBAR- Does it work well ?
Advantages: Rate can be adjusted according to the real time
channel condition Do not need to adjust the rate step by step Will not suffer from random collisions and hidd
en terminalsDisadvantages:
not 802.11 compatible (modified RTS/CTS) The rate-SNR table is obtained based on a priori
channel mode SNR is not easy to get (most WLAN cards only ha
ve RSSI) RTS/CTS is seldom used (only when the frame is
too large…) RTS/CTS introduce extra load
OAR- How does it work ?
Make full use of coherence times, provide time-share fairness:
Improvement based on RBAR.
Coherence times are durations for which mobile stations have better-than-average channels.
Grant the user during a coherence time a channel access time that allows multiple packet transmissions (Fragment
mechanism in 802.11).
The poor-channel flows would consume more time and system resources
OAR- Does it work well ?
Advantages: Nodes with good channels can se
nd more packets while providing time-share fairness to all the nodes
The same as RBAR…Disadvantages:
The same as RBAR…
LA- How does it work ?
Assume that the channel is symmetric: Use RSSI to approximate SNR. Use SNR of the sender to approximate
SNR of the receiver. Each node maintains 12 dynamic RSS
thresholds. The thresholds are updated depending on
whether the transmission is successful.
Rate selection is based on both the RSS thresholds and number of retransmission attempts.
LA- Does it work well ?
Advantages: 802.11 compatible. RSSI is much more easy to get. Rate can be adjusted according to the
real time channel condition. Do not need to adjust the rate step by
step. Can adjust the rate during network
congestion.
Disadvantages: The symmetric assumption is dubitable. RSSI is quite different from SNR. suffer from random collisions and hidden
terminals.
AARF- How does it work ?
Dynamic adjust the upshift threshold of ARF:
Improvement based on ARF. To fix one existing problem of ARF (Constantly u
pshift try when channel condition is stable)
ARF
AARF
AARF- Does it work well ?
Advantages: Compliant with 802.11 All things can be done by the sender Easy to implement
Disadvantages: Suffer from random collisions and
hidden terminals Rate can only be adjusted step by step When channel condition gets better
quickly…it can not react quickly on it
SampleRate- How does it work ?Select rate by statistic information about the tr
ansmission time for each rate: maintain the expected transmission time for each ra
te and update it after each transmission. (wnd=1s--10s)
A frame is transmitted at the rate that currently has the smallest expected transmission time.
sends one probe packet at another randomly selected rate every 10 frames.
Downshift its rate every 4 consecutive transmission failure.
SampleRate- Does it work well ?Advantages:
React quickly to mobility Do not always need to adjust the rate
step by step Compliant with 802.11
Disadvantages: suffer from random collisions and
hidden terminals (time window) Can be very sensitive to probe failure
Outline
Introduction of Rate Adaptation in IEEE 802.11 WLANs
Existing ChallengesDevelopment of Rate Adaptation Al
gorithmsPresentative old onesNew Kids in this areaMy Opinion
New Kids in this area
CARA - Collision Aware Rate Adaptation
RRAA – Robust Rate Adaptation Algorithm
CARA- the key idea
The primary contribution is to differentiate frame collisions from frame transmission failures caused by channel error.
focus on rate down only, rate up is the same as that of ARF
Two methods for identifying collisions:• Adaptive RTS probing• Identifying collision via CCA detection
CARA- Adaptive RTS Probing
Assumptions:All RTS transmission failures are
due to collisions.Transmission failure after RTS/CTS
must be due to channel errors.To reduce the signaling overhead,
RTS probing that enables an RTS/CTS exchange ONLY when a data frame transmission fails.
CARA-with default RTS Probing
Data frame transmitted without RTS/CTS.
If the transmission fails, RTS/CTS exchange is activated for the next retransmission. If this one fails again, then the rate is lowered.
If retransmission is successful, stay at the same rate and send next frame without RTS/CTS.
CARA –Identifying collision via CCA detection
If the wireless channel is busy while the expected ACK reception dose not start, the station conclude that a collision has just happened to its data transmission.
[2] A transmission failure detected by CCA to be a collision will not cause a RTS Probing
CARA- Performance evaluation 1
[2]
CARA-1: CARA with only default RTS Probing RTS/CTS: ARF scheme using RTS/CTS all the time
CARA- Performance evaluation 2
[2]
CARA-1: with only default RTS Probing CARA-2: with both default RTS Probing and CCA detecion
CARA-existing problems
When the channel condition is so bad that even the RTS can not be sent… CARA will be stuck there…
The network congestion can not be sensed, in which situation the rate should be downshifted…
when hidden terminals exist, it suffers from the drawback of RTS oscillation, which alternates on and off for RTS.
RRAA- the key idea
Short-term statistics to handle
• random loss• mobility• drastic changes
Adaptive RTS to handle
• collision
RRAA- loss estimation
Instead of single probe frame.Uses a loss estimation window and comp
utes the estimated loss ratio over the window (20-100ms).
Uses upper and lower loss threshold for each rate and estimated loss ratio to decide when to switch rates.
Otherwise, retain the current rate and continue sliding window
RRAA- Critical Loss Ratio (P*)
For any rate R, let the next lower rate be R_ and the next higher rate be R+.
With a loss ratio of P*, the throughput at R becomes the same as the loss-free throughput at R_.
RRAA- PMTL and PORI
We set PMTL = αP*(R), α ≥ 1• Decrease the rate when expected throughput
is more than PMTL • α = 1.25>1, to anticipate certain level of losses at
R_
PORI = PMTL(R+) / 2• increase the rate when expected throughput
is less than PORI • The loss ratio at the current rate R has to be
small enough such that the rate increase not quickly jump back to R
RRAA- Rate change
[3]
loss ratio thresholds:
RRAA- Adaptive RTS Filter
Selective use of RTS/CTS Tradeoff between overhead and benefits
of RTS
RTSwnd (RTScounter) RTSwnd is initially set to be 0. Window is increased by one when last frame lo
st without RTS (potentially due to a collision) When the last frame was lost with RTS or succe
eded without RTS, RTSwnd is halved (assume no collision involved).
RRAA- A daptive RTS Example
Collision may
occur
Nocollisio
n
More packets are sent with RTS if
the collision level is high
RRAA- Performance evaluation
[3]
Compared with ARF 、 AARF 、 SampleRateStatic client case:
• Throughput gains 0.3% ~ 67.4%
Mobile client case• Throughput gains 10.0% ~ 27.6%
Hidden-station case• Throughput gains 74% ~ 101%
RRAA- existing problems
[3]
How to decide the window size under different situation
The network congestion can not be sensed, when turn on RTS/CTS
Outline
Introduction of Rate Adaptation in IEEE 802.11 WLANs
Existing ChallengesDevelopment of Rate Adaptation Al
gorithmsPresentative old onesNew Kids in this areaMy Opinion
My Opinion The ability to differentiate the reasons
for a frame loss. Link error (SNR) Random collisions/Hidden terminals Network congestion (available bandwidth?
CCA? Idle slots?) The speed of the adaptation (be
adaptive in different situation? What happens when introduce handoffs here?)
The interaction between link-layer rate adaptation and high-layer (TCP) rate adaptation
An Evaluation model
Thanks……
Questions?