Patent Publication Number: US-7586932-B2

Title: Contention window adjustment methods capable of load-adaptive backoff in a network and machine-readable storage medium therefor

Description:
BACKGROUND 
     The invention relates to medium access controls, and more particularly, to contention window adjustment methods capable of Load-Adaptive Backoff (LAB for short) in a network. 
     The media access control (MAC) protocol defines data transferring methods for stations (communication devices, such as laptops, personal digital assistants, mobile phones, and others) in a medium-shared network. The station following a carrier sense multiple access (CSMA for short) protocol must detect whether the medium is busy before sending a frame. Networks with MAC methods based on CSMA comprise wireless local area networks (WLAN) conforming to the Institute of Electrical and Electronic Engineers (IEEE) 802.11 standard, ultra wideband (UWB) networks conforming to IEEE 802.15.3 standard, wireless sensor networks (WSNs) conforming to the IEEE 802.15.4 standard, Ethernets conforming to the IEEE 802.3 standard, and others. Several MAC methods, including IEEE 802.3, 802.11, 802.15.3, and 802.15.4 standards, utilize the Binary Exponential Backoff (BEB) algorithm to adjust the contention window (CW) to avoid or resolve collisions. 
     In this invention, we take IEEE 802.11 for example to describe the operations of BEB. IEEE 802.11 defines two access functions: one is distributed coordination functions (DCF), and the other is point coordination functions (PCF). Stations complying with the wireless fidelity (Wi-Fi) specification must support DCF. DCF employs the Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) method to transmit frames. If station A wants to send a data frame to station B, then station A should sense the medium before sending a frame. However, even if the medium is idle at this moment, station A cannot immediately transmit a frame. Station A must wait for a period of “DCF Inter Frame Space (DIFS)” time. After the DIFS time passing, station A can transmit data frames. On the other hand, if the medium is busy when station A wants to transmit, then station A defers until the medium is determined to be idle for DIFS, and then station A selects the backoff slots whose number is a random integer between zero and CW−1, where CW denotes the contention window. The backoff time decreases continuously by one slot. It is noteworthy that backoff countdown process may not be always successful. If the medium is determined busy at any time during a backoff slot, then the backoff timer should be frozen. When the channel is sensed idle again for more than a DIFS, the backoff timer can be reactivated. Whenever the backoff timer reaches zero, transmission shall commence. The effect of this DCF procedure is that when multiple stations enter the backoff stage at the same time, then the station choosing the minimum backoff time will win the contention. Upon reception of the data frame, the destination station (station B) shall reply the ACK frame after an elapsed SIFS (Short InterFrame Space). Note that SIFS&lt;DIFS. If the sending station does not hear the ACK signal, it shall resend the data frame after waiting at least an ACK timeout interval or drops that frame when the DCF retry limit is reached. By the 802.11 standard, the backoff time is defined as follows.
 
BackoffTime= DUR (0, CW )*SlotTime,  CWS=CW− 1,
 
where DUR(0,CW) is a function which will return an integer randomly and uniformly between 0 and CW−1. Notice that CW and SlotTime are PHY(physical layer)-specific. For example, when the PHY is Direct Sequence Spread Spectrum (DSSS) defined in IEEE 802.11b, then SlotTime is 20 μs and the possible value of CWS(CW+1) is 32, 64, 128, 256, 512, or 1024.
 
     To resolve collisions, DCF employs BEB and its corresponding retransmission method.  FIG. 1  is a schematic view of CWS adjustment using BEB. The values of the maximum contention window (CW max ) and the minimum contention window (CW min ) are defined in 802.11. Notice that we define that CWS=CW+1, CWS max =CW max +1, and CWS min =CW min +1 for convenience. Based on BEB, whenever data frame transmission fails, the value of CWS is doubled until CWS equals CWS max . Once the data frame transmission succeeds, the value of CWS jumps to CWS min  directly. 
     The drawbacks of BEB are as follows. Even if a station fails to transmit a data frame many times, the value of CW will reduce to CW min  once that station successfully transmit a data frame. We believe that this CW value (CW min ) is too small since the medium contention may be still severe. The inadequate CW value (CW min ) may incur more collisions, causing the throughput down. In addition, the collided station has a larger CW value, which makes it more difficult to seize the medium than a non-collided station (whose CW value is CW min ). In other words, collided stations have lower chance to seize the medium. Therefore, BEB cannot support short-term fairness among contending stations. 
     To support Quality of Service, IEEE 802.11 Task Group E is struggling for defining the 802.11e standard. 802.11e assigns different values of CW max  and CW min  for different priority access categories. In particular, a higher priority station has smaller values of CW max  and CW min . Regardless of the priority, the station in 802.11e still follows the BEB to transmit data frames. This implies that the above-mentioned problems may still occur in 802.11e. 
     As described, the invention discloses a contention window adjustment method capable of load-adaptive backoff (LAB). Compared with BEB, LAB can appropriately adjust the value of CW (CWS) according to traffic load in a network, significantly reducing the collision probability and data transmission delay, thus improving throughput and fairness. 
     SUMMARY 
     Contention window adjustment methods capable of load-adaptive backoff (LAB) in a network are provided. In an embodiment of such a method, a middle contention window (CW mid ) is defined and at least one station is provided. The value of CW mid  is between the maximum contention window (CW max ) and the minimum contention window (CW min ). When a station transmits a data frame successfully, if its contention window (CW) is greater than CW mid , CW is decreased by a ratio parameter p, and if its CW value is less than or equal to CW mid , CW is decreased by the second ratio parameter q. The first ratio parameter p is greater than the second ratio parameter q. If a station fails to transmit data frames, the value of CW should be doubled. However, Under any circumstances, the value of CW cannot be greater than CW max . 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The invention can be more fully understood by reading the subsequent detailed description and examples of embodiments thereof with reference made to the accompanying drawings, wherein: 
         FIG. 1  is a schematic view of contention window adjustment using BEB; 
         FIG. 2  is a schematic view of an embodiment of contention window adjustment using LAB; and 
         FIG. 3  is a flowchart of an embodiment of a contention window adjustment method capable of load-adaptive backoff (LAB) in a network. 
     
    
    
     DETAILED DESCRIPTION 
     The invention discloses a contention window adjustment method capable of load-adaptive backoff (LAB) in a network. 
     According to one embodiment, a machine-readable storage medium is provided for storing a computer program providing a contention window adjustment method capable of load-adaptive backoff (LAB) function in a network, comprising using a computer to perform the steps of: setting a contention window; providing at least one first station and one second station; the first station obtaining backoff time for a reciprocal operation; when the reciprocal operation is complete, the first station transmitting data frames; and when the data frames are successfully transmitted, the first station decreasing the contention window with a ratio parameter. 
     According to one embodiment, the method further comprises: when the reciprocal operation is complete, the first station determining whether the second station is transmitting data frames; if the second station is transmitting data frames, the first station suspending the reciprocal operation; and if the second station does not transmit any data frames, the first station continuously transmitting the data frames. 
     According to one embodiment, the method further comprises: defining the maximum contention window, a minimum contention window, and at least one middle contention window; when the data frames transmission is complete, determining whether the contention window of the first station is greater than the middle contention window; if the contention window is greater than the middle contention window, decreasing the contention window with the first ratio parameter; and if the contention window is less than or equal to than the middle contention window, decreasing the contention window with the second ratio parameter. 
     According to one embodiment, the first ratio parameter is greater than the second ratio parameter. 
     According to one embodiment, the first ratio parameter is 75%. 
     According to one embodiment, the second ratio parameter is 50%. 
     According to one embodiment, the method further comprises: doubling the contention window of the first station. 
     The invented load-adaptive backoff (LAB) method can appropriately adjust contention window (CW) according to traffic load in a network, greatly reducing collision probability and transmission delay, therefore improving throughput and fairness. Compared with DCF, LAB further defines at least one middle contention window (CW mid ), except for CW, CW max , and CW min . CW mid  is between CW max  and CW min  for reflecting the traffic load in a network. For convenience, we let the middle contention window size (CWS mid ) equal to 1+CW mid . 
       FIG. 2  is a schematic view of an embodiment of contention window adjustment using LAB. In this embodiment, CWS mid  is defined as 256. In LAB, a station regards the traffic load heavy when CWS&gt;CWS mid . 
     When a network has a heavy traffic load (CWS=1024 or 512, for example), the CWS of a station is decreased to 75% (the first ratio parameter, p) (i.e. CWS:=CWS*0.75) after a data frame is successfully transmitted. When a network has a light traffic load (CWS=128 or 64, for example), CWS of a station is decreased to 50% (the second ratio parameter, q) (i.e. CWS:=CWS*0.5) after a data frame is successfully transmitted. This process can be described using the following mathematical formulas. 
     CWS:=min{2*CWS,CWS max }, if transmission fails; 
     CWS:=max{p*CWS,CWS mid }, if data transmission succeeds and CWS&gt;CWS mid ; 
     CWS:=max{q*CWS,CWS min }, if data transmission succeeds and CWS&lt;CWS mid . Note that 0&lt;q&lt;p&lt;1 and the “max” and “min” functions return the maximum value and the minimum value from the set respectively. 
     In this embodiment, when CWS does not equal to 32 or 64, CWS will not be reduced to CWS min  even if data frames are successfully transmitted. 
       FIG. 3  is a flowchart of an embodiment of a contention window adjustment method capable of load-adaptive backoff (LAB) function in a network. 
     A plurality of communication devices are first provided in a network. In other words, this network includes at least station A and station B, and these two stations can mutually transmit data frames. In each station, the middle contention window (like CWS mid  as described) is set (step S 1 ). Station A selects backoff time randomly according to a contention window (or contention window size (CWS) as described) thereof (step S 2 ) and begins to count down the backoff time via a counter (step S 3 ). During backoff, station A continuously monitors whether the network (medium) is busy (step S 4 ). When the network becomes busy (for example, station B is transmitting), station A freezes the backoff counter (step S 5 ) and performs the carrier sense procedure continuously (step S 4 ). 
     When the network becomes idle (i.e. station B stops transmitting data frames), station A determines whether the backoff counter reaches zero (step S 6 ), and, if so, station A can transmit a data frame (step S 7 ); if not, the process proceeds to step S 3 . After sending the data frame, station A waits for the ACK frame. The ACK frame can be used to determine whether that data frame is successfully transmitted (step S 8 ). Upon failure, station A then determined whether the number of retransmission is no less than the retry limit value (step S 9 ). If so, station A drop that data frame. If not, CWS is doubled (CWS:=min{2*CWS, CWS max }) (step S 10 ) and then process proceeds to step S 2 . Note that, under any circumstances, the value of CWS should not exceed the maximum contention window (as with the described CWS max ). 
     If station A successfully transmits the data frames, it then determines whether CWS is greater than CWS mid  (CWS&gt;CWS mid ?) (step S 11 ). If so, the traffic load may be heavy. Thus in order to reduce collision probability, CWS is decreased to 75% (CWS:=max{p*CWS, CWS mid }, i.e. CWS:=p*CWS and p=0.75) (step S 12 ) and then the process proceeds to step S 2 . If not, the traffic load may be light. Thus in order to reduce average backoff time, CWS is decreased to 50% (CWS:=max{q*CWS, CWS min } i.e. CWS:=q*CWS and q=0.5) (step S 13 ) and then the process proceeds to step S 2 . Note that, under any circumstances, the value of CWS should be greater than or equal to the minimum contention window (like CWS mid  as described). 
     A contention window adjustment method of the invention can set a plurality of middle contention windows. When two middle contention windows are set, the described process in  FIG. 3  may add two more determination conditions, comprising (CWS&gt;CWS mid1 ?), (CWS mid1 &lt;CWS&lt;CWS mid2 ?), and (CWS&lt;CWS mid2 ?). When one of the described conditions is met, CWS is multiplied by p, q, or r, where 0&lt;r&lt;q&lt;p&lt;1. When three or more middle contention windows are set, a corresponding adjustment process is implemented based on the described processes. Thus, a contention window adjustment method of the invention can retain higher efficiency in a network. 
     Although the present invention has been described in terms of preferred embodiment, it is not intended to limit the invention thereto. Those skilled in the technology can still make various alterations and modifications without departing from the scope and spirit of this invention. Therefore, the scope of the present invention shall be defined and protected by the following claims and their equivalents.