The invention relates to the filed of packet scheduling in a communication network.
There are many types of transmission systems in communication networks. Each system is typically limited by a capacity of the maximum amount of data that can be carried at any given time. In order to address this, data packets to be sent via the communication network can be prioritized. Some types of data, such as peer to peer and file download data and emails, can tolerate being delayed in the network. Other types of data, such as audio or video in an session between two or more parties, cannot tolerate delays in the network, as this can impact on the quality of service that is provided to the parties. Delay-tolerant data can therefore be sent with a low priority, whereas delay-intolerant traffic can be sent with a higher priority. At times when the communication network is approaching full capacity, the delay-tolerant traffic can be withheld in favour of the delay-intolerant traffic to ensure that the quality of the delay-intolerant traffic is not impacted.
There are several schemes for prioritizing and scheduling data packets. One example is weighted fair queuing (WFQ). Data streams comprising data packets are accorded a “weight” that is used to determine how much of the bandwidth resources the data stream can use. Delay-intolerant data will be accorded a higher weight than delay-tolerant data.
Strict priority and/or WFQ queuing mechanisms are used among different Classes of Services (CoS) to control packet level resource sharing.
The WFQ weights used are determined on the basis of the desired resource sharing and the actual capacity of the link. Examples of desired resource sharing, with an associated WFQ weight setting, are as follows:
The solutions described above to configure the scheduler 5 are static. A problem with these solutions arises when Adaptive Modulation is used, as this gives rise to variable link capacity. In wireless communication networks, link adaptation is used to refer to the matching of the modulation, coding and other signal and protocol parameters to the conditions on the radio link. Conditions may vary owing to, for example, interference from other signals, sensitivity, transmitter power and so on. Rate adaption algorithms are used to adapt the modulation according to the quality of the radio link. Adaptive Modulation systems require knowledge of the condition of the radio link, which can be easily measured at the receiver, and the information provided to the transmitter. The sending rate at the transmitter can therefore be dynamically adapted depending on the condition (and available bandwidth) of the radio link.
However, Adaptive Modulation of a radio link can result in variable link capacity, giving lower modulations with lower bitrates. In the example shown in
Where the scheduler 5 is configured with static rules, as described above, and Adaptive Modulation is used, then the static rules used by the scheduler 5 can become non-optimal. Static settings cannot provide the guaranteed bandwidth for a CoS at lower modulation level (assuming that the static weights were optimized for highest modulation level). For example, consider the case where the bandwidth of a link changes from 100 Mbps to 50 Mbps due to a modulation change. A static weight of 0.3 weight guarantees only 15 Mbps for that CoS instead of 30 Mbps. It will be appreciated that when the weights are determined for the lowest modulation level, then the required bandwidth is guaranteed at all modulation levels. However, during normal operation (in other words, most of the time), a much higher bandwidth guarantee is unnecessarily provided for that CoS. This conservative static setting can be non-optimal for other CoS at higher modulation levels.
To further illustrate this by way of an example, consider the case where an operator wishes to use two types of CoSs. Both CoSs have the same priority, and so the desired resource sharing among them is equal sharing. However, the first CoS requires a minimal bandwidth guarantee. The bandwidth share between the CoSs should be 50%-50%, but the bandwidth share of the first class must be at least 30 Mbps if possible. Assume that at the highest modulation level the link capacity is 100 Mbps, but at lowest modulation level it is 50 Mbps. If a WFQ weight of 0.6 is set for the first CoS (based on the capacity of the lowest modulation level), the required 30 Mbps can be provided for the first CoS at all modulation level. However, the resource sharing among the two CoSs is not the desired 50%-50% sharing (the sharing will be 60%-40%). In other words, the first CoS that has higher minimal bandwidth guarantee has higher priority in bandwidth resource sharing, which is not desired
As a further example, when we low priority traffic, as described above, is accorded a WFQ weight, then it is guaranteed a bandwidth share even at lower modulation levels. In some circumstances, when the link is experiencing a lower bandwidth capacity, it may be desirable to allocate that share to a CoS with a higher priority (such as a CoS that requires a minimum absolute bandwidth). During normal operation, it is reasonable to accord a weight to the low priority traffic to avoid starvation, but at lower modulations it may be required to protect higher priority traffic first. Static configuration of WFQ weights does not allow for this.
It is an object of the invention to improve the scheduling of data packets when using Adaptive Modulation. According to a first aspect, there is provided a method of packet scheduling over a communication link in a communication network. A data packet scheduler accords scheduling weights to at least two sets of data packets to be transmitted, and the sending of the sets of data packets is scheduled in accordance with the scheduling weights. When it is determined that a change in available bandwidth over the communication link has occurred, the scheduler dynamically adjusts the scheduling weight for each set of data packets on the basis of the available bandwidth. This ensures more efficient resource sharing control and resource guarantees when the available bandwidth changes.
As an option, the scheduling weights for each set of data packets are dynamically modified by obtaining, for each set of data packets, scheduling weights stored at a database.
The method optionally includes determining that a change in a number of bearers of a set of data packets has occurred, and dynamically adjusting the scheduling weight for each set of data packets on the basis of the change in the number of bearers. By considering the number of ongoing bearers, more sophisticated resource sharing policies can be implemented. As a further option, the scheduling weights for each set of data packets are optionally dynamically adjusted using an algorithm taking into account the number of bearers of a set of data packets.
Each set of data packets is optionally identified by a Class of Service.
While the method may be used to account for a change in available bandwidth owing to any cause, it is particularly useful when the change in available bandwidth is caused by adaptive modulation of the communication link.
As an option, after dynamically adjusting the scheduling weights, a timer is started. No further scheduling weight adjustments are performed for the duration of the timer.
As an option, a number of bearers of a set of data packets is determined by either parsing signalling messages or analysing header information.
According to a second aspect, there is provided a data packet scheduler for scheduling data packets to be sent via a communication link in a communication network. The data packet scheduler is provided with a weight function for according scheduling weights to at least two sets of data packets. A scheduling function is provided for scheduling data packets in accordance with the scheduling weights. A processor is provided for determining that a change in available bandwidth over the communication link has occurred. The processor is arranged to dynamically adjust the scheduling weight for each set of data packets in accordance with the available bandwidth.
As an option, the data packet scheduler is provided with a database for storing scheduling weights to be accorded to each set of data packets.
As a further option, the processor is arranged to determine that a change in a number of bearers of a set of data packets has occurred, and dynamically adjust the scheduling weight for each set of data packets on the basis of the change in the number of bearers. As a further option, the scheduling weights for each set of data packets are dynamically adjusted using an algorithm taking into account the number of bearers of a set of data packets.
The data packet scheduler is optionally provided with a timer for starting a time after an adjustment in scheduling weights, during which no further scheduling weight adjustments are performed by the processor.
The processor is optionally arranged to determine a number of bearers of a set of data packets by any of parsing signalling messages and analysing header information.
According to a third aspect, there is provided a computer program comprising computer readable code which, when run on a data packet scheduler, causes the data packet scheduler to perform the method as described above in the first aspect.
According to a fourth aspect, there is provided computer program product comprising a computer readable medium and a computer program as described above in the third aspect, wherein the computer program is stored on the computer readable medium.
Data packet scheduling can be greatly improved if WFQ weights are dynamically modified as the available bandwidth increases or decreases as a result of Adaptive Modulation.
The WFQ weights of the three non-GBR CoSs are modified dynamically depending on the current state of Adaptive Modulation of the link. Consider the example in which the first non-GBR CoS requires a guaranteed bit-rate. In the event that Adaptive Modulation causes the available bandwidth to reduce, the WFQ weight for the first non-GBR CoS 9 is increased to ensure that it maintains its guaranteed bit-rate. This may be used, for example, for an Over the Top (OTT) service that requires a bandwidth guarantee for proper operation.
For the low-priority non-GBR Cos 11, its weight is decreased in the event that the Adaptive Modulation causes the available bandwidth to reduce. For example, at lower modulations, a weight of 0 may be set for the third non-GBR CoS to ensure that all available bandwidth is used for higher priority traffic. Of course, when the Adaptive Modulation leads to the available bandwidth increasing, the WFQ weight of the low-priority non-GBR traffic can be increased once more.
Per-Bearer level information (e.g. #ongoing Bearers) may also be used when dynamically adjusting the WFQ weights for different CoSs, as described in more detail below.
The WFQ weight settings are typically dynamically adjusted when Adaptive Modulation causes a change in the available bandwidth, as illustrated in
The scheduler may be provided with a prohibit timer to avoid to frequent WFQ reconfiguration. For example, if a 100 ms timer is used then once a WFQ is adjusted as a result of Adaptive Modulation, no further WFQ adjustments can be made until 100 ms have elapsed.
In the example shown in
The settings shown in the table 12 result in the second CoS 10 having a bandwidth of at least 30 Mbps regardless of the total available bandwidth. The first CoS 9 maintains a high bandwidth share at all times, but this is necessarily reduced in the event that the total available bandwidth falls to 50 Mbps, in order to ensure that the second CoS 10 maintains the required bandwidth of 30 Mbps. The third CoS 11 has its bandwidth share reduced in the event that the available bandwidth is reduced, and in the event of a large reduction of the available bandwidth from 100 Mbps to 50 Mbps, the third CoS 11 is accorded a WFQ weight of 0.
The above mention solution can not be realized by using static WFQ setting, even if rate limiters are used.
In order to apply WFQ weights dynamically according to the Adaptive Modulation, the scheduler 5 needs to be aware of the state of the link and the available bandwidth.
This requires the scheduler to receive information about Adaptive Modulation from a transmitter over which the data packets are being sent.
S1. Each CoS is accorded a weight for use in packet scheduling, and the scheduler 5 sends the data packets over the communication link according to the weight for each CoS;
S2. Adaptive modulation causes a change in the available bandwidth over the communication link. This change is communicated to the scheduler 5.
S3. The scheduler 5 looks up the new bandwidth in a database and obtains new weights for each CoS from the database.
S4. A timer is started.
S5. The new weights obtained from the database are accorded to each CoS.
S6. A further change in bandwidth is detected.
S7. If the timer is still running, then no changes are made to the weights. If the timer is no longer running, then new weights are obtained from the database and the method reverts to step S3.
As mentioned above, per-Bearer level information (e.g. #ongoing Bearers) can be taken into account when dynamically adjusting the weight settings. Considering the number of ongoing Bearers allows more sophisticated resource sharing policies to be supported by the scheduler 5. This also allows bandwidth guarantee to be provided at the bearer level, which gives finer control than simply providing bandwidth guarantee for a particular CoS.
S8. A determination is made of the number of ongoing Bearers per CoS. This determination may be made using, for example, header information such as a Tunnel End-point Identifier (TEID), or parsing signalling messages.
S9. The WFQ weights for each CoS are recalculated in the event of a change in the capacity of the link owing to Adaptive Modulation, and/or in the event of a change in the number of Bearers used by a CoS. For example:
In this example, the settings are used when the first CoS 9 is a gold class service with a weight of 4, the second CoS 10 is a silver class service with a weight of 2 and the third CoS 11 is a bronze class service with a weight of 1, but at lowest modulation it is down-prioritized.
Note that modifying the WFQ weights for each CoS on the basis of per-Bearer information may be performed separately from modifying the WFQ weights for each CoS on the basis of Adaptive Modulation changing the conditions of the link. However, this has certain drawbacks. For example, frequent changes in the number of bearers cause frequent changes in WFQ weights. Furthermore, a single bearer arrival/termination would only lead to a negligible changing of WFQ weights. However, it is advantageous to change WFQ weights on the basis of both the per-Bearer information and Adaptive Modulation changing the conditions of the link, as it allows the current link conditions and traffic situation to be considered.
The number of number of bearers in each traffic class may be considered when setting new WFQ weights when the link capacity changes.
The memory 13 stores a program 17 which, when executed by the processor 12, causes the scheduler 5 to behave as described above. The memory 13 may also include a database 18 which stores information correlating available bandwidth, weights and CoSs. It will be appreciated that the database 18 may be located remotely from the scheduler 5.
As described above, a timer 19 may also be provided to ensure that weights are not dynamically adjusted too rapidly.
In practice, the scheduler 5 is typically embodied at a function provided at an existing transport node, examples of which include switches, routers, and microwave transmission nodes.
The techniques described above give improved resource sharing control and resource guarantees during adaptive modulation at both CoS and Bearer level. The dynamic adjustment of weights means that the scheduler reconfigures weights whenever the modulation level is changed.
It will be appreciated by the person of skill in the art that various modifications may be made to the above described embodiments without departing from the scope of the present invention as defined in the appended claims.
The following abbreviations have been used in this specification:
p2p Peer to peer
WFQ Weighted Fair Queuing
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP2012/057347 | 4/23/2012 | WO | 00 | 12/23/2014 |