Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Dynamic Channel Selection in Cognitive Radio WiFi Networks by Jeremy Mack A thesis submitted to the Department of Electrical and Computer Engineering in conformity with the requirements for the degree of Master of Applied Science Queen’s University Kingston, Ontario, Canada August 2014 c Jeremy Mack, 2014 Copyright Abstract Increased wireless network intelligence and interference awareness enabled by cognitive radio can lead to improved spectrum utilization and network performance. This thesis proposes a novel Dynamic Channel Selection (DCS) algorithm based around a cognitive radio platform developed by Communications Research Centre Canada (CRC). The proposed algorithm leverages the underlying cognitive radio platform to continuously monitor and dynamically adjust the channels of the network based on identified WiFi interference sources, thus relieving the network operator of having to manually configure and update the channels across the network. In recent years, the widespread adoption and deployment of WiFi networks has led to congestion and interference issues as there are only three non-overlapping channels in the 2.4GHz band where the majority of WiFi networks operate today. The proposed algorithm can detect both intra-network and external interference allowing it to vary the networks channels thereby reducing congestion and increasing throughput. Three tailoring factors allow the algorithm to be customized for various network environments and reduce unnecessary channel changes. An extensive performance evaluation is presented with field experiments in both rural and urban environments as well as the network simulation software, ns-3. The results demonstrate significant i improvement in terms of throughput, spectrum efficiency as well as robustness to variations in the interference. The main contribution of this work is a DCS algorithm that uses a weighted edge graph to autonomously monitor and adjust a WiFi network’s channels based on a variety of interference sources. The algorithm outperforms the current state of the art DCS algorithm and is the first of its kind to be implemented in a large scale cognitive radio field deployment. ii Acknowledgments I would like to thank my two supervisors Dr. Saeed Gazor and Dr. Amir Ghasemi for all their help and guidance throughout my degree. As well as my two defense examiners Dr. Hossam Hassanein and Dr. Aboelmagd Noureldin for spending the time reading my thesis and providing suggestions. I would like to thank my family and friends for all their support during the last two years, I couldn’t have completed this without all their support. I also would like to thank Brian Panneton for providing me with the ns-3 directional WiFi antenna patch. iii Contents Abstract i Acknowledgments iii Contents v List of Tables vi List of Figures vii List of Abbreviations Chapter 1: Introduction 1.1 Motivation . . . . . . 1.2 Objectives . . . . . . 1.3 Thesis Contribution . 1.4 Thesis Organization . xi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 2: Background and Related Work 2.1 IEEE 802.11 Summary . . . . . . . . . . . . . . . . 2.1.1 Physical Layer . . . . . . . . . . . . . . . . . 2.1.2 Data Link Layer . . . . . . . . . . . . . . . 2.1.3 Network Layer and Above . . . . . . . . . . 2.2 WiFi Protocol . . . . . . . . . . . . . . . . . . . . . 2.3 Implementation Platforms . . . . . . . . . . . . . . 2.3.1 ns-3 Network Simulator . . . . . . . . . . . 2.3.2 Cognitive, Radio-Aware, Learning (CORAL) 2.4 Literature Survey . . . . . . . . . . . . . . . . . . . 2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 . . . . . . . . . . 7 . . . . . . . . . . 8 . . . . . . . . . . 10 . . . . . . . . . . 14 . . . . . . . . . . 15 . . . . . . . . . . 16 . . . . . . . . . . 16 Research Platform 17 . . . . . . . . . . 23 . . . . . . . . . . 31 Chapter 3: Dynamic Channel Selection Algorithm 3.1 Dynamic Channel Selection Algorithm . . . . . . . . . . . . . . . . . iv 1 3 4 5 6 32 32 3.2 3.3 3.4 3.5 Selecting Tailoring Factors . . . Improved DCS 2.0 . . . . . . . NP Problem Solving Algorithms Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 38 38 40 44 Chapter 4: DCS Algorithm Implementation and Testing 4.1 ns-3 Network Simulator . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Implementation Specifications . . . . . . . . . . . . . . . . 4.1.2 LCCS Results . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Tailoring Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 5-Cell simulations using ns-3 . . . . . . . . . . . . . . . . . . . . . 4.3.1 Test 1 - Small Number of External Interference Sources . . 4.3.2 Test 2 - Medium Number of External Interference Sources 4.3.3 Test 3 - High Number of Interference Sources . . . . . . . 4.3.4 Test 4 - Original DCS vs. DCS 2.0 . . . . . . . . . . . . . 4.3.5 Test 5 - Voice Over Internet Protocol (VOIP) . . . . . . . 4.3.6 Test 6 - IEEE 802.11g . . . . . . . . . . . . . . . . . . . . 4.4 Number of Channel Sets . . . . . . . . . . . . . . . . . . . . . . . 4.5 CORAL Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.1 CORAL Implementation Specifications . . . . . . . . . . . 4.5.2 DCS Performance Metrics . . . . . . . . . . . . . . . . . . 4.5.3 Improving Spectrum Efficiency . . . . . . . . . . . . . . . 4.5.4 Robustness of Edge Weights . . . . . . . . . . . . . . . . . 4.5.5 Forgetting Factor δ . . . . . . . . . . . . . . . . . . . . . . 4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 45 46 48 51 56 57 60 62 66 69 70 72 73 73 76 78 81 82 85 Chapter 5: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conclusions and Future Work 86 Bibliography 90 Appendix A: Extra Figures A.1 Downtown CORAL Test . . . . . . . . . . . . . . . . . . . . . . . . . 98 98 Appendix B: Simulation Data Rates v 104 List of Tables 3.1 Specifications for improved DCS test . . . . . . . . . . . . . . . . . . 41 4.1 ns-3 simulation specifications . . . . . . . . . . . . . . . . . . . . . . . 47 4.2 DCS 2.0 channel changes at 520s for Test 1.A . . . . . . . . . . . . . 59 4.3 DCS 2.0 channel changes at 520s for Test 2.A . . . . . . . . . . . . . 64 4.4 DCS 2.0 channel changes at 680s for Test 3.A . . . . . . . . . . . . . 66 4.5 Original DCS and DCS 2.0 channel changes at 560s . . . . . . . . . . 69 4.6 Average rates and number of channel changes . . . . . . . . . . . . . 85 B.1 Access point data rates for Test 1,2 and 3 . . . . . . . . . . . . . . . 105 B.2 Access point data rates for Test 4 . . . . . . . . . . . . . . . . . . . . 106 B.3 Access point data rates for Test 5 . . . . . . . . . . . . . . . . . . . . 107 B.4 Access point data rates for Test 6 . . . . . . . . . . . . . . . . . . . . 108 vi List of Figures 2.1 Network OSI Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 2.4 GHz (ISM) frequency band split into 11 channels with WiFi’s 22 9 MHz bandwidth. The three non-overlapping channels are highlighted. 9 2.3 Sending a packet with CSMA/CA example. . . . . . . . . . . . . . . 12 2.4 (a) Hidden terminal problem and (b) Exposed terminal problem. . . . 13 2.5 Virtual Carrier Sense example. . . . . . . . . . . . . . . . . . . . . . . 13 2.6 Spectrum mask comparison for (a) DSSS and (b) OFDM. . . . . . . . 17 2.7 Visual representation of CORAL platform architecture. Blue circles are APs and yellow circles are clients [10]. . . . . . . . . . . . . . . . 2.8 19 The GUI showing the parsed sensing data received from a CORAL terminal’s WiFi sniffer. . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.9 LCCS Flow Chart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.1 Topology of the two-cell sectorized WiFi system used for the CORAL field tests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.2 Flowchart depicting the steps of the proposed DCS algorithm. . . . . 35 3.3 Visual representation of a network showing the advantage of incorporating the load into the weights for DCS 2.0 . . . . . . . . . . . . . . vii 39 3.4 Total throughput the network represented by Figure 3.3 comparing the original DCS and DCS 2.0 (external interference enabled at 250s) . . 41 4.1 Visual representation of network used for ns-3 simulations . . . . . . 48 4.2 Downlink throughput of a 1 AP, 5 clients network with an external interferences source enabled at 250s. Proposed algorithm outperforms CISCO’s LCCS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 49 Downlink throughput of a 1 AP, 5 clients network with 3 external interferences sources being enabled at 250s. Proposed algorithm outperforms CISCO’s LCCS. . . . . . . . . . . . . . . . . . . . . . . . . 4.4 50 Total throughput for network of Figure 4.1 showing the long convergence time of standard LCCS in a centralized network . . . . . . . . . 51 4.5 Number of channel changes for varying δ values . . . . . . . . . . . . 52 4.6 Downlink throughput for varying δ values between 600s-1000s . . . . 52 4.7 Number of channel changes for varying β values . . . . . . . . . . . . 53 4.8 Downlink throughput for varying β values between 600s-1000s . . . . 54 4.9 Number of channel changes for various IRP values . . . . . . . . . . . 55 4.10 Downlink throughput for varying IRP . . . . . . . . . . . . . . . . . . 55 4.11 Legend for network representations . . . . . . . . . . . . . . . . . . . 57 4.12 Visual representation of network for Test 1 (Small number of external interference sources) . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.13 Total throughput for Test 1.A (Small number of external interference sources all enabled at 500s) . . . . . . . . . . . . . . . . . . . . . . . 58 4.14 Total throughput for Test 1.B (Small number of external interference sources enabled between 0-700s) . . . . . . . . . . . . . . . . . . . . . viii 60 4.15 Visual representation of network for Test 2 (Medium number of external interference sources) . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.16 Total throughput for Test 2.A (Medium number of external interference sources all enabled at 500s) . . . . . . . . . . . . . . . . . . . . . . . 62 4.17 Total throughput for Test 2.B (Medium number of external interference sources enabled between 0-700s) . . . . . . . . . . . . . . . . . . . . . 63 4.18 Visual representation of network for Test 3 (Large number of external interference sources) . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.19 Total throughput for Test 3.A (Large number of external interference sources all enabled at 500s) . . . . . . . . . . . . . . . . . . . . . . . 65 4.20 Total throughput for Test 3.B (Large number of external interference sources enabled between 0-700s) . . . . . . . . . . . . . . . . . . . . . 67 4.21 Visual representation of network for Test 4 (original DCS vs. DCS 2.0) 68 4.22 Total throughput for Test 4 (original DCS vs. DCS 2.0 with all external interference enabled at 500s) . . . . . . . . . . . . . . . . . . . . . . . 68 4.23 Visual representation of network for Test 5 (VOIP traffic) . . . . . . . 70 4.24 Total throughput for Test 5 (VOIP traffic with external interference sources being enabled between 0-700s) . . . . . . . . . . . . . . . . . 71 4.25 Visual representation of network for Test 6 (IEEE 802.11g network) . 72 4.26 Total throughput for Test 6 (IEEE 802.11g network with external interference sources being enabled between 0-700s) . . . . . . . . . . . . 73 4.27 The number of optimal channel sets for increasing number of interference sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.28 Network Setup at the CRC campus . . . . . . . . . . . . . . . . . . . 75 ix 4.29 Network Setup for Downtown tests . . . . . . . . . . . . . . . . . . . 77 4.30 Uplink channel rate, showing the DCS’s ability to react to rapid changes in the interference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.31 Retransmission ratio which is an indication of how much spectrum bandwidth is used to support retransmission of WiFi packets . . . . . 80 4.32 Spectrum efficiency for a test at CRC campus . . . . . . . . . . . . . 80 4.33 Downlink channel rate for downtown Ottawa test in which the edge weights are only calculated using the RF utilization. The numbers represent the 5 sector channel changes that the DCS executed. . . . . 83 4.34 CRC Channel changes with a δ of 0.5 . . . . . . . . . . . . . . . . . . 84 4.35 CRC Channel changes with a δ of 0.9 . . . . . . . . . . . . . . . . . . 84 A.1 Network Setup at CRC campus tests . . . . . . . . . . . . . . . . . . 99 A.2 Network Setup for Downtown tests . . . . . . . . . . . . . . . . . . . 100 A.3 CORAL Cell. Antenna on top right is 5 GHz backhaul antenna. . . . 101 A.4 CORAL cell 2 in Downtown Ottawa CORAL test . . . . . . . . . . . 101 A.5 CORAL cell 1 in Downtown Ottawa CORAL test . . . . . . . . . . . 102 A.6 CRMS in cell 1 in Downtown Ottawa CORAL test . . . . . . . . . . 102 A.7 A laptop set up with an Iperf software to generate traffic in Downtown Ottawa CORAL test . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 x List of Abbreviations ACK Acknowledgement AP Access Point ARQ Automatic Repeat Requests CTS Clear To Send CORAL Cognitive, Radio Aware, Learning platform CRNMS Cognitive Radio Network Management System CRC Communication Research Centre Canada CE Cognitive Engine CRS Cognitive Radio System CSMA/CA Carrier Sense Multiple Access with Collision Avoidance DSSS Direct-Sequence Spread Spectrum DCS Dynamic Channel Selection Dcr Downlink Channel Rate xi DL Downlink FCC Federal Communications Committee GUI Graphical User Interface HTTP HyperText Transfer Protocol IRP Interference Reporting Period ISM Industrial, Scientific and Medical Frequency Band LCCS Least Congested Channel Search LLC Logical Link Control MAC Media Access Control NAV Network Allocation Vectors NIC Network Interface Card OFDM Orthogonal Frequency Division Multiplexing OSI Open Systems Interconnection RF Radio Frequency RR Retransmission Ratio REAM Radio Environment Awareness Map RL Reinforced Learning RTS Request to Send xii RSSI Received Signal Strength Indicator SpecEff Spectrum Efficiency SIR Signal to Interference Ratio SOCDF Spectrum Occupancy Cumulative Distribution Function TDD Time Division Duplex TCP Transmission Control Protocol Ucr Uplink Channel Rate UL Uplink UDP User Datagram Protocol Uf Radio Frequency Utilization VOIP Voice Over IP WLAN Wireless Local Area Networks xiii 1 Chapter 1 Introduction Centrally-managed wireless local area networks based on IEEE 802.11 standard (WiFi), such as those in university campuses or airports, usually require large amounts of planning and carefully-assigned channels in order to improve the performance and mitigate co-channel interference issues. Any changes in the network characteristics such as the introduction of new Access Points (APs), new sources of external interference, or changes in network traffic however, may change the interference environment and thus, require the channels to be reconfigured. With the increasing number of APs, manual channel assignment and reconfiguration becomes prohibitive. To address this a Dynamic Channel Selection (DCS) algorithm was proposed that introduces intelligence to WiFi networks using attributes of cognitive radio. Compared to DCS algorithms in literature which are often complex preventing implementation, the proposed algorithm is more practical allowing us to implement and evaluate it on an actual cognitive radio platform. Cognitive Radio Systems (CRS) provide improved radio spectrum efficiency, due to their ability to adapt dynamically to interference and to find vacant spectrum. The attributes of a CRS as outlined in the International Telecommunication Union’s 2 working definition [1] include the ability to: 1. Obtain knowledge of the wireless environment 2. Dynamically and autonomously adjust its operational parameters and protocols according to the obtained knowledge 3. Learn from the obtained results Communications Research Centre Canada (CRC) has developed a Cognitive, Radio-Aware, Learning (CORAL) platform that embodies these attributes [45]. CORAL is designed with a cognitive radio shell around the IEEE 802.11 standard due to the fact that WiFi radios offer a low-cost and flexible terminal technology. Additionally, many cognitive radio techniques have been designed to operate at higher Open Systems Interconnection (OSI) layers and therefore their design is not subject to the operational constraints of the WiFi radios [49, 8, 24]. A description of CORAL’s four major components and how they work together to accomplish a CRS is also provided. The proposed DCS algorithm is designed for a sectorized WiFi network that incorporates the attributes of cognitive systems to increase the throughput and spectrum efficiency of the network. To our knowledge, this is the first DCS algorithm designed for a sectorized WiFi-based cognitive radio network and is the first experimental implementation of a CRS. The algorithm uses past network statistics such as Received Signal Strength Indicator (RSSI) and Radio Frequency (RF) utilization observed at different APs to generate a periodically-updated interference map for the network. The interference map is comprised of weighted edges placed between interfering APs to represent the network impact of two APs placed on the same channel. By optimizing the channels of the interference map to reduce the interference seen by the 1.1. MOTIVATION 3 APs, the algorithm is able to outperform the current state of the art DCS algorithm and improve both the throughput and spectrum efficiency. When exploiting previous data, a forgetting function is used which improves the robustness of the algorithm’s decisions. The DCS algorithm has built in tailoring factors that allow the algorithm to accommodate different network interference environments. Extensive simulations and field tests show the algorithm’s ability to choose optimal channel sets and outperform CISCO’s well known DCS algorithm, Least Congested Channel Search (LCCS). 1.1 Motivation In 2002 the Federal Communication Committee (FCC) released a report [26] that discussed the usage of the wireless spectrum and revealed at any time less than 10% of the spectrum is being utilized efficiently. One of the causes of this poor spectrum management is the static nature of most devices’ operating carrier frequency or channel and the inefficient algorithms that choose this channel. To help improve the spectral efficiency, DCS algorithms can be used to adjust the channels of the APs dynamically based on the current network environment. CRC developed the CORAL research platform to allow researchers to develop intelligent algorithms to improve the spectrum usage. In collaboration with the engineering team at CRC we developed one of the first DCS algorithms for this platform. The proposed algorithm would be implemented in a sectorized IEEE 802.11 or WiFi network with up to 15 APs. The algorithm would operate on a centralized network that consisted of trio’s of APs called cells. The APs would be CORAL terminals with directional antennas that had an azimuth beamwidth of 120 ◦ . The algorithm’s task was to optimize the channels of the terminals to reduce the interference of the 1.2. OBJECTIVES 4 network in order to enhance the networks throughput and spectrum efficiency. Due to the close proximity of the APs, the algorithm had to ensure that APs within the same cell must transmit on unique non-overlapping channels. The algorithm was integrated into a CRC project to provide internet to remote areas of India. Due to the actual implementation of this work the algorithm had to be designed with a practical implementation in mind, which prevented very complex algorithms or impractical assumptions. The algorithm also needed to be able to detect both interference from APs in its own network and from other devices using the ISM band. This prevents any modifications of the WiFi protocol or packets. This sort of sectorized WiFi network is unique, thus no current DCS algorithms in literature could be directly applied to the network. With some modifications some of the proposed DCS algorithms could operate on a sectorized network, however many of them are either too complex for practical implementation or make unrealistic assumptions such as equal throughput for all users in a network. 1.2 Objectives DCS algorithms provide an innovative way to increase the spectrum efficiency of the crowded wireless spectrum. In this thesis, a DCS algorithm is proposed for a sectorized network that implements cognitive radio principles achieving the following objectives: 1. Able to detect both intra-network interference between APs in the same network as well as external interference from other devices using the ISM band 2. Ensure a practical implementation is achievable 1.3. THESIS CONTRIBUTION 5 3. Solve the channel optimization quickly and effectively 4. Enhance the throughput and spectrum efficiency of the network 5. Provide flexibility to tailor the algorithm to a variety of interference environments 1.3 Thesis Contribution The main contribution of this thesis is the Dynamic Channel Selection Algorithm which is proposed in Chapter 3. The DCS algorithm models the network interference environment using a weighted edge graph to determine the optimum channel set that minimize the interference seen by the APs. The weighted edge graph uses the Received Signal Strength Indicator (RSSI) and RF utilization to classify interference sources and adjust the AP’s channels to increase the network throughput and spectrum efficiency. The edge weights also incorporate the receiver APs load to further increase the spectrum efficiency via traffic awareness [42]. The algorithm is also able to detect both intra-network interference as well as outside interference, allowing it to outperform CISCO’s current state of the art DCS algorithm. A number of tailoring factors were incorporated into the algorithm to accommodate many different network environments and reduce unnecessary channel changes. The algorithm has been presented at ICC 2014 [31] where it received positive feedback from reviewers and attendees as well as being tested in a remote village in India. 1.4. THESIS ORGANIZATION 1.4 6 Thesis Organization The thesis is organized as follows, Chapter 2 presents some background material and related work that are needed for understanding the discussions that follow. Chapter 3 introduces the DCS algorithm and formulates weighted edge graph model and integer optimization. Chapter 4 presents the extensive results from the ns-3 simulations and field tests of the algorithm using the CORAL platform. Chapter 5 presents the conclusions drawn from the thesis and discusses possible future research directions. 7 Chapter 2 Background and Related Work This chapter provides the background material needed for the reader to follow the remainder of the thesis. Section 2.1 presents an overview of the WiFi protocol including a brief summary of each of its layers. Section 2.2 discusses the differences between the modulation schemes of IEEE 802.11b and IEEE 802.11g and why IEEE 802.11b was used in the field tests. Section 2.3 provides some background on the two implementation platforms, the network simulator ns-3 and CORAL platform. Finally, Section 2.4 is a comprehensive literary review of the current DCS algorithms in literature. 2.1 IEEE 802.11 Summary WiFi or IEEE 802.11 is a local area wireless protocol that uses unlicensed frequency bands to transmit data between devices. Two unlicensed frequency spectrum bands are available in North America: 1. 2.4 GHz Industrial, Scientific and Medical (ISM) band [18] 2. 5.0 GHz Unlicensed National Information Infrastructure band [19] 2.1. IEEE 802.11 SUMMARY 8 The current generations of WiFi uses the 2.4 GHz unlicensed frequency band due to its ability to better propagate through walls and obstacles compared to the 5.0 GHz. 2.4 GHz is shared with many other short range wireless technologies such as Bluetooth, ZigBee, cordless telephones or microwave ovens. As in any network protocol there are many algorithms operating on different OSI network levels seen in Figure 2.1. The proposed algorithm is implemented in the MAC layer, but to better understand some of the decisions made a brief explanation on each layer is provided in the following subsections. Wireless local area networks can be categorized as either centralized or distributed based on how they are managed [12]. In a centralized network there is a central entity that makes all the network’s decisions and it can be assumed that it knows all the information about the network. In a distributed network each device makes its decision based only on the information that is available locally. Centralized networks outperform distributed ones due to their increased knowledge and greater processing power at the central decision-making entity however are not as scalable as distributed networks. With the 15-AP constraint and cognitive capacity of the CORAL units, using a centralized network allowed the development of more intelligent algorithm to effectively enhance the spectrum efficiency. 2.1.1 Physical Layer The first widely accepted WiFi protocol was IEEE 802.11b which operated on the 2.4 GHz band unlike the less popular IEEE 802.11a which used the 5.0 GHz unlicensed band. The 2.4 Ghz band has a total bandwidth of 70 MHz in North America and 90 MHz in Europe and China. Figure 2.2 shows the 22 MHz bandwidth of WiFi signals 2.1. IEEE 802.11 SUMMARY 9 Figure 2.1: Network OSI Model Figure 2.2: 2.4 GHz (ISM) frequency band split into 11 channels with WiFi’s 22 MHz bandwidth. The three non-overlapping channels are highlighted. and the 11 channels that are available for WiFi operation at 2.4 GHz. For the rest of the thesis carrier frequency and channel will be used interchangeably. Due to the 5 MHz distance between the available frequencies there will be overlap if devices are transmitting on adjacent channels. Therefore, there are at most three non-overlapping channels; channels 1,6 and 11. The proposed algorithm is restricted to these channels due to proximity of the CORAL terminals and large backlobe interference that will be seen if two APs in a cell transmit on the same channel. The physical layer will drop a packet if its signal strength is not above a specific threshold set by the vendor. WiFi has three units of measurement of signal strength; 2.1. IEEE 802.11 SUMMARY 10 mW, dBm and RSSI. The mW and dBm units are interchangeable using a simple log equation while RSSI is different for each Network Interface Card (NIC)[7]. Measuring the signal strength is usually done in a log scale as the signal strength does not fade in a linear manner. Thus the signal strength is usually measured in dBm, however for WiFi the signal strength is usually presented in RSSI form. Due to the inconsistencies with RSSI between different NICs, the RSSI is usually represented as a percentage, RSSIp . A general formula for RSSI p is shown in (2.1) where RSSIm is the measured RSSI value from the NIC and RSSI M AX is the maximum RSSI value. The value of RSSI Max varies for different NIC company’s, thus one has to check the companys data sheets when switching NIC. RSSI p = 2.1.2 RSSI m × 100 RSSI M AX (2.1) Data Link Layer The data link layer is responsible for the encapsulation of the network layer data packets into frames and hides the difference between the different transmission protocols (IEEE 802.11 (WiFi) vs IEEE 802.1(LAN)). It is comprised of two sub layers, 1) Logical Link Control (LLC) and 2) Media Access Control (MAC). The LLC is in charge of the flow control to ensure that the frames do not get congested in a network link. It also does error control using Automatic Repeat Requests (ARQ) by using acknowledgements (ACK) when a frame has been successfully received. If a sender does not receive an ACK before a preassigned timeout period, it re-transmits the packet until either it exceeds a predefined number of re-transmissions or receives an ACK. 2.1. IEEE 802.11 SUMMARY 11 The MAC sublayer has a lot more responsibilities than LLC, especially for WiFi. In all networks it is in charge of physical addressing as well as data packet queuing and scheduling. In wireless networks the MAC layer is also in charge of controlling the shared medium. WiFi uses a protocol called Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) to control its shared medium. When a terminal has a frame to send, it begins a random backoff timer which only decreases when the channel is idle. When the timer equals 0 it sends its frame, and if the frame gets to the receiver, the receiver will send an ACK. If the sender does not receive an ACK in a predetermined amount of time, either because of a collision or otherwise, it doubles its backoff timer and tries again. Figure 2.3 is an example of this process. Station A begins its transmission at time 0 after waiting for its backoff time and sensing the channel. During its transmission station B and C become ready to send. They sense the channel and see that A is transmitting so they must wait until the channel is idle to decrement their backoff timer. After A receives its ACK the channel becomes idle and B and C both choose a random backoff, in this case Station C chooses a shorter backoff and begins to transmit first. After C is done, B completes the rest of its backoff time and begins its transmission. To reduce the amount of wasted power checking if the channel is idle a Virtual Carrier Sense protocol was proposed which defines virtual sensing. With virtual sensing each terminal keeps a logical record of when the channel is in use with Network Allocation Vectors (NAV). A NAV states how long it will take the frame to complete its transmission and is included with each packet that is sent. When a node overhears this frame, it will know the channel is going to be busy for a predetermined amount 2.1. IEEE 802.11 SUMMARY 12 Figure 2.3: Sending a packet with CSMA/CA example. of time without having to check the physical channel. These protocols are effective in most non-heavily loaded networks, however they do suffer from the Hidden and Exposed Terminal problems. The hidden terminal problem is shown in Figure 2.4(a); A and C are out of range of each other so they see the channel as being idle. So they both begin transmission to terminal B and their packets will collide and will not be received. An exposed terminal problem can be seen in Figure 2.4(b), in this case B is transmitting to A, and C wants to transmit to D. C listens to the channel and will not send because it hears the channel is busy, however if it did send correct packets would be able to reach D and would only cause bad reception in the zone between B and C. The hidden terminal problem is due to the CSMA algorithm not being able to detect the radio activity around the receiver which can be solved using an extension to the virtual carrier sense protocol called Request To Send/Clear To Send (RTS/CTS). With RTS/CTS after the backoff time decreases to 0, the terminal sends an RTS 2.1. IEEE 802.11 SUMMARY 13 (a) (b) Figure 2.4: (a) Hidden terminal problem and (b) Exposed terminal problem. Figure 2.5: Virtual Carrier Sense example. packet to let all users know in its transmission range that it is about to send. Any nearby terminals that hear this would read the NAV and postpone checking the channel until it finishes sending. The terminal that is going to receive the packet sends a CTS if its channel is idle which makes all the devices near the receiver also stop sending. Once the sender receives this CTS it begins the transmission. Figure 2.5 shows an example of this process. 2.1. IEEE 802.11 SUMMARY 14 Although RTS/CTS eliminates the hidden terminal problem, the exposed terminal problem still occurs, and it also causes a large amount of overhead to the network. Therefore, it is rarely used in practical implementations. 2.1.3 Network Layer and Above The network layer controls how the packets are routed from source to destination using either static tables that are rarely changed or dynamic tables that are updated more frequently to avoid failed routes. A lot of routing protocols exist that help with congestion and choosing an optimal route, however there is nothing in this layer that is specifically made for WiFi. The transport layer accepts data from the application layer and splits it into smaller units, and passes these to the network layer. It is in charge of ensuring that all the pieces arrive correctly at the other end. In application there are two protocols that deal with the responsibilities of all levels in between the network and application layer. They are the Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). TCP was designed for a reliable end-to-end byte stream over an unreliable network. Both the sender and receiver create a socket, which has an IP address and a port number. All TCP connections are full duplex and are point-to-point, which means traffic can go in both directions at the same time and that each connection only has two end point. A TCP connection is a byte stream that requires an ACK for each transmission. This ensures that the packet will be received correctly at the receiver but causes a large delay and overhead to the network. This is usually used where having an errorless packet is very important such as HyperText Transfer Protocol (HTTP) which is the basis for the World Wide Web. 2.2. WIFI PROTOCOL 15 UDP is designed for applications that require a very small delay and do not care about a few errors. Applications send encapsulated IP datagrams (a group of packets) that do not require a connection between the sender and receiver. UDP adds a header with the source and destination but does not care how the datagrams make it between the two locations. This is used in applications such as Voice Over IP (VOIP) and video streaming. The final layer is the application layer and it is where the software engineers develop their software. 2.2 WiFi Protocol The CORAL unit used in the field testing was version 3P which was tailored for the CRC project to provide internet to remote area’s in India. This version was designed for rural communication systems with simple WiFi handsets that are only compatible with IEEE 802.11b or IEEE 802.11g and long range WiFi links that could go up to 500 meters. Due to the long range, losses from vegetation and buildings, and the maximum legal equivalent isotropically radiated power (EIRP) of 36 dBm, the average received signal level was estimated to be between -75 and -90 dBm. Due to these low received powers, the engineering team at CRC leaned towards using IEEE 802.11b due to its robust modulation schemes at low data rates. The second reason for using IEEE 802.11b over IEEE 802.11g is the difference in their co-channel degradation. IEEE 802.11b uses the direct-sequence spread spectrum (DSSS) modulation technique that spreads the interference over a large band to improve the Signal to Interference (SIR) ratio. Figure 2.6(a) shows the spectrum mask for DSSS that filters out the signal at the receiver. At fc ± 22 MHz the power 2.3. IMPLEMENTATION PLATFORMS 16 is reduced by -50 dB which means there is very little co-channel degradation between non-overlapping channels in the ISM band with IEEE 802.11b [17]. IEEE 802.11g uses the Orthogonal Frequency-Division Multiplexing (OFDM) modulation technique which splits the signal into a set of low-rate substreams that are separately modulated on individual carrier signals. This scheme allows for higher data rates however Figure 2.6(b) shows that the mask only reduces the signal by around -28 dB at fc ± 20 MHz [16]. The CORAL units have 60 dB isolation between the channels, but due to the close proximity of the APs in a cell this is not enough to ensure there would be no cochannel degradation with OFDM. However, with IEEE 802.11b the 60 dB isolation is sufficient to minimize co-channel interference. This means an AP can transmit with an EIRP of 36 dBm on Channel 1 and an adjacent AP can receive a IEEE 802.11b signal at -85 dBm on Channel 6 with no degradation. This cannot be achieved with IEEE 802.11g, thus the IEEE 802.11b protocol was chosen. 2.3 2.3.1 Implementation Platforms ns-3 Network Simulator ns-3 is a discrete-event open source network simulator that is targeted for research and educational use. The simulation core and models are implemented in C++ while the network implementation uses a modified version of Python [2]. The open source nature of the algorithm means there is a large amount of support from the community which was a great asset for this project. It has also been shown to perform very well with large networks in terms of simulation time, memory usage and drop probability [46]. The software offers a large number of wireless libraries that provide accurate networking protocols simulations such as IEEE 802.11b or IEEE 802.11g. 2.3. IMPLEMENTATION PLATFORMS 17 (a) (b) Figure 2.6: Spectrum mask comparison for (a) DSSS and (b) OFDM. 2.3.2 Cognitive, Radio-Aware, Learning (CORAL) Research Platform The CORAL platform is a flexible cognitive wireless building block that is able to implement many different wireless architectures such as point to point, point to multipoint, mesh, relays, and wireless backhaul/distribution grids. In these types of networks the management of radio spectrum in space and time is a defining factor which 2.3. IMPLEMENTATION PLATFORMS 18 can be improved with the cognitive aspects of CORAL. The platform uses four fundamental components to create a cognitive system, represented in Figure 2.7. 1. CORAL Terminal: The physical radio interface with two antennas, one for data communications and the other one for sensing. 2. Cognitive Radio Network Management System (CRNMS): The networking software located on a computer which incorporates a Graphical User Interface (GUI) to monitor and manually override the cognitive functions if needed. 3. Radio Environment Awareness Map (REAM): A database accessible by the CRNMS for storing all the network statistics measured and reported by the CORAL terminals. 4. Cognitive Engines (CEs): Set of algorithms that adapt the operational parameters of the network based on sensed information, retrieved from the REAM database, to improve one or more performance metrics. A brief overview of each component is provided in the following Figure 2.7. A more in-depth description of these as well as other features of the CORAL platform can be found in [10]. Component 1: CORAL Terminal The CORAL terminal is the physical radio interface that can be configured to operate as either an AP or a client. The radio is equipped with two antennas; one is for data communication and the other one independently senses the channels to characterize the environment and identify the sources of interference. The terminals used to 2.3. IMPLEMENTATION PLATFORMS 19 Figure 2.7: Visual representation of CORAL platform architecture. Blue circles are APs and yellow circles are clients [10]. evaluate the DCS algorithm were set as APs each consisting of a single-board computer equipped with two off-the-shelf IEEE 802.11g/b/a wireless radio cards using the Atheros 5004/5212 chipset. Sensing information is provided from two types of detectors on the CORAL terminal. The first is a spectrum analyzer with a 100 MHz scanning bandwidth with an approximately 600 kHz resolution that can resolve signals to -100 dBm. The other one is a WiFi radio put into monitor mode and programmed to examine each and every IEEE 802.11 packet it intercepts on the sensing antenna. Therefore this second sensor is called the ”WiFi Sniffer”. Both sensors continuously scan all orthogonal channels available in the band (channels 1, 6, and 11 in 2.4 GHz) and report the interference observed on each channel. The algorithm proposed in this paper relies 2.3. IMPLEMENTATION PLATFORMS 20 only on the sensing information provided by the sniffer however, other variations using information from both sensors are possible. Sensed information is initially parsed locally at the CORAL terminals to extract the required data such as average interference power, average packet duration, and source and destination MAC addresses of the interference packets. This data is then reported periodically to the CRNMS for further processing and storage in the database. The time interval between such reports is called the Interference Reporting Period (IRP) which can be configured from one minute to several hours depending on the operational requirements. Component 2: CRNMS The CRNMS sits at the center of the CORAL platform and provides an interface for configuration and control of the network as well as collection and storage of sensing data received from the CORAL terminals. Control commands can be sent either manually via a GUI or autonomously via cognitive engines. Another section of the GUI is used to display the sensing information received from the terminals. An example WiFi sniffer report identifying the sources of WiFi interference is shown in Figure 2.8. Component 3: REAM Database The REAM database is the repository of all the sensed radio information gathered by the CORAL terminals. How the REAM database is used by the cognitive engines depends on their design, but the central idea is that the REAM database is a virtual representation of the radio environment. Among other possibilities, the data could 2.3. IMPLEMENTATION PLATFORMS 21 Figure 2.8: The GUI showing the parsed sensing data received from a CORAL terminal’s WiFi sniffer. be used to: • Study the impact of various network parameters on specific performance metrics • Examine specific links or search for less congested channels • Predict future traffic and interference patterns based on past trends The database has four tables that store information about different aspects of the cognitive system: • Node Table: Provides information about all the nodes currently part of the network and controlled by the CRNMS (including their IP address, GPS location, MAC address, etc.) • Interference Table: Provides information about the WiFi wireless traffic seen by the CORAL terminals. (source and destination MAC address, RSSI, data rate, number of packets, channel, etc.) 2.3. IMPLEMENTATION PLATFORMS 22 • Spectrum Table: Provides information collected by the spectrum analyzer at each CORAL terminal (average, minimum and maximum powers, sensor address, etc.) • Alerts Table: Applies to CORAL devices using licence bands and borrowing the spectrum from other users. Provides information about owner of spectrum and generates alerts such IP or MAC address of owner, when it enters the channel etc. Using database queries, the REAM database can be accessed by the CE to gain knowledge of the present or past network conditions and identify correlations and trends. Component 4: Cognitive Engine The CE analyzes information from the REAM database and can alter operational parameters of the network such as channel, radiated power, or modulation scheme in order to improve one or more performance metrics. The CORAL platform offers a simple interface for users to develop and test their own CE algorithms in a real environment using C, C++, or Python. The proposed DCS scheme which will be described in Chapter 3 is one such cognitive engine which uses a subset of CORAL’s capabilities. In particular, the algorithm uses the platform’s ability to identify sources of interference and learn the network’s topology to estimate how different channel assignments would affect the network. The platform has many other controllable features that can be used to implement other advanced cognitive engines. Some of these features include: 2.4. LITERATURE SURVEY 23 • A scheduled Time Division Duplex (TDD) multiple-access mode in which client radios and access points are assigned slots of time within which the IEEE 802.11 contention-based protocol is executed without contention from other CORAL radio nodes. • Each radio has position location and accurate timing derived using GPS. • A non-GPS synchronization option is available allowing in-building use. • The CORAL devices are IP-addressable and can be configured as AP or client under the direct control of the CRNMS. • Channel number, radiated power, antenna directivity, data rate, scheduling of emissions and their direction, interference monitoring requests, and some IEEE 802.11 MAC/PHY functions are controllable via the CRNMS. • Each radio has the ability to control steerable antennas and direct radiated power based on the IP address or location. • A programmable Ethernet interface is provided with the radio that allows IP packet examination and implementation of data throttling, cognitive traffic shaping, and scheduling. 2.4 Literature Survey The simplest channel selection technique is to choose the channels during the network initialization and remain on these channels. To reduce interference seen by a networks users an extensive site survey is usually completed of the area to measure the interference signal levels. From these measurements a radio coverage map 2.4. LITERATURE SURVEY 24 is created and optimal channels are chosen to minimize the interference seen by the users. The authors in [40] describe the steps taken in a site survey and provide an integer optimization technique to use the radio coverage map and determine the best channels based on the interference seen by the APs. This technique depends a lot on the accuracy of the site survey and works well in networks with a slowly varying interference environment. For example, cellular networks operate on a licensed band which means no other interference sources will appear unless the company who owns the frequency band sets them up. Where the 2.4 GHz band is un-licensed which results in new interference appearing all the time, hence the reason for needing a DCS algorithm. One of the early concerns of DCS algorithms was the overhead that they would cause the network, especially with the already low capacity of IEEE 802.11b. The authors of [36] attempted to create a DCS technique that had no added overhead where each AP was assigned a unique sequence of channels that it hopped through over time. The sequences were set up to keep the APs that caused the most interference off the same channel. We believe this should not be classified as a DCS algorithm as it does not choose its channels based on the current network environment. Similarly to the static algorithm, it requires an extensive site survey to determine the channel hop schedule. The algorithm was proposed for WiFi which does not have any hand off protocols, thus every time the channel hopped it would cause the client to disconnect and associate again. This algorithm is not designed for a practical network and thus cannot be used. The most well known DCS algorithm for WiFi is Cisco’s Least Congested Channel Search (LCCS), which only uses the number of clients associated with each APs as 2.4. LITERATURE SURVEY 25 its only interference metric. It determines the number of associated clients on each channel by reading an extra header value that is added to the packets stating the APs number of clients. After collecting all the information it determines which channel has the least number of clients and changes to that channel. This algorithm is very simple, as shown in the flow chart in Figure 2.9, which makes it easy to implement on real scenarios, however it has the following drawbacks: 1. Cannot react to users outside own network. 2. Unable to classify different load conditions. 3. Incapable of classifying the importance of each AP. 4. Frequent long algorithm convergence time. The most substantial problem with LCCS is its inability to react to users outside its network. This is due to the designers choice to make a slight modification to the WiFi packet header resulting in packets from other networks to not have the necessary value in their packet. Hence, they are just seen as noise and are ignored. LCCS’s second major drawback is its inability to classify the load of the interference in its network. The algorithm makes the assumption that all interference clients have the same average throughput which allows them to just use the number of clients as a representation of the interference seen. The authors of [27] and [37] completed a field study showing the traffic statistics of urban and a university wireless network. Their results displayed many factors such as the time of day and location that affect the distribution of data sent by clients network. To produce the best results these wide range of users with different transmission habits must be treated differently. 2.4. LITERATURE SURVEY 26 Figure 2.9: LCCS Flow Chart. LCCS’s third drawback is that it is incapable of classifying the importance of APs when choosing the networks channels. To show the usefulness of AP importance classification lets propose an one cell network with a high density of intra-network interference. Due to the placement of the cell, two of the three APs can operate on an available channel, however one of them must operate on the same channel as another cell’s interference. If one of the APs does not have any clients, placing it on the interference channel will cause no interference to any users and will provide the other APs in the cell a higher degree of freedom when choosing channels. However, LCCS is not able to make this distinction shown in the simulation results in Section 4.1.2 and results in a poor channel change causing users to experience unnecessary interference. LCCS is designed for a distributed network with all devices working independently allowing for a more scalable algorithm with reduced overhead. This independence is a primary reason for LCCS’s problems with algorithm convergence. After an AP switches it channel it informs all the other APs on of its new channel and and then recalculates its metrics. However, if another AP switches channels before it hears the update it would have made its decision based on incorrect information. This can cause a ”ping pong” effect when a few APs switch back and forth between a few 2.4. LITERATURE SURVEY 27 channels shown in Section 4.1.2. Many authors [35], [30], [25], [4] have modified LCCS trying to solve these problems. The algorithm from [30] also added a header to the WiFi packets to know the number of clients on each channel but makes its channel decisions based on the throughput. However, they do not measure the throughput, they calculate it using the formula proposed in [9] which is solely based on the number of clients. This algorithm seems to be the same as the LCCS algorithm, scaled by a value. To reduce the number of channel changes the authors imposed a switching probability p < 1 and only if true does the algorithm actually switch channels which may work well in a practical implementation. Another approach to developing DCS algorithm is to use modified mathematical techniques to model a WiFi interference environment. For example, the authors of [24], [11], [15] used an adaptation of game theory to implement a the DCS algorithm. Game theory models strategic interactions among agents using incentive structures. By modeling dynamic spectrum sharing among network users as games, the networks users behaviors and actions can be analyzed into a formalized game structure, by which the theoretical achievements in game theory can be fully utilized. A game has three elements: the set of players, the strategy space for each player, and the payoff function, which measures the outcome of each player. For cognitive networks, the players are all network users, the strategy space for each user consists of various actions related to spectrum sharing (i.e., what channels a user can use, transmission power, time duration). The payoff function is dependent on the network users, for example the payoff function for selfish users describe their self-interests. In [11], the authors proposed a local bargaining method that is a strategy for one-to-one 2.4. LITERATURE SURVEY 28 bargaining which efficiently exchanges channels between two neighboring users with the product of the users throughput being considered the optimization goal. This algorithm was shown by the authors of [15] to choose suboptimal solutions. To find the optimal solutions the authors proposed a repeated game model in which a dynamic game scenario is created by playing similar static games multiple times. This allows users to make decisions conditioned on past moves and arrive at a more optimal solution. Although it may arrive at an optimal state, the amount of overhead required to complete multiple games will be very high reducing the scalability. A second mathematical approach is Reinforced Learning (RL) which can address many problems that arise when using game theory. Methods involving game theory has been shown to have poor convergence due to complex reward schemes. Game theory algorithms usually require large sets of information to compute their optimal state, resulting in a large overhead for the network. The most recognized RL approach is Q-learning [44] where each AP of the network is represented as a learning agent. At predefined time intervals, the agent observes the state and ensures its current channel is providing it with the highest potential reward. The reward is an objective function that is based on metrics such as throughput, delay, retransmission ratio, etc., that each have a weight based on their importance. The AP calculates the reward for all the channels and change channels if their current channel is not giving them the highest reward. Although this may sound great in theory, a lot of impractical assumptions were made. The first is how to determine throughput, delay, etc., on different channels? The proposed option was to “explore” and send test packets which may cause large amount of overhead. Also, if multiple APs are testing at the same time, it results 2.4. LITERATURE SURVEY 29 in incorrect information, thus some sort of synchronization is required. The authors of [49] proposed an RL algorithm that only lets one AP be in explore mode at a time preventing APs from having inaccurate information. However, in a fast varying network, the algorithm would not be able to react quick enough to the fluctuating network conditions. The authors also assume a standard AP will be used, thus when an AP is exploring all the clients will be disconnected and have to re-associate when it finishes. The RL algorithms are similar to game theory in their complexity which make them difficult to implement in a practical network, making these options an undesirable solution. The third mathematical model is graph theory proposed in [32], [34], [48], [20]. The basic idea for graph theory is each vertex of the graph represents an AP and the edges between the vertex symbolize interference seen between the APs. The algorithm proposed in [32] is based on the “degree of saturation” heuristic which has the goal to find the subset of vertices with the largest amount of different colored neighbored. To generate the graph, the AP listens for the other APs’ beacons and reads their MAC addresses and adds an edge between the APs. Unlike LCCS, the MAC address is included in the standard WiFi packet header, thus interference from outside the network can also be detected. The algorithm sends its information via the flooding technique to all other users of the network to ensure they are updated which will result in a large overhead. To help deal with the hidden terminal problem, an edge can be manually placed between two APs to ensure they are always on different channels. The “degree of saturation” metric proposed in [32] does not perform well when there is a limited number of channels which is the case in the ISM band. Since the 2.4. LITERATURE SURVEY 30 metric does not consider any performance metrics, it has trouble deciding between two APs that have the same degree of saturation. To solve this, the authors of [34] proposed weighted edges based on performance metrics to classify how important it is to ensure two APs are on different channels. This allows an array of objective functions that can be minimized in a variety of ways such as : 1. Minimize Highest Edge Weight: The APs with the highest weights have the top priority. This is a very selfish scheme that is not effective with networks where the interference is equally spread among the users. 2. Minimize the Number of Conflict Edges: This tries to minimize the total number of edges in the graph. This method is the simplest, but it does not utilize the edge weights, thus it does not model the network environment as closely as options 1 or 3. 3. Minimize the Sum of Weights: This tries to minimize the sum of the weights which is less selfish than option 1 since all APs are included in the weight. The authors in [32] based their edge weights on the number of clients associated with each AP, which suffered from a lot of the same problems as LCCS. The authors of [5] also used weighted edges but based their weights on the distance between the carrier frequency of two users. The algorithm assumes all 11 ISM channels are available for transmission and calculates its weight using (2.2), where Fi is the carrier frequency of APi and c is the overlapping channel factor which is the inverse of the number of overlapping channels. Using WiFi’s MHz signal bandwidth and the bandwidth of the 2.4 Ghz band, c = 15 . The authors also incorporated the transmission power Pj and path loss with distance di,j and exponent m into their edge weights 2.5. CONCLUSION 31 Ii,j shown in (2.3). The algorithm was extended in [6] to add load balancing and incorporated RSSI to distributed the clients evenly among the network. Similar to LCCS, this edge weight metric cannot detect idle APs and would not work well with the sectorized network due to the restriction of the non-overlapping channels. wi,j = 1 − |Fi − Fj | × c, if wi,j ≥ 0, 0, Ii,j = (2.2) otherwise, wi,j Pj P athLoss(di,j , m) (2.3) The proposed algorithm in this thesis is based on a weighted edge graph that is extended to include both users inside and outside a network. It also incorporates simple but effective metrics to model the network environment effectively while maintaining the ability to be implemented in a practical scenario. 2.5 Conclusion This chapter provided the reader with the necessary background on WiFi, ns-3 and CORAL to understand the rest of the thesis. It also explained why the IEEE 802.11b protocol was used over IEEE 802.11g or IEEE 802.11n. Finally, a literature survey was provided on the current work in DCS algorithm discussing the advantages and drawbacks of each method. 32 Chapter 3 Dynamic Channel Selection Algorithm This chapter presents a novel DCS algorithm which effectively detects the interference in a network and adapts the APs’ channels to improve throughput and spectrum efficiency. Section 3.1 provides a description of the algorithm and demonstrates how it can react to both intra-network and external interference. It also details the proposed tailoring factors that allow the algorithm to accommodate various types of network environments. Section 3.3 describes the improved version of the algorithm, DCS 2.0, which uses an improved edge weight to differentiate between idle and active clients. Finally, Section 3.4 classifies the channel selection problem as NP-hard (readers can refer to [33] for additional information on NP problems) and proposes a binary integer optimization method for solving it. 3.1 Dynamic Channel Selection Algorithm Let’s consider a network of n cells, with each cell having three CORAL APs. Let M = {M1 , M2 , . . . , Mn } and S = {S1 , S2 , . . . , S3n } be the set of all cells, and CORAL APs within the network, respectively. It is assumed that there are K non-overlapping 3.1. DYNAMIC CHANNEL SELECTION ALGORITHM 33 frequency channels available, indexed by K = {1, 2, . . . , K}. Due to the small distance between the three CORAL AP terminals in a cell and their slightly overlapping beam patterns, each terminal must be on a different non-overlapping channel to avoid excessive interference among the three APs. Having K non-overlapping channels, the number of distinct channel assignments possible for a cell will be equal to 3-permutations of K (i.e., K!/(K − 3)!). Let C denote the set of all such possible assignments and ci be the channel assigned to the ith sector in the network. The channel assignment of all n cells is then denoted as, → − C = {c1 , c2 , c3 }, {c4 , c5 , c6 }, . . . , {c3n−2 , c3n−1 , c3n } → − where {ci , ci+1 , ci+2 } ∈ C and C ∈ Cn In the 2.4GHz ISM band, the maximum number of non-overlapping channels is three (channels 1, 6, and 11) therefore, 6 different channel assignments are possible for each cell. Due to the unique channel restriction placed on APs in the same cell, the algorithm must determine channel assignments for 3-sector cells which is different from the single AP scenarios that have been dealt with in the past. Using Cell 1 in Figure 3.1 as an example, if CORAL 1 is operating on channel 1, and CORAL 2 is on channel 6, then CORAL 3 can only operate on channel 11. Figure 3.2 is a flowchart representation of the DCS algorithm. The algorithm begins at the start of every IRP and uses the information from the sensors to calculate the new edge weights. It then uses a forgetting function to average the new edge weights with the weights in the REAM database. The internal and external interference for all sectors are summed to determine the set of channels that results in the minimum total network weight. The minimum total weight is compared with 3.1. DYNAMIC CHANNEL SELECTION ALGORITHM 34 Figure 3.1: Topology of the two-cell sectorized WiFi system used for the CORAL field tests. the current value of total weight and if the difference is large enough the CRNMS will instruct the APs to change channels. The algorithm must react to two types of interference; the intra-network interference among CORAL cells (internal) and the interference from all other WiFi sources (external). To capture the impact of intra-network interference, for every channel c ∈ K, a weighted edge is generated between two sectors, Si and Sj , if the following two conditions are satisfied: 1. Sj and Si are not located in the same cell (if they are in the same cell they will be placed on non-overlapping channels anyway). 2. One of more packets from Sj are received by Si ’s sniffer radio on channel c. The interference edge weight between two sectors, Si and Sj , is then calculated as follows, Wi,j,c = RSSI i,j,c × Uj,c (3.1) 3.1. DYNAMIC CHANNEL SELECTION ALGORITHM 35 Figure 3.2: Flowchart depicting the steps of the proposed DCS algorithm. where RSSIi,j,c is the average RSSI of interference packets received from Sj at Si on channel c. Uj,c is defined as the average RF utilization of sector j on channel c which is the percentage of time spent by the radio transmitting data (including WiFi retransmissions, control, and management packets). Both values are measured and averaged over an IRP. The RSSI and RF utilization are used to represent the power of the interference source and its time-domain activity, respectively. It should be noted that Wi,j,c may be greater than zero even if Si and Sj are not operating on the same channel. This is due to the fact that the sniffer radio located at Si is actively monitoring all channels c ∈ K. This is important as it allows the algorithm to estimate the potential interference caused to Si if it was to be placed on the same channel as Sj . 3.1. DYNAMIC CHANNEL SELECTION ALGORITHM 36 The total external interference received at Si on channel c is lumped into a single interference weight as follows, 0 = Wi,c Li X 0 RSSI 0 i,l,c × Ul,c (3.2) l=1 0 0 where Li is the total number of interference sources seen by Si . RSSIi,l,c and Ul,c denote the average RSSI and utilization of lth external WiFi source on channel c, measured and averaged over an IRP by sector i’s sniffer. A linear combination of these factors was also considered, however this method resulted in invalid edge weights for many scenarios. For example, if an AP is idle its utilization will be approximately 0, however due to the periodic beacons, other APs in the network will report a RSSI > 0. Using a linear combination, even though the other APs are not experiencing interference, their edge weight would equal Wi,j,c = RSSI i,j,c . Using multiplication however, a zero unitization would result in Wi,j,c = 0, accurately modeling the interference seen by the other APs. Once the new internal and external interference edge weights are calculated according to (3.1) and (3.2), the entries in the REAM database need to be updated to reflect any changes. This involves balancing a tradeoff between the new weights from the current IRP on the one hand and the database entries representing past IRPs on the other. Therefore, to maintain the flexibility of the algorithm, the weights are updated in the REAM using 0 ≤ δ ≤ 1 as a forgetting factor to vary the significance of the new edge weights in comparison to the values currently in the REAM, Ri,j,c (n) = δ × Ri,j,c (n − 1) + (1 − δ) × Wi,j,c (n) 0 0 0 Ri,c (n) = δ × Ri,c (n − 1) + (1 − δ) × Wi,c (n) (3.3) 3.1. DYNAMIC CHANNEL SELECTION ALGORITHM 37 0 where n ∈ N is the IRP index, and Ri,j,c (n) and Ri,c (n) denote the internal and external interference edge weights of Si on channel c in the REAM at the end of the nth IRP. Increasing δ results in new interference data having a smaller influence on the weights in the REAM. This in turn leads to more stable weights in the database and fewer channel changes however, at the same time it reduces the algorithm’s sensitivity to rapid changes in the interference. Inversely, decreasing δ results in the algorithm being more responsive to rapid variations in the interference, but it may also lead to excessive channel changes which may be undesirable. Varying δ allows the sensitivity and stability of the DCS algorithm to be tailored to the underlying interference environment and operator-specific preferences. The effect of varying δ is discussed in more detail in Section 4.5.5. After the interference weights in the REAM are updated at the end of each IRP, the algorithm has to decide whether any channel changes are needed. To this end, → − for any possible channel assignment C , a network-wide total interference metric is defined and calculated as follows, X X → − → − 0 ∀ C ∈ Cn : I( C , n) = Ri,j,ci (n) + Ri,c (n) i − → i,j,ci ∈ C (3.4) − → i,ci ∈ C → − where ci ∈ C ensures that only the edge weights corresponding to the actual channel assigned to Si would be considered. The DCS problem is then reduced to finding → − the channel assignment, C min , which would result in the minimum total interference metric, → − → − C min = arg min I( C , n) − → (3.5) C When an AP changes its channel it results in extra overhead caused by the clients 3.2. SELECTING TAILORING FACTORS 38 having to re-associate to the AP. Therefore, it may not be worth changing channels if → − the expected reduction in the interference metric via switching to C min is relatively small. Therefore, the following condition must be satisfied before the DCS algorithm changes the channels, → − → − I( C cur , n) − I( C min , n) >β → − I( C cur , n) (3.6) The condition in (3.6) compares the total interference metric resulting from current → − channel assignment, I( C cur , n), with the minimum and if the relative decrease is not larger than 0 ≤ β ≤ 1 then the algorithm will not switch channels. Similar to δ, the value of β can be adjusted by the network operator to tailor the DCS algorithm to its network. As shown in Chapter 4, with the addition of the external interference and tailoring factors the algorithm outperforms CISCO’s LCCS algorithm. 3.2 Selecting Tailoring Factors The current method of selecting the tailoring factors is to run preliminary tests with a variety of settings and choose the factors that perform the best. Large factor values are suggested to reduce the frequency of unnecessary channel changes since each channel change requires the clients to re-associated with the APs. A more optimized method of determining these values is an avenue for future work and is discussed in Section 5. 3.3 Improved DCS 2.0 During the field testing, the (3.1) edge weight caused the DCS algorithm to make a few sub-optimal channel decisions due to its lack of traffic awareness. For example, 3.3. IMPROVED DCS 2.0 39 Figure 3.3: Visual representation of a network showing the advantage of incorporating the load into the weights for DCS 2.0 the network in Figure 3.3 has three APs (circles) with the number inside each circle representing the number of clients associated with the AP. The triangles are outside interferences and the colors of the shapes represent the channel. The top AP and all outside interferences are on the same channel, which will be assumed to be channel 11. The original edge weight equation (3.1) will determine which APs are experiencing the most interference and keep them off channel 11. If the top AP is experiencing the most interference it will change its channel and force one of the other APs onto channel 11. This is not the optimal solution since the top AP has no clients, thus even if it is experiencing a large amount of interference, no clients are being affected. To detect this scenario and choose the optimal channel, traffic awareness was integrated into the edge weights. A large majority of traffic awareness algorithms assume that all interference sources are in the same network, allowing more detailed network information to be used (e.g., transmit queue size) [22]. Since the algorithm goal is to detect both intra-network and external interference this assumption was unacceptable. The authors of [42] proposed a demand model which used the load of receiving and sending APs to provide the traffic awareness. Integrating the receiving AP’s load, Di , into the internal and 3.4. NP PROBLEM SOLVING ALGORITHMS 40 external edge weights seen in (3.7) and (3.8), respectively, provided the algorithm with the needed traffic awareness. Using the sending AP’s load required information about all sending APs, which is not available for devices outside the network. The load of the receiving AP was simple enough for practical implementation and allowed the weights to distinguish between active clients and non-active clients. As an AP’s load increases all of its edge weights would also increase giving higher priority to APs with more traffic. It also sets the edge weights of APs with no clients to zero to provide a greater degree of freedom to APs having clients. Wi,j,c = RSSI i,j,c × Uj,c × Di 0 Wi,c = Li X 0 RSSI 0 i,l,c × Ul,c × Di (3.7) (3.8) l=1 Figure 3.4 is a simulation using ns-3 of the network in Figure 3.3 with the specifications of the test shown in Table 3.1. The interference was enabled at 250s and DCS 2.0 did not change channels at the next IRP (260s) which resulted in the downlink throughput to return to its normal value. The original DCS could not detect the different loads, thus switched its channels resulting in a suboptimal state and causing a 3 Mbps decrease to the throughput. 3.4 NP Problem Solving Algorithms → − The problem of finding the optimal channel assignment, C min , described in Section 3.1 is NP hard as shown below. Theorem: Solving (3.5) is an NP hard problem. 3.4. NP PROBLEM SOLVING ALGORITHMS 41 Table 3.1: Specifications for improved DCS test AP0 AP1 AP2 Number of Clients 5 5 0 Downlink Data Rate 5 Mbps 5 Mbps 0 Mbps Downlink Data Rate 1 Mbps 1 Mbps 0 Mbps Initial Channels 1 6 11 DCS 260s Channels 11 6 1 DCS 2.0 260s Channels 1 6 11 7.5 7 6.5 Interference Enabled Mbit/s 6 5.5 DCS 2.0 Switched Channels 5 4.5 4 3.5 3 0 50 100 150 200 250 Time 300 350 400 DCS 2.0 DCS 450 500 Figure 3.4: Total throughput the network represented by Figure 3.3 comparing the original DCS and DCS 2.0 (external interference enabled at 250s) Proof: Consider a graph G = (M, E) where E is the set of edges in a graph of n cells, and a weight function Γ : E → [0, +∞). Note that each edge e between two cells represents all links between their respective APs and its edge weight is the sum of the APs edge weights. Let D : M → {1, . . . , p} denote the p-coloring (readers can refer to [23] for additional information on graph coloring) of G. We only need to show that a p-coloring D : m → {1, . . . , p}, such that ∀e = (mi , mj ) ∈ E ⇒ D(mi ) 6= D(mj ) 3.4. NP PROBLEM SOLVING ALGORITHMS 42 does not exist. If we set all edge weights to one, we can formulate this as a min-sum coloring problem. A min-sum coloring problems objective is to minimize the sum of → − edge between the cells. Recall C min is the solution to the min-sum problem in (3.5). → − It can be seen that I( C min , t) = 0 if and only if G has a p-coloring. The proof is complete since the general graph coloring problem is NP hard. To solve the NP hard problem a binary integer optimization was developed. The two optimization variables are shown in (3.9). αi,k,j,p is determined using the relation in (3.10) where Cj,p,q is the channel of AP p in cell j operating on channel q. ρ= α for i = 0, ..., 3 ; k = Ni,0 , Ni,1 , Ni,2 ; j = i, ..., 4 ; p = Nj,0 , Nj,1 , Nj,2 Ci,k,q for i = 0, ..., 3 ; k = Ni,0 , Ni,1 , Ni,2 ; q = 0, ..., 2. i,k,j,p (3.9) αi,k,j,p = 1 if Ci,k,q = Cj,p,q for q = 1, 6, 11. (3.10) 0 otherwise. The objective function is a summation of αi,k,j,p variables multiplied by their respective edge weight, Wi,k,j,p . The constraints (3.12) and (3.13) ensure each cell only has one AP operating on each channel and each AP can only operate on a single channel, respectively. The constraints (3.14) and (3.15) enforce the relationship seen in (3.10). (3.16) and (3.17) constrain the optimization variables to either 1 or 0 and (3.18) sets M to a large N. 3.4. NP PROBLEM SOLVING ALGORITHMS minimize ρ 3 X 4 X X X Wi,k,j,p αi,k,j,p 43 (3.11) i=0 k=Ni,0 ,Ni,1 ,Ni,2 j>i p=Nj,0 ,Nj,1 ,Nj,2 X subject to Ci,k,q = 1∀i, t (3.12) k=Ni,0 ,Ni,1 ,Ni,2 2 X Ci,k,q = 1∀i, k (3.13) t=0 − M (1 − αi,k,j,p ) ≤ |Ci,k,q − Cj,p,q | ≤ M (1 − αi,k,j,p ) (3.14) αi,k,j,p − 1 − |(Ci,k,q + Cj,p,q )| = −2 (3.15) Ci,k,q , Cj,p,q ∈ {0, 1} (3.16) αi,k,j,p ∈ {0, 1} (3.17) M = 1000 (3.18) The binary optimization was solved using IBM’s ILOG CPLEX software which uses advanced heuristics (i.e., Relaxed Induced Neighborhood Search [13], Solution Polishing [41] and Feasibility Pump [3]) to find optimal solutions to linear optimization problems. The solutions of the optimization problem were compared to an ideal method (brute force) that looks at all channel permutations and finds the channel set with the minimum edge weight. Both methods decided upon the same optimal channel set showing the effectiveness of the proposed integer optimization. The brute force method has a complexity of O(6n ) [39] where n is the number of cells in the network and 6 represents the number of channel permutations for a cell. This exponential complexity shows the unscalable nature of the brute force method (i.e., if a network has 10 cells, then the algorithm must compare 60 million different 3.5. CONCLUSION 44 channel sets). The proposed integer optimization, in its worst case, will have the same complexity as the brute force method, however on average it will not compare all the channel permutations [14] and outperforms the brute force [43]. As mentioned above, many optimization solvers also use advanced heuristics to improve the speed of finding a solution, thus further decreasing the complexity and improving the performance of the proposed integer optimization. Given the relatively small scale of the target deployment (5 cells) and the simplicity of implementing the brute force method in C++, it was employed to identify the optimal channel set for the network. For larger networks, the integer optimization should be used to provide the scalability required to solve a large NP hard problem. 3.5 Conclusion This chapter described the proposed DCS algorithm’s system model showing its ability to react to both internal and external interference as well as outlined the operation of the tailoring factors to improve the algorithm’s flexibility. The problem of finding the optimal channels was shown to be NP-hard and was formulated as a binary integer optimization problem for which effective heuristic solutions exist (i.e., Relaxed Induced Neighborhood Search [13], Solution Polishing [41] and Feasibility Pump [3]). 45 Chapter 4 DCS Algorithm Implementation and Testing This chapter presents the results from the extensive testing of the DCS algorithm. The algorithm performed well in both the networking simulator, ns-3, and the practical implementation using CORAL units in Ottawa, Ontario. The field test results were presented at IEEE ICC 2014 [31] with positive feedback from the attendees and the simulation results show the algorithm’s ability to outperform the state of the art LCCS algorithm. This chapter begins with the simulation results and then discusses the field test results from the CORAL implementation. 4.1 ns-3 Network Simulator ns-3 is a discrete-event network simulator, which is targeted primarily for research and educational use. It is an open source program that is maintained by the community and is updated with new content and simulation tools every three months. The software encourages the development of simulation models which using a realtime network emulator to simulate many existing networking protocols. More information about the simulator can be found at www.nsnam.org. 4.1. NS-3 NETWORK SIMULATOR 4.1.1 46 Implementation Specifications ns-3 has great scalability characteristics and allows implementation of many WiFi protocols making it a great choice to implement the proposed algorithm. However, due to the unique nature of CORAL’s antennas, there was no protocol implemented for directional WiFi antennas. To solve this problem an external directional antenna WiFi model [38] was used in combination with a widely used rate control algorithm, AarfWiFi manager [28]. Unless specified otherwise, all simulations were run for 800s and used the IEEE 802.11b protocol which was also used in the field tests described in Section 4.5. The network consisted of 15 static APs placed in the locations shown in Figure 4.1. The APs were grouped into 5 cells with the outside cells located d meters away from each other. The algorithm’s tailoring factors were set to δ = 0.8 and β = 0.15 with an IRP of 20s and the transmission power of all the nodes was set to 15 dBm. The clients and external interference were randomly placed 20m-90m and 50m-70m away from the APs respectively within the azimuth beamwidth of beamwidth of π 2 2π 3 rad and elevation rad. The external interference downlink and uplink rates were 2 Mbps and 1 Mbps, respectively. The network’s APs data rates were chosen randomly between 0 to 6 Mbps on the downlink and 0 to 1.8 Mbps on the uplink. To generate more realistic traffic patterns an on-off application was used that chose the duration of the on and off times using an exponential distribution with a rate parameter λ = 2. This on-off application is the reason for the variation in the throughput seen in the throughput plots. AP beacons were used to associate each client with the closest AP. A summary of the simulation specifications can be found in Table 4.1. 4.1. NS-3 NETWORK SIMULATOR 47 Table 4.1: ns-3 simulation specifications Specification Value WiFi Protocol IEEE 802.11b d 300m δ 0.8 β 0.15 IRP 20s Transmission Power 15 dBm Client Radius 20m-90m Interference Radius 50m-70m Azimuth Beamwidth 2π 3 rad Elevation Beamwidth π 2 rad Inside Antenna Gain 5 Dbi Outside Antenna Gain -1000 Dbi External Interference Downlink Rate 2 Mbps External Interference Uplink Rate 1 Mbps AP Downlink Rate 0 to 4 Mbps AP Uplink Rate 0 to 1.8 Mbps Transmission On Time exponential(λ = 2) Transmission Off Time exponential(λ = 2) Client Association Method AP Beacons Transport Protocol UDP Simulation Duration 800 sec 4.1. NS-3 NETWORK SIMULATOR 48 Figure 4.1: Visual representation of network used for ns-3 simulations 4.1.2 LCCS Results As described in the literature survey in Section 2.4, the most commonly used DCS algorithm is CISCO’s LCCS. One of its substantial disadvantages is its inability to detect interference outside its own network. The importance of being able to detect external interference sources is shown in Figure 4.2 where the downlink throughput of a single AP with five clients is plotted. An external interferer was introduced on the same channel as the AP at 250s causing a large amount of interference to the AP. The proposed DCS algorithm was able to detect this interference and switch to one of the vacant non-overlapping channels, resulting in the network throughput returning to its nominal value. LCCS however did not switch the channel as it could not detect the external interference and therefore the AP suffered a 1.2 Mbps decrease in its average downlink throughput. Another problem with the LCCS is its impractical assumption that all clients in a network have the same load. To show the impact of this assumption a simulation 4.1. NS-3 NETWORK SIMULATOR 3.2 3 49 LCCS DCS 2.8 Mbit/s 2.6 Interference Enabled 2.4 2.2 DCS Channel Switch 2 1.8 1.6 0 50 100 150 200 250 Time (s) 300 350 400 450 500 Figure 4.2: Downlink throughput of a 1 AP, 5 clients network with an external interferences source enabled at 250s. Proposed algorithm outperforms CISCO’s LCCS. was designed with a single AP with 5 clients and three interfering external APs operating on channel 1,6 and 11 respectively. The three interference APs have the same number of clients, but different loads. Since all channels were experiencing interference, an effective DCS algorithm should choose the channel with the least amount of interference. At 250s the interference was activated and LCCS could not distinguish the different loads and viewed all the channels as having equal interference, hence it did not change channels. DCS 2.0 on the other hand detected the different loads and changed the channel allocation, increasing the throughput of the network. LCCS also suffers from an inability to converge in CORAL centralized network. Figure 4.4 is the total throughput of a 15-AP simulation with 28 associated clients. Since LCCS was designed for a distributed network, the APs do not inform each other when they are switching channels. This could result in two nearby APs who are interfering with each other to switch to the same channel repeatedly. This can 4.1. NS-3 NETWORK SIMULATOR 50 3.2 LCCS DCS 3 2.8 Mbit/s 2.6 2.4 Interference Enabled 2.2 2 1.8 DCS Switched Channels 1.6 1.4 0 50 100 150 200 250 Time (s) 300 350 400 450 500 Figure 4.3: Downlink throughput of a 1 AP, 5 clients network with 3 external interferences sources being enabled at 250s. Proposed algorithm outperforms CISCO’s LCCS. result in the algorithm never converging as shown in Figure 4.4. This problem is not as apparent in non-CORAL networks since APs can switch their channels at any time, not just at the end of an IRP. To provide a fair comparison between LCCS and the proposed DCS algorithm a centralized LCCS algorithm was developed. This modified LCCS algorithm takes advantage of the centralized nature of CORAL by choosing the channel set that minimizes the sum of interfering AP’s clients seen by the entire network, compared to each AP separately. This modification, referred to as C-LCCS hereafter, mitigates the convergence problem of LCCS in centralized networks as indicated in Figure 4.4. 4.2. TAILORING FACTORS 7.5 51 C−LCCS DCS LCCS 7 Mbit/s 6.5 6 5.5 5 0 50 100 150 200 250 Time (s) 300 350 400 450 500 Figure 4.4: Total throughput for network of Figure 4.1 showing the long convergence time of standard LCCS in a centralized network 4.2 Tailoring Factors The algorithm was designed with a number of tailoring factors to accommodate various network interference environments. The first factor, δ, controls the importance of new vs. old data in the REAM database. Figure 4.5 displays the number of channel changes for different δ values in a 5-cell network with 11 external interference sources being randomly added throughout the duration of the simulation. As the δ value decreases the new data has less impact over the edge weights thereby causing a decrease in the number of channel changes. Figure 4.6 shows the downlink throughput between 600s and 1000s for the same tests and as it can be seen δ = 0.90 performs the best. The smaller δ performs poorly due to the excessive overhead of changing channels caused by the volatile network environment. The second tailoring factor, β, ensures the relative decrease of the total edge 4.2. TAILORING FACTORS 16 Total Channel Changes 14 52 δ=0.1 δ=0.5 δ=0.9 12 10 8 6 4 2 0 0 100 200 300 400 500 IRP 600 700 800 900 1000 Figure 4.5: Number of channel changes for varying δ values 7.5 δ = 0.1 δ = 0.5 δ = 0.9 7 Mbit/s 6.5 6 5.5 5 4.5 600 650 700 750 800 Time (s) 850 900 950 1000 Figure 4.6: Downlink throughput for varying δ values between 600s-1000s 4.2. TAILORING FACTORS 7 Total Channel Changes 6 53 β=0.05 β=0.55 β=0.95 5 4 3 2 1 0 0 100 200 300 400 500 IRPs 600 700 800 900 1000 Figure 4.7: Number of channel changes for varying β values weights is enough to justify a channel change. β was added to prevent unnecessary channel changes as having too many channel changes results in decreased throughput due to re-associations and poor quality of service for the applications. As β increases, a higher relative decrease is needed to rationalize a channel change. Figure 4.7 shows the number of channel changes with varying β values for a network similar to the one used for testing the effect of δ however with 3 less external interference sources. A β = 0.95 resulted in a total of four channel changes while a β = 0.05 had seven, showing the ability of β to reduce or increase the number of channel changes. Figure 4.8 shows the downlink throughput for the different β values. There was not a clear best option in this case since the weights increase and decrease by quite large amounts resulting in similar number of channel changes. A network with a wider variety of interference sources leads to more subtle changes in the edge weights resulting in a larger deviation in throughput with different β values. The final tailoring factor is the IRP, which is the most direct method of reducing or 4.2. TAILORING FACTORS 54 13 β = 0.05 β = 0.55 β = 0.95 12.5 Mbit/s 12 11.5 11 10.5 10 9.5 600 650 700 750 800 Time (s) 850 900 950 1000 Figure 4.8: Downlink throughput for varying β values between 600s-1000s increasing the number of channel changes by controlling how frequently the algorithm re-evaluates the channel assignments. Figure 4.9 shows the number of channel changes for varying IRP values in a very volatile network environment which consisted of 15 external interferers randomly enabled between 20s-500s. With an IRP = 5s the algorithm was able to react quickly to all the interference sources, however the high δ value countered the effect of the low IRP. The high δ caused the edge weights to not update fast enough to provide accurate edge weights every 5 seconds. This is shown by the gradual drop in throughput for this test in Figure 4.10. The IRPs of 65s and 105s performed very similarly, taking around 100s150s to choose the initial optimal set of channels. Due to the highly volatile network they also suffered from their edge weights not updating fast enough, which is the reason for the decrease in throughput at 250s. After all interference sources were activated, the algorithm was able to stabilize to an optimal set of channels at 400s. Thus, when varying the IRP one must consider both the volatility of the network and 4.2. TAILORING FACTORS 10 9 Total Channel Changes 8 55 IRP=5s IRP=65s IRP=105s IRP=200s 7 6 5 4 3 2 1 0 0 50 100 150 200 250 Time (s) 300 350 400 450 500 Figure 4.9: Number of channel changes for various IRP values 18 IRP = 5s IRP = 65s IRP = 105s IRP = 200s 17 16 15 Mbit/s 14 13 12 11 10 9 8 0 50 100 150 200 250 Time (s) 300 350 400 450 500 Figure 4.10: Downlink throughput for varying IRP δ value to tailor the algorithm to the network. The large IRP of 200s worked well for the first IRP (i.e., after the first 200s) due to empty REAM data base and the large amount of new edge weights to make its 4.3. 5-CELL SIMULATIONS USING NS-3 56 decisions on. However, at 400s the large δ prevented the new interference sources from properly being represented in the edge weights due to the focus on the old data. This resulted in a suboptimal channel set and decreased throughput at 400s. One of the major problems with a large IRP is that once a poor channel set has been chosen the network will remain on that channel set till the next IRP, thus causing clients to experience large amount of interference for a prolonged period. A method of counteracting this would be to incorporate feedback into the algorithm after each channel change to return the network to its original channels if the new channels results in poor performance for the clients. In conclusion, the tailoring factors are used to adapt the algorithm to a variety of network environments. Varying the δ allows the user to modify the importance of new and old data and β allows the reduction of unnecessary channel changes. The simulations showed IRP’s dependance on δ to ensure the edge weight update time is compatible with a large or small IRP. Chapter 5 discusses dynamic tailoring factors that fluctuate based on the current network environment to further improve the dynamic nature of the algorithm. 4.3 5-Cell simulations using ns-3 This section focuses on simulations with 5 cells as shown in Figure 4.1 and a large number of clients and external interferers. The proposed algorithm will be compared with a static algorithm in which the channels remain the same for the duration of the test as well as the C-LCCS described in Section 4.2. As described in the Section 4.1.1 the variations in the throughput is due to the on-off times being random variables. 4.3. 5-CELL SIMULATIONS USING NS-3 57 Figure 4.11: Legend for network representations To portray the network environment for each simulation a simple visual aid showing the initial setup of the network has been developed. Figure 4.11 is a legend showing all aspects of the visual aid; circles represent APs with their respective number of clients written inside, triangles represent external interferers consisting of a single AP and client and shade of each shape represents the channel that the node is operating on. 4.3.1 Test 1 - Small Number of External Interference Sources Test 1 uses the network setup shown in Figure 4.12 which only has five external interference sources. The number of clients per AP is randomly chosen and the APs’ data rates are presented in Table B.1. In Test 1.A all the interference sources were enabled at time 500s allowing for an easier analysis of the impact of the interference. The total throughput is shown in Figure 4.13. The network begins in an optimal state in terms of internal interference which is the reason that C-LCCS does not change the channel assignments. DCS 2.0 changes its channels at 520s to the channels shown in column 3 of Table 4.2. The new channels show that the algorithm is able to detect all the external interference and to change the channels resulting in better throughput than both the C-LCCS and the static case. This test was also an example of DCS 2.0’s ability to detect 4.3. 5-CELL SIMULATIONS USING NS-3 58 Figure 4.12: Visual representation of network for Test 1 (Small number of external interference sources) 27 26 All Interference Enabled Mbit/s 25 24 23 DCS Channel Switch 22 21 20 0 C−LCCS DCS 2.0 Static 100 200 300 400 Time (s) 500 600 700 800 Figure 4.13: Total throughput for Test 1.A (Small number of external interference sources all enabled at 500s) 4.3. 5-CELL SIMULATIONS USING NS-3 59 Table 4.2: DCS 2.0 channel changes at 520s for Test 1.A Access Point Initial Channel New Channel 0 1 1 1 6 11 2 11 6 3 1 1 4 6 6 5 11 11 6 1 11 7 6 6 8 11 1 9 1 11 10 6 6 11 11 1 12 1 11 13 6 6 14 11 1 inactive clients. AP3 has three inactive clients (all having zero data rates) and the algorithm keeps its current channel to allow AP5 and AP7 more flexibility on their channel selection since they are experiencing high intra-network interference. Test 1.B has the same network setup as the previous test however unlike Test 1.A the interference is randomly enabled throughout the simulation. The total throughput is shown in Figure 4.14. i1 and i2 are turned on at 100s and 200s respectively, however since their closest APs do not have any active clients they do not cause any major 4.3. 5-CELL SIMULATIONS USING NS-3 60 28 27 26 Mbit/s 25 24 23 22 21 20 0 C−LCCS DCS 2.0 Static 100 200 300 400 Time (s) 500 600 700 800 Figure 4.14: Total throughput for Test 1.B (Small number of external interference sources enabled between 0-700s) interference to the network. After activating i3 at 300s, the DCS algorithm reacts by switching the channels of Cells 1, 2 and 4 to reduce both new external interference and the intra-network interference caused by the channel changes. When the two other external interference sources are enabled the algorithm updates its edge weights and adapts its channels resulting in a 2 Mbps improvement over C-LCCS. 4.3.2 Test 2 - Medium Number of External Interference Sources Test 2 uses the same initial channel set up and data rates as Test 1 which can be found in Table B.1, however with an increased number of external interference sources as shown in Figure 4.15. Figure 4.16 shows the total throughput for Test 2.A where all the external interference sources are activated at 500s. Similarly to Test 1 the network starts on the most optimal intra-network channel set, which explains C-LCCS’ lack of channel 4.3. 5-CELL SIMULATIONS USING NS-3 61 Figure 4.15: Visual representation of network for Test 2 (Medium number of external interference sources) changes. At 520s DCS 2.0 changes its channels to mitigate the impact of new external interference. Channels chosen by the algorithm are shown in column 3 of Table 4.3. DCS 2.0 detects all the external interference and switchs the APs channels to reduce the external and intra-network interference accordingly. Inspecting the results, one may argue that AP9 must not have remained on channel 1 as there is a nearby external interferer on the same channel. However, due to the random position of the nodes, an interference source on channel 11 is causing AP9 more interference than the interferer on channel 1. Thus, due to a combination of the large external interference on channel 11 and AP10 ’s large interference on channel 6, channel 1 was the best choice for AP9 . Test 2.B uses the same set up as Test 2.A however the external interferers are enabled periodically throughout the simulation. Figure 4.17 displays the total throughput of the network for the three tests. With the increase in the number of interference sources, DCS 2.0 has to switch channels more frequently causing excessive overhead. 4.3. 5-CELL SIMULATIONS USING NS-3 62 27 C−LCCS DCS 2.0 Static All Interference Enabled 26 Mbit/s 25 24 DCS Channel Switch 23 22 21 20 0 100 200 300 400 Time (s) 500 600 700 800 Figure 4.16: Total throughput for Test 2.A (Medium number of external interference sources all enabled at 500s) This can be solved by varying the tailoring factors to reduce the number of channel changes. At 700s the algorithm stabilizes and chooses an optimal channel set resulting in a 6 Mbps throughput gain over the other two algorithms. 4.3.3 Test 3 - High Number of Interference Sources Test 3 uses a large number of external interference sources as shown in Figure 4.18. The initial channels for Cell 0 and 1 differ from those in Test 1 and 2 but the data rates and number of clients remain the same. Figure 4.19 shows the total throughput for Test 3.A where all the outside interferes are activated at 500s. DCS 2.0 and C-LCCS both change their channels at the end of the first IRP (20s) to the initial channels from Test 1 and 2, as this channel set provides the least amount of intra-network interference. This results in the static algorithm having a slightly higher throughput due to the hidden terminal problem. AP2 and AP5 cause AP14 and AP11 to drop a 4.3. 5-CELL SIMULATIONS USING NS-3 63 27 26 25 Mbit/s 24 23 22 21 20 19 18 0 C−LCCS DCS 2.0 Static 100 200 300 400 Time (s) 500 600 700 800 Figure 4.17: Total throughput for Test 2.B (Medium number of external interference sources enabled between 0-700s) Figure 4.18: Visual representation of network for Test 3 (Large number of external interference sources) 4.3. 5-CELL SIMULATIONS USING NS-3 64 Table 4.3: DCS 2.0 channel changes at 520s for Test 2.A Access Point Initial Channel New Channel 0 1 6 1 6 1 2 11 11 3 1 6 4 6 11 5 11 1 6 1 1 7 6 11 8 11 6 9 1 1 10 6 11 11 11 6 12 1 6 13 6 1 14 11 11 large amount of their packets since AP14 and AP11 cannot sense AP2 and AP5 packets while their clients are still being affected. There is no weight between the APs since the edge weights only consider APs, so the interference cannot be accounted for in the edge weights and the algorithms place the network on a sub-optimal channel set. This can be fixed by using the RTS/CTS handshaking mechanism, however this will result in large amount of overhead thereby decreasing the algorithm practicality. A more practical solution is to complete a site survey before choosing the locations of 4.3. 5-CELL SIMULATIONS USING NS-3 65 28 C−LCCS DCS 2.0 Static 26 24 Mbit/s 22 20 18 16 14 12 0 100 200 300 400 Time (s) 500 600 700 800 Figure 4.19: Total throughput for Test 3.A (Large number of external interference sources all enabled at 500s) the cells to avoid having APs pointed towards the back of other APs where possible. Unlike the previous two tests, the algorithm makes 5 channel changes after 500s due to the very long network stabilization caused by the large number of sources appearing at once. DCS 2.0 again suffers from the hidden terminal problem until 680s at which time the algorithm switches AP2 ,AP14 and AP5 ,AP11 onto different channels and as a result the throughput of the network is increased by 4 Mbps. This shows the impact of the hidden terminal problem and solidifies the importance of a proper site survey when setting up CORAL cells. Figure 4.20 shows the total network throughput for Test 3.B, where the interference sources are enabled throughout the simulation duration. DCS 2.0 switches the channels 10 times, whereas C-LCCS only switches once at 20s. Initially DCS 2.0 suffers from the hidden terminal problem again, but this issue is resolved by 340s with a channel change and the algorithm delivers operated on average 2 Mbps higher 4.3. 5-CELL SIMULATIONS USING NS-3 66 Table 4.4: DCS 2.0 channel changes at 680s for Test 3.A Access Point Initial Channel New Channel 0 1 6 1 6 1 2 11 11 3 1 6 4 6 11 5 11 1 6 1 1 7 6 6 8 11 11 9 1 6 10 6 1 11 11 11 12 1 1 13 6 11 14 11 6 throughput than both static and C-LCCS. 4.3.4 Test 4 - Original DCS vs. DCS 2.0 Section 3.3 described the updated algorithm, DCS 2.0, and its ability to incorporate the data rate of the APs into the edge weights. This test shows the improvement traffic awareness adds the the performance of the algorithm. Figure 4.21 shows a representation of the network for Test 4 where all the external interference are activated 4.3. 5-CELL SIMULATIONS USING NS-3 67 26 C−LCCS DCS 2.0 Static 24 Mbit/s 22 20 18 16 14 0 100 200 300 400 Time (s) 500 600 700 800 Figure 4.20: Total throughput for Test 3.B (Large number of external interference sources enabled between 0-700s) at 500s. The total network throughput is plotted in Figure 4.22 which shows DCS 2.0 achieving 3 Mbps higher throughput than C-LCCS, the original DCS and the static case once the interference is active. The most important channel change for DCS 2.0 and the original DCS occurs when the algorithm has stabilized (560s), as shown in Table 4.5. The main difference between the two algorithms is how they deal with AP9 , since it has no active clients. The original DCS does not detect the load of APs therefore it places AP10 on channel 6 and AP9 on channel 1. AP10 is now suffering from the interference and since it has a large load (2 Mbps) the throughput decreases. DCS 2.0 is able to differentiate APs based on their load, thus it places AP9 on channel 6, allowing AP10 and AP11 to experience no interference thereby achieving the best overall throughput. 4.3. 5-CELL SIMULATIONS USING NS-3 68 Figure 4.21: Visual representation of network for Test 4 (original DCS vs. DCS 2.0) 12 11.5 11 Mbit/s 10.5 10 9.5 9 8.5 8 7.5 0 C−LCCS DCS 2.0 Static DCS 100 200 300 400 Time (s) 500 600 700 800 Figure 4.22: Total throughput for Test 4 (original DCS vs. DCS 2.0 with all external interference enabled at 500s) 4.3. 5-CELL SIMULATIONS USING NS-3 69 Table 4.5: Original DCS and DCS 2.0 channel changes at 560s 4.3.5 Access Point Original DCS DCS 2.0 0 6 6 1 1 1 2 11 11 3 11 6 4 1 1 5 6 11 6 6 1 7 1 6 8 11 11 9 1 6 10 6 1 11 11 11 12 1 6 13 6 1 14 11 11 Test 5 - Voice Over Internet Protocol (VOIP) ns-3 uses an on-off application to model traffic generation using an exponential distribution to determine the on/off duration. For Tests 1-4 the on and off times were both modelled using an exponentially distributed random variable with a mean of 0.5. The authors of [21] showed that a user could model VOIP traffic using the following on-off specifications: 4.3. 5-CELL SIMULATIONS USING NS-3 70 Figure 4.23: Visual representation of network for Test 5 (VOIP traffic) • On-Time = Exponential distribution with rate parameter λ = 2.84 • Off-Time = Exponential distribution with rate parameter λ = 1.53 Test 5 uses the network setup shown in Figure 4.23 and data rates in Table B.3 and demonstrates DCS 2.0’s compatibility with networks having VOIP traffic. Figure 4.24 shows the total network throughput for Test 5 where DCS 2.0 achieves a 2 Mbps throughput gain over C-LCCS and the static case. The large variance of the throughput is caused by the difference in the on-off times and is not caused by frequent channel changes, as DCS 2.0 only changed its channels during the first two IRPs (20s, 40s). Having no other channel changes after 40s is an advantage for DCS 2.0 as switching the channel can interrupt a user’s VOIP call. 4.3.6 Test 6 - IEEE 802.11g Recall from Section 2.2, the IEEE 802.11g/n protocol was not used due to the adjacent channel leakage problems when using the OFDM modulation scheme. ns-3’s 4.3. 5-CELL SIMULATIONS USING NS-3 71 14 13.5 13 12.5 Mbit/s 12 11.5 11 10.5 10 9.5 9 0 100 200 300 400 Time (s) 500 600 C−LCCS DCS 2.0 Static 700 800 Figure 4.24: Total throughput for Test 5 (VOIP traffic with external interference sources being enabled between 0-700s) current WiFi model cannot simulate signal leakage into adjacent channels, allowing the algorithm to be tested with the IEEE 802.11g protocol. Figure 4.25 shows the network setup used for this test with the data rates displayed in Table B.4. Eight external interference sources become active throughout the simulation, and since CLCCS is unable to detect external interference it suffers from a 3 Mbps decrease in throughput relative to the DCS 2.0 as shown in Figure 4.26. This decrease is caused by C-LCCS’s poor channel choices for Cells 3 and 4. In Cell 3 all the APs were experiencing interference on channel 6 however C-LCCS could not detect this and made a poor channel decision by placing the AP with the highest data rate (AP10 ) on channel 6. C-LCCS also did not detect i9 and the places the AP with the second highest data rate (AP14 ) on this interferers channel. DCS 2.0 placed AP9 on channel 6 since it has no clients, and AP14 on channel 1, allowing the two APs with the highest traffic to experience very little interference. 4.4. NUMBER OF CHANNEL SETS 72 Figure 4.25: Visual representation of network for Test 6 (IEEE 802.11g network) DCS 2.0 can be used in any IEEE 802.11 protocol that operates on the 2 GHz band without any modifications and with only a few minor adjustments to the number of available channels, can be used with the upcoming 5 Ghz protocol, IEEE 802.11ac. 4.4 Number of Channel Sets When a DCS algorithm optimizes its channels there are frequently multiple channel sets that result in the same minimum total edge weight. The minimum total edge weight sets is primarily based on the number of interference sources as well as an algorithm’s ability to model the network environment. With the addition of interference sources to a network, the variance of the edge weights should increase, resulting in a smaller set of minimum total edge weight channels. The DCS 2.0 algorithm is able to detect the external interference shown in Figure 4.27 thereby decreasing the number of minimum total edge weight channel sets from 768 to only 1 as the number of external interference sources is increased from 0 to 14. C-LCCS on the other hand 4.5. CORAL TESTING 73 17 16 Mbit/s 15 14 13 12 11 10 0 100 200 300 400 Time (s) 500 600 C−LCCS DCS 2.0 Static 700 800 Figure 4.26: Total throughput for Test 6 (IEEE 802.11g network with external interference sources being enabled between 0-700s) cannot detect external interference and therefore, incorrectly identifies 1640 different channel sets as having the minimum total edge weight. This again shows the importance of being able to detect external interference originating from other networks and how it can affect the algorithm’s ability to find the optimal channels. 4.5 CORAL Testing 4.5.1 CORAL Implementation Specifications Field test of the original proposed DCS algorithm using the CORAL platform are detailed in this section. Photos of the CORAL units and the test setup can be found in Appendix A. DCS 2.0 was designed after analysing the results from these field tests, thus the original DCS algorithm was used during the field experiments. The algorithm was tested in two different scenarios. The first was in Kanata, 4.5. CORAL TESTING 1800 74 y=1640 y=1640 y=1640 y=1640 y=24 y=4 y=1640 Number of Optimal Channel Sets 1600 1400 1200 1000 800 y=768 600 400 y=256 200 DCS 2.0 C−LCCS 0 0 2 4 6 8 10 Number of External Interference Sources y=1 12 14 Figure 4.27: The number of optimal channel sets for increasing number of interference sources Ontario at the Communication Research Centre of Canada’s campus. Three cells were set up, two on top of vans and one on top of the main campus building. Cell 2 and Cell 3 were located 1 km and 200m away from the hub (Cell 1), respectively, shown in Figure 4.28. A larger diagram can be found in Appendix A. Five laptops were used to generate traffic on the network as described below: 1. Laptop 1 (CORAL 3): IPERF server receiving packets from Laptop 2 with a UDP stream of 500 kbps 2. Laptop 2 (CORAL 1): IPERF client sending packets to Laptop 1 with a UDP stream of 500 kbps. 3. Laptop 3 (CORAL 8): IPERF client sending packets to Laptop 4 with a UDP stream of 500 kbps. 4.5. CORAL TESTING 75 Figure 4.28: Network Setup at the CRC campus 4. Laptop 4 (CORAL 9): IPERF server sending packets to Laptop 3 with a UDP stream of 500 kbps. 5. Laptop 5 (CORAL 5): 10 pings set up for Google.com A signal generator connected to a directional antenna was also used to test the algorithm’s ability to detect and react to external interference. The second scenario was in downtown Ottawa with two cells 400m apart shown in Figure 4.29. A larger diagram can be found in Appendix A. In this test only four laptops were used but data was being transmitted in both directions as described below: 4.5. CORAL TESTING 76 1. Laptop 1 (CORAL 1): IPERF server and client sending and receiving packets to Laptop 2 with a UDP stream of 1 Mbps 2. Laptop 2 (CORAL 2): IPERF server and client sending and receiving packets to Laptop 1 with a UDP stream of 1 Mbps 3. Laptop 3 (CORAL 4): IPERF server and client sending and receiving packets to Laptop 4 with a UDP stream of 500 kbps. 4. Laptop 4 (CORAL 6): IPERF server and client sending and receiving packets to Laptop 4 with a UDP stream of 500 kbps. To communicate between the cells a 5 GHz backhaul was used. The CRMS was directly connected to the hub terminal serving both of the 5GHz links. The connection between the CRMS computer and the hub (Cell 1) was via Ethernet. The antennas on the vans were raised to be at a similar height as the cell on the campus building. The APs were powered up to 15 dBm and were GPS-synchronized under TDD operation with a downlink:uplink ratio of 50:50. All sectors were set to operate using the IEEE 802.11b protocol The operational at the default rate of 11 Mbps and only the following non-overlapping frequencies were used: 2.412 GHz (Channel 1), 2.437 GHz (Channel 6) and 2.462 GHz (Channel 11). 4.5.2 DCS Performance Metrics The metrics used to ascertain DCS performance are in part derived from the link channel statistics that are available from the CRMS GUI and REAM. The statistics of importance are: 4.5. CORAL TESTING 77 Figure 4.29: Network Setup for Downtown tests 1. Downlink Channel Rate (Dcr ): which is the average downlink data rate as measured over the IRP 2. Uplink Channel Rate (Ucr ) : which is the average uplink data rate as measured over the IRP 3. RF Utilization (Uf ) : the percentage of time spent by the radio transmitting data (including WiFi retransmissions, control and management packets); as measured over the IRP. 4. Retransmission Ratio (RR): The amount of transmission time devoted to retransmitting downlink WiFi packets divided by the amount of time transmitting the original data packets as measured over the IRP. This metric is an indication of how much spectrum bandwidth is used to support retransmission of WiFi packets and a value of zero indicates no retransmissions; 1 indicates an equal amount of retransmission bandwidth to transmission bandwidth, 2 indicates twice as much bandwidth used for retransmission, etc. 5. Spectrum Occupancy Cumulative Distribution Function (SOCDF): A 4.5. CORAL TESTING 78 cumulative distribution function describing the spectrum occupancy of all the channels in the 2.4 GHz band. These statistics are obtained for each AP radio within the network. The statistics gathering is done at the IRP and the historical record of this is stored in the REAM of the CRMS. The most recent statistics are displayed in the GUI. In addition to the metrics above, the following metrics were used to gauge the efficiency of the DCS algorithm: 1. Spectrum Efficiency (SpecEff): A metric that indicates the spectrum efficiency of a sector. It is calculated over an IRP duration by: SpecEf f = Dcr 20 × 106 Uf (4.1) 2. Median Network Interference Power: This metric represents the average per sector interference power averaged over all sectors, over the IRP period, and is calculated as: 3 PM N IP 3 1 XX Pmed (x) = 9 C=1 u=1 (4.2) Where Pmed (x) is the Median Interference Power calculated from the SOCDF statistic for sector (x); u is the AP number (1-3); and C is the cell number (1-3). 4.5.3 Improving Spectrum Efficiency Figure 4.30 is a plot of the uplink channel rate for the two CORAL terminals that were receiving packets from their respective IPERF servers at the CRC campus test. 4.5. CORAL TESTING 79 0.35 CORAL 9 CORAL 1 Signal Generator Enabled 0.3 DCS Channel Switch (Cell 2) Mbit/s 0.25 0.2 DCS Channel Switch (Cell 1) 0.15 0.1 0.05 14:06 14:04 14:02 14:00 13:58 13:55 13:53 13:51 13:49 13:47 13:45 13:43 13:41 13:39 13:37 0 DCS Channel Switch (Cell 1) IRP Time (Hour:Min) Figure 4.30: Uplink channel rate, showing the DCS’s ability to react to rapid changes in the interference At time 13:47 the algorithm changed CORAL 5’s channel due to the large amount of interfering external users on that channel. At time 13:53 the signal generator was turned on and placed on CORAL 9’s current channel, causing an 84.8% decrease in the channel rate. In the next IRP (13:55), the DCS algorithm detected this new source of external interference and changed cell 2’s channels, moving CORAL 5 away from the high-interference channel. This channel change placed CORAL 9 and CORAL 1 on the same channel, thus introducing new intra-network interference. The algorithm solved the problem in the next IRP (13:58) by changing cell 1’s channel, and ensured for the rest of the test that CORAL 9 and 1 remained on different channels. This example demonstrates the algorithm’s ability to quickly react to both internal and external interference in a real network environment. The retransmission ratio (RR), defined in Section 4.5.2 of the sectors was recorded. A value of p ∈ N for the retransmission ratio indicates p times as much bandwidth 4.5. CORAL TESTING 80 2 10 Retransmission Ratio 1 10 0 10 −1 10 −2 14:06 14:04 14:02 14:00 13:58 13:55 13:53 13:51 13:49 13:47 13:45 13:43 13:41 13:39 13:37 10 Time (Hour:Min) Figure 4.31: Retransmission ratio which is an indication of how much spectrum bandwidth is used to support retransmission of WiFi packets −9 8 x 10 Signal Generator Enabled 7 Bits/Sec/Hz 6 5 4 3 2 DCS Channel Switch (Cell 1) Time (Hour:Min) Figure 4.32: Spectrum efficiency for a test at CRC campus 14:06 14:04 14:02 14:00 13:58 13:55 13:53 13:51 13:49 13:47 13:45 13:43 13:41 13:39 0 13:37 1 4.5. CORAL TESTING 81 is used for retransmission. Therefore, a high p is an indicator for a poor-quality channel. Figure 4.31 is a semi-log plot of the RR for CORAL 8, which was receiving packets from the CORAL 9 IPERF server. When the signal generator was turned on it increased the RR from 0.03 to 48, due to packet transmissions consistently failing. When the DCS algorithm changed the channels, the RR decreased to 0.15, again displaying the improved network conditions resulting from a DCS channel change. Figure 4.32 is a plot of the spectrum efficiency for CORAL 8, and when the signal generator was enabled the spectrum efficiency decreased to 0. This was due to the low downlink channel rate and high utilization due to the high number of failed packets and retransmissions. The DCS algorithm reacted to this new source of interference and returned the spectrum efficiency to its previous value. 4.5.4 Robustness of Edge Weights It was shown in [47] that RSSI on its own is not a good metric for link quality due to it being uncorrelated with the throughput. This observation was confirmed in the field experiments as well as showing that utilization on its own is also not a good metric for link quality. In addition, using a combination of RSSI and RF utilization as proposed in Section 3.1, the edge weight calculation is capable of effectively quantifying the network interference in both a rural and an urban environment. To demonstrate this, the following three methods of calculating the edge weights were tested using: 1. Both RSSI and utilization according to (3.1) and (3.2) 2. Only RSSI 3. Only RF utilization 4.5. CORAL TESTING 82 Method 1 performed the best in both cases, accurately mapping the interference into a weighted graph and allowing the DCS algorithm to make optimum decisions. Method 2’s decisions were poor, mainly due to its inability to capture the amount of time an interference source is using the spectrum. For example, during the downtown Ottawa test, the CORAL sniffers detected an interference source that had a very high RSSI but only appeared for a short time. Since method 2 only considers the RSSI, it reacted to this interference and changed the channels. However, since the interference disappeared the algorithm switched back after a few IRPs. Method 1 would have reduced the weight, due to the small utilization and would have avoided an unnecessary channel change, resulting in less overhead. Method 3 also showed poor results and multiple unacceptable channel changes. When only the RF utilization is used, the weights only account for the amount of air time an interference source is using. Figure 4.33 is a plot of the downlink channel rate for Method 3 test in downtown Ottawa. The numbers indicate when the DCS algorithm did a channel change, showing the poor decisions made by the algorithm. The first channel change, 1, caused the channel rate to decrease from 1.1 Mbps to 0. Method 1 performed well in all tests showing the robustness of using both RSSI and utilization to generate weighted-edge interference graphs for WiFi networks. 4.5.5 Forgetting Factor δ The forgetting factor, δ, is used to quantify the significance of new edge weights when updating values in the REAM database. A smaller δ gives higher priority to new data, increasing the sensitivity to new sources of interference. A larger δ gives more priority to data already in the REAM database, resulting in more gradual changes to 4.5. CORAL TESTING 83 1.4 1.2 1 Mbit/s 1 3 0.8 0.6 2 0.4 4 15:07 15:03 15:01 14:59 14:57 14:55 14:53 14:51 14:49 14:47 14:45 0 15:05 5 0.2 IRP Time (Hour:Min) Figure 4.33: Downlink channel rate for downtown Ottawa test in which the edge weights are only calculated using the RF utilization. The numbers represent the 5 sector channel changes that the DCS executed. the weights. Figure 4.35 and Figure 4.34 are plots of the channel changes for the two cells with δ = 0.9 and δ = 0.5, respectively. With a δ = 0.5 the DCS algorithm makes eight more channel changes which is caused by the higher variation of the weights resulting in a higher probability of (3.6) being satisfied. Table 4.6 shows the average network downlink (DL) and uplink (UL) throughput from a similar test in downtown Ottawa. A smaller δ resulted in 3.84% and 1.17% increase in the DL and UL rates, respectively. This small gain however, comes at the cost of doubling the number of channel changes in this case. As clients lose connectivity with every channel change and have to re-associate, it is desirable to keep the number of such changes to a minimum. So choosing the right δ involves balancing a tradeoff between sensitivity to rapid changes in the interference environment and the connection’s stability. The rates for a baseline (i.e., without DCS) test are also included for comparison which show the algorithm resulted in 13.5% and 7.5% increase 4.5. CORAL TESTING (11,1,6) 84 Cell 1 Cell 2 Channels (11,6,1) 11:32 11:30 11:28 11:26 11:24 11:21 11:19 11:17 11:15 11:13 11:11 11:09 11:07 11:05 11:03 (1,11,6) 11:00 (1,6,11) IRP Time (Hour:Min) Figure 4.34: CRC Channel changes with a δ of 0.5 (6,11,1) Cell 1 Cell 2 (11,1,6) (11,6,1) IRP Time (Hour:Min) Figure 4.35: CRC Channel changes with a δ of 0.9 14:08 14:06 14:04 14:02 14:00 13:58 13:55 13:53 13:51 13:49 13:47 13:45 13:43 13:41 (1,11,6) 13:39 (1,6,11) 13:37 Channels (6,1,11) 4.6. CONCLUSION 85 Table 4.6: Average rates and number of channel changes δ = 0.9 δ = 0.5 Baseline Average DL Rate (Mbps) 2.2149 2.3000 1.9509 Average UL Rate (Mbps) 3.1925 3.2299 2.9676 No. of Channel Changes 2 4 0 in the average DL and UL rates, respectively. 4.6 Conclusion This chapter presented the ns-3 simulation and field test results of the proposed DCS algorithm. Displaying the algorithm’s ability to detect and react to intra-network and external interference allowing it to exceed the current state of the art DCS algorithm, namely the LCCS. The results also show the influence of the tailoring factors on the proposed algorithm’s performance and the algorithm’s compatibility with VOIP application as well as IEEE 802.11b networks. 86 Chapter 5 Conclusions and Future Work In recent years, WiFi networks have become very popular due to their low cost and ease of use. The widespread adoption and deployment of WiFi networks has led to congestion and interference issues as there are only three non-overlapping channels in the 2.4GHz ISM band where the majority of WiFi networks operate today. If a channel is used by more than one user, a CSMA algorithm is implemented to prevent collisions, but also greatly decreases the data rate. In this thesis a DCS scheme is proposed which is capable of reacting to both intra-network and external interference by adapting the channels assigned to different APs within the network. The algorithm uses a weighted edge coloring approach to dynamically optimize the assigned channels. The research partnership with the Communications Research Centre allowed field testing of the proposed algorithm using their CORAL cognitive radio platform at their campus in Ottawa, Ontario. This thesis provided the reader with background theory on WiFi, IEEE 802.11b and CORAL to help better understand the design decisions for the proposed algorithm. A literature survey was also provided outlining the advantages and disadvantages of other DCS algorithms. Chapter 3 presented the DCS algorithm, illustrating its 87 ability to react to intra-network and external interference and demonstrated the algorithm’s flexibility using unique tailoring factors. Chapter 4 presented simulation results showing that the proposed algorithm outperformed the state of the art DCS algorithm, LCCS, and a practical implementation with test setups at CRC’s campus in Kanata and downtown Ottawa. The results proved the proposed algorithm’s ability to increase throughput and spectrum efficiency in a variety of network and traffic types. The tailoring factors were also tested, showing their ability to change the frequency of channel changes. Varying the δ value allowed the user to modify the importance of new and old data and changing β allowed for a further reduction in the number of unnecessary channel changes. The tests showed the IRP’s dependence on δ to ensure the edge weight updated time is compatible with a large or small IRP. The algorithm proposed in this thesis has several avenues for extensions to further improve its performance. The first is to add manual edges (similar to [32]) to prevent two APs, which may suffer from the hidden terminal problem, from operating on the same channel. This will however require a more extensive site survey and testing to determine which APs suffer from this problem. Another option would be to implement feedback into the algorithm to integrate the effect a channel change has on the network into the algorithm’s decision process. The feedback could use metrics such as throughput, delay or the retransmission ratio to determine if a channel change improved or harmed the network. If a channel change resulted in more harm than improvement, possibly because some APs are now suffering from the hidden terminal problem, the algorithm could revert to the old channels and place manual edges between the affected APs preventing this problem from reoccurring. Feedback can also be used to choose optimal tailoring factors and dynamically vary 88 them based on the network conditions. For example, it may be beneficial to have a low IRP at the start to allow the algorithm stabilize faster. Then once it has stabilized the IRP can be increased to reduce the excess overhead caused by unnecessary channel changes. It also could monitor the new edge weight values from the network and based on how fast the values are changing, vary the δ value or IRP. Furthermore, this could be extended by introducing adaptive learning into the calculation of the edge weights. This would use the past data in the REAM to estimate the optimal channel based on non-wireless metrics such as time or day of the week. In [29], the authors used a multi-layer feed forward neural network which takes inputs such as the previous traffic, time of week and hour of day to predict the most optimal channel. The REAM database could record this information and allow for more predictive edge weight calculation thereby fully utilizing the cognitive capability of the CORAL units. Finally, having all the APs choose their channel at the same time allows for quick reactions to large interference sources, however this may result in scalability problems when dealing with networks with 20+ cells. In a large network scenario, the restriction of switching all APs at the end of an IRP could be lifted to allow APs to change their channel asynchronously. This would decrease the number of channel options that the algorithm will need to scan from 6n to 6n since each cell will only look at its own APs. This method will require additional overhead to implement a protocol to prevent nearby APs from switching at the same time so they do not make their channel decision based on inaccurate information. It will also decrease the algorithm’s ability to quickly deal with the addition of multiple interference sources since only one cell can change at a time. 89 In conclusion, this thesis proposed a novel DCS algorithm with the capability of detecting both intra-network and external interference. The algorithm can accommodate a variety of network types using its tailoring factors. It also has been proven to outperform the current state of the art algorithm using an assortment of network simulations and field tests using CRC’s CORAL test bed. BIBLIOGRAPHY 90 Bibliography [1] Cognitive radio systems in the land mobile service. Technical report, International Telecommunication Union (ITU), http://www.itu.int/pub/R-REP-M.2225, June 2009. [2] ns-3 manual. Technical report, ns-3 Network Simulator, March 2014. [3] Tobias Achterberg and Timo Berthold. Improving the feasibility pump. Discrete Optimization, 4(1):77–86, 2007. [4] Atul Adya, Paramvir Bahl, Jitendra Padhye, Alec Wolman, and Lidong Zhou. A multi-radio unification protocol for ieee 802.11 wireless networks. In First International Conference on Broadband Networks, 2004. BroadNets 2004., pages 344–354. IEEE, 2004. [5] R. Akl and A. Arepally. Dynamic channel assignment in ieee 802.11 networks. In Portable Information Devices, 2007. PORTABLE07. IEEE International Conference on, pages 1–5, May 2007. [6] Hussain Al-Rizzo, Mohamad Haidar, Robert Akl, and Yupo Chan. Enhanced channel assignment and load distribution in ieee 802.11 wlans. In IEEE International Conference on Signal Processing and Communications, 2007. ICSPC BIBLIOGRAPHY 91 2007., pages 768–771. IEEE, 2007. [7] J Barker. You believe you understand what you think i said: The truth about 802.11 signal and noise metrics. Document D100201, 2004. [8] Mustapha Bennai, John Sydor, and Mahmudur Rahman. Automatic channel selection for cognitive radio systems. In IEEE 21st International Symposium on Personal Indoor and Mobile Radio Communications (PIMRC), 2010, pages 1831–1835. IEEE, 2010. [9] Raffaele Bruno, Marco Conti, and Enrico Gregori. Ieee 802.11 optimal performances: Rts/cts mechanism vs. basic access. In The 13th IEEE International Symposium onPersonal, Indoor and Mobile Radio Communications, 2002, volume 4, pages 1747–1751. IEEE, 2002. [10] Communications Research Centre Canada. Crc-cognitive radio aware learning platform user’s guide. Technical report, Communications Research Centre Canada, 2011. [11] Lili Cao and Haitao Zheng. Distributed spectrum allocation via local bargaining. In SECON, pages 475–486, 2005. [12] Surachai Chieochan, Ekram Hossain, and Jeffrey Diamond. Channel assignment schemes for infrastructure-based 802.11 wlans: A survey. Communications Surveys & Tutorials, IEEE, 12(1):124–136, 2010. [13] Emilie Danna, Edward Rothberg, and Claude Le Pape. Exploring relaxation induced neighborhoods to improve mip solutions. Mathematical Programming, 102(1):71–90, 2005. BIBLIOGRAPHY 92 [14] Matthias Elf, Carsten Gutwenger, Michael Jünger, and Giovanni Rinaldi. Branch-and-cut algorithms for combinatorial optimization and their implementation in abacus. In Computational Combinatorial Optimization, pages 157–222. Springer, 2001. [15] Raul Etkin, Abhay Parekh, and David Tse. Spectrum sharing for unlicensed bands. IEEE Journal on Selected Areas in Communications, 25(3):517–528, 2007. [16] Paul Fuxjager, Danilo Valerio, and Fabio Ricciato. The myth of non-overlapping channels: interference measurements in ieee 802.11. In Fourth Annual Conference onWireless on Demand Network Systems and Services, 2007. WONS’07/, pages 1–8. IEEE, 2007. [17] Matthew Gast. 802.11 wireless networks: the definitive guide. O’Reilly Media, Inc., 2005. [18] IEEE 802.11 Working Group et al. Ieee standard for information technology– telecommunications and information exchange between systems–local and metropolitan area networks–specific requirements–part 11: Wireless lan medium access control (mac) and physical layer (phy) specifications amendment 6: Wireless access in vehicular environments. IEEE Std, 802:1–51, 2010. [19] IEEE 802.11 Working Group et al. Supplement to ieee standard for information technology - telecommunications and information exchange between systems local and metropolitan area networks - specific requirements. part 11: Wireless lan medium access control (mac) and physical layer (phy) specifications: Highspeed physical layer in the 5 ghz band. IEEE Std, 802:1–51, 2010. BIBLIOGRAPHY 93 [20] Chunlong Guo, Lizhi Charlie Zhong, and Jan M Rabaey. Low power distributed mac for ad hoc sensor radio networks. In IEEE Global Telecommunications Conference, 2001. GLOBECOM’01., volume 5, pages 2944–2948. IEEE, 2001. [21] Hassan HASSAN. Generic modeling of multimedia traffic sources. 2005. [22] Matthias Ihmig and Peter Steenkiste. Distributed dynamic channel selection in chaotic wireless networks. In 13th European Wireless Conference, Paris, France, 2007. [23] Tommy R Jensen and Bjarne Toft. Graph coloring problems, volume 39. John Wiley & Sons, 2011. [24] Zhu Ji and KJ Ray Liu. Cognitive radios for dynamic spectrum access-dynamic spectrum sharing: A game theoretical overview. IEEE Communications Magazine, 45(5):88–94, 2007. [25] Seongkwan Kim, Okhwan Lee, Sunghyun Choi, and Sung-Ju Lee. Mac-aware routing metric for 802.11 wireless mesh networks. In IEEE 20th International Symposium on Personal, Indoor and Mobile Radio Communications, 2009, pages 47–51. IEEE, 2009. [26] Paul Kolodzy and Interference Avoidance. Spectrum policy task force. Federal Commun. Comm., Washington, DC, Rep. ET Docket, (02-135), 2002. [27] David Kotz and Kobby Essien. Analysis of a campus-wide wireless network. Wireless Networks, 11(1-2):115–133, 2005. [28] Mathieu Lacage, Mohammad Hossein Manshaei, and Thierry Turletti. Ieee 802.11 rate adaptation: a practical approach. In Proceedings of the 7th ACM BIBLIOGRAPHY 94 international symposium on Modeling, analysis and simulation of wireless and mobile systems, pages 126–134. ACM, 2004. [29] Yao Liu, Bheemarjuna Reddy Tamma, BS Manoj, and Ramesh Rao. Traffic prediction for cognitive networking in multi-channel wireless networks. In INFOCOM IEEE Conference on Computer Communications Workshops, 2010, pages 1–6. IEEE, 2010. [30] Hui Luo and N. K. Shankaranarayanan. A distributed dynamic channel allocation technique for throughput improvement in a dense wlan environment. In IEEE International Conference on Acoustics, Speech, and Signal Processing, 2004. Proceedings. (ICASSP ’04)., volume 5, pages V–345–8 vol.5, May 2004. [31] Jeremy Mack, Amir Ghasemi, Saeed Gazor, and John Sydor. Dynamic channel selection in cognitive radio wifi networks: An experimental evaluation. In IEEE International Conference on Communications, 2014. ICC 2014. IEEE, 2014. [32] Petri Mahonen, Janne Riihijarvi, and Marina Petrova. Automatic channel allocation for small wireless local area networks using graph colouring algorithm approach. In 15th IEEE International Symposium on Personal, Indoor and Mobile Radio Communications, 2004, volume 1, pages 536–539. IEEE, 2004. [33] R Garey Michael and S Johnson David. Computers and intractability: a guide to the theory of np-completeness. WH Freeman & Co., San Francisco, pages 109–118, 1979. BIBLIOGRAPHY 95 [34] Arunesh Mishra, Suman Banerjee, and William Arbaugh. Weighted coloring based channel assignment for wlans. ACM SIGMOBILE Mobile Computing and Communications Review, 9(3):19–31, 2005. [35] Arunesh Mishra, Vladimir Brik, Suman Banerjee, Aravind Srinivasan, and William A Arbaugh. A client-driven approach for channel management in wireless lans. In INFOCOM, 2006. [36] Arunesh Mishra, Vivek Shrivastava, Dheeraj Agrawal, Suman Banerjee, and Samrat Ganguly. Distributed channel management in uncoordinated wireless environments. In Proceedings of the 12th annual international conference on Mobile computing and networking, pages 170–181. ACM, 2006. [37] Chen Na, Jeremy K Chen, and Theodore S Rappaport. Measured traffic statistics and throughput of ieee 802.11 b public wlan hotspots with three different applications. IEEE Transactions on Wireless Communications, 5(11):3296–3305, 2006. [38] Brian Panneton. [ns-developers] antenna model updates @ONLINE, 2012. [39] Christos H Papadimitriou and Kenneth Steiglitz. Combinatorial optimization: algorithms and complexity. 1998. [40] Ricardo C Rodrigues, Geraldo Robson Mateus, and Antonio Alfredo Ferreira Loureiro. On the design and capacity planning of a wireless local area network. In Network Operations and Management Symposium, 2000. NOMS 2000. 2000 IEEE/IFIP, pages 335–348. IEEE, 2000. BIBLIOGRAPHY 96 [41] Edward Rothberg. An evolutionary algorithm for polishing mixed integer programming solutions. INFORMS Journal on Computing, 19(4):534–541, 2007. [42] Eric Rozner, Yogita Mehta, Aditya Akella, and Lili Qiu. Traffic-aware channel assignment in enterprise wireless lans. In IEEE International Conference on Network Protocols, 2007. ICNP 2007., pages 133–143. IEEE, 2007. [43] Robert A Stubbs and Sanjay Mehrotra. A branch-and-cut method for 0-1 mixed convex programming. Mathematical Programming, 86(3):515–532, 1999. [44] Richard S Sutton and Andrew G Barto. Introduction to reinforcement learning. MIT Press, 1998. [45] John Sydor, Amir Ghasemi, Siva Palaninathan, and William Wong. Cognitive, radio-aware, learning (coral) research platform. In IEEE Symposium on New Frontiers in Dynamic Spectrum, 2010, pages 1–2. IEEE, 2010. [46] Elias Weingartner, Hendrik Vom Lehn, and Klaus Wehrle. A performance comparison of recent network simulators. In ICC’09 IEEE International Conference on Communications, 2009, pages 1–5. IEEE, 2009. [47] Daniel Wu, Petar Djukic, and Prasant Mohapatra. Determining 802.11 link quality with passive measurements. In IEEE International Symposium on Wireless Communication Systems. 2008. ISWCS’08., pages 728–732. IEEE, 2008. [48] Chunsheng Xin, Bo Xie, and Chien-Chung Shen. A novel layered graph model for topology formation and routing in dynamic spectrum access networks. In First IEEE International Symposium on New Frontiers in Dynamic Spectrum Access Networks, 2005, pages 308–317. IEEE, 2005. BIBLIOGRAPHY 97 [49] K-LA Yau, Peter Komisarczuk, and Paul D Teal. Context-awareness and intelligence in distributed cognitive radio networks: A reinforcement learning approach. In Australian Communications Theory Workshop (AusCTW), 2010, pages 35–42. IEEE, 2010. 98 Appendix A Extra Figures A.1 Downtown CORAL Test A.1. DOWNTOWN CORAL TEST Figure A.1: Network Setup at CRC campus tests 99 A.1. DOWNTOWN CORAL TEST Figure A.2: Network Setup for Downtown tests 100 A.1. DOWNTOWN CORAL TEST 101 Figure A.3: CORAL Cell. Antenna on top right is 5 GHz backhaul antenna. Figure A.4: CORAL cell 2 in Downtown Ottawa CORAL test A.1. DOWNTOWN CORAL TEST Figure A.5: CORAL cell 1 in Downtown Ottawa CORAL test Figure A.6: CRMS in cell 1 in Downtown Ottawa CORAL test 102 A.1. DOWNTOWN CORAL TEST 103 Figure A.7: A laptop set up with an Iperf software to generate traffic in Downtown Ottawa CORAL test 104 Appendix B Simulation Data Rates 105 Table B.1: Access point data rates for Test 1,2 and 3 AccessP oint DownlinkDataRate(M bps) 0 4 1 0 2 4.5 3 0 4 4.5 5 2 6 0.6 7 0 8 2.8 9 0.3 10 5 11 4 12 4.8 13 1.2 14 3.6 106 Table B.2: Access point data rates for Test 4 AccessP oint DownlinkDataRate(M bps) 0 1 1 0.75 2 2 3 2.6 4 0.75 5 2 6 1 7 1.05 8 0.97 9 0 10 2 11 0.15 12 0.056 13 1.2 14 2.05 107 Table B.3: Access point data rates for Test 5 AccessP oint DownlinkDataRate(M bps) 0 0 1 3 2 2 3 1.38 4 0 5 4 6 0 7 0 8 2.8 9 1.03 10 4 11 0 12 0 13 2 14 4 108 Table B.4: Access point data rates for Test 6 AccessP oint DownlinkDataRate(M bps) 0 0 1 6 2 2 3 1.38 4 0 5 4 6 0 7 2 8 0.7 9 0 10 5.3 11 0 12 0 13 2 14 4