QoS in Windows 7


Hello all. My name is Charley. I’m the new QoS program manager for Windows Core Networking.


It has been a while since we posted our last article about QoS. We want to assure you that we’re still committed to improving this technology and building new QoS features in Windows. We received many questions and suggestions from you in the past. We hope you continue doing so because they are important to us.


You probably all know that Windows 7 beta is live and available for you to download. You may wonder what is new in Windows 7 regarding QoS. But before getting to that, I’d like to refresh our memory as to what was new in Windows Vista. In Vista, we introduced two major QoS features: qWAVE and Policy based QoS. qWAVE, or Quality Windows Audio Video Experience, is designed to estimate the network bandwidth, intelligently mark the application packets (with proper DSCP values), and interact with the application in the event of network congestion or fluctuations of available bandwidth (so that the application can take appropriate actions). qWAVE APIs aim to simplify the work of application developers developing QoS-enabled applications for a home network. The APIs are documented in the Windows SDK. In contrast, Policy based QoS has a different target audience. It is intended to enable IT administrators to apply QoS to applications (which don’t need to have native supports of QoS), computers, and users in their enterprise network. It is especially beneficial to an organization with branch offices, where the WAN link capacity is limited and users tend to experience unpredictable network delays when accessing files or applications hosted on the main campus (or a different branch office). If you’d like to know more about these features, we’d suggest you read an excellent article written by Joseph Davies for TechNet magazine. Click here to check it out.


So what’s new in Windows 7? The enhancement we’ve made is called URL based QoS. If you’re familiar with Policy based QoS you know that in Vista an IT administrator can create a policy based on the application name, source and/or destination IP addresses, source and/or destination ports, and the protocol (TCP, UDP, or both). We’ve learned since then that many enterprise applications have been, or will be, hosted on web servers and accessed from a browser, so the IT administrators would love to be able to prioritize or control the network traffic from those web-based applications, provided that a convenient configuration is available. To answer their request, we’ve added a new configuration option: you can create a policy based on the URL of an HTTP server. Say, you host all the training videos of your company on an IIS server running Windows 7 (or more precisely, Windows Server 2008 R2). You can then use a URL based QoS policy to throttle the video traffic (to prevent it from overwhelming your corporate network). Or, you host your company’s CRM or ERP applications on an HTTP application server running Windows 7. You can similarly use a URL based QoS policy to prioritize these applications traffic so that even users at a remote branch office always get prompt replies and have smooth UI experience.


Does this sound interesting to you? Please let us know what you think. In the next blog, we’ll detail the configuration and the rules.


Charley

Comments (14)

  1. Mitch says:

    Charley, thanks for the post.  I came here looking for a simple feature that could be very handy to other Windows 7 users.  How do I make sure IE, or Firefox is fast, even when Steam is updating my collection of games?  Will Windows 7 QoS provide the capability to give priority to certain exe’s to get the fastest response possible, or to set others to only use background transfers.  This would help people like me, and allow programmers to automatically set applications to use background bandwidth with as little affect on the applications that are interactive, including web browsing or video chatting over MSN?

  2. Aibulat says:

    Hello,

    I tested Policy Based QoS on several systems (Vista, Win2k8, Windows7).  It seems it works if deployed only by domain GPO (site, domain, OU), not by local policy. So it can’t be used on standalone servers… Correct me if I wrong.

  3. germanruiz says:

    Hi, i mount windows server 2008 and windows vista, i try to apply a policy based QoS, bur this not function, i don’t specify a DSCP value, only configure an acceleration speed, i need to limit the HTTP download traffic to only 128 Kbps, i apply this GPO for only TCP traffic, by the port 80, and all applications, and all local and remote IPs, but this restriction don’t function.  I test that the GPO is was appliying the command gpresult in the client computer.  I try appliying by User and by computer, but don’t suceed, please help me to know how i can make this function (excuse me by my poor english, im from Colombia and speak spanish).

  4. Pavel says:

    I can use QoS for divide my Local (10 mbs) and Internet (100 kbs) traffic? I want that one program using Local traffic only whithout Internet traffic. I can make it? How?

  5. Anonymuos says:

    Does WMP remote media streaming using URL-based QoS?

  6. Charley Wen says:

    The short answer is No.

    URL-based QoS is an admin tool, not a set of APIs. An admin can create URL based QoS policies for applications running (on IIS servers) in a managed network, e.g. a corpnet. It can’t work over the Internet because no one owns the Internet.

  7. charwen says:

    To Mitch,  Windows 7 QoS doesn’t have what you’re looking for. Sorry.

    To Aibulat: Policy based QoS *can* be configured on a client or a server locally. The only thing you need to watch out for is that the local policies cannot conflict with those configured on a domain controllor in your network. If there’s any conflict, the ones on the DC wins. If it doesn’t work, tell us more about your setup and configurations we’d like to help.

    To germanruiz: it seems you tried to use the throttling feature. Please note that Throttling supported by Policy based QoS only applies to the outbound traffic – which goes from your computer to the network. So you won’t be able to throttle HTTP downloads, which comes from the network to your computer.

    To Pavel: it seems you want to limit your program to the LAN. Correct? Sorry, QoS is not the answer. You might try the access control feature available on your home router, if it supports the feature.

  8. NJKA says:

    Every since Vista, networking in Windows has become a total mess. Drivers that do not work and/or are flacky. Network speeds are horrendous and very difficult to tweek. Why must we have to mess with weard command prompt settings to get gigabit performance. Out of the box the typical network speed is 2-3mb when it should be up there in the 30-40mb ps.

    Unfortunatly Windows 7 is no different.

  9. NJKA: It would be intresting to find out more about the  (software/hardware) configuration you are have problems with. What you are experiencing is not normal, I hardly ever touch my win7 net configuration, use default drivers and I just easily maxed out my office 100 Mb port with a file copy from a win2k8 server. For your own investigations the first thing I’d look at is if you are getting alot of TCP retransmissions.

  10. WJR says:

    Similar to Aibulat I do not use my Win7 desktop within the realm of a DC or AD. I have set a "Policy based QOS" policy under my Local Computer Policies. For testing purposes I only specified the Outbound Throttle Rate for all applications and all ports. However it does not seem to have any influence on my outbound network rate.

    Should it work on a desktop NOT in a domain????

    Thanks

  11. charwen says:

    WJR, I forgot to point out in my response to Aibulat that a client computer (running Win7 client SKU) has to be domain-joined in order for the local QoS policies to be effective.

  12. WJR says:

    Hi Charley,

    Thanks. That explains a lot. It does simply not work on a stand-alone machine.

    Thanks!

  13. DebiMoore says:

    We are currently running trials for Unified Communication and I am particularly interested in what DSCP bits are set for the voice and video streams by Windows and if these are changeable.  The other area I am interested in regarding RTP type traffic is around the control of both CPU and memory on a Windows server. i.e. what is going to happen to my RTP Voice stream if antivirus or outlook kicks in.

    I have also seen some of the reports done by Psytechnics but I cannot establish how many clients where tested at once and if these users where located on a WAN, LAN or over the Internet

    Any suggestions where I could find this information would be helpful