a is a block diagram illustrating a wireless relay network according to an example embodiment.
b is a diagram of a multi-hop environment according to an example embodiment.
a-4b are block diagrams illustrating wireless relay networks according to example embodiments.
a is a block diagram illustrating an example contention window according to an example embodiment.
b is a timing diagram illustrating operation of a wireless node according to an example embodiment.
Referring to the Figures in which like numerals indicate like elements,
a is a block diagram illustrating a wireless network 302 according to an example embodiment. Wireless network 302 may include a number of wireless nodes or stations, such as base station BS1304, relay stations RS1320 and RS2330, a group of mobile stations, such as MS1322 and MS2324 communicating with relay station RS1320, and MS3332 and MS4334 communicating with relay station RS2330. As shown, relay station RS2330 also communicates with relay station RS1320. While only one base station, two relay stations, and four mobile stations are shown in wireless network 302, any number of base stations, relay stations, and mobile stations may be provided. The base station 304 may be coupled to a fixed network 306, such as a Wide Area Network (WAN), the Internet, etc., and may also be coupled to other wireless networks. The group of stations MS1322, MS2324, and RS2330 may communicate with the base station BS1304 via the relay station RS1320. The group of stations MS3332, MS4334, may communicate with the base station BS1304 via the relay station RS2330, which communicates with the base station BS1304 via the relay station RS1320.
b is a diagram of a multi-hop environment according to an example embodiment. A group of wireless nodes 332, 334, which may be mobile stations or subscriber stations (MS/SS) may each be coupled via a wireless link to a wireless node 330. As an example, the wireless nodes 332, 334 may include mobile telephones, wireless digital assistants (PDAs), or other types of wireless access devices, or mobile stations. The term “node” may refer, for example, to a wireless station, e.g., a subscriber station or mobile station, an access point or base station, a relay station or other intermediate wireless node, or other wireless computing device, as examples. Wireless node 330 may include, for example, a relay station or other node. Wireless node 330 and other wireless nodes 322, 324 may each be coupled to a wireless node 320 via a wireless link. Wireless node 320 and other wireless nodes 308, 310 may each may be coupled to a wireless node 304 via a wireless link. Wireless node 304 may be, for example, a base station (BS), access point (AP) or other wireless node. Wireless node 304 may be coupled to a fixed network, such as network 306, for example. Frames or data flowing from nodes 332, 334 to 330, 322324, and 330 to 320, and 308, 310,320 to node 304 may be referred to as flowing in the uplink (UL) or upstream direction, whereas frames flowing from node 304 to nodes 308, 310, and to node 320 and then to nodes 330, 322, 324, 332, and 334 may be referred to as flowing in the downlink (DL) or downstream direction, for example.
The various example embodiments described herein may be applicable, for example, to a wide variety of networks and technologies, such as WLAN networks (e.g., IEEE 802.11 type networks), IEEE 802.16 WiMAX networks, 802.16 Mobile Multi-hop Relay (MMR) networks, as referenced in IEEE 802.16 WG, WiMedia networks, Ultra Wide Band networks, cellular networks, radio networks, or other wireless networks. In another example embodiment, the various examples and embodiments may be applied, for example, to a mesh wireless network, where a plurality of mesh points (e.g., Access Points) may be coupled together via wired or wireless links. The various example embodiments described herein may be applied to wireless networks, both in an infrastructure mode where an AP or base station may communicate with a station (e.g., communication occurs through APs), as well as an ad-hoc mode in which wireless stations may communicate directly via a peer-to-peer network, for example. These are merely examples, and it is to be understood that the techniques described may apply to any type of network environment.
A wireless relay network may be an example of a multi-hop system in which end nodes, for example, mobile stations or subscriber stations, may be connected to a base station via one or more relay stations, such as RS1320 and RS2330, for example. Traffic between the mobile statioris or subscriber stations and the base station may pass through, and be processed by, the relay stations RS1320 and RS2330, for example. As an example, a relay station may be used to extend the network coverage and/or enhance the system throughput. For example, the traffic sent from a relay station may be scheduled by the relay station itself or scheduled by the base station instead. In some cases, a relay station may receive and decode a frame from a base station, and then forward the frame to the respective mobile station or subscriber station.
The term “wireless node” or “network station” or “node,” or the like, may include, for example, a wireless station, such as a mobile station or subscriber station, an access point (AP) or base station, a relay station, a wireless personal digital assistant (PDA), a cell phone, an 802.11 WLAN phone, a WiMedia device, a WiMAX device, a wireless mesh point, or any other wireless device. These are merely a few examples of the wireless devices and technologies that may be used to implement the various example embodiments described herein, and this disclosure is not limited thereto.
In an example wireless network system without RSs, a wireless node, for example, a base station or access point (BS/AP) may assign a contention window including a value indicating one or more transmission opportunities for the uplink traffic. End nodes, for example, the MS/SSs may then contend for these transmission opportunities. If a collision is detected, e.g., more than one MS/SS sends traffic in the same transmission opportunity, the MS/SS may apply a contention resolution technique such as, e.g., binary exponential backoff, and may retransmit, for example, after a backoff counter reaches a predetermined value or after a backoff time expires.
For example, a base station may control assignments on an uplink contention window through parameters sent to the end nodes, for example, via uplink map (UL-MAP) messages, for example, according to 802.16 UL-MAP messages. The base station, for example, may then determine which transmission opportunities are subject to collisions. The contention window size may be dynamically changed on a frame by frame basis. When a wireless node such as an end node, e.g., MS/SS has information to send and wants to enter the contention resolution process, the end node may set its internal backoff window to a value, for example, a value defined by the BS, for example, a Request Backoff Start sent by the BS via an uplink channel description message, for example, via an 802.16 UCD message. The wireless node may then randomly select a number within its backoff window. The random number may indicate, for example, a number of transmission opportunities that the wireless node may defer before transmitting.
After a contention transmission, the wireless node, e.g., MS/SS may wait for a resource grant from the BS, for example, a resource grant indicated by a subsequent UL-MAP message. Once a resource grant is received, the contention resolution may be considered complete. The wireless node, e.g., MS/SS may thus consider the contention transmission lost if no resource grant has been received within a predetermined interval, e.g., a predetermined time period. In this case, according to one aspect, the wireless node, e.g., MS/SS may then increase its backoff window size by a factor of two. The wireless node, e.g., MS/SS may then randomly select a number within its new backoff window and repeat the deferring process described above.
Another level of contention may be introduced by the addition of one or more relay stations into the wireless network. An example goal of managing multiple levels of contentions may include providing equal transmission opportunities to all the MS/SSs in the system while maintaining a low system overhead.
According to an example embodiment, if each BS and RS in a wireless network is associated with its own contention window, a size of each contention window and a mapping between different levels of contention windows may be determined to provide equal opportunities to all the MS/SSs to contend for resources without regard to whether a particular MS/SS is attached to a BS or a RS, while maintaining a reasonable system overhead.
Various techniques may thus be provided for allocating multi-level contention windows (CWs) in relay networks. According to one example aspect, a wireless node, e.g., a BS may allocate different levels of CWs based on system parameters which may include various factors such as, for example, a number of users attached, a traffic load condition, and a collision history. One example goal of such techniques may include providing sufficient fairness on transmission opportunities to all the MS/SSs in the system without regard to whether it is coupled to the base station or to any one of different levels of relay stations (RSs), while at the same time maintaining reasonable system overhead. Thus, according to one example aspect, the non-collided requests at each level of the CWs may contend again with other requests in a higher level of the CWs.
According to another example aspect, the non-collided requests at each level of the CWs may contend again with other requests in a dedicated portion of a CW in a higher level that may be reserved for the non-collided requests from a CW in a lower level. Examples of these techniques are described further below.
a-4b are block diagrams illustrating wireless relay networks according to example embodiments. According to an example embodiment, if an example relay network has n levels of RSs, then each BS and RS in the system may be associated with its own contention window. As an example, a two-level-relay-station architecture is illustrated in
For example, the CW 416 may be considered to include multiple transmission opportunities that may be desired by one or more of the MS/SSs and/or RSs in the relay network, and thus the MS/SSs and/or RSs that desire one or more transmission opportunities may contend for them.
Similarly, a level 1 CW 426 may be used by all MS/SSs and RSs coupled to, or directly attached to the RS1420. Thus, as shown in the example, MS/S S 422, MS/SS 424, and RS2430 may use the level 1 contention window (CW) 426 associated with the relay station RS1420 to contend for transmission opportunities to transmit to the RS1420.
Similarly, a level 2 CW 436 may be used by all MS/SSs and RSs coupled to, or directly attached to the RS2430. Thus, as shown in the example, MS/SS 432 and MS/SS 434 may use the level 2 contention window (CW) 436 associated with the relay station RS2430 to contend for transmission opportunities to transmit to the RS2430.
An example generic view of multiple levels of CWs is shown in
According to one example aspect, the various wireless nodes may contend among themselves for the transmission opportunities included in the CWs using contention and contention resolution mechanisms as described below.
As an example, for traffic that has been transmitted without collision in a particular transmission opportunity in a level i+1 CW 456 (i.e., only one MS/SS attached to RSi+1 450 has sent traffic on that transmission opportunity), RSi+1 450 may select a transmission opportunity in the level i CW 446 and forward the non-collided traffic to the RS 440 in the selected transmission opportunity. The forwarded traffic may then be subject to collision with the traffic sent from other MS/SSs or RSs attached to the RSi 440. According to one example aspect, if particular traffic collides in a particular transmission opportunity in the level i+1 CW 456, i.e., more than one MS/SS attached to RSi+1 450 sends traffic on the same transmission opportunity, the RSi+1 may drop the traffic without forwarding the collided traffic to the RSi 440. At some point, an originating MS/SS may determine that its transmitted traffic may not have been received by the intended destination BS, and the originating MS/SS may then retransmit the traffic. According to another aspect, RSi+1 may determine that its transmitted traffic may not have been received by RSi or the intended destination BS since for example it hasn't received the bandwidth grant for the associated MS/SS after certain time period, and may then retransmit the traffic.
According to one example aspect, in order to allow more than one MS/SS attached to a wireless node such as RSi+1 450 to be able to send traffic successfully to RSi 440, RSi+1 450 may be configured to send traffic on multiple transmission opportunities in the level i CW 446. The traffic may have been transmitted to RSi+1 450 from different MS/SSs coupled to or attached to RSi+1, e.g., from MS/SS 452 and MS/SS 454. Alternatively, the traffic may have been transmitted to RSi+1 450 from a single MS/SS, for example, from MS/SS 452 or MS/SS 454.
Similarly, according to another example aspect, if the RSi 440 attaches to a wireless node RSi−1 (not shown) which is not a base station or access point, then similar techniques as discussed above with regard to RSi+1 450 may be applied to the RSi 440.
According to an example embodiment, an example technique of mapping successful (i.e., non-collided) traffic from a level i+1 CW 456 to a level i CW 446 may include, for example, a common, or shared, contention pool. For example, the wireless node RSi 440 may not reserve a specific portion of its associated level i CW 446 for non-collided traffic from RSi+1 450. Thus, all non-collided traffic to be forwarded from RSi+1 450 that has been received by RSi+1 450 through level i+1 contention may contend again with other MS/SSs and RSs coupled to, or attached to RSi 440.
According to one example aspect, a size of the level i+1 CW 456 may be the same, or substantially the same, as a size of the level i CW 446. Thus, non-collided traffic to be forwarded from RSi+1 450 through level i+1 CW 456 may be forwarded to RS 440 on the same, or substantially the same, transmission opportunity, in the level i CW 446. The traffic forwarded according to this technique may be subjected to collision at the level i CW 446.
According to another example aspect, a size of the level i+1 CW 456 may be different, or substantially different, from a size of the level i CW 446. Thus, for example, a base station may determine a size of each contention window CW (e.g., level i CW 446, level i+1 CW 456, etc.) on a frame by frame basis based on one or more system parameters. For example, the size of each contention window may be based on one or more of a number of users, a traffic load under each wireless node, e.g., each RS, and/or a collision history on the uplink. Since the size of two CWs may be different from each other, a mapping scheme to map the non-collided traffic, for example, from RSi+1 450 to the transmission opportunities in the level i CW 446 associated with RSi 440 may be determined. To reduce potential collisions, it may be determined, for example, that RSi+1 450 may not map two units of non-collided traffic into the same or substantially the same transmission opportunities in the level i CW 446. As an example, a base station may determine a larger CW size for a CW associated with the base station than a size of a CW associated with a relay station coupled to the base station, as the base station may potentially serve more users than the relay station.
According to another example embodiment, another example technique of mapping successful (i.e., non-collided) traffic from a level i+1 CW 456 to a level i CW 446 may include, for example, a dedicated portion of a contention window. Thus, for example, a wireless node, for example, RSi 440 may reserve a portion of the level i CW 446 (i.e., k transmission opportunities) for all the traffic to be sent to RSi 440 from RSi+1 450. Thus, for example, a base station may determine a value of k on a frame by frame basis based on one or more system parameters. For example, the value of k may be based on system conditions such as a number of users, a traffic load under each wireless node, e.g., each RS, and/or a collision history on the uplink.
As an example, in order to avoid collision in the dedicated part of the level i CW 446, which may lead to a waste of resources, the wireless node, e.g., RSi+1 450 may select k units of traffic, or k data units, among the non-collided traffic received by RSi+1 450 based on the level i+1 CW 456 and may map the selected units to the dedicated k transmission opportunities in the level i CW 446 if a number of non-collided traffic units or data units from the level i+1 CW 456 is larger than k. Therefore, no contention may be applied to the traffic that may be forwarded from the RSi+1 450 to the RSi 440.
According to an example embodiment, one or more relay stations, for example, RSi 440, RSi+1 450 may receive data units and forward the data units to the next level of the wireless relay network based on the level i and level i+1 contention windows without backoff. Thus, the RSi 440 and RSi+1 450 may merely receive and forward data units using the CWs, but without performing backoff techniques.
According to another example embodiment, one or more relay stations, for example, RSi 440, RSi+1 450 may receive data units and forward the data units to the next level of the wireless relay network based on the level i and level i+1 contention windows with backoff, for example, when a collision is determined. Thus, the RSi 440 and RSi+1 450 may receive and forward data units using the CWs, and may perform backoff techniques when collisions are determined.
An example contention resolution technique may be based on a truncated binary exponential backoff, with an initial backoff window and a maximum backoff window controlled, for example, by the BS, e.g., the BS 404 or any other wireless node. For example, these minimum and maximum values may be specified as part of a channel description, for example, as part of an uplink channel description (UCD) message (e.g., an 802.16 UCD message) that may be sent by the base station, e.g., BS 404. For example, the windows may be represented as power-of-two values. For example, a backoff window value of 4 may indicate a backoff window between 0 and 15; a value of 10 may indicate a backoff window between 0 and 1023.
For example, when a wireless node, e.g., a MS/SS or RS, has information to send and wants to enter the contention resolution process, it may set a backoff window (internal to the wireless node) equal to the initial window value as discussed previously. For example, an initial value may include a Request (or Ranging for initial ranging) Backoff Start value that may be indicated, for example, in a UCD message referenced by a UCD Count in a UL-MAP message that is currently in effect.
The wireless node that wants to enter contention may then randomly select a number within its backoff window. This random value may indicate a number of transmission opportunities or contention transmission opportunities that the wireless node may defer before transmitting. In deferring, the wireless node may consider only transmission opportunities for which this transmission would have been eligible. Such eligible transmission opportunities may be indicated, for example, by contention windows or uplink intervals indicated via Request Information Elements (IEs) or Initial Ranging IEs that may be sent, for example, by a base station via UL-MAP messages (e.g., 802.16 UL-MAP messages). For example, each IE may indicate multiple transmission opportunities or contention transmission opportunities.
a is a block diagram illustrating an example contention window or uplink interval 502 according to an example embodiment. As shown in the example of
In the context of contention transmission opportunities indicated by such a contention window or uplink interval 502, the term “transmission opportunity” may refer to an allocation provided to network nodes that may be permitted to request one or more resources (e.g., bandwidth) for transmission. For example, a base station, e.g., BS 404, or other network node, may provide indicators of transmission opportunities (e.g., via the contention window or uplink interval 502) via an uplink map (e.g., an 802.16 UL-MAP) which may be provided to one or more network nodes, e.g., MS/SSs and/or RSs that may be permitted to send, for example, bandwidth requests or initial ranging requests.
For example, a MS/SS may have data to send to a BS, and may thus desire transmission resources such as bandwidth for transmitting the data to the BS. The MS/SS may have received information regarding its initial backoff window via a UCD message from the base station. Assuming, for example, that the initial backoff window is 0 to 15, the MS/SS may then select a random number in the range 0 to 15, for example, the MS/SS may randomly select the number 11. The SS/MS may then defer a total of 11 transmission opportunities or contention transmission opportunities before transmitting the desired data. As an example, if a first available contention window or uplink interval indicated by a Request IE (e.g., sent by the BS via a UL-MAP) indicates 6 transmission opportunities, the MS/SS may not use any of these 6 and thus may defer for 5 more transmission opportunities. If a next contention window or uplink interval indicated by a Request IE (e.g., sent by the BS via a second UL-MAP) indicates 2 transmission opportunities, the MS/SS may not use any of these 2 and thus may defer for 3 more transmission opportunities. If a third contention window or uplink interval indicated by a Request IE indicates 8 transmission opportunities, the MS/SS may transmit on the fourth transmission opportunity, after deferring for 3 more transmission opportunities.
For example, after a contention transmission, the MS/SS may determine whether a collision occurred in the transmission, for example, by waiting for a Data Grant Burst Type IE to be indicated by a subsequent UL-MAP map, or by waiting for a ranging response message (e.g., a RNG-RSP message) for initial ranging. If such a message is received the contention resolution may be considered complete.
However, the example MS/SS may consider the contention transmission lost if no indicator of a data grant, or no ranging response, has been received within a predetermined waiting period, for example, within receipt of a predetermined number of UL-MAPs. The example MS/SS may then increase its backoff window, for example, by a factor of two, as long as the increased backoff window is smaller than the maximum backoff window. The example MS/SS may then randomly select a number within its new backoff window and repeat the deferring process as discussed above.
For bandwidth requests, if the example MS/SS receives a unicast Request IE or Data Grant Burst Type IE at any time while deferring for a particular node identifier, it may stop the contention resolution process and may use an explicit transmission opportunity indicated by the received unicast IE.
According to another example embodiment in which a wireless node may sense a medium, the wireless node may, for example, start a backoff time counter associated with the wireless node after detecting an idle channel for at least a predetermined interval value, or, for example, after waiting a predetermined interval for a response from a base station acknowledging a request from the wireless node to send data.
b is a timing diagram illustrating operation of a wireless node according to an example embodiment. According to an example embodiment, a wireless node may delay its transmission by the length of its backoff time counter to allow other nodes to win or obtain transmission opportunities. In
Thus, for example, in a wireless network system without RSs, the BS/AP may assign a contention window containing multiple slots, each of which may represent one transmission opportunity for the uplink traffic. The MS/SS may contend among these transmission opportunities. If a collision is detected (i.e., more than one MS/SS sends traffic in the same transmission opportunities), the MS/SS may apply a contention resolution method (e.g., binary exponential backoff) and retransmit after backoff time expires.
Thus, for example, when an example MS/SS has information to send and wants to enter a contention resolution process, it may set its internal backoff window or contention window to a Request Backoff Start, for example, defined by the BS, and then randomly select a number within its backoff window. The random number may indicate the number of transmission opportunities that the MS/SS may defer before transmitting. After a contention transmission, the MS/SS may determine whether a collision occurred in its transmission by waiting for a resource grant from the BS in a subsequent UL-MAP message. Once such a resource grant is received, the contention resolution may be considered complete. The MS/SS may consider the contention transmission lost if no data grant has been given within a predetermined time period. If it is determined that a collision occurred, the MS/SS may then increase its backoff window by a factor of two. The MS/SS may then randomly select a number within its new backoff window and repeat the deferring process described above.
According to another example, a wireless node with a packet to transmit may monitor the channel (e.g., the medium) to determine when it may be permissible to transmit data. Initially, for example, the channel may be busy at 506. However, the channel may become idle. If the channel is idle for a period of time, the wireless node may generate a backoff time to decrease the probability of collision. The backoff time may be selected, for example, as a random value in the range [0, CW], where CW indicates the contention window size. The backoff time may be an integer indicating a number of backoff slots, for example.
According to an example, CW may initially be set to CWmin or a minimum contention window size. Thus, depending on the CWmin, the backoff time may be set to zero, or some other value, for example. The backoff time counter may be set to this backoff time. According to this example embodiment, the contention window and random backoff time counter may use a discrete scale, measured in backoff slots, for example. If an attempt to access a channel is unsuccessful due to collisions, then the wireless node may increase the CW (e.g., up to CWmax), select a new random backoff time between [0, CW] for the backoff time counter, and then may re-attempt to access the channel. This process may be repeated, with CW increasing after each collision or unsuccessful attempt, for example.
According to an example, during this random backoff, a random backoff time counter may be decremented so long as the channel is sensed idle, may be frozen when a transmission is detected on the channel, and may be restarted or may continue decrementing when the channel is again sensed idle for a predetermined period. The wireless node may then transmit over the channel when its backoff time counter reaches zero, for example. A node may transmit at the beginning of a backoff slot. The contention window, CW, may be set to zero or some other value, as noted.
As noted above, nodes may increase a backoff window size after each collision or unsuccessful attempt to access a channel, for example.
As another example of operation 610, a data unit transmitted from a network node based on a first contention window associated with a relay station located at a first level may be received (612). For example, the RS1420 may receive a data unit transmitted from the RS2430 that was transmitted based on the level 1 CW 426 associated with the RS1420.
At 620, the data unit may be forwarded to a second network station based on a second contention window associated with the second network station. For example, operation 620 may include forwarding the data unit to a base station based on the second contention window associated with the base station located at a second level (622). For example, the RS1420 may forward the received data unit to the BS 404 based on the level 0 CW 416 associated with the BS 404.
As another example of operation 620, the data unit may be forwarded to the second network station based on the second contention window associated with the second network station based on unreserved transmission contention with other network nodes transmitting signals to the second network station (624).
As another example of operation 620, the data unit may be forwarded to the second network station based on a portion of the second contention window that is dedicated to data units that have been transmitted based on the first contention window (626). For example, the relay station RS1420 may receive frames transmitted from relay station RS2430 based on the contention window associated with the relay station RS 1420. The relay station RS 1420 may then transmit those received frames to the BS 404 using a dedicated portion, e.g., k transmission opportunities, via the contention window associated with the BS 404.
It is to be understood that the techniques discussed herein may be applied to relay in various wireless technology, and is not limited only to WiMax MMR.
Controller 704 may be programmable and capable of executing software or other instructions stored in memory or on other computer media to perform the various tasks and functions described above, such as one or more the tasks or methods described above in
In addition, a storage medium may be provided that includes stored instructions, when executed by a controller or processor that may result in the controller 704, or other controller or processor, performing one or more of the functions or tasks described above.
Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Implementations may implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. A computer program, such as the computer program(s) described above, can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
Method steps may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method steps also may be performed by, and an apparatus may be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
While certain features of the described implementations have been illustrated as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the various embodiments.