Good WMM Examples

Unanswered Question
Dec 31st, 2009
User Badges:

Does anyone have a link to any good examples of how WMM works?  I know the process is for the device to look for a clear signal, reduce down the random time and then send frame, but I'm having a hard time visualizing the exact process.  Let me give an example (questions are in bold):

John and Rita are trying to access the network.  John is using the VO (Video) class and Rita is using BE (Best Effort) class.  Both produce a random wait time between 0 and the contention window minimum (lets say 2 for John and 4 for Rita).  Let's say John's random number is 1 and Rita's is 4.  So after they hear the channel is clear the reduce down the random number (how is this decremated, per microsecond or is there a different reduction?) and the frame is sent (does it just send the frame or does it check the channel again?).  Since John has the lower random number he will send, but when Rita hits 0 she will check the channel and double her random number (again does she check the channel before sending?  Also, does this start counting down after the channel is clear again?).

I don't know why I can't seem to wrap my head around this process but it's driving me nuts.  Conceptually I understand it but I want to get into the nuts and bolts so I REALLY get it.

Thanks in advance.


  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
Ryan Curry Thu, 12/31/2009 - 10:23
User Badges:

Well, the answer was somewhat in front of me (found here (page 2-11):

This bit is a decent example:

1. While Station X is transmitting its frame, three other stations determine that they must send a frame.
Each station defers because a frame was already being transmitted, and each station generates a
random backoff.
2. Because the Voice station has a traffic classification of voice, it has an arbitrated interframe space
(AIFS) of 2, and uses an initial CWmin of 3, and therefore must defer the countdown of its random
backoff for 2 slot times, and has a short random backoff value.
3. Best-effort has an AIFS of 3 and a longer random backoff time, because its CWmin value is 5.
4. Voice has the shortest random backoff time, and therefore starts transmitting first. When Voice starts
transmitting, all other stations defer.
5. After the Voice station finishes transmitting, all stations wait their AIFS, then begin to decrement
the random backoff counters again.
6. Best-effort then completes decrementing its random backoff counter and begins transmission. All
other stations defer. This can happen even though there might be a voice station waiting to transmit.
This shows that best-effort traffic is not starved by voice traffic because the random backoff
decrementing process eventually brings the best-effort backoff down to similar sizes as high priority
traffic, and that the random process might, on occasion, generate a small random backoff number
for best-effort traffic.
7. The process continues as other traffic enters the system. The AC settings shown in Table 2-3 and
Table 2-4 are, by default, the same for an 802.11a radio, and are based on formulas defined in

Scott Pickles Mon, 01/04/2010 - 12:31
User Badges:

Ryan -

What you've landed on it probably the best example of how WMM works.  When I have more time, I'll look for other examples.  But know this:  the client will ALWAYS check the channel again before sending.  This is part in parcel of the 802.11 standards, and not necessarily related to WMM.  I personally still struggle with QoS over the air - how do we give preference to one stream over another?  Since wireless is Carrier Sense Multiple Access with Collision Avoidance, there's no physical medium that can be tested like voltage on the wire, so each station must check prior to transmitting.  A simple description of CSMA/CA is here:



This Discussion