You are on page 1of 60

A client-driven management approach for 802.

11 (and other) networks


Suman Banerjee Email: suman@cs.wisc.edu
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)

(20)

(0) (4)

37 (8) (0) 21

(6) (0) (7)

(0)

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)

(0) (9) (0)

(0) 13

(0) (4)

37

Better

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)

(2) (0) For conflict freedom, need 3 channels? It depends on client association

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 C1 C2 C3 A2 A3 C4 A2 C1

A1

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 A2

A1 C2 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

A1 C1 C2 C3 A2 A3 C4 A2

A1 C2 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 A2 C1

A1

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
> factor of 2

CFAssign Vertex coloring

Std-dev of throughput even indicates greater fairness

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

Ch 1

Ch 3

Ch 6

Link B Ch 3

Link C Ch 6

Amount of Interference

Partially overlapped channels are avoided


In order to avoid such interference

Simple Experiment
6

UDP Throughput (Mbps)

Link A Ch 1

Link B Ch X

3 0 10 20 30 40 50 60 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

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

Link B Ch X B1 B2

PX = I-Factor(1,X) * P1

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
Maximum power

Logscale

A mount of power received on Fc + 10 Fc + 10 Mhz Fc + 22 Mhz

Fc - 22

Fc

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 receivers band-pass filter profile

Estimating I-Factor
0dB -30dB -50dB -22Mhz -11Mhz Fc +11Mhz -30dB -50dB +22Mhz

Actual frequency response is hard to compute Transmit Spectrum Mask specified by IEEE 802.11

Normalized I-factor

1 0.8 0.6 0.4 0.2 0

Estimating I-Factor
I(theory) I(measured)

4 6 8 Receiver Channel

10

12

Empirical Estimation:
Measure Pi and Pj Take multiple samples Calculate I-Factor = Pi / Pj

Overall methodology
Wireless communication technology Such as 802.11, 802.16

Estimate I-factor
Theory/empirical
I-Factor Model

Algorithm for channel assignment

Estimated once per wireless technology

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 = 5N4 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 1 11 6 11 0.4 1 0.2 0 400

3 channels
600 800 1000

Three channels, the best case - three clique (three colorable)

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 800 1000

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

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]

You might also like