Clustering Algorithm for Hidden Node Problem In Infrastructure Mode IEEE 802.11 Wireless LANs Woo-Yong Choi Department of Industrial and Management Systems Engineering, Dong-A University 840 Hadan-2-dong, Saha-gu, Busan, KOREA Tel: 82-51-200-7696, Fax: 82-51-200-7697, Email: wychoi77@dau.ac.kr Abstract In this paper, we propose a clustering algorithm for resolving the hidden node problem in infrastructure mode IEEE 802.11 wireless LANs by partitioning the STAs (Stations) in a BSS (Basic Service Set) into the clusters, so that the STAs can detect the transmission signal of the other STAs within the same cluster, i.e., the hidden node problem does not exist within each cluster. When M (. 1) clusters of STAs are derived by the proposed clustering algorithm, a CP (Contention Period) is divided into M SPs (Sub-Periods), each of which is nonoverlappingly assigned to a cluster, so that the STAs within each cluster contend for the access to the wireless channel with the reduced possibility of hidden nodes within the cluster. Taking into consideration the fairness among the clusters, we also propose a fairness algorithm for dividing a CP into the SPs. Keywords - Clustering Algorithm, Fairness Algorithm, Hidden Node Problem, Wireless LANs 1. Introduction To support the wireless internet services especially in the hot spot areas such as schools, hospitals, homes, and conference rooms, IEEE 802.11 wireless LAN systems have been widely implemented as a strong alternative to wired LAN systems in recent years. Wireless LAN systems have the advantages of the mobility support and low implementation and maintenance costs compared with wired LAN systems. [1] IEEE 802.11 wireless LAN systems support the infrastructure and ad hoc modes. [2] In the ad hoc mode, a BSS (Basic Service Set) consists of a set of STAs (Stations) and the STAs communicate directly with each other. In the infrastructure mode, a BSS includes a set of STAs and an AP (Access Point). The STAs can communicate with each other or can communicate with an external network by first going through the AP, which is connected to the external network and relays the data from the STAs and the external network. The STAs cannot directly communicate with each other in the infrastructure mode. IEEE 802.11 wireless LAN systems employ two MAC functions ofthe DCF (Distributed Coordination Function) and PCF (Point Coordination Function). The DCF based on CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) was designed to support the best-effort services, and the PCF based on a round robin polling scheme was designed for the real-time services. [2] IEEE 802.11 MAC functions rely on the physical and virtual carrier sensing mechanisms to avoid collisions. Especially, the virtual carrier ISBN 978-89-5519-136-3 -1 335- sensing mechanism using the RTS and CTS frame exchanges was proposed to combat the well-known hidden node problem in [3]. The RTS and CTS frame exchanges are performed before the data frame transmissions to reserve the wireless channel for safely transmitting the data frames only when the data frames are longer than the RTS-CTS threshold, which is called dot llRTSThreshold in IEEE 802.11 specification [2]. The use of the RTS and CTS frame exchanges before the data frame transmissions has the advantage of shortening the collision periods especially in the case of long data frame transmissions because the length of the RTS frame (20 bytes) is very small compared with the length of data frames. [7] Thus, the RTS-CTS threshold can effectively control the frequency of use of the RTS and CTS frame exchanges. As explained in [7], as the retransmissions of data frames due to the collisions among the STAs in a BSS occur more frequently, the RTS and CTS frame exchanges need to be used more frequently for the efficient use of radio bandwidth. The hidden node problem can cause the collisions among the STAs frequently. [3] Thus, if we can reduce the possibility ofhidden nodes, we can use the RTS and CTS frame exchanges less frequently and the efficiency of radio bandwidth can be enhanced. In the literature, the shortcomings ofthe RTS and CTS frame exchanges in IEEE 802.11 ad hoc networks were discussed in [4, 5], and the detection methods of hidden nodes in IEEE 802.11 ad hoc networks were proposed in [6]. But, the RTS and CTS frame exchanges can truly resolve the hidden node problem in IEEE 802.11 infrastructure networks because the AP relays all data transmissions among the STAs, and the wireless channel can be reserved free of hidden node problem by the AP's broadcasting the RTS or CTS frame to all STAs in the BSS. The dynamic use of the RTS and CTS frame exchanges was investigated in [7] to increase the MAC throughput in IEEE 802.11 infrastructure networks. The MAC throughput can be further enhanced by reducing the possibility of hidden nodes in IEEE 802.11 infrastructure networks. In this paper, we propose a clustering algorithm for resolving the hidden node problem in infrastructure mode IEEE 802.11 wireless LANs by partitioning the STAs (Stations) in a BSS (Basic Service Set) into the clusters, so that the STAs can detect the transmission signal of the other STAs within the same cluster, i.e., the hidden node problem does not exist within each cluster. When M (. 1) clusters of STAs are derived by the proposed clustering algorithm, a CP (Contention Period) is divided into M SPs (Sub-Periods), each Feb. 17-20, 2008 ICACT 2008 of which is nonoverlappingly assigned to a cluster, so that the STAs within each cluster contend for the access to the wireless channel with the reduced possibility of hidden nodes within the cluster. Taking into consideration the fairness among the clusters, we also propose a fairness algorithm for dividing a CP into the SPs. 2. Clustering Algorithm Through the association/disassociation process between STAs and the AP, the AP can maintain a list of STAs associated with itself. N will denote the number of the STAs. The set, S = I1, 2, ..., N} will represent the set of STAs. The PCF coordinates the data transmissions during a CFP (Contention Free Period). The CFP alternates with a CP during which the DCF controls the data transmissions. During CFPs, the AP grants the transmission opportunities to the STAs in the BSS by transmitting the polling frames to the STAs in a round robin order. The hidden node problem cannot disturb the operation of the PCF because the STAs cannot transmit their data frames without the receptions of the polling frames from the AP. But, without the help of the RTS and CTS frame exchanges, the DCF can suffer from the hidden node problem. We will explain a simple scheme for the AP's collecting the carrier sensing information among the STAs during the operation ofthe PCF. Based on the carrier sensing information among the STAs, we want to partition the STAs into the clusters, so that the hidden node problem does not exist within each cluster. After M (. 1) clusters of STAs are derived by our proposed clustering algorithm, which will be explained in this section, the next CP is divided into M SPs as shown in Figure 1. And, the SPs will be nonoverlappingly assigned to the clusters, so that the STAs within each cluster contend for the access to the wireless channel with the reduced possibility of hidden nodes within the cluster. CFP CP i 1S P, I SP, j Frame Cont. i w,S during a polling interval, which is defined as the time interval from the time when STA i is polled in a CFP to the time when STA i is polled again, Ui is updated as Ui e- Ui -{ STA j }. In this manner, each STA can maintain the set, Ui. STA i sends to the AP the MAC addresses of the STAs that are deleted from or added to the set, Ui. Actually, each STA can piggyback the M\AC addresses related with the change of the carrier sensing information on the response null or data frames transmitted to the AP. Using the MAC addresses sent from the STAs, the AP can continuously update the carrier sensing information among the STAs during CFPs. If the symmetric carrier sensing holds (that is, if STA i can detect the transmission signal of STA j . i, STA j can detect the transmission signal of STA i), and no transmission error occurs, the AP can easily collect the carrier sensing information among the STAs in a polling interval by polling each STA and receiving the MAC addresses, which are the information of the carrier sensing between the STA and the previous STAs polled in the interval, piggybacked on the response null or data frames transmitted by the STA. And, the AP can detect the change of the carrier sensing information among the STAs in the next interval. If the symmetric carrier sensing does not hold and no transmission error occurs, the AP needs two polling intervals to collect the carrier sensing information. Throughout this paper, the asymmetric carrier sensing among the STAs is assumed. Each STA can piggyback on the response frame the MAC addresses related with the change of the carrier sensing information between itself and other STAs during CFPs. We need to change the format ofthe response data frame to add the new field for this information as shown in Figure 2. In Figure 2, Uc indicates the set of MAC addresses related with the change ofthe carrier sensing information, and the other fields are from [2]. (For convenience of presentation, the FCS (Frame Check Sequence) field is omitted in Figure 2.) Dur.ID RA TA DA SCq. Cont. | Frame Body ... Fig. 2 Format of Response Frame time Fig. 1 CFP/CP alternation and CP structure The method for the AP's collecting the carrier sensing information among the STAs during CFPs is now explained. Each STA i needs to maintain the set, Ui which is the set of STAs of which the transmission signal can be detected by the physical carrier sensing mechanism of STA i. At the initial time when STA i joins the BSS newly, Ui is set to be empty. When STA i detects the transmission signal of other STAj not in the set, Ui, Ui is updated as Ui e- Ui u STA j (STA i can obtain the MAC address of STA j from the polling frame transmitted by the AP before the transmission of STA j. According to IEEE 802.11 specification [2], the PHY layer of STA i reports the channel state (busy or idle) to the MAC layer. For this purpose, the polling frames from the AP should be received by all N STAs in CFPs.) When STA i has not detected the transmission signal of other STA j in the set, U1 Based on the carrier sensing information among the STAs, which are collected during CFPs, the AP needs to partition the STAs into the clusters, so that the hidden node problem does not exist within each cluster. The constants, Fij for i and j E S and i j, which specify the carrier sensing information among the STAs, are defined as follows: * Fij: indicates whether STA j can detect the transmission signal of STA i j or not. Fij = I when STA j can detect the transmission signal of STA i. Otherwise, Fij = 0. }. ISBN 978-89-5519-136-3 -1 336- The STAs in S need to be partitioned into as few clusters as possible in such a way that no two STAs, i andj with Fij = 0 or Fij = 0 are in the same cluster. Therefore, we can formulate the problem for the optimal clustering as GCP (Graph Coloring Problem) to minimize the number of clusters, where the STAs in S are vertices and two STAs, i and j in S are connected only when Fij = 0 or Fij = 0. [pp. 14 in 8] Although the carrier Feb. 17-20, 2008 ICACT 2008 sensing information can be changed during the next CP after the clusters are derived, we can expect the AP to reduce the possibility ofhidden nodes during the CP by assigning a SP to each cluster obtained by the heuristic for GCP, which is based on the degree-descending order of the vertices. [pp. 14 in 8] The AP needs to continuously perform the clustering algorithm to partition the STAs into the clusters based on the recently updated carrier sensing information among the STAs. And, the AP needs to inform each STA of the updated cluster number to indicate the cluster to which the STA belongs. To inform the STAs of the updated cluster numbers, the AP can piggyback the updated cluster numbers on the polling frames transmitted to the STAs. For this purpose, we need to change the format of the polling frame to add the new field for the updated cluster number as shown in Figure 3. During CPs, at the beginning of each SP, the AP needs to announce the start of the SP by broadcasting the announcement frame to the STAs. The announcement frame should include the cluster number to indicate the cluster to which the SP is assigned for the DCF channel access. Frame Control Duration/ID Drto D RTA Cer CuRAstTA Number Fig. 3 Format of Polling Frame The preceding signals correspond to the data transmission attempts of the STAs and the AP, respectively. When the RTS and CTS frame exchange is performed before a data frame transmission, the separate RX or TX signals are generated for the RTS, CTS and data frames. But, we want to regard the signals for the RTS, CTS and data frames as related with a single data transmission attempt. For this purpose, the signal for the CTS frame is ignored, and the signal for the data frame is ignored when the signal for the preceding RTS frame was counted. All other signals are counted to obtain Wk's in the CP. The AP can easily obtain the number of successful data transmissions in each SP, which is Vk in (1), by counting the transmitted or received ACK frames. Using Vk's and Wk's, we can obtain Gk's for M clusters. We will denote the average rate of change of Gk by Hk Gk/ Dk. As explained in the previous section, the AP continuously updates the clusters based on the recently collected carrier sensing information among the STAs. The clusters to which the next CP is assigned will be called clusters NC(1), NC(2), ..., and NC(L). (L . 1. NC is the abbreviation of New Cluster.) When cluster NC(p) is equal to cluster OC(q), the rate of change of GNCO can be estimated to be HNCO = Hoc(c. (1 < p < L and 1 < q < M.) Therefore, we can estimate the rate of change of GNCOJ) for cluster NC(p) in the following set: T = {NC(p)l there exists OC(q) such that NC(p) = OC(q)}. 3. Fairness Algorithm The fairness algorithm in this section is aimed to distribute the channel bandwidth to the clusters, which are derived by the clustering algorithm in the previous section, in the manner that allows the clusters attempting to transmit the data frames more frequently to get more successful data transmissions in a CP. That is, we want to keep the following measures, Gk's for the clusters as equal as possible: =Vkk GkG = Wk The rate of change of GNc(P) for cluster NC(p) not in the set, T cannot be estimated. Because we have no information of GNC(P) for cluster NC(p) not in T, the channel bandwidth is equally assigned to the clusters not in T, that is, the durations of SPs assigned to the clusters not in T are set to be D/L. The remaining channel bandwidth ofthe CP is assigned to the clusters in T, so that the clusters in T are expected to have the equal GNC(p)'SSpecifically, the duration of SP assigned to the cluster NC(p) in T is obtained as (1) DNC(p) a:::( where Vk is the number of successful data transmissions in a total CP of cluster k, and Wk the number of data transmission attempts per unit time of cluster k. Assume that a CP is assigned to M (. 1) clusters. M clusters will be called clusters OC(1), OC(2), ..., and OC(M). (OC is the abbreviation of Old Cluster.) Let us denote the durations of SP's assigned to clusters OC(1), OC(2), ..., and OC(M) by Doc(l), Doc(2), .. ., and Doc(M), respectively. The total duration ofeach CP is denoted by D. (At the initial time when the AP does not have the information of Gk's, the channel bandwidth can be equally assigned to M clusters, that is, the durations of SPs are set to be D/M in Fig. 1.) According to [2], at the NIAC layer, the AP can detect the data transmission attempts in each SP by receiving the following signals from its physical layer: * PHY-RXSTART.indication (RXVECTOR) * PHY-TXSTART.confirm ISBN 978-89-5519-136-3 (2) -1337- (aNC(cjp) z- iT ic~ ai (3) where ITI is the number of clusters in T, DITI / L is the remaining total duration of CP that can be assigned to the clusters in T, and u, is Hi. For example, assume that there are three old clusters, OC(1), OC(2) and OC(3), the total duration of each CP is 2 ms, and the rates of change of Goc(l), Goc(2) and GoC(3) are estimated to be Hoc(l) = 0.5, HOC(2) = 0.2 and HOC(3) = 1.0, respectively. When there are four new clusters, NC(1), NC(2), NC(3) and NC(4), and T = {NC(1) = OC(2), NC(2) = OC(3)}, the durations of SPs assigned to four new clusters are obtained as * DNC(3): DNC(4) -= 2ms /4 = 0.5 ms * DNC(l): 1 ms (5 / (5 + 1))= 0.833 ms * DNC(2): 1 ms(1 / (5+1)) =0.167ms Feb. 17-20, 2008 ICACT 2008 In the wireless service environment with the moderate mobility, the carrier sensing information among the STAs does not change frequently. Thus, the previous information of Gk's can be efficiently used to fairly allocate CPs to the clusters. 4. Conclusions and Further Research In this paper, we proposed a clustering algorithm for resolving the hidden node problem in infrastructure mode IEEE 802.11 wireless LANs by partitioning the STAs (Stations) in a BSS (Basic Service Set) into the clusters. Taking into consideration the fairness among the clusters, we also proposed a fairness algorithm for dividing a CP into the SPs. The further research is needed to validate our proposed clustering and fairness algorithms by numerical examples. ISBN 978-89-5519-136-3 -1 338- REFERENCES [1] L. Brignol and L. Litzenburger, "Wireless LAN Technology and HiperLAN/2", Alcatel Telecommunications Review, pp. 205-206, 2003. [2] IEEE Std 802.11, Wireless LAN medium access control (MAC) and physical layer specifications, 1999. [3] F.A. Tobagi, and L. Kleinrock, "Packet switching in radio channels: the hidden node problem in carrier sense multiple access modes and the busy tone solution", IEEE Trans. Commun., vol. 23, pp. 1417-1433, 1975. [4] K. Xu, and M. Gerla, "How Effective is the IEEE 802.11 RTS/CTS Handshake in Ad Hoc Networks", IEEE GLOBECOM 2002, 2002. [5] J.L. Sobrinho, R. Haan, and J.M. Brazio, "Why RTS-CTS is not Your Ideal Wireless LAN Multiple Access Protocol", IEEE WCNC 2005, 2005. [6] F.Y. Li, A. Kristensen, and P. Engelstad, "Passive and Active Hidden Terminal Detection in 802.1 1-based Ad Hoc Networks", IEEE INFOCOM 2006, 2006. [7] W.-Y. Choi, "A Real-Time Algorithm for MAC Throughput Enhancement by Dynamic RTS-CTS Threshold in IEEE 802.11 Wireless LANs ", Journal of RF Engineering and Telecommunications, vol. 59, pp. 171-176, 2005. [8] E. Falkenauer, "Genetic Algorithms and Grouping Problems", John Wiley & Sons, 1998. Feb. 17-20, 2008 ICACT 2008