## 4 OLSR with Prediction  
The Optimized Link State Routing (OLSR) protocol [43] is a well-known proactive routing protocol for _ad hoc_ networks. The nodes in these networks periodically exchange routing information to maintain a map of the network topology. The Multi-Point Relays (MPRs) are the network nodes selected for propagating the topology information. In OLSR, there are two types of control messages: HELLO and Topology Control (TC). HELLO messages allow each node to discover its neighboring nodes and obtain information about the state of the links with them. TC messages allow MPR nodes to disseminate neighbor information throughout the network. The mathematical modeling that helps understand the MPR selection and topology dissemination (using TC messages) processes is described in [44]. In [45] the authors provide a mathematical description of the neighbor nodes discovery and link failure detection (using HELLO messages) processes. Topology control message prediction can be performed in different ways, and it does not necessarily need to rely on the past history. However, a repetitive behavior of the nodes facilitates the prediction process. The simplest approach is to use, as a predictor, the \"last-value\" observed by a node. This takes advantage of the values repetition, which in certain work scenarios can represent quite well the real behavior of the network nodes. [PERSON] _et al_. [8] have identified that this repetition (_i.e_., last received message is equal to the preceding one) in OLSR topology control (TC) messages is independent of the number of network nodes, but it is affected by the node mobility, speed and density. Based on these observations, the OLSR routing algorithm was adapted to predict (when possible) the TC messages that nodes need to exchange for building an accurate map of its sub-network topology in HWSNs. Thus, the nodes can avoid resending the same information, which has two important advantages: (1) a reduction of energy consumption and CPU processing time, because fewer routing TC messages are sent and received; and (2) a reduction of the network collisions, because only non-redundant routing TC information is delivered, thus reducing the message traffic. The message prediction process involves the use of a _predictor_ component, which is located between network and routing layers. Figure 1 shows the interlayer communication of a node that is implementing the OLSRp system. The OLSRp can be implemented as a transparent communication intermediary between routing and the network layers. Notice that both approaches (_i.e_., OLSR and OLSRp) deal with exactly the same control traffic. The main difference is that the data sources for the OLSR layer are different. When the OLSR is used alone, all the information comes from the network layer, whereas when the OLSRp is used, the information can be provided by both the network layer and the predictor component. Figure 1: Network architecture including the predictor. In order to exemplify the way in which OLSRp works, let us consider the relationship between two nodes belonging to the same island of a HWSN. Typically, a \"Node 1\" periodically generates a TC message that we will name _generated Tcm (gTCm)_. Following the same pace, the predictor in such a node predicts the TC message, based on the last value generated from this node. We will name these messages _predicted Tcm (pTCm)_. The system will deliver a new TC message to other network nodes (including Node 2) as a result of applying a merge algorithm that considers the generated and predicted messages. Moreover, this occurs if both messages (_i.e._, _gTCm_ and _pTCm_) do not contain exactly the same control information. After any delivery, the predictor stores locally the new TC message, which will be used for next predictions. The Node 2 periodically receives TC messages from other nodes through the network layer. These messages are also considered as gTCm by the Node 2.