This invention relates generally to communications and, more particularly, to packet communications systems.
Access to the Internet is now occurring via the wireless domain. For example, it is now possible to purchase small hand-held devices such as the Palm VII™, which provide access to the Internet via a wireless connection to a service provider. Further, at least one equipment manufacturer is advertising a wireless Internet access system (i.e., the Wireless Internet Access System from Lucent Technologies Inc.). In such an environment equipment manufacturers and service providers are becoming concerned about “Quality-of-Service” (QoS) issues in providing such service to their customers. Some examples of QoS issues are guarantees on, e.g., bit rate, delay and packet loss.
One form of wireless internet access system utilizes a half-duplex communications link between a group of wireless modems and an access point of a base station (notwithstanding the fact that the access point is capable of full-duplex operation). We have observed that in such a wireless internet access system situations can occur causing low bandwidth utilization of the downlink channel of the half-duplex communications link—thus affecting QoS. Therefore, and in accordance with the principles of the invention, load balancing is performed on the downlink channel.
In an embodiment of the invention, an access point of a base station and a group of wireless modems communicate over a wireless channel. This wireless channel comprises a sequence of “dwells,” where each dwell represents a period of time, e.g., 20 milli-seconds (ms). Each dwell can convey both uplink (or upstream) and downlink (or downstream) transmissions to, and from, the group of wireless modems. However, in each dwell a particular wireless modem can only communicate half-duplex—either provide an uplink transmission to the access point, or receive a downlink transmission from the access point. The access point load balances, or distributes, the downlink transmissions to the group of wireless modems across the dwells upon detection that some dwells convey more downlink transmissions than other dwells.
A portion of an illustrative wireless internet access system embodying the inventive concept is shown in
It is assumed that the wireless internet access system illustrated by
Although shown as separate downlink and uplink channels (e.g., 311 and 312) for each wireless modem, communication between a group of wireless modems, e.g., 310-1 through 310-N, and an access point, e.g., AP1, takes place in a sequence of dwells, or time slots, as illustrated in
In order to support QoS (Quality of Service) differentiated services, each access point provides three priority classes of service. In each priority class, downlink traffic for a particular wireless modem is stored in a queue assigned to that wireless modem The queues in a priority class are served by a round robin scheduler. The access point services queues in a strict priority sequence. The queues in a lower priority class are serviced only if no traffic from all higher priority classes can be sent either due to empty queues or due to the fact that the access point cannot schedule a transmit and receive in the same dwell.
An illustrative downlink scheduler 100 for use in an access point, e.g., AP1, is shown in
Downlink scheduler 100 comprises scheduler 120 and 3 sets of class queues: class 1 queues 105, class 2 queues 110 and class 3 queues 115. Class 1 is the highest priority class, while class 3 is the lowest priority class. (It should be noted that scheduler 120 may also include a packet shaper, i.e., perform other packet shaping functions as known in the art, which are not relevant to the inventive concept.) Each set of class queues includes individual queues for each wireless modem, e.g., class 1 queues 105 comprises individual queues C1310-1 through C1310-N, associated with wireless modems 310-1 through 310-N, respectively. Downstream packet traffic is applied to the respective class queue via line 101 (which is assumed to also represent a packet classifier (not shown) for directing each packet received by downlink scheduler 100 to the appropriate class queues for the respective modem). For every dwell, or scheduling interval, scheduler 120 performs downlink scheduling as follows. Scheduler 120 temporarily stores in a memory (not shown) the last individual queue that was served during the last dwell and begins with the individual queue next to it. For example, if the last individual queue served in the last dwell was C1310-1 of class 1 queues 105, then scheduler 120 starts this scheduling interval with individual queue C1310-2 of class 1 queues 105 (via line 121). Continuing with this example, before removing packets from individual queue C1310-2, scheduler 120 checks if any packet(s) were sent during the previous dwell to wireless modem 310-2. (It is assumed that such transmission information is stored in a table (not shown).) If there was at least one packet transmitted to wireless modem 310-2 during the previous dwell, scheduler 120 does not operate on this queue since an uplink acknowledgment must be received from wireless modem 310-2 for the previously transmitted packet(s). Conversely, if no packet was sent to wireless modem 310-2, scheduler 120 tries to schedule all the packets (if any) from individual queue C1310-2 for transmission to wireless modem 310-2 before moving to the next eligible queue. Scheduler 120 moves to class 2 queues 110 (via line 122) only after exhaustively serving all eligible individual queues of class 1 queues 105. Similarly, scheduler 120 only serves class 3 queues 115 (via line 123) after exhaustively serving all eligible queues in class 2 queues 105. After serving class 3 queues 115, scheduler 120 repeats the process (time permitting in the current scheduling interval). (Obviously, the dwell period, or scheduling interval, may expire before scheduler 120 completes servicing all of the class queues. Regardless, scheduler 120 simply picks up where it left off, as noted earlier.)
Absent the inventive concept, we have observed the following phenomena, which is conceptually illustrated in
Thus, we have observed that the combination of priority scheduling and the fact that a wireless modem cannot be scheduled to send and receive in the same dwell can lead to a situation where most of the wireless modems can only be sent downlink packets in, e.g., odd dwells (or, conversely, in even dwells). Therefore, and in accordance with the principles of the invention, load balancing is performed on the downlink channel by scheduler 120. In particular, a load balancing algorithm (described below) equalizes the load across dwells and thus improves bandwidth utilization.
Turning to
An illustrative implementation for use in scheduler 120 for adjusting downlink traffic between odd and even dwells is presented below in pseudo-code form. The following variables and data structures are defined:
An illustrative implementation of the method shown in
As a result of the above, should scheduler 120 detect a load imbalance across even and odd dwells, scheduler 120 shifts the traffic for particular wireless modems to the other type of dwell (e.g., see steps (1) and (2), above), thus reducing the imbalance.
Turning briefly to
(It should be noted that the downlink scheduler described above could alternatively be implemented at other points of portion 300 of
The foregoing merely illustrates the principles of the invention and it will thus be appreciated that those skilled in the art will be able to devise numerous alternative arrangements which, although not explicitly described herein, embody the principles of the invention and are within its spirit and scope. For example, although illustrated in the context of a wireless system, the inventive concept is applicable to any system (e.g., wired, etc.) that addresses QoS.
This application claims the benefit of U.S. Provisional Application No. 60/198,389, filed Apr. 19, 2000. Related subject matter is disclosed in the co-pending, commonly assigned, U.S. Patent application of Abraham et al., entitled “Guaranteeing Types of Service in a Packet-Based System,” application Ser. No. 09/500,390, filed on Feb. 8, 2000.
Number | Name | Date | Kind |
---|---|---|---|
4621359 | McMillen | Nov 1986 | A |
5239649 | McBride et al. | Aug 1993 | A |
5283897 | Georgiadis et al. | Feb 1994 | A |
5430731 | Umemoto et al. | Jul 1995 | A |
5499243 | Hall | Mar 1996 | A |
5541924 | Tran et al. | Jul 1996 | A |
5657323 | Jan et al. | Aug 1997 | A |
5805633 | Uddenfeldt | Sep 1998 | A |
5860137 | Raz et al. | Jan 1999 | A |
5920571 | Houck et al. | Jul 1999 | A |
6148324 | Ransom et al. | Nov 2000 | A |
6307863 | Moulsley | Oct 2001 | B1 |
6370117 | Koraitim et al. | Apr 2002 | B1 |
6389474 | Chien et al. | May 2002 | B1 |
6412073 | Rangan | Jun 2002 | B1 |
6438652 | Jordan et al. | Aug 2002 | B1 |
6560633 | Roberts et al. | May 2003 | B1 |
6577610 | Kronz | Jun 2003 | B1 |
6598232 | McAlear | Jul 2003 | B1 |
6608827 | Austin | Aug 2003 | B1 |
6658010 | Enns et al. | Dec 2003 | B1 |
6891847 | Gubbi | May 2005 | B1 |
20020026560 | Jordan et al. | Feb 2002 | A1 |
Number | Date | Country | |
---|---|---|---|
60198389 | Apr 2000 | US |