towards perpetual operation in renewable...
TRANSCRIPT
TOWARDS PERPETUAL OPERATION IN RENEWABLEENERGY BASED 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
Ren-Shiou Liu, BS/MS
Graduate Program in Computer Science and Engineering
The Ohio State University
2010
Dissertation Committee:
Dr. Prasun Sinha, Advisor
Dr. C. Emre Koksal
Dr. David Lee
c© Copyright by
Ren-Shiou Liu
2010
ABSTRACT
Recent development in sensor platforms enables sensors to harvest various forms
of renewable energy from the environment, such as solar, wind, thermal, and vibra-
tion. Although this provides sensors extended lifetime, time varying and dissimilar
recharging rates of sensor nodes pose new challenges. To ensure no sensor ever runs
out of energy, routing paths and data collection rates must adapt to the recharging
capabilities of the sensors. Prior works on routing and data collection in sensor net-
works have focused on static resources. Thus, they can not be applied here. The
goal of this dissertation is to design techniques and protocols that enable everlasting
operation for rechargeable sensor networks.
In this dissertation, we first propose an adaptive data collection framework that
optimizes the network utility by computing a proportionally fair rate assignment un-
der the presence of renewable energy resources. The framework consists of three
algorithms. The first algorithm, called QuickFix, allows the sensor nodes to quickly
adapt their sampling rates and routing paths according to their short term average
replenishment rates within an epoch when the underlying routing structure is a given
DAG. To handle variations in recharging rates within an epoch, a localized energy
management algorithm, called SnapIt, is adopted. The SnapIt algorithm dynami-
cally adjusts the sampling rates computed by the QuickFix algorithm so that sensor’s
ii
battery can be maintained at a target level, which ensures the perpetual operation
of the network. To further handle the cases in which the underlying DAG routing
structure is unknown, we propose a heuristic algorithm that can construct an ap-
proximately load-balanced DAG and dynamically configure the DAG to achieve high
network utility.
Since maxmin fairness is also widely used in the literature and requires a different
solution approach, we further explore the problem of computing a maxmin fair rate
assignment and the associated routing paths in rechargeable sensor networks. We first
show that constructing a data collection tree with the highest optimal maxmin fair
rate assignment is NP-hard. Then, we propose a fast distributed algorithm that can
jointly compute a near optimal maxmin rate assignment and the associated routing
paths when the detailed recharging profile is known. We conduct large scale simu-
lations with real solar radiation measurements from the National Renewable Energy
Laboratory. The results show that our algorithm is close to the optimum.
Besides data collection, data dissemination is also an important feature of sensor
networks as software may require an update to address unforeseen challenges imposed
by the environment or the introduction of new user requirements. However, data
dissemination can be a difficult task in perpetual sensor networks because the battery
levels of sensor nodes could be low after operating for a long period of time and
sensor’s recharging capability is extremely dynamic. Since none of the existing data
dissemination protocols consider sensors’ recharging capability, they can either fail to
deliver the data reliably or incur a high latency. To address this problem, we propose
a new data dissemination protocol that is aware of the latency incurred by both
iii
recharging and interference. Using extensive simulations, we show that the proposed
protocol can achieve lower latency when the recharging rates of the sensors are low.
iv
To my family.
v
ACKNOWLEDGMENTS
I would like to express my sincere gratitude to my advisor, Dr. Prasun Sinha. It
is him who led me to the world of sensor networks and gave me countless insightful
suggestions for my research works. I would not have done serious research without
his guidance. I especially appreciate that Dr. Sinha always patiently points out the
mistakes I made. His professional and scrupulous attitude toward research is critical
for me to learn in the future.
It is my honor to work with Dr. C. Emre Koksal in one of my research work.
I would like to express my sincere gratitude to him for giving me many insightful
suggestions that opened my mind. I would also like to express my gratitude to Dr.
David Lee, Dr. Ness Shroff, Dr. Ten H. Lai, and Dr. Mikhail Belkin, who provided
many valuable comments for my dissertation and candidacy proposal.
Completing Ph.D. is not easy. In the past five years, I have been through a lot of
difficult times in research and suffered from heavy teaching duties. It was my parents,
Dr. Hsi-Chi Liu and Su-Hsiang Cheng, my sister, Yuhnpin Liu, and particularly my
wife, Chiu-Hua Wang, who encouraged me and guided me through those moments
when I felt deeply depressed. I would like to thank them for being so supportive and
forgiving on my inability to be with them during the past few years.
I would also like to express my gratitude to my colleagues, Kai-Wei Fan, Sha Liu,
Zizhan Zheng, Tarun Bansal, Zhixue Lu, Dong Li and Daeyoung Choi for giving me
vi
many valuable comments and suggestions on my research. Special thanks must be
expressed to Kai-Wei Fan, who provided enormous help and ideas for my research.
Lastly, I would like to thank my friends, Meng-Pai Hung, Eddy Huang, Wei-Ting
Yen, Carrie Li, Zhimin Yang and many others who helped me in both study and life
here in OSU.
vii
VITA
1976 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Born - Hualien, Taiwan
1998 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.S.Computer Science & Information Engi-neering,National Chiao Tung University
2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M.S.Computer Science & Information Engi-neering,National Chiao Tung University
2005-present . . . . . . . . . . . . . . . . . . . . . . . . . . Graduate Teaching Associate,The Ohio State University
PUBLICATIONS
Ren-Shiou Liu, Prasun Sinha and Emre Can Koskal, “Joint Energy Management andResource Allocation in Rechargeable Sensor Networks”, In Proc. of IEEE INFOCOM,San Diego, Mar. 2010.
Ren-Shiou Liu, Prasun Sinha and Emre Can Koskal, “Towards Perpetual Opera-tion in Rechargeable Sensor Networks”. IEEE Transaction on Networking, Undersubmission,2010.
Ren-Shiou Liu, Kai-Wei Fan and Prasun Sinha, “Perpetual and Fair Data Collec-tion for Environmental Energy Harvesting Sensor Networks”, IEEE Transaction onNetworking, Under submission,2010.
viii
Ren-Shiou Liu and Prasun Sinha, “Distributed Routing and Rate Control for Per-petual Operation in Rechargeable Sensor Networks”, Technical Report, OSU-CISRC-10/09-TR58, 2009.
Ren-Shiou Liu, Kai-Wei Fan and Prasun Sinha, “ClearBurst: Burst Scheduling forContention-Free Transmissions in Sensor Networks”, In Proc. of IEEE WCNC, LasVegas, pp 1899–1904, Apr. 2008.
Ren-Shiou Liu, Kai-Wei Fan and Prasun Sinha, “Locally Scheduled Packet Burst-ing for Data Collection in Wireless Sensor Networks”, Elsevier Ad Hoc Networks(ADHOC), vol. 7, 2009.
Ren-Shiou Liu, Li-Feng Sang and Prasun Sinha, “Boundary Detection For SensorNetworks”, Book chapter of Wireless Sensor Networks and Applications, 2005.
Chien-Chao Tseng, Gwo-Chuan Lee and Ren-Shiou Liu. “HMRSVP: A HierarchicalMobile RSVP Protocol”. ACM/Baltzer Wireless Networks, Vol. 9, No. 2, pp. 95-102,2003.
Hoa-Ran Ni, Bor-Gun Chen, Ren-Shiou Liu, Min-Feng Chang and Chien-Chao Tseng,“Two-tier Architecture and Prrotocol for GSM/Wireless LAN Data Network”, Work-shop on Distributed System Technologies and Applications, 1999.
Ren-Shiou Liu, Bor-Gun Chen, and Chien-Chao Tseng, “Integration of Mobile IPand RSVP”, Workshop on Internet and Distributed Systems, 2000.
FIELDS OF STUDY
Major Field: Compute Science and Engineering
Studies in:
Computer Networking Prof. Prasun SinhaProf. Emre Can KoskalProf. David Lee
Operations Research Prof. Marc E. PosnerStatistical Theory Prof. Douglas A. Wolfe
ix
TABLE OF CONTENTS
Page
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
Dedication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
Vita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
Chapters:
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.4 Organization of the Dissertation . . . . . . . . . . . . . . . . . . . 10
2. Network Utility Optimization . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2 Related Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.1 Rate Control and Routing . . . . . . . . . . . . . . . . . . 132.2.2 Perpetual Operation with Duty-Cycling . . . . . . . . . . . 142.2.3 Coverage in Rechargeable Networks . . . . . . . . . . . . . 152.2.4 Dual Decomposition Technique . . . . . . . . . . . . . . . . 16
2.3 Network Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.4 A Cross-Layer Design for Dynamic Resource Allocation . . . . . . . 20
x
2.4.1 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . 202.4.2 A Dual Decomposition Framework . . . . . . . . . . . . . . 222.4.3 The QuickFix Algorithm . . . . . . . . . . . . . . . . . . . . 25
2.5 SnapIt: A Localized Energy Management Algorithm . . . . . . . . 322.6 The DAG Construction Algorithm . . . . . . . . . . . . . . . . . . 332.7 Evaluation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.7.1 QuickFix, SnapIt and Instantaneous Optimum . . . . . . . 422.7.2 QuickFix/SnapIt v.s. Backpressure-based Protocol . . . . . 432.7.3 Effect of Different δ . . . . . . . . . . . . . . . . . . . . . . 472.7.4 Impact of Routing Structures on Network Utility . . . . . . 52
2.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3. Maxmin Fair Rate Allocation and Route Computation . . . . . . . . . . 61
3.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.2 Related Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.3 Network Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643.4 Distributed Maxmin Fair Rate Allocation and Route Computation
for Arbitrary Network Topologies . . . . . . . . . . . . . . . . . . . 653.4.1 Initial Rate and Route Compuatation . . . . . . . . . . . . 683.4.2 Flow Adjustment . . . . . . . . . . . . . . . . . . . . . . . . 733.4.3 DAG Augmentation . . . . . . . . . . . . . . . . . . . . . . 803.4.4 The DLEX-DAG Algorithm . . . . . . . . . . . . . . . . . 81
3.5 Evaluation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 863.5.1 The Impact of Recharging Profiles . . . . . . . . . . . . . . 873.5.2 The Impact of Node Density . . . . . . . . . . . . . . . . . 873.5.3 Protocol Overheads . . . . . . . . . . . . . . . . . . . . . . 873.5.4 The Impact of Initial Routing Structure . . . . . . . . . . . 90
3.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4. Latency Aware Data Dissemination . . . . . . . . . . . . . . . . . . . . . 94
4.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944.2 Related Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.2.1 Epidemic Protocols . . . . . . . . . . . . . . . . . . . . . . . 964.2.2 Tree-based Protocols . . . . . . . . . . . . . . . . . . . . . . 98
4.3 Network Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994.4 Latency Aware Data Dissemination Protocol . . . . . . . . . . . . . 100
4.4.1 Minimum Latency Tree Construction . . . . . . . . . . . . 1014.4.2 Slot size estimation . . . . . . . . . . . . . . . . . . . . . . 1044.4.3 Data Dissemination with Adaptive Sleeping . . . . . . . . . 1054.4.4 Implementation Issues . . . . . . . . . . . . . . . . . . . . . 106
xi
4.5 Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . . . 1094.5.1 Experiment Results . . . . . . . . . . . . . . . . . . . . . . 1104.5.2 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . 1104.5.3 Impact of node density . . . . . . . . . . . . . . . . . . . . . 1114.5.4 Impact of object size . . . . . . . . . . . . . . . . . . . . . . 1134.5.5 Impact of Granularity of Recharging Profile . . . . . . . . . 1174.5.6 Impact of Battery Levels . . . . . . . . . . . . . . . . . . . . 118
4.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5. Conclusion and Future Work . . . . . . . . . . . . . . . . . . . . . . . . . 121
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
xii
LIST OF TABLES
Table Page
2.1 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.1 Variables used in the UpdateRate algorithm. . . . . . . . . . . . . . . 72
4.1 Power consumption of TelosB [76] . . . . . . . . . . . . . . . . . . . . 111
xiii
LIST OF FIGURES
Figure Page
2.1 Example of a DAG network: All paths between node k and node b areshown. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 The master dual problem corresponds to (2.6). The secondary upperlevel subproblems correspond to (2.8) and the secondary lower levelsubproblem corresponds to (2.9) . . . . . . . . . . . . . . . . . . . . . 25
2.3 The mapping between each optimization problem and its correspondingnetworking layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4 The convergence time comparison between QuickFix and the standarddual-based algorithm that is derived from the standard node-centricflow balance formulation. . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery =0.15%). Our algorithm attains similar utility and sum of rates as theoptimum while significantly reducing the battery downtime. . . . . . 44
2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery =99%). Our algorithms attain similar utility and sum of rates as opti-mum while significantly reducing the time for which battery is full. . 45
2.7 A comparison of QuickFix with/without SnapIt and the instantaneousoptimum with initial battery level set to 1/3 of the full capacity. . . . 46
2.8 A comparison of network utility and sum of the data rates of QuickFixand IFRC using a sunny day recharging profile. . . . . . . . . . . . . 48
2.9 A comparison of network utility and sum of the data rates of QuickFixand IFRC using a cloudy day recharging profile. . . . . . . . . . . . . 49
xiv
2.10 A comparison of network utility (a) and sum rates (b) when δ = 0.1×ri,δ = 0.5 × ri, and δ = ri (network size is 67 nodes). High values of δ
can cause significant fluctuations in both network utility and sum rates. 50
2.11 A comparison of and battery levels when δ = 0.1 × ri, δ = 0.5 × ri,and δ = ri (network size is 67 nodes). High values of δ can cause rapidfluctuations in battery levels that could lead to an increased downtime. 51
2.12 Node density = 100 nodes80m2 . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.13 Node density = 100 nodes100m2 . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.14 Node density = 100 nodes120m2 . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.15 Network utility measured at the sink on Feb 1st 2009 (sunny day).Figures 2.15(a) and 2.15(b) are shown in separate graphs for clarity. . 56
2.16 Sum of the data rates measured at the sink on Feb 1st 2009 (sunnyday). Figures 2.16(a) and 2.16(b) are shown in separate graphs forclarity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.17 Network utility measured at the sink on Feb. 2nd 2009 (cloudy day).Figures 2.17(a) and 2.17(b) are shown in separate graphs for clarity . 58
2.18 Sum of the data rates measured at the sink on Feb. 2nd 2009 (cloudyday). Figures 2.18(a) and 2.18(b) are shown in separate graphs forclarity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.1 Using a DAG is better than using a tree. In this example, we assumethe sensors do not have batteries and operate solely on the harvestedambient energy. The recharging rates of sensors are assumed to be3 units per second. The energy cost for TX is 1 unit and the otheroperations do not consume any energy. . . . . . . . . . . . . . . . . . 63
3.2 An illustration of the reduction from the partition problem. . . . . . . 65
xv
3.3 Distributed initial rate computation for a network with four nodes.The numbers on the links represents the indices of the table entriesthat are transmitted (note that only items in gray color are actuallytransmitted). The table beside each node shows the data structuremaintained by that node for rate computation. Each table containsfour fields, which include the node ID, rmax, r and R. The R field istrue if the corresponding node is in the restricted set. The items ingray color are actually transmitted in the control packet. . . . . . . . 70
3.4 An illustration of the cases in which rate adjustment is possible. Eachdashed black arrow in the figures can be either a link or a path. . . . 73
3.5 An example of flow adjustment. . . . . . . . . . . . . . . . . . . . . . 77
3.6 Illustration of DFS in the network. Each arrow is either a link or a path. 78
3.7 An example of DAG augmentation. . . . . . . . . . . . . . . . . . . . 82
3.8 An example of DLEX-DAG algorithm (step 1-3). The numbers inparenthesis represent the amount of traffic on each link. . . . . . . . . 84
3.9 An example of DLEX-DAG algorithm (step 4-7). The flow adjustmentcan continue until no improvement is possible or some stopping criteriais met. Similar to the previous figure, the numbers in parenthesisrepresent the amount of traffic on each link. . . . . . . . . . . . . . . 85
3.10 Impact of profile variations . . . . . . . . . . . . . . . . . . . . . . . . 88
3.11 Impact of node density . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.12 Ovearheads of the DLEX-DAG algorithm . . . . . . . . . . . . . . . . 91
3.13 Impact of node density . . . . . . . . . . . . . . . . . . . . . . . . . . 92
xvi
4.1 An example case that shows the deficiency of existing data dissemi-nation protocols in rechargeable sensor networks. In this example, weignore interference and collisions. The recharging rates of node i, j
and k are 2, 1 and 1 unit(s) per second. The object consists 5 pagesand it takes 1 unit of energy to transmit and receive each page. Ifthe tree in Figure 4.1(b) is used, it takes 10 seconds to finish the datadissemination. However, if the tree in Figure 4.1(c) is used, it onlytakes 5 seconds as node i has a higher recharging rate. . . . . . . . . 97
4.2 An illustration of how the data object is partitioned in to groups. Eachsmall rectangle in the figure represents a page and each group contains5 continuous pages. Since the data object consists of 33 pages, thereare 6 groups in total and the last group contains only 3 pages. . . . . 101
4.3 Completion time of LADP, Deluge-N and Deluge-E on Motelab testbed.111
4.4 Latency of LADP, Deluge-N and Deluge-E with varying node density 113
4.5 Downtime of Deluge-N with varying node density . . . . . . . . . . . 113
4.6 Downtime of Deluge-E with varying node density . . . . . . . . . . . 114
4.7 Downtime of LADP with varying node density . . . . . . . . . . . . . 114
4.8 Latency of LADP, Deluge-N and Deluge-E with varying object size . 115
4.9 Downtime of Deluge-N with varying object size . . . . . . . . . . . . 116
4.10 Downtime of Deluge-E with varying object size . . . . . . . . . . . . 116
4.11 Downtime of LADP with varying object size . . . . . . . . . . . . . . 117
4.12 Latency of LADP with varying granularity of the recharging profile . 118
4.13 Impact of battery levels . . . . . . . . . . . . . . . . . . . . . . . . . 119
xvii
CHAPTER 1
Introduction
1.1 Background
Wireless sensor networks are increasingly being deployed for various monitoring
applications such as habitat monitoring [4, 98], structural health monitoring [96,
44], earthquake monitoring [58] and glacial movement monitoring [60]. Due to the
harshness of the environment, which is typical in such applications, replacing batteries
and deploying new sensors are both expensive operations. In recent years, the use of
various forms of renewable energy sources such as solar [33, 79], wind [72], thermal
[90], and vibration [82, 61], have been shown effective for such applications. In the
following sections, we first provide an overview of various types of ambient energy,
their applications and recent developments in sensor networks. Then, we discuss the
challenges in renewable energy based sensor networks and the contributions of this
dissertation.
• Wind Energy: Autonomous sensor nodes with wind energy harvesting capa-
bility have been used in many applications, such as precision agriculture [64]
and monitoring weather conditions in wildland environments [30]. Based on
1
the design of the energy harvesting device, the amount of wind energy that can
be harvested ranges from a few microwatts to 500 milliwatts. The authors of
[6, 68] demonstrated a platform for recharging the batteries using wind flows.
The proposed system utilizes the motion of an anemometer shaft to turn a com-
pact alternator. At high wind speeds, the system can output a maximum power
of 651 µW . At lower, more common wind speeds, the output power ranges from
5 − 80 µW . Instead of using an anemometer, the authors of [77, 78] proposed
to use a piezoelectric windmill. The piezoelectric windmill converts air current
into electrical energy by vibrating piezoelectric benders. In the experiments,
the authors found the maximum output power of the piezoelectric windmill is
7.5 mW at a wind speed of 10 mph. AmbiMax [72] is an autonomous energy
harvesting sensor platform that can collect environmental energy from multiple
sources, which include the sun and the wind. Although the focus of [72] is im-
proving energy harvesting efficiency, the authors reported that its wind turbine
can output a maximum power of 500 mW . Similar to [72], the authors of [64]
also used a wind turbine to harvest wind energy. The authors reported that
their wind turbine can output 50 mW at wind speed of 5 m/s and 400 mW
under a wind speed of 7 m/s.
• Thermal Energy: The continuous miniaturization and reduction of power
consumption in modern electronic devices has enabled the use of wireless body
sensor networks (BSN) [97, 83]. BSNs are useful for measuring and monitoring
physiological conditions. For example, PPG industries uses a BSN system called
BodyMedia SenseWear to monitor the activity level and energy expenditure
trends of their shift workers. The data obtained were used to reduce job-related
2
fatigue and improve the ergonomic design of equipment [83]. As human body
continuously generates heat, thermal energy is a convenient energy source for
recharging wearable body sensors. However, the energy released by the surface
of a human body varies with the amount of muscle activities. According the the
data reported in [89], the energy released by an adult can range from 46 W/m2
(while sleeping) to 550 W/m2 (while exercising).
The authors of [48, 71] developed a micro thermoelectric generator (TG) that
can power wristwatches. The maximum power can be generated in stationary
conditions is reported to be 22.5 µW . The authors of [89] developed a ther-
moelectric converter called ThermoLife. ThermoLife is designed for powering
low-current biosensor electronics when in contact with the skin. The reported
output power ranges from 10µW to 100µW . The authors of [20] proposed a
thermoelectric generator that can power a short range communication system
using the heat of a hand or water, but only output voltage is reported.
Since the harvested energy depends on the temperature gradient, thermal en-
ergy is usually irregular, random and discontinuous. For example, the power
available would vary as a person walked from an indoor, heated environment
to a cold winter day outdoors. If steady thermal energy is required, micro TGs
can be used together with plutonium 238 to create nuclear cells. The radiation
produced by Pu-238 bombards the walls of its container, producing heat that a
TG then convert to an electrical current. Nuclear cells are often used to power
implantable medical devices, such as pacemakers and drug pumps [95].
Besides powering wearable sensors, thermoelectric generator of larger size can
also be used to recharge the batteries of statically deployed sensor nodes or
3
provide power for larger electronic devices. In [86], Sodano et al. studied the
performance of thermoelectric generators in a passive configuration, i.e. only
conduction is used to remove heat from the TG. The maximum output power
of the TG used in [86] can be as high as 40 mW when it is placed on a 200oC
surface. Furthermore, the authors show that such a TG can charge 300mAh
batteries faster than using solar and vibration energy (3.5 minutes v.s. 17.3
minutes) due to its large current output. The authors of [25] investigated the
use of TG to power sensors on UAVs. The TG is mounted on the exhaust
system of an internal combustion engine and is able to generate 380 mW of
power.
• Vibration Energy Vibration is an ideal energy source for structural health
monitoring and environmental monitoring sensor networks. MicroStrain de-
veloped a self-powered sensor to monitor the health of the rotating structural
components of helicopters [62]. The sensor is installed on the pitch link. Piezo-
electric materials can convert cyclic strains of pitch link operation into power
for the microelectronics. The measurement data can be transmitted using a
802.15.4 transceiver. The authors of [37] demonstrated the feasibility of power-
ing sensors using vibration-powered electromagnetic generator. The sensor uses
a low-power accelerometer for remote monitoring the conditions of machinery.
The energy harvested can support transmitting the maximum resolution of the
accelerometer using an infrared connection. The authors of [53] developed a
self-powered wireless sensor for monitoring indoor environments. The sensor is
powered by piezoelectric material and is mounted on wooden staircases. The
sensor reports temperature readings to a remote computer to facilitate more
4
efficient use of energy for climate control. The authors of [59] developed a self-
powered sensor node which is capable of scavenging energy from the oil pump.
The sensor regularly monitors the conditions of the pump and transmits the
data to a remote receiver. The study shows that the sensor successfully op-
erated four months and 8000 data files were captured by the sensor. Besides
structural health monitoring and environmental monitoring applications, vi-
bration energy can also be applied in BSNs. The authors of [75, 74] developed
a piezoelectric energy powered sensor that can be used in the total knee re-
placement unit. The sensor is capable of sensing important phenomena such as
degradation and misalignment while the piezoelectric energy harvester provides
power to the sensor.
Vibration or mechanical movement can be converted to electrical power by three
different mechanisms. The three mechanisms are piezoelectric, electrostatic and
electromagnetic [12]. Piezoelectric materials draws the most attention due to its
ability of directly converting applied strain energy into useable electric energy
and it is also easy to integrate piezoelectric materials into a system [7] due to
its flexibility. The authors of [11] demonstrate the ability of micromachined vi-
brating structures to convert mechanical energy into electrical energy through a
piezoelectric plate. Quantitative results show that the structure has the poten-
tial of giving 0.5 µW of energy for 1.4 g acceleration at a low frequency (6 Hz).
In [63], a fiber-based piezoelectric material consisting of PZT fibers is devel-
oped. A maximum power output of 120 mW was obtained by using a 5.85mm
thick transducer with 15 µm diameter. The authors of [19] demonstrated a
5
robust strain energy harvesting system for wireless sensor network without bat-
teries. The authors use a composite material consisting of PZT fiber and resin
matrix and show that a maximum power of 7.5 mW can be obtained by using
a 0.38 mm thick sample of 130 mm length and 13 mm width under 180 Hz
vibration. The study of other piezoelectric materials can be found in [51, 52].
A comparison of different composite piezoelectric materials is presented in [85].
The author found that PZT fiber has the highest energy conversion efficiency.
Methods for improving the efficiency or output power by alternating the device
configurations can be found in [67, 57, 65, 46, 47, 8]. The reported output power
is up to 52 mW .
• Solar Energy: Comparing to other types of environmental energy sources,
solar power is relatively stable and more predictable. Therefore, solar powered
sensor platforms have drawn a lot of attention recently [21, 72, 54, 33, 79].
AmbiMax [72] is a super capacitor-based energy harvesting system for sensors.
AmbiMax is capable of tracking the maximum power point and charging the
battery with high efficiency. The modular design enables AmbiMax to collect
energy from multiple sources, such as the sun and the wind. Prometheus [38]
is a multi-stage solar-powered system that uses a super capacitor as a energy
buffer and a lithium rechargeable battery as a backup. When the super capac-
itor is exhausted, it switches to the lithium battery. On the contrary, if the
super capacitor is being charged by the environment, it also charges the lithium
battery. This provides extended lifetime to the sensors. Similar to Prometheus,
Heliomote [54] also uses a super capacitor and a rechargeable battery with max-
imum power point tracking. However, it provides a digital interface that allows
6
upper layer applications or protocols to obtain information about the status of
the super capacitor, the battery and the solar panel. Trio [21] is an integration
of the Telos, the eXtreme Scale Mote (XSM) [22] and the Prometheus platforms.
Since solar power is available in most outdoor environment, it has a wide range of
applications. Besides classical environmental monitoring, precision agriculture
and target tracking applications, solar powered sensor network can also be used
for traffic management. The authors of [29] developed a sensor network which is
deployed in Lisbon. Sensors are buried in the ground for detecting the presence
of public transport in the bus lane. When a bus is approaching, the sensors
send signals to a control station, which will turn on the traffic light to separate
the bus lane from other lanes. On the other hand, when the bus lane is empty,
traffic light will be turned off by the control system such that the bus lane can
be used for general traffic. Although the sensors are buried underground, their
batteries can be charged by pavement-embedded solar panels.
1.2 Challenges
With renewable energy sources, perpetual operation [24, 45] is a desired mode of
operation in which nodes adapt to the time-varying recharging conditions, so that no
sensor node ever runs out of energy. In order to achieve this goal, the use of harvested
energy must be carefully planned and this requires a redesign of many aspects of sensor
networks. However, this is not trivial as sensor’s recharging capability varies with the
environment. Take solar power for example, the factors that could effect sensor’s
recharging capability include the location, the angle of solar panel, the efficiency of
voltage regulator, the weather and the temperature, etc. Thus, many aspects of
7
sensor networks must be redesigned to consider the dynamics of recharging. In this
dissertation, we focus on rate control, routing and data dissemination in renewable
energy based sensor networks.
• Rate control and routing: The challenges in data collection are two-folds.
First, the initial battery levels and the expected future recharging rates of sensor
nodes must be jointly considered. Second, the computed rate assignment must
be fair. This problem is more challenging than the standard rate control and
resource allocation problems because we have energy conservation constraints
involving the replenishment rates. Since the energy conservation constraint is
time-varying, due to the time-varying nature of energy replenishment, this prob-
lem is dynamic, and thus, it has a different solution at each point in time. Thus,
a good solution must be generated in a short time. Nonetheless, the algorithms
designed for static resource allocation problems (e.g., [94, 14]) usually involve
a large number of iterations, each of which incurs a high overhead due to the
necessary message exchange between neighboring nodes. Therefore, they can
not be applied in the settings of our problem.
• Data dissemination: Data dissemination is also of particular importance in
rechargeable sensor networks because software will require an update to address
unforeseen challenges imposed by the environment or new user requirements in
their eternal lifetime. However, existing protocols for network reprogramming
and data dissemination [35, 50, 31, 66, 34] are based on a fixed battery lifetime,
which do not consider the spatial-temporal dynamics of recharging. Thus, they
can fail to complete the operation or perform inefficiently. For instance, in
Deluge [35], nodes with low battery levels and recharging rates can repeatedly
8
request for new data but fail to successfully save it and become hot-spots in the
network. The excessive traffic generated by hot-spot nodes not only consumes
extra energy at neighboring nodes, but also prolongs the latency of data dis-
semination. Moreover, when the data dissemination task is completed, sensor
nodes can end up with a low battery level, resulting in a low data collection
rate as well as a low duty cycle after the network resumes its operation.
1.3 Contributions
We make the following contributions in this dissertation:
• We propose a fast distributed algorithm which allows sensor nodes to quickly
adapt their sensing rates as well as routing paths to the dynamics of recharging
profiles such that the rate allocation is proportionally fair and the network
utility is maximized.
• We explore the problem of maxmin fair rate allocation in rechargeable sensor
networks. We first show that the problem of finding the data collection tree
with the highest maxmin rate assignment is NP-hard. Then, we develop a fast
distributed algorithm that can jointly compute a near-optimum maxmin fair rate
assignment and the associated routing paths for arbitrary network topologies.
• We propose the first data dissemination protocol designed for renewable en-
ergy based sensor networks. The protocol is aware of the latency incurred by
recharging as well as interference.
• We implement the proposed algorithms in TinyOS and conduct experiments
and extensive simulations to validate our proposed algorithms.
9
1.4 Organization of the Dissertation
The rest of this dissertation is organized as follows. In Chapter 2, we present a
framework that can maximize network utility. The framework consists of three algo-
rithms. The first algorithm is called Quickfix, which adapts sensor’s data collection
rates and routing paths over a given routing structure according to the recharging
profile. The second algorithm, SnapIt, operates on top of QuickFix to improve the
network utility further and maintain the battery at a target level. The third al-
gorithm dynamically configures the underlying routing structure to achieve an even
higher network utility. In Chapter 3, we address the problem of maxmin fair rate
allocation in rechargeable sensor networks. As most sensor networks use a data col-
lection tree to extract data from all the sensors in the network, we first study the
problem of finding the optimal tree whose maxmin rate assignment is the highest. We
show this problem is NP-hard. Next, we present a fast distributed algorithm, called
DLEX-DAG, that can generate a near-optimum maxmin fair rate assignment and the
associated routing structure. Chapter 4 presents a new data dissemination protocol
that can achieve low latency in rechargeable sensor networks. Lastly, we conclude
this dissertation and discuss future work in Chapter 5.
10
CHAPTER 2
Network Utility Optimization
2.1 Objective
The objective is to jointly compute the data collection rates and routing paths
for each sensor such that the network utility can be maximized and sensors’ battery
levels can be maintained above a certain target level. Maintaining sensor’s battery at
a target level will ensure perpetual operation of the network. Similar to the standard
rate control and network resource allocation problems (e.g. [94, 14]), we formulate the
problem as a constrained optimization problem. In our formulation, we have energy
conservation constraints involving the replenishment rates, along with the stan-
dard flow conservation and interference constraints. The fundamental difference
in our problem is that, our energy conservation constraint is time-varying, due to
the time-varying nature of energy replenishment, i.e., our problem is dynamic, and
thus, it has a different solution at each point in time. The standard implementations
of the dual decomposition method for resource allocation involves a large number of
iterations, each of which incurs a high overhead due to the necessary message ex-
change between neighboring nodes. In a static setting, the convergence time is less
of an issue, since the solution to the problem is fixed. However, with time-varying
11
replenishment rate, we have a time-varying resource allocation problem. Thus, a good
solution must be generated in a short time.
To that end, the first major question we answer in this chapter is, “how closely
can we track that optimal point by using distributed iterative algorithms to solve
the Lagrangian dual problem?” We show (in Section 2.4) that, in a network with an
arbitrary topology, the time scale of such solutions is too slow to follow the variations
in the replenishment rate for the optimal point to be tracked sufficiently closely. Con-
sequently, we focus on well-structured networks with an underlying directed acyclic
graph (DAG). We exploit the DAG structure to develop an efficient synchronous mes-
sage passing scheme, called QuickFix, motivated by the general solution structure
of dynamic programs. We show that the convergence time of QuickFix is sufficiently
small to track the optimal solution fairly closely. However, the maximum achievable
network utility and data collection rates can vary significantly when different DAGs
are used. Thus, it is important that a good DAG is constructed so that the network
utility can be maximized. In this chapter, we also address this problem by analyti-
cally studying the key properties of the optimal DAG(s). Based on our observations, a
mechanism for constructing a DAG that can support high network utility is proposed.
The second major question we address is, “how does the finiteness of the total
amount of energy storage in each node affect the performance of joint energy manage-
ment and resource allocation?” If one accounts for the finite batteries in the original
problem formulation, the solution involves complicated Markov decision processes,
which does not lead to a better understanding of the dynamics of the system. In-
stead, we use a simple adaptive localized algorithm, SnapIt, that operates above
QuickFix, to slightly modify the optimal sampling rate provided by QuickFix, based
12
on local battery states. We show that using SnapIt along with QuickFix has two im-
portant consequences. Firstly, the fraction of time for which a node is down reduces
significantly due to a complete battery discharge reduces significantly (to 0 in many
instances as shown in our evaluations). Secondly, due to the short response time of
SnapIt, the joint algorithm is capable of responding to the changes in replenishment
rate much more quickly. Hence, the overall network utility also increases with SnapIt.
2.2 Related Works
In this section, we first review protocols and algorithms designed for rechargeable
sensor networks. Then, we contrast our work with those that address static resource
allocation problem in wireless ad hoc networks.
2.2.1 Rate Control and Routing
In [92], The authors proposed two heuristic solutions. The first solution is a local-
ized protocol that allows the source node and exactly one intermediate node to devi-
ate from the shortest path and opportunistically forward packets to a solar-powered
neighboring node. On the other hand, the second solution, with the assistance of the
sink, chooses the shortest path with the minimum number of nodes that run solely
on the batteries. In another work [55], an online routing algorithm which seeks to
maximize the number of accepted flows is proposed. In contrast to these works, we
consider joint computation of a proportionally fair rate assignment and the associated
routing pahts with a different objective of perpetual operation.
Maxmin fair rate assignment and routing for perpetual data collection has been
studied in [24]. It extends the framework in [16], and presents both a centralized
and a distributed algorithm. The centralized algorithm is proven to give the optimal
13
maxmin fair rate assignment. However, it requires solving O(N2) LP subproblems,
where N is the total number of nodes in the network. The distributed algorithm,
on the other hand, only works when the routing paths are predetermined, and the
network is a tree rooted at the sink. Furthermore, the exact recharging profile for each
day must be known and the generated solution is sensitive to the initial battery levels
of sensor nodes and the starting time of the algorithm. In contrast, our proposed
solution only require very limited knowledge about the future recharging rates and it
can work on a more generalized structure than a tree. All of these factors result in a
more practical algorithm in comparison to that proposed in [24].
Other prior works on rate control in WSNs include [84, 93, 36, 80, 23, 88, 87].
Although some of these works [80, 23, 88] also aim to achieve fairness in WSNs,
none of them consider energy replenishment. In this chapter, we re-engineered IFRC
[80] to consider recharging capabilities of modern sensor platforms and use it as a
benchmark.
2.2.2 Perpetual Operation with Duty-Cycling
The problem of duty-cycling in energy-harvesting sensor networks is first explored
in [39, 91]. The authors of [39] define the concept of energy-neutral condition (which
leads to perpetual operation) as the status in which the energy consumption rate is
less than or equal to the energy harvesting rate. The daily hours are divided into time
slots and the authors are interested in maximizing the summation of the duty cycle
used in each time slot while maintaining the energy-neutral condition. To achieve
this goal, a prediction model is used to predict the energy levels in the future time
slots. Based on the predicted energy levels, the authors formulate the problem as a
14
linear optimization problem. An algorithm is presented to solve the problem without
using an LP solver. The general principle of the algorithm is to use the lowest possible
duty cycle when the energy-harvesting rate is lower than the energy consumption rate
when a node is active. To deal with the discrepancy between the predicted and the
measured energy levels, the algorithm compensates the harvested energy from future
time slots if the measured energy level is lower than the predicted one. Similarly,
if the perceived energy level is higher than the predicted, excessive energy is saved
for future use. In contrast to [39], the authors of [91] formulate the problem as a
linear-quadratic tracking problem and apply control theory to achieve energy-neutral
condition while maximizing task performance. Although we do not consider duty-
cycling in this dissertation, our algorithm enables sensor nodes to achieve perpetual
operation by adapting their rates and routes to the dynamics of recharging profiles.
2.2.3 Coverage in Rechargeable Networks
In [40], the authors consider node activation problem in a network redundantly
deployed with rechargeable sensors. The objective is to maximize the time average of
an utility function, which is defined as the log of the area covered by active sensors
per unit time. The authors first formulate the problem as a continuous-time Markov
decision problem for the case in which sensors have completely overlapping coverage
area. It analytically shows that there exists a simple threshold policy which can
achieve at least3
4th of the optimum utility. Through extensive simulations, it also
shows that the threshold policy can achieve near-optimal performance in more general
settings where the coverage area of each sensor could have partial overlap or no
15
overlap. Although this work is orthogonal to ours, our algorithm can be used to
compute the rate assignment and routing paths for the active sensors in the network.
2.2.4 Dual Decomposition Technique
The dual decomposition technique has been applied in many works to maximize
network utility [94, 14, 41]. In [94], the utility function is defined as the summation of
the log of the rate achieved by each flow in the network. However, in their formulation,
the route for each flow is fixed. The authors propose both a primal and a dual-
based algorithm. Both algorithms tune the transmission attempt probability of each
node to maximize the utility function. In contrast to [94], a general utility function
is considered in [14]. It also applies the dual decomposition technique to develop
a distributed algorithm. Although the algorithm addresses both rate assignment
and routing, the long convergence time make it inapplicable for rechargeable sensor
networks. Maxmin fairness of rate assignment problem in WSNs is studied in [41].
Their proposed algorithm is also based on the dual decomposition technique. In
their model, each sensor transmits with a certain probability. Thus, after Lagrangian
relaxation, the dual function is not concave. To overcome this problem, they convexify
their problem and apply the Gauss-Seidel method to solve the problem. Although all
the above approaches allow nodes in the network to self-tune certain parameters to
maximize network utility, none of them considers energy constraints, not to mention
recharging. In this chapter, we combined the dual decomposition technique with
dynamic programming and propose a novel signaling mechanism that not only allows
sensors to quickly adapt their rates and routes to the dynamics of recharging profiles,
but also can converge to the optimum in a short time.
16
2.3 Network Model
This section outlines the network model and the problem formulation. We con-
sider a static sensor network represented as G = (N,L), where N is the set of sensor
nodes including the sink node, s, and L is the set of directed links. We assume that
a DAG (directed acyclic graph) rooted at the sink is constructed over the network
for data collection. A mechanism for constructing a DAG that supports high net-
work utility will be explored in Section 2.6. For a given DAG routing structure, the
problem is formulated as a convex optimization problem. This formulation not only
provides clear system design guidelines but also allows us to design an efficient sig-
naling scheme. Before presenting the problem formulation, we introduce some of the
key notations used in this chapter. The notations and their corresponding semantics
are also listed in Table 2.1 for reference.
For each sensor node i ∈ N , Ai denotes its ancestors in the DAG, i.e., the nodes
that are on some path(s) from node i to the sink s. Conversely, Di denotes the
descendants. Also, Ci and Pi are the children and parent nodes of node i respectively.
The amount of energy consumed in sensing the environment at node i is represented
by λ(sn)i . We assume that the expected number of retransmissions over a long time
is known for each link. Thus, λ(tx)ij represents the average energy consumption for
delivering a packet over link (i, j) and λ(rx)i represents the energy cost for receiving a
packet at node i. These parameters are the energy costs of the system. In particular,
we consider slotted-time system. Since it is impractical to find an optimal solution for
every slot, we partition the time during a day into multiple intervals called epochs. The
length of each epoch is τ slots. We use πi(e) to represent the maximum sustainable
energy consumption rate of node i in epoch e. In the beginning of each epoch, we
17
Symbol Semantics
Di The set of descendants of node i
Ai The set of ascendants of node iCi The set of children nodes of node iPi The set of parent nodes of node iBi(t) Battery level of node i at time tMi Battery capacity of node iπi(e) Estimated maximum sustainable energy consumption rate
of node i in epoch eτ Epoch lengthri Sampling rate of node i
λ(sn)i Energy cost for sampling at node i
λ(tx)ij Average energy cost for TX over link (i, j)
λ(rx)i Energy cost for RX at node i
fij The amount of capacity allocated on link (i, j)wij The fractional amount of node i’s traffic that
passes link (i, j)zij(w) A function of w, that represents the fractional
amount of i’s traffic that passes jΠ The feasible region of link capacity variables fij
W The feasible region of routing variables wij
µi Lagrange multiplier for energy conservation constraintat node i
υi Lagrange multiplier for flow balance constraint at node iα The constant step size used in the subgradient method
Table 2.1: Notations
compute the maximum sustainable energy consumption rate for each node1 according
to its battery level, battery capacity and the estimated average recharging rate within
the epoch. Then, we seek to optimize the network utility according to the maximum
sustainable energy consumption rates of sensor nodes. Moreover, we define wij to
be the fractional outgoing traffic of node i that passes through a parent node j and
1Given an initial battery level, a battery capacity and a recharging profile, the maximum sustain-able energy consumption rate of a sensor node can be computed using the InitializeRate algorithmpresented in [24].
18
Figure 2.1: Example of a DAG network: All paths between node k and node b areshown.
zij(w) to be the fractional outgoing traffic of node i that passes through an ancestor
node j, where w is the vector of wij ∀i, j. Thus, wij = 0, ∀j /∈ Pi and zij(w) = 0,
∀j /∈ Ai. The recursive relation between the two variables is given below.
zij(w) =∑
k∈Pi
wikzkj(w) (2.1)
Figure 2.1 shows an example DAG network. For node i, Ai = {d, e, a, b, s}, Di =
{k, l,m}, Pi = {d, e}, and Ci = {k, l}. The fractional flows wij between nodes can be
computed recursively. Considering the flow from k to b, it can be written as follows:
zkb(w) =wkhzhb(w) + wkizib(w)
=wkh
(
whdzdb(w))
+ wki
(
widzdb(w) + wiezeb
)
=wkhwhdwdb + wkiwidwdb + wkiwieweb.
19
There are three paths for the flows as shown in the figure. These three paths corre-
spond to the three terms in the above expansion. We will later show that the recursive
formulation leads to an efficient dynamic programming based signaling mechanism
that allows sensor nodes to quickly adapt to the dynamics of their recharging rates.
2.4 A Cross-Layer Design for Dynamic Resource Allocation
In this section, we present a dual based cross-layer framework for distributed
computation of the rates and routes in each epoch.
2.4.1 Problem Formulation
We choose the utility function Ui(ri) for node i to be log(ri), where ri is the
sampling rate of node i. Our goal is to maximize the sum of the utility functions∑
Ui(ri) =∑
log ri, which is strictly concave. It has be shown that when maxi-
mizing the above utility function will result in a proportionally fair rate assignment
[43]. Thus, we formulate our problem as an optimization problem as shown below:
Pe: maxri,fij ,wij
∑
i
log(ri) s.t. (2.2)
πi(e) ≥ λ(sn)i ri +
∑
j∈Di
zji(w)λ(rx)i rj +
∑
j∈Pi
λ(tx)ij fij (2.3)
∑
j∈Pi
fij ≥ ri +∑
j∈Di
zji(w)rj (2.4)
ri ∈ R+, fij ∈ Π, wij ∈ W
20
The first and the second constraints are the energy conservation and flow balance
constraints, respectively. The energy conservation constraint ensures that the energy
consumption rate of each node does not exceed its maximum sustainable energy
consumption rate within an epoch. The flow balance constraint states that the sum
of allocated capacity for each outgoing link should be greater than the total amount of
traffic going through each node, including its own data. Besides these two constraints,
the amount of capacity allocated on each link must be in the feasible capacity region
Π.
The optimization presented above is convex. However, its convexity is not obvious
because both the energy conservation and flow balance constraints involve the product
of zji(w) and rj variables. In Theorem 2.4.1, we prove that Problem Pe is convex.
Theorem 2.4.1. Problem Pe is convex.
Proof. To show Problem Pe is a convex optimization problem, it is sufficient to show
that the energy conservation (2.3) constraint and the flow balance constraint (2.4)
are concave as the objective function log is strictly concave, and the feasible capacity
region Π is convex.
Let (r1, z(w1), f 1) and (r2, z(w2), f 2) be two feasible solutions to Problem Pe. De-
note gi(r, z(w), f) = πi(e)−λ(sn)i ri−λ
(rx)i
∑
j∈D(i)
zji(w)rj−∑
j∈P (i)
λ(tx)ij fij, and hi(r, z(w), f) =
∑
j∈P (i)
fij − ri −∑
j∈D(i)
zji(w)rj. For all 0 ≤ α ≤ 1, We have
21
gi(αr1 + (1− α)r2, αz(w1) + (1− α)z(w2), αf 1 + (1− α)f 2)
= πi(e)− λ(sn)i
[
αr1i + (1− α)r2
i
]
− λ(rx)i
∑
j∈D(i)
[
αzji(w1) + (1− α)zji(w
2)] [
αr1j + (1− α)r2
j
]
−∑
j∈P (i)
λ(tx)ij
(
αf 1ij + (1− α)f 2
ij
)
= αgi(r1,w1, f 1) + (1− α)gi(r
2,w2, f 2)
+ λ(rx)i
∑
j∈D(i)
[
1− αzji(w1)− (1− α)zji(w
2)]
αr1j
+ λ(rx)i
∑
j∈D(i)
[
1− αzji(w1)− (1− α)zji(w
2)]
(1− α)r2j
≥ αgi(r1, z(w1), f 1) + (1− α)gi(r
2, z(w2), f 2) (2.5)
The last inequality follows the fact that both zji(w1) and zji(w
2) are smaller than or
equal to 1, thus,
1− αzji(w1)− (1− α)zji(w
2) ≥ 1− α− (1− α) = 0
The proof for the flow balance constraint functions hi(r,w, f) is similar, therefore we
do not show it here.
2.4.2 A Dual Decomposition Framework
One can observe that Problem Pe is dynamic, since the energy conservation con-
straint involves the maximum sustainable energy consumption rate πi(e), which is
a function of the time-varying recharging profile. Thus, the the feasible region and
the optimum solution differ in each epoch. One can view this dynamic problem as a
sequence of static problems. Since Theorem 2.4.1 has shown the problem is convex,
22
a standard method to solve each static problem involves the application of the dual
decomposition and the subgradient methods. However, the implementation of these
solutions in the network involves a large overhead due to message exchange between
neighboring nodes. Consequently, the convergence time becomes an important issue.
To that end, we introduce QuickFix, which, in each iteration of the subgradient
method, exploits the special structure of DAG to form an efficient control message
exchange scheme. This scheme is motivated by the general solution structure of a
dynamic program. QuickFix is based on the hierarchical decomposition approach as
the starting point. By relaxing the energy conservation and flow balance constraints
in Problem Pe, we get the partial dual function q(µ, υ) as follows:
q(µ, υ) = maxri,fij ,wij
∑
i
log(ri)
+∑
i
µi
πi(e)− λ(sn)i ri −
∑
j:(i,j)∈Di
zji(w)λ(rx)i rj −
∑
j∈Pi
λ(tx)ij fij
+∑
i
υi
∑
j∈Pi
fij − ri −∑
j:(i,j)∈Di
zji(w)rj
s.t. ri ∈ R+, fij ∈ Π, wij ∈W
The dual problem is therefore:
minµi≥0,υi≥0
q(µ, υ) (2.6)
23
The master dual problem in (2.6) can be decomposed hierarchically [69, 70, 9]
as follows. The top level dual master problem is responsible for solving the dual
problem. We apply the subgradient optimization method [9, 10] to solve the master
dual problem, by iteratively updating the Lagrange Multipliers µi and υi at each node
using (2.7). The notation [.]+ means projection to the positive orphan of the real line
R.
µk+1i =
[
µki − α1
(
πi(e)− λ(sn)i ri
−∑
j∈Di
zji(w)λ(rx)i rj −
∑
j∈Pi
λ(tx)ij fij
)]+
υk+1i =
[
υki − α2
(
∑
j∈Pi
fij − ri −∑
j∈Di
zji(w)rj
)]+
(2.7)
Each time the Lagrange Multipliers are updated, a decomposition is performed to
further decompose the problem into two layers of subproblems. As shown in Equation
2.8, the upper level optimization problem is a joint routing and rate control problem
as it involves the rate allocation variables (ri) and the routing variables (wij).
∑
i∈N
maxri,wij
log(ri)− µi
(
λ(sn)i ri +
∑
j∈Di
zji(w)λ(rx)i rj
)
− υi
(
ri +∑
j∈Di
zji(w)rj
)
s.t. ri ∈ R+, wij ∈W (2.8)
24
Master Dual
Problem (2.6)
Secondary Upper
Level Problem in Eq. (2.8)
Secondary Upper
Level Problem in Eq. (2.8) !
Secondary Lower Level Problem in Eq. (2.9)
Figure 2.2: The master dual problem corresponds to (2.6). The secondary upperlevel subproblems correspond to (2.8) and the secondary lower level subproblem cor-responds to (2.9)
At the lower level, we have the optimization problem as shown in (2.9), which is a
scheduling problem because it involves the link capacity variables (fij).
maxfij
∑
(i,j)∈L
(υi − λ(tx)ij µi)fij
s.t. fij ∈ Π (2.9)
This multi-level decomposition is illustrated in Figure (2.2).
2.4.3 The QuickFix Algorithm
Under the node exclusive interference model, the lower level optimization problem
in (2.9) is equivalent to the maximum weight matching problem, which can be solved
25
in polynomial time. However, in order to solve the maximum weight matching prob-
lem in a distributed fashion, we utilize the heuristic algorithm in [5]. While applying
the algorithm, instead of using the queue difference between neighboring nodes, we
use the combined energy and queue state of a node (υi − λ(tx)ij µi) to modulate the
MAC contention window size, when a node i attempts to transmit a packet over the
link (i, j).
As to the upper level optimization problem, if the routing variables (wij) are fixed,
it can further decomposed into smaller subproblems, one for each node i as shown in
Equation 2.10.
maxri
log(ri)− µiλ(sn)i ri −
∑
j∈Ai
zij(w)λ(rx)j µjri
− υiri −∑
j∈Ai
υjzij(w)ri
s.t. ri ∈ R+ (2.10)
Since the objective function in Equation (2.10) is strictly concave and differentiable
in ri, it admits a unique maximizer as shown in (2.11). In the following discussion, we
refer to λ(sn)i µi +υi in (2.11) as node i’s local price, and Ri =
∑
j∈Ai
zij(w)(λ(rx)j µj +υj)
as its aggregate price. In Proposition 2.4.2, we will show how a node i can compute
its aggregate price from the local prices and aggregate prices of its parent nodes.
r∗i =1
λ(sn)i µi + υi +
∑
j∈Ai
zij(w∗)(λ(rx)j µj + υj)
(2.11)
26
Proposition 2.4.2. The aggregate price Ri can be recursively computed as
Ri =∑
j∈Pi
wij
(
(λ(rx)j µj + υj) + Rj
)
(2.12)
Proof. The proposition can be proved by expanding and regrouping the zij(w) terms
in the definition of Ri as follows:
27
Ri =∑
j∈Ai
(λ(rx)j µj + υj)zij(w)
=∑
k∈Pi
(λ(rx)k µk + υk)zik(w) +
∑
ℓ∈Ai\Pi
(λ(rx)ℓ µℓ + υℓ)ziℓ(w) (2.13)
=∑
k∈Pi
(λ(rx)k µk + υk)
(
wik +∑
m∈Pi\{k}
wimzmk(w)
)
+∑
ℓ∈Ai\Pi
(λ(rx)ℓ µℓ + υℓ)ziℓ(w)
(2.14)
=∑
k∈Pi
wik(λ(rx)k µk + υk) +
∑
k∈Pi
(λ(rx)k µk + υk)
(
∑
m∈Pi\{k}
wimzmk(w)
)
+∑
ℓ∈Ai\Pi
(λ(rx)ℓ µℓ + υℓ)ziℓ(w) (2.15)
=∑
k∈Pi
wik(λ(rx)k µk + υk) +
∑
k∈Pi
wik
(
∑
m∈Pi\{k}
(λ(rx)m µm + υm)zkm(w)
)
+∑
ℓ∈Ai\Pi
(λ(rx)ℓ µℓ + υℓ)ziℓ(w) (2.16)
=∑
k∈Pi
wik(λ(rx)k µk + υk) +
∑
k∈Pi
wik
(
∑
m∈Pi\{k}
(λ(rx)m µm + υm)zkm(w)
)
+∑
ℓ∈Ai\Pi
(λ(rx)ℓ µℓ + υℓ)
(
∑
k∈Pi
wikzkℓ(w)
)
(2.17)
=∑
k∈Pi
wik(λ(rx)k µk + υk) +
∑
k∈Pi
wik
(
∑
m∈Pi\{k}
(λ(rx)m µm + υm)zkm(w)
)
+∑
k∈Pi
wik
(
∑
ℓ∈Ai\Pi
(λ(rx)ℓ µℓ + υℓ)zkℓ(w)
)
(2.18)
=∑
k∈Pi
wik
(
(λ(rx)k µk + υk) +
∑
m∈Pi\{k}
(λ(rx)m µm + υm)zkm(w)
+∑
ℓ∈Ai\Pi
(λ(rx)ℓ µℓ + υℓ)zkℓ(w)
)
(2.19)
=∑
k∈Pi
wik
(
(λ(rx)k µk + υk) + Rk
)
(2.20)
(2.13) is true because Ai = Pi ∪
(
Ai\Pi
)
. (2.15) follows the definition of zik(w).
(2.16) expands (2.15) and regroup the terms by wik. (2.19) expands ziℓ(w) by using its
28
definition. and rearrange the terms. Finally, (2.20) is true because Ak ⊆
(
Pi\{k}
)
∪(
Ai\Pi
)
and if a node m ∈
(
Pi\{k}
)
∪
(
Ai\Pi
)
and m /∈ Ak, zkm(w) = 0.
Proposition 2.4.3. The aggregate traffic Ti of node i can be recursively computed as
Ti =∑
k∈Ci
wki (rk + Tk) (2.21)
Proof. This proposition can be similarly proved as Proposition 2.4.2.
Equation (2.11) states that if a node wants to maximize its rate, it should first find
the path(s) such that its aggregate price Ri is minimized. As implied by Proposition
2.4.2, this can be done by letting each node select the parent(s) with the minimum
sum of local and aggregate prices as its next-hop relay node(s) in the DAG. This
motivates the following two-phase distributed routing and rate control algorithm.
Each node collects the local and aggregate prices from all its parents and selects
the parent(s) with the minimum sum of the local and aggregate prices as the relay
node(s) in the DAG. Then, each node uses (2.12) to calculate its own aggregate price
and then applies (2.11) to determine its rate. Having determined the local rate and
the outgoing link(s) to use, a node distributes its local and aggregate prices to its
children nodes, so that the children nodes can determine their rates and choose output
links as well. This process continues until the leaf nodes are reached. Now, starting
from the leaf nodes, each node need to report its aggregate traffic to its parents,
so that the parent nodes can update their local prices using Equation (2.7) in the
next iteration. Aggregate traffic Ti of node i is the total amount of traffic generated
by the descendants that goes through node i. Similar to the computation of the
29
M a s t e r D u a lP r o b l e m (Pe )M a s t e r D u a lP r o b l e m (
Pe )
J o i n t R o u t i n g a n dR a t e C o n t r o l S u b p r o b l e m( R o u t i n g l a y e r )J o i n t R o u t i n g a n dR a t e C o n t r o l S u b p r o b l e m( R o u t i n g l a y e r ) J o i n t R o u t i n g a n dR a t e C o n t r o l S u b p r o b l e m( R o u t i n g l a y e r )J o i n t R o u t i n g a n dR a t e C o n t r o l S u b p r o b l e m( R o u t i n g l a y e r )…S c h e d u l i n g S u b p r o b l e m( M A C l a y e r )S c h e d u l i n g S u b p r o b l e m( M A C l a y e r )
P r i c e sS e l e c t e d l i n k s a n d t h e l o c a lc o n g e s t i o n p r i c e s
R a t e a n d r o u t i n gd e c i s i o n s :r i , w i jL i n k s c h e d u l e : f i j Q uickFixMWMApp rox.
Figure 2.3: The mapping between each optimization problem and its correspondingnetworking layer.
aggregate price, a node can compute its aggregate traffic recursively using (2.21).
This distributed algorithm is summarized in Algorithm 3.
Figure 2.3 demonstrates the relationship between each optimization subproblem
and its corresponding networking layer. The upper level optimization (joint routing
and rate control) subproblem is solved at the routing layer by the QuickFix algorithm.
Each node collects the local and aggregate prices (Lagrange Multipliers) from its
parents and determines the best outgoing link and the best achievable rate. The lower
level optimization (scheduling) subproblem is solved at the MAC layer by applying
the heuristic Maximum Weight Matching algorithm [5], which allocates appropriate
bandwidth on those links selected by the routing layer. After the subproblems are
solved, the rate, route and scheduling decisions are fed back to the master dual
30
problem for updating the local and aggregate prices. This distributed algorithm is
summarized below in Algorithm 3.
Algorithm 1: QuickFix: Distributed routing, rate control and scheduling al-gorithm for energy-harvesting sensor networks based on our proposed DAG for-mulationwhile true do1
/* Phase I: */
Each node locally adjusts the Lagrange multipliers µi, υi using (2.7)2
The sink initiates a new iteration by broadcasting its local and aggregate3
prices, which are both 0.Non-sink (sensor) nodes wait until the local and aggregate prices of all the4
parents have been collected.Once the prices from all the parents have been collected, select the5
parent(s) with the minimum sum of local and aggregate prices. If multipleparents are selected, equally split the flows among them.Compute aggregate price using (2.12)6
Broadcast the local and aggregate prices to the children nodes.7
Compute the maximum rate using (2.11)8
/* Phase II: */
Once a leaf node has determined its rate and outgoing links in Phase I, it9
reports its local rate to its parent nodes of the selected links.Non-leaf nodes must collect the aggregate traffic from all its children nodes10
on the DAG. After that, a non-leaf node computes its aggregate trafficusing (2.21) and report it to all the parent nodes.
Inform MAC layer of newly selected link(s) and their weight(s) υi − λ(tx)ij µi11
Start applying the newly computed rate and routing paths12
To validate the design of the QuickFix algorithm, we compares the convergence
time of QuickFix with the standard dual-based algorithm that is derived from the
standard node-centric flow balance formulation. To focus on the rate of convergence,
a fixed maximum sustainable energy consumption rate πi is used for each node i ∈ N .
Here, both QuickFix and the standard dual-based algorithm are run over a DAG of
67 nodes. As shown in Figure 2.4, the improvement in convergence rate is apparent.
31
-500
-450
-400
-350
-300
-250
-200
-150
-100
-50
0 100 200 300 400 500 600 700 800 900 1000
Com
pute
d ut
ility
Iterations
QuickFixStandard dual-based algorithm
Figure 2.4: The convergence time comparison between QuickFix and the standarddual-based algorithm that is derived from the standard node-centric flow balanceformulation.
QuickFix only requires around 20 iterations before converging to the optimum, while
the standard dual-based algorithm takes more than 600 iterations before converging.
2.5 SnapIt: A Localized Energy Management Algorithm
The QuickFix algorithm presented in the previous section is ignorant about the
variation of recharging rates within an epoch. To handle this problem, we adopt a
localized energy management algorithm, called SnapIt [56]. We let SnapIt operate on
top of the QuickFix algorithm and adjust the rate computed by QuickFix according
to the desired target level of the battery. The principle of the SnapIt algorithm is
very simple. When the battery level is below the target level, then a node reduces
the rate r∗i (e) computed by the QuickFix algorithm by δi, otherwise, it increases the
rate r∗i (e) by δi. It has been shown in [56] that when QuickFix and SnapIt work in
tandem, the network utility can be improved further. The pseudo code for the SnapIt
algorithm is presented in Algorithm 2 for reference.
32
Algorithm 2: SnapIt: Localized Energy Management
foreach τS time units do1
Check out the battery state Bi(t)2
if Bi(t) ≤Mi/2 then3
rSnapIti (t)← r∗i (e)− δi4
else5
rSnapIti (t)← r∗i (e) + δi6
2.6 The DAG Construction Algorithm
To utilize the QuickFix algorithm presented in Section 2.4, a DAG routing struc-
ture must be present in the network. However, there are many ways to construct a
DAG that carries data from the sensor nodes to the sink and the maximum achievable
network utility and data collection rates can vary significantly when different DAGs
are used. Thus, it is important that a good DAG is used so that the network utility
is maximized. However, it is difficult to characterize the optimal DAG without com-
puting the rate assignment and flows in the network. So we start with analytically
studying a few key properties of the optimal DAG(s). Then, based on our obser-
vations, a heuristic algorithm is proposed to construct a DAG over the underlying
network. Before presenting our observations, we first give a few definitions used in
the following discussion.
Definition 2.6.1. Given a DAG A rooted at the sink and its corresponding optimal
solution to the network utility optimization problem, we call the nodes, whose energy
conservation constraints are active in the optimal solution, the bottleneck nodes, which
is represented by BA in the following discussion. For each node i ∈ BA, Fi is used to
denote the set of nodes whose flow or subflow passes through node i. Note that Fi is
33
a subset of Di, the set of descendants of node i in the DAG. If Fi 6= ∅, we call node i
a non-leaf bottleneck node.
Definition 2.6.2. A DAG is said to be optimal if the network utility that can be
achieved by using only those links in the DAG is maximum.
With the above definitions, we make two important observations (note that, for
ease of presentation, we assume that all the nodes have the same sensing, RX, and
TX costs in this section), which are presented in Proposition 2.6.3 and Proposition
2.6.4.
Proposition 2.6.3. Let G denote a network and A denote a DAG in G. Let node
i and k be two bottleneck nodes. Suppose node k is not a descendant of node i and
rk > ri. If there exists a descendant of node i, say node j, that can reach node k
through a path j k and no intermediate node on the path is a bottleneck node,
then, the DAG A is not optimal.
Proof. Since there is no intermediate bottleneck nodes on the path j k, the network
utility can be improved by reducing rk, redirecting some traffic generated by node
j to node k through the path j k, and increasing ri. The amount of increment
(decrement) ∆ that can be made to ri (rk) is limited by a few factors. Firstly,
∆ ≤(rk − ri)
2because if rk becomes smaller than ri, then we will start losing more
than we can gain in network utility by reducing rk and increasing ri. Secondly,
suppose fji ≤ rj is the amount of node j’s traffic that passes through node i. If we
reduce rk by ∆, then the amount of traffic f ′ji that can be redirected from node j to
k is at most
34
f ′ji = ∆ · ρ ≤ fji
where ρ =λ(sn) + λ(tx)
λ(rx) + λ(tx). f ′
ji cannot be greater than fji because it is impossible to
reduce node i’s load further by redirecting more traffic to node k. Thus, we get
∆ ≤fji
ρ
Lastly, let δ be the minimum unused recharging capacity of all the non-bottleneck
nodes on path j k. Then, ∆ ≤δ
(λ(tx) + λ(rx)) · ρbecause the maximum amount of
extra traffic that can be carried by non-bottleneck nodes on path j k is at most
δ
λ(tx) + λ(rx). In summary,
∆ = min
{
fji,(rk − ri)
2,fji
ρ,
δ
(λ(tx) + λ(rx)) · ρ,
}
(2.22)
Note that path j k must contain some link(s) not used in the DAG A, as
otherwise, we can improve the network utility using the aforementioned steps and
this implies that the hypothesis (the solution is optimal) is not true. After adding
these links, the overall improvement in network utility is
35
log(ri + ∆) + log(rk −∆)− log(ri)− log(rk)
= log(ri + ∆)(rk −∆)
ri · rk
= log
(
1 +∆(rk − ri −∆)
ri · rk
)
> 0 (2.23)
This completes the proof.
The implication of Proposition 2.6.3 is that, if a DAG is optimal, every path from
any sensor node to the sink in the network, must contain at least one bottleneck node.
If we follow these paths, the set of bottleneck nodes, that we first encounter on the
paths, must have equal rates. This property allows us to determine whether a DAG
is optimal and identify links that can be used to improve the network utility when
they are added to the DAG. The details about how Proposition 2.6.3 is used will be
discussed later when we present our DAG construction algorithm.
To further investigate the properties of the optimal DAG(s), we assume that the
energy cost for sensing the environment is no higher than the energy cost for receiving
the sensed data on the radio, i.e. λ(sn) ≤ λ(rx). This is a reasonable assumption as
sensing cost is typically much lower than TX and RX cost in most sensor platforms.
This assumption leads to the following proposition.
Proposition 2.6.4. Suppose sensing cost is not greater than reception cost (λ(sn) ≤
λ(rx)). If node i is a non-leaf bottleneck node in an optimal DAG A, then its rate
must be greater than or equal to that of those nodes (denoted as Fi) whose flow or
subflow passes through node i, i.e., ri ≥ rj for all j ∈ Fi.
36
Proof. Suppose ri < rj for some j ∈ Fi in an optimal DAG A. This implies that the
network utility cannot be improved by reducing rj and increasing ri. In other words,
∀∆ > 0, we have
logri + ρ∆
ri
≤ logrj
rj −∆
where ρ =λ(rx) + λ(tx)
λ(sn) + λ(tx)≥ 1. This implies that ρrj − ri ≤ ρ∆. Since ∆ can be made
arbitrarily close to 0, we haveri
rj
≥ ρ ≥ 1, which is a contradiction to the hypothesis
that ri < rj.
Proposition 2.6.4 states that, in a fixed routing structure, the rate of a non-
bottleneck node cannot surpass that of its ancestor bottleneck nodes. This implies
that the rates of non-bottleneck nodes cannot be increased unless the rates of their
ancestor bottleneck nodes are increased first. Proposition 2.6.3 tells that, in order
to allow ancestor bottleneck nodes to increase their rates, a non-bottleneck node
should redirect some of its traffic to other bottleneck nodes with a higher rate. These
observations lead us to the following heuristic DAG construction algorithm. The
algorithm has two phases. The first phase is based on Proposition 2.6.4, in which the
algorithm constructs an approximate load-balanced spanning tree rooted at the sink
such that the minimum rate of all the bottleneck nodes in the tree is maximized. By
doing so, the rate of the descendants of the minimum-rate bottleneck node(s) can be
maximized as well. The rate for each bottleneck node is estimated using the following
Equation (2.24),
37
ri =π′
i
(|Di|+ 1)λ(tx) + |Di|λ(rx) + λ(sn)(2.24)
where π′i is the estimated maximum sustainable energy consumption rate of node i
over a long period of time (such as one day), |Di| is the number of nodes currently
attached to the subtree rooted at node i. Note that since the recharging rate of sensor
nodes are constantly changing, there could be a different optimal DAG at each point
in time. Therefore, we choose to use the estimated maximum sustainable energy
consumption rate over a long period so that the overhead of tree construction stays
low.
The pseudo-code for Phase I is presented in Algorithm 3, which consists of a loop
that does not terminate until all the nodes are in the tree. In each iteration of the
loop, Lines 5 − 13 seek to find a node v in the tree with the following properties.
Firstly, some neighbor(s) of node v is not attached to the tree yet (we refer nodes
satisfying such property the edge nodes). Secondly, the minimum rate of its ancestor
bottleneck nodes is maximum. Ties are broken using hop distance to the sink. In
Lines 14 − 15, an arbitrary neighboring node u of node v, that is not in the tree, is
attached to v. After expanding the tree, line 16 computes the rate of the newly added
node u and updates the rates of all its ancestors. Finally, Lines 17−18 update the set
of bottleneck nodes and the set of edge nodes according to the current tree. At the
end of Phase I, an approximately load-balanced spanning tree will be constructed.
The pseudo-code of Phase II is presented in Algorithm 4. Based on Proposition 2.6.3,
if a node u can find a neighboring node v whose ancestor bottleneck node can support
38
a higher rate, then adding link (u, v) can improve the network utility. Therefore, in
each iteration of the Foreach loop of the algorithm, it checks whether there exists
such a node v in node u’s neighborhood (Lines 3− 12). If so, Line 14 adds link (u, v)
as an alternative outgoing link for node u.
Algorithm 3: Phase I of the DAG construction algorithm
/* Initialization. T is the set of links in the tree, BT is the
set of bottleneck nodes on the current tree T, and CT is the
set of edge nodes in the tree T. */
T ← ∅1
BT ← {s}2
CT ← {s}3
while CT 6= ∅ do4
/* Find a node v ∈ CT in the tree, such that the minimum rate
of its ancestor bottleneck nodes is maximum among all the
edge nodes. */
rmax ← 05
hmin ←∞6
v ← ∅7
foreach z ∈ CT do8
r ← min
(
rz, minw∈Az∩BT
rw
)
9
if rmax < r or (rmax = r and hmin > hop distance to sink(z)) then10
rmax ← r11
hmin ← hop distance to sink(z)12
v ← z13
Select any node u ∈ Nv not in the tree T14
Add the selected node u to the tree15
Compute ru and update the rates for all the ancestors of node u using16
(2.24)Update the set of the bottleneck nodes BT according to the newly17
computed ratesUpdate the set of edge nodes CT18
39
Algorithm 4: Phase II of the DAG construction algorithm
Wait until all the nodes are attached to the tree1
foreach u ∈ V do2
/* Find the rate that the ancestors of node u can support */
rmax ← minx∈Au∩BT
rx3
hmin ←∞4
/* Find the neighbor whose ancestors can support a higher rate.
*/
v ← ∅5
foreach z ∈ Nu do6
r ← min
(
rz, minx∈Az∩BT
rx
)
7
h← hop distance to sink(z)8
if rmax < r or (rmax = r and hmin > h then9
rmax ← r10
hmin ← h11
v ← z12
if v 6= ∅ then13
Add (u, v) as an alternative outgoing link for node u14
Note that although we present the algorithm as a centralized algorithm for clarity,
it can be made into a distributed algorithm by utilizing load-balanced tree construc-
tion protocols such as LBTP [17]. LBTP builds an approximately load-balanced data
collection tree by balancing the number of nodes in each subtree. Instead of using
the number of nodes in a subtree as the load factor, one can use the inverse of the
rate computed by Equation 2.24 as the load factor for each node. Once an approx-
imate load-balanced tree is constructed, each node can independently execute the
instructions inside the outer most For loop of Phase II algorithm and adds a link as
an alternative outgoing link if it leads to a neighbor whose ancestor bottleneck nodes
support a higher rate.
40
2.7 Evaluation Results
In this section, we first evaluate QuickFix/SnapIt and compare it with IFRC [80]
using a fixed DAG. Then, we evaluate the performance of our proposed DAG con-
struction algorithm. The parameters used in the simulations are listed in Table 2.2.
We build the recharging profiles of the nodes using the real solar radiation measure-
ments collected from the Baseline Measurement System at the National Renewable
Energy Laboratory [2]. The data set used is Global 40-South Licor, which measures
the solar resource for collectors tilted 40 degrees from the horizontal and optimized
for year-round performance. Unless explicitly specified, we use the profile of a sunny
day (Feb. 1st 2009). The data is appropriately scaled to create a recharging profile
for a solar panel with a small dimension (37mm × 37mm). The battery capacity of
sensor nodes is assumed to be 2100mAh. The epoch length τ is set to one hour and we
choose to run the QuickFix algorithm one iteration every five minutes. Throughout
the evaluation, we focus on the performance measures during the daytime because the
energy harvesting rate is zero at night. However, based on the application’s minimum
sampling rate requirement, one can determine the minimum battery level that can
support the minimum sampling rate at night and the SnapIt algorithm will maintain
the battery at that level to ensure the network remains active during the night time.
It should also be noted that although we did not consider the energy cost for signaling
in our formulation, we did take that into account in the simulations. In the remaining
section we compare our proposed algorithms with the instantaneous optimum com-
puted using MATLAB in each time slot (without considering battery state); contrast
it with a backpressure-based algorithm (IFRC); and, evaluate the sensitivity of the
results with respect to the parameter δ.
41
2.7.1 QuickFix, SnapIt and Instantaneous Optimum
We first demonstrate the operation of QuickFix with SnapIt using a small 6-node
network which has three levels. Node 0, at the first level, is the sink. Node 1 and
Node 2 are at the second level and they are the immediate children nodes of the sink.
Nodes 3, 4 and 5 are at the third level. Nodes 3 and 5 have only one parent (Nodes 1
and 2, respectively) and Node 4 has two parents (both Node 1 and Node 2). A small
network is used here because it takes a long time for MATLAB to generate a solution
for each epoch if the network is large. This actually signifies the importance of our
work. In this set of simulations, we use the same recharging profile for all the sensor
nodes. The performance metric include the network utility, the sum of data rates,
the cumulative downtime of sensor nodes, and the cumulative battery full-time. The
network utility and the sum of data rates are computed based on the packet reception
rates at the sink. The sum of data rates is used as one of the metrics because the
utility function is in the logarithmic scale and has a small slope. The latter metric
makes it easier to visualize the difference in performance between different solutions,
especially at higher data rates.
Figures 2.5(a), 2.5(b), 2.6(a) and 2.6(b), show that the network utility and the
sum rates observed at the sink are close to the optimum no matter whether SnapIt is
used or not. However, if the battery level is high (above the target level), SnapIt will
exploit the excessive energy in the battery and increase the rates by δ. This benefit
is especially observable during 6-8 AM in Figure 2.6(a).
In Figure 2.5(c), we observe the cumulative downtime of Nodes 1 and 2 when
the initial battery levels of all the sensor nodes are at a very low level (0.15% of the
full capacity). We only observe nodes 1 and 2 because these are the only potential
42
bottleneck nodes in the network. Without using SnapIt, the cumulative downtime
for both nodes are high. This is due to the fact that the QuickFix algorithm only
runs coarsely (one iteration every 5 minutes), and thus its computed rates can be
inaccurate and even infeasible. The SnapIt algorithm mitigates this problem by
reducing the rates when the battery level is below the target level. Therefore, the
cumulative downtime for both nodes are zero (thus invisible in Figure 2.5(c)) when
SnapIt is used.
Figure 2.6(c) shows the cumulative battery full time when the initial battery levels
of all the sensor nodes are at a very high level (99% of the full capacity). It can be
observed that, without using SnapIt, the batteries of nodes 1 and 2 spend more time
in the full state. This causes Nodes 1 and 2 to miss the opportunities to harvest
more energy. In contrast, if SnapIt is used, both Nodes 1 and 2 spend less time in
full battery state, and the additional harvested energy is leveraged to increase the
network utility.
Parameter λ(sn)i λ
(tx)ij λ
(rx)i α1 & α2 δi
Value 105µW 63mW 69mW 0.001 0.1× ri
Table 2.2: Parameters
2.7.2 QuickFix/SnapIt v.s. Backpressure-based Protocol
Next, we compare our protocol with a backpressure-based protocol, IFRC [80],
which aims to achieve max-min fairness in WSNs [87][80]. IFRC uses explicit signaling
embedded in every packet to share a node’s congestion state with the neighbors. Rate
43
-30
-20
-10
0
10
20
06:00 10:00 14:00 18:00
Net
wor
k ut
ility
Time
QuickFix w/o SnapItQUickFix w/ SnapItInstantaneous opt
(a) Network utility
0
2
4
6
8
10
12
06:00 10:00 14:00 18:00
Sum
of d
ata
rate
s a
t sin
k [p
kt/s
]
Time
QuickFix w/o SnapItQUickFix w/ SnapItInstantaneous opt
(b) Sum of data rates
0
500
1000
1500
2000
2500
3000
06:00 10:00 14:00 18:00
Cum
ulat
ive
dow
n tim
e [s
]
Time
Node 1 w/o SnapItNode 1 w/ SnapIt
Node 2 w/o SnapItNode 2 w/ SnapIt
(c) Cumulative downtime. With SnapIt, the down-time is zero.
Figure 2.5: QuickFix and SnapIt vs. Instantaneous Optimum (initial battery =0.15%). Our algorithm attains similar utility and sum of rates as the optimum whilesignificantly reducing the battery downtime.
44
-30
-20
-10
0
10
20
06:00 10:00 14:00 18:00N
etw
ork
utili
tyTime
QuickFix w/o SnapItQuickFix w/ SnapItInstantaneous opt
(a) Network utility
0
2
4
6
8
10
12
06:00 10:00 14:00 18:00
Sum
of d
ata
rate
s a
t sin
k [p
kt/s
]
Time
QuickFix w/o SnapItQUickFix w/ SnapItInstantaneous opt
(b) Sum of the data rates
0
200
400
600
800
1000
1200
1400
1600
1800
06:00 10:00 14:00 18:00
Cum
ulat
ive
batte
ry fu
ll tim
e [s
]
Time
Node 1 w/o SnapItNode 1 w/ SnapIt
Node 2 w/o SnapItNode 2 w/ SnapIt
(c) Cumulative battery full time
Figure 2.6: QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%).Our algorithms attain similar utility and sum of rates as optimum while significantlyreducing the time for which battery is full.
45
-30
-20
-10
0
10
20
06:00 10:00 14:00 18:00N
etw
ork
utili
tyTime
QuickFix w/o SnapItQUickFix w/ SnapItInstantaneous opt
(a) Network utilituy
0
2
4
6
8
10
12
06:00 10:00 14:00 18:00
Sum
of d
ata
rate
s a
t sin
k [p
kt/s
]
Time
QuickFix w/o SnapItQUickFix w/ SnapItInstantaneous opt
(b) Sum rates
0
500
1000
1500
2000
2500
3000
06:00 10:00 14:00 18:00
Cum
ulat
ive
dow
n tim
e [s
]
Time
Node 1 w/o SnapItNode 1 w/ SnapIt
Node 2 w/o SnapItNode 2 w/ SnapIt
(c) Battery level
Figure 2.7: A comparison of QuickFix with/without SnapIt and the instantaneousoptimum with initial battery level set to 1/3 of the full capacity.
46
adaptation is done by using AIMD. Several queue thresholds are defined in IFRC. A
node will reduce its rate more aggressively as a higher queue threshold is reached.
Since IFRC does not consider battery state and energy replenishment, we similarly
defined several thresholds for battery levels and energy harvesting rates so that all
the nodes can maintain the battery at half of the capacity. We use a tree instead of a
DAG when performing the comparison as IFRC assumes a tree network. The tree is
constructed using 67 nodes based on Motelab’s [1] topology. We used the recharging
profiles of a sunny day (Feb. 1st 2009) as well as that of a cloudy day (Feb. 2nd
2009) for the evaluation. The initial battery level for all nodes is set to 50% of the
full capacity. Figure 2.9 clearly shows that QuickFix can achieve both higher network
utility and sum of rates. The sum of rates is 42% higher than IFRC on average. The
main reason is as follows. In order to maintain the battery at 50%, IFRC halves the
rate of a sensor and that of all its descendants if the battery drops below 50%. In
contrast, SnapIt only slightly reduces the rate by a small amount. It is possible to
improve the performance of IFRC, but a smarter rate control algorithm is needed.
2.7.3 Effect of Different δ
Larger δ can result in a higher network utility when there is extra energy in the
battery. However, large δ has a negative impact on the battery levels as it can cause
a node and its ancestors to consume the energy at a higher rate. We manually select
three nodes and observe their battery levels over time. The three selected nodes A, B,
and C are 1-hop, 3-hops, 6-hops away from the sink, respectively. And nodes A and
B are on a path from node C to the sink, i.e. both nodes A and B are ancestors of
node C. Figure 2.11 shows that the performance of our solution is not very sensitive
47
-400
-350
-300
-250
-200
-150
-100
-50
0
06:00 10:00 14:00 18:00
Net
wor
k ut
ility
Time
QuickFix w/ SnapItIFRC
(a) Network utility (sunny day)
0
1
2
3
4
5
6
06:00 10:00 14:00 18:00
Sum
of d
ata
rate
s a
t sin
k
Time
QuickFix w/ SnapItIFRC
(b) Sum of the data rates (sunny day)
Figure 2.8: A comparison of network utility and sum of the data rates of QuickFixand IFRC using a sunny day recharging profile.
48
-400
-350
-300
-250
-200
-150
-100
-50
0
06:00 10:00 14:00 18:00
Net
wor
k ut
ility
Time
QuickFix w/ SnapItIFRC
(a) Network utility (cloudy day)
0
1
2
3
4
5
6
06:00 10:00 14:00 18:00
Sum
of d
ata
rate
s a
t sin
k
Time
QuickFix w/ SnapItIFRC
(b) Sum of the data rates (cloudy day)
Figure 2.9: A comparison of network utility and sum of the data rates of QuickFixand IFRC using a cloudy day recharging profile.
49
-400
-350
-300
-250
-200
-150
-100
-50
0
06:00 10:00 14:00 18:00
Net
wor
k U
tility
Time
δ = 10%δ = 50%
δ = 100%
(a) Network utility using 10%, 50% and 100% ofnodal sampling rate as δ.
0
2
4
6
8
10
06:00 10:00 14:00 18:00
Sum
of d
ata
rate
s a
t sin
k
Time
δ = 10%δ = 50%
δ = 100%
(b) Sum of the data rates
Figure 2.10: A comparison of network utility (a) and sum rates (b) when δ = 0.1×ri,δ = 0.5 × ri, and δ = ri (network size is 67 nodes). High values of δ can causesignificant fluctuations in both network utility and sum rates.
to the exact value of δ, if δ is small. However, high values of δ (= ri) should be
avoided due to the consequent high fluctuations in the battery that also increases the
chances of a node to run out of battery.
50
1000
1200
1400
1600
1800
2000
06:00 10:00 14:00 18:00
Bat
tery
leve
l [m
Ah]
Time
Node ANode BNode C
(a) Battery level (δ = 0.1× ri)
1000
1200
1400
1600
1800
2000
06:00 10:00 14:00 18:00
Bat
tery
leve
l [m
Ah]
Time
Node ANode BNode C
(b) Battery level (δ = ri)
Figure 2.11: A comparison of and battery levels when δ = 0.1× ri, δ = 0.5× ri, andδ = ri (network size is 67 nodes). High values of δ can cause rapid fluctuations inbattery levels that could lead to an increased downtime.
51
2.7.4 Impact of Routing Structures on Network Utility
To evaluate the effectiveness of the DAG construction algorithm proposed in Sec-
tion 2.6, we compute and compare the achievable network utility and the sum of
data rates over a load-balanced tree (LBT), a load-balanced DAG (LBD), a shortest
path tree (SPT), and a shortest path DAG (SPD). The load-balanced tree/DAG is
constructed using Algorithm 3 without/with the second phase (Algorithm 4). We
create three networks of different node densities by uniformly distributing 100 nodes
in regions of size 80m× 80m, 100m× 100m and 120m× 120m respectively. The rest
of the parameters are the same as those used in the previous set of simulations. How-
ever, to concentrate on the performance of different routing topologies (i.e. trees and
DAGs), we disable SnapIt, fix the recharging rate, and run QuickFix for 50 iterations
to compute the instantaneous optimal network utility and sum of the data rates. The
results are presented in Figures 2.12, 2.13 and 2.14.
Figures 2.12(a), 2.13(a), and 2.14(a) show the instantaneous optimal network
utility. Among the four different routing topologies, LBD can achieve the highest
network utility. Note that, as shown in Figures 2.12(b), 2.13(b), and 2.14(b), LBD
does not necessarily have the highest sum of the data rates as our objective is to
optimize the network utility. We also compute the proportional fairness index to
compare the algorithms. A vector of rates r ∈ RN is said to be proportionally fair
if it is feasible and for any other feasible rate vectors r′ ∈ RN , the aggregate of
proportional changes (respective to r) is zero or negative [42]. In other words,
∑
i∈N
r′i − ri
ri
≤ 0
52
50
100
150
200
250
300
SPDSPTLBDLBT
Com
pute
d U
tility
LBT
LBD
SPT
SPD
(a) Network utility
10
20
30
40
50
60
70
80
90
100
SPDSPTLBDLBT
Com
pute
d S
um R
ate
[pkt
s]
LBT
LBD
SPT
SPD
(b) Sum of the data rates
0
10
20
30
40
50
SPDSPTLBT
Neg
ativ
e F
airn
ess
Inde
x
LBTSPTSPD
(c) Negative fairness index
Figure 2.12: Node density =100 nodes
80m2
53
50
100
150
200
250
300
SPDSPTLBDLBT
Com
pute
d U
tility
LBT
LBD
SPT
SPD
(a) Network utility
150
200
250
300
350
400
SPDSPTLBDLBT
Com
pute
d S
um R
ate
[pkt
s]
LBT
LBD
SPT
SPD
(b) Sum of the data rates
5
10
15
20
25
30
35
40
SPDSPTLBT
Neg
ativ
e F
airn
ess
Inde
x
LBTSPTSPD
(c) Negative fairness index
Figure 2.13: Node density =100 nodes
100m2
54
40
60
80
100
120
140
SPDSPTLBDLBT
Com
pute
d U
tility
LBT
LBD
SPT
SPD
(a) Network utility
10
15
20
25
30
35
40
SPDSPTLBDLBT
Com
pute
d S
um R
ate
[pkt
s]
LBT
LBD
SPT
SPD
(b) Sum of the data rates
0
5
10
15
20
25
SPDSPTLBT
Neg
ativ
e fa
irnes
s In
dex
LBTSPTSPD
(c) Negative fairness index
Figure 2.14: Node density =100 nodes
120m2
55
-240
-220
-200
-180
-160
-140
-120
-100
-80
07:00 11:00 15:00 19:00
Net
wor
k U
tility
Time
LBD w/ SnapIt
LBD
SPD
(a) Network utility (DAG)
-240
-220
-200
-180
-160
-140
-120
-100
-80
07:00 11:00 15:00 19:00
Net
wor
k U
tility
Time
LBD w/ SnapIt
LBT
SPT
(b) Network utility (Tree)
Figure 2.15: Network utility measured at the sink on Feb 1st 2009 (sunny day).Figures 2.15(a) and 2.15(b) are shown in separate graphs for clarity.
As the feasible region of rate vectors is different for different routing topologies, we
sort the rate vectors before computing the fairness index. Figures 2.12(c), 2.13(c) and
2.14(c) show that the negative fairness indices are all positive. This implies that the
real fairness indices are all negative. Thus, LBD is not only more efficient in terms
of network utility, but also better in terms of proportional fairness compared to the
other three routing topologies.
56
0
5
10
15
20
25
30
35
40
45
50
07:00 11:00 15:00 19:00
Sum
Rat
e [p
kts]
Time
LBD w/ SnapIt
LBD
SPD
(a) Sum of the data rates (DAG)
0
5
10
15
20
25
30
35
40
45
50
07:00 11:00 15:00 19:00
Sum
Rat
e [p
kts]
Time
LBT w/ SnapIt
LBT
SPT
(b) Sum of the data rates (Tree)
Figure 2.16: Sum of the data rates measured at the sink on Feb 1st 2009 (sunny day).Figures 2.16(a) and 2.16(b) are shown in separate graphs for clarity.
57
-240
-220
-200
-180
-160
-140
-120
07:00 11:00 15:00 19:00
Net
wor
k U
tility
Time
LBD w/ SnapIt
LBD
SPD
(a) Network utility (DAG)
-240
-220
-200
-180
-160
-140
-120
07:00 11:00 15:00 19:00
Net
wor
k U
tility
Time
LBD w/ SnapIt
LBT
SPT
(b) Network utility (Tree)
Figure 2.17: Network utility measured at the sink on Feb. 2nd 2009 (cloudy day).Figures 2.17(a) and 2.17(b) are shown in separate graphs for clarity
58
0
5
10
15
20
25
30
07:00 11:00 15:00 19:00
Sum
Rat
e [p
kts]
Time
LBD w/ SnapIt
LBD
SPD
(a) Sum of the data rates (DAG)
0
5
10
15
20
25
30
07:00 11:00 15:00 19:00
Sum
Rat
e [p
kts]
Time
LBD w/ SnapIt
LBT
SPT
(b) Sum of the data rates (Tree)
Figure 2.18: Sum of the data rates measured at the sink on Feb. 2nd 2009 (cloudyday). Figures 2.18(a) and 2.18(b) are shown in separate graphs for clarity.
59
To explore whether the DAG constructed by Algorithms 3 and 4 can result in
better performance when coarse computation is used, we apply the DAG construction
algorithm to the same network used in Section 2.7.1. Since, in the simulations, it is
assumed that all the sensor nodes have similar variation patterns in their recharging
profiles, the DAG construction algorithm is only run once at the daybreak. Similar to
Section 2.7.1, the network utility and sum of the data rates are computed using the
packet delivery rates perceived by the sink. As shown in Figures 2.16 and 2.18, the
results are consistent with the analytical results. The load-balanced DAG can achieve
a higher network utility than the shortest path DAG. When SnapIt is enabled, the
network utility can be even improved further.
2.8 Summary
Achieving proportional fairness in energy harvesting sensor networks is a chal-
lenging task as the energy replenishment rate varies over time. In this chapter, we
showed that, when the underlying routing structure is fixed, our proposed QuickFix
algorithm can be applied to track the instantaneous optimal network utility in the
presence of dynamic energy resources. With the SnapIt algorithm operating above the
QuickFix algorithm, we successfully maintain the battery at the desired target level.
Using the DAG construction algorithm, we successfully constructed a DAG that can
support a high network utility. Our evaluations show that the three algorithms, when
working in tandem, can increase the total data rate at the sink by 42% on average
when compared to IFRC, while simultaneously improving the network utility.
60
CHAPTER 3
Maxmin Fair Rate Allocation and Route Computation
3.1 Objective
The objective of this chapter is to design a solution for computing the maximin
fair rate assignment and the associated routing paths for each node in the network,
such that no node will ever run out of energy. A rate assignment is maxmin fair if
it is impossible to increase the rate of a node without decreasing the rate of another
node with an equal or lower rate. Fan et al. [24] propose a centralized algorithm
that can jointly compute the optimal maxmin rate assignment and the associated
routing paths for a sensor network. However, the centralized algorithm requires solv-
ing O(N2) LP problems, where N is the number of nodes in the network. Although
a distributed algorithm for computing the optimal maxmin rate assignment over a
tree is also presented in [24], the problem of finding the optimal tree is yet to be
answered. Furthermore, using a DAG can usually lead to a better maxmin rate as-
signment. Figure 3.1 shows a simple example in which using a DAG can get a higher
maxmin rate assignment than using a tree. In this example, the network consists
of 4 nodes, which include the sink S, and three sensor nodes A, B, and C. It is
assumed that the recharging rates of nodes A, B, and C are all 3 units per second. It
61
is also assumed that the energy cost for TX is 1 unit and the other operations do not
consume any energy. If the tree in Figure 3.1(a) is used, the optimal rate assignment
is (rA, rB, rC) = (1.5, 3, 1.5) and the flows on links (A, S), (B,S), (C,A) are 3, 3, and
1.5 respectively. However, if the DAG in Figure 3.1(b) is used, the optimal rate as-
signment becomes (rA, rB, rC) = (2, 2, 2), which is higher than that when using a tree.
In the following sections, we first study the problem of finding the tree that supports
the highest maxmin fair rate assignment and show that this problem is NP-hard.
Then, we propose a fast distributed algorithm, called DLEX-DAG, for computing a
near-optimum maxmin fair rate allocation and the associated DAG (Directed Acyclic
Graph) for arbitrary network topologies.
3.2 Related Works
As we have reviewed various environmental energy harvesting sensor platforms
in Chapter 1 and recharging-aware algorithms and protocols in Chapter 2, we only
summarize prior works on maxmin fair rate allocation in this section.
The authors of [13] first explored the problem of computing maxmin fair rate as-
signment in wired networks. They proposed a distributed algorithm that can compute
the optimal maxmin fair rate assignment when the routes of the flows in the network
are fixed. The authors of [32] generalized the problem in [13] by adding maximum
and minimum rate requirement for each flow. They proposed both a centralized al-
gorithm and distributed algorithm that can compute the optimal maxmin fair rate
assignment. However, similar to [13], their proposed algorithm only works when the
routes of the flows are fixed. In [15], Chen et al. proposed a centralized algorithm
for computing the optimal maxmin fair rate assignment for sensor networks in which
62
S
A B
C
3 3
1.5
(a) When the this tree isused, the optimal maxminfair rate assignment is(rA, rB , rC) = (1.5, 3, 1.5)and the flows on links(A,S), (B,S), (C,A) are3, 3, and 1.5 respectively.
S
A B
C
3 3
1 1
(b) When this DAG isused, the optimal maxminfair rate assignment is(rA, rB , rC) = (2, 2, 2)and the flows on links(A,S), (B,S), (C,A),(C,B) are 3, 3, 1, and 1respectively.
Figure 3.1: Using a DAG is better than using a tree. In this example, we assumethe sensors do not have batteries and operate solely on the harvested ambient energy.The recharging rates of sensors are assumed to be 3 units per second. The energycost for TX is 1 unit and the other operations do not consume any energy.
63
sensors periodically send measurements back to the sink. Unlike [13] and [32], their
proposed algorithm does not assume fixed route and, thus, can be applied in arbitrary
network topologies. In [24], Fan et al. generalized the problem further by considering
the recharging capability of sensors. The authors proposed both a centralized and a
distributed algorithm. The centralized algorithm, similar to that used in [32], uses
an LP solver to iteratively compute the optimal maxmin fair rate assignment and the
the flows on each link. However, the computation cost of the centralized algorithm is
very high as it requires solving O(N2) LP subproblems. The distributed algorithm,
on the other hand, only works when the underlying routing structure is a given tree.
3.3 Network Model
This section outlines the network model and the problem definition. We consider
a static sensor network with a single sink node. It is assumed that sensors have
recharging capabilities and the recharging profiles of sensors are known. To provide
continuous monitoring services, sensors need to report data back to the sink peri-
odically and we allow sensor nodes to send data to the sink using multiple paths.
However, since the amount of energy that can be harvested from the environment is
very limited, the reporting rates of sensors are low. In [24], the authors have shown
that a solar powered TelosB sensor node can only keep its radio active approximately
37% of the time. Therefore, we do not consider interference in this chapter. Under
this network model, we seek to compute the optimal maxmin fair rate assignment
which is defined as follows:
Definition 3.3.1. 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
64
hn+1 hn+2
S
h1 h2 hn�.
Figure 3.2: An illustration of the reduction from the partition problem.
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, and L1 < L2 otherwise.
L∗ is the optimal maxmin fair rate assignment if there is no other rate assignment
L′ > L∗.
3.4 Distributed Maxmin Fair Rate Allocation and Route Com-
putation for Arbitrary Network Topologies
Since data collection tree is a common approach to extract data from all the
sensors in the network, the problem of finding the tree that supports the highest
maxmin fair rate assignment is important to solve. However, in Theorem 3.4.1, we
show that this problem is NP-hard.
Theorem 3.4.1. The problem of finding the tree that supports the highest maxmin
fair rate assignment is NP-hard.
65
Proof. We prove the theorem by reducing the well-known NP-hard partition problem
to a special case of our problem. The partition problem is to partition a group of
integers into two subsets S1 and S2 such that
∣
∣
∣
∣
∑
Zi∈S1
Zi −∑
Zj∈S2
Zj
∣
∣
∣
∣
is minimized.
Given an instance of the partition problem which consists of n integers Z1..Zn, we
can reduce it to a special case of our problem as follows. For each integer Zi, create a
node hi with a constant recharging rate πi = Zi·(λsn+λtx). In addition, add two nodes
hn+1 and hn+2 with equal recharging rates πn+1 = πn+2 = (λrx + λsn + 2λtx) ·n∑
i=1
ri.
Add links from nodes h1..hn to both hn+1 and hn+2. Finally, add the sink node S and
connect nodes hn+1 and hn+2 to the sink. The battery levels for non-sink nodes are
set to zero. Such construction is illustrated in Figure 3.2. The optimal maxmin fair
rate assignment for this problem must satisfy the following two properties. Firstly,
nodes h1..hn must be transmitting at their highest rates r1 = Z1, .., rn = Zn and the
difference between rn+1 and rn+2 is minimal. From a tree that supports the optimal
rate assignment, the optimal solution to the partition problem can be recovered by
grouping the integers, whose corresponding nodes are connected to node hn+1 in the
tree, into set S1 and the others into set S2. On the contrary, suppose S1 and S2 are
the optimal partition of the partition problem. Then, we can get an optimal tree by
routing the traffic of those leaf nodes, whose corresponding maximum transmission
rates are in set S1, to node hn+1 and the others to node hn+2. This completes the
proof.
Since constructing an optimal tree is NP-hard, we move our attention to the con-
struction of DAGs (Directed Acyclic Graphs), which usually can support a higher rate
assignment than using a tree. In the following sections, we propose a fast distributed
66
algorithm to construct a DAG and compute a near-optimum maxmin fair rate as-
signment for all the sensor nodes in the network. Since it is difficult to characterize
the optimal routing structure without actually computing the rate assignment and
the flows on each link, we tackle this problem by using an iterative approach. The
basic idea is to first construct an arbitrary DAG in the network. Then, we compute
an initial feasible rate assignment for each sensor node and determine the flows on
each link in the DAG. Next, we seek to improve the rate assignment by adjusting
the flows in the network. After the flow adjustment is done, a simple criteria is used
to identify those links that can carry extra traffic for nodes with lower rates. We
augment the initial DAG with such links and re-adjust the flows again. This process
of flow adjustment and DAG augmentation is repeated until no improvement can be
made or some stopping criteria is met.
The remaining chapter is organized as follows. In Section 3.4.1, we present a
distributed algorithm for computing an initial rate assignment and determining the
flows on each link when the initial DAG is given. Note that any algorithm that can
build a DAG in the network can be used for constructing the initial DAG. Therefore,
we do not address it in this dissertation. Next, in Section 3.4.2, we develop the
distributed mechanism that can be used to improve the initial rate assignment. In
Section 3.4.3, we present the criteria for identifying links that can lead to a better rate
assignment when they are added to the underlying routing structure. Section 3.4.4
summarizes and presents the complete algorithm. Lastly, we evaluate the algorithm
in Section 3.5 and conclude this chapter in Section 3.6.
67
3.4.1 Initial Rate and Route Compuatation
In [24], an algorithm, called UpdateRate, is used to compute the optimal rate
assignment for a given tree structure. Here, we generalize and extend the UpdateRate
algorithm for computing an initial feasible rate assignment over a DAG. The intuition
of this algorithm is to allocate the maximum possible flow on all paths from each node
to the sink. In the algorithm, each node j keeps the following three variables for each
flow that passes through it. rmaxj (i) represents the current maximum achievable rate
of node i at node j. rkj(i) means the achievable rate of node i on an incoming link
(k, j). rj(i) is the final allocated rate of node i at node j. Furthermore, to compute the
rate allocation for each node whose data flows passes through a node j, the algorithm
maintains two set variables, which are Rj and Uj respectively. Rj contains the set
of nodes whose allocated rates are restricted by some other nodes before their data
flows/sub-flows pass through node j. On the other hand, Uj consists the set of nodes
whose allocated rates are not restricted before their data flows/sub-flows reach node
j.
The algorithm begins with having each node, say node i, compute its own max-
imum achievable rate rmaxi (i) according to its recharging profile without considering
the responsibility for forwarding packets for other nodes in the network. After rmaxi (i)
is computed, node i equally splits rmaxi (i) among all the outgoing links. Suppose the
set of outgoing links is Oi, node i sends a separate control packet containing the
flow id i and rate ri =rmaxi (i)
|Oi|to each parent. When a node j receives a control
packet from node i over an incoming link (k, j), it first computes rj(i), which is the
maximum achievable rate of node i at node j, based on the flows passing through it.
Then, node j equally splits rj(i) among all the outgoing links. After that, a separate
68
control packet containing the flow id i and the newly computed raterj(i)
|Oj|is sent to
each parent on behalf of node i. The process is repeated at each node from leaves to
the sink. Once the control packets reaches the sink, the sink will know a feasible rate
assignment for the nodes in the network. If should be noted that if the underlying
routing structure is a tree, this algorithm is essentially the same as that presented in
[24], and the computed rate assignment is optimal.
When computing rj(i), the maximum achievable rate of node i at node j, rmaxj (i)
is first initialized to rmaxj (i) =
∑
ℓ∈Ij
rℓj(i), where Ij is the set of immediate children
nodes of j and rℓj(i) is the computed rate of node i over link (ℓ, j). In other words,
rmaxj (i) represents the maximum sustainable rate of node i by the descendants of node
j. Now, given the restricted set Rj and unrestricted set Uj, node j can compute the
achievable rate of node i (rj(j)) by evenly allocating the residual energy not used by
flows in Rj to all flows in Uj and node j itself as:
rj(j) =Cj − ef
∑
i∈Rjrmaxj (i)
ef (nj − |Rj|) + es
(3.1)
where Cj is the maximum sustainable energy consumption rate of node j, es is the
cost of generating a packet, 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 nodes, excluding node j, whose flows pass through node j.
The operation of the extended UpdateRate algorithm is illustrated in Figure 3.3.
In the beginning, each node computes its locally maximum sustainable energy con-
sumption rate. In this example, we assume ef = es = 1 and the maximum energy
69
i d r D m a x r RD 80 40 F
i d r C m a x r RD 120 120 F
i d r B m a x r RB 80 80 F
4 C 120 80 F
3 D 40 40 T
6 B 80 40 F
5 D 40 40 F
1,2
i d r C m a x r RA 300 300 F
A
B
C D
(2)
(1)
(3,4)
(5,6)
A 300 180 F
C 80 80 T
D 40 40 T
A 300 75 F
B 80 75 F
C 80 75 F
D 80 75 F
1
2
3, 4
5,6
Figure 3.3: Distributed initial rate computation for a network with four nodes. Thenumbers on the links represents the indices of the table entries that are transmitted(note that only items in gray color are actually transmitted). The table beside eachnode shows the data structure maintained by that node for rate computation. Eachtable contains four fields, which include the node ID, rmax, r and R. The R field istrue if the corresponding node is in the restricted set. The items in gray color areactually transmitted in the control packet.
70
consumption rates for node A through D are 300, 80, 120, and 200, respectively.
It should be noted that, given the initial battery level, the battery capacity, and
a recharging profile, the maximum energy consumption rate of a sensor node can
be computed using the InitialzeRate algorithm presented in [24]. Once the maximum
energy consumption rate is computed, each node computes the locally maximum sam-
pling rate (without considering forwarding packets for other nodes) and equally splits
it among all outgoing links. Then, a separate control message is sent to each parent
node. Take node D for example, its locally maximum sampling rate is80
es
=80
1= 80.
Since it has two outgoing links, node D sends a separate control message to node B
and C respectively and the value of r in the control messages is set to 40.
When a node receives a control message, it runs the UpdateRate algorithm to
compute a new rate for itself and each descendant. For instance, when node B
receives the control message from node D, it sets rmaxB (D) = 40, R = ∅ and U = {D}.
Thus, rB = 80es/(ef + es) = 40. Since rmaxD is not smaller than 40, the restricted set
R does not change and the UpdateRate algorithm terminates. Then, node B sends a
control message to node A for itself and node D. A more complicated case is when
node A receives the control message from node B. Suppose node A receives the
control message sent by node C first. Then, node A would have allocated a rate of 40
for node D (on path D C A) when it receives the control message sent by node
B. Furthermore, the restricted set R and unrestricted set U equal R = {C,D} and
U = ∅ respectively. Therefore, node A sets rmaxA (D) = 40 + 40 = 80, rmax
A (B) = 40,
R = R\{B,D} = {C}, and U = U∪{B,D} = {B,D}. After the first iteration of the
UpdateRate algorithm, rA = (300es−80×ef )/(2·ef+es) =220
3. Since rmax
A (C) = 80 >
220
3, node A sets R = R\{C} = ∅ and U = U∪{C} = {B,C,D}. Then, the algorithm
71
proceeds to the second iteration, which sets rA = 300es/(3× ef + es) = 75. Since the
restricted set R remains empty in the second iteration, the algorithm terminates and
all the four nodes are allocated a rate of 75 at node A.
Function UpdateRate(i, rkj(i))
rmaxj (i)←
∑
ℓ∈Cj
rℓj(i) ∀ℓ ∈ Cj
1
R′
j ← Rj \ {i}2
U′
j ← Uj ∪ {i}3
repeat4
Rj ← R′
j5
Uj ← U′
j6
Compute rj(j) using Equation (3.1)7
R′
j ← {i|rmaxj (i) < rj(j)8
U′
j ← {i|rmaxj (i) ≥ rj(j)9
until Rj = R′
j ;10
rj(ℓ)← rmaxj (ℓ), ∀ℓ ∈ Ri11
rj(ℓ)← rj(j), ∀ℓ ∈ Uj12
Symbol Semantics
Cj The maximum sustainable energy consumption rate of node j
rmaxj (i) Current maximum achievable rate of node i at node j
rj(i) Allocated rate for node i at node jRj Restricted node set at node jUj Unrestricted node set at node j
Table 3.1: Variables used in the UpdateRate algorithm.
72
v s(a) Case 1
v s(b) Case 2
v s(c) Case 3
Figure 3.4: An illustration of the cases in which rate adjustment is possible. Eachdashed black arrow in the figures can be either a link or a path.
3.4.2 Flow Adjustment
After the initial rate assignment and the routing paths are determined, the flows in
the network should be adjusted so that the overall rate assignment can be improved.
Our flow adjustment algorithm is based on the following observations. For any pair
of nodes u and v, if ru < rv, the overall rate assignment can be improved if anyone
of the following cases holds:
• Case 1: As illustrated in Figure 3.4(a), if a sub-flow of node v passes through a
node k, and there exists a path u k in which there are no bottleneck nodes2,
the rate assignment can be improved by reducing the sub-flow of node v on
path v k s and injecting a new sub-flow from node u on path u k s.
Denote ∆ru > 0 and ∆rv > 0 as the amount of adjustment to ru and rv
2We call the nodes whose energy conservation constraints are active/inactive the bottleneck/non-bottleneck nodes.
73
respectively. Then, ∆ru and ∆rv must satisfy the following conditions. Firstly,
∆ru ≤ ∆rv ≤ fvs, where fvs is the amount of node v’s traffic over the path
v k s. Otherwise, the extra traffic generated by u could overflow ancestor
nodes in the path from k s. Secondly, if the un-utilized energy budget
at node u is Cu, then ∆ru ≤Cu
es
. Furthermore, if the minimum un-utilized
energy budget among u’s ancestor nodes (excluding node k) in the path from
u k is Cuk, then ∆ru ≤Cuk
ef
. Finally, ru + ∆ru ≤ rv − ∆rv, because if
ru + ∆ru > rv −∆rv, then the rate assignment will start becoming smaller in
terms of maxmin fairness. In summary, in this case, node u can increase its rate
by:
∆u = min
{
fvs,Cu
es
,Cuk
ef
,rv − ru
2
}
(3.2)
Node v must decrease its rate by:
∆v = ∆u (3.3)
• Case 2: If node u is an ancestor of node v and node u carries some sub-flow
of v (Figure 3.4(b)), then the overall rate assignment can also be improved by
reducing rv and increasing ru. As in the previous scenario, ∆ru ≤ ∆rv ≤ fvs,
where fvs is the amount of traffic induced by node v’s sub-flow over the path
74
v u s. Otherwise, the extra traffic injected by node u could overflow
its ancestors. Furthermore, ∆ru ≤∆rv · ef + Cu
es
, or node u could run out its
energy budget. In summary, in this case, node u can increase its rate by:
∆u = min
{
fvs,fvs · ef
es
,rv − ru
2
}
(3.4)
Node v must decrease its rate by:
∆v =∆u · es
ef
(3.5)
• Case 3: If node u is a descendant of node v and there exits a path from u v in
which there are no bottleneck nodes (Figure 3.4(c)), the overall rate assignment
can also be improved. This case is similar to the previous one. However, the
conditions on ∆ru and ∆rv are different. Firstly, ∆ru ≤ ∆rv ≤ fvs, where
fvs is the amount of traffic induced by node v’s sub-flow over the path v
s, otherwise, the extra traffic generated by u could overwhelm its ancestors.
Secondly, ∆ru ≤ ∆rv ·es
ef
, or node v could run out its battery. Moreover, if the
minimum un-utilized energy budget of nodes on the path u v (excluding v)
is Cuv, then ∆ru ≤Cuv
ef
. Lastly, ∆ru <Cu
es
. The last three conditions ensure
neither node u nor its ancestor nodes in the path from u v ever run out of
their batteries. In summary, in this case, node u can increase its rate by:
75
∆u = min
{
fvs,fvs · es
ef
,Cu
es
,Cuk
ef
,rv − ru
2
}
(3.6)
Node v must decrease its rate by:
∆v =∆u · ef
es
(3.7)
Figure 3.5 shows an example of such flow adjustment mechanism. Suppose, the
initial rate assignment is (rA, rB, rC , rD) = (5, 5, 2, 2). According to case 1, we can
improve the rate assignment by reducing rB by 1 and increasing rD by 1. Then, rate
assignment becomes (rA, rB, rC , rD) = (5, 4, 2, 3). According to case 3, we can further
improve the rate assignment by reducing rA by 1 and increasing rC by 1. Then, rate
assignment becomes (rA, rB, rC , rD) = (4, 4, 3, 3).
In order to apply the above flow adjustment mechanisms, the sink needs to keep
track of the current rate assignment of all the sensor nodes. Every time the sink
attempts to adjust the flows in the network, it picks up a pair of nodes u and v,
such that ru < rv. Then, a search is initiated to find out two paths u k s and
v k s such that they merge at a common node k before reaching the sink and
node v has a non-zero flow on path v k s. After having identified such paths,
the best ∆ru and ∆rv can be calculated according to the aforementioned conditions.
If both ∆ru and ∆rv are greater than 0, then the sink can apply the adjustment to
improve the overall rate assignment.
76
N o d e I D R e c h a r g i n g R a t e B a t t e r y L e v e lA 14 0
B 6 0
C 6 0
D 6 0
TX cost per pkt 1
RX cost per pkt 0
Sensing 0
(a) Parameters used in the example
5
5
2
2
(b) Initially, the rate assignment is(rA, rB , rC , rD) = (5, 5, 2, 2)
5
4
2
3
(c) Applying case 1, the rate assignment be-comes (rA, rB , rC , rD) = (5, 4, 2, 3).
4
4
3
3
(d) Applying case 3, the rate assignment be-comes (rA, rB , rC , rD) = (4, 4, 3, 3).
Figure 3.5: An example of flow adjustment.
77
u vS
kI n c r e a s e R a t e ( u ) D e c r e a s e R a t e ( v )A d j u s t R a t e ( u ,ru
, v ,rv
, fks
)u v
Sk∆ r u
∆rv u vS
kC o m m i t ( u ,∆ru
*) C o m m i t ( v ,
∆rv*
)C o m m i t ( u , v ,∆ru
* , ∆rv*)
(a) (b) (c)
Figure 3.6: Illustration of DFS in the network. Each arrow is either a link or a path.
In the following paragraphs, we discuss how the search of the paths u k s
and v k s for case 1 is done in a distributed fashion. The search operation for
cases 2 and 3 can be done similarly, therefore we do not present them here.
The search operation for case 1 is illustrated in Figure 3.6. Each node maintains
a table that keeps track of the amount of traffic it receives from each individual
descendant on each incoming link and the amount of data it forwards to each outgoing
link for each individual descendant. Before initiating a search, the sink sorts the rate
assignment in ascending order and picks up a pair of node (u, v) such that ru < rv and
u and v have sub-flows that share a common link (k, s) incident to the sink. In our
implementation, the node pair (u, v) is chosen by selecting the node with the smallest
rate as u and the node with the maximum rate as v. Note that, node u’s sub-flow
on link (k, s) can be zero, whereas, node v must have a non-zero flow on the link.
Then, the sink sends an AdjustRate message over link (k, s) that contains the tuple
(u, ru, v, rv, fks), in which fks is initialized to the amount of node v’s flow (denoted as
f vks) on link (k, s). When node k receives an AdjustRate message, it looks up its table
78
and identify an incoming link (h, k) (shared by the sub-flows of u and v) on which
node v has non-zero flow f vhk, replace fks with fhs ← min(fks, f
vhk), and recursively
performs depth first search by forwarding the AdjustRate message over the selected
link. If no such link exists, that means node k is the merge point of the sub-flows
and fks received in the AdjustRate message is the amount of node v’s traffic in path
k s.
After having identified fks, node k should initiate a DFS by sending an IncreaseR-
ate message over an incoming link from which u can reach k. This DFS is used to
find a path u k and to determine the maximum amount of extra traffic that u
can inject into the path u k. When the IncreaseRate message reaches node u, it
assesses the amount of extra traffic ∆ru it can generate according to its un-utilized
energy budget and sends a response to the node from which the IncreaseRate mes-
sage is received. The response message then traces the footprint of the IncreaseRate
message until it reaches node k. Any node, which receives the response message,
compares the amount of extra traffic ∆f it can carry with the ∆ru in the message
and updates ∆ru ← min{∆f, ∆ru}. Then, it forwards the response message towards
node k with the newly updated ∆ru. When the response message reaches node k, it
should know how much extra traffic node u can inject into the path u k. Similarly,
node k can initiate a second DFS to find a path v k and identify the amount of
node v’s traffic fvk in the path v k. Once fvk is known, fvs can be easily computed
as fvs ← min(fks, fvk), which is then used as an upper limit for ∆ru. This DFS
procedure is illustrated in Figure 3.6(b). As the last step, node k calculates the final
∆r∗u and ∆r∗v such that they satisfy the conditions presented in case 1. If the final
∆r∗u and ∆r∗v are both non-zero, node k sends a Commit message to all the nodes
79
in the paths u k, v k and k s to apply the flow adjustment accordingly as
shown in Figure 3.6(c). Otherwise, node k should try other links and the depth first
search continues.
However, the search operation described above is a global operation and the num-
ber of possible sub-flows to search can be exponential. Thus, to minimize the over-
heads, we only seek to increase the rate of a node by reducing at most K sub-flows
of any other nodes that have a higher rate. Thus, the time complexity of this flow
adjustment mechanism is bounded by O(Kn2BH), where n is the total number of
sensor nodes, B is the branching factor of the underlying DAG, and H is the time
needed to traverse the diameter of the network.
3.4.3 DAG Augmentation
The UpdateRate algorithm presented in Section 3.4.1 with the flow adjustment
mechanism presented in Section 3.4.2 can compute a good rate allocation when the
underlying routing structure is given. In this section, we seek to improve the rate
assignment further by exploiting unused links in the network. However, not every
unused link can be exploited to improve the overall rate assignment. The only useful
links are those that satisfy the property described in Proposition 3.4.2.
Proposition 3.4.2. Let G denote a network and let A denote a DAG in G. Assuming
the optimal maxmin fair rate assignment and routing paths w.r.t. the DAG A is
known, if a non-bottleneck node j can find a neighbor k in G, such that rk > rj, and
the link (j, k) is not used in DAG A, then adding link (j, k) to the DAG will improve
the rate assignment.
80
Proof. Since after adding link (j, k), node j becomes a descendant of node k, the
rates of node j and node k can be adjusted according to case 3 in Section 3.4.2. After
the flow adjustment is done, the overall rate assignment becomes larger in terms of
maxmin fairness because the new rate of node j is larger and the new rate of node k
is no smaller than the old rate of node j. This completes the proof.
Figure 3.7 shows how a link can be added to improve rate assignment. Suppose
we are given the tree as shown in Figure 3.7(b) and its optimal rate assignment w.r.t.
the tree is (rA, rB, rC , rD) = (4, 4, 3, 3). Adding link (C,B) as shown in Figure 3.7(c)
cannot improve the rate assignment because node C is already saturated. Thus,
Node C cannot generate or forward more traffic. However, if link (D,B) is added
as shown in Figure 3.7(d), then we can improve the rate assignment by reducing rB
to 3.5, increasing rD to 3.5 and routing the extra 0.5 pkts data flow generated by
node C through node B. After that, the rate assignment becomes (rA, rB, rC , rD) =
(4, 3.5, 3, 3.5). Note the new rate assignment is not optimal as we can keep improving
it by applying those flow adjustment mechanisms presented in Section 3.4.
3.4.4 The DLEX-DAG Algorithm
Based on Proposition 3.4.2, we propose the following distributed algorithm to
jointly compute a maxmin fair rate assignment and its associated routing paths in
the network. The basic idea is to first construct an initial DAG and compute a feasible
initial rate assignment for all the nodes in the network. Then, the flows are adjusted
according to the mechanism presented in section 3.4.2. Once the flow adjustment is
done, the DAG is augmented by adding links that satisfy the properties specified in
81
N o d e I D R e c h a r g i n g R a t e B a t t e r y L e v e lA 14 0
B 6 0
C 6 0
D 6 0
TX cost per pkt 1
RX cost per pkt 0
Sensing 0
(a) Parameters used in the example
4
4
3
3
(b) Initially, the rate assignment is(rA, rB , rC , rD) = (4, 4, 3, 3)
4
4
3
3
(c) Adding link (C,B) can not improve rateassignment. Thus rate assignment is still(rA, rB , rC , rD) = (4, 4, 3, 3).
4
3.5
3
3.5
(d) Adding link (D,B) improves rate assign-ment to (rA, rB , rC , rD) = (4, 3.5, 3, 3.5).
Figure 3.7: An example of DAG augmentation.
82
Proposition 3.4.2. This process is repeated until no link addition can improve the
rate assignment further. The pseudo-code is presented in Algorithm 6 for reference.
Algorithm 6: DLEX-DAG: Joint Rate Allocation and Routing Algorithm
1: Construct a load-balanced tree in the network. It should be noted thatconstructing the optimal load-balanced tree is NP-hard. Thus, one can useany heuristic algorithm to construct an approximately load-balanced tree [24]and use it as the initial DAG.
2: Compute the optimal rate assignment and routing paths using the UpdateRatealgorithm presented in Section 3.4.1.
3: Based on Proposition 3.4.2, once flow adjustment is done, eachnon-bottleneck node i locally checks whether there is anyneighboring node j that has a higher rate. If yes, add link (i, j) to the DAG.
4: The sink sorts the rate assignment and initiates rate adjustment using themechanism described in Section 3.4.2. This step repeats until no flowadjustment is possible or some stopping criteria is met.
5: Repeat step 3 and 4 until the rate assignment cannot be improved further .
Figures 3.8 and 3.9 show how the DLEX-DAG algorithm works step by step. In
the first step (Figure 3.8), the algorithm constructs an approximately load-balanced
tree in the network. Then, the UpdateRate algorithm is applied in step 2 to compute
an initial rate assignment (rA, rB, rC , rD) = (4, 4, 3, 3) and determine the flows on each
link (Figure 3.9). In step 3, Proposition 3.4.2 is applied to identify links that can be
used to improve the rate assignment. Since link (D,B) satisfies the property stated in
the proposition, it is added to the underlying DAG. Step 4 performs flow adjustment
on nodes B and D by reducing rB by 0.5, increasing rD by the same amount and route
the extra traffic of node D to the sink through node B. The rate assignment becomes
(rA, rB, rC , rD) = (4, 3.5, 3, 3.5). Similarly, in step 5, flow adjustment is performed on
node C and D by reducing rD by 0.25 and increasing rC by the same amount. The
rate assignment thus becomes (rA, rB, rC , rD) = (4, 3.5, 3.25, 3.25). Step 6 performs
83
N o d e I D R e c h a r g i n g R a t e B a t t e r y L e v e lA 14 0
B 6 0
C 6 0
D 6 0
TX cost per pkt 1
RX cost per pkt 0
Sensing 0
(a) Parameters used in the example (b) Step 1: Construct a tree as the initialDAG.
4
4
3
3
(4)
(6)
(3)
(c) Step 2: Run the UpdateRate algo-rithm to get an initial rate assignment:(rA, rB , rC , rD) = (4, 4, 3, 3)
4
4
3
3
(4)
(6)
(3)
(d) Step 3: Link (D,B) satisfies the propertyin Proposition 3.4.2. Add it to the tree.
Figure 3.8: An example of DLEX-DAG algorithm (step 1-3). The numbers in paren-thesis represent the amount of traffic on each link.
84
4
3.5
3
3.5
(4)
(6)
(3)
(0.5)
(a) Step 4: Perform flow adjustment on nodeB and D. The rate assignment becomes(rA, rB , rC , rD) = (4, 3.5, 3, 3.5).
4
3.5
3.25
3.25
(4)
(6)
(2.75)
(0.5)
(b) Step 5: Perform flow adjustment on nodeC and D. The rate assignment becomes(rA, rB , rC , rD) = (4, 3.5, 3.25, 3.25).
3.75
3.75
3.25
3.25
(4.25)
(6)
(2.75)
(0.5)
(c) Step 6: Perform flow adjustment on nodeA and B. The rate assignment becomes(rA, rB , rC , rD) = (3.75, 3.75, 3.25, 3.25).
3.75
3.5
3.25
3.5
(4.25)
(6)
(2.75)
(0.75)
(d) Step 7: Perform flow adjustment on nodeB and D. The rate assignment becomes(rA, rB , rC , rD) = (3.75, 3.5, 3.25, 3.5).
Figure 3.9: An example of DLEX-DAG algorithm (step 4-7). The flow adjustmentcan continue until no improvement is possible or some stopping criteria is met. Similarto the previous figure, the numbers in parenthesis represent the amount of traffic oneach link.
85
flow adjustment on node A and B by reducing rA by 0.25 and increasing rB by the
same amount. The rate assignment becomes (rA, rB, rC , rD) = (3.75, 3.75, 3.25, 3.25).
Lastly, in step 7, flow adjustment is performed on nodes B and D by reducing rB by
0.25, increasing rD by the same amount and route the extra traffic of D to the sink
through B. The rate assignment becomes (rA, rB, rC , rD) = (3.75, 3.5, 3.25, 3.5)
It can be observed that the final rate assignment (rA, rB, rC , rD) = (3.75, 3.5, 3.25, 3.5)
presented in the example is not optimum and the algorithm will take many more it-
erations of flow adjustments before the rate assignment can reach the optimal point
for the given routing structure. To reduce the overhead, a stopping criteria can be
introduced. There are many different ways for choosing stopping criteria. For ex-
ample, suppose the rate assignment vector in the previous iteration is Rold and the
rate assignment vector of current iteration is Rnew, then the sink can choose to stop
adjusting flows if |Rnew − Rold| < ∆, where ∆ is a predefined system parameter. Al-
ternatively, the sink can also choose to adjust flows for a fixed number of iterations.
For simplicity, we choose the second approach while evaluating the algorithm using
TOSSIM simulations. Although this approach does not provide any guarantee on
the quality of the generated solution, we show that by running the algorithm for a
sufficient number of iterations, the generated solution is close to the optimum.
3.5 Evaluation Results
In this section, we evaluate the DLEX-DAG algorithm for jointly computing rout-
ing paths and rate assignments using TOSSIM. To reduce overheads, we only run
steps 3 and 4 (the DAG augmentation and the flow adjustment procedures) in Algo-
rithm 6 just once.
86
3.5.1 The Impact of Recharging Profiles
In the first set of simulations, the recharging profiles of sensor nodes are varied
randomly within the interval of [−5%, 5%], [−10%, 10%], and [−20%, 20%]. To show
the effectiveness of our flow adjustment algorithm, we construct an approximately
load-balanced tree based on the connectivity graph of Motelab testbed and use it as
the initial DAG in the simulations. We also run a simple program on the testbed
to take a snapshot of all the links that could be used to augment the tree in our
algorithm. As shown in Figure 3.10, the resulting rate assignment computed by
DLEX-DAG algorithm is close to the optimum.
3.5.2 The Impact of Node Density
In the second set of simulations, three networks of different node densities are
created by uniformly distributing 100 nodes in regions of size 80m×80m, 100m×100m
and 120m× 120m. The sink is placed at the bottom left corner of the field. Similar
to the previous set of simulation, an approximately load-balanced tree is constructed
for each network as the initial DAG. As shown in Figure 4.4, for DLEX-DAG, the
final computed rate assignment is close to the optimum.
3.5.3 Protocol Overheads
We evaluate the signaling overhead and the protocol running time using high
(100 nodes
80 m2) and low (
100 nodes
120 m2) node densities and compare them with the DLEX
algorithm presented in [24]. It can be clearly seen in Figure 3.12 that, the signaling
overhead and protocol running time are both higher than DLEX. This is expected as
DLEX stops as soon as the rate computation for the initial tree is completed, while
DLEX-DAG seeks to improve the rate by iteratively adding new links and adjusting
87
5
10
15
20
25
30
0 20 40 60 80 100 120R
ate
[pkt
s]
Node ID
DLEX
DLEX-DAG
OPT
0.5 0.9 1.3
0 10 20 30 40 50
(a) Variation of profile = 5%
0
5
10
15
20
25
30
0 20 40 60 80 100 120
Rat
e [p
kts]
Node ID
DLEX
DLEX-DAG
OPT
0.5 0.9 1.3
0 10 20 30 40 50
(b) Variation of profile = 10%
0
5
10
15
20
25
30
0 20 40 60 80 100 120
Rat
e [p
kts]
Node ID
DLEX
DLEX-DAG
OPT
0.5 0.9 1.3
0 10 20 30 40 50
(c) Variation of profile = 20%
Figure 3.10: Impact of profile variations
88
0.5
1
1.5
2
2.5
3
3.5
0 10 20 30 40 50 60 70 80 90 100R
ate
[pkt
s]
Node ID
DLEX
DLEX-DAG
OPT
0.4
0.5
0.6
0 10 20 30 40 50
(a) Node density =100 nodes
80× 80 m2
1
6
11
16
21
0 10 20 30 40 50 60 70 80 90 100
Rat
e [p
kts]
Node ID
DLEX
DLEX-DAG
OPT
1 2 3
0 10 20 30 40 50
(b) Node density =100 nodes
100× 100 m2
0.2
0.4
0.6
0.8
1
0 10 20 30 40 50 60 70 80 90 100
Rat
e [p
kts]
Node ID
DLEX
DLEX-DAG
OPT
0.3 0 10 20 30 40 50
(c) Node density =100 nodes
120× 120 m2
Figure 3.11: Impact of node density
89
flows in the network. Furthermore, if the node density is high, then the signaling
overhead and running time of DLEX-DAG are both high. This is due to the fact that
the number of paths for reaching the sink is increasing with the node density. One
way to reduce the overhead is to limit the number of paths a node can take to reach
the sink. However, this becomes a trade off because the resulting rate allocation could
be far from the optimum.
3.5.4 The Impact of Initial Routing Structure
To understand the impact of the initial routing structure constructed in step 1
on the generated solution, we vary the node density and compare the final computed
rate assignment when the initial routing structure is a tree and a DAG.
Figure 3.13 shows the final computed rate assignment when the initial routing
structure is a tree and a DAG. It can be observed that using a tree as the initial
routing structure can generate a better final rate assignment. This is because, for
efficiency and implementation considerations, our flow adjustment algorithm do not
allow a link to be reversed once it is added to the routing structure. Therefore, if the
direction of a link is different from the one in the optimal solution, this will result in
missed opportunity for improving the rate assignment.
3.6 Summary
In this chapter, we studied the maxmin fair rate allocation problem for recharge-
able sensor networks. We propose a fast distributed algorithm, called DLEX-DAG,
that can jointly compute a DAG that supports a near-optimum maxmin fair rate as-
signment. To evaluate the proposed distributed algorithms, we conducted extensive
90
0
100
200
300
0 20 40 60 80 100
# of
pac
kets
Node ID
DLEX
0
1000
2000
3000
0 20 40 60 80 100
# of
pac
kets
DLEX-DAG
(a) Signaling overhead under high node density
(100 nodes
80× 80 m2)
0
100
200
300
0 20 40 60 80 100
# of
pac
kets
Node ID
DLEX
0
200
400
600
0 20 40 60 80 100
# of
pac
kets
DLEX-DAG
(b) Signaling overhead under low node density
(100 nodes
120× 120 m2)
0
500
1000
1500
2000
2500
3000
3500
4000
4500
DLEX-DAG(lo)
DLEX(lo)
DLEX-DAG(hi)
DLEX(hi)
Tim
e [s
]
56
3766
69
814
(c) Protocol running time. The first (second) andthe third (fourth) bars represent the running timeof DLEX (DLEX-DAG) under high and low nodedensities
Figure 3.12: Ovearheads of the DLEX-DAG algorithm91
0.5
1
1.5
2
2.5
3
3.5
0 10 20 30 40 50 60 70 80 90 100R
ate
[pkt
s]Node ID
Tree
DAG
0.4
0.5
0.6
0 10 20 30 40 50
(a) Node density =100 nodes
80× 80 m2
1
6
11
16
21
0 10 20 30 40 50 60 70 80 90 100
Rat
e [p
kts]
Node ID
Tree
DAG
1 2 3
0 10 20 30 40 50
(b) Node density =100 nodes
100× 100 m2
0.2
0.4
0.6
0.8
1
0 10 20 30 40 50 60 70 80 90 100
Rat
e [p
kts]
Node ID
Tree
DAG
0.3 0 10 20 30 40 50
(c) Node density =100 nodes
120× 120 m2
Figure 3.13: Impact of node density
92
simulations using TOSSIM under various scenarios. The results show that DLEX-
DAG can generate near-optimum solutions. However, its signaling overheads and
running time are sensitive to the node density and the initial routing structure. As
part of our future work, we plan to explore more efficient distributed solutions that
can jointly compute the optimal DAG routing structure, rate assignment, and flows
on each link in the network.
93
CHAPTER 4
Latency Aware Data Dissemination
4.1 Objective
The objective is to design a solution to support reliable bulk data dissemination
service from a sink node in the presence of renewable energy resources, that ensures
perpetual operation and minimizes the latency to disseminate a given data object to
all the sensor nodes.
Data dissemination is important to support two classes of applications in senor
networks, namely, network reprogramming [35, 50, 66, 34] and mobile agent mid-
dleware [26, 28]. Network reprogramming is needed whenever statically deployed
software requires an update. This is of particular importance in perpetual sensor
networks to address unforeseen challenges imposed by the environment or changes
in user requirements. As an alternative to programming all the sensors with static
code, mobile agent middleware can be used. Different groups of sensor nodes may
run different agents simultaneously and agents can migrate or clone themselves to
desired locations in response to changing conditions in the environment. However,
data dissemination can be a difficult task in perpetual sensor networks because the
battery levels of sensor nodes could be low after operating for a long period of time
94
and the sensor’s recharging rates are dynamic. Take solar power for example. The
factors that could affect a sensor’s recharging capability include the location, the
angle of its solar panel, the efficiency of voltage regulator, and the strength of the
sunlight. Additional difficulties can arise when sensors cannot draw power from the
battery and must operate solely on the solar panel. This can happen when the bat-
tery has exceeded the limits of its recharging cycle or when the temperature prohibits
recharging (lithium-ion batteries can neither be charged below 0◦C nor above 45◦C
[49]).
Existing protocols for network reprogramming and data dissemination [35, 50,
31, 66, 34] are based on a fixed battery lifetime, which do not consider the spatial-
temporal dynamics of recharging. Thus, they can fail to complete the operation or
perform inefficiently. For instance, in Deluge [35] nodes with low battery levels and
recharging rates can repeatedly request for new data but fail to successfully save it and
become hot-spots in the network. The excessive traffic generated by hot-spot nodes
not only consumes extra energy at neighboring nodes, but also prolongs the latency
of data dissemination. Moreover, when the data dissemination task is completed, a
node can end up with a low battery level, resulting in a low data collection rate as
well as a low duty cycle after the network resumes its operation.
Figure 4.1 demonstrates an example network in which existing data dissemination
protocols perform inefficiently as they do not consider the recharging rates of sensors.
Figure 4.1(a) shows the network topology. There are 5 nodes in the network. Node
s is the sink and nodes i, j, k and p are sensor nodes. The recharging rates for
nodes i, j, k and p are 2, 1, 1 and 1 units per second respectively. The dashed lines
represent the links in the network and we ignore interference and collisions in this
95
example. Suppose the data object consists of 5 pages (or blocks), and the energy
cost for transmitting and receiving each page is 1 unit of energy. Then, the optimal
solution would be to deliver the data object using the tree shown in Figure 4.1(c),
which takes only 5 seconds. However, a tree based data dissemination protocol, such
as CORD, usually build trees based on the degree of nodes. Therefore, they can
use the tree shown in Figure 4.1(b) to disseminate the data object, which takes 10
seconds. In epidemic protocols, such as Deluge, sensor nodes will seek to download
data from an arbitrary neighbor that has the page it needs. So node p will try to
download each page from either node i or node j with equal probability. Therefore,
on the average, it takes 7.5 seconds to complete the data dissemination.
4.2 Related Works
There are two classes of data dissemination protocols. They are epidemic protocols
and tree-based protocols. In this section, we briefly summarize these protocols and
show the potential problems when such protocols are used in rechargeable sensor
networks.
4.2.1 Epidemic Protocols
Deluge [35] and MNP [50] are two classic epidemic protocols. Their goals is to
minimize latency. Data is disseminated using a three stage mechanism (ADV-REQ-
DATA) without having a core structure (such as a tree) in the network. To exploit
spatial multiplexing, Deluge divides large data objects into smaller pieces, called
pages. Then, each page is pipelined through the network one by one. MNP [16] is
very similar to Deluge. The key difference is that MNP uses a greedy leader election
algorithm which gives a source node with more neighbors a higher priority to use
96
i j
p
s
k
(a) An example network thatconsists of 5 nodes. Node s isthe sink and the others are sen-sor nodes. The dashed lines rep-resent the links between nodes.
i j
p
s
k
(b) A tree-based protocol couldconstruct a tree shown in thisfigure to disseminate data ob-jects. Then, it takes 10 secondsto disseminate the object to allthe sensor nodes.
i j
p
s
k
(c) This is the best tree thatshould be used for data dissem-ination because node i has thehighest recharging rate and itcan forward the data object tonode p at a higher rate. In thiscase, it takes only 5 seconds todisseminate the data object toall the sensor nodes.
Figure 4.1: An example case that shows the deficiency of existing data disseminationprotocols in rechargeable sensor networks. In this example, we ignore interferenceand collisions. The recharging rates of node i, j and k are 2, 1 and 1 unit(s) persecond. The object consists 5 pages and it takes 1 unit of energy to transmit andreceive each page. If the tree in Figure 4.1(b) is used, it takes 10 seconds to finishthe data dissemination. However, if the tree in Figure 4.1(c) is used, it only takes 5seconds as node i has a higher recharging rate.
97
the channel. This mitigates the hidden terminal problem and thus reduces energy
consumption on recovering lost packets. The problem of epidemic protocols is exces-
sive overhearing. In order to minimize latency, epidemic protocols take advantage of
the broadcast nature of the wireless medium and overhear all the data transmission
even if the page being transmitted by the neighbors is not the desired one. Since the
amount of energy can be harvested from the environment is highly dynamic, excessive
overhearing can cause nodes to deplete their batteries and prolongs the latency.
4.2.2 Tree-based Protocols
In contrast to epidemic protocols, tree-based based protocols disseminate data over
a tree. Having a tree in the network can greatly reduce the energy consumption caused
by overhearing by putting nodes to sleep when their parent nodes are not transmitting.
Sprinkler [66] and CORD [34] are two representative tree-based protocols. Sprinkler
uses a connected dominating set (CDS) of nodes to assist data dissemination. A new
coloring scheme, called distance-2 vertex (D-2) coloring, is performed on the CDS
nodes to get a TDMA schedule. The data is distributed over the CDS using the
TDMA schedule. Nodes not in the CDS select a node in the CDS as its parent and
overhear the transmissions from its parent. Although distributing data over the CDS
can reduce the number of transmissions, nodes in the CDS have a higher load than
the others. If the data object is large, some of these nodes could run out of energy
which will increase the latency. Similar to Sprinkler, CORD constructs a tree for data
dissemination. However, unlike Sprinkler, CORD only synchronizes sensor nodes at
macro time slot. A macro time slot is an interval that is large enough for transmitting
a segment and recover the lost packets during the transmission. CORD also makes use
98
of the pipelining technique to quickly disseminate data objects over the tree. When
a node is not transmitting nor receiving data, it is put to sleep to conserve energy.
Unfortunately, CORD does not consider interference among sibling nodes in the tree
and it does not consider recharging capability of sensor nodes either. Therefore,
sensor nodes could still run out energy during the data dissemination process.
4.3 Network Model
We consider a static sensor network in which each sensor node is assumed to have
recharging capability and the recharging profile in the near future is either known or
can be predicted. Similar to existing reprogramming protocols [35, 50, 31, 66, 34],
the data object is divided into multiple smaller pages for pipelining.
Under the above network model, the problem is to disseminate a data object in
the shortest possible time, such that the following constraints are satisfied. First, all
the nodes should reliably receive a copy of the data object. We refer to this constraint
as the coverage constraint. Second, if the data object is partitioned into pages, then
sensor nodes must receive the pages in order. This is because sensor nodes typically
have very limited memory and it can only process a small amount of data (e.g., a
few kilo-bytes) at one time. Moreover, a node cannot forward a page until it has
successfully received a copy from its neighbors. We refer to these constraints as the
transmission order constraints. Third, a node cannot receive a new page and transmit
a previously received page at the same time. Lastly, no node ever runs out of energy
during the data dissemination process. We refer to the last two constraints as the
interference constraint and energy constraint, respectively.
99
4.4 Latency Aware Data Dissemination Protocol
Two major categories of data dissemination protocols are epidemic protocols [35,
50] and core based protocols [66, 34]. Epidemic protocols minimize broadcast latency
by breaking the data object into pages and pipeline each page through the network
one by one. There is no core structure in the network. Every node has an equal
opportunity to be elected by neighboring nodes to forward a page. When a node
is not transmitting, it aggressively overhears any data transmission over the air to
collect its needed page. Core based protocols, on the other hand, aim to minimize
energy consumption by disseminating the data object over a core structure, such as
a tree. Nodes can be put to sleep when their parent nodes are not transmitting.
Since the latency of data dissemination in renewable energy based sensor networks
can arise from recharging as well as interference, both spacial multiplexing and energy
thrift are essential to minimizing latency in rechargeable sensor networks. To this end,
LADP adopts a hybrid approach. The data object is disseminated through a static
core structure, i.e., a DAG. The DAG can be constructed using any routing metrics
such as hop distance to the sink. However, since each node in the DAG has the
flexibility to choose any parent node in the DAG to receive the data, we partition
the data object into groups, and allow each node to choose a different parent node
in the DAG to receive a different group. Each group is further divided into pages for
pipelining. Thus, each group is distributed over a different tree in the DAG. However,
there is more behind the tree construction. For example, each tree must be built in
a way such that a group can be disseminated with the minimum latency. In the
remaining section, we first discuss the key ideas on how a tree is built in LADP to
100
0 1 2 3 4 25 26 27… 28 29
Group 0 Group 4
30 31 32
Group 5
Figure 4.2: An illustration of how the data object is partitioned in to groups. Eachsmall rectangle in the figure represents a page and each group contains 5 continuouspages. Since the data object consists of 33 pages, there are 6 groups in total and thelast group contains only 3 pages.
disseminate a group of pages. Then, we generalized the idea and present the complete
LADP protocol.
4.4.1 Minimum Latency Tree Construction
With the goal of minimizing the latency of disseminating data objects to all the
nodes in the network, we first ask the following question: is there a way to build a tree
and compute a transmission schedule for all the non-leaf nodes such that when the data
object is disseminated using the tree and the computed schedule, the maximum latency
is minimized and no sensor dies during the process? Unfortunately, even without the
energy constraints, this problem is equivalent to computing the minimum broadcast
latency schedule, which is known to be NP-hard [18, 27].
Since the NP-hardness comes from the scheduling part of the problem, we first
decouple the interference constraints from the energy constraints and seek to build
a tree for a group of pages with the minimum recharging induced latency. Our
tree construction algorithm is based on a latency estimation algorithm presented in
Algorithm 7. The algorithm estimates the latency for a node to completely receive and
transmit all the pages in a group without considering interference from neighboring
nodes. For ease of explanation, we assume that time is slotted and all the sensor nodes
101
are synchronized. The slot interval ts is a constant and large enough to transfer a
page. Each group consists of k pages. We will discuss how these assumptions can be
generalized in later paragraphs.
Algorithm 7: Algorithm for estimating time for k pages to pass through nodeiInput: t: the slot number in considerationInput: B(t): the battery level at time tInput: nrx: next page to RXInput: ntx: next page to TXInput: Si
tx: an array that stores the TX schedule of all the N pages of theselected parent node i
Input: Sjtx: the pointer to an output buffer for computed TX schedule
Output: L: the estimated minimum latency// Terminating condition. This node has received and forwarded
all the k pages in a group
if nrx = k and ntx = k then1
return 0;2
// To minimize maximum latency of the descendants, it is better
to transmit a page immediately when it is available.
if ntx < nrx then3
ttx ← earliest possible slot to TX a page under energy constraints4
B ← the estimated battery level after TX5
L← (ttx − t + ts) + F (ttx + 1, B, nrx, ntx + 1, N, Sitx)6
Sjtx[ntx]← ttx7
else8
// ntx = nrx
trx ← earliest possible slot to RX a page under energy constraints9
if trx < Sitx[ntx] then10
// The parent node i is not able to transmit page nrx at
time trx, we need to postpone our reception schedule.
trx ← the TX time of page nrx in Sitx11
B ← the expected battery level after RX12
L← (trx − t + ts) + F (trx + 1, B, nrx + 1, ntx, N, Sitx)13
return L14
102
Algorithm 7 uses recursion to estimate the time needed for all the k pages in
a group to “pass” through a node. The input parameters include the time instant
t in consideration, the total number of pages k, the next in-sequence page nrx a
node wishes to receive, the next in-sequence page ntx that a node wishes to transmit,
the battery level B(t) of the node at time t, and the transmission schedule Sitx of the
selected parent node i. In the beginning, Line 1 checks whether this node has received
and forwarded all the k pages. If the answer is yes, then this node has done all the work
and the function returns 0 as the latency. Since it is better to forward a page needed by
children nodes as early as possible when it comes to minimizing the maximum latency,
Line 3 checks whether there is any un-forwarded page. If there is, Line 4 computes
the earliest possible time when the next un-forwarded page can be transmitted under
the energy constraints. Line 5 estimates the battery level after the transmission is
completed. After that, Line 6 recursively calls the function itself to compute the
remaining time to completion. Note that since we know the time t in consideration,
the battery level B(t) at time t, and the recharging profile is also known, Lines 4 and
5 can be implemented by scanning through the recharging profile and emulating the
recharging process until the time when the battery level is high enough to send or
receive a page. Similarly, if no more pages can be forwarded, Line 9 computes the
earliest possible time a node can receive the next page. However, since a node cannot
receive a page until its parent can forward that page, Line 10 checks whether the
computed reception time is earlier than the earliest possible transmission time of that
page in the parent’s schedule. If it is the case, Line 11 postpones the reception schedule
and Line 12 computes the estimated battery level when the reception completes.
103
Finally, Line 13 recursively calls the function itself to compute the remaining time to
completion.
Once a node has estimated its own latency, it announces the estimated latency to
its children nodes in the DAG. However, in order for those children nodes to estimate
their own latency, the transmission schedule must also be given to them. To get the
transmission schedule, a node needs to trace the steps taken by Algorithm 7 to figure
out its best transmission schedule. To solve this problem, we use an array of size k to
track the earliest possible transmission time of each page respectively. This is done
in Line 7 of Algorithm 7.
4.4.2 Slot size estimation
Although by using Algorithm 7, one can determine the local minimum latency
and transmission schedule for receiving and forwarding all the k pages in a group, it
does not consider the latency induced by interference. To this end, we let each node
locally monitor the amount of time it takes to successfully receive and forward a page.
The time for a node to successfully receive or forward a page is a good estimation
of interference induced latency because it includes the time needed for competing
with neighboring nodes to download/forward a page as well as the time needed for
recovering the lost packets during reception/transmission. Each time a node samples
the amount of time it takes to successfully receive (ℓrx) or transmit (ℓtx) a page, it
takes the exponentially weighted moving average (EWMA) using Equations (4.1) and
(4.2), where Erx and Etx represent the average time it takes for a node to successfully
receive and forward a page. The EWMA is then applied to Lines 6 and 13 of Algorithm
7 as shown in (4.3) and (4.4).
104
Erx(t + 1)← α× Erx(t) + (1− α)ℓrx (4.1)
Etx(t + 1)← α× Etx(t) + (1− α)ℓtx (4.2)
L← (trx − t + Erx)+
F (trx + Erx, B, nrx + 1, ntx, N, Sitx, S
jtx) (4.3)
L← (ttx − t + Etx)+
F (ttx + Etx, B, nrx, ntx + 1, N, Sitx, S
jtx) (4.4)
Using Algorithm 7 to estimate the latency for k pages to pass through a node, the
basic LADP protocol constructs a data dissemination tree as follows. In the beginning,
the sink estimates and broadcasts its best transmission schedule (t0, t1, ..., tk−1) and
the latency tk−1 − t0 to its children nodes in the DAG. When any non-sink node h
has collected the latency and transmission schedule from all of its parent nodes in
the DAG, it chooses the node with the minimum latency as its parent for receiving a
group of pages. Then, it computes its own latency and transmission schedule using
Algorithm 7 for the k pages in the group. After that, node h broadcasts its latency
and transmission schedule to its children nodes in the DAG. This process continues
until the leaf nodes are reached. Afterwards, each node requests to download all the
k pages in the group from its selected parent node.
4.4.3 Data Dissemination with Adaptive Sleeping
Once the data dissemination tree for a group is constructed, LADP follows a
similar three stage (ADV-REQ-DATA) mechanism used by Deluge [35], MNP [50],
105
and CORD [34] to disseminate the group in the network. In this mechanism, a node
periodically announces the number of pages and groups it has. If a node learns that
its parent node in the tree has a page within the group it needs, it sends a request to
the parent if it has sufficient energy to complete the reception of one page. On the
other hand, when a node receives a request, it responds with the requested page if it
has sufficient energy to finish transmitting the page. To allow pipelining, whenever a
node overhears a request or data packets with a lower page number, it suppresses its
own request to yield the wireless channel.
To avoid excessive overhearing, we made the following enhancements to the three
stage mechanism. In the advertisement messages, a node also broadcasts the amount
of time until it can successfully transfer a page. If it is currently chosen as the parent
node by some neighboring nodes, those children nodes can switch to the sleep mode
until the time their parent is expected to recover from the energy crisis. Moreover, if a
node receives data packets that are part of any page it already has or the transmitter
is not its current parent, it stops overhearing the remaining data packets by switching
the radio to the idle state. Lastly, a node should not send a request to its parent
until it has enough energy to receive a page. These simple rules allow a more efficient
use of the harvested energy which leads to a shorter recharging induced latency. In
Section 4.5, we will show how these adaptive sleeping rules together with the latency
estimation algorithm can indeed expedite the process of bulk data dissemination.
4.4.4 Implementation Issues
There are a few important issues yet to be addressed. In order to minimize
signaling latency, trees should be built on the fly as their corresponding groups are
106
being disseminated. Furthermore, different groups should also be pipelined in the
network to exploit spacial multiplexing. These can be achieved by extending the
three stage mechanism mentioned above as follows. Each node periodically estimates
the latency and transmission schedule for the group it is downloading. If a node
is not downloading a group, then it should estimate the latency and transmissions
schedule for forwarding the last received group. Then, the latency and transmission
schedule should be advertised to children nodes in the DAG along with the total
number of pages and groups it has. In the mean while, a node should also collect the
advertisement messages sent by all of its parent nodes in the DAG. If a node finds
that some parent nodes in the DAG have a new group it needs and it is not currently
downloading any group, it chooses the one with the minimum latency and starts
downloading the group from the selected parent node and re-estimate the latency
and transmissions schedule according to the transmission schedule of the selected
parent node. Once a node has selected a parent, it sticks to that parent until all the
pages within the needed group are successfully downloaded.
However, due to missed advertisements or recharging latency, different children
nodes could choose to download the same group or even a different (older) group
from the same parent node at different times. Then, a parent node will have to start
over and resend all the pages in the group for the newly joined child node, which will
increase the latency. For more accurate latency estimation, one must take the latency
of such retransmissions into account. Thus, whenever the advertisement timer expires,
a node needs to recompute the latency and its transmission schedule according to the
remaining number of pages it needs to forward, which can be estimated by using
the last page number requested by the children nodes. As shown in Algorithm 8,
107
Algorithm 8: Algorithm used to compute latency and transmission schedulewhen the advertisement timer expires
pn ← the last page number requested by the children1
gn ← ⌊pn
k⌋
2
// Convert the page numbers to page indices within the group
ij ← pj mod k3
in ← pn mod k4
if gn equals the current group I am receiving then5
// Function L uses Algorithm 7 to estimate the latency for
forwarding a group.
L← F (t, B(t), ij, in + 1, k, SP (j)tx , Sj
tx)6
else7
L← F (t, B(t), k, in + 1, k,NULL, Sjtx)8
Broadcast ADV message;9
if the last page requested by the children nodes belongs to the same group that a
node is receiving from its parent, then Line 6 recomputes the latency according to
the remaining number of pages needs to be sent/received, a node’s recharging profile
and the latest transmission schedule advertised by its parent. It should be noted that
when computing the latency and transmission schedule, the page index in a group
must be used instead of the real page number. This conversion is done in Lines 3
and 4. Similarly, if the page requested by children nodes belongs to an older group
that has been successfully downloaded at an earlier time, then Line 8 recomputes the
latency and the transmission schedule according to a node’s recharging profile and
the remaining number of pages that needs to be transmitted. In this latter case, the
transmission schedule of the parent node can be ignored because all the pages needed
by the child node have been previously received. Thus, they should be transmitted
as soon as the energy level permits.
108
4.5 Performance Evaluation
We implement and evaluate the performance of the LADP protocol using a real
indoor testbed (Motelab) and TOSSIM 2.x [3]. The performance metrics include the
completion time and sensors’ down-time during the data dissemination process. We
vary the node density and the object size and compare the performance of LADP to
two variants of Deluge that are improved to work in such highly dynamic settings.
In order to run Deluge in TOSSIM, we remove all the code segments that access
the storage (EEPROM) from Deluge while keeping the others intact. However, we
emulate the energy consumption for accessing the EEPROM in the simulations.
To evaluate our design, we need recharging profiles of sensors. Similar to [24],
we define recharging profile as the recharging rates of sensors during a day. We
assume that the size of the solar panel is 37mm × 80mm and its efficiency is 10%
[38]. The recharging profiles are created using the real solar radiation measurement
collected from the National Renewable Energy Laboratory [2]. The data set used
is the Global 40-South Licor data set from the South Table Mountain site of the
National Renewable Energy Laboratory. Global 40-South Licor data set is the total
hemispheric solar irradiance on a south-facing surface titled 40 degrees and it is
optimized for year-round performance. The data of Feb. 2nd 2009 (partly cloudy) is
used to create recharging profiles. We converted the solar radiation measurements to
recharging rates according to our solar panel model.
We evaluate the LADP protocol using both an indoor testbed as well as TOSSIM
2.x. Since Deluge has the hot-spot problem which prevents the data dissemination
process from completion, we created two variants of Deluge for benchmark purposes.
In the first variant, Deluge-N, whenever the battery level of a node falls below the
109
target threshold, it turns itself off to recharge and does not come back alive and ask
for the next page until the battery level has recovered beyond a certain threshold
above the target level. This simple mechanism makes sure that when a node wakes
up again, it can at least successfully receive a new page. The second variant, Deluge-
E, adopts the adaptive sleeping rules (Section 4.4) in addition to the mechanism used
in Deluge-N. So, whenever a node overhears a data packet that belongs to a page it
already has, it turns off its radio to conserve energy.
4.5.1 Experiment Results
Motelab [1] is an indoor testbed that is deployed across three different floors in
the EECS building at Harvard University. There are 190 TMoteSky sensors deployed,
which consist of an TI MSP430 processor running at 8MHz, 10KB of RAM and a
Chipcon CC2420 radio operating at 2.4GHz with an indoor range of approximately
100 meters. We choose to run our experiments using the sensors located in the ground
floor. Furthermore, to test the reliability of the protocol, we let all the sensor nodes
have near empty battery levels and start the data dissemination at 5pm when the
recharging rates of sensors nodes are also low. Figure 4.3 shows that LADP not only
successfully delivers the data to all the nodes but also has a shorter latency than
Deluge-N and Deluge-E.
4.5.2 Simulation Results
Since we are not able to change node densities and run experiments for longer
than 30 minutes (due to the policy of the testbed), we do the rest of the evaluation
using TOSSIM 2.x simulator. We create three random network consisting of 100
nodes uniformly deployed in a 2D area with a sink at the bottom left corner. The
110
0
200
400
600
800
1000
1200
30KB20KB10KB
Tim
e [s
]Object size [KB]
LADPDeluge-EDeluge-N
Figure 4.3: Completion time of LADP, Deluge-N and Deluge-E on Motelab testbed.
density is varied by using three different dimensions. They are 80m × 80m (high
density), 100m×100m (medium density), and 120m×120m (low density). We use the
TelosB platform as the reference platform while accounting for power consumption
throughout the simulations. The power consumption of key operations is listed in
Table 4.1 for reference.
CPU in active state 1.8 mARadio in RX state 21 mARadio in RX state 23 mAExternal EEPROM in write state 20 mAExternal EEPROM in read state 4 mA
Table 4.1: Power consumption of TelosB [76]
4.5.3 Impact of node density
In the first set of simulations, we fix the object size at 10 KB and varied the
node density. The latency of LADP, Deluge-N and Deluge-E are presented in Figure
111
4.4. As can be seen in the figure, Deluge-N has a much higher latency than LADP
and Deluge-E, especially when the node density is high. The reason for the high
latency is that Deluge-N greedily overhears data transmissions of neighboring nodes
even when the overheard page is not desired. Therefore, Deluge-N needs more time to
recharge and it also undergoes more switches between “on” and “off” states. Figure
4.5 validates this observation by showing the CDF plot of sensors’ downtime during
the data dissemination process when Deluge-N is used. Comparing to Figures 4.6 and
4.7, it can be seen that Deluge-N has a much higher downtime than Deluge-E and
LADP.
Another observation can be made from Figure 4.4 is that the latency for LADP
increases slightly with increasing node density due to reduced opportunity for pipelin-
ing. However, LADP still has a lower latency than Deluge-E and Deluge-N. This is
because neither Deluge-E nor Deluge-N considers the latency caused by recharging
and interference. Therefore, a node could choose a neighbor with low battery level or
high interference level to download a page, slowing down the data dissemination.
Figure 4.6 shows the CDF plot of sensors’ downtime when Deluge-E is used. It
can be seen that the downtime is shorter than that of Deluge-N. This is expected
as Deluge-E is much more conservative in overhearing. However, before a node has
successfully received a page, there can be multiple neighboring nodes transmitting
the same page which Deluge-E still overhears. This results in a higher downtime
than LADP, whose CDF plot of downtime is presented in Figure 4.7. Note that
some sensors still die during the data dissemination when LADP is used. This is
because that a node could miss some data packets due to interference and downloading
missed packets requires extra energy. Furthermore, once a node is down, it takes
112
0
1000
2000
3000
4000
5000
HighMediumLow
Tim
e [s
]Node density
LADP
Deluge-EDeluge-N
Figure 4.4: Latency of LADP, Deluge-N and Deluge-E with varying node density
0
0.2
0.4
0.6
0.8
1
0 200 400 600 800 1000 1200
CD
F
Down time [s]
lowmedium
high
Figure 4.5: Downtime of Deluge-N with varying node density
time to recharge. Therefore, the downtime of LADP is slightly longer than expected.
However, the downtime is still much lower than Deluge-N and Deluge-E.
4.5.4 Impact of object size
In this set of simulations, we fixed the node density at100 nodes
100m× 100mbut we
increase the object size from 10KB to 30KB. As shown in Figure 4.8, LADP has
113
0
0.2
0.4
0.6
0.8
1
0 100 200 300 400 500
CD
F
Down time [s]
lowmedium
high
Figure 4.6: Downtime of Deluge-E with varying node density
0.8
0.82
0.84
0.86
0.88
0.9
0.92
0.94
0.96
0.98
1
0 20 40 60 80 100 120 140 160
CD
F
Down time [s]
lowmedium
high
Figure 4.7: Downtime of LADP with varying node density
114
0
1000
2000
3000
4000
5000
30KB20KB10KB
Tim
e [s
]Object size [KB]
LADPDeluge-EDeluge-N
Figure 4.8: Latency of LADP, Deluge-N and Deluge-E with varying object size
the lowest latency. This is because the latency estimation algorithm allows LADP
to explore the extra energy of lightly-loaded nodes as well as nodes experiencing less
interference to expedite the data dissemination process. Thus sensor nodes do not
have to wait for the battery to recharge or compete with a lot of neighboring nodes
before downloading/forwarding a page from/to its parent/children nodes. However,
it can also be observed that the latency of Deluge-E is only slightly higher than
LADP. This observation implies that recharging contributes most to the latency of
data dissemination. Thus, sensor nodes must use the harvested energy carefully.
Figure 4.9 shows the CDF plot of downtime. Once again, it shows that excessive
overhearing kills a lot of sensor nodes during the data dissemination process. However,
in both Figures 4.5 and 4.9, we observe that the downtime of sensor nodes are ex-
tremely unbalanced, i.e., some sensors have short downtime but the others have very
long downtime. This implies that some sensor nodes suffer from the excessive over-
hearing problem for a much longer time than the others. After tracing the locations of
these nodes, we found that nodes having a large downtime are those surrounded by a
115
0
0.2
0.4
0.6
0.8
1
0 200 400 600 800 1000 1200 1400 1600
CD
FDown time [s]
10KB20KB30KB
Figure 4.9: Downtime of Deluge-N with varying object size
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
0 100 200 300 400 500 600 700 800 900
CD
F
Down time [s]
10KB20KB30KB
Figure 4.10: Downtime of Deluge-E with varying object size
large set of neighboring nodes. This observation signifies the importance of reducing
excessive overhearing. Similar to previous set of simulations, Figures 4.10 and 4.11
show that LADP has the lowest downtime.
116
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
0 50 100 150 200 250 300
CD
FDown time [s]
10KB20KB30KB
Figure 4.11: Downtime of LADP with varying object size
4.5.5 Impact of Granularity of Recharging Profile
In previous simulations, we have assumed that each sensor node has perfect knowl-
edge about its future recharging profile. However, this may not be true in reality as
the dynamics of the environment is hard to predict. Furthermore, most sensor plat-
forms have very limited storage space. Thus, it is impractical to store the entire
recharging profile in the memory. Fortunately, several solar power prediction algo-
rithms [73][81] have been reported to achieve a relative mean prediction error of only
10%. In this section, we study the performance of LADP when only coarse recharging
rate information is available.
We fix the node density at100 nodes
100m× 100m, vary object size from 10KB to 30KB,
and the granularity of the recharging profile from 1 minute to 30 minutes (i.e., the
average recharging rate in 30 minutes is used to estimate latency and transmission
schedule of a sensor node). The latency of LADP under different granularity of the
recharging profile is presented in Figure 4.12. Although the result does not exhibit a
specific pattern, it does show that LADP can still work when only coarse recharging
117
0
500
1000
1500
2000
2500
3000
30KB20KB10KB
Tim
e [s
]Object size [KB]
11530
Figure 4.12: Latency of LADP with varying granularity of the recharging profile
profile is available. Thus, with the proven property of low downtime, we argue that it
is still advantageous to use LADP when accurate recharging profile is not available.
4.5.6 Impact of Battery Levels
In this section, we study the impact of battery levels to the latency. Similar to
the previous simulation, the node density is fixed at100 nodes
100m× 100mand the object
size is varied from 10KB to 30KB. In the first two simulations, we randomly choose
1/3 and 1/2 of the nodes to have high battery levels and let the other nodes have
low battery levels. It can be seen in Figures 4.13(a) and 4.13(b) that LADP still has
a shorter latency than Deluge-E. However, if all the nodes have have battery levels,
then, as can be seen in Figure 4.13(c), LADP has a longer latency then Deluge-E.
This is because LADP can only download data from parent nodes in the DAG. While
Deluge-E can choose to download the data from any neighboring node as soon as the
data is available.
118
0
500
1000
1500
2000
2500
3000
30KB20KB10KBT
ime
[s]
Object size [KB]
LADPDeluge-E
(a)1
3of the nodes have a high battery level.
0
500
1000
1500
2000
2500
3000
30KB20KB10KB
Tim
e [s
]
Object size [KB]
LADPDeluge-E
(b)1
2of the nodes have a high battery level.
0
200
400
600
800
1000
1200
1400
30KB20KB10KB
Tim
e [s
]
Object size [KB]
LADPDeluge-E
(c) All the nodes have a high battery level.
Figure 4.13: Impact of battery levels
119
4.6 Summary
In this chapter, we proposed a new protocol for providing bulk data dissemination
services in the presence of renewable energy resources. Using real indoor test-bed ex-
periments and extensive TOSSIM simulations with real solar irradiance measurements
from the National Renewable Energy Laboratory [2], we compared the performance
of the LADP protocol with two variants of Deluge that are re-engineered to work in
rechargeable sensor networks. Both the experiment and simulation results show that
the LADP protocol has a lower latency and a much lower downtime.
120
CHAPTER 5
Conclusion and Future Work
In this dissertation, we focused on the challenges in data collection and data dis-
semination in renewable energy based sensor networks. We proposed techniques and
protocols that enable perpetual operation of sensor nodes. In Chapter 2, we first pro-
posed the QuickFix algorithm. By combining dynamic programming and Lagrange
dual decomposition techniques, QuickFix allows sensor nodes to quickly adapt their
data collection rates and routing paths to the spatial and temporal dynamics of the
recharging profiles. This allows the network to closely track the instantaneous optimal
point of network utility and achieve proportional fairness. To handle small variations
in recharging rates within an epoch, we apply a localized energy management algo-
rithm, called SnapIt. The SnapIt algorithm operates above the QuickFix algorithm.
It uses a very simple principle to adjust the data collection rate computed by the
QuickFix algorithm. When the QuickFix algorithm and the SnapIt algorithm work
in tandem, the battery can be maintained at the desired target level and improve the
network utility further when the instantaneous recharging rate is high.
In contrast to Chapter 2, we address the problem of achieving maximum fair rate
allocation in renewable energy based sensor networks. We first show that finding the
tree with the highest maximin fair rate assignment is NP-hard. Then, we propose an
121
iterative distributed algorithm that can compute a near-optimum maxmin fair rate
assignment over a given DAG by adjusting flows in the network. Having found a
near-optimal rate assignment over a DAG, we develop a simple criteria for identifying
unused links that can lead to a higher rate assignment when they are added to the
underlying DAG structure. These two techniques collectively comprise the core of the
DLEX-DAG algorithm. The DLEX-DAG algorithm is the first algorithm that can
jointly compute a near-optimum maxmin fair rate assignment and determine routing
paths without using a centralized LP solver.
Lastly, in Chapter 4, we proposed a latency aware data dissemination protocol that
can quickly and efficiently deliver data objects to all the sensor nodes in the network
under the existence of dynamic resources, i.e., environmental energy. Experimental
and simulation results have shown that our proposed algorithms successfully achieved
the design goals and enable perpetual operation for renewable energy based sensor
networks.
Although our proposed algorithms have shown promising results, there are still
open issues yet to be addressed.
• Extension to the QuickFix algorithm: The QuickFix algorithm assumes
that the average recharging rate within an epoch can be accurately estimated.
However, if the estimated recharging rate is very different than the real recharg-
ing rate, sensor nodes could run out of energy. Thus, a mechanism is needed
to prevent sensors from running out of energy when the real recharging profile
deviates from the predicted profile. The SnapIt algorithm is actually designed
for this purpose. But it uses a fixed small δ to adjust the rate computed by the
QuickFix algorithm. If the predicted recharging profile is very wrong, then a
122
small δ may not be sufficient to ensure that no sensor will die during its opera-
tion. However, how to adapt the δ used in the SnapIt algorithm is still an open
problem.
• Improvement of the DLEX-DAG algorithm: In Chapter 3, we proposed
the DLEX-DAG algorithm that can jointly compute a near-optimum maxmin
fair rate assignment and the associated routing paths. However, the algorithm
is still suboptimal. The reason is that we do not allow a link, that is already in
the DAG, to be deleted or reversed a link. We impose such restriction to lower
signaling overheads and to ensure that no cycle will be created after adding a
link. This makes the algorithm sensitive to the initial DAG constructed in the
beginning of the algorithm.
A second issue with DLEX-DAG algorithm is that the overheads for flow ad-
justment is high when the node density is high. To make the algorithm more
practical, it is important to reduce such overheads or find a more efficient way
for adjusting the flows in the network. Finally, to make the algorithm optimal,
efficiently mechanisms are needed to delete or reverse links on the existing DAG.
However, these are all open questions yet to be answered.
123
BIBLIOGRAPHY
[1] MOTELAB Testbed. Website. http://motelab.eecs.harvard.edu/.
[2] National Renewable Energy Laboratory. Website. http://www.nrel.gov.
[3] TinyOS-2.x. Website. http://www.tinyos.net/.
[4] Shaun Ahmadian, Teresa Ko, Sharon Coe, Michael Hamilton, MohammadRahimi, Stefano Soatto, and Deborah Estrin. Heartbeat of a Nest: Using Imagersas Biological Sensors . In Technical Report, 2007.
[5] Umut Akyol, Matthew Andrews, Piyush Gupta, John Hobby, Iraj Saniee, andAlexander Stolyar. Joint Scheduling and Congestion Control in Mobile Ad-hocNetworks. In Proc. of IEEE INFOCOM, 2008.
[6] R.J. Ang, Y.K. Tan, and S.K. Panda. Energy Harvesting for Autonomous WindSensor in Remote Area. IEEE Industrial Electronics Society (IECON), pages2104–2109, Nov. 2007.
[7] Anton, R. Steven, Sodano, and A. Henry. A Review of Power Harvesting UsingPiezoelectric Materials (2003-2006). Smart Materials and Structures, 16(3):R1–R21, Jun. 2007.
[8] Jessy Baker. Improvements in Vibration Energy Scavenging for Wireless SensorNetworks. In International Energy Conversion Engineering Conference, pages15–18, Aug. 2005.
[9] Dimitri P. Bertsekas. Nonlinear Programming. Athena Scientific, 1995.
[10] Stephen Boyd and Lieven Vandenberghe. Convex Optimization. CambridgeUniversity Press, 2004.
[11] B. Cavallier, P. Berthelot, H. Nouira, E. Foltete, L. Hirsinger, and S. Ballan-dras. Energy Harvesting Using Vibrating Structures Excited by Shock. IEEEUltrasonics Symposium, 2:943–945, Sep. 2005.
124
[12] S. Chalasani and J.M. Conrad. A survey of energy harvesting sources for em-bedded systems. IEEE Southeastcon, pages 442–447, Apr. 2008.
[13] Anna Charny, David D. Clark, and Raj Jain. Congestion Control With ExplicitRate Indication. In Proc. of IEEE International Conference on Communication,volume 3, pages 1954–1963, Jun. 1995.
[14] Lijun Chen, Steven H. Low, Mung Chiang, and John C. Doyle. Cross-Layer Con-gestion Control, Routing and Scheduling Design in Ad Hoc Wireless Networks.In Proc. of IEEE INFOCOM, pages 1–13, 2006.
[15] Shigang Chen, Yuguang Fang, Senior Member, and Ye Xia. LexicographicMaxmin Fairness for Data Collection in Wireless Sensor Networks. 6:762–776,Jul. 2007.
[16] Shigang Chen and Ye Xia. Lexicographic Maxmin Fairness for Data Collectionin Wireless Sensor Networks. IEEE Transaction on Mobile Computing, 6(7):762–776, 2007. Senior Member-Yuguang Fang.
[17] Tzung-Shi Chen, Hua-Wen Tsai, and Chih-Ping Chu. Gathering-Load-BalancedTree Protocol for Wireless Sensor Networks. In IEEE International Conferenceon Sensor Networks, Ubiquitous, and Trustworthy Computing, volume 2, pages8–13, Jun. 2006.
[18] I. Chlamtac and S. Kutten. On Broadcasting in Radio Networks–Problem Anal-ysis and Protocol Design. IEEE Transactions on Communications, 33(12):1240–1246, Dec. 1985.
[19] D. L. Churchill, M. J. Hamel, C. P. Townsend, and S. W. Arms. Strain EnergyHarvesting for Wireless Sensor Networks. In Society of Photo-Optical Instru-mentation Engineers (SPIE) Conference Series, volume 5055, pages 319–327,Jul. 2003.
[20] T. Douseki, Y. Yoshida, F. Utsunomiya, N. Itoh, and N. Hama. A battery-less wireless system uses ambient heat with a reversible-power-source compatiblecmos/soi dc-dc converter. Proc. of International Solid-State Circuits Conference(ISSCC), 1:388–501, Feb. 2003.
[21] P. Dutta, J. Hui, J. Jeong, S. Kim, C. Sharp, J. Taneja, G. Tolle, K. Whitehouse,and D. Culler. Trio: Enabling Sustainable and Scalable Outdoor Wireless SensorNetwork Deployments. Proc. of IPSN, pages 407–415, Apr. 2006.
[22] Prabal Dutta, Mike Grimmer, Anish Arora, Steven Bibyk, and David Culler.Design of A Wireless Sensor Network Platform for Detecting Rare, Random,and Ephemeral Events. In Proc. of IPSN, page 70, 2005.
125
[23] Cheng Tien Ee and Ruzena Bajcsy. Congestion Control and Fairness for Many-to-one Routing in Sensor Networks. In Proc. of SenSys, pages 148–161, 2004.
[24] Kai-Wei Fan, Zi-Zhan Zheng, and Prasun Sinha. Steady and Fair Rate Allocationfor Rechargeable Sensors in Perpetual Sensor Networks. In Proc. of SenSys, 2008.
[25] Jonathan FLEMING, WING NG, and Saeid GHAMATY. Thermoelectric BasedPower System for Unmanned-Air-Vehicle. Journal of Aircraft, pages 674–676,1994.
[26] Chien-Liang Fok, Gruia-Catalin Roman, and Chenyang Lu. Mobile Agent Mid-dleware for Sensor Networks: An Application Case Study. In Proc. of IPSN,page 51, 2005.
[27] R. Gandhi, A. Mishra, and S. Parthasarathy. Minimizing Broadcast Latencyand Redundancy in Ad Hoc Networks. IEEE/ACM Transactions on Networking,16(4):840–851, Aug. 2008.
[28] D. Georgoulas and K. Blow. Intelligent Mobile Agent Middleware for WirelessSensor Networks: A Real Time Application Case Study. pages 95–100, Jun.2008.
[29] P.S. Girao, F. Alegria, J.M. Viegas, Baichuan Lu, and J. Vieira. Wireless Systemfor Traffic Control and Law Enforcement. In IEEE International Conference onIndustrial Technology, pages 1768–1770, 2006.
[30] C. Hartung, R. Han, C. Seielstad, and S. Holbrook. Firewxnet: A multitieredportable wireless system for monitoring weather conditions in wildland fire en-vironments.
[31] Wendi Rabiner Heinzelman, Joanna Kulik, and Hari Balakrishnan. AdaptiveProtocols for Information Dissemination in Wireless Sensor Networks. In Proc.of MobiCom, pages 174–185, 1999.
[32] Y. Thomas Hou, Shivendra S. Panwar, and Henry H.-Y. Tzeng. On GeneralizedMax-Min Rate Allocation and Distributed Convergence Algorithm for PacketNetworks. 15:401–416, May 2004.
[33] J. Hsu, A. Kansal, J. Friedman, V. Raghunathan, and M. Srivastava. EnergyHarvesting Support for Sensor Network. In Proc. of IEEE IPSN Demo, 2005.
[34] Leijun Huang and S. Setia. CORD: Energy-Efficient Reliable Bulk Data Dissem-ination in Sensor Networks. pages 574–582, Apr. 2008.
[35] J. Hui and D. Culler. The Dynamic Behavior of a Data Dissemination Protocolfor Network Programming at Scale. In Proc. of SenSys, pages 81–94, 2004.
126
[36] Bret Hull, Kyle Jamieson, and Hari Balakrishnan. Mitigating Congestion inWireless Sensor Networks. In Proc. of SenSys, pages 134–147, 2004.
[37] E. P. James, M. J. Tudor, S. P. Beeby, N. R. Harris, P. Glynne-Jones, J. N.Ross, and N. M. White. An Investigation of Self-powered Systems for ConditionMonitoring Applications. Sensors and Actuators, 110(1-3):171–176, Feb. 2004.
[38] X. Jiang, J. Polastre, and D. Culler. Perpetual environmentally powered sensornetworks. Proc. of IPSN, pages 463–468, Apr. 2005.
[39] Aman Kansal, Jason Hsu, Sadaf Zahedi, and Mani B. Srivastava. Power Manage-ment in Energy Harvesting Sensor Networks. ACM Transactions on EmbeddedComputing Systems, 6(4):32–es, 2007.
[40] Koushik Kar, Ananth Krishnamurthy, and Neeraj Jaggi. Dynamic Node Acti-vation in Networks of Rechargeable Sensors. IEEE/ACM Transaction on Net-working, 14(1):15–26, 2006.
[41] Aditya Karnik, Anurag Kumar, and Vivek Borkar. Distributed Self-tuning ofSensor Networks. Wireless Network, 12(5):531–544, 2006.
[42] F. Kelly, A. Maulloo, and D. Tan. Rate Control in Communication Networks:Shadow Prices, Proportional Fairness and Stability. 49, 1998.
[43] Frank Kelly. Charging and Rate Control for Elastic Traffic. European Transac-tions on Telecommunications, 8:33–37, 1997.
[44] Sukun Kim, S. Pakzad, D. Culler, J. Demmel, G. Fenves, S. Glaser, andM. Turon. Health monitoring of civil infrastructures using wireless sensor net-works. In Proc. of IPSN, pages 254–263, Apr. 2007.
[45] Sukun Kim, S. Pakzad, D. Culler, J. Demmel, G. Fenves, S. Glaser, andM. Turon. Health Monitoring of Civil Infrastructures Using Wireless SensorNetworks. Information Processing in Sensor Networks, 2007. IPSN 2007. 6thInternational Symposium on, pages 254–263, Apr. 2007.
[46] Sunghwan Kim. Piezoelectric Energy Harvesting with a Clamped Circular Plate:Analysis, Oct. 2005.
[47] Sunghwan Kim. Piezoelectric Energy Harvesting with a Clamped Circular Plate:Experimental Study, Oct. 2005.
[48] M. Kishi, H. Nemoto, T. Hamao, M. Yamamoto, S. Sudou, M. Mandai, and S. Ya-mamoto. Micro thermoelectric modules and their application to wristwatches asan energy source. Proc. of International Conference on Thermoelectrics, pages301–307.
127
[49] D. Kruger, C. Buschmann, and S. Fischer. Solar powered sensor network designand experimentation. pages 11–15, 2009.
[50] Sandeep S. Kulkarni and Limin Wang. MNP: Multihop Network ReprogrammingService for Sensor Networks. Proc. of ICDCS, 0:7–16, 2005.
[51] C. S. Lee, J. Joo, S. Han, and S. K. Koh. Multifunctional Transducer Us-ing Poly (Vinylidene Fluoride) Active Layer and Highly Conducting Poly (3,4-Ethylenedioxythiophene) Electrode: Actuator and Generator. Applied PhysicsLetters, 85:1841, Sep. 2004.
[52] C. S. Lee, J. Joo, S. Han, and S. K. Koh. Poly (Vinylidene Fluoride) Trans-ducers with Highly Conducting Poly (3,4-Ethylenedioxythiophene) Electrodes.In Proc. of International Conference on Science and Technology of SyntheticMetals, volume 152, pages 49–52, Sep. 2005.
[53] Eli S. Leland, Elaine M. Lai, and Paul K. Wright. A SELF-POWERED WIRE-LESS SENSOR FOR INDOOR ENVIRONMENTAL MONITORING, 2004.
[54] Kris Lin, Jennifer Yu, Jason Hsu, Sadaf Zahedi, David Lee, Jonathan Friedman,Aman Kansal, Vijay Raghunathan, and Mani Srivastava. Heliomote: EnablingLong-lived Sensor Networks Through Solar Energy Harvesting. In Proc. of Sen-Sys, pages 309–309, 2005.
[55] Longbi Lin, Ness B. Shroff, and R. Srikant. Asymptotically Optimal Energy-aware Routing for Multihop Wireless Networks with Renewable Energy Sources.IEEE/ACM Transactions on Networking, 15(5):1021–1034, 2007.
[56] Ren-Shiou Liu, Prasun Sinha, and Can Emre Koksal. Joint Energy Managementand Resource Allocation in Rechargable Sensor Networks. In Proc. of IEEEINFOCOM, Mar. 2010.
[57] Mateu Loreto and Moll Francesc. Optimum Piezoelectric Bending Beam Struc-tures for Energy Harvesting Using Shoe Inserts, Oct. 2005.
[58] M. Lukac, V. Naik, I. Stubailo, A. Husker, and D. Estrin. In Vivo Character-ization of a Wide area 802.11b Wireless Seismic Array. Center for EmbeddedNetwork Sensing. Papers. Paper 100., 2007.
[59] Discenzo Fred M, Chung Dukki, and Loparo Kenneth A. Pump Condition Mon-itoring Using Self-Powered Wireless Sensors. In International Modal AnalysisConference, 2006.
[60] K. Martinez, R. Ong, and J. Hart. Glacsweb: a Sensor Network for HostileEnvironments. In Proc. of The First IEEE Communications Society Conferenceon Sensor and Ad Hoc Communications and Networks, 2004.
128
[61] S. Meninger, J.O. Mur-Miranda, R. Amirtharajah, A. Chandrakasan, and J.H.Lang. Vibration-to-electric energy conversion. IEEE Transactions on VLSI Sys-tems, 9(1):64–76, Feb. 2001.
[62] MicroStrain. Tracking Pitch Link Dynamic Loads with Energy Harvesting Wire-less Sensors. Webpage.
[63] Farhad Mohammadi, Ajmal Khan, and Richard B. Cass. Power Generation fromPiezoelectric Lead Zirconate Titanate Fiber Composites. In Materials ResearchSymp., page 736, 2003.
[64] Raul Morais, Samuel G. Matos, Miguel A. Fernandes, Antonio L. G. Valente,Salviano F. S. P. Soares, P. J. S. G. Ferreira, and M. J. C. S. Reis. Sun, windand water flow as energy supply for small stationary data acquisition platforms.Comput. Electron. Agric., 64(2):120–132, 2008.
[65] K. Mossi, C. Green, Z. Ounaies, and E Hughes. Harvesting Energy Using a ThinUnimorph Prestressed Bender: Geometrical Effects, Oct. 2005.
[66] Vinayak Naik, Anish Arora, P. Sinha, and Hongwei Zhang. Sprinkler: A Reliableand Scalable Data Dissemination Service for Wireless Embedded Devices. InProc. of The 26th IEEE Real-Time Systems Symposium (RTSS), pages 277–286,Nov. 2005.
[67] Tsz-Ho Ng and Wei-Hsin Liao. Feasibility Study of A Self-powered PiezoelectricSensor. In Proc. of SPIE, volume 5389, page 377, Aug. 2004.
[68] T.S. Paing and R. Zane. Resistor Emulation Approach to Low-Power EnergyHarvesting. Power Electronics Specialists Conference (PESC), pages 1–7, Jun.2006.
[69] Daniel P. Palomar and Mung Chiang. A Tutorial on Decomposition Methods forNetwork Utility Maximization. In IEEE Journal on Selected Areas in Commu-nication, volume 24, pages 1439–1451, 2006.
[70] Daniel P. Palomar and Mung Chiang. Alternative Decompositions for Dis-tributed Maximization of Network Utility: Framework and Applications. InProc. of IEEE INFOCOM, pages 1–13, 2006.
[71] J.A. Paradiso and T. Starner. Energy scavenging for mobile and wireless elec-tronics. IEEE Pervasive Computing, 4(1):18–27, Jan. 2005.
[72] Chulsung Park and P.H. Chou. AmbiMax: Autonomous Energy HarvestingPlatform for Multi-Supply Wireless Sensor Nodes. Proc. of SECON, 1:168–177,Sep. 2006.
129
[73] J.R. Piorno, C. Bergonzini, D. Atienza, and T.S. Rosing. Prediction and Manage-ment in Energy Harvested Wireless Sensor Nodes. In Proc. of Wireless VITAE,pages 6–10, 2009.
[74] S. R. Platt, S. Farritor, K. Garvin, and H. Haider. The Use of Piezoelectric Ce-ramics for Electric Power Generation within Orthopedic Implants. IEEE/ASMETransactions on Mechatronics, 10(4):455–461, 2005.
[75] S.R. Platt, S. Farritor, and H. Haider. On Low-frequency Electric PowerGeneration with PZT Ceramics. Mechatronics, IEEE/ASME Transactions on,10(2):240–252, Apr. 2005.
[76] A. Prayati, Ch. Antonopoulos, T. Stoyanova, C. Koulamas, and G. Papadopou-los. A Modeling Approach on the TelosB WSN Platform Power Consumption.Elsevier Journal of Systems and Software, In Press, Corrected Proof, 2010.
[77] S. Priya. Modeling of Electric Energy Harvesting Using Piezoelectric Windmill.Applied Physics Letters, 87(18):184101–184101–3, Oct. 2005.
[78] S. Priya, C.-T. Chen, D. Fye, and J. Zahnd. Piezoelectric Windmill: A NovelSolution to Remote Sensing. Japanese Journal of Applied Physics, 44:L104–L107,Jan. 2005.
[79] V. Raghunathana, A. Kansal, J. Hsu, J. Friedman, and Mani Srivastava. DesignConsiderations for Solar Energy Harvesting Wireless Embedded Systems. InProc. of IPSN (SPOT Track), pages 457–462, Apr. 2005.
[80] Sumit Rangwala, Ramakrishna Gummadi, Ramesh Govindan, and KonstantinosPsounis. Interference-aware Fair Rate Control in Wireless Sensor Networks. Proc.of SIGCOMM, 36(4):63–74, 2006.
[81] J. Recas, C. Bergonzini, B. Lee, and T. Simunic Rosing. Solar Energy HarvestingPrediction Algorithm. In Energy Harvesting Workshop, 2009.
[82] M. P. Release. MicroStrain Wins Navy Contract for Self Powered Wireless SensorNetworks. http://www.microstrain.com/news/article-29.aspx, 2003.
[83] John J. Sammarco, Robert Paddock, Edward F. Fries, and Vijia K. Karra. ATechnology Review of Smart Sensors with Wireless Networks for Applications inHazardous Work Environments. 2007.
[84] Yogesh Sankarasubramaniam, Ozgur B. Akan, and Ian F. Akyildiz. ESRT:Event-to-sink Reliable Transport in Wireless Sensor Networks. In Proc. of Mo-biHoc, pages 177–188, 2003.
130
[85] Henry A. Sodano and Daniel J. Inman. Comparison of Piezoelectric EnergyHarvesting Devices for Recharging Batteries. Journal of Intelligent MaterialSystems and Structures, 16:799–807, Sep. 2005.
[86] Henry A. Sodano, Garnett E. Simmers, Remi Dereux, and Daniel J. Inman.Recharging batteries using energy harvested from thermal gradients. Journal ofIntelligent Material Systems and Structures, pages 446–449, Oct. 2006.
[87] Avinash Sridhara, Scott Moeller, Bhaskar Krishnamachari, and Ming Hsieh. Im-plementing Backpressure-based Rate Control in Wireless Networks. In ITA,2009.
[88] Avinash Sridharan and Bhaskar Krishnamachari. Explicit and Precise Rate Con-trol in Wireless Sensor Networks. In Proc. of SenSys, 2009.
[89] I. Stark. Invited talk: Thermal energy harvesting with thermo life. InternationalWorkshop on Wearable and Implantable Body Sensor Networks (BSN), pages19–22, Apr. 2006.
[90] I. Stark. Thermal Energy Harvesting with Thermo Life. In Proc. of the Inter-national Workshop on Wearable and Implantable Body Sensor Networks (BSN),2006.
[91] C.M. Vigorito, D. Ganesan, and A.G. Barto. Adaptive Control of Duty Cyclingin Energy-Harvesting Wireless Sensor Networks. Proc. of SECON, pages 21–30,Jun. 2007.
[92] Thiemo Voigt, Hartmut Ritter, and Jochen Schiller. Utilizing Solar Power inWireless Sensor Networks. In Proc. of LCN, pages 416–422, 2003.
[93] Chieh-Yih Wan, Shane B. Eisenman, and Andrew T. Campbell. CODA: Con-gestion Detection and Avoidance in Sensor Networks. In Proc. of SenSys, pages266–279, 2003.
[94] Xin Wang and Koushik Kar. Cross-layer Rate Control for End-to-end Propor-tional Fairness in Wireless Networks with Random Access. In Proc. of MobiHoc,pages 157–168, 2005.
[95] Xiaojuan Wei and Jing Liu. Power sources and electrical recharging strategiesfor implantable medical devices. Frontiers of Energy and Power Engineering inChina, 2(1):1–13, 2008.
[96] Ning Xu, Sumit Rangwala, Krishna Kant Chintalapudi, Deepak Ganesan, AlanBroad, Ramesh Govindan, and Deborah Estrin. A Wireless Sensor Network ForStructural Monitoring. In Proc. of SenSys, pages 13–24, 2004.
131
[97] Guang-Zhong Yang. Body Sensor Networks. 2006.
[98] Yuan Yao, Ying Lin, Hanbiao Wang, Edward Stabler, Kung Yao, and CharlesTaylor. A Study of Vocalization and Social Behavior of the Acorn Woodpecker(Melanerpes Formicivorus) Based on the Remote Sensor Network. In TechnicalReport, 2003.
132