on structure-less and everlasting data...
TRANSCRIPT
ON STRUCTURE-LESS AND EVERLASTING DATA
COLLECTION IN WIRELESS SENSOR NETWORKS
DISSERTATION
Presented in Partial Fulfillment of the Requirements for
the Degree Doctor of Philosophy in the
Graduate School of The Ohio State University
By
Kai-Wei Fan, B.S., M.S.
* * * * *
The Ohio State University
2008
Dissertation Committee:
Prasun Sinha, Adviser
Anish Arora
David Lee
Approved by
Adviser
Graduate Program inComputer Science &
Engineering
c© Copyright by
Kai-Wei Fan
2008
ABSTRACT
Computing and maintaining network structures for efficient data aggregation in-
curs high overhead for dynamic events where the set of nodes sensing an event changes
with time. Prior works on data aggregation protocols have focused on tree-based or
cluster-based structured approaches. Although structured approaches are suited for
data gathering applications, they incur high maintenance overhead in dynamic scenar-
ios for event-based applications. The goal of this dissertation is to design techniques
and protocols that lead to efficient data aggregation without explicit maintenance of
a structure.
We propose the first structure-free data aggregation technique that achieves high
efficiency. Based on this technique, we propose two semi-structured approaches to
support scalability. We conduct large scale simulations and real experiments on a
testbed to validate our design. The results show that our protocols can perform
similar to an optimum structured approach which has global knowledge of the event
and the network.
In addition to conserving energy through efficient data aggregation, renewable
energy sources are required for sensor networks to support everlasting monitoring
services. Due to low recharging rates and the dynamics of renewable energy such as
solar and wind power, providing data services without interruptions caused by battery
runouts is non-trivial. Moreover, most environment monitoring applications require
ii
data collection from all nodes at a steady rate. The objective is to design a solution
for fair and high throughput data extraction from all nodes in the network in presence
of renewable energy sources. Specifically, we seek to compute the lexicographically
maximum data collection rate for each node in the network, such that no node will
ever run out of energy. We propose a centralized algorithm and an asynchronous
distributed algorithm that can compute the optimal lexicographic rate assignment
for all nodes. The centralized algorithm jointly computes the optimal data collection
rate for all nodes along with the flows on each link, while the distributed algorithm
computes the optimal rate when the routes are pre-determined. We prove the op-
timality for both the centralized and the distributed algorithms, and use a testbed
with 158 sensor nodes to validate the distributed algorithm.
iii
To my family.
iv
ACKNOWLEDGMENTS
First and foremost, I would like to express my sincerest gratitude to my Adviser,
Dr. Prasun Sinha, for the guidance and support in the last four years. This work
would have never reached completion without all the discussions and brainstorming
with him. His advice and patience make this work possible. I am fortunate to have
him as my adviser. I am also thankful to my research committee members, Dr. Anish
Arora and Dr. David Lee for their invaluable inputs and comments to make this work
complete.
I would also like to express my gratitude to my colleagues in our research group,
Sha Liu, Ren-Shiou Liu, and Zizhan Zheng, and my friends Ming-Feng Hsieh, Yen-
Chen Lu, and Yi-Wen Kuo, for numerous collaborations and discussions. I would
also like to thank Chi-Hsien Yao, Yu-Neng Li, Xu Wang, for being such wonderful
friends.
Finally, I would like to thank all my family members for their unconditional love
and support. To my parents for giving my such a wonderful family, to my sister for
looking after me, and to my brother for being so supportive.
v
VITA
May 25, 1975 . . . . . . . . . . . . . . . . . . . . . . . Born - Hsinchu, Taiwan
1997 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.S.Computer Science & Information Engineering,National Chiao Tung University, Taiwan
1999 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M.S.Computer Science & Information Engineering,National Chiao Tung University, Taiwan
1999-2004 . . . . . . . . . . . . . . . . . . . . . . . . . . .Software Engineer & Project Manager,Formosoft Inc., Taiwan
2007 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M.S.Computer Science & Engineering,The Ohio State University
2004-present . . . . . . . . . . . . . . . . . . . . . . . . Graduate Teaching & Research Associate,The Ohio State University
PUBLICATIONS
Research Publications
Kai-Wei Fan, Sha Liu, and Prasun Sinha. “Dynamic Forwarding over Tree-on-DAGfor Scalable Data Aggregation in Sensor Networks”. IEEE Transactions on MobileComputing (TMC), preprint, 3 Apr. 2008, doi:10.1109/TMC.2008.55.
Ren-Shiou Liu, Kai-Wei Fan, and Prasun Sinha. “ClearBurst: Burst Scheduling forContention-Free Transmissions in Sensor Networks”. IEEE Wireless Communicationsand Networking Conference (WCNC), pages 1899-1904, March 2008.
Sha Liu, Kai-Wei Fan, and Prasun Sinha. “CMAC: An Energy Efficient MAC LayerProtocol Using Convergent Packet Forwarding for Wireless Sensor Networks”. Fourth
vi
Annual IEEE Communications Society Conference on Sensor, Mesh, and Ad HocCommunications and Networks (SECON), pages 11-20, June 2007.
Kai-Wei Fan, Sha Liu, and Prasun Sinha. “Structure-free Data Aggregation in SensorNetworks”. IEEE Transactions on Mobile Computing (TMC), August 2007.
Kai-Wei Fan, Sha Liu, and Prasun Sinha. “Scalable Data Aggregation for DynamicEvents in Sensor Networks”. 4th ACM Conference on Embedded Networked SensorSystems (SenSys), pages 181-194, November 2006.
Kai-Wei Fan, Sha Liu, and Prasun Sinha. “On the Potential of Structure-free DataAggregation in Sensor Networks”. IEEE INFOCOM, pages 1-12, April 2006.
Sha Liu, Kai-Wei Fan, and Prasun Sinha. “Dynamic Sleep Scheduling using OnlineExperimentation for Wireless Sensor Networks”. in Proceedings of SenMetrics, July2005.
Wen-Her Yang, Kai-Wei Fan, and Shiuh-Pyng Shieh. “A Secure Multicast Protocolfor The Internet’s Multicast Backbone”. ACM/PH International Journal of NetworkManagement, March/April 2001.
Wen-Her Yang, Kai-Wei Fan, and Shiuh-Pyng Shieh. “A Scalable and Secure Multi-cast Protocol on MBone Environments”. Information Security Conference, Taiwan,May 2000.
Instructional Publications
Sha Liu, Kai-Wei Fan, and Prasun Sinha. “Protocols for Data Aggregation in Sen-sor Networks, chapter in book titled Wireless Sensor Networks and Applications”.Springer Verlag’s book series Network Theory and Applications, 2005.
Kai-Wei Fan, Sha Liu and Prasun Sinha. “Ad-hoc Routing Protocols, chapter inbook titled Algorithms and Protocols for Wireless and Mobile Networks”. CRC/HallPublisher, 2004.
vii
FIELDS OF STUDY
Major Field: Computer Science and Engineering
Studies in:
Computer Networking Prof. Prasun SinhaProf. Anish AroraProf. David Lee
Database System Prof. Hakan FerhatosmanogluOperations Research Prof. Marc E. Posner
viii
TABLE OF CONTENTS
Page
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
Dedication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Vita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Chapters:
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Data Aggregation in Wireless Sensor Networks . . . . . . . . . . . 3
1.2.1 Cluster-Based Approaches . . . . . . . . . . . . . . . . . . 41.2.2 Tree-Based Approaches . . . . . . . . . . . . . . . . . . . . 6
1.3 Rate Allocation in Rechargeable Sensor Networks . . . . . . . . . . 81.4 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.5 Organization of the Dissertation . . . . . . . . . . . . . . . . . . . 11
2. Structure-Free Data Aggregation . . . . . . . . . . . . . . . . . . . . . . 12
2.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2 Spatial Convergence for Data Aggregation . . . . . . . . . . . . . . 142.3 Temporal Convergence for Data Aggregation . . . . . . . . . . . . . 222.4 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4.1 Expected Number of Transmissions . . . . . . . . . . . . . 25
ix
2.4.2 Alternate Analysis . . . . . . . . . . . . . . . . . . . . . . . 272.4.3 Comparison with Simulation Results . . . . . . . . . . . . . 29
2.5 Evaluation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.5.1 Simulation Scenario . . . . . . . . . . . . . . . . . . . . . . 322.5.2 Maximum Delay . . . . . . . . . . . . . . . . . . . . . . . . 342.5.3 Node Density . . . . . . . . . . . . . . . . . . . . . . . . . 372.5.4 Event Speed . . . . . . . . . . . . . . . . . . . . . . . . . . 402.5.5 Event Size . . . . . . . . . . . . . . . . . . . . . . . . . . . 412.5.6 Number of Events . . . . . . . . . . . . . . . . . . . . . . . 412.5.7 Distance to the Sink . . . . . . . . . . . . . . . . . . . . . . 442.5.8 Aggregation Ratio . . . . . . . . . . . . . . . . . . . . . . . 44
2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3. Semi-structured Data Aggregation . . . . . . . . . . . . . . . . . . . . . 50
3.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.2 ToD in One Dimensional Networks . . . . . . . . . . . . . . . . . . 51
3.2.1 Construction of One Dimensional ToD . . . . . . . . . . . . 523.2.2 Dynamic Forwarding . . . . . . . . . . . . . . . . . . . . . . 54
3.3 ToD in Two Dimensional Networks . . . . . . . . . . . . . . . . . . 563.3.1 Construction of Two Dimensional ToD . . . . . . . . . . . 563.3.2 Dynamic Forwarding . . . . . . . . . . . . . . . . . . . . . 573.3.3 Clustering and Aggregator Selection . . . . . . . . . . . . . 623.3.4 ToD in Irregular Topology Networks . . . . . . . . . . . . . 66
3.4 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713.5 Evaluation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.5.1 Testbed Evaluation . . . . . . . . . . . . . . . . . . . . . . 733.5.2 Large Scale Simulation . . . . . . . . . . . . . . . . . . . . 783.5.3 Event Size . . . . . . . . . . . . . . . . . . . . . . . . . . . 793.5.4 Scalability . . . . . . . . . . . . . . . . . . . . . . . . . . . 813.5.5 Aggregation Ratio . . . . . . . . . . . . . . . . . . . . . . . 823.5.6 Cell Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843.5.7 Random Deployment for Irregular Topology . . . . . . . . 86
3.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4. Scale-Free Data Aggregation . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904.2 Alternative Forwarding Tree . . . . . . . . . . . . . . . . . . . . . . 91
4.2.1 AFT Construction . . . . . . . . . . . . . . . . . . . . . . . 914.2.2 Alternative Forwarding on AFT . . . . . . . . . . . . . . . 934.2.3 Construction and Maintenance . . . . . . . . . . . . . . . . 98
x
4.2.4 Irregular Network Topology . . . . . . . . . . . . . . . . . 994.2.5 Implementation of AFT . . . . . . . . . . . . . . . . . . . . 99
4.3 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014.4 Evaluation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.4.1 Baseline Simulations . . . . . . . . . . . . . . . . . . . . . 1064.4.2 Cluster Size . . . . . . . . . . . . . . . . . . . . . . . . . . 1104.4.3 Amorphous Event . . . . . . . . . . . . . . . . . . . . . . . 1114.4.4 Packet Loss . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5. Rate Allocation in Perpetual Sensor Networks . . . . . . . . . . . . . . . 115
5.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155.1.1 Problem Formulation . . . . . . . . . . . . . . . . . . . . . 118
5.2 Optimal Lexicographic Rate Assignment . . . . . . . . . . . . . . . 1215.3 Distributed Lexicographic Rate Assignment . . . . . . . . . . . . . 1285.4 Evaluation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
5.4.1 Optimality . . . . . . . . . . . . . . . . . . . . . . . . . . . 1395.4.2 Recharging Profile . . . . . . . . . . . . . . . . . . . . . . . 1395.4.3 Control Overhead . . . . . . . . . . . . . . . . . . . . . . . 1415.4.4 Initial Battery Level . . . . . . . . . . . . . . . . . . . . . . 1435.4.5 Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
5.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
6. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
6.1 The Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1506.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
xi
LIST OF TABLES
Table Page
5.1 Constant parameters used in formulation. . . . . . . . . . . . . . . . . 119
5.2 Variables used in formulation. . . . . . . . . . . . . . . . . . . . . . . 120
xii
LIST OF FIGURES
Figure Page
2.1 Enhancing opportunistic aggregation with spatial convergence. . . . . 15
2.2 Unicast vs. Anycast . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3 Spatial convergence by DAA . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 CTS priorities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5 Packet forwarding in lock-step. . . . . . . . . . . . . . . . . . . . . . 23
2.6 The order of transmissions with randomly delay. . . . . . . . . . . . . 28
2.7 A network topology with k=3 downstream nodes. . . . . . . . . . . . 29
2.8 Analysis and simulation results. . . . . . . . . . . . . . . . . . . . . . 30
2.9 Simulation results for maximum randomized waiting time. . . . . . . 33
2.10 End-to-end transmission delay. . . . . . . . . . . . . . . . . . . . . . . 35
2.11 Simulation results for node densities. . . . . . . . . . . . . . . . . . . 38
2.12 Simulation results for event moving speeds. . . . . . . . . . . . . . . 39
2.13 Simulation results for event size. . . . . . . . . . . . . . . . . . . . . 42
2.14 Simulation results for numbers of events. . . . . . . . . . . . . . . . . 43
2.15 Simulation results for distances to the sink. . . . . . . . . . . . . . . . 45
xiii
2.16 Simulation results for aggregation ratios. . . . . . . . . . . . . . . . 48
3.1 Long-stretch for fixed tree structure. . . . . . . . . . . . . . . . . . . 51
3.2 Illustration for one row of the network. . . . . . . . . . . . . . . . . . 52
3.3 The construction of F-Tree, S-Tree, and ToD. . . . . . . . . . . . . . 52
3.4 Grid-clustering for a two-dimension network. . . . . . . . . . . . . . . 57
3.5 Cells triggered by an event. . . . . . . . . . . . . . . . . . . . . . . . 58
3.6 Scenarios in an F-aggregator’s view . . . . . . . . . . . . . . . . . . . 58
3.7 Forwarding to S-aggregators . . . . . . . . . . . . . . . . . . . . . . . 59
3.8 Aggregating cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.9 Scenarios of a void aggregating cluster. . . . . . . . . . . . . . . . . . 68
3.10 Aggregating clusters within void. . . . . . . . . . . . . . . . . . . . . 69
3.11 The worst case scenario for ToD. . . . . . . . . . . . . . . . . . . . . . . 71
3.12 Normalized number of transmissions for event sizes. . . . . . . . . . . 76
3.13 Normalized number of transmissions for maximum delays. . . . . . . 77
3.14 Simulation results for event sizes. . . . . . . . . . . . . . . . . . . . . 80
3.15 Simulation scenario for scalability. . . . . . . . . . . . . . . . . . . . . 81
3.16 Simulation results for distances to the sink. . . . . . . . . . . . . . . . 83
3.17 Simulation results for aggregation ratios. . . . . . . . . . . . . . . . . 85
3.18 Simulation results for cell sizes. . . . . . . . . . . . . . . . . . . . . . 87
3.19 Simulation results for random deployments. . . . . . . . . . . . . . . 89
4.1 Illustration for Q-clusters and A-clusters of AFT. . . . . . . . . . . . 91
xiv
4.2 Possible parents of an A-cluster. . . . . . . . . . . . . . . . . . . . . . 92
4.3 Overview of a four level AFT. . . . . . . . . . . . . . . . . . . . . . . 93
4.4 Forwarding decisions for an A-cluster with four parents. . . . . . . . . 96
4.5 Dilution of neighboring information. . . . . . . . . . . . . . . . . . . . 101
4.6 Percentage of cases that do not aggregate all packets. . . . . . . . . . 101
4.7 Possible Qi−1 and Ai−1 having packets for Qi. . . . . . . . . . . . . . 103
4.8 Worst case scenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.9 CDF of number of transmissions of QT/AFT (σ = 64m). . . . . . . . 107
4.10 CDF of ToD/AFT (σ = 64m). . . . . . . . . . . . . . . . . . . . . . . 108
4.11 CDF of number of transmissions of ToD/AFT (σ = 256m). . . . . . . 109
4.12 CDF of ∆/δ (σ = 64m). . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.13 Average of normalized number of transmissions. . . . . . . . . . . . . 111
4.14 CDF of ∆/δ in random topology with amorphous event (σ = 64m). . 112
4.15 CDF of ∆/δ in grid network with amorphous event (σ = 64m). . . . . 112
4.16 Normalized number of transmissions for packet loss rates (σ = 64m,δ = 100m). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.1 A network of four nodes with solar cells. . . . . . . . . . . . . . . . . 116
5.2 Recharging profile for nodes in Fig. 5.1 . . . . . . . . . . . . . . . . . 117
5.3 Battery levels of nodes in Fig. 5.1. . . . . . . . . . . . . . . . . . . . 117
5.4 Current measured from a solar cell in 48 hours. . . . . . . . . . . . . 118
5.5 Distributed lexicographic rate computation. . . . . . . . . . . . . . . 137
xv
5.6 Rate assignments of LP solver and DLEX. . . . . . . . . . . . . . . . 140
5.7 The difference between LP and DLEX. . . . . . . . . . . . . . . . . . 140
5.8 Rate assignments for sunny and cloudy days. . . . . . . . . . . . . . . 141
5.9 Number of control messages and children of each node in DLEX. . . . 142
5.10 The size of a subtree v.s. the rate. . . . . . . . . . . . . . . . . . . . . 143
5.11 Rates of nodes in different rate assignment approaches. . . . . . . . . 145
5.12 Number of packets received for each source. . . . . . . . . . . . . . . 145
5.13 Percentage of time a node runs out of energy. . . . . . . . . . . . . . 146
5.14 Total number of packets received (top) and ratio of nodes out of energy.147
5.15 Rate assignment in different network topology. . . . . . . . . . . . . . 148
xvi
CHAPTER 1
INTRODUCTION
1.1 Background
With recent advances in computing, wireless transmission, and embedded sensor
technologies, wireless sensor networks have become feasible for real deployment in
various applications, such as intrusion detection [8, 2], fire detection [85], environment
and habitat monitoring [3, 1, 65, 59], and biochemical hazards detection [77]. Sensor
nodes collaborate on sensing and collecting readings, and provide an autonomous
surveillance system to monitor our surrounding environment.
One key to the success for such sensor networks is sustainability. Due to the
remoteness of the deployments of sensor networks where wall-power is not accessible,
sensor nodes are usually powered by batteries. When sensor nodes run out of batteries,
they cease to operate and may compromise the network functionalities. It is usually
not economical, sometimes impossible, to replace the depleted batteries. Therefore,
energy conservation and its efficient utilization are both critical for increasing the
lifetime of sensor networks.
There have been many approaches proposed for efficient energy consumption in
sensor networks, such as low duty cycle MAC design [84, 66, 79, 55, 13, 54] and power
1
aware routing [18, 83, 76]. This dissertation focuses on data aggregation, a technique
that can reduce the amount of data transmitted in the network, and thus, reduce the
energy consumption.
Data aggregation is an effective technique for conserving energy in sensor networks.
In sensor networks, the communication cost is often several orders of magnitude higher
than the computation cost. Due to the inherent redundancy in raw data collected
from sensors, in-network data aggregation can often reduce the communication cost
by eliminating redundancy and forwarding only the extracted information from the
raw data. As reducing communication energy consumption extends the network life-
time, it is critical for sensor networks to support in-network data aggregation. For
data collection applications where sensor nodes send collected readings to the sink
periodically, the packet forwarding routes for facilitating data aggregation can be
planned in advance for optimality. However, for applications where only a subset of
nodes is triggered by an event, designing solutions for efficient aggregation of data
originating from these nodes is not trivial. In Chapters 2, 3, and 4, data aggregation
structures and techniques for packet forwarding that are efficient and scalable for
event triggered sensor networks are presented.
However, no matter how hard we try to conserve energy, the batteries will be
depleted one day. To support perpetual sensor networks that provide everlasting
monitoring services, an alternate source of energy is required. More recently, renew-
able energy harvested from natural sources, such as solar [37, 68], wind [63], thermal
[78], and vibration [72, 60], have been used as alternate sources of energy. In addition
to being an energy source which can boost network lifetime, renewable energy can
be used to optimize network performance if planned carefully. Chapter 5 presents
2
solutions for achieving fair and high throughput data extraction from all nodes in
data collection networks in presence of renewable energy sources.
1.2 Data Aggregation in Wireless Sensor Networks
Because of the energy constraint of wireless sensor networks and relatively high
communication cost, the computation cost of sensor nodes becomes less significant.
Pottie and Kaiser [67] reported that the energy consumption for executing 3000 in-
structions is equivalent to sending a bit 100 meters by radio. For this reason, data
aggregation and in-network processing are very important to extend the lifetime of
wireless sensor networks.
An example of data aggregation is obtaining AVERAGE, MAX, MIN, or SUM
of readings from all sensors. For example, if the sink wants to collect the average
temperature of the area monitored by a sensor network, the naive approach would
be to let each sensor node send its temperature reading back to the sink, and the
sink can then compute the average temperature from collected readings. However,
instead of sending individual readings back to the sink, intermediate sensor nodes
can combine their temperature readings with the received readings, and send only
the average temperature of all readings it has, together with the number of readings
contributing to the average temperature, to the sink. The average temperature can
be updated while being forwarded toward the sink, and eventually the sink can still
compute the average temperature of all sensor readings. In this way, each node only
sends the number of readings and the average temperature, which is significantly less
data than forwarding all readings for others.
3
Data aggregation has been an active research area in sensor networks for its ability
to reduce energy consumption. Many works have focused on different aspects of data
aggregation. Some focus on how to aggregate data from different nodes [40, 41, 57, 58],
some focus on how to construct and maintain a structure to facilitate data aggregation
[34, 35, 53, 51, 52, 88, 87, 38, 82, 23, 24, 56, 32, 19, 73], and some focus on how
to efficiently compress and aggregate data by taking the correlation of data into
consideration [75, 74, 20, 19, 64]. As this dissertation focuses on how to forward
packets to facilitate data aggregation, we briefly review protocols for routing packets
for data aggregation in current research. These protocols can be categorized into two
families: cluster-based and tree-based protocols. In Sections 1.2.1 the cluster-based
protocols are presented and in Section 1.2.2 the tree-based protocols are presented.
1.2.1 Cluster-Based Approaches
LEACH [34, 35] and PEGASIS [53, 51, 52] are representatives of this family. In
[34], the authors propose the LEACH protocol to cluster sensor nodes and let the
cluster-heads aggregate data and communicate directly with the base station. To dis-
tribute energy consumption evenly among all nodes, the cluster-heads are randomly
elected in each round. In [35], authors propose a modified version named LEACH-C.
LEACH-C uses the base-station to broadcast the cluster-head assignment, thus fur-
ther spreading out the cluster-heads evenly throughout the network and extending
the network lifetime. Based on LEACH, authors refine the cluster-head election al-
gorithm in [89] by letting every node broadcast and count neighbors at each setup
stage, where qualified potential nodes bid for the cluster-head position. This modi-
fication scatters cluster-heads more evenly across the network without requiring the
4
participation of the base-station. As it also requires every node to broadcast at its
highest transmission power at the setup stage of each round, it achieves only slight
improvement (around 6%) over LEACH.
Reducing the number of cluster-heads is critical to conserve energy as these nodes
stay awake and transmit to the base-station using high power. Lindsey et al. propose
PEGASIS [51], which organizes all nodes in a chain and lets them play the role of
heads in turn. Since there is only one head node in PEGASIS, and there are no simul-
taneous transmissions, latency is an issue in PEGASIS. To address this, the authors
propose two chain-based PEGASIS enhancements in [52, 53]. In [53] the authors pro-
pose a binary hierarchical approach for CDMA-capable sensor nodes, and in [52] the
authors propose a chain-based three-level approach that allows simultaneous trans-
missions for non-CDMA-capable sensor nodes. These two approaches usually save less
energy than PEGASIS, but outperform PEGASIS in Energy×Delay metric. Based
on both LEACH and PEGASIS, Culpepper et al. propose Hybrid Indirect Transmis-
sion (HIT) [23], a hybrid scheme of these two. HIT uses LEACH-like clusters, but
allows multi-hop routes between cluster-heads and non-head nodes.
LEACH and PEGASIS based protocols assume that the base-station can be
reached by any node in only one hop, which limits the size of the network for which
such protocols are applicable. The combination of CSMA, TDMA and CDMA makes
the design complex and cost-inefficient. In addition, in scenarios where the data can
not be perfectly aggregated, LEACH-based protocols do not necessarily have signif-
icant advantage since the cluster-head has to send many packets to the base station
using high transmission power. The chain-based nature of PEGASIS-based protocols
5
also makes them suitable only for scenarios where multiple packets can be perfectly
aggregated into one packet.
1.2.2 Tree-Based Approaches
Protocols in this family are built on traditional shortest path routing tree. The
research is focused on how to choose a good routing metric based on data attributes
to facilitate data aggregation. Directed Diffusion [40, 41] is one of the earliest to pro-
pose attribute-based routing. Data can be opportunistically aggregated when they
meet at any intermediate node. Based on Directed Diffusion, the authors propose
Greedy Incremental Tree (GIT) in [38, 39]. GIT establishes an energy-efficient path
and attaches other sources greedily onto the established path. Heidemann et al. [33]
further study the effect of data aggregation on Directed Diffusion through experi-
mentation. Krishnamachari et al. [50] compare three data-centric routing schemes,
Center at Nearest Source (CNS), Shortest Path Tree (SPT), and another version of
Greedy Incremental Tree (GIT) which establishes the route between the sink and the
nearest source first, to illustrate the advantage of data aggregation for saving energy.
They observe that GIT performs the best in terms of average number of transmis-
sions. In [57, 58] Madden et al. study the data aggregation issues in implementing a
real system and propose the Tiny AGgregation Service (TAG) framework. TAG uses
shortest path tree, and proposes improvements like snooping-based and hypothesis
testing based optimizations, dynamic parent switching, and using caches to estimate
lost data. TAG lets parents notify their children about the waiting time to gather
all data from children before transmitting, and the sleeping schedule can be adjusted
6
accordingly. Through real field experiments, TAG shows the benefit of data aggre-
gation, not only on saved energy, but also on data quality improvement due to less
contention. Ding et al. use shortest path tree with parent energy-awareness in [24],
where the neighbor node of the shortest distance to the sink with higher residual
energy is chosen as the parent. All the above tree-based data aggregation routing
protocols need a lot of message exchanges to construct and maintain the tree.
Most of these tree-based aggregation routing protocols are not designed for event
tracking applications. GIT can be used in such a scenario, but it suffers from the cost
of pruning branches, which might lead to high cost in moving event scenarios. Zhang
and Cao propose Dynamic Convoy Tree-Based Collaboration (DCTC) in [88]. They
propose a conservative scheme and a prediction-based scheme to wake up and prune
nodes from the convoy tree, and favor the latter one given reasonable prediction ac-
curacy. They also propose message-intensive sequential reconfiguration scheme which
is suitable for sparse networks, and heuristic-based localized reconfiguration which
is suitable for dense networks. In [87], the authors further optimize the tree recon-
figuration schemes. They compare optimized complete reconfiguration (OCR) and
optimized interception-based reconfiguration (OIR), and show that OIR is suitable
for small data size and small monitoring regions, while OCR is suitable for other
cases. Essentially, DCTC tries to balance the tree in the monitoring region to reduce
the energy consumption. But it assumes the knowledge of distances to the center
of the event at sensor nodes, which may not be feasible to compute with the sensed
information in all tracking applications. In addition, DCTC involves heavy message
exchanges, which is not desired when the data rate is high, and the performance of
DCTC highly depends on the accuracy of mobility prediction algorithms.
7
There is another class of tree-based data-centric routing protocols, which takes
sensing information entropy into the routing metric. In [75, 74], Scaglione and
Servetto propose a broadcast routing protocol to disseminate the information from
each node to all other nodes in the network under the capacity constraint, but the
broadcast scenario is different from ours. In [19, 20], Cristescu et al. first study the
distributed source coding and its approximation for sensor networks. But source cod-
ing or even its approximation is hard to deploy since the real information distribution
is hard to know. The authors then study the routing metric that considers joint en-
tropies through explicit communications. The authors prove that to find the optimal
routing tree using the new routing metric is NP-complete, and propose approxima-
tion algorithms such as Leaves Deletion approximation and Balanced SPT/TSP tree.
But these algorithms are centralized. They assume the global knowledge of the infor-
mation entropy of each sensor node and the joint entropy of each pair, which makes
such approaches impractical. Pattern et al. study the impact of spatial correlation
on routing for some special cases in [64] and derive the optimal cluster size for these
cases. Although a cluster structure is used, the basic tree-based routing is maintained
instead of transmitting packet to the base-station in one hop. However, whether the
deduced result can be generalized to other cases is unclear.
1.3 Rate Allocation in Rechargeable Sensor Networks
There have been many works on developing sensors with capability of harvesting
energy from solar or wind resources, such as Prometheus [44], Trio [25], and Ambi-
Max [63]. There are also many studies on exploiting renewable energy to increase
8
system performance or network lifetime [86, 81, 69, 47, 46, 45, 48, 80]. In [81], the au-
thors consider solar-aware routing based on directed diffusion in rechargeable sensor
networks. They use a simple heuristic that preferably routes packets through solar-
powered nodes, and the extra energy harvested from the environment is only a means
to boost network lifetime. In [47], the authors propose to measure the environmental
energy properties and renewable opportunities at each node, and use the informa-
tion to schedule tasks to increase network lifetime. In [45] and [46], the authors
further consider maximizing system performance while maintaining Energy-Neutral
operation, i.e., the energy used is always less than the energy harvested so that the
system can operate perennially. In [48], the authors study how sensor nodes should
be activated dynamically so as to maximize a utility function defining the coverage
area of sensors. In [80], in addition to adjusting the duty cycle of sensors to achieve
Energy-Neutral operation, the authors consider the variability of environmental en-
ergy resource and attempt to reduce the variation of duty cycle using adaptive control
theory. However these works either only consider the workload of individual sensors
and do not consider the influence on overall network performance by the individual
decisions, or only try to maximize system performance but do not consider the impact
on individual sensors.
To maximize system performance while balancing workload among sensors, fair-
ness has to be considered. Maxmin fairness, or lexicographic fairness, has been widely
used to define the fairness of a system. In [15], a distributed maxmin rate computa-
tion algorithm for fixed flows that are routed through capacity constrained switches
in wired networks is proposed. The proposed algorithm computes a maxmin rate
9
assignment for each flow and guarantees quick convergence. In [36], the authors gen-
eralize the problem by adding maximum and minimum rate requirement for each flow,
and propose a centralized algorithm similar to the one proposed in [12] that identifies
bottleneck links first, and assigns rates equally to all flows passing through these bot-
tleneck links. A distributed algorithm is also proposed that is based on the algorithm
proposed in [15]. In [16], a centralized algorithm is proposed that iteratively uses
linear programming to find lexicographic rate assignment for all sensor nodes that
periodically report readings to the sink. The proposed algorithm does not require
these flows to be forwarded through fixed routes. In [70] a distributed congestion
control scheme is proposed to achieve maxmin rate allocation through overhearing
and propagating congestion announcement, but it requires sophisticated parameter
tuning to achieve stable operation and the rates oscillate up and down after con-
verging, even if the topology remains unchanged. All these works solve the fairness
problem with static constraints, such as based on switches or battery capacity, and
do not consider dynamic resources such as changing harvested energy.
1.4 Contributions
We make the following contributions in this dissertation:
• We propose the first structure-free data aggregation protocol that achieves spa-
tial and temporal convergence without incurring control overhead for event-
based sensor networks.
• We propose an efficient and scalable data aggregation mechanism that can
achieve early aggregation without incurring overhead of constructing a structure
for event-based sensor networks.
10
• We prove that the distance the packets traveled before they are aggregated is
bounded by a constant factor of event diameter for event-based sensor networks.
• We propose a centralized algorithm to compute the optimal data collection rate
for each node, along with the amount of flow on each link for data collection
networks with energy recharging capability.
• We propose an optimum distributed and asynchronous algorithm for data col-
lection networks with energy recharging capability assuming that the routing
tree is pre-determined.
• We conduct experiments in sensor network testbed and extensive large-scale
simulations to validate our proposed solutions.
1.5 Organization of the Dissertation
The rest of this dissertation is organized as follows. Chapter 2 presents a structure-
free data aggregation protocol, DAA (Data Aware Anycast), that increases the chance
of data aggregation without incurring control overhead. Chapter 3 presents the ToD
(Tree-on-DAG), a semi-structured data aggregation approach that guarantees aggre-
gation within constant distance from the sources when the maximum event size is
known. Chapter 4 presents the AFT (Alternative Forwarding Tree) that further im-
proves ToD by guaranteeing aggregation irrespective of network size, event size, and
event location. Chapter 5 presents a centralized and a distributed algorithm for data
collection rate assignment that achieves fair and high throughput data extraction from
all sensor nodes with energy recharging capability. We conclude this dissertation in
Chapter 6.
11
CHAPTER 2
STRUCTURE-FREE DATA AGGREGATION
2.1 Objective
The objective is to increase the chance of data aggregation while eliminating the
overhead of control message. In order to achieve data aggregation, packets must
be transmitted in a certain order so they can meet at some nodes for aggregation.
Structured approaches are designed to follow such orderings to achieve optimal ag-
gregation. For example the transmissions should proceed from leaves to the root for
a tree. Structured approaches though suited for data gathering applications, have
high overhead for event-based applications. In event-based applications, nodes that
are triggered by an event are not known in advance. Therefore a structure has to
be constructed dynamically for these nodes, and this requires message exchanges and
incurs control overhead. Moreover, when the event moves, the structure has to be
adjusted for a new set of nodes that are triggered by the event. This also incurs heavy
message exchanges.
The other extreme is to use opportunistic aggregation where packets are aggre-
gated only if they happen to meet at a node at the same time. There is no overhead
12
of structure construction; however it may result in inefficient data aggregation. With-
out explicit coordination, the performance of the opportunistic aggregation technique
is non-deterministic, and the chance of aggregation may be limited. To avoid the
overhead of structured approaches and the limitations of opportunistic aggregation,
we study and design structure-free techniques for data aggregation.
Spatial convergence and temporal convergence during transmission are two neces-
sary conditions for aggregation. Packets have to be transmitted to a node at the same
time to be aggregated. Structured approaches achieve these two conditions by let-
ting nodes transmit packets to their parents in the aggregation tree and parents wait
for packets from all of their children before transmission. Without explicit message
exchange in structure-free aggregation, nodes do not know where they should send
packets to and how long they should wait for aggregation. Therefore improving spa-
tial convergence or temporal convergence can improve the chance of aggregation. We
propose the Data-Aware Anycast (DAA) protocol for improving spatial convergence
and the Randomized Waiting (RW) technique for improving temporal convergence.
These two approaches are described in the rest of this section.
For the design of the structure-free convergence protocol we have the following
goals.
1. Early aggregation: Packets must get aggregated as early as possible on their
journey to the sink.
2. Tolerance to event dynamics: If the event’s region of influence changes,
the overhead must not increase and the aggregation performance must remain
unchanged.
13
3. Robust to interference: Intermittent link failures should not affect the ag-
gregation performance.
4. Fault tolerance: The aggregation performance must not be affected by node
failures.
2.2 Spatial Convergence for Data Aggregation
In this section we present the Data-Aware Anycast (DAA) protocol which achieves
the goals described above. The idea behind DAA is, instead of constructing a struc-
ture in advance for optimal aggregation which is impossible without global knowledge
of the network topology and traffic pattern, an independent set among sources is cre-
ated. Nodes in the independent set act as aggregation points. The independent set is
created distributedly and automatically while packets are forwarded to the sink, thus
reducing the maintenance overhead incurred by structured approaches. To better
describe the DAA protocol, we make the following assumptions:
• Nodes know the geographic location of their one-hop neighbors and the sink.
Geographic information is essential in sensor networks and it can be acquired
by GPS devices or localization protocols [14, 61].
• The interference range is at least twice as the transmission range. This ensures
that the neighbors of the sender will interfere with each other and no CTS from
multiple nodes will collide. However if this does not hold, other mechanisms,
such as [42], can be used to prevent collision from multiple CTS packets.
• Nodes are time-synchronized. We aggregate packets that are generated at the
same time therefore nodes have to be time-synchronized. However, if packets
14
are aggregated according to other properties, such as geographic location, time-
synchronization is not necessary.
S
A B C
D E
S
A B C
D E
S D E
A B C
S
A B C
D E
S
A B C
D E
(a) (b)
S D E
A B C route
Three packets left in the
network.
Two packets left in the
network.
nodes without packet
nodes with packet
packet transmissions
wireless links
routing paths
Figure 2.1: Enhancing opportunistic aggregation with spatial convergence.
When nodes send packets to the sink, they may follow different routes dictated by
the routing protocol. Fig. 2.1 shows an example comparing opportunistic aggregation
with optimal forwarding strategy. In Fig. 2.1, S is the sink, solid lines are routes
constructed by the routing protocol, dotted lines are other wireless links, and the
arrows on the links represent packet transmissions. A node with data are represented
with a dark circle. Fig. 2.1(a) shows the packet transmissions assuming opportunistic
aggregation. In opportunistic aggregation, nodes send their packets along the route
15
constructed by the routing protocol. Fig. 2.1(b) shows how information about ex-
istence of data in neighboring nodes can be exploited to make dynamic forwarding
decisions to achieve more aggregation. Fig. 2.1(b) improves spatial convergence by
allowing nodes to send packets to nodes that still have packets for aggregation. The
black circles are nodes that have packets to send. In Fig. 2.1(a), as there is no mes-
sage exchange to construct a structure for aggregation, packets from C and E follow
two different routes constructed by the routing protocol. The distributed MAC pro-
tocol determines the order of transmissions in opportunistic aggregation which does
not achieve any aggregation in this case. However, in Fig. 2.1(b), if node C knows
that node B does not have packets for aggregation but node E does, it can send the
packet to E for immediate aggregation. As a result there are only two packets left
in the network (as opposed to three for opportunistic aggregation). This process can
be repeated until a node does not have neighbors with packets for aggregation, such
as E in Fig. 2.1(b), and we call E an aggregation point. This shows that if the
routing protocol provides the freedom to the MAC layer to decide among a set of
nodes (rather than a single next-hop), and if it can determine which node has packets
for aggregation, efficient spatial convergence can be achieved. In typical deployments
of sensor networks, nodes have multiple choices for the next-hop. For example, in
the ExScal [2] demonstration of the world’s largest sensor network, each sensor had
anywhere between 3 to 32 nodes in its communication range.
We present the mechanisms of the DAA approach by discussing the base approach
and enhancements to the base approach.
• DAA - The base approach: DAA is based on anycasting [42, 90, 91] at
the MAC layer to determine the next-hop for each transmission. Anycasting
16
requires the use of RTS packets to elicit CTS responses from the neighbors before
transmission of the packet. We define the Aggregation ID (AID) to associate
packets that can be aggregated. The RTS contains the AID of the transmitting
packet and any neighbor that has a packet with the same AID can respond with
a CTS. Depending on the application, AID can be any type of data, such as
geographic location or time instance. In this chapter we use the measurement
timestamp as the AID. Therefore two packets that are generated at the same
time can potentially be aggregated. As there could be multiple receivers capable
of aggregating the packet, the receivers randomly delay the CTS transmissions
to avoid CTS collision. Fig. 2.2 shows the difference between unicasting in
802.11 and randomized CTS response in anycasting. In 802.11, the receiver
sends a CTS immediately after receiving the RTS, while in randomized CTS,
the receiver sends a CTS with a random delay to avoid collision between nodes
sending the CTS. In Fig. 2.2, the CTS of receiver 2 has longer delay and hence
is canceled after hearing CTS from receiver 1.
Because we assume that the interference range is more than twice of the trans-
mission range, the neighbors of the sender can interfere with each other. Nodes
will cancel their CTS transmission if they overhear any packet transmission
during the random delay to prevent CTS collision.
• DAA on all hops: To further increase aggregation, we also use the DAA
approach rather than unicast while forwarding packets from the aggregation
points to the sink. However, in order to forward packets to the sink using DAA,
we enhance the mechanism as follows. Instead of dropping RTS if nodes do
not have packets for aggregation, they reply with the CTS if they are closer to
17
CTS
(a) 802.11 based RTS/CTS
sender
receiver
RTS
CTS
SIFS
sender
receiver 1
RTS
CTS
SIFS
(b) Anycast based RTS/CTS
Random delay
receiver 2 Cancel CTS
Figure 2.2: Unicast vs. Anycast
the sink, but with lower priority than nodes that have packets for aggregation.
Therefore, packets are still aggregated when they have the chance to meet;
otherwise the packets are forwarded greedily toward the sink.
0
20
40
60
80
100
120
140
160
180
200
0 20 40 60 80 100 120 140 160 180 200
Y
X
0
20
40
60
80
100
120
140
160
180
200
0 20 40 60 80 100 120 140 160 180 200
Y
X
(a) (b)
Figure 2.3: Spatial convergence by DAA
18
Fig. 2.3(a) shows an example network of 50 nodes in a 200m× 200m square with
the sink at (0, 0). The communication range of each node is 50m. Fig. 2.3(b) shows
routes taken by packets using DAA before they reach the aggregation points (black
nodes) where they first fail to get aggregated any further. The result shows that
the 50 packets are aggregated to seven aggregation points (not including the sink).
Compared to the 50 packets in the beginning, DAA reduces the packets to only seven
without incurring any overhead of constructing or maintaining a structure.
The average number of aggregation points selected in DAA is roughly n/(k + 1)
where n is the number of nodes generating packets and k is the average degree of
nodes. This can be explained as follows. Consider a node that has k neighbors.
It will become an aggregation point only if all its neighbors have sent their packets
before itself. The probability that the node sends its packet later than all its neighbors
is 1/(k + 1); therefore the average number of aggregation points is n/(k + 1). This
means that the number of packets remaining in the network is reduced by a factor
of k + 1 automatically, which saves a lot of energy if the network is large and many
source nodes are far away from the sink.
We now discuss details of the CTS priorities and the distance metrics.
CTS Priorities: Nodes are assigned with different priorities in responding to an
RTS. The three classes in decreasing order of their priorities are as follows:
Class A: The receiver has a packet with the same AID as specified in RTS and is
closer to the sink than the sender.
Class B: The receiver has a packet with the same AID as specified in RTS but is
farther away from the sink than the sender.
19
Class C: The receiver does not have a packet with the same AID but is closer to
the sink than the sender.
If the receiver does not have the packet with the same AID and is also farther
from the sink than the sender, it does not send a CTS. Corresponding to these three
classes of neighbors that can respond to the RTS, three slots are reserved for the CTS
packets providing exclusively higher priorities for Class A over Class B, and Class B
over Class C (Fig. 2.4). Nodes in the same class select a mini-slot to send their CTS
to avoid collision with other nodes in the same class. In order to further reduce the
number of transmissions, we divide Class C into 3 different priorities. Nodes that
are on the shortest path to the sink have the highest priority in Class C. Nodes can
know this information either by relative physical locations to their neighbors, or if the
routing protocol indicates that they are the next-hop of the sender. Second, nodes
that are at least closer to the sink by half of the transmission range than the sender
are assigned with priority two, and the remaining nodes in Class C are assigned with
priority three. This can reduce the number of transmissions since it takes fewer hops
to reach the sink by forwarding packets to farther nodes when there is no aggregation.
Note that the actual transmission time of the CTS could be larger than the mini-
slot or slot time. The slots and mini-slots are used to stagger the starting time of
CTS transmissions. Based on the assumption of interference between neighbors, we
expect only the first CTS transmission to succeed since the others will suppress their
transmissions due to the resulting interference.
Distance Metrics: In the DAA protocol, nodes need to know whether they are
closer to the sink than the sender to set the priority for sending the CTS. This pri-
ority is used for selecting the CTS-slot. We use geographic distance to compare the
20
Class B Class A
Canceled CTS
Canceled CTS
Canceled CTS
RTS
CTS
Sender
Class A Nbr
Class B Nbr
Class C Nbr
Class A Nbr
CTS slot mini-slot Class C
Figure 2.4: CTS priorities.
distance to the sink between two nodes. Nodes have to know their location and also
the sink’s location. Furthermore, nodes have to know the sender’s location. The
sender’s location can be either contained in the RTS packet, or can be exchanged
between neighbors during network deployment. Geographic voids and protocols to
go around voids have been well studied [49, 29]. The DAA approach can be easily
adapted to account for voids. For example the perimeter-mode forwarding approach
for dealing with voids [49] can make use of the anycast approach where Class C can
be restricted only to the designated next-hop on the perimeter. The DAA approach
can also be used with other metrics such as the number of hops to the sink. The main
difference from the geographic approach is that the number of hops will be used to
measure closeness to the sink rather than the geographic distance.
The DAA approach meets the design goals outlined in the beginning of this Sec-
tion. The DAA approach is used at each hop resulting in aggregation as early as
possible on the routes to the sink (Goal 1). As there is no computed structure, event
mobility has no impact on the performance of DAA (Goal 2). As transmission links
21
and next-hop nodes are chosen dynamically, DAA is tolerant to interference and node
failures, and therefore is very robust even in unreliable networks (Goals 3 and 4).
However, in the DAA approach packets may not get aggregated if they are spatially
separated (more than one hop) and if they are forwarded in lock-step by the MAC
layer. For such cases, we study the temporal convergence technique for improved
performance.
2.3 Temporal Convergence for Data Aggregation
The second condition for aggregation requires packets to be present in the same
node at the same time. Structure-free aggregation does not guarantee that aggrega-
tion will happen even when packets follow the same route. If the order of transmissions
does not result in packets meeting temporally at intermediate nodes, the benefit of
aggregation may be limited. The order of transmissions may be governed by several
factors including interference from other flows and interference from the same flow.
Assume that the backoff intervals are much smaller in comparison to the packet
transmission time. For such a configuration, packets that are only a few hops apart
may get forwarded in lock-step till they reach the sink even though they are on the
same route. To illustrate this point, consider a simple topology where all nodes are
lined up in a chain as shown in Fig. 2.5. Suppose the radio signal can interfere with
nodes that are two hops away. If node D transmits first, node B and C will remain
silent during the transmission. Therefore no nodes will contend for the channel with
A. Although C will send a CTS packet and the channel will not be idle for node A,
node A will only backoff for a short period, which is shorter than a packet transmission
time, and will sense the channel as idle after that. Since there is no contention, node
22
A will send its packet and it will not be aggregated with other packets from upstream
nodes. Note that when packets are more than one hop apart or when packets follow
the same route, the DAA approach is ineffective in improving aggregation.
A B C D S
interference range
A B S D C
Figure 2.5: Packet forwarding in lock-step.
Deterministically assigning the waiting time to nodes such that nodes closer to
the sink wait longer can avoid the problem. However nodes have no knowledge of
the event size (the area in which nodes are triggered by the event) and location. In
addition, they do not know their relative position compared to other nodes sensing the
event. The only information that a node knows is its distance to the sink. Therefore it
can only set the delay inversely proportional to its distance to the sink. This results in
a fixed delay for all packets wherever the event is, and the delay will be proportional
to the size of the network, which would be intolerable in large network deployments.
Therefore we propose Randomized Waiting (RW) at sources for each packet to
introduce artificial delays and increase temporal convergence. Each source delays its
transmission by an interval chosen from 0 to τ , where τ is the maximum delay. In
Fig. 2.5, if node A chooses a higher delay than node D and nodes B and C have
23
lower delays than A and D, node D’s packet may be aggregated at node A if the
difference between the delays of A and D is greater than the transmission time from
node D to A. Notice that with Randomized Waiting, it is possible that the packets
may be transmitted out of order if the data sampling time is smaller than τ .
The optimum value of τ depends on the size of the event and the time to transmit
a packet. If the event size increases, i.e. the maximum number of hops increases, the
maximum delay should increase such that the difference between the delay chosen by
two nodes increases. If the difference between two delays is too small, packets will not
be aggregated even if downstream nodes have higher delay because the transmission
time will be greater than the delay difference. However if the maximum delay is too
large, the end to end latency will be too high. If the application is not delay tolerant,
a low value of τ is required which can not reap the benefits of this approach. Since
nodes are unable to know the size of the event, they can not know the optimal value
of the delay. However, due to the DAA’s ability to achieve early aggregation even
without delay, our approach is not very sensitive to the length of the delay. From the
simulation results in Section 2.5 we learned that using RW together with the DAA
approach, the performance gain for delay longer than 1.6 seconds (about 40 packets
transmission time) is marginal for events with 400m in diameter. This suggests that
delay of few seconds is sufficient for the DAA+RW approach.
2.4 Analysis
In this section we model the performance in terms of total number of packets
transmitted in network when both Data-Aware Aggregation and Randomized Waiting
are used. An alternate combinatorial analysis technique is shown for a special case
24
that also validates the analysis. Results from simulations match the analysis results
closely.
2.4.1 Expected Number of Transmissions
In this section we compute the expected number of transmissions when both spa-
tial and temporal convergence techniques are used together. In a network where all
nodes have data to send, if nodes can cooperatively construct an aggregation tree and
transmit packets starting from leaves to the root, there are n−1 transmissions where
n is the number of nodes in the network since there are n−1 edges in the constructed
tree.
To analyze the expected number of transmissions in a structure-free network, first
we compute the probability that a packet will be aggregated. We assume that each
node in the network has a packet to transmit. Each node picks a random delay for
every packet that it originates. If downstream nodes have higher delay than upstream
nodes, packets can be aggregated at downstream nodes. To simplify the analysis,
nodes only forward packets to nodes closer to the sink, and we do not consider the
transmission delay that may result in fewer aggregations.
Let Y be the discrete random variable representing the number of hops a packet
has been forwarded when it is aggregated. Let X be the continuous random variable
of the delay chosen by each sensor node, and its probability density and cumulative
density functions be f(x) and F (x). Let dvh= x be random delay chosen by vh where
vh is a node that is h hops away from the sink. Consider a network where each node
has an average of k choices for downstream nodes. A packet can be forwarded i hops
and be aggregated only if (a) the packet is forwarded through i−1 hops and all nodes
25
in these hops have lower delay than the sender, and (b) at least one node at the i-th
hop has higher delay than the sender. Therefore, for a node that is h hops away from
the sink,
P (Y = i) =
{
F (x)(i−1)k × (1− F (x)k), if 0 < i < h
F (x)(i−1)k, if i = h(2.1)
The expected value of Y for node vh when the delay is x is:
E[Y |dvh= x] =
h∑
i=1
i× P (Y = i|X = x)
=
(
h−1∑
i=1
i× F (x)(i−1)k
)
−(
h−1∑
i=1
i× F (x)ik
)
+ h× F (x)(h−1)k
=h−1∑
i=0
F (x)ik (2.2)
Therefore the expected value of Y is
E[Y ] =
∫ ∞
0
P (X = x)× E[Y |dvh= x] dx
=
∫ ∞
0
(
f(x)×h−1∑
i=0
F (x)ik
)
dx
=
∫ ∞
0
(
h−1∑
i=0
F (x)ik
)
dF (x)
=
[(
h−1∑
i=0
F (x)ik+1
ik + 1
)]∞
0
=h−1∑
i=0
1
ik + 1(2.3)
Using this expected value, we can calculate the expected number of transmissions in
the network as the summation of all expected number of transmissions of nodes from
hop 1 to n/k (assume that the n nodes are uniformly distributed and all nodes at the
26
same hop distance have k downstream nodes, i.e., each level has k nodes, therefore
the maximum hop number is n/k on average), and is:
n/k∑
h=1
kh−1∑
i=0
1
ik + 1= (n + 1)Hk(
nk)− n
k(2.4)
where Hk(n) =∑n
i=11
(i−1)k+1is the summation of a harmonic sequence.
2.4.2 Alternate Analysis
From the above analysis we know that the result is independent of the distribution
of X. Using an alternate combinatorial technique for the special case of k = 1 we
obtain the same result. We present the alternate technique (only for the special case)
for validating our analysis and for the sake of completeness.
Consider a chain topology of nodes v0 to vn where v0 is the sink and all other nodes
are sources. Picking a number from 0 to τ for each node is equivalent to choosing a
random permutation corresponding to the order of transmissions. As shown in Fig.
2.6, for a packet generated at vn to be forwarded h hops, node vn must transmit
later than all nodes within h − 1 hops, and earlier than the node at h hops away.
It is equivalent to randomly assigning n distinct numbers, sv1to svn
, to these n
nodes as their orders of transmissions such that among nodes vn−h through vn, svn−h
is the largest and svnis the second largest number. There are
(
nh + 1
)
possible
combinations of selecting h + 1 numbers out of n numbers. Among these selected
h + 1 numbers, there are (h − 1)! possible orderings such that svn−hand svn
are the
largest two numbers. The number of possible orderings of the rest of n−(h+1) nodes
27
is (n− (h + 1))! Therefore the probability for a packet to be forwarded h hops is
(
nh + 1
)
× (h− 1)!× (n− (h + 1))!
n!=
1
h(h + 1)
vn sink v1
h
vn-h
Delay
Nodes
dn dn-h
Order 1 2 3 4 7 5 6
Figure 2.6: The order of transmissions with randomly delay.
If a packet of a node travels to the sink without any aggregation, the node must
have highest delay and its probability is 1n. Therefore
P (Y = i) =
{
1i(i+1)
if 0 < i < n1n
if i = n(2.5)
and the expected value E[Y ] for node vn is:
E[Y ] =n∑
i=1
i× P (Y = i)
=n−1∑
i=1
i× 1
i(i + 1)+ n× 1
n
=n∑
i=1
1
i(2.6)
The expected number of transmissions would be
n∑
h=1
h∑
i=1
1
i= (n + 1)H1(n)− n (2.7)
= (n + 1)(ln n + O(1))− n (2.8)
≈ n ln n if n→∞ (2.9)
28
We observe that this expression matches Equation 2.4 for k = 1, validating the
previous analysis.
2.4.3 Comparison with Simulation Results
… … Sink
n/k
Figure 2.7: A network topology with k=3 downstream nodes.
To compare the analytical results with simulations (using ns2) we use the network
topology shown in Fig. 2.7. Each node has three downstream nodes within its
transmission range. In this simulation we only allow nodes to send packets to one
of the 3 downstream nodes in the next column. This corresponds to k = 3 in our
analysis. We use τ = 2 seconds for the maximum random delay for delaying packet
transmission, which is approximately 50 packet transmission time.
Fig. 2.8 shows the results of simulations and analysis. It shows that the analysis
results match the simulation results when the network size is less than 40 hops.
As the hop count increases, the number of transmissions in simulations increases
faster than the predictions of the analysis. This difference is due to the absence of
29
50
100
150
200
250
300
350
400
450
500
550
600
20 25 30 35 40 45 50 55 60 65 70
Num
ber
of T
rans
mis
sion
Hops
analysissimulation-50
Figure 2.8: Analysis and simulation results.
a model for transmission delay in our analysis. As the number of hops increases the
transmission delay also increases. Therefore, a packet may not be aggregated at the
downstream node with higher delay due to non-negligible transmission delay. As this
effect increases with increasing number of hops, the discrepancy increases accordingly.
Note that with a larger value of τ the simulation results can be brought closer to the
analysis for a wider range of number of hops. Although the delay is introduced only
at the source, the resulting end-to-end delay may not be acceptable to the application
if τ is very high.
2.5 Evaluation Results
In order to justify the design of the structure-free approach, we compare our
protocol with a structured approach. We construct an aggregation tree rooted at the
center of the event for each instance of measurement in advance. Nodes delay their
transmission according to their height in the tree. Therefore packets are transmitted
from leaves to the root to achieve highest number of aggregation. Parent nodes will
30
transmit their packets once they receive packets from all their children, or when
their delay timers expire. This approach should have best performance since nodes
know how long to wait for their children and to where they should send their packets
to achieve maximum aggregation. Notice that these trees are constructed implicitly
assuming the network topology and the movement of the events are known in advance.
It does not consider the cost of constructing and maintaining the tree. We also include
the opportunistic aggregation in the comparison.
The protocols evaluated in this section are listed below:
1. Opportunistic Aggregation (OP). Nodes send their packets along the short-
est path to the sink immediately when they get the measurements. The struc-
ture is a shortest path tree rooted at the sink, not rooted at the center of the
event as described above. Packets are aggregated only if they are at the same
node at the same time (either at the application layer or mac layer).
2. Randomized Waiting (RW). Nodes send their packets along the shortest
path to the sink with random delay at the sources. The RW approach falls back
to OP approach when the delay is 0.
3. Data Aware Anycast (DAA). Nodes use spatial convergent anycast to ag-
gregate packets without delaying at the source as described in Section 2.2.
4. Data Away Anycast with Randomized Waiting (DAA+RW). Both
DAA and RW approaches are used.
5. Aggregation Tree (AT). The structured approach described in the beginning
of this section. According to the simulation, we set the delay timer of a node
31
to be 0.64 seconds (around 16 packets transmission time) longer than its chil-
dren. Nodes with height 1 (leaves) do not delay, nodes with height 2 delay 0.64
seconds, and so on.
We use the ns2 network simulator to evaluate these protocols. The RTS/CTS
packet formats of 802.11 MAC are modified to incorporate the anycasting capability.
The RTS packet contains an extra field of Aggregation ID and CTS packet contains
an extra field of the address of the CTS sender. In all scenarios there is only one sink
in the network. We assume that nodes know their neighbors’ location.
2.5.1 Simulation Scenario
The network is a 1000m × 1000m square region with grid topology. The sink is
located at one corner of the network. The data rate of the radio is 38.4Kbps and the
communication range is slightly longer than 50m. An event moves in the network
using the random way-point mobility model for 400 seconds. Nodes generate packets
with 50 bytes payload, and send packets to the sink every 5 seconds. For an event
size of 200m radius with 25m as the distance between two nodes, there are 200 nodes
generating packets at the same time (or 50 nodes generating packets if the distance
between two nodes is 50m). Unless otherwise mentioned, the inter-node separation
is 30m, the event moving speed is 10m/s with a pause time of 0 second, the radius
of the event is 200m, and the maximum delay (τ) for RW and DAA+RW approaches
is 3.2 second. All simulation results are based on 5 different mobility scenarios (each
for 200 seconds). The minimum and maximum values obtained are also drawn in all
graphs.
32
0
1
2
3
4
5
6
7
8
4 3.2 2.4 1.6 0.8 0
Nor
mal
ized
Num
ber
of T
rans
mis
sion
sMaximum Delay (s)
RWDAA+RW
ATAT-2
(a) Normalized number of transmission.
10000
15000
20000
25000
30000
35000
40000
45000
4 3.2 2.4 1.6 0.8 0
Num
ber
of T
otal
Tra
nsm
issi
ons
Maximum Delay (s)
RWDAA+RW
ATAT-2
(b) Total number of transmissions.
4000
6000
8000
10000
12000
4 3.2 2.4 1.6 0.8 0
Num
ber
of R
ecei
ved
Pack
ets
Maximum Delay (s)
RWDAA+RW
ATAT-2
(c) Number of received packets.
Figure 2.9: Simulation results for maximum randomized waiting time.
33
The normalized number of transmissions is used as the metric to compare different
protocols. Normalized number of transmissions represents how effective a protocol
is in aggregating packets and is (Number of transmissions in the network)/(Number
of Contributing Sources). The Number of Contributing Sources is the effective pieces
of information that are generated by all sources in the network and are aggregated
at the sink. The number of aggregation can not tell if a protocol performs well
since packets might be forwarded many hops before being aggregated. The number
of transmissions will be lower if more packets are aggregated earlier. However the
number of transmissions could be low if a lot of packets are dropped. Therefore
we use the normalized number of transmissions as the metric to compare different
protocols.
2.5.2 Maximum Delay
First we evaluate the performance of the RW approach for achieving temporal
convergence. Using the default scenario (30m inter-node separation and 200m event
radius), there are around 140 sources and each source has about eight neighbors in its
communication range. We vary the maximum delay from 0 (no delay) to 4 seconds,
which is approximately the time to transmit 100 packets. Fig. 2.9 shows the results.
In Fig. 2.9, AT uses 8 seconds as the maximum delay. If the height of the tree is
higher than 13, the node with height larger than 13 will only delay 8 seconds (the
delay of each node is 0.64 ∗ (height − 1)). AT-2 is AT approach with the maximum
delay specified on the X-axis. OP and DAA are not shown in these graphs, but they
are just RW and DAA+RW approaches with τ = 0.
34
1.5
2
2.5
3
3.5
4
4.5
5
5.5
4 3.2 2.4 1.6 0.8 0
Wei
ghte
d D
elay
(s)
Maximum Delay (s)
RWDAA+RW
ATAT-2
Figure 2.10: End-to-end transmission delay.
For protocols RW and DAA+RW, the normalized number of transmissions de-
creases as the maximum delay increases. At τ = 4 seconds, the DAA+RW is 21%
lower than DAA (DAA+RW with delay 0), and RW is 20% lower than OP. The struc-
tured approach AT, as predicted, has the lowest normalized number of transmissions.
AT is 29% lower than DAA+RW in terms of normalized number of transmissions.
However, AT requires the time and overhead of constructing the tree, which may
degrade its performance further, and is not shown in the graph. AT-2, the structure
approach with different maximum delay, does not perform better than the DAA+RW
approach when the maximum delay is less than 2.4 seconds. This shows that struc-
tured approaches are very sensitive to the waiting time. In the worst case, AT-2 has
300% more normalized number of transmissions than AT. However with higher delay,
the end-to-end delay is also higher for AT (Fig. 2.10). Because of DAA’s ability
to achieve early aggregation, it can effectively reduce the number of packets in the
35
network even without delay. Therefore DAA+RW is not as sensitive as the AT ap-
proach. Although with higher values of τ , the normalized load of DAA+RW can be
further reduced, beyond τ = 1.6s the reduction is marginal.
Figs. 2.9(b) and 2.9(c) show the number of transmissions and receptions of packets
for different values of τ . We can see that AT has the lowest number of transmissions,
which is only 57% of DAA+RW. However, DAA+RW has more received packets than
AT. This is counter-intuitive since AT delays packet transmissions based on nodes’
height in the tree, which reduces contention between parent and child nodes, and
is expected to have a lower packet dropping rate. Tracing into the simulation logs
we found that the packet dropping rate is very high in AT. DAA+RW has about 7
packet losses which counts for around 150 units of effective information, while AT has
about 200 packet losses which counts for about 2100 units of effective information.
We believe that this is because in the AT approach, nodes have only one choice,
their parent, to send their packets to. It is a convergecast which may cause a lot of
contention. However in DAA and DAA+RW, nodes have multiple choices as the next-
hop, and packets tend to be forwarded away from each other (packets that are close
will be aggregated), which reduces the contention. Therefore DAA and DAA+RW
have less packet loss and more received packets.
We observe that as DAA+RW achieves fewer transmissions than DAA and it
decreases as τ increases, RW has opposite behavior to DAA+RW. RW has more
transmissions than OP, and it increases as τ increases. This is because RW has lower
packet dropping rate than OP (Fig.2.9(c)). When τ increases, packets are more likely
to be transmitted at different times, and the collision is reduced. As fewer packets
are dropped, more packets are transmitted in the network, and they contribute to
36
the increase in number of transmissions. The packet dropping rate is low for DAA as
it achieves packet aggregation in the beginning, reducing the number of packets and
lowering the probability of collision.
Fig. 2.10 shows the weighted delay for different τ . The weighted delay is the
average delay experienced by a packet reaching the sink weighted by the number of
contributing sources for that packet. For example, suppose at time 2 the sink receives
a packet containing 3 aggregated packets generated at time 0. At time 8, the sink
receives another packet containing 4 aggregated packets generated at time 5. The
weighted delay is ((2− 0) ∗ 3 + (8− 5) ∗ 4)/(3 + 4) = 18/7. Therefore, as τ increases,
the average weighted delay also increases.
We can see that the structured approaches have higher delay than the structure-
free approaches. The main reason is that nodes have to wait for all their children
before the delay timer expires, and when the aggregated packet reaches the sink, the
delay is longer than average delay in structure-free approaches. In some applications,
such as intrusion detection, the sink might want to get coarse data very soon to reduce
the detection latency, and later get more concrete information about the event. AT
can not achieve this since nodes have to wait for packets from their children. For
these applications, DAA+RW provides a better trade-off between energy and delay.
For applications that are not tolerant to delay, DAA still provides good performance
with lowest delay.
2.5.3 Node Density
With higher node density, packets are more likely to meet and get aggregated in
DAA. Fig. 2.11 shows the results for different protocols for different node densities.
37
0
2
4
6
8
10
12
14
25 30 35 40 45 50
Nor
mal
ized
Num
ber
of T
rans
mis
sion
sInter-node Separation (m)
OPRW
DAADAA+RW
AT
(a) Normalized number of transmissions.
0
5000
10000
15000
20000
25000
30000
35000
40000
45000
50000
25 30 35 40 45 50
Num
ber
of T
otal
Tra
nsm
issi
ons
Inter-node Separation (m)
OPRW
DAADAA+RW
AT
(b) Total number of transmissions.
0
2000
4000
6000
8000
10000
12000
14000
16000
25 30 35 40 45 50
Num
ber
of R
ecei
ved
Pack
ets
Inter-node Separation (m)
OPRW
DAADAA+RW
AT
(c) Number of received packets.
Figure 2.11: Simulation results for node densities.
38
0
2
4
6
8
10
20 15 10 5
Nor
mal
ized
Num
ber
of T
rans
mis
sion
sEvent Speed (m/s)
OPRW
DAADAA+RW
AT
(a) Normalized number of transmissions.
10000
15000
20000
25000
30000
35000
40000
45000
50000
20 15 10 5
Num
ber
of T
otal
Tra
nsm
issi
ons
Event Speed (m/s)
OPRW
DAADAA+RW
AT
(b) Total number of transmissions.
4000
6000
8000
10000
12000
20 15 10 5
Num
ber
of R
ecei
ved
Pack
ets
Event Speed (m/s)
OPRW
DAADAA+RW
AT
(c) Number of received packets.
Figure 2.12: Simulation results for event moving speeds.
39
In general, the normalized number of transmissions decreases as the node density
increases. DAA and DAA+RW perform much better than OP and RW approaches.
At the highest node density, DAA+RW improves the normalized number of trans-
missions by 73% compared to the OP approach. AT still has the lowest normalized
number of transmissions among all protocols, but is very close to DAA+RW. AT is
only 14% lower than DAA+RW at the highest node density simulation (25m inter-
node separation).
DAA and DAA+RW have the highest number of received packets due to their
ability to aggregate packets in the beginning, and scatter packets away from each
other to reduce the contention and decrease the packet dropping rate. The results
of OP and RW are not smooth because packet dropping rate is very high. About
67% to 76% packets are dropped during transmissions, compared with less than 4%
to 5% dropping rate for DAA and about 26% for AT. Because the total number of
transmissions includes transmissions for packets that did not reach the sink and the
normalized number of transmissions is averaged over the number of received packets,
the results are very sensitive to the number of dropped packets.
2.5.4 Event Speed
Fig. 2.12 shows the results for different event moving speeds. We vary the event
speed from 5m/s to 20m/s. We can see that the results remain steady at different
speeds. As they do not create any structure for aggregation, mobility has little impact
on the performance. AT maintains the same performance across all speeds because
we do not take the overhead of constructing the structure into consideration. We
40
believe that when considering all the tree construction overhead, the performance of
AT will degrade as the speed increases.
2.5.5 Event Size
Fig. 2.13 shows the results for different event sizes. We vary the radius of the
event from 50m to 300m. The number of transmitted and received packets increases
as the event size increases because more nodes are sensing the event. All protocols
improve the performance as the event size increases. When the event size increases,
more nodes are sending packets, and packets have more chances to be aggregated.
Therefore it reduces the normalized number of transmissions. With smaller event size,
the performance of OP and RW approaches degrades quickly, but the performance of
DAA and DAA+RW approaches only decrease slightly. This shows that DAA does
get benefit from aggregating packets from close-by nodes; therefore even though it is
a structure-free approach, it still performs better than opportunistic aggregation.
2.5.6 Number of Events
Fig. 2.14 shows the results for different number of events in the network. The
results are very similar to the simulation for event size. With more number of events,
more packets are generated, and they are more likely to be aggregated.
Notice that the number of generated packets does not increase proportionally
compare to the increase of the number of events. This is because within a 1000m ×
1000m network with the 200m radius of an event, most of the events are overlapped
and the nodes only generate one packet irrespective of the number of events within
its sensing range.
41
0
2
4
6
8
10
12
50 100 150 200 250 300
Nor
mal
ized
Num
ber
of T
rans
mis
sion
sEvent Size (m)
OPRW
DAADAA+RW
AT
(a) Normalized number of transmissions.
0
10000
20000
30000
40000
50000
60000
70000
80000
50 100 150 200 250 300
Num
ber
of T
otal
Tra
nsm
issi
ons
Event Size (m)
OPRW
DAADAA+RW
AT
(b) Total number of transmissions.
0
5000
10000
15000
20000
25000
50 100 150 200 250 300
Num
ber
of R
ecei
ved
Pack
ets
Event Size (m)
OPRW
DAADAA+RW
AT
(c) Number of received packets.
Figure 2.13: Simulation results for event size.
42
0
2
4
6
8
10
5 4 3 2 1
Nor
mal
ized
Num
ber
of T
rans
mis
sion
sNumber of Events
OPRW
DAADAA+RW
AT
(a) Normalized number of transmissions.
0
10000
20000
30000
40000
50000
60000
70000
80000
5 4 3 2 1
Num
ber
of T
otal
Tra
nsm
issi
ons
Number of Events
OPRW
DAADAA+RW
AT
(b) Total number of transmissions.
0
5000
10000
15000
20000
25000
30000
5 4 3 2 1
Num
ber
of R
ecei
ved
Pack
ets
Number of Events
OPRW
DAADAA+RW
AT
(c) Number of received packets.
Figure 2.14: Simulation results for numbers of events.
43
2.5.7 Distance to the Sink
Unlike AT that can aggregate all packets into one node (optimally), DAA and
DAA+RW are unlikely to aggregate all packets into only one node. As we described
before, there will be nk+1
packets left in the network on average after the DAA approach
is executed, where n is the number of nodes generating packets and k is the average
number of neighbors of a node. As more packets remain in the network, the cost
of forwarding these packets is higher, and the increase is more significant when the
event distance to the sink is longer.
We restrict an event to move only within a 200m × 200m square centered at
(300, 300) to (700, 700), and observe the performance of these protocols at different
distances. Fig. 2.15 shows the results of these simulations. As we predicted, when the
distance to the sink increases, all structure-free protocols have more transmissions.
Only AT remains the same across all scenarios. This suggests us that semi-structured
approaches might be better at reducing the number of packets left in the network and
improving the performance over structure-free approaches.
2.5.8 Aggregation Ratio
All simulations in previous sections focus on perfect aggregation, that is, no matter
how many packets are aggregated, they can be aggregated to one packet. In this
section, we study the impact of aggregation ratio for different protocols. When a node
senses an event, it will generate a packet with 50 bytes payload. We use a simple
aggregation function to aggregate packets: The size of the packet after aggregation
is max{50, n × (1 − ρ)} where n is the number of effective information and ρ is the
aggregation ratio. ρ = 1 stands for perfect aggregation. The maximum payload of
44
0
5
10
15
20
300 350 400 450 500 550 600 650 700
Nor
mal
ized
Num
ber
of T
rans
mis
sion
sDistance to the Sink (m)
OPRW
DAADAA+RW
AT
(a) Normalized number of transmissions.
0
20000
40000
60000
80000
100000
120000
300 350 400 450 500 550 600 650 700
Num
ber
of T
otal
Tra
nsm
issi
ons
Distance to the Sink (m)
OPRW
DAADAA+RW
AT
(b) Total number of transmissions.
2000
4000
6000
8000
10000
12000
14000
16000
300 350 400 450 500 550 600 650 700
Num
ber
of R
ecei
ved
Pack
ets
Distance to the Sink (m)
OPRW
DAADAA+RW
AT
(c) Number of received packets.
Figure 2.15: Simulation results for distances to the sink.
45
a packet is set to 200 bytes. Therefore two packets may not be aggregated even if
they meet at the same node at the same time if the aggregated size is greater than
200 bytes. In DAA and DAA+RW, nodes should be able to distinguish if they can
achieve aggregation when they receive an RTS from their neighbors. Therefore we
add a field to RTS to specify how many effective pieces of information are contained
in the packet to let the node compute its priority for replying a CTS.
Fig. 2.16 shows the results for different aggregation ratios for different protocols.
AT does not perform well for scenarios with aggregation ratio other than 1. The num-
ber of packets received in AT drops very quickly as the aggregation ratio decreases.
It becomes the lowest when the aggregation ratio is less than 0.4. The simulation logs
show that the packet dropping rate is extremely high in AT when the aggregation
ratio is not 1, and it increases as the aggregation ratio decreases. This is due to the
following reason. As the aggregation ratio decreases, more packets will remain in the
network because they may reach the maximum payload and can not be aggregated
any more. In AT, when packets converge to the aggregation root, they become larger
because they aggregate more packets. We observe that when packet reaches nodes
with height 4, they may not aggregate packets any more; therefore more packets will
be forwarded to the root. More packets with larger size make the contention even
worse. Furthermore, these packets contain more effective information. When they
are dropped, more effective information is dropped.
In this simulation we observe that structured approaches may not perform well
if the aggregation is not perfect. By incurring the overhead of the structured ap-
proaches, their performance would be even worse. On the other hand, as the aggrega-
tion ratio decreases, AT can not aggregate all packets into one packet anymore. There
46
will be more packets left in the network. Therefore we conclude that it is not neces-
sary to find a structure to aggregate packets to one node. DAA and DAA+RW do
not incur the overhead of constructing the structure, and naturally lower the impact
of more packets left in the network as the aggregation ratio decreases because they
only aggregate packets that are close to each other. We believe that the structure-free
approach can perform better than structure approach in these scenarios.
We have implemented the DAA and RW approaches on the Kansei testbed [26, 9].
The Kansei testbed is composed of 210 stargates [4] arranged in a 15 × 14 grid.
Each stargate is attached with a XSM/Mica2 mote [22] through the serial port. The
stargates are used to create a wired network facilitating the reprogramming of XSMs
and job dispatch. Each attached XSM runs TinyOS [5]. It is equipped with multiple
sensors and one CC1000 radio module [17]. As we compare DAA with other protocols
that will be discussed in Chapter 3, we present the experiment designs and results in
Section 3.5.
2.6 Summary
In this chapter we propose a structure-free data aggregation protocol that ag-
gregates packets without incurring control overhead of creating and maintaining a
structure. The proposed structure-free protocol achieves efficient data aggregation
by improving spatial convergence using Data-Aware-Anycast (DAA) and temporal
convergence using Randomized-Waiting (RW), which are two necessary conditions
for data aggregation. We validate our design through large-scale simulations, and
the results show that the structure-free approach can improve the normalized load
by as much as 73% compared to opportunistic aggregation, and performs better than
47
0
2
4
6
8
10
12
14
0 0.2 0.4 0.6 0.8 1
Nor
mal
ized
Num
ber
of T
rans
mis
sion
sAggregation Ratio (ρ)
OPRW
DAADAA+RW
AT
(a) Normalized number of transmissions.
10000
15000
20000
25000
30000
35000
40000
45000
50000
0 0.2 0.4 0.6 0.8 1
Num
ber
of T
otal
Tra
nsm
issi
ons
Aggregation Ratio (ρ)
OPRW
DAADAA+RW
AT
(b) Total number of transmissions.
2000
4000
6000
8000
10000
12000
14000
0 0.2 0.4 0.6 0.8 1
Num
ber
of R
ecei
ved
Pack
ets
Aggregation Ratio (ρ)
OPRW
DAADAA+RW
AT
(c) Number of received packets.
Figure 2.16: Simulation results for aggregation ratios.
48
a structured approach when the aggregation function is not perfect. This shows
that structure-free data aggregation techniques have great potential for event-based
applications.
49
CHAPTER 3
SEMI-STRUCTURED DATA AGGREGATION
In the previous chapter we proposed a structure-free data aggregation technique
that achieves efficient aggregation without constructing a structure. However from
simulations we observed that its performance degrades as the network size increases
because it does not guarantee the aggregation of all packets. In this chapter, we pro-
pose a semi-structured approach to guarantee aggregation of all packets near sources
with minimum control overhead to provide scalable data aggregation.
3.1 Objective
The objective of our design is to achieve scalable data aggregation of all packets
near sources without explicitly constructing a structure for mobile event scenarios.
Aggregating packets near the sources is critical for reducing the energy consumption.
Aggregating without using an explicit structure eliminates the overhead of construc-
tion and maintenance of the structure. Although forwarding packets on a static, fixed
structure can eliminate the construction and maintenance overhead, it does not guar-
antee aggregation near the sources. Take Fig. 3.1 as an example of a pre-computed
tree structure where gray nodes are the sources. The fixed tree structure works well if
the nodes that generate packets are triggered by event A because their packets can be
50
aggregated immediately on the tree. However, if the nodes that generate packets are
triggered by event B, their packets can not be aggregated even if they are adjacent
to each other.
sink
nodes triggered by event B
nodes triggered by event A
Figure 3.1: Long-stretch for fixed tree structure.
In this chapter, we propose a highly scalable approach that is suitable for large
sensor networks. Our protocol has two phases, Data Aware Anycast (DAA) proposed
in Chapter 2 1 and Dynamic Forwarding. In the first phase, packets are forwarded
and aggregated using DAA. Since DAA does not guarantee that all packets will be
aggregated, in the second phase, the leftover un-aggregated or partially aggregated
packets are forwarded using Dynamic Forwarding on a structure, Tree on DAG (ToD),
for further aggregation.
3.2 ToD in One Dimensional Networks
For illustrating the concept of ToD, we first describe the construction of ToD for
a 1-D (a single row of nodes) network, as shown in Fig. 3.2.
1In the rest of the dissertation, we use DAA or Data Aware Anycast to refer to the combinationof DAA and RW approaches
51
……
…………………… ……………………
……
network
one row instance of the network
sink
Figure 3.2: Illustration for one row of the network.
3.2.1 Construction of One Dimensional ToD
A B C D
F1 F2
S2
F4
S4
F6
S6
F8 F3 F5 F7
S1 S3 S5 S7
Cells
Other nodes in the network
F-Aggregators Cells with packets
F1 F2 F4 F6 F8 F3 F5 F7
F-Tree S-Tree
Overlapping
ToD
(a) (b)
(c)
A B C D F-clusters
A B C D S-clusters
S-Aggregators
S2 S4 S6 S1 S3 S5 S7
Figure 3.3: The construction of F-Tree, S-Tree, and ToD.
52
First we define a cell as a square with side length ∆, where ∆ is greater than
the maximum diameter of the area an event can span. Sensing devices equipped on
sensor nodes, such as PIR, magnetometer, and acoustic sensors usually have maximum
sensing range for a type of events [10]. The density of gas, biochemical substance, and
radioisotope of nuclear radiation degrades with distance and can be detected within
certain range from the source [7]. Therefore for a specific application, the maximum
event size can be determined.
The network is divided into cells. These cells are grouped into clusters, called
F-clusters (First-level clusters). The size of the F-clusters must be large enough to
cover the cells an event can span, which is two cells when we only consider 1-D cells
in the network. All nodes in F-clusters send their packets to their cluster-heads,
called F-aggregators. Nodes in the F-cluster can be multiple hops away from the
F-aggregator. The formation of the clusters and the election of the aggregators are
discussed later in Section 3.3.3. Each F-aggregator then creates a shortest path to
the sink. Therefore the structure is a shortest path tree where the root is the sink
and the leaves are F-aggregators. We call this tree an F-Tree. Fig. 3.3(a) shows the
construction of the F-Tree.
In addition to the F-clusters, we create the second type of clusters, S-clusters
(Second-level clusters) for these cells. The size of an S-cluster must also be large
enough to cover all cells spanned by an event, and it must interleave with the F-
clusters so it can cover adjacent cells in different F-clusters. Each S-cluster also has
a cluster-head, S-aggregator, for aggregating packets. Each S-aggregator creates a
shortest path to the sink, and forms a second shortest path tree in the network. We
call it S-Tree. The illustration of an S-Tree is shown in Fig. 3.3(b). For all sets of
53
nearby cells that can be triggered by an event, either they will be in the same F-
cluster, or they will be in the same S-cluster. This property is exploited by Dynamic
Forwarding discussed later to avoid the long stretch problem.
After the S-Tree is constructed, the F-aggregators connect themselves to the S-
aggregators of S-clusters which its F-cluster overlaps with, as shown in Fig. 3.3(c).
For example, in Fig. 3.3(c), the F-aggregator F4 connects to S-aggregators S3 and
S4 because its F-cluster overlaps with S-cluster 3 and 4. Thus, the combination of
F-Tree and S-Tree creates a Directed Acyclic Graph, which we refer to as the ToD
(Tree on DAG).
3.2.2 Dynamic Forwarding
Nodes first use the DAA to aggregate as many packets as possible. When no fur-
ther aggregation can be achieved, nodes forward their packets to their F-aggregators
through geographic routing for further aggregation. If an event only triggers nodes
within a single F-cluster, its packets can be aggregated at the F-aggregator, and the
aggregated packet can be forwarded to the sink using the F-Tree. However, in case
the event spans multiple F-clusters, the corresponding packets will be forwarded to
different F-aggregators. As we assumed that the event size is no larger than the size
of a cell, an event on the boundary of F-clusters will only trigger nodes in cells on the
boundary of the F-clusters. By the construction of S-clusters, adjacent cells on the
boundary of F-clusters belong to the same S-cluster. Thus, F-aggregators can exploit
the information collected from received packets to select the S-aggregator that is best
suited for further aggregation.
54
Consider the example in Fig. 3.3(c). If the event spans A and B, F1 knows that
no other F-cluster will have packets for aggregation since the maximum number of
cells an event can span is two, hence it can forward the packets using the F-Tree. If
the event spans two cells in two different F-clusters, for example, C and D, F4 will
only receive packets from C, and F5 will only receive packets from D. F4 can know
either the event happens only in C, or it spans D as well. Consequently, F4 can
forward packets to S4, the S-aggregator of its overlapped S-clusters covering C, and
so can F5. Therefore these packets can be aggregated at S4.
Note that we do not specifically assign cells on the boundary of the network to
any S-cluster. They do not need to be in any S-cluster if they are not adjacent to any
other F-cluster, or they can be assigned to the same S-cluster as its adjacent cell.
The ToD for 1-D network has the following property.
Property 1. For any two adjacent nodes in ToD in one dimensional network, their
packets will be aggregated either at an F-aggregator, or will be aggregated at an S-
aggregator.
Proof. There are only three possibilities when an event triggers nodes to generate
packets. First, if only nodes in one cell are triggered and generate the packets, their
packets can be aggregated at one F-aggregator since all nodes in a cell reside in the
same F-cluster, and all packets in an F-cluster will be aggregated at the F-aggregator.
Second, if an event triggers nodes in two cells that are in the same F-cluster, the
packets can be aggregated at the F-aggregator as well.
Third, if an event triggers nodes in two cells that are in different F-clusters,
they must be in the same S-cluster because S-clusters and F-clusters are interleaved.
55
Moreover, packets in one F-cluster will only originate from the cell closer to the other
F-cluster that also has packets. Therefore the F-aggregator can forward packets to
the S-aggregator accordingly, and packets will be aggregated at the S-aggregator.
Since the cell is not smaller than the maximum size of an event, it is impossible
for an event to trigger more than two cells, and this completes the proof.
3.3 ToD in Two Dimensional Networks
Section 3.2 only demonstrates the construction for one row of nodes to illustrate
the basic idea of dynamic forwarding, and it works because each cell is only adjacent
to one (or none, if the cell is on the boundary of the network) of the F-clusters.
Therefore if an event spans two cells, the two cells are either in the same F-cluster
or in the same S-cluster, and the F-aggregator can determine whether to forward the
packets to the S-aggregator, or to the sink directly. When we consider 2-D scenarios,
a cell on the boundary of an F-cluster might be adjacent to multiple F-clusters. If
an event spans multiple F-clusters, each F-aggregator may have multiple choices for
S-aggregators. If these F-aggregators select different S-aggregators, their packets will
not be aggregated. However, the ideas presented in 1D networks can be extended for
2D networks. But instead of guaranteeing that packets will be aggregated within two
steps as in the 1D case (aggregating either at an F-aggregator or an S-aggregator),
the ToD in 2D guarantees that the packets can be aggregated within three steps.
3.3.1 Construction of Two Dimensional ToD
We first define the cells and clusters in two dimensions. For the ease of under-
standing, we use grid clustering to illustrate the construction. As defined before, the
size of a cell is not less than the maximum size of an event, and an F-cluster must
56
cover all the cells that an event might span, which is four cells in 2D grid-clustering.
Therefore, the entire network is divided into F-clusters, and each F-cluster contains
four cells. The S-clusters have to cover all adjacent cells in different F-clusters. Each
F-cluster and S-cluster also has a cluster-head acting as the aggregator to aggregate
packets. Fig. 3.4 shows a 5× 5 network with its F-clusters and S-clusters.
(a) F-clusters (c) S-clusters
A B C
D
(b) Cells
G H I
E F
C1
A4 B3
B1 C2
A3
A1 A2 B2
B4 C3 C4
D3
D1 D2
D4 E3
E1 E2
E4 F3
F1 F2
F4
G3
G1 G2
G4 H3
H1 H2
H4 I3
I1 I2
I4
S1 S2
S3 S4
C1
A4 B3
B1 C2
A3
A1 A2 B2
B4 C3 C4
D3
D1 D2
D4 E3
E1 E2
E4 F3
F1 F2
F4
G3
G1 G2
G4 H3
H1 H2
H4 I3
I1 I2
I4
2�
2�
2
�
Figure 3.4: Grid-clustering for a two-dimension network.
3.3.2 Dynamic Forwarding
Since the size of a cell (one side of the square cell) must be greater or equal to
the maximum size of an event (diameter of the event), an event can span only one,
two, three, or four cells as illustrated in Fig. 3.5. If an event only spans cells in the
same F-cluster, packets can be aggregated at the F-aggregator. Therefore, we only
consider scenarios where an event spans cells in multiple F-clusters.
Fig. 3.6 shows four basic scenarios that an F-aggregator may encounter when
collecting all packets generated in its F-cluster. All other scenarios are only different
combinations of these four scenarios. If packets originate from three or four cells in the
57
Figure 3.5: Cells triggered by an event.
same F-cluster, the F-aggregator knows that no other nodes in other F-clusters have
packets, and it can forward the packets directly to the sink. If only one or two cells
generate packets, it is possible that other F-clusters also have packets. We assume
that the region spanned by an event is contiguous. So simultaneous occurrence of
scenarios of (a) and (c), or (b) and (d), are impossible in the F-cluster. However,
such scenarios are possible in presence of losses in a real environment where packets
from third or fourth cluster are lost. In such cases the F-aggregator can just forward
the packets directly to the sink because no other F-cluster will have packets from the
same event.
Figure 3.6: Scenarios in an F-aggregator’s view
When the F-aggregator collects all packets within its cluster, it knows which cells
the packets come from and can forward the packets to the best suited S-aggregator
for further aggregation. For example, if the packets only come from one cell as in Fig.
58
3.6(a), the F-aggregator can forward the packet to the S-aggregator of the S-cluster
(gray cells) that covers that cell. However, if packets come from two cells in an F-
cluster, the two cells must be in different S-clusters. For example, in Fig. 3.7(a), where
the F-aggregator X (F-aggregator of F-cluster X) receives packets from two cells, is
the combination of (a) and (b) in Fig. 3.6. It is possible that the F-aggregator Y may
receive packets from cells as in Fig. 3.6(c), 3.6(d), or both. Since the F-aggregator X
does not know which case the F-aggregator Y encounters, it does not know which S-
aggregator to forward packets to. To guarantee the aggregation, the F-aggregator X
forwards the packet through two S-aggregators that covers cells C1 and C2, therefore
packets can meet at least at one S-aggregator. If both F-aggregators receive packets
from two cells in its cluster, to guarantee that the packets can meet at least at one
S-aggregator, these two F-aggregators must select the S-aggregator deterministically.
The strategy is to select the S-aggregator that is closer to the sink. If the packets
meet at the first S-aggregator, it does not need to forward packets to the second
S-aggregator. The S-aggregator only forwards packets to the second S-aggregator if
the packets it received only come from two cells in one F-cluster. We will present a
simplified construction later (in Section 3.3.3) for the selection of S-aggregators.
F-aggregators
1st S-aggregators
2nd S-aggregators
F-cluster X
F-cluster Y S-cluster I
S-cluster II
C1 C2
C3
(a) (b)
Figure 3.7: Forwarding to S-aggregators
59
To guarantee that the packets can meet at least at one S-aggregator, the second S-
aggregator must wait longer than the first S-aggregator. Therefore, if the S-aggregator
receives packets from only one cell, it waits longer to wait for possible packets for-
warded by the other S-aggregator because it could be the second S-aggregator of
the other F-aggregator. Fig. 3.7(b) shows an example of one F-aggregator sending
packets to the first S-aggregator and then the second S-aggregator, while the other
F-aggregator sends packets directly to the second S-aggregator. As long as the second
S-aggregator waits sufficiently longer than the first S-aggregator the packets can be
aggregated at the second S-aggregator.
The ToD for 2-D networks has the following property.
Property 2. For any two adjacent nodes in ToD, their packets will be aggregated at
the F-aggregator, at the 1st S-aggregator, or at the 2nd S-aggregator.
Proof. First we define the F-aggregator X as the aggregator of F-cluster X and S-
aggregator I as the aggregator of S-cluster I, and so forth.
For packets generated only in one F-cluster, their packets can be aggregated at
the F-aggregator since all packets in the F-cluster will be sent to the F-aggregator.
If an event triggers nodes in different F-clusters, there are only three cases. First,
only one cell in each F-cluster generates packets. In this case, all cells having packets
will be in the same S-cluster since the adjacent cells in different F-clusters are all in
the same S-cluster. Therefore their packets can be aggregated at the S-aggregator.
Second, the event spans three cells, C1, C2, and C3, and two of them are in one
F-cluster and one of them is in the other F-cluster. Without loss of generality, we
assume that C1 and C2 are in the same F-cluster, X, and C3 is in the other F-cluster,
60
Y . Moreover C3 must be adjacent to either C1 or C2, and let us assume that it is C2.
From the ToD construction we know that C2 and C3 will be in the same S-cluster,
S-cluster II, and C1 will be in another S-cluster, S-cluster I. Fig. 3.7(a) illustrates
one instance of this case. First, the F-aggregator X will aggregate packets from C1
and C2 because they are in the same F-cluster, and forward the aggregated packets
through S-aggregator I to S-aggregator II, or the other way around, because C1 is in
S-cluster I and C2 is in S-cluster II. F-aggregator Y will aggregate packets from C3
and forward packets to S-aggregator II because C3 is in S-cluster II. As packets of
F-aggregator Y only come from C3, they will have longer delay in S-aggregator II in
order to wait for packets being forwarded through the other S-aggregator. In the mean
time, if F-aggregator X forwards packets to S-aggregator II first, the packets can be
aggregated at S-aggregator II. If F-aggregator X forwards packets to S-aggregator
I first, S-aggregator I will forward packets to S-aggregator II with shorter delay
because the packets come from two cells in one F-cluster, therefore their packets can
also be aggregated at S-aggregator II.
In the third case, the event spans four cells. Two of them will be in one F-cluster
and the other two will be in the other F-cluster. Without loss of generality, we assume
that cells C1 and C2 are in F-cluster X and cells C3 and C4 are in F-cluster Y , and
C1 and C3 are adjacent, C2 and C4 are adjacent. From the ToD construction, C1
and C3 will be in one S-cluster, S-cluster I, and C2 and C4 will be in the other
S-cluster, S-cluster II. Because from S-aggregator I and II, F-aggregator X and Y
choose one that is closer to the sink as the first S-aggregator, they will choose the same
S-aggregator. Therefore their packets can be aggregated at the first S-aggregator, and
this completes the proof.
61
Though in this section we assume that the size of an event is smaller than the size
of a cell, our approach can still work correctly and perform more efficiently than DAA
even if the size of the event is not known in advance. This is because the nodes will
use Dynamic Forwarding over ToD only at second phase where the aggregation by
DAA is no longer achievable. Therefore at worst our approach just falls back to DAA.
Section 3.5.1 shows that in experiments, ToD improves the performance of DAA by
27% even if the size of the event is greater than the size of a cell.
3.3.3 Clustering and Aggregator Selection
In this section we use grid-clustering to construct the cells and clusters. Although
other clustering methods, such as clustering based on hexagonal or triangular tes-
sellation, can also be used, we do not explore them further in this dissertation. In
principle any clustering would work as long as they satisfy the following conditions.
First, the size of a cell is greater than or equal to the maximum size of an event.
Second, the F-cluster and S-cluster must cover the cells that an event may span, and
the S-cluster must cover the adjacent cells in different F-clusters.
As opposed to defining an arbitrary clustering, using grid-clustering has two ad-
vantages. First, the size of the grid can be easily determined by configuring the grid
size as a network parameter. Second, as long as the geographic location is known to
the node, the cell, F-cluster and S-cluster it belongs to can be determined immediately
without any communication. Geographic information is essential in sensor networks,
therefore we assume that sensor nodes know their physical location by configuration
at deployment, a GPS device, or localization protocols [14, 61]. As a consequence, all
the cells, F-clusters, and S-clusters can be implicitly constructed.
62
After the grids are constructed, nodes in an F-cluster and S-cluster have to select
an aggregator for their cluster. Because the node that acts as the aggregator consumes
more energy than other nodes, nodes should play the role of aggregator in turn in
order to evenly distribute the energy consumption among all nodes. Therefore the
aggregator selection process must be performed periodically. However the frequency
of updating the aggregator can be very low, from once in several hours to once in
several days, depending on the capacity of the battery on the nodes. Nodes can elect
themselves as the cluster-head with a probability that is based on metrics such as the
residual energy, and advertise it to all nodes in its cluster. In case two nodes select
themselves as the cluster-head, the node-id can be used to break the tie.
The other approach is that nodes use a hash function to hash current time to a
node in their cluster as the aggregator. Nodes have to know the address of all nodes
in its F-cluster and sort them by their node id. A hash function hashes the current
time to a number k from 1 to n where n is the number of nodes in its cluster, and
nodes use the kth node as the aggregator. Because the frequency of changing the
aggregator could be low, the time used could be in hours or days, therefore the time
only needs to be coarsely synchronized, and the cluster-head election overhead can
be avoided.
However, the Dynamic Forwarding approach requires that each F-aggregator knows
the location of S-aggregators of S-clusters its F-cluster overlaps with. To simplify the
cluster-head selection process and avoid the overhead of propagating the update in-
formation, we delegate the role of S-aggregators to F-aggregators. We choose an
F-cluster, called Aggregating Cluster, for each S-cluster, and use the F-aggregator of
the Aggregating Cluster as its S-aggregator. The Aggregating Cluster of an S-cluster is
63
the F-cluster which is closest to the sink among all F-clusters that the S-cluster over-
laps with, as shown in Fig. 3.8(a), assuming that the sink is located on the bottom-left
corner. When an F-aggregator forwards packets to an S-aggregator, it forwards them
toward the aggregating cluster of that S-aggregator. When packets reach the aggre-
gating cluster, nodes in that F-cluster know the location of their F-aggregator and
can forward packets to it.
F-cluster S-cluster
The common aggregator for both the shaded F-cluster and S-cluster
(a) (b)
F-aggregator
F-aggregator and 1st S-aggregator
2nd S-aggregator
Figure 3.8: Aggregating cluster
Now the role of S-aggregators is passed on to the F-aggregators, and the F-cluster
selected by an S-aggregator is the one closer to the sink. When an F-aggregator
wants to forward packets to both S-aggregators, it selects the F-cluster that is closer
to itself as the aggregating cluster of the first S-aggregator (could be itself) to reduce
the number of transmissions between aggregators, as shown in Fig. 3.8(b). This
selection does not affect the property that packets will eventually be aggregated at
one aggregator because the S-clusters that cover the cells in two F-clusters are the
same, therefore the selected aggregating clusters will be the same.
64
Algorithm 1 Aggregating Clusters Selection
// source cells within an F-cluster can be represented by variables x−, x+, y−, y+:// x−(y−): a cell is closer to the sink in X(Y ) axis.// x+(y+): a cell is farther away from the sink in X(Y ) axis.// Ex: If the sink is at the bottom-left corner, the top-left cell can// be represented as <x−, y+> and the bottom two cells can be// represented as <x−|x+, y−>.
// An aggregating cluster w.r.t the source F-cluster can be// represented by two bits <X, Y >:// X=X0 (Y =Y 0): the F-cluster with the same X(Y )// coordinate as the source F-cluster// X=X− (Y =Y −): the cluster closer to the sink in X(Y )// axis than the source F-cluster// Ex: If the sink is at the bottom-left corner, the left F-cluster can// be represented as <X−, Y 0>.
1: procedure AggregatingCluster(Packet p)2: cells ← cells of sources in p3: if cells =<x−, y+> then
4: 1st fcluster ← 2nd fcluster ← <X−, Y 0>
5: else if cells =<x+, y+> then
6: 1st fcluster ← 2nd fcluster ← <X0, Y 0>
7: else if cells =<x−, y−> then
8: 1st fcluster ← 2nd fcluster ← <X−, Y −>
9: else if cells =<x+, y−> then
10: 1st fcluster ← 2nd fcluster ← <X0, Y −>
11: else if cells =<x−|x+, y+> then
12: 1st fcluster ← <X0, Y 0>
13: 2nd fcluster ← <X−, Y 0>
14: else if cells =<x−|x+, y−> then
15: 1st fcluster ← <X0, Y −>
16: 2nd fcluster ← <X−, Y −>
17: else if cells =<x−, y−|y+> then
18: 1st fcluster ← <X−, Y 0>
19: 2nd fcluster ← <X−, Y −>
20: else if cells =<x+, y−|y+> then
21: 1st fcluster ← <X0, Y 0>
22: 2nd fcluster ← <X0, Y −>
23: else
24: dst ← sink
25: end if
65
Algorithm 1 shows the pseudo-code for selecting the first and second aggregating
clusters based on where the packets originated from. The pseudo-code only shows the
simplified procedure and does not show the aggregating cluster selection code when
the F-cluster is located at the boundary of the network where its adjacent F-clusters
does not exist.
The benefits of using this approach are five-fold. First, no leader election is re-
quired for S-clusters, which eliminates the leader election overhead. Second, nodes
only need to know the F-aggregator of their F-clusters, which is very scalable. Third,
when the F-aggregator changes, the change does not need to be propagated to other
F-clusters. Fourth, if nodes choose the aggregator by hashing current time to get a
node-id of the aggregator in its cluster, only nodes within the same F-cluster need
to be synchronized with each other. And last, since the Aggregating Clusters of S-
clusters are statically computed, there is no overhead for computing the Aggregating
Clusters.
3.3.4 ToD in Irregular Topology Networks
In ToD, F-aggregators forward packets to their Aggregating Clusters using Dy-
namic Forwarding rules. These aggregating clusters are selected implicitly based on
their relative locations to F-aggregators. However in a real deployment, the deployed
field may not be fully covered by sensors because of obstacles or randomness of de-
ployment. These uncovered regions are referred to as voids. If an F-aggregator selects
an aggregating cluster residing in a void, its packets can not be forwarded for further
aggregation. To address this problem, the Dynamic Forwarding rules must take voids
66
into consideration. If the selected aggregating cluster is located within a void, an
alternate cluster should be used as a substitute.
In this section we assume that nodes know if there are nodes in their eight neigh-
boring F-clusters because the aggregating clusters selected by an F-cluster are always
its adjacent F-clusters. This can be achieved by periodic hello message. After deploy-
ment, each node broadcasts a beacon containing its F-cluster ID and an 8-bit vector
(initially all 0) indicating which neighboring F-cluster has nodes. If a node receives a
beacon from a neighboring F-cluster, it updates the 8-bit vector and propagates this
information to all nodes in its F-cluster. Therefore nodes can know whether there are
nodes in their neighboring F-clusters.
Also, we assume that the voids do not split nodes in one F-cluster. This guarantees
that nodes in one F-cluster can communicate with each other without routing through
nodes in other F-clusters. Though ToD still works if nodes in one F-cluster are
split into two or more connected components, packets may be aggregated at several
aggregators which limits the chance of further aggregation.
The only scenarios that the dynamic forwarding rules must be modified are when
the selected aggregating cluster is within a void. There are three possibilities. The
first one is when an F-aggregator receives packets from only one of its cells where
only one aggregating cluster will be selected, as case I shown in Fig. 3.9(a) to 3.9(c).
The second and third possibilities are when an F-aggregator receives packets from
two of its cells where two aggregating clusters will be selected, and either the first
one, which is closer to the source F-cluster (case II, Fig. 3.9(d) and 3.9(e)), or the
second one, which is farther away from the source F-cluster (case III, Fig. 3.9(f) to
3.9(i)) is in a void. For case II where the first aggregating cluster is within a void, the
67
Sources
Void
(a) (b) (c)
(d) (e) (f)
Imaginary 2nd S-aggregator
Imaginary 1st S-aggregator
(g) (h) (i)
Figure 3.9: Scenarios of a void aggregating cluster.
F-aggregator can send the packets directly to the sink because no other F-clusters
will have packets (The only F-cluster that the event may span is within the void).
Therefore we only discuss cases I and III.
For cases I and III, if the selected aggregating cluster is within a void, F-aggregators
will use the top-right F-cluster of the original aggregating cluster as the substitute (as-
sume that the sink is at the bottom-left of the network), as shown in Fig. 3.10(a). Af-
ter the packets are forwarded to the F-aggregator which is also the first S-aggregator,
they are supposed to be forwarded to the original second S-aggregator. Since the
68
F-aggregator and 1st S-aggregator Original 2nd S-aggregator Substitute 2nd S-aggregator
(i) (ii)
(a) (b)
Figure 3.10: Aggregating clusters within void.
second aggregating cluster is within a void, the F-aggregator will first wait for a short
period for possible packets from neighbor cells. If it does not receive packets from
other cells, the packets will then be forwarded to the top-right F-cluster instead for
further aggregation.
If the substitute aggregating cluster is also within a void as Fig. 3.10(b).i, the
packets will be forwarded to the sink directly. However the scenario as Fig. 3.10(b).ii
can happen in reality. In this case, if the two cells with sources are connected directly
without routing around the voids, we use one of these two F-clusters, say the bottom-
right F-cluster, as the aggregating cluster; otherwise the packets will be forwarded to
the sink because routing around the voids to aggregate packets may consume more
energy than just forwarding them to the sink.
Property 3. The modified dynamic forwarding rules guarantee that packets can be
aggregated to one aggregator in the presence of voids if nodes in one F-cluster and
in neighboring F-clusters can communicate with each other without routing through
other F-clusters.
69
Proof. There are three cases as shown in Fig. 3.9 where some neighboring F-clusters
are in a void. For Case II, since the only F-cluster that the event can span is within a
void, the packets can be aggregated at the F-aggregator. Therefore we only consider
cases I and III.
To show that packets will be aggregated at one aggregator, it is sufficient to show
that for any possible combination of cases I and III where an event can span (such
as (a, b, c), (a, h), or (f, h)), the modified dynamic forwarding rules will eventually
select a common aggregating cluster for these F-clusters.
Assume that the void does not exist. The original dynamic forwarding rules
guarantee that packets will be aggregated at one aggregating cluster. This aggregating
cluster could be the first aggregating cluster or the second aggregating cluster. If
the common aggregating cluster is the first aggregating cluster and it is not within
the void, the packets can be aggregated at the first aggregating cluster. If the first
aggregating cluster is within the void, Figs. 3.9(d) and 3.9(e) are the only possibilities
and the packets can be forwarded to the sink directly.
If the common aggregating cluster is the second aggregating cluster and it is not
within the void, the packets can be aggregated at the second aggregating cluster. If
the second aggregating cluster is within the void, the substitute aggregating cluster
will be selected. Because the second aggregating cluster selected by F-aggregators
are the same, the substitute aggregating cluster will also be the same, and packets
will be aggregated at the substitute aggregating cluster.
If the substitute aggregating cluster is also within the void as Fig. 3.10(b).i, all
F-clusters that might be spanned by the event are in the void, therefore the packets
can be aggregated at the F-aggregator. If it is the case as Fig. 3.10(b).ii, since nodes
70
can communicate with nodes in neighboring F-clusters directly, the packets can be
forwarded to the bottom-right F-clusters for further aggregation. This completes the
proof.
3.4 Analysis
In this section we show that the maximum distance between any two adjacent
nodes in ToD only depends on the cell size, and is independent of the network size.
We ignore the cost from the aggregator to the sink since for perfect aggregation, only
one packet will be forwarded to the sink from the aggregator, therefore the cost is
comparatively small. Compared to the lower bound O(√
n) [6] of the grid network,
ToD can achieve constant factor even in the worst case.
u v
s
fu
fv
�
Figure 3.11: The worst case scenario for ToD.
The worst case in ToD is illustrated in Fig. 3.11 where only two adjacent nodes,
u and v, in the corner of two different F-clusters generate packets, and their F-
aggregators, fu and fv, are located at the opposite corner. We assume a dense de-
ployment of sensor nodes, therefore the distance between two nodes can be transferred
to the cost of transmitting a packet between these nodes. Fig. 3.11 is the worst case
since if more nodes are generating packets in one cluster, it will only amortize the
71
cost of sending packets from the F-aggregator to the S-aggregator, and more nodes
in multiple F-clusters generating packets will only lower the average distance.
We assume that the length of one side of the cell is ∆, and two nodes are adjacent
if their distance is less than a unit of distance. Therefore in Fig. 3.11 the distance that
packets from u and v have to be forwarded before they are aggregated at s is the sum of
distances between u to fu to s and v to fv to s, and is (2√
2∆+4√
2∆)+(2√
2∆+4∆) =
8√
2∆ + 4∆. Therefore in the optimal approach, only one transmission is required
because u and v are adjacent. In ToD, 8√
2∆+4∆ number of transmission is required
for the worst case.
However, since we use DAA as the aggregation technique, packets from adjacent
nodes will be aggregated immediately. Therefore for the worst cast to happen, the
distance between u and v must be at least 2 units, and our protocol has 4√
2∆ +
2∆ ' 7.66∆ times number of transmissions than optimal. The upper bound is only
dependent on the size of a cell, and the size of the cell is dependent on the size of
an event. This value is independent of the size of the network and therefore is very
suitable for large-scale networks.
On average, the number of transmissions will be much less than 4√
2∆ + 2∆
because first, typically there will be many nodes generating packets. Second, the
distance between a node and its F-aggregator is not always 2√
2∆, and the distances
between the F-aggregators and the S-aggregator are shorter, too. Third, the DAA
approach can efficiently aggregate packets from adjacent nodes thereby further reduc-
ing the number of transmissions. Therefore we expect the average distance for nodes
generating packets to be much less than the worst case.
72
3.5 Evaluation Results
In this section we use experiments and simulations to evaluate the performance
of our semi-structured approach and compare it with other protocols.
3.5.1 Testbed Evaluation
We conduct experiments on the Kansei sensor testbed [26, 9] to show the advantage
and practicability of the ToD approach. The testbed consists of 210 Mica2-based XSM
motes, and each mote is hooked onto a Stargate. The Stargate is a 32-bit hardware
device from CrossBow [21] running Linux. The Stargates are connected to the server
using wired Ethernet. Therefore, we can program these motes and send messages and
signals to them through Stargates via Ethernet connection. In the experiments we
only use 105 of the nodes in the testbed. The 105 nodes form a 7× 15 grid network
with 3 feet spacing. The radio signal using default transmission power covers most
nodes in the testbed. In our experiments we do not change the transmission power
but limit nodes only to receive packets from two-grid neighboring nodes, i.e., each
node has a maximum of 12 neighbors. The node located at one corner of the grid
network acts as the sink and the remaining 104 nodes generate packets when they
detect an “event”.
We implement an Anycast MAC protocol on top of the Mica2 MAC layer. The
Anycast MAC layer has its own backoff and retransmission mechanisms and we disable
the ACK and backoff of the Mica2 MAC module. The Anycast MAC implements the
RTS-CTS-DATA-ACK [27] for anycast. An event is emulated by broadcasting a
message on the testbed to the Stargates, and the Stargates send the message to the
73
Mica2 nodes through the serial port. The message contains a unique ID distinguishing
packets generated at different times.
When a node is triggered by an event, an event report is generated. If the node has
to delay its transmission, it stores the packet in a report queue. Both the application
layer and Anycast MAC layer can access the queue. Therefore, they can check if the
node has packets for aggregation, and aggregate the received packets to packets in
the queue.
First we evaluate the following protocols 2 on the testbed:
• Dynamic Forwarding over ToD (ToD). The semi-structured approach we
proposed in this chapter. DAA is used to aggregate packets in each F-cluster,
and aggregated packets are forwarded to the sink on ToD.
• Data Aware Anycast (DAA). The structure-free approach proposed in Chap-
ter 2.
• Shortest Path Tree (SPT). Nodes send packets to the sink through the short-
est path tree immediately after sensing an event. Aggregation is opportunistic
and happens only if two packets are at the same node at the same time.
• Shortest Path Tree with Fixed Delay (SPT-D). Same as the SPT ap-
proach, but nodes delay their transmissions according to their height in the tree
to wait for packets from their children.
Due to the size of the testbed, we only divide the network into two F-clusters in
ToD, which forces the smallest cell to only have 9 sensor nodes. However, we do not
2codes available at http://www.cse.ohio-state.edu/∼fank/research
74
limit the size of an event to be smaller than the cell size. The event size is larger than
the cell size in the following experiments.
We use normalized number of transmissions as the metric to compare the per-
formance of these protocols. The normalized number of transmissions is the average
number of transmissions performed in the entire network to deliver one unit of useful
information from sources to the sink. It can be converted to the normalized energy
consumption if we know the sending and receiving cost of one transmission.
Fig. 3.12 shows the normalized number of transmissions for different event sizes.
We fixed the location of the event and vary its diameter from 12 ft to 36 ft where
nodes within two grid-hops to six grid-hops of the event will be triggered, respectively,
and send packets to the sink located at one corner of the network. We use 6 seconds
as maximum delay for all protocols except SPT. For event size less than 12 ft, there
are too few source nodes (less than five), and all triggered nodes are within the
transmission range. Data aggregation is not so interesting in such scenarios therefore
we do not evaluate it.
All protocols have better performance when the size of the event increases because
packets have more chances of being aggregated. ToD performs best among all proto-
cols in all scenarios. This shows that DAA can efficiently achieve early aggregation
and the Dynamic Forwarding over ToD can effectively reduce the cost of directly
forwarding unaggregated packets to the sink in DAA. In SPT-D, when the event size
is smaller, the long stretch effect is more significant than in larger event scenarios.
When event size is large, for example, two-third of nodes in the network are triggered
when the diameter of the event is 36 feet, most of the packets can be aggregated at
their parents with one transmission. This indicates that in applications where most
75
nodes are transmitting, the fixed structure such as SPT-D is better, but when only
a small subset of nodes are transmitting, their performance degrades because of the
long stretch problem.
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
36 30 24 18 12
Nor
mal
ized
Num
ber
of T
rans
mis
sion
s
Event Size (ft)
ToDDAASPT
SPT-D
Figure 3.12: Normalized number of transmissions for event sizes.
We notice that the variance of some results in SPT and SPT-D is very high.
For example, when the event size is 12 feet in diameter, the maximum normalized
number of transmissions in SPT-D is 3.41, and the minimum value is 2.41. By tracing
into the detailed experiment logs we found that the high variance is because of the
different shortest path trees. The tree is re-constructed for each experiment, and
therefore may change from experiment to experiment. We found that SPT-D always
gets better performance in the configuration where all sources are close to each other
in the tree, and performs badly in the other configuration where sources are separated
in the tree. This further supports our claims that the long stretch problem in fixed
structured approaches affects their performance significantly.
76
The second experiment evaluates the performance of these protocols for different
values of maximum delay. We vary the delay from 0 to 8 seconds, and all nodes
in the network generate one packet every 10 seconds. Fig. 3.13 shows the results.
The result of SPT remains flat in the experiment since nodes nodes do not delay their
transmissions in SPT, the value of maximum delay has no impact on the performance
of SPT. As we described, the performance of the structure-based approaches heavily
depends on the delay. The SPT-D performs worse than ToD when the maximum
delay is less than five seconds, and the performance increases as the delay increases.
On the contrary, the performance of ToD and DAA does not change for different
delays, which is different from the simulation results observed in Section 2.5. We
believe that this is because with the default transmission power, a large number of
nodes are in interference range when nodes transmit. Therefore even if nodes do not
delay their transmissions, only one node can transmit at any given time. Other nodes
will be forced to delay, which has the same effect as the Randomized Waiting.
1
1.2
1.4
1.6
1.8
2
2.2
0 1 2 3 4 5 6 7 8
Nor
mal
ized
Num
ber
of T
rans
mis
sion
s
Maximum Delay (s)
ToDDAASPT
SPT-D
Figure 3.13: Normalized number of transmissions for maximum delays.
77
3.5.2 Large Scale Simulation
To evaluate and compare the performance and scalability of ToD with other ap-
proaches requires a large sensor network, which is currently unavailable in real exper-
iments. Therefore we resort to simulations. In this section we use the ns2 network
simulator to evaluate these protocols. Besides ToD, DAA, and SPT, we evaluate OPT
(Optimal Aggregation Tree) to replace the SPT-D protocol.
In OPT, nodes forward their packets on an aggregation tree rooted at the center
of the event. Nodes know where to forward packets to and how long to wait. The tree
is constructed in advance and changes when the event moves assuming the location
and mobility of the event are known. Ideally only n − 1 transmissions are required
for n sources. This is the lower bound for any structure, therefore we use it as the
optimal case. This approach is similar to the aggregation tree proposed in [88] but
without its tree construction and migration overhead. We do not evaluate SPT-D
in simulations. In the largest simulation scenario, the network is a 58-hop network.
According to the simulation in smaller networks, SPT-D gets best performance when
the delay of each hop is about 0.64 seconds. This makes nodes closer to the sink have
about 36 seconds delay in SPT-D, which may not be acceptable to the application.
We perform simulations of these protocols on a 2000m×1200m grid network with
35m node separation, therefore there are a total of 1938 nodes in the network. The
data rate of the radio is 38.4Kbps and the transmission range of the nodes is slightly
higher than 50m. An event moves in the network using the random way-point mobility
model at the speed of 10m/s for 400 seconds. The event size is 400m in diameter. The
nodes triggered by an event will send packets every five seconds to the sink located at
78
(0, 0). The aggregation function evaluated here is perfect aggregation, i.e., all packets
can be aggregated into one packet without increasing the packet size.
3.5.3 Event Size
We first evaluate these protocols for different number of nodes generating the
packets. This simulation reflects the performance of each protocol for different event
sizes. We study the performance for 4 mobility scenarios and show the average,
maximum, and minimum values of the results.
Fig. 3.14(a) shows the result of normalized number of transmissions. ToD im-
proves the performance of DAA and SPT by 30% and 85%, and is 25% higher than
OPT. However OPT has the best performance by using the aggregation tree that
keeps changing when the event moves, but its overhead is not considered in the simu-
lation. SPT has very poor performance since its aggregation is opportunistic. Except
the SPT, the performance of all other protocols is quite steady. This shows that they
are quite scalable in terms of the event size.
Figs. 3.14(b) and 3.14(c) show the total number of transmissions and total units
of useful information received by the sink. DAA and ToD have more received packets
than OPT due to the ability of structure-free aggregation to aggregate packets early
and scatter them away from each other to reduce contention. ToD performs better
than DAA in terms of the normalized number of transmissions because of its ability
to aggregate packets at nodes closer to the source, and thus it reduces the cost of
forwarding packets from sources to the sink. It has slightly lower number of units
of received information than DAA. From the simulation logs we found that most
dropped packets in ToD are packets forwarded from sources to their F-aggregators.
79
We believe that the convergecast traffic pattern causes higher contention and thus
leading to higher dropping rate.
0
5
10
15
20
25
30
35
500 400 300 200
Nor
mal
ized
Num
ber
of T
rans
mis
sion
s
Event Size (m)
ToDDAASPTOPT
(a) Normalized number of transmissions.
0
10000
20000
30000
40000
50000
60000
70000
80000
90000
100000
500 400 300 200
Num
ber
of T
otal
Tra
nsm
issi
ons
Event Size (m)
ToDDAASPTOPT
(b) Number of transmissions.
0
2000
4000
6000
8000
10000
12000
14000
16000
500 400 300 200
Uni
t of
Rec
eive
d In
form
atio
n
Event Size (m)
ToDDAASPTOPT
(c) Unit of received information.
Figure 3.14: Simulation results for event sizes.
80
3.5.4 Scalability
To evaluate the scalability of the protocols, we limit an event to move only within
a bounded region at a certain distance from the sink to simulate the effect of different
network sizes. We limit an event to move within a 400m × 1200m rectangle, and
change the distance of the rectangle to the sink from 200m to 1400m, as shown in
Fig. 3.15. In order to be fair to all scenarios, we limit the event not to move closer
than 200m to the network boundary such that the number of nodes triggered by the
event does not change drastically.
2000m
1200m
200m
400m
200m
Figure 3.15: Simulation scenario for scalability.
Fig. 3.16 shows the results of scalability simulations. The performance of ToD
and OPT remains steady. This shows that ToD is quite scalable as its performance
does not degrade as the size of the network increases. The performance of both
DAA and SPT degrades as the size of the network increases. The normalized number
of transmissions for DAA and SPT doubled when the event moves from the closest
rectangle (to the sink) to the farthest rectangle.
Fig. 3.16(c) shows the number of packets received at the sink per event. If all
packets can be aggregated near the event and forwarded to the sink, the sink will
81
receive only one packet. Conversely, more packets received at the sink shows that
fewer aggregations occured in the network. The cost of forwarding more packets to
the sink increases rapidly as the size of the network increases. We can see that in
both DAA and SPT the sink receives many packets. Though the number of packets
received at the sink remains quite steady, the total number of transmissions increases
linearly as the distance from the sources to the sink increases.
Ideally the number of received packets at sink is 1, if all packets can be aggregated
at the aggregator. However the number of received packets at sink is higher than 1
in ToD and OPT. This is because the delay in the CSMA-based MAC protocol can
not be accurately predicted causing an aggregator to send packets to the sink before
all packets are forwarded to it. Though the cost of forwarding the un-aggregated
packets from aggregator to the sink in ToD and OPT also increases when the size of
the network increases, the increase is comparably smaller than DAA and SPT because
fewer packets are forwarded to the sink without aggregation. The number of received
packets at the sink in ToD is higher when the event is closer to the sink. In ToD,
nodes in the same F-cluster as the sink always use sink as the F-aggregator because
we assume that the sink is wire powered and there is no need to delegate the role of
aggregator to other nodes.
3.5.5 Aggregation Ratio
In this section we conduct simulations for different aggregation ratios. Source
nodes generate packets with 50 bytes of payload. Data are aggregated based on a
simple aggregation function where the size of a packet after aggregation is max{50, n×
(1 − ρ)} where n is the number of packets being combined together and ρ is the
82
0
5
10
15
20
25
30
35
40
400 600 800 1000 1200 1400 1600
Nor
mal
ized
Num
ber
of T
rans
mis
sion
sDistance to the Sink (m)
ToDDAASPTOPT
(a) Normalized number of transmissions.
0
2
4
6
8
10
400 600 800 1000 1200 1400 1600
Nor
mal
ized
Num
ber
of T
rans
mis
sion
s
Distance to the Sink (m)
ToDDAAOPT
(b) Zoom in of Fig. 3.16(a).
0
5
10
15
20
400 600 800 1000 1200 1400 1600
Num
ber
of R
ecei
ved
Pack
ets
Distance to the Sink (m)
ToDDAASPTOPT
(c) Number of received packets.
Figure 3.16: Simulation results for distances to the sink.
83
aggregation ratio. ρ = 1 stands for perfect aggregation. The maximum payload of
a packet is 400 bytes. Two packets can not be aggregated if the aggregated size
is greater than 400 bytes. As shown in Fig. 3.17, ToD improves the normalized
number of transmissions of DAA, but the improvement decreases as the aggregation
ratio decreases. This is because when the aggregation ratio decreases, packet size
increases after aggregation. Packets can not be aggregated any more when they reach
maximum payload even if they meet. Both ToD and DAA perform better than OPT
when the aggregation ratio is not 1 because the packet dropping rate in OPT is very
high. OPT only receives less than 2000 units of information, compared to more than
5000 in ToD and DAA. The high dropping rate is because of the convergecast traffic
in OPT. When aggregation ratio decreases, more packets with larger size is forwarded
to the root of the aggregation tree, which results in high contention and leads to high
dropping rate.
3.5.6 Cell Size
The above simulations use maximum size of an event as the cell size. This ensures
that the Dynamic Forwarding can aggregate all packets at an S-aggregator, and the
cost of forwarding the aggregated packets to the sink is minimized. However, large
cell size increases the cost of aggregating packets to the aggregator as we use DAA
as the aggregation technique in an F-cluster and DAA is not scalable. In this section
we evaluate the impact of the size of a cell on the performance of ToD.
We vary the cell size from 50m × 50m to 800m × 800m and run simulations for
three different event sizes, 200m, 400m, and 600m, in diameter. The results are
collected from five different event mobility patterns and shown in Fig. 3.18.
84
0
5
10
15
20
25
30
35
40
0 0.2 0.4 0.6 0.8 1
Nor
mal
ized
Num
ber
of T
rans
mis
sion
sAggregation Ratio
ToDDAA
OPAT
(a) Normalized number of transmissions.
0
10000
20000
30000
40000
50000
60000
70000
80000
0 0.2 0.4 0.6 0.8 1
Num
ber
of T
rans
mis
sion
s
Aggregation Ratio
ToDDAA
OPAT
(b) Number of transmissions.
0
2000
4000
6000
8000
10000
12000
0 0.2 0.4 0.6 0.8 1
Uni
t of
rece
ived
info
rmat
ions
Aggregation Ratio
ToDDAA
OPAT
(c) Unit of received information.
Figure 3.17: Simulation results for aggregation ratios.
85
When the size of a cell is larger than the event size, the performance is worse
because the cost of aggregating packets to F-aggregator increases, but the cost of
forwarding packets from S-aggregator does not change. When the size of a cell is
too small, the cost of forwarding packets to sink increases because packets will be
aggregated at different F-aggregators and more packets will be forwarded to the sink
without further aggregation. In general, when the size of the F-cluster is small enough
to only contain one node, or when the size of the F-cluster is large enough to include
all nodes in the network, ToD simply falls back to DAA.
ToD has the best performance when the cell size is 100m × 100m (F-cluster size
is 200m× 200m) when the event size is 200m in diameter. When the diameter of an
event is 400m and 600m, using 200m×200m as the cell size has the best performance
(F-cluster size is 400m×400m). This shows that the performance of ToD depends on
the cell size, which is dependent on maximum event size. However, sometimes it is
impossible to determine the maximum event size for some applications. This leads us
to design a better approach that can guarantee early aggregation without assuming
the maximum event size. We present the approach in Chapter 4.
3.5.7 Random Deployment for Irregular Topology
In this section we evaluated the modified dynamic forwarding rules for irregular
topology networks. We create five 1000m× 1000m networks and randomly place five
circular obstacles with radius ranging from 100m to 200m, and randomly place 2000
sensors in these fields. For each deployment, we generate five event moving scenarios
as described before. With voids and random deployment, geographic routing may
encounter a “local minimum” and has to switch from greedy forwarding to perimeter
86
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
8
100 200 300 400 500 600 700 800
Nor
mal
ized
Num
ber
of T
rans
mis
sion
sCell Size (m)
200m400m600m
(a) Normalized number of transmissions.
0
10000
20000
30000
40000
50000
60000
70000
80000
90000
100 200 300 400 500 600 700 800
Num
ber
of T
otal
Tra
nsm
issi
ons
Cell Size (m)
200m400m600m
(b) Number of transmissions.
0
100
200
300
400
500
600
700
800
900
1000
1100
100 200 300 400 500 600 700 800
Num
ber
of R
ecei
ved
Pack
ets
Cell Size (m)
200m400m600m
(c) Number of received packets.
Figure 3.18: Simulation results for cell sizes.
87
routing. We implemented the perimeter routing on a GG planar graph [31] to deal
with local minimum in greedy forwarding.
To incorporate perimeter routing with anycasting in DAA, when greedy forward-
ing encounters a local minimum and switches from the greedy mode to the perimeter
mode, the local minimum node specifies the next hop in the perimeter mode in the
RTS packet. The nexthop node has lower priority to reply with a CTS than nodes
having packets for aggregation. This allows the packets to be aggregated if neighbor-
ing nodes have packets for aggregation even in perimeter mode, and routes packets
around the void if they can not be aggregated.
Fig. 3.19 shows the results for these five deployments. Due to high variability
across different scenarios, we show the results for each scenario rather than averaging
over all scenarios. We can see similar results as before. ToD can still improves
the normalized number of transmissions compared with DAA, and performs close to
OPT. ToD uses fewer transmissions than DAA but transmits comparable amount of
information.
3.6 Summary
In this chapter we propose a semi-structured approach that locally uses the structure-
free technique followed by Dynamic Forwarding on an implicitly constructed packet
forwarding structure, ToD, to support network scalability. ToD avoids the long stretch
problem in fixed structured approaches and eliminates the overhead of constructing
and maintaining dynamic structures. We evaluate its performance using real exper-
iments on a testbed of 105 sensor nodes and simulations on 2000 node networks.
Based on our studies we find that ToD is highly scalable and it performs close to the
88
�����
� ����� ����
� ���� �
� � � � ���� �� �����������
� ������ ��� !�" ���# $ �� %�� %%� � %
&('*)',+,-&(. /
(a) Normalized number of transmissions.
0
1 0�0�0
2 030�0�0
2 1 0�0�0
4�030�0�0
4 1 0�0�0
53030�0�0
5 1 0�0�0
67030�0�0
2 4 5 6 18:9 ;7< =3>�?,9 @3A
B CDE FGHI J GKLMDN MMN HLM
O(PRQP:S*TO(U V
(b) Number of transmissions.
W
X W�W�W
Y�W�W�W
Z3W�W�W
[7W�W�W
\ W�W�W
] W�W�W
^�W�W�W
_�W�W�W
X Y Z [ \`:a b7c d�e�fga h�i
j kl m no pqrql sqt l ko npuvml nk
wyx:zx:{}|w�~ �
(c) Unit of received information.
Figure 3.19: Simulation results for random deployments.
optimal structured approach. Therefore, it is very suitable for conserving energy and
extending the lifetime of large scale sensor networks.
89
CHAPTER 4
SCALE-FREE DATA AGGREGATION
In this chapter we propose a multi-level structure, AFT, to guarantee early aggre-
gation for event-based applications in large-scale sensor networks, without assuming
the maximum event size as ToD proposed in Chapter 3.
4.1 Objective
The objective of this chapter is to guarantee aggregation of packets near sources for
event-triggered applications irrespective of event size, shape, and location, without the
overhead of constructing a dynamic structure. AFT achieves this goal by forwarding
packets on a fixed hybrid structure with low maintenance overhead. Though the ToD
we proposed in Chapter 3 can achieve the same goal, it requires the knowledge of
maximum event size. For some applications, such as intrusion detection, the event
size can be determined because it depends on the sensing range of equipped sensors,
such as PIR and magnetometer [10]. For other applications, such as fire detection,
the size of an event can not be determined. ToD does not perform well when the
event size is not known in advance. This leads us to design AFT, a more flexible and
low control overhead protocol that guarantees early aggregation irrespective of event
size.
90
4.2 Alternative Forwarding Tree
Alternative Forwarding Tree (AFT) is a multi-level structure that recursively splits
nodes into different overlapping clusters at different levels based on their locations.
At each level, a Q-cluster is composed of four Q-clusters at lower level. An A-cluster
is also composed of four Q-clusters at lower level, but Q-clusters and A-clusters at the
same level are interleaved with each other. The Q-clusters resemble the hierarchy of
a Quad-tree [30] therefore they are named Q-clusters. A-clusters serve as Alternative
Clusters to provide alternative choices for packet forwarding and therefore are named
A-clusters. Before we start describing the construction of AFT, we define these two
terms that will be used throughout this chapter.
Definition 1. Let l be the number of levels of an AFT. Qi,j is the jth Q-cluster at
level i, 1 ≤ i ≤ l and Ai,j is the jth A-cluster at level i, 2 ≤ i < l. When a specific
cluster at level i is not of concern, we use Qi and Ai to represent a Q-cluster and
A-cluster at level i.
4.2.1 AFT Construction
Q1,11 Q1,12
Q1,9 Q1,10
Q1,15 Q1,16
Q1,13 Q1,14
Q1,3 Q1,4
Q1,1 Q1,2
Q1,7 Q1,8
Q1,5 Q1,6
Q1,11 Q1,12
Q1,9 Q1,10
Q1,15 Q1,16
Q1,13 Q1,14
Q1,3 Q1,4
Q1,1 Q1,2
Q1,7 Q1,8
Q1,5 Q1,6
Q1,11 Q1,12
Q1,9 Q1,10
Q1,15 Q1,16
Q1,13 Q1,14
Q1,3 Q1,4
Q1,1 Q1,2
Q1,7 Q1,8
Q1,4 Q1,6
Q2,1 Q2,2
Q2,3 Q2,4
A2,1
Figure 4.1: Illustration for Q-clusters and A-clusters of AFT.
91
Ai clusters are of the same size as Qi (except for boundary Ai clusters), but they
are interleaved as shown in Fig. 4.13. Fig. 4.1 shows the Q-clusters and A-clusters
in a 3-level AFT. Qi,j is a Q-cluster at level i and Ai,j is an A-cluster at level i. A-
clusters interleave with Q-clusters at the same level. Each Ai covers four Qi−1 from
four different Qi. Therefore each Qi has two parents, one Qi+1 and one Ai+1 cluster.
For each Ai, there are three cases. (a) It is fully covered by a Qi+1 cluster (Fig.
4.2(a)). (b) It is fully covered by an Ai+1 cluster (Fig. 4.2(b)). (c) It is covered by
two Qi+1 clusters, Qi+1,a and Qi+1,b, also by two Ai+1 clusters, Ai+1,c and Ai+1,d. (Fig.
4.2(c)). For case (a) and (b), the Ai just selects the Qi+1 (case (a)) or Ai+1 (case
(b)) which covers it, as its parent respectively. For case (c), the Ai will select the two
Q-clusters and two A-clusters that cover it as its parent clusters.
(a) (b) (c)
Figure 4.2: Possible parents of an A-cluster.
The overview of a four level AFT is shown in Fig. 4.3. It is a directed acyclic
graph composed of multiple overlapping trees. At each level packets alternate between
Q-clusters and A-clusters, thus the name Alternative Forwarding Tree, AFT. Note
3Throughout this chapter, solid lines are used to indicate Q-clusters and dotted/dashed lines areused to indicate A-clusters
92
that switching between Q-clusters and A-clusters may not happen at each level and
is governed by the forwarding rules to be discussed later.
�������
�������
�������
������
��
��
�� ��
��
��
Figure 4.3: Overview of a four level AFT.
4.2.2 Alternative Forwarding on AFT
In AFT, nodes first aggregate their packets within their level one Q-clusters. After
that, packets will be forwarded up on the AFT for further aggregation of packets from
different clusters. In this section we define the forwarding rules used by AFT that are
designed to guarantee that the number of steps of forwarding packets will be bounded
by a constant factor of the event diameter.
Assumptions
First, we assume that there is a cluster-head in each cluster at each level and
each cluster-head knows its parent cluster-heads in the higher level. Second, the
93
cluster-heads have the ability to know which neighboring clusters at the same level
have packets for aggregation. We will describe how cluster-heads achieve this in more
detail in Section 4.2.5. Third, we assume that an event triggers nodes in contiguous
clusters. By contiguous we mean that if we use Q1-clusters as vertices to create a
graph and there is an edge between two Q1-clusters if they are adjacent, the Q1-
clusters triggered by an event are connected in the graph. Here two Q1 clusters, Q1,i
and Q1,j , are adjacent only if Q1,j is the left, right, top, or bottom adjacent cluster
of Q1,i.
AFT Forwarding Rules
The aggregators will forward packets based on which neighboring clusters have
packets. At each level, aggregators will forward packets only to an upper level cluster
that covers some of neighboring clusters that have packets. The intuition is, if packets
are forwarded to an upper level cluster that covers a neighboring cluster that has
packets, their packets will be aggregated if both clusters forward their packets to that
upper level cluster. Due to the construction of AFT, such an upper level cluster always
exists for two neighboring clusters, either a Q-cluster or an A-cluster. The challenge
is how to make forwarding decisions on the fly solely based on information collected
from data packets which avoids extensive communications between neighboring nodes.
Since clusters have only local view of which neighboring clusters have packets, they
must follow identical forwarding rules based on local information to achieve global
aggregation. We define some other terms we used in describing the forwarding rules.
Definition 2. PQ(Xi) is a Qi+1 cluster which is a parent of Xi. PA(Xi) is a Ai+1
cluster which is a parent of Xi.
94
Definition 3. NQ(Qi,j) is Qi,j’s neighboring Qi clusters whose parent is PQ(Qi,j),
i.e. sibling Q-clusters at level i with the same Q-cluster parent at level i+1. NA(Qi,j)
is Qi,j’s neighboring Qi clusters whose parent is PA(Qi,j), i.e. sibling Q-clusters at
level i with the same A-cluster parent at level i + 1.
Algorithm 2 is the pseudo-code for the AFT forwarding rules. For a Qi,j cluster,
there are three scenarios:
1. QR1: No Qi ∈ NQ(Qi,j) ∪ NA(Qi,j) has packets: In this case, the event only
triggers nodes in Qi,j , and all packets will be aggregated at the aggregator of
Qi,j. Thus the packet can be forwarded to the sink directly (Line 3).
2. QR2: At least one Qi,k ∈ NQ(Qi,j) has packets:
In this case, Qi,j and Qi,k have the same Qi+1 parent cluster. Packets are
forwarded to the aggregator of PQ(Qi,j) (Line 5).
3. QR3: At least one Qi,k ∈ NA(Qi,j) has packets:
In this case, Qi,j and Qi,k have the same Ai+1 parent cluster. Packets are
forwarded to the aggregator of PA(Qi,j) (Line 7).
For an Ai,j cluster, there are three scenarios:
1. AR1: It receives packets from all child Qi−1 clusters that have packets: In this
case, all packets will be aggregated by the aggregator, and the aggregator will
send the aggregated packets to the sink directly (Line 12).
2. AR2: It only receives packets from some of its child Qi−1 clusters that have
packets, and it has only one parent: The aggregator will forward packets to its
parent cluster (Line 14).
95
3. AR3: As in AR2, but it has four parents, two Qi+1 clusters and two Ai+1
clusters: There are three sub cases in this scenario: (AR3.1) If all child Qi−1
clusters that have packets are only covered by one of the Qi+1 clusters, as shown
in Fig. 4.4(a), forward packets to that Qi+1 cluster (Lines 18, 20). (AR3.2)
If all child Qi−1 clusters that have packets are only covered by one of the Ai+1
clusters, as shown in Fig. 4.4(b), forward packets to that Ai+1 cluster (Lines
22, 24). (AR3.3) The child Qi−1 clusters that have packets may be covered by
two Qi+1 parent clusters, as shown in Fig. 4.4(c). In this case, forward packets
to the Qi+1 parent cluster which covers the Qi−1 clusters that have packets but
are not received by Ai,j , or randomly forward packets to one of its two Qi+1
parent clusters if both cover such Qi−1 (Line 26).
selected Qi+1 cluster
selected Ai+1 cluster
randomly select a Qi+1
Received
Sources
(a) (b) (c)
Figure 4.4: Forwarding decisions for an A-cluster with four parents.
Following these forwarding rules at each level, the packets will be forwarded be-
tween the Q-clusters and A-clusters to achieve early aggregation without control
overhead. In the next section we will show that using these rules, packets can be
aggregated at or before level i + 2 cluster if the event can be covered by the size of a
level i cluster.
96
Algorithm 2 Alternative Forwarding Rules// Def: ci ⊂ X: child cluster i is covered by a cluster X
Each aggregator maintains following variablesRcv[1..4]: ith value is 1 if pkts have been received from ci
Exp[1..4]: ith value is 1 if child cluster ci has pktsNbr[1..8]: ith value is 1 if neighboring cluster i has pkts
procedure AltForwarding(C)
1: if C is a Q cluster then
2: if (Nbr[i] = 0, ∀i) then
3: Forward to sink4: else if (∃i : Nbr[i] 6= 0 & i ∈ NQ(C)) then
5: Forward to PQ(C)6: else
7: Forward to PA(C)8: end if
9: else
10: Missing[] ← Exp[] & !Rcv[]11: if (Missing[i] = 0, ∀i) then
12: Forward to sink13: else if (C has only one parent) then
14: Forward to C’s parent cluster15: else
16: // Qi+1,a, Qi+1,b, Ai+1,c, and Ai+1,d are C’s parents17: if (∀i where Exp[i] = 1, ci ⊂ Qi+1,a) then
18: Forward to Qi+1,a
19: else if (∀i where Exp[i] = 1, ci ⊂ Qi+1,b) then
20: Forward to Qi+1,b
21: else if (∀i where Exp[i] = 1, ci ⊂ Ai+1,c) then
22: Forward to Ai+1,c
23: else if (∀i where Exp[i] = 1, ci ⊂ Ai+1,d) then
24: Forward to Ai+1,d
25: else
26: Forward to Qi+1,a or Qi+1,b depending on which one covers at least some ci whereMissing[i] = 1
27: end if
28: end if
29: end if
97
4.2.3 Construction and Maintenance
In AFT, nodes have to know which cluster they belong to at first level so they can
aggregate their packets to the corresponding aggregator. Furthermore, aggregators
need to know their parent aggregators at the next higher level so they can forward
the aggregated packets to them. In this section we first describe how clusters are
created an then describe how the AFT is constructed.
As in previous chapters, we assume that nodes have the ability to know their
physical location and the physical location of the sink. Without loss of generality, we
assume the sink is located at (0, 0). In AFT we use grid-clustering with exponentially
increasing cluster size at each level. Therefore, nodes can determine which clusters
they belong to at each level immediately without any communication, given that their
physical location and the size of a level one cluster are available to them.
Once clusters are determined, cluster-head selection protocols can be invoked to
elect aggregators. After the aggregators at level i are selected, four level i aggregators
can elect one of them as the aggregator at level i + 1. The cluster-head selection
protocol is not in the scope of this dissertation. As our approach does not rely on
any specific algorithm, many cluster-head selection algorithms for multi-level clusters,
such as [43, 11], or hash-based techniques like GHT [71] or [28], can be used.
To balance the energy consumption of nodes, the role of the aggregator has to
be rotated among nodes. If hash-based approaches are used, such as the approach
used in Chapter 3, the changes of aggregators only incur restricted local synchro-
nization overhead. Otherwise, the new aggregator needs to inform its parent and
child aggregators the update, which requires a constant number of messages with
cost proportional to the size of its cluster.
98
4.2.4 Irregular Network Topology
In this chapter we assume that the network is a square for ease of description.
However AFT can still be applied to amorphous network topology. This is attributed
to the forwarding rules used in AFT. First, since the clusters are partitioned based on
their physical location, nodes can determine their clusters irrespective of the network
topology. The only difference is that there might be some clusters that do not have
any nodes at all. For example, in simulations we have nodes randomly deployed in
the network, and the random deployment creates some void clusters without any
nodes. However, as described in Property 4 in Section 4.3, the forwarding rules will
only forward packets to clusters that cover at least part of the event, i.e., clusters
that have nodes being triggered by the event, those empty clusters do not play a role
in packet forwarding and do not have any impact on AFT. The only impact is that
hash-based cluster-head selection, such as GHT, may not be adequate because it may
hash the cluster-head to a location where there is no node at all.
4.2.5 Implementation of AFT
In AFT, we assume that aggregators at each level know which neighboring clusters
have packets. For an aggregator at level one, this can be achieved by piggybacking
neighboring cluster information in the packet from boundary nodes of the cluster.
Boundary nodes can overhear packet transmission activities in neighboring clusters
or through explicit announcements to learn if its neighboring clusters have packets.
For an aggregator at a higher levels, the information can be derived from aggregated
packets obtained from lower level aggregators.
99
Because each Qi or Ai cluster has four child Qi−1 clusters and eight neighboring
Qi−1 clusters, we use three bytes to represent child Qi−1 clusters (4 bits) and neigh-
boring Qi−1 clusters (8 bits) from which packets are being received, and child Qi−1
clusters (4 bits) and neighboring Qi−1 clusters (8 bits) from which packets are ex-
pected. Aggregators at higher levels can infer which neighboring clusters have packets
for aggregation from these three bytes received from lower level aggregators. How-
ever the precision of the information will be lower when they are propagated up on
the AFT. For example, for an event that spans multiple clusters as shown in Fig.
4.5, packets in cluster Q1 will be sent to A2 (Rule QR3), and might be forwarded
to bottom Q-cluster (AR3.3). If four bits are used to represent if packets are being
received, or not received, from the four child clusters, Q3 can know precisely that it
has received packets from Q2,2 but not from Q2,1. However, when Q3 forwards the
information to Q4, Q4 can only determine that either packets from Q3 have been
received, or not, by using only four bits, one of which is for Q3. If Q4 determines that
packets have been received from Q3, in some scenarios it may result in packets being
forwarded to the sink earlier before they are fully aggregated. On the other hand, if
Q4 determines that packets have not been received from Q3, in some other scenarios
it may result in continued packet forwarding up on the AFT because the aggregators
fail to conclude that all packets have been aggregated.
Fig. 4.6 shows the percentage of cases in which packets are not fully aggregated
among one million randomly generated events when we use three bytes to represent
cluster states. The simulation is conducted on a 512× 512 level-one clusters network
by randomly selecting 2 to 512 contiguous level-one clusters as sources. In over 99%
of the cases we can still aggregate all packets with only three bytes of information.
100
Q3
Q4
A2
Q1 Q2,1
Q2,2
Figure 4.5: Dilution of neighboring information.
�����
�����
�����
�����
�����
�����
����
����
� � � � �� � ��� �� ���
� ������������������������
Figure 4.6: Percentage of cases that do not aggregate all packets.
4.3 Analysis
In this section we are going to show that if the area of an event can be covered by
a cluster of size equal to the size of a level-i cluster, the packets can be aggregated
within a cluster before or at level i + 2.
Property 4. In AFT, at each level, packets will only be forwarded to clusters that
cover at least part of the event.
101
This is evident because the forwarding rules in Section 4.2.2 for Q-clusters and
A-clusters at each level will only forward packets to their parent clusters that cover
at least some of clusters that have packets.
Definition 4. A most constrained cluster, Qi or Ai, for an event is the smallest
Q-cluster or A-cluster that covers entire area of the event.
Lemma 1. If the most constrained cluster is a Q-cluster Qi at level i, the packets
can be aggregated at Qi.
Proof. As shown in Fig. 4.7, suppose Qi is the most constrained cluster. Because
of Property 4, at level i − 1, packets can only come from four Qi−1 clusters, Qi−1,1
to Qi−1,4, and five Ai−1 clusters, Ai−1,1 to Ai−1,5. Packets can not come from Ai−1,6
to Ai−1,9 because packets will be forwarded to these four clusters only if some Qi−2
clusters in these four Ai−1 clusters but not covered by the Qi have packets, which
violates that Qi is the most constrained cluster.
For Qi−1 clusters, at lease two Qi−1 clusters have packets because Qi is the most
constrained cluster. Therefore packets from Qi−1 will be forwarded to Qi (Rule QR2).
For Ai−1,5, because of the construction of AFT, it has only one parent cluster,
which is Qi. Therefore its packets will be forwarded to Qi (Rule AR2).
For Ai−1,1 to Ai−1,4, if they receive packets, we show that both of its Qi−2 child
clusters that are covered by Qi must have packets. Take Ai−1,3 as an example. If
only one of the two Qi−2 clusters, say Qi−2,j , has packets, one of the NQ(Qi−2,j) not
covered by the Ai−1,3 cluster, say Qi−2,k, must have packets. This is because the event
is contiguous and Qi is the most constrained cluster. According to rule QR2, Qi−2,j
will forward packets to the Qi−1,2 cluster, not the Ai−1,3 cluster. Therefore both of its
102
Qi−2 child clusters covered by the Qi must have packets, and one of which forwards
packets to the Ai−1,3. Therefore the packets will be forwarded to Qi (Rule AR3.1),
and this completes the proof.
Qi-1,1 Qi-1,2
Qi-1,3 Qi-1,4
Ai-1,2 Ai-1,5
Ai-1,6 Ai-1,1 Ai-1,7
Ai-1,3
Ai-1,9 Ai-1,4 Ai-1,8 Qi
Qi-2,j Qi-2,j Qi-2,k Qi-2,k
Figure 4.7: Possible Qi−1 and Ai−1 having packets for Qi.
Lemma 2. If the most constrained cluster is an A-cluster Ai at level i, the packets
can be aggregated at Ai.
Proof. Similar to Fig. 4.7, but we replace the Qi cluster with an Ai cluster, and
the Ai cluster is the most constrained cluster. Packets can only come from four
Qi−1 clusters (which are covered by four different Qi clusters), Qi−1,1 to Qi−1,4, or
five Ai−1 clusters, Ai−1,1 to Ai−1,5 because of Property 4. Using the same argument
as in Lemma 1, packets can not come from Ai−1,6 to Ai−1,9. Because Ai is the most
constrained cluster, no cluster in NQ(Qi−1,j) (sibling clusters with the same Qi cluster
parent), for 1 ≤ j ≤ 4, will have packets, and at least two of the Qi−1 clusters will
have packets. Therefore their packets will be forwarded to Ai (Rule QR3).
103
Using the same argument as in Lemma 1, packets from Ai−1,5 will be forwarded
to Ai (Rule AR2) and packets from Ai−1,1 to Ai−1,4 will be forwarded to Ai (Rule
AR3.2), and this completes the proof.
Lemma 3. For an event of size at most the size of Qi, it is fully covered by a cluster
at level at most i + 2.
Proof. If the event E is fully covered by any Qi+2 or Ai+2 cluster, the proof is done.
Suppose that event E of size at most the size of Qi is not fully covered by any i + 2
level cluster. E must overlap with the boundary of some Qi+2 and Ai+2 clusters, as
shown in Fig. 4.8(a). Let their intersection point be Y . Let Ai+1,k be the cluster that
contains Y . As the event contains Y and its size is not larger than the size of Qi, it
is fully contained in Ai+1,k cluster. This completes the proof.
.
Ai+2
Qi+2 E
Ai+1
Y
���������������
��
X1
X2
iL13
(a) (b)
Figure 4.8: Worst case scenario.
Theorem 1. For an event which can be covered by a square of size of Qi, packets
of the event can be aggregated at or before a level i + 2 cluster. Assume that the
104
network can be partitioned into as many levels as possible such that Q1 clusters are
smaller than Qi for any event, then ∆ < 2(1+√
13)δ where ∆ is the distance between
the sources and the aggregator where all packets are aggregated, and δ is the event
diameter.
Proof. From Lemmas 1, 2, and 3, packets from an event can be aggregated at or
before a level i + 2 cluster if the area of the event can be covered by a square of size
of Qi.
To prove the bound of ∆, we show that in the worst case, ∆ < 2(1 +√
13)δ.
The worst case happens when packets are aggregated at a level i + 2 cluster. For
packets to be aggregated at a level i + 2 cluster, the event can not be fully covered
by any level i or i + 1 clusters, else packets will be aggregated before a level i + 2
cluster (Lemma 1 and 2). For an event not to be fully covered by any level i or i + 1
clusters, the event must cover an intersection point of Qi+1 and Ai+1 clusters, such
as X1 or X2 in Fig. 4.8(b). Fig. 4.8(b) shows the worst case where the aggregator of
Qi+2 is at the bottom-left corner of Qi+2. Without loss of generality, we assume that
the event covers X1, and the level i + 2 cluster is a Q cluster, Qi+2, since Qi+2 fully
covers the event. Assume the length of one side of Qi is Li. The distance between
the aggregator and X1 is√
13Li. Assume the diameter of the event, δ, is also Li.
Therefore the distance between the farthest source and the aggregator is (1+√
13)Li,
and ∆ ≤ (1 +√
13)Li. However, for an event to be covered by a square of size of Qi
but not Qi−1, the smallest diameter of the event could be Li−1 + ε = Li/2 + ε where
ε > 0. Such Qi−1 always exists since we assume that Q1 is smaller than Qi. Therefore
∆ < 2(1 +√
13)δ, or ∆ < 9.22δ.
105
4.4 Evaluation Results
In this section we use simulations to evaluate the performance of AFT. Because
our goal is to achieve efficient aggregation without incurring heavy control overhead,
we compare AFT with ToD and Quad-Tree (QT). Since the goal of AFT is to achieve
scale-free data aggregation, we evaluate these protocols for large network deployment
scenarios.
In all the simulations, unless otherwise mentioned, we randomly deploy 32, 768
sensor nodes whose transmission range is 50m in a 4096m× 4096m network in order
to create a connected network. Therefore each node has roughly 15 neighbors within
transmission range. With our most powerful server which has two 64-bit 3GHz CPUs
and 4GB memory, the ns2 simulator could not handle such large deployments. We
use a custom-built simulator that does not simulate detailed packet-level behavior,
such as collisions and queue-drops. This simulator allows us to trade off the level of
detail with the size of the simulation while preserving accurate high level behavior
of these protocols. All the simulation results are averaged from 10 different random
network topologies.
4.4.1 Baseline Simulations
First we create an event of size δ×δ and move the event by 50m in X-axis or Y-axis
each time, from (0, 0) to (4096− δ, 4096 − δ). This simulates an event of size δ × δ
triggering nodes at different locations in the network. The purpose of this simulation
is to find out how often a “bad case” (i.e., an event triggering nodes at locations that
make static structure approaches, such as quad-tree, fail to aggregate packets near
sources) occurs, and how much our approach can improve it. We use a hash-based
106
cluster-head selection algorithms similar to that in Chapter 3. For a cluster at level
i, we select a node in a level-one cluster which is closest to the sink and is covered
by the level i cluster as the cluster-head. In case of failure of an aggregator, explicit
notification has to be broadcast to nodes within the level-one cluster to re-elect a
new aggregator. Since the overhead of re-election is the same for the three evaluated
approaches, we do not particularly consider node failures in our simulation.
Fig. 4.9 shows the CDF of ratio of number of transmissions between QT and AFT
for three different event sizes. In the simulation we use 64m× 64m (σ = 64m) as the
size of level one clusters. From the figure we can see that when the event size is 100m,
in about 59.5% of the scenarios QT has trouble in aggregating packets near sources
(43.2% of the cases have ratio greater than 1.05), and AFT can reduce the number of
transmissions by up to four times. When event size increases, the percentage of “bad
cases” decreases and the improvement also decreases. This is because when the size
of an event is large, there are more nodes transmitting, and most of the transmissions
are contributed by transmitting within level-one clusters. When we normalize the
number of transmission, the extra transmissions in “bad cases” are amortized.
0
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
CD
F
Ratio of Number of Transmissions (QT/AFT)
0
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
CD
F
Ratio of Number of Transmissions (QT/AFT)
0
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
CD
F
Ratio of Number of Transmissions (QT/AFT)
(a) δ = 100m (b) δ = 300m (c) δ = 500m
Figure 4.9: CDF of number of transmissions of QT/AFT (σ = 64m).
107
There are cases where AFT performs worse than QT in the simulation (1% ∼ 2%
of the cases the ratio is less than 0.95). This is because there are some nodes that do
not have neighbors in transmission range in adjacent clusters, or some clusters do not
have any node, due to random deployment. Therefore nodes can not learn whether
there are sources in neighboring clusters. This may lead to imperfect forwarding
in AFT which leads to more transmissions. Though as described in Section 4.2.5,
neighboring information might be lost when they are propagated on the tree, we
do not observe this phenomenon in this simulation due to the regular shape of the
event. However on average AFT never performs worse than QT (Fig. 4.13(a) and
Fig. 4.13(b)).
Fig. 4.11 shows results of the same simulation with ToD and AFT. We show the
results of σ = 256m as the cluster size. We use larger cluster size to favor ToD since
AFT performs better in smaller cluster size while ToD does not perform well for small
clusters in large event scenarios. For example, when the cluster size is σ = 64m and
the event size is δ = 500m, ToD performs worse than AFT. (Fig. 4.10).
0
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
CD
F
Ratio of Number of Transmissions (ToD/AFT)
Figure 4.10: CDF of ToD/AFT (σ = 64m).
108
Fig. 4.11(a) shows that when the event size is small, in 55.4% of the cases ToD
performs better than AFT (36.9% with ratio smaller than 0.95). However when the
event size increases, ToD performs worse than AFT in 94.1% of the cases (89.7% with
ratio greater than 1.05). In ToD, the cluster size has to be determined in advance
based on the size of events to achieve optimal performance. This simulation shows
that the performance of ToD is highly dependent on the size of clusters and the size
of events.
0
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
CD
F
Ratio of Number of Transmissions (ToD/AFT)
0
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
CD
F
Ratio of Number of Transmissions (ToD/AFT)
0
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
CD
F
Ratio of Number of Transmissions (ToD/AFT)
(a) δ = 100m (b) δ = 300m (c) δ = 500m
Figure 4.11: CDF of number of transmissions of ToD/AFT (σ = 256m).
To have better insight on why AFT has lower number of transmissions, we conduct
the same set of simulations on a grid network with 100 × 100 nodes in 4096 × 4096
area (to eliminate the effect of missing neighboring information in random topology
network as described above). We compute ∆, the distance between the node at which
packets are aggregated and the center of the event, and the CDF of ∆/δ, the ratio
between the distance and the event size. Fig. 4.12 shows the CDF of ∆/δ in AFT,
QT, and ToD. We can see that in AFT, ∆/δ is always bounded by 4, while in QT and
ToD they are unbounded (44.8 and 55.8 respectively in this scenario). This shows
that AFT can guarantee the aggregation of packets near the sources and therefore
109
effectively reduce the number of transmissions. We do not observe the ratio to reach
2(1 +√
13) ' 9.22 in this scenario. Therefore, we deliberately create scenarios with
σ = 80m and event size δ = 81m to simulate the worst case scenarios. We do observe
that the ratio could be as high as 7.293. However the ratio is higher than 4 only in
less than 1% of the cases.
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 10 20 30 40 50 60
CD
F
∆ / δ
AFT
QT
ToD
0
0.2
0.4
0.6
0.8
1
0 5 10 15 20
CD
F
∆ / δ
AFTQT
ToD
0
0.2
0.4
0.6
0.8
1
0 2 4 6 8 10 12
CD
F
∆ / δ
AFT
QT
ToD
(a) δ = 100 (b) δ = 300 (c) δ = 500
Figure 4.12: CDF of ∆/δ (σ = 64m).
4.4.2 Cluster Size
Fig. 4.13(a) and 4.13(b) shows the average normalized number of transmissions
for AFT, QT, and ToD in random deployment scenarios with different cluster size
when the event size is δ = 100m and δ = 500m. OPT is an off-line algorithm that
computes the shortest path tree for data collection. The shortest path tree contains
all source nodes and is rooted at a source node closest to the sink. Data are collected
and aggregated from leaves to the root on the tree and are forwarded to the sink
thereafter. Normalized number of transmissions is the number of total transmissions
in the network divided by the number of packets received at the sink. We can see that
when the event size is 100m, AFT with cluster size σ = 64m performs best among
110
all scenarios, 14.11% better than QT with σ = 64m (the best among all cluster sizes
for QT) and 9.81% better than ToD with σ = 256m (the best among all cluster sizes
for ToD). When the event size is 500m, AFT with σ = 64m performs similar (2.63%
improvement) to QT with σ = 64m, and is 45.44% better than ToD with σ = 512m.
This shows that AFT is resilient to the size of the event and can perform better than
QT and ToD in any circumstance.
0
2
4
6
8
10
12
14
16
ToDQTAFT
# of
tx/p
kts
(a)σ=64
σ=128σ=256σ=512
0
2
4
6
8
10
12
14
16
ToDQTAFT
# of
tx/p
kts
(a)OPT
0
2
4
6
8
10
12
ToDQTAFT
# of
tx/p
kts
(b)σ=64
σ=128σ=256σ=512
0
2
4
6
8
10
12
ToDQTAFT
# of
tx/p
kts
(b)OPT
(a) δ = 100m (b) δ = 500m
Figure 4.13: Average of normalized number of transmissions.
4.4.3 Amorphous Event
In the next set of simulations we randomly generate events that cover 4, 16, and
64 randomly selected but contiguous level-one clusters (because we assume that an
event triggers nodes in contiguous clusters) of size 64m× 64m in random deployment
scenarios. This simulation simulates scenarios where events are amorphous. Fig. 4.14
shows the CDF of ∆/δ for AFT, QT, and ToD. We can see that in scenarios with
an amorphous event, AFT can bound the ratio to 4 in more than 90% of the cases.
For the cases where the ratio exceeds 4 in AFT, most of them are because of the lack
111
of direct connectivity between boundary nodes in adjacent clusters due to random
deployment. In grid network deployment, though with the loss of detailed lower level
cluster information as described in Section 4.2.5, AFT can still bound the ratio within
4 (Fig. 4.15) in over 99% of the cases.
0
0.2
0.4
0.6
0.8
1
0 10 20 30 40 50
CD
F
∆ / δ
AFT
QT
ToD
0
0.2
0.4
0.6
0.8
1
0 2 4 6 8 10 12
CD
F
∆ / δ
AFT
QT ToD
0
0.2
0.4
0.6
0.8
1
0 1 2 3 4 5 6
CD
F
∆ / δ
AFT
QTToD
(a) n = 100 (b) n = 300 (c) n = 500
Figure 4.14: CDF of ∆/δ in random topology with amorphous event (σ = 64m).
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 10 20 30 40 50
CD
F
∆ / δ
AFT
QT
ToD
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 5 10 15 20
CD
F
∆ / δ
AFT
QTToD
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 1 2 3 4 5 6
CD
F
∆ / δ
AFT
QT
ToD
(a) n = 100 (b) n = 300 (c) n = 500
Figure 4.15: CDF of ∆/δ in grid network with amorphous event (σ = 64m).
4.4.4 Packet Loss
In the last set of simulations we evaluate the impact of packet loss rate on these
protocols. All the three evaluated protocols depend on information piggybacked in
112
the packet to determine where to forward packets to. Therefore if packets are lost,
the piggybacked information will be lost and it impacts the forwarding decision. Fig.
4.16 shows the normalized number of transmissions for different packet loss rates in
random deployment networks. In the simulation, we use four as the maximum number
of retransmissions if packets are lost. From the figure we can see that the trends are
similar. The normalized number of transmissions increases as the packet loss rate
increases. It is quite intuitive since packet loss increases the number of transmissions
and reduces the number of received packets. However AFT does not deteriorate any
faster than QT or ToD.
4
6
8
10
12
14
16
18
20
22
24
26
0 0.05 0.1 0.15 0.2 0.25
# of
tx/p
kts
Packet Loss Rate
AFTQT
ToD
Figure 4.16: Normalized number of transmissions for packet loss rates (σ = 64m,δ = 100m).
4.5 Summary
In this chapter we propose AFT, Alternative Forward Tree, and its forwarding
rules to bound the distance between an aggregation point and sources within a con-
stant factor, which is 2(1+√
13), of the event size. AFT is a structure with multi-level
113
overlapping clusters that does not incur high maintenance overhead as dynamic struc-
tures. These properties guarantee that AFT is a scalable data aggregation structure
irrespective of network size and event size. We evaluate its performance by simula-
tions on 32, 768 nodes random topology networks and a 10, 000 nodes grid network.
We show in simulations that AFT does guarantee the bound when neighboring cluster
information is available, while other static structured approaches do not.
114
CHAPTER 5
RATE ALLOCATION IN PERPETUAL SENSORNETWORKS
In previous chapters we proposed efficient data aggregation approaches to con-
serve energy consumption. However to support perpetual sensor networks, renewable
energy is required. In addition to serving as alternate energy source to extend sensor
network lifetime, renewable energy can be used to optimize system performance. In
this chapter, we propose rate allocation algorithms that utilize the renewable energy
to assign fair and steady rates for all sensor nodes in data collection network.
5.1 Objective
The objective of this chapter is to find a fair rate assignment for sensors that can
best utilize renewable energy sources while providing continuous monitoring services.
Consider a network with four nodes as shown in Fig. 5.1. Each node is equipped
with a solar cell and a rechargeable battery. The solar cells collect solar energy
and store it in the battery. The amount of energy collected by each node may be
different due to their exposure to sunlight. In addition, the size of the solar panels
may be different for different nodes. For example, nodes closer to the sink may have
larger solar panels for collecting more energy to compensate for energy consumption
115
in forwarding packets for nodes that are farther away. Each node is collecting data
and sending packets to the sink at a certain rate. If nodes work at low rates such
that their battery will never be depleted, they can provide continuous service. For
example, for the recharging rates of these four solar cells as shown in Fig. 5.2, Fig.
5.3(a) shows the battery levels of these four nodes when they collect readings and
send five packets per second. However the collected energy is not well utilized since
we can increase the rate of each node without losing continuous service. But if the
rate is too high, some nodes may run out of energy before they can be recharged. For
example, Fig. 5.3(b) shows the battery levels of these four nodes when they send 10
packets per second. The batteries of nodes A and C are depleted for 3 to 4 hours.
The objective is to find a rate assignment for these four nodes that is fair, can best
utilize the collected energy, and is able to provide uninterrupted service, as shown in
Fig. 5.3(c).
A
B
C
D
SINK
Figure 5.1: A network of four nodes with solar cells.
116
0
5
10
15
20
25
30
35
40
45
50
24:0018:0012:006:000:00
I (m
A)
Hour
ABCD
Figure 5.2: Recharging profile for nodes in Fig. 5.1
0
50
100
150
200
250
300
24:0018:0012:006:000:00
Bat
tery
Lev
el (
mA
h)
Hour
ABCD
0
50
100
150
200
250
300
24:0018:0012:006:000:00
Bat
tery
Lev
el(m
Ah)
Hour
ABCD
0
50
100
150
200
250
300
24:0018:0012:006:000:00
Bat
tery
Lev
el (
mA
h)
Hour
ABCD
(a) ~r = (5, 5, 5, 5) pkt/s (b) ~r = (10, 10, 10, 10) pkt/s(c) ~r = (8.6, 8.6, 6.4, 6.4) pkt/s
Figure 5.3: Battery levels of nodes in Fig. 5.1.
We assume that the link capacity is not a constraint. For a sensor network to
support perpetual application that provides continuous monitoring service, sensors
should not consume more energy then they can collect. Therefore the data rate is
constrained by the amount of energy that the sensors can collect. Usually energy
collected from renewable source is too small to support high data rate applications.
Take solar energy as an example. Fig. 5.4 is the measured current collected from a
37mm× 33mm solar cell in 48 hours on a sunny day and a partly cloudy day during
117
Spring. The total energy collected is 131.03mAh for the sunny day and is 62.74mAh
for the partly cloudy day. Consider the 131.03mAh collected in a sunny day, the
average energy we collected is 131.03mAh/24h = 5.46mA. For a wireless module,
such as TelosB from Crossbow [21], the current drawn in receiving mode is 23mA,
in transmitting mode is 21mA at 0 dBm, and is 1.8mA for the micro control unit
(MCU) in active mode. The total energy consumption in forwarding packets is at
least 45.8mA, which means a sensor node can only spend at most 5.46/45.8 = 12%
of its time in receiving or forwarding packets for all flows passing through it. The
energy drawn by the attached sensors can further reduce it. Therefore sensor nodes
can only support low data rate and link capacity is not a constraint.
0
5
10
15
20
25
2/18/2008 12:00pm2/17/2008 12:00pm
I(m
A)
Figure 5.4: Current measured from a solar cell in 48 hours.
5.1.1 Problem Formulation
We seek to compute the optimal lexicographic rate assignment which is defined
as follows:
118
V the set of all nodes in the network.n number of nodes in the network.πi,t amount of energy collected by node i in time slot t.Πi maximum battery capacity for node i.Wi initial battery level for node i.λtx energy cost for per packet transmission.λrx energy cost for per packet reception.λsn energy cost for sensing.Ni node i’s neighbors.
Table 5.1: Constant parameters used in formulation.
Definition 5. Let L1 and L2 be two rate assignments. A rate vector RL is a sorted
rate vector of a rate assignment L if RL is the result of sorting L in non-decreasing
order, and RLi is the ith rate in RL. We say L1 = L2 if RL1 = RL2, L1 > L2 if there
exists an i such that RL1
i > RL2
i and RL1
j = RL2
j , ∀j < i. L1 < L2 if there exists an
i such that RL1
i < RL2
i and RL1
j = RL2
j , ∀j < i. L∗ is an optimal lexicographic rate
assignment if there is no other rate assignment L′ such that L′ > L∗.
The goal of our work is to find L∗ such that given the battery constraints and
energy recharging profiles for each node, no node ever runs out of energy. First we
define constant parameters that will be used in our formulation in Table 5.1 and
variables for flows and energy constraints in 5.2.
With the given parameters and variables, we can formulate the lexicographic rate
assignment problem as follows:
Problem: LP-LexObjective: Lexicographically Maximize L = {r1, r2, ..., rn}
subject to
119
ri data collection rate for node i.fij,t flow from node i to node j in time slot
t.wi,t amount of energy available for node i at
the beginning of time slot t.xi,t total energy consumption for node i in
time slot t.li,t a surplus variable that represents the
amount of energy not being collectedwhen the battery is full.
Table 5.2: Variables used in formulation.
ri +∑
j∈Ni
fji,t =∑
j∈Ni
fij,t (5.1)
xi,t = λsnri + λtx
∑
j∈Ni
fij,t + λrx
∑
j∈Ni
fji,t (5.2)
wi,t+1 = wi,t + πi,t − xi,t − li,t (5.3)T∑
k=1
xi,k ≤T∑
k=1
πi,k (5.4)
0 ≤ wi,t ≤ Πi (5.5)
wi,1 = Wi (5.6)
li,1 ≥ 0 (5.7)
for all i ∈ V and 1 ≤ t ≤ T where T is the number of slots after which the recharging
pattern is expected to repeat itself.
Constraint 5.1 ensures that the inflow equals to the outflow. Constraint 5.2 speci-
fies total energy consumption in time slot t, which includes the energy consumption in
sensing, packet transmissions, and packet receptions. Constraint 5.3 states that the
available energy in the next time slot is equal to the available energy in the current
120
slot plus the energy collected minus the energy consumed in the current time slot.
Constraint 5.4 ensures that nodes do not consume more energy than they collect.
Constraint 5.5 states that the available energy does not go below zero and does not
go above the battery capacity. Constraint 5.6 states that the available energy in the
first time slot is the initial battery level Wi. Constraint 5.7 states that the surplus
variable should be greater than or equal to 0.
In the formulation we assume that there is no packet loss therefore the cost for
transmitting a packet is the cost for a successful packet transmission. However, packet
losses are common in wireless sensor networks in reality because of varied link quality
and collisions of wireless transmissions. Packet losses due to varied link quality can
be taken into consideration by considering packet retransmission probability when
determining the cost for one successful packet transmission. For packet collisions,
some low overhead, distributed TDMA-based scheduling mechanisms, such as Harvest
[62], can be adopted to avoid packet collisions. These scheduling mechanisms are
complement to our work and are not in the scope of this dissertation. therefore will
not be discussed in this chapter.
5.2 Optimal Lexicographic Rate Assignment
The optimal lexicographic rate assignment can be solved using a similar approach
as proposed in [16]. The approach in [16] first finds a maximum common rate r∗
that is feasible for all the nodes with given constraints. It then computes maximum
feasible rate ri for each node i assuming that the rates of other nodes are fixed at r∗.
If ri = r∗, the rate of node i can not be increased any further even if all other nodes
are assigned with rate r∗; therefore node i will be assigned with rate r∗. We call these
121
nodes the constrained nodes. The algorithm finds all constrained nodes with ri = r∗
and fixes their rates to r∗, removes them and the resources they use from the network.
Due to the uniqueness of the optimal lexicographic rate assignment, at least one such
node always exists. This process is repeated for the rest of the nodes until all nodes’
rates are fixed. Therefore, iteratively the rate of each node will be determined and
the algorithm converges to the optimal lexicographic rate.
In this dissertation we show that in our setting, the optimal lexicographic rate
assignment is also unique, therefore, we can use a similar iterative approach to solve
the problem. The differences between our approach and the one proposed in [16] are
as follows. First in [16], the resources are static and do not change while in our case
the recharging rate changes over time. Second, we use a more general proof to show
the uniqueness of the optimal lexicographic rate assignment that is suitable for both
static as well as dynamic resources, as in our scenario.
To solve this problem iteratively, first we need to find the maximum common rate
for the nodes. This can be achieved by modifying the objective and constraints of
the formulation in problem LP -Lex. Instead of using different ri variables for each
node, we use the same rate r for all the nodes and try to maximize r. Therefore the
problem becomes:
Problem: LP-MaxminRateObjective: Maximize r
subject to
122
r +∑
j∈Ni
fji,t =∑
j∈Ni
fij,t (5.8)
xi,t = λsnr + λtx
∑
j∈Ni
fij,t + λrx
∑
j∈Ni
fji,t (5.9)
< Constraints 5.3 to 5.7 >
Using an LP solver we can compute a maxmin rate r∗ for all nodes.
After the maxmin rate r∗ is computed, we can compute Maximum Single Rate
(MSR) for each node to determine whose rate should be fixed at r∗ in optimal
lexicographic rate assignment. The MSR problem for a node u can be modeled as
a linear programming problem and be solved by an LP solver [16]. The formulation
is similar to LP -MaxminRate, but for nodes other than u, we use the following
constraints to replace constraints 5.8 and 5.9:
r∗ +∑
j∈Ni
fji,t =∑
j∈Ni
fij,t (5.10)
xi,t = λsnr∗ + λtx
∑
j∈Ni
fij,t + λrx
∑
j∈Ni
fji,t (5.11)
Node u still uses constraints 5.8 and 5.9. Solving this LP formulation we can get
the MSR rate of node u. We use LP -MSR(V, r∗, u) to represent the MSR rate for
node u assuming all other nodes in V are assigned with the rate r∗. By solving the
LP -MaxminRate and LP -MSR problem iteratively, the optimal lexicographic rate
can be determined. The iterative algorithm is shown in Algorithm 3.
We will show that the solution to Algorithm 3 is unique. Due to the uniqueness,
in each iteration of the while loop the set D with node i such that ri = r∗ will be non-
empty. Therefore the while loop (Lines 2-11) will have at most n iterations. In each
loop, we solve one LP -MaxminRate problem and at most n LP -MSR problems.
123
Algorithm 3 Optimal Lexicographic Rate Assignment
procedure LexRateAssignment()
1: S ← V2: while S 6= {} do3: r∗ ← Solve LP -MaxminRate(S)4: for each i in S do5: ri ← Solve LP -MSR(S, r∗, i)6: if ri = r∗ then7: D ← D ∪ {i}8: end if9: end for
10: S ← S −D11: end while12: return < r1, r2, ..., rn >
Therefore the complexity of LexRateAssignment is O(|N |2CLP (|N |, |E|, T )) where
CLP (n, |E|, T ) is the complexity of solving an LP problem with O(nT ) constraints
and O(|E|T ) variables where E is the set of edges of the network.
Theorem 2. LexRateAssignment computes the optimal lexicographic rate assign-
ment.
It has been shown that the solution computed by iteratively solving MSR is
the optimal solution in [16]. The proof in [16] depends on the uniqueness of the
optimal solution. Therefore, to show that LexRateAssignment computes the optimal
lexicographic rate assignment, it is sufficient to show that the optimal lexicographic
rate assignment is unique Due to the uniqueness of the solution, we can always find
some nodes with MSR rate equal to the maxmin rate r∗. As we can not increase the
rates of these nodes even if we assign r∗ to all other nodes, the only way to increase
the rate of these constrained nodes is to decrease the rate of some nodes to be lower
124
than r∗. Therefore in optimal lexicographic rate assignment, these constrained nodes
will be assigned with a rate of r∗.
Before we start proving the uniqueness of the optimal solution, we define some
terms that will be used in the proof.
Definition 6. Let G(V,E, S) be an arbitrary network with nodes V = {v1, v2, ..., vn},
wireless links E, and node constraints S = {s1, s2, ..., sn}. A node constraint si is a
2-tuple of (Πi, Ri) that specifies the maximum battery capacity and energy recharging
rate respectively for vi. We define G′(N ′, E ′, S ′) = G2(N,E, S) where N ′ = N ,
E ′ = E, S ′ = {s′1, s′2, ..., s′n}, and s′i = 2 × si = (2Πi, 2Ri), 1 ≤ i ≤ n. In short, G2
is a network with the same network topology as G, but the maximum battery capacity
and energy recharging rate of each node are doubled in G2 as compared to G. We also
define G = G2/2.
Definition 7. Let L1 and L2 be any two rate assignments for nodes {v1, v2, ..., vn}
where L1 = {r(1)1 , r
(1)2 , ..., r
(1)n } and L2 = {r(2)
1 , r(2)2 , ..., r
(2)n }. We define L′ = L1 + L2
where L′ = {r′1, r′2, ..., r′n} and r′i = r(1)i + r
(2)i , 1 ≤ i ≤ n. We also define L′′ = L/2
where L′′ = {r′′1 , r′′2 , ..., r′′n} and r′′i = ri/2, 1 ≤ i ≤ n.
Lemma 4. The lexicographic optimal rate assignment is unique.
Proof. We prove the uniqueness by contradiction. We want to show that if there are
more than one optimal solutions, and L1 and L2 are two of them, there must exist a
rate assignment that is lexicographically greater than L1 (or L2) so L1 (and L2) can
not be optimal, hence a contradiction.
Suppose there are two different lexicographic optimal rate assignments, L1 and L2,
for a network G. L1 and L2 are identical as sorted vectors but their rate assignments
125
for some nodes are different. Let M be the set of nodes whose rates are different in
L1 and L2. Among all nodes in M , let vk be a node with the smallest rate in L1. Let
S1 = {vi | r(1)i < r
(1)k }, Q1 = {vi | r(1)
i = r(1)k }, and X1 = {vi | r(1)
i > r(1)k }, i.e., S1
contains all nodes whose rates are smaller than vk’s rate in L1, Q1 contains all nodes
whose rates are equal to vk’s rate in L1, and X1 contains all nodes whose rates are
larger than vk’s rate in L1.
Now we define S2 = {vi | r(2)i < r
(1)k }, i.e. S2 contains all nodes whose rates in L2
are smaller than vk’s rate in L1. We know that
r(1)i = r
(2)i ,∀vi ∈ S1 (5.12)
because vk is the node with the smallest rate in L1 that differs in its rate assignment
in L2. Therefore
S1 ⊆ S2 (5.13)
Furthermore,
|S1| = |S2| (5.14)
otherwise L1 and L2 will have different number of nodes whose rates are smaller than
r(1)k , which contradicts that L1 = L2. By (5.13) and (5.14), we have
S1 = S2 (5.15)
Now we construct a new network G2. Observe that L2 = L1 +L2 is a feasible rate
assignment for G2. Moreover L2/2 is a feasible rate assignment for G2/2. Therefore
L′ = L2/2 = (L1 + L2)/2 is a feasible rate assignment for G since G2/2 = G. We
show that L′ is lexicographically greater than L1 therefore L1 can not be optimal.
Consider the rates in L′ for nodes in S1. By Definition 7 and (5.12) we have
r′i = (r(1)i + r
(2)i )/2 = r
(1)i < r
(1)k ,∀vi ∈ S1 (5.16)
126
Considering the rates in L′ for nodes in Q1 and X1. First
r(2)i ≥ r
(1)k ,∀vi ∈ Q1 ∪X1 (5.17)
otherwise vi would be in S2, which indicates vi ∈ S1 and is a contradiction that
vi ∈ Q1 ∪X1. Therefore, by Definition 7 and (5.17) we have
r′i = (r(1)i + r
(2)i )/2 ≥ (r
(1)k + r
(1)k )/2 = r
(1)k ,∀vi ∈ Q1 (5.18)
and
r′i = (r(1)i + r
(2)i )/2 > (r
(1)k + r
(1)k )/2 = r
(1)k ,∀vi ∈ X1 (5.19)
Now we define S ′ = {vi | r′i < r(1)k }, Q′ = {vi | r′i = r
(1)k }, and X ′ = {vi | r′i > r
(1)k }.
By (5.16), (5.18), and (5.19) we know
S1 ⊆ S ′ (5.20)
X1 ⊆ X ′ (5.21)
Because S1 ∪Q1 ∪X1 = S ′ ∪Q′ ∪X ′, by (5.20) and (5.21) we have
Q1 ⊇ Q′ (5.22)
By (5.18) and (5.19) we have
Q1 ∪X1 ⊆ Q′ ∪X ′ (5.23)
We know that S ′ ∩ (Q′ ∪X ′) = φ and S1 ∩ (Q1 ∪X1) = φ; therefore
|S ′|+ |Q′ ∪X ′| = |S1|+ |Q1 ∪X1| (5.24)
From (5.20) and (5.23) we know that |S1| ≤ |S ′| and |Q1 ∪ X1| ≤ |Q′ ∪ X ′|. By
(5.24), we know |S1| = |S ′| and this together with (5.20) gives us
S1 = S ′ (5.25)
127
Furthermore, r(2)k > r
(1)k otherwise vk would be in S2 which indicates vk ∈ S1, a
contradiction of the definition of S1. Therefore r′k = (r(1)k + r
(2)k )/2 > (r
(1)k + r
(1)k )/2 =
r(1)k . Since vk ∈ Q1 and vk ∈ X ′, using (5.22) we further have
Q1 ⊃ Q′ (5.26)
X1 ⊂ X ′ (5.27)
By (5.25), (5.26), and (5.27), L′ > L1, which is a contradiction that L1 is an
optimal lexicographic rate assignment.
5.3 Distributed Lexicographic Rate Assignment
In Section 5.2 we use a centralized algorithm to solve the lexicographic rate as-
signment problem using the global knowledge of the network. The algorithm involves
solving this problem using multiple executions of an LP solver, which is computation
intensive and is not suitable for sensor networks. In this section we present a dis-
tributed algorithm that does not require an LP solver to solve this problem for the
case when the routes are known.
There have been many studies on finding the maxmin rate allocation in the litera-
ture. Most of them employ the feedback-based flow control mechanism. In particular,
Charny et al. [15] use a technique called Consistent Marking to achieve maxmin rate
assignment using a distributed algorithm. We use a similar technique to determine
the rates of nodes when their routes pass through a node, but the way we compute
the rate is different. We make an assumption as in [15] that each flow uses a fixed
route to forward packets to the sink. This makes the problem more tractable for
128
distributed computation. In this work, each node has exactly one flow connected to
the sink, and we use flow i to represent the flow originating from node i.
Each node j maintains two variables, rmaxj (i), and rj(i), for each flow i passing
through it, where rmaxj (i) is the current maximum achievable data rate and rj(i)
is the computed data rate for flow i. For each flow i at any node, it must satisfy
rj(i) ≤ rmaxj (i), ∀j. Each node i starts with computing its maximum achievable rate
rmaxi (i) according to its recharging process assuming it only generates and forwards
its own packets. For a non-steady energy resource such as solar energy, the maximum
achievable rate depends on the available energy in the battery and the variations in
the recharging rate. However we know that to support a perpetual sensor network,
nodes should not consume more energy than they can collect. Furthermore, to pro-
vide continuous monitoring services, a node should not deplete its battery before it
can be recharged, i.e., the total energy consumption should not be greater than the
summation of the battery level and the total energy it collected until any given time.
Algorithm 4 computes the maximum rate at which a node can collect readings and
forward them without running out of energy in any time slot.
Line 1 computes the rate per time slot by computing the average amount of
energy collected per time slot divided by the energy consumption for collecting and
forwarding a reading (es). This is the maximum achievable rate for node u. Line 3 to
14 further consider the cases when battery is depleted or full given the data collection
rate, energy recharging rate, and battery capacity. Variable wt represents the amount
of energy in the battery in the beginning of time slot t, s represents the last time slot
when the battery is full and E represents the amount of energy collected from time
slot s + 1 to t plus the available energy in the battery at the end of time slot s.
129
Algorithm 4 Maximum Rate
procedure MaximumRate()
1: r ←PT
i←1πu,i
T× 1
es
2: E ← Wu, w1 ← Wu, s← 03: for t← 1 to T do4: wt+1 ← wt + πu,t − res
5: E ← E + πu,t
6: if wt+1 > Πu then7: E ← Πu
8: wt+1 ← Πu
9: s← t10: else if wt+1 < 0 then11: r ← E
t−s× 1
es
12: wt+1 ← 013: end if14: end for15: return r
First, we consider the case when the battery is full. If at time slot t the battery
is full, the extra energy collected can not be put into the battery and will be lost.
Therefore, E has to be adjusted and wt+1 is set to the maximum battery capacity Πu
(Lines 7 and 8). In addition, we know that if the battery is full at time slot t when
working at rate r, the battery will still be full at time slot t even if the node works
at a rate lower than r, and any rate that is smaller than r will still be feasible from
time slot 1 to t. Observing that r will only become smaller each time it is updated
at Line 11 (we will show it later), we can check if newly computed rate is feasible by
considering only time slots after t. Therefore we set s to t.
If at some time slot t the available energy wt+1 becomes negative, it means that
node u can not support rate r. In this case, we should evenly distribute the energy
collected from time slot s + 1, plus the energy originally in the battery at the end of
time slot s, to all slots from s+1 to t. It is clear that the newly computed rate r will
130
be smaller than the previous one because Line 4 can be expressed as
wt+1 = ws+1 +t∑
i=s+1
πu,i − res(t− s) = E − res(t− s)
Since wt+1 < 0, E− res(t− s) < 0, therefore E(t−s)es
< r. We know that as node u can
support the original rate r from time slot 1 to t − 1, it can also support the newly
computed rate, which is lower than r, from time slot 1 to t− 1, and also in time slot
t.
After rmaxi (i) is computed, node i sends a control packet containing the flow id
i and rate ri = rmaxi (i) to its next hop. Node j receiving the control packet first
assigns the ri from the control packet to rmaxj (i) and then computes a new rate rj(i)
based on flows passing through it. Node j then sends a control packet containing
the flow id i and the newly computed rate rj(i) to its nexthop node. The process
is repeated at each node from leaves to the sink. Once the control packet reaches
the sink, the control packet will contain the maximum rate achievable for node i
in optimal lexicographic rate assignment, and the sink can send a feedback packet
notifying node i its assigned rate.
To compute the rate for each flow passing through node j, we define two types
of flows for node j: restricted flows (Rj) and unrestricted flows (Uj). A flow f is in
Rj if rmaxj (f) is smaller than rj(j), i.e., its computed rate is restricted by some node
before it reaches node j; otherwise f is in Uj. Note that for f ∈ Uj, rj(f) = rj(j) in
the optimum solution. Given the sets Rj and Uj, node j can compute the assigned
rate rj(j) by evenly allocating the remaining rate not used by flows in Rj to all flows
in Uj and node j itself, and can be represented as:
131
rj(j) =Cj − ef
∑
i∈Rjrmaxj (i)
ef (nj − |Rj|) + es
(5.28)
where Cj = rmaxj (j)es, ef is the cost of forwarding a packet for other nodes, which
includes the cost of receiving and transmitting a packet, and nj = |Rj| + |Uj| is the
total number of flows, excluding flow j, passing through node j. If rmaxj (i) of any
flow i in Rj becomes higher than the new rj(j) or rmaxj (i) of any flow i in Uj becomes
smaller than the new rj(j), Rj and Uj are updated accordingly and Equation 5.28 is
repeated until Rj and Uj do not change. Algorithm 5 shows the pseudocode for the
distributed lexicographic rate assignment algorithm for node j.
Algorithm 5 Distributed Lexicographic Rate Assignment
Require: π1..T : recharging rate from time slot 1 to T
procedure InitializeRate()
1: rmaxj (j)←MaximumRate()
2: rj(j)← rmaxj (j)
// i: received flow id// ri: maximum achievable rate of flow iprocedure UpdateRate(i, ri)
1: rmaxj (i)← ri
2: R′j ← Rj \ {i}
3: U ′j ← Uj ∪ {i}
4: repeat5: Rj ← R′
j
6: Uj ← U ′j
7: Compute rj(j) using Equation 5.288: R′
j ← {i|rmaxj (i) < rj(j)}
9: U ′j ← {i|rmax
j (i) ≥ rj(j)}10: until Rj = R′
j
11: rj(i)← rmaxj (i),∀i ∈ Rj
12: rj(i)← rj(j),∀i ∈ Uj
132
We show the convergence by showing that after the first round of computation, the
rj(j) will only increase and this moves at least one flow in Uj to Rj. As the number
of flows is finite, UpdateRate will converge. For the optimality of the UpdateRate
algorithm, we first assume that there is an optimal solution that is better than the
result computed by UpdateRate algorithm, and prove that this can not happen.
Theorem 3. The UpdateRate rate computation using Equation 5.28 converges and
computes the optimal lexicographic rate assignment.
Proof. First, we show the convergence of the UpdateRate algorithm. Let rj(j)(x) be
the rj(j) at the end of round x. There are only three possibilities considering the
nodes in Rj and Uj: (1) Rj and Uj do not change. (2) Some flows in Uj become
restricted flows and are moved to Rj. (3) Some flows in Rj become unrestricted
flows and are moved to Uj. For case 1, the algorithm terminates. Therefore we only
consider cases 2 and 3.
• case 2: If a non-empty subset of flows, say Z, in Uj is moved to the restricted
set Rj, the rj(j)(2) will be computed in next round.
Since
rj(i)(1) =
Cj − ef
∑
i∈Rjrmaxj (i)
ef (nj − |Rj|) + es
rj(i)(2) =
Cj − ef
∑
i∈Rj∪Z rmaxj (i)
ef (nj − (|Rj|+ |Z|)) + es
133
Therefore
rj(j)(2)(ef (nj − (|Rj|+ |Z|)) + es)
= Cj − ef
∑
i∈Rj∪Z
rmaxj (i)
= Cj − ef
∑
i∈Rj
rmaxj (i)− ef
∑
i∈Z
rmaxj (i)
= rj(j)(1)(ef (nj − |Rj|) + es)− ef
∑
i∈Z
rmaxj (i)
> rj(j)(1)(ef (nj − |Rj|) + es)− rj(j)
(1)ef |Z|
= rj(j)(1)(ef (nj − (|Rj|+ |Z|)) + es)
and rj(j)(2) > rj(j)
(1). The above argument could be generalized for round x
and x + 1 to show that rj(j)(x+1) > rj(j)
(x). Since the number of flows in Uj is
finite, the process will eventually converge.
• case 3: If a non-empty subset of flows, say Z, in Rj are moved to Uj, the
rj(j)(2) will be computed in next round as
rj(j)(2) =
Cj − ef
∑
i∈Rj−Z rmaxj (i)
ef (nj − |Rj − Z|) + es
=Cj − ef
∑
i∈Rjrmaxj (i) + ef
∑
i∈Z rmaxj (i)
ef (nj − |Rj|+ |Z|) + es
>Cj − ef
∑
i∈Rjrmaxj (i) + ef
∑
i∈Z rj(j)(1)
ef (nj − |Rj|+ |Z|) + es
= rj(j)(1)
Using the same argument as in case 2, we know rj(j)(x+1) > rj(j)
(x), and the
process will converge.
Now we show that the UpdateRate algorithm computes the optimal lexicographic
rate assignment. We show this by assuming that there is an optimal rate assignment
134
D∗ which is better than the rate assignment D computed by UpdateRate, and show
that given D∗, UpdateRate can compute a rate assignment better than D∗, and hence
a contradiction.
Let D = (r(1), r(2), ..., r(n)) be the rate assignment computed from the dis-
tributed algorithm and D∗ = (r∗(1), r∗(2), ..., r∗(n)) be the optimal lexicographic
rate assignment for flows 1 to n, and D∗ > D. Among those flows whose rates are
different in D and D∗, let f be the node that is assigned with the smallest rate in D,
therefore r(f) < r∗(f).
First, as r(f) < r∗(f) ≤ rmaxf (f), flow f must be restricted at some node j, i.e.,
r(f) = rj(f) = rj(j) < rmaxf (f) (it is possible that f = j). We define Rj and Uj
as the set of flows that pass through node j and whose rates are smaller than and
greater or equal to r(f) in D respectively. Therefore f ∈ Uj. We also define R∗j and
U∗j as the set of flows that pass through node j and whose rates are smaller than and
greater or equal to r∗(f) in D∗ respectively.
We first show the following three properties.
rj(i) = r∗(i),∀i ∈ Rj (5.29)
r(f) ≤ r∗(i),∀i ∈ Uj (5.30)
r(f) ≤ r∗(j) (5.31)
Because r(f) < r∗(f), it is clear that
Rj ⊆ R∗j (5.32)
Furthermore, since flow f is the flow whose rates are different in D and D∗ and is the
smallest one in D, rj(i) = r∗(i),∀i ∈ Rj. This proves Equation 5.29.
135
Second, for i ∈ Uj, if r∗(i) < r(f), from (5.29) and the fact that i ∈ Uj, the
number of flows whose rates are smaller than r(f) in D∗ will be greater than the
number of flows whose rates are smaller than r(f) in D, which contradicts that D∗ is
the optimal lexicographic rate assignment, and this proves Equation 5.30. Similarly
if r∗(j) < r(f), it contradicts D∗ is the optimal lexicographic rate assignment and
this proves Equation 5.31.
Note that Cj = ef
∑
i∈Rj∪Ujrj(i) + esrj(j). Because r(j) = r(f), and together
with (5.29), (5.30), and (5.31), if f 6= j, we have
r(f)
=Cj − ef
∑
i∈Rj∪Uj−{f} rj(i)− esrj(j)
ef
=Cj − ef
∑
i∈Rjrj(i)− ef
∑
i∈Uj−{f} rj(i)− esrj(j)
ef
=Cj − ef
∑
i∈Rjrj(i)− ef
∑
i∈Uj−{f} rj(j)− esrj(j)
ef
≥Cj − ef
∑
i∈Rjr∗(i)− ef
∑
i∈Uj−{f} r∗(i)− esr∗(j)
ef
=Cj − ef
∑
i∈Rj∪Uj−{f} r∗(i)− esr∗(j)
ef
= r∗(f)
which contradicts that r(f) < r∗(f).
136
If f = j, we have
r(f) =Cj − ef
∑
i∈Rj∪Ujrj(i)
es
=Cj − ef
∑
i∈Rjrj(i)− ef
∑
i∈Ujrj(i)
es
=Cj − ef
∑
i∈Rjrj(i)− ef
∑
i∈Ujrj(j)
es
≥Cj − ef
∑
i∈Rjr∗(i)− ef
∑
i∈Ujr∗(i)
es
=Cj − ef
∑
i∈Rj∪Ujr∗(i)
es
= r∗(f)
which also contradicts that r(f) < r∗(f). Therefore D must be the optimal lexico-
graphic rate assignment, and this completes the proof.
200
rF200D
RrDmaxid
80
rF80B
RrBmaxid
120
rF120C
RrCmaxid
60
60 F120C
F200D
300
rF300A
RrAmaxid
80
220 F300A
T80B
60
80
160
T80B
F300A
T60D
60
60
80
100
T60D
T80B
F300A
T60C
A
B
C
D
3, 4
22
3
1
1
4
3
41
2
Figure 5.5: Distributed lexicographic rate computation.
Fig. 5.5 shows an example of the distributed lexicographic rate computation for
four nodes in steps. Each node maintains a table containing fields id, rmax, r, and
R, which represent flow id, maximum achievable rate, assigned rate, and restricted
137
set (F represents not in the restricted set and T represents in the restricted set),
respectively. The shaded cells are values that are transmitted to parent nodes. For
ease of understanding we assume es = ef here. Nodes first compute their maximum
rate rmax using InitializeRate in Algorithm 5 (The first table for each node). The
maximum rates for node A through D are 300, 80, 120, and 200, respectively. Af-
ter the nodes compute rmax, they send a control packet containing flow id and the
maximum achievable rate r = rmax to their nexthop nodes. Note that the control
packets do not need to be transmitted in a synchronous fashion from leaves to the
root. However transmitting control packets in this order can reduce the number of
control packets since when the rate of a flow is updated, the nexthop node has to
update and compute a new rate accordingly.
When a node receives the control packet from its children, it uses UpdateRate to
compute the rates. For example, when node C receives the rate 200 from node D
in the first step, node C sets rmaxC (D) = 200, RD = {} and UD = {D}. Therefore
rC(C) = 120es/(ef + es) = 60. When node A receives the rate 60 from node C for
flow D at step 3, node A sets rmaxA (D) = 60, RA = {B}, and UA = {D}. Therefore
rA(A) = (300es − 80ef )/(ef + es) = 110. Since 110 > rmaxA (D), D will be put
into RA, and in the next round rA(A) = (300es − (80 + 60)ef )/(es) = 160, and
RA(D) = RmaxA (D) = 60.
5.4 Evaluation Results
We evaluate our distributed algorithm, we call it DLEX, on a testbed with more
than 150 TmoteSky sensor motes. TmoteSky consists of TI MSP430 processor run-
ning at 8MHz, has 10KB RAM, and uses CC2420 radio operating at 2.4GHz. Since
138
the TmoteSky nodes in the testbed are not equipped with solar cells, we use the
recharging model collected on a sunny day, as shown in Fig. 5.4, as a baseline, and
generate a recharging model in which the whole recharging profile is varied by a ran-
dom amount that is −10% to 10% of the baseline for each sensor. Each sensor stores
the randomly generated charging rate for 24 hours, and uses one hour as the length
of a slot to compute the rate.
5.4.1 Optimality
Fig. 5.6 shows the rate assignments computed by the centralized LP solver and our
distributed algorithm for a shortest path routing tree. The X-axis is node id sorted in
non-decreasing order according to their assigned rates. The two curves overlap and
therefore we only see one curve in Fig. 5.6. Fig. 5.7 shows the difference between
these two rate assignments. The difference between these two rate assignments is
less than 0.03%. The difference comes from the difference in precision in arithmetic
operation between sensor nodes and the LP solver running on a PC. The CPU of
the sensor nodes has limited computation power and floating point operations are
extremely slow on them. Therefore we use integer operations to replace the floating
point operations, and this leads to the loss of precision which results in the difference.
5.4.2 Recharging Profile
We evaluate the effect of different recharging profiles on the rate assignment. We
use the solar power collected in Fig. 5.4 as two different recharging profiles, one for
a sunny day and one for a partly cloudy day.
Fig 5.8 shows the rate assignments obtained from our distributed algorithm using
two different recharging profiles as shown in Fig. 5.4. We start the rate assignment
139
0
2
4
6
8
10
12
14
16
0 20 40 60 80 100 120 140
Rat
e(pk
t/s)
LPDLEX
Figure 5.6: Rate assignments of LP solver and DLEX.
0.1%
0.05%
0
-0.05%
-0.1% 0 20 40 60 80 100 120 140
(DL
EX
-LP)
/LP
Figure 5.7: The difference between LP and DLEX.
protocol at 12:00am in the midnight and use 24 hours as the length of recharging
profile. The total energy collected on the sunny day is 131.03mAh, which is about
twice of 62.74mAh, the energy collected on the partly cloudy day. Since in our
protocol nodes do not consume more energy than they can collect, the rates assigned
140
to nodes are directly related to the amount of energy they collect. This can be clearly
seen in the figure.
0
2
4
6
8
10
12
14
16
0 20 40 60 80 100 120 140
Rat
e(pk
t/s)
SunnyCloudy
Figure 5.8: Rate assignments for sunny and cloudy days.
5.4.3 Control Overhead
Fig. 5.9 shows the control overhead of the distributed protocol and also the size
of subtrees rooted at corresponding nodes. The X-axis is node id sorted in non-
decreasing order according to their assigned rates. For a node i, assume Ti is the
subtree rooted at node i. In our distributed algorithm, a node i has to forward
control packets from all nodes in Ti to the sink, and the responses from the sink to
all nodes in Ti − {i} (node i does not transmit the response packet for itself). For a
node that is the root of a large subtree, it has to forward more control packets than
other nodes, and this can be seen clearly in Fig. 5.9 (nodes 27, 59, 62, 178, 160, 124).
Ideally, the number of control packets sent by a node i is 2|Ti| − 1. However, due to
141
contention, interference, and unstable link quality, packets might be lost and have to
be retransmitted. Therefore in reality the number of control packets will be higher.
The size of a control packet payload is 9 bytes, which include 4 bytes for rate,
2 bytes for flow id, 2 bytes for forwarder id (so the response from the sink can be
forwarded to the correct subtree), and 1 byte control message. Therefore the size
of the control packet, including 7 bytes packet header, is 16 bytes. For a network
with 155 nodes, the maximum overhead for a node is around 2.5KB. Note that
the overhead can be further reduced by combining multiple control packets into one
packet to save the overhead of packet header.
0
5
10
15
20
25
30
0 20 40 60 80 100 120 140
Size
of
Subt
ree
Node
Size of Subtree2759
62178
160
124
0 20 40 60 80
100 120 140 160 180
# of
Pac
kets
# of Control Packets
Figure 5.9: Number of control messages and children of each node in DLEX.
From Fig. 5.9 we can also observe a trend that among those nodes that have
larger subtrees (node 27, 59, 62, 178, 160, 124), their rates are lower if their subtrees
are larger. From Fig. 5.10 we can clearly see the trend. This is because that nodes
closer to the sink are usually the bottleneck nodes since they have to forward packets
142
for others. From the detailed logs of experiments we do find that the nodes under the
subtree rooted at these nodes are assigned with the same rate as these nodes. From
this observation we can conclude that if we want to increase the total throughput or
improve the lexicographic rate assignment, it is sufficient to increase the recharging
rate of first hop nodes.
0
10
20
30
40
50
0 20 40 60 80 100 120 140
6
4
2
0
Size
of
Subt
ree
Rat
e (p
kt/s
)
Node
Size of SubtreeRate
Figure 5.10: The size of a subtree v.s. the rate.
5.4.4 Initial Battery Level
In this section we study the performance of rate assignment when the battery
level is low. When the battery level is low, how the maximum achievable rate is
determined has big difference on system performance since the battery does not have
enough energy to serve as buffer when the energy collected is not sufficient.
We evaluate the protocol we proposed and compare it with a variation and a naive
approach. In the variation, we call it DLEX-A, instead of using MaximumRate in
143
Algorithm 4 to compute the maximum achievable rate, we simply use the average
recharging rate per time slot to compute the maximum achievable rate, and use the
distributed algorithm to compute the rate assignment. In the naive approach, we call
it NAVG, nodes just use the average rate per time slot to compute the maximum
achievable rate, and use that rate as their working rate. We set the initial battery
level to 30mAh for this experiment.
Fig. 5.11 shows the actual rate assigned to each node. The X-axis is the node id,
sorted in non-decreasing order according to their rates assigned by DLEX. The rates
computed by DLEX are slightly smaller than DLEX-A because using Algorithm 4
DLEX has to lower the rate to prevent a node from running out of energy when the
battery level is low. NAVG has the highest rate since it just uses the maximum rate
as the working rate. However the higher working rate does not necessarily result in
higher system performance.
Because of the policy of the testbed, we are not allowed to run the experiment
for 24 hours, we use a simulator and plug the rates we obtained from the testbed
into the simulator to simulate packet transmissions and energy consumption in the
rechargeable network. Fig. 5.12 shows the number of packets received at the sink
for each node in simulation. From the figure we can see that the number of packets
received at the sink in NAVG does not correspond to the high working rate in Fig.
5.11. This is because nodes may run out of energy before their battery is recharged
due to the dynamics of the recharging process. Nodes that run out of energy can not
generate packets anymore. In addition they can not forward packets for others either.
Fig. 5.13 shows the percentage of time each node runs out of energy in 24 hours
in these three rate assignments. We can see that in NAVG, all nodes run out of
144
0
2
4
6
8
10
12
14
16
18
0 20 40 60 80 100 120 140
Rat
e (p
kt/s
)
Node
DLEXDLEX-A
NAVG
Figure 5.11: Rates of nodes in different rate assignment approaches.
0
2
4
6
8
10
12
14
0 20 40 60 80 100 120 140
Thr
ougp
ut (
M p
kts)
Node
DLEXDLEX-A
NAVG
Figure 5.12: Number of packets received for each source.
energy for some duration, and over 30% of nodes run out of energy over 50% of the
time during simulation (13% of nodes run out of energy over 90% of the time during
simulation). DLEX-A only has 28 nodes that have reached 0 available energy for 10%
145
to 15% of the simulation time. DLEX has 24 nodes that run out of energy for less
than 3% of the simulation time.
100
50
0 0 20 40 60 80 100 120 140
Node
DLEX
100
50
0Perc
enta
ge (
%)
DLEX-A
100
50
0
NAVG
Figure 5.13: Percentage of time a node runs out of energy.
Ideally, DLEX should not have any node runs out of energy. The reason that
nodes run out of energy in DLEX is because we use one hour as the unit to store the
recharging profile, and use that to compute the maximum achievable rate. However
the recharging rate may vary within one hour, and the variation results in the sub-
optimality of the results. We have conducted experiments using one minute as the unit
to store the recharging profile and no node has ever run out of energy. However storing
recharging profile with a finer resolution will consume more memory or storage space,
and therefore is a design trade-off. To prevent nodes from running out of energy using
only coarse grained recharging profile, nodes may reserve a small amount of energy
as the buffer when the battery level is low.
146
Fig. 5.14 shows the total number of packets received at the sink and the percentage
of nodes running out of energy during the 24 hours of simulation. From the figure
we can see clearly that NAVG can hardly receive any packets for about 2.5 hours of
the time, from 5:50 to 8:15 due to a lot of nodes running out of energy during that
period. DLEX-A is better, however its throughput is also affected severely during the
same period because the nodes that run out of energy are usually those nodes close
to the sink. When they run out of energy, they can not forward packets for other
nodes, thus resulting in severe drop of the throughput. DLEX is affected only for
a small portion of time because it has fewest nodes running out of energy for very
short duration. Again, if we store finer grained recharging profile on sensor nodes, we
can maintain stable throughput for entire simulation for all nodes. This shows that
DLEX performs better in terms of uniformly collecting data across time.
40 20
0
24:0018:0012:006:000:00
100
0
Time
DLEX 40 20
0
24:0018:0012:006:000:00
100
0
Time
DLEX
40 20
0 100
0
Thr
ougp
ut (
K p
kts)
Perc
enta
ge (
%)
DLEX-A 40 20
0 100
0
Thr
ougp
ut (
K p
kts)
Perc
enta
ge (
%)
DLEX-A
100 50
0 100
0
NAVG 100 50
0 100
0
NAVG
Figure 5.14: Total number of packets received (top) and ratio of nodes out of energy.
147
5.4.5 Topology
In this experiment we vary the transmission power to create networks with differ-
ent sizes and densities. With lower transmission power, nodes have few choices for
selecting the routing paths in shortest path tree, and the diameter, i.e., the maxi-
mum hop count of the network, will increase too. Fig. 5.15 shows the results of three
different transmission powers. We can see that with higher transmission power, we
can get better lexicographic rate assignment. This is due to the higher density of the
network. In high density network, there will be more nodes that are one hop away
from the sink. The size of subtrees rooted at these one hop nodes will be smaller,
compared with the subtrees of one hop nodes in low density network which has fewer
number of one hop nodes. Since the first hop nodes are usually the bottleneck nodes,
fewer nodes in the subtree implies higher share of the available energy thus resulting
in higher achievable rate.
0
2
4
6
8
10
12
0 20 40 60 80 100 120 140
Rat
e(pk
t/s)
-10 dBm-5 dBm0 dBm
Figure 5.15: Rate assignment in different network topology.
148
5.5 Summary
In this chapter we study the rate assignment problem for rechargeable sensor net-
works. We propose a centralized algorithm and a distributed algorithm for optimal
lexicographic rate assignment. The centralized algorithm computes the optimal rate
for each node along with determining the amount of flow on all links, while the dis-
tributed algorithm computes the optimal rate when the routing tree is pre-determined.
We prove the optimality of both centralized and distributed algorithms. To evaluate
the proposed distributed algorithm, we conduct experiments using a testbed with 158
sensor nodes under various scenarios. How to jointly compute the rates for all nodes
and the flows on each link distributedly is still an open problem.
149
CHAPTER 6
CONCLUSIONS
6.1 The Thesis
In this dissertation we propose techniques and structures that do not incur control
overhead for data aggregation in event-triggered networks. We first propose Data-
Aware Anycast (DAA), which is the first structure-free data aggregation protocol.
It achieves efficient data aggregation without explicit control messages by improving
spatial convergence and temporal convergence. The spatial convergence is achieved by
MAC layer anycast which forwards packets to one of the neighbors that have packets
for aggregation. The temporal convergence is achieved by Randomized Waiting (RW)
at the application layer at sources. The structure-free approach makes the design and
implementation simple since it does not maintain any structure, and performs close
to the optimal structure without incurring any structure control overhead.
To improve the scalability of the structure-free data aggregation, we propose ToD,
which guarantees that packets will be aggregated close to the sources if the maximum
event size is known. In ToD, two trees, F-Tree and S-Tree, are constructed such
that for any event smaller than the size of the maximum event, it will be fully cov-
ered by the F-Tree or S-Tree. Based on where packets originate from, nodes can
150
forward packets on one of the trees to achieve further aggregation. AFT further ex-
tends ToD by eliminating the requirement of maximum event size and still guarantees
early aggregation. AFT creates multi-level, overlapping clusters with exponentially
increasing cluster size at each level. Packets are forwarded to parent clusters based
on where they originate from. AFT guarantees that the distance between the sources
and where the packets are aggregated will be bounded by a constant factor of event
diameter, which is 2(1 +√
13).
ToD and AFT eliminate high structure maintenance overhead by using structure-
free data aggregation to avoid involving all nodes in the structure, thereby reducing
control messages. This shows that semi-structured approaches that only maintain a
structure for a small set of nodes can actually reduce the overall control overhead
while assuring scalability and performing close to the optimal structure approach.
In addition to conserving energy through data aggregation, we also study system
optimization for rechargeable sensor networks in data collection applications. We
design fair and high throughput rate assignment algorithms for rechargeable sensor
networks. We propose a centralized algorithm and a distributed algorithm for opti-
mal lexicographic rate assignment. The centralized algorithm computes the optimal
rate for each node along with determining the amount of flow on all links, while
the distributed algorithm computes the optimal rate when the routing tree is pre-
determined. We prove the optimality of both centralized and distributed algorithms.
To evaluate the proposed distributed algorithm, we conduct experiments on a sen-
sor network testbed under various scenarios. From the results of the experiments
we know that the rates computed by the distributed algorithm are highly dependent
on the routing tree. If a data collection tree that considers load balance is used,
151
the rates computed by the distributed algorithm can achieve higher throughput and
better fairness.
6.2 Future Work
Besides the works that have been done in this dissertation, here are two open
problems in related areas:
• Distributed Joint Computation of Routing and Rate Assignment:
Though the distributed algorithm we proposed computes the optimal lexico-
graphic rate assignment for fixed routes and unsplittable flows, jointly compu-
tation of the optimal rates for the nodes and the amount of flows on each link
in distributed fashion is still an open problem.
• Optimal Rate Assignment in Presence of Storage: With the advances
in NAND technology, the energy consumption for storing data in flash disk is
much smaller than the energy consumption for radio transmission. Therefore
storage can be exploited to boost the data collection rate when the battery level
and the energy recharging rate are low. How to optimize the rate assignment
in presence of storage is a quest worth investigating.
152
BIBLIOGRAPHY
[1] Center for Embedded Networked Sensing at UCLA. http://www.cens.ucla.edu.
[2] ExScal. http://www.cast.cse.ohio-state.edu/exscal/.
[3] Networked Infomechanical Systems. http://www.cens.ucla.edu .
[4] Stargate. http://platformx.sourceforge.net/home.html.
[5] TinyOS. http://www.tinyos.net.
[6] Noga Alon, Richard M. Karp, David Peleg, and Douglas West. A graphtheoretic game and its application to the k-server problem. In SIAM Journal ofComputing, volume 24, pages 78–100, February 1995.
[7] Argonne National Laboratory. Millimeter-Wave Radar Detection of Chemicals,Gases, and Radiation.http://www.anl.gov/techtransfer/pdf/Profile MMWave 9-16-04.pdf, 2007.
[8] A. Arora, P. Dutta, and S. Bapat. Line in the Sand: A Wireless SensorNetwork for Target Detection, Classification, and Tracking.OSU-CISRC-12/03-TR71, 2003.
[9] Anish Arora, Emre Ertin, Rajiv Ramnath, William Leal, and MikhailNesterenko. Kansei: A High-Fidelity Sensing Testbed. In IEEE InternetComputing, special issue on Large-Scale Sensor Networks, March 2006.
[10] Anish Arora and et al. ExScal: Elements of an Extreme Scale Wireless SensorNetwork. In Proceedings of the 11th IEEE International Conference onEmbedded and Real-Time Computing Systems and Applications (RTCSA),August 2005.
[11] Elizabeth M. Belding-Royer. Multi-Level Hierarchies for Scalable Ad HocRouting. Wireless Networks, 9(5):461–478, September 2003.
[12] Dimitri Bertsekas and Robert Gallagher. Data Networks. Prentice Hall, 1992.
153
[13] Michael Buettner, Gary V. Yee, Eric Anderson, and Richard Han. X-MAC: AShort Preamble MAC Protocol for Duty-Cycled Wireless Sensor Networks. InSenSys, pages 307–320, November 2006.
[14] Nirupama Bulusu, John Heidemann, and Deborah Estrin. GPS-less Low CostOutdoor Localization For Very Small Devices. In IEEE PersonalCommunications, Special Issue on ”Smart Spaces and Environments”,volume 7, October 2000.
[15] Anna Charny, David D. Clark, and Raj Jain. Congestion Control With ExplicitRate Indication. In IEEE International Conference on Communication,volume 3, pages 1954–1963, June 1995.
[16] Shigang Chen, Yuguang Fang, and Ye Xia. Lexicographic Maxmin Fairness forData Collection in Wireless Sensor Networks. In IEEE Transactions on MobileComputing, volume 6, pages 762–776, July 2007.
[17] Chipcon. CC1000. http://www.chipcon.com.
[18] Douglas S. J. De Couto, Daniel Aguayo, John Bicket, and Robert Morris. AHigh-Throughput Path Metric for Multi-Hop Wireless Routing. In MobiCom,pages 134–146, 2003.
[19] Razvan Cristescu, Baltasar Beferull-Lozano, and Martin Vetterli. On NetworkCorrelated Data Gathering. In Proceedings of the 23rd Annual JointConference of the IEEE Computer and Communications Societies, volume 4,pages 2571–2582, March 2004.
[20] Razvan Cristescu and Martin Vetterli. Power Efficient Gathering of CorrelatedData: Optimization, NP-Completeness and Heuristics. In Summaries ofMobiHoc 2003 posters, volume 7, pages 31–32, July 2003.
[21] Crossbow. Crossbow. http://www.xbow.com.
[22] Crossbow. Mica2. http://www.xbow.com.
[23] Benjamin J. Culpepper, Lan Dung, and Melody Moh. Design and Analysis ofHybrid Indirect Transmissions (HIT) for Data Gathering in Wireless MicroSensor Networks. In ACM SIGMOBILE Mobile Computing andCommunications Review, volume 8, pages 61–83, January 2004.
[24] Min Ding, Xiuzhen Cheng, and Guoliang Xue. Aggregation Tree Constructionin Sensor Networks. In Proceedings of the 58th IEEE Vehicular TechnologyConference, volume 4, pages 2168–2172, October 2003.
154
[25] Prabal Dutta, Jonathan Hui, Jaein Jeong, Sukun Kim, Cory Sharp, JayTaneja, Gilman Tolle, Kamin Whitehouse, and David Culler. Trio: Enablingsustainable and scalable outdoor wireless sensor network deployments. In The5th International Conference on Information Processing in Sensor Networks,pages 407–415, April 2006.
[26] Emre Ertin, Anish Arora, Rajiv Ramnath, Mikhail Nesterenko, Vinayak Naik,Sandip Bapat, Vinod Kulathumani, Mukundan Sridharan, Hongwei Zhang, andHui Cao. Kansei: A Testbed for Sensing at Scale. In Proceedings of the 4thSymposium on Information Processing in Sensor Networks (IPSN/SPOTStrack), 2006.
[27] Kai Wei Fan, Sha Liu, and Prasun Sinha. On the potential of Structure-freeData Aggregation in Sensor Networks. In INFOCOM, pages 1–12, April 2006.
[28] Kai-Wei Fan, Sha Liu, and Prasun Sinha. Scalable Data Aggregation forDynamic Events in Sensor Networks. In SenSys 2006, pages 181–194,November 2006.
[29] Qing Fang, Jie Gao, and Leonidas J. Guibas. Locating and Bypassing RoutingHoles in Sensor Networks. In Proceedings of INFOCOM, volume 4, pages2458–2468, March 2004.
[30] Raphael A. Finkel and Jon Louis Bentley. Quad Trees: A Data Structure forRetrieval on Composite Keys. Acta Informatica, 4:1–9, 1974.
[31] K. Gabriel and R. Sokal. A New Statistical Approach to Geographic VariationAnalysis. In Systematic Zoology, pages 259–278, 1969.
[32] Ashish Goel and Deborah Estrin. Simultaneous Optimization for ConcaveCosts: Single Sink Aggregation or Single Source Buy-at-Bulk. In Proceedings ofthe 14th Annual ACM-SIAM Symposium on Discrete Algorithms, pages499–505, 2003.
[33] John Heidemann, Fabio Silva, Chalermek Intanagonwiwat, Ramesh Govindan,Deborah Estrin, and Deepak Ganesan. Building Efficient Wireless SensorNetworks with Low-Level Naming. In Proceedings of the 18th ACM Symposiumon Operating Systems Principles, pages 146–159, October 2001.
[34] Wendi Heinzelman, Anantha Chandrakasan, and Hari Balakrishnan.Energy-Efficient Communication Protocol for Wireless Microsensor Networks.In Proceedings of the 33rd Annual Hawaii International Conference on SystemSciences, January 2000.
155
[35] Wendi Heinzelman, Anantha Chandrakasan, and Hari Balakrishnan. AnApplication-Specific Protocol Architecture for Wireless Microsensor Networks.In IEEE Transactions on Wireless Communications, volume 1, pages 660–670,October 2002.
[36] Y. Thomas Hou, Shivendra S. Panwar, and Henry H.-Y. Tzeng. OnGeneralized Max-Min Rate Allocation and Distributed Convergence Algorithmfor Packet Networks. In IEEE Transactions on Parallel and DistributedSystems, volume 15, pages 401–416, May 2004.
[37] J. Hsu, A. Kansal, J. Friedman, V. Raghunathan, and M. Srivastava. EnergyHarvesting Support for Sensor Network. In Proc. of IEEE IPSN Demo, 2005.
[38] Chalermek Intanagonwiwat, Deborah Estrin, and Ramesh Goviindan. Impactof Network Density on Data Aggregation in Wireless Sensor Networks. InTechnical Report 01-750, University of Southern California, November 2001.
[39] Chalermek Intanagonwiwat, Deborah Estrin, Ramesh Govindan, and JohnHeidemann. Impact of Network Density on Data Aggregation in WirelessSensor Networks. In Proceedings of 22nd International Conference onDistributed Computing Systems, pages 457–458, July 2002.
[40] Chalermek Intanagonwiwat, Ramesh Govindan, and Deborah Estrin. DirectedDiffusion: A Scalable and Robust Communication Paradigm for SensorNetworks. In Proceedings of the 6th Annual International Conference on MobileComputing and Networking, pages 56–67, August 2000.
[41] Chalermek Intanagonwiwat, Ramesh Govindan, Deborah Estrin, JohnHeidemann, and Fabio Silva. Directed Diffusion for Wireless SensorNetworking. In IEEE/ACM Transactions on Networking, volume 11, pages2–16, February 2003.
[42] S. Jain and S. R. Das. Exploiting Path Diversity in the Link Layer in WirelessAd Hoc Networks. In Sixth IEEE International Symposium on World ofWireless Mobile and Multimedia Networks, pages 22–30, June 2005.
[43] Lujun Jia, Guevara Noubir, Rajmohan Rajaraman, and Ravi Sundaram. GIST:Group-Independent Spanning Tree for Data Aggregation in Dense SensorNetworks. In International Conference on Distributed Computing in SensorSystems, pages 282–304, June 2006.
[44] Xiaofan Jiang, Joseph Polastre, , and David Culler. Perpetual environmentallypowered sensor networks. In The 4th International Conference on InformationProcessing in Sensor Networks, pages 463–468, April 2005.
156
[45] Aman Kansal, Jason Hsu, Sadaf Zahedi, and Mani B. Srivastava. PowerManagement in Energy Harvesting Sensor Networks. In ACM Transactions onEmbedded Computing Systems, volume 6, September 2007.
[46] Aman Kansal, Dunny Potter, and Mani B. Srivastava. Performance AwareTasking for Environmentally Powered Sensor Networks. In ACM SigMetrics,pages 223–234, June 2004.
[47] Aman Kansal and Mani B. Srivastava. An Environmental Energy HarvestingFramework for Sensor Networks. In Proceedings of the InternationalSymposium of Low Power Electronics and Design, pages 481–486, August 2003.
[48] Koushik Kar, Ananth Krishnamurthy, and Neeraj Jaggi. Dynamic NodeActivation in Networks of Rechargeable Sensors. In INFOCOM, volume 3,pages 1997–2007, March 2005.
[49] Brad Karp and H. T. Kung. GPSR: Greedy Perimeter Stateless Routing forWireless Networks. In Proceedings of ACM MOBICOM 2000, pages 243–254,August 2000.
[50] Bhaskar Krishnamachari, Deborah Estrin, and Stephan Wicker. The Impact ofData Aggregation in Wireless Sensor Networks. In Proceedings. 22ndInternational Conference on Distributed Computing Systems Workshops, pages575–578, July 2002.
[51] Stephanie Lindsey and Cauligi Raghavendra. PEGASIS: Power-EfficientGathering in Sensor Information Systems. In Proceedings of IEEE AerospaceConference, volume 3, pages 1125–1130, March 2002.
[52] Stephanie Lindsey, Cauligi Raghavendra, and Krishna M. Sivalingam. DataGathering Algorithms in Sensor Networks Using Energy Metrics. In IEEETransactions on Parallel and Distributed Systems, volume 13, pages 924–935,September 2002.
[53] Stephanie Lindsey, Cauligi S. Raghavendra, and Krishna M. Sivalingam. DataGathering in Sensor Networks using the Energy*Delay Metric. In Proceedings15th International Parallel and Distributed Processing Symposium, pages2001–2008, April 2001.
[54] Sha Liu, Kai-Wei Fan, and Prasun Sinha. CMAC: An Energy Efficient MACLayer Protocol Using Convergent Packet Forwarding for Wireless SensorNetworks. In SECON, June 2007.
[55] Gang Lu, Bhaskar Krishnamachari, and Cauligi S. Raghavendra. An AdaptiveEnergy-Efficient and Low-Latency MAC for Data Gathering in Wireless Sensor
157
Networks. In 18th International Parallel and Distributed Processing Symposium(IPDPS), 2004.
[56] Hong Luo, Jun Luo, and Yonghe Liu. Energy Efficient Routing with AdaptiveData Fusion in Sensor Networks. In Proceedings of the ThirdACM/SIGMOBILE Workshop on Foundations of Mobile Computing, pages80–88, August 2005.
[57] Samuel Madden, Michael J. Franklin, Joseph M. Hellerstein, and Wei Hong.TAG: a Tiny AGgregation Service for Ad-Hoc Sensor Networks. In Proceedingsof the 5th symposium on Operating systems design and implementation, pages131–146, December 2002.
[58] Samuel Madden, Robert Szewczyk, Michael J. Franklin, and David Culler.Supporting Aggregate Queries Over Ad-Hoc Wireless Sensor Networks. InProceedings of the 4th IEEE Workshop on Mobile Computing Systems andApplications, pages 49–58, June 2004.
[59] A. Mainwaring, R. Szewczyk, J. Anderson, and J. Polastre. Habitat Monitoringon Great Duck Island. http://www.greatduckisland.net.
[60] S. Meninger, J.O. Mur-Miranda, R. Amirtharajah, A. Chandrakasan, and J.H.Lang. Vibration-to-Electric Energy Conversion. IEEE Transactions on VLSISystems, 9(1):64–76, February 2001.
[61] David Moore, John Leonard, Daniela Rus, and Seth Teller. Robust DistributedNetwork Localization with Noisy Range Measurements. In Proceedings of 2ndACM Sensys, pages 50–61, November 2004.
[62] Vinayak Naik and Anish Arora. Harvest: A Reliable and Energy Efficient BulkData Collection Service for Large Scale Wireless Sensor Networks. InOSU-CISRC-4/06-TR37, 2006.
[63] Chulsung Park and Pai H. Chou. AmbiMax: Autonomous Energy HarvestingPlatform for Multi-Supply Wireless Sensor Nodes. In SECON, pages 168–177,September 2006.
[64] Sundeep Pattern, Bhaskar Krishnamachari, and Ramesh Govindan. TheImpact of Spatial Correlation on Routing with Compression in Wireless SensorNetworks. In Proceedings of the 3rd International Symposium on InformationProcessing in Sensor Networks, pages 28–35, April 2004.
[65] Joseph Polastre. Design and Implementation of Wireless Sensor Networks forHabitat Monitoring. Master’s Thesis, Spring 2003.
158
[66] Joseph Polastre, Jason Hill, and David Culler. Versatile Low Power MediaAccess for Wireless Sensor Networks. In SenSys, pages 95–107, November 2004.
[67] G. J. Pottie and W. J. Kaiser. Wireless Integrated Network Sensors. InCommunications of the ACM, volume 43, pages 51–58, May 2000.
[68] V. Raghunathana, A. Kansal, J. Hsu, J. Friedman, and Mani Srivastava.Design Considerations for Solar Energy Harvesting Wireless EmbeddedSystems. In Proc. of IPSN (SPOT Track), pages 457–462, April 2005.
[69] Mahammad Rahimi, Hardik Shah, Gaurav S. Sukhatime, John Heideman, andDeborah Estrin. Studying the Feasibility of Energy Harvesting in a MobileSensor Network. In IEEE International Conference on Robotics andAutomation, volume 1, pages 19–24, September 2003.
[70] Sumit Rangwala, Ramakrishna Gummadi, Ramesh Govindan, andKonstantinos Psounis. Interference-Aware Fair Rate Control in Wireless SensorNetworks. In SIGCOMM, volume 36, pages 63–74, October 2006.
[71] Sylvia Ratnasamy, Brad Karp, Scott Shenker, Deborah Estrin, RameshGovindan, Li Yin, and Fang Yu. Data-Centric Storage in Sensornets withGHT, a Geographic Hash Table. volume 8, pages 427–442, August 2003.
[72] M. P. Release. MicroStrain wins Navy contract for self powered wireless sensornetworks, 2003.
[73] Hussein F. Salama, Douglas S. Reeves, and Yannis Viniotis. Evaluation ofMulticast Routing Algorithms for Real-time Communication on High-speedNetworks. In IEEE Journal on Selected Area in Communications, volume 15,pages 332–345, April 1997.
[74] Anna Scaglione. Routing and Data Compression in Sensor Networks:Stochastic Models for Sensor Data that Guarantee Scalability. In Proceedings ofIEEE International Symposium on Information Theory, page 174, June 2003.
[75] Anna Scaglione and Sergio D. Servetto. On the Interdependence of Routingand Data Compression in Multi-Hop Sensor Networks. In Proceedings of the8th Annual International Conference on Mobile Computing and Networking,pages 140–147, September 2002.
[76] Karim Seada, Marco Zuniga, Ahmed Helmy, and Bhaskar Krishnamachari.Energy-Efficient Forwarding Strategies for Geographic Routing in LossyWireless Sensor Networks. In SenSys, pages 108–121, 2004.
[77] Sental Corporation. Chemical/Bio Defense and Sensor Networks.http://www.sentel.com/html/chemicalbio.html, 2007.
159
[78] I. Stark. Thermal Energy Harvesting with Thermo Life. In Proc. of theInternational Workshop on Wearable and Implantable Body Sensor Networks(BSN), April 2006.
[79] Tijs van Dam and Koen Langendoen. An Adaptive Energy-Efficient MACProtocol for Wireless Sensor Networks. In Proceedings of the 1st InternationalConference on Embedded Networked Sensor Systems, November 2003.
[80] Christopher M. Vigorito, Deepak Ganesan, and Andrew G. Barto. AdaptiveControl of Duty Cycling in Energy-Harvesting Wireless Sensor Networks. InThe 4th Annual IEEE Communications Society Conference on Sensor, Mesh,and Ad Hoc Communications and Networks, pages 21–30, June 2007.
[81] Thiemo Voigt, Hartmut Ritter, and Jochen Schiller. Utilizing Solar Power inWireless Sensor Networks. In Proceedings of the 28th Annual IEEEInternational Conference on Local Computer Networks, pages 416–422, October2003.
[82] J.L. Wong, R. Jafari, and M. Potkonjak. Gateway placement for latency andenergy efficient data aggregation. In 29th Annual IEEE InternationalConference on Local Computer Networks, pages 490–497, November 2004.
[83] Alec Woo, Terence Tong, and David Culler. Taming the Underlying Challengesof Reliable Multihop Routing in Sensor Networks. In SenSys, pages 14–27,November 2003.
[84] Wei Ye, John Heidemann, and Deborah Estrin. An Energy-Efficient MACProtocol for Wireless Sensor Networks. In INFOCOM, volume 3, pages1567–1576, June 2002.
[85] Liyang Yu, Neng Wang, and Xiaoqiao Meng. Real-time Forest Fire Detectionwith Wireless Sensor Networks. International Conference on WirelessCommunications, Networking and Mobile Computin, 2:1214–1217, September2005.
[86] Pei Zhang, Christopher M. Sadler, Stephen A. Lyon, and Margaret Martonosi.Hardware Design Experiences in ZebraNet. In Proceedings of the 2ndInternational Conference on Embedded Networked Sensor Systems, pages227–238, November 2004.
[87] Wensheng Zhang and Guohong Cao. DCTC: Dynamic Convoy Tree-basedCollaboration for Target Tracking in Sensor Networks. In IEEE Transactionson Wireless Communications, volume 3, pages 1689–1701, September 2004.
160
[88] Wensheng Zhang and Guohong Cao. Optimizing Tree Reconfiguration forMobile Target Tracking in Sensor Networks. In Proceedings of INFOCOM,volume 4, pages 2434–2445, March 2004.
[89] Liang Zhao, Xiang Hong, and Qilian Liang. Energy-Efficient Self-Organizationfor Wireless Sensor Networks: A Fully Distributed Approach. In Proceedings ofthe 47th Annual IEEE Global Telecommunications Conference, volume 5, pages2728–2732, November 2004.
[90] Michele Zorzi and Ramesh R. Rao. Geographic Random Forwarding (GeRaF)for Ad Hoc and Sensor Networks: Energy and Latency Performance. In IEEETransactions on Mobile Computing, volume 2, pages 349–365, October 2003.
[91] Michele Zorzi and Ramesh R. Rao. Geographic Random Forwarding (GeRaF)for Ad Hoc and Sensor Networks: Multihop Performance. In IEEETransactions on Mobile Computing, volume 2, pages 337–348, October 2003.
161