The invention relates to wireless communication networks, and, more particularly, to scheduling of packet data services in wireless communication networks.
The Transmission Control Protocol (TCP) is the dominant transport layer protocol on the Internet. Although TCP has proven itself as excellently scalable and particularly robust to the unpredictable dynamics inside a wired network, TCP over wireless networks raises numerous performance issues. Third-generation (3G) and beyond wireless communication system architectures which provide high-speed packet data services-such as CDMA2000 1×EV High Data Rate (HDR) or WCDMA High Speed Data Packet Access (HSDPA)-include advanced techniques such as local retransmission schemes to lessen the impact of wireless link losses on TCP-layer performance. See, e.g., P. Bender, et al., “CDMA/HDR: a Bandwidth Efficient High Speed Wireless Data Service for Nomadic Users,” IEEE Communications Magazine, pp. 70-77 (July 2000); Third Generation Partnership Project (3GPP), 3GPP Technical Specification 25.308 version 5.2.0, “High Speed Downlink Packet Access (HSDPA): Overall description,” (March 2002).
One area for improvement, however, is in how base stations handle heterogeneous services. For example, the current base station design for cellular packet data access in HDR systems does not differentiate TCP users of different services such as TELNET, FTP, and HTTP—each of which present different user expectations with regard to delay tolerance and perceptions of system responsiveness. HDR or equivalent systems use a MAC-layer scheduler, typically a proportional fairness (PF) scheduler, as depicted in
Accordingly, there is a need for a new base station design with a service-aware scheduler which supports a high-speed downlink packet channel while providing better service quality to users of different packet data services.
A base station design for a wireless communication system is herein disclosed with a new scheduler for packet data services which is advantageously both traffic-aware and channel-dependent in a manner which enhances the users' perception of network performance. In one embodiment, a cross-layer hierarchical scheduler is disclosed which further comprises an intra-user scheduler and an inter-user scheduler. The intra-user scheduler prioritizes at the network layer and maintains separate buffers for different service categories for each user in order to differentiate the service categories. The inter-user scheduler prioritizes at the media access control layer, scheduling the dequeued packets from multiple users by considering their service category information as well as each user's channel status. Both the inter-user scheduler and the intra-user scheduler preferably consider historical information to maintain resource fairness and avoid starvation of certain service categories or users. The hierarchical scheduler advantageously manages buffer and channel resources with properly differentiated service priority, and can notably speed up time-critical interactive services (e.g., such as HTTP and TELNET) with only a negligible degradation in the performance perception by bulk file downloading services (e.g., such as FTP). The hierarchical scheduler thereby considers and balances both the independent channel fluctuation of different users and the service responsiveness of heterogeneous service classifications.
The base station design disclosed herein advantageously avoids the need for any changes to end-user protocols and avoids per-flow maintenance at the base station. The scheduler schemes disclosed herein facilitate a scalable and low-cost performance enhancement over existing cellular packet data systems. These and other advantages of the invention will be apparent to those of ordinary skill in the art by reference to the following detailed description and the accompanying drawings.
The base station 220 provides packet data services to packet data users 211, . . . , 213, . . . , 215 across a time-slotted shared wireless communication channel 200. For example, the system framework, illustratively, can be a third-generation (3G) cellular radio access network (RAN) where a time-slotted shared downlink channel supports high-speed packet data access for multiple users, e.g., a WCDMA High-Speed Downlink Packet Access (HSDPA) system (see 3gpp Technical Specification 25,308 version 5.2.0, “High Speed Downlink Packet Access (HSDPA): Overall Description,” (March 2002), which is incorporated by reference herein). For discussion purposes only and without limitation, the description herein focuses on time-division-multiplexing (TDM) based access of the shared channel 200 within a single cell, where multiple end users 211, . . . 215 at different locations wait for their turn to be scheduled for transmission by the base station 220.
The different users 211, . . . , 213, . . . , 215 may start different types of packet data services and may start multiple types of packet data services at the same time, each service having different service expectations in terms of responsiveness or transmission delay. For example, consider various different TCP-based services such as TELNET, HTTP, and FTP. TCP services are typically elastic services. FTP sessions, for example, are bulk transfers which are typically the most delay-tolerant and insensitive to short-term rate and delay variations. TEL-NET and HTTP sessions, on the other hand, tend to be more time-critical with users expecting a fast response, in spite of a certain delay tolerance. Roughly speaking, the flow's size and the delay tolerance increases from TELNET to HTTP to FTP, while the throughput expectation by perception decreases. Modern implementations of TCP include what is referred to in the art as “slow start,” in which a sender limits the rate at which packets are injected into the network to a congestion window (cwnd); the congestion window is initially of a small size and is increased only as acknowledgments are received from the recipient of the packets. See, e.g., M. Allman et al., “TCP Congestion Control,” Internet Engineering Task Force (IETF), Request for Comments (RFC) 2581 (April 1999); W. Stevens, “TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms,” IETF, RFC 2001 (January 1997). Unfortunately, where upper-layer protocols such as HTTP or TELNET generate data packets only intermittently, a TCP slow start may cause what appears to be intermittent connectivity in the perception of TCP users. A typical trace of web browsing packets generated during an HTTP session would show sporadic data packets with “packet calls” interleaved with “reading time” during which no data is generated. Given typical TCP settings, the TCP congestion window may reset during the reading time, thereby forcing the next packet call to start with a TCP slow start. In fact, the TCP slow start may account for a large portion of the whole transmission period, especially given the typically small size of objects downloaded during TCP, TELNET, or some HTTP sessions.
Moreover, consider the situation in which coexistent TELNET, HTTP, and FTP flows compete for a bottlenecked channel and a FIFO buffer—as in existing cellular packet data systems. It is known that TELNET or most HTTP sessions typically generate short-lived TCP flows, referred to as a series of “mice”, while FTP sessions typically generate long-lived FTP bulk downloads, i.e. a series of “elephants.” It is known that the “mice” would suffer from throughput loss—their first several packets during the slow-start period would see serious delay or losses due to the head-of-line (HOL) blocking from the heavy FTP backlog. Such systems appear to favor FTP services more than the time-critical TELNET and HTTP services, a phenomenon called “service-oriented unfairness.”
It would be advantageous for the scheduler to optimize the user's perception while simultaneously maintaining high system efficiency. The impact on users' perception of system responsiveness can be characterized by metrics such as the “normalized download completion time” (td/f) of their objects or the “goodput” (f/td) where ∫ is the size of the downloaded object and where td is the download time. On the other hand, what matters to users of services such as FTP is typically the “service continuation” specified by whether the mean goodput of each downloading is larger than a minimum rate requirement, i.e., f/td≧m.
Accordingly, the base station 220 advantageously utilizes a cross-layer hierarchical scheduler, the structure and operation of which is further described herein. As depicted in
The packets are prioritized by a hierarchical scheduler which, in the embodiment depicted in
The operation of the hierarchical scheduler can be described formally as follows. Suppose there are K users of mobile stations. Each user has one or more TCP types of class ID s−1,2, . . . , S marked into each arriving packet. Each class s is assigned a service weight ws>0, and each user also has a weight Wk>0. A higher weight can reflect a smaller delay tolerance or more resource expectations. Each user k imposes a minimum rate (minRate) requirement: fds/td(fks)≧mk, where the subscript k and s denotes user ID and class ID, respectively, fks denotes the object size for the TCP type s of user k, td denotes its downloading time as a function of ∫ks, and mk is k's minRate requirement. Note that although only the per-user minRate is considered here, the arrangement can be naturally generalized to situations where the minRate varies per user k, per class s, or per flow.
The mean throughput per (user, class) pair or per user can be represented as a sliding-window moving average:
where rk(t) is user k's instantaneous channel rate, ts and tl are the filtering interval (it should be noted that other measurement techniques could also be used). A smaller interval implies a smaller delay in response to channel fluctuations but a less accurate measurement. Normally the values of ts and tl are 1000 slots (between 0.5 and 2 s). Due to causality, the only available information to the base station includes channel feedback rk(t), and past throughput Tks(t) and Tk(t) (∀k, s) (see module 270 in
For simplicity, it is assumed without limitation that the intra-user and inter-user schedulers pick only one (user, class) pair per channel slot, assuming the small slot provides a fine granularity (˜2 ms). In other words, at each time slot t, the layered intra- and inter-user schedulers decide the following two indicators, respectively:
The above indicators are equal to 1 only when the corresponding user or class has data backlog. The product Isk(t)Ik(t)=1 specifies a unique pair (k, s). It should be readily appreciated that where a big slot size is utilized, it may be necessary for the intra-user scheduler to select more than one classes from one or even multiple users per slot, say, due to traffic insufficiency or packet-level granularity loss to fill each slot. Similarly, the inter-user scheduler may pick multiple users per slot using CDM plus TDM, as proposed in HSDPA.
The hierarchical scheduler searches for the optimal indicators slot-by-slot to maximize a utility U(·), which, as further described below, can be represented as a function of the mean throughput. In accordance with the embodiment depicted in
Note in the second stage, Tk(t)=Σs=1STks(t), if suppose ts=tl in equation (1). Generally speaking, the intra-user scheduler differentiates classes for each individual user k, while the inter-user scheduler differentiates users, each being an aggregation of its classes. The solution set of the first stage, {Isk(t)=1, ∀k}, determines the class-specific weight Wk[Σs=1SwsIsk(t)](∀k) in the second stage to assist its user and class differentiation.
Consider the class-enforcing weights provided in the inter-user scheduling. It can be readily seen that this second stage of scheduling reduces to class-insensitive proportional fairness (PF) scheduling if one removes the weighting item [Σs=1SwsIsk(t)] from equation (5) and if one assumes that all users have equal weight Wk. The resulting scheduler would provide inter-user resource fairness but would blur the intra-user classifications. Likewise, consider the special case where S=1 or all users have the same one class of traffic. Then, the hierarchical scheduler collapses into the second stage only, performing exactly the same as a weighted PF scheduler given per-user weight Wk. Consider also the situation where each user k has only one backlogged class s(k) that differs fromuserto user, i.e., s(k1)≠s(k2), ∀k1≠k2 Suppose Uk(·)=U(·), ∀k, then the first stage degenerates while the global system utility in the second stage reduces to Σk=1KWkws(k)Is(k)k(t)Uk(Ts(k)(t)), the weighted summarization of per-user utility in the first stage. This further derives a double-weighted PF scheduler that considers both user channel, throughput, and class ID.
The above formulation works to maximize a utility function U(·). The utility U(·) can be defined in a number of different ways. One advantageous way is to represent the utility of elastic services is as a concave and non-decreasing function of the mean throughput. Consider the following generic utility function for all users:
where α≧0. Using such a utility function, it can be shown from the above that the intra-user scheduler would operate as follows:
where ws is the per-class weight and where
That is, Isk*(t)−1 while Isk(t)−0, ∀s≠s* and for each specified k. Note that the instantaneous channel rate rk(t) is independent of class ID. The traffic backlog, if any, is assumed sufficient to support the transmission within each slot. A TCP class after a silent period of arrivals, will see a smaller Tks(t) and will thus have a higher scheduling priority. The per-class weight ws may be assigned properly to differentiate the relative responsiveness of co-existing classes, e.g., w1=2w2=4w3 for TELNET, HTTP, and FTP. In this way, the scheduler protects bursty or short-lived TCP flows from existing bulk flows, and thus mitigates the service-oriented unfairness. The inventors refer to this scheme as measurement-based “weighted fair priority” (wfp) scheduling.
The inter-user scheduler can be setup to prioritize users at the MAC layer according to their current channel rate rk(t), aggregate throughput Tk(t), and their optimal class ID s*(k) (being a function of k) as decided by the intra-user scheduler. Adopting the same utility function and approach as above, one can represent the operation of the inter-user scheduling as follows:
that is, Ik*(t)−1 while Ik(t)−0(∀k≠k*). The inventors refer to this scheme as the “weighted fair priority aided alpha-rule” (wfpAlpha) scheduling.
It can be shown that the parameter
enables a flexible tradeoff between aggregate throughput and per-user resource fairness by tuning α. The per-class weight Ws*(k) enables class awareness across multiple users. The per-user weight Wk differentiates users, for example, by minRate guarantee if it is defined as the depth of a minRate-driven token bucket that leaks at the same pace of the service rate, as proposed in the M-LWDF scheduler. See M. Andrews et al., “Providing Quality of Service over a Shared Wireless Link,” IEEE Communications Magazine, pp. 150-54 (February 2001).
Unlike prior art scheduler designs which do not consider sporadic TCP arrivals and which do not differentiate heterogeneous TCP services, the hierarchical scheduler depicted in
While exemplary drawings and specific embodiments of the present invention have been described and illustrated, it is to be understood that that the scope of the present invention is not to be limited to the particular embodiments discussed. Thus, the embodiments shall be regarded as illustrative rather than restrictive, and it should be understood that variations may be made in those embodiments by workers skilled in the arts without departing from the scope of the present invention as set forth in the claims that follow and their structural and functional equivalents. As but one of many variations, it should be understood that the above discussion regarding the categorization of HTTP, TCP, and FTP services were used merely for illustration and other forms of service categorization can be readily utilized in the context of the present invention
This application claims the benefit of U.S. Provisional Application No. 60/674,614, entitled “TCP-DIFFERENTIATED DOWNLINK SCHEDULING IN WIRELESS SYSTEMS,” filed Apr. 25, 2005, the contents of which are incoporated by reference herein.
Number | Date | Country | |
---|---|---|---|
60674614 | Apr 2005 | US |