A more complete understanding of the present invention may be derived by referring to the detailed description and claims when considered in conjunction with the following figures, wherein like reference numbers refer to similar elements throughout the figures.
The following detailed description is merely illustrative in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any express or implied theory presented in the preceding technical field, background, brief summary or the following detailed description.
The invention may be described herein in terms of functional and/or logical block components and various processing steps. It should be appreciated that such block components may be realized by any number of hardware, software, and/or firmware components configured to perform the specified functions. For example, an embodiment of the invention may employ various integrated circuit components, e.g., radio-frequency (RF) devices, memory elements, digital signal processing elements, logic elements, look-up tables, or the like, which may carry out a variety of functions under the control of one or more microprocessors or other control devices. In addition, those skilled in the art will appreciate that the present invention may be practiced in conjunction with any number of data transmission protocols and that the system described herein is merely one exemplary application for the invention.
For the sake of brevity, conventional techniques related to signal processing, data transmission, signaling, network control, the 802.11 family of specifications, and other functional aspects of the system (and the individual operating components of the system) may not be described in detail herein. Furthermore, the connecting lines shown in the various figures contained herein are intended to represent example functional relationships and/or physical couplings between the various elements. It should be noted that many alternative or additional functional relationships or physical connections may be present in a practical embodiment.
Referring to
A particular access point 120 may have a number of associated mobile units 130. For example, in the illustrated topology, mobile units 130(a), 130(b), and 130(c) are associated with access point 120(a), while mobile unit 130(e) is associated with access point 120(c). Furthermore, one or more access points 120 may be connected to a single wireless switch 110. Thus, as illustrated, access point 120(a) and access point 120(b) are connected to wireless switch 110(a), and access point 120(c) is connected to wireless switch 110(b).
Each wireless switch 110 determines the destination of data packets it receives over network 104 and routes that data packet to the appropriate access point 120 if the destination is a mobile unit 130 with which the access point 120 is associated. Each wireless switch 110 therefore maintains a routing list of mobile units 130 and their associated access points 130. These lists are generated using a suitable packet handling process known in the art. Thus, each access point 120 acts primarily as a conduit, sending/receiving RF transmissions via mobile units 130, and sending/receiving data packets via a network protocol with wireless switch 110.
The access points 120 are typically capable of communicating with one or more mobile units 130 through multiple RF channels. This distribution of channels varies greatly by device, as well as country of operation. For example, in one embodiment in accordance with 802.11(b) there are fourteen overlapping, staggered channels, each centered 5 MHz apart in the RF band, although only eleven channels may currently be used legally in the U.S.
In alternate embodiments, the wireless switches are not utilized, and the access points are connected directly to the network.
An exemplary embodiment of the present invention is described in conjunction with
The scheduling system 200 further includes a data rate input 206. The data rate input 206 receives a data rate 208 assigned to transmit the data packet to a mobile unit 130. The data rate 208 can be determined by a data rate selection algorithm or mechanism, which may or may not form part of the data rate input 206 of the scheduling system 200. The mechanism by which the data rate is determined may vary based on the implementation of the access point 120.
The scheduling system 200 further includes a feedback input 210. The feedback input 210 may provide, receive and/or evaluate information about the resource utilization of the access point 120. The feedback input 210 can determine how much bandwidth a given mobile unit 130 is utilizing or has recently utilized. In the exemplary embodiment, the feedback input 210 receives resource utilization feedback 212 concerning the number of frames and bytes outgoing to a given mobile unit that are currently pending in the memory or queues of the radio 216. In an alternate embodiment, the feedback input 210 can use a timer to track the relative bandwidth utilization of each mobile unit over a given time interval. The resource utilization feedback 212 will vary as transmissions from the radio 216 are completed. Generally, the feedback input 210 provides the scheduling system 200 with an indication of how much a given mobile unit has been using the available network bandwidth.
The scheduling system 200 further includes a scheduler output 214 that determines the schedule of data packets provided to the radio 216 for transmission. The process that the scheduler output 214 uses for determining the schedule of outgoing data packets is discussed in further detail with respect to
Referring to the process steps illustrated in
As an example, the following scenario is considered: the queue input 202 indicates that a given queue has two packets, each 50 bytes long; the data rate input 206 indicates that the data rate assigned to the mobile unit associated with that queue is 1 Mbps; the bandwidth utilization limit for 1 Mbps is 150 bytes; and the feedback input 210 indicates that three data packets are already pending in the radio. In this scenario, the data packets of this queue will not be scheduled because the mobile unit's current bandwidth utilization equals the limit of 150 bytes. Instead, the data packets in the queue for the next mobile unit will be evaluated. Within one example of the system and method according to the present invention, the queues are evaluated in round robin manner, although other evaluation sequences and algorithms are possible. The two incoming data packets will not be scheduled until the data rate and the associated bandwidth utilization limit for that mobile unit is increased or the feedback input 210 indicates that at least one of the pending fames has completed transmission. If in another scenario, a queue has five data packets, each 50 bytes; the data rate is 11 Mbps; the bandwidth utilization limit is 1650 bytes; and no outgoing data packets are pending in the radio, then all five packets will be scheduled from that queue during the same interval as that of the three outgoing packets of the preceding queue.
In practice, the bandwidth utilization limit for different data rates can vary from implementation to implementation. Generally, the bandwidth utilization limits for different data rates will in fact vary based on the implementation because the ideal bandwidth utilization limits will depend upon the particular resource management feedback mechanism and the mechanism used for the determination of the data rate. Moreover, the bandwidth utilization limit of the different data rates can vary within the same implementation over time depending on environmental circumstances that affect the bandwidth utilization of a given data rate. For example, the bandwidth rating can vary based on whether 802.11(g) Extended Rate PHY protection is turned on or off. In one exemplary embodiment, the bandwidth utilization limits for a number of data rates are shown in Table 1 below.
The exemplary embodiment of the present invention may provide a fair and predictable distribution of transmissions to the mobile units. This holds true even if: (1) some of the mobile units may be attempting to dominate the bandwidth of the access point; (2) some of the mobile units are on the edge of the range, thereby forcing the access point to use a relatively low data rate; and/or (3) some of the mobile units are unable or incapable of using relatively high data rates.
The scheduling system described herein may be designed as a stand-alone device, incorporated into an access point coupled to a wireless switch, incorporated into the wireless switch itself, incorporated into an access point coupled directly to a network, or incorporated into a mobile unit. Components of the scheduling system can be located on a single element of a network or spread across more than one element of the network. Moreover, although the embodiments discussed above utilize the IEEE 802.11 protocol, the scheduling system can be implemented in any system that transmits to a variety of devices at different data rates on a shared medium.
It is noted that the various tasks performed in connection with the processes and systems shown herein may be performed by software, hardware, firmware, or any combination thereof. Although
It should also be appreciated that the example embodiment or embodiments described herein are not intended to limit the scope, applicability, or configuration of the invention in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing the described embodiment or embodiments. It should be understood that various changes can be made in the function and arrangement of elements without departing from the scope of the invention as set forth in the appended claims and the legal equivalents thereof.