Title: Fat Virtual Access Points
1 Fat Virtual Access Points
Kate Lin, Tural Badirkhanli and Dina Katabi
2State-of-the-art (802.11)
Connect to the AP with the highest RSSI
3In Homes, Hotspots
Problem 1
AP Uplink 2Mbps (DSL/Cable Modems)
Wireless Link 54Mbps (Theoretical Max)
222
Uplink Bottleneck
Can Aggregate Bandwidth from nearby APs!
4At Work
Problem 2
20Mbps
Unnecessary congestion nearby APs are
idle Spread load Individual changes help
globally
15Mbps
4Mbps
Load Imbalance
Divide Total Bandwidth Among Users
52 Problems, 1 Solution
State-of-the-art
Abstraction
Join closest AP
Join a Virtual AP, that is the sum of nearby APs
- User can aggregate bandwidth from all APs
- Compete for total ? balance load across APs
6Realize a fat virtual AP withonly client-side
changes
7Basic Operation
2Mbps
2Mbps
20Mbps
But, what about receive?
8Basic Operation
2Mbps
2Mbps
Drop
Power-Save Q
20Mbps
Pretend in power-save, so AP buffers when
disconnected (similar to Chandra et. al.
VirtualWiFi)
Divide Time and Data Across APs to get Fat
Virtual AP
9Realizing a Fat Virtual AP is Hard
- Sustain TCP flows through each AP
- Cannot lose packets yet Switch quickly
- Which APs to connect to and for how long?
- Some APs are more valuable than others
- How to divide traffic across the APs?
- FatVAP, an 802.11 driver design
- divides time across APs to maximize throughput
- is transparent to APs and remote ends
10FatVAP Overview
Channel 6
Channel 6
Channel 1
Channel 36
- Scan for available APs
- Compute a schedule to divide time across APs
- Switch APs as per schedule
- Spread traffic by pinning flows to APs
11How much time to spend at an AP?
Achievable Bandwidths end-to-end e, wireless w
Subsumes Wireless Link Quality, Contention at AP,
APs uplink capacity
12How to Divide Time Across APs?
AP Bandwidth (Mbps) AP1 AP2 AP3
End-to-end Achievable 5 4 3
Wireless Achievable 5 8 8
Usable Fraction 100 50 38
Optimal 7 Mbps
5 Mbps, 100 busy
Pick APs Greedily, on End-to-end rate
! more bang for the buck if wireless b/w is large
13How to Divide Time Across APs?
AP Bandwidth (Mbps) AP1 AP2 AP3 AP4 AP5 AP6
End-to-end Available 1 1 1 1 1 4.5
Wireless Available 5 5 5 5 5 4.5
Usable Fraction 20 20 20 20 20 100
5 Mbps, 100 busy
Pick APs Greedily, on End-to-end rate
Pick APs Greedily, on Wireless rate
! cost to switch is 5 ms ! cant linger too
long (100ms period)
Only 75 usable
No Greedy Solution!
14 Say, fi is fraction of time at APi
Let s be switching time and D be the period
Value (Bandwidth)
Usefulness Constraint
Cost (Time)
Like Bin Packing, maximize value with bounded
cost!
(pseudo)-polynomial solution
15But, How to Estimate Bandwidths?
Naively send-rate of probe burst, APs
report load
Idea Use synchronous acks
Client TX Queue
AP Buffers
Time from head of tx queue to end of transmission
(ack)
16But, How to Estimate Bandwidths?
Naively, send-rate of probe burst or APs
report load
t
Count bytes rcvd in a window
Idea Use synchronous acks
Client TX Queue
AP Buffers
Time from head of tx queue to end of transmission
(ack)
17But, How to Estimate Bandwidths?
Naively, send-rate of probe burst or APs
report load
t
Count bytes rcvd in a window
Idea Use synchronous acks
May not receive data always
Idea only count back-to-back large packets!
Client TX Queue
AP Buffers
Time from head of tx queue to end of transmission
(ack)
18How to Spread Traffic Across APs?
19How to Spread Traffic Across APs?
- Put flows through all APs
- virtualize 802.11 state
- an IP for each interface
- toggle APs (and channels)
-
- By default, kernel sends all traffic to one AP
AP1
AP2
MIT 128.30.79.0/24
T-Mobile 192.168.3.0/24
Toggler
Hardware (Wireless Card)
802.11 State
AP1 State
AP2 State
Two Interfaces
20How to Spread Traffic Across APs?
- Put flows through all APs
- virtualize 802.11 state
- an IP for each interface
- toggle APs (and channels)
- By default, kernel sends all traffic to one AP
- Spread flows to APs
- Fast header re-writing
AP1
AP2
Hardware (Wireless Card)
Toggler
AP1 State
AP2 State
Two Interfaces
Spreader
Distribute load w/o changing APs and applications
21Switching Quickly Without Drops
- A Driver For Each Interface?
- warm-up cost on switch
- one instance soft-switch
AP1
AP2
One Driver
22Switching Quickly Without Drops
- A Driver For Each Interface?
- warm-up cost on switch
- one instance soft-switch
- 802.11 Control Packets
- Isolate Transitions
AP1
AP2
Hardware (Wireless Card)
AP1 State
AP2 State
Re-send AUTH
Send AUTH
23Switching Quickly Without Drops
- A Driver For Each Interface?
- warm-up cost on switch
- one instance soft-switch
- 802.11 Control Packets
- Isolate Transitions
- Pkts stuck in driver at switch
- Private Queues
AP1
AP2
- Delay Switch till pkts drain
- Drop Packets (madwifi)
24Switching Quickly Without Drops
- A Driver For Each Interface?
- warm-up cost on switch
- one instance soft-switch
- 802.11 Control Packets
- Isolate Transitions
- Pkts stuck in driver at switch
- Private Queues
AP1
AP2
Attach/Detach Queue Pointer Swap
Enables high-rate TCPs through multiple APs
25FatVAP Realizes a Fat Virtual AP
- Which APs to connect to and for how long?
- Estimate Bandwidths, Solve Optimization
- How to divide traffic across the APs?
- Virtualize, Pin Flows to APs, rewrite headers
- Switch quickly but without losing packets
- In-driver, Private Queues, Isolation
And, with only client-side changes
26Related Work
- VirtualWiFi (Microsoft Research)
- AP Selection (Intel Research, U Michigan)
- SyncScan (UCSD)
- MadWifi (open-source)
- Divide Time across APs to maximize throughput
- Sustain TCP flows through multiple APs
- Transparently spread traffic across APs
27Results
28Experimental Setup
- Compare FatVAP driver with unmodified MadWifi
- Scenarios
- Testbed built from Cisco, NetGear and MadWifi APs
- Residential deployments
- Commercial hotspots
- Traffic
- Long-lived TCP flows
- BitTorrent (Azureus client, Planetlab peers)
- Mimic Web Browsing (modified WebStone)
29Can FatVAP Aggregate Bandwidth?
6Mbps
22 Mbps
Aggregates end-to-end up to the wireless
bottleneck
30Can FatVAP Balance Load?
12Mbps
2Mbps
C1
C2
C3
C4
C5
31Can FatVAP Balance Load?
12Mbps
2Mbps
FatVAP
Unmodified MadWifi
5 4 3 2 1 0
4.4
3.8
3.5
3.3
3.1
2.9
2.8
2.7
Throughput (Mb/s)
.9
.9
C1
C2
C3
C4
C5
C1 C2 C3 C4 C5
C1 C2 C3 C4 C5
Simplifies Network Deployment!
32Can FatVAP Adapt to Changes?
5Mbps
15Mbps
Throughput (Mb/s)
Re-adjusts time_at_AP as necessary
33Contributions
- A new model for managed 802.11 LANs
- Aggregate uplink, Balance load
- First to realize a fat virtual AP
- Divide time and traffic across APs
- Transparent to APs, applications, servers