The present invention relates generally to wireless communication networks, and in particular to rate shaping using a modified token bucket algorithm, wherein a token bucket counter value is allowed to go negative, creating a token debt.
Wireless communication systems are a ubiquitous part of modern life in many areas. A number of different wireless communication protocols have been developed. For example, Long Term Evolution (LTE) is a set of enhancements to the Universal Mobile Telecommunications System (UMTS) that supports high data rates, low latency, low implementation and operating costs, and a seamless connection to legacy wireless communication networks.
As another example, High Speed Packet Access (HSPA) is an extension of wideband CDMA (WCDMA) protocols. HSPA transmits communication data on shared channels, in packets addressed to specific users. HSPA features short Transmission Time Interval (TTI), link adaptation, fast scheduling, fast retransmission and soft-combining, and advanced modulation, resulting in increased data rates, low latency, and increased system capacity.
In LTE and HSPA, as well as other wireless communication protocols, scheduling, segmentation, and link adaptation are network management tasks that fall under the broad rubric of bandwidth management. Advanced bandwidth management techniques are required to maximize system capacity; maintain Quality of Service (QoS) metrics; and maximize the data rate, and hence provide an optimal user experience, to each user.
One aspect of bandwidth management is known as rate shaping, which controls the rate or flow of data into or through a network. A known rate shaping algorithm is the so-called token bucket algorithm, described in Annex B of the 3GPP Technical Standard 23.107, “Quality of Service (QoS) concept and architecture,” attached hereto and incorporated herein by reference in its entirety. The token bucket algorithm is described with reference to
The packets that pass the rate shaper are collected in one or more queues until they are scheduled for transmission over a subsequent link. In state-of-the-art solutions the scheduling algorithm chooses packets based on the availability in these queues, i.e., the packets that have passed the rate shaper. Furthermore, systems exist where the scheduler can not only decide to transfer an entire packet but to segment (and concatenate) packets prior to transmission.
According to one or more embodiments described and claimed herein, a modified token bucket algorithm allows for the “borrowing” of tokens, creating the possibility of a token debt, or a token bucket with a negative TBC value. In this modified token bucket algorithm, an incoming packet is passed along so long as the TBC is positive, even if the packet must “borrow” some tokens, driving the TBC negative. Subsequent incoming packets are stalled until the TBC reaches a positive value. In one embodiment, the modified token bucket algorithm is not applied to a separate rate shaper, but rather to a queue size limiter that operates with a scheduler on one or more traffic queues. The inventive scheduler and queue size limiter deliver fewer, larger packets for transmission, allowing for more efficient packing within transmission frames (reducing or eliminating required padding), and allowing other traffic to be scheduled, thus increasing system throughput.
One embodiment relates to a method of controlling traffic flow in a wireless communication network. One or more data packets are accepted into a traffic queue, for transmission. The traffic queue is monitored by a queue size limiter using a modified token bucket rate shaping algorithm. The modified algorithm comprises maintaining a token bucket counter (TBC) representing the number of tokens in a bucket; decreasing the TBC by the size of each packet scheduled for transmission; and increasing the TBC at a constant token rate. If the TBC is positive, the queue size limiter reports to a scheduler the size of the packet(s) in the traffic queue. If the TBC is negative, the queue size limiter reports to the scheduler that the traffic queue is empty. The scheduler schedules the reported packets for transmission.
Another embodiment relates to a rate shaping function in a transmitter operative in a wireless communication network. The rate shaping function includes a traffic queue operative to receive and store data packets to be transmitted across an air interface. The rate shaping function further includes a queue size limiter operative to monitor the queue and control the flow of data packets from the queue to a scheduler, the queue size limiter using a modified token bucket rate shaping algorithm. The modified algorithm comprises maintaining a token bucket counter (TBC) representing the number of tokens in a bucket; decreasing the TBC by the size of each packet scheduled for transmission; and increasing the TBC at a constant token rate. If the TBC is positive, the queue size limiter reports to the scheduler the size of the packet(s) in the traffic queue. If the TBC is negative, the queue size limiter reports to the scheduler that the traffic queue is empty. The rate shaping function also includes a scheduler operative to schedule data packets from the traffic queue for transmission across the air interface, in response to the queue size limiter.
A rate shaper in a wireless communication network is often implemented with a conventional token bucket algorithm. As described above, the basis for this algorithm is that hypothetical tokens, representing the allowed data volume, are injected at a constant rate. These tokens accumulate in a hypothetical bucket, and the maximum allowed number of tokens is defined by the bucket size. The tokens are consumed by data packets passing the rate shaper for transmission, which occurs only if there are at least as many tokens in the bucket as the packet size.
According to embodiments of the present invention, rate shaping is implemented using a modified token bucket algorithm, in which the concept of borrowing tokens is introduced. In the modified token bucket algorithm, a packet is allowed to create a token debt, resulting in a negative token bucket counter (TBC) value. After creating such a token debt, the rate shaper will not pass any further packets until the TBC has resumed a positive value. Thus, the borrowing will create a delay before the next transmission is allowed. The lower bound on the TBC is −c so that the TBC is within the range [−c,b]. In some embodiments, the TBC may also be bounded by the available radio channel.
In an exemplary embodiment, the TBC is increased by r in each unit time up to the bucket size, b. In another embodiment, the TBC is increased by Δt·r where Δt is the time difference between the current time and the previous update of the TBC.
When the lth packet with length li; arrives the algorithm checks if the TBC value is equal or greater than zero. If so then traffic is conformant and TBC is decreased by li (even if TBC<li). If the TBC is less than zero, the packet is delayed until the TBC is equal or greater than zero.
The operation of this modified token bucket algorithm is depicted in
In one embodiment, depicted in
Those of skill in the art will readily recognize that the scheduler 24 and queue size limiter 26 of the rate shaping function 20 may be implemented in dedicated hardware, programmable logic with appropriate firmware, software executing on a controller or processor (e.g., a Digital Signal Processor, or DSP), or any combination thereof. The traffic queue 22 may be implemented as hardware registers, or in memory. Firmware or software controlling the queue 22 or implementing the scheduler 24 or queue size limiter 26 may be stored on non-transient computer-readable media, such as solid-state memory (e.g., Flash RAM, DRAM, ROM, or the like), magnetic or optical media, or the like. The firmware or software may be accessed by a controller or processor directly, via a controller such as a memory controller or disc drive controller, or across a wired or wireless network from remote computer readable media.
The graph of
Furthermore, the embodiment depicted in
In the modified token bucket algorithm, the maximum number of tokens, b, is determined by the parameter bucketTime [s] so that b=r·bucketTime. The parameter bucketTime corresponds to the time it is possible to save tokens to be consumed in a burst which does not cause any debt. In other words, a rate shaper employing the modified token bucket algorithm allows data bursts that comprise as much data as what may be sent in steady state with a constant rate, r, for the duration of
The modified token bucket algorithm, with the possibility to borrow tokens, prevents the transfer of packets from one network layer to another in unnecessarily small sizes. Scheduling many small packets instead of a few large ones is an inefficient use of resources such as the Physical Downlink Control Channel (PDCCH) and the Physical Uplink Control Channel (PUCCH).
Key terms are defined as follows, and have the specified meaning as used herein:
Rate enforcement: Rate enforcement is the umbrella term for rate shaping and rate policing.
Rate policing: The process of discarding packets from a traffic stream in accordance with a traffic profile is called rate policing or traffic policing. Reasons to apply rate policing can be to protect the network from flooding attacks, enable tiered subscriptions and discourage cheating, e.g., users upgrade the VolP codec rate beyond that which has been authorized by the network.
Rate shaping: The process of delaying packets in a traffic stream to cause it to conform to some defined traffic profile is called rate shaping or traffic shaping. Reasons to apply rate shaping can be to smooth out traffic in time entering a network. The reasons to apply rate policing are valid also here. Rate shaping can be realized as an improvement to the scheduler.
Shaping rate: The rate resulting from the use of a rate shaper with a certain token rate. The shaping rate should on average be the token rate.
Traffic policing: See rate policing.
Traffic shaping: See rate shaping.
Token: Something serving as an expression of something else. Here a token is virtual sign corresponding to the smallest information unit size. Tokens arrive into the bucket at the token rate, r.
Token rate: The rate at which tokens are injected into the system.
The present invention may, of course, be carried out in other ways than those specifically set forth herein without departing from essential characteristics of the invention. The present embodiments are to be considered in all respects as illustrative and not restrictive, and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.
This application claims priority to U.S. Provisional Application Ser. No. 61/245,933, titled “Rate Shaping for Wireless Communication Using Token Bucket That Allows Token Debt,” filed Sep. 25, 2009, the disclosure of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61245933 | Sep 2009 | US |