# A Matrix-Based Proactive Data Relay Algorithm for Large Distributed Sensor Networks
## 3 Problem Description  
A typical scenario of a large scale mobile sensor domain is illustrated in Figure 1, where distributed sensors are randomly deployed for remote operations in a large unstructured geographical area to detect events. For their limited communication ranges and wide distribution, each of them can only relay data to a few of the others directly. But for the low quality of those sensor readings, data has to be transmitted until a single node get enough relevant data to produce high confident information, which denoted as a double circled sensor in the figure. Let \(G(V,E)\) be the topology graph of this network. \(V\)=\(\{v_{1},v_{2},...,v_{i},...\}\) denotes the set of mobile sensor nodes such as sonics, microwave, infrared and x-ray sensors. \(E=\{e_{ij}|\forall v_{i},v_{j}\in V,P(v_{i},v_{j})>0\}\) consists of edges between any two sensors, where \(P(v_{i},v_{j})\) is the connection probability between two sensors. Supposed that each sensor has an identical communication range \(r\), \(P(v_{i},v_{j})\) can be calculated according to the channel propagation model [24; 25]: \(P(v_{i},v_{j})=(1-f(d_{ij},1/r))\) where \(d_{ij}\) is the distance between \(v_{i}\) and \(v_{j}\). Based on \(E\), the neighbor set \(N(v_{i})\) of each sensor \(v_{i}\in V\) is \(\{v_{j}|\forall v_{j}\in V,e_{ij}\in E\}\). Let us consider a case of sensors deployed to track multiple stationary or moving targets \(Target=\{T_{1},T_{2},...,T_{m}\}\). It is possible that a given target \(T_{k}\) can be detected by multiple sensors at the same time. For example, when a hostile vehicle is moving through a given intersection, a shock sensor detects the vibration when it passes and an infrared sensor nearby receives the infrared signal from the vehicle. After detecting a target, sensor \(v_{i}\) will analyze the raw data(vibrates, infrared signal and so on), and generates a data \(d_{j}\) about this target. Data \(d_{j}\) can be denoted as a tuple \(<sourceID,identity,location,timestamp,path>\):  
* \(sourceID\) is the ID of the sensor that senses this data. * \(identity\) is the confidence hypotheses about the target identities \(T_{k}\), which can be expressed as \(cd_{j}=\{c_{d_{j}}(T_{1}),c_{d_{j}}(T_{2}),...,c_{d_{j}}(CLUTTER),\}\). An example is shown in Table 1.
* \(location\) is the geographical location of the target when detected. * \(timestamp\) is the system time when the target is detected. * \(path\) records sensors that pass this data. \begin{table}
\begin{tabular}{l c c c} \hline \hline
**Target** & **Confidence** & **Target Type** & **Confidence** \\ \hline USSR T80 & 0.4 & US M977 & 0.001 \\ WSSR T72M & 0.3 & US M35 & 0.001 \\ US M1 & 0.1 & US AVENGER & 0.001 \\ US M1A1 & 0.05 & US HMMWV & 0.001 \\ USSR 2S6 & 0.02 & USSR SA9 & 0.001 \\ USSR ZSU23 & 0.03 & CLUTTER & 0.095 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: An example of the body of a piece of data. Figure 1: An overlook on the large-scale sensor network deployment and the real topology. The _location_ and _timestamp_ of a target are used to determine if two pieces of data are referring to the same target. If that is the case, they are called relevant. Since the data from a sensor is always noisy, uncertain and cannot be used directly for automatic planning or supporting human decisions, data should be relayed around the network to meet more relevant data to produce a higher quality information [26]. The basic distributed data relay process for a given sensor \(v_{i}\) can be briefly described by Algorithm 1. Each sensor keeps a local data set \(L_{i}\) to store the up-to-date data it receives and senses. For any data \(d_{j}\) sensed or received by \(v_{i}\), \(d_{j}\) is first put into the local data set \(L_{i}\) of \(v_{i}\). Next, \(v_{i}\) tries to fuse this data with relevant data in \(L_{i}\) based on pre-selected fusion rules such as Bayesian inference method [27] and Dempster-Shafer theory [28]. The fusion rules are out of the scope of this paper, and so no explanation to that effect is provided.