Subject: 802.11 link adaptation thoughts
To: None <tech-net@netbsd.org>
From: David Young <dyoung@pobox.com>
List: tech-net
Date: 10/03/2004 18:11:03
Here are some thoughts about link adaptation for 802.11.  I haven't got
time to make these ideas into code.

Research publications by the MIT Roofnet research group---see
<http://pdos.lcs.mit.edu/~rtm/>---suggest how to produce a new
link-adaptation algorithm.  They observe on both indoor and outdoor
testbed networks that received signal strength (RSS) is not a strong
predictor of the best transmission rate.  One naively expects that a high
bit-rate (11Mbps, say) will have more frame errors than a low bit-rate
(1Mbps) at the same S/N.  rssadapt, the host-based link adaptation in
the kernel, is built on this assumption.  The MIT group find out that
the assumption is false.  They observe that when multipath delays are
approximately an integer multiple of the bit duration, roughly speaking,
802.11 receivers cannot counteract the interference between bits.
This means that an RF channel may pass frames sent at 11Mbps more reliably
than frames sent at 1Mbps.

I will describe my idea for a new link-adaptor in broad outline.
My link-adaptor will use feedback from the transmit section of the MAC to
compute the Expected Transmission Time (ETT---see the Roofnet literature)
for unicast packets between 256 and 512, 512 and 1024, 1024 and 2048,
2048 and 4096 microseconds (say), at each bit rate, for each receiver.
That is, it will keep a table, ETT[receiver][duration][bit rate].
The MAC will tell the retry count after each transmission; the
link-adaptor will use the tuple [receiver, bit rate, fragmentation
threshold, retransmission count] to update the table.  The link-adaptor
will choose the bit rate and fragmentation threshold for a data packet
by a pseudo-random process.  With highest probability, the link-adaptor
will choose the bit rate and fragmentation threshold that optimizes a
packet's ETT; with lowest probability, the link-adaptor will choose the
bit rate and fragmentation threshold with highest (worst) ETT; and it will
choose all other rate/threshold combinations with probability inversely
proportional to their ETT.  In this way, the link-adaptor *usually*
chooses the high-throughput rate & frag. threshold, but it makes chance
suboptimal choices in order to keep the ETT table up-to-date and adapt
to changing channel conditions.

This link adaptation has two useful side-effects.  First, a daemon can
extract the ETT table from the kernel, and use it to calculate the
Expected Transmission Time (in bits/microsecond) for traffic to the
access point.  You can divide the ETT by the theoretical maximum ETT for
the wireless LAN you have joined, and provide a meaningful percentage
"link quality" to the user.  You can also feed the ETT to a wireless
routing daemon, helping it to choose high-throughput paths using the
Weighted Shortest Path First algorithm.

Dave

-- 
David Young             OJC Technologies
dyoung@ojctech.com      Urbana, IL * (217) 278-3933