Enabling Coexistence of Heterogeneous Wireless Systems: Case for ZigBee and WiFi Xinyu Zhang xyzhang@eecs.umich.edu Kang G. Shin kgshin@eecs.umich.edu The University of Michigan Coexistence between ZigBee and WiFi Spatial coexistence: ZigBee (monitoring & control) WiFi (Internet access) Frequency-domain coexistence (spectrum sharing): 20MHz Current scheme for managing coexistence Built-in MAC protocols: CSMA/CA Listen before you talk Versions used by both ZigBee and WiFi Is the built-in CSMA/CA effective? Some small scale measurement studies: Severe collision occurs under moderate to high WiFi traffic Evidence from the real-world: In a 90-node ZigBee building energy monitoring network. 50+% ZigBee nodes suffer connection loss during WiFi peak hours [C-J. M. Liang, et al., “Surviving Wi-Fi Interference in Low Power ZigBee Networks,” SenSys 2010, November 2010] Why CSMA fails Heterogeneity challenges coexistence: Scheduling mode: ZigBee allows TDMA mode Problem: direct collision (no carrier sensing) Transmit power: WiFi: 15dBm; ZigBee: < 0 dBm Problem: asymmetric interference WiFi transmission range Asymmetric interference region ZigBee transmission range Why CSMA fails Time resolution: e.g., WiFi: 9 us; ZigBee: 320us Problem: preemption: Communication barrier: WiFi: OFDM; ZigBee: DSSS Problem: lack of ability to negotiate New solution: Cooperative Busy Tone (CBT) Principles of CBT: Make ZigBee visible to WiFi, without interfering with ZigBee Allow ZigBee to coexist and contend with WiFi in frequency, spatial, and temporal domains Preserve carrier-sensing-based spectrum etiquette CBT Overview switching time WiFi client ZigBee TX signaler WiFi AP DATA ACK ZigBee signaler ZigBee TX A separate node (ZigBee signaler) emits a busy-tone to make WiFi aware of ZigBee transmission WiFi TX CCA, DATA ACK backoff Busy tone harbingers the data packet and continues throughout the DATA-ACK transmission to prevent WiFi preemption Challenges How can the busy-tone be prevented from interfering with the ZigBee data packet? When should the signaler begin and end sending the busy-tone? Signaler “frequency flip” Avoids signaler interfering with ZigBee data packet: Busy tone Transmitter sends data packet on some channel Signaler sends busy-tone on an adjacent channel Return to the original channel after sending the busy-tone Busy-tone scheduler objectives Schedule the signaler’s busy-tone so as to: reduce WiFi preemption of ZigBee transmissions minimize the potential influence on WiFi performance be able to protect both the TDMA and CSMA modes of ZigBee Busy-tone scheduler: TDMA mode CCA attempts frequency flip Harbinger time Key parameter: harbinger time H s KmCz J z H s too large: busy-tone wastes channel time H s too small: no idle slot can be sensed, busy-tone aborted Analytical framework: relate H s to network performance Busy-tone scheduler: CSMA mode backoff CCA switching frequency flip Key parameter: busy-tone duration Tb Tb too large: busy-tone wastes channel time Tb too small: data/ACK may not be protected Enlarge Tb by extending busy-tone time by Kb extra slots Analytical framework: relate Tb to network performance Performance analysis and parameter optimization Network model: Topology: co-located ZigBee and WiFi networks, Sz Wt (ZigBee signaler within range of WiFi transmitter) Traffic: Poisson, arrival rate z and w , respectively Parameters: Traffic intensity z and w Topology: Zt Wt or Zt Wt (ZigBee transmitter within range of WiFi transmitter, or not) Transmit power z and w Using legacy ZigBee or CBT Performance analysis and parameter optimization Performance metrics: Normalized throughput: z and w Approach: Assume ZigBee does not affect WiFi traffic (low power and low duty cycle) Analyze collision probability under each parameter setting Analyze throughput based on collision probability: Focus primarily on temporal collision probability Incorporate spatial collision probability (includes node locations and capture effect) ZigBee TDMA mode with WiFi Collision probability of legacy ZigBee: Tag an arbitrary packet from Zt , and calculate the collision probability with randomly arrived Wt packets (assuming ZigBee does not affect WiFi traffic) Collision probability of CBT: Relate CCA failure rate to harbinger time H s (derived in Proposition 1 in paper) Relate collision probability to the CCA failure rate: Derive collision probability as a function of w , z , H s , etc. ZigBee TDMA mode with WiFi (cont’d) Network performance: Model transmission attempt of Zt as a renewal reward process ZigBee throughput = mean reward rate = Prob.[no collision] data packet size Average amount of data sent within an attempt Mean service time of a data packet Includes retransmission, ACK, and switching time WiFi throughput approximated using simpler model (in paper): Depends on whether or not Zt Wt ZigBee CSMA mode with WiFi Performance of legacy ZigBee: Derive mean service time, based on a Markov chain model BSi : i-th backoff & CCA stage Ptx: Pd : Pa : Transmission probability (after CCA) Data packet collision probability ACK packet collision probability These depend on WiFi traffic intensity ZigBee CSMA mode with WiFi (cont’d) Performance of CBT: Similar Markov chain model Also depends on key parameter: busy tone duration Tb If Tb = data packet duration + max backoff&CCA duration, then collision probability 0 Otherwise, the collision probability is bounded: Bound depends on Tb (derived in Proposition 2 in paper) Spatial collision probability I e Probability that a packet cannot be decoded, given that temporal collision already occurs (Account for capture effect) Approximate I e in a random topology: Details in the paper Simulation and testbed evaluation Simulation: Based on ns-2 ZigBee model Modeled CBT (TDMA and CSMA mode) in ns-2 Testbed experiments: Legacy ZigBee: Based on openzb in TinyOS, running on MICAz motes CBT (TDMA mode): implementation of signaler in GNURadio, running on USRP2 software radio Synchronize USRP signaler to ZigBee coordinator using short notification messages Temporal collision probability Markers = simulation results; lines = analytical results Analysis matches simulation CBT significantly reduces the collision rate for both data and ACK packets Spatial-temporal collision probability Probability that ZigBee cannot decode collided packet (accounting for capture effect and random node locations) dt Zt Wt Zt Wt Out of interference range Normalized throughput: TDMA mode Sweet spot CBT gives about 2 ZigBee throughput improvement under moderate to high WiFi traffic Negligible degradation of WiFi throughput, compared with legacy ZigBee CBT may have lower throughput than legacy ZigBee under light WiFi traffic (a sweet spot exists) Impact of harbinger time in TDMA mode Larger K m larger H s more overhead, but higher ZigBee throughput under high WiFi interference Under low duty-cycle ZigBee traffic (below 0.05), WiFi throughput is virtually unaffected by harbinger time Experimental testbed configuration Node locations: Nodes A and B are WiFi All other nodes are ZigBee (MICAz motes) Only TDMA mode implemented CBT signaler implemented in GNURadio on USRP2 software radio Testbed results: Collision probability (TDMA mode) For randomly selected links: CBT reduces collision rate by 60+% for most links Testbed results: Impact on WiFi (TDMA mode) WiFi packet delay: CBT and legacy ZigBee have similar effects on WiFi performance WiFi performance essentially unaffected when ZigBee traffic load < 2% Conclusion Traditional CSMA fails in heterogeneous networks: Due to disparate MAC/PHY properties CBT resolves collision between ZigBee and WiFi: Busy-tone scheduler: ensure busy-tones protect data packets Frequency flip: preventing signaler/transmitter interference Stochastic models for performance analysis and optimization Simulation as well as measured testbed performance Possible future work: Extension to other heterogeneous networks, such as WiFi/Bluetooth (802.15.3), WiFi/WiMax (802.11y), and whitespace networks Appendix Normalized throughput CSMA mode Impact of busy-tone duration in CSMA mode CSMA mode