Download Dynamic Channel Selection in Cognitive Radio WiFi Networks Jeremy Mack

Document related concepts

Factorization of polynomials over finite fields wikipedia , lookup

Algorithm wikipedia , lookup

Transcript
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