Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Multichannel data collection for throughput maximization in wireless sensor networks
(USC Thesis Other)
Multichannel data collection for throughput maximization in wireless sensor networks
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
Multichannel Data Collection for Throughput Maximization in Wireless Sensor Networks by Ying Chen A Dissertation Presented to the FACULTY OF THE USC GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulllment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (ELECTRICAL ENGINEERING) December 2012 Copyright 2012 Ying Chen Dedication To my parents, who always love and support me unconditionally. ii Acknowledgements I would like to express my deeply-felt gratitude to my PhD advisor, Professor Bhaskar Krishnamachari, for his warm encouragement and thoughtful guidance. The joy and enthusiasm he has for the research was contagious and motivational to me. Without his support, this dissertation would not have been possible. In 2007, I had the toughest time in my Ph.D pursuit. Bhaskar gave me the opportunity to join his group. When I was looking for research topic, he patiently provided the vision and guidance for me, while also giving me great freedom. When I was struggling with my research, he always oered me insightful advice and unwavering support. I have to thank Bhaskar for providing me with an excellent atmosphere for learning and thinking. His dedication and passion to research inspired and led me to proceed through the Ph.D program. In this journey, he let me really understand the meaning of the Ph.D study, and guided me to develop my abilities to research and the courage to confront diculty. I would like to thank Professors Ramesh Govindan, Murali Annavaram, Leana Gol- ubchik and C.-C. Jay Kuo for serving on my qualifying exam and dissertation committees. Their constructive feedback and suggestions greatly improved this thesis. iii I would like to express my thanks to Nilesh Mishra, Luis D. Pedrosa and Jeongyeup Paek for their frequent and timely assistance in access to the Tutornet testbed. I relied heavily upon their support to complete the Tutornet experiments. I have to thank all the group members of the Autonomous Networks Research Group. Thank you all for helping and accompanying me. I will remember the time we spent together. I would like to thank Ozlem Durmaz Incel for her help and discussions during the time she was visiting our group. I want to thank all my friends, who helped and cared for me during the time I pursued my Ph.D. Words fail me to express my gratitude to you. Finally, I would like to thank my parents. They were always there cheering me up and stood by me through the good times and bad. iv Table of Contents Dedication ii Acknowledgements iii List of Tables vii List of Figures viii Abstract xii Chapter 1: Introduction 1 1.1 Contributions and Organization . . . . . . . . . . . . . . . . . . . . . . . . 5 Chapter 2: State of the Art 8 2.1 Data Collection in WSN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 Multi-Channel Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.1 Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2 Classication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.3 MCC in Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.4 Throughput Maximization . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.5 Implementation for WSN . . . . . . . . . . . . . . . . . . . . . . . 18 2.3 Spectrum Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Chapter 3: Understanding Throughput with Real Hardware 24 3.1 Basic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2 Specications of Tmotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.3 Estimating the Maximum Convergecast Throughput . . . . . . . . . . . . 27 3.3.1 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3.2 Measurement Results . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.4 Summary and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Chapter 4: Multi-Channel Collection Protocol 33 4.1 MCC Design and Implementation . . . . . . . . . . . . . . . . . . . . . . 33 4.1.1 Network Connectivity Determination . . . . . . . . . . . . . . . . . 35 4.1.2 Balanced Routing Tree Formation using CMS . . . . . . . . . . . . 36 4.1.3 Channel Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 v 4.1.4 Time Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.1.5 Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.1.6 Lightweight Time Synchronization . . . . . . . . . . . . . . . . . . 45 4.1.7 Data Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.2 Overview of Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.3 Parameter Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.3.1 Overhead of Time Synchronization . . . . . . . . . . . . . . . . . . 53 4.3.2 Generation of a Balanced Routing Tree . . . . . . . . . . . . . . . 54 4.3.3 Time Scheduling: Slot Length . . . . . . . . . . . . . . . . . . . . . 55 4.3.4 Channel Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.4 MCC Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . . . 60 4.4.1 Backlogged MCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.4.2 MCC Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.4.2.1 10-node Experiment . . . . . . . . . . . . . . . . . . . . . 63 4.4.2.2 30-node Experiment . . . . . . . . . . . . . . . . . . . . . 65 4.4.2.3 Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.4.2.4 Energy Saving . . . . . . . . . . . . . . . . . . . . . . . . 68 4.5 Summary and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Chapter 5: Channel Quality Measurement 72 5.1 IEEE 802.15.4/ZigBee Radio Frequency . . . . . . . . . . . . . . . . . . . 72 5.2 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.3.1 Channel Variety of Link Quality . . . . . . . . . . . . . . . . . . . 77 5.3.2 Receiver-based Link Quality Analysis . . . . . . . . . . . . . . . . 87 5.3.3 Link Asymmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.4 Summary and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Chapter 6: Channel-Quality-Aware Protocol Design 94 6.1 Network Connectivity Determination . . . . . . . . . . . . . . . . . . . . . 95 6.2 Routing Tree Construction . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6.3 Channel Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.4 Evaluation of Channel-Quality-Aware algorithms . . . . . . . . . . . . . . 104 6.4.1 Channel-Quality-Aware Routing . . . . . . . . . . . . . . . . . . . 105 6.4.2 Channel-Quality-Aware Allocation . . . . . . . . . . . . . . . . . . 112 6.5 Algorithms Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 6.5.1 Scalability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 6.5.2 Impact of Channels . . . . . . . . . . . . . . . . . . . . . . . . . . 121 6.6 Summary and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Chapter 7: Conclusions and Future Work 127 References 132 vi List of Tables 3.1 Parameters for the curve-t of throughput estimation model . . . . . . . 29 4.1 MCC functional components . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.2 Description of experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.1 IEEE802.15.4/Zigbee: ISM radio bands and data rate . . . . . . . . . . . 74 5.2 Total number of links in each channel . . . . . . . . . . . . . . . . . . . . 86 6.1 Key parameters for CQAR and CQAA algorithms . . . . . . . . . . . . . 104 6.2 Metrics for evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 6.3 Dierent versions of MCC: CQARA, CQAA and ICRA . . . . . . . . . . 116 vii List of Figures 3.1 A high level view of sensor node architecture. . . . . . . . . . . . . . . . . 24 3.2 Schematic view of the IEEE 802.15.4 frame format. . . . . . . . . . . . . . 26 3.3 Three types of roles in a convergecast tree. . . . . . . . . . . . . . . . . . 28 3.4 Measured versus estimated throughput of Tmote Sky device for ACK- disabled case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.5 Measured versus estimated throughput of Tmote Sky device for ACK- enabled case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.1 The length of RX = 2 slot-length, the length of TX = 1 slot-length. . . . 42 4.2 TX and ID mode have one slot, RX mode has two slots. . . . . . . . . . . 43 4.3 LTSP: LightTimeSync message format. . . . . . . . . . . . . . . . . . . . . 45 4.4 Software architecture for distributed part of MCC. . . . . . . . . . . . . . 47 4.5 Network connectivity of the testbed at dierent power level. . . . . . . . . 52 4.6 LTSP: Time synchronization accuracy comparison. . . . . . . . . . . . . . 54 4.7 LTSP: Time synchronization error in a 5-node line topology. . . . . . . . . 55 4.8 Maximum subtree size and max hop count obtained by CMS Algorithm in 30-node networks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.9 The impact of time slot length on relay transmission and sink reception (packet size = 40 bytes ). . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.10 Optimal slot lengths for sink and relay nodes in MCC. . . . . . . . . . . . 58 viii 4.11 Number of channels required to eliminate interference. . . . . . . . . . . . 59 4.12 One example of a 30-node network: tree and schedule. . . . . . . . . . . . 61 4.13 A balanced routing tree with 10 nodes. . . . . . . . . . . . . . . . . . . . . 62 4.14 Throughput of backlogged MCC compared with the expected maximal achievable throughput with or without ACK. . . . . . . . . . . . . . . . . 63 4.15 Network throughput comparison of backlogged-MCC, MCC and CTP-Ideal in a 10-node network at power level 31. . . . . . . . . . . . . . . . . . . . 64 4.16 Network throughput comparison of MCC, CTP-Ideal, and RCRT in a 30- node network. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.17 Network throughput and Jain's fairness in networks with dierent sizes. . 67 4.18 Average on-time and energy consumption ratio in 30-node networks. . . . 69 5.1 Zigbee channels and Wi-Fi channels (1, 6 and 11 are highlighted.) in 2.4GHz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.2 All RF activities in 2.4GHz captured by Wi-Spy spectrum analyzer. . . . 75 5.3 Tutornet Testbed on the 4th oor of RTH building. . . . . . . . . . . . . . 76 5.4 Link qualities (PRR values) in 16 channels for link 1 to 900. . . . . . . . . 78 5.5 Link qualities (PRR values) in 16 channels for link 901 to 14340. . . . . . 79 5.6 Sorted average PRR in 16 channels for 1434 links. . . . . . . . . . . . . . 80 5.7 All 16-channel PRR distributions of dierent level of links . . . . . . . . . 81 5.8 Sorted average PRR in 16 channels for 863 good links. . . . . . . . . . . . 81 5.9 All 16-channel PRR distributions of 863 good links. . . . . . . . . . . . . 82 5.10 Best channel distribution of links in the 55-node network. . . . . . . . . . 83 5.11 Good channel distribution of good links in the 55-node network. . . . . . 84 5.12 The distribution of the number of good channels for good links in the 55-node network. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 ix 5.13 Sorted channel quality in all 16 channels. . . . . . . . . . . . . . . . . . . 86 5.14 The distribution of link quality levels in all 16 channels. . . . . . . . . . . 87 5.15 Receiver-based neighbor distribution, with = 90%. . . . . . . . . . . . . 88 5.16 The maximum and minimum neighbor set size in all 16 channels of nodes. 89 5.17 Link asymmetry ratios in all channels. . . . . . . . . . . . . . . . . . . . . 91 5.18 Symmetric and asymmetric good link pairs in all channels. . . . . . . . . . 92 6.1 Smaller leads smaller Schedule Length in CQAR. . . . . . . . . . . . . . 107 6.2 Larger leads larger Opt-ETX/Avg-ETX in CQARA. . . . . . . . . . . . 108 6.3 Larger leads smaller sum ETX in CQARA. . . . . . . . . . . . . . . . . 109 6.4 Impact of on the Normalized Throughput of CQARA in 16-channel case. 110 6.5 Impact of on the Normalized Throughput of CQARA in 6-channel case. 110 6.6 Compare the impact of on average Sum ETX in 16-channel and 6-channel case using CQARA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 6.7 Compare the impact of on average Normalized Throughput in 16-channel and 6-channel case using CQARA. . . . . . . . . . . . . . . . . . . . . . . 112 6.8 Impact of dierent parameters on the Connectivity Ratio. . . . . . . . . . 113 6.9 Impact of dierent parameters on the average Opt-ETX/Avg-ETX. . . . . 114 6.10 Impact of dierent parameters on Avg-Path-ETX of CQAA and CQARA in 6-channel case. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6.11 ICRA connectivity in dierent networks. . . . . . . . . . . . . . . . . . . . 117 6.12 The average Opt-ETX/Avg-ETX comparison in 16-channel case. . . . . . 118 6.13 The average Normalized Throughput comparison in 16-channel case. . . . 119 6.14 The average number of used channels comparison for ICRA, CQAA and CQARA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 x 6.15 The Avg-Path-ETX comparison for CQARA and CQAA. . . . . . . . . . 120 6.16 Channel eciency comparison with dierent available channel sets. . . . . 121 6.17 Average schedule length comparison with dierent available channel sets. 122 6.18 Average Opt-ETX/Avg-ETX comparison with dierent available channel sets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 6.19 Average Normalized Throughput comparison with dierent available chan- nel sets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 6.20 Avg-Path-ETX of CQARA and CQAA with dierent available channel sets.125 xi Abstract Recent studies have shown that wireless sensor networks are fundamentally throughput- limited because of their high densities, scale, and convergecast nature of data collection trac. Thus, it is of interest to develop high-rate data collection techniques for sensor networks. In this thesis, we make four contributions to address this challenge. First, through systematic experiments with real WSN hardware (Tmote Sky), we identify the maximum possible throughput for many-to-one (convergecast) data collection in sensor networks as a function of key communication parameters such as packet size, use of acknowledgements, and network topology. Second, we demonstrate that the maximum achievable network throughput can in fact be attained in practice using a carefully designed mix of routing, frequency alloca- tion and time scheduling. We implement this in the form of Multi-Channel Collection (MCC), the rst near-optimal multi-channel time-scheduled protocol for fair, real-time data collection in Wireless Sensor Networks. Compared to state of the art single-channel random-access-based collection protocols for WSN, we show through testbed experiments that this approach oers 48-155% improvement in throughput. We also show how to ex- ploit the time-scheduled nature of this approach for other benets: dramatically reducing the number of required frequency channels as well as decreasing the energy utilization. xii Third, we measure and analyze the link qualities across all channels in an indoor testbed. We observe that, besides the time-varying and location-dependent features, links exhibit a large variety of qualities in dierent channels. And asymmetry is common (on average, about 30%) for links in all channels. Based on these observations, we argue that channel quality awareness is important for multichannel protocols. Finally, we design new routing and channel allocation approaches, CQAR (Channel- Quality-Aware Routing) and CQAA (Channel-Quality-Aware Allocation), which take the channel quality into consideration. Both CQAR and CQAA can be incorporated into the MCC framework. According to how MCC uses the channel quality information, we propose three dierent variants: ICRA (Ideal Channel-based Routing and Allocation), CQAA, CQARA. We evaluate these approaches by simulations based on real testbed measurement. The results show that CQAA and CQARA are able to achieve high overall delivery ratio and normalized throughput. Though ICRA has similar performance when network size is small, it does not scale very well as the other two. CQARA exhibits high eciency of both channel utilization and energy consumption. This shows the benets of considering channel quality in multichannel protocols. xiii Chapter 1 Introduction Networks of wireless sensors, each capable of a combination of sensing, computation, radio communication, possibly even actuation, are envisioned to form a key component of the emerging \Internet of Things". Because of their low cost and small size, they can be widely deployed, including in hard-to-reach areas. In recent years, Wireless Sensor Networks (WSNs) have gained widespread usage for automated data collection in many dierent scenarios, like environment monitoring, surveillance system, trac monitoring, building automation, etc. [1]. In the typical setting of convergecast data collection, a large number of nodes are deployed in an area and they send the data to a common base-station, which is called sink in WSNs, directly or via multiple hops. In many real implementations [2, 36], it has been found that even if each sensor generates low rate data individually, due to the density of deployment and the many-to-one hop-by-hop trac pattern, the amount of trac close to sink is still too high, leading to high loss rate and poor throughput. This is even true for WSNs with small size and light trac, as shown in [3, 36]. For example, as mentioned in [36], in their initial experiments on a 9-node WSN for a trac monitoring 1 application, the yield of the network was only around 73%, preventing a larger scale deployment. This is also observed in [13], in which experiments are performed on the testbed using Tmote Sky devices. It is shown that with 40-byte packets, the per-source rate in a 40-node WSN is only about 0.5pkts/sec; thus the network throughput is only 6:4kbps, about 2:56% (!) of the nominal 250kbps data rate of the IEEE 802.15.4 radio on Tmotes. These observations illustrate that sensor networks are fundamentally throughput limited. Even for small-medium scale networks with 100 or fewer nodes, it is essential to design protocols that can improve network and per-source throughput, and have a more ecient link utilization. This work is therefore aimed at improving the throughput performance of wireless sensor networks. Though the throughput has been analytically studied in many papers, like [4, 5, 6, 7, 8], a comprehensive study based on real hardware is still lacking. We ask and answer two questions based on experiments with state-of-the-art wireless sensor network hardware : 1) What is the maximum possible data collection rate for a given network? 2) Can this maximum rate be achieved in a real system? To answer the rst question, we rst undertake a series of experiments on a repre- sentative widely-used WSN platform, the Tmote Sky with CC2420 radio. This allows us to obtain a systematic understanding of throughput performance with current hard- ware, which has been lacking in the literature. We study how throughput performance is aected by the packet size, node function (leaf / relay / sink), and the use of acknowledge- ments for reliability. Our experiments show that the maximum achievable throughput varies signicantly with these parameters, and is well below the radio link rate provided by the PHY layer. To answer the second question, we design and implement the rst-ever 2 real protocol implementation of fair throughput-maximizing multichannel convergecast, and demonstrate that it is able to achieve almost the highest-possible rate given the hardware limitations of a real sensor node. Signicant eort has been expended in recent years in the literature on developing and experimentally evaluating high throughput routing and rate-control protocols [10, 12, 13, 14, 37]. Nearly all of these eorts have been single-channel, CSMA-based protocols. While single-channel CSMA mechanisms are relatively easy to implement, their data rate is signicantly limited by co-channel interference, particularly in dense deployments. Interference could be reduced by allocating dierent channels to dierent links, im- proving the eciency of bandwidth usage. However, time synchronization is needed to eciently coordinate the communication of nodes operating on dierent frequency chan- nels. This motivates us to design and implement a time-scheduled multiple channel high rate data collection protocol, that we refer to as Multi-Channel Collection (MCC). There has been relatively little prior work in this direction in sensor networks; the most closely related work being the recently developed PIP [38], which too provides time-scheduled multiple channel collection, but in an end-to-end connection-oriented fashion for bulk data transfer from one or two sensors at a time. Our eort, in contrast, allows for real-time and fair data collection potentially from all sensors in the network. Following the modular design principle, MCC provides a framework for multichannel- based collection protocols. It has many key components, including network connectivity determination, routing tree formation, channel allocation, time scheduling and data col- lection. Our implementation of MCC is inspired in part by a recent theoretical study [29], 3 which shows that once interference has been eliminated through time and frequency al- location, the network throughput is limited by the routing topology, and that a balanced tree construction allows the maximum possible data rate in the network. A barrier to implementing such a protocol in practice, however, is the limited understanding in the state of the art, of what the maximum possible rate is with real hardware, and how it is aected by relevant factors such as packet size. We measure the overall performance of the MCC protocol in terms of the network throughput under various settings (the use of acknowledgements (ACK), network topol- ogy) using the testbed and show that it achieves close to the estimated maximum through- put. We compare MCC with the collection tree protocol (CTP) [9], a state of the art single-channel collection protocol for WSN, with ideal rate allocation, and with RCRT [14], a state of the art single-channel centralized rate allocation protocol, and show that it provides signicant improvements in throughput, ranging from 48% to 155% with respect to CTP-ideal and even more with respect to RCRT (which however pro- vides additional end-to-end guarantees that MCC does not). We also show that if nodes were turned o during un-scheduled times, the average energy utilization could be re- duced by about 85 to 95% compared to an always-on network. Thus MCC is not only throughput-optimal, it is also extremely energy-ecient. The current implementation of MCC assumes all channels are equal. This is not true in a heterogenous environment, like our oce building. To better understand link quality, we perform a set of measurements on our indoor testbed. It shows that link quality is not only time-varying and location-dependent, it is also channel-dependent. Link asymmetry 4 is also common in all channels. Based on these observations, we believe channel quality awareness is important for multichannel-based protocols. We design new approaches for routing and channel allocation to take the dierent link qualities into account. These two approaches can be incorporated into the MCC framework. Therefore, according to what approach is applied, There can be three ver- sions of MCC: ICRA (Ideal Channel-based Routing and Allocation, which assumes a perfect environment and ignores the channel variety.), CQAA ( Channel Quality Aware Allocation, which considers channel variety information only in channel allocation) and CQARA ( Channel Quality Aware Routing and Allocation, which considers channel vari- ety information for both routing and channel allocation.) We compare dierent versions of MCC and show that in small networks, all of them have high overall delivery ratio and normalized throughput, but ICRA does not scale well as CQARA and CQAA. We have also shown that CQARA exhibits high eciency of both channel utilization and energy consumption. This suggests that enhancing MCC to use CQARA would be benecial. 1.1 Contributions and Organization We summarize the key contributions of this work: The rst systematic experimental analysis and modeling of the impact of packet size, node function, and use of link-layer acknowledgements on the maximum achievable throughput in real WSN hardware. The empirical demonstration that it is possible to obtain close to the estimated maximum achievable network throughput in a real network. This is done through 5 our design, implementation, and testbed evaluation of MCC, the rst high-rate multi-channel TDMA collection protocol for real-time data gathering in sensor net- works. The nding that doing channel allocation using time scheduling information is ef- fective in reducing the number of channels required for a multi-channel collection protocol. In particular, with this approach, in a 30-node network, we are able to achieve contention-free scheduling in all cases with just 2 to 4 channels. The measurement and analysis of link quality showing that it is channel-dependent. For multichannel-based protocols, channel quality awareness is very important. The simulation-based demonstration that channel-quality-aware approaches are es- sential for the reliability and performance of MCC. Channel-Quality-Aware Routing and Allocation oers high overall delivery ration, normalized throughput and energy eciency. The thesis is organized as follows. First, we discuss prior work in chapter 2. In chapter 3, we model, analyze and measure the maximum achievable throughput of con- vergecast. Based on the lessons we learned, in chapter 4, we present the design and implementation of MCC. We rst evaluate its components on an experiment testbed. Then we deploy MCC on a 30-node network and compare with state of the art single channel collection schemes. In chapter 5, we measure link qualities for all 16 channels. These measurements show the importance of channel quality awareness for multichannel- based protocols. Based on this observation, in chapter 6, we propose and evaluate the Channel-Quality-Aware approaches for routing and allocation, which can be incorporated 6 into the MCC framework. Finally, we summarize our contributions and the scope of our current work, also point out future directions in chapter 7. 7 Chapter 2 State of the Art As described in chapter 1, our work focuses on maximizing network throughput for data collection applications in WSN. It is a combination of theoretical analysis, experimental measurements and implementation. There are a large number of papers related to our work. In this chapter, we rst discuss the previous work in WSN data collection, especially focusing on experimental research in this area. Then, we present a survey of existing multichannel-based protocols. Finally, we discuss the related work for channel utilization and allocation. 2.1 Data Collection in WSN Given more than a decade of research on wireless sensor networks, the number of pa- pers written just on convergecast protocols is too vast to enumerate comprehensively. Instead, we focus our review on key works, particularly those that have focused on real implementation and experimental validation over testbeds. A primary emphasis of this work is on characterizing the maximum achievable through- put in a wireless sensor network. This question was also posed by Osterlind and Dunkels [105] 8 in the context of a linear (single branch) network, motivated by bulk transfer protocols which sequentially obtain data from sources one at a time over a single path. Like we do in this work, they also consider the problem of the maximum achievable throughput and the role played by the SPI bus transfer rate on this throughput. They present a con- ditional transmission approach to alleviate the SPI-copy bottleneck on relay nodes. In investigating the maximum achievable throughput, we believe our work provides a more comprehensive and ne-grained characterization, including consideration of the packet size, node roles, and the two parameter model, which also accounts for non-packet-size- dependent factors such as software delays. Because we consider a general network, in which there are multiple sources that are simultaneously active and hence multiple paths, we present a more sophisticated approach that uses balanced routing, time and frequency allocation, in which the SPI bottleneck on the relays is alleviated without the use of the conditional transmission approach, by pipelining among dierent senders to the sink. Finally, unlike [105], we present a functional multichannel scheduling protocol for real time fair data collection that achieves close to the maximum throughput for any wireless sensor network, not just for a single branch. Although it has not been designed for high-rate performance, the defacto state of the art routing protocol for WSN today, which oers reliable delivery performance, is the Collection Tree Protocol(CTP) [9]. We therefore use it as a baseline comparison for MCC. Alternate routing approaches that also show performance improvements are Arbutus [11], which oers improvements in load balancing and reliability, and the queue- aware dynamic routing mechanism BCP [10], which shows improvement in throughput as well as robustness to external interference. 9 Others have focused on avoiding congestion collapse and maintaining high rate de- livery by using a rate control protocol. Examples include IFRC [12], and WRCP [13]. A centralized approach to rate control, RCRT [14], has been shown to yield even better rate performance. Flush [37] oers a robust, high-rate connection-oriented bulk transfer capability. All these protocols are single-channel protocols, and have been developed over CSMA, due to ease of implementation. 2.2 Multi-Channel Protocols Current WSN devices, e.g., CC1100 [50] and CC2420 [49], already can provide the fre- quency hopping and multichannel function. This provides another dimension to improve throughput, possibly reduce delay. Multi-channel protocols have been developed previ- ously for tranditional wireless networks as well as mobile ad hoc networks [25, 30, 55, 56, 57, 103, 106]. Though these protocols share the wireless communication nature, they usually assume much powerful, such as 802.11-based devices. Some of them may have multi-radios listening to dierent channels simultaneously [61, 62, 63, 64, 65, 66]. A survey for multi-radio multi-channel protocols can be found in [67]. However, in WSNs, nodes are equipped with a single, half-duplex low power radio. The network is also larger and more dense, with multi-hop routing for data-centric trac of much smaller packets. In addition, from the perspective of interference and communication feature, 802.15.4 shows very dierent behavior from 802.11 [109]. Therefore, many of these protocols are not entirely suitable or practical for WSNs. In the following, we focus on summarizing the prior work on multi-channel protocols for WSNs, in which devices only have single 10 half-duplex radio with channel switching function. Based on earlier work, we then discuss our design for the real-time converge-cast applications in WSN. Here we adopt some of the denitions and categorization from [22, 107, 73] , which are comprehensive surveys of the topic. 2.2.1 Challenges In multi-channel protocols, usually orthogonal channels are used to enable the parallelism of transmissions. It can also mitigate interference and hence improve the reliability and reduce the retransmissions. Despite these advantages, multi-channel communication also raises new challenges for WSNs. We identify the following two fundamental problems and explain them in detail: Coordination of communication Channel allocation The essence of coordination of communication is to align sender and receiver in both time and channel domain. It may involve MAC (Media Access Control) and rout- ing layer in the radio stack. In WSNs, typically, MAC can be divided into 3 types: random access (e.g., CSMA/CA), scheduled (e.g., TDMA) and the hybrid of these two (e.g., Z-MAC [104]). For routing protocols, the most commonly used in WSN are tree- based algorithms. Dierent types of MAC and routing mechanisms may launch dierent challenging problems. We list some of them in the following. 11 Communication synchronization: this problem can be further divided into three subproblems. Multi-channel hidden terminal refers the situation where in CS- MA/CA based protocols, a node operates in one channel and misses the RTS/CTS control information in another channel. This node further switches to the dierent channel, sends RTS and causes a collision [57]. The deafness problem happens when sender and receiver are in dierent channels. This could be caused by loss of time synchronization or channel oscillation. It is also dicult to have broadcast support if neighbors are in dierent channels [22]. Time Synchronization: depends on the resolution requirement and trac pattern, this can be done in either coarse-grained or ne-grained meaner. In FTSP [17], the authors propose and implement a synchronization protocol for single channel. But this problem is more complicated if nodes are in dierent channels. Topology discovery and routing: how does a node discover its neighbors if multiple channels are available? In each channel, nodes may have dierent connectivity information, which will impact the routing tree construction. On the other hand, routing structure may decide the trac pattern and further impact the interference in channels. Channel allocation is to eciently assign channels to nodes / links / transmissions to improve the performance. This has been an active topic in 802.11 networks [58, 59, 60, 67, 72]. But it is more complex in the WSN setting due to its higher density, large-scale deployment and low power, single radio feature. The challenging problems include: 12 Channel availability: multiple channels are used to reduce or eliminate interference. There are two types of interference: external and internal. The former one is usually considered in the context of the coexistence of dierent devices in ISM-band. Earlier studies [88, 93] observe that 802.11 trac has big impact on WSNs. For the internal interference, it can be further divided into inter-channel and intra-channel interference [44, 70, 71]. In dierent location and time, the interference causes may be dierent. Therefore, it is dicult to identify available channels in both spatial and temporal domain. Scalability: WSNs usually have tens or hundreds of nodes, deployed with relatively high density. But in 2.4GHz band, there are only 16 channels for 802.15.4 devices. Among these channels, some of them might be severely impacted by outside inter- ference. If we further consider the frequency distance to guarantee interference-free channels, the number of available channels will be even more limited. The channel allocation is more complex at large scale. Adaptability: channel allocation needs to be adaptive to the spatial and temporal varying feature of channels. It also needs to be aware of changes of the networks, which is already a hard problem in single channel setting. When nodes operate in dierent channels, it is more dicult to detect a node's joining or leaving. 2.2.2 Classication Each multi-channel protocol needs to resolve the two fundamental problems: coordination of communication and channel allocation. There are many dierent ways of designs, which 13 are preferable depending on dierent requirements of applications. We want to give a brief summary and compare the relative merits of dierent schemes according to their implementation, channel allocation schemes, and MAC types. From the perspective of implementation, the protocols can be divided into centralized and distributed approach. As may be expected, the centralize solution can have a global view of the network, simplify the function on sensor nodes. But it may not scale very well and may not be adaptable to changes. HyMAC [68] is a protocol based on centralized scheduling of time and frequency. Usually, the input of centralized scheme is a graph of network topology and available number of channels. Based on certain interference model, constraints and objective, the formulated problems are usually NP-hard. In the distributed implementation, each sensor node makes decision based on local information exchange. With the cost of the communication overhead, it is usually more scalable and adaptable. However, sometimes nodes may have dierent views and the result cannot converge. For example, MMSN [32] uses a 2-hop coloring for channel assignment in a distributed manner. After initial conguration, according to whether a radio sticks to a xed channel or not, the protocols can be classied into three types: static, semi-dynamic and dynamic. static: xed channel allocation is assigned to a radio in the network initialization phase. A radio may use dierent channels for receiving and transmitting. Even it can be done periodically, the channel allocation does not change during the interval. Examples of this scheme are [69] and TMCP [24]. A cluster-based layered network is used in [69]. Each cluster has a predened channel. TMCP [24] is a tree-based scheme, allocating channels to disjoint sub-trees and exploits parallel transmissions 14 among them. The motivation is to minimize interference within a cluster or a subtree. This approach is relatively easy to implement. This scheme does not need to have dedicated control channels. After one channel allocation, all resources, e.g., channels, time, are used for data transmission. Therefore, in an ideal environment, the throughput can be greatly improved. But its drawback is that it is not adaptive to changes. semi-dynamic: this scheme is either sender-based or receiver-based allocation. For instance, in a receiver-based case, the TX channel of a node is predened. But a node may switch its TX channel to send packets to dierent neighbors. MMSN [32], TFMAC [21] and RACNet [15] fall into this category. Usually, a node needs to maintain a channel mapping table for its neighbors. This may introduce storage and communication overhead. But as may be expected, semi-dynamic can improve the adaptability. It may also be helpful to resolve the network partition problem by switching channels for dierent neighbors. dynamic: there is no xed channel assignment to a radio. Channel allocation could be either ne-grained for every transmission (e.g., [26]), or coarse-grained data ow (e.g., MCRT [75]), or event-driven (e.g., [19]). Compared with the previous two schemes, the channel allocation overhead of dynamic scheme is relatively high. But it is more adaptable to change. According to the principle of operation, as per [107], it has the following variants: { Dedicated control channel: a channel is used for all nodes to exchange control information to agree on the channels of data transmissions. ARM [74] is one 15 example of this scheme. As we can see, time synchronization is not reqired since all controls happen in one channel. But the control channel itself could be bottleneck or single point of failure. Especially, when the network is dense and the number of available channels is limited, it leads to inecient bandwidth utilization. { Frequency hopping: nodes switch channels according to their predetermined switching sequences. Y-MAC [23], MuCHMAC [27], EM-MAC [76] belong to this group. Frequency hopping can happen for each data transmission or only when channel condition is bad, for example, detection of high interference. For the rst case, the switching overhead is a big issue and tight synchronization is usually expected. For the second case, time synchronization could be relative loose. But nodes may need to compete for data transmission. And extra control negotiation is necessary. { Split phase: time is divided into two phases: control and data phase. Nodes periodically switch to control channel together to negotiate channel selection for the following data phase. MC-LMAC [20] is one example of this type. However, since synchronization and control information may introduce extra overhead to WSNs. It is more often used in ad hoc networks (e.g., TMMAC [31] and MMAC [33]). The control channel still could be the single point of failure. Besides, during the control phase, only the control channel can be used. In general, the bandwidth utilization is low, especially when the ratio of control phase over data phase is large. 16 Multi-channel communication can apply random access or scheduled scheme. It can also use a coarse-grained time synchronization and randomly access the medium inside each divided time frame. Random access, like CSMA, is very simple and adaptive to change. Many protocols (like TMCP [24], MMSN [32], [69] and ARM [74]) are based on it. However, the throughput of CSMA is limited. With heavy trac load, it also has high energy waste due to collisions. On the other hand, the scheduled scheme (TDMA) can have higher bandwidth utilization, but with the overhead cost of synchronization. Also, a time schedule is usually topology specic. If the network changes after a schedule is applied, new conguration may be necessary. Sometimes, MAC protocol and chan- nel allocation scheme should be considered jointly. For instance, dynamic scheme with frequency hopping, like Y-MAC [23], MuChMAC [27], needs to use TDMA. 2.2.3 MCC in Context With respect to the above-mentioned classications, our initial implementation of Multi- Channel Collection (MCC) described in chapter 4 is centralized and static. We address the problem of channel and time synchronization using scheduled access and periodically switching to a common channel. We leave to future work to its extension to distributed and dynamic approaches, possibly involving a hybrid of scheduled and random access. 2.2.4 Throughput Maximization The trac pattern and application objective is also important for protocol design. WSNs are mainly used to monitor environment. Therefore, the most common trac pattern is the many-to-one convergecast. It can be further classied as trac with constant rate and 17 event-driven data ows. In the following, we focus on our design philosophy for a multi- channel communication protocol targeted at maximizing the throughput of convergecast applications with constant data rate. Our work is inspired by the theoretical study in [29], which presents frequency-time scheduling and routing algorithms for fast convergecast. In particular, that work shows that when sucient channels are available to eliminate interference, the bottleneck for throughput becomes the routing topology and proposes a balanced routing tree formation algorithm that we utilize here. However that work considers an idealized network that is evaluated purely through simulations. This can be misleading as under such an evaluation packet size has no impact on throughput, and the maximum throughput is assumed to be the maximum link rate allowed by the radio's physical layer. As we show in this work through careful experiments and modeling, in practice the maximum rate is not that allowed by the radio PHY layer, but is also a function of the rate of the bus between the microprocessor and the radio on the sensor node; for this reason, in practice, the maximum throughput possible turns out to be a concave function of the packet size. We present in this work the rst-ever real protocol implementation of fair throughput-maximizing multichannel convergecast, and demonstrate that it achieves the highest-possible rate given the hardware limitations of a real sensor node (the Tmote sky device with CC2420 radio). 2.2.5 Implementation for WSN We now turn to practically implemented mechanisms for multichannel collection in wire- less sensor networks that have been evaluated through extensive testbed experiments. 18 Y-MAC [23] presents a multi-channel protocol for wireless sensor networks that is based on lightweight channel hopping. Nodes on a link hop to a new channel when trac bursts occur, following a predetermined sequence. The focus of Y-MAC is to improve energy eciency by reducing contention, rather than high rate performance, and it does not oer any guarantees in this regard. WRAP [15] uses multiple frequency channels with time synchronization. Data collection in WRAP is implemented using a token-passing scheme. Designed for highly dense deployments, it allows only one node in the network to be actively transmitting at any time. For this reason, while it does cut down drastically on interference and congestion, WRAP does not guarantee maximum rate performance in an arbitrary network. The experimental work that is most relevant to our work is PIP [38]. This is a joint TDMA-FDMA based bulk-transfer protocol. In its basic form, it allows the sink to establish a connection with a particular sensor node and download data from that node at the highest rate possible. By keeping the sink occupied half the time (it must remain idle whenever the node one hop from it is in receive mode) it can achieve at least 50% of the maximum throughput. The authors of this work point out that to fully occupy the sink, with sucient channels, it is possible to schedule two concurrent ows, keeping the sink fully occupied and thus achieving the maximum possible throughput, which is also our goal in this work. A key distinction, however, is that the MCC protocol we describe in this work is able to collect data fairly from all nodes in the network, rather than establishing connections only to one or two at a time. Thus, it is more suitable for real-time, fair data gathering applications. Also, MCC incorporates a balanced routing mechanism to ensure that the maximum rate is achievable. Moreover, we carefully evaluate the maximum 19 possible network throughput with respect to packet size, network topology, use of ACK, etc., and demonstrate conclusively that this can be achieved in practice by our protocol. 2.3 Spectrum Usage During implementing and evaluating our multi-channel protocol, we notice that given the same conguration of routing and schedule, if the mapping of channels is dierent, the performance could vary signicantly. This observation motivates our study of the spectrum measurement and channel-specic link quality analysis. In general, the quality of wireless communication can be aected by many factors, in- cluding internal / external interference, collisions, physical obstructions, multipath fading, inclement weather and etc. For WSNs, the devices operate at the license-free Industrial Scientic and Medical (ISM) bands. Especially, in the 2.4GHz band, the spectrum is very crowded, shared with a large variety of devices, like Wi-Fi, bluetooth and microwave ovens. Therefore, coexistence is always a challenging problem [54] [83]. Coexistence issue is particularly challenging for the 802.15.4-based networks. A lot of eorts have been undertaken to study the performance of 802.15.4 under the external interference [78, 82, 84, 88, 90, 92, 93]. It shows that growing concern is in the coexistence of 802.15.4 and Wi-Fi, with the protection of 802.15.4 network from WiFi. As reported by Steibeis-Transfer Center [93], the impact of 802.11 on the sensor network is signicant and may lead to above 90% packet loss in some realistic setups. The root cause has been revealed in [81, 89]: compared to Wi-Fi signal, 802.15.4 has a much lower output power 20 and 16 times longer MAC-layer time slot. Besides Wi-Fi, Bluetooth and microwave ovens could also be a threat, but perhaps to a smaller extent to 802.15.4-based WSNs. Coexistence issue can be addressed by dierent mechanisms, e.g., transmit power con- trol [87], game theory based scheme [53, 85] and channel coding based scheme [80]. But most commonly, under the assumption that link quality is channel-specic and space- varying, approaches usually explore either the frequency diversity [77, 86] or path diver- sity [98]. The study by Gonga et al. [99] tries to compare the performance of these two schemes. However, in order to fully exploit the opportunity aorded by frequency or path diversity, it is important to study the channel quality characteristics in a multi-channel setting. A better understanding of channel quality is essential for protocol design and network provisioning. For example, the frequency diversity can be achieved by static channel assignment (i.e., the the ZigBee Coordinator [83]) or dynamic channel assignment (i.e., frequency hopping). Though channel quality is known as time-varying, the static approach assumes it is still possible to capture the quality in a coarse-grained manner. Link quality study has always been an active area in WSNs. The main focus is its temporal and spacial varying characteristic, rather than the channel-specic feature. It has been implicitly assumed by many that protocol performance is the same on all channels. Srinivasan et al. [79] measure the packet delivery behavior of two latest sensor platforms and points out that with the impact of interference from 802.11 and Bluetooth, protocol performance is not the same on all channels. But this work does not examine quality characteristic of channels in ner detail. Sexton et al. [91] examine the temporal and frequency variations of the performance of 802.15.4 physical ratio due to 802.11 21 jamming and multipath fading. Petrova et al. [90] and Xing et al. [94] use measurement to simulate or model the interference pattern in WSNs. Dierent from earlier work, our study is to measure the ambient channel condition across all 2.4GHz ISM band as a whole in an oce environment, instead of considering any particular source of interference. We focus on analyzing the channel quality characteristics, rather than modeling or simulate the interference pattern between ZigBee and other ISM devices. The most similar works to ours are those by Doherty et al. [95], and Sha et al. [96]. Doherty et al. [95] present the channel-specic path data on a 46-node WSN, deployed in an industrial setting. RSSI and path stability (dened as 1 #NoACK #Transmissions ) are mea- sured. The network runs Time-Synchronized Mesh Protocol [102] for scheduled unicast transmissions over all 16 channels in 2.4GHz. A full data set of 91 paths 16 channels are obtained. The main observation by the paper is that stability of path is channel- specic. Also, the authors believe that stability and RSSI vary wildly over time, space, and frequency in ways that are dicult to capture with theoretical models, or used for prediction. Therefore, by hopping over all channels equally, the mean performance can be guaranteed. Dierent from this work, we measure the long-term average PRRs of links by broadcasting packets in the testbed. Instead of analyzing the performance of pathes, we study all links across dierent channels. As in our 55-node WSN setting, there are 1434 links with at least onePRR> 0 in certain channel. Our analysis is based on a data set of 1434 links * 16 channels. By this means, we have a comprehensive way to explore both channel diversity and path diversity. Sha et al. [96] perform empirical studies on 802.15.4 channels in home environment. It includes two parts: the passive spectrum analysis based on traces captured by Wi-Spy 22 analyzer across the entire 2.4 GHz band, and the active probing to study the multichannel link reliability in all 16 channels. The result shows channel selection can have a profound impact on reliability. Spectrum occupancy exhibits signicant variability over time and space. Especially, in a heterogeneous setting, ambient wireless signal is unpredictable. Infrequent Channel hopping is recommended based on conditions observed at runtime. Dierent from their active probing, in which a star-topology with single sender is used, we measure a much larger mesh network. Therefore, by avoiding choosing the transient links in the gray zone, it is still possible to capture the channel quality at an hourly timescale. From the earlier work and our study, we argue the channel quality awareness is im- portant for the reliability and performance of all communication protocols in WSN. In chapter 6 of this thesis, we therefore consider sophisticated variants of MCC (namely CQARA and CQAA) that incorporate channel quality awareness into routing and chan- nel scheduling. One recent work for multi-channel WSN protocol, proposed by Hanninen et al. [100], also considers link quality in the channel selection. It is a cluster-tree based protocol using dedicated control channel for dynamic allocation. The channel selection is decided by a channel grading mechanism, which measures link reliability to discover low interference and lightly loaded channels. This protocol uses superframe with beacon in common channel for synchronization and neighbor discovery. Dierent from this mech- anism, in order to support high throughput, we use a tight synchronization without the need of contention in each superframe. Also, we propose to use a centralized scheduling based on global information for network conguration. 23 Chapter 3 Understanding Throughput with Real Hardware Although naively, the maximum throughput may be considered to be simply the link rate of the underlying radio protocol, in practice, the throughput may be even lower due to hardware limitations. In this section, we systematically study one particular WSN hardware platform, the Tmote Sky, and understand its rate with respect to dierent key parameters. This allows also to estimate the maximum achievable throughput, and gives us insights on how to design a protocol to approach that upper bound. Figure 3.1: A high level view of sensor node architecture. 24 3.1 Basic Model We show in Fig. 3.1 a high level view of a sensor node's architecture (as our focus is on understanding throughput performance for the communication stack, we omit the sensor itself in this gure). The node has a micro-controller, a radio with 2 separate buers (one for TX, another for RX), and a bus to copy data between them. The total time for transmission or reception of a single packet, T Packet , can be written as a linear combination of a constant term and a term proportional to the packet size. T Packet = +Packet Size (3.1) The pertains to per-packet software, bus and radio latencies that are independent of the packet size. The rate term depends on the CPU rate, the bus transfer rate, the radio rate, and the degree of pipelining achieved between successive packets. The corresponding throughput can then be calculated as: Throughput = Packet Size T Packet (3.2) The above equation provides a general throughput model. We will apply this model to Tmote Sky, which is the most widely used platform in WSN applications. 3.2 Specications of Tmotes Tmote Sky is an ultra low power IEEE 802.15.4 compliant wireless sensor module based on a TI MSP430 and Chipcon CC2420 radio. CC2420 transceiver operates on 2.4GHz 25 radio band and provides 250kbps eective data rate. SPI interface is used for the com- munication between CC2420 and the MSP430 microcontroller. When a node transmits a packet, after the data is stored on TX FIFO on CC2420, data transmission is ultimately provided at physical layer by the transceiver. Figure 3.2: Schematic view of the IEEE 802.15.4 frame format. CC2420 complies with the IEEE 802.15.4 specication. Fig 3.2 shows the frame format. At the PHY layer, a transmission starts with a synchronization header, which consists of the preamble sequence followed by the start of frame delimiter (SFD). The frame length eld has 7 bits and denes the number of bytes in the MPDU, which has the maximum value of 127. To receive a packet, a node searches for SFD and stores MPDU in the receive FIFO. CC2420 is a packet-oriented radio. In a packet-oriented radio, when it receives a packet, it needs to wait for the completion of the packet and then starts to copy data from RX-FIFO to -controller. It is similar when a node transmit a packet. The radio can only start the transmission after the packet is already in TX-FIFO. But there is one dierence between TX-FIFO and RX-FIFO. TX-FIFO is only allowed to hold one packet at anytime, while RX-FIFO is able to hold multiple packets as long as it still has space. Therefore, in most cases, we can assume that T BUS and T RADIO do not overlap. Due 26 to this characteristic, while is very software-specic, based on hardware specs for the Tmote Sky device, we can estimate that lies between 0.078 and 0.082 ms / byte 1 . But for a receiver node, would be smaller due to T BUS and T RADIO overlapping among dierent received packets. In this case, 's range is [0:5; 0:82]. Apply our throughput model to Tmotes, we get the following equation: Throughput = Packet Size +Packet Size (3.3) = Packet Size + 1 Bus Rate Packet Size + 1 Radio Rate Packet Size where the Radio Rate is 250kbps and Bus Rate is about 170kbps. The analysis implies that, for Tmotes, T packet = ( + 0:079Packet Size) ms, where Packet Size is in bytes. Even if is not known at this moment, we can see that throughput of Tmotes is upper bounded by 1 1 250kbps + 170kbps 101kbps. 3.3 Estimating the Maximum Convergecast Throughput In this section, we evaluate the throughput model ( 3.3) with experiments, especially, focusing on convergecast applications. 3.3.1 Methodology In a tree-based convergecast application, nodes have three types of roles Fig 3.3: sink, relay node and the leaf node. Sink: it only receives data from other sensor nodes. 1 According to dierent sources, the SPI bus speed is slightly dierent. It ranges between 160kbps to 175kbps. We use these values to estimate 's range. 27 Figure 3.3: Three types of roles in a convergecast tree. Relay node: a sensor node having one or more children. It receives and sends/relays data. Leaf node: a sensor node without child. It only sends its own data to its parent. For these three dierent roles, sink only receives, leaf only sends, while a relay node needs to send and receive. So it turns out that we need to identify dierent communication capability for dierent roles. We would like to measure the following quantities: receive rate of the sink (only receive); transmit rate of a leaf node (only send); (transmit + receive) rate of a relay node ( equal amount of send data and received data since we do not consider data aggregation and compression in the network). We believe, in a multichannel setting, by allocating dierent channels to eliminate the interference, these 3 rates nally determine the network throughput. 28 Table 3.1: Parameters for the curve-t of throughput estimation model (ms) (ms/byte) Sink, no ACK 1.79 0.062 Relay, no ACK 3.50 0.079 Leaf, no ACK 3.35 0.079 Sink, ACK 3.95 0.078 Relay, ACK 5.81 0.085 Leaf, ACK 5.52 0.079 In the rest of this section, we present the measurement of throughput for Tmotes of dierent roles. We use TinyOS 2.x as the OS platform [110, 111, 112], which by default uses B-MAC [16], a CSMA-CA based protocol. However, CSMA is a random access MAC. To reduce the collision probability, a node needs to have Initial Backo (IBO) and possibly Congestion Backos (CBO) for a packet transmission. IBO and CBO are specically for CSMA protocols. To measure maximum throughput, we should exclude these contention periods. Therefore, we modify TinyOS 2.x stack to support synchronized transmissions. 3.3.2 Measurement Results We vary the packet size from 10 bytes to 110 bytes and conduct the experiments with and without link-layer acknowledgement packets. For each setting we vary the slot length of packet transmissions to determine the maximum achievable rate and plot only those maximum rate points. The results we obtain are shown in Fig. 3.4 and Fig. 3.5. To measure sink receive rate, we use a star-topology with the sink receiving packets from multiple nodes one hop away from it. To measure the leaf transmit rate, we use a simple two-node link with the transmitter continuously sending packets to the receiver. To measure the relay rate, we consider a linear topology with each node receiving on a 29 Figure 3.4: Measured versus estimated throughput of Tmote Sky device for ACK-disabled case Figure 3.5: Measured versus estimated throughput of Tmote Sky device for ACK-enabled case 30 dierent channel to avoid interference. We measure the relay rate of intermediate nodes as they alternate between sending and receiving packets. A striking observation is that the maximum achievable throughput observed in prac- tice is at most about 100 kbps, well-below the ideal 250 kbps link rate provided by the CC2420 radio 2 . We nd that the measurements show an excellent t with the simple throughput model described in equations (3.1) and (3.2). The corresponding parameters of the best-t parameters for and are shown in table 3.1. We see that the model ts the data very well, and that the experimentally tted parameters are close to the expected range. 3.4 Summary and Discussion The modeling and throughput experiments summarized in Fig. 3.4 and Fig. 3.5 yield three key observations that inform our design of a high-throughput collection protocol: The throughput performance is very much a concave function of the packet size. To our knowledge, ours is the rst work to systematically quantify using real WSN hardware how the throughput varies with the packet size. The throughput is higher without ACK than with ACK packets. This is intuitive, as there is additional overhead incurred in generating and waiting for acknowledge- ments. However, using ACK feedback will improve reliability. The throughput performance is clearly aected signicantly by the role of a node. We nd that the maximum sink receive rate is slightly higher than the maximum 2 It is important to note, again, that this number re ects also software latencies, which determine . 31 leaf transmission rate. This is due to the possibility of greater pipelining at the sink which is receiving data from multiple transmitters 3 . We also nd that the relay rate, which is already halved as it must both receive and transmit, is further reduced due to the switching overhead between frequency channels. Thus, in a linear topology, the throughput bottleneck would be the relay node's maximum throughput. Note though that if we have even three dierent branches, assuming all transmissions are scheduled to avoid collisions, the sum rate of these branches exceeds the maximum sink receive rate. Thus the maximum collection rate of convergecast is bounded by the maximum sink receive rate. We will therefore compare the throughput achieved by our protocol with the maximum estimated sink throughput. In this discussion we have implicitly assumed that the network has a single sink. Note that because we are focused on maximally utilizing the sink, further throughput improvements are possible by increasing the number of sinks in the network. We defer investigating this design dimension to future work. 3 At the transmitter, the application must wait to send the next packet from the microprocessor to the TX buer on the radio until it is notied of the previous packet's transmission. From a receiver's perspective, the packet from one transmitter may overlap the time that the previous packet from a dierent transmitter is being copied from the RX buer to the microprocessor, providing greater pipelining eciency than in the transmitter. 32 Chapter 4 Multi-Channel Collection Protocol Based on the observations of the previous chapter, we nd that for convergecast the sink is generally the bottleneck. Conceptually, there are three possible sources of bottleneck: (1) interference, (2) relay node TX/RX rate and (3) sink RX rate. As argued in [29], we can mitigate (1) using multiple channels. We can address (2) by using suitably balanced routing topology. Therefore (3) becomes the fundamental limit on fair throughput.We develop a Multi-Channel Collection (MCC) protocol for convergecast that can achieve this rate. 4.1 MCC Design and Implementation The design philosophy of MCC is to eliminate or greatly reduce interference by using dierent channels, so that the network throughput is nally determined by the sink. In order to make nodes in dierent channels communicate eciently, it requires time syn- chronization and scheduling. Therefore, MCC is designed with two parts: conguration and collection. Conguration includes network connectivity determination, routing tree 33 formation, channel allocation, synchronization and time scheduling. Collection involves slotted transmission and channel switching based on the conguration. Network connectivity determination: the connectivity of the network determines the routing tree formation, channel allocation and time scheduling. Network con- nectivity is dened by user, e.g., PRR, ,location, priority order of nodes and etc. The connectivity information can be exchanged dynamically, or predened. Routing tree formation: according to dierent requirement of application, dierent routing tree could be generated. Routing tree construction could also be joint with channel allocation and time scheduling. Channel allocation: the purpose of channel allocation is to eliminate or greatly reduce the interference, and hence allow multiple parallel transmissions. It would also be used to avoid outside interference, like wi, bluetooth. Time synchronization and scheduling: time synchronization is implicit required by multichannel protocol in order to achieve ecient communication between nodes in dierent channels. According to the requirement of application, time synchroniza- tion and scheduling would be done in both ne-grained or coarse-grained manner. Collection: this is the major function provided by MCC. User applications generate dierent data and use the interface provided by MCC. The data collection provides a best-eort delivery. 34 In principle all these can be done in a distributed manner, but in our current im- plementation, the conguration tasks are managed centrally, while the collection is com- pletely distributed. Therefore, these components can be divided into server-side and mote-side. According to the execution sequence, we summarize them in Table 4.1. Table 4.1: MCC functional components Server-side Mote-side Connectivity determination Sec 4.1.1 Routing tree formation Sec 4.1.2 Channel allocation Sec 4.1.3 Time scheduling Sec 4.1.4 Time synchronization Sec 4.1.6 Data collection Sec 4.1.7 MCC provides a high-level infrastructure for multichannel-based collection service. It is able to support dierent design and implementation of routing algorithm, channel allocation and time scheduling scheme. In the following, we will present how the current version of MCC works. 4.1.1 Network Connectivity Determination This is the bootstrapping phase of MCC. The PRR values are rst computed in a dis- tributed manner by each mote. Initially, all nodes in the network start in the same channel. For a certain power level, each node broadcasts 100 messages. Whenever a node receives a message, it logs the sender's ID, and uses these messages to compute the PRR 35 for each other node it hears from. At this rst stage, we propose to use any single-channel data collection mechanism (e.g., CTP, or possibly some other lightweight mechanism) to obtain the computed PRR values from all sensors. The server uses the PRR values obtained along with a threshold parameter to compute an undirected connectivity graph G(V;E) and an undirected interference graph I(V;E 0 ) of the network for use in routing and scheduling. An edge (i;j) is placed in G if and only if PRR(i;j) > and PRR(j;i) > . An edge i;j is placed in I if either PRR(i;j) or PRR(i;j) are non-zero, in other words, all links with non-zero PRR are considered conservatively as potential interferers. 4.1.2 Balanced Routing Tree Formation using CMS Routing Tree plays an important role in data collection. If interference could be eliminated by allocating multiple channels in a TDMA network, then the schedule length is only decided by the tree structure. Intuitively, a tree with more parallel transmissions would yield a smaller schedule length, indicating a higher throughput. But as discussed in [34], routing trees that allow more parallel transmissions may not always result in higher throughput. One example is the schedule length in TDMA in a star-topology and a line- topology of same size N. Assume same amount of data on each node, for star-topology, the schedule length isN, while it would be 2N 1 for a line-topology. Our experimental observation also indicates the importance of a balanced routing structure. We assume that a TDMA network uses the same slot length for TX and RX. It has been shown in [29] that the available schedule length is lower-bounded bymax(2n k 1;N), where n k is the maximum number of nodes on any subtree and N is the number of 36 nodes in the network, when all interference is eliminated. In a more general setting when TX and RX slot lengths are dierent, the scheduling length is lower-bounded by max(TXn k +RX (n k 1);N). If it is possible to haveTXn k +RX (n k 1)N in the tree construction, we can achieve N as the lower bound for time scheduling. But for an arbitrary graph G, can we construct a tree T on G such that n k N+RX TX+RX ? This is a special case of the \Capacitated Minimal Spanning Tree Problem" that is known to be NP-complete [35]. For MCC, we use the Capacitated Minimal Spanning (CMS) Tree heuristic presented in [29] to build a balanced routing tree. Despite the general worst case complexity result for this problem, we nd that in practice this heuristic can consistently build a tree that satises the condition. The basic idea of the CMS tree construction algorithm (shown in Algorithm 1) is to minimize the size of each branch by considering the growth possibility that a node might bring to it. The input of the algorithm is a connectivity graph G(V;E) obtained from previous step. Each neighbor of the sink forms a branch in the tree. GS(n) is used to represent the growth set of a noden, which includesn's neighbor nodes that are not yet connected to the tree. Similar, we dene GS(b) as the growth set of a branch b, which includes unconnected neighbors of the nodes already in b. Each branch also has a weight dened as the number of nodes connected to the branch. The algorithm starts from the sink and connect all sink's neighbors to the tree as branches. Then it iterates by hop. At each hop, sort nodes in ascending order according to theirjGSj. And connect node n to the branch which will have the minimal possible weight increase by adding n. 37 Algorithm 1 CMS Tree Construction [29] Input: Connectivity Graph G(V;E), Sink s Output: Tree T Branch set: B all neighbors of s Tree: T fsg S B Subtrees:8b2B, Sub T (b) fbg Node growth set:8n2V , GS(n) unconnected neighbors of n Branch growth set:8b2B;GS(b) S i2Sub T(b) GS(i) Branch weight:8b2B, W (b) = 1 h = 2 while h max hop count do N h nodes at hop distance h N 0 h nodes in N h and with a single potential parent T T S N 0 h Update GS, W and Sub T N h N h nN 0 h Sort N h in non-increasing order ofjGS(n)j for 8n2N h do for 8b2B that n can connect to do Assume n connect to b SS(n;b) GS(b) Search Set PG(n;b) ; Potential Growth n brings to b for8i2SS(n;b) do if i can connect to only branch b then PG(n;b) i, SS(n;b) GS(i) end if end for end for connect n to the branch b with minimal W (b) +jPG(n;b)j T T S fig S PG(i;b ) Update GS, W (b ) and Sub T (b ) end for h + + end while 38 4.1.3 Channel Allocation We adopt a receiver-based channel allocation approach, whereby nodes allocated a channel use only that channel for receiving packets but may use another channel to transmit to their parent. The input of our channel allocation scheme (see Algorithm 2) is a con ict graph H and number of available channels. A con ict graph H means that if the edge i;j exists in H, then nodes i and j must be allocated dierent reception channels. We defer to section 4.1.5 a description of dierent approaches to generate this con ict graph. In this algorithm, we assume all available channels have same quality for links. Algorithm 2 Greedy Channel Allocation Input: Con ict graph H(V; ~ E), number of channels m Output: Channel allocation vector ~ CH for i = 1!m do ~ CH(i) =; end for Sort nodes in V according to their degrees in descending order!V 0 while V 0 is not empty do Dequeue the 1st node n2V 0 if there is a channel i satisfying ~ CH(i) ==; then Put n in ~ CH(i) for j = 1!jV 0 j do Let x represent the jth node in V 0 if x does not interfere any node in ~ CH(i) then Dequeue x from V 0 Put x in ~ CH(i) end if end for else for i = 1!m do W (i) number of nodes in ~ CH(i) interfering with node n end for Put node n in ~ CH(i) with the minimal W (i) end if end while 39 The problem of channel allocation is essentially the NP-hard problem of graph col- oring. We use a greedy degree-ordering heuristic for channel allocation that is known to perform well in practice. Our algorithm proceeds as follows. At the beginning, all nodes inH are unallocated. We sort them according to their degree in descending order. Start- ing from the node with the largest degree, we allocate a channel 1 to it, and put it in the setCH(1), which contains all nodes allocated in channel 1 at current iteration. Then we go through the rest of the nodes in order and add them toCH(1) if they do not interfere with any node already inCH(1). This process is then repeated for each of them available channels with the remaining nodes. Assuming there are enough channels, the algorithm terminates after allocating the last node to some set CH(c), for some c m. Nodes in dierentCH sets can transmit at the same time since they are not in the same channels. For nodes in the sameCH(c), though they are in the same channel, they do not interfere with each other. In case there are not enough channels, this algorithm can be modied to allow interfering nodes on the same channel, with a preference given to nodes causing the least additional interference on the given channel. In this case, to avoid collisions, it is ensured in the time scheduling phase that interfering links are not allocated to the same time slot. But in our discussion, we always assume there are enough available channels. 4.1.4 Time Scheduling In WSNs, time scheduling is to determine the smallest length con ict-free assignment of slots in which each link or node is activated at least once. Since the connectivity graph and interference graph are usually dierent, this problem is shown to be NP-complete [108]. We solve the time scheduling problem taking into account only the tree topology under 40 the assumption that all interference as dened by the con ict graphH can be completely eliminated using channel allocation. Our time scheduling algorithm is modied from the algorithm indicated in [18], which is proved to derive minimum data collection time and corresponding optimal strategies on tree networks. Instead of solving the collection problem on a tree topology, the algorithm initially looks at a simplied converse problem, i.e., the distribution problem on a line topology, in which the sink transmits packets to nodes. To distribute all data packets in the minimum time, the sink sends the rst packet destined for the furthest node, then for the second furthest one and so on, as fast as satisfying the half-duplex feature of the radio. By this strategy, [18] gives equations to calculate the last busy transmission time slot (TS) of a node in a line topology. The key dierence between our modied scheduling and that described in [18] is that while the original algorithm assumes same slot length for TX and RX, for MCC we double the length of RX slots in order to introduce a guard-time for continuous transmissions. For our modied algorithm, we derive the equation (4.1) to nd node i's last busy TS, where i represents the distance to the sink in a line. T i = 8 > > > > > > < > > > > > > : L rx (i 1) + (L rx +L tx ) P ji+1 j , if i = 0; L rx i + (L rx +L tx ) P j2 j , if i = 1 and 1 1; L rx (i 1) + (L rx +L tx ) P ji j L tx , if i 2 and i 1: (4.1) Fig 4.1 shows an example of time schedule scheme with dierent length of RX/TX. There are 5 hops in this line topology. The original problem is to collect data packets from nodes. The number above a node represents the number of packets it needs to 41 send to the sink. In this example, we have already converted the collection problem to a distribution problem, in which node 1, 3 and 5 need to receive 2, 3 and 2 packets, respectively, from the sink. The sink sends the rst 2 packets destined for the node 5, the furthest one, then for node 3 and 1. Figure 4.1: The length of RX = 2 slot-length, the length of TX = 1 slot-length. The building block in our algorithm is a slot. A non-sink node has 3 modes: TX, RX and ID (idle). The TX and ID mode have duration of one slot-length and the RX mode has duration of 2*slot-length. The sink node is scheduled to remain in RX mode at all times. This is illustrated in Fig. 4.2. Nodes follow the same schedule pattern in each period (corresponding to one round of data collection from all nodes). 42 Figure 4.2: TX and ID mode have one slot, RX mode has two slots. Applying equation (4.1), we can nd node i's transmission time in the collection problem based on the symmetric operations of these two problems. This algorithm can be further generalized to tree networks as shown in Algorithm 3. 4.1.5 Ordering We observe that the way we have designed and described the algorithms for time and channel scheduling, because the time allocation mechanism does not explicitly require knowledge of H or the channels assigned, they can be implemented in two dierent orders, resulting in dierent denitions of the con ict graph H: 1. Channel Allocation Before Time Scheduling: In this case, H can be dened as follows. If i is interfering with any child of node j, then we place the edge (i;j) in H. This can be determined from the routing tree T , and the interference graph I(V;E 0 ). 2. ChannelAllocationAfterTimeScheduling: In this case, we deneH as follows. Start with constructing the H as in the previous case. After time scheduling is done, remove the edges (i;j) between nodes i and j if they do are not scheduled to receive on any simultaneous slot. From the denitions, it is clear that the con ict graph for the second approach (chan- nel allocation after time scheduling) is a strict subset of the con ict graph for the rst 43 Algorithm 3 Time Scheduling Algorithm Input: Tree T Output: Time schedule ~ TS Step 1: Convert collection to distribution problem The sink distributes one data packet to each node in the network Step 2: Multi Linearize tree topology Convert tree topology T to a multi line topology: for 8 subtree B i 2T do N maximum hop count of subtree B i L i an N-node line L i (m) represents the mth node in L i , with P i (m) packets to receive from the sink 8mN, initialize P i (m) = 0 for8 node v2 subtree B i do h node v's hop count P i (h) P i (h) + 1 end for end for Step 3: Scheduling among Multi line while sink still has data packets do for8L i that converted from a subtree B i 2T do t i the last busy slot of L i by equation (4.1) based on ~ P i end for Decide toward which line to transmit: choose the line L i with the largest t i while statisfying half-duplex feature Update time schedule ~ TS 0 for the distribution problem Time slot + + end while Step 4: Mapping back to collection ~ TS mirror ~ TS 0 for the distribution problem to the original collection problem approach. It is easy to prove that this implies that the number of channels needed in the second approach is less than or equal to the number of channels required in the rst approach. In section 4.3.4, we will evaluate both approaches, and show that the latter approach in fact reduces the number of required channels dramatically. 44 Figure 4.3: LTSP: LightTimeSync message format. 4.1.6 Lightweight Time Synchronization Synchronization is crucial for a multi-channel scheduling protocol. We implement a lightweight time synchronization protocol (LTSP) that is similar to FTSP [17] in that one-way synchronization is performed between every child and its parent on the tree, using MAC-layer time-stamps and linear regression over multiple packets. The reason we do not use FTSP code from TinyOS directly is that we piggy-back other conguration and control information for scheduling and channel allocation on the time-sync packets as shown in gure 4.3. During the synchronization phase, all nodes are set to operate on the same channel. The root (sink) initiates the lightweight synchronization by broad- casting a group of LightTimeSync packets, which contains time information and other conguration information, to its children. We brie y describe some elds in the LightTimeSync message: type : the type of a message. It can be TOPO INFO, CHANNEL INFO and SCHED- ULE INFO. TOPO INFO contains the constructed routing tree topology. CHAN- NEL INFO has the channel allocation scheme. SCHEDULE INFO is the time schedule. 45 nodeID : the ID of the node sending this LightTimeSync message. Only when nodeID equals to the receiver's parent, the receiver node performances time synchronization. seqNum : the sequence number of this LightTimeSync message. pBaseTime : the start time of data collection in the sending node's local time. pLength : the length of a period in the sending node's local time. parentTime : the synchronization point as expressed in the local clock of the sender. This is used with TimeSyncAMSend interface. localTime : synchronization point obtained by the receiver. This localTime is expressed in receiver's local time via the TimeSyncPacket interface. data : depending on the type eld, data eld stores dierent conguration information. The TOPO INFO is rst distributed in the network. So that a node is able to identify its location and parent in the tree. When the routing conguration is received, a node starts to synchronize with its parent. Meanwhile, it also updates channel conguration and time scheduling. After a child gets synced with its parent, it needs to propagate time synchronization and conguration information to its children if it is not a leaf node. Then the node gets ready for data collection. This process will be repeated periodically in long-term operation. As we shall show, in practice, the period between synchronizations can be as long as two hours or more. 46 Figure 4.4: Software architecture for distributed part of MCC. 4.1.7 Data Collection Once the above mechanisms are implemented and run in the network, a node has all its conguration information, e.g., next-hop, number of children, channel assignment and time schedule. There are 5 major components in the distributed part of MCC implemented at each sensor node, as shown in Fig. 4.4: RoutingEngine: Routing Engine obtains routing information, which is generated centrally, from sink through LTSP packets. Forwarding Engine: This is responsible for maintaining a queue of packets to transmit. The packets could be generated by the node's own application or received from its children. When ACK is enabled, it also provides retransmission mechanism. 47 Channel Controller: This determines which channel a node uses for transmission and reception. This is also currently obtained from the sink via LTSP packets. Lightweight Time Synchronizer: This component implements LTSP. Time Scheduler: it maintains the time schedule, and performs the time calcu- lations needed to inform the node when to transmit and when to be in receive mode. MCC is compatible with TEP119 Collection [28], which denes interfaces, compo- nents, and semantics used by collection protocol in TinyOS 2.x. As required, a collection service must provide one component, CollectionC, to the application layer. Since it would be desirable for applications to have more control to the multichannel function, additional interface is provided. CollectionC has the following signature: Listing 4.1: MCC Interfaces c o n f i g u r a t i o n CollectionCf provides f i n t e r f a c e StdControl ; i n t e r f a c e Send [ u i n t 8 t c l i e n t ] ; i n t e r f a c e Receive [ c o l l e c t i o n i d t id ] ; i n t e r f a c e Receive as Snoop [ c o l l e c t i o n i d t ] ; i n t e r f a c e I n t e r c e p t [ c o l l e c t i o n i d t id ] ; i n t e r f a c e RootControl ; i n t e r f a c e Packet ; i n t e r f a c e CollectionPacket ; i n t e r f a c e ChannelControl ; // additional interface for multichannel control g 48 uses f i n t e r f a c e C o l l e c t i o n I d [ u i n t 8 t c l i e n t ] ; g g The collection infrastructure can be multiplexed among dierent applications by using a collection identier. In the following, we brie y describe above interfaces. RootControl allows an application to set a node as root; Send provides a transparent collection service to applications. For example, an application sends data to the root via the Send interface without knowing the underlying information, like next hop and time schedule. CollectionC only signal Receive.receive on a root node when a packet is successfully received. On a relay node, when it receives a packet from its child, it only signals Inter- cept.forward. Interface Packet and CollectionPacket provide access to the data packet elds. ChannelControl allows other components to set the channel information, like how many channels an application would like to use, or even specify the channel numbers. The implementation of MCC contains more components, e.g., ChannelControllerP, LightweightTimeSynchronizerP, ForwardingEngineP, RoutingEngineP, TimeSchedulerP and etc. 49 4.2 Overview of Experiments All our experiments are conducted on the Tutornet [40] testbed, on either all or some of a set of 30 nodes. As noted earlier, the network connectivity determination requires the use of a bootstrapping collection scheme to obtain PRR from each node. On this testbed, for simplicity, we collect PRR information through a control backchannel (via USB to the motes). Fig. 4.5 shows the testbed and the visualized network connectivity in terms of PRR for all pairwise links between the nodes that we use (numbered 1-30), at power levels 3 (low), 15 (medium) and 31 (high). There are 16 channels available on the CC2420 radio, numbered 11 to 26. We primarily use channels 25 and 26 on the CC2420 radio, which have the least overlap with WiFi signals. When needed, we also use channels 11, 24, and 20, which we found empirically to suer relatively low interference on our testbed. We use a PRR threshold of = 90% in all our experiments. We present results from two sets of experiments. The rst set of results pertain to parameter evaluation, discussed in section 4.3. The second set of results, presented in section 4.4, evaluate the throughput performance of MCC and compare it with the estimated maximum achievable throughput as well as with alternative non-schedule-based single-channel data collection protocols. We summarize these experiments in table 4.2. 4.3 Parameter Evaluation In this section, we evaluate each building block in MCC: time synchronization, routing, channel allocation, and scheduling. 50 Exp.# # of Nodes Topology Description Figures Parameter Evaluation 1 30 network connectivity graphs of the testbed at dierent power level Fig 4.5 2 30 star compare LTSP time synchronization accuracy with dierent table sizes Fig 4.6 3 5 Linear LTSP time synchronization error in a 5-node line topology Fig 4.7 4 30 tree max subtree size and hop count in dierent networks Fig 4.8 6 5 star, linear the impact of time slot length on relay and sink node Fig 4.9 7 5 star, linear optimal slot lengths for sink and relay nodes in MCC Fig 4.10 5 30 tree number of channels required to eliminate interference in dierent networks Fig 4.11 MCC Performance Evaluation 8 10 tree throughput of backlogged MCC compared with the expected max achievable throughput Fig 4.14 9 10 tree network throughput comparison of backlogged MCC, MCC and CTP-Ideal Fig 4.15 10 30 tree network throughput comparison of MCC, CTP-Ideal and RCRT Fig 4.16 11 10-30 tree scaling comparison of MCC and CTP-Ideal Fig 4.17 12 30 tree average on-time and energy consumption ratio in energy saving mode Fig 4.18 Table 4.2: Description of experiments 51 Figure 4.5: Network connectivity of the testbed at dierent power level. 52 4.3.1 Overhead of Time Synchronization LTSP is responsible for the time synchronization. It uses MAC layer timestamping and linear regression to provide precision of jiy-level ( 1 jiy 30:5s ). To evaluate the performance of LTSP, we rst test it on a 30-node star-topology to understand the single-hop accuracy. Fig. 4.6 shows the average synchronization error measured in terms of the residual time drift observed after a round of synchronization. We vary the size of the linear regression table (i.e. number of packets over which the skew and oset are computed). There is a tradeo in selecting the size of this table as larger table sizes yield better accuracy but take a longer time; however, multiple rounds of LTSP packets also allow us to propagate other control information pertaining to routing and scheduling. Empirically, we found a table size of 20 to suit our needs. At this setting, the gure shows that we can reduce the error to below 0.007 jies per second on average; this corresponds to a residual drift error about 0.21 microseconds per second, comparable to the best known results in the literature (e.g., on the order of a microsecond per second for FTSP [17]). We conduct a testbed experiment to understand how frequently the synchronization needs to be repeated. Because in all our experiments the maximum depth of network is 4 hops, we do this experiment with a simple 5-node line topology. We let the protocol run with a single synchronization event before the start of the data collection at time 0. The result is shown in Fig. 4.7. We see that, setting aside times when there is heavy external interference (which happens twice, around 90 minutes and 260 minutes into the experiments, identiable through the reduction in the delivery ratio at those times), 53 Figure 4.6: LTSP: Time synchronization accuracy comparison. there is a consistent deterioration in the performance starting at 146 minutes, indicating that the synchronization error has exceeded the tolerance level for the protocol. In all our long-duration experiments, even with the larger network sizes of 30 nodes, we have found that the network generally remains stable for a duration of 2 to 4 hours. The network synchronization process could be completed in under 2 minutes, implying that the overhead due to synchronization will be typically less than 2%. 4.3.2 Generation of a Balanced Routing Tree Fig. 4.8 shows the maximum subtree size obtained using the CMS tree algorithm on the 30 node testbed for dierent power settings, averaged over all 30 possible sink locations. We see that even at the lowest power, the average maximum subtree size n k is well below the bound of (N + 1)=2 (which in our case comes to 15.5). This ensures that 54 Figure 4.7: LTSP: Time synchronization error in a 5-node line topology. the sink will always be the bottle-neck. An ancillary benet of this algorithm is that it yields a relatively shallow tree, with small maximum hop count, which is benecial for reducing the synchronization time, delay, packet loss (in the case of no ACK). This is also illustrated in Fig. 4.8, which shows that the hop-count is always less than 5, and often just 2 hops at the medium to high transmit power settings. 4.3.3 Time Scheduling: Slot Length The main parameter for time scheduling is the length of slots, which should be a function of the packet size. We identify the optimal schedule length for each packet size by conducting experiments where we vary the slot-length and observe its impact on the throughput. We conduct two sets of experiments; one to measure the impact of slot length for a star-topology, to understand the best slot-length for maximizing the rate of sink reception, and another to measure the impact of slot length for a linear topology (with 55 Figure 4.8: Maximum subtree size and max hop count obtained by CMS Algorithm in 30-node networks. each receiver on a dierent frequency channel to eliminate interference), to understand the best slot-length for maximizing the relay transmission rate (subject to the MCC design constraint that the reception slots are twice as long as the transmission slots). A typical set of results, for the 40-byte, no-ACK case is shown in Fig. 4.9. We see that in both cases, a smaller slot-length causes packet losses, indicated by the delivery rate falling signicantly below 100%, a larger slot-length results in poor utilization. In- terestingly, we nd that the maximum sink reception rate in the star-topology is achieved at a slot-length of 140 jies, while the maximum relay transmission rate in the linear topology achieves a maximum at a slot-length of 160 jies. This can be attributed to the additional channel-switching overhead incurred in the linear topology. Fig. 4.10 shows the value of the best slot-length as the packet size is varied, for both the sink and relay nodes. Again, we see that the best slot-length for the relay node is 56 Figure 4.9: The impact of time slot length on relay transmission and sink reception (packet size = 40 bytes ). generally higher until a packet size of about 80B. After this point, it appears that the overhead due to channel switching is negligible and the two cases require the same slot- length. In the MCC protocol implementation, we use the higher of the two curves, i.e. the curve for the relay nodes, to set the slot-length for all nodes in the network according to the corresponding packet size 1 . One implication of this plot is that for small packet sizes, the sink will not be fully utilized, resulting in some reduction of the throughput compared to the maximum possible sink reception rate. Note that these plots are both for the case without ACK. Similar curves are obtained in the case ACK is used, however, as expected, the best slot lengths in that case are higher to accommodate the transmission and reception of the acknowledgement packet. 1 We assume in our evaluations, as in most WSN applications, that packets are all of the same length; in the rare case of an application where multiple packet sizes are utilized, the slot-length should be chosen to correspond to the maximum packet size, though this may result in lower utilization. 57 Figure 4.10: Optimal slot lengths for sink and relay nodes in MCC. 4.3.4 Channel Allocation As mentioned in section 4.1.5, the order of channel allocation and time scheduling algo- rithms can be chosen in both ways. Using the connectivity obtained from the testbed at dierent power levels, we compare the number of channels required for the two ap- proaches, after applying the CMS algorithm to determine the balanced routing tree, for each of the 30 possible sink locations. This is shown in gure 4.11 using box plots showing the minimum, 25 percentile, median, 75 percentile, and maximum values as well as the mean (shown as a small square) of the number of channels required in each case. It can be seen from this evaluation that the approach of doing channel allocation after time scheduling is decidedly better: in most cases, only 2 channels are required, at most 4 in the low power settings. In contrast, the approach of doing channel allocation before time scheduling can require many more channels. The two approaches are further illustrated 58 (a) Channel Allocation Before Time Scheduling (b) Channel Allocation After Time Scheduling Figure 4.11: Number of channels required to eliminate interference. 59 in gure 4.3.4, giving one example of the channel allocation of the two schemes, with the former (left) requiring 6 channels, while the latter (middle) requires only 3 channels. In both cases the time schedule (right) remains the same. Channel minimization is an important consideration because even if the number of required channels is less than the 16 available on the radio, many channels may show poor quality in indoor environments due to WiFi interference. For the remaining results, we therefore always run channel allocation after time scheduling. 4.4 MCC Performance Evaluation Now that we have evaluated the building blocks of MCC, we focus on measuring its collection throughput. From chapter 3, we already have an estimation of the maximum possible throughput in the network. But the throughput performance of MCC collection can be aected by packet size, power level, packet queue management, retransmission mechanism (ACK or no ACK) and channel allocation. In the following, we will evaluate MCC collection under dierent settings to see how these factors impact the performance, compare it with the estimated maximum achievable throughput, and with other protocols. 4.4.1 Backlogged MCC MCC collection maintains a queue of packets, from both its own applications and the network. When a node is scheduled to transmit, if this queue if not empty, it will send the rst packet in the queue. If the queue is empty, then the current TX slot is wasted. We rst test MCC collection throughput when the queue is always backlogged so that all TX slots are busy and utilization of the time schedule is 100%. 60 (a) A 30-node CMS tree with channel allocation (before time scheduling) (b) A 30-node CMS tree with channel allocation (after time scheduling) (c) Time schedule for the network Figure 4.12: One example of a 30-node network: tree and schedule. 61 Figure 4.13: A balanced routing tree with 10 nodes. We perform the test on a 10-node balanced tree on the testbed, with the topology as shown in Fig. 4.13. Full power is used to have the best link quality. In order to eliminate interference, each receiver has a dierent RX channel. We also label the scheduled TX slots of each node. Note that all these slot numbers are relative to its parent's rst TX slot. The total frame length is 9. In this setting, we test MCC collection throughput with packet sizes of 40 bytes and 100 bytes. For each packet size, we measure the throughput with ACK enabled and disabled. The result is shown in Fig. 4.14. We compare MCC collection throughput with the expected throughput (obtained in Chapter 3) with and without ACK. We see that for the 100-byte packet without ACK, the throughput of MCC collection is 99kbps, almost achieving the sink RX capability we measured in Sec. 3.3. However, for the 40-byte packet, we see that the throughput is a bit lower than the estimated maximum sink RX rate. As mentioned in section 4.3.3, this is due to the channel-switching overhead which causes the relay nodes to require a longer slot-length than the sink-rate-maximizing slot- length. A similar trend is observed for backlogged MCC with ACK. This gure shows 62 Figure 4.14: Throughput of backlogged MCC compared with the expected maximal achievable throughput with or without ACK. that MCC is able to achieve close to the maximum achievable throughput so long as nodes always have data to send at each slot. 4.4.2 MCC Performance In Sec. 4.4.1, we bypassed the queue management. Now we assume the application generates a constant data rate equal to the maximum that can be transported by the MCC protocol. 4.4.2.1 10-node Experiment In the same 10-node balanced tree setting described in the previous sub-section, we com- pare MCC collection with backlogged-MCC and CTP, the state of the art single-channel collection protocol for wireless sensor networks. For CTP, we empirically determine and 63 Figure 4.15: Network throughput comparison of backlogged-MCC, MCC and CTP-Ideal in a 10-node network at power level 31. present the ideal maximum achievable fair rate. Again, full power is used, and we test 40-byte and 100-byte packets, with and without ACK. When we enable ACK, if a packet is not acknowledged, MCC is congured to retransmit it up to a maximum of 3 times. Fig. 4.15 shows the result. The performance of backlogged MCC provides an upper bound of the throughput performance. We nd that MCC with ACK enabled can achieve almost the same throughput as backlogged one. It has a substantial improvement over CTP with ideal rate allocation. But for MCC collection without ACK, throughput is much lower than backlogged MCC without ACK. This can be attributed to the fact that without ACK, there is a greater loss of packets sourced from the rear of the network. When these packets do not make it to an intermediate node, the corresponding transmis- sion opportunities have to be wasted, resulting in a reduced throughput. In future work, 64 it could be examined whether a redundant transmission policy can be used for ACK- disable case to compensate for the link losses, albeit at the expense of greater energy expenditure. 4.4.2.2 30-node Experiment Finally, we deploy MCC collection on the full 30-node testbed. We consider three power levels, one low, one medium, and one high. In these experiments, for a fair comparison, we enable ACK and test for packet size of 40 bytes and 100 bytes. We compare MCC with two alternatives. In addition to CTP with ideal fair rate allocation, we also consider RCRT, a state-of-the-art centralized rate controlled collection protocol that also guarantees end to end reliable transport. While MCC and CTP do not provide for end to end reliability, they provide hop-by-hop reliability through the use of ARQ and retransmissions. Our choice of RCRT as a comparison collection protocol is motivated by the study in [14] which shows that this centralized approach provides higher throughput than the best distributed rate control protocols that works over CTP (namely, IFRC [12]), and is thus also a good benchmark for a high rate single-channel collection mechanism that does not require manual conguration of the sending rate to avoid congestion collapse. The throughput comparison resulting from our experiments is shown in Fig. 4.16. The experiments show that for all schemes, as expected, the throughput is higher for larger-sized packets. We also see that the throughput is higher for all schemes at higher power levels. This is explained by the fact that at higher power levels the number of hops to the sink is reduced, and link qualities are improved in all cases, osetting any 65 Figure 4.16: Network throughput comparison of MCC, CTP-Ideal, and RCRT in a 30- node network. potentially losses due to increased interference. MCC consistently oers in all cases the highest throughput. We nd that with respect to CTP with ideal rate allocation, the relative throughput gain of MCC with respect to both single-channel schemes is the lowest for 40-byte packets at the highest power level (48% improvement), and is the highest for 100-byte packets at the lowest power level (155% improvement). With respect to RCRT, the percentage throughput gain of MCC is much higher and varies somewhat less across all settings (from 227% to 266%). We emphasize that the purpose of this experiment is not to claim that MCC is a better protocol per se than CTP or RCRT from all perspectives. RCRT, for instance, provides the additional key functionality of end-to-end reliability, which may cause it to incur a throughput penalty. Both CTP and RCRT in their present form are much easier to deploy out of the box than MCC, which at present requires a cumbersome 66 Figure 4.17: Network throughput and Jain's fairness in networks with dierent sizes. conguration process. And CTP and RCRT both provide for dynamic routing, which is helpful over time-varying links, while at present MCC uses a single static route based on blacklisting. However, these results give an indication of how much additional throughput improvement can be obtained with a near-optimal joint routing-TDMA-FDMA approach compared to state of the art single-channel random-access-based collection mechanisms, at least in a static setting. In section 4.5, we discuss whether and to what extent such an approach could be enhanced in the future to provide good performance in more dynamic environments. 4.4.2.3 Scaling We examine the scaling of MCC in networks with dierent sizes ranging from 10 to 30 as shown in Fig. 4.17. We choose the network in these experiments as a monotonically increasing set, i.e. the network used in the experiment for sizem is a subset of the network used in the experiment for size n, if m < n. The experiments are for packet size of 40 67 bytes and the power level of 15. Throughput and fairness (using Jain's index [46]) are measured and compared with what is obtained with CTP with the ideal rate allocation. For MCC, we found that in all cases the routing algorithm produced a balanced tree, and since a con ict-free channel allocation is always possible, the time slot allocation fully occupied the sink in all cases. Hence the total source transmission rate was the same in all cases. However, in the larger networks, due to an increase in hop-count and weak links, we do see a mild deterioration in throughput. This suggests that the scaling of MCC performance with respect to network size is graceful on the whole. In all cases, the fairness also remains high. CTP with ideal fair rate allocation shows a consistently lower throughput, and a slightly higher rate of deterioration at larger network sizes, resulting from increased interference and contention on the single channel. 4.4.2.4 Energy Saving Due to the TDMA feature, each node is aware of its TX/RX time schedule. Although we have not implemented this in code yet, MCC can be easily congured to turn o the radio when a node is idle. Using energy consumption numbers for reception and transmission of the CC2420 radio, we perform an analysis of the energy savings that can be obtained in MCC by turning o the radio during idle times. Notice in the example from gure 4.3.4 that there is a signicant portion of time when nodes are not required to be either in transmit or in receive mode. In Fig. 4.18, we show how the average on-time ratio (ratio of number of on-times compared to total time in each frame) and the average energy consumption ratio vary with the power level (the ratio of the energy consumed with MCC to the energy consumed when all nodes are always one), where the averages 68 Figure 4.18: Average on-time and energy consumption ratio in 30-node networks. are obtained by considering all 30 possible sink locations. Note that because we take ratios in this plot, the curves are independent of packet size. Overall, we nd that MCC can yield an energy reduction ranging from 85 to 95%. We see that the total energy is minimized at a relatively high power level of 27, this is because initially the higher power level results in more nodes talking directly to the sink and thus not needing to be on to receive or relay packets, but eventually the additional cost of increased transmit power catches up. 4.5 Summary and Discussion In the previous chapter, we have evaluated the maximum sink receive rate with respect to key parameters such as packet size, power level, acknowledgements. In this chapter, we have shown experimentally that by having a load balanced tree, multiple channels and 69 time scheduling, it is possible to achieve a throughput that is close to the maximum sink receive rate. We have shown that this approach is feasible, because the synchronization overhead is small. We have shown how to make this approach ecient, in terms of mini- mizing the channels required, by choosing channels based on time scheduling information. We have shown that this approach yields signicant benets in terms of throughput, at least in static environments, over state of the art single-channel collection protocols based on random access. Finally, we have shown that this approach also yields signicant en- ergy savings as nodes can be scheduled to be turned o when not needed for transmission or reception. As discussed above, future work could extend these ideas to more dynamic environments. While we believe this work has made a signicant step in identifying a practically fea- sible approach to maximize the throughput of data collection in wireless sensor networks, there are other dimensions in which the present work can be extended and improved. Some of these are as follows: Dynamics: An inherent weakness of centrally frequency and time-scheduled pro- tocols is that they are not geared towards handling dynamics in the network due to time-varying links, node joins and failures, or frequent trac changes. While one approach is to repeat the conguration phase from scratch periodically, there is a tradeo between the overhead of conguration and agile response to dynamics. Another possible approach is to develop distributed versions of the routing, channel and time allocation mechanisms, such that changes in the network structure and 70 schedule can be triggered and managed as locally as possible, whenever the envi- ronment or trac changes occur. Yet another alternative is to consider topology transparent approaches to scheduling [47] which guarantee a lower performance in the face of arbitrary dynamics. Channel Heterogeneity and Availability: In the present work, we have as- sumed implicitly that all channels available are uniformly good and free of inter- ference. We have also assumed in this work that there are a sucient number of channels. For larger, indoor environments, it may be hard to guarantee that these assumptions hold. Work is needed to collect the quality of all links on all available channels and take this into account in the channel and time scheduling algorithms. It is also important to extend the channel and time scheduling algorithms to handle the case when the number of channel is arbitrarily constrained. 71 Chapter 5 Channel Quality Measurement The initial MCC implementation discussed in chapter 4 assumes all channels have same link qualities. This works in an ideal environment with orthogonal channels. But in the real world, it is very dicult to satisfy this requirement. To have a better understanding of the link quality in an indoor oce environment, we perform a set of measurements and show the results in this chapter. 5.1 IEEE 802.15.4/ZigBee Radio Frequency IEEE 802.15.4/ZigBee is intended for low-rate, low-power and low-cost sensor devices. IEEE 802.15.4 [48] denes the standard for communication of sensor devices at the phys- ical layer and media access control layer. And Zigbee is the specication for suite of higher level communication protocols based on IEEE 802.15.4. Sensor devices operate in the Industrial, Scientic and Medical (ISM) radio bands, including three sections and spreading among 27 dierent channels as shown in Table 5.1. Dierent countries may use dierent sections of bands due to variations in national radio regulations. In our study, we focus on the higher data-rate, worldwide, unlicensed 2.4-GHz radio band. Zigbee has a 72 total of 16 channels in this band, numbered from 11 to 26. Each channel has a bandwidth of 2 MHz and a channel separation of 5 MHz. There are many other dierent ISM equipments, like microwave oven, Wi-Fi and Bluetooth devices, operating in the 2.4GHz spectrum. However, there is no regulatory protection from ISM device operations. Coexistence in this band is always considered as a challenging problem. We list the main sources of electromagnetic interference in 2.4 GHz band [83]. 802.11b/g/n networks Bluetooth Pico-Nets 802.15.4-based Personal Area Network (PAN) Cordless Phones Home Monitoring Cameras Microwave ovens Wireless headsets Motorola Canopy systems WiMax networks As we can see, the 2.4GHz radio band is very crowded. Especially, in an indoor oce environment, it is harsh for 802.15.4-based networks due to the low power feature. For instance, as shown in Figure 5.1, 802.15.4 and 802.11 [51] overlap in 2.4GHz. But the output power of 802.15.4 devices is usually lower than 0dBm, while the output power of 802.11 devices is about 15dBm. Wi-Fi signal can degrade the performance of WSN signicantly. Studies show that Bluetooth, microwave and other devices may also intro- duce interference to 802.15.4 networks. Figure 5.2 shows the ambient RF environment in 2.4GHz captured by the Wi-Spy spectrum analyzer. 73 Figure 5.1: Zigbee channels and Wi-Fi channels (1, 6 and 11 are highlighted.) in 2.4GHz. Table 5.1: IEEE802.15.4/Zigbee: ISM radio bands and data rate Frequency Range number of channel(s) Region Data Rate(kpbs) 868.0 - 868.6MHz 1 Europe 20 902.0-928.0MHz 10 United States 40 2.40-2.48GHz 16 Worldwide 250 There are 16 channels in Zigbee frequencies [49]. In our previous work, we measure the qualities of link pairs in one channel ( channel 26 ), and assume the same for all other available channels. But this assumption would be wrong. As [45] shows that all radio channels are equal does not hold in almost all indoor scenarios in 802.11 networks. We believe due to the feature of 802.15.4, the quality varies more in dierent channels. 74 Figure 5.2: All RF activities in 2.4GHz captured by Wi-Spy spectrum analyzer. 5.2 Methodology Our measurement is performed on Tutornet testbed, on the forth oor of our oce build- ing as shown in Figure 5.3. The blue dots are Tmote-Sky motes, the red ones are stargates. All nodes are deployed on the corridor ceiling. TinyOS 2.x is used as the platform. In our experiment, 55 Tmotes are used. Using the CC2420 driver of TinyOS, we can set 32 dierent output power levels, from 0 to 31. Power level 31 gives the highest power (0dBm). Power level 3 in our testbed setting would be too weak to maintain connectivity, and power level above 15 would make the network too at to show multihop. Especially, if we consider the future deployment of battery powered sensor networks, a lower power level is preferred. Therefore, we set the output power level to 7 (-15dBm) in the experiments. There are dierent metrics of link quality, like RSSI, LQI and PRR. Most sensor platforms can provide RSSI and LQI for every transmission. Instead, PRR is calculated based on past transmissions. RSSI and LQI are usually used to predict PRR in real time. 75 Figure 5.3: Tutornet Testbed on the 4th oor of RTH building. In this sense, they are more like link quality indicators, while PRR can be thought as the objective metric of link quality. To serve the purpose of our link quality measurement, PRR is used. In an indoor oce environment, like our settings, there are many dierent 2.4GHz devices, people walking about, and other obstructing objects. We even observe that elevators have some impact on link quality. In this heterogenous setting, link quality varies at dierent locations in dierent channels over time. Instead of capturing link quality for very short time, we use long-term PRR for a coarse-grained estimation. Especially, due to the bimodal feature of sensor radio communication [41, 42, 101], by taking the measurement for sucient long time, the PRR can be used to identify real reliable links. This has been shown in [43], in their 24-hour experiments, link qualities exhibit minimal variation over time. We also observe that the measured result from each run is consistent. To measure PRR, similar to the way discussed in section 4.1.1, each node broadcasts a packet to the network every 50ms, for 100 packets. When they are not sending, nodes record how many packets they have received and the senders of these packets. After all 76 nodes nish sending, the logged information are collected from them. Tmotes can be programmed to operate on dierent channels. This procedure is repeated for 16 Zigbee channels and multiple runs 1 . All data are collected from 3PM to 11PM during weekdays 2 . We take the average of measured PRRs for each link in each channel. We present the results and our observations in the following section. 5.3 Results 5.3.1 Channel Variety of Link Quality A link (i;j) is from node i to j. We dene PRR ch (i;j) as the PRR of link(i;j) in channel ch. In this 55-node network, at power level 7, there are 1434 links with at least one PRR ch (i;j) > 0. We show these links' PRR value in all 16 channels in Figure 5.4 and Figure 5.5. y-axis is for the channels, x-axis is for the links. The color in each grid represents PRR value of a link x in a channel y. A higher PRR value implies a better link quality. We nd that some links have good quality in more channels than others. But in general, for each link, its quality varies a lot in dierent channels. To further understand the diversity of link quality in dierent channels, for each link, we calculate its average PRR in all 16 channels. Then sort all links according to their average PRR values. The result is shown in Figure 5.6, with the standard deviation as error bar. From this plot, it's more clear that some links (with small and large ordering) are not aected too much by the channels. But links in the middle region have large 1 We perform 4 runs for each channel. 2 The data set is available for downloading at http://anrg.usc.edu/www/downloads/55nodeTestbed.tar.gz 77 Figure 5.4: Link qualities (PRR values) in 16 channels for link 1 to 900. 78 Figure 5.5: Link qualities (PRR values) in 16 channels for link 901 to 14340. 79 Figure 5.6: Sorted average PRR in 16 channels for 1434 links. quality variation in dierent channels. This indicates that only in some channels, these links may have good quality. Though Figure 5.6 shows large standard deviation of PRR, we want to study the distribution of PRRs to a greater extent. All 1434 links are categorized into 4 classes according to their average PRR values. These classes are dened as follows: Class 4 links: 75%<avgPRR 100% Class 3 links: 50%<avgPRR 75% Class 2 links: 25%<avgPRR 50% Class 1 links: 0%<avgPRR 25% We plot the distribution of PRRs for each class in Figure 5.7. For data transmission, we are more interested in links with good qualities. A good link (i;j) is dened based on certain threshold if9ch2 [11 : 26], in which PRR ch (i;j) . In 80 Figure 5.7: All 16-channel PRR distributions of dierent level of links . Figure 5.8: Sorted average PRR in 16 channels for 863 good links. 81 Figure 5.9: All 16-channel PRR distributions of 863 good links. our network settings, = 90% could be a reasonable threshold for collection applications. It gives a high delivery ratio and keeps the network connected. Using this threshold, we nd 863 good links and show their average PRR in Figure 5.8. Most of these good links also have large quality variation in dierent channels. And we cannot assume all channels are equal. To see the spread-out of the PRR values of these links, we show the distribution of link PRRs in all 16 channels in Figure 5.9. Each link has a preference for channel selection. In order to increase the delivery ratio, we would like to use the channel yielding the highest PRR for a link. We dene channel ch as the best channel for a link (i;j) ifPRR ch (i;j) = max(PRR ch (i;j) ;8ch2 [11 : 26]). One link may have multiple best channels if they yield the same PRR value. Figure 5.10 shows the distribution ofch for both 1434-link and 863-link case 3 . The x-axis lists all channels. 3 In the following, for abbreviation, we will use 863-link to represent the analysis for good links with at least one PRR ch (i;j) 90%, and use 1434-link for all links with at least one PRR ch (i;j) > 0. 82 Figure 5.10: Best channel distribution of links in the 55-node network. Each bar represents the number of links having that channel as ch . One observation is thatch spreads all channels. But some channels have much more links than others. This is more obvious for the 863-link case, which only consider good links. For example, there are 414 out of 863 links having channel 26 as their best channel, while there are only 8 links having channel 17 as their ch. In both cases, channel 20, 25 and 26 exhibit better quality than others. It is because these channels experience less Wi-Fi interference. We observe that in this indoor environment, Wi-Fi devices have a big impact on Zigbee trac. From the best channel distribution plot, we see that some channels are better than others in general. However, dierent links may achieve their highest PRR at dierent channels. This best channel diversity feature will give us more freedom for channel assignment. For some links, even in their best channels, PRRs are still low. In order to have high delivery ratio, we would like to use good links for data transmissions. However, it might 83 Figure 5.11: Good channel distribution of good links in the 55-node network. not be possible, especially in a large network, to always allocatech to them. But for each good link, there may be multiple good channels in which this link hasPRR ch (i;j) 90%. In Figure 5.11, we present the good channel distribution for good links. Similar to the best channel distribution, in channel 26, 25 and 20, more links have PRR 90%. Again, we see channel qualities are unequal. But this distribution is much more even if we compare the ratio of the largest and smallest number of links, which are 664 for channel 26 and 281 for channel 15. This implies two things. First, in each channel, there are a number of good links. Even for the worst, there are 281 good links in channel 15. Second, each link might have multiple good channels. If we sum up the numbers of links in all channels, the total is 6643. That is to say, on average, each link has 6643=863 = 7:7 good channels. In the 863-link case, we count the number of good channels for each link and calculate the percentage of the links in respect of their number of good channels. The result is 84 Figure 5.12: The distribution of the number of good channels for good links in the 55-node network. shown in Figure 5.12. 8:7% links ( 75 links ) have high PRR value in all channels. But these links are just for part of the nodes in the network. On the other hand, 14:9% links only have 1 good channel. The channel allocation for these links is more restricted if we want to guarantee their high delivery ratio. For links with smaller number of good channels, if we assume all channels are same, with very high probability, these links could not get high delivery rate. Therefore, channel selection is important for throughput in multichannel collection applications. To have a comprehensive analysis on channel quality, for each channel, we nd how many links withPRR ch (i;j) > 0. One observation is that all channels have almost the same number of links as shown in Table 5.2. In each channel we calculate the average PRR. In Figure 5.13, the channels are ranked according to their average PRRs. The higher PRR 85 Figure 5.13: Sorted channel quality in all 16 channels. Table 5.2: Total number of links in each channel Channel 11 12 13 14 15 16 17 18 # of links ( PRR ch (i;j) > 0 ) 1080 1066 1033 1076 1112 1063 1060 1060 Channel 19 20 21 22 23 24 25 26 # of links ( PRR ch (i;j) > 0 ) 1040 1093 1062 1036 1050 1093 1049 1023 value indicates a better channel quality. Again, channel 26, 25, 20 and 11 are better. These channels usually do not overlap with the commonly used Wi-Fi channels. From this study, we nd that even channels have similar number of links, but the qualities are quite dierent due to the outside interference. To extend the analysis, we would like to know the link quality distribution in all channels. There are 10 levels of link quality. And level i is dened as i 10 PRR > (i1)10. In each channel, we count the numbers of links at all these 10 levels, then plot the result in Figure 5.14. One observation is that all channels have more level 10 links than other levels. For channel 26, it has 628 level 10 links. This is actually due to the 86 Figure 5.14: The distribution of link quality levels in all 16 channels. bimodal feature [52] of link quality. When outside interference is not obvious, this feature is more clear. We can roughly classify the channels into 4 categories: very good (channel 25, 26), good (channel 20 and 11), medium (channel 12-18, 21-24) and bad (channel 19). In general, it would be desirable to use the very good or good channels. But the number of these channels are very limited and might not be available. Besides, we also nd that even in the medium or bad channels, some links still can have good or even better quality. By exploring the diversity of link quality among dierent channels, we would have better channel utilization. 5.3.2 Receiver-based Link Quality Analysis There are two types of channel allocation, link-based and receiver-based. Section 5.3.1 focuses on the link-based analysis. In this section, we will study the link quality from 87 Figure 5.15: Receiver-based neighbor distribution, with = 90%. the perspective of a receiver node. Collisions and interference are perceived by the re- ceivers in wireless communication. In this sense, it follows a receiver-centric model in transmissions. Therefore, we would like to analyze the receiver-based link quality to help us understand how to use channels in WSN data collection applications. Especially, we consider tree-based routing in data collection, receiver-based analysis could also help us for tree construction. For a receiver nodei, we dene a nodej as its neighbor in channelch ifPRR ch (j;i) . When is large, the transmissions between i and its neighbors have high delivery ratio. But the neighbor set ofi might be very limited, which is not good for the redundancy and the whole network connectivity. According to our experience, = 90% is a reasonable setting. Figure 5.15 illustrates how many neighbors a node has in each channel, for all 16 channels. x-axis lists 55 nodes according to their IDs. y-axis is for the channels. The 88 Figure 5.16: The maximum and minimum neighbor set size in all 16 channels of nodes. color of a grid represents the number of neighbors for node x in channel y. The size of the maximum neighbor set is 24, colored in red, for node 17 in channel 26. In some channels, nodes may have empty neighbor set, colored in blue. In some channels, nodes have larger neighbor sets in general. And for each node, its neighbor set sizes are dierent in dierent channels.This, again, shows that channels are not equal. But we nd some spacial feature of link quality. From the testbed layout in Figure 5.3, node IDs re ect their relative locality. Usually, nodes with adjacent IDs are also close to each other in space. We nd that in some channels, some nodes with contiguous IDs all have empty neighbor set, like nodes from 25 to 29 and 43 to 55 in channel 19. This indicates some strong interference source, like a 802.11b/g router, in that area. So for these nodes, other channels should be used for larger neighbor sets and better connectivity. 89 Channel 25 and 26 are both outside of the normally use Wi-Fi spectrum. But these two channels are not identical. This indicates that channels are not equal even without Wi-Fi interference. If we compare channel 24 and 26, they are somewhat complementary. Some nodes have larger neighbor sets in 24 than 26. It does not mean there is some special correlation between these two channels, but again implies that besides Wi-Fi interference, other factors also impact channels. Figure 5.16 shows the maximum and minimum neighbor set size. For some nodes, their min neighbor sets are empty. That is to say, in a receiver-based channel allocation scheme, if a bad channel is chosen, all links from senders are at low delivery ratio or even some nodes get disconnected. This suggests the link-based scheme might be more reliable. A bad channel allocation to a link will only aect that particular link. Besides, receiver-based channel allocation can be thought as a special case of link-based scheme, which should also be more ecient. 5.3.3 Link Asymmetry Link symmetry is very important for protocol design. Many protocols in WSN enable link level retransmission to improve reliability. This requires that links have high quality for both directions. We dene link pair (i;j) as a bi-directional link. Its quality is decided by the PRR from i!j and i j in each channel. In each channel ch, we nd all link pairs (i;j) satisfying PRR ch (i;j) > 0kPRR ch (j;i) > 0. Then dene asymmetry ratio as ` = min( PRR ch (i;j) PRR ch (j;i) ; PRR ch (j;i) PRR ch (i;j) ). This value lies in [0; 1]. When it approaches 0, the link pair is extremely asymmetric. If it is closer to 1, the link pair is more symmetric. From Figure 5.17, we see channels have dierent `. Channel 19 90 Figure 5.17: Link asymmetry ratios in all channels. is the most asymmetric one. There are 283 out of 496 link pairs having ` < 80%. For other channels, their numbers of asymmetric link pairs are not negligible. Now we focus on the links with high delivery ratio. The symmetric and asymmetric good links are dened as follows: Symmetric good link pair (i;j): PRR ch (i;j) 90% AND PRR ch (j;i) 90% Asymmetric good link pair (i;j): only PRR ch (i;j) 90% OR only PRR ch (j;i) 90% Figure 5.18 shows the numbers of symmetric and asymmetric good link pairs in all chan- nels. In dierent channels, the percentage of asymmetric good link pairs is dierent. In channel 15, there are about 50% good link pairs are not symmetric. While it is about 25% for channel 19. Asymmetry is common for good links, with about 35% on aver- age in all channels. Therefore, for protocols requiring ACK, nodes need to consider the bi-directional link quality. 91 Figure 5.18: Symmetric and asymmetric good link pairs in all channels. 5.4 Summary and Discussion To summarize, from these analysis, our observations are: Channel qualities are dierent. We cannot assume all channels are equal (Channel Variety). Some channels are better than others in general. However, dierent links may achieve their highest PRR at dierent channels (Best Channel Diversity). For each link, it might have multiple good channels, in which high delivery ratio is achievable (Good Channel Diversity). Link-based channel allocation should be more reliable and ecient than receiver- based scheme. 92 Link asymmetry can not be neglected. Bi-directional link quality measurement is important for protocols requiring ACKs. For multi-channel data collection, if we consider the channel variety and take advan- tage of the best/good channel diversity, better channel utilization and higher throughput might be achieved. 93 Chapter 6 Channel-Quality-Aware Protocol Design Usually, existing multichannel algorithms and protocols assume all available channels are the same. Like in our initial implementation of MCC, we measure the link quality in one channel (25) and use it for tree construction and channel allocation. But from Chapter 5, we realize that link qualities are channel-dependent. In order to achieve high delivery ratio and take full advantage of multichannel, we must consider the channel quality variety in protocol and algorithm design. To address this issue, in this Chapter, we discuss and solve the following problem. Problem: given a sensor network with node set V , the sink (root) r2 V and an available channel setCH. For each channelch2CH, there is a link quality matrix Q ch . Assume same amount of data generated by each node in a collection application. How to construct a routing tree T , generate a time schedule S, and nd a channel allocation A so that the network throughput is maximized. The nal objective is to maximize the network throughput, which is decided by many factors: the tree structure, time schedule, channel assignments, link qualities and etc. Still following the modular design principle of MCC, instead of solving the throughput 94 maximization problem in one step, we divide it into related sub-problems and solve them in phase. But dierent from the current implementation of MCC, we do not assume all channels are equal, which makes the problem even more complicated. In this chapter, we use ICRA for Ideal Channel-based Routing and Allocation, to represent the approach we have discussed in chapter 4, which assumes channels are equal in a perfect setting. In real world, it is possible to do better by using a channel-quality-aware approach. If we assume high delivery ratio of links, the throughput in a TDMA network is decided by the schedule length. If by allocating dierent channels to eliminate interference, the schedule length is only decided by the routing tree structure. Therefore, the phases to solve the problem include: network connectivity determination, routing tree construction, time scheduling and channel allocation. In the following, we discuss this Channel-Quality- Aware Routing and Allocation (CQARA) approach in detail. 6.1 Network Connectivity Determination The rst step is connectivity determination, in which the measured result from chapter 5 is used. Link quality matrix Q ch contains PRR ch (i;j) for all links in channel ch. For each channel ch2 CH, based on Q ch , we generate an undirected connectivity graph G(V ;E ch ) and an directed interference graph I(V ;E 0 ch ). An edge (i;j) is placed in E ch if PRR ch (i;j) PRR && PRR ch (j;i) PRR . We set PRR to 90% to guarantee high delivery ratio of links. For each edge (i;j)2 E ch , its bidirectional ETX is calculated as ETX ch (i;j) = 1=PRR ch (j;i) + 1=PRR ch (j;i) to indicate link quality. Edge (i;j) is placed in E 0 ch 95 if 0 < PRR ch (i;j) < PRR . As we have observed, link asymmetry is very common in all channels, I(V ;E 0 ch ) is dened as a directed graph. 6.2 Routing Tree Construction A routing tree serves multiple functions in a network. The most important one is to keep the network connected. Based on that, it is desirable to have high delivery ratio. In a TDMA network, routing tree structure also eects the optimum schedule length. Assume an interference-free setting, in a network with N source nodes, the optimal schedule length is lower bounded bymax(2n k 1;N), wheren k is the maximum number of nodes on any subtree. As we have discussed in ICRA, if we can construct a tree in which the maximum subtree size is less than N+1 2 , then the schedule length will be optimal. This is a special case of the Capacitated Minimal Spanning (CMS) problem, which is known as NP-complete. We have already used a heuristic to construct a CMS tree in Algorithm 1, the basic idea is to minimize branch size and build a balanced routing tree. This heuristic works ne if channels are equal. But links may have dierent qualities in dierent channels. Thus, high delivery ratio could not be guaranteed, and hence impact the network throughput or even the network connectivity. This motivates us to consider channel quality variety for routing tree construction. We propose a Channel-Quality- Aware Routing (CQAR) algorithm which takes the connectivity graphs G(V ;E ch ) for 8ch2CH, the root r, ETX ch (i;j) 8(i;j)2E ch 8ch2CH as input. The tree is constructed by choosing edges from E ch . But we decouple the channel allocation to next phase, so we cannot guarantee the channel assignment for an edge. 96 Therefore, it is desirable to select an edge with more good channels so that we can have more freedom in the channel allocation phase. CQAR intends to build a shortest path trees. But instead of using ETX as the metric, it uses hop count. However, if we assume links in a tree are allocated with one of their good channels, then all of them would have near-optimal one-hop ETX. Thus, shorter hop count indicates smaller path ETX. To summarize, in the CQAR algorithm, we want to construct a routing tree with the following features: Balanced: better schedule length. Larger variety of good channels: more freedom of channel allocation. Smaller hop count: more ecient data transmission. We show the detail of CQAR in Algorithm 4. The preparation step of CQAR is to nd the hop count for each node and build a fat tree. The root has hop count 0. All nodes that can directly connect to the root have hop count 1. This implies a link-based channel allocation since nodes may use dierent channels to communicate with the root. In a multichannel setting, a node may have dierent neighbors in dierent channels. we dene the hop count h i of a node i as the smallest hop count achievable in all available channels. h i = min [(h j + 1);8j2N ch i ; 8ch2CH] (6.1) whereN ch i is dened as the neighbor set of nodei in channelch. Nodej is nodei's parent in a fat tree if j is i's neighbor in certain channel and h i = h j + 1. So in a fat tree, a node may have multiple parents, reachable in dierent channels. Starting from the root, 97 this process propagates hop count information to the whole network. We dene the max hop count of the network as h max = max [h i ; 8i2V ]. After the fat tree construction, each node (i) may have a set of parents P i . But in the nal routing tree T , nodes can only have one parent, which is chosen from P i . By this way, the routing tree T is guaranteed to have the smallest hop count for all nodes. T is built from a child's perspective ( choosing parent among all parent candidates in P i ). According to the desirable tree features we have discussed, the following impacts the parent selection: Branch weight ( balanced or not) Potential growth set ( balanced or not ) Variety of channels ( channel allocation ) These factors are quantied as follows: a branch of T is dened as a subtree rooted from one of the 1-hop nodes. We assume all nodes generate the same amount of data. The weight of a branchb isW (b), dened as the size of this subtree. In the algorithm, we try to minimize W (b) for all branches. The growth set GS i of a node i is dened as the set of unconnected neighbors whose hop counts are equal to h i + 1. A branch b's growth set GS(b) is dened as the union of GS(i); 8i2 b. The potential growth set PG(i;b) of a node i is constructed branch-specic. To construct PG(i;b), we assume node i is connected to branch b. For each node j 2 GS(i), if j can only connect to branch b, then put j in PG(i;b). If node j has at least one other branch to connect, then j is not included in PG(i;b). For a link (i;j), it has a set of good channels G (i;j) and its channel 98 variety (i;j) =jG (i;j) j. We dene an unconnected node set U, which is initialized to V at the beginning. A node is removed from U when it is added to T . The algorithm has three rules: 1. if a node i has only one parent in P i , connect the child to that parent. 2. if a nodei has multiple parents inP i , but all these parents are in the same branch, choose the parents according to corresponding links' channel variety. 3. if a node i has multiple parents in dierent branches if W (b) +jUj< (N + 1)=2 for all branches, choose a parent based on channel variety. else, calculate the weight of each parentp as(W (b)+jPG(i;b)j) i;p . Choose the min weight node as the parent. After the routing tree construction, time schedule is performed based on T , assuming we can nd an interference-free environment. The time scheduling algorithm is the same as Algorithm 3. The output schedule will be used in channel allocation to construct a con ict graph. 6.3 Channel Allocation Channel allocation can be done in two ways: node-based and link-based. As we have discussed in chapter 5, due to the unequal channel quality, link-based allocation is more reliable and ecient. Besides, CQAR (Algorithm 4) also implies that each node may use 99 Algorithm 4 Channel-Quality-Aware Routing Tree Construction Input: Connectivity Graph G(V;E ch )8ch2CH, Root r, link ~ ETX Output: Tree T Construct a fat tree T fat and parent sets P n 8n2V Branch set: B all neighbors of r in all channel Tree: T fsg S B Subtrees:8b2B, Sub T (b) fbg Node growth set:8n2V , GS(n) unconnected neighbors of n in all channels Branch growth set:8b2B;GS(b) S i2Sub T(b) GS(i) Branch weight:8b2B, W (b) = 1 Unconnected node set: U = VT h = 2 while h max hop count do N h nodes at hop distance h N 0 h nodes in N h and with a single potential parent T T S N 0 h , update GS, W and Sub T N h N h nN 0 h , sort N h in non-increasing order ofjGS(n)j for 8n2N h do if n can only connect to one branch b then Connect n to p with max channel variety else if W (b) +jUj< (N + 1)=2 for all branches then Connect n to p with max channel variety else for 8b2B that n can connect to do Search Set: SS(n;b) GS(b) Potential Growth n brings to b: PG(n;b) ; for8i2SS(n;b) do if i can connect to only branch b then PG(n;b) i, SS(n;b) GS(i) end if end for end for for 8p2P n do b p's branch Calculate parent weightW (p) =(W (b)+jPG(n;b)j) (n;p) end for Connect n to p in branch b with min W (p) end if end if T T S fig, update U, GS, W (b ) and Sub T (b ) end for h + + end while 100 dierent channel to communicate to its parent. Thus, we adopt the link-based approach for Channel-Quality-Aware Allocation (CQAA) as shown in Algorithm 5. The input of CQAA is a vector of undirected con ict graphs ~ H(L; ~ E), where ~ H = [H(L;E) ch 8ch2CH], generated for links(edges) inT . Each non-sink node has one edge to its parent. So the link set L has N 1 elements in total. A link l can be written as a node pair (l c ;l p ), with node l c sending data to node l p . If link l and l 0 are scheduled for data transmission on some simultaneous slot, and l p is interfering with l 0 c in channel ch, we place the edge (l;l 0 ) inH ch . This con ict graph vector ~ H can be determined from the routing tree T , the interference graph I(V;E 0 ch )8ch2CH, and time schedule TS. Channel allocation is essentially the NP-hard problem of graph coloring. CQAA uses a greedy order-based heuristic for channel allocation. After sorting the links according to their weight in descending order, for each link, we allocate the best possible channel to it, avoiding putting con icting links in same channels. The weight function 1 of links is designed based on three link ordering rules. CQAA gives higher priority to links with: larger subtree sizes. higher probability of con ict. limited good channels. The weight function of links is designed based on these rules. subtree(l) is dened for linkl as the size of the subtree rooted atl c . This represents the trac load onl. Con ict degreeconf(l) of linkl is dened as the degree ofl in con ict graph. However, in CQAA, 1 The Matlab code of ICRA, CQAA and CAQRA are available for downloading at anrg.usc.edu. It provides more detail denition of weight function. 101 con ict graph is channel-depend and the degree of l might be dierent in dierent H ch . To quantify conf(l), we further dene conf link count(l) and conf link sum(l) for link l. conf link count(l) is the number of unique con icting links of l in all channels. To calculate conf link sum(l), we rst nd l's degree in each H ch , and conf link sum(l) is the sum of these degrees. We use parameter , which is either 0 or 1, to choose between these two for conf(l). conf(l) =conf link count(l) + (1)conf link sum(l) (6.2) Channel variety l also impacts the weight ofl. One extreme case is that a link only has one good channel, and in all other channels, the quality ofl is so bad that no transmission is successful. Thus, we need to allocate channels to links with very low channel variety to maintain the network connectivity. With these considerations, we dene the weight function of l as: weight(l) = subtree(l) +conf(l) l (6.3) Our algorithm proceeds as follows. At the beginning, all links in L are unallocated. We sort them according to their weights in descending order. For each link, we also sort all available channels according to ETX ch l in ascending order, and store this information in ch order(l). Starting from the linkl with the highest weight, we allocate the rst channel ch l in ch order(l) to it, and put l in the set CA(ch l ), which contains all links allocated in channel ch l at current iteration. Then we go through the rest of the links in order. For each link l, allocate the rst channel ch l inch order(l) thatl dose not interfere with any link already inCA(ch l ). Addl to the corresponding channel setCA(ch l ). Assuming 102 there are enough channels, the algorithm terminates after allocating all links to some set CA(ch l ), for somech l 2CH, without con ict. Links in dierent CA can transmit at the same time since they are not in the same channels. For nodes in the same CA, though they are in the same channel, they do not interfere with each other. In case there is no con ict-free channel for some links, this algorithm can be modied to allow interfering links on the same channel, with a preference given to links causing the least additional interference on the given channel. In this case, to avoid collisions, it is ensured in the time scheduling phase that interfering links are not allocated to the same time slot. But in our discussion, we always assume there are enough available channels. Algorithm 5 Channel-Quality-Aware Allocation Input: Con ict graph vector ~ H(L; ~ E), channel set CH, ETX ch l ; 8ch2CH8l2L Output: Channel allocation vector ~ CA for8ch2CH do vecCA(ch) =; end for for8l2L do Sort all channels according to ETX ch l in ascending order!ch order(l) end for Sort links in L according to their weights in descending order!L 0 while L 0 is not empty do Dequeue the 1st link l2L 0 for i = 1!jch order(l)j do c l = the ith channel in ch order(l) if l does not interfere any link in CA(c l ) then Put l in CA(c l ), and break For-Loop end if end for if no con ict-free channel for l then for8ch2CH do W (ch) number of links in CA(c l ) interfering with link l end for Put l in CA(ch) with the minimal W (ch) end if end while 103 Table 6.1: Key parameters for CQAR and CQAA algorithms CQAR algorithm tree balance(branch size and potential growth set) potential growth set channel variety CQAA algorithm subtree size choose between the count of unique con icting links or the sum of con icting links con ict degree channel variety From Algorithm 5, we see the dierence between CQAA and channel allocation in ICRA. First, ICRA uses node-based channel allocation, while CQAA is link-based. Sec- ond, since ICRA assumes all channels are equal, its objective is to minimized the number of used channels, while CQAA focuses on minimizing link ETX. In the following trace-based simulation, we evaluation the performance of protocols using CQAR and CQAA algorithms by change the key parameters listed in Table 6.1. 6.4 Evaluation of Channel-Quality-Aware algorithms We evaluate the reliability, throughput and eciency of the Channel-Quality-Aware al- gorithms. Table 6.2 lists the metrics, which are explained as follows: Connectivity Ratio: this ratio shows the percentage of connected nodes. It is calcu- lated as Connected Network Size Network Size . Connectivity is a fundamental requirement for WSN applications. Opt-ETX/Avg-ETX ratio: this is calculated for all non-sink connected node. For a node, its Avg-ETX= PathETX HopCount , representing the average bi-direction ETX per link, 104 which has 2 as the optimal value. We then nd the ratio 2 AvgETX 100 as the indicator of how good the link quality on the path from a node to the sink. Schedule Length: in an interference-free environment, Schedule Length is lower bounded by max(2n k 1;N), where n k is the maximum number of nodes on any subtree, and N is the number of non-sink nodes. In an ideal environment, interference-free and no link loss, network throughput is only decided by Schedule Length. Normalized Throughput: in a more realistic setting, still we assume that interference could be eliminated by time scheduling and channel allocation, but the link loss is not negligible. It takes Schedule Length Opt-ETX/Avg-ETX ratio to collectN data packets. The average time for each packet is Schedule Length (Opt-ETX/Avg-ETX ratioN) . Then the Normalized Throughput is dened as (Opt-ETX/Avg-ETX ratioN) Schedule Length . Sum ETX: the sum of all nodes' path ETX. A lower sum ETX indicates more ecient data transmission and lower power consumption. This metric is only valid when all nodes are connected in the network. Avg-Path-ETX: The average of all path ETXs for non-sink connected nodes. 6.4.1 Channel-Quality-Aware Routing In this section, we focus on evaluating Channel-Quality-Aware Routing (CQAR). Link qualities are obtained from Tutornet testbed with 55 Tmotes at transmission power level 7. The measurement detail has been described in chapter 5. In the following simulations, 105 Table 6.2: Metrics for evaluation Metric Denition Reliability Connectivity Ratio Connected Network Size Network Size Throughput Avg-ETX PathETX HopCount Opt-ETX/Avg-ETX ratio 2 AvgETX 100 Normalized Throughput (Opt-ETX/Avg-ETX ratioN) Schedule Length Eciency Avg-Path-ETX The average of all path ETXs for non-sink con- nected nodes by changing the sink location, we create 55 dierent scenarios. Without further mention, each value in the plots is the average of all scenarios. In CQAR, and impact the weights of the balance and channel variety features. By changing their ratio, tree construction focuses on dierent features. Figure 6.1 shows the average max subtree size and Schedule Length of all 55 scenarios at dierent values of , with all 16 available channels 2 . The Schedule Length is lower bounded by max(2n k 1;N), where n k is the max subtree size and N is the number of non-sink nodes. In our setting, the optimal Schedule Length is 54, represented by the dashed red line. If the max subtree size is less than 27, represented by the dotted black line, then we can generate a time scheme to achieve the optimal Schedule Length. A tree is more balanced if its max subtree is smaller. When = 0, only the tree balance is concerned. So the max subtree size is the smallest and the average Schedule Length is very close to the optimal. When increases, besides balance, channel variety is also concerned. The max subtree size goes up and the Schedule Length becomes larger. But with 1=5, the average Schedule 2 As suggested in some articles, multichannel protocols need to use orthogonal channels to prevent inter-channel interference. However, in our experiment, we do not see obvious impact of concurrent transmission on adjacent channels. And according to the PHY layer feature, inter-channel concurrency is feasible. So we will defer the consideration of adjacent channel interference in our future work. 106 Length is still close to 54. When =1, only channel variety is concerned, and trees might not have the balance feature. Figure 6.1: Smaller leads smaller Schedule Length in CQAR. Figure 6.2 and Figure 6.3 show the impact of on the average Opt-ETX/Avg-ETX and sum ETX. In fact, the impact is not very obvious for both metrics. The average Opt-ETX/Avg-ETX and sum ETX only have less than 0:5% dierence with changing from 0 to1. Higher Opt-ETX/Avg-ETX indicates higher delivery ratio of packets in the network. The plot shows CQARA is able to achieve very higher Opt-ETX/Avg- ETX, ranging from [95:9%; 96:25%]. In an interference-free environment, the network throughput is decided by both Schedule Length and delivery ratio. The sum ETX represents the data transmission eciency. Even if the network throughput is the same, the energy consumption might be dierent. For example, if we consider two 5-node networks: a star-topology and a balanced tree with 2 branches, 107 Figure 6.2: Larger leads larger Opt-ETX/Avg-ETX in CQARA. both can have optimal schedule length 4, and 100% delivery ratio. However, the sum ETXs are 8 and 12 respectively. The star-topology is more ecient and has lower power consumption. The sum ETX is aected by both delivery ratio and nodes' hop counts. In CQARA, the hop count of a node is decided by the given available channels, while the delivery ratio can be aected by during routing tree construction. As shown in Figure 6.3, in this 55-node setting, average sum ETX is about 290. With larger , the channel variety gains more weight, which shows the benet in channel allocation, i.e. links are more likely allocated with good channels. Thus, in general, the sum ETX is smaller, and Opt-ETX/Avg-ETX is higher. For fair comparison, we use the same setting of parameters in channel allocation ( = 1, = 1, = 1 and = 1) for all simulations in this part. The ratio exhibits the tradeo between Schedule Length and delivery ratio. In order to see how it in uences the throughput, Figure 6.4 shows the box plot with the minimum, 108 Figure 6.3: Larger leads smaller sum ETX in CQARA. 25 percentile, median, 75 percentile, and maximum values as well as the mean (shown as a small square) of the Normalized Throughput at each value. When 1=5, the average Normalized Throughput is about the same, with slightly higher value achieved at 1=5. After 1=2, the average Normalized Throughput starts to decrease, while its variation becomes larger. In Figure 6.5, we show the Normalized Throughput box plot for channel set [11 15 19 20 25 26]. Due to the smaller set of available channels, the impact of channel variety is relatively small compared to the previous 16-channel case. But still with similar trend, the average Normalized Throughput is about the same when is small, starts to decrease after 1. This shows that more weight of channel variety may aect the tree balance so that the Schedule Length increases. Even with higher delivery, the Normalized Throughput still goes down. 109 Figure 6.4: Impact of on the Normalized Throughput of CQARA in 16-channel case. Figure 6.5: Impact of on the Normalized Throughput of CQARA in 6-channel case. 110 Figure 6.6: Compare the impact of on average Sum ETX in 16-channel and 6-channel case using CQARA. Given dierent channel set, the impact of channel variety is dierent. First, the fat tree and nodes' hop counts could be dierent. Also, the delivery ratio might be aected due to dierent channel assignment. We show the comparison of 2 channel sets: 6-channel ([11 15 19 20 25 26]) and all 16-channel in Figure 6.6 and Figure 6.7. With a larger channel set, the fat tree is more at, in which nodes have smaller hop count. Also, during channel allocation, links may have a larger number of good channels and the delivery ratio may also increase. Thus, the average sum ETX should be smaller with a larger channel set, as shown in Figure 6.6. When 1=5, the 16-channel case has larger average Normalized Throughput. But with the increase of , the 6-channel case becomes better. This is because 16-channel set has larger impact of channel variety than the 6-channel set. 111 Figure 6.7: Compare the impact of on average Normalized Throughput in 16-channel and 6-channel case using CQARA. 6.4.2 Channel-Quality-Aware Allocation In this part, we evaluate the channel allocation scheme described in Algorithm 5. The Channel-Quality-Aware Allocation (CQAA) can be used together with dierent underly- ing routing protocols. For example, the routing tree can be generated by CQAR or the CMS tree in ICRA generated by Algorithm 1. We show the evaluation of CQAA for both types of routing tree 3 . For abbreviation, in plots, we use CQARA to represent the com- bination of channel-quality-aware for both routing and channel allocation; while CQAA represents the combination of CMS tree and channel-quality-aware allocation. For the CMS tree construction, only channel 25's quality information is used. In channel-quality-aware allocation, the weight of a link decides its order in the channel allocation. There are 4 parameters to control the weight of a link: for subtree size, 3 For CQAR tree construction, we set = 5 and = 1. 112 Figure 6.8: Impact of dierent parameters on the Connectivity Ratio. for con ict degree (with to choose between conf link count and conf link sum), and phi for channel variety. Therefore, we will change their values to see the impact on nal channel assignment. Though we have evaluated for both 16-channel and 6-channel, the results shown here are for the 6-channel ([11 15 19 20 25 26]). It is more obvious to observe the impact of these parameters when the available channel set is limited. Figure 6.8 displays the Connectivity Ratios for dierent parameter settings. If a bad channel is allocated to a link, a node and all its subtree nodes might be disconnected from the sink. We nd that the channel variety parameter is more important for CQARA than for CQAA. This is due to the construction of fat tree. In CQARA, a node's hop count is dened as the smallest hop count in all available channels. Sometimes, a node may only have a single good channel to reach its smallest hop count. Therefore, channel assignment might be more strict for this type of links. If we do not consider channel 113 Figure 6.9: Impact of dierent parameters on the average Opt-ETX/Avg-ETX. variety to give higher priority to them, the qualities of these links or the connectivity cannot be ensured. We also notice thatconf link count is a better way to dene con ict degree for CQARA, but this is not obvious for CQAA. Though most settings, CQAA has higher connectivity, CQARA can also have 100% connectivity in some settings, i.e., = 1, = 1, = 1 and = 1. Average Opt-ETX/Avg-ETX ratio can be thought as an indicator of packet delivery ratio. Again, as shown in Figure 6.9, channel variety parameter is more important for CQARA than for CQAA with similar reason. But with the consideration of , the average Opt-ETX/Avg-ETX is also higher in CQAA. In general, channel variety gives higher priority for links with a smaller number of good channels, and thus improves the overall delivery ratio. 114 Figure 6.10: Impact of dierent parameters on Avg-Path-ETX of CQAA and CQARA in 6-channel case. CQAA has slightly better performance for connectivity and average Opt-ETX/Avg- ETX ratio. But CQARA shows much smaller packet ETX in Figure 6.10, with about 30% dierence on average. Thus, data transmission is more ecient for CQARA. This could also indicate a huge reduction of power consumption. From these comparisons, we observe that channel-quality-aware allocation has relative good perform in the setting of = 1, = 1, = 1 and = 1. We use this setting in our following simulations. 115 Table 6.3: Dierent versions of MCC: CQARA, CQAA and ICRA Tree Construction Channel Allocation ICRA single channel quality info single channel quality info CQAA single channel quality info all channels quality info CQARA all channel quality info all channel quality info 6.5 Algorithms Comparison CQAA and CQAR can both be incorporated into the MCC framework. According to how MCC uses channel quality information, it has 3 dierent versions: CQARA, CQAA and ICRA. we summarize them in Table 6.3. 6.5.1 Scalability By using channel quality information, we believe the performance of multichannel proto- cols can be improved. We want to take full advantage of channel quality variety, so the 16-channel set is used in the following evaluations. Scalability is an important feature of a protocol. To evaluate the scalability, we generate dierent scenarios by changing the network sizes, from 5 to 55. For each network size n, by changing root location, we generaten dierent networks. Each value in the plots is the average of all scenarios with the same network size. We run CQARA, CQAA and ICRA for all cases. The rst thing we observe is that CQARA and CQAA have 100% connectivity; but ICRA might get disconnected when the network size becomes large. Figure 6.11 shows both the average and min Connectivity Ratio of ICRA with dierent network sizes. The min connectivity ratio is dene as the minimal Connected Network Size Network Size 100 in all instances of the same network size. After network size is greater than 20, ICRA starts to have disconnected nodes. In the worst case, there are only about 50% nodes connected to 116 Figure 6.11: ICRA connectivity in dierent networks. the sink. CQAA has the same routing tree as ICRA, but it is fully connected. So the relative low Connectivity Ratio of ICRA is due to its channel allocation, which assumes all channels are equal for the link quality. Figure 6.12 displays the average Opt-ETX/Avg-ETX ratio. When network size is small ( 15), the average Opt-ETX/Avg-ETX ratio is close to 100% for all protocols. With the increase of network size, this ratio decreases for all protocols. The change is not obvious in CQARA and CQAA. But the drop is rapid in ICRA. As we can see, by considering the channel variety, both CQRAR and CQAA have very high overall delivery ratio. We show the Normalized Throughput in Figure 6.13. This plot is similar to the Opt-ETX/Avg-ETX ratio plot. CQAA is slightly better than CQARA, but with similar 117 Figure 6.12: The average Opt-ETX/Avg-ETX comparison in 16-channel case. performance. For small size networks, ICRA also has high Normalized Throughput, but it does not scale very well. We compare the number of used channels in Figure 6.14. With the increase of network size, the number of used channels also increases. For CQARA and CQAA, this number grows almost linearly with the network size. ICRA has the same trend when the network size is less than 30. But after that, this number is almost constant in ICRA. CQARA and CQAA use similar number of channels. They try to explore all available channels and benet from the channel quality variety. While MCC assumes all channels are equal, and focuses on minimizing the total number of used channels when doing allocation. However, from this plot, it does not mean CQARA and CQAA need to use more channels than MCC. 118 Figure 6.13: The average Normalized Throughput comparison in 16-channel case. Figure 6.14: The average number of used channels comparison for ICRA, CQAA and CQARA. 119 Figure 6.15: The Avg-Path-ETX comparison for CQARA and CQAA. CQARA and CQAA have similar performance. Both of them have high Normalized Throughput and scale very well. For the same throughput, the eciency of data trans- mission could be dierent. We evaluate this feature by the Avg-Path-ETX, shown in Figure 6.15. The Avg-Path-ETX grows with the network size. It is decided by both the per link delivery ratio and the hop count. When the network size is small (network size = 5), the Avg-Path-ETX is the same in CQARA and CQAA. After that, CQARA always has smaller packet ETX, and the dierence becomes bigger when the network size gets larger. Therefore, CQARA is more ecient and has lower energy consumption than CQAA. As we have shown, channel quality information is important to improve the connec- tivity, delivery ratio and throughput of networks, especially for larger networks. It is also very helpful to improve the transmission eciency and reduce the energy consumption. 120 Figure 6.16: Channel eciency comparison with dierent available channel sets. 6.5.2 Impact of Channels Sometimes we are not able to use all 16 channels in the frequency. We reduce the number of available channels and compare the performance of CQARA, CQAA and ICRA. It shows that in the 55-node networks, usually, ICRA only needs less than 6 channels. So in our following simulation, the size of channel set ranges from 3 to 6. We use all 55 nodes, changing the sink location, to create dierent scenarios. The 6-channel set is [11 15 19 20 25 26]. We try to use the channels that usually do not overlap with the commonly used Wi-Fi channels. Each time, we remove the channel with the smallest ID to generate a new channel set. Figure 6.16 shows the ratio of colorable scenarios for dierent channel sets. We call a scenario colorable if we can generate an interference-free channel allocation for it. Both CQARA and CQAA are link-based channel allocation. Therefore, the channel utilization 121 Figure 6.17: Average schedule length comparison with dierent available channel sets. should be more ecient. Given limited number of channels, they are able to generate interference-free allocation for more scenarios. We see the benet of channel-quality-aware routing when channel set is small. When there are 3 available channels, the CQARA still can generate 28 out of 55 interference-free allocations, while both CQAA and ICRA only have 4. CQARA exhibits high channel eciency. Even for a 2-channel set, in the 55-node network, it can generate a fully connected network with the average Opt-ETX/Avg-ETX ratio as high as 93% when node 17 is the root. For each channel set, we show the average Schedule Length of all colorable settings in Figure 6.17. The dotted red line is 54, the optimal Schedule Length in 55-node network. We see that the average Schedule Length of CQARA is always close to the optimal for all channel sets. But for CQAA and ICRA, the average Schedule Length of all colorable cases increases clearly when channel sets get smaller. 122 Figure 6.18: Average Opt-ETX/Avg-ETX comparison with dierent available channel sets. The comparison of average Opt-ETX/Avg-ETX ratio is shown in Figure 6.18. Again, only colorable scenarios are considered. Compared with ICRA, this ratio is much higher in CQARA and CQAA. In fact, the routing tree is the same for CQAA and ICRA. But CQAA uses the channel-dependent link quality during allocation, it greatly outperforms ICRA. Since we only consider colorable cases, when there are only 3 channels, the ratio of CQAA and ICRA are misleading. But in general, the average Opt-ETX/Avg-ETX ratio decreases with the reduction of available channels. For CQARA, this ratio is above 70% even with the 3-channel set. Our goal is to maximize the network throughput. So we show the box plot of Normal- ized Throughput in Figure 6.19, with the minimum, 25 percentile, median, 75 percentile, and maximum values as well as the mean (shown as a small square). When there are less than 5 available channels, for all protocols, there might be some disconnected nodes. We 123 Figure 6.19: Average Normalized Throughput comparison with dierent available channel sets. calculate the Normalized Throughput as (Opt-ETX/Avg-ETX ratioN) Schedule Length Connectivity Ratio. Since we only consider colorable scenarios, the value is biased when number of channels is 3. We show the Avg-Path-ETX of CQARA and CQAA in Figure 6.20, as an indicator of transmission/energy eciecny. For CQAA, this value increases with the decrease of available channels, while CQARA has almost constant value independent of channel sets. This exhibits the benet of combining both channel-quality-aware routing and allocation. 6.6 Summary and Discussion We have the following observations: 124 Figure 6.20: Avg-Path-ETX of CQARA and CQAA with dierent available channel sets. Link qualities are channel dependent. So channel-quality-aware is important, espe- cially in the channel allocation phase. CQARA, CQAA and ICRA have similar performance when network size is small. But ICRA does not scale very well. ICRA focuses on minimizing the number of used channels. If there are several similar good channels, ICRA may have good performance. CQARA and CQAA focus on improving the overall delivery ratio in the network. CQARA has the smallest sum ETX in all 3 algorithms, which indicates more e- cient transmission and energy consumption. CQARA has high channel eciency due to the combining of channel-quality-aware routing and allocation. 125 Link quality awareness is essential for the reliability and performance of multichannel- based protocols, especially in a heterogenous environment. This suggests that enhancing MCC to use CQARA or CQAA would be benecial. 126 Chapter 7 Conclusions and Future Work Wireless sensor networks are shown to be throughput-limited in many real deployments for data collection. To address this fundamental issue, we have modeled and performed systematic experimental analysis of the maximum achievable throughput in a widely used real hardware. The impact of packet size, power level, acknowledgements and node func- tion on throughput has been evaluated. Based on our observations, we propose MCC (MultiChannel Collection) as a general infrastructure for multichannel-based collection service in WSNs. MCC follows the modular design principle and contains dierent compo- nents: network connectivity determination, routing, channel allocation, time scheduling, and collection. Our implementation of MCC has shown experimentally that by having a load balanced tree, a greedy channel allocation scheme and time scheduling, it is possible to achieve a throughput close to the maximum. We have thoroughly evaluated components in MCC framework. This approach is feasible, because the synchronization overhead is small. We have shown how to make this approach ecient, in terms of minimizing the channels required, by choosing channels based on time scheduling information. We have shown 127 that this approach yields signicant benets in terms of throughput, at least in static environments, over state of the art single-channel collection protocols based on random access. This approach also yields signicant energy savings as nodes can be scheduled to be turned o when not needed for transmission or reception. During our implementation and evaluation of MCC, we observed that link quality is channel and location dependent. To better understand link quality across channels, we have measured the analyzed the link PRR values in 16 zigbee-channels on our Tutornet testbed, for 55 nodes at power level 7. The results show that channels are not equal and links exhibit a large variety of qualities in dierent channels. In a typical indoor oce environment, Wi-Fi signal has strong impact on sensor nodes' communication. We have also observed that asymmetry is common for links in all channels and link-based channel allocation is more reliable than node-based. From our measurement-based observations of link qualities measurement, we argue that channel-quality-aware is important to enhance the performance of multichannel- based protocols. Therefore, we have redesigned the approaches to channel allocation and routing to take the channel variety into account. The proposed algorithms are Channel- Quality-Aware Routing (CQAR) and Channel-Quality-Aware Allocation (CQAA), which can both be incorporated into the MCC framework. According to how MCC uses the channel variety information, it has three versions: ICRA (Ideal Channel-based Routing and Allocation, which assumes a perfect environment and ignores the channel variety at all.), CQAA ( Channel-Quality-Aware Allocation, which considers channel variety in- formation only for channel allocation.) and CQARA (Channel-Quality-Aware Routing and Allocation, which considers channel variety information for both routing and channel 128 allocation.) We have compared dierent versions of MCC and shown that in small net- works, all of them have high overall delivery ratio and normalized throughput, but ICRA does not scale well as CQARA and CQAA. We have also shown that CQARA exhibits high eciency of both channel utilization and energy consumption. This suggests that enhancing MCC to use CQARA would be benecial. While we believe this work has made a signicant step in identifying a practically fea- sible approach to maximize the throughput of data collection in wireless sensor networks, there are other dimensions in which the present work can be extended and improved. Some of these are as follows: Enhancing MCC to use CQARA: We have shown the benets of CQARA through simulations. It is worth implementing and evaluating on real system. This is not a trivial extension of current MCC implementation. For example, in the net- work connectivity phase, CQARA needs the link quality information in all available channels. We need to coordinate nodes for the measurements in dierent channels. Besides, in order to reduce the overhead of measurement, instead of just using PRR, LQI or RSSI and metrics proposed in [43, 97] might also be used to shorten the measure time. With the increase of the system complexity, there will be new and unforseen issues arising during implementation. Adjacent Channel Interference Study: Our current study focuses on co- channel interference, ignoring the adjacent channel interference. In [39], correlation between the spatial distances and channel distances is observed. Therefore, multi- channel protocols can only use the orthogonal channels, which largely reduces the 129 available channel set. A dierent argument is made in [44], which nds that sensor device cannot decode packets from inter-channels, even the packets are from only 1MHz frequency distance away. They experimentally show the feasibility of inter- channel concurrency by adjusting CCA threshold. Besides, transmission power also impacts the adjacent channel interference. Topology control might be another solu- tion to support concurrency in non-orthogonal channels. It would be good to have a comprehensive study in this area. Multi-Sink Optimization: The work in this paper shows how to maximize throughput for a single-sink network. This work also suggests that for larger net- works the way to further enhance the throughput is to employ multiple sinks. Other papers on multi-channel protocols [15] [24] have proposed the use of multiple sinks or multiple transceivers on a sink-node in order to handle large scale networks, where each sink's network is essentially a single, separate channel. However, we ar- gue that in such cases, a jointly optimized routing and time-frequency schedule for the entire multiple-sink network will yield higher overall throughput. This remains to be both algorithmically and empirically investigated. Dynamics: An inherent weakness of centrally frequency and time-scheduled pro- tocols is that they are not geared towards handling dynamics in the network due to time-varying links, node joins and failures, or frequent trac changes. While one approach is to repeat the conguration phase from scratch periodically, there is a tradeo between the overhead of conguration and agile response to dynamics. Another possible approach is to develop distributed versions of the routing, channel 130 and time allocation mechanisms, such that changes in the network structure and schedule can be triggered and managed as locally as possible, whenever the envi- ronment or trac changes occur. Yet another alternative is to consider topology transparent approaches to scheduling [47] which can handle arbitrary dynamics. 131 References [1] B. Krishnamachari. Networking Wireless Sensors. Cambridge University Press, 2005. [2] G. Werner-Allen, K. Lorincz, M. Welsh, O. Marcillo, J. Johnson, M. Ruiz, and J. Lees. Deploying a Wireless Sensor Network on an Active Volcano. IEEE Internet Computing, 10(2):18-25, March 2006. [3] G.S. Ahn, E. Miluzzo, A. T. Campbell, S. G. Hong, and F. Cuomo. Funneling- MAC: A Localized, Sink-Oriented MAC For Boosting Fidelity in Sensor Networks. In Proceedings of the International Conference on Embedded Networked Sensor Sys- tems(SenSys), 2006. [4] P. Gupta and P. R. Kumar. The Capacity of Wireless Networks. IEEE Transactions on Information Theory, 46(2): 388-404, March 2000. [5] P. Kyasanur, N.H. Vaidya. Capacity of multi-channel wireless networks: impact of number of channels and interfaces. In Proceedings of the 11th Annual International Conference on Mobile Computing and Networking(MobiCom), 2005. [6] D. Marco, E. J. Duarte-Melo, M. Y. Liu, D. L. Neuho. On the many-to-one transport capacity of a dense wireless sensor network and the compressibility of its data. In Proceedings of the 2nd International Conference on Information Processing in Sensor Networks (IPSN), 2003. [7] T.R. Abdelzaher, S. Prabh, R. Kiran. On real-time capacity limits of multihop wireless sensor networks. In Proceedings of the 25th IEEE International Real-Time Systems Symposium(RTSS), 2004. [8] E. J. Duarte-Melo, M. Y. Liu. Data-gathering wireless sensor networks: organiza- tion and capacity. Computer Networks: The International Journal of Computer and Telecommunications Networking, 43(4): 519-537, November 2003. [9] O. Gnawali, R. Fonseca, K. Jamieson, D. Moss, and P. Levis. Collection Tree Protocol. In Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems (SenSys), 2009. [10] S. Moeller, A. Sridharan, B. Krishnamachari, and O. Gnawali. Routing Without Routes: The Backpressure Collection Protocol. International Conference on Informa- tion Processing in Sensor Networks(IPSN), 2010. 132 [11] D. Puccinelli and M. Haenggi. Reliable Data Delivery in Large-Scale Low-Power Sensor Networks. ACM Transactions on Sensor Networks, 6(4): 1-41, July 2010. [12] S. Rangwala, R. Gummadi, R. Govindan and K. Psounis. Interference-Aware Fair Rate Control in Wireless Sensor Networks. In Proceedings of the Conference on Appli- cations, technologies, architectures, and protocols for computer communications(ACM SIGCOMM), 2006. [13] A. Sridharan and B. Krishnamachari. Explicit and Precise Rate Control for Wireless Sensor Networks. In Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems(SenSys), 2009. [14] J. Paek, R. Govindan. RCRT: Rate-Controlled Reliable Transport for Wireless Sen- sor Networks. In Proceedings of the ACM Conference on Embedded Networked Sensor Systems (SenSys), 2007. [15] C. J. Liang, J. Liu, and L.Q. Luo, A. Terzis, and F. Zhao. RACNet: A High- Fidelity Data Center Sensing Network. In Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems(SenSys), 2009. [16] J. Polastre, J. Hill and D. Culler. Versatile low power media access for wireless sensor networks. In Proceedings of the 2nd international conference on Embedded networked sensor systems (SenSys), 2004. [17] M. Maroti, B. Kusy, G. Simon, and A. Ledeczi. The ooding time synchronization protocol. In Proceedings of the 2nd international conference on Embedded networked sensor systems(SenSys), 2004. [18] C. Florens, M. Franceschetti, and R.J. McEliece. Lower bounds on data collection time in sensory networks. IEEE Journal on Selected Areas in Communications, 22(6): 1110-1120, 2004. [19] H. Le, D. Henriksson, and T. Abdelzaher. A Practical Multi-Channel Medium Access Control Protocol for Wireless Sensor Networks. In Proceedings of the 7th International Conference on Information Processing in Sensor Networks(IPSN), 2008. [20] O. D. Incel, L. v. Hoesel, P. G. Jansen and P. J. M. Havinga. MC-LMAC: A Multi- Channel MAC Protocol for Wireless Sensor Networks. Elsevier Ad Hoc Networks Journal, 9(1): 73-94, 2011. [21] M. D. Jovanovic, J. L. Djordjevic. Tfmac: Multi-channel mac protocol for wireless sensor networks. In Proceedings of the International Conference on Telecommunica- tions in Modern Satellite Cable and Broadcasting Services(TELSIKS), 2007. [22] O. D. Incel. A Survey on Multi-Channel Communication in Wireless Sensor Net- works. Elsevier Computer Networks, 55(13): 3081-3099, September 2011. [23] Y. Kim, H. Shin, and H. Cha. Y-MAC: An Energy-Ecient Multi-channel MAC Protocol for Dense Wireless Sensor Networks. In Proceedings of the International Conference on Information Processing in Sensor Networks (IPSN), 2008. 133 [24] Y. Wu, J. A. Stankovic, T. He, J. Lu, and S. Lin. Realistic and Ecient Multi- Channel Communications in Wireless Sensor Networks. In Proceedings of the 27th IEEE International Conference on Information communicationss (INFOCOM), 2008. [25] T. Luo, M. Motani, and V. Srinivasan. CAM-MAC: A Cooperative Asynchronous Multi-Channel MAC Protocol for Ad Hoc Networks. In Proceedings of the IEEE International Conference on Broadband Communications, Networks, and Systems (BROADNETS), 2006. [26] H. Zhang, P. Soldati, M. Johansson. Optimal link scheduling and channel assignment for convergecast in linear wirelessHART networks. In Proceedings of the 7th interna- tional conference on Modeling and Optimization in Mobile, Ad Hoc, and Wireless Networks (WiOpt), 2009. [27] J. Borms, K. Steenhaut, B. Lemmens. Low-overhead dynamic multi-channel mac for wireless sensor networks. In Proceedings of the 7th European Conference on Wireless Sensor Networks (EWSN), 2010. [28] http://www.tinyos.net/tinyos-2.x/doc/html/tep119.html. [29] O. D. Incel, A. Ghosh, B. Krishnamachari, and K. Chintalapudi. Fast Data Collection in Tree-Based Wireless Sensor Networks. IEEE Transactions on Mobile Computing, 11(1): 86-99, 2011. [30] J. So and N. H. Vaidya. A multi-channel MAC protocol for ad-hoc wireless networks. In Proceedings of the ACM Interational Symposium on Mobile Ad Hoc Networking and Computing (Mobihoc), 2004. [31] J. Zhang, G. Zhou, C. Huang, S. Son, J. Stankovic. Tmmac: An energy ecient multi-channel mac protocol for ad hoc networks. In Proceedings of the IEEE Interna- tional Conference on Communications (ICC), 2007. [32] G. Zhou, C. Huang, T. Yan, T. He, and J. A. Stankovic. MMSN: Multi-Frequency Media Access Control for Wireless Sensor Networks. In Proceedings of the IEEE In- ternational Conference on Computer Communications (INFOCOM), 2006. [33] X. Chen, P. Han, Q. He, S. Tu, and Z. Chen. A Multi-Channel MAC Protocol for Wireless Sensor Networks. In Proceedings of the IEEE International Conference on Computer and Information Technology (CIT), 2006. [34] H. Choi, J. Wang, E. A. Hughes. Scheduling for information gathering on sensor network. Wireless Networks, 15(1): 127-140, 2009. [35] C. H. Papadimitriou. The complexity of the capacitatd tree problem. Networks, 8(3): 217-230, 1978. [36] M. Bathula, M. Ramezanali, I. Pradhan, N. Patel, J. Gotschall, and N. Sridhar. A sensor network system for measuring trac in short-term construction work zones. In Proceedings of the IEEE International Conference on Distributed Computing in Sensor Systems (DCOSS), 2009. 134 [37] S. Kim, R. Fonseca, P. Dutta, A. Tavakoli, D. Culler, P. Levis, S. Shenker, and I. Stoica. Flush: A Reliable Bulk Transport Protocol for Multihop Wireless Networks. In Proceedings of the ACM Conference on Embedded Networked Sensor Systems (Sen- Sys), 2007. [38] B. Raman, K. Chebrolu, S. Bijwe, V. Gabale. PIP: A Connection-Oriented, Multi- Hop, Multi-Channel TDMA-based MAC for High Throughput Bulk Transfer. In Pro- ceedings of the ACM Conference on Embedded Networked Sensor Systems (SenSys), 2010. [39] O. D. Incel. Multi-Channel Wireless Sensor Networks: Protocols, Design and Eval- uation. Ph.D. Thesis, University of Twente, Netherlands, 2009. [40] Embedded Networks Laboratory. http://testbed.usc.edu. [41] J. Zhao and R. Govindan. Understanding Packet Delivery Performance In Dense Wireless Sensor Networks. In Proceeding of the 1st ACM Conference on Embedded Networked Sensor Systems(SenSys), 2003. [42] D. Ganesan, B. Krishnamachari, A. Woo, D. Culler , D. Estrin , S. Wicker. Com- plex behavior at scale: An experimental study of low-power wireless sensor networks. Technical report, CS TR 02-0013, UCLA. Feb, 2002. [43] L. Tang, K-C. Wang, Y. Huang, F. Gu. Channel Characterization and Link Qual- ity Assessment of IEEE 802.15.4-Compliant Radio for Factory Environments. IEEE Transactions on Industrial Informatics, 3(2): 99-110, 2007. [44] X. Xu, J. Luo, Q. Zhang. Design of Non-orthogonal Multi-channel Sensor Networks. In Proceedings of the IEEE International Conference on Distributed Computing Sys- tems (ICDCS), 2010. [45] M. Kurth, A. Zubow and J.-P. Redlich. Multi-Channel Link-level Measurements in 802.11 Mesh Networks. In Proceedings of the International Wireless Communications and Mobile Computing Conference (IWCMC), 2006. [46] R. Jain, D.M. Chiu., and W. Hawe. A Quantitative Measure of Fairness and Discrim- ination for Resource Allocation in Shared Computer Systems. DEC Research Report, TR-301, 1984. [47] Y. Liu, L. Zhang, V.O.K. Li, and K.C. Leung. Topology-Transparent Scheduling in Mobile Ad Hoc Networks Supporting Heterogeneous Quality of Service Guarantees. In Proceedings of the 46th Annual Conference on Information Sciences and Systems (CISS), 2012. [48] IEEE 802.15.4 1999. IEEE 802.15.4, Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specications for Low-Rate Wireless Personal Area Networks(LR-WPANs). IEEE Std. 802.15.4, 2003. [49] Chipcon's CC2420 2.4GHz IEEE 802.15.4 ZigBee-ready RF Transceiver. http://wwww.chipcon.com. 135 [50] CC1100 Low-Power Sub-1GHz RF Transceiver. http://www.ti.com. [51] IEEE 802.11: Wireless LAN Medium Access Control (MAC) and Phys- ical Layer (PHY) Specications. (2007 revision). IEEE-SA. 12 June 2007. DOI:10.1109/IEEESTD.2007.373646. [52] M. Z. Zamalloa and B. Krishnamachari. An Analysis of Unreliability and Asymmetry in Low-Power Wireless Links. ACM Transactions on Sensor Networks, 3(2) , June 2007. [53] Q. Yu, J. Chen, Y. Fan, X. S. Shen, Y. Sun. Multi-channel assignment in wire- less sensor networks: a game theoretic approach. In Proceedings of the 29th IEEE International Conference on Information Communications (INFOCOM), 2010. [54] G. Zhou, J. A. Stankovic and S. H. Son. Crowded Spectrum in Wireless Sensor Networks. In Proceedings of 3rd Workshop on Embedded Networked Sensors (EmNets), 2006. [55] N. Jain, S. Das, A. Nasipuri. A multichannel csma mac protocol with receiver-based channel selection for multihop wireless networks. In Proceedings of the IEEE Interna- tional Conference on Computer Communications and Networks (IC3N), 2001. [56] C.Y. Lin. A Multi-Channel MAC Protocol with Power Control for Multi-Hop Mobile Ad Hoc Networks. In Proceedings of the 21st International Conference on Distributed Computing Systems (ICDCS), 2001. [57] J. So , N. H. Vaidya. Multi-channel mac for ad hoc networks: handling multi-channel hidden terminals using a single transceiver. In Proceedings of the 5th ACM Interna- tional Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc), 2004. [58] A. Mishra , E. Rozner , S. Banerjee , W. Arbaugh. Exploiting partially overlapping channels in wireless networks: turning a peril into an advantage. In Proceedings of the 5th ACM SIGCOMM Conference on Internet Measurement (IMC), 2005. [59] A. Mishra , V. Shrivastava , S. Banerjee , W. Arbaugh. Partially overlapped chan- nels not considered harmful. In Proceedings of the joint International Conference on Measurement and Modeling of Computer Systems, 2006. [60] J. Crichigno , M.Y. Wu , W. Shu. Protocols and architectures for channel assignment in wireless mesh networks. Ad Hoc Networks, 6(7):1051-1077, September 2008. [61] A. Raniwala, C. Tzicker. Architecture and algorithms for an IEEE 802.11-based multi-channel wireless mesh network. In Proceedings of the 24th IEEE International Conference on Computer Communications (INFOCOM), 2005. [62] F. Juraschek , M. Gunes , M. Philipp , B. Blywis. On the feasibility of distributed link-based channel assignment in wireless mesh networks. In Proceedings of the 9th ACM International Symposium on Mobility management and Wireless Access (MO- BIWAC), 2011. 136 [63] P. Kyasanur, N. H. Vaidya. Routing and link-layer protocols for multi-channel multi- interface ad hoc wireless networks. ACM SIGMOBILE Mobile Computing and Com- munications Review, 10(1):31-43, January 2006. [64] M. Alicherry, R. Bhatia , L. Li. Joint channel assignment and routing for throughput optimization in multi-radio wireless mesh networks. In Proceedings of the International Conference on Mobile Computing and Networking (MobiCom), 2005. [65] K. Ramachandran, E. Belding, K. Almeroth, M. Buddhikot. Interference-aware chan- nel assignment in multi-radio wireless mesh networks. In Proceedings of the 25th IEEE International Conference on Computer Communications (INFOCOM), 2006. [66] B. Ko, V. Misra, J. Padhye, D. Rubenstein. Distributed channel assignment in multi- radio 802.11 mesh networks. In Proceedings of the IEEE Wireless Communications and Networking Conference (WCNC), 2007. [67] W. Si, S. Selvakennedy, A. Y. Zomaya. An overview of Channel Assignment meth- ods for multi-radio multi-channel wireless mesh networks. Journal of Parallel and Distributed Computing, 70(5):505-524, May 2010. [68] S. Mastooreh, S. Hamed, K. Antonis. Hymac: Hybrid tdma/fdma medium access control protocol for wireless sensor networks. In Proceedings of the 18th IEEE Per- sonal, Indoor and Mobile Radio Communications Symposium (PIMRC), 2007. [69] A. Gupta, C. Gui, P. Mohapatra. Exploiting multi-channel clustering for power ef- ciency in sensor networks. In Proceedings of the 1st International Conference on Communication System Software and Middleware (COMSWARE), 2006. [70] O.D. Incel, S. Dulman, P. Jansen, S. Mullender. Multi-channel interference measure- ments for wireless sensor networks. In Proceedings of the 31st Annual IEEE Interna- tional Conference on Local Computer Networks (LCN), 2006. [71] O.D. Incel, P. Jansen. Characterization of multi-channel interference. In Proceedings of the 6th International Symposium on Modeling and Optimization in Mobile, Ad Hoc, and Wireless Networks (WiOPT), 2008. [72] V. Raman, N. H. Vaidya. Adjacent Channel Interference Reduction in Multichannel Wireless Networks Using Intelligent Channel Allocation. Technical Report, August 2009. [73] R. Soua, P. Minet. A survey on multichannel assignment protocols in Wireless Sensor Networks. Wireless Days, 2011. [74] J. Li, D. Zhang, L. Guo, S. Ji, Y. Li. ARM: an Asynchronous Receiver-initiated Multichannel MAC Protocol with Duty Cycling for WSNs. In Proceedings of The 29th IEEE International Performance Computing and Communications Conference (IPCCC), 2010. 137 [75] X. Wang, X. Wang, X. Fu, and G. Xing. MCRT: Multi-Channel Real-Time Commu- nications in Wireless Sensor Networks. ACM Transactions on Sensor Networks, 8(1): 1-30, August 2011. [76] L. Tang, Y. Sun, O. Gurewitz and D. B. Johnson. EM-MAC: A Dynamic Multi- channel Energy-Ecient MAC Protocol for Wireless Sensor Networks. In Proceedings of the ACM Interational Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc), 2011. [77] S. Pollin, M. Ergen, A. Dejonghe, L. Van der Perre, F. Catthoor, I. Moerman, and A. Bahai. Distributed cognitive coexistence of 802.15.4 with 802.11. In Proceedings of the International Conference on Cognitive Radio Oriented Wireless Networks and Communications (Crowncom), 2006. [78] R. Gummadi, D. Wetherall, B. Greenstein, and S. Seshan. Understanding and mit- igating the impact of RF interference on 802.11 networks. In Proceedings of the con- ference on Applications, technologies, architectures, and protocols for computer com- munications (ACM SIGCOMM), 2007. [79] K. Srinivasan, P. Dutta, A. Tavakoli, and P. Levis. An empirical study of low power wireless. ACM Transactions on Sensor Networks, 6(2):1-49, February 2010. [80] C.-J. M. Liang, B. Priyantha, J. Liu, and A. Terzis. Surviving Wi-Fi interference in low power zigbee networks. In Proceeding of the ACM Conference on Embedded Networked Sensor Systems (SenSys), 2010. [81] X. Zhang, K. G. Shin. A case for the coexistence of heterogeneous wireless networks. In Proceedings of the 3rd ACM workshop on Wireless of the students, by the students, for the students, 2011. [82] A. Sikora and V. F. Groza. Coexistence of IEEE 802.15.4 with other systems in the 2.4 GHz ISM band. In Proceedings of the IEEE Conference on Instrumentation and Measurement Technology (IMTC), 2005. [83] ZigBee Alliance. Zigbee and wireless radio frequency coexistence, 2007. [84] S. Y. Shin, H. S. Park, S. Choi, and W. H. Kwon. Packet error rate analysis of ZigBee under WLAN and Bluetooth interferences. IEEE Transactions on Wireless Communications, 6(8):2825-2830, August 2007. [85] O. Ileri, D. Samarzija, T. Sizer and N. B. Mandayam. Demand Responsive Pric- ing and Competitive Spectrum Allocation via a Spectrum Server. In Proceedings of IEEE Symposium on New Frontiers in Dynamic Spectrum Access Networks (DyS- PAN), 2005. [86] C. Won, J.-H. Youn, H. Ali, H. Sharif, J. Deogun. Adaptive Radio Channel Allocation for Supporting Coexistnce of 802.15.4 and 802.11b. In Proceedings of IEEE Vehicular Technology Conference (VTC), 2005. 138 [87] A. Sahai, N. Hoven, and R. Tandra. Some fundamental limits on cognitive radio. In Proceedings of Allerton Conference on Communication, Control, and Computing (Allerton), 2004. [88] B. Azimi, D. Sexton, P. Liu, and M. Mahony. Interference eect on IEEE 802.15.4 performance. In Proceedings of the 3rd International Conference on Networked Sensing Systems (INSS), 2006. [89] X. Zhang and K. G. Shin. Cooperative Carrier Signaling: Harmonizing Coexisting WPAN and WLAN Devices. http://www.eecs.umich.edu/ xyzhang/papers/CCS.pdf. Submitted to IEEE Transactions on Networking, 2011. [90] M. Petrova, J. Riihijarvi, P. Mahonen, and S. Labella. Performance Study of IEEE 802.15.4 Using Measurements and Simulations. In Proceedings of IEEE Wireless Com- munications and Networking Conference (WCNC), 2006. [91] D. Sexton, M. Mahony and M. Lapinski. Radio channel quality in industrial wireless sensor networks. In Proceedings of the ISA/IEEE Sensors for Industry (SIcon), 2005. [92] Crossbow Technology Inc.. Avoiding RF Interference Between WiFi and Zigbee. http://www.xbow.com. [93] Steibeis-Transfer Centre, Compatibility of IEEE802.15.4 (Zigbee) with IEEE802.11 (WLAN), Bluetooth, and Microwave Ovens in 2.4 GHz ISM-Band, http://www.ba- loerrach.de. [94] G.L. Xing, M. Sha, J. Huang, G. Zhou, X.R. Wang, S.C. Liu. Multi-Channel Inter- ference Measurement and Modeling in Low-Power Wireless Networks. In Proceedings of IEEE Real-Time Systems Symposium (RTSS), 2009. [95] L. Doherty, W. Lindsay, J. Simon and K. Pister. Channel-Specic Wireless Sensor Network Path Analysis. In Proceedings of the International Conference on Computer Communications and Networks (ICCCN), 2007. [96] M. Sha, G. Hackmann, C. Lu. Multi-channel reliability and spectrum usage in real homes: Empirical studies for home-area sensor networks. In Proceedings of Interna- tional Workshop on Quality of Service (IWQoS), 2011. [97] C. Noda, S. Prabh, M. Alves, C.A. Boano, and T. Voigt. Quantifying the channel quality for interference-aware wireless sensor networks. In Proceedings of the 10th International Workshop on Real-Time Networks (RTN) in conjunction with the 23rd Euromicro Conference on Real-Time Systems (ECRTS), 2011. [98] J. Ortiz and D. Culler. Multichannel reliability assessment in real world WSNs. In Proceedings of the International Conference on Information Processing in Sensor Networks (IPSN), 2010. [99] A. Gonga, O. Landsiedel, P. Soldati, M. Johansson. Multi-channel communication vs. adaptive routing for reliable communication in WSNs. In Proceedings of the 11th International Conference on Information Processing in Sensor Networks(IPSN), 2012. 139 [100] M. Hanninen, J. Suhonen , T. D. Hamalainen , M. Hannikainen. Link quality-based channel selection for resource constrained WSNs. In Proceedings of the 6th Interna- tional Conference on Advances in Grid and Pervasive Computing (GPC), 2011. [101] S. Dawson-Haggerty, S. Lanzisera, J. Taneja, R. Brown, D. Culler. @scale: insights from a large, long-lived appliance energy WSN. In Proceedings of the 11th Interna- tional Conference on Information Processing in Sensor Networks(IPSN), 2012. [102] A technical description of TSMP is available at: http://www.dustnetworks.com/docs/TSMP Whitepaper.pdf. [103] R. Vedantham, S. Kakumanu, S. Lakshmanan, and R. Sivakumar. Component based channel assignment in single radio, multi-channel ad hoc networks. In Proceed- ings of the 12th annual international conference on Mobile computing and networking (MobiCom), 2006. [104] I. Rhee, A. C. Warrier, M. Aia, J. Min, and P. Patel. Z-MAC: A hybrid MAC for wireless sensor networks. In Proceedings of the ACM Conference on Embedded Networked Sensor Systems (SenSys), 2005. [105] F. Osterlind and A. Dunkels. approaching the Maximum 802.15.4 Multi-hop Throughput. In Proceedings of the Workshop on Hot Topics in Embedded Networked Sensors (HotEmNets), 2008. [106] H. W. So, G. Nguyen, and J. Walrand, Practical Synchronization Techniques for Multi-Channel MAC, in Mobicom, Sep 2006. [107] J. Mo, H.-S. W. So, and J. Walrand. Comparison of Multichannel MAC Protocols. IEEE Transactions on Mobile Computing, 7(1):50-65, May 2007. [108] S. C. Ergen, P. Varaiya. TDMA scheduling algorithms for wireless sensor networks. Wireless Networks, 16(4):985-997, 2010. [109] K. Srinivasan, P. Dutta, A. Tavakoli, and P. Levis. Understanding the Causes of Packet Delivery Success and Failure in Dense Wireless Sensor Networks. Technical report SING-06-00. [110] TinyOS Home Page. http://www.tinyos.net/. [111] D. Gay, P. Levis, and D. Culler. Software Design Patterns for TinyOS. In Pro- ceedings of the ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), 2005. [112] P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. Whitehouse, A. Woo, D. Gay, J. Hill, M. Welsh, E. Brewer, and D. Culler. TinyOS: An Operating System for Wireless Sensor Networks. In book Ambient Intelligence, 2005. 140
Abstract (if available)
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Algorithmic aspects of throughput-delay performance for fast data collection in wireless sensor networks
PDF
Relative positioning, network formation, and routing in robotic wireless networks
PDF
Robust routing and energy management in wireless sensor networks
PDF
Gradient-based active query routing in wireless sensor networks
PDF
Efficient data collection in wireless sensor networks: modeling and algorithms
PDF
Scheduling and resource allocation with incomplete information in wireless networks
PDF
Transport layer rate control protocols for wireless sensor networks: from theory to practice
PDF
Distributed wavelet compression algorithms for wireless sensor networks
PDF
On location support and one-hop data collection in wireless sensor networks
PDF
Cooperation in wireless networks with selfish users
PDF
Models and algorithms for energy efficient wireless sensor networks
PDF
Design of cost-efficient multi-sensor collaboration in wireless sensor networks
PDF
Lifting transforms on graphs: theory and applications
PDF
Rate adaptation in networks of wireless sensors
PDF
Dynamic routing and rate control in stochastic network optimization: from theory to practice
PDF
Realistic modeling of wireless communication graphs for the design of efficient sensor network routing protocols
PDF
Efficient and accurate in-network processing for monitoring applications in wireless sensor networks
PDF
Aging analysis in large-scale wireless sensor networks
PDF
Enabling virtual and augmented reality over dense wireless networks
PDF
Learning, adaptation and control to enhance wireless network performance
Asset Metadata
Creator
Chen, Ying
(author)
Core Title
Multichannel data collection for throughput maximization in wireless sensor networks
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Electrical Engineering
Publication Date
10/09/2012
Defense Date
06/26/2012
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
channel allocation,channel quality measurement,convergecast,multichannel,OAI-PMH Harvest,scheduling,TDMA,wireless sensor networks
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Krishnamachari, Bhaskar (
committee chair
), Annavaram, Murali (
committee member
), Govindan, Ramesh (
committee member
)
Creator Email
chen2@usc.edu,yingbackup@gmail.com
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c3-102974
Unique identifier
UC11289389
Identifier
usctheses-c3-102974 (legacy record id)
Legacy Identifier
etd-ChenYing-1239.pdf
Dmrecord
102974
Document Type
Dissertation
Rights
Chen, Ying
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the a...
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus MC 2810, 3434 South Grand Avenue, 2nd Floor, Los Angeles, California 90089-2810, USA
Tags
channel allocation
channel quality measurement
convergecast
multichannel
scheduling
TDMA
wireless sensor networks