## 3 Architecture of the Platform and Related Software and Hardware Aspects
### Implementation Aspects and Associated Configuration and Monitoring Processes
#### 3.2.4 Routing Protocols Implemented in the Platform  
Several routing protocols have been implemented and used in experiments. The routing metrics associated with these protocols differ, making the protocols more or less suitable for a given set of network conditions. Some metrics emphasize the \"forward action\", i.e., the immediate impact of the next-hop forwarding on the progress of the message towards the destination node. Other metrics consider only the \"carry action\", namely the progress due to the motion of the node holding the message. A third class of metrics takes into consideration both effects. As a typical representative of the protocols focusing on the forward action, an implementation of the geographic MFR protocol [45] has been provided. This protocol selects as the next hop the neighbor node maximizing the distance between the current node and the neighbor node's projection on the line connecting the current and destination nodes. In common with all forward-based protocols, MFR performs best in dense network topologies, when the existence of multiple neighbors permits the immediate selection of a next-hop node and the forward effect dominates. However, such protocols are not appropriate for low-density environments. In such conditions, the exploitation of the nodes' motion becomes necessary, and carry-based protocols are preferable. To provide a typical representative of the carry-based category, the MoVe protocol [46] has also been implemented. This protocol employs a metric based on the orientation of the nodes' motion: a candidate next-hop node becomes more preferable when it moves more directly towards the destination. Besides these two extremes, an implementation of the Maximum Advance Decision (MAD) routing protocol has also been provided. (The experiments in the context of the ATLAS/RAWFIE project explored the performance of this protocol.) MAD is a more advanced protocol that dynamically combines the effect of both the forward and carry actions on the rate of a message's approach to the destination in a way that arises naturally from a consideration of the system's dynamics. The metric of this protocol makes use of the \"retaining time\", which is an estimation of the time that a candidate node will keep the message if it is selected as the next hop. The retaining time encapsulates information relevant to the local network density and to the location and velocity of the considered next-hop node. In view of these characteristics, MAD operates effectively in environments spanning a wide range of mobility and nodal density conditions. For a deeper insight into the dependence of the mean retaining time on the relevant network and nodal context, see [47]. Two versions of MAD have been implemented in the platform: the original version of the protocol [48] and a more recent version, which uses a refined representation of the retaining time [49]. Specifically, for candidate next-hop nodes moving toward the message destination, the original version of the protocol estimates the retaining time by calculating the time required until the node reaches the point closest to the destination, assuming straight-line motion at a constant speed. The refined version distinguishes between nodes capable of becomingclose enough to the destination for direct message delivery and nodes whose trajectory does not enable such a delivery. In the second case, the estimation of the retaining time includes an additional term to represent the time spent by the node while moving away, past the point closest to the destination, until a suitable next-hop node is encountered. Moreover, the refined version of the protocol consistently scales the retaining time by a factor inversely proportional to the network density to capture the positive impact of the more frequent forwarding opportunities encountered in denser networks, leading to an earlier discovery of an appropriate next-hop node and, thus, to a shorter retaining time.