A Centrality-Based History Prediction Routing Protocol for Opportunistic Networks

In Opportunistic networks (OppNets), due to high mobility, short radio range, intermittent links, unstable topology, sparse connectivity, to name a few, routing is a very challenging task since it relies on cooperation between the nodes. This paper focuses on using the concept of centrality to alleviate this task. Unlike other nodes in the network, central nodes are those that are more likely to act as communication hubs to facilitate the message forwarding and thereby routing. In this paper, a recently proposed History-Based Prediction Routing protocol (HBPR) for OppNets is re-designed using this concept, yielding the so-called centrality-based HBPR (CHBPR) routing protocol. The proposed CHBPR scheme is evaluated by simulations using the Opportunistic NEtwork (ONE) simulator, showing superior performance compared to HBPR without centrality and Epidemic protocol with centrality, in terms of number of messages delivered at destination and overhead ratio, under varying number of nodes and Time-to-Live.


Introduction 1.1 Motivation and Research Problem
In recent years, the advent of wireless technologies and ubiquitous computing have raised the expectation of a seemless and cheaper communication between wireless-based computing devices anytime and anywhere. In this setting, wireless mobile ad hoc networks play a central role since they are (by design) specialized in the deployment of mobile self-configurable devices, with no infrastructure assistance. Due to this feature, these networks are appropriate to be used in several applications such as military operations, disaster relief and emergency preparedness and responses, health care monitoring, just to name a few. Opportunistic networks (OppNets) are considered as specialized ad hoc networks [1] characterized by frequent intermittent connections, in which messages are routed in a store-carry and forward manner based on locally inferred knowledge about the behavior of the nodes. Consequently, routing and message forwarding in oppNets constitute a challenging problem since the assumption of an established end-to-end path between the source and destination nodes does no longer prevail [2] as it is the case in conventional routing protocols for ad hoc networks.
Most routing protocols for OppNets rely on partial knowledge and the prediction of future contacts based on historical contact information [2]. They also rely on social-metrics, which themselves are dependent on the past information of nodes. The participation of nodes in the message forwarding process is not guaranteed without incentivizing them since the communication and information exchange occur opportunistically between mobile nodes that happen to be in the same communication range and most nodes tend to be reluctant in sharing their private resources (such as buffer space) for public uses. One way, among others, to promote the node participation in message forwarding is to utilize the concept of centrality of nodes [3].
In an OppNet, due to the dynamics of node mobility, one can consider the influence that a node may have over the spread of information in relation to how many other nodes (encounters) this node may have been in contact with [3]. The centrality of a node is determined by its capability to contact other nodes and the cumulative contact duration between that node and its encounters within a given period of time, as well as its ability to ferry the messages between these encounters under a limited network transmission capability.
Typically, a centrality metric is defined that takes into account the contact time between the encounters. Based on this definition, each node in the network is assigned a centrality value, and nodes with highest centrality values (called central nodes) at various given times are more likely to act as communication hubs that facilitate the message forwarding.
In this thesis, a recently proposed History-Based Prediction Routing protocol (HBPR) [4] is re-engineered using the concept of centrality as described in [5], yielding an enhanced routing scheme called centrality-based HBPR (CHBPR). The performance of CHBPR is evaluated by simulations and compared against that of the HBPR [4] and Epidemic routing [6] protocols, showing superior performance in terms of number of messages delivered and routing overhead ratio, under varying number of nodes and Time-to-Live. Details on these results are given in Chapter 4.

Approach
The CHBPR protocol is designed by re-engineering the HBPR protocol [4] as follows: (1) The same assumptions, message generation, and data structures that are used in HBPR [4] are kept.
(2) In HBPR [4], a node selects its next hop to forward a message based on an utility metric, which takes into account the stability of node movement, the prediction of the direction of the future movement, and the perpendicular distance of the neighboring nodes from source to destination. However, when doing so, there is no guarantee that the next encountered node will be the possible best forwarder of the message with the highest probability to meet the destination node. To cope with this issue, other network knowledge such as the social characteristics of a node are considered in the design of CHBPR, leading to the introduction of a social metric of a node (so-called node centrality [5]) as an additional parameter involved in the decision making by a node when selecting its next hop.
More precisely, the centrality value is assigned to each node according to the PeopleRank concept [5]. In CHBPR, when two neighbor nodes i and j meet, they exchange their current centrality values as well as the information on the number of neighbor nodes that each of them have, then they update their centrality values for the next encountered node. The message is delivered from node i to node j if the ranking of node j is discovered to be greater than or equal to that of node i or if node j happens to be the destination node. If no neighbor node has centrality greater than the current node i, then the next hop to node i is determined according to the HBPR rule [4].

Thesis Contributions
The contributions of this thesis are as follows: • Design of an enhanced HBPR (called CHBPR) for OppNets.
• Redesign of the Epidemic routing protocol based on centrality concept.
• Performance evaluation of the proposed CHBPR routing protocol using the ONE simulator [7], showing that it outperforms HBPR without centrality and the Epidemic routing protocol [6] with centrality, in terms of predefined performance metrics.

Thesis Outline
This thesis is organized as follows: • Chapter 1 introduces the subject, motivation, and contributions of our research.
• Chapter 2 presents some background information and related works.
• Chapter 3 describes the proposed CHBPR protocol in-depth.
• Chapter 4 describes the performance evaluation of the proposed CHBPR protocol.
• Chapter 5 concludes the thesis and highlights some future work.

Background
This section discusses the main characteristics of OppNets, as well as routing in such networks. The concept of centrality in social networks is also introduced as well as how it can be used to boost the message forwarding and routing in oppNets.

With Respect to Topology
As stated earlier, An OppNet is a kind of challenged mobile multi-hop ad hoc network characterized by unpredictable topology, prolonged disconnections and partitions. A most common illustrative architecture of OppNet is that of a network made of a small set of people equipped with smart devices (such as PDA, cell phones, etc) forming a seed network, which has the capability to grow opportunistically during its operations, becoming a network of large size depending on the targeted application. The benefit of this growth is the opportunistic leveraging of the diverse resources originated from these new nodes.
As such, the main requirements for OppNets include: minimal starting configuration, high interoperability in terms of communication of diverse devices, embedded highly heteroge-neous hardware and software, frequent intermittent connectivity, and harvesting of diverse resources whenever needed. and user mobility are utilized to carry the message to its intended destination, (2) autonomic networks or self-managing networks that have been designed to overcome the complexity of Internet, by allowing different types of networks (so-called regions) on the Internet to be interconnected in an automatic fashion, and (3) socio-aware community networks -with focus on human-to-human communications supporting the intermittent connectivity, for instance, by adopting the DTN paradigm.

With Respect to Data Dissemination
OppNets are typically made of small devices (nodes) that can communicate with each other over a wireless link (using a short range communication) [1]. Due to node mobility, nodes can connect and disconnect since they move in and out of their communication range. The Opp-Net model constitutes a one-hop wireless communication scheme where data dissemination among nodes occurs in a spontaneous and ad-hoc manner using a predesigned data sharing protocol. Equipped with such protocol, a node must have the capability to send and receive the data to/from other node in a direct communication range whenever the opportunity to recognize other nodes in its physical proximity arises. Since no prior assumption is made about the network topology, the delivery probability of a node (i.e. the probability that a node delivers a message to its intended destination) is often evaluated based on a forwarding strategy that takes into account the limited time in which nodes are in the radio ranges of each other as well as other criteria such as battery life of nodes, history of contacts of nodes, social behavior of nodes,to name a few [9].

Routing Protocols for OppNets
Traditional mobile ad hoc networks (MANETs) and Internet routing and forwarding techniques are not necessary suitable for OppNets since they implicitly assume that the network, even if sparse, is connected and an end-to-end path always exists between the source and destination nodes. OppNets are quite different from legacy ad hoc networks in that the network is often disconnected as a rule rather than as an exception to deal with. This means that a message is forwarded and routed in a store-carry-forward fashion over an opportunistic link, then gets buffered at the next hop until the next link in the path becomes available, and so on and so forth, until it reaches its final destination. This operational mode imposes a new model for routing, which consists of independent, local forwarding decisions, based on the current connectivity information and the prediction of a future connectivity. If a message cannot be delivered immediately, the best carriers are those nodes with the highest chance of successful delivery.
In OppNets, the requirements for routing include: characterizing how long the contact durations (i.e. transmission opportunities) of nodes are, and determining the inter-contact times i.e. how long the time gaps between transmission opportunities are. Longer intercontact times imply a longer storage period, which in turn requires a careful queue management. Based on these requirements, several categories of routing for OppNets prevail [10].
These include routing protocols for OppNets whose time-evolving topology is deterministic or stochastic, routing protocols designed for infrastructure-based and infrastructure-less OppNets, context-aware routing protocols -where the knowledge of the context in which nodes operate is used to identify the best next hop of a given node [10], to name a few.
Based on the utilized context information, context-based routing algorithms for OppNets are further classified into context oblivious routing schemes, mobility-based routing protocols, and social context-based routing schemes [10]. The routing protocol proposed in this thesis belongs to the class of social context-based routing protocols for infrastructure-less OppNets.

Concept of Centrality
In a frequently disconnected network such as OppNet, providing a comprehensive characterization of how the information propagates between mobile nodes is a challenge. In [11], it has been reported that few selected nodes qualified as bridge nodes can be identified, which possess the capability to broker the locally available information exchange among the nodes that are disconnected. This identification relies on the so-called node's centrality characteristics, which measures its network location importance.
Typically, for an OppNet, a contact graph is designed and used to analyze the social ties among the nodes. Based on this analysis, social metrics on nodes are derived and then used to quantify the node?s centrality. It should be noted that the node's centrality can also be derived from other means, for instance, by designing an opportunistic forwarding mechanism that uses social metrics as criteria to make the forwarding decisions. Commonly used social metrics [12] include degree centrality -which measures the number of direct ties maintained by this node with other nodes, closeness centrality -which is derived from the shortest path between a node and other reachable nodes, betweenness centrality -which measures how often a node belongs to the route that links other nodes [12], [13], to name a few.
Depending upon the social metric used, a node with high centrality value is qualified as central node (or socially popular node), i.e. a node that has the capability to connect more often to other nodes in the network. In other word, a central node is likely to be part of the routing paths involving many other others nodes that it has encountered. In this thesis, we have considered the mechanism proposed in [5] for calculating the centrality of a node.

Related Work
A number of routing protocols for OppNets based on the centrality principle have been proposed in the literature. Few of those that are more relevant to the scope of this thesis are [5], [11], [14]- [20] as described in the sequel.
In [5], Mtibaa et al. introduced PeopleRank, a forwarding algorithm that makes use of some social properties of nodes to lower the number of message retransmitted when performing the message routing in OppNets. In their scheme, the social interaction between nodes (so-called PeopleRank values) and how frequent a node meets with its encounters (so-called number of neighbors of the node in the social graph), are the relevant information used to design the routing metric that determines the next forwarder of a node. Trace-driven simulations using both real and virtual human mobility traces have also been conducted to assess the effectiveness of the PeopleRank protocol in terms of number of retransmissions, showing its superiority over a number of benchmark routing protocols for OppNets.
In [3], the relative importance of a node with respect to a group of nodes is studied, leading to the design of a partial-centrality-based opportunistic forwarding scheme (so-called OFPC scheme) using the concept of graph spectrum. In their scheme, the computing strength of the relationship between nodes is formulated as a Decayed Sum Problem. Its space complexity is analyzed, helping to track the aforementioned relationship between a node and any other node. The knowledge of the node's partial centrality and the overlapping community structure are used to make informed forwarding decisions. Through trace-driven simulations, their proposed OFPC scheme is shown to outperform few benchmark message forwarding schemes in terms of delivery ratio, delay and cost. However, their scheme has not been tested on other applications such as recommender systems.
In [11], Daly and Haahr proposed a centrality-based routing protocol (called SimBet) that makes use of the so-called ego network analysis [10] to achieve efficient data forwarding in disconnected delay tolerant networks. In their scheme, any node wishing to send a data packet to a destination uses a combination of nodes centrality and social similarity (as routing metric) to identify a suitable forwarder until that data packet eventually reaches its destination. Through trace-driven simulations, the proposed protocol has been shown to be superior to encounter-based routing protocols such as Epidemic [11] and ProPHet [12]. Although this protocol showed such promises, it is yet to be tested on other types of distributed systems, for instance, on those network architectures where no knowledge of the global network topology information is available.
In OppNets, human mobility and device-to-device contacts are exploited to opportunistically create data paths over time. In this process, efficient routing relies on the identification of some influential nodes which could act as relays for data forwarding purpose. In [14], Gao et al. proposed a semi local centrality metric-based mechanism and its associated message forwarding algorithm to effectively identify the influential nodes for message forwarding in OppNets. The notions of nearest and next nearest neighbor's mobility patterns are exploited to significantly lower the computational complexity of their scheme compared to betweenness centrality-based schemes, degree centrality-based schemes, and closeness centrality-based schemes. The effectiveness of their proposed scheme is demonstrated by trace-based simulations the employ real world mobility traces and synthetic mobility traces. However, the proposed incentive mechanism, although a promising one, has not been tested on various other benchmark routing protocols for OppNets.
In In [17], Dhurandher et al. proposed a centrality-based acknowledgement forwarding mechanism to enhance the performance of the History Based Routing Protocol for Opportunistic Networks (HiBOp) [2]. Their scheme relies on the principle that the most central node on the path followed by the message being transmitted from source to destination is identified and appended to the message itself and an ACK mechanism is provided to confirm to the source that a message has been successful delivered to its expected destination. Their scheme is shown to improve the message forwarding in HiBOp in terms of message loss rate.
One of its design features is that it can be implemented on top of any known routing protocols for infrastructureless OppNets. By simulations, HiBOp with centrality was shown to outperform HiBOp and the MaxProp protocol in terms of buffer occupancy, traffic overhead, and latency. However, no trace-driven simulations was performed.
In [18], Vastardis et al. proposed a multi-phase opportunistic mechanism called SAM-PhO for routing in distributed mobile social networks. Their scheme involves the design of a centrality-based forwarding phase where global centrality metrics (such as betweenness) are utilized to route the messages to predefined foreign communities till they reach their destination communities, themselves identified by means of a network of central nodes. The effectiveness of the proposed multi-phase protocol in terms of scalability, memory utilization and delivery rates in highly social scenarios was demonstrated by simulations using OMNeT++ [19]. However, trace-driven simulations have not been performed.
In [20], Hui et al. proposed a social-based forwarding mechanism for DTNs called BUB-BLE Rap, in which metrics from social network analysis (SNA) such as node centrality, which is typically computed over contact graphs, are introduced to formally characterize the social information of a node. Based on this feature, whenever a node wishes to route a message within its community, its community is identified, and centrality values are assigned to the encountered nodes within that community as well as to other nodes globally across the network. Simulations have shown that the proposed scheme is comparable to PROPHET in terms of delivery ratio. However, the proposed protocol has not been tested on available real mobility traces.
In [21], Yoneki et al. proposed a socio-aware centrality-based overlay protocol that can act as a backbone for publish/subscribe communication. In their scheme, some characteristics of nodes interaction are identified from real human users connectivity traces. Based on these characteristics, communities are detected and their centralities are evaluated, leading to the design of a multi-point event dissemination strategy, where message exchange between the nodes operate by means of clustering algorithms. The efficiency of their scheme in terms of overlay construction for message dissemination is proven using a trace-driven discrete event emulator. However, their study is yet to incorporate various other centrality characteristics for communication.
In [4], Dhurandher et al. proposed a routing protocol for infrastructure less OppNets in which the nodes behavioral information is utilized as a means to find its best next hop for routing purpose assuming that nodes behaves as in a human mobility model, and cooperate with non-malicious intent. Typically, each node maintains the following tables: (1) a Home Locations table based on which the locations most frequently visited and rarely visited are identified, helping in predicting its future location using a Markov predictor, and (2) a History Table that records the node's locations at different timestamps, helping in determining the stability of the node's movements. Based on this, a utility metric is employed to determine the most appropriate next hop for message forwarding.
Unlike previous routing protocols for OppNets, in HBPR, it is possible to determine the proximity of a node based on its history of movement. In this thesis, the HBPR protocol is reengineered by introducing the concept of centrality of a node to boost the message forwarding and thereby the routing, yielding an enhanced HBPR protocol (so-called CHBPR). In an OppNet, for the message to be delivered from one mobile node (called source node) to another node (called destination node), several opportunistic communication must occur among a set K of intermediate nodes (so-called contacts), providing that such communication between two contacts is possible only if they are within the radio range of each other. This prompts to the question of modelling the evolution of contacts in OppNets. In our approach, this is realized by a time varying contact graph G1(t)=(N,E(t)), where N is the set of vertices with K = |N |, and E(t) is the set of edges, and it is assumed that the network starts to operate at time t0 and ends its operation at time T.
Also, in our approach, the social relationships that exist among the nodes is modelled by means of a non-time varying and finite undirected graph G2=(Ns,Es) where N is a subset of Ns. An edge (X,Y) in Es means that there is a social interaction between nodes X and Y, for instance, expressed in some form of correlation such as maintaining over time a similar number of neighbors, or more direct contacts than nodes that do not exhibit a correlation. Whenever a source node generates a message at a certain time t0 for a destination node, any node in G1(t) can be a forwarder of that message in a store-carry-and-forward fashion.
Using the above settings, the routing paths between the source and destination nodes are computed as a sequence of contacts that are followed as they appear in the G1(t) graph.
Such path is not unique and the trick is to be able to compute only those paths that are delay-optimal. In [5], an algorithm (called PeopleRank algorithm) is proposed to compute such paths, along with a method for dynamically calculating the centrality value of a node whenever it has an encounter. It should be recalled that in the graph G1(t), each node is assumed to represent a device owned by a human user, and an edge e(t) is assumed to represent a contact during the time interval t. With respect to graph G2, it can be assumed that two nodes have a social relationship if they share some common interest or are declared friends. In this thesis, the computation of the centrality value of each node is inspired from the PeopleRank algorithm [5].  that node B will have to wait until it encounters node D before forwarding the message M since node D has a higher centrality value compared to node B.

Data Structures
For the design of the HBPR protocol [4], it was assumed that: (1) nodes in the network are not selfish and operate in a cooperatively manner; (2) the mobility of nodes is governed by a custom human mobility pattern [4]; (3) The simulation area is divided into cells, each of which is assigned a unique number representing a node location. If a node visits more frequently a cell, this is considered to be its home location. Based on these assumptions, the history of a node -i.e. its mobility pattern over a period of time, the direction of the node's movement, and the elapse of time taken by the node to meet an encounter, are the main parameters that are used to guide the message forwarding decision, using the following data structures.

History Table:
Each node in the network has a timer, which is set to 0 when the simulation starts (at this time, the node is at its home location). After a certain time period, say T, both the location (i.e. the node coordinate) and the node timer may have changed, leading to an entry of this table, in the form < T imestamp, Location >. Without loss of generality, it is considered that a node can maintain a record of up to 100 entries and any eventual 101 th entry will be systematically deleted by the protocol in order to reflect the change in the node's movement behavior and preserve the memory storage. An example of a History

Home Location Table:
Whenever a node comes in contact with another one at a given time t, it keeps track of that node's home location ((i.e. hostID)) in the Home Location

How the HBPR Protocol Works
Using the above-mentioned data structures, the HBPR protocol operates as follows: • Initially, all nodes flood their home locations so that each node is aware of the location of all other nodes in the network. In order for the History initialized, a head start is given to the network before the spread of the messages. This step is referred to as Home Location Initialization.
• At specific nodes, new messages are generated, each including the ID of the destination node. In their way to the destination, nodes are expected to frequently visit some locations and rarely visit some other locations. This information on the node movement is used to predict its future locations since if a change in the location of a node occurs, the said information will be flooded instantaneously to other nodes in the network so that they can update their Home Location Tables. This helps adjusting the changing relation and behavior of nodes. This step is referred to as Message Generation and Home Location Update.
• In order to determine the next hop of a node, a utility metric is designed, which involved three parameters: stability of node's movements, prediction of the direction of the future movement of the node, and perpendicular distance of the neighboring node from the line of sight of source and destination. Any node whose utility value is greater than a prescribed threshold (T) is assigned the message copy, with the hope that it will eventually reach the destination.

Predicting the Stability of Node Movements
Whenever a node moves, its location and time that recorded in its History Table are used to calculate its average speed over any two different positions, yielding a list of recorded average speeds for that node's journey. Based on this list, it can be determined if the change in average speeds is significant or nominal. In the former, the node movement is said to be unstable whereas in the latter, it is said to be stable. Without loss of generality, in our simulation settings, it is assumed that all nodes are initially assigned a stability value S; and if the change in two consecutive average speeds is less that 10 units per second, the stability value does not change. Otherwise, the stability S is decreased according to the following equation [4].

Direction of Future Movement of Node
Based on the location information contained in the History Table of the node, a Markov predictor [4] is utilized to predict the direction of the future movement of that node, thereby is next location. In this case, the order of the predictor is considered to be the length of the past locations. Typically, for a given pattern of visits, a table recording the frequencies of visit for every location is maintained and the predictor uses it to determine the next location of the node. As an example, considering that the past history is AGHBGTYGHIGHYKLOPWNGHWBKJDNGH RJBFJGHYKJFNGHYLKJNKSGHWOKSADGH the next location will be Y due to the fact it occurs the most as illustrated below AGHBGTYGHIGHYKLOPWNGHWBKJDNGH RJBFJGHYKJFNGHYLKJNKSGHWOKSADGH

Utility Metric
The perpendicular distance of the neighboring nodes from the line of sight of the sourcedestination (SD line) is a metric [4] used for selecting those nodes that are at closer distance to the SD line.
The utility metric U(i) of node i is obtained as [4]: where Vi (1) is the stability metric, Vi (2) is prediction metric and Vi (3) is the perpendicular distance metric for node i, and W(j) is a weight parameter, j=1,2,3.
With this calculation, any node k whose utility value U (k) ≥ T , where T is a prescribed threshold, can be a message forwarder.

Proposed CHBPR Protocol
The CHBPR protocol inherits the same data structures and initialization settings that were utilized for the HBPR design [4]. In addition, each node maintains a new data struc-ture called Centrality Table, which records its home location (i.e. hostID), the number of neighbor nodes it has (#neighbors), and the centrality values of all nodes it has encountered so far (denoted CentralityVal). Therefore, a record in such table is in the form < HostID, centralityV al, #neighbors >.  HBPR protocol [4]. It works as follows: When two neighbour nodes (i,j) in the network's social graph come in contact, they exchange their centrality tables, from which two pieces of information are obtained: their current centrality values and the number of neighbors they have. Then, they update their centrality values according to the following equation inherited from [5]: where F (i) is the set of neighbors of node i, j is neighbor node in social graph and d is a damping factor defined as a probability that determines how much the social relationship between nodes can help improving their centrality values. For simulation purpose, d has been set to 0.87 as prescribed in [5]. A message is delivered from node i to node j if the centrality value j is greater than or equal to that of i or j is the destination node. If no neighbor node is found with centrality value greater than that of the current node, then the message forwarding is decided by the HBPR protocol [4]. The corresponding pseudo-code is shown in Fig. 3.4

C-Epidemic Protocol
Epidemic [22] was the first routing protocol designed for message forwarding in OppNets.
In this protocol, the messages are flooded and infected among different nodes in the range of the source/intermediate node. Each node in the network maintains a so-called summary vector that contains the ID of each message. This summary vector is stored it in its buffer.
Whenever a node encounters another one, they exchanged their summary vectors and the messages that are not common to each other. In doing so, each node in the network can get the copies of messages from other nodes. That way, all the messages reach their destinations comparatively quicker with a high delivery probability. As reported in [22], the Epidemic scheme utilizes more bandwidth, more buffer space, and initiates a network congestion due to the generation of multiple copies of the same message. However, it has been shown to maximize the message delivery rate while minimizing the resources consumed when delivering the message. In this thesis, we have considered the Epidemic routing as benchmark scheme and have introduced the centrality concept in its core design, yielding the C-Epidemic routing protocol. The details of this code are provided in Appendix A.

Chapter 4 Performance Evaluation
In this Chapter, the proposed protocol CHBPR is evaluated by simulations and compared against the HBPR and C-Epidemic protocols, where C-Epidemic is the Epidemic protocol with the same centrality concept used for HBPR embedded in it. We also studied the performance of CHBPR when the Random Waypoint model is used compared to the Custom Mobility Model. The simulator used is the Opportunistic Networking Environment (ONE) [7] version 1.5.1 RC2.

The ONE Simulator
The ONE simulator [7] is Java-based that has a broad range of delay tolerant network (DTN) protocols simulation capability. It supports mobility and event generation, DTN routing and application protocols, visualization and analysis interfaces, importing and exporting mobility traces, as well as basic notion of energy consumption at each node. Its main functions are the modeling of node movement, inter-node contacts, routing, and message handling.
A Node is a basic agent in the simulator. It is considered mobile such as a pedestrian, car or tram, with the required hardware. Each group of nodes is configured with different capabilities. Basic capabilities of a node are radio interface, persistent storage, movement, energy consumption and routing. On the other hand, some basic simulation parameters associated with a node include its position, current movement path and current neighbors.
These parameters allow one to implement context-aware specific algorithms such as the one proposed in this thesis.
In ONE [7], mobility models are meant to govern the way that nodes move in the simu- (such as buffer management and callbacks for various related message events) and the Ac-tiveRouter module -which deals with message transfers and aborts.
With respect to application support, there are two ways in the ONE simulator [7] to generate the application messages: using message generators or external event files. In the former, messages are created with random or fixed source, destination, size and interval whereas in the latter, messages are generated with specified message ID, fixed source-destination and at specific times.
With respect to reporting and visualization, a typical screenshot of the Graphical User Interface of the ONE simulator is shown in Fig. 4.1, where the main window depicts the node location, the current paths, and the nodes's radio range.
To start the simulation, there is pause/play button on the top left corner of the GUI.
The right side of the GUI window displays the number of nodes in the simulation. In the event log section located at the bottom of the GUI window, the created connections and message transmitted etc, are displayed. A statistic report module is also included in the ONE simulator [4] to help gathering the statistics on the performance such as Delivery ratio, Message Delivered, Overhead ratio, to name a few.

Simulation Settings
To simulate the proposed protocols for OppNets, the HBPR routing protocol [4] has been replicated and coded in Java. The custom mobility model movement model [4] and the

Performance Metrics
The performance metrics used to evaluate the developed protocols are: message delivered and overhead ratio.
• Message Delivered : This represents the total number of messages received by the destination. Mathematically, it is defined as: Message Delivered = Total number of packets received by destination Total number of packets send by the source (4.1) • Overhead ratio: This is a metric that helps measuring the additional number of packets needed by the routing protocol to actually deliver the data packets. It can be defined as: Overhead ratio = Number of packets relayed -Number of packets delivered Number of packets delivered (4. 2) The various simulation parameters used are shown in

Simulation Results
This section describes the simulation results obtained when evaluating the studied routing protocols. This is attributed to the fact that CHBPR selects the node that has the highest utility metric to relay the message. The increase in the number of messages delivered shows that lesser messages get dropped and flooding is controlled. For the following set of simulation experiments, we will use the threshold T = 0.6 as per the recommendation made in [4]. The CHBPR algorithm is compared against the HBPR algorithm using the aforementioned performance metrics, by varying the number of nodes and varying Time-to-live (TTL).

Comparison of HBPR vs CHBPR
The results are depicted in Fig 4.3.
In Fig. 4.3a) and Fig. 4.3b), it can be observed that the number of messages delivered using CHBPR is higher than that obtained using HBPR. Also, in Fig. 4.3c) and Fig. 4.3d), it is observed that the overhead ratio obtained for CHBPR is significantly lower than obtained using HBPR. These results are attributed to the fact that compared to HBPR, CHBPR is likely to yield a better forwarding path to deliver the message to the destination since such path is built with nodes that are likely characterized by high centrality values compared to nodes that are not part of the routing paths.

Comparison of CHPBR vs C-Epidemic
The CHBPR is compared against the C-Epidemic. The results are depicted in  4.4a) and Fig 4.4b), it can be observed that CHBPR delivers more messages to destination compared to C-Epidemic. This result is also attributed to the fact that in CHBPR, the routing path is constructed by nodes that likely have higher centrality values or better utility values. The results obtained with C-Epidemic can be justified by the fact that using only socially centralized nodes does not necessarily guarantee a good network performance. Fig. 4.4c) and Fig 4.4d), it is observed that C-Epidemic yields a higher overhead ratio under varying number of nodes and varying TTL. This is mainly attributed to the fact that C-Epidemic follows a blindfold forwarding mechanism, therefore a large amount of network resources are consumed when making the number of copies of the message to be sent.

Models
We have studied the performance of CHBPR when using the Random Waypoint model (RWP) vs. the Custom Mobility model (CMM). The results are depicted in Fig. 4.5 In Fig.4.5a), it can be observed that when the number of nodes increases, the message delivered also increases. But, this increase is more pronounced when the CMM is used compared to the RWP. This is due to the fact that in the CMM, the nodes visit their home locations more frequently and follow a specific pattern to reach the destination whereas in RWP, node moves randomly. In Fig. 4.5b), it can be observed that with the increase in TTL, the messages delivered also increases. This is attributed to the fact that when using CMM, the messages remains in the buffer for a longer period of time, leading to a higher chance to meet the destination. In Fig. 4.5c), it is observed that when the number of nodes increases, the overhead ratio also increases. In Fig. 4.5d), it is observed that when the TTL, the overhead ratio decreases. These observations are again due to the fact that the

Conclusion
In this thesis, an enhanced version of the HBPR protocol for OppNets is proposed (socalled CHBPR) which uses the centrality concept to boost the message forwarding process in HBPR. Simulation results on the performance of CHBPR in comparison with C-Epidemic, chosen as benchmark protocol reveal that: 1. CHBPR significantly outperforms HBPR in terms of message delivered and overhead ratio under varying number of nodes and TTL. Due to this, it can be concluded that in the case of CHBPR, a node that is likely to participate in the message routing makes an intelligent decision in choosing the next best node to forward the message.
2. The C-Epidemic performance falls off in terms of message delivered and overhead ratio when compared against that of CHBPR. Due to this, it can be concluded that using only socially connected nodes is not enough to guarantee a good performance.
3. CHBPR under the CMM outperform CHBPR under RWP in terms of number of messages delivered and overhead ratio. Due to this, it can be concluded that CHBPR is likely to perform well when using communities such as human scenarios, and structures that have recurring pattern.
As future work, we plan to make the proposed CHBPR protocol energy efficient. Security is another aspect that deserve further attention. Finally, experimenting the simulation of CHBPR using realistic mobility traces is desirable.