What Is QoS And Why Is It Needed?

QoS, or Quality of Service, is the ability to treat data packets differently as they travel between network devices based on the packet contents. Each of these data packets is classified and marked using QoS policies when the packet first enters the network. As the data packets travel through the network, each network device applies policies based on existing markings without having to do an in-depth analysis of the content of each packet, thereby allowing efficient flow of different types of data through the network.

When you come across complaints like "My applications are slow", "My video stream is jerky and the voice is out of sync", or "My video upload is slow", etc. it may be, among other things, because Policy-based QoS has not been implemented over networks, causing erratic behavior during data transfer

Consider the following example:

VIDIZMO relies on user access to its web server so that they can watch streaming content. Another user decides to upload a video which requires significant bandwidth resources. Without QoS, a user may experience delays and buffering because of congestion caused by the video being uploaded. With QoS configuration, priority could be given to HTTP packets that are sent to and from the corporate web server, while other web packets could be given lower priority. This would maintain a high level of resources for user access while still providing some bandwidth for uploading. With the mix of traffic present in today’s networks, QoS ensures that the right applications get access to network resources first. 

Monitoring Increased Network Traffic

Increasing video use across corporations poses concern regarding enterprise network’s ability to stream video in bandwidth-challenged networks. To ensure optimal delivery of live or on-demand video to all devices and in all bandwidth conditions, VIDIZMO uses a combination of Adaptive Bitrate Streaming, Multicasting, VIDIZMO’s Enterprise CDN built on Edge Caching Software, as well as other WAN optimization technologies.

While VIDIZMO's CDN improves user experience and allows you to achieve efficiency in your network resource utilization, you can also monitor increased network traffic and balance network performance without compromising on the user experience with the use of Quality of Service (QoS) for networks. QoS is an industry-wide set of standards and mechanisms for ensuring high-quality performance for critical applications and is widely used by network administrators to make efficient use of existing resources and to ensure the required level of service is achieved without overwhelming the network. 

Policy-based QoS

Like other Enterprise applications, VIDIZMO is also developed for and hosted on Internet Information Services (IIS) web servers, with VIDIZMO's Web portal accessible from browsers on client computers. Using policy-based QoS, it is possible to configure the traffic management settings, such as the DSCP value for the video traffic, and by specifying the throttle rate to optimize network efficiency. The QoS Policy, applied to servers and individual computers or on a user level, can be implemented by prioritizing traffic and /or throttling traffic.

Prioritizing Traffic Using DSCP: You can specify the priority of outbound network traffic using the "Specify DSCP Value" to configure a QoS Policy with a specific Differentiated Services Code Point (DSCP) value. Network routers use this value to classify network packets and determine the appropriate queue. By default, this value is zero but you can specify a higher value which indicates a higher priority for the packet.

These QoS Policies can be used to design an organization's QoS strategy, for example, latency-sensitive traffic, control traffic, business-critical traffic and bulk data transfer traffic can all be controlled by defining separate QoS Policies.

Throttling Traffic: Network bandwidth usage can be monitored by specifying QoS Policy with a Throttle Rate for outbound traffic. The Specify Throttle Rate QoS Policy allows you to limit outgoing network traffic according to the specified rate.

You can use DSCP marking and throttling, together or individually as the requirements may be, to effectively manage the traffic in your organization.

QoS Policies are created by editing the settings of a Group Policy Object (GPO) from within the Group Policy Management Console (GPMC). 

The behavior of the QoS Policy depends on where the QoS Policy is stored in the GPMC.

i. A QoS policy in Computer Configuration\Windows Settings\Policy-based QoS applies to computers, regardless of the user that is currently logged on. You typically use computer-based QoS policies for server computers.

ii. A QoS policy in User Configuration\Windows Settings\Policy-based QoS applies to users after they have logged on, regardless of which computer they have logged on to.

To create a new QoS Policy, follow the steps below:


1. From the Windows search:

i. Type Edit Group Policy

ii. Click on the Best match to open the group policy editor as shown in step #2


2. The Local Group Policy Editor window opens.

i. Expand the Windows Settings folder

ii. Then select Policy-based QoS

iii. Right-click on Policy-based QoS to select "Create new policy..."

iv. A Policy-based QoS Wizard will be launched

3. From this screen, give a name to your policy and configure how the QoS Policy will control the outgoing network traffic.

i. Provide your QoS Policy name here

ii. In this field, specify the DSCP value between "0" to "63" - the higher the value, the higher the priority will be. 

iii. Specify the outbound throttle rate. For example, a 10Kbps throttle rate will take a 20Mb file to upload in around 30 minutes.

Click on the Next button to continue.


4. This screen allows you to specify which applications will be affected by this policy. 

i. Provide the specific application identified by its executable path or the application name. If you are providing the executable filename, it must end with the .exe extension. 

ii. If you are using only HTTP URLs, use this field to provide the HTTP path.

Click on the Next button to continue.

5. From the next screen, you can:

i. Check the Any source IP address for any source IP address

ii. Specify IP or a range of IPs to allow only for the specified IPs.

iii. Use this radio button to apply the Policy to Any destination IP address

iv. Check this option to apply the Policy to apply only for the specified destination IP or prefix.

Click on the Next button to continue.


6. Specify the Ports in the same way as the IP addresses in the previous step.

i. First select TCP, UDP or both TCP and UDP option form the drop-down

ii. Select any or specify Source Ports or a range of ports

iii. Select any or specify Destination Ports or a range of ports

Finally, click on the Finish button to complete the Policy-based QoS Wizard.

7. When the Wizard completes, the Policy-based QoS gets listed. You can then create other similar Policy-based QoS to monitor latency-sensitive traffic, control traffic, business-critical traffic or bulk data transfer traffic.


Click here to learn more about Quality of Service (QoS) Policy on the Microsoft portal.

Manually Configuring Settings from Windows Media Services

You can also manually configure the VIDIZMO streaming server running on a Windows 2008 R2 Server to improve the overall QoS by modifying plug-ins or properties in the category in the Windows Media Services.

Here is how you can do it:


1. Open Windows Media Services by searching Windows Media Services from the Start Menu, and then click to load it.


2. When the Windows Media Services loads, click on the server name to view options and properties on the right-hand side. Any settings that we apply at Server level will be replicated for all the Publishing Points. This one way of globally controlling different policies on the Server.

i. Windows Media Services - main window

ii. Next, click on the Properties tab

iii. Also, check the box for Show all plug-in categories to list all categories in the Properties tab



3. Next, click on the Limits category. A list of properties will be displayed on the right-hand side. It is normally recommended that customers put limits depending on the amount of bandwidth committed on the streaming server or how many NICs have been installed on the machine.
These properties help you to set up limits. Check the box against each property to display a text field where you can provide the required value:

- Limit Player Connections: This defines the number of simultaneous player connections the Server will allow. By default, it is set to unlimited. 
Limit Outgoing Distribution Connections: Limits the number of connections to servers that are downstream of the server. By default, this is set to unlimited.
Limit Aggregate Player Bandwith (Kbps): Limits the amount of bandwidth that is available for all connected unicast players. Useful when you want to make it unlimited, i.e. the underlying Windows Media Server continues to serve the video stream whether it has enough bandwidth on its end or not. By default, this is set to unlimited.
Limit Aggregate Outgoing Distribution Bandwidth (Kbps): Limits the bandwidth that is available for all streams to other servers. The default value is unlimited.
Limit Bandwidth Per Player Connection (Kbps): Limits the bandwidth any single unicast player can use when receiving a stream. The default value is unlimited.
Limit Bandwidth Per Outgoing Distribution Connection (Kbps): Limits the bandwidth any single downstream server can use when receiving a stream. The default value is unlimited.
Limit Connection Rate (Per Second): Limits the number of connections that the server can resolve each second. The default value is 50 connections per second.
Limit Player Timeout Activity (Seconds): Limits the number of seconds a unicast player can remain connected but inactive. Once a player has exceeded this limit, the connection is terminated. The default value is 3,600 seconds.
Limit Connection Acknowledgement (Seconds): Limits the number of seconds the server will wait for an acknowledgment before disconnecting a unicast player. A player that does not respond has either entered an error state or has disconnected and the server did not close the connection. The default value is 60 seconds.
Limit Incoming Bandwidth (Kbps): Limits the bandwidth that is available for every incoming connection to the server.  The default value is unlimited.

4. Applying the limits on the Server level control the properties globally while applying the limits on a Publishing Point level allow you to implement different policies for different Publishing Points.

For example, if you are using a Publishing Point for the internal audience, you can give it a priority, and apply a certain bandwidth to it, or apply different policies based on which the Streaming Server is going to limit the usage, while some other Publishing Point can have some other configuration.

i. Click on the Publishing Points to bring up its options and properties

ii. Then click on the Properties tab for the Publishing Points

iii. Select the General category. On the right-hand side, the following properties for General category get listed:

- Enable Stream Splitting: Enables a downstream cache/proxy server to split the stream so that all clients requesting content can receive the stream, yet only require one stream from the origin server. If you disable stream splitting, each client request for content will result in a connection to the origin server.
- Start Publishing Point When First Client Connects: Do not enable this feature if you are delivering content as a multicast stream. The publishing point will not start until the first client connects. If only one client is connected to the publishing point and that client disconnects, the server stops streaming, thus saving bandwidth. If another client connects, the server automatically resumes streaming. This greatly impacts the performance when the first player connects to the streaming server.
- Enable Fast Cache: Notifies players that content can be cached to disk. This allows you to enable the caching on the Streaming Server so that the stream that it is getting from the encoder is used from the cache to re-transmit it to the other players.
If you disable Fast Cache, your content will not be cached to disk by the Windows Media Player. However, your streamed content may still be recorded and/or saved by rogue clients that choose to ignore this policy setting. To protect your content from unauthorized recording/replication, you should use Digital Rights Management (DRM) technology.
- Enable Broadcast Auto-Start: Enabling this feature configures the publishing point to start automatically when Windows Media Services starts. It does not necessarily relate to QoS, but it basically allows the encoder to turn-on a Publishing Point or turn it off.
- Enable Advanced Fast Start: This feature allows clients which support the Advanced Fast Start feature to begin playing sooner with less initial buffering delay. This reduces the buffering time and is used to improve the overall playback experience.


5. The Limits category under Publishing Points has some of the same properties as those of the Streaming Server's Limit category except for:

- Limit Fast Start Bandwidth Per Player Connection (Kbps): Limits the bandwidth any single unicast player can use for accelerating the initial buffering of the content.  Players requesting content encoded at a bit rate that exceeds this limit will not derive any benefit from the Fast Start feature.  The default value is 3500 Kbps/s.



Subject: Publishing Point

Action: Get, Update, Delete, Add