towards perpetual operation in renewable...

150
TOWARDS PERPETUAL OPERATION IN RENEWABLE ENERGY 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

Upload: others

Post on 03-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 2: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

c© Copyright by

Ren-Shiou Liu

2010

Page 3: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 4: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 5: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 6: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

To my family.

v

Page 7: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 8: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 9: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 10: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 11: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 12: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 13: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 14: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 15: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 16: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 17: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 18: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 19: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 20: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 21: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 22: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 23: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 24: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 25: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 26: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 27: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 28: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 29: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 30: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 31: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 32: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 33: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 34: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 35: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 36: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 37: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 38: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 39: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 40: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 41: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 42: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 43: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 44: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 45: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 46: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 47: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 48: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 49: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 50: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

-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

Page 51: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 52: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 53: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 54: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 55: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 56: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 57: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 58: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 59: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 60: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 61: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 62: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

-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

Page 63: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

-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

Page 64: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

-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

Page 65: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 66: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

-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

Page 67: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

-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

Page 68: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

-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

Page 69: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 70: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 71: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 72: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 73: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 74: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

-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

Page 75: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 76: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

-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

Page 77: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 78: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 79: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 80: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 81: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 82: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 83: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 84: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 85: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 86: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 87: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 88: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 89: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 90: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 91: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 92: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 93: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 94: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

∆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

Page 95: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 96: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 97: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 98: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 99: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 100: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 101: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 102: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 103: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 104: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 105: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 106: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 107: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 108: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 109: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 110: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 111: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 112: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 113: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 114: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 115: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 116: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 117: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 118: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 119: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 120: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 121: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 122: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 123: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 124: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 125: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 126: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 127: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 128: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 129: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 130: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 131: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 132: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 133: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 134: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 135: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 136: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 137: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 138: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 139: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 140: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 141: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 142: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

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

Page 143: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

[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

Page 144: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

[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

Page 145: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

[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

Page 146: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

[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

Page 147: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

[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

Page 148: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

[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

Page 149: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

[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

Page 150: TOWARDS PERPETUAL OPERATION IN RENEWABLE ...web.cse.ohio-state.edu/~sinha.43/publications/theses/...2.6 QuickFix and SnapIt vs. Instantaneous Optimum (initial battery = 99%). Our algorithms

[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