| Literature DB >> 31861511 |
Pere Millán1, Carles Aliagas1, Carlos Molina1, Roc Meseguer2, Sergio F Ochoa3, Rodrigo M Santos4.
Abstract
The mobile ad hoc communication in highly dynamic scenarios, like urban evacuations or search-and-rescue processes, plays a key role in coordinating the activities performed by the participants. Particularly, counting on message routing enhances the communication capability among these actors. Given the high dynamism of these networks and their low bandwidth, having mechanisms to predict the network topology offers several potential advantages; e.g., to reduce the number of topology propagation messages delivered through the network, the consumption of resources in the nodes and the amount of redundant retransmissions. Most strategies reported in the literature to perform these predictions are limited to support high mobility, consume a large amount of resources or require training. In order to contribute towards addressing that challenge, this paper presents a history-based predictor (HBP), which is a prediction strategy based on the assumption that some topological changes in these networks have happened before in the past, therefore, the predictor can take advantage of these patterns following a simple and low-cost approach. The article extends a previous proposal of the authors and evaluates its impact in highly mobile scenarios through the implementation of a real predictor for the optimized link state routing (OLSR) protocol. The use of this predictor, named OLSR-HBP, shows a reduction of 40-55% of topology propagation messages compared to the regular OLSR protocol. Moreover, the use of this predictor has a low cost in terms of CPU and memory consumption, and it can also be used with other routing protocols.Entities:
Keywords: history-based prediction; mobile ad hoc networks; network topology prediction messages; urban emergencies
Year: 2019 PMID: 31861511 PMCID: PMC6983092 DOI: 10.3390/s20010024
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1System architecture that includes the twin predictors.
Figure 2Example of a mobile scenario that involves three nodes, (a) First position, where nodes 1 and 2 can communicate, (b) Next position, where the 3 nodes can communicate, (c) Last position of nodes, where nodes 1 and 3 can communicate.
Example of the history table for Node 1.
| Pattern | Next | Count | Last |
|---|---|---|---|
|
|
| 3 | |
|
|
| 1 | ✓ |
|
|
| 1 | ✓ |
|
|
| 3 | |
|
|
| 1 | ✓ |
|
|
| 1 | ✓ |
|
|
| 3 | ✓ |
Figure 3Predictability limit for different historical data-window sizes (HDWS) and node mobility patterns.
Figure 4History-based prediction using a self-similar least action walk (SLAW) mobility model with 10 nodes, and last-value and most-frequent policies, with and without confidence (1 h/4 h/24 h).
OLSR-HBP simulation parameters.
| Parameter | Values Used at Simulation |
|---|---|
| Node deployment | Static Grid 4 × 4 |
| Surface/deployment area | 120 × 120 m |
| Number of nodes | 16 |
| Confidence | 0 bits (no confidence) |
| Prediction algorithm | Last Value |
| Data traffic | 1 KByte periodic pings |
| Ping periods | no pings, 10 s, 1 s |
| NS-3 Parameter | Values used at simulation |
| wifiChannel | YansWifiChannelHelper |
| wifiChannel PropagationLoss | FriisPropagationLossModel |
| wifiPhy TxGain | −10 |
| wifiPhy EnergyDetectionThreshold | −75.0 |
Results of OLSR and OLSR-HBP in static scenarios.
| OLSR | OLSR-HBP | |||
|---|---|---|---|---|
| Packet Generation Period | 10 s | 1 s | 10 s | 1 s |
| %TP msgs predicted @dest | - | - | 99.9% | 99.9% |
| Avg. % of pings received | 100% | 44.3% | +0% | +3.4% |
| Avg. RTT (ms) | 11.6 | 50.7 | −4.5% | −9.6% |
| Avg. Energy/node (J) | 8.6 | 32.5 | −11.5% | +4.1% |
Results of the performance metrics in static scenarios, using OLSR as ground truth.
| Packet Generation Period | 10 s | 1 s |
|---|---|---|
| Precision (micro) | 0.999 | 0.999 |
| Precision (macro) | 0.999 | 0.999 |
| Recall (micro) | 0.999 | 0.999 |
| Recall (macro) | 0.999 | 0.999 |
| F1 (micro) | 0.999 | 0.999 |
| F1 (macro) | 0.999 | 0.999 |
| AUC (micro) | 0.999 | 0.999 |
Optimized link state routing (OLSR) history-based predictor (HBP) (OLSR-HBP) simulation parameters.
| Parameter | Values Used at Simulation |
|---|---|
| Mobility pattern | SLAW |
| Surface/deployment area | 300 × 300 m |
| Number of nodes | 10, 20 |
| Execution time | 1 h, 4 h |
| Confidence | 0 bits (no confidence) |
| Prediction algorithm | Last value |
| Data traffic | 1 KByte periodic pings, from 1st to 2nd half of nodes |
| Ping periods | no pings, 10 s, 1 s, 0.1 s |
| NS-3 Parameter | Values used at simulation |
| wifiChannel | YansWifiChannelHelper |
| wifiChannel PropagationLoss | FriisPropagationLossModel |
| wifiPhy RxGain | −10 |
| wifiPhy EnergyDetectionThreshold | −75.0 |
Summary of classification performance metrics in mobile scenarios.
| Packet Generation Period | - | 10 s | 1 s | 0.1 s |
|---|---|---|---|---|
| Precision (micro) | 0.767–0.897 | 0.768–0.897 | 0.767–0.897 | 0.767–0.899 |
| Precision (macro) | 0.719–0.842 | 0.719–0.842 | 0.717–0.839 | 0.715–0.851 |
| Recall (micro) | 0.767–0.897 | 0.768–0.897 | 0.767–0.897 | 0.768–0.899 |
| Recall (macro) | 0.723–0.838 | 0.722–0.837 | 0.721–0.834 | 0.720–0.845 |
| F1 (micro) | 0.767–0.897 | 0.768–0.897 | 0.767–0.897 | 0.768–0.899 |
| F1 (macro) | 0.720–0.839 | 0.720–0.839 | 0.718–0.836 | 0.717–0.847 |
| AUC (micro) | 0.896–0.948 | 0.897–0.948 | 0.896–0.948 | 0.897–0.948 |
Figure 5Average number of topology propagation (TP) broadcasts (per node, per hour).
Figure 6Average and normalized number of TP messages received/predicted at destination nodes.
Figure 7Average memory occupation (in KBytes) per node and per hour.
Classification performance metrics in mobile scenarios (10 nodes, 1 h HDWS, no confidence).
| Packet Generation Period | - | 10 s | 1 s | 0.1 s |
|---|---|---|---|---|
| Precision (micro) | 0.875 | 0.875 | 0.876 | 0.876 |
| Precision (macro) | 0.826 | 0.826 | 0.829 | 0.833 |
| Recall (micro) | 0.875 | 0.875 | 0.876 | 0.876 |
| Recall (macro) | 0.813 | 0.814 | 0.816 | 0.823 |
| F1 (micro) | 0.875 | 0.876 | 0.876 | 0.876 |
| F1 (macro) | 0.818 | 0.819 | 0.822 | 0.827 |
| AUC (micro) | 0.938 | 0.937 | 0.938 | 0.938 |
Classification performance metrics in mobile scenarios (10 nodes, 4 h HDWS, no confidence).
| Packet Generation Period | - | 10 s | 1 s | 0.1 s |
|---|---|---|---|---|
| Precision (micro) | 0.860 | 0.860 | 0.860 | 0.860 |
| Precision (macro) | 0.803 | 0.800 | 0.797 | 0.800 |
| Recall (micro) | 0.860 | 0.860 | 0.860 | 0.860 |
| Recall (macro) | 0.802 | 0.800 | 0.797 | 0.802 |
| F1 (micro) | 0.860 | 0.860 | 0.860 | 0.860 |
| F1 (macro) | 0.802 | 0.800 | 0.796 | 0.800 |
| AUC (micro) | 0.930 | 0.930 | 0.930 | 0.930 |
Classification performance metrics in mobile scenarios (10 nodes, 1 h HDWS, 2 bits conf).
| Packet Generation Period | - | 10 s | 1 s | 0.1 s |
|---|---|---|---|---|
| Precision (micro) | 0.897 | 0.897 | 0.897 | 0.899 |
| Precision (macro) | 0.842 | 0.842 | 0.839 | 0.851 |
| Recall (micro) | 0.897 | 0.897 | 0.897 | 0.899 |
| Recall (macro) | 0.838 | 0.837 | 0.834 | 0.845 |
| F1 (micro) | 0.897 | 0.897 | 0.897 | 0.899 |
| F1 (macro) | 0.839 | 0.839 | 0.836 | 0.847 |
| AUC (micro) | 0.948 | 0.948 | 0.948 | 0.949 |
Classification performance metrics in mobile scenarios (10 nodes, 4 h HDWS, 2 bits conf).
| Packet Generation Period | - | 10 s | 1 s | 0.1 s |
|---|---|---|---|---|
| Precision (micro) | 0.879 | 0.879 | 0.880 | 0.881 |
| Precision (macro) | 0.819 | 0.825 | 0.831 | 0.827 |
| Recall (micro) | 0.879 | 0.879 | 0.880 | 0.881 |
| Recall (macro) | 0.824 | 0.828 | 0.836 | 0.832 |
| F1 (micro) | 0.879 | 0.879 | 0.880 | 0.881 |
| F1 (macro) | 0.820 | 0.825 | 0.833 | 0.829 |
| AUC (micro) | 0.939 | 0.939 | 0.940 | 0.940 |
Classification performance metrics in mobile scenarios (20 nodes, 1 h HDWS, no confidence).
| Packet Generation Period | - | 10 s | 1 s | 0.1 s |
|---|---|---|---|---|
| Precision (micro) | 0.798 | 0.798 | 0.798 | 0.799 |
| Precision (macro) | 0.734 | 0.734 | 0.737 | 0.740 |
| Recall (micro) | 0.798 | 0.798 | 0.798 | 0.799 |
| Recall (macro) | 0.723 | 0.725 | 0.727 | 0.728 |
| F1 (micro) | 0.798 | 0.798 | 0.798 | 0.799 |
| F1 (macro) | 0.727 | 0.729 | 0.732 | 0.733 |
| AUC (micro) | 0.899 | 0.899 | 0.899 | 0.900 |
Classification performance metrics in mobile scenarios (20 nodes, 4 h HDWS, no confidence).
| Packet Generation Period | - | 10 s | 1 s | 0.1 s |
|---|---|---|---|---|
| Precision (micro) | 0.767 | 0.768 | 0.767 | 0.767 |
| Precision (macro) | 0.719 | 0.719 | 0.717 | 0.715 |
| Recall (micro) | 0.767 | 0.768 | 0.767 | 0.768 |
| Recall (macro) | 0.723 | 0.722 | 0.721 | 0.720 |
| F1 (micro) | 0.767 | 0.768 | 0.767 | 0.768 |
| F1 (macro) | 0.720 | 0.720 | 0.718 | 0.717 |
| AUC (micro) | 0.896 | 0.897 | 0.896 | 0.897 |
Classification performance metrics in mobile scenarios (20 nodes, 1 h HDWS, 2 bits conf).
| Packet Generation Period | - | 10 s | 1 s | 0.1 s |
|---|---|---|---|---|
| Precision (micro) | 0.832 | 0.834 | 0.833 | 0.835 |
| Precision (macro) | 0.753 | 0.761 | 0.762 | 0.761 |
| Recall (micro) | 0.832 | 0.834 | 0.833 | 0.835 |
| Recall (macro) | 0.746 | 0.753 | 0.755 | 0.752 |
| F1 (micro) | 0.832 | 0.833 | 0.833 | 0.835 |
| F1 (macro) | 0.748 | 0.755 | 0.757 | 0.755 |
| AUC (micro) | 0.916 | 0.916 | 0.917 | 0.917 |
Classification performance metrics in mobile scenarios (20 nodes, 4 h HDWS, 2 bits conf).
| Packet Generation Period | - | 10 s | 1 s | 0.1 s |
|---|---|---|---|---|
| Precision (micro) | 0.790 | 0.790 | 0.792 | 0.793 |
| Precision (macro) | 0.738 | 0.735 | 0.736 | 0.737 |
| Recall (micro) | 0.790 | 0.790 | 0.792 | 0.793 |
| Recall (macro) | 0.742 | 0.739 | 0.740 | 0.743 |
| F1 (micro) | 0.790 | 0.790 | 0.792 | 0.793 |
| F1 (macro) | 0.739 | 0.736 | 0.737 | 0.739 |
| AUC (micro) | 0.907 | 0.906 | 0.906 | 0.907 |
a SLAW 10 nodes 1 h
| Ping Period | 10 s | 1 s | 0.1 s |
|---|---|---|---|
| OLSR | 18.2% | 16.4% | 16.2% |
| OLSR-HBP | 18.1% | 15.7% | 16.0% |
| Improvement | −0.5% | −4.2% | −1.4% |
b SLAW 10 nodes 4 h
| Ping Period | 10 s | 1 s | 0.1 s |
|---|---|---|---|
| OLSR | 22.8% | 19.9% | 19.2% |
| OLSR-HBP | 22.7% | 19.3% | 19.1% |
| Improvement | −0.63% | −2.71% | −0.59% |
c SLAW 20 nodes 1 h
| Ping Period | 10 s | 1 s | 0.1 s |
|---|---|---|---|
| OLSR | 23.5% | 18.3% | 18.3% |
| OLSR-HBP | 22.6% | 18.1% | 17.3% |
| Improvement | −3.70% | −0.70% | −5.14% |
d SLAW 20 nodes 4 h
| Ping Period | 10 s | 1 s | 0.1 s |
|---|---|---|---|
| OLSR | 32.3% | 21.5% | 21.2% |
| OLSR-HBP | 31.0% | 21.3% | 19.9% |
| Improvement | −4.03% | −0.78% | −5.9% |
a SLAW 10 nodes 1 h
| Ping Period | 10 s | 1 s | 0.1 s |
|---|---|---|---|
| OLSR | 14.3 | 8.51 | 6.97 |
| OLSR-HBP | 12.8 | 10.1 | 6.94 |
| Improvement | 10.5% | −18.9% | 0.47% |
b SLAW 10 nodes 4 h
| Ping Period | 10 s | 1 s |
|---|---|---|
| OLSR | 11.7 | 11.5 |
| OLSR-HBP | 11.7 | 10.6 |
| Improvement | 0.02% | 7.65% |
c SLAW 20 nodes 1 h
| Ping Period | 10 s | 1 s | 0.1 s |
|---|---|---|---|
| OLSR | 12.6 | 20.4 | 12.5 |
| OLSR-HBP | 11.6 | 17.1 | 11.5 |
| Improvement | 7.93% | 16.24% | 8.61% |
d SLAW 20 nodes 4 h
| Ping Period | 10 s | 1 s |
|---|---|---|
| OLSR | 15.1 | 30.8 |
| OLSR-HBP | 13.8 | 32.0 |
| Improvement | 8.5% | −4.1% |
a SLAW 10 nodes 1 h
| Ping Period | 10 s | 1 s | 0.1 s |
|---|---|---|---|
| OLSR | 2.01 | 6.34 | 51.4 |
| OLSR-HBP | 1.98 | 6.61 | 52.4 |
| Improvement | 1.5% | −4.3% | −2.0% |
b SLAW 10 nodes 4 h
| Ping Period | 10 s | 1 s | 0.1 s |
|---|---|---|---|
| OLSR | 2.25 | 7.85 | 63.1 |
| OLSR-HBP | 2.33 | 8.57 | 70.7 |
| Improvement | −3.6% | −9.1% | −12.1% |
c SLAW 20 nodes 1 h
| Ping Period | 10 s | 1 s | 0.1 s |
|---|---|---|---|
| OLSR | 3.9 | 12.0 | 95.3 |
| OLSR-HBP | 3.84 | 12.3 | 97.7 |
| Improvement | 1.8% | −1.9% | −2.5% |
d SLAW 20 nodes 4 h
| Ping Period | 10 s | 1 s | 0.1 s |
|---|---|---|---|
| OLSR | 5.30 | 17.5 | 142.6 |
| OLSR-HBP | 6.23 | 22.7 | 177.8 |
| Improvement | −17.5% | −30.0% | −24.7% |