2. Existing Approaches
2.5 Comparison
We summarize the four existing approaches, 802.11 DCF, 802.11e EDCA, AEDCF, and ADB, which have been described above and compared them with our proposed scheme. The scheme we proposed is called I-EDCA which is an improved scheme of EDCA in IEEE 802.11e. The following five metrics are considered: priority classification, contention window adjustment, collision rate, throughput, and packet delay.
First, the priority classification metric checks if an approach can provide differentiated, distributed channel access for packets with different priorities. In these approaches, only 802.11 DCF can not provide differentiated, distributed channel access for packets with different priorities. Second, the contention window adjustment metric judges if an approach adopts static or dynamic contention window adjustment after each successful or unsuccessful transmission of packets. Among these approaches, 802.11 DCF and 802.11e EDCA adopted static contention window adjustment based on the contention window resetting mechanism; the other approaches adopted dynamic contention window adjustment based on the network load. Third, the collision rate metric is the percentage of the transmitted packets encountered collisions. Again, I-EDCA has the lowest collision rate among these approaches because of its flexible contention window adjustment. Fourth, the throughput metric means that the total data is actually delivered to destination.
I-EDCA has the highest throughput among these approaches because of its flexible contention window adjustment. Fifth, the packet delay metric is the time that the head-of-line queue packet takes before being successfully transmitted out. I-EDCA has the lowest packet delay among these approaches because of its flexible contention window adjustment. Table 3 summarizes the comparison results in terms of the above five metrics. In Chapter 4, quantitative comparison and discussion will be made.
Table 3:Comparison of I-EDCA with classical approaches.
Chapter 3
Design Approach
In order to efficiently support time-bounded multimedia applications, and to avoid the drawbacks of the IEEE 802.11e EDCA, we propose a dynamic contention window adjustment procedure that takes into account of the network condition to change the contention window size after each successful transmission of packets.
Besides, we also statically adjust the contention window size after each unsuccessful transmission of packets. This scheme is called Improved EDCA (I-EDCA).
3.1 New MAC Layer Architecture
The new MAC layer consists of three sublayers, as shown in Fig. 3. First, the lowest sublayer of the MAC layer is called legacy DCF as in the IEEE 802.11 standard, which provides fundamental access used in the contention-based period of the superframe to support asynchronous data traffic. Next, another sublayer of the MAC layer is called legacy PCF as in the IEEE 802.11standard, which is built on top of legacy DCF and provides a polling mechanism in the contention-free period of the superframe to centrally control channel usage. Finally, the sublayer HCF is on top of legacy DCF and legacy PCF, which consists of HCCA and I-EDCA to support the
QoS of real-time traffic. Note that we did not modify the HCCA structure of the sublayer HCF. That is, the function of HCCA is the same as that in the IEEE 802.11e.
Fig. 3. New MAC layer architecture.
3.2 Proposed I-EDCA Protocol
The proposed I-EDCA protocol can operate in the infrastructure mode and ad hoc mode. In the infrastructure mode, I-EDCA can be used for association with an access point (AP) or contending the Transmission Opportunity (TXOP) in the contention-based period of the superframe. In the ad hoc mode, I-EDCA can be used for contending TXOP. As mentioned above, we use a dynamic procedure that takes into account the network condition to change the contention window size after each successful transmission of packets. Besides, we also statically adjust the contention window size after each unsuccessful transmission of packets. Thus, we divide the I-EDCA protocol into two parts to describe:
3.2.1 After Each Successful Transmission of Packets
At first, we discuss the situation of how to change the contention window size
after each successful transmission of packets. In the current IEEE 802.11e draft [6], no matter how many active stations, EDCA will reset the contention window of a transmitting station to the minimum contention window after each successful transmission. However, the contention window resetting mechanism will cause a very high variation of the contention window size, and degrade the overall performance when the network is heavily loaded. Based on the above observation, we suggest that the contention window may be adjusted according to the collision rate and the priority of a station instead of resetting the contention window every time. The following three steps will explain how to proceed when the packet transmission is successful.
First, similar to [18], the network condition must be measured periodically by calculating the estimated collision rate, Rjcur in each station. The estimated collision rate, Rjcur,is computed as follows [18]:
where n jcollisions is the number of collisions in one station which occurred at period j, and n jpackets_sent is the number of total packets sent, including the number of collisions and the number of packets successfully sent in one station which occurred at the same period j. Note that the above ratio Rjcur is in the range of [0,1].
Besides, because Rjcur can only represent the current network condition, it may cause the extreme bias between two continuous periods. In order to avoid the above mentioned condition, we apply the exponentially weighted average method [18] to alleviate the bias and to smooth the estimated collision rate, Rjcur,in each period. We define Rjavg as the average collision rate at period j. The calculation of the average collision rate, Rjavg, is as follows [18]:
jcur (3)
where α is a smoothing factor, and its value can affect the degree of smoothing the estimated collision rate. If α is close to 1, it represents that Rjavg is almost decided by the previous average collision rate. If α is close to 0, it represents that Rjavg is almost decided by the current collision rate. In addition, the value of α will also indirectly influence the overall throughput and delay.
Note that we must update the average collision rate, Rjavg, after a fixed number of time slots at each station. And the fixed number of time slots is called a period. The size of a period should be moderate. If it is too long, an appropriate collision rate can not be estimated in time. On the contrary, if it is too short, we probably spend extra overheads on calculating the average collision rate.
Second, after obtaining the average collision rate, Rjavg, we can use it to update the contention window after each successful transmission of packets. But it is not enough to use Rjavg only to update the contention window because there are packets with eight different priorities which are from zero to seven. Consequently, we must ensure that a different user priority has a different contention window according to user priority i. We define a decreasing factor related to updating the contention window called β. β is based on the average collision rate, R javg, and the user independent from the average collision rate, Rjavg. In order to avoid that, we add 0.1 to make Rjavg still exist. Since 0.1 is very small, it has little impact on β. In this way,
we can ensure that a packet with higher user priority has a larger decreasing factor β than that with lower user priority.
Third, according to the above three equations, Eq. (2), (3) and (4), we can compute the CW inew of the AC with user priority i in a station after each successful
where CW inew is the updated contention window after each successful transmission of packets, CW iold is the current contention window, and CWimin is the minimum contention window.
Because the packet with higher user priority has a larger decreasing factor β than that with lower user priority, we can guarantee that the packet with higher user priority has a smaller new contention window CW inew than that with lower user priority by Eq. (5). That is, we will not reset the current contention window to the minimum contention window after each successful transmission of packets, unlike that suggested in the IEEE 802.11e draft [6]. Instead, we adjust the contention window by Eq. (5) in order to improve the overall performance when the network is heavily loaded.
3.2.2 After Each Unsuccessful Transmission of Packets
Next, we discuss the case of how to change the contention window value after each unsuccessful transmission of packets. Packet collisions of the IEEE 802.11e can be classified into two situations. One is virtual collisions between ACs in a station.
The other is real collisions between stations. We will explain how to deal with each situation.
Fig. 4 is used to illustrate virtual collisions and real collisions. We use an instance to explain. If AC_BK of STA 1 has a packet to transmit and AC_BE of STA 1 also has a packet to transmit, they will separately use their AIFS and the minimum contention window to enter the backoff procedure. If both the backoff timers count down to zero at the same time, a virtual collision occurs. In addition, if AC_BK of STA 1 has a packet to transmit and AC_BK of STA 2 also has a packet to transmit, they will separately use their AIFS and the minimum contention window to enter the backoff procedure. If both the backoff timers count down to zero at the same time, a real collision occurs. In the following, how to handle virtual collisions and real collisions will be described.
Fig. 4. Virtual collision vs. real collision.
Virtual collisions are resolved by allowing the packet with higher priority to transmit, while the packet with lower priority will not modify its contention window values after each unsuccessful transmission of packets. That is, we will not double the current contention window CW iold when the packets with lower priority encounter collisions. Since the collisions are not real collisions and they will not contribute to the average collision rate, we will not double the current contention window CWiold. If we double the current contention window CWiold, the packet with lower priority will have more delay. In this way, the system performance can be improved. That is, after encountering a virtual collision, the CW inew of the AC with lower user priority i in a station can be expressed as follows:
iold (6)
inew
CW CW =
Next, collisions occur between stations are referred as real collisions. Real collisions increase packet delay and decrease system performance. We double the current contention window CWioldto avoid subsequent collisions; however, it can not exceed the CW imax. Therefore, after encountering a real collision, the CW inew of the AC with user priority i in a station can be expressed as follows [6]:
CW min(CW ,CWimax ) (7)
old i new
i = ×2
In sum, our I-EDCA dynamically changes the contention window value after each successful transmission of packets to reduce possible later collision. If collisions still occur, through our method we can reduce the impact to avoid the next collisions and decrease packet delay after each unsuccessful transmission of packets when virtual collisions occurred.
The flowchart of our I-EDCA protocol is illustrated in Fig. 5. When a new packet
is in the head-of-line queue and is ready to be transmitted, the station must check if a channel is idle. If the channel is busy, the station must enter the backoff procedure. On the contrary, if the channel is idle, the station can start to transmit a packet. In the meantime, the station must check if a virtual collision occurs. If the virtual collision occurs, it is resolved by allowing the packet with higher priority to transmit, while the packets with lower priority update their contention window values according to Eq. (6) after each unsuccessful transmission of packets. That is, we will not double the current contention window CWiold. On the contrary, if a virtual collision did not occur, the station must further check if a real collision occurs. If the real collision occurs, the station updates the contention window value according to Eq. (7) after each unsuccessful transmission of packets. That is, we must double the current contention window CWiold. If a real collision did not occur, the station can successfully transmit the packet and the station must update the contention window value according to Eq.
(5) after each successful transmission of packets. That is, we dynamically adjust the current contention window, CWiold, according to the average collision rate, Rjavg.
Note that I-EDCA only requires small overhead in calculating the average collision rate, Rjavg, and updating the contention window after each successful transmission of packets, and it also provides backward compatibility to the legacy 802.11 DCF.
Fig. 5. Flowchart of the proposed I-EDCA protocol.
Chapter 4
Evaluation and Discussion
We use a popular network simulator, ns-2 [25], running on the Linux platform to simulate our proposed approach. Ns-2 is an open source software and it supports wired and wireless networking protocols. In order to demonstrate the superiority of I-EDCA, we compare it with the other three classical approaches, which have been reviewed in section 2.2, in terms of throughput and packet delay.
4.1 Simulation Model
All simulation results were obtained by running the ns-2 simulator. As referred from [19][20][23][24], assume that there are from 5 to 50 stations in an ad hoc network and each station generates three different types of traffic, namely, high, medium, and low priority traffic. The high, medium, and low priority traffic types are corresponding to AC_VO, AC_VI, and AC_BE, respectively. We use three Constant Bit Rate (CBR) [10][18] sources to simulate the three different types of traffic. The MAC parameters used in the simulation, referred from [1][6][18][21][22], are shown in Table 4. The parameters, CWmin, CWmax, and AIFSN, are the default EDCA parameters, referred from Table 2. Besides, the slot time is set to 9 µs, the SIFS is set to 16 µs, the smoothing factor α is set to 0.8, and the size of a period to update the average collision rate, R javg, is set to 3000 time slots in this simulation [18].
Table 4:The MAC parameters used in the simulation.
Inter-frame interval (ms) 20 10 12.5
Sending rate (Kbytes/s) 8 128 16
4.2 Performance of I-EDCA
We first compare the throughput of I-EDCA with that of EDCA, AEDCF, and ADB. Simulation results under high, medium, and low priority traffic are shown in Fig. 6, Fig. 7, and Fig. 8, respectively. As shown in Fig. 6, we can see that the four approaches had almost equal throughput performance under high priority traffic.
When the number of stations exceeds 35, AEDCF, ADB, and I-EDCA achieved better throughput than EDCA. The reason is that these three approaches all dynamically adjust the contention window size, which can reduce the collision rate at high load condition.
Fig. 6. Throughput comparison among different approaches under high priority traffic.
The throughput comparison under the medium priority traffic is shown in Fig. 7.
For the medium priority traffic, we can see that the throughput of all four approaches begins to drop when the number of stations exceeds 15. The reason is that at this point the number of stations is too many and there is not enough traffic for handling under the medium priority traffic. We can see that the throughput of I-EDCA is better than that of EDCA, AEDCF, and ADB when the number of stations is more than 10.
Besides, although the throughput of I-EDCA begins to drop when the number of stations exceeds 15, the throughput of I-EDCA is still better than that of EDCA, AEDCF, and ADB even if the number of stations grows up to 50. The reason is that I-EDCA always adjusts the contention window whether each packet transmission is successful or not. In addition, the throughput of EDCA is the lowest due to its
contention window resetting mechanism.
Fig. 7. Throughput comparison among different approaches under medium priority traffic.
In Fig. 8, for the low priority traffic, we can see that the throughput of EDCA, AEDCF, ADB, and I-EDCA all begins to drop when the number of stations exceeds 10. The reason is that at this point the number of stations is too many and there is not enough traffic for handling under the low priority traffic. We can see that the throughput of AEDCF is the lowest compared to that of EDCA, ADB, and I-EDCA when the number of stations exceeds 15. The reason is that AEDCF adopts a large PF, 5, for the low priority traffic, and it increases the waiting time of the low priority packets. Besides, in order to improve the throughput of high priority traffic, I-EDCA sacrifices a little throughput of low priority traffic. This is why the throughput of I-EDCA is lower than that of EDCA when the number of stations is between 25 and
50.
Fig. 8. Throughput comparison among different approaches under low priority traffic.
We compare the aggregate throughput among different approaches in Fig. 9. The aggregate throughput represents the total throughput of high, medium, and low priority traffic. In Fig. 9, we can see that I-EDCA provides better aggregate throughput compared to EDCA, AEDCF, and ADB, especially when the number of stations exceeds 10. This is because for the medium priority traffic the throughput of I-EDCA is much better than that of EDCA, AEDCF, and ADB when the number of stations exceeds 10. In addition, we can see that the aggregate throughput of EDCA performs the worst among these approaches when the number of stations exceeds 10.
This is because for the medium priority traffic the throughput of EDCA is the worst among that of I-EDCA, AEDCF, and ADB when the number of stations exceeds 10.
Fig. 9. Aggregate throughput comparison among different approaches.
In Fig. 10, when the number of stations exceeds 10, we can see that I-EDCA had the smallest packet delay for the high priority traffic among these approaches. This is because it adjusts the contention window whether each packet transmission is successful or not.
The packet delay of the medium priority traffic is also shown in Fig. 10. For the medium priority traffic, due to having the highest collision rate among these approaches, EDCA performs the worst. Besides, we can see that I-EDCA achieves the smallest packet delay among these approaches. The reason is that I-EDCA will not double its contention window when the packets with lower priority encounter internal collisions in a station. Although AEDCF also dynamically adjusts its contention window after each successful transmission of packets, it adopts a large PF, 4, for the
low priority traffic. Consequently, AEDCF has longer packet delay than I-EDCA, especially when the network load is high. Note that we did not plot the packet delay of the low priority traffic. This is because the packet with low priority is delay tolerable.
Fig. 10. Packet delay comparison among different approaches.
Besides, we compare the average throughput of I-EDCA with that of EDCA, AEDCF, and ADB in Fig. 11. The average throughput is the average of aggregate throughput for the number of stations from 5 to 50. From the simulation results, we can see that our proposed I-EDCA performs better than the other three approaches, EDCA, AEDCF, and ADB. The average throughput of our proposed I-EDCA is 9%,
Besides, we compare the average throughput of I-EDCA with that of EDCA, AEDCF, and ADB in Fig. 11. The average throughput is the average of aggregate throughput for the number of stations from 5 to 50. From the simulation results, we can see that our proposed I-EDCA performs better than the other three approaches, EDCA, AEDCF, and ADB. The average throughput of our proposed I-EDCA is 9%,