In WSNs, data generated at the sensor nodes are either transmitted through multi-hop transmission to a base station [8, 3], or a mobile sink () moves through the communication regions of the sensors and collects data from sensors directly/indirectly and brings them to a base station [9, 14]. In multi-hop transmission, sensors located near the base station are overloaded for relaying data from other sensors to the base station and are therefore prone to deplete their energy faster than other far away sensors.
Recently, mobile sink based data gathering has been gaining popularity significantly in wireless sensor networks (WSNs). In some applications, the MS periodically patrols the sensors, collects their data, returns to the base station and dumps the collected data at the base station. The problem of determining the tour of the has been studied rigorously in [9, 14, 4]. Mobile sink based data gathering improves the performance of WSNs in terms of energy consumption and lifetime of the sensors. However, introducing as a data carrier in the network increases the data delivery latency due to the slow speed of the . Reducing the data delivery latency is a critical issue for the based data gathering. Ren and Liang et al.  have shown that the volume of data collection is proportional to the data delivery latency. Time-sensitive applications such as forest fire detection, intrusion detection etc., demand time bound data delivery. Thus, improving data collection with minimum delivery latency is one of the most challenging issues in based data gathering.
Several data gathering algorithms are proposed to improve the data gathering time using mobile sink by shortening the tour length of the [9, 14, 4]. The data gathering time depends on the speed of the and the length of the tour. There are some studies in [18, 10] on the adaptive speed planning of along a predefined path. The adjust its speed to maximize network utility and minimize energy consumption. Data gathering problems for rechargeable sensor networks are formulated in [22, Zhang:2016, Guo:2014] by jointly optimizing mobile data gathering and energy provisioning. Gao et. al. [6, 7] propose novel data collection scheme, where a is moving along a predefined path with a fixed speed. But, the
gets limited communication time to collect data from its nearby sensor nodes, referred as sub-sinks. Besides, a metaheuristic (genetic) algorithm is proposed to find data forwarding paths to improve the network throughput as well as to conserve energy. Due to the non-deterministic nature of the algorithm, the solution may vary each time you run the algorithm on the same instance. Therefore, the existing data gathering techniques usingfind optimal tour of or find data forwarding paths to to improve the network performance, but there is a lack of studies on how to maximize data collection and minimize the data gathering time by controlling the data transmission schedule and speed of the . The data transmission schedule of the sub-sinks to the together with the speed schedule of the is called as data gathering schedule of . To further improve the total data gathering time, we consider the above two factors and find an optimal distribution of the data generated within sensors among the sub-sinks. In addition, our algorithms are based on the geometric characteristics of the problem and are deterministic. Their correctnesses are also shown.
An example of such type of network is illustrated in Figure 1. A mobile sink moves along a given path . It collects pre-cached data from a few sensors which are directly reachable from the trajectory path . Those directly reachable sensors are referred as sub-sinks (). The may collect data from a sub-sink whenever the comes under the communication range of the sub-sink. Thus, the sub-sinks send their data to the directly. The may be within multiple sub-sinks’ communication regions, and it receives data from any one of them at a time. Therefore, proper data transmission schedule of the sub-sinks are also required. The remaining sensors, which are not directly reachable to ( e.g. ) send their data to the through the sub-sinks using multi-hop communication. The major challenges are to find the optimal data transmission schedule of the sub-sinks to the for their data delivery and speed variation of along . Moreover, since a sensor can send data to through multiple sub-sinks, finding the optimal data distribution among the sub-sinks is another challenging issue in based data gathering. Our major contributions in this article are summarized as follows.
Introduce a time-sensitive data gathering problem using a speed adjustable mobile sink to collect data from sensor networks.
Linear programming formulation of the problem is discussed, where the initial data availabilities of the sub-sinks are given.
Plane sweep based data gathering algorithm is proposed to collect data from the sub-sinks by controlling the data transmission schedule of sub-sinks and speed of the .
It is further generalized, where data availabilities of the sub-sinks are optimized by controlling sensors’ data distribution among the sub-sinks to improve the data gathering time.
The rest of the article is organized as follows. Section II discusses some related works on data gathering problems. Section III presents system model and problem statement. Background and related terminologies are defined in section IV. Section V describes a plane sweep algorithm for data gathering in minimum time, where data availabilities of the sub-sinks are given. Section VI presents a plane sweep algorithm to improve the data gathering time by optimizing the data availability values of the sub-sinks so that the total data gathering time can be reduced. Section VII measures the performance of our proposed solutions. Finally, section VIII concludes the article.
Ii Related Works
Several data gathering algorithms have been proposed in the literature using mobile sink where the path of the
is controllable or fixed. Depending on applications, different objectives are attained such as maximizing network lifetime, minimizing the total energy consumption, reducing total tour length, etc. In this section, we classify the literature based on whether the path of theis controllable or fixed.
Somasundara et. al.  claim that the sensors with higher variation in sensed data demand more frequent data collection than others. They proposed a solution based on optimizing travelling path of the that allows the
to visit sensor with a different frequency to reduce buffer overflow. They prove that the decision version of the problem is NP-complete and two heuristic algorithms are proposed. The authors in analyze various models of motion planning of mobile sink to solve mobile sink scheduling problem in order to minimize the data delivery latency of the network. He et. al. formulate the data gathering problem using as a travelling salesman problem (TSP) with neighborhoods . They schedule through the deployed region to improve the tour length of the and consider multi-rate wireless communication for data transmission. In , a periodic data gathering protocol is proposed for a disconnected sensor network. The traverses the entire sensor network, polls sensors and gathers sensed data from sensors. It improves the scalability issue of large-scale sensor networks. Sayyed et al. in  investigate the utility of speed control mobile sink for collecting data in WSN. Single-hop clustering technique is used to increase the data collection rate as well as to decrease the data collection latency.
To overcome the delay due to the slow speed of the , a subset of sensors are selected as rendezvous nodes. These nodes are used to buffer the data temporarily from the nearby sensors. When the visits these rendezvous nodes, then they transfer their data to the mobile sink. In , sensors are grouped into single hop clusters, and the mobile sink visits the centroids of these clusters. If the tour length of the set of centroids is greater than a given upper bound, then some of the clusters are removed until the tour length is less than the upper bound. In , a shortest path tree rooted at the initial position of the mobile sink is built, and then a sensor node having sufficient energy as well as many nearby sensors within its vicinity is chosen as the next rendezvous node. In this way, a set of rendezvous nodes are selected and then a travelling salesman tour is obtained over the selected rendezvous nodes. In 
, k-means clustering with a weight function is used for finding the rendezvous points and an efficient tour among the rendezvous points is determined for the. In addition, an efficient data gathering scheme is also proposed to reduce the total packet drop. In , rendezvous nodes are selected using set covering problem. The tour is scheduled to pass through those rendezvous points. They introduce novel rendezvous node rotation scheme for fair utilization of all the nodes. Konstantopoulos et. al. in  use multiple mobile sinks to ensure timely delivery of data to the base station. Mobile sinks visit only a subset of rendezvous points while the remaining sensors forward their data to the rendezvous points through multi-hop communication. The proposed approach increases network lifetime by finding tour passing through energy-rich zones as well as through regions where energy consumption is high.
In some scenarios, the trajectory of the is predefined to a fixed path. Efficient data collection algorithms are proposed to improve network performance. In [6, 7], data gathering algorithms are proposed for such cases to improve network performance. Data forwarding paths from the sensors to the sub-sinks are determined to maximize the data collection and balance the energy consumption. Huang et. al. in  consider a scenario where a label of importance is assigned to each sensing region. A path-constrained ground vehicle with adaptive speed is used to collect data from the sensing field. Although the approach tries to improve the data collection throughput, their speed control algorithms are reactive due to the adaptive nature of speed learning characteristics of the . Besides, these algorithms don’t have any specific solution for controlling or optimizing the speed of the to improve the data collection rate and minimize delay. In article [Kumar:2017], a deterministic algorithm is proposed for maximization of data collection using fixed speed mobile sink. However, it may not provide quality data collection due to the mismatch between the data available to the gateways and the data communication time between the gateways and . Maximizing the data collection throughput in rechargeable sensor networks is addressed in . Zhang et. al.  maximize data collection while maintaining the fairness of the network in rechargeable sensor networks. In [5, 13], data gathering protocols are proposed from path-constrained mobile sensors. The major drawback of the based system is its slow speed, which causes long data gathering delay. Since sensors have limited memory, it causes buffer overflow in the sensors. To avoid buffer overflow, multiple mobile sinks are deployed and they periodically collect data from the mobile sensors and deliver the collected data to the base station.
It can be noted that several data gathering techniques have been proposed which focus on reducing the data gathering time of the mobile sink. The existing literature on path constrained mobile sink mostly consider efficient data forwarding mechanism from the sensors to the mobile sink through the sub-sinks to improve the network performances. But, no existing works consider controlling the data transmission schedule of the sub-sinks to the along with the speed of the and the sensor’s data distribution among sub-sinks to improve the total data collection and the total data gathering time of the mobile sink.
Iii System Model and Problem Formulation
We consider a wireless sensor network (WSN) which consists of a set of sensors . Sensor generates/senses amount of data from its environment. The communication topology of the network is modelled as an undirected graph . The communication regions of the sensors are modelled as disks. There is a mobile sink moving on a given path . We assume that the path is approximated as piecewise straight line segments. The can move with a given maximum speed value to collect data from the sub-sinks. However, the can change its speed depending upon the data availabilities of the sub-sinks. The can collect data from sensors whose communication disks intersect the path . Based on the relative position of the sensors with respect to , sensors are divided into two groups, sub-sinks and far-away sensors. Sensors which can directly communicate with on are referred as sub-sinks and rest of the sensors are referred as far-away sensors. The far-away sensors send their data to through the sub-sinks. Let represent a set of sub-sinks which is a subset of .
Furthermore, we also assume that the and the sensors have sufficient energy and memory to collect and store all the sensed/relayed data temporarily. The data delivery capacity of a sub-sink is the amount of data that can be delivered by the sub-sink to the . The data delivery capacity of a sub-sink depends on the time the allocates to for its data delivery within the communication region of and the data transmission rate . We assume that the can receive data from one sub-sink at a time. We also assume that there is no data aggregation in the network. Then, our problems are stated as follows.
Problem 1: Let the data availabilities of the sub-sinks be . Our objective is to find data transmission schedule of the sub-sinks to the and a speed-schedule of the through such that the can collect complete data from all the sub-sinks in minimum time.
Our second problem generalizes the previous one, where data gathering time is further improved by optimizing the data availabilities of the sub-sinks.
Problem 2: Find an optimal data availabilities of the sub-sinks by distributing the sensors’ data among the sub-sinks along with their data transmission schedule to the and the speed-schedule of the through such that the can collect complete data from all the sub-sinks in minimum time.
Iv Background and Terminologies
The far-away sensors send their data to the through the sub-sinks. A sub-sink generates its data and receives data from other sensors and store them temporarily in its local buffer. This buffered data is delivered by the sub-sink to the when it passes through the sub-sink’s communication region. We refer this buffered data as data availability of the sub-sink.
Since the maximum speed of the is given, a naive approach for the is to move at this maximum speed on and visit all the sub-sinks and collect their data. But it may not collect complete data from all the sub-sinks. However, if the speed of the can be varied according to the data availabilities of the sub-sinks, then it may improve the amount of data collection.
For instance, the should move at slow speed within the communication range of a sub-sink, which has more data, whereas it should move at a faster speed within the communication range of a sub-sink which has less or no data. Furthermore, the should move with its maximum speed of , when it is not under the communication range of any sub-sink or the sub-sinks do not have data to deliver. Determining the speed of the at different position on is referred as speed-schedule of . Note that the speed of the can vary between to . It may happen that the is within multiple sub-sinks communication regions then one of the sub-sinks can transmit data to the . Therefore, proper time sharing among the sub-sinks is also required. We refer it as data transmission schedule of the sub-sinks. The data transmission schedule of the sub-sinks to the together with the speed schedule of the is called as data gathering schedule of . Our objectives are to find optimal data gathering schedule of the through the communication regions of the sub-sinks along the path to collect complete data from the sub-sinks in minimum time.
A possible speed-schedule for is shown in Figure 2. Figure 2(a) shows the path of the with dashed line and circles denote the communication disks of the sub-sinks. Let the start from and end at while travelling through the path . Figure 2(b) shows the speed-schedule of the mobile-sink at different position on . It shows that the speed of is slow within the communication disks of the sub-sinks whereas it runs with its maximum speed outside the communication disks.
We introduce some terminologies to describe our algorithm, which are as follows.
Start-point () : It is a first point on from which a sub-sink can communicate or start delivering data to the .
End-point () : It is a last point on after which a sub-sink cannot communicate or ends delivering data to the .
Data availability () : It is the amount of data available at a sub-sink .
Data delivery time () : It is the minimum time requirement to transmit the data available at a sub-sink to the .
Data delivery time is determined using = formula, where denotes the data transmission rate between and .
V Data Gathering in Minimum Time (data availability of sub-sinks are known apriori)
In this section, we first discuss linear programming problem (LPP) formulation of the proposed problem, thereafter we discuss a plane sweep based algorithm. The mobile sink travels through the path and collects complete data from all the sub-sinks. The data availability values of the sub-sinks are given. The receives data from one sub-sink at a time. The objective is to collect the complete data from all the sub-sinks in minimum time. We control the data gathering schedule of the . In other words, the time allocation of the to the sub-sinks and the time spent by the within their communication regions are determined based on their data availability values to minimize the data gathering process.
V-a LPP Formulation
The ordering of the start-points and end-points of the sub-sinks partition the path into disjoint segments/intervals. An example of partitioning the path into segments is shown in Figure 3. In Figure 3(a), a set of sub-sinks and their start-points and end-points are shown on the path . The ordering of the start-points and end-points of the sub-sinks partition the path into disjoint segments, which are shown in Figure 3(b). Zero or more sub-sinks are reachable to the from a particular segment. The idea of the solution is that the data gathering time within each segment is shared properly among the sub-sinks such that the can collect complete data from all the sub-sinks through the segments and total data gathering time from the starting position to the ending position is minimum. Also, the maintains the maximum speed limit constraint.
The start-points and end-points of the sub-sinks partition the path into disjoint segments/intervals. The sub-sinks have end-points. This will partition the path into at most disjoint segments . For each segment, we use a set of variables for the set of sub-sinks reachable from the segment. Within a particular segment , the set of sub-sinks reachable to the remains unchanged. Let denote the sub-sinks in reachable to the within the segment . Let denote the time allocated to sub-sink for transferring its data to the on the segment . If a segment is not reachable to any sub-sink, then we assume that it is reachable from a virtual sub-sink which has no data, i.e. , and the time the spends to cross the segment is denoted by . Similarly, if from segment two sub-sinks and are reachable, i.e. , then there are two variables and corresponding to two sub-sinks for the segment . Each variable value denotes the amount of time allocated to the corresponding sub-sink for data delivery when the travels through the segment .
There are two types of constraints (i) time spent on each segment by the is at least the travelling time , and (ii) total time , allocated by the to a sub-sink for its data delivery, must be greater than or equal to the sub-sink’s data delivery time . The LPP formulation of the said problem is shown in Equation 1.
|Subject to :|
After solving the LPP in Equation 1, are known, which denote the data transmission schedule of the sub-sinks. The lengths of the segments are already derived from the start-points and end-points. Hence, the speed of the at different segments can be determined easily. The following subsection discusses a plane sweep based algorithm for the problem.
V-B Plane Sweep Algorithm
The mobile sink moves through the path . When the is within the multiple sub-sinks’ communication range, then the receives data from only one of them by prioritizing them according to their end-points positions on . The sub-sink whose end-point appears first on has higher priority than that sub-sink whose end-point appears later. Let denote the priority of a sub-sink .
In the plane sweep algorithm, it is simulated by moving a sweep line through the path . We consider a horizontal data gathering path for the and a virtual vertical line perpendicular to , called sweep line moves (sweeps) through the path from to . While sweeping the sweep line intersects the sub-sinks’ communication disks. We have defined two types of events : start-point event and end-point event for every sub-sink. Start-points and end-points of the sub-sinks are stored in an event queue according to their appearance on from left to right. At a particular position of the sweep line on , we maintain a list of sub-sinks in a status line data structure . The sub-sinks whose communication disks intersect the sweep line on are in . At a particular position on , if multiple sub-sinks’ communication disks intersect the sweep line on and they have data, then a sub-sink in with maximum priority gets the preference to deliver data to .
Initially, all the start-points and end-points of the sub-sinks are added to the event queue . We are calling three methods to perform different operations on the event queue . method is used for inserting an event, method removes the leftmost event on , and method retrieves the leftmost event but does not remove it from the queue. Similarly, three methods , , and are used to perform three different operations on the status line data structure . Events are processed one by one from the event queue , as the sweep line moves through the path . The top event is removed from and is referred as current event . A sub-sink is inserted into , whenever the sweep line processes its start-point . If the sweep line is processing an end-point of sub-sink and the complete data of is not yet delivered, then the waits at the end-point and receives the remaining data from . Subsequently, the sub-sink is removed from . Thereafter, the next event point is picked from the event queue . Travel time of the between current event and the next event is determined assuming that the moves with its maximum speed in between the two events. Thereafter, maximum priority sub-sink is picked from . If the data transmission time of the sub-sink is , then the sub-sink completes data delivery to the between the two events. The sub-sink is removed from . Subsequently, the next highest priority sub-sink in is picked for data delivery. This process continues until the sweep line reaches another event point or the data delivery process is completed. If there is no sub-sink in having data to deliver then the moves with its maximum speed . The detailed algorithm is presented in Algorithm 1.
In Figure 3(a), the starts its journey from with speed . As it reaches , then the sub-sink is inserted into . Thereafter, starts receiving data form until it reaches . If the data delivery of is not over, then there are two sub-sinks , reachable to within segment . As the end-point appears before , therefore, according to our algorithm, sub-sink gets the privilege to deliver its remaining data to within the segment . If the data delivery of is still not over within time, then the waits at point for the remaining data delivery time for the duration of time. Otherwise, the starts receiving data from after crossing the start-point and allocating time to . In this way, the either moves with its maximum speed or waits at the end-points of the sub-sinks until it reaches the end of the path .
Data gathering sub-paths of the mobile sink on from a sub-sink is confined within for .
If the mobile sink follows the Algorithm 1 for data gathering, then it receives complete data from all the sub-sinks.
Algorithm 1 selects the highest priority sub-sink in for data delivery to the . A sub-sink is removed from only when the finishes receiving its data by allocating time to . The time allocation may be continuous or discontinuous. A sub-sinks is inserted to whenever the crosses . Since all the star-points and end-points of the sub-sinks are in and are processed. Therefore, all the sub-sinks get a chance to be in . Once the algorithm ends then the event queue and the list become empty. Therefore, all the sub-sinks must have delivered their complete data to the . ∎
The mobile sink completes the data gathering process in minimum time by following Algorithm 1.
Assume for the sake of contradiction that the does not complete the data gathering process in minimum time. According to our algorithm, the moves with its maximum speed throughout the path except at some end-points. So, there is an extra delay at some end-points. Extra delay for receiving data from a sub-sink is possible only when the waits at , but for some sub-path of , the moves without receiving data from any sub-sink or receives data from a sub-sink , whose end-point appears after . This is because the sub-sinks, whose end-points appear after can deliver data beyond , and may overall reduce the waiting time at .
According to Algorithm 1, once the enters , it either receives data from , or any other sub-sink such that in . This implies appears before . Therefore, there is no sub-path within where the moves/waits without receiving data from any sub-sink , where and waits at . Hence, the does not make extra delay at any end-point and completes the data gathering process in minimum time. ∎
Time complexity of the plane sweep algorithm 1 is .
Throughout the algorithm, an event point (start-point/end-point) of a sub-sink is inserted once and removed once in the event queue , and in total event points are processed. The events are processed from event queue using a heap data structure. Inserting and then removing the event points require time. During the processing of an event, some basic operations on the status line data structure are performed. In the worst case, sub-sinks are simultaneously in . Therefore, the time needed to perform an insert or delete operation on the status line is and the peek operation takes time.
The plane sweep algorithm processes event points for sub-sinks. In total insert and delete operations, and at most peek operations are performed on the status line data structure , and each such operation takes at most time. Hence, it follows that the total time processing all the events is . ∎
Vi Improving the Data Gathering Time By Optimizing The Data Availabilities of the Sub-sinks
The solution in the previous section finds a data gathering schedule of the , where the data availability values of the sub-sinks are given. This section generalizes the problem, where data availabilities of the sub-sinks are determined to improve the data gathering time. Proper distribution of the sensors’ data among the sub-sinks is carried out to improve the data gathering time. Determining an optimal data distribution among the sub-sinks is another challenging issue in WSN. The data availability values of the sub-sinks are determined using a plane sweep algorithm for the given sensor network. After determining the optimal data availability values of the sub-sinks, we consider the values as data delivery capacity of the sub-sinks and the sensors’ data are pushed to those sub-sinks using network flow algorithm. Thereafter, Algorithm 1 is used to complete the data gathering process in minimum time. In summary, this section discusses the solution for the Problem 2, where our objective is to distribute the sensors’ data among the sub-sinks properly so that the can collect complete data from all the sub-sinks in minimum time.
Vi-a Determining Data Availabilities of the Sub-Sinks Using Plane Sweep Algorithm
In this subsection, we determine the data availability values of the sub-sinks for a given network topology. We assume that the data generated on the sensors are known, which are denoted as . Using a plane sweep algorithm, we determine the data availability values of the sub-sinks . Initially, the sensor network is partitioned into connected components based on its communication topology . The idea of this algorithm is that the data generated in a component is distributed among its corresponding sub-sinks so that the can collect complete data from the component through its sub-sinks in minimum time. The moves with its maximum speed through , except at a few end-points.
For individual connected component, the total data generated by the sensors in the corresponding component is determined. Let denote the data generated in the components. The data availabilities of the sub-sinks are initialized to zero : . The start-points and end-points of the sub-sinks are determined. The sub-sinks are labelled with their corresponding component identity. Let denote the component identity of a sub-sink . The last sub-sink of a component denoted by is a sub-sink, whose end-point appears last on among all the sub-sinks in . For each component , identify its last sub-sink . The start-points and end-points of the sub-sinks are stored in an event queue according to their order on the path . The status line data structure is initialized to .
A virtual perpendicular sweep line moves through the path and process the events one after another from the event queue. At a particular position on the path of the sweep line, it keeps track of all the sub-sinks in a status line , whose communication disks intersect the sweep line on the path . The priority of a sub-sink in is based on the two parameters : its corresponding component’s last sub-sink’s end-point position, i.e. end-point of , and its start-point on . If two sub-sinks and belong to same component, i.e. , then the sub-sink whose start-point appears first on , has higher priority than the other sub-sink. If the two sub-sinks belong to different components, i.e. and the end-point of appears before the end-point of on , then .
The top event is removed from the queue and is referred as the current event . If is a start-point of , then is inserted into . If is an end-point of sub-sink and it is the last sub-sink of its corresponding component and the component has data () then the data availability of is increased by . Subsequently, the sub-sink is removed from . Thereafter, the next event point is picked from the event queue . Travel time of the between current event and the next event is determined assuming that the moves with its maximum speed in between the two events.
Next, the maximum priority sub-sink is picked from . Let denote the component of sub-sink . If the remaining data availability of the component , which is (data transmission capacity of between the two event points), then data availability of is increased by . The sub-sink is removed from . The remaining travel time between the two events and of the is updated accordingly. This process continues until the remaining travel time by the is exhausted and subsequently process the next event. In other words, if data transfer from a component is over before the sweep line reaches the end-point of its corresponding last sub-sink , then all the sub-sinks in are removed from . This process continues until the sweep line reaches the next event point or the data delivery process is completed. The detailed algorithm for finding data availabilities of the sub-sinks is shown in Algorithm 2.
Time complexity of the plane sweep algorithm 2 is , where and denote the number of sensors and number of links in the communication graph .
Depth first search is used for partitioning the network into components which can be performed in time. Computing total data generated for each component can be performed in time. Finding the start-points and end-points of the sub-sinks can be done in time. Identifying the last sub-sink for each component can be done in time. The time complexity analysis for the rest of the algorithm is similar to Algorithm 1. The plane sweep algorithm processes event points. The events are inserted and then removed from the event queue, which takes overall time. During the processing of an event, some basic operations on the status line data structure are performed. There are at most sub-sinks intersecting the sweep line on at any time and therefore, the time needed to perform an insert or delete operation on status line is and peek operation can be performed in time. Through the algorithm, a sub-sink is inserted once and removed once from the status line data structure. Therefore, the total time spent on accessing the sweep line status data structure is . Hence, it follows that the total time spent processing all the events is . Therefore, the total time complexity of the algorithm is ∎
Vi-B Distributing Data Among the Sub-Sinks Using Network Flow Algorithm
Once the data availability values of the sub-sinks are determined using Algorithm 2, this phase distributes the sensors’ data among the sub-sinks. Data are pushed from the sensors to the sub-sinks based on their calculated data availability values. Sensors use the communication topology network to send data to the sub-sinks. Network flow algorithm is used for finding data flow from the sensors to the sub-sinks. Construction of network flow graph and determining the distribution of data from the sensors to the sub-sinks for a given communication topology is described with an example for the sensor network in Figure 1.
The connected components corresponding to the sensor network of Figure 1 are identified and labelled with , and in Figure 4. To determine the data distribution from the sensors to the sub-sinks, a network flow graph is constructed using the communication topology of the sensor network. Thereafter, the sensors’ data are distributed among the sub-sinks based on the data availability values of the sub-sinks, the amount of data generated within the sensors, and the communication topology. The network flow graph corresponding to the communication topology in Figure 4 is shown in Figure 5. A virtual source vertex and a virtual sink vertex are added to the network topology. To maintain the cleanness of the figure, we have drawn four duplicate virtual source vertices, but actually they are a single vertex . The virtual source vertex is incident to the sensor nodes including the sub-sinks using virtual links. The capacities of these virtual links are set based on their data generation capacities. Therefore, the capacity of a link between and is . Similarly, the link capacity between and is because, as these are data generation limits of the sensor /sub-sink . The sub-sinks are incident to the virtual sink through virtual links. The capacity of a virtual link between a sub-sink and the virtual sink is set to , which is its data availability value determined in the previous phase. Other links represent the communication links among the sensors/sub-sinks, and their capacities are set to infinity because we assume that a sensor can forward the data generated within itself or received from its neighbors.
Thereafter, the network flow algorithm is used for finding the maximum data flow from the to . The flow value of the links denotes the data flow between the corresponding sensors/sub-sinks. Finally, data is delivered from a sub-sink to virtual sink . The flow value between a sub-sink and the virtual sink denotes the actual data delivery by the sub-sink to the .
Vi-C Gathering Data Using Algorithm 1
In this subsection, we find an optimal data gathering schedule of the mobile sink () to collect complete data from all the sub-sinks in minimum time. Once the data availabilities of the sub-sinks are determined, and data are pushed from the sensors to the sub-sinks, we use the Algorithm 1 of Section V to find the data gathering schedule of the .
The data availabilities of the sub-sinks are determined using Algorithm 2 such that the is able to receive complete data from a component while moving with its maximum speed and if required waits only at the last sub-sink’s end-point. The data generated in the sensors are distributed among its sub-sinks based on the data availability values determined using Algorithm 2. According to Algorithm 1, while the is moving, it receives data from the highest priority sub-sink having data to deliver. Let the first sub-sink of a component be a sub-sink , whose start-point appears first on . Let denote the start-point of the first sub-sink of . Similarly, denotes the end-point of the sub-sink .
Algorithm 2 prioritizes the sub-sinks based on their components’ last sub-sink’s end-point positions and sub-sinks’ start-point positions. The sub-sink whose component’s last sub-sink’s end-point appears first on , gets the highest preference for data delivery. If two sub-sinks are on the same component, then the sub-sink whose start-point appears first has a higher priority than the other. The receives data from a sub-sink in , which has maximum priority and has data to deliver. If there is no data, then it is immediately removed from .
Similar to the proof of Theorem 2, assume for the sake of contradiction that the does not complete the data gathering process in minimum time. It implies that there is a sub-path of for component , and the sub-path is under the communication disk of a sub-sink , where the moves without receiving data from any sub-sink or receives data from a sub-sink , whose priority and the waits at for receiving data from component . The sub-sink may belong to (i) same component as of , or (ii) in a different component , i.e. .
In case (i), where sub-sink , the does not wait at . This is because within the communication disk of , if the receives data from sub-sink with , then all the sub-sinks in with priority do not have data to deliver.
In case (ii), where sub-sink and , based on the first sub-sink’s start-point and last sub-sink’s end-point positions of a component, two components and have three different types of overlaps as shown in Figure 6. All other types of overlaps are equivalent to one of them. We will show that extra delay at does not hold for any of these three types of overlaps.
In Figure 6(a) type overlap, two components are disjoint. Hence, the does not receive data from within [ ] and make an extra delay at .
In Figure 6(b) type overlap, the second component starts before the end of first component. In this case, the priority of any sub-sink in component is higher than any sub-sink in component . Hence, the receives data from within [ ] only when there is no data in . If there is no data in , then all data from is already delivered to the and the does not wait at .
In Figure 6(c) type overlap, the priority of any sub-sink in component is higher than any sub-sink in component . So, can not be less than .
Therefore, in both case (i) and case (ii) our assumption does not hold and hence the theorem is proved. ∎
Vii Experiment and Performance Analysis
We evaluate the performance of our two proposed algorithms. We have used MATLAB for implementing our algorithms. In this section, we evaluate the performances of our proposed algorithms. We refer the algorithms for data gathering algorithm using speed controllable mobile-sink with known data availability (Algorithm 1) as VS-K-DA. VS-UK-DA refers to the case where data availabilities of the sub-sinks are unknown and optimized using Algorithm 2. Algorithm VS-UK-DA is combined with network flow algorithm for data distribution and with Algorithm 1 to find data gathering schedule. We compare the above two algorithms with a third algorithm FS-K-DA, where data availabilities of the sub-sinks are known apriori as in VS-K-DA and the mobile sink is moving with its maximum speed as in  for collecting data from the sub-sinks.
Vii-a Simulation environment
During simulation, the number of sensor nodes is varying for 100, 120, 140 and 160. The communication range of sensors is set to 75m. Sensors deployment region is a rectangular area of size 1000m x 400m. The rectangular region is vertically partitioned into four sub-regions of length 250m each. Within each sub-region of length 250m, sensors are randomly deployed within a vertical strip of [75m : 150m]. This is done to ensure that the random communication topology forms at least four connected components and there are gaps between the consecutive components. In the simulation, the is moving along a horizontal path at the centre of the region (y=200m). The maximum speed of the is set to 2 m/s. The collects data from one sub-sink at a time, which is within the communication range. The data transfer rate between a sub-sink and the is set to 2 Kbps. We assume that the sensors generate data randomly between 0 to 10 packets, and each packet is of size 1Kb. The far-away sensors send their sensed data to the sub-sinks through multi-hop forwarding. Data availabilities of the sub-sinks (for known apriori case) of problem 1 is determined using shortest path routing, where the sensors forward their data to its closest (hop-count) sub-sink.
Let and denote energy consumption for receiving and transmitting unit bit data. Let represent the total energy consumption of a sensor for receiving bits, and transmitting bits. Therefore, can be written as :
Total energy consumption of the network is calculated as the summation of energy consumption for forwarding data from the sensors to the through their respective sub-sinks.
Let denote data delivered by a sub-sink to the . Hence, total energy consumption includes energy consumption for delivering data from the sub-sinks to the , which is . This is because the sub-sinks . Table I summarizes the simulation parameters.
|Rectangular deployment area||1000m 400m|
|No. of sensors||100, 120, 140, 160|
|Maximum speed of||2 m/s|
|Communication range of sensor||75 m|
|Data transmission rate||2 Kbps|
Vii-B Performance analysis of the proposed algorithms
Figure 7 shows the total data collected by the mobile-sink with respect to the number of sensors. From the figure, it is obvious that the amount of data collection is proportional to the number of sensors. Data collection in VS-K-DA and VS-UK-DA are same because both the algorithms collect complete data from the network, whereas data collection in FS-K-DA is lesser than the two proposed algorithms. The difference between fixed speed and variable speed data gathering increases as the number of sensors increases. This is because, in VS-K-DA and VS-UK-DA, the complete data from the sub-sinks are collected by controlling the speed of the , whereas in FS-K-DA, the moves with its maximum speed, and the sub-sinks do not get enough time to deliver their data completely.
Figure 8 shows the data gathering time with respect to the number of sensors. It shows that the data gathering time increases proportionally to the number of sensors for the two proposed algorithms VS-K-DA and VS-UK-DA. But data gathering time of FS-K-DA is constant and it does not depend on the number of sensors. This is because in FS-K-DA the moves with its fixed maximum speed (2m/sec). Data gathering time in VS-UK-DA is lesser than VS-K-DA. The time difference between VS-K-DA and VS-UK-DA increases proportional to the number of sensors present in the network. Because in VS-UK-DA, sensors’ data are forwarded to the sub-sinks to reduce the total data gathering time. In algorithm VS-UK-DA, sometimes data are forwarded to the sub-sinks at a longer hop count distance. It increases the energy consumption of the network, which is reflected in Figure 12.
Figure 9 shows the average speed of the with respect to the number of sensors. For our two proposed algorithms, the average speed of the decreases as the number of sensors increases. This is because as the number of sensors increase, more data are forwarded to the sub-sinks, and it increases the data transmission time from the individual sub-sink to the . The average speed of VS-UK-DA is little higher than VS-K-DA.
Idle period of the denotes the time the moves without receiving data from any sub-sink while moving on the path . Figure 10 shows the idle period of the . The idle period decreases as the number of sensors increases. This is because as the number of sensors increases, more sub-sinks are there and hence, the total data transfer time increases and the idle time decreases. Idle period of VS-UK-DA is comparatively lower than the other, and the difference increases as the number of sensors increases.
Throughput measures the amount of data collected by the per unit time. Figure 11 shows the throughput of the network with respect to the number of sensors. As the number of sensors increases, the number of sub-sinks and the total data collection by the are also increased and hence, improves the throughput of the network. From the result, it is observed that the throughput of VS-UK-DA is comparatively higher than the other.
We evaluate the total energy consumption for forwarding data to the , but the energy consumption of the is not considered. Figure 12 shows the total energy consumption with respect to the number of sensors. As the number of sensors increases total data generated in the network increases proportionally and hence, total energy consumption increases proportionally. In both VS-K-DA and FS-K-DA data gathering algorithms, the data generated in the sensors are transferred to the sub-sinks through the shortest path. But, in algorithm FS-K-DA, complete data from the sub-sinks are not delivered to the and hence, energy consumption is little lesser than VS-K-DA. Whereas both VS-K-DA and VS-UK-DA algorithms deliver complete data to the , but algorithm VS-UK-DA forwards data to the sub-sinks to optimize total gathering time. Hence, sometimes sensors’ data are forwarded to sub-sinks which are at a longer distance, which increases the total energy consumption of VS-UK-DA.
Finally, we study the performance of the algorithms, by varying the maximum speed limit of the and evaluate the total data gathering time of the . Figure 13 shows the total data gathering time for different speeds. As the maximum speed limit increases, the data gathering time also decreases. This is because as the speed increases, the idle period of the decreases proportionally. Also, the time difference between VS-K-DA and VS-UK-DA decreases proportionally. For fixed speed data gathering FS-K-DA, total data gathering time decreases linearly, which is reflected in the figure.
In this article, we have studied two problems for the maximum data gathering using a mobile sink () for time-sensitive applications. The can adjust its movement speed while moving along a given path in the network. However, the speed of the cannot go beyond a given maximum speed limit . We have presented plane sweep based algorithms to find optimal data gathering schedule of the . In the first algorithm, the minimum time data gathering schedule of the mobile-sink is determined by controlling the data transmission schedule of the sub-sinks and speed of the , where the data availability values of the sub-sinks are known. The second algorithm improves the data gathering time and the throughput by optimizing the data availability values of the sub-sinks by controlling the data distribution from the sensors to the sub-sinks. It is observed from the experiment results that the data gathering time of Algorithm VS-UK-DA is better than the Algorithm VS-K-DA. But, energy consumption of VS-UK-DA is higher than VS-K-DA and FS-K-DA. The results also show that both VS-K-DA and VS-UK-DA have better data gathering capability and throughput than FS-K-DA. In future, we plan to find an optimal fixed speed of the to improve the total data collection process. In addition, we will find an optimal path for the to improve data collection for time-sensitive applications.
This work is supported by the Science & Engineering Research Board, DST, Govt. of India [Grant numbers: ECR/2016/001035]
-  A. I. Alhasanat, K. D. Matrouk, H. A. Alasha’ary, and Z. A. Al-Qadi. Connectivity-based data gathering with path-constrained mobile sink in wireless sensor networks. Wireless Sensor Network, 6:118–128, 2014.
-  K. Almi’ani, A. Viglas, and L. Libman. Tour and path planning methods for efficient data gathering using mobile elements. International Journal of Ad Hoc and Ubiquitous Computing, 21(1):11–25, 2016.
-  Y. Y. Cao and A. V. Vasilakos. Edal: An energy-efficient, delay-aware, and lifetime-balancing data collection protocol for heterogeneous wireless sensor networks. IEEE/ACM Transactions on Networking(TON), 23(3):810–823, 2015.
-  C.-F. Cheng and C.-F. Yu. Data gathering in wireless sensor networks: A combine-tsp-reduce approach. IEEE Transactions on Vehicular Technology, 65(4):2309–2324, 2016.
-  D. Dash. Approximation algorithm for data gathering from mobile sensors. Pervasive and Mobile Computing, 46:34–48, 2018.
-  S. Gao and H. Zhang. Energy efficient path-constrained sink navigation in delay-guaranteed wireless sensor networks. Journal of Networks, 5(6):658–665, 2010.
-  S. Gao, H. Zhang, and S. K. Das. Efficient data collection in wireless sensor networks with path-constrained mobile sinks. IEEE Transactions on Mobile Computing, 10(4):592–608, 2011.
-  J. He, S. Ji, Y. Pan, and Y. Li. Constructing load-balanced data aggregation trees in probabilistic wireless sensor networks. IEEE Transactions on Parallel Distributed Systems, 25(7):1681–1690, 2014.
-  L. He, J. Pan, and J. Xu. A progressive approach to reducing data collection latency in wireless sensor networks with mobile elements. IEEE Transactions on Mobile Computing, 12(7):1308–1320, 2013.
-  H. Huang and A. V. Savkin. Optimal path planning for a vehicle collecting data in a wireless sensor network. In IEEE 35th Chinese Control Conference (CCC), pages 8460–8463. Chengdu, China, 2016.
-  A. Kaswan, K. Nitesh, and P. K. Jana. Energy efficient path selection for mobile sink and data gathering in wireless sensor networks. AEU-International Journal of Electronics and Communications, 73:110–118, 2017.
-  C. Konstantopoulos, N. Vathis, G. Pantziou, and D. Gavalas. Employing mobile elements for delay-constrained data gathering in wsns. Computer Networks, 135:108–131, 2018.
-  N. Kumar and D. Dash. Mobile data sink-based time-constrained data collection from mobile sensors: A heuristic approach. IET Wireless Sensor Systems, 8(3):129–135, 2018.
-  M. Ma, Y. Yang, and M. Zhao. Tour planning for mobile data-gathering mechanisms in wireless sensor networks. IEEE Transactions on Vehicular Technology, 62(4):1472–1483, 2013.
-  A. Mehrabi and K. Kim. Maximizing data collection throughput on a path in energy harvesting sensor networks using a mobile sink. IEEE Transactions on Mobile Computing, 15(3):690–704, 2016.
-  A. Mohandes, M. Farrokhsiar, and H. Najjaran. A motion planning scheme for automated wildfire suppression. In IEEE 80th Vehicular Technology Conference (VTC Fall), pages 1–5. Vancouver, Canada, 2014.
-  X. Ren, W. Liang, and W. Xu. Use of a mobile sink for maximizing data collection in energy harvesting sensor networks. In IEEE 42nd International Conference on Parallel Processing (ICPP), pages 439–448. Lyon, France, 2013.
-  A. Sayyed and L. B. Becker. Optimizing speed of mobile data collector in wireless sensor network. In IEEE International Conference on Emerging Technologies (ICET), pages 1–6. Peshawar, Pakistan, 2015.
-  A. A. Somasundara, A. Ramamoorthy, and M. B. Srivastava. Mobile element scheduling with dynamic deadlines. IEEE Transactions on Mobile Computing, 6(4):395–410, 2007.
-  R. Sugihara and R. K. Gupta. Speed control and scheduling of data mules in sensor networks. ACM Transactions on Sensor Networks(TOSN), 7(1):1–29, 2010.
-  S. D. Trapasiya and H. B. Soni. Path scheduling for multiple mobile actors in wireless sensor network. International Journal of Electronics, 104(5):868–884, 2017.
-  Y. Zhang, S. He, and J. Chen. Near optimal data gathering in rechargeable sensor networks with a mobile sink. IEEE Transactions on Mobile Computing, 16(6):1718–1729, 2017.