Abstract
Unlike communication networks which are traditionally assumed to be connected, Opportunistic networks (OppNets) are a type of wireless ad hoc networks with no guarantee of end-to-end path for data routing, which is due to node mobility, volatile links, and frequent disconnections. As such, data transmission among the nodes relies on their cooperation and this is realized in a store-and-carry fashion. To this end, several opportunistic routing techniques have been proposed in the literature, some of which using geocasting, a technique that consists of scheduling the message to a specific region toward its destination. This paper proposes a Fuzzy-based Check-and-Spray Geocast (FCSG) routing protocol for OppNets, in which a Check-and-Spray mechanism is used to control the message flooding within the destination cast and a fuzzy controller is used for selecting the suitable relay nodes to carry the message toward the destination, with the aim to improve the delivery ratio. Using simulations, the proposed FCSG protocol is shown to outperform the F-GSAF, GeoEpidemic and EECSG routing protocols in terms of overhead ratio, average latency, and delivery ratio, under varying number of nodes, buffer size, and Time-to-Live.
Introduction
OppNets are typically characterized by frequent intermittent connectivity, high node mobility, and dynamic network topology, making the routing of messages in such networks highly challenging [7]. In such networks, message transmission is achieved by using the store-carry-and-forward mechanism [11], whereby each node assumes that its buffer has adequate room to store the message; and whenever a node is encountered opportunistically and can accept the message, it carries it, hoping that other relay nodes will take over the same task until the message reaches the destination node. In this process, it is assumed that some form of cooperation exists among the nodes, for instance through trustworthy communications [2].
As an effective way to achieve a reliable and latency-efficient message routing in OppNets [17], a geocast mechanism can be utilized [4,19]. The geocast strategy consists in scheduling the message to target a specific region (rather than individual relay nodes) toward its destination. Using this technique, a sender node is allowed to transmit the message to only those receivers that reside in a prescribed region and all the nodes in that region are referred to as belonging to a geocast group. The determination of whether a node in the network belongs to such group or not relies on its geographical location, and Global Positioning System can be used for such purpose. It should be noted that if a node does not belong to that region, it cannot receive the message packets. The merit of the geocast mechanism is that for certain practical applications, location-based services can quickly be discovered. In our proposed approach, the message is first delivered within the destination area (called destination cast), then disseminated appropriately within that cast using a suitable controlled flooding technique. To implement the geocast approach, spatial and temporal domains, as well as few limitations with respect to the resources of the nodes are considered [19].
Besides, the motivation of using fuzzy logic [25] in this work stems from its unique characteristic that using it, several diverse (and sometimes conflicting) parameters of a given problem can be efficiently combined and evaluated as a single parameter and then used for decision making purpose. This potential has been explored for many applications in various fields [5,14]. Other known advantages of the fuzzy logic technique are ease implementation, its robustness, and the flexibility in applying it to process systems that are non-linear [24].
In a nutshell, fuzzy logic [25] is defined as a process that involves analyzing some information by means of the so-called fuzzy sets, each of which is used for describing both the output and input variables, and can be distinguished through a membership function. A membership value ranging from 0 to 1 is allocated in such functions. If the output value is close to close to 1 means that the associated input be in the ownership of the fuzzy set having a high degree. Whereas a smaller degree output value would not be considered as fuzzy set suitable for that input. Here, the input/output relationship is expressed by a set of the so-called fuzzy rules [25], which are meant to characterize the system’s behaviour (in dynamic way), contributing to the obtained fuzzy solution space. Indeed, a fuzzy system [24,25] is made of fuzzification and rule base component, inference engine component and de-fuzzification component.
The fuzzification process takes a crisp numeric value as input and maps it (using rule base activation) into a fuzzy output, defined as an appropriate ensemble of fuzzy sets, then a degree of membership is allocated to it to any of these fuzzy sets. Next, the inference engine component is responsible for determining the way where the obtained fuzzy sets are clustered to constitute an expected fuzzy solution space. The output of the fuzzification then undergoes the de-fuzzification process which converts it into a crisp value which can be utilized for action control or decision making. Regarding proposed work, we have used the Mamdani fuzzy controller (as depicted in Fig. 1) for relay node selection purpose.
In this paper, a fuzzy-based geocast routing technique named Fuzzy Check-and-Spray Geocast (FCSG) is presented, in which the Check-and-Spray strategy is used as controlled flooding mechanism within the destination cast; and the Mamdani fuzzy controller along with fuzzy attributes such as node’s buffer space, residual energy, and movement, are utilized for determining suitable nodes to relay the message toward the destination. The proposed FCSG scheme fundamentally differs from earlier geocast protocols [4,5,14,20,24,25] in the following manner: (1) it does not require high computational resources from a practical perspective; (2) the approach used for the selection of best forwarder nodes relies on fuzzy attributes such as buffer space, residual energy and movement of node; and (3) in the first phase of the proposed approach, the messages are transmitted conditionally (rather than unconditionally as done in [19]; and (4) in order to minimize the overhead, an acknowledgement mechanism is incorporated in the proposed technique.
The paper is organized as follows. Section 2 discusses some related work on geocast routing schemes for OppNets. In Section 3, the proposed FCSG scheme is presented. In Section 4, the performance evaluation of the proposed FCSG protocol is described. Finally, Section 5 concludes the paper.
Related work
In the literature, few research papers have investigated the use of fuzzy logic for achieving various tasks in challenged networks and systems [1,3,4,6,8,15,16,18,20,21,23].
In [4], Dhurandher et al. proposed a geocast routing technique for OppNets (called F-GSAF), in which some fuzzy attributes are used to make a decision on the suitable forwarders of the message to the destination. It should be noted that the Mamdani fuzzy controller is utilized for such purpose. Also, a multi-copying spray approach is used for relaying the message to the geocast region. Within the geocast region, the message is flooded intelligently, and during this phase, a mechanism for deleting the undelivered copies of messages already delivered to destination is invoked.
In [20], Rajaei et al. proposed a simple and efficient geocast routing protocol called Geocast Spray and Flood (GSAF), in which a message is sprayed in the network and randomly travels towards the destination. Whenever the message is routed away from its destination, it is automatically removed from the device buffer. Once it reaches the geocast area, a controlled flooding technique is used to spread it to all the nodes. In the same paper, another direction-aware protocol (called DA-GSAF) was proposed, in which the message is forwarded to only those nodes which are travelling in the direction of the targeted destination.
In [3], Derakhshanfard et al. proposed a sharing spray-and-wait technique for message routing in OppNets. In this technique, a Markov chain based model for selecting the next relay node of a source node is designed, which considers three parameters for determining the best next node to carry the message towards its destination, namely: the remaining message copies, the message delivery ratio of the encountered node, and the time length for carrying the message.
In [23], Tirataworawan et al. proposed a fuzzy technique for message scheduling and dropping in OppNets. Since an efficient buffer management is required for better utilization of the network, this scheme used fuzzy logic to achieve this goal. A fuzzy logic based prioritization of message is also utilized to deliver the messages to other nodes.
In [16], Nabhani and Bidgoli proposed a routing scheme for OppNets, in which a fuzzy controller makes use of some input parameters, namely: message size, TTL, and message transmission count, to find the routing path from origin up to thr destination. This task is performed by taking into consideration the node’s energy, bandwidth, message priority, and density of the network, yielding an increased delivery ratio and minimized buffer consumption.
In [21], Sabeetha et al. presented a fuzzy scheme for DTN routing, where the ability of a node to forward a message (so-called transfer opportunism) is estimated based on the evaluation of its contact duration, i.e. how long this node has or has not encountered any other node. This information is then used to transfer the message in the network.
In [8], Jain et al. proposed a fuzzy routing protocol for DTNs, which utilizes the number of message’s replicas, the message size, and the message remaining lifetime, to determine the scheduling priority of the message, i.e. to intelligently choose a messages to be scheduled when a suitable node come into contact. In this process, the number of message replicas in the network is also considered.
In [1], Ahmad et al. proposed a fuzzy PRoPHET routing scheme, where the node’s delivery predictability is estimated following the PRoPHET rules and is based on the outputs of the membership function of the implemented fuzzy controller. Based on these probability measures, the appropriate next node is chosen as message carrier node to forward the message toward its destination.
In [6], Hu et al. proposed a geographic-based routing technique for dynamic and sparse wireless sensor networks. In this protocol, the next hop to carry the message originated from a source node is determined by means of a fuzzy controller that implements a mechanism for forwarding the data. Such mechanism is based on the destination node’s location region. A routing void avoidance strategy is also implemented, which helps reducing the routing failure rate.
In [18], Rahimi et al. proposed a routing scheme for vehicular networks, where the implemented fuzzy controller makes use of specific parameters such as node’s velocity, number of nodes, direction, distance of a node from destination, to calculate the so-called ‘chance value’ of a node. Based on this, the node with the highest chance value is the one selected for forwarding greedily the message toward its destination.
In [15], Mottaghinia and Ghaffari introduced a fuzzy energy-aware routing technique for mobile sensor networks. In this scheme, two fuzzy controllers are utilized: one for routing purpose and one for buffer management purpose. The first controller considers the distance and energy of the sensor node as parameters for choosing a relay node. On the other hand, the second controller implements a buffer management strategy considering the message size, survival time, and number of message replicas as parameters.
Unlike the above-discussed work, our proposed FCSG protocol consideres the Mamdani fuzzy controller for fuzzification and de-fuzzification. The de-fuzzified output is used to determine the speed and direction of the node’s movement when a source node opportunistically meet a neighboring hop. On the basis of this information, the directional movement of the node is determined as the angle between the line that joins the sender node to the center of the destination cast and the line along which the node is moving at the moment. In this sense, the smaller this angle is, the better is the chance of successful message delivery to destination. The proposed fuzzy logic model is inherited from [4]; and it is differ from the models described in [1,6,8,13,15,16,18,21,22] with regards to the functions used to aggregate the fuzzified input and to de-fuzzify the output.
Proposed FCSG routing protocol
The design of a routing scheme for OppNets requires the utilization of various node’s attributes to decide on the participation of nodes during the routing process, the goal being that these nodes act as best carriers to carry the message successfully to destination. One way to orchestrate such design is by using the well-known fuzzy logic [1,6,8,12,15,16,21,22], a concept that imitates the decision making skill of humans, and which is not based on precise numeric values, but on the perception of a value within an acceptable degree of error. In this paper, the node’s attributes are fed to a sequence of two fuzzy controllers (Fig. 1), and the de-fuzzified outputs of the second controller are used for deciding whether a node is a good fit enough (or not) to act as next hop forwarder for the message.

Fuzzy controllers for next hop selection.

FCSG routing scheme
Our proposed FCSG routing protocol consists of two phases as described in Algorithm 1. The details are given as follows.
C: number of remaining replicas of a message
VH: very high
H: high
M: medium
L: low
VL: very low
SN: sender node
RN: receiver node
m: message
L(): likelihood function
In this phase, a multi-copying spray technique is applied. When a source node (SN) creates a message, say m, it is assigned the payload data, along with a cast definition (i.e. a set of two dimensional points that form the geographic cast), and a pair of epoch times defining the message lifetime. It is also assigned a value C, an integer representing the maximum number of remaining message copies that the sender can generate and send to any potential next hop node during the message forwarding process. When that sender node meets an intermediate node (say RN), it finds its likelihood using a series of two fuzzy controllers (as shown in Fig. 1). The first one is the Movement fuzzy controller, which takes the direction and speed of RN as input and produces its movement as per the parameters given in Table 1. Here, the direction of RN is defined as the angle between the line joining SN to the center of the geocast area and the line along which RN is moving at the moment. The smaller the angle, the better the chance of delivering the message to its destination. The range of the input of the direction variable is from 0 to 180 and that of the speed variable is taken from 0 ms to 15 ms. On the other hand, the second fuzzy controller (Likelihood fuzzy controller) takes the movement, buffer and remaining energy of RN as input variables, then produces the likelihood L(RN,m) of RN to receive the message based on parameters given in Table 2. If the likelihood of RN is greater than that of SN, the message is delivered to RN and its C value is decreased according to the current value of the likelihood. On the other hand, if the likelihood of SN is less than the likelihood of RN, the RN is not selected as a next carrier node; the number of copies C remains unchanged, and another suitable RN is searched for as next hop selection. If the number of copies C is 0 and the message still has not arrived to destination, no more message copies is generated, and eventually, the message gets lost in the network. It should be noted that the decrease in the C value of a node is determined based on the output of the likelihood fuzzy controller given in Table 2.
Movement controller
Likelihood controller
In this phase, a controlled flooding methodology (referred to as Check-and-Spray) is designed to distribute the geo messages to all the nodes within the geocast region. In this phase, the presence of the already existing message in the receiving node cast and the receiving node’s current location are checked. The message is flooded to only those nodes which have passed all the checks mentioned above. Afterwards, the receiver becomes the sender and the Check- and-Spray method is re-invoked. This process is continued until it is resumed. This controlled flooded technique tend to produces less overhead.
The proposed FCSG routing scheme is evaluated by means of the ONE simulator [9], and its performance is compared against that of the EECSG [10], F-GSAF [4] and GeoEpidemic [26] routing schemes, with regards to delivery ratio, overhead ratio, and average latency, under varying number of hosts, buffer size, and Time-to-Live (TTL). Here, the delivery ratio is defined as the ratio of successfully delivered messages to the target versus the total number of messages generated. The formula of overhead ratio calculation given as
System model and simulation parameters
The considered system model consists of a set of 6 groups of nodes (electric motor cars, pedestrian, bicycles, tram, vehicles, office workers), that may leave or join the network at any time. Map-Based movement model is used by each group with various speed values. Helsinki city map is used for the simulation area with region dimension 4500 m x 3400 m, segmented into 16 casts. Two wireless interfaces are used: Wi-Fi 802.11ac with a transmission speed of 433 Mbps and a range of 20 m; and the Bluetooth 802.16 v4.0, with transmission speed of 2 Mbps and a range of 10 m. The simulation time for one run is 57600 s; the warm-up and cool-down periods for every simulation are respectively 2h. Also, 8 levels of host density, i.e. 126, 189, 252, 315, 378, 441, 504, 567, with 195 as default number of hosts, are used. The device buffer sizes (in Mb) are: 5, 10, 15, 20, 25, 30, 35, 40 Mb, 10 Mb being the default. Different message lifetimes (in mins) are used, which are 30, 60, 90, 120, 150, 180, 210, 240 mins, the default being 120 minutes. For messages scheduling, a sender and a destination cast are selected uniformly and randomly from the set of nodes and predefined casts. The message payload is fixed to 500 KB and a new message is generated every 25 to 35 seconds. The random scheduling policy is considered.
Simulation results
First, the changing on the delivery ratio, average latency, and overhead ratio against increasing number of hosts, is analyzed.

Delivery ratio versus number of hosts.
Figure 2 shows that as the number of hosts is increased, the delivery ratio increases as well for all the studied protocols. This is due to the fact that the more the number of hosts in the network, the better the chance that the message will be delivered. It is also noted that in terms of delivery ratio, the performance of FCSG is about 7.1.

Average latency vs. number of hosts.
Figure 3 reveals that for all the studied protocols, the average latency decreases when the number of hosts is increased. This result is the direct consequence of the increase in delivery ratio. It is also observed that in terms of average latency, the proposed FCSG outperforms the other studied protocols. Indeed, the performance of FCSG is about 5.1.

Overhead ratio vs. number of hosts.
Figure 4 shows that for all the studied protocols, as the number of hosts increases, the overhead ratio also increases. But this increase is less pronounced in the case of the FCSG protocol. This is attributed to the Check-and-Spray controlled flooding mechanism implemented in FCSG, which primarily imposes a threshold on the number of remaining message copies in the network as a way to control the overhead reduction, by ensuring that the message once in the geocast region will not be spread outside that region.
Second, the buffer size is increased and the affect if it was analyzed on delivery ratio, and average latency.

Delivery ratio vs. buffer size.
Figure 5 shows that for all the studied protocols, when the buffer size of nodes is increased, the delivery ratio increases as well. This is attributed to the fact that as the buffer size increases, more messages are stored in a node, leading to a better delivery ratio of messages to their intended destinations. It is found that in terms of delivery ratio, the performance of FCSG is about 6.6.

Average latency vs. buffer size.
In Fig. 6, it is observed that as the buffer size is increased, the average latency increases. This is due to the fact in this case, the messages tend to stay longer than expected in the node’s buffer, causing some delay in its delivery to the intended destination. It is also found that in terms of average latency, the performance of FCSG is about 15.35
Third, the TTL of the message is increased and the impact of this variation on the delivery ratio and average latency are investigated.

Delivery ratio vs. TTL.
In Fig. 7, shows that when the TTL is increased, the delivery ratio also increases, and this increase is more pronounced for the FCSG protocol. This is because the messages get more time to find a suitable relay node to forward the message toward its destination. It is also found that in terms of delivery ratio, the performance of FCSG is about 6.16.

Average latency vs. TTL.
In Fig. 8, it is observed that as the TTL increases, the average latency also increases for all the studied protocols, and this increase is less pronounced for the FCSG protocol. This may be attributed to the fact that as the TTL of messages is increased, the number of forwarded messages also increases. It is also found that in terms of latency, the performance of FCSG is about 4.42.
In this paper, we have investigated the issue of efficient data routing in OppNets and proposed a Geocast Fuzzy-Based Check-and-Spray routing protocol (called FCSG). In the first phase of this protocol, a fuzzy controller is used to determine the likelihood of a node to be selected as best carrier to forward the message toward the destination cast based on three parameters, namely: the node’s movement, buffer and remaining energy. In its second phase, a controlled flooding technique (so-called Check-and-Spray technique) is designed to distribute the message to all the nodes within the geocast region while checking if the message already exist in the receiving node cast and current location. Simulations results have shown that the proposed FCSG scheme outperforms the EECSG, F-GSAF and GeoEpidemic protocols, chosen as benchmark, in terms of overhead ratio, delivery ratio, average latency and delivery ratio. Possible future work include designing a secured FCSG scheme against security attacks such blackhole and wormhole attacks. We also plan to further assess the performance of proposed FCSG protocol using other datasets of realistic mobility traces.
Footnotes
Acknowledgements
This work is partially sponsored by a grant held by the 2nd author, from the National Science and Engineering Research Council of Canada (NSERC), Reference number: RGPIN-2017-04423.
