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]
© Copyright 2026 Paperzz