I Introduction
In WSNs, data generated at the sensor nodes are either transmitted through multihop 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 multihop 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. [17] have shown that the volume of data collection is proportional to the data delivery latency. Timesensitive 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 subsinks. 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 nondeterministic nature of the algorithm, the solution may vary each time you run the algorithm on the same instance. Therefore, the existing data gathering techniques using
find 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 subsinks 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 subsinks. 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 precached data from a few sensors which are directly reachable from the trajectory path . Those directly reachable sensors are referred as subsinks (). The may collect data from a subsink whenever the comes under the communication range of the subsink. Thus, the subsinks send their data to the directly. The may be within multiple subsinks’ communication regions, and it receives data from any one of them at a time. Therefore, proper data transmission schedule of the subsinks are also required. The remaining sensors, which are not directly reachable to ( e.g. ) send their data to the through the subsinks using multihop communication. The major challenges are to find the optimal data transmission schedule of the subsinks to the for their data delivery and speed variation of along . Moreover, since a sensor can send data to through multiple subsinks, finding the optimal data distribution among the subsinks is another challenging issue in based data gathering. Our major contributions in this article are summarized as follows.

Introduce a timesensitive 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 subsinks are given.

Plane sweep based data gathering algorithm is proposed to collect data from the subsinks by controlling the data transmission schedule of subsinks and speed of the .

It is further generalized, where data availabilities of the subsinks are optimized by controlling sensors’ data distribution among the subsinks 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 subsinks are given. Section VI presents a plane sweep algorithm to improve the data gathering time by optimizing the data availability values of the subsinks 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 the
is controllable or fixed.Somasundara et. al. [19] 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 NPcomplete and two heuristic algorithms are proposed. The authors in
[20] 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 [9]. They schedule through the deployed region to improve the tour length of the and consider multirate wireless communication for data transmission. In [14], 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 largescale sensor networks. Sayyed et al. in [18] investigate the utility of speed control mobile sink for collecting data in WSN. Singlehop 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 [1], 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 [2], 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 [11]
, kmeans 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 [21], 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 [12] 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 multihop communication. The proposed approach increases network lifetime by finding tour passing through energyrich 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 subsinks are determined to maximize the data collection and balance the energy consumption. Huang et. al. in [10] consider a scenario where a label of importance is assigned to each sensing region. A pathconstrained 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 [15]. Zhang et. al. [22] maximize data collection while maintaining the fairness of the network in rechargeable sensor networks. In [5, 13], data gathering protocols are proposed from pathconstrained 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 subsinks to improve the network performances. But, no existing works consider controlling the data transmission schedule of the subsinks to the along with the speed of the and the sensor’s data distribution among subsinks 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 subsinks. However, the can change its speed depending upon the data availabilities of the subsinks. 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, subsinks and faraway sensors. Sensors which can directly communicate with on are referred as subsinks and rest of the sensors are referred as faraway sensors. The faraway sensors send their data to through the subsinks. Let represent a set of subsinks 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 subsink is the amount of data that can be delivered by the subsink to the . The data delivery capacity of a subsink 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 subsink 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 subsinks be . Our objective is to find data transmission schedule of the subsinks to the and a speedschedule of the through such that the can collect complete data from all the subsinks in minimum time.
Our second problem generalizes the previous one, where data gathering time is further improved by optimizing the data availabilities of the subsinks.
Problem 2: Find an optimal data availabilities of the subsinks by distributing the sensors’ data among the subsinks along with their data transmission schedule to the and the speedschedule of the through such that the can collect complete data from all the subsinks in minimum time.
Iv Background and Terminologies
The faraway sensors send their data to the through the subsinks. A subsink generates its data and receives data from other sensors and store them temporarily in its local buffer. This buffered data is delivered by the subsink to the when it passes through the subsink’s communication region. We refer this buffered data as data availability of the subsink.
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 subsinks and collect their data. But it may not collect complete data from all the subsinks. However, if the speed of the can be varied according to the data availabilities of the subsinks, then it may improve the amount of data collection.
For instance, the should move at slow speed within the communication range of a subsink, which has more data, whereas it should move at a faster speed within the communication range of a subsink 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 subsink or the subsinks do not have data to deliver. Determining the speed of the at different position on is referred as speedschedule of . Note that the speed of the can vary between to . It may happen that the is within multiple subsinks communication regions then one of the subsinks can transmit data to the . Therefore, proper time sharing among the subsinks is also required. We refer it as data transmission schedule of the subsinks. The data transmission schedule of the subsinks 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 subsinks along the path to collect complete data from the subsinks in minimum time.
A possible speedschedule 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 subsinks. Let the start from and end at while travelling through the path . Figure 2(b) shows the speedschedule of the mobilesink at different position on . It shows that the speed of is slow within the communication disks of the subsinks whereas it runs with its maximum speed outside the communication disks.
We introduce some terminologies to describe our algorithm, which are as follows.
Definition 1.
Startpoint () : It is a first point on from which a subsink can communicate or start delivering data to the .
Definition 2.
Endpoint () : It is a last point on after which a subsink cannot communicate or ends delivering data to the .
Definition 3.
Data availability () : It is the amount of data available at a subsink .
Definition 4.
Data delivery time () : It is the minimum time requirement to transmit the data available at a subsink 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 subsinks 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 subsinks. The data availability values of the subsinks are given. The receives data from one subsink at a time. The objective is to collect the complete data from all the subsinks in minimum time. We control the data gathering schedule of the . In other words, the time allocation of the to the subsinks and the time spent by the within their communication regions are determined based on their data availability values to minimize the data gathering process.
Va LPP Formulation
The ordering of the startpoints and endpoints of the subsinks 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 subsinks and their startpoints and endpoints are shown on the path . The ordering of the startpoints and endpoints of the subsinks partition the path into disjoint segments, which are shown in Figure 3(b). Zero or more subsinks 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 subsinks such that the can collect complete data from all the subsinks 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 startpoints and endpoints of the subsinks partition the path into disjoint segments/intervals. The subsinks have endpoints. This will partition the path into at most disjoint segments . For each segment, we use a set of variables for the set of subsinks reachable from the segment. Within a particular segment , the set of subsinks reachable to the remains unchanged. Let denote the subsinks in reachable to the within the segment . Let denote the time allocated to subsink for transferring its data to the on the segment . If a segment is not reachable to any subsink, then we assume that it is reachable from a virtual subsink which has no data, i.e. , and the time the spends to cross the segment is denoted by . Similarly, if from segment two subsinks and are reachable, i.e. , then there are two variables and corresponding to two subsinks for the segment . Each variable value denotes the amount of time allocated to the corresponding subsink 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 subsink for its data delivery, must be greater than or equal to the subsink’s data delivery time . The LPP formulation of the said problem is shown in Equation 1.
Minimize :  (1)  
Subject to :  
After solving the LPP in Equation 1, are known, which denote the data transmission schedule of the subsinks. The lengths of the segments are already derived from the startpoints and endpoints. Hence, the speed of the at different segments can be determined easily. The following subsection discusses a plane sweep based algorithm for the problem.
VB Plane Sweep Algorithm
The mobile sink moves through the path . When the is within the multiple subsinks’ communication range, then the receives data from only one of them by prioritizing them according to their endpoints positions on . The subsink whose endpoint appears first on has higher priority than that subsink whose endpoint appears later. Let denote the priority of a subsink .
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 subsinks’ communication disks. We have defined two types of events : startpoint event and endpoint event for every subsink. Startpoints and endpoints of the subsinks 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 subsinks in a status line data structure . The subsinks whose communication disks intersect the sweep line on are in . At a particular position on , if multiple subsinks’ communication disks intersect the sweep line on and they have data, then a subsink in with maximum priority gets the preference to deliver data to .
Initially, all the startpoints and endpoints of the subsinks 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 subsink is inserted into , whenever the sweep line processes its startpoint . If the sweep line is processing an endpoint of subsink and the complete data of is not yet delivered, then the waits at the endpoint and receives the remaining data from . Subsequently, the subsink 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 subsink is picked from . If the data transmission time of the subsink is , then the subsink completes data delivery to the between the two events. The subsink is removed from . Subsequently, the next highest priority subsink 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 subsink 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 subsink is inserted into . Thereafter, starts receiving data form until it reaches . If the data delivery of is not over, then there are two subsinks , reachable to within segment . As the endpoint appears before , therefore, according to our algorithm, subsink 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 startpoint and allocating time to . In this way, the either moves with its maximum speed or waits at the endpoints of the subsinks until it reaches the end of the path .
Corollary 1.
Data gathering subpaths of the mobile sink on from a subsink is confined within for .
Theorem 1.
If the mobile sink follows the Algorithm 1 for data gathering, then it receives complete data from all the subsinks.
Proof.
Algorithm 1 selects the highest priority subsink in for data delivery to the . A subsink is removed from only when the finishes receiving its data by allocating time to . The time allocation may be continuous or discontinuous. A subsinks is inserted to whenever the crosses . Since all the starpoints and endpoints of the subsinks are in and are processed. Therefore, all the subsinks get a chance to be in . Once the algorithm ends then the event queue and the list become empty. Therefore, all the subsinks must have delivered their complete data to the . ∎
Theorem 2.
The mobile sink completes the data gathering process in minimum time by following Algorithm 1.
Proof.
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 endpoints. So, there is an extra delay at some endpoints. Extra delay for receiving data from a subsink is possible only when the waits at , but for some subpath of , the moves without receiving data from any subsink or receives data from a subsink , whose endpoint appears after . This is because the subsinks, whose endpoints 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 subsink such that in . This implies appears before . Therefore, there is no subpath within where the moves/waits without receiving data from any subsink , where and waits at . Hence, the does not make extra delay at any endpoint and completes the data gathering process in minimum time. ∎
Theorem 3.
Time complexity of the plane sweep algorithm 1 is .
Proof.
Throughout the algorithm, an event point (startpoint/endpoint) of a subsink 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, subsinks 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 subsinks. 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 Subsinks
The solution in the previous section finds a data gathering schedule of the , where the data availability values of the subsinks are given. This section generalizes the problem, where data availabilities of the subsinks are determined to improve the data gathering time. Proper distribution of the sensors’ data among the subsinks is carried out to improve the data gathering time. Determining an optimal data distribution among the subsinks is another challenging issue in WSN. The data availability values of the subsinks are determined using a plane sweep algorithm for the given sensor network. After determining the optimal data availability values of the subsinks, we consider the values as data delivery capacity of the subsinks and the sensors’ data are pushed to those subsinks 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 subsinks properly so that the can collect complete data from all the subsinks in minimum time.
Via Determining Data Availabilities of the SubSinks Using Plane Sweep Algorithm
In this subsection, we determine the data availability values of the subsinks 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 subsinks . 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 subsinks so that the can collect complete data from the component through its subsinks in minimum time. The moves with its maximum speed through , except at a few endpoints.
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 subsinks are initialized to zero : . The startpoints and endpoints of the subsinks are determined. The subsinks are labelled with their corresponding component identity. Let denote the component identity of a subsink . The last subsink of a component denoted by is a subsink, whose endpoint appears last on among all the subsinks in . For each component , identify its last subsink . The startpoints and endpoints of the subsinks 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 subsinks in a status line , whose communication disks intersect the sweep line on the path . The priority of a subsink in is based on the two parameters : its corresponding component’s last subsink’s endpoint position, i.e. endpoint of , and its startpoint on . If two subsinks and belong to same component, i.e. , then the subsink whose startpoint appears first on , has higher priority than the other subsink. If the two subsinks belong to different components, i.e. and the endpoint of appears before the endpoint of on , then .
The top event is removed from the queue and is referred as the current event . If is a startpoint of , then is inserted into . If is an endpoint of subsink and it is the last subsink of its corresponding component and the component has data () then the data availability of is increased by . Subsequently, the subsink 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 subsink is picked from . Let denote the component of subsink . 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 subsink 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 endpoint of its corresponding last subsink , then all the subsinks 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 subsinks is shown in Algorithm 2.
Theorem 4.
Time complexity of the plane sweep algorithm 2 is , where and denote the number of sensors and number of links in the communication graph .
Proof.
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 startpoints and endpoints of the subsinks can be done in time. Identifying the last subsink 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 subsinks 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 subsink 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 ∎
ViB Distributing Data Among the SubSinks Using Network Flow Algorithm
Once the data availability values of the subsinks are determined using Algorithm 2, this phase distributes the sensors’ data among the subsinks. Data are pushed from the sensors to the subsinks based on their calculated data availability values. Sensors use the communication topology network to send data to the subsinks. Network flow algorithm is used for finding data flow from the sensors to the subsinks. Construction of network flow graph and determining the distribution of data from the sensors to the subsinks 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 subsinks, a network flow graph is constructed using the communication topology of the sensor network. Thereafter, the sensors’ data are distributed among the subsinks based on the data availability values of the subsinks, 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 subsinks 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 /subsink . The subsinks are incident to the virtual sink through virtual links. The capacity of a virtual link between a subsink 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/subsinks, 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/subsinks. Finally, data is delivered from a subsink to virtual sink . The flow value between a subsink and the virtual sink denotes the actual data delivery by the subsink to the .
ViC 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 subsinks in minimum time. Once the data availabilities of the subsinks are determined, and data are pushed from the sensors to the subsinks, we use the Algorithm 1 of Section V to find the data gathering schedule of the .
Theorem 5.
Proof.
The data availabilities of the subsinks 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 subsink’s endpoint. The data generated in the sensors are distributed among its subsinks 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 subsink having data to deliver. Let the first subsink of a component be a subsink , whose startpoint appears first on . Let denote the startpoint of the first subsink of . Similarly, denotes the endpoint of the subsink .
Algorithm 2 prioritizes the subsinks based on their components’ last subsink’s endpoint positions and subsinks’ startpoint positions. The subsink whose component’s last subsink’s endpoint appears first on , gets the highest preference for data delivery. If two subsinks are on the same component, then the subsink whose startpoint appears first has a higher priority than the other. The receives data from a subsink 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 subpath of for component , and the subpath is under the communication disk of a subsink , where the moves without receiving data from any subsink or receives data from a subsink , whose priority and the waits at for receiving data from component . The subsink may belong to (i) same component as of , or (ii) in a different component , i.e. .
In case (i), where subsink , the does not wait at . This is because within the communication disk of , if the receives data from subsink with , then all the subsinks in with priority do not have data to deliver.
In case (ii), where subsink and , based on the first subsink’s startpoint and last subsink’s endpoint 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 subsink in component is higher than any subsink 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 subsink in component is higher than any subsink 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 mobilesink with known data availability (Algorithm 1) as VSKDA. VSUKDA refers to the case where data availabilities of the subsinks are unknown and optimized using Algorithm 2. Algorithm VSUKDA 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 FSKDA, where data availabilities of the subsinks are known apriori as in VSKDA and the mobile sink is moving with its maximum speed as in [7] for collecting data from the subsinks.
Viia 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 subregions of length 250m each. Within each subregion 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 subsink at a time, which is within the communication range. The data transfer rate between a subsink 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 faraway sensors send their sensed data to the subsinks through multihop forwarding. Data availabilities of the subsinks (for known apriori case) of problem 1 is determined using shortest path routing, where the sensors forward their data to its closest (hopcount) subsink.
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 :
(2) 
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 subsinks.
(3) 
Let denote data delivered by a subsink to the . Hence, total energy consumption includes energy consumption for delivering data from the subsinks to the , which is . This is because the subsinks . Table I summarizes the simulation parameters.
Parameter  Value 

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 
2 Joule/bit  
3 Joule/bit 
ViiB Performance analysis of the proposed algorithms
Figure 7 shows the total data collected by the mobilesink 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 VSKDA and VSUKDA are same because both the algorithms collect complete data from the network, whereas data collection in FSKDA 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 VSKDA and VSUKDA, the complete data from the subsinks are collected by controlling the speed of the , whereas in FSKDA, the moves with its maximum speed, and the subsinks 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 VSKDA and VSUKDA. But data gathering time of FSKDA is constant and it does not depend on the number of sensors. This is because in FSKDA the moves with its fixed maximum speed (2m/sec). Data gathering time in VSUKDA is lesser than VSKDA. The time difference between VSKDA and VSUKDA increases proportional to the number of sensors present in the network. Because in VSUKDA, sensors’ data are forwarded to the subsinks to reduce the total data gathering time. In algorithm VSUKDA, sometimes data are forwarded to the subsinks 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 subsinks, and it increases the data transmission time from the individual subsink to the . The average speed of VSUKDA is little higher than VSKDA.
Idle period of the denotes the time the moves without receiving data from any subsink 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 subsinks are there and hence, the total data transfer time increases and the idle time decreases. Idle period of VSUKDA 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 subsinks 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 VSUKDA 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 VSKDA and FSKDA data gathering algorithms, the data generated in the sensors are transferred to the subsinks through the shortest path. But, in algorithm FSKDA, complete data from the subsinks are not delivered to the and hence, energy consumption is little lesser than VSKDA. Whereas both VSKDA and VSUKDA algorithms deliver complete data to the , but algorithm VSUKDA forwards data to the subsinks to optimize total gathering time. Hence, sometimes sensors’ data are forwarded to subsinks which are at a longer distance, which increases the total energy consumption of VSUKDA.
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 VSKDA and VSUKDA decreases proportionally. For fixed speed data gathering FSKDA, total data gathering time decreases linearly, which is reflected in the figure.
Viii Conclusion
In this article, we have studied two problems for the maximum data gathering using a mobile sink () for timesensitive 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 mobilesink is determined by controlling the data transmission schedule of the subsinks and speed of the , where the data availability values of the subsinks are known. The second algorithm improves the data gathering time and the throughput by optimizing the data availability values of the subsinks by controlling the data distribution from the sensors to the subsinks. It is observed from the experiment results that the data gathering time of Algorithm VSUKDA is better than the Algorithm VSKDA. But, energy consumption of VSUKDA is higher than VSKDA and FSKDA. The results also show that both VSKDA and VSUKDA have better data gathering capability and throughput than FSKDA. 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 timesensitive applications.
Ix Acknowledgments
This work is supported by the Science & Engineering Research Board, DST, Govt. of India [Grant numbers: ECR/2016/001035]
References
 [1] A. I. Alhasanat, K. D. Matrouk, H. A. Alasha’ary, and Z. A. AlQadi. Connectivitybased data gathering with pathconstrained mobile sink in wireless sensor networks. Wireless Sensor Network, 6:118–128, 2014.
 [2] 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.
 [3] Y. Y. Cao and A. V. Vasilakos. Edal: An energyefficient, delayaware, and lifetimebalancing data collection protocol for heterogeneous wireless sensor networks. IEEE/ACM Transactions on Networking(TON), 23(3):810–823, 2015.
 [4] C.F. Cheng and C.F. Yu. Data gathering in wireless sensor networks: A combinetspreduce approach. IEEE Transactions on Vehicular Technology, 65(4):2309–2324, 2016.
 [5] D. Dash. Approximation algorithm for data gathering from mobile sensors. Pervasive and Mobile Computing, 46:34–48, 2018.
 [6] S. Gao and H. Zhang. Energy efficient pathconstrained sink navigation in delayguaranteed wireless sensor networks. Journal of Networks, 5(6):658–665, 2010.
 [7] S. Gao, H. Zhang, and S. K. Das. Efficient data collection in wireless sensor networks with pathconstrained mobile sinks. IEEE Transactions on Mobile Computing, 10(4):592–608, 2011.
 [8] J. He, S. Ji, Y. Pan, and Y. Li. Constructing loadbalanced data aggregation trees in probabilistic wireless sensor networks. IEEE Transactions on Parallel Distributed Systems, 25(7):1681–1690, 2014.
 [9] 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.
 [10] 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.
 [11] A. Kaswan, K. Nitesh, and P. K. Jana. Energy efficient path selection for mobile sink and data gathering in wireless sensor networks. AEUInternational Journal of Electronics and Communications, 73:110–118, 2017.
 [12] C. Konstantopoulos, N. Vathis, G. Pantziou, and D. Gavalas. Employing mobile elements for delayconstrained data gathering in wsns. Computer Networks, 135:108–131, 2018.
 [13] N. Kumar and D. Dash. Mobile data sinkbased timeconstrained data collection from mobile sensors: A heuristic approach. IET Wireless Sensor Systems, 8(3):129–135, 2018.
 [14] M. Ma, Y. Yang, and M. Zhao. Tour planning for mobile datagathering mechanisms in wireless sensor networks. IEEE Transactions on Vehicular Technology, 62(4):1472–1483, 2013.
 [15] 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.
 [16] 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.
 [17] 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.
 [18] 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.
 [19] 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.
 [20] 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.
 [21] 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.
 [22] 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.
Comments
There are no comments yet.