Using WMM to ensure Video QoS
Hello Tim,
We have been experimenting with the IEEE 802.11e/WMM mechanism for the last 4 years or so, specifically to support QoS provisioning for real-time services such as VoIP and video streaming.
I have recently come across your article on your experiences with WMM and have followed with interest the subsequent threads.
Perhaps, I could share our experiences in this field with you.
Firstly, the IEEE 802.11e/WMM mechanism is only a QoS
enabling mechanism. It will not in itself deliver QoS, you have to build a bandwidth/QoS management system around it. So, simply switching on the feature will not have any effect.
Secondly, there are two main problems with using WMM to prioritise traffic, namely tagging the traffic to make sure that it gets put into the correct queue (i.e. Access Category) and then appropriately setting the EDCA parameters (i.e. AIFSN, ECWmin, ECWmax) to ensure that the queue enjoys the prioritised access to the medium.
Tagging the traffic is a real problem, since most applications will not allow you do this. For this reason, we tend to use open source applications where we can modify the code to do this. Next the QAP needs to be configured so that when the tagged packet arrives into the QAP, it gets put into the correct queue. We have using enterprise APs, e.g. the Cisco 1200 and 1400 series, where there are extension configuration menus to do this.
Deciding what EDCA values to use is probably the biggest problem with the WMM mechanism because there are too many to them and furthermore the mechanism by which they determine the performance is too complex (and in reality poorly understood). Most implementations/reports seem to rely on static default values and which usually yields poor results. The reason for this relates to the contention based access method where users must compete for access - in other words users have to fight for bandwidth. This makes bandwidth/QoS provisioning extemely challenging. In fact, the two biggest problems with WLANs are the inability to provision bandwidth and guarantee QoS. Because, users must compete for bandwidth, the capacity of a WLAN network is not fixed and furthermore different users will experience different capacities depending on the traffic that they are transmitting and on the traffic that their neighbours/competitors are transmitting.
The IEEE 802.11e/WMM was introduced as an attempt to address by allowing for a prioritization in terms of access whereby high priority users could win more transmission opportunities and hence enjoy a greater share of the bandwidth. However, given that the available bandwidth, i.e. capacity, is not fixed prioritising the access will not guarantee bandwidth.
Instead the solution is to adaptively adjust the EDCA parameters in response to the changing network traffic conditions in order to ensure that all Access Categories (ACs) or queues experience the bandwidth they require. In other words, you need to build a bandwidth/QoS management system around the WMM mechanism.
We have developed a WLAN radio resource controller (WRRC) that adaptively tunes the EDCA parameters in to deliver the specified bandwidth to each of the four ACs supported under 802.11e/WMM. You can read more about the details of our research at
http://www.cnri.dit.ie/research.wlan.html where you can also download a demo of the system.
I hope that you find the above useful, it has taken us a number of years to get to grips with WMM and what it can offer. However, we have been successfully using it (in conjunction with our WRRC) to deliver VoIP and video applications over 802.11e/WMM enabled WLAN. Basically, WMM is only a QoS enabling mechanism, you need to build a system around it.
Regards
Mark Davis