# Gathering Big Data in Wireless Sensor Networks by Drone +
## 3 Problem Definition  
The problem considered here consists of minimizing the overall data gathering time \(T_{total}\) of a drone as mobile collectors in a WSN with a large volume of data stored in its sensor nodes (Big Data). It is named here GBD (Gathering Big Data from WSNs). As input data, we consider \(M\) as a 2D rectangular monitored field whose area is \(a\times\ l\), infinite points inside it and \(S=\{s_{1},s_{2},\ldots,s_{|S|}\}\) a set of randomly distributed points in \(M\), which correspond to the location of fixed sensor nodes, such as shown in Figure 1a. We also assumed each sensor node knows its own location. Moreover, each node has \(m\) bits of data stored in its flash memory to send to the drone. The radio range is \(r\) meters, and the link bandwidth is \(b\) bps. Consequently, each sensor node needs \(\frac{m}{b}\) seconds to send the data stored in its memory to the drone. The output or solution for the GBD problem is composed of \(P\), \(S_{subset}\) and \(D_{mov}\). \(P\) is a sequence of points \(P=(p_{1},p_{2},\ldots,p_{|P|})\) where the drone has to hover to gather data (hovering points). \(P\) defines a tour to be followed by the drone. However, the drone must start and finish its tour in the point \(p_{0}=0,0\). \(S_{subset}=\{N_{1},N_{2},\ldots,N_{|P|}\}\) is composed of subsets of sensor nodes. Each subset represents the group of sensor nodes that have to send their data to the drone over a hovering point in \(P\). The nodes belonging to the subset \(N_{1}\) will send their data when the drone is hovering over the point \(p_{1}\). Nodes in \(N_{2}\) send data to the drone over \(p_{2}\) and so forth. \(D_{mov}=\{d_{0\leftrightarrow 1},d_{1\leftrightarrow 2},d_{2 \leftrightarrow 3},\ldots,d_{|P|\leftrightarrow 0}\}\) is composed of subsets of sensor nodes that will send their data to the drone when it is moving. The sensor nodes in the subset \(d_{0\leftrightarrow 1}\) have to send data to the drone when it is flying between the points \(p_{0}\) and \(p_{1}\), the subset \(d_{1\leftrightarrow 2}\) has to send data to the drone traveling from \(p_{1}\) to \(p_{2}\), and so forth. Analyzing the output, \(S_{subset}\cup D_{mov}=S\) and \(S_{subset}\cap D_{mov}=\emptyset\). Figure 1b presents an example of an output: \(P=(p_{1},p_{2},p_{3})\), \(S_{subset}=\{\{s_{1},s_{4}\},\{s_{8},s_{9}\},\{s_{6},s_{10}\}\}\) and \(D_{mov}=\{\{s_{2}\},\{s_{3},s_{5}\},\{s_{7}\},\{\}\}\). After receiving the sequence of points \(P\), the drone begins its tour through the point \(p_{0}=(0,0)\) and flies to the point \(p_{1}\). During this part of the tour, the drone receives data from the sensor node in the subset \(d_{0\leftrightarrow 1}=\{s_{2}\}\). Hence, the drone hover over \(p_{1}\) to gather data from the subset of nodes \(N_{1}=\{s_{1},s_{4}\}\) and moves to the next point \(p_{2}\). During this movement, it receives data from the sensor nodes in the subset \(p_{1-2}=\{s_{3},s_{5}\}\). Then, the drone hovers over  
to gather data from \(N_{2}=\{s_{8},s_{9}\}\) and repeats this operation until the data from all sensor nodes is collected. At the end of the tour, the drone returns to the point \(p_{0}\). We define \(T_{total}\) as the drone's overall time to follow the sequence of hovering points in \(P\) and gather all data from all sensor nodes' memories. This time is calculated according to Equation (1):  
\[T_{total}=T_{trip}+T_{collecting} \tag{1}\]  
Figure 1: (**a**) a set of sensor nodes. (**b**) Example of output: a sequence of hovering points where the drone has to hover, a subset of sensor nodes to send data to the drone over each hovering point, and a subset of sensor nodes to send data to the drone during its movement between each pair of hovering points. where \(T_{\mathit{trip}}\) is the time the drone spend moving from \(p_{0}\), following each point in \(P\) and returning to \(p_{0}\). \(T_{\mathit{trip}}\) considers only the drone movement; hence, it depends on the drone speed and the distance between each couple of hovering points in the sequence defined by \(P\).