Bandwidth Management and Allocation

Overview

In most Corporate Environments clients will connect in several different ways depending on location and scenario. Bandwidth control must make allowances for these different scenarios with connected clients on managed networks, roaming clients, and those connecting over VPN. Clients may be on well connected networks or slow links with or without peers. StifleR must also recognise and cater for situations where the StifleR server cannot be contacted.

The StifleR Client can be configured to recognise these different situations and adjust bandwidth allowances accordingly.

The following gives an overview of the various scenarios:

Network Group Types

A network group can be of the following types:

  • Regular

  • Well connected

  • VPN

Depending on the setting the bandwidth is allocated very differently. Typically a Well Connected network has more than 50Mb/s network bandwidth available to it as it’s less strict on the bandwidth throttling and allows for overconsumption for short periods of time for improved user experience.

Control Options

Just because a client is assigned bandwidth does not mean that it will automatically use it. If a Red Leader is assigned a large amount of bandwidth but all content for the download element is available from other peers, there will be no bandwidth used.

All bandwidth values below are in Kilobits per second (KBps).

The below table references the different properties within a template which is applied to a network group.

Network Group Property
Definition

Type

Defines how bandwidth is controlled, like VPN, Regular, and Well Connected.

LocalInternetBreakout

If set, downloads from the internet are throttled differently than non internet downloads. Disabled by default.

TargetBandwidth

The bandwidth assigned to Red Leaders.

InternetBandwidth

What bandwidth Internet downloads should have when local Internet breakout is set.

LEDBATTargetBandwidth

Value to assign Red Leader BITS jobs when LEDBAT has been detected.

NonRedLeaderBITSBandwidth

Value set for BITS downloads that are not leader in regular networks.

NonRedLeaderDOBandwidth

Value set for DO downloads that are not leader in regular networks.

WellConnectedDO

Set on BITS downloads for well connected networks.

WellConnectedBITS

Set on DO downloads for well connected networks.

BandwidthTuning

Historic and future use, not used currently.

WellConnectedSplitbandwidth

Controls how bandwidth is split to clients for well connected networks. Not used for regular networks currently.

Red Leader and non leader clients

The use of a Red Leader is to improve peering efficiency by allowing a single client to get bytes slightly faster than other clients. It’s a 100% dynamic allocation and does not impact the client being the Red Leader.

Well Connected Network Groups

In this mode the StifleR client does not allow for sharing bandwidth from the DO pool to the BITS pool and vice versa if only one download technology is actively downloading as the regular or VPN networks do.

Red Leader Bandwidth Assignment for Well Connected Networks

On a well connected network the bandwidth for the Red Leader role is as per the below formula, the value that is the highest of the two wins:

  • WellConnectedDO and WellConnectedBITS values split by the number of clients downloading for all networks in the network group.

  • The Target Bandwidth divided by number of networks that is actively downloading (active networks)

Whatever value is the highest of above is assigned to the Red Leader only for Well Connected networks.

Example:

If there are 4 active networks in the same network group, which has been assigned to use 20Mb (Target bandwidth). Each Red Leader is assigned bandwidth based on the formula: 20Mbs / 4 = 5Mbs, but the WellConnectedDO and WellConnectedBITS values are set to 100Mbs. Lets say that only 10 clients are downloading content among these 4 networks. This means that the Red Leader will be assigned 100Mb/10 = 10Mbs as 10Mbs is a higher value than 5MBs.

If there were 30 clients downloading content, the 4 Red Leaders would each get 5Mbs as 100Mbs/30 = 3.3Mbs which is less than 5.

The reason for this logic is to allow fast downloads on well connected networks regardless of how many clients are connected.

Non-Leader Bandwidth Assignment in Well Connected Networks

Clients are allocated the bandwidth according to the split setting.

If the WellConnectedSplitbandwidth option is set to 1 in the StifleR Server Config File, (enabled by default in StifleR 2.10 and above), the bandwidth per client is calculated as:

  • WellConnectedDOBandwidth value / per number of clients downloading

  • WellConnectedBITSBandwidth value / per number of clients downloading

  • Internet value for local Internet Breakup is also calculated as per InternetBandwidth / per number of clients downloading from the internet.

Note: There is no sharing across the bandwidth pools when a network group is well connected.

If the WellConnectedSplitbandwidth options is not set, bandwidth is assigned to actual values of the WellConnectedDOBandwidth and WellConnectedBITSBandwidth values.

Internet Bandwidth for Well Connected Networks with Internet Breakout Set

Bandwidth for Internet can be assigned differently than regular downloads if the network group is set to throttle the internet traffic differently. This only applies to non Red Leaders.

The throttling limits are different for well connected networks depending if WellConnectedSplitbandwidth is enabled for the Network Group. If this is enabled, the logic for any non Red Leader is that it gets bandwidth as per the following formula:

  • Internet bandwidth value / clients running Internet downloads

If WellConnectedSplitbandwidth is not set, the value is instead set is the actual value per client, i.e. each client is assigned the InternetBandwidth value as bandwidth for downloads coming from the Internet.

LEDBAT Assignment for Red Leaders in Well Connected Networks

How does this work? The Red Leaders are assigned a special LEDBAT value which is typically allowed to be higher than the regular TargetBandwidth property. Any download job that then has been detected as LEDBAT capable will be allowed to use this value.

LEDBAT bandwidth will be assigned to the Red Leader only, and only for BITS jobs. If the download has the return header set for LEDBAT, the running job will be assigned the value from the LEDBATTargetBandwidth setting for the network group.

The value is assigned to the Red Leaders same as any other Red Leader bandwidth using the formula:

  • LEDBATTargetBandwidth / active networks

Regular Network Groups

In this mode the StifleR client allows for sharing bandwidth from the DO pool to the BITS pool and vice versa if only one download technology is actively downloading. A BITS job can therefore be assigned both the DO and the BITS download policy for a single BITS job.

Red Leader Bandwidth Assignment for Regular Networks

Bandwidth for the Red Leaders are assigned as:

  • TargetBandwidth / number of downloading networks

Example:

If you have 3 networks but only 2 networks are active, and the TargetBandwidth is set to 18Mbs. Each of the two Red Leaders on the active networks will be assigned 9Mb/s each.

Non-Leader Bandwidth Assignment for Regular Networks

Non-leader bandwidth assignment for this type of network are calculated as such:

BITS: NonRedLeaderBITSBandwidth is assigned to the client.

DO: NonRedLeaderDOBandwidth is assigned to the client.

The client is then assigned one value or doubling them up if there is only one download technology active. If both are active, the individual values are used.

Example:

BITS is assigned 128Kbs, and DO 128Kbs. Then if there is only BITS transferring, BITS is then assigned 128 + 128 = 256Kbs.

If there is both a BITS job and a DO download, each technology gets 128Kbs.

If there is just one DO job, the client gets 256Kbs, via 128+128.

Internet Bandwidth for Regular Networks with Internet Breakout Set

Bandwidth for Internet can be assigned differently than regular downloads if the network group is set to throttle the internet traffic differently. This only applies to non Red Leaders. This differs for how it works for well connected networks. WellConnectedSplitbandwidth is not used for regular networks.

For regular networks that have Internet breakout enabled, the logic is as per the following formula:

  • InternetBandwidth / active Internet clients

LEDBAT bandwidth assignment for regular networks

LEDBAT bandwidth will be assigned to the Red Leader only, and only for BITS jobs. Same as for LEDBAT for well connected networks. If the download has the return header set for LEDBAT, the running job will be assigned the value from the LedbatBandwidth setting from the network group.

The value is assigned to the Red Leaders as any other Red Leader bandwidth, using the formula:

  • LedbatBandwidth / active networks

VPN Network Groups

VPN networks assign bandwidth differently compared to Regular and Well connected networks, as there is no assigned Red Leader. This is because peering is typically not desired or possible on VPN networks.

In this mode, the StifleR client allows for sharing bandwidth from the DO pool to the BITS pool and vice versa if only one download technology is actively downloading.

Each client is assigned:

BITS: The network group target bandwidth / 2 / active clients for the network.

DO: The network group target bandwidth / 2 / active clients for the network.

The bandwidth is then shared across the download technologies.

Examples:

A network group has 100Mb/s set to for a VPN network. There are 10 active (downloading) VPN clients, that are only downloading content using BITS.

Each client is the assigned the following bandwidth:

BITS is then assigned: 100 / 2 / 10 = 5Mb/s.

DO is assigned: 100 / 2 / 10 = 5Mb/s.

As bandwidth is shared for VPN and there is only BITS jobs, the 10 clients assign 5+5 = 10Mb/s per client toward the BITS download.

Internet Bandwidth for VPN Networks with Local Internet Breakout (split tunnel)

If the VPN network group has been set for local internet breakout, any client that have internet download enabled, is assigned the value of the Internet bandwidth assigned on the network group. Typically this is used to set the Internet bandwidth to 0, i.e. unlimited as this download is then using the network that the VPN is accessing from.

If breakout is not set, bandwidth for Internet downloads is throttled the same way as any other download.

Roaming clients

Clients that are roaming are clients that are not assigned to a network group but are able to connect to the StifleR server.

Bandwidth is assigned for roaming clients from the DefaultRoamingBandwidth configuration value in the local StifleR Server Configuration file. If the server sends an updated value, the client will update the local configuration to the new value.

The default setting is 0 (disabled) which means that by default a StifleR client that roams will have all Bandwidth policies removed.

If, however, that parameter is set to anything other than zero, Roaming policy will be applied (split between Delivery Optimization and BITS).

Example:

If Default RoamingBandwidth is set to 50Mbs (51200) then the clients would get 25 Mbs for BITS and 25 Mbs for Delivery Optimization.

Disconnected clients

At start up, the StifleR client will automatically set the DefaultDisconnected Bandwidth limits (DO and BITS) values which are defined in the client configuration file.

The client's bandwidth settings will then be set as per the following logic:

  • If the StifleR Server name can be resolved, but is not allowing connections, we assign the Disconnected client bandwidth settings as per the client configuration file.

  • If the server is not resolved using DNS and not reachable, we remove all throttling.

Last updated