838-chanmgmt-lec

A client-driven management approach
for 802.11 (and other) networks
Suman Banerjee
Email: [email protected]
Department of Computer Sciences
University of Wisconsin-Madison
http://www.cs.wisc.edu/~suman
Wisconsin Wireless and NetworkinG Systems (WiNGS) Laboratory
Wireless devices
• Experiencing phenomenal growth
• Dell ‘Oro group prediction:
– “ … wireless LAN sales will grow 47% annually
through 2008.”
• Wireless LAN industry annual sales is more than 2
billion dollar industry in the US
• Increasing deployment of Access Points (APs) in
offices, homes, neighborhoods, etc.
Wireless LAN coverage
A handful of hotspots in 1998
• Today: more than 2.5 million hotspots just in urban areas *
Bay area
Chicago area
* Source: war-driving reports in wigle.net
Management objectives
• Reduce costs
– Eliminate the human in the loop
• Improve performance
– At the clients
• Problem is inherently hard
Management in wired networks
• Mostly performed through central entities
– Firewalls
– Nameservers
– DHCP servers
• A logical approach for many basic networking tasks
– But needs some re-thinking in the wireless domain
• Many properties in wireless domain are locationspecific
– Can only be observed at the clients and by the clients
Impact of location
Recvd: 1, 2, 4
AP-1
Client-A
AP-2
Sent: 1, 2, 3, 4, 5
Recvd: 1, 3, 4, 5
Experience is property of location and cannot be always replicated
Talk outline
• Introduction
• Client-driven management example
– Channel assignment and load balancing in wireless LANs
• An architecture for client-driven management
– Virtualized wireless grids
• Other examples within this architectural framework
– Secure localization
– Network management: fault monitoring and diagnosis
– Fast handoffs
• Summary of other activities in WiNGS
Channel assignment in WLANs
Current best practices
• RF site survey based approaches
– Fairly tedious signal strength maps of the area under consideration
• Least Congested Channel Search (LCCS)
– Each AP examines congestion-level in a channel
– If high congestion (i.e., it hears other APs), it tries to move to different channel
– Repeat the process
• Other proprietary approaches (Airespace)
• None of them are client-centric in nature
Channel assignment problem
AP-2
AP-3
AP-1
What channels to assign to APs?
Channel assignment problem
AP-2
AP-3
AP-1
What channels to assign to APs? LCCS may assign same to all APs
Channel assignment problem
AP-2
AP-3
AP-1
Correct answer depends on client distribution and association
Channel assignment problem
AP-2
AP-3
AP-1
Correct answer should also adapt with client distributions
Channel assignment problem
AP-2
AP-3
AP-1
Correct answer should also adapt with client distributions
A possible client-driven approach
[Vertex coloring: MC2R05]
• Client provide feedback to about observed “interference”
• Construct a virtual graph and do “weighted” graph coloring
• And then minimize graph weight
(4)
AP-1
AP-2
(2)
(0)
AP-3
Edge weight
corresponds to
number of
interfered
clients
Higher edge weight
implies greater importance
of assigning APs to
different channels
Graph coloring approach
• Iterative approach
• Start with any initial coloring (even derived from LCCS)
• Each instant:
– Pick an edge with maximum contribution to graph weight
– Re-assign channel of one of its APs with a minimization objective
– Leads to reduction to total graph weight
(6)
(0)
(7)
(20)
(0)
(4)
Graph coloring approach
• Iterative approach
• Start with any initial coloring (even derived from LCCS)
• Each instant:
– Pick an edge with maximum contribution to graph weight
– Re-assign channel of one of its APs with a minimization objective
– Leads to reduction to total graph weight
(6)
(0)
(7)
(20)
(0)
(4)
Graph coloring approach
• Iterative approach
• Start with any initial coloring (even derived from LCCS)
• Each instant:
– Pick an edge with maximum contribution to graph weight
– Re-assign channel of one of its APs with a minimization objective
– Leads to reduction to total graph weight
(6)
(0)
(7)
(6)
(0)
(7)
(0)
(20)
37
(8)
(0) 21
(0)
(4)
Graph coloring approach
• Iterative approach
• Start with any initial coloring (even derived from LCCS)
• Each instant:
– Pick an edge with maximum contribution to graph weight
– Re-assign channel of one of its APs with a minimization objective
– Leads to reduction to total graph weight
(6)
(0)
(7)
(0)
(9)
(0)
(0)
13
(0)
(4)
Better
(20)
37
(0)
(4)
Graph coloring approach
• Iterative approach
• Start with any initial coloring (even derived from LCCS)
• Each instant:
– Pick an edge with maximum contribution to graph weight
– Re-assign channel of one of its APs with a minimization objective
– Leads to reduction to total graph weight
• Algorithm converges
– Every step we are reducing the graph weight
– Stops when cannot reduce further
(6)
(0)
(7)
(20)
(0)
(4)
Vertex coloring approach
• Client provide feedback to about observed interference
• Construct a virtual graph and do “weighted” graph coloring
• Minimize: Wt of graph
• Evaluation in
simulations and on
deployed testbed
of 70+ APs
LCCS
Vertex coloring
Number of channels
Limitations of vertex coloring
• Overly conservative:
– Does not examine how client-AP associations should be made
?
?
?
For conflict freedom, how many channels do we need?
Limitations of vertex coloring
• Overly conservative:
– Does not examine how client-AP associations should be made
(0)
(0)
(0)
(3)
(0)
(2)
(2)
(0)
For conflict freedom, need 3 channels?
It depends on client association
(2)
Limitations of vertex coloring
• Overly conservative:
– Does not examine how client-AP associations should be made
(0)
(0)
(3)
(0)
(2)
(2)
(2)
(0)
(0)
We should look at load-balancing (AP-client association) too!
In this paper we define channel management to be:
Channel assignment + load balancing through client-AP associations
Conflict set coloring approach
• CFAssign algorithms
• Jointly solve channel assignment and load balancing
through client association
• Problem formulated as a set coloring problem, where
each client is a set, and each AP is an element in one or
more sets
Conflict set coloring approach
• Conflict-free set coloring formulation (a simplified view)
– Each client is a set of one or more APs
A1
C1 C2 C3
A2
A3
C4
Conflict set coloring approach
• Conflict-free set coloring formulation (a simplified view)
– Each client is a set of one or more APs
A1
A1
C1 C2 C3
A2
C1
A3
C4
A2
A3
Conflict set coloring approach
• Conflict-free set coloring formulation (a simplified view)
– Each client is a set of one or more APs
A2
A1
A1
C1 C2 C3
C2
A3
C4
A2
A3
Conflict set coloring approach
• Conflict-free set coloring formulation (a simplified view)
– Each client is a set of one or more APs
A1
C1 C2 C3
A2
A3
C4
Conflict set coloring approach
• Conflict-free set coloring formulation (a simplified view)
– Each client is a set of one or more APs
– Color all elements s.t. each set has an element with a unique
color
A1
C1 C2 C3
A2
A3
C4
Conflict set coloring approach
• Conflict-free set coloring formulation (a simplified view)
– Each client is a set of one or more APs
A2
A1
A1
C1 C2 C3
C2
A3
C4
A2
A3
Conflict set coloring approach
• Conflict-free set coloring formulation (a simplified view)
– Each client is a set of one or more APs
A1
A1
C1 C2 C3
A2
C1
A3
C4
A2
A3
Conflict set coloring approach
• Conflict-free set coloring formulation (a simplified view)
– Each client is a set of one or more APs
– Color all elements s.t. each set has an element with a unique
color
– Associate each client to the unique colored AP in its set
A1
C1 C2 C3
A2
A3
C4
Conflict set coloring approach
• Conflict-free set coloring formulation (a simplified view)
– Each client is a set of one or more APs
– Color all elements s.t. each set has an element with a unique
color
– Associate each client to the unique colored AP in its set
A1
C1 C2 C3
A2
A3
C4
This is a conflict-free assignment of clients to APs
(Prior vertex coloring approach will have used 3 colors)
Details
• What if conflict-freedom cannot be guaranteed?
– Minimize the amount of conflict
• Load balancing fits into this objective function
– It increases with number of clients added to the same AP
• Handle client-client interference
– Sets consist of APs both in direct and indirect interference
• [Range and Interference sets]
A centralized algo (CFAssign-RaC)
• Pick an AP ordered by a random permutation
• Perform compaction step
– For that AP, pick the best color assignment that maximizes the
number of conflict-free clients based on the set formulation
• Repeat with another AP
• Can be repeated multiple times to obtain best solution
• Also have two distributed algorithms
– [See our upcoming Mobicom 2006 paper]
Implementation details
• Feedback from clients to APs (infrastructure) uses
mechanisms available in IEEE 802.11k standards
– Site report
• Process is periodic in general, but triggered by client
mobility
• Implementation is easy (~100 lines of code)
• Channel switching can be made quite fast
– < 1 ms latency is achievable (ongoing work)
– New Intel cards promising very fast switching (~ 100 us)
CFAssign (Set approach)
Throughput
CFAssign
Vertex coloring
CFAssign
Vertex coloring
Std-dev of throughput even indicates greater fairness
> factor
of 2
CFAssign (Set approach)
MAC level collisions
CFAssign
LCCS
CFAssign
LCCS
CFAssign (Set approach)
Adaptation to node mobility (3 channels)
We can do EVEN better!
• Should we restrict to non-overlapped
channels?
– In 802.11b: 1, 6, and 11
• By using partially-overlapped channels
We can do EVEN better!
• Should we restrict to non-overlapped channels?
– In 802.11b: 1, 6, and 11
• How about 1, 4, 7, 11?
– These are partially-overlapped channels
• Tradeoff between increased interference due to partially overlapped
channels and more efficient utilization of spectrum
• Questions:
– Can we define a mechanism to systematically model interference of partiallyoverlapped channels and extend existing channel assignment algorithms?
– What performance improvement can we expect?
Talk outline
• Introduction
• Client-driven management example
– Channel assignment and load balancing in wireless LANs
– Partially overlapped channels and how to use them
• An architecture for client-driven management
– Virtualized wireless grids
• Other examples within this architectural framework
– Secure localization
– Network management: fault monitoring and diagnosis
– Fast handoffs
• Summary of other activities in WiNGS
Wireless channels
• Wireless communication happens over a restricted set
of frequencies
• Collectively they constitute a channel
Wireless channels
Channel A
Channel B
Channel C
Channel D
Radio Frequency Spectrum
Available spectrum is typically divided into
disjoint channels
Partially Overlapped Channels
2.4 GHz ISM Band
Ch 1
Ch 6
Ch 11
• IEEE 802.11 defines 11 partially overlapped channels in 2.4
GHz band
• Only channels 1, 6 and 11 are non-overlapping
• 54 / 12 partially overlapped / non-overlapping channels in 5
GHz ISM band
Partially Overlapped Channels
Link A Ch 1
Link B Ch 3
Ch 1
Ch 3
Ch 6
?
Link C Ch 6
Amount of Interference
• Partially overlapped channels are avoided
– In order to avoid such interference
Simple Experiment
Link A Ch 1
Link B Ch X
UDP Throughput (Mbps)
6
5
4
3
0
10
20
30
40
50
Distance (meters)
LEGEND
Non-overlapping channels, A = 1, B = 6
Partially Overlapped Channels, A = 1, B = 3
Partially Overlapped Channels, A = 1, B = 2
Same channel, A = 1, B = 1
Channel Separation
5
2
1
0
60
I-Factor : Model for Partial Overlap
•
•
•
•
Define Interference Factor or “I-factor”
Transmitter is on channel j
Pj denotes power received on channel j
Pi denotes power received on channel I
I-factor(i,j) =
Pi
Pj
• Captures amount of overlap between channels
How do we use I-Factor ?
A1
Link A Ch 1
A2
PX = I-Factor(1,X) * P1
Link B Ch X
B1
B2
• Given I-Factor Node B1 can `estimate’
interference on all partially overlapped
channels
• And choose the best one!
Can we estimate I-factor?
Band-pass filter
centered at Fc + 10
Logscale
Maximum power
Fc - 22
Fc
Amount of power
received on Fc + 10
Fc + 10 Mhz
Fc + 22 Mhz
• Measurement is an active process
– Best if avoided
• We have designed a simple model of I-factor that is based on
the transmit spectrum mask (IEEE standards specified) and the
receiver’s band-pass filter profile
Estimating I-Factor
0 dB
-30 dB
-30 dB
-50 dB
-50 dB
-22 Mhz
-11 Mhz
Fc
+11 Mhz
+22 Mhz
• Actual frequency response is hard to compute
• Transmit Spectrum Mask specified by IEEE
802.11
Normalized I-factor
1
Estimating I-Factor
0.8
I(theory)
0.6
I(measured)
0.4
0.2
0
0
2
4
6
8
10
Receiver Channel
• Empirical Estimation:
– Measure Pi and Pj
– Take multiple samples
– Calculate I-Factor = Pi / Pj
12
Overall methodology
Wireless communication technology
Such as 802.11, 802.16
Estimate I-factor
Theory/empirical
Estimated once per
wireless technology
I-Factor
Model
Algorithm for
channel assignment
Channel assignment
with overlapped channels
How much Improvement to Expect ?
•
•
•
•
Randomly distributed nodes
Ad-hoc single hop network
M channels in all, N non-overlapping
M = 5*N - 4 for 802.11 (2.4 and 5 GHz)
Throughput Improvement =
5N–4
1.2 N
= a factor of 3.05 for 802.11 channels !
Can we use POV to pack more APs?
• Square grid, clients distributed uniformly at random
• Compare between:
– 3 non-overlapping channels 1, 6, 11
– 4 partially-overlapping channels 1, 4, 7, 11
• Same amount of wireless spectrum being used
Systematic scenario
1.0
0.8
0.6
11
1
11
6
0.4
1
0.2
0
400
3 channels
600
• Three channels, the best case - three clique
(three colorable)
800
1000
Systematic scenario
1.0
0.8
4 POV channels
0.6
1
5
7
11
5
1
0.4
0.2
0
400
•
•
•
•
3 channels
600
Four partially overlapped channels: 1, 4,7, 11
Use four clique, to cover the same region
More APs can be placed ‘closer’
Use I-factor to compute optimal placement
800
1000
Arbitrary Wireless LAN
2.6 x
High density random topologies
• Modifications to existing CFAssign algorithm
Arbitrary Wireless LAN
1.7 x
Low density random topologies
• Modifications to CFAssign algorithm
Summary of channel assignment
• Adaptation
• Better spectrum re-use
• Solution implicitly solves
– Client-AP association
– Extensions also provide load balancing
• Interoperates with legacy systems
– Even systems that do not implement CFAssign benefit
• See papers [Infocom 2006], [MC2R 2005], [IMC 2005],
[Mobicom 2006]