4.2.1. Performance Evaluation in the Skudai Scenario
records the difference between the average estimated maximum burden on neighbouring nodes and the actual maximum burden in the network. The results show that the average estimate converges to about 20% to 50% of the actual maximum burden in the second day of message generation. We do not expect a precise estimate, and consider this outcome satisfactory for the following reasons: (i) it is only an average of different local estimates, and the error bars suggest that estimates may vary significantly among nodes; and (ii) each node has its own set of neighbours, and the maximum burden in the network may vary significantly from the maximum among each node’s neighbours. The next set of results show the performance of CCAF and FLARoute incorporated into PRoPHET routing protocol, as well as the other selected routing proposals in the Skudai simulation scenario.
The fairness of the routing techniques is shown in Figure 9
. FLARoute records the highest fairness of 97.9%. SnF and CCAF record a fairness of 97% and 96.2%, respectively. dLife and PRoPHET are closely tied at 95.9% and 95.8%, respectively. Bubble Rap shows a 95.3% fairness, and HERO records the least fairness at 93.3%. Although the difference in fairness may seem small, we observe that a slight change in fairness leaves a noticeable impact on the energy consumption differences between the central nodes and the other nodes. Note that only two proposals, CCAF and FLARoute, were incorporated into PRoPHET. Bubble Rap, dLife, HERO and SnF were only included in the results to show how the existing routing approaches perform under high degrees of spatial locality. Hence, in order to capture the impact of CCAF and FLARoute, their performance should be compared with that of PRoPHET alone.
As shown in Figure 10
, FLARoute records the highest energy distribution at 43.3%. This means that the average energy expended on the other nodes is 43.3% of that expended on the central nodes. This is followed by SnF and PRoPHET at 24.2% and 17.1%, respectively. According to the pattern of routing fairness in Figure 9
, CCAF falls behind PRoPHET with an energy distribution of 11.3%. This is because with CCAF, the difference in the burden between members of the other nodes ranked according to their contribution in routing (i.e., from the most burdened to the least burdened) is more subtle as compared with PRoPHET. Normal order resumes with dLife, Bubble Rap and HERO, recording an energy distribution of 11.2%, 6.9% and 4.3%, respectively. FLARoute’s performance as compared with PRoPHET’s shows that the impact of an additional 2.1% fairness could be as much as 2.5 times increase in energy distribution.
The throughput of the routing techniques is shown in Figure 11
. FLARoute records the highest throughput at 85%, followed by CCAF at 76.2%. PRoPHET and SnF are closely tied at 65.3% and 64.9%, respectively. Next is dLife and HERO, recording a throughput of 49.3% and 49%, respectively. Bubble Rap records the least throughput at 42.7%. FLARoute’s improvement in fairness and throughput comes at a cost. As shown in Figure 12
, FLARoute incurs 8.2 h of average delivery delay, which is a 49.1% increment of PRoPHET’s. CCAF, on the other hand, is able to improve PRoPHET’s delay by 9.1%.
As shown in Figure 13
, FLARoute is able to reduce the transmission overhead of PRoPHET by 73.5%. This results in a 65.6% reduction of average energy consumption. A 90.7% reduction in transmission overhead and 89.2% reduction in average energy consumption is achieved with CCAF. The number of central nodes recorded by the routing techniques is shown in Figure 14
. CCAF records about 30% improvement with respect to PRoPHET, while FLARoute records more than twice PRoPHET’s value. Table 4
summarises the impact of CCAF and FLARoute on PRoPHET routing protocol. We discuss these results next.
A. Fairness-Oblivious Routing
While the same movement conditions apply across the simulations for each routing protocol, the resulting fairness varies depending on the routing approach. This is because different types of forwarding utilities and algorithms have different levels of aggressiveness in utilizing popular nodes. SnF shows the highest fairness among the selected (fairness-oblivious) routing protocols. Due to binary spraying, a less popular node with more copies of a message may end up doing more sending than a more popular node carrying the same message, thereby allowing for more fairness. dLife’s fairness is similar to that of PRoPHET. This is because forwarders are not limited to nodes with high level of popularity. By including a utility function that determines better relays based on the social engagement with the destination, dLife is able to distribute the burden among a larger set of nodes.
The encounter-based strategy of PRoPHET selects relay nodes based on their encounter frequency with the destination. Since popular nodes experience more encounters and may also encounter neighbours more frequently, they often present higher delivery predictabilities. Furthermore, PRoPHET’s transitive property allows this knowledge to be perceived over multiple hops, which increases the chances of selecting popular nodes as relays. That being the case, less popular nodes have less chance of being selected as relays, since the number of nodes they often encounter is relatively less. Consequently, PRoPHET’s fairness is reduced as more messages are pushed towards popular nodes.
Bubble Rap is designed to utilize central nodes to disseminate messages within and between communities. Messages are thereby directed towards nodes with higher centrality. Unfortunately, nodes with high centrality are relatively few in the network. Consequently, the same set of few highly central nodes receive a significantly high number of messages in the network, which decreases fairness. As for HERO, a potential relay node is either a node from the same region as the destination or a node that visits the destination’s region more frequently than the custodian of the message. Under higher degrees of spatial locality, there are less chances of encountering a node from the same region as the destination. Hence, only nodes that often travel longer distances are able to present a better forwarding utility. Since only relatively few nodes visit many different regions in the network, fairness is significantly degraded.
From the results in Figure 10
, it is noticeable that energy distribution has a significant impact on fairness (cf., Figure 9
). Among the routing protocols oblivious to fairness, SnF shows the highest fairness as well as the highest energy distribution. This is followed by PRoPHET and dLife, which correspond to the next set of protocols in terms of fairness. Finally, Bubble Rap and HERO record the lowest energy distribution, and correspond to the routing protocols with the lowest fairness.
B. 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.
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
C. The Delay Trade-Off
Liu and Wu [41
] do not consider delay an important performance metric, as long as messages are delivered before TTL exhaustion. Therefore, the TTL, with respect to relevant application scenarios, becomes an important aspect in the design of OppNet routing solutions. In order to fully utilize the (24-h) diurnal cycle of human mobility [64
], a TTL of 1 day is chosen for this evaluation. Experiments with HUMANETS, a routing approach that exploits human movement patterns, show that 75% of messages can be delivered within this period [75
]. Hence, FLARoute is able to deliver more messages and achieve more fairness within the bounds of tolerable delay—for instance, Smart City applications such as garbage collection and green zone management may tolerate periodic notifications of up to 24 h [1
]. By allowing a wider range of relay nodes with the PoiUtility, buffer occupancy is reduced and nodes are able to retain and deliver messages traversing multiple geographic regions—messages that are more likely to be lost with PRoPHET or CCAF. Hence, on top of PRoPHET’s 5.5 h average delivery delay, FLARoute trades an extra 2.7 h for increased fairness and throughput. Provided messages can be delivered within their lifetime and throughput is improved, we consider this delay insignificant unless the application in concern is delay sensitive, in which case opportunistic routing solutions would not be suitable.
D. Transmission Overhead and Average Energy Consumption vs. Fairness
As shown in Figure 13
, FLARoute experiences only about 26.5% of PRoPHET’s transmission overhead, which can be as low as 9.3% with CCAF. FLARoute incurs more transmission overhead than CCAF due to being less biased towards popular nodes and allowing more number of less popular nodes participate in routing. Consequently, FLARoute also records more average energy consumption than CCAF (cf., Figure 13
). Besides more number of nodes participating in routing, a reasonable part of FLARoute’s energy consumption is due to energy expended in failed transmissions. The number of failed transmissions is expected to increase when more number of less popular nodes are involved in routing (cf., Figure 16
). Since less popular nodes are significantly higher in population, failed transmissions—as they try to find alternative routes—also increases the average energy consumption. With PRoPHET, however, poor fairness leads to higher buffer occupancy and failed transmissions on popular nodes instead, as shorter encounter durations become insufficient for them to complete forwarding transactions. Hence, as far as fairness is concerned, lower average energy consumption does not always signify better performance, and vice versa. What is more important is that the energy consumption on both set of nodes (i.e., the central nodes and the other nodes) is comparable and does not exceed a tolerable rate.
E. Quantifying the Burden on Nodes
Another issue is the scenario-specific performance associated with inferring burden from buffer information. Depending on movement patterns and encounter opportunities, some nodes are able to free their buffers faster than others. Consequently, buffer occupancy may not always provide a good reflection of the burden on nodes. In fact, instantaneous buffer occupancy depends on various variables that may not correlate with the relative amount of contribution a node has done in forwarding messages (e.g., TTL, the number of destinations that can be directly encountered, the queuing policy in use, and routing protocol conditions for dropping messages). To demonstrate this, we select Node 114 and 177, two neighbouring nodes running on PRoPHET, for comparison under the fluctuating data traffic pattern illustrated in Figure 17
. Messages are generated in two phases, one on the second day and the other on the fourth day, with a 1-day rest period between them. In both phases, each source node generates 1 message every hour for the first 6 h, followed by 1 message every 4 h for the rest of the day.
Since we have configured energy to be consumed only when messages are sent or received (cf., Section 4.1.1
), the burden on nodes can be studied from their energy consumption. Hence, to observe the impact of the fluctuating data traffic on the resource utilization of the selected nodes, we record the energy consumed on hourly basis in Figure 18
. From the figure, it can be observed that Node 114 is the more popular node, as it consumes more energy. Also, the energy consumed on Node 114 is more than that on Node 177 at any point in time. This signifies that the burden on Node 114 remains higher than the burden on Node 177 throughout the simulation. In simulations, energy level can give an insight to node burden since the environment can be controlled to consume energy from only routing related tasks. However, energy level is not a suitable burden measure for designing fair routing solutions intended for real-world implementation. As mentioned earlier in Section 2.1.3
, users perform various energy consuming tasks on their devices. Hence, unless the energy consumed due to participation in routing can be determined, energy level is not a valid measure for node burden in real-life scenarios.
The existing fair routing solutions infer burden from buffer information. To observe how buffer information responds to the fluctuating data traffic, we record the buffer occupancy of both nodes every hour in Figure 19
. Node 177, despite being the less popular node, experiences higher buffer occupancy for extensive periods, as indicated in the figure. This is mainly because Node 114 is able to free its buffer at a much higher rate. This shows that the buffer state favours nodes that free their buffers at a slower rate, hence may not be able to reflect the energy a node has consumed due to routing. Thus, erroneous routing decisions could occur if burden is inferred from buffer information during these periods. For instance, existing proposals for improving fairness would detect a higher burden on Node 177: from 33 to 39 h; for most of the period between 76 h and 87 h; from 95 h to 104 h; and for most of the time afterwards. During these periods, however, energy consumption (cf., Figure 18
) indicates that Node 114 remains the more burdened node by a long margin.
It is fair to say that existing approaches for improving fairness try to balance the buffer occupancy of nodes, rather than achieving fairness in terms of resource utilization (e.g., energy consumed in sending and receiving messages). By observing Figure 19
, a possible workaround is to determine the instantaneous burden on a node from the combination of its current and previous buffer states. However, there is no guarantee that the previous buffer states would be obtained at points in time when the buffer would be able to reflect the actual relative burden on the node. These results also make it easier to imagine how inferring node burden from buffer occupancy would be a problem in a scenario where gateways are located at bus stops, for instance. Devices carried by bus drivers would then be able to encounter more destinations directly and free up their buffers. Without a steady flow of incoming messages, the buffer occupancy on such nodes may drop at a relatively higher rate, thereby rendering buffer occupancy momentarily inaccurate for determining the relative burden on them. Their number of transmissions (i.e., the number of messages sent and received on behalf of other nodes), on the other hand, better reflect their relative burden. This is because transmissions account for a considerable amount of energy consumed in routing. Figure 20
shows the cumulative number of transmissions for Node 114 and Node 177. At any point in time, the relative number of transmissions on both nodes corresponds to their relative energy consumption (cf., Figure 18
). This correlation is the idea behind our proposed ReBurD mechanism.
ReBurD is oblivious of buffer information, and is able to overcome related drawbacks by considering the number of transmissions within a time frame. As shown in Figure 21
, ReBurD’s relative burden on Node 177 does not exceed that on Node 114, even when their buffer occupancies suggest otherwise. These results correspond to the energy consumed on both nodes (cf., Figure 18
) and their number of transmissions (cf., Figure 20
). ReBurD also takes into account the possibility that node resources may have been restored after periods of inactivity. In other words, the computed burden decreases with reducing participation in routing, and vice versa. This explains the intersection of the ReBurD’s relative burden on both nodes around the 73rd hour, during which the burden on Node 114 continues to fall, since it is experiencing a reasonable period of inactivity—the assumption is that the device may have been recharged during this period. The burden on Node 177 on the other hand, starts to rise (cf., Figure 21
) in response to incoming messages (cf., Figure 18
), and equals that on Node 114, which is still inactive. Another possible event in real-life scenarios where ReBurD’s dynamicity comes to play is when a node newly joins the network. In that case, it would take a very long time for newcomer’s number of transmissions to catch up with that of nodes that have been in the network, even if it is a popular node. With our proposed ReBurD mechanism, the burden on the newcomer would to be comparable with the others in the next reset interval of the transmission counters.
4.2.2. Performance Evaluation in the Helsinki Scenario
The Helsinki scenario is simulated under five different rates of message generation in order to analyse how the routing proposals respond to changes in data traffic. The scenario consists of 600 nodes, which include 80 source nodes and 36 destination nodes that are placed in popular locations to represent sensors and gateways, respectively. Each source node generates messages to a randomly chosen destination node at the following rates: (i) 1 message every 3 h; (ii) 1 message every 2 h; (iii) 1 message every hour; (iv) 2 messages every hour; and (v) 3 messages every hour. Figure 22
shows that FLARoute achieves the highest energy distribution and fairness under the different rates of message generation. Figure 23
, Figure 24
and Figure 25
show how the routing proposals perform under increasing data traffic in terms of energy distribution, routing fairness, throughput, average delivery delay, transmission overhead, average energy consumption, and the energy consumption on the 5 most popular nodes. Finally, Figure 26
and Figure 27
show results of performance evaluations under dynamic user behaviour and heterogeneous buffer capacity, respectively, with source nodes generating 1 message every hour.
A. Throughput and Average Delivery Delay under Changing Data Traffic
As shown in Figure 23
, throughput drops with increasing data traffic. With PRoPHET, throughput drops by 18.4% from the least to highest data traffic. This goes as low as 27.7% with CCAF—the lowest drop in throughput as data traffic increases. This is due to the adopted routing approach, which retains messages in buffers until relays presenting much higher encounter-based forwarding utilities are encountered. Under high data traffic, messages are lost during the wait period due to TTL exhaustion on less popular nodes or buffer overflows on popular nodes. Throughput drops by only 3.6% with FLARoute, which is able to maintain a more stable throughput under increasing data traffic by utilizing a forwarding utility that allows more number of nodes to participate and contribute their resources to routing. FLARoute also achieves the highest throughput under the different data traffic.
also shows that average delivery delay increases with data traffic. Since PRoPHET does not consider fairness, messages are forwarded to relay nodes with higher forwarding utilities irrespective of their burden. This way, messages are delivered through shorter routes and minimum delay is incurred, especially when data traffic is low. Under higher data traffic, however, more number of messages are introduced in the network, thereby resulting in higher buffer occupancy. Hence, more messages are delivered through longer routes due to message loss at popular nodes. Fair routing with CCAF spends more time waiting to encounter nodes with much higher forwarding utilities. Also, additional waiting time is incurred under higher data traffic since short-lived encounters may not be sufficient for popular nodes to complete their forwarding transactions. As compared with CCAF, FLARoute records less average delivery delay since a wider range of relay nodes are utilized. This shows that FLARoute recorded higher average delivery delay (and throughput) in the Skudai scenario due to its awareness of spatial locality (i.e., its ability to retain and deliver messages traversing multiple geographic regions). Since only delivered messages are considered, the routing technique that can deliver more number of messages to destinations located farther away incurs more average delivery delay.
B. Transmission Overhead and Average Energy Consumption under Changing Data Traffic
Under low data traffic, buffer occupancy is low and message loss is mostly limited to TTL exhaustion. Messages therefore stay longer in node buffers and due to fewer messages, they are successfully forwarded each time a more suitable relay node is encountered. Hence, high transmission overhead is incurred due to more successful transmissions. However, contrary to expected results, Figure 24
shows that less transmission overhead is incurred as data traffic increases. This is because node buffers become more occupied and more messages are lost from frequent buffer overflows. Increased buffer occupancy also leads to failed transmissions due to insufficient time to complete forwarding transactions. Interestingly, failed transmissions consume energy instead of incurring transmission overhead. This explains why Figure 24
shows more energy consumption as transmission overhead decreases.
PRoPHET records the highest transmission overhead and average energy consumption since messages are forwarded whenever a relay node presents a higher forwarding utility. CCAF, on the other hand, records the lowest transmission overhead and average energy consumption by forwarding messages only when a relay node presents a much higher forwarding utility. FLARoute records a higher transmission overhead and average energy consumption as compared with CCAF by allowing more number of less popular nodes to contribute in improving throughput. In this case, the main concern is whether the energy consumed on the most popular nodes (or the maximum energy consumption) is also increased in the process. To investigate this, Figure 25
shows the energy consumed by the 5 most popular nodes when running on each routing technique. CCAF records less energy consumption on popular nodes under low data traffic. However, as the average energy consumption increases under higher data traffic, FLARoute distributes the burden among a wider set of nodes thereby consuming less energy on popular nodes.
C. Throughput Under Dynamic User Behaviour
The autonomous nature of the network coupled with resource constraints on portable handheld devices leads to a highly dynamic user behaviour in real-life scenarios. One of the consequences is that constant participation cannot be guaranteed for every user in a real-world implementation of the technology. For instance, users may turn off the wireless communication interface on their devices to conserve energy or travel out of the city for a period of time. Hence, a robust fair routing solution should be able to cope with the variable availability of resources without significantly degrading throughput. FLARoute allows the contribution of a wider set of nodes to minimize throughput degradation under such scenarios. Therefore, it is important to have an insight on how the performance of other proposals compare in scenarios where some users occasionally withdraw participation from the network.
In order to simulate user withdrawal, we configure relay nodes in the Helsinki scenario (generating 1 message per hour) to randomly decide on a daily basis whether or not to cease from receiving and sending messages for a period uniformly distributed between 1 to 6 h. Figure 26
shows the throughput and fairness recorded by CCAF and FLARoute, with and without user withdrawal. With popular nodes withdrawing participation, messages are either lost due to buffer overflows on the remaining popular nodes or are unable to make much progress through less popular nodes. This leads to about 11% drop in throughput with CCAF. On the other hand, FLARoute records only about 5% drop in throughput. By increasing the number of central nodes and thereby allowing more number of less popular nodes to contribute in routing, the buffer availability in the network is increased. As a result, messages are provided with more alternative routes to the destination. Furthermore, the network becomes more resistant to increase in data traffic. Allowing more nodes to actively participate in routing reduces individual buffer occupancy and chances of buffer overflows, so that messages can be retained for longer periods. As shown in Figure 26
, FLARoute still maintains a higher routing fairness under user withdrawal.
D. Routing Fairness under Heterogeneous Buffer Capacity
Although portable handheld devices are roughly homogenous in terms of energy and processing power, motivation derived from incentive benefits may cause users to allocate different amounts of storage space to the technology—for instance, some users may want to contribute with more storage space in order to gain more incentives. Hence, a robust fair routing solution should be able to treat a device fairly despite the resources allocated to the network. Section 2.4.3
discussed how inferring burden from buffer occupancy affects routing decisions when users do not allocate the same amount of storage space to the network. Specifically, devices that have more buffer capacities are subjected to unfair treatment due to the burden detection approaches of existing fair routing solutions. Therefore, it is important to have an insight on how the proposals perform in scenarios characterised by heterogeneous buffer capacity. To configure different buffer sizes, we generate a second node group from each existing group in the (ONE simulator’s) settings file and change their buffer size from 10 MB to 2 MB. The resulting fairness and throughput, before and after assigning different buffer sizes to the nodes, are shown in Figure 27
With CCAF, nodes that have higher buffer capacity are likely to receive more messages since they often present less buffer occupancy. Such nodes are thereby subjected to more burden and energy consumption, as compared with other nodes of the same popularity level but less buffer capacity. This unequal distribution in resource utilization among nodes results in a drop in fairness, as indicated in the figure. FLARoute, on the other hand, determines node burden from the number of transmissions, a major source of energy consumption in routing. Hence, fairness is not degraded despite differences in buffer capacities. Unlike CCAF that becomes even more unfair under higher data traffic, FLARoute also provides a more stable fairness and still maintains a higher throughput.
4.2.3. Impact of FLARoute and Choice of Parameters
A. Impact of FLARoute
The main aim of FLARoute is to reduce unfairness in the utilization of handheld user device resources and increase throughput in the presence of strong spatial locality in urban environments. When incorporated into PRoPHET in the Skudai scenario, the additional fairness provided by FLARoute is able to: (i) increase the number of central nodes by 77%; and (ii) achieve 3.8 times CCAF’s energy distribution, thereby distributing energy consumption more evenly among the central nodes and the other nodes. As shown in Figure 28
, FLARoute also reduces the maximum energy consumption in the network. These results signify increased user satisfaction among the different sets of nodes. In terms of throughput, FLARoute also provides an additional 8.8% as compared with CCAF. This is mainly because: (i) FLARoute considers spatial locality inherent to user movement when selecting relay nodes and dropping messages; and (ii) more nodes are actively involved in routing, thereby increasing the network’s buffer availability to reduce chances of message loss. As compared with CCAF, FLARoute achieves more fairness without incurring significant increase in the energy consumption per node, and delivers more messages within a TTL of 1 day. As compared with using the PRoPHET routing protocol alone, FLARoute: (i) increased fairness by 2.2%; (ii) increased energy distribution by 153.2%; (iii) increased throughput by 30.2%; (iv) reduced transmission overhead by 73.5%; and (v) reduced average energy consumption by 65.6%.
FLARoute’s performance under conditions in which other solutions are unable to guarantee fair treatment and improve throughput leads us to believe that it is more suitable for sensed data collection in real-life scenarios. Apart from its awareness of spatial locality inherent to user movement demonstrated in the Skudai scenario, results in the Helsinki scenario suggest that it can also cope with changing data traffic, heterogeneous buffer allocations on user devices, and dynamic user behaviour.
B. Choice of FLARoute’s Parameters
FLARoute requires the parameters
to be set, and here we discuss how changes in these values impact network performance. Node burden can be inferred directly from the number of transmissions. However, instead of counting the number of transmissions to infinity, which does not give a comparable burden for nodes newly joining the network, the observation period can be divided into time slots containing periods of peak traffic. This allows nodes to be observed and burden to be computed for short periods, during which maximum encounters are experienced. We observe that in urban environments, a time slot of 6 h is able to contain at least one period of peak traffic that occurs during rush h (i.e., for a typical working day movement: 07:00 to 09:00 due to encounters experienced while going to work; 13:00 to 14:00 due to lunch break encounters; and 18:00 to 20:00 for encounters while returning home)—note that Wu et al. [18
] also exploited the significant rise in traffic experienced during rush h.
Based on results from several trials, we suggest a time slot of 3 h or 6 h. For , we select a time slot of 3 h so that ReBurD responds faster to changes in transmission rate, while we select 6 h for in order for MaxBE to gain insight into the maximum burden on nodes during each rush hour. It is important to note that MaxBE’s maximum burden estimate is focused on only neighbouring nodes, rather than every node existing in the network. Also, FLARoute does not require a precise estimate of this value to improve fairness, and can be based on the burden on nodes MaxBE obtains from past encounters in each time slot. Since ReBurD and MaxBE are distributed mechanisms, their time slots can be loosely synchronized with the global time on smartphones. For example, can be from 06:30 to 21:30, …, 12:30 to 15:30, …, 18:30 to 21:30, … Note that such approach only requires a one-off synchronization during initialization and can be updated whenever the node gains access to global time.
denotes the percentage of the maximum burden estimate that is considered as “low burden”, and determines the number of nodes allowed to forward messages in the less-burden path with FLAFord algorithm (cf., Section 3.2.4
). In this regard, a larger value of
considers higher amount of burden as low. This allows more popular nodes to contribute in the less-burden path, thereby increasing throughput and reducing fairness. Based on results from several trials, we suggest a 20% value for
, as it showed the most optimal throughput-fairness trade-off.
is a threshold that denotes when the burden on a node actually matters and starts to reflect noticeably on energy consumption. As we suggested earlier, a desired value of
can be obtained from user surveys, in order to meet their satisfaction needs in real-world implementation. Values above or below the desired threshold may either result in more energy consumption on less burdened nodes or less delivery guarantees due to more number of nodes dropping messages that are following the less-burden path (cf., Section 3.2.4
), respectively. In summary, the parameters
determine the trade-off between user satisfaction and throughput.