# A Type of Low-Latency Data Gathering Method with Multi-Sink for Sensor Networks
## 4 Data Gathering with the Help of Multi-Sink
### Moving Path for Multi-Sink  
In LDGM, there is one Traverse Point (TP) in each DGA (the white dots in Figure 12) and the mobile Sinks stay at each TP for a period of time to receive data from the leader (the black dots in Figure 12). Then, they move to the next TP at a fixed speed \(v\). So, the whole trajectory for one Sink in a data collection cycle is composed of \(Num(R)-1\) segments. As for a DGA, when the leader is located at region \(C\), the traverse point is just the center of this region. Therefore, distance between the leader and the mobile Sink is relatively shorter that decreases energy consumption on communication. When the leaders are located at each DGU, the location of the traverse point could be calculated as follows:  
* If the DGA is composed of a single DGU, the traverse point is just the center of this DGU. As point \(Z\) shows in Figure 12.
* If there are only two DGUs in the DGA, it is known that two leaders exist in this DGA (just \(S_{i}\) and \(S_{j}\) in Figure 12). It is assumed that, \(Z^{\prime}\) is the TP of this DGA while \(k_{i}\) and \(k_{j}\) are the data being uploaded from the leaders to the mobile Sink. So, total energy consumption for \(S_{i}\) and \(S_{j}\) on data uploading could be described as follows. \[E_{T}\left(S_{i}\right)+E_{T}\left(S_{j}\right)=\left(k_{i}+k_{j}\right)E_{ elec}+k_{i}\varepsilon_{fs}d^{2}\left(S_{i},Z^{\prime}\right)+k_{j} \varepsilon_{fs}d^{2}\left(S_{j},Z^{\prime}\right)\] (18) To get the minimum value of \(E_{T}(S_{i})+E_{T}(S_{j})\), the optimal location of \(Z^{\prime}\) could also be calculated with the help of the partial derivative, as shown in (19), \(X(S_{i})\),\(Y(S_{i})\) and \(X(S_{j})\),\(Y(S_{j})\), are the coordinates of \(S_{i}\) and \(S_{j}\) respectively. \[ \begin{array}{rl}X\left(Z^{\prime}\right)&=\frac{k_{i}X(S_{i})+k_{i}X(S_{j} )}{k_{i}+k_{j}}\\ Y\left(Z^{\prime}\right)&=\frac{k_{i}Y(S_{i})+k_{j}Y(S_{i})}{k_{i}+k_{j}}\\ \end{array} \] (19)
* If there are three DGUs in the DGA (e.g., \(S_{l}\), \(S_{m}\) and \(S_{n}\) are the leaders), the coordinates of its TP (e.g., \(Z^{\prime\prime}\)) could be calculated out by Formula (20). \[ \begin{array}{rl}X\left(Z^{\prime\prime}\right)&=\frac{k_{l}X(S_{j})+k_{m}X( S_{m})+k_{n}X(S_{n})}{k_{l}+k_{m}+k_{m}+k_{n}}\\ Y\left(Z^{\prime\prime}\right)&=\frac{k_{l}Y(S_{i})+k_{m}Y(S_{i})+k_{n}Y(S_{n}) }{k_{l}+k_{m}+k_{n}}\\ \end{array} \] (20)  
Figure 11: Weighted directed graph for data uploading. For a DGA (e.g., \(DGA_{i}\)), if another DGA (e.g., \(DGA_{j}\)) whose region is partly shared with the region of \(DGA_{i}\), these two DGAs are regarded as neighbors. So, each DGA has at most four neighbors. As shown in Figure 13, the DGA and its neighbors are colored with black and white, respectively. For any mobile Sink, if the distance between its two consecutive TPs is too long, its energy consumption on moving will higher. In this case, the length of the trajectory will also increase and may cause \"buffer overflow problems\". As shown in Figure 12, the mobile Sink is now at \(Z\)\" and its next TP is \(Z\). Thus, in the next period of time, the leaders in the neighbor DGAs of the DGA where \(Z\)\" is located may have no chance to upload data to this mobile Sink. Therefore, some constraints are described as follows. _Constraint 1_: There are \(k\) mobile Sinks in the network. _Constraint 2_: For a Sink at \(DGA_{i}\), the next TP of it could only be selected from the TPs in the neighbors \(DGA\). _Constraint 3_: During one data gathering period \(T\), each Sink should move to each TP once and only once. As for a mobile Sink (e.g., \(Sink(i)\)) locating at \(TP(m)\), the weight that \(Sink(i)\) moves to the next TP (e.g., \(TP(n)\)) at current time \(t\) is defined as follows. \[P_{TP(m)\_TP(n)}\left(t\right)=\left(t-t_{p}-t_{0}\right)\sum_{i=1}^{Num(DGA_ {n})}{\pi{R_{S}}^{2}\left(S_{i}\right)u_{i}} \tag{21}\]  
Figure 12: Location of the traverse point. Figure 13: The next available TPs for selection.