Title: DIRC: Increasing Indoor Wireless Capacity Using Directional Antennas
1DIRC Increasing Indoor Wireless CapacityUsing
Directional Antennas
- Xi Liu1, Anmol Sheth2, Konstantina Papagiannaki3,
Michael Kaminsky3, Srinivasan Seshan1, Peter
Steenkiste1
1Carnegie Mellon University 2Intel Labs
Seattle 3Intel Labs Pittsburgh
2Driving Demand for Wireless Capacity
- Wide adoption of wireless technologies causes
dense deployment of wireless devices - Examples include conference rooms, enterprise
networks, and home
future home will have 1000 radios
3Driving Demand for Wireless Capacity
- Interference at this scale becomes a big issue
- 3 orthogonal domains to avoid interference
4What Are Directional Antennas?
- Less power to undesired directions
- More power to desired directions
- Primarily used to form long distance
point-to-point links - Can also provide spatial reuse
Directional antennas
5Phased Array Antennas
- Multiple antenna radio system provides ability to
electronically steer signal - Fast reconfiguration 100µs steering delay
- Assumption only APs use them
- Still too bulky for clients
- Incremental deployment
6Limitations of Directional Antennas in Indoors
Environment
Outdoor Use LOS direction
Indoor LOS Blocked
Indoor unintended interf.
intended rx
- Indoor space is rich-scattered
- LOS may be blocked
- May cause unintended interference
- Conventional wisdom directional antennas are not
effective in indoors environment
unintended rx
7Spatial Reuse Through Antenna Coordination
Max SNR No Spatial Reuse
Use Alternative Path Spatial Reuse
- Straightforward way to orient antennas maximize
signal strength at receiver (Max SNR)
8Challenge I How to Find Antenna Orientations?
- Naive solution Max Cap
- Too slow in practice, e.g., 8 minutes for this
setup - Challenge I finding optimal antenna
orientations quickly - Goal is to find a solution cost the same as Max
SNR, i.e., each AP scans once - Use SINR model
9Challenge II Coordination
- Among dirc. senders to identify non-interfering
transmissions and choose orientations - Centralized controller
- TDMA scheduling MAC
- Among dirc. and omni. senders
- Two phased TDMA to separate dirc. and omni.
senders
10Is It Worth the Effort?
Campus 80m10m
Lab 50m50m
- Two indoor testbeds office and lab
- 3 directional APs, 6 omni-directional clients
- Phocus phased array directional antenna 45º
beamwidth, 16 dirc. patterns, 1 omni pattern,
100µs steering delay
11Upper-bound Performance
- Directional antennas can provide 70-80
improvement over omni-directional antennas - Max SNR does not maximize network capacity
12System Overview
- Directional APs
- Omni-directional users
- Centralized controller
13DIRC Operation
environment changes
timer expires
14SINR Model
- SINR Model whether a frame can be successfully
received depends on whether the SINR is larger
than a threshold - S(i,j,k) denote signal strength from AP i to
client j with direction k - For example, to determine whether transmissions
(i1,j1,k1) and (i2,j2,k2) can happen
simultaneously
15DIRC Operation I - Measurement
S(S1,R1,?)
S(S1,R1, ?)
S(S1,R1, ?)
S(S1,R1, ?)
S(S1,R1, ?)
S(S1,R1, ?)
S(S1,R1, ?)
S(S1,R1, ?)
S(S1,R2,?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
- The scheduler instructs each AP to scan once,
e.g., 240ms overhead for 3 APs.
16DIRC Operation I - Measurement
S(S1,R1,?)
S(S1,R1, ?)
S(S2,R1,?)
S(S2,R1, ?)
S(S1,R1, ?)
S(S1,R1, ?)
S(S2,R1, ?)
S(S2,R1, ?)
S(S1,R1, ?)
S(S1,R1, ?)
S(S2,R1, ?)
S(S2,R1, ?)
S(S1,R1, ?)
S(S1,R1, ?)
S(S2,R1, ?)
S(S2,R1, ?)
S(S1,R2,?)
S(S1,R2, ?)
S(S2,R2,?)
S(S2,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S2,R2, ?)
S(S2,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S2,R2, ?)
S(S2,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S2,R2, ?)
S(S2,R2, ?)
- The scheduler instructs each AP to scan once,
e.g., 240ms overhead for 3 APs.
17DIRC Operation II Compute Schedules
S1,R1,? S1,R1,?
S(S1,R1,?)
S(S1,R1, ?)
S(S2,R1,?)
S(S2,R1, ?)
S(S1,R1, ?)
S(S1,R1, ?)
S(S2,R1, ?)
S(S2,R1, ?)
S(S1,R1, ?)
S(S1,R1, ?)
S2,R2, ?
S2,R2, ?
S(S2,R1, ?)
S(S2,R1, ?)
NO
?
S(S1,R1, ?)
S(S1,R1, ?)
S(S2,R1, ?)
S(S2,R1, ?)
S(S1,R2,?)
S(S1,R2, ?)
S(S2,R2,?)
S(S2,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S2,R2, ?)
S(S2,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S2,R2, ?)
S(S2,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S2,R2, ?)
S(S2,R2, ?)
X
- SINR1 S(S1,R1,?) / S(S2,R1,?)
- SINR2 S(S2,R2,?) / S(S1,R2,?)
S(S1,R1,?)
S(S2,R1,?)
lt SINRthresh
X
S(S2,R2,?)
S(S1,R2,?)
lt SINRthresh
18DIRC Operation II Compute Schedules
S1,R1,? S1,R1,?
S(S1,R1,?)
S(S1,R1, ?)
S(S2,R1,?)
S(S2,R1, ?)
S(S1,R1, ?)
S(S1,R1, ?)
S(S2,R1, ?)
S(S2,R1, ?)
S(S1,R1, ?)
S(S1,R1, ?)
S2,R2, ?
S2,R2, ?
S2,R2, ?
S2,R2, ?
S(S2,R1, ?)
S(S2,R1, ?)
NO
NO
NO
?
S(S1,R1, ?)
S(S1,R1, ?)
S(S2,R1, ?)
S(S2,R1, ?)
S(S1,R2,?)
S(S1,R2, ?)
S(S2,R2,?)
S(S2,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S2,R2, ?)
S(S2,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S2,R2, ?)
S(S2,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S2,R2, ?)
S(S2,R2, ?)
X
SINR1 S(S1,R1,?) / S(S2,R1,?) SINR2
S(S2,R2,?) / S(S1,R2,?)
S(S1,R1,?)
S(S2,R1,?)
lt SINRthresh
S(S2,R2,?)
S(S1,R2,?)
gt SINRthresh
19DIRC Operation II Compute Schedules
S1,R1,? S1,R1,?
S(S1,R1,?)
S(S1,R1, ?)
S(S2,R1,?)
S(S2,R1, ?)
S(S1,R1, ?)
S(S1,R1, ?)
S(S2,R1, ?)
S(S2,R1, ?)
S(S1,R1, ?)
S(S1,R1, ?)
S2,R2, ?
S2,R2, ?
S2,R2, ?
S2,R2, ?
S2,R2, ?
S2,R2, ?
S(S2,R1, ?)
S(S2,R1, ?)
NO
NO
NO
NO
NO
?
S(S1,R1, ?)
S(S1,R1, ?)
S(S2,R1, ?)
S(S2,R1, ?)
S(S1,R2,?)
S(S1,R2, ?)
S(S2,R2,?)
S(S2,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S2,R2, ?)
S(S2,R2, ?)
NO
S(S1,R2, ?)
S(S1,R2, ?)
S(S2,R2, ?)
S(S2,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S2,R2, ?)
S(S2,R2, ?)
SINR1 S(S1,R1,?) / S(S2,R1,?) SINR2
S(S2,R2,?) / S(S1,R2,?)
S(S1,R1,?)
S(S2,R1,?)
gt SINRthresh
X
S(S2,R2,?)
S(S1,R2,?)
lt SINRthresh
20DIRC Operation II Compute Schedules
S1,R1,? S1,R1,?
S(S1,R1,?)
S(S1,R1, ?)
S(S2,R1,?)
S(S2,R1, ?)
S(S1,R1, ?)
S(S1,R1, ?)
S(S2,R1, ?)
S(S2,R1, ?)
S(S1,R1, ?)
S(S1,R1, ?)
S(S2,R1, ?)
S(S2,R1, ?)
S2,R2, ?
S2,R2, ?
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
?
S(S1,R1, ?)
S(S1,R1, ?)
S(S2,R1, ?)
S(S2,R1, ?)
S(S1,R2,?)
S(S1,R2, ?)
S(S2,R2,?)
S(S2,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S2,R2, ?)
S(S2,R2, ?)
NO
YES
NO
NO
S(S1,R2, ?)
S(S1,R2, ?)
S(S2,R2, ?)
S(S2,R2, ?)
S(S1,R2, ?)
S(S1,R2, ?)
S(S2,R2, ?)
S(S2,R2, ?)
SINR1 S(S1,R1,?) / S(S2,R1,?) SINR2
S(S2,R2,?) / S(S1,R2,?)
S(S1,R1,?)
S(S2,R1,?)
gt SINRthresh
S(S2,R2,?)
S(S1,R2,?)
gt SINRthresh
21DIRC Operation III - Transmit
- dirc-tx and omni-tx phases for data transfer
- APs inform controller that they have frames to
send - Scheduler compute schedules
22DIRC Performance
1.6X
2X
UDP Performance
- Office scenario, iperf UDP (including protocol
overhead) - DIRC significantly improves network capacity in
this office environment
23Node Movement
- Question Can DIRC handle node movement?
24Conclusion
- Coordination is required to use directional
antennas effectively in indoors environment - DIRC is a practical and light-weight solution
that address the challenges - DIRC is flexible enough to handle the inherent
dynamics of the environment