GQoS vs QoS2 vs qWAVE  
Author Message
Kevin OConnor





PostPosted: Network Quality of Service (QoS/qWAVE), GQoS vs QoS2 vs qWAVE Top

I have some applications that make use of GQoS under XP and Server 2003 and I've heard a lot about QoS changing in Vista. I've been looking all over the MSDN web site, but I'm still a little confused.

What's the difference, if any, between QOS2 and qWAVE

The qWAVE documentation states that it's "mainly targeted for use by multimedia applications that require network streams on a home network". Does this mean I should still use GQoS for my enterprise applications under Vista and Longhorn

Thanks

Kevin O'Connor
Interactive Intelligence, Inc.


Windows Networking Development14  
 
 
Mathias Jourdain - MSFT





PostPosted: Network Quality of Service (QoS/qWAVE), GQoS vs QoS2 vs qWAVE Top

QOS2 is the api name (header file is qos2.h) for the qWAVE networking technology.

You are correct that qWave is mostly targeted at multimedia applications. However it can also be used for different scenarios depending on what you're doing. The other new QOS feature in Vista is our enterprise QOS solution. There's a white paper about it at this URL on microsoft.com.

We'll be happy to help you select the best technical approach to your problem. Can you describe how you're using QOS and what you'd like it to do



 
 
Kevin OConnor





PostPosted: Network Quality of Service (QoS/qWAVE), GQoS vs QoS2 vs qWAVE Top

Sure. We develop Windows-based telephony systems. One component of our system is a media server which sources, sinks and manipulates RTP voice streams. One media server can easily have hundreds of RTP streams flowing into and out of it at any time.

To our customers, that we're running under Windows is of no consequence. They view us as a type of network device. Giving them documentation on how to configure enterprise QoS under Windows isn't acceptable when all they really want is for us to tag our packets with the DSCP values used in their switch/router/whatever configurations.

We currently use the Generic QoS APIs to tag our traffic. The main problem we've found with this is that our customers understand the DSCP value and want to configure that directly. They don't like the fact that they have to find out what service level our application uses, and then open up the global policy editor and map that service level to their preferred DSCP value. This also breaks down if they have two or more applications that have chosen the same service level in the Generic QoS flowspec, but the customer would like to use different DSCP values for each application.

We've considered using the setsockopt() with IP_TOS, but this is deprecated, requires a registry hack and, presumably, sidesteps traffic prioritization within the Windows network stack.

I haven't looked into the qWAVE APIs yet because I was thrown off by the fact that it was intended for home networks.

Kevin O'Connor
Interactive Intelligence, Inc.

 
 
Gabe Frost





PostPosted: Network Quality of Service (QoS/qWAVE), GQoS vs QoS2 vs qWAVE Top

Hi Kevin,

Unfortunately, both GQoS and qWAVE (qos2.h) do not provide a means to set arbitrary DSCP for outgoing traffic on a socket, only specify a traffic class for which a default DSCP is applied (unless you want to muck with group policy to change the default). The only way to accomplish this in a consistent way for both down-level OS and Vista is to use the Traffic Control (TC) API, which requires administrative privileges. Unfortunately, this API is deprecated as well.

We had hoped to update the qWAVE API with easy ability to do what you're asking, but we ran out of time. Post Vista we will have a better solution by way of update to qWAVE and/or replacement for TC. Feel free to email me directly (gfrost <at> microsoft) to chat further about this. I'm always eager to hear feedback from folks using these APIs on ways to improve and enable new scenarios.

-- Gabe