## 4 Evaluation
### Fairness-Aware Routing  
OppNet routing protocols often trade one performance feature for another. While early routing approaches offer simplicity and ease of implementation, they lack in terms of major performance measures such as throughput and transmission overhead. For instance, Direct Transmission and First Contact trade low delivery guarantees for low resource requirements. Epidemic on the other hand, ensures higher delivery guarantees at the cost of increased resource consumption. Subsequent routing approaches provide acceptable delivery guarantees and resource requirements through additional mechanisms for acquiring and utilizing knowledge and assumptions. However, this may lead to increased complexity and feasibility issues.  
Such trade-offs also exist in solutions for improving fairness, which in most cases, end up reducing either achievable throughput or fairness when considered under sensed data collection scenarios--for instance, the authors of CCAF focus on maximizing throughput as well as achieving a low delivery delay at the expense of a reasonably low reduction in fairness. A major challenge is that optimizing OppNet performance is more challenging that it may seem, as the performance metrics are often dependent on each other, and may reach a saturation point. For instance, while introducing more message copies reduces delivery delay and increases delivery guarantees, excess copies may lead to message loss and reduced delivery guarantees under resource constraints [74].  
Focusing on minimizing delivery delay may degrade overall routing performance, especially in terms of throughput and fairness. In Smart City scenarios, delivery delay also depends on the distance between source-destination pairs. Since encounter opportunities and travel distances reduce with longer distances between source-destination pairs, trying to deliver messages through shorter routes may reduce fairness by over-utilizing a few set of nodes. This risk is heightened when the forwarding utility is highly biased towards popular nodes. Besides the risk of TTL exhaustion during the additional time spent waiting to encounter popular nodes, achievable throughput may also be reduced since there is a higher chance of message loss due to buffer overflow on them. As shown in Figure 15, the additional waiting time incurred by CCAF can be justified by a higher average buffer time, i.e., how long a message remains buffered--note that average delivery delay (cf., Figure 12) correlates with the hop count of delivered messages instead of buffer time (cf., Figure 15), unless nodes are able to receive notification of delivered messages and remove them from their buffers. With FLARoute, the average buffer time is reduced as nodes are able to send messages to a wider range of relay nodes as well as drop messages effectively with the burden balancing mechanism. Also justifiable by Figure 15 is the higher risk of losing messages, as CCAF drops more messages compared with FLARoute. A major contributing factor is the messages dropped by popular nodes, since these nodes are more prone to buffer overflow. FLARoute is able to reduce the number of copies of the same message buffered on popular nodes by allowing only one copy of messages to be routed through the higher-utility path. This results in fewer buffer overflows and less risk of losing messages--considering the first-in-first-out (FIFO) queuing policy.  
Figure 15 shows that PRoPHET has the least buffer time, since custodians do not have to wait to encounter less burdened nodes before forwarding messages (i.e., messages are simply forwarded to any encountered node with a higher forwarding utility). On the other hand, the number of messages dropped with PRoPHET is an order of magnitude higher. This is due to more messages being directed towards the few popular nodes, thereby subjecting them to more buffer overflows. As a result, PRoPHET records the least fairness among the three (cf., Figure 9).