Coordinated movement of multiple mobile sinks in a wireless sensor network for improved lifetime
 Metin Koç^{1}Email author and
 Ibrahim Korpeoglu^{1}
https://doi.org/10.1186/s1363801504725
© Koç and Korpeoglu. 2015
Received: 20 August 2015
Accepted: 27 October 2015
Published: 17 November 2015
Abstract
Sink mobility is one of the most effective solutions for improving lifetime and has been widely investigated for the last decade. Algorithms for singlesink mobility are not directly applied to the multiplesink case due to the latter’s specific challenges. Most of the approaches proposed in the literature use mathematical programming techniques to solve the multiplesink mobility problem. However, doing so leads to higher complexities when traffic flow information for any possible sinksite combinations is included in the model. In this paper, we propose two algorithms that do not consider all possible sinksite combinations to determine migration points. We first present a centralized movement algorithm that uses an energycost matrix for a userdefined threshold number of combinations to coordinate multiplesink movement. We also give a distributed algorithm that does not use any prior network information and has a low message exchange overhead. Our simulations show that the centralized algorithm gives better network lifetime performance compared to previously proposed MinDiffRE, random movement, and staticsink algorithms. Our distributed algorithm has a lower network lifetime than centralized algorithms; sinks travel significantly less than in all the other schemes.
Keywords
Wireless sensor network Energyefficiency Multiplesink mobility Network lifetime improvement1 Introduction
Moving sink nodes (base stations or mobile agents) is among the most effective solutions to improve network lifetime in wireless sensor networks (WSNs) where sinks can move [1]. This approach aims to solve the so called hotspot problem in a WSN, in which firsthop neighbors of sinks suffer from quick energy depletion due to a high rate of message forwarding [2]. In order to distribute traffic forwarding load as evenly as possible among all sensor nodes, sinks can be moved through the region so that all sensor nodes have nearly equal chance of being the firsthop neighbors of sinks nodes. In this way, data is collected in a mobile manner.
In the multiplesink mobility problem, s sinks should choose different sites among p alternatives in a mutually exclusive manner so that any two sinks do not decide to move to the same location at the same reconfiguration instance. In the singlesink case, the base station chooses one point out of p alternatives, but in the multiplesink case, the number of possible combinations to select in each decision is \(\binom {p}{s}\). These make the multiplesink more complex compared to the singlesink problem.
Although they should not be used in a real sensor node environment due to computational constraints, mathematical programmingbased solutions are mostly preferred, as in the singlesink case, for maximizing network lifetime using multiplesink movements. Additionally, an exponential number of constraints can exist in these formulations, since all possible sinksite combinations are included. Solving these formulations can take several days even with current computation technology. These calculations must be done before the network begins operation, and the solutions (sink sojourn time for each sink site) should be given to the sinks. Obviously, these solutions are not dynamic and fail to adapt to changes (such as unavailable sites or node failures due to physical conditions) that occur in the area over the network lifetime.
In this paper, we present two lowcomplexity algorithms for multiplesink mobility problem, multiplesink movement algorithm (MSMA) and prevent and move away (PMA) algorithm. Our algorithms have low complexity and low overhead and therefore can be used directly with sensor nodes and mobile sink nodes.
Our MSMA algorithm runs in each sink node and relies on the energy consumption information of each sensor node for a subset of all possible sinksite combinations. Most algorithms in literature use trafficload information for each possible sinksite combination as part of their solutions. Since the number of sinksite combination alternatives increases exponentially, it becomes impractical to calculate trafficload for every sinksite combination for a large number of sites and sinks. In our MSMA algorithm, we address this problem, and we do not require enumeration of all possible sinksite combinations. Our algorithm uses a threshold and limits the number of combinations to consider for movement of sink nodes.
Our PMA algorithm is a totally distributed algorithm and does not require any prior information about the network and possible trafficload of nodes for specific sinksite combinations. Each sink checks the residual energy values of its descendant nodes and forbids placement in sites nearest to these lowenergy nodes. This information, as well as the minimum energy nodes available within the sites’ firsthop neighbors, are shared among sinks. Then, half the sites are selected according to these values. The other half of the sites are chosen to be far away from the previously selected sites so that sink nodes are not clustered to a particular subregion in the area and the load is balanced as much as possible without collecting and using global network information.
The rest of the paper is organized as follows. In the next section, we discuss the related work about the multiplesink problem. We describe the system model we used in Section 3. We present our proposed algorithms in Section 4, and we give the performance evaluation of them in Section 5. Finally, we give our conclusions in Section 6.
2 Related work
Different energyefficient approaches in various network layers are proposed in the literature for improving network lifetime, such as power control mechanisms (physical layer) [3, 4], energyefficient MAC layer protocols (datalink layer) [5, 6], datagathering/routing protocols (network layer) [7–16]. Sink mobility is another approach for improving network lifetime. Sink mobility can be either uncontrolled or controlled, depending on the mobility scheme used [17]. In uncontrolled mobility, data MULEs (Mobile Ubiquitous Lan Extensions) move randomly in the area without considering any network parameter (such as nodes’ remaining energy). In controlled mobility, however, network conditions (nodes’ remaining energy, node density in the region, etc.) are taken into consideration. The controlled singlesink mobility problem is widely investigated in the literature [18–24]. Although it has not been investigated as much as its singlesink counterpart, there are some studies about the multiplesink mobility problem.
Gandham et al. [25] presents one of the earliest works about the multiplesink mobility problem. The authors divide the sensor network lifetime into equal periods of time, called rounds, and relocate the sinks at the start of each round. They present an integer linear program (ILP) that minimizes the maximum energy spent in each round in order to determine the locations of the sinks. A variation of this model minimizes the total energy consumption in a round. They compare these two ILP formulations as well as the random and staticsink approaches. Minimizing the maximum energy spent increases network lifetime significantly compared to other approaches. Although authors give ILP formulations to find the optimal lifetime, the number of base stations is fixed to three. The solution is not scalable to a higher number of base stations, since the number of constraints increase exponentially.
Azad and Chockalingam [26] also deals with the multiplesink mobility problem. The authors choose feasible sinksite locations along the periphery of the field and propose three heuristics, Top K _{ max }, MaxMinRE, and MinDiffRE, to determine the sojourn points of the sinks in each round. In Top K _{ max }, K sites are chosen, in which the nearest neighbor nodes have maximum residual energies. The MaxMinRE heuristic aims to maximize the minimum residual energy for all combinations of sink sites and sinks for a given routing algorithm. The MinDiffRE method uses the same approach as MaxMinRE, except the goal is to minimize the difference in residual energy. Experiments show that MinDiffRE gives better network lifetime compared to other approaches. Although these heuristics are presented as energyefficient and lowcomplexity algorithms, MaxMinRE and MinDiffRE need to process all combinations before selecting the next migration points. These methods can be practical for small values of number of sinks and sites. However, in typical scenarios, for instance for 30 sink sites and 8 sink nodes, there may be millions of sinksite combinations to consider, which make these solutions impractical.
Basagni et al. [27] proposes a linear programming (LP) model as well as centralized and heuristic algorithms for the multiplesink mobility problem. Any combination of s sinks occupying s locations among k sites is called a configuration. The authors define an LP model with the goal to find a sequence of configurations that maximizes network lifetime. Although the LP has an exponential number of constraints, the authors use a separation algorithm to resolve the LP a polynomial number of times. They also give a centralized heuristic that uses the output of the LP and runs in polynomial time. Finally, authors define a deployable distributed heuristic for coordinating the motion of multiple sinks throughout the network. The simulation results show that the proposed schemes improve lifetime significantly compared to the cases of a staticsink case and random mobility. Authors both give an efficient method for solving LP and a centralized heuristic for solving the multiplesink problem. These methods enable them to make experiments of up to 8 sinks (for 16 sink sites). However, the proposed distributed heuristic requires a large amount of data exchange between the sink nodes. This can cause delay while determining the next migration point which makes it disadvantageous for delay intolerant applications
Liang and Luo [28] formulates the network lifetime maximization for the hhop constrained multiplesink mobility problem such that the total travel distance of each sink is bounded by L, and the maximum number of hops from each sensor to a sink is bounded by h, where h≥1. The authors show that the problem is NPhard and propose a threestage heuristic for calculating the sojourn time at each location for K mobile sinks. In the first stage, the sojourn time profile at each hfeasible configuration is determined using a linear program. Then, optimal trajectories for each mobile sink are built via greedily adding hfeasible configuration if the benefit to the network lifetime is maximized. Finally, the exact sojourn time in each configuration is calculated using another linear program. The experimental results show that the proposed algorithm performs at up to 93 % of the optimal solution. Although, the authors give a strong heuristic for solving the problem, its complexity, O(m n k l o g n+n ^{2} k+k ^{3}) (m number of edges, n number of nodes, k number of sinks), makes it infeasible to be used dynamically in real sensor nodes.
In [29], the authors propose a multisink relocation algorithm with several components. They adopt a centralized approach for the routing methodology. Link weights are computed using a cost function, and finally, a mathematical model is given for determining optimal sink positions, i.e., network configuration. The authors use a local search algorithm for determining local optima in the solution space. The experimental results are presented around emphasizing mobility utilization compared to stationary sinks. Authors give an efficient mechanism to place the sinks; however, they do not consider mobility and sojourn times of the sinks for each possible sink location. This makes it usable for the cases where the sinks are placed once and do not change their positions.
3 System model
We consider a sensor network with n stationary sensor nodes deployed to an area of interest. The set of sensor nodes is denoted with N=n. There are s mobile sink nodes in the environment, which may change their locations periodically according to network conditions. Sinks choose these locations from a predetermined sojourn point set P, where P=p. Each sensor i∈N has a packet generation rate of Q packets per second.
Treebased routing is used such that each sensor node sends its own packet and relays its children’s packets to the same parent for a given sinksite combination. Sinks learn the related parameters in a training phase so that the same routing tree is constructed in each visit to the same site combination. This method enables us to construct an energyload matrix structure T of sinksite combinations (rows) and nodes (columns), such that each entry t _{ ij } in the matrix lists how much energy a node j would consume to transmit its packets to its parent in the routing tree for a given sinksite combination i.
Sink sites (sojourn points) are either predetermined or chosen using a sinksite determination method. Some example methods are given in [30]. Those sink sites are associated with each sink using a method that we explain in the next section. Sinks visit those sites (combinations) together and start the topology tree formation process to construct their matrices if the sensor nodes’ positions are not known a priori.
The sinks’ firsthop neighbor receiving those packets set the sink ID as their parent ID. These packets are rebroadcast after incrementing the hop count (count to the sink). When a sensor node receives such a packet, it first checks its current hop count to the sink; if it is not set or is bigger than that of the received message, it updates its hop count and sets the sender ID as its new parent ID. This process continues until all nodes in the area have received these topology setup packets. When the tree has been set up, each sensor node saves the topology ID and parent ID pair to remember which node to send to when sinks select the same combination at any time over the network lifetime.
When a node receives a packet from a different sink, it saves its ID and hopcount to the sink even if this hopcount is bigger than its current value. It becomes a junction node and it informs all the sinks it receives packets from. These junction nodes can be used for two different purposes: sink communication and topology maintenance.
If junction nodes are known by the sinks, then those sinks can reach each other using the paths through junction nodes. Although sinks have higher transmission power than sensor nodes do, sometimes they can be far enough from each other that direct communication cannot be achieved. In these cases, using those junction nodes help sinks exchange information for the next site selection decision or for remaining energy values.
In delayintolerant applications, it is always critical for sensor nodes to send their data to an available sink (anycast) instead of buffering it. Multiple sinks do not move just exactly at the same time since at least one of the sinks must stay to gather the sensor nodes’ data. When a sink decides to move, it informs its neighbor nodes and sends a reconnect request packet to this junction node indicating that the junction node should connect to another network. The sink’s firsthop neighbors change their parents toward the junction node. For the subtree that junction node belongs to, its ancestor, which is one of the sink’s firsthop neighbors, reverses the packets’ direction. For other subtrees, rooted at the sink’s other firsthop neighbors, these nodes forward their packets to the junction node’s ancestor, until a new topology construction packet with a smaller hopcount value is received by the nodes, which means that a sink arrives at its new location. There are some works about mobile dynamic tree construction and maintenance, such as [31–33]; however, this topic is beyond the scope of this paper.
4 Proposed algorithms
As mentioned in the related work section, most studies about multiplesink mobility in the literature use linear/integer programming formulations to achieve optimal values of network lifetime.
These methods, however, cannot be used by sink nodes onthefly during network operation, since they require a huge amount of computation which sink nodes cannot achieve with the current technology. In this chapter, we want to present algorithms that do not require too much complexity, but still achieve considerable lifetime improvement compared to random movement and staticsink cases.
4.1 Multiple sinks movement algorithm (MSMA)
Our first algorithm to coordinate the movement of multiple mobile sinks for improving network lifetime is called MSMA. The algorithm extends our earlier algorithm MSELMA [34]. We improve the method of limiting the possible position combinations before the network begins operation. We also change the algorithm to add limited combinations onthefly to further improve its performance.
Algorithms proposed to solve the multiplesink mobility problem usually consider the amount of traffic (directly or indirectly) between nodes when sinks are placed at certain locations/sites [26, 27]. Assuming that each different sink placement is a sinksite combination, a set of sinks has many possibilities to get placed into these locations. When sinks are placed according to a combination k and routing trees are formed from sinks to nodes, the traffic from a node i to its parent node j can be denoted with x _{ ijk }. Knowing x _{ ijk } values for all possible site combinations as well as the current remaining energy values of nodes help us to select the best alternative site combination to move because we can see how the nodes’ energy values will be affected if sinks would move to a specific site combination. However, calculating x _{ ijk } values for all possible site combinations before the network starts its operation can take a very long time, which is not feasible for reasonable p and s values, such as 50 sink sites and 7 sinks.
Since choosing s points among p alternatives increases exponentially, the main idea should be to decrease those alternatives as much as possible to reduce complexity without sacrificing lifetime improvement.For instance, choosing seven locations among 50 alternatives generates approximately 10^{8} alternatives. In our algorithm, we require all sinks to make a decision about their next migration points using their information, which are further evaluated, and a final decision is made collectively.
Each sink uses an energyexpenditure matrix in which each element t _{ ij } corresponds to the energy required at a node j to transmit packets to its parent when the sink nodes are in positioncombination i, i.e., the combination tuple  (p _{1},p _{2},…p _{ s }). The number of columns of this matrix apparently equals the number of nodes n in the network. The number of rows, i.e., the number of position combinations, is, however, a parameter in our algorithms, which can be determined using sink characteristics. This is called binomial threshold and is not directly involved in our algorithms, instead affects the t h _{ s } parameter (threshold for each sink), which determines how many migration points each sink will select to calculate different combinations. In other words, t h _{ s } is the maximum integer satisfying \(\binom {{th}_{s}}{s} \leq t_{b}\), where s is the number of sinks and t _{ b } is the binomial threshold. If we select t _{ b } as 2000, then t h _{ s } becomes 13, when the number of sinks is eight, since \(\binom {13}{8} = 1287\).
After determining these parameters, we select the possible migration points for each sink. There will be a total of s groups of points. For a sink, we assign possible migration points from different regions of the area. First, we determine the number of points (k) to assign for a sink. It is given by k = p/s. Then, we start using the kmeans algorithm to select migration points for sinks. For the first sink, we run the kmeans algorithm considering the whole migration point set. Given the whole point set (p points initially), the kmeans algorithm selects k centroids (positions), and the k migration points with minimum distance to these k centroids are assigned to the first sink. We remove these selected positions from our point set, and we continue to select points for the next sink by rerunning the kmeans algorithm to select another k centroid from the remaining point set. This process continues until all points are partitioned among the sinks. If the allocated number of points is smaller than the predetermined threshold value, then new points are assigned randomly to close this gap.
After each sink has its group of sites, i.e., possible positioncombinations to move, it will construct an energyload matrix. For each candidate sinksite combination i, that means for each row, the algorithm computes how much energy the nodes would consume to transmit their packets to the next node (parent) in the routing tree for that combination i. If coordinates of the nodes are known a priori, these matrices can be constructed by a central authority, i.e., via one of the sinks. The other option is to visit those location combinations and form topology trees for each combination to determine the childparent relationship and energy expenditure values to construct matrices in a training phase, as in [27], before the network starts operation. Each sink keeps its own matrix that has \(\binom {{th}_{s}}{s}\) rows and that includes combinations of the points previously assigned to it. Sinks use these matrices to take role in point selection process. Combination with best value is selected for next migration point collectively. Therefore, sinks are not limited with the points in their matrices and instead can go to any point in the area according to the solution given by the algorithm.
Sinks use the nodes’ remaining energy values and the energyload matrix to determine the next migration points. The sensor nodes’ remaining energy values, e, can be represented as an nx1 matrix (a vector or a row). Sinks share their descendants’ values with each other to make the row complete for all entities. Each matrix row indicating a sinksite combination is subtracted from this remaining energy row to project the nodes’ remaining energy values if sinks would move to those locations in the next round. The sinks focus on the minimum values of each subtracted row and select the maximum of them. These values, i.e., the maximum remaining energy values and sinksite combinations, are sent to the sink with the minimumID through either singlehop or multihop communication. If multihop communication is needed, then junction nodes are utilized. A sink compares the received values with its own and sends the one with the maximum value to the other sinks. Last, the decisive sink compares all received values and picks the maximum. Then, the selected migration point information is sent back to the sinks in the reverse direction.
Although the next migration points have been determined, which sink is going to exactly which point has not been set. This decision can also made by the same sink, since it knows the current location of each sink. Sinks should inform other sinks about their locations to prevent two or more sinks going to the same location. This is the wellknown assignment problem, and the Hungarian method can find the optimal solution for assigning the sinks to new locations with O(n ^{3}) complexity [35].
After sinks migrate to the new points, they will operate there until either a certain amount of change in the energy of its firsthop neighbors is detected or a fixed number of rounds  t _{ min }  has been achieved. Then, when the sojourn time expires, sinks share their children’s remaining energy values with each other and again run the maxmin search over the matrix to determine new migration points. This iteration continues until a node depletes its energy. The algorithm is detailed in Algorithm ??. It takes O(n t _{ b }) to construct the energy load matrix. In each round, we need O(t _{ b }) computation to determine the sinks’ next migration points.
4.2 Prevent and move away (PMA) algorithm
In this section, we describe our distributed prevent and move away (PMA) algorithm, which is fully distributed and does not require excessive information exchange. As explained above, the current schemes proposed in the literature consider the amount of traffic passing through each node to its parent while sinks are at specific sites. Although this approach improves network lifetime significantly, considering all possible sinksite combinations is computationally expensive. Therefore, it is important to also come up with algorithms which do not require evaluation of so many combinations and distributing the related information while selecting next migration points.
Although there are a few distributed algorithms that attempt to solve the multiplesink mobility problem, most require a large amount of data exchange, e.g., nodal residual energy, nodal data rate, energy needed to communicate packets for the whole network, as in [27]. Transferring such a large amount of data in each round causes excessive energy consumption in resourceconstrained sensor nodes. Therefore, it is very important to find a low complexity and an efficient heuristic that requires minimum information exchange to decide sink movements and that can be run on sink nodes, which is what we achieve with our PMA algorithm.
Our PMA algorithm first filters out the sites closer to the nodes that have relatively lower residual energy compared to other nodes in the network. We do this because we only want to consider the sites close to high energy nodes as possible migration points so that when sinks migrate to those points, the high energy nodes will take the majority of the trafficforwarding load since they will be at the highest level in the routing trees. PMA also t next migration points. The selected points should not be very close to each other, since moving all sinks to the same subregion is not useful and makes the routing paths to the majority of sensor nodes to be excessively long. Therefore, we provide a balance between energy and distance while considering the next migration points. We select half of the sites to be close to highenergy nodes and the other half to be far away from these selected sites. In this way, the selected sites are tried to be evenly distributed to the whole sensor network region and are not clustered to a subregion.
In PMA, the next migration points for sinks are determined as follows at each round of sink site determination. At the end of the current round, before determining next migration points for the next round, the sinks are at some locations, and their combined routing trees span the whole network. Each sink has its own routing tree spanning a portion of the nodes in the network. These nodes are considered to be the descendants of that sink. The routing trees of sinks do not overlap.
Each sink knows its descendants and their remaining energy levels (residual energy information is piggybacked into the data packets). Each sink selects the m _{ p } percent of the minimumenergy nodes among its descendants, where m _{ p } is a design parameter. The sink then determines the nearest sites to those minimum energy sensor nodes to filter out for the next round. These filtered out sites are forbidden. All sinks then exchange this forbidden site information among each other. This requires a total of s(s−1) message exchanges among sink nodes. Each sink then aggregates the forbidden site information coming from other sinks (takes the union) and in this way obtains a forbidden site list for the whole network. The remaining sites are allowed sites and can be used as possible migration points for the next round. Since the forbidden sites can be significant portion of the original point set, we use a parameter called forbidden point threshold (t _{ fp } ) to control its size. The total number of forbidden sites can not be bigger than this threshold. The introduction of this threshold eliminates the possibility of having the number of allowable sink sites to be less than the number of sinks s. Additionally, filtering out too many sites without global network information (like the energy matrix in the MSMA or MinDiffRE) can eliminate advantageous sites to move to.
When a sink decides its forbidden sites, that means it decided on its allowable sites. For each allowable site in the region of its routing tree, the sink considers the sensor nodes around the site and finds out the node with maximum remaining energy. This minimum energy level is associated with that site. Then, the sink selects the first s/2 sites that have the largest associated minimum remaining energy levels. In other words, the first s/2 sites are selected when sites are sorted in decreasing order with respect to their associated minimum energy levels. We call these as maxmin sites. They are good positions for sinks to move next. Then each sink sends s/2 maxmin sites together with the corresponding energy values to a designated sink (minimum ID sink, for example). This requires a total of s−1 message transfers to the designated sink. In this way the designated sink collects s(s−1)/2 maxmin positions. It then selects s/2 of them, i.e., the first s/2 sites with largest associated minimumenergy values.
After this selection, the remaining s/2 sites are determined one by one according to the total distance to previously selected sites. First, distance to each of the s/2 previously selected sites is calculated to determine total distance value for each remaining allowable site. The site with maximum value is selected as the (s/2)+1st point and added to the previously selected site list. The iteration is done for each site until all remaining s/2 sites, that are far away from each other, are determined. This process is sequential since determining the remaining s/2 sites once (from the sorted list according to the maximum distance) can cause selecting sites near to each other.
After s sites are selected, s sinks are assigned to these sites using the wellknown Hungarian assignment algorithm, like in the MSMA. This minimizes the total distance traveled while sinks move to the assigned sites afterwards. The other alternative is to notify the nearest sink to move as each sink site is determined, if network is delayintolerant or movement cost is not very significant.
In this way, the algorithm finds a balance between the energy and distance components of the problem. It takes the energy values of the nodes into consideration in the first part by removing the sites close to low energy nodes. It also increases the distance between sinks to balance the forwarding load of the sensor nodes. The process is detailed in Algorithm ??. In each round, we need O(s) computations to determine the next migration points.
In the PMA algorithm, each sink shares the site IDs of the forbidden sites (t _{ fp } sites for each sink, in the worst case), as well as the s/2 minimum energy values (with site IDs) in each movement decision. This corresponds to O(t _{ fp } l o g p) and O(s (l o g p+l o g E)) (where E is the initial energy value) storage complexity, respectively. For 50 sink sites, 4 sinks and 10 joules (t _{ fp } becomes 10), it requires 60 bits for each sink to share t _{ fp } (10, for this case) forbidden site IDs and 40 bits for s/2 (2, for this case) minimum energy values and siteid pairs. s(s−1) message exchanges are done sharing forbidden site IDs and s−1 exchanges are required for energy and ID pairs to flow across all sinks. If network lifetime is 500 rounds, total message exchange of all sinks during this lifetime becomes around 51 KB.
In the approach described in [27], the information exchange part is much more expensive, where each sink shares all its descendants’ residual nodal energy levels with the others. The maximum energy amount that a node can have is divided into 40 levels (L), which requires 6 bits to represent. Sinks also need to append sensor IDs to a message so each counterpart can construct a full residualenergylevel table. This operation requires additional l o g N bits. Since all nodes’ energy levels should be shared, totally N(l o g N+l o g L) bits are needed to convey the required information for a decision. For 500 nodes (and 40 levels), it requires 7500 bits for one sink to send the related information. For 500 rounds and 4 sinks, the total message exchange cost increases to 5.36 MB for the algorithm of [27]. This is 108 times more than what our PMA algorithm needs.
5 Performance evaluation

MinDiffRE: Azad and Chockalingam’s algorithm minimizes the residual energy difference [26].

MSELMA: Our naive algorithm which limits possible sitesink combinations and selects the one that maximizes the minimum remaining energy [34].

RAND: Sinks select sites randomly without considering any network parameter.

STS: Sinks select sites at the beginning and stay there.

Network lifetime: The time until the first node depletes all its energy, which is the commonly used definition in the literature.

Latency: Average hopcount that a packet travels until it reaches one of the sinks.

Total distance: Total distance that mobile sinks travel during the network lifetime.
5.1 Simulation parameters
The sensor networks in our simulations have N static sensor nodes randomly deployed to a region and s mobile sinks (base stations). The deployment region is a squareshaped region with area size 300×300m ^{2}. After mobile sinks move to their initial locations, they start broadcasting topology construction messages to construct treebased multihop routing topologies (routing trees) from top to bottom. After topology construction, each sink node will have its routing tree constructed rooted at itself. Routing trees do not overlap. We use a constant packet generation rate Q (1 packet/s) for each sensor node. We define the network lifetime as the period of time until the first node dies. This is a commonly used definition in the literature. We defined data latency as the average hopcount a packet originating at a sensor node travels to reach to the corresponding sink.
Simulation parameters
5.2 Simulation results
6 Conclusion
In this paper, we propose two multiplesink mobility algorithms, MSMA and PMA, to coordinate movements of multiple sinks in a wireless sensor network. The MSMA uses the energy expenditure information of all nodes for different sinksite combinations. Unlike other similar approaches, the MSMA does not use all possible combinations, but instead limits the number of combinations according to a threshold value to reduce complexity. The PMA algorithm is a distributed algorithm that uses no global network information to determine the sinks’ next migration points. Each sink forbids some sites from using its children’s residual energy information. One group of sinks selects sites from the remaining set using the maximum of the minimum energy of the firsthop nodes. The other group selects points farther from the previously selected ones. We compare the performance of the proposed schemes with the MinDiffRE, RAND, and staticsink approaches in terms of network lifetime, latency, and total distance covered by the sinks.
Under varying metrics, the experiment results show that the MSMA performs better in terms of network than any other scheme. The MSMA gives better network lifetime than the MinDiffRE even though it uses up to four times fewer sinksite combinations. Latency (average hop count to any sink) is lowest for the staticsink case and almost the same for the other schemes. The PMA algorithm achieves less lifetime (around 20 % on the average) compared to centralized algorithms (but better than random movement under all conditions); however, its performance increases (becomes better than the MinDiffRE and MSELMA) when there are more than a few hundred nodes. Sinks also travel less compared to other schemes when using the PMA algorithm.
Declarations
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License(http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Authors’ Affiliations
References
 R Silva, JS Silva, F Boavida, Mobility in wireless sensor networks—survey and proposal. Comput. Commun. 52:, 1–20 (2014).View ArticleGoogle Scholar
 A Nayak, I Stojmenovic, Wireless sensor and actuator networks: algorithms and protocols for scalable coordination and data communication (WileyInterscience, New York, NY, USA, 2010).View ArticleGoogle Scholar
 K Han, J Luo, Y Liu, AV Vasilakos, Algorithm design for data communications in dutycycled wireless sensor networks: a survey. IEEE Commun. Mag. 51(7), 107–113 (2013).View ArticleGoogle Scholar
 M Cardei, J Wu, M Lu, MO Pervaiz, in IEEE International Conference on Wireless And Mobile Computing, Networking And Communications (WiMob). Maximum network lifetime in wireless sensor networks with adjustable sensing ranges (IEEEMontreal, Canada, 2005), pp. 438–445.Google Scholar
 Y Xiao, M Peng, J Gibson, GG Xie, DZ Du, AV Vasilakos, Tight performance bounds of multihop fair access for mac protocols in wireless sensor networks and underwater sensor networks. IEEE Trans. Mob. Comput. 11(10), 1538–1554 (2012).View ArticleGoogle Scholar
 MHS Gilani, I Sarrafi, M Abbaspour, An adaptive CSMA/TDMA hybrid mac for energy and throughput improvement of wireless sensor networks. Ad Hoc Netw. 11(4), 1297–1304 (2013).View ArticleGoogle Scholar
 X Xu, R Ansari, A Khokhar, AV Vasilakos, Hierarchical data aggregation using compressive sensing (hdacs) in wsns. ACM Trans. Sens. Netw. (TOSN). 11(3), 45–14525 (2015).Google Scholar
 L Xiang, J Luo, A Vasilakos, in Conference on Sensor, Mesh and Ad Hoc Communications and Networks (SECON). Compressed data aggregation for energy efficient wireless sensor networks (IEEESalt Lake City, Utah, USA, 2011), pp. 46–54.Google Scholar
 Y Liu, N Xiong, Y Zhao, AV Vasilakos, J Gao, Y Jia, Multilayer clustering routing algorithm for wireless vehicular sensor networks. IET Commun. 4(7), 810–816 (2010).View ArticleGoogle Scholar
 XY Liu, Y Zhu, L Kong, C Liu, Y Gu, AV Vasilakos, MY Wu, CDC: Compressive data collection for wireless sensor networks. IEEE Trans. Parallel and Distrib. Syst. 26(8), 2188–2197 (2015).View ArticleGoogle Scholar
 G Wei, Y Ling, B Guo, B Xiao, AV Vasilakos, Predictionbased data aggregation in wireless sensor networks: Combining grey model and kalman filter. Comput. Commun. 34(6), 793–802 (2011).View ArticleGoogle Scholar
 N Chilamkurti, S Zeadally, A Vasilakos, V Sharma, Crosslayer support for energy efficient routing in wireless sensor networks. J. Sensors. 2009(134165). 9(2009).Google Scholar
 Y Zeng, K Xiang, D Li, A Vasilakos, Directional routing and scheduling for green vehicular delay tolerant networks. Wirel. Netw. 19(2), 161–173 (2013).View ArticleGoogle Scholar
 Y Yao, Q Cao, AV Vasilakos, Edal: An energyefficient, delayaware, and lifetimebalancing data collection protocol for heterogeneous wireless sensor networks. IEEE/ACM Trans. Netw. 23(3), 810–823 (2015).View ArticleGoogle Scholar
 Y Yao, Q Cao, AV Vasilakos, in 10th International Conference on Mobile AdHoc and Sensor Systems (MASS). Edal: An energyefficient, delayaware, and lifetimebalancing data collection protocol for wireless sensor networks (IEEEHangzhou, China, 2013), pp. 182–190.Google Scholar
 M Li, Z Li, AV Vasilakos, A survey on topology control in wireless sensor networks: taxonomy, comparative study, and open issues. Proc. IEEE. 101(12), 2538–2557 (2013).View ArticleGoogle Scholar
 S Basagni, A Carosi, C Petrioli, in Vehicular Technology Conference. Controlled vs. uncontrolled mobility in wireless sensor networks: some performance insights (IEEEDublin, Ireland, 2007).Google Scholar
 J Luo, JP Hubaux, in IEEE INFOCOM, 3. Joint mobility and routing for lifetime elongation in wireless sensor networks (IEEEMiami, Florida, USA, 2005), pp. 1735–1746.Google Scholar
 I Papadimitriou, L Georgiadis, Energyaware routing to maximize lifetime in wireless sensor networks with mobile sink. J Commun. Softw. Syst. 2(2), 141–151 (2006).Google Scholar
 S Basagni, A Carosi, E.Melachrinoudis, C Petrioli, M Wang, Controlled sink mobility for prolonging wireless sensor networks lifetime. ACM J. Wirel. Netw (WINET). 14(6), 831–858 (2007).View ArticleGoogle Scholar
 W Liang, J Luo, X Xu, in IEEE Global Telecommunications Conference (GLOBECOM). Prolonging network lifetime via a controlled mobile sink in wireless sensor networks (IEEEMiami, Florida, USA, 2010), pp. 1–6.Google Scholar
 Z Xu, W Liang, Y Xu, in IEEE 8th International Conference on Distributed Computing in Sensor Systems (DCOSS). Network lifetime maximization in delaytolerant sensor networks with a mobile sink (IEEEHangzhou, China, 2012), pp. 9–16.Google Scholar
 K Akkaya, M Younis, M Bangad, Sink repositioning for enhanced performance in wireless sensor networks. Comput. Netw. 49(4), 512–534 (2005).View ArticleGoogle Scholar
 Z Vincze, D Vass, R Vida, A Vidács, A Telcs, Adaptive sink mobility in eventdriven densely deployed wireless sensor networks. Ad Hoc & Sens. Wirel. Netw. 3(2–3), 255–284 (2007).Google Scholar
 SR Gandham, M Dawande, R Prakash, S Venkatesan, in IEEE Global Telecommunications Conference. Energy efficient schemes for wireless sensor networks with multiple mobile base stations (IEEELocation: San Francisco, California, USA, 2003), pp. 377–381.Google Scholar
 AP Azad, A Chockalingam, in IEEE Wireless Communications and Networking Conference (WCNC). Mobile base stations placement and energy aware routing in wireless sensor networks (IEEELas Vegas, Nevada, USA, 2006), pp. 264–269.Google Scholar
 S Basagni, A Carosi, C Petrioli, C Phillips, Coordinated and controlled mobility of multiple sinks for maximizing the lifetime of wireless sensor networks. Wirel. Netw. 17:, 759–778 (2011).View ArticleGoogle Scholar
 W Liang, J Luo, in Local Computer Networks (LCN), 2011 IEEE 36th Conference On. Network lifetime maximization in sensor networks with multiple mobile sinks (IEEEBonn, Germany, 2011), pp. 350–357.View ArticleGoogle Scholar
 L Friedmann, L Boukhatem, in Third International Conference on Networking and Services (ICNS). Efficient multisink relocation in wireless sensor network (IARIAAthens, Greece, 2007), pp. 90–97.View ArticleGoogle Scholar
 M Koc, I Korpeoglu, Controlled sink mobility algorithms for wireless sensor networks. International Journal of Distributed Sensor Networks. 2014(167508), 12 (2014).Google Scholar
 R Hoes, T Basten, W Yeow, C Tham, M Geilen, H Corporaal, Qos management for wireless sensor networks with a mobile sink. Lect. Notes Comput. Sci. 5432:, 53–68 (2009).View ArticleGoogle Scholar
 G Wang, T Wang, W Jia, M Guo, J Li, Adaptive location updates for mobile sinks in wireless sensor networks. J. Supercomput. 47(2), 127–145 (2009).View ArticleGoogle Scholar
 K Lee, 107. A data gathering scheme using mobile sink dynamic tree in wireless sensor networks, (2011), pp. 99–107.Google Scholar
 M Koc, I Korpeoglu, Traffic and energyload–based sink mobility algorithms for wireless sensor networks. International Journal of Sensor Networks. In Press.Google Scholar
 R Burkard, M Dell’amico, S Martello, Assignment Problems, Revised Print (Siam, Philadelphia, USA, 2012).View ArticleGoogle Scholar
 W Heinzelman, A Chandrakasan, H Balakrishnan, in Proceedings of the 33rd International Conference on System Sciences (HICSS ’00). Energyefficient communication protocol for wireless microsensor networks (IEEEMaui, Hawaii, USA, 2000), pp. 1–10.Google Scholar