HISTORY BASED PROBABILISTIC BACKOFF ALGORITHM

Performance of Wireless LAN can be improved at each layer of the protocol stack with respect to energy efficiency. The Media Access Control layer is responsible for the key functions like access control and flow control. During contention, Backoff algorithm is used to gain access to the medium with minimum probability of collision. After studying different variations of back off algorithms that have been proposed, a new variant called History based Probabilistic Backoff Algorithm is proposed. Through mathematical analysis and simulation results using NS-2, it is seen that proposed History based Probabilistic Backoff algorithm performs better than Binary Exponential Backoff algorithm


INTRODUCTION
Within a short span of time, communication networks have gone through rapid evolution since its inception. Network systems are classified into Local Area Networks (LANs), Wide Area Networks (WANs) and Metropolitan Area Networks (MANs) based upon its area of coverage. LAN is an important classification which is widely used to connect standalone systems in offices or in institutions. The Institution of Electrical and Electronics Engineers (IEEE) is a technical professional society which standardizes specifications. IEEE came up with different standards for different LAN technologies such as IEEE 802.3 for wired ethernet LANs, IEEE 802.5 for wired token ring LANs, IEEE 802.11 (Schiller, 2008;Wu et al., 2001; for wireless LANs. Mobility has become one of the necessary requirements for users. IEEE 802.11b also known as Wireless Fidelity (WiFi) is one of the widely used standards today.
Media access control is an important function in any Local Area Network.
Access Control is the main focus in this work. Concurrent access of the shared medium by many stations would lead to collision and retransmission of data frames, resulting in degradation of the network efficiency. Access control is a protocol by which decision is made as to who will access the medium at a given point of time. Another important function handled by the data link layer is flow control. The sender and the receiver come to an understanding on how much of data can be sent, so that it is convenient for both the sender and the receiver to optimize the bandwidth utilization. This function is called flow control.
The nature of the wired and wireless media differs considerably. Wired medium is scalable with the usage of higher bandwidth cables and not easily subjected to interference and disturbance. The signal strength is uniform throughout the medium making it possible to sense for collision whenever two or more stations access it simultaneously. The protocol used for media access control in IEEE 802.3 is Carrier Sense Multiple Access with Collision Detection (CSMA/CD) (Schiller, 2008). But in the case of a wireless medium the frequency range is fixed and also highly vulnerable to interference and disturbance, making the same access control specifications unsuitable for both media. In wireless LANs the signal strength decreases proportional to the Science Publications AJEAS square of the distance it travels, making it practically infeasible to sense a collision as the returned signal would be very mild which may go undetected. Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) (Ziouva and Antonakopoulos, 2003) is the protocol for access control in IEEE 802.11.
The overview of IEEE 802.11 MAC is explained next followed by discussion on the different variations of Backoff Algorithms. An overview of the proposed History Based Probabilistic Backoff Algorithm is discussed next followed by Mathematical analysis of the proposed Algorithm, Simulation Results followed by conclusion.  (Wu et al., 2003;Ziouva and Antonakopoulos, 2003) and optional Point Coordination Function (PCF) (Wu et al., 2003;Ziouva and Antonakopoulos, 2003). In the case of PCF, an access point elected as the monitor keeps polling the other nodes on whether they are interested to access the medium. It allocates the medium to one of the nodes based upon priority criteria. PCF is necessary for real time services. But ad-hoc networks cannot guarantee real time services as it is formed dynamically on the move by some stations and do not contain an access point. In DCF two techniques are used in data transmission. One technique is the basic two way handshaking mechanism in which the sender sends the data frame and the receiver sends a Positive Acknowledgement (PACK) after receiving the data frame. If the sender does not receive the PACK until timeout occurs, the frame is retransmitted. This handshaking mechanism is simple and easy, but results in wastage of bandwidth and very low throughput due to hidden terminal and exposed terminal problems (Schiller, 2008).
If A, B and C are three stations, station A is transmitting packet to station B which is not visible to station C. Now if station C also tries to send a packet to station B, it would lead to a collision or interference at B. This problem is called hidden terminal problem. Station C understands that stations A and B are in conversation by sensing the medium and refrains from sending any data to station D, even though station D is not in the interference range of both stations A and B. This is called as exposed terminal problem. The other technique is a four way handshaking in which Request To Send (RTS) and Clear To Send (CTS) mechanisms are used to reserve the medium. This mechanism tries to overcome the hidden terminal and exposed terminal problems. If stations A and B are in conversation, station A sends RTS to station B. Every station receiving the RTS irrespective of whether it is the intended recipient or not, must set their Network Allocation Vector (NAV) (Bianchi, 2000), which indicates the earliest time duration to be elapsed to access the medium. Station B responds with CTS, station C understands that stations A and B are in conversation and refrains from sending data to stations A or B. If station C needs to communicate with station D which is out of interference range of both the stations A and B, then station C sends RTS to station D which responds with the CTS, enabling the communication between them without disturbing stations A and B.
The access control protocol CSMA/CA uses four way handshaking with RTS/CTS. Even though the probability of collision of data frames is eliminated drastically due to the usage of CSMA/CA, there is a probability of collision of control frames, because two stations can try to access the medium by sending the RTS simultaneously, resulting in a collision. To overcome this issue the Backoff algorithm is used. It specifies the time span after which the system can attempt to access the medium again thus reducing the probability of collision. Different variations of backoff algorithms are proposed in the literature.

Binary Exponential Backoff Algorithm
According to the Binary Exponential Back off (BEB) algorithm: Step 1: If a sender station tries to transmit data to a receiver station and there is a collision, then sender station would randomly choose a value with uniform probability from its contention window [0-CW].
Step 2: The Contention Window (CW) is set to CW min initially and then doubled every successive collision until it reaches CW max .
Step 3: It remains at CW max until the transmission is successful or the number of retries exceed the specified limit of 7 for RTS, wherein it is assumed that the station is unreachable.

AJEAS
Step 4: Whenever there is a successful transmission or the number of retries exceed the limit, CW is reset to CW min .
This basic BEB algorithm assumes that the probability function of successful transmission of a data frame is independent of whether the previous frame was successfully transmitted or not. But the probability function of successful or unsuccessful transmission of a data frame is dependent upon how many retries were attempted before the previous data frame was successfully transmitted.

Modified Binary Exponential Backoff Algorithm
Modified Binary Exponential Backoff (MBEB) algorithm was proposed in (Shin et al., 2004) to the BEB algorithm in which the contention window of previous transmitted data frame is retained for the current frame: Step 1: If the transmission is successful, then the contention window is reduced by half i.e., CW = CW/2, which would be used as CW value for next frame transmission.
Step 2: If the transmission is unsuccessful, then the contention window is doubled CW = CW × 2 until it reaches CWmax which is retained as it is, for further retries until successful.
Step 3: When the number of retries exceed the limit, the CW is not reset to CWmin, but retained as it is, for the next data frame transmission.
Step 4: Every time when the contention window is updated, it is verified whether the value falls below CW min , if it falls below CW min , then it is seto CW min +1.
Step 5: The new CW value is verified whether it exceeds CW max and if it does, then the calculated new value is ignored and CW is set to CW max − 1.

Probability Based Back Off Algorithm
The Probability Based Backoff (PBB) Algorithm is as follows: Step 1: The initial value of Contention Window CW is set to CW min . The variables S and C which represent number of successful transmissions and number of collisions respectively are initialized to 0.
Step 2: After each attempt to transmit a data frame, S or C is incremented accordingly and the value of probability P is calculated using P = C/(C +S).
Step 3: The value of is calculated using the formula = −1 + (2×P). Step 5: Whenever the number of retransmissions exceed the number of retries, Contention window value is not reset but carried forward to the next frame transmission.
The BEB algorithm assumes that the probability of a successful transmission of a data frame is independent of the previous transmissions. Every new transmission is initialized to CW min . This results in decreased throughput. The MBEB algorithm retains the CW value from the previous transmission, but again it decreases or increase the CW value exponentially, which can deteriorate the performance. The PBB algorithm takes into account the total number of successful transmissions and collisions to determine the CW value, but without consideration of the order of transmission.

History Based Probabilistic Backoff Algorithm
According to Binary Exponential Backoff Algorithm, whenever a collision occurs during a data transmission, the contention window size is doubled, or in other words, multiplied by 2 until successfully transmitted or given up trying for a maximum number of attempts. In case of Modified Binary Exponential Backoff Algorithm, the contention window size is doubled for every collision until the maximum value is reached and retained the same for the allowed maximum number of tries. In case of a successful transmission, the contention window value is divided by two for every successful transmission until a minimum value is reached and is retained at the minimum value for subsequent attempts. The contention window size is not reset for every new transmission, but is carried ahead from the previous transmission.
It can be mathematically represented as: CW next = CW prev ×2 in case of successful transmission. CW next = CW + prev /2 in case of collision.

AJEAS
In general, CW next = CW prev ×2 a , where is 1 in case of successful transmission and-1 when it is a collision. The value of is static. This work proposes analyses and reasons out theoretically and through simulation the need and effect of exponential increase or decrease in the size of the contention window by a factor of 2.
Mathematically the value of is static and either 1-1. If the contention window is increased by a factor more than 2, the contention window would be longer, leading to higher latency. If the contention window is increased by a factor less than 1, then due to very short contention window, it would result in many collisions and decreased throughput.
In the proposed algorithm, the value of is varied dynamically between-1 and 1 depending on the traffic load or collision rate. The traffic load or the collision rate is represented by: where, variable C represents number of collisions and variable S represents successful transmission. Variable β is added to give weight on the order of collision or successful transmission. The value of β is calculated by heuristic method by the equation below.
If T 1 ,T 2 ,T 3 ,... T( n-1 ) is the transmissions, then: For I = 1,2,3,4,…,(n-1): ∑ ± is used to indicate whether it is a successful transmission or a collision. As P is a ratio, it varies between 0 and 1. But the interval of α is between -1 and 1, twice of P. Hence the value of α is given by equation: After calculating the value of α, the contention window is calculated by equation: new Prev CW = CW ×2 α

The History based Probabilistic Backoff Algorithm
Step 1: The initial value of Contention Window CW is set to CW min . The variables S and C which represent number of successful transmissions and number of collisions respectively are initialized to 0.
Step 2: After each attempt to transmit a data frame, S or C is incremented accordingly and the value of probability P n is calculated If P n is the probability estimation of T n th . Transmission, then for i = 1, 2, 3, 4, ..., (n − 1): Step 3: The value of a n is calculated using the formula Eq. 2: n n = -1 + (P ×2) α (2) Step 4: The value of CW is calculated by the formula Eq. 3: For unsuccessful transmission.
Step 5: Whenever the number of retransmissions exceed the number of retries, Contention window value is not reset but carried forward to the next frame transmission: new Prev CW = CW

Mathematical Analysis of BEB Algorithm, MBEB Algorithm, PBB Algorithm and HBPB Algorithm
Consider a scenario in which three data frame transmission attempts have been made, each of which may result in success or failure; success is represented by S and failure or collision is represented by C. Now when there is an attempt to transmit the fourth frame, the value of the contention window is calculated using the BEB algorithm, MBEB algorithm and PBB algorithm. A comparative study is discussed in (Nasir and Albalt, 2009;Shin et al., 2004;Chatzimisios et al., 2005) on Science Publications AJEAS BEB algorithm and MBEB algorithm. (Bianchi, 1998;2000) discuss its effect on throughput. From the basic BEB algorithm, it is known that the calculation of the contention window of a data frame does not depend on previous transmissions but only on the successive unsuccessful attempts.

BEB Algorithm
Consider the scenarios in Table 1, calculating the values of the CW after 3 transmissions using basic BEB algorithm. Initially let CW = CW min .
In the second row of Table 1. Again, initially, by the BEB algorithm, CW = CW min .
Further, it is observed that the first transmission and second transmission resulted in collision denoted by C, but the third transmission was successful in transmitting the frame: • At transmission 2, CW = CW min ×2 • At transmission 3, CW = CW min ×2 2 • At transmission 4, CW = CW min as reflected in Table 1 Similarly examining the third row and fourth row, it can be observed that irrespective of the history of the transmission, if the previous transmission is successful CW value is reset to CW min , as shown in rows 3 and 4.

MBEB Algorithm
MBEB algorithm is applied to the same scenario and the CW value after each transmission is determined and tabulated in Table 2.
The scenario in the second row differentiates MBEB algorithm from the BEB algorithm: • As transmission 1 results in collision, CW = CW min ×2 • Transmission 2 also a collision, CW = CW min ×2 2 • Transmission 3 is successful, CW = CW Prev /2 = CW min ×2 • The initial value of CW = CWmin at row 3.
• As the first transmission is a failure, CW = CW min ×2. • As the second transmission is a success, CW = CW Prev /2 = CW min • Third transmission is a success, • CW = MAX [CW Prev /2,CW min +1] = CW min +1.
Similarly applying the MBEB algorithm, the CW value at transmission 3 in rows 3 and 4 would be CW = CWmin + 1 represented as CWPrev/2 in the Table 2.

PBB Algorithm
The PBB algorithm is applied to the given scenario and the corresponding CW values are tabulated in Table 3.
The History Based Probabilistic Backoff (HBPB) Algorithm is evaluated with Network Simulator NS-33 (Network Simulator. http://www.isi.edu/nsnam/ns.) to compare with the basic Binary Exponential Backoff (BEB) algorithm.   The Simulation Parameters are given in Table 5. Compared to the basic binary exponential backoff algorithm implemented in NS-2.33, the two modules inc_cw () and rst_cw () are modified to implement the History Based Probabilistic Backoff Algorithm. Global variables called Collision Count and Transmission Count are declared and used to keep count of successful transmissions and collisions. The number of nodes are varied from 30-100, for the same network configuration. The number of RTS retransmission failures is logged for varying number of nodes. The calculation of β in the implementation of HBPB algorithm is limited to up to five transmissions since the sum of the rest is negligible. The retransmission failure count is recorded in Table 6 and also plotted in Graph 1 (Fig.  1). Also the throughput of both the algorithms are compared and plotted in Graph 2 (Fig. 2).

CONCLUSION
The performance of BEB algorithm, MBEB algorithm and PBB algorithm is analyzed and compared with HBPB algorithm mathematically. It can be observed from the results tabulated that the value of Contention Window grows exponentially in both the cases of BEB and MBEB algorithms without taking the network collision rate into consideration. The PBB algorithm dynamically varies the value of taking the collision rate and the success rate of transmissions into consideration, making it more adaptable to the network. An improvement is proposed by introducing β as a parameter in HBPB algorithm to consider the order of collisions or successful transmissions. It can be inferred from the simulation results that the proposed HBPB algorithm performs better than the Binary Exponential Backoff algorithm in terms of better throughput. It performs significantly better in the case of a congested network.