Вы находитесь на странице: 1из 14

This article has been accepted for publication in a future issue of this journal, but has not been

fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2016.2533390, IEEE
Transactions on Mobile Computing

An Optimization Framework for Mobile Data Collection


in Energy-Harvesting Wireless Sensor Networks
Cong Wang1 , Songtao Guo2 , and Yuanyuan Yang1
1
Department of Electrical & Computer Engineering, Stony Brook University, Stony Brook, NY 11794, USA
2
School of Electronic and Information Engineering, Southwest University, Chongqing, 400715, P. R. China

AbstractRecent advances in environmental energy harvesting tech- a new perspective by employing a mobile actuator (called SenCar
nologies have provided great potentials for traditional battery-powered henceforth) for data gathering.
sensor networks to achieve perpetual operations. Due to dynamics from Adopting a mobile collector has known benefits to distribute
the temporal profiles of ambient energy sources, most of the studies
so far have focused on designing and optimizing energy management energy consumption more evenly compared to a static data sink,
schemes on single sensor node, but overlooked the impact of spatial because nodes close to the data sink tend to consume more energy
variations of energy distribution when sensors work together at different for forwarding packets [14], [18][20], [25]. As energy harvesting
locations. To design a robust sensor network, in this paper, we use rates depend on sensors spatial-temporally, congestion could occur
mobility to circumvent communication bottlenecks caused by spatial with a static data sink. Unless a complete environmental energy
energy variations. We employ a mobile collector, called SenCar to collect
data from designated sensors and balance energy consumptions in the profile for various geographical locations is known, it is difficult
network. To show spatial-temporal energy variations, we first conduct a to guarantee successful and timely data delivery in such a network.
case study in a solar-powered network and analyze possible impact on Nevertheless, the spatial-temporal energy profile significantly differs
network performance. Next, we present a two-step approach for mobile in various applications, and capturing these variables to incorporate
data collection. First, we adaptively select a subset of sensor locations into the design of sensor networks beforehand is impractical. The
where the SenCar stops to collect data packets in a multi-hop fashion.
We develop an adaptive algorithm to search for nodes based on their introduction of mobility not only alleviates routing burdens on the
energy and guarantee data collection tour length is bounded. Second, congested nodes to save energy [14][20], but also shows flexibility
we focus on designing distributed algorithms to achieve maximum to circumvent congested area that lacks of energy supply. We can
network utility by adjusting data rates, link scheduling and flow routing easily direct the SenCar to collect packets from designated regions
that adapts to the spatial-temporal environmental energy fluctuations. to avoid draining sensors battery where the environmental energy
Finally, our numerical results indicate the distributed algorithms can
converge to optimality very fast and validate its convergence in case supply is not sufficient at that time. We would show more details
of node failure. We also show advantages of our framework can adapt why using mobile collectors is a natural fit for environmental energy
to spatial-temporal energy variations and demonstrate its superiority harvesting networks by a case study in Section III.
compared to the network with static data sink. Our objective is to design a comprehensive framework such that
Index TermsWireless sensor networks, energy harvesting, adaptive data gathering network utility is maximized and packet latency is
node selection, mobile data gathering, distributed algorithms, convex bounded by a predetermined threshold. To solve this problem, we
optimization. propose a two-step approach. In the first step, we determine where
I. I NTRODUCTION the SenCar stops to collect data packets while guaranteeing that
Environmental energy harvesting has emerged as a promising the total migration tour length is bounded by a threshold. These
technique to provide sustainable energy sources for battery-powered node positions are called anchors. In the second step, after the
wireless sensor networks (WSNs), whose network longevity is anchors have been selected, we formulate the optimization problem
constrained by battery capacity. Renewable energy sources such into a network utility maximization problem under the constraints
as solar, wind, thermal necessitates Cyber Physical Systems (a of flow, energy balance, battery and link capacity. In particular, in
network consists of sensors and actuators to interact with the physical our formulation, energy conservation captures the time-varying and
world) for achieving energy efficiency and cost effectiveness. For spatial variations of energy harvesting rates. To achieve maximized
example, solar harvesting is proven to be useful to provide energy utility, we need to answer the following questions. First, for each
to sensors from a solar panel of relatively similar size of sensors [1]. sensor, what is the optimal rate to send data to the SenCar at a
Thermoelectric conversion offers opportunities to harvest energy via specific anchor? Second, how to route data from sensors to various
heat transfer when the temperatures of objects or environments are anchors with constraints of energy and link capacity? Third, for the
different [2]. When power from an ambient energy source (such as SenCar, what would be the optimal sojourn time at each anchor
solar, wind or thermal, etc.) is brought into a WSN, it becomes that ensures the time of a data collection tour is bounded and the
rechargeable, and is possible to achieve infinite network lifetime by amount of data collected is maximized? To tackle these challenges,
careful network planning and energy harvesting-aware designs. we first determine anchors and then optimize communications and
Admittedly, there have been a great amount of research efforts on SenCars sojourn time at different anchors. We formulate the com-
energy harvesting-aware designs for WSNs [3], [4], [7], [9][11]. munication problem into a non-convex maximization problem and
Most of them either focused on optimizing performance of individual convert the non-concave objective function into a strictly concave
sensor or studied how to route packets in an energy efficient manner objective function by introducing auxiliary variables. Further, we
(energy-aware routing). However, to the best of our knowledge, these take proximal approximation algorithm in [31, pp. 232] and hier-
works have overlooked impact from nonuniform spatial distributions archical decomposition to transform the non-convex maximization
of environmental energy while sensors are working together from problem into an equivalent two-level convex maximization problem.
different geographical locations, so they would still suffer from traffic The equivalence between the original problem and the transformed
bottlenecks if energy shortage is inevitable in certain regions. In or- problem means that their optimal values coincide with each other.
der to circumvent possible energy constraints caused by nonuniform Then we decompose the convex problem into separate subproblems
environmental energy distribution, we approach the problem from of data rate, flow routing and sojourn time allocation, and provide a
1536-1233 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2016.2533390, IEEE
Transactions on Mobile Computing

distributed algorithm to tackle each subproblem. constraint. In [18], network lifetime maximization was considered
The main contributions of our work are summarized below. First, by utilizing node route information to mobile data sinks. Mobile
we propose a new framework by introducing mobile data collection relay was used in [19] for WSNs composed of energy-rich nodes to
for energy harvesting sensor networks. Second, we develop an relay packets from normal nodes and a joint mobility and routing
adaptive anchor selection algorithm for the SenCar to achieve a algorithm was proposed to extend network lifetime. A rendezvous-
balance between data collection amount and latency. Third, given the approach was proposed in [20] where mobile collectors visit fixed
selected anchors, we propose distributed algorithms to find optimal locations, i.e., rendezvous points, for gathering data through multi-
data rates, link flows for sensors and sojourn time allocation for the hop relays and an optimization problem to select the optimal path
SenCar. Finally, we provide extensive evaluations to demonstrate that within a required delay bound was studied. A similar problem was
the proposed scheme can converge to optimum, react to the dynamics studied in [21] in which a different approach was taken by parti-
of energy income effectively, maintain perpetual network operation tioning the sensor field into zones and developing an approximate
and improve network utility significantly compared to the network algorithm to maximize network throughput while conserving energy
with a static data sink. To the best of our knowledge, this is the first consumption. Though the implementation of mobile collectors would
work that gives a comprehensive solution from where the SenCar balance energy consumptions, it might cause long data collection
should stop for data gathering to how to optimize network utility latency. The problem of reducing the data collection latency was
under spatial-temporal energy variations. studied in [23], [24], [26]. These works identified the problem as
The rest of this paper is organized as follows. Section II studies a Traveling Salesman Problem with Neighborhoods (TSPN) and
related works. Section III presents an experimental case study using developed heuristic algorithms to progressively reduce the total TSP
solar energy harvesting. Section IV proposes an adaptive anchor tour length for shorter latency. However, all aforementioned schemes
selection algorithm and formulates the problem into an optimization have treated sensor nodes irrespective to their real-time energy states.
problem. Section V solves the problem and derives distributed C. Mobility in Energy Harvesting WSNs
data rate, flow routing and sojourn time allocation subalgorithms,
Introducing mobility in energy harvesting WSNs was considered
followed by Section VI that provides evaluation results. Finally,
in [1]. A small portion of nodes can move freely in the network
Section VIII concludes the paper.
to search for energy from the environment. Since sensor nodes
II. R ELATED W ORK are usually energy constrained, the energy consumptions during the
A. Energy Efficient Designs for Harvesting Sensor Networks movement are not justified in [1]. In [27], energy efficient paths are
Advances in energy harvesting devices have provided alternatives planned for a mobile solar powered vehicle. The paths are calculated
to extend network lifetime of WSNs by capturing renewable energy using regression methods so that the movement of the vehicle can
from the environment. Most of the works so far have focused adapt to changes in weather conditions. In [28], the problem of
on considering fluctuations of environmental energy income and data collection in energy harvesting WSNs is considered. Given a
designing algorithms based on energy neutral operations [3], [4], data collection path, the problem is formulated into an optimization
[7], [9][11]. Physical implementations and design concerns for problem and heuristic algorithms are proposed. However, a crucial
solar harvesting networks were considered in [3], [4]. In [7], a part of how to form the data collection path is not mentioned in [28]
harvesting-aware power management scheme to maximize total duty and only heuristic algorithms without bounded ratios are provided.
cycle periods was proposed. The scheme adopts a moving average In this paper, we propose a comprehensive framework on how to
to estimate future energy income and adjusts the duty cycle for each adaptively plan the data collection path under latency requirements
sensor accordingly. A similar study was performed in [9] in which an and provide optimal solutions given the selection of anchors.
adaptive duty-cycling algorithm was proposed to cope with energy
III. P RELIMINARIES - A C ASE S TUDY OF G EOGRAPHICAL
variations. The work in [10] conducted measurement experiments for
S OLAR P OWER D ISTRIBUTION
solar harvesting devices in various scenarios and formulated a utility
maximization problem. A joint problem of energy management and In this section, we present a case study that motivates this paper.
resource allocation was considered for energy harvesting networks We study the impact of nonuniform spatial energy distribution on
in [11]. The optimal sampling rates based on the energy harvesting WSNs using solar power harvesting as an example.
rate was explored and a local algorithm was developed to adapt To capture geographical energy variations, we performed outdoor
the dynamics of battery states. These works mainly focused on measurements on sunny days using a compact solar harvesting device
developing local algorithms to accommodate energy consumption in the field outside the CEWIT building at Stony Brook, NY during
of sensors to the varying environmental energy and most of them February 2013. The solar harvesting device mainly consists of a
treated energy income from different sensors equally in evaluations. 85 mm 35 mm, 5.5 V 80 mA solar panel and a 1350 mAh
Energy-aware routing was considered in [5], [6], [8], [12], [13], rechargeable lithium-ion battery cell. Since solar energy captured
where the problem of finding the minimum energy path that opti- needs to be stored in the battery first, we measured the charging
mizes the energy consumption at each node and network lifetime current of the lithium-ion battery from the solar panel at selected
was studied. Nevertheless, none of the above works have combined spots shown in Fig. 1. While performing measurements, the solar
controlled mobility with energy harvesting networks. panel was tilted 45 degrees from the ground and oriented towards the
sun. In our measurements, the harvesting rate under direct sunlight is
B. Mobile Data Collection from 0.5 to 6.5 mW/cm2 depends on the strength at different time
Recent studies have shown that using mobile collectors can and 0 to 0.5 mW/cm2 in building or tree shadows. Table I shows
alleviate traffic flow bottleneck around the static data sink [14], [18] the duration of each spots exposure to sunlight. The measurements
[22]. Based on this observation, most of existing works have focused indicate that due to the intraday movement of the sun, the availability
on developing methods for finding optimal traveling paths of mobile of sunlight for a specific location depends on the positions of the
collectors and minimizing energy consumptions. In [14], path- surrounding obstructions and the orientation of the sun. Take Fig. 1
planning algorithms were proposed for mobile collectors to collect as an example, sensor nodes at spots 1, 4, 7 and 10 would lose
data from sensors through single or multi-hop relays within a time the exposure to sunlight as because of building obstructions. To
1536-1233 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2016.2533390, IEEE
Transactions on Mobile Computing

components, radio transceivers and location device so it can be


commanded remotely from the base station to perform different tasks
in the sensing field. The distance is assumed to be Euclidean distance
between any locations in the field. In case of obstacles or barriers
6LQN
in real applications, the SenCar re-calculates the route using the
 method in [14]. In the second step, based on the selected anchors,
we determine the data rate of each sensor node, flow routing and
optimal sojourn time for the SenCar at each anchor by solving a
communication optimization problem.
Fig. 1. Outdoor locations performing solar power measurement. The reasons for such a two-step approach rather than joint opti-
mization is two-fold. First, a joint optimization of anchor selection
TABLE I
S PATIAL - TEMPORAL VARIATIONS OF SOLAR POWER AT EACH SENSOR and data communication would greatly complicate the problem and
Time Nodes in direct sunlight Nodes in shadow make it difficult to solve. Seeking all possible combinations of
7AM-11AM 1-12 None anchors would lead to exponential enumerations and it is computa-
11AM-1PM 2-3,5-6,8-9 1,4,7,10-12 tionally prohibitive to perform optimization for all the combinations.
1PM-5PM 3,6,9 1,2,4,5,7-8,10-12
Second, the data communication algorithms proposed are distributed
which requires exchange of information between sensors. In our two-
extend the time frame to a whole day, these nodes would only have
step approach, the data communication algorithm takes anchors as
around 4 hours (from 7-11 AM) to harvest solar energy effectively.
an input to perform a single optimization run, in which the overhead
Clearly, these nodes deployed close to the data sink would become a
would be acceptable. However, joint optimization would require
bottleneck in the whole network for the rest of the day that they do
the data communication algorithm to go over all possible anchor
not have sufficient energy to forward data to the sink. The same
patterns to find the best network utility. This would bring tremendous
problem is also faced in WSNs relying on other environmental
message overhead on energy-constrained sensors. Further, most
energy sources in which deploying sensors to obtain maximum
WSNs are probabilistic in nature considering the dynamics from
resource exposure becomes a critical issue. However, topologies of
energy consumptions, sensing targets and energy harvesting rates.
sensor networks are usually ad-hoc and the study of geographical
An optimal solution at a time instance may no longer be optimal
energy distribution patterns requires a considerable amount of work
afterwards. Therefore, our choice to seek a sub-optimal solution is
which varies for different circumstances.
more cost-effective than an optimal solution.
Fortunately, using mobility can bypass the bottleneck nodes and
Since the weather condition may change at any time during the
mitigate the problem using a static sink. Based on Fig. 1, it is more
day, an accurate model of energy harvesting rates in a close form
desirable to move the data sink to a position with the surrounding
expression for the entire day is very difficult. To facilitate our
sensor nodes in sunlight during 11AM - 5PM at positions close to
study, we divide time into multiple equivalent intervals (e.g. 1 hour)
nodes 6 or 9 so the bottleneck no longer exists and the network utility
and assume that the variation of environmental energy strength is
could be increased accordingly. However, how to find the optimal
negligible within each time interval. Since the optimization problem
strategies to route data packets and control energy consumptions
considered for each time interval is identical, it would be sufficient
with mobile data gathering in energy harvesting networks is an issue
to study the proposed data collection scheme in one time interval
that needs to be addressed. To answer this question, we study an
and extend the same approach to all the time intervals. The details
optimization problem that considers the positions where the SenCar
are described in next two subsections.
should stop based on the real-time battery information collected from
sensors, how long the SenCar should stop at that position, and how A. Adaptive Anchor Selection
sensors should route data to the SenCar given their different energy
budgets. In the next section, we will present a data collection scheme The first step is to determine anchors. To design an efficient
based on the findings from the case study to maximize network data collection scheme, the anchor selection algorithm should meet
utility. two requirements. First, it should select a subset of sensors while
maximizing the amount of data collected. Second, it should minimize
the number of anchors so that each data collection tour can be
IV. M OBILE DATA C OLLECTION F OR E NERGY H ARVESTING planned to meet the delay requirement. In this paper, we consider
N ETWORKS deployment of sensors on a 2-dimensional sensing field, so more
In this section, we present a two-step method for mobile data anchors would result longer tour length as well as the data collection
collection in energy harvesting sensor networks. The first step delay. A special case is when all the nodes are deployed on a (1-
is to find anchors and determine the shortest tour among them dimensional) straight line so the SenCars tour length is independent
within a bounded threshold, which implies a data collection delay to the number of anchors. However, in practice, most mobile data
upper bound. Here, the anchors are representative sensor nodes for gathering applications consider tour planning on a 2-D field. Further,
collecting data packets. The SenCar stops near an anchor at a time restricting SenCars movement on straight lines may not be energy-
to gather all the data (SenCar is represented as an independent node efficient. Thus, in reality, trying to cover more sensor nodes increases
in the formulation later). A difference between the anchor and the SenCars tour length and leads to longer data collection delay.
sink node is that the selection of anchors is adaptive to the energy Our objective is to find anchors to cover a maximum number of
status/harvesting rates and could be different during a period of time. sensors while the tour length is within a bounded threshold Lb . For
(k1)
In contrast, sink nodes are more static and they are usually chosen by a set of nodes N with battery energy bi at the end of time
network administrators during network initializations. Delay denotes interval k 1, the anchor selection algorithm iteratively updates the
the duration from the time a packet is generated to the time the set of anchors A(k) for time interval k by computing the shortest
packet is uploaded to the base station. SenCar is customized from an tour length among anchors until the total length is less than Lb .
off-the-shelve battery-powered vehicle. It equips with computational At the initialization phase, the connectivity matrix X that reflects
1536-1233 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2016.2533390, IEEE
Transactions on Mobile Computing
TABLE II 100
Total Distance = 258.5062, 8 Anchors
100
Total Distance = 388.4457, 16 Anchors
75 68 72 66
ANCHOR S ELECTION A LGORITHM IN I NTERVAL k 23
53
28
52 69 28
53
21
44 53

Input: Set of nodes N , battery states at the end of k 1 interval 80


86
73
45
57
22
80
89
74
43
51 23

(k1) 6 4 33
bi , tour length bound Lb , connectivity matrix X of m hops. 60
4681 60 19 60
65

54
30
40 60
4175
12
42 61
65

55 38

Outputs: anchor list A(k) .


74 72
93 76 88 74
82 34 84
36 12 75 35 8 35
89 89 80
40
i N , compute weighted average Wi . 40 50
86
45

76 18
75
73
40 45
74 70 15 79
76

Sort N in ascending order regarding Wi , denote result as Ns . 60 58 76 60 78


51 45 35 40 38
53
20 40 20
30 26 39

Initialize node index i = 1, j = |Ns |


8 12 39
12 6
78 75
52 55
While Ns is not exhausted 0
0 20 40 60 80 100
0
0 20 40 60 80 100

Obtain j-th element in Ns and insert to A(k) ;


For i from 1 to j (a) Lb = 300 m (b) Lb = 400 m
If Xij > 0, Ns Ns i and set i as descendant of j; End If Fig. 2. Anchor selections under different touring bound Lb .
End For Total Distance = 296.1953, 9 Anchors, Interval 1
100 65 33
Total Distance = 283.0897, 7 Anchors, Interval 2
100
75
Ns Ns j and recompute j |Ns |;
72 71 31
26 57 75 56 64
29
58 26 60
80 64 71 58 26
End While 80 73
10
52
39
80 73
28 16
56
70 45

Obtain candidate A(k) list from above;


25 76
4985 60 67 5288 61 72
60 64 44 47
57 60
60
94 65 92
While true 79
39 19 51
37
88 73
84
42 19 49
30
81
65
71
62

(k) 40
Compute the shortest migration tour Ltsp through sensors in A(k)
51 40 49
62 64
91 84 64 90 85
19 61 16 56
65 55 66 52 62
54
(k) 4847 38 40 47 40

If Ltsp (A(k) ) Lb , Break; 20


11
33
18
20
12
35
44

21

Else Remove anchors with least Wi from A(k) ; End If


80 79
51 55
0 0
0 20 40 60 80 100 0 20 40 60 80 100
End While
(a) Interval 1 (b) Interval 2
connections within m hops is obtained. The entry of connectivity Fig. 3. Evolution of anchor selections for different time intervals.
matrix is 1 if two nodes are connected within m hops; otherwise,
it is 0. We have also set the diagonal values Xii to 0 to facilitate the tour length bound is satisfied. The algorithm is summarized in
the computation. The choice of m will have an impact on energy Table II.
consumption and data gathering latency. That is, a large m indicates The time complexity of this algorithm is analyzed as follows.
2
more nodes would be covered by an anchor so energy consumptions Obtaining the connectivity matrix requires at most m|N | time,
on intermediate relay nodes would increase. On the other hand, a sorting sensor list N requires at most log |N | time. In the
small m will lead to more anchors generated in order to cover all the worst case where none of the sensors are in the communication
nodes so the data collection tour would be elongated (longer delay). range of each other, there are at most |N | rounds to search for
Finding an optimal m to balance energy consumption and data A(k) and the nearest neighbor heuristic algorithm can find the
2
collection latency is out of the scope of this paper. For simplicity, shortest tour in O(|N | ) time [29], so the total time complexity is
3 3
we set m = 3 in this paper. O(log |N |+|N | )=O(|N | ). However, in practice, sensors are usually
Since the choice of anchors not only relies on anchors energy deployed within the transmission range of each other, a significant
but also the energy of nodes in their surroundings, we propose reduction of computational time is expected.
a weighted average method to account for energy in an anchors We give some examples of the anchor selection algorithm. A
neighborhood. For a candidate anchor, it has the highest weight w0 , number of 50 sensors with battery energy uniformly distributed over
its one-hop neighbors have smaller weights w1 , two-hop neighbors [0,100] are randomly deployed on a 100 100 m2 field. We set
have even smaller weights value w2 and so on. Since anchors collect the data collection hop count m = 3 and use the nearest neighbor
data from the m-hop neighborhoods, the weights should decrease algorithm to find the shortest tour length for the SenCar. Fig. 2
monotonously towards the m-hop neighbors (w0 > w1 > > illustrates the selection of anchors under different touring bound Lb .
wm ). Hence, for a candidate anchor a, its weighted average Wa is, When Lb = 300 m, the total tour length is 258 m and when Lb
P P = 400 m, the total tour length is 388 m. To see the evolution of
(k1) (k1)
w0 ba + j{1, ,m} iNj wj bi anchor selections in different intervals, we set the interval to 1 hour,
Wa = P , Lb = 300 m and examine these changes over 2 consecutive intervals
j{1, ,m} |N |j + 1
in Fig. 3. The battery energy of nodes changes with different energy
in which Nj is the set of nodes that are j-hops away from the anchor consumption and harvesting rates so the anchors chosen for these two
(1 j m). During operation, each node calculates a weighted intervals depends on the real-time energy status at the beginning of
average according to the energy of their m-hop neighborhoods and the intervals. For interval 1, a number of 9 anchors are selected with
reports its weighted value to the SenCar. A node with larger weight a tour length of 296 m and for interval 2, another 7 anchor (some
has higher chances for being selected as an anchor. are the same) are selected with a tour length of 283 m. Due to the
Then the SenCar sorts nodes regarding weighted average Wi in fact that anchor nodes might consume more energy to aggregate data
an ascending order and records this sorted list as Ns . The algorithm than the energy harvested, in the next interval, previous anchors are
starts from element j in the sorted list which has the largest weight, less likely to be chosen so they can restore their battery energy to
inserts this node to A(k) and finds all the entries in row j of X that prevent energy depletion.
are greater than zero, which means that there is a connection within
m-hop counts from node j, and removes these nodes from Ns . The B. Network Model and Problem Formulation
iteration continues until Ns is exhausted. At this point, node list After the tour through all anchors has been constructed, the
A(k) can be considered as a set of cluster heads which contains all remaining question is how the SenCar should collect data from
the anchors and the nodes removed from Ns are connected to the sensors. This problem can be formulated as an optimization problem
(k)
cluster heads in A(k) . Then the shortest migration tour Ltsp can be based on a flow-level network model. We first define the time interval
found by approximate solutions to the Traveling Salesman Problem to be equally slotted during a 24-hour time period. In time interval k,
(k)
(TSP) through sensors in A(k) . If the tour length Ltsp Lb , the set we consider a network with a set of nodes and anchors, represented
of anchors has been found; otherwise, the algorithm removes the first by N and A(k) respectively. The SenCar starts from the base station
(k)
element from A(k) with the least weight and computes Ltsp until and roams over the entire sensing field along the pre-determined
1536-1233 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2016.2533390, IEEE
Transactions on Mobile Computing
TABLE III
sequence of anchors. The SenCar gathers data from sensors by L IST OF N OTATIONS
visiting the anchors in a periodic data gathering tour within time Notation Definition
interval k. When the SenCar moves to an anchor a, it will stay near N Set of sensor nodes, i.e., N = {1, 2, . . . , N }
(k)
the anchor for a period of sojourn time ka to gather the data uploaded Sa SenCar located at anchor a for time interval k
by sensors in a multi-hop manner. After ka time, the SenCar leaves A(k) Set of anchors for time interval k
(k)
anchor a and travels to the next anchor. Note that anchors only Pi,a Set of parent nodes of sensor i for anchor a
(k) (k)
represent the location where the SenCar stays to gather data. Thus for time interval k, i.e., Pi,a = {j|(i, j) Ea }
(k)
the sensor at an anchor can upload its data to the SenCar directly Ci,a Set of child nodes of sensor i for anchor a
(k) (k)
by one hop transmission. for time interval k, i.e., Ci,a = {j|(j, i) Ea }
(k)
The movement of SenCar can be pictured by visiting each anchor Va Sensor nodes for anchor a
(k) (k)
in set A(k) within time interval k. We use Sa to represent SenCars a Sojourn time of SenCar at each anchor in a
migration tour during time interval k
location as an independent node near an anchor a. The elements of (k)
(k) tsp Total TSP path time duration for time interval k
{Sa } are SenCars locations at different anchors in interval k. The T Time length of each interval k
network with the SenCar located at anchor a in time interval k is q Number of migration tours in each time interval
(k) (k) (k) (k) Lb Upper bound of migration tour length for SenCar
modeled as a directed graph Ga (Va , Ea ). Va represents all (k)
the sensor nodes N in the network plus the SenCar staying at an Ltsp Migration tour length for SenCar in time interval k
(k)
(k) (k) (k) ri,a Data rate of sensor i when SenCar is at anchor
anchor a , i.e., Va = N {Sa }. Ea represents all the directed
(k) point a in time interval k
links. Thus, when the SenCar stays at different anchors, Va and (k)
fij,a Flow rate over link (i, j) when SenCar is located at
(k) (k)
Ea could be different. Sensor i generates data at a rate ri,a for the anchor a in time interval k
SenCar located at anchor a. (k)
ij
(k)
Link capacity for variable fij,a
We consider a node-exclusive interference model, in which a node B Battery capacity for each sensor node
cannot simultaneously transmit or receive, or communicate with i (k) Estimated energy harvesting rate for node i in time interval k
tx
ij Energy consumption for transmitting a packet over link (i, j)
two or more nodes. Otherwise, a collision occurs and the packet is rx Energy consumption for receiving a packet at node i
i
discarded. In the problem formulation P1, the model is characterized ex
i Energy consumption for excessive activities at node i
(k) (k) vs Moving velocity of the SenCar
by deriving the sets of parent nodes, Pi,a and child nodes, Ci,a . To
avoid collisions, the model imposes that a node can only transmit
differentiable function with respect to the total data rate for sensor
or receive data from a single node in a time slot and data gathering P (k)
interval usually consists of a large number of time slots. Therefore, i during interval k (i.e., ri,a ). The network utility is regarded as
a
(k) (k)
the formation of Pi,a and Ci,a for each node i would exclude nodes the aggregated utility of all the sensors. Our objective is to maximize
that would have packet collisions with node i in a time slot. Under the network utility under the constraints of flow conversation, energy
this model, an appropriate data flow would be assigned to each link balance and link capacity while maintaining the perpetual operation
and a sojourn time would be calculated for the SenCar at each anchor. of the network. To achieve this objective, several issues need to be
For each sensor node i N , the average energy consumption for addressed: (1) What is the optimal rate for a sensor to generate
transmitting a packet over link (i, j) is tx rx
ij and i for receiving a
data and the flow rate for a sensor to upload data to the SenCar at
packet at node i. Excessive average energy consumption for sensing different anchors? (2) How to route sensed data to the SenCar at
and computation at node i is represented by ex i . The length of an
each anchor under the constraints of energy and link capacity? (3)
time interval T is given by What is the optimal sojourn time of the SenCar to collect data from
(k)
X sensors under the constraints of energy and battery capacity?
T = q( tsp + (k)
a ). (1)
aA(k)
Given a set of selected anchors, we formulate the optimization
(k) (k) problem as follows.
in which tsp = Ltsp /vs and T is the sum of traveling time X X (k)
(k) (k) P1 : max Ui ( ri,a ) (2)
tsp and sojourn time a at different anchors, and q is the r (k) ,f (k) , (k)
i a
number of data collection tours in interval k. The sojourn time
(k)
a are the optimization variables. We define the estimated solar subject to
(k)
X (k)
X (k)
harvesting rate in time interval k for node i to be i (k), which is ri,a + fmi,a = fij,a , i N , a A(k) (3)
a time-varying, location-wise function that captures the spatial and (k)
mCi,a
(k)
jPi,a
temporal differences of energy income of a sensor. The intention of (k1)
q (k)
a (f
(k)
, r (k) ) T i (k) + bi (4)
bringing location-wise concerns to our model is to mimic possible (k1)
obstructions in real applications which attenuates the magnitude of 0 T i (k) B bi N , i (5)
X (k)
harvested power. The general form of solar energy harvesting rate 0 fij,a ij , (i, j) Ea(k) , a A(k) (6)
i of sensor i over a days period can be represented by a quadratic aA(k)

function proposed in [30]: i (t) = a(t + b)2 + c in which a, b and (k) (k) (k)
where r(k) = {ri,a }, f (k) = {fij }, (k) = { i,a }, (f (k) , r(k) ) =
c are parameters to fit the data sets measured in different months to P (k) tx P (k) (k) ex
the quadratic function. The detail can be found in [30]. Note that (k) f + mC (k) fmi,a rx
jPi,a ij,a ij i + ri,a i , which denotes
i,a
here i (t) is a function with time t for 24 hours starting from 12AM the energy consumption for transmitting, receiving and excessive
(k1)
to 12 PM. In this paper, we approximate the solar energy harvested activities in time interval k, and bi represents the battery energy
for each interval k by a piece-wise linear function of the quadratic at the end of the time interval k1. q is the number of data collection
function i (t). Finally, important notations used in this paper are tours.
summarized in Table III. Constraints (3)-(6) can be explained as follows. Constraint (3)
To characterize the effect of the data rates for sensor node i on the is flow conversation which states that the aggregated outgoing link
overall data gathering performance, we introduce a utility function flow rate at each sensor equals the incoming link flow rate plus
Ui (), which is defined as an increasing, strictly concave and twice- its own data rate. Note that this constraint also holds at anchors
1536-1233 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2016.2533390, IEEE
Transactions on Mobile Computing
(k) (k)
as they aggregate packets from their child nodes and forward all concave with respect to ri,a for fixed yi,a . Here, ci is a positive
the packets (including the ones generated by themselves) to the (k)
number chosen for each sensor i, and yi,a is an auxiliary variable for
SenCar. Inequality (4) is energy balance constraint which describes (k)
each ri,a . The proximal approximation algorithm runs in iterations to
that the energy consumption in each time interval should be less than (k)
or equal to the sum of the harvesting energy income and residual maximize the augmented objective function over ri,a while keeping
(k) (k) (k)
battery energy. Battery capacity constraint (5) captures the fact that yi,a fixed, and then over yi,a while keeping ri,a fixed. In particular,
the harvested energy of a battery cell cannot exceed its supplemental optimization problem (P1) can be solved by two steps in the t-th
energy capacity, i.e., the difference between the maximum battery iteration as follows. We use [t] to denote the values of variables in
capacity and the current battery energy. The constraint contains the the t-th iteration.
(k) (k) (k)
(k)
optimization variable a from Eq. (1). Link capacity constraint (6) Step 1: Fix yi,a = yi,a [t] for all i Va and a A(k) and
indicates that the flow rate on link (i, j) should be within the capacity maximize the augmented objective function under the constraints of
for that link. flow conversation, energy balance and link capacity with respect to
(k) (k)
We can observe that energy constraint (4) is time-varying for ri,a to obtain the optimal data rate ri,a [t], the optimal flow rate
(k) (k)
different time intervals due to the time-varying nature of the solar fi,a [t] and the optimal sojourn time a [t] of the SenCar. To be
energy harvesting rate i (k), i.e., optimization problem (P1) is precise, this step solves the following optimization problem:
X
dynamic, and thus, the feasible region and the optimal solutions P2 : max Uei (r(k) ) (7) i,a
to problem (P1) differ in different time intervals. However, for a r (k) ,f (k) , (k) (k)
iVa
given time interval, the solutions of problem (P1) are fixed since
the convergence time of solving problem (P1) is less than the subject to constraints (3), (4), (5) and (6), where the augmented
time-varying time of the solar energy replenishment rate i (k). We objective function is:
can, thereafter, view the dynamic problem as a sequence of static X (k) X ci (k)
ei (r(k) ) = Ui (
U ri,a )
(k)
(ri,a yi,a )2 (8)
i,a
problems for some given time intervals. To this end, we can focus on (k) (k)
2
aA aA
the optimal solutions of the static problem for a give time interval k.
The standard method to solve each static problem involves the dual It is easy to show that the optimization problem P2 is equivalent
decomposition and the subgradient methods. to the original problem P1 when y is set to the optimizing r, i.e.,
We can observe that the objective function of problem (P1) is the optimal value of problem P2 coincides with that of problem
P (k) (k)
P1. In fact, let ri,a denote the maximizer of problem P1. Then
concave with respect to the total data generating rate a ri,a of (k) (k) (k) (k)
(k)
all sensors, but not strictly concave with respect to ri,a due to ri,a = ri,a and yi,a = ri,a are the maximizers of problem P2.
P (k) (k) (k) (k)
Step 2: Set yi,a [t + 1] = ri,a [t] for all i Va and a A(k) .
the linearity of a ri,a . This will cause difficulties in constructing
solutions for online implementation. First, although a maximizer of The iterations will converge to the optimal solution of (P1) as
problem (P1) always exists, it is usually not unique, which implies t according to [31, pp. 232]. The major challenge of solving
(k)
that the optimal resource allocation policy is not unique either. (P2) is the global dependencies among flow rate variables fij,a , data
(k) (k)
Second, the primal and dual algorithms share the same oscillation rate variables ri,a and sojourn time variables a in energy balance
(k) (k)
problem. Although the dual variables (i.e., i,a and i,a in Section constraint (4), and we take a hierarchical decomposition approach
(k)
V-B1) may converge, the primal variables (ri,a and fij,a k
) may not. to separating P2 into two levels of optimization.
Third, it is difficult to implement the algorithm in a distributive At the lower level, we consider the optimization problem denoted
manner. by P3(a), that maximizes the augmented objective function over
variables r(k) and f (k) with fixed X (k)
V. D ISTRIBUTED A LGORITHM FOR M OBILE DATA G ATHERING P3(a): max ei (r (k) )
U (9)
i,a
r (k) ,f (k)
To circumvent the difficulty due to the lack of strict concavity, in (k)
iVa
this section, similar to [32], we resort to the proximal optimization subject to constraints (3), (4) and (6).
algorithm [31, p232] to solve optimization problem (P1) and present At the higher level, we consider the problem of updating variables
a distributed algorithm for mobile data gathering. (k) , denoted by P3(b), by solving
X
The optimization problem is solved by a two-level optimization P3(b): max Vei ( (k)
a ) (10)
method. At the lower level, two subalgorithms for calculating data (k)
(k)
iVa
rates and routing are performed. The rate control subalgorithm (k)
subject to constraints (4) and (5), where Vei ( a ) is the optimal
determines the optimal data rate and the flow routing algorithm finds (k) (k)
objective value of P3(a) over r and f , which is given by (27).
the optimal routing path and flow rate on each link. Sensor nodes
We will first solve P3(a) by using the Layering as Optimization
update their Lagrangian multipliers iteratively and pass the results
Decomposition (LOD) method in [33]. The necessary conditions for
to their direct neighbors. At the higher level, the SenCar obtains
applying LOD are convexity and separability. The following theorem
the Lagrangian Multipliers from the lower level to allocate sojourn
verifies the convexity of P3(a).
time at different anchors. The details of problem transformation and
Theorem 1: With the addition of the quadratic term
subalgorithms are described in the following. P P ci (k) (k) 2 (k) (k)
2 (ri,a yi,a ) , for any fixed Y = {yi,a }
A. Optimization Problem Transformation iS aA(k)
(k) (k)
The idea of the distributed algorithm can be explained as follows. and = { a }, i N , a A(k) , P3(a) is convex.
P P ci (k) (k) 2 Proof: Since utility function Ui () is a strictly concave and
We add a quadratic term 2 (ri,a yi,a ) to the original
iS aA(k) twice-differentiable function, the augmented objective function
objective function, which forms an augmented objective function. Uei (r(k) ) is strictly concave with respect to r(k) . The linear com-
P (k) i,a
(k)
i,a
(k)
Note that the objective function Ui ( a ri,a ) is only the function binations of optimization variables ri,a , and fij,a in constraints (3)
(k)
of variable ri,a , which implies that adding quadratic term to the and (6) induce that constraints (3) and (6) are convex. We further
objective function can make the augmented objective function strictly observe that constraint (4) is equivalent to
1536-1233 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2016.2533390, IEEE
Transactions on Mobile Computing
X (k)
X (k) (k)
fij,a tx
ij + fmi,a rx ex
i + ri,a i the maximization problem max Lr (r(k) , (k) , (k) ) while the joint
jPi,a
(k)
mCi,a
(k) scheduling and routing subproblem is to find optimal flow variables
(k)
X (k1) f (k) by solving the maximization problem max Lf (f (k) , (k) , (k) ).
(( tsp + (k)
a )i (k) + bi )/(q (k)
a ), i N (11) In the following, we will provide the corresponding subalgorithms
aA(k) and solutions to these subproblems.
Since the left-side of inequality (11) is linear, its left-side function 2) Rate Control Subalgorithm: The dual problem (16) contains
is convex. In addition, the right-side of inequality (11) is a constant |N | rate control subproblems, one for each sensor. In this subsection,
(k)
when a is fixed, which indicates that constraint (11) is convex. we describe the rate control subalgorithm to solve the subproblem
Hence, P3(a)is convex. in the context of sensor i. The rate control subalgorithm aims to
It can be concluded from Theorem 1 that the subgradient based provide optimal data rate for each sensor when the SenCar is at
on dual decomposition can be applied to solve convex optimization different anchors in time interval k by solving a local optimization
(k) (k)
problem P3(a). problem as follows, given i,a and i,a ,
X (k) X ci (k) (k)
B. Lower Level Optimization max Ui ( ri,a ) (ri,a yi,a )2
(k)
r 0 2
At the lower level, we provide a distributed algorithm for data aA(k) aA(k)
X (k)
control and routing by solving P3(a) while keeping (k) fixed.
(k) ex (k)
( i,a + i,a )i ri,a (17)
1) Lagrangian Dual Decomposition: We can observe that data aA(k)
(k) (k)
rate variables ri,a and flow rate variables fij,a are correlated with
Since the rate control subproblem (17) is concave, the solutions that
each other in constraints (3) and (11). In this subsection, we separate
satisfy the Karush-Kuhn-Tucker (KKT) conditions [34] are sufficient
these variables by Lagrangian dual decomposition. We first relax
(k) to be optimal for both itself and its dual problem. Thus, we propose
constraints (3) and (11) by introducing Lagrangian multipliers i,a
(k) (k)
an efficient search algorithm based on KKT conditions to find an
and i,a respectively. Here, the Lagrangian Multiplier i,a can be optimal data rate for sensor i.
interpreted as the flow conversation price at sensor i for the SenCar (k) (k)
Let i,a be the Lagrangian Multiplier for constraint ri,a 0 and
(k)
at anchor a while i,a can be referred to as the perpetual operation (k)
r(k) = {ri,a |i N , a A(k) } be the optimal solution to problem
price at sensor i, that is, the price of keeping the consumed energy
(17). For all a A(k) , the KKT conditions can be given by
at sensor i no more than the harvested energy in each time interval. (k)
Then we can obtain the partial Lagrangian of P3(a) as follows. i,a 0 (18)
(k) (k)
i,a ri,a = 0 (19)
L(r(k) , f (k) , (k) , (k) ) = Lr (r(k) , (k) , (k) ) (k) (k) (k) (k) (k)
Ui () ci ri,a + ci yi,a ( i,a + i,a )ex + i,a =0 (20)
+Lf (f (k) , (k) , (k) ) + L ( (k) , (k) ) (12) P 
i

(k)
where where Ui () = Ui
ri,a
is the first-order derivative of
aA(k)
(k) (k) (k)
X (k)
X ci (k) (k) P (k) (k)
Lr (r , , ) = Ui ( ri,a ) (ri,a yi,a )2 Ui with respect to the total data rate aA(k) ri,a . We let mi,a =
(k) (k)
2 (k) (k) (k)
X
aA aA
ci yi,a ex
i ( i,a + i,a ), and then (20) can be rewritten as
(k) (k) (k)
( i,a + i,a ex
i )ri,a (13) (k) (k) (k)
Ui () ci ri,a + mi,a + i,a = 0 (21)
aA(k)

Lf (f (k) , (k) , (k) ) = As Ui is a strictly concave function, Ui () decreases with the increase
X X (k) P (k) (k)
(k) (k)
( j,a i,a j,a tx
(k) rx (k) of aA(k) ri,a . If we sort the rates in the order that mi,1
ij i,a i )fij,a (14) (k) (k)
aA(k) jP (k) mi,2 mi,|A(k) | , we have from (21) that for any 1 a
i,a
(k) (k) (k)
L ( (k) , (k) ) =
a |A(k) |, ri,a ri,a . This result trivially holds when ri,a =
X (k) (k) X (k) (k1)
(k) (k)
0. And when ri,a > 0, we have from (19) that i,a = 0 and
i,a (( tsp + a )i (k) + bi )/(q (k)
a ) (15)
(k) (k) (k) (k) (k) (k) (k)
aA(k) aA(k) ri,aa ri,a = c1i (mi,a mi,a ) + i,a > 0 due to mi,a > mi,a .
The objective function of the dual problem is then Note that since Ui () is a function with respect to the total rate of
sensor i for all anchors and is independent of individual anchor, we
D( (k) , (k) ) = max L(r(k) , f (k) , (k) , (k) ) P (k) P (k)
r (k) ,f (k) have Ui ( aA(k) ri,a ) = Ui ( a A(k) ri,a ). Therefore, by using
with constraints (5) and (6). By duality, the dual problem of (7),  conditions, there exists an A such that
this result and the KKT
(k) (k)
given Y (k) and (k) , is (k) (Ui (Ri ) + mi,a )/ci , aA
ri,a = (22)
0, a>A
min D( (k) , (k) ) (16)
(k) 0, (k) 0 (k) P (k)
where Ri = aA(k) ri,a denotes the sum of data rates of
Since the objective function of primal problem P3(a) is strictly sensor i for all anchors, i.e., the total data rate of sensor i in time
concave, the dual is differentiable. The dual problem (16) can be (k)
interval k. This implies that finding the optimal data rate ri,a for
decomposed hierarchically [33] [34] as follows. The dual mas- (k)
every anchor can be transformed into searching for the optimal Ri
ter problem takes responsibility for solving the dual problem, in
and A.
which the subgradient method is applied to iteratively update the (k)
(k) (k) For a given A, Ri can be easily obtained by solving the
Lagrangian Multipliers i,a and i,a . Each time the Lagrangian (k)
summation in (20) for all a A. To elaborate, as ri,a > 0 for
Multipliers are updated, a primal decomposition is carried out to (k) (k)
(k) (k) (k)
separate the coupling variables ri,a , fij,a and a . In other words, all a A, we have i,a = 0 so that Ri is the solution of
(k) P A (k) P A (k)
when Y (k) and (k) are fixed, the low level dual problem can be AUi (Ri )ci a=1 ri,a + a=1 mi,a = 0. The remaining work
(k)
further decomposed into two subproblems, i.e., rate control subprob- is to find a proper A. The key ideas are as follows. Since ri,a
lem and joint scheduling and routing subproblem. The rate control decreases with a, and A is the threshold to indicate whether the data
subproblem is to obtain the optimal rate variables r(k) by solving rate is greater than zero, the search for A is performed from |A(k) |
1536-1233 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2016.2533390, IEEE
Transactions on Mobile Computing
TABLE IV TABLE V
D ISTRIBUTED R ATE C ONTROL S UBALGORITHM FOR S ENSOR i D ISTRIBUTED ROUTING S UBALGORITHM FOR S ENSOR i
(k) (k) (k)
Sort anchors in A(k) so mi,a is in a decreasing order; Set fij,a = 0, for all j Pi,a , a A(k) ;
PA (k) (k) (k) (k) (k)
Let A = |A(k) |; Compute M = a=1 mi,a ; Find Xi = {(j, a)| j,a i,a j,a tx rx
ij i,a i > 0,
While A 1 Do (k)
for j : (i, j) Ea , a
A(k) };
(k) (k) (k)
Obtain Ri by solving AUi (Ri ) ci Ri + M = 0; Initialize the remaining energy Er = min{T i (k) + bi
(k1)
, B}
(k) (k) (k) (k)
Compute ri,A = (Ui (Ri ) + mi,A )/ci ; While Xi 6= and Er > 0 for all j Pi,a , a A (k) Do
(k) (k) (k) (k) (k) rx
If ri,A > 0 (e a)i = arg max(j,a)Xi ( j,a i,a j,a tx
j, e
( ) ij i,a i );
Compute (
the optimal data rate for each anchor by
(k) (k) (k) Er
(k) (Ui (Ri ) + mi,a )/ci , aA ; f = min (k) , iej ;
ri,a = ie
j,e
a q a tx
e eij
0, a>A e a)i from it;
Update Xi by removing
 (j, e 
break; P
(k) tx (k) (k) (k)
(k)
Else M = M mi,A , A = A 1; End If Er Er q ae ef e + (k) fmi,ea rx
i + ri,e ex
a i
ij ij,e
a mCi,a
End While End While
(k) (k) (k)
down to 1, and when ri,A = (Ui (Ri ) + mi,A )/ci > 0, it follows (k)
of sensor i over {fij,a } is a linear program and we can choose
from (22) that A is found. The detailed rate control subalgorithm
a maximum flow rate for the link with the largest gain so as to
for subproblem (17) is summarized in Table IV. The complexity of
maximize the objective function.
the subalgorithm is O(|A(k) | log(|A(k) |)).
The worst case of the subalgorithm is that each sensor needs to
3) Routing Subalgorithm: The dual function also contains |N |
compute and compare the link gains of all the outgoing links for
routing subproblems, each for a sensor to schedule the link activation
different anchors.
P Thus, the  time complexity of the routing subalgo-
and allocate the optimal flow rate on the scheduled link under the (k) (k)
constraints of energy and capacity. During the optimization process, rithm is O aA(k) |P i,a | , where |Pi,a | denotes the number of
there could be control messages generated. However, compared to parent nodes of sensor i at anchor a in time interval k.
the size and amount of data packets, these messages are of much 4) Lagrangian Multiplier Update: In each iteration of the sub-
smaller sizes and are transmitted less frequently. Therefore, the algorithms of rate control, routing and sojourn time allocation,
control messages can be ignored on the flow level characterization sensor i solves the subproblems in (17) and (23) with the current
(k) (k)
of the problem. The routing subproblem at sensor i is, Lagrangian multipliers i,a (t) and i,a (t), where t denotes the index
X X (k) (k) (k) (k) rx (k) of subgradient iterations. Sensor i updates its Lagrangian multipliers
max ( j,a i,a j,a tx
ij i,a i )fij,a (23)
f (k) according to
aA(k) jP (k)
i,a (k) (k)
i,a (t + 1) = [ i,a (t) + (t)L( (k) )(t)]+ (24)
subject to X (k) (k1)
q (k)
a fij,a tx
ij T i (k) + bi , a A(k) where
(k)
X (k)
X (k)
(k)
jPi,a L( (k) )(t) = ri,a (t) + fmi,a (t) fij,a (t)
X (k) (k) (k)
0 fij,a ij , (i, j) Ea(k) , a A(k) mCi,a jPi,a

aA(k) and (k) (k)


(k) (k) (k) (k) i,a (t + 1) = [ i,a (t) + (t)L( (k) )(t)]+ (25)
The term ( j,a i,a j,a tx
ij i,a rx
i ) can be regarded as the
gain of link (i, j), which is determined by the flow conversation where
price, perpetual operation price, and average energy consumption (k)
X
L( (k) )(t) = (f (k) (t), r(k) (t)) ( tsp + (k)
a )i (k)/(q a )
(k)
for receiving and transmitting data at node i.
aA(k)
In other words, if node i wants to schedule link (i, j) and uses the
link to transmit data at a proper flow rate, it has to pay the prices and (t) is the diminishing stepsize satisfying the conditions dis-
for transmitting/receiving data and keeping network at perpetual cussed in the sojourn time allocation subalgorithm. Sensor i will
operation. send the updated Lagrangian multipliers to its direct neighbors to
(k) (k) (k)
We can observe that optimization problem (23) of sensor i over facilitate the computing of ri,a and fij,a , and route i,a (t + 1) to
(k) (k)
{fij,a } is a linear programming problem to obtain the maximum flow the SenCar to calculate a in the next iteration.
at anchor a under the capacity constraint. Accordingly, problem (23) 5) Recovery of Primal Solutions: We now apply the method in
can be solved by the heuristic algorithm of the weighted maximum [35] to recover the optimal primal solutions of f (k) . When variables
ij,a
flow problem with capacity constraint, as described in Table V. (k)
yi,a converge in the higher level of optimization, for the subgradient
The basic idea of the heuristic algorithm is to always allocate the (k)
maximum flow rate to a scheduled link with the largest link gain iterations in the lower level, we compose the primal feasible fij,a as
among all the outgoing links under the constraints of energy and follows.
n
link capacity at each sensor node. The basic idea of the heuristic (k) 1 X (k)
algorithm can be explained as follows. Let (e j, ea)i denote a pair of fij,a [n] = fij,a [h]
n
the preferred outgoing neighbor node e j and the designated anchor e a ( h=1
(k) (k) (k) (k) rx (k)
of sensor i such that the gain ( j,a i,a j,a tx ) of fij,a [1] n=1
ij
(k)
i,a i = n1 (k) 1 (k)
(26)
link (i, j) achieves the maximum for all j : (i, j) Ea , a A , (k) f
n ij,a [n 1] + f
n ij,a [n], n>1
(k) (k) (k) (k) rx
i.e., (e
j, ea)i = arg max(j,a) ( j,a i,a j,a tx ij i,a i ). Sensor i It was proved in [35] that when diminishing stepsize is used, any
always allocates the maximum flow rate to the scheduled link (i, e j) accumulation point of the sequence {f (k) } generated by (26) is
ij,a
that has the largest link gain of all its outgoing links for different (k)
feasible to the primal problem and {fij,a } can converge to a primal
anchors, but it is restricted by the constraints of sensors remaining
optimal solution. Therefore, the optimal flow rate can be obtained
energy and link capacity. It is justifiable since the optimization (k) (k)
1536-1233 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html
when {fij,a } converges to fij,a . for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2016.2533390, IEEE
Transactions on Mobile Computing
TABLE VI
C. Higher Level Optimization S OJOURN T IME A LLOCATION S UBALGORITHM
At the higher level, we investigate the sojourn time allocation Repeat: for each anchor a A(k) do
(k) (k) (k) (k)
subalgorithm on the SenCar to calculate a for achieving the Initialize a , receive i,a for all sensor i Va
associated with the SenCar at anchor a
optimum of P2.
SenCar simultaneously computes a (t + 1)(k) by (31);
The sojourn time of the SenCar at different anchors not only (k)
SenCar updates Lagrangian multiplier a (t + 1) by (32);
determines the amount of collected data and the efficiency of network (k) (k)
Until reach the equilibrium, i.e., { a (t)} converges to a .
utility, but also affects the residual energy of sensor batteries and the X
perpetual operation of sensor networks. Accordingly, this subsection a(k) = arg min L( (k) , r ), (k)
a Q
(k)
(33)
aims to provide the optimal sojourn time of the SenCar at anchor aA(k)
a under the constraints of energy balance and battery capacity by a(k) 0, a(k) [ a(k) Q(k) ] = 0 (34)
solving P3(b).
(k) (k) (k) (k)
As aforementioned, Vei ( a ) in problem P3(b) is the optimal where L( (k) , a )
= L ( (k) , (k) ) Q(k) ). a ( a
(k)
objective value of problem P3(a) over r(k) and f (k) . Let (k) Lagrangian multiplier a can be referred to as the price of sojourn
and (k) represent the Lagrangian multiplier values that minimize time allocation at anchor a.
(k)
D( (k) , (k) ) for given (k) . Vei ( a ) can be expressed by We can observe from (30)-(32) that a shorter total traveling time
(k)
Vei ( (k) D( (k) , (k) , (k) ) na of the SenCar tends to induce a longer sojourn time of the
a ) = min (27)
,,,,0 SenCar at anchor a. However, this increase is restricted by the battery
= min max L( (k) , r (k) , f (k) , (k) (k) ) capacity in order to keep the perpetual operation of the network.
(k) , (k) 0 r (k) ,f (k)
This subalgorithm is listed in Table VI. The complexity of this
Thus, the optimization problem P3(b) can be transformed equiva- subalgorithm is O(|A(k) |).
lently as
X (k) (k) X D. Fault Tolerance and Recovery
min i,a ( tsp + (k) (k)
a )i (k)/(q a ) (28)
(k) During data collection, it is possible that some nodes might deplete
aA(k) aA(k)
energy due to unexpected external events. In these situations, the
subject to X algorithms need to respond immediately by adjusting data rates, link
(k) (k1)
q (k)
a (f
(k) (k)
,r ) q( tsp + (k)
a )i (k) + bi B routings and sojourn time. The procedure is briefly introduced in
aA(k) the following. When some nodes deplete their battery energy, their
(29) neighbors can detect a sudden drop of communication or receive no
(k)
Since q > 0, tsp > 0 and i (k) > 0, constraint (29) is equivalent acknowledge packets. After those faulty nodes are confirmed, the
to neighbors will broadcast a re-initializing request in the network.
0 (k)
a Q
(k)
(30) The request packets with identifications of the faulty nodes are
( (k) propagated in the network. Upon receiving such a request, nodes
, if (f (k) , r(k) ) < i (k), terminate the current data collection process, reset all their local
where Q(k) = (k)
q na i (k)+bi
(k1)
min{(k) , q(f (k) ,r (k) )qi (k)
}, otherwise, states to the initial value and update their neighboring list (removing
(k) P faulty nodes from their neighbors). The SenCar also receives the
(k1)
(k) Bbi (k) (k) (k)
= qi (k) na and na = tsp + bA(k) \a b represents
re-initializing request and knows which nodes are unavailable in the
the total traveling time of the SenCar in time interval k minus
network. After all the faulty nodes have been identified, it then sends
the sojourn time at anchor a, i.e., the summation of the TSP path
out an initializing packet to restart the optimization process. The new
traveling time and the total sojourn time of the SenCar at all the
optimization process will be executed again to compute the new data
selected anchors except anchor a. We know from Section V-B1 that
rates, link routings and sojourn time.
the sojourn time allocation problem (28) is convex and a subgradient
projection with a sufficiently small step-size can be employed to E. Summary of Distributed Algorithm
solve the problem. Introducing Lagrangian multiplier r for the The operation of the two-level optimization is summarized in
right constraint of (30), for all a A(k) , the sojourn time variable (k)
Table VII. At the lower level, for fixed a , sensor i iteratively
(k) (k) (k) (k)
a and the Lagrangian multiplier a can be updated by updates the Lagrangian multipliers i,a and i,a using (24) and (25),
a (t + 1) = [ a (t) + (t)g( (k)
(k) (k)
a )(t)]
+
(31) respectively, and then passes them to its neighbors and the SenCar if
(k) (k) (k) +
a (t + 1) = [a (t) (t)g(a )(t)] (32) necessary. The rate control subalgorithm starts a parallel search for
(k)
(k) (k) P (k) (k) {ri,a } to determine the optimal data rate. The routing subalgorithm
where g( a )(t) = na ( iV (k) i,a (t)i (k))/q( a (t))2 (k)
(k) (k) (k)
a begins to find the optimal routing path and flow rate {fij,a }. At the
a (t) and g(a )(t) = ( a (t) Q(k) ) denote the subgradi- (k)
(k) (k) higher level, the SenCar applies information { i,a } from the lower
ents with respect to a and a (t), respectively; [x]+ = max(0, x)
level to perform sojourn time allocation and determines the optimal
and (t) is a properly chosen step size such that 0 < (k) < 1 for (k)
sojourn time { a } at different anchors. In our approach, each
subgradient iteration t. In our algorithm, we choose the diminishing
subproblem can be solved efficiently in a distributed manner. Only
stepsizes, i.e., (t) = /(t + ), where > 0, > 0 and 0
local exchange of Lagrangian multipliers with the direct neighbors
are adjustable parameters that regulate the convergence speed. It was
of a sensor is needed so the algorithm is scalable to network of large
shown in [34] that regardless of the values of the initial Lagrangian
sizes.
multipliers, the diminishing stepsize can guarantee convergence of
the subalgorithm. VI. P ERFORMANCE E VALUATIONS
The optimal solutions of the subalgorithm obtained by (31) and In this section, we evaluate the effectiveness and efficiency of the
(k) (k)
(32) can be regarded as a primal-dual pair ( a , a ) such that proposed mobile data collection scheme. For evaluation purposes, we
P (k)
for all a A(k) , define the utility function Ui () as wi log( a ri,a + 1), in which wi
1536-1233 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2016.2533390, IEEE
Transactions on Mobile Computing
TABLE VII TABLE VIII
S UMMARY OF D ISTRIBUTED A LGORITHM FOR M OBILE D ATA G ATHERING PARAMETER S ETTINGS
(k) (k)
Initialize yi = {yi,a |a A(k) } to non-negative values; Parameter Value Parameter Value
(k) (tx)
Repeat: for all a A(k) /* updating yi B 1350mAh i 0.16 mJ
(k) (k) (rx) (ex)
Initialize a (0) and a (0) to non-negative values i 0.2 mJ i 0.05 mJ
Repeat: /*Higher-level optimization iterations wi 1 L 240 m
(k) (k) (k)
Initialize i,a (0) and i,a (0) to non-negative values vs 1 m/s ij 20 Kbits
Repeat: /*Lower-level optimization iterations TABLE IX
(k) (k) S PATIAL AND TEMPORAL VARIATIONS OF ENERGY HARVESTING RATES
Determine ri (t) = {ri,a (t)}
by the rate control subalgorithm in Table IV; Time Shadowy spots Harvesting rate in sunny spots
(k) (k)
Determine fi (t) = {fij,a (t)|j Pi,a }
(k) 7-9AM None ki = 3.5mW/cm2
by the routing subalgorithm in Table V; 9-11AM Area 1 ki = 5mW/cm2
(k) (k) 11-1PM Area 1,2 ki = 6.5mW/cm2
Update i,a and i,a by (24) and (25)
(k) (k) 1-3PM Area 1,2,3 ki = 4.5mW/cm2
Send updated i,a and i,a to its neighbors and SenCar; 3-5PM Area 1,2,3,4 ki = 2.5mW/cm2
(k) (k) (k) (k)
Until { i,a (t)} and { i,a (t)} converge to i,a and i,a
(k)
SenCar computes (k) (t) and a (t)
by the sojourn time allocation subalgorithm in Table VI; A. Convergence Property
(k) (k)
Until { a (t)} converge to a We first demonstrate the convergence property of the proximal
(k) (k)
Set yi [n + 1] = ri [n] in the n-th proximal iteration approximation based algorithm. Note that for variables to converge
(k) (k)
Until yi converges to optimum ri . in proximal iterations, they have to converge first in subgradient opti-
mizations. For clarity, we take anchors 1 and 2 and the sensor nodes
connected to them as the observation objects and show convergence
at subgradient optimizations. We set the energy harvesting rate ki
to 4.5 mW/cm2 which is the average value in direct sunlight.
(k)
Fig. 5 shows the evolution of data rates ri,a , Lagrangian multi-
(k) (k) (k)
pliers i (t), i (t) and flow rates fij,a on selected links versus
the number of subgradient iterations. We observe that the results
oscillate at the beginning of iterations because we have used an
incremental subgradient method to solve the problem, which would
lead to fluctuation when the solution is close to the optimal solution
and the degree of such fluctuation is proportional to the iteration
stepsize. As the stepsize gets smaller, the algorithm stabilizes and
achieves desirable convergence. Fig. 5(a) shows the data rates from
Fig. 4. Network configuration with 6 anchors.
sensor 1 to anchor 1, sensor 2 to anchor 1, sensor 8 to anchor 2 and
sensor 4 to anchor 2 with their Lagrangian multipliers in Fig. 5(b)
and (c) respectively. Fig. 5(d) shows the link flow rates on links (7,
is the weight of utility at sensor i. The utility function is introduced 9) and (6, 4) destined to anchor 2, link (3, 1) destined to anchor 1
to characterize the amount of data uploaded from sensors and a and link (8, S2 ) from node 8 destined to anchor 2 denoted by S2 .
node with a larger weight wi would have more impact on the We can observe that all those variables above achieve their optimal
overall performance. Typically, the utility function is introduced as values within 300 iterations.
a measure of satisfaction for balancing network efficiency and user To reduce the number of iterations, we can set the initial values
(k) (k)
fairness. For the sensor network considered in this work, it is used of Lagrangian multipliers i (t), i (t) in the proximal iterations
to characterize the amount of data uploaded from all sensors and the to the final value obtained at the previous run. Fig. 6(a) shows
sensor with a larger wi has more impact on the overall performance. convergence of network utility in the proximal iterations and Fig.
6(b) shows the evolution of sojourn time allocation for anchors 1
We use a network shown in Fig. 4 which consists of 41 sensor
and 2.
nodes and 6 sensors represent possible anchors (S1 to S6 ) distributed
In addition, the overhead of the proposed algorithms can be
over a 75 75 m2 area for demonstration purpose. Because the data
justified as follows. The overhead involves energy consumed to
gathering process is distributed and the anchor selection is adaptive
converge to an optimal solution (or within 5% of fluctuations). It
to the size of the network, each node only needs to communicate
is noticed that both the network utility and sojourn time converge
with its neighbors to make decisions. Thus, our design can be readily
very fast in the high-level proximal iterations (within 50 steps). Since
applicable to large scale networks. To mimic the real scenario, we
the solution for assigning data rates, link flow is pre-computed in a
assume there is a building obstruction on the west side of the sensing
one time effort for each round, the control messages are sent less
field in Fig. 4 (from coordinates (20, 0) to (20, 75)) and the moving
frequently than data messages. The size of the control messages is
direction of the sun is from the east to the west during a day.
also much smaller, compared to the amount of data gathered, the
Sensor nodes in area 1-4 would fall into shadowy spots at different
overhead from control messages can be ignored.
time summarized in Table IX. Nodes in the shadowy spots have
limited energy harvesting rate ki = 0.5mW/cm2 . For example, B. Performance Analysis of Utility Weight and SenCar Speed
from 9-11AM, node 1 is in shadowy spot with ki = 0.5mW/cm2 The overall performance is represented by network utility Ui ()
and node 4 is in sunny spot with ki = 5mW/cm2 . Additionally, which is the combined data uploading rate of all sensors. There are a
all the communication links carry the same capacity ij . Energy number of factors that could have an impact on network utility such
consumptions for transmitting a packet over link (i, j) is proportional as utility weight, energy harvesting rate and the speed of the SenCar.
to the square of distance between sensor i and sensor j. All the Fig. 7(a) shows the impact when we increase the utility weight on
1536-1233 (c) 2015
parameters areIEEE. Personal use is permitted,
summarized in Table but republication/redistribution
VIII. requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2016.2533390, IEEE
Transactions on Mobile Computing
(k) a a ^a
Evolution of data rates r Evolution of Lagrangian multiplier Evolution of Lagrangian multiplier Evolution of link flow rates f
i,a i i i,j
1.5 4 4 20

a
i
24

Lagrangian Multiplier
Lagrangian Multiplier
1.4 3 15 ^
28 1 f8,s

Flow Rate
3
Data Rate

1 2
^2
1 10 f7,9
1.3
r(k) r(k) r(k) 24
2 2 ^2
8,2 2,1 1,1
2 11 f6,4 ^1
1.2 12 1 28 5 f3,1
r(k)
4,2
1.1 1 0 0
0 500 1000 1500 0 500 1000 1500 0 500 1000 1500 0 500 1000 1500
Subgradient Iterations Subgradient Iterations t Subgradient Iterations Subgradient Iterations

(a) (b) (c) (d)


(k) (k)
Fig. 5. Convergence of subgradient iterations. (a) Evolution of data rates ri,a . (b) Evolution of Lagrangian multiplier i (t). (c) Evolution of Lagrangian multiplier
(k) (k)
i (t). (d) Evolution of recovered flow rates fij,a .

Evolution of network utility Evolution of sojourn time Evolution of network utility Evolution of sojourn time at AP 1
100 100 480
64 Uniform i
Uniform i
Nonuniform
i
75 360 Nonuniform i

Network Utility
99.68 2

Sojourn Time
Network Utility

Sojourn Time

99.04 50 240

98.96 25 120
63
1
0 0
98.6 0 3 6 9 12 15 18 21 24 0 3 6 9 12 15 18 21 24
0 10 20 30 40 50 0 10 20 30 40 50 Time
Proximal Iterations Proximal Iterations Time (hour)

(a) (b) (a) (b)


Fig. 6. Convergence of proximal iterations. (a) Evolution of network utility U (). Fig. 8. Performance of proposed algorithms as a function of T . (a) Evolution of
(k)
(b) Evolution of sojourn time a . network utility during a day. (b) Evolution of sojourn time at anchor 1 for each
migration tour.
Impact of weight on data rate Impact of SenCar speed on network utility
11 65
sensor 1
9
sensor 2 time and location, which we denote as the nonuniform rate.
sensor 4 i=5 mW/cm2
60 For example, from 7AM to 9AM, all the sensors are in direct
Data Rate

sensor 8
7
Utility

sunlight and from 9AM to 11AM, nodes 1, 2, 5 and 26 are in


5 i=4 mW/cm2 shadows. As the time goes on, more sensor nodes will be covered
55
3 by building shadows. The values of harvesting rate correspond to
1 50
i=3 mW/cm2 the experimental measurements conducted in Section III. To reflect
1 2 3 4 5 1 2 3 4 the effect of anchor selection algorithm, the anchors for the second
Utility Weight Speed (m/s)
case also change during the day. The time interval T is set to 1 hour.
(a) (b)
Fig. 7. Network performance evaluations. (a) Impact of utility weight on data From 7AM to 9AM, SenCar stops at all the anchors shown in Fig.
collection. (b) Impact of SenCar speed on network performance. 4 and from 9AM - 11AM, SenCar only stops at anchors 2 to 6 to
collect data. Table X summarizes the anchors selections for different
sensors 1, 2 and 4 from 1 to 5 while keeping the utility weight on time intervals.
other sensors unchanged. We can see that the data rates on sensors It is worth pointing out that the first case serves as a benchmark
1, 2 and 4 increase when we assign a higher utility weight for them. and it is the ideal case since in real applications, certain nodes subject
By adjusting the utility weight on each sensor, SenCar could give to energy shortage are bound to become bottlenecks and degrade the
preference of data collection to sensors with higher weight. On the overall network utility.
other hand, the speed of SenCar also has a great impact on network Fig. 8(a) demonstrates the evolution of network utility in consec-
performance. Once the anchors have been determined, the migration utive 24 hours. Compare to the ideal case in which sensor energy is
tour length is fixed. Thus, the amount of time the SenCar spends only affected by time variants, our algorithms achieve relatively high
on route depends on the speed of the SenCar. Fig. 7(b) shows the network utility under temporal and spatial variations. It is because
network utility when the SenCar travels at 1, 1.33, 2 and 4 m/s among that with the introduction of anchors at certain locations and mobile
anchors. First, we can see that the network utility increases with data collection, we are able to bypass those nodes suffering energy
higher energy harvesting rates. Then, at a faster speed of the SenCar, shortage, and at the same time, allow those nodes to engage in
the network utility is also higher. This is because that the less time light duty for more energy storage. For clarity, Fig. 8(b) shows the
SenCar spends on traveling, the more time SenCar could sojourn at sojourn time of the SenCar at anchor 1 in each migration tour for
anchors to collect data in each time interval. Thus, increasing the uniform and nonuniform i and the trend of sojourn time at other
speed of the SenCar is beneficial to overall performance. anchors is similar. It is observed that the sojourn time in each tour
is inversely proportional to the energy harvesting rate i around
C. Performance Evaluation under Spatial-Temporal Energy Varia- the neighborhood. The relationship can be identified through Eq.
tions (29) where an increase of energy harvesting rate would lead to a
After the convergence property of the proposed algorithm has decline in total sojourn time in order for the relationship to hold. It
been shown, it is important to demonstrate the network performance indicates that with a higher energy harvesting rate i , sensor nodes
under spatial-temporal energy variations. Here, we categorize energy can transmit at a higher data rate so that it takes less time to collect a
harvest into two cases. In the first case, the energy harvesting rate of certain amount of data at an anchor. Implicitly, to maximize the total
sensors only changes with time, which we denote as the uniform rate. network utility given a higher energy harvesting rate i , the SenCar
In the second case, the energy harvesting rate of sensors changes with could traverse the sensing field more frequently during interval T .
1536-1233 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2016.2533390, IEEE
Transactions on Mobile Computing
TABLE X Evolution of link flow rates Evolution of link flow rates
S ELECTION OF ANCHORS D URING A D AY under uniform harvesting rate under nonuniform harvesting rate
20 5
f f5,2
5,2
Time anchor Location f

Link Flow Rate

Link Flow Rate


15 15,9 4 f
15,9
7AM-9AM 1, 2, 3, 4, 5, 6 f f32,27
32,27
9AM-11AM 2, 3, 4, 5, 6 10 f 3 f
34,33
11AM-1PM 3, 4, 5, 6 34,33

1PM-3PM 5, 6 5 2
3PM-5PM 5, 6
0 1
8 10 12 14 16 8 10 12 14 16
D. Impact of Environmental Dynamics on Link Flow Time Time

Next, we examine the evolution of link flow rates on selected (a) (b)
links to see the effectiveness of our algorithms to adjust the flow Fig. 9. Evolution of link flow rates on selected links during a day. (a) Evolution of
rates under the dynamics of environmental energy as well as the link flow rates under uniform harvesting rate. (b) Evolution of link flow rates under
nonuniform harvesting rate.
cumulative battery energy during a day. Using the example in the Residual battery energy under uniform harvesting rate Residual battery energy under nonuniform harvesting rate
100 65
previous subsection, Fig. 9 shows the link flow rates on link (5,

Percentage of Residual Battery (%)

Percentage of Residual Battery (%)


Node 8 Node 8
Node 10
2), (15, 9), (32, 27) and (34, 33) for uniform and nonuniform i . Node 10
Node 12 Node 12
Node 34
Note that in Fig. 9(a) where i changes only with time, the link 80
Node 34

flow rates are similar to the temporal profiles of energy harvesting 55

rates, which means when i is higher, more data flow is assigned to 60


the link from i. After adding the spatial variations, Fig. 9(b) shows
flow conservations on link (5, 2) and (15, 9) from 9AM whereas
40 45
flows on link (32, 27) and (34, 33) increase because these links 7 8 9 10 11 12
Time
13 14 15 16 17 7 8 9 10 11 12
Time
13 14 15 16 17

are unaffected by shadows. Intuitively, the purpose of flow control (a) (b)
is to avoid battery failure when any sensor node suffers an energy
Fig. 10. Evolution of residual battery energy on selected sensors during a day. (a)
shortage on either side of a bidirectional link. It is apparent that Energy harvesting rate is uniform at different sensors. (b) Energy harvesting rate is
our algorithms can dynamically adjust the flow rates on each link nonuniform at different sensors.
accordingly by taking both the temporal and spatial variations into
consideration.
the sink fell into shadows so the energy harvesting rates have been
E. Evolution of Energy Storage significantly diminished. They form a bottleneck around the data
In this subsection, we show the evolution of energy storage on sink which significantly limits the utilization of the rest nodes. The
some representative nodes. Energy storage is important to ensure location of S5 achieves the highest utilization among all the choices
the perpetual operation of the network in the sense that no sensor to place the static sink. However, it is still 40% less than the mobile
would have drained its battery energy. This requirement is reflected scheme since the migration of SenCar through the anchor locations
in the energy constraint (4) which limits the total energy consumption can alleviate routing burdens and congestions in the network.
during an interval T to the battery capacity. To investigate the Fig. 11(b) shows the histogram of energy utilization. For clarity,
cumulative energy storage of sensor nodes, we set the initial battery we show the cases with static sink at S1 (worst case), S5 (best case)
energy to 50% of the full capacity. Fig. 10 shows the battery energy and mobile data gathering on the same figure. We can see the static
for uniform and nonuniform i during a day. In Fig. 10(a), node case results higher residual energy on sensor nodes which means
12 can harvest and store energy up to 100% of its full capacity most of the harvested energy is not utilized to for data transmissions.
when the solar harvesting rate peaks at 1-2 pm. Similarly, nodes 10 In contrast, with mobile data gathering, harvested energy is utilized
and 34 could store around 70% battery energy. In comparison, for to forward sensed data to designated anchors. Therefore, using
nonuniform i , even sensor nodes 8, 10 and 12 are in shadows for mobile data gathering can circumvent possible bottlenecks due to
most of the day, they can maintain their energy levels around the variation of energy harvesting rates and maximize network utility.
initial 50%. Rather than using up all the battery energy, sensors can
G. Evaluation of Data Collection Hop-count m
store battery energy in some time intervals. This is because that when
the SenCar approaches an anchor, it stays for the period of sojourn To see the impact of data collection hop-count m on network
time to collect data (shown in Eq. (4)). During the rest of time, performance, we further conduct simulations to show latency in Fig.
nodes can restore their energy by harvesting solar power. In sum, our 12(a). We change node number from 50 to 200 and fix Lb = 300
results indicate that when the energy consumption rates are higher m, and evaluate the average data gathering latency in consecutive
than the harvesting rates (usually happens during the afternoon when six 1-hour intervals. It is obvious to see when m = 1, the latency
the sunlight is weakening), nodes would utilize some of their energy increases monotonically by adding more nodes. This is because the
storage for sensing and data transmissions.
Comparison of network utility
F. Comparison of Static Sink and Mobile Data Gathering 60
Sink at S1
Sink at S2
In this subsection, we evaluate the proposed mobile data gathering 50 Sink at S3
Sink at S4

scheme by comparing to the case with a static data sink. In the static Sink at S5
Network Utility

40 Sink at S6
Mobile scheme
sink case, we assume the sink is at the location from S1 S6 . All the 30

sensors have 20% initial energy with time-varying harvesting rates 20


shown in Table IX. Fig. 11(a) shows the comparison of network
10
utility during a day. We observe that with mobile data gathering,
0
the harvested energy is better utilized. When the static data sink 79AM 911AM 111PM
Time period
13PM 35PM

is placed at S1 S2 , network utility even declines with increase (a) (b)


of energy harvesting rates from 7AM - 1PM because nodes around
1536-1233 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See 11.
Fig. http://www.ieee.org/publications_standards/publications/rights/index.html
Performance comparison of static sink and mobile mobile for more
datainformation.
gathering.
(a) Comparison of network utility. (b) Histogram of energy utilization.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2016.2533390, IEEE
Transactions on Mobile Computing
Data collection fairness Average Data Collection Latency Node failures and recoveries
1 1 hop 50
2 hops
m= 1 hop

Average Data Latency (mins)


3 hops 250 m= 2 hops
0.8 4 hops m = 3 hops 40
m = 4 hops

Total network utility


Fairness

0.6 200
30
10 node failures 10 node recoveries
0.4
150
20
0.2
100 10
0
L = 300 L = 400 L = 500
50 100 150 200
Tour Length Bound Lb Number of Nodes 0
0 20 40 60 80 100 120
Time (seconds)
(a) (b)
Fig. 12. Evaluation of data collection hop-count m (a) comparison of data latency. Fig. 13. Evolution of total network utility in case of 10 node failures and recoveries.
(b) comparison of data collection fairness.
anchors. Second, it also implies the fast convergence of the algorithm
tour length bound imposes an upper bound of nodes the SenCar in response to any unexpected node disruption and adaptivity to
can visit in each interval, with single hop communication, nodes temporary link disconnections (network topology change). At the
unvisited have to buffer all the data packets till they have been chosen 40s, sudden failures of 10 nodes cause the lost of their intermediate
as anchors. Interestingly, using m = 1, 2 results longer latency with states. Then, the algorithm quickly re-calculates the data rate and new
more nodes, whereas when m = 4, the latency even decreases with routing by discovering new data forwarding paths. Once the nodes
an increasing number of nodes. The reason is because an increase recover at 80s time, the previous connections have been restored
of nodes improves network connectivity and node density such that and the algorithm re-initializes quickly to converge to the previous
more nodes can upload data to each anchor with less data being optimal network utility value. These observations indicate that the
buffered on each sensor. proposed algorithm can find new optimal states very fast in case of
To quantify if all generated data can be collected, we also sudden node failure.
evaluate the data collection fairness. Here, fairness indicates whether
generated data packets can be collected in each time interval. We can VII. D ISCUSSION
utilize the index from [36] to quantify fairness,
Pn There are some interesting issues to be explored further in future.
( i=1 xi )2 First, how to apply the proposed framework to a network of large size
F = Pn . (35)
n i=1 (xi )2 where multiple SenCars are needed to ensure scalable data collection.
where n = |N | is the number of nodes. xi is a normalized indicator In this case, we can partition the network into different regions
that equals 1/|N | if data is collected from node i, otherwise, it is such that each SenCar only deals with a portion of the network. To
0. F ranges from 0 (no data is collected) to 1 (all data is collected) partition the network adaptively, clustering methods such as K-means
that represents if the SenCar can collect data equally from all the algorithms can be used and these decisions would be disseminated
nodes. This is critical in practice since if important information from to the SenCars prior to each data collection interval.
a region is being missed (not covered by anchors), it might lead to Second, the optimization framework could be further improved.
incomplete or even wrong decisions. Fig. 12(a) shows the results of The anchor selection algorithm can test more combinations of
different m with tour length bound Lb = 300-500m, respectively. anchors within the tour length bound. This would allow the SenCar
It is expecting to see that fairness improves significantly with an to collect more data and enhance network utility. Moreover, joint
increase of m. For example, when m = 1, Lb = 300 m, F = 0.28 optimization that considers all possible choices of anchors and
whereas m = 4, Lb = 300 m, F has reached 0.9. If we let m = 4, selects the best network utility is more desirable. In addition, the
Lb = 500 m, F will increase to 1 representing packets from all the optimization algorithms can be further improved to account for future
sensors can be collected without prejudice. In sum, our results have energy income and expenditures so the harvested energy can be
demonstrated that a larger data collection hop count m will improve properly utilized in the current time interval.
data gathering latency and fairness.
VIII. C ONCLUSIONS
H. Network-Wide Performance
To validate feasibility to implement the proposed algorithm in real In this paper, we have considered the problem of finding opti-
network environments and fault-tolerance in case of node failures, we mal mobile data gathering strategies for energy harvesting sensor
simulate the proposed algorithm using NS-2 [37]. We implement rate networks. We first examine the impact of spatial-temporally varying
control algorithm at the transport layer and extend the Ad hoc On- energy distribution on the operation of the sensor network through
Demand Distance Vector Routing (AODV) to encompass the routing an experimental study based on solar harvesting. To circumvent
algorithm at the network layer. the negative effect of limited energy harvesting capability on some
In the evaluation, 100 sensor nodes are randomly scattered in sensor nodes, a mobile collector is introduced for gathering data and
a 1000 1000m2 field with 10 anchors selected by the anchor balancing energy distribution in the network to improve performance.
selection algorithm in Section IV-A. A mobile node is added as We then propose an adaptive anchor selection algorithm based on
the SenCar to gather data while moving at 2 m/s. To see the fault sensors energy level which achieves a desirable balance between
tolerance of our proposed algorithms, we assume that at the 40s the amount of data gathered and data gathering latency. We then
time, 10 nodes deplete their energy and stop working. We can see a formulate the problem into a convex optimization problem in which
corresponding sudden drop of the network utility in Fig. 13. On the the SenCar spends variable sojourn time at each anchor and each
other hand, we assume that at 80s time, those nodes are recovered sensor tunes the data rate, scheduling and routing based on the
and join the network. The curve jumps up to the original level in Fig. individual energy harvesting rate such that the overall network utility
13. This observation first validates that the proposed algorithm can can be maximized. Finally, we provided extensive numerical results
reach a steady optimal state with the SenCar migrating over different under different scenarios to validate the efficiency of the proposed
1536-1233 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html
scheme and complement our theoretical analysis. for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2016.2533390, IEEE
Transactions on Mobile Computing

IX. ACKNOWLEDGEMENT [27] P. Plonski, P. Tokekar and V. Isler, Energy-efficient path planning for
solar-powered mobile robots, Experimental Robotics Springer Tracts in Adv.
This research work was supported in part by the grant from the US Robotics, vol. 88, 2013, pp. 717-731.
National Science Foundation under grant number ECCS-1307576, [28] X. Ren and W. Liang, The use of a mobile sink for quality data collection in
energy harvesting sensor networks, IEEE WCNC, 2013.
and the National Natural Science Foundation of China (61170248, [29] T.H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein, Introduction to
61373179, 61373178, 61402381), Science and Technology Leading Algorithms, MIT Press, 2001.
Talent Promotion Project of Chongqing (cstc2013kjrcljrccj40001), [30] N. Sharma, J. Gummeson and D. Irwin, Cloudy computing: leveraging weather
forecasts in energy harvesting sensor systems, IEEE SECON, 2010.
and Fundamental Research Funds for the Central Universities [31] D. P. Bertsekas and J. N. Tsitsiklis, Parallel and Distributed Computation:
(XDJK2013A018, XDJK2013C094, 2362014XK12). Numerical Methods. Athena Scientific, 1997.
[32] X. Lin, and N. Shroff, Joint rate control and scheduling in multihop wireless
networks, IEEE CDC, 2004.
R EFERENCES [33] M. Chiang, S. Low, A. Calderbank, and J. Doyle, Layering as optimization
decomposition: A mathematical theory of network architectures, Proc. of the
[1] M. Rahimi, H. Shah, G. Sukhatme, J. Heideman and D. Estrin, Studying the IEEE, vol. 95, no. 1, pp. 255-312, Jan. 2007.
feasibility of energy harvesting in a mobile sensor network, IEEE International [34] S. Boyd and L. Vandenbergh, Convex Optimization. Cambridge University Press,
Conference on Robotics and Automation, 2003. 2004.
[2] J. Paradiso, T. Starner, Energy scanverging for mobile and wireless electronics, [35] H. Sherali and G. Choi, Recovery of primal solutions when using subgradient
IEEE Journal of Pervasive Computing, vol. 4, no. 1, pp. 18-27, 2005. optimization methods to solve Lagrangian duals of linear programs, Operation
[3] X. Jiang, J. Polastre, and D. Culler, Perpetual environmentally powered sensor Research Letters, vol. 19, no. 3, pp. 105-113, 1996.
networks, IEEE IPSN Apr. 2005. [36] R. Jain, D. M. Chiu, W. Hawe, A quantitative measure of fairness and dis-
[4] V. Raghunathan, A. Kansal, J. Hsu, J. Friedman, and M. Srivastava, Design crimination for resource allocation in shared computer systems, DEC Research
considerations for solar energy harvesting wireless embedded systems, IEEE Report TR-301.
IPSN Apr. 2005. [37] NS-2, Network Simulator, http://www.isi.edu/nsnam/ns/, 2012.
[5] C. Ma, Z. Zhang and Y. Yang, Battery-aware scheduling in wireless mesh
networks, Mobile Networks and Applications, vol. 13, no. 1-2, pp. 228-241,
2008.
[6] C. Ma and Y. Yang, Battery-aware routing for streaming data transmissions in
wireless sensor networks, Mobile Networks and Applications, vol. 11, no. 5, Cong Wang received the BEng degree of Information
pp. 757-767, 2006. Engineering from Chinese University of Hong Kong in 2008,
[7] A. Kansal, J. Hsu, M. Srivastava and V. Raqhunathan, Harvesting aware power and MS degree in Electrical Engineering from Columbia
management for sensor networks, 43rd ACM/IEEE DAC, 2006. University, New York, in 2009. He is currently working
[8] C. Ma and Y. Yang, A battery-aware scheme for routing in wireless ad hoc towards the PhD degree at the Department of Electrical and
networks, IEEE Trans. TVT, vol. 60, no. 8, pp. 3919-3932, 2011. Computer Engineering, Stony Brook University, New York.
[9] C. Vigorito, D. Ganesan and A. Barto, Adaptove control of duty cycling in His research interests include wireless sensor networks,
energy-harvesting wireless sensor networks, IEEE SECON, 2007. performance evaluation of network algorithms.
[10] M. Gorlatova, A. Wallwater, G. Zussman, Networking low-power energy
harvesting devices: measurements and algorithms, IEEE INFOCOM, 2011.
[11] R. Liu, P. Sinha and C. E. Koksal, Joint energy management and resource
allocation in rechargeable sensor networks, IEEE INFOCOM, 2010.
[12] L. Lin, N. Shroff, R. Srikant, Asymptotically optimal energy-aware routing
for multihop wireless networks with renewable energy sources networking, Songtao Guo received his B.S., M.S. and Ph.D. degrees in
IEEE/ACM Trans. Networking, vol. 15, no. 5, pp. 1021-1034, 2007. Computer Software and Theory from Chongqing University,
[13] R.C. Shah, J.M Rabaey, Energy aware routing for low energy ad hoc sensor Chongqing, China, in 1999, 2003 and 2008, respectively. He
networks, IEEE WCNC 2002. was a professor from 2011 to 2012 at Chongqing University.
[14] M. Ma and Y. Yang,SenCar: An energy efficient data gathering mechanism At present, he is a professor at Southwest University, China.
for large scale multihop sensor networks, IEEE Trans. TPDS, vol.18, no.10, He was a senior research associate at City University of
pp.1476-1488, 2007. Hong Kong from 2010 to 2011, and a visiting scholar at
[15] M. Ma, Y. Yang and M. Zhao, Tour planning for mobile data gathering Stony Brook University, New York, USA, from May 2011
mechanisms in wireless sensor networks, IEEE Trans. TVT, vol. 62, no. 4, to May 2012. His research interests include wireless sensor
pp. 1472-1483, 2013. networks, ad hoc networks and parallel and distributed
[16] M. Zhao and Y. Yang, Optimization-based distributed algorithms for mobile computing. He has published more than 30 scientific papers
data gathering in wireless sensor networks, IEEE Trans. Computers, vol. 11, in leading refereed journals and conferences. He has received many research grants
no. 10, pp. 1464-1477, 2012. from National Science Foundation of China and Chongqing and Postdoctoral Science
[17] M. Zhao and Y. Yang, Bounded relay hop mobile data gathering in wireless Foundation of China.
sensor networks, IEEE Trans. Computers, vol. 61, no. 2, pp. 265-277, 2012.
[18] M. Gatzianas and L. Georgiadis, A distributed algorithm for maximum lifetime
routing in sensor networks with mobile sink,IEEE Trans. Wireless Communi-
cations, vol.7, no.3, pp.984-994,2008.
[19] W. Wang, V. Srinivasan and K. Chua, Extending the lifetime of wireless sensor Yuanyuan Yang received the BEng and MS degrees in
networks through mobile relays, IEEE/ACM Trans. Networking, vol. 16, no. 5, computer science and engineering from Tsinghua University,
pp. 1108-1120, 2008. Beijing, China, and the MSE and PhD degrees in com-
[20] G. Xing, T. Wang, W. Jia and M. Li, Rendezvous design algorithm for wireless puter science from Johns Hopkins University, Baltimore,
sensor networks through mobile relays, ACM Mobihoc, 2008. Maryland. She is a professor of computer engineering and
[21] S. Gao, H. Zhang and S. K. Das, Efficient data collection in wireless sensor computer science at Stony Brook University, New York,
networks with path-constrained mobile sinks, IEEE Trans. Mobile Computing, and the director of Communications and Devices Division
vol.10, no.5, pp. 592-608, 2011. at New York State Center of Excellence in Wireless and
[22] M. Zhao, D. Gong and Y. Yang, A cost minimization algorithm for mobile Information Technology (CEWIT). Her research interests
data gathering in wireless sensor networks, IEEE MASS 2010. include wireless networks, data center networks, optical
[23] B. Yuan, M. Orlowska and S. Sadiq, On the optimal robot routing problem in networks and high-speed networks. She has published over
wireless sensor networks, IEEE Trans. Knowledge and Data Engineering, vol. 300 papers in major journals and refereed conference proceedings and holds seven
19, no. 9, pp. 1252-1261, 2007. US patents in these areas. She has served as an Associate Editor-in-Chief and
[24] G. Hollinger, S. Choudhary, P. Qarabaqi, C. Murphy, U. Mitra, G. Sukhatme, Associated Editor for IEEE Transactions on Computers and Associate Editor for
M. Stojanovic, H. Singh, F. Hover,Underwater data collection using robotic IEEE Transactions on Computers and IEEE Transactions on Parallel and Distributed
sensor networks, IEEE JSAC, vol. 30, no. 5, June, 2012. Systems. She has also served as a general chair, program chair, or vice chair for several
[25] Z. Zhang, M. Ma and Y. Yang, Energy-efficient multihop polling in clusters of major conferences and a program committee member for numerous conferences. She
two-layered heterogeneous sensor networks, IEEE Trans. Computers, vol. 57, is an IEEE Fellow.
no. 2, pp. 231-245, 2008.
[26] H. Liang, J. Pan and J. Xu, A progressive approach to reducing data collection
latency in wireless sensor networks with mobile elements, IEEE Trans. Mobile
Computing, vol. 12, no. 7, July, 2013.
1536-1233 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

Вам также может понравиться