Open Access
This article is
 freely available
 reusable
Information 2019, 10(10), 306; https://doi.org/10.3390/info10100306
Article
NPLP: An Improved RoutingForwarding Strategy Utilizing Node Profile and Location Prediction for Opportunistic Networks
Computer School, University of South China, Hengyang 421001, China
^{*}
Author to whom correspondence should be addressed.
Received: 11 September 2019 / Accepted: 25 September 2019 / Published: 29 September 2019
Abstract
:Opportunistic networks are considered as the promising network structures to implement traditional and typical infrastructurebased communication by enabling smart mobile devices in the networks to contact with each other within a fixed communication area. Because of the intermittent and unstable connections between sources and destinations, message routing and forwarding in opportunistic networks have become challenging and troublesome problems recently. In this paper, to improve the data dissemination environment, we propose an improved routingforwarding strategy utilizing node profile and location prediction for opportunistic networks, which mainly includes three continuous phases: the collecting and updating of routing state information, community detection and optimization and node location prediction. Each mobile node in the networks is able to establish a network routing matrix after the entire process of information collecting and updating. Due to the concentrated population in urban areas and relatively few people in remote areas, the distribution of location prediction roughly presents a type of symmetry in opportunistic networks. Afterwards, the community optimization and location prediction mechanisms could be regarded as an significant foundation for data dissemination in the networks. Ultimately, experimental results demonstrate that the proposed algorithm could slightly enhance the delivery ratio and substantially degrade the network overhead and endtoend delay as compared with the other four routing strategies.
Keywords:
opportunistic networks; routing algorithm; symmetry; node profile; location prediction; community detection; data dissemination1. Introduction
In recent years we have witnessed the tremendous achievement of the mobile communication, driven by the rapid proliferation of smart wireless devices [1], such as WiFi technologies, laptops, smart phones, wearable smartwatches, tablet computers, which also promotes the emergence of a promising network model that is known as opportunistic networks (ONs) [2,3]. As the enablers of 5G networks and big data environment, opportunistic networks [4] have been generally regarded as a new type of networking topology to improve traditional communication infrastructure by enabling smart mobile nodes to contact with each other when they are in the same communication area instead of the cellular network [5]. In ONs, without a fixed communication infrastructure, mobile nodes try to seize the opportunity of encountering others to implement the wireless and opportunistic communication process due to the unstable and discontinuous connectivity between them [6]. Nowadays, opportunistic networks have a significant application in multitudinous areas such as vehicular networks [7], space communication [8], disaster relief [9], wildlife surveillance [10], Internet of Things (IOT) [11], communication in underdeveloped areas [12] and sensor networks [13].
As the special variants of delay tolerant networks (DTNs) [14] and mobile ad hoc networks (MANETs) [15], opportunistic networks have to undergo the intermittent and unstable communication connectivity in the data dissemination process [16]. As a sequence, the data transmission process in opportunistic networks usually executes the ’storecarryforward’ mechanism [17], indicating that message carriers with data information randomly move to the communication areas of the peers, select the suitable relay nodes from its neighbors and transmit data packets to them via shortrange wireless communication technologies such as Bluetooth or WiFi [18]. A concrete example of opportunistic networks is a disaster relief area with destroyed communication infrastructures in which rescuers walk around with smart phones and try to search for victims via wireless or WiFi technologies [19]. Since there is no reliable and fixed endtoend connection between the sources and destinations, message routing and forwarding have already been considered as a challenging and concerning problem in opportunistic networks [20].
For constructing an efficient path of data chain between sources and destinations and investigating the issues of the frequent disconnection and instability of the data transmission process [5], a number of routing approaches [8,10] have been proposed in opportunistic networks. The main purposes of these algorithms are to yield higher message delivery ratio, lower endtoend delay and lower network overhead [3]. However, the three type of evaluation metrics are interlinked and it is particularly difficult for these strategies to obtain the optimal tradeoff between them in the networks [17]. Additionally, the research on community detection and location prediction [21] has gradually become a hot topic in the field of routing algorithms recently. Several communitybased routing approaches, which mainly refer to the centrality, similarity and friendship of nodes [22], aim at constantly dividing mobile nodes into multiple connected communities and then building a shorter and faster peertopeer communication path between sources and destinations [15]. On the contrary, due to the lack of the context information associated with social characteristics of mobile nodes, some communitybased routing strategies [23] have to divide communities by comparing the distance between the location of mobile nodes, node activeness, social influence, historical encounters among nodes, and so forth [24]. Because plenty of data transmission opportunities exist between the mobile nodes that belong to the same community [25], routing methods—based on community division—could be adopted for better data transmission decision and simultaneously to guard against the deadend problem [26].
To some extent, the abovementioned routing strategies have improved the data dissemination environment but there are still several challenging problems demanding prompt solution in the real application of opportunistic networks [27]: (1) Most routing approaches in opportunistic networks mainly concentrate on investigating the historical information of mobile nodes such as context information, social attributes, mobile trajectory to design effective data dissemination strategies. However, they do not provide a mechanism that is able to effectively obtain and update the node history information or network routing status [21]. It is obviously not accurate to make data transmission decisions based on current routing state rather than periodic data information. (2) When utilizing community structure and network topology to make a more efficient message delivery decision, the latest studies just focus on analyzing how node communities are divided reasonably, instead of how they are condensed and optimized [13]. However, as the random movement of nodes and the change of their social attributes, the relationship between nodes and network structure may also change constantly. Therefore, it is essential for routing approaches in opportunistic networks to update and optimize node community periodically. (3) Most routing methods based on location prediction only consider the probability of nodes moving to the next position at the next state but do not evaluate the probability of the next encounter between destinations and neighbors and whether they belong to the same social community [28]. The location prediction for nodes during current short time periods are obviously not suitable for the real scenarios of opportunistic networks, so a periodic location prediction method is necessary for state assessment of nodes over a long period of time [29].
In this paper, in view of the abovementioned issues, we propose an improved routingforwarding strategy utilizing node profile and location prediction (NPLP) for opportunistic networks, which mainly includes three continuous phases: the process of information collecting and updating, community detection and optimization and the state prediction of mobile nodes. During the phase of information collecting and updating, each node in the networks shares its state queue with the peers it encounters and constantly updates its own information queue and more importantly, constructing an identical and uniform network routing state matrix. Besides, we develop a community optimization algorithm based on node activeness and node attributes, which reasonably narrows the coverage of the node community and enables the mobile nodes in the same community to be more closely connected. Based on the improved Markov chain [30], the location state prediction strategy is adopted to ensure that data packets are carried and routed by the relay nodes with a higher probability of moving to where the destinations are more likely to arrive in the future. Eventually, data packets are transmitted to those nodes with higher underlying capacity of encountering the destinations in the same community at the next time stamp. The main contributions of this article are summarized as follows:
 This paper investigates the issue of collecting and updating network routing state information via the cooperation between multiple nodes. Considering both the social attributes and periodic mobility trajectory of nodes in a certain phase, the wellorganized structure of network routing state matrix is established.
 Through the definitions of node activeness and node profile, the inner structure of the community could be reconstructed more orderly and simply, in which mobile nodes possess relatively high social similarity among them, indicating that those nodes communicate with each other more frequently and closely. Consequently, plenty of opportunities for data dissemination may be generated in the refactored community.
 With the support of the improved Markov chain, we propose the state prediction method to predict the probability of each node in the networks moving to the next location state at the next time stamp and, more importantly, evaluating the mobility relationship between neighbor nodes and destinations. This also could be considered as a significant basis for message routing and forwarding in opportunistic networks.
The remainder of this paper is organized as follows. The state of the art associated with routing algorithms in opportunistic networks will be introduced in Section 2. We propose and develop the structure of NPLP strategy for message routing and forwarding in Section 3. Experimental process and performance analysis will be described in Section 4. Ultimately, this study is concluded in Section 5.
2. Related Works
In the light of the characteristics of routing algorithms in ONs [2], these strategies could be roughly divided into two categories: communityaware and communityignorant. On the one hand, by obtaining and comparing the influence, centrality, similarity, social attributes within a region, mobile trajectory or other evaluation metrics of nodes [4], the main purpose of communityaware routing approaches is to discover, concentrate and optimize community structure and connectivity among nodes in the same community. On the other hand, the communityignorant routing approach, a type of message routingforwarding scheme that does not embody the definition of community and tries to employ the spacial and temporal information associated with mobile awareness of nodes in the networks to make an efficient decision on data transmission [27]. Next, we are going to introduce the state of the art related to two kinds of routing methods in ONs.
2.1. The Existing CommunityAware Routing Approaches in Opportunistic Networks
For constructing an orderly and stable data connectivity between source and destination, Liu et al. [8] propose predict and forward strategy, a novel routingdelivery scheme using node profile for opportunistic networks, in which mobile nodes could be characterized by assessing their social attributes such as occupations, interests, working places or places of residence. The complete data connectivity is obtained by the optimal stopping theory. Additionally, Liu et al. [17] recommend other routingforwarding algorithm that is known as FCNS (A fuzzy routingforwarding algorithm exploiting comprehensive node similarity), where fuzzy inference logic is utilized to evaluate the transmission preference of the node and message carriers select a suitable relay node from its neighbors via the feedback mechanism [31]. Li et al. [20] present a socialaware node mobile trajectory prediction algorithm for opportunistic networks, in which a 1order Markov model [30] is adopted to update the mobile location of the nodes in the networks and the accuracy of the state prediction is enhanced by the state transition matrix from Markov model.
Mingjun et al. propose a communityaware routing protocol based on homeaware community model in opportunistic networks [21]. This algorithm aims at establishing a type of network that only consists of community homes, in which the minimum expected endtoend delay among nodes is calculated by the Dijkstra algorithm, thereby realizing better opportunistic routing performance in the networks. Yoneki et al. [22] introduce a number of visualizations to describe attributes of node mobility trajectory that contains community discovery, detection, optimization and concentrating. This study is committed to enhance the connections among mobile nodes in opportunistic networks. Sharma et al. [23] present GDCAR (A Genetic Algorithm Based Dynamic Context Aware Routing Protocol) routing algorithm, an advanced context based touting protocol that utilizes the genetic search strategy to predict the mobile trajectory of nodes by collecting and updating the context information associated with mobile nodes in the networks. Finally, Xiaoming et al. [25] propose a novel twophase routing strategy based on the degree of social activity of mobile nodes, which establishes a mathematics method for designing a multicopy spreading strategy and a singlecopy forwarding strategy based on social activeness of mobile nodes and the history contacting times between nodes.
2.2. The Existing CommunityIgnorant Routing Approaches in Opportunistic Networks
Halikul et al. [3] recommend a hybrid routing algorithm that is called as EpSoc, which attempts to assess the degree centrality of nodes and to adopt the information blocking strategy to reduce message duplicates in opportunistic networks. Furthermore, Saha et al. [5] propose a novel annealingbased routing algorithm (SeeR), which rigorously considers the number of hops from source to destination. Because mobile nodes do not track data information of other nodes in the networks, the deadlock problem of local optimum could be effectively alleviated in SeeR. Additionally, Zhou et al. [9] present an efficient message routingforwarding scheme (TCCB) for ONs, which mainly focuses on employing the temporal relationships among nodes to predict the future social contacting model in the effective time of data dissemination.
Arastouie et al. [12] recommend a risk evaluation scheme, which tries to choose the optimal data connectivity from source to destination by assessing the short or longterm influence of each message routing decision in opportunistic networks. This strategy reasonably adopts cache management and network routing capacity to improve the data transmission environment in the networks. Wu et al. [24] investigate the issue of cache management and node cooperation in opportunistic social networks and introduce a node recognition approach (ICMT). The main goal of this algorithm is to adjust the priority of message routingforwarding among nodes and synchronously implement an efficient data transmission process through node cooperation. Eventually, Nunes et [28] present a socialaware routing algorithm that do not pay attention to the importance of the spacial and temporal data information of human mobility. This scheme aims at reducing the average devicetodevice delay and network overhead in opportunistic social networks via spacial and social attributes of nodes. Testing in a realworld data set [32], authors find that the endtoend cost of message delivering from this algorithm outperforms those from several traditional and typical routing strategies in opportunistic networks.
3. System Model Design
In opportunistic networks, it is difficult for message carriers or the source node to accurately acquire the location of the destination due to the random movement of the mobile devices. However, node profile may consist of multiple strong social attributes, which can be utilized to optimize the community division of nodes. Additionally, because of the periodicity and repeatability of node movement, many routing algorithms start to focus on the trajectory prediction of nodes. However, there is no effective method to combine these two strategies in opportunistic networks. Therefore, we present an improved node trajectory prediction method based on location prediction and community optimization for opportunistic networks.
3.1. Collecting and Updating Effective Information about the Routing State of the Networks
In our proposed algorithm, there is an information updating phase where two nodes exchange their social attributes and mobile trajectory information at each encounter. After this special phase, message carriers or the source node are able to make an accurate decision on messages routing or forwarding based on the obtained information, which indicates that the NPLP algorithm is one that periodically updates information and forwards messages. The length of information updating phase T is usually set based on the cycle of user activity, in which message carriers or the source node can obtain the important social attributes and movement trajectories of other nodes in the networks.
To quantify the entire process of information collecting and updating in this period, we define ${L}_{nod{e}_{i}}$ and ${S}_{nod{e}_{i}}$ as the mobile trajectory queue and social attribute queue of the node i in the networks, respectively, and these two information queues could be formalized as
where ${t}_{1}^{i}$, ${t}_{2}^{i}$, ${t}_{3}^{i}$,${t}_{4}^{i}$$\cdots \cdots $${t}_{m}^{i}$ represent m different time stamps of the node i and ${l}_{1}^{i}$, ${l}_{2}^{i}$, ${l}_{3}^{i}$$\cdots \cdots $${l}_{m}^{i}$ denote the locations of the node i at m different time stamps. Consequently, $({t}_{1}^{i},{l}_{1}^{i}),({t}_{2}^{i},{l}_{2}^{i})\cdots ({t}_{m}^{i},{l}_{m}^{i})$ record the mobile trajectory of the node i during the length of information updating phase T. Additionally, ${A}_{1}^{i}$, ${A}_{2}^{i}$, ${A}_{3}^{i}$, ${A}_{4}^{i}$$\cdots \cdots $${A}_{n}^{i}$ are n different significant social attributes of the node i, such as interest, working place, residence, occupation, and so forth, which may play a special role in community optimization and data transmission. In order to consider the mobile trajectory queue and social attribute queue comprehensively, we define the information queue of the node i as
in which $Lis{t}_{nod{e}_{i}}$ represents the information queue of the node i and $Lis{t}_{encounter}^{i}$ is the the set of information queues of the nodes encountered by the node i and the nodes a, b, c$\cdots \cdots $z are the set of nodes encountered by the node i.
$$\left\{\begin{array}{cc}\hfill {L}_{nod{e}_{i}}& =\{({t}_{1}^{i},{l}_{1}^{i}),({t}_{2}^{i},{l}_{2}^{i}),({t}_{3}^{i},{l}_{3}^{i})\cdots \cdots ({t}_{m}^{i},{l}_{m}^{i})\}\hfill \\ \hfill {S}_{nod{e}_{i}}& =\{{A}_{1}^{i},{A}_{2}^{i},{A}_{3}^{i},{A}_{4}^{i}\cdots \cdots {A}_{n}^{i}\}\hfill \end{array}\right.$$
$$\left\{\begin{array}{cc}\hfill Lis{t}_{nod{e}_{i}}& =\{{L}_{nod{e}_{i}},{S}_{nod{e}_{i}},Lis{t}_{encounter}^{i}\}\hfill \\ \hfill Lis{t}_{encounter}^{i}& =\{Lis{t}_{nod{e}_{a}},Lis{t}_{nod{e}_{b}},Lis{t}_{nod{e}_{c}}\cdots \cdots Lis{t}_{nod{e}_{z}}\}\hfill \end{array}\right.$$
As mentioned above, each node in the networks employs the mobile trajectory queue and social attribute queue ${L}_{node}$ and ${S}_{node}$ to build a information queue $Lis{t}_{node}$ and then each node will share its own information queue with the nodes it encounters. After the entire process of information collecting and updating, each node stores a nonredundant and uniform network routing state matrix $RS$, which could be strictly defined as
$$RS=\{Lis{t}_{nod{e}_{a}},Lis{t}_{nod{e}_{b}},Lis{t}_{nod{e}_{c}}\cdots \cdots Lis{t}_{nod{e}_{z}}\}$$
To be specific (as shown in Figure 1), at the time ${t}_{1}$, the nodes i, j and y are in the same communication domain and they share their own information queue $List$ with each other. Moreover, each node i, j or y in the networks constantly collects and updates $Lis{t}_{node}$ by adding the obtained information queue to its own encountering queue $Lis{t}_{encounter}$. Furthermore, the nodes i, j and y are able to construct an identical and uniform routing state matrix as $RS=\{Lis{t}_{nod{e}_{i}},Lis{t}_{nod{e}_{j}},Lis{t}_{nod{e}_{z}}\}$, which reflects the mobile and social attribute information of these nodes during the time ${t}_{1}$ and they will respectively store the routing state matrix $RS$ in their own cache spaces.
After that, at time ${t}_{2}$, as the nodes in the networks move randomly, the nodes i, x and z are in the same communication domain, they continue to collect other’s information queue and update its own information queue and finally the network routing state matrix $RS$ in their cache spaces could be denoted as $RS=\{Lis{t}_{nod{e}_{i}},Lis{t}_{nod{e}_{j}},nod{e}_{y},nod{e}_{x},Lis{t}_{nod{e}_{z}}\}$, which effectively represents the current routing sate of the networks. After the whole process of information queue collecting and updating, each node in the networks is able to establish a network state routing matrix $RS$ and then processed to the phase of message routing and forwarding. When the phase of message routing and forwarding is over, each node in the networks deletes the state routing matrix $RS$ from its own cache spaces and then enters the next phase of information collecting and updating.
3.2. Markov Chain State Prediction Model Based on the Movement Trajectory of Nodes
In the real application scenarios of opportunistic networks, the daily behaviors of mobile nodes are highly repetitive, which means that mobile nodes may visit several fixed places repeatedly in a relatively fixed time and carry out some repetitive activities every day, such as driving from residence to workplace. According to the mobile trajectory of nodes and fixed behavior patterns, the proposed algorithm is able to model the scene based on the mobile trajectory and employs the improved Markov chain to predict the next mobile state of nodes in the networks, thereby constructing a reliable data transmission link from source to destination.
Firstly, referring to Equation (1), we assume that there are m frequently visited locations in the current application scenario of opportunistic networks and ${l}_{m}^{i}$ is the mth state of the node i in the Markov prediction process, which could be denote as $S\left(m\right)$. Then, the transition state matrix P for each node in the networks could be calculated utilizing the network routing state matrix $RS$ collected in the phase of information updating. Specifically, we assume that ${h}_{ij}$ is the number of times that the observation node i moves from the position x to the position y, then the probability that the node i starts from the position x to reach the position y could be computed by
in which h is the sum of the times that the node i accesses each position starting from the position x. Therefore, if there are m locations in the application scenarios of opportunistic networks, then an $m*m$ transition probability matrix $T{P}_{m}^{l}$ for the node i could be determined, which can be represented as
$${P}_{xy}=\frac{{h}_{ij}}{h}$$
$$T{P}_{m}^{l}=\left[\begin{array}{cccc}{P}_{11}& {P}_{12}& \cdots & {P}_{1m}\\ {P}_{21}& {P}_{22}& \cdots & {P}_{2m}\\ {P}_{31}& {P}_{32}& \cdots & {P}_{3m}\\ \vdots & \vdots & \ddots & \vdots \\ {P}_{m1}& {P}_{m2}& \cdots & {P}_{mm}\end{array}\right]$$
In addition, according to the Markov prediction model of absolute distribution, ${P}_{m}^{{t}_{0}}$ represents the probability that the node i is in the current state $S\left(m\right)$ at the initial time ${t}_{0}$ and the probability that the node i is in the other state $S(m+1)$ at the next time stamp ${t}_{1}$ could be denoted as ${P}_{m+1}^{{t}_{1}}$. In this way the initial distribution of Markov prediction chain $P\left(l\right)$ can be denoted as
$$P\left(l\right)=({P}_{1}^{{t}_{1}},{P}_{2}^{{t}_{1}},{P}_{3}^{{t}_{1}},\cdots ,{P}_{m}^{{t}_{1}})$$
Moreover, through comparing the transition probability matrix $T{P}_{m}^{l}$ with the distribution of Markov prediction chain at the previous time, the prediction distribution of Markov chain at the next time $P(l+1)$ in the networks can be computed by
where ${P}_{1}^{{t}_{2}},{P}_{2}^{{t}_{2}},{P}_{3}^{{t}_{2}},\cdots ,{P}_{m}^{{t}_{2}}$ represent the probabilities that the node i will be in the potential position states $S\left(1\right),S\left(2\right),S\left(3\right),\cdots ,S\left(m\right)$ at the next time ${t}_{2}$. To express the probability that the node i reaches the next potential position state more concisely, we reasonably define $P(l+1)$ as
in which $argmax\left\{{P}_{m}^{t+1}\right\}$ indicates that the maximum value of the elements in the Markov chain $P(l+1)$ is the most likely position state of the node i in the next time. For example, if the initial position state of the node i is $S\left(0\right)$ and the initial distribution of Markov prediction chain for the node i is $P\left(l\right)$, then the prediction distribution of Markov chain $P(l+1)$ at the next time $t+1$ can be determined. If ${P}_{m}^{t+1}$ is maximum value of the state sequence $P(l+1)$, then the node i is most likely to reach the position state $S\left(m\right)$ at the next time ${t}_{2}$.
$$P(l+1)=P\left(l\right)T{P}_{m}^{l}=({P}_{1}^{{t}_{2}},{P}_{2}^{{t}_{2}},{P}_{3}^{{t}_{2}},\cdots ,{P}_{m}^{{t}_{2}})$$
$$P(l+1)=argmax\left\{{P}_{m}^{t+1}\right\}$$
The main purpose of predicting the next state position of nodes in opportunistic networks is to understand the general rules of node movement and simultaneously evaluate the mobile relationship between neighbor nodes and destination. Consequently, message carriers or the source node are able to make an more efficient and accurate decision on message routing and forwarding based on the mobile characteristics of their neighbor nodes.
As shown in Figure 2, the application scenarios of opportunistic networks consists of 5 different position states $S\left(0\right),S\left(1\right),S\left(2\right),S\left(3\right)$ and $S\left(4\right)$. Additionally, the node i is in the position state $S\left(0\right)$ at the current moment ${t}_{1}$ and $S\left(1\right),S\left(2\right),S\left(3\right),S\left(4\right)$ are the potential next position sates of the node i at the next time ${t}_{2}$. Moreover, $P\left(l\right)$ represents the prediction distribution of Markov chain at the current moment, hence the prediction distribution of Markov chain for the node i at the next time $t+2$ could be computed by $P(l+1)=({P}_{1}^{l+1},{P}_{2}^{l+1},{P}_{3}^{l+1},{P}_{4}^{l+1})$. Consequently, the final result of Markov’s prediction for the node i is the maximum value of these four probabilities ${P}_{1}^{l+1},{P}_{2}^{l+1},{P}_{3}^{l+1},{P}_{4}^{l+1}$, which indicate that the node i is more likely to arrive at the position state ${P}_{m}^{l+1}$ with the maximum probability in the next sequence ${t}_{2}$.
3.3. Community Detection and Optimization Strategy Based on Node Activeness and Node Profile
After the whole process of information collecting and updating, each mobile node in opportunistic networks has obtained a unified network routing state matrix $RS$, which contains the social attribute information ${S}_{node}$ of nodes in the networks. Actually, the set of these social attributes of the node could be called ’node profile’ in opportunistic networks, which is also regarded as a strong basis for community detection and division in the networks. In many scenarios, the definition of a community is not measured by geography but rather by multiple social characteristics of mobile nodes such as personal interests, affiliation, occupation and so on. Additionally, the number of mobile nodes in a dynamic community are always changing. Over a period of time, there will always be some members of a community who are more stable in the community (or more involved in the community), while others will leave the community more quickly (or less involved in the community). In general, nodes belonging to the same community will be more closely connected and communicate with each other more frequently, which provides a good opportunity for messages routing and forwarding.
The community in dynamic opportunistic networks is a group with multiple common social characteristics that changes over time. Thereout, if ${c}_{1}$ represents the state of the community in time slice $\u25b5{t}_{1}$, then the state of a community could be denoted as a binary group $<\u25b5{t}_{1},{c}_{1}>$. Then the state sequence C of a community from the time slice $\u25b5{t}_{1}$ to the time slice $\u25b5{t}_{v}$ can be represented as
in which $<\u25b5{t}_{1},\u25b5{t}_{2},\cdots ,\u25b5{t}_{v}>$ is a disjoint time slice sequence for a period of time. Besides, the network states at different time slices may show different importance on the data transmission process and node activity cannot be a simple sum of the individual situation on each time slice, meaning that we need to consider the weight of each specific time slice in the networks. Therefore, the node activeness $NA({U}_{i},C)$ of the node i usually could be computed by
where ${W}_{\u25b5t}$ represents the regulatory factor of the time slice $\u25b5t$ and ${T}_{\left({U}_{i},C\right)}$ and ${T}_{\left(C\right)}$ denote the time slice set containing the node i in community C and the total time slice sets in community C, respectively. Furthermore, the node i strictly belongs to the community C in the networks, which can be formalized as ${U}_{i}\in C$. The regulatory factor of the time slice ${W}_{\u25b5t}$ could be determined based on specific characteristics of the community or specific research objectives.
$$C=\{<\u25b5{t}_{1},{c}_{1}>,<\u25b5{t}_{2},{c}_{2}>,<\u25b5{t}_{3},{c}_{3}>,\cdots ,<\u25b5{t}_{v},{c}_{v}>\}$$
$$NA({U}_{i},C)=\frac{{\sum}_{\u25b5t\in {T}_{\left({U}_{i},C\right)}}{W}_{\u25b5t}}{{\sum}_{\u25b5t\in {T}_{\left(C\right)}}{W}_{\u25b5t}}$$
One of the most important behaviors of mobile nodes in a community of opportunistic networks is to interact and connect with others. For example, in online social networking sites, an old member who posts frequently online and participates in community activities is often more important in the community than a new member who rarely posts, which can effectively reflect the characteristics of mobile nodes in the community. As a result, mobile nodes in the community are divided into g grades according to their activeness in the community and we assume that the degree of node activeness g is higher than the level $g+1$. According to different levels of node activity, mobile nodes in the community could be divided into g classes. Combined with Equation (1), the social attributes of the node i in the community C can be defined as
where T is the length of the phase of information collecting and updating, which is also known as the set of time slices in community C and ${A}_{1}^{{U}_{i}},{A}_{2}^{{U}_{i}},\cdots ,{A}_{n}^{{U}_{i}}$ represent different attribute characteristics of the node i in the time period T. Consequently, $({U}_{i},C)$ could be categorized into different classes based on node activeness.
$$({U}_{i},C)=\{T,{A}_{1}^{{U}_{i}},{A}_{2}^{{U}_{i}},\cdots ,{A}_{n}^{{U}_{i}}\}\phantom{\rule{2.em}{0ex}}({U}_{i}\in C)$$
In opportunistic networks, node profile reflects different social attributes of mobile node, which also has become an important foundation for community detection, division and optimization in the networks. Therefore, comprehensively combining node activeness with node profile, we rigorously define the social similarity $Si{m}_{C}({U}_{i},{U}_{j})$ between the nodes i and j in the community C as
in which ${A}^{{U}_{i}}\bigcap {A}^{{U}_{j}}$ and ${A}^{{U}_{i}}\bigcup {A}^{{U}_{j}}$ represent the number of the elements in the intersection and union sets between the social attributes of the nodes i and j and ${w}_{0},{w}_{1},{w}_{2},{w}_{3},\cdots ,{w}_{n}$ denote the parameter value of different weights, which could be determined based on the structure of a particular community in the networks.
$$\left\{\begin{array}{cc}\hfill Si{m}_{C}({U}_{i},{U}_{j})& ={w}_{1}*\frac{{A}_{1}^{{U}_{i}}\bigcap {A}_{1}^{{U}_{j}}}{{A}_{1}^{{U}_{i}}\bigcup {A}_{1}^{{U}_{j}}}+\cdots +{w}_{n}*\left\frac{{A}_{n}^{{U}_{i}}\bigcap {A}_{n}^{{U}_{j}}}{{A}_{n}^{{U}_{i}}\bigcup {A}_{n}^{{U}_{j}}}\right\hfill \\ \hfill 1& ={w}_{1}+{w}_{2}+{w}_{3}+{w}_{4}+\cdots +{w}_{n}\hfill \end{array}\right.$$
Because there are several overlapping communities in opportunistic networks and one node may exists in multiple communities, the calculation of node similarity $Si{m}_{C}({U}_{i},{U}_{j})$ should be standardized. In general, no matter what community the node in, it should be the most similar to itself. Therefore, we compare the similarity between the two nodes with the average of all the nodes in the community with their own similarity, which can be mathematically reduced to
$$Si{m}_{C}({U}_{i},{U}_{j})=\frac{Si{m}_{C}({U}_{i},{U}_{j})}{{arg}_{{C}_{v}}Si{m}_{C}({U}_{i},{U}_{i})}$$
In overlapping communities, if the node i and the node j simultaneously exist in multiple communities, then the social similarity between them in the whole networks is the average of their social similarity in each community, which can be expressed as
where the nodes i and j synchronously belong to ${c}_{1},{c}_{2},{c}_{3},\cdots ,{c}_{v}$. Moreover, $\{{c}_{1},{c}_{2},{c}_{3},\cdots ,{c}_{v}\}\in ONs$, in which $ONs$ represents the whole network environment.
$$Si{m}_{C}({U}_{i},{U}_{j})=arg\{Si{m}_{{C}_{1}}({U}_{i},{U}_{j})+Si{m}_{{C}_{2}}({U}_{i},{U}_{j})+\cdots +Si{m}_{{C}_{v}}({U}_{i},{U}_{j})\}$$
In the proposed algorithm, the node activeness the node activeness $NA({U}_{i},C)$ could be computed by Equation (10), while the social similarity of mobile nodes in the networks can be obtained from Equations (11)–(13). Then, comprehensively combining node activeness with node profile, we define the joint score $J{S}_{{C}_{v}}$ of community optimization as
where ${U}_{1},{U}_{2},\cdots ,{U}_{e}$ represent e different mobile nodes in the networks and U is the total number of mobile nodes in the community C. Additionally, $NA$ and $Sim$ denote the node activeness of nodes in the community C and social similarity of mobile nodes in the networks, respectively. Through comparing the node’s joint score $J{S}_{{C}_{v}}$ in each community of the networks, the community with the highest score will be recommended to this node eventually.
$$J{S}_{\left({C}_{v}\right)}=NA({U}_{1},C)\circ Si{m}_{C}(U,{U}_{1})+NA({U}_{2},C)\circ Si{m}_{C}(U,{U}_{2})+\cdots +NA({U}_{e},C)\circ Si{m}_{C}(U,{U}_{e})$$
3.4. Message Routing and Forwarding Method Based on Markov Chain and Community Optimization
In the application scenarios of opportunistic networks, a mobile node usually maintains strong social relations with a few individuals. In the proposed strategy, we have detected, divided and optimized the community to which the nodes belong. The connections between nodes within the community are relatively tight, while that between different communities are relatively sparse. According to the social characteristics of mobile nodes, the probability of mobile nodes moving to a community is relatively large and the retention time is relatively long. In contrast, the probability of a node moving to a noncommunity location is lower and the duration time is shorter.
Therefore, according to the gregarious characteristics of social nodes in opportunistic networks, it is necessary to predict the position of a certain node at the next moment. If a number of nodes that contain multiple relatively close social relationships with the destination assemble at a certain location at the current moment, the probability of the destination moving to this location at the next moment is relatively large. For this reason, the proposed scheme creatively employs node activeness and node profile to detect community and adopts the improved Markov chain to predict the next location sate of mobile nodes, thereby making a more reasonable decision on message routing and forwarding in the data transmission process.
After the phase of information collecting and updating, mobile nodes have obtained effective information about the routing state of the entire network, which mainly consists of the information about social attributes and mobile trajectory of these nodes in the networks. Based on the network routing state matrix $RS$, we assume that the contacting records $C{R}_{(nod{e}_{i},nod{e}_{j})}$ of the nodes i and j within the length of information collecting and updating T are expressed as
where $cn$ represents the number of communications between the nodes i and j and ${t}_{a}^{b}$ is the time when the a contact started and ${t}_{a}^{f}$ is the time when the a contact ended. Then, the contact probability between the nodes i and j can be expressed as
$$C{R}_{(nod{e}_{i},nod{e}_{j})}=\{({t}_{a}^{b},{t}_{a}^{f}),a=1,2,3,\cdots ,cn\}$$
$$C{P}_{(nod{e}_{i},nod{e}_{j})}=\frac{{\sum}_{a=1}^{o}({t}_{a}^{b}{t}_{a}^{f})}{T}$$
According to the above Equation (17), the social relationship matrix between mobile nodes in the networks could be obtained. Next, we need to calculate the probability of the node arriving at the next location state in the next moment. Given that the node i is in community ${C}_{1}$ at the current moment, we define the set of all nodes in the location state $S\left(0\right)$ in this community as $N{S}_{p}=\{nod{e}_{1},nod{e}_{2},\cdots nod{e}_{i}\}$, in which $NS\in {C}_{1}$. Then, with the precondition of the node i at the location $S\left(0\right)$ in the current time, the probability of it reaching the location $S\left(1\right)$ in next moment could be defined as
where $N{P}_{{s}_{1}}\left(N{S}_{p}\right)$ represents the probability of the node $N{S}_{p}$ remaining at its current position $S\left(0\right)$, which can be calculated by Markov model in the Section 3.2. Furthermore, $N{P}_{{s}_{1}}(nod{e}_{i},N{S}_{p})$ is the probability that the nodes $nod{e}_{i}$ and $N{S}_{p}$ encountering at the location state ${S}_{1}$ and it could be calculated by
in which ${N}_{{s}_{k}}(nod{e}_{i},N{S}_{p})$ is the number of encounters between the nodes $nod{e}_{i}$ and $N{S}_{p}$ at the location sate ${S}_{k}$. If we assume that the relationship weight value $W(nod{e}_{i},N{S}_{p})=RW{V}_{p}$, then the probability that the node i reaches the location state ${s}_{k}$ at the next moment could be computed by
in which ${\lambda}_{k}(k=1,2,3,\cdots ,m)$ is the weight of each conditional probability, which could be obtained by normalizing the weight of relationship between the node i and others nodes in the community ${C}_{1}$.
$$N{P}_{S\left(1\right)}\left(nod{e}_{i}\rightS\left(p\right))=\frac{N{P}_{{s}_{1}}(nod{e}_{i},N{S}_{p})}{N{P}_{{s}_{1}}\left(N{S}_{p}\right)}\phantom{\rule{1.em}{0ex}}(p=1,2,\cdots ,m)$$
$$N{P}_{{s}_{k}}(nod{e}_{i},N{S}_{p})=\frac{{N}_{{s}_{k}}(nod{e}_{i},N{S}_{p})}{{\sum}_{k=1}^{m}{N}_{{s}_{k}}(nod{e}_{i},N{S}_{p})}$$
$$\left\{\begin{array}{cc}\hfill N{P}_{{s}_{k}}\left(nod{e}_{i}\right)& =\sum _{k=1}^{m}{\lambda}_{{s}_{k}}NP(nod{e}_{i},N{S}_{p})\hfill \\ \hfill {\lambda}_{{s}_{k}}& =\frac{RW{V}_{p}}{{\sum}_{p=1}^{m}RW{V}_{p}}\hfill \\ \hfill 1& =\sum _{k=1}^{m}{\lambda}_{{S}_{k}}\hfill \end{array}\right.$$
Consequently, according to the location state distribution of mobile nodes in the community ${C}_{1}$, the probability of the node i arriving at different location states could be determined. Combined with the results of location state prediction from Markov model, the probability distribution of the $nod{e}_{i}$ reaching all location states could be obtained by utilizing the above Equation (20). After the phase of information collecting and updating, through comparing the probability of neighbor nodes arriving at each different location state at the next moment and determining the change of community optimization, message carriers or the source node are able to make the most reasonable decision on message routing and forwarding in the data dissemination process.
As shown in Figure 3, the community detection strategy based on node activeness and node profile constantly optimizes the community in opportunistic networks, which reflected in that the number of nodes in the community is decreasing and they are becoming more and more connected. In the green rectangle, the purplish blue dot represents the source node and the red dots are relay nodes, while the green one is the destination and the black one denotes irrelevant node in the networks. Moreover, each black dotted circle represents a community in the networks. At the time ${t}_{1}$, the source node $nod{e}_{source}$, relay nodes $nod{e}_{1}$ and $nod{e}_{2}$ are divided into the same community based on community detection and optimization strategy. On the basis of the results of Markov location prediction, the relay nodes $nod{e}_{1}$ and $nod{e}_{2}$ possess the highest probability of moving to the same location state as the destination node $nod{e}_{destination}$, hence the source node $nod{e}_{source}$ sends messages to relay nodes $nod{e}_{1}$ and $nod{e}_{2}$ at the time ${t}_{1}$. As nodes move and communities change, the relay nodes $nod{e}_{1}$ and $nod{e}_{2}$ are more likely to delivery messages to the destination $nod{e}_{destination}$ at the time ${t}_{2}$.
3.5. Complexity Analysis of the Proposed Algorithm
In conclusion, this paper proposed an improved routingforwarding algorithm utilizing node profile and location prediction for opportunistic networks, which is aiming to construct an efficient and reliable data dissemination connectivity between sources and destinations with the support of community optimization and location prediction strategies.
To demonstrate the complexity and performance of the NPLP scheme, we construct a pseudocode table (see Algorithm 1) to describe the various steps of the proposed algorithm in detail. To be specific, in the phase of information collecting and updating, each mobile node transmits its information queue to the other one it encounters and update the network state matrix via the acquired information queue, hence the time complexity of this stage is $O\left(lo{g}_{2}n\right)$. Additionally, according to community detection and optimization strategy, message carriers or the source node analyze which relay nodes are more likely to be divided into the same social community with the destination, therefore the time complexity of this process is $O\left(n\right)$. Moreover, in the process of predicting the location of the node’s next state, message carriers and the source node calculate the transition probability of their neighbors and analyze the probability of encountering with the destination, so the time complexity of this process is $O\left(n\right)$. Above all, the time complexity of the NPLP algorithm is $O(lo{g}_{2}n+n+n)=O\left(n\right)$ through rigorous mathematical analysis.
Algorithm 1 An Improved NPLP RoutingForwarding Algorithm 
Input:${L}_{nod{e}_{i}}$, ${S}_{nod{e}_{i}}$, community C, source $nod{e}_{a}$, relay node $nod{e}_{i}$ and destination $nod{e}_{j}$ Output: $J{S}_{{C}_{v}}$ and $N{P}_{{S}_{k}\left(nod{e}_{i}\right)}$

4. Simulation and Analysis
In our experiment, the simulator Opportunistic Network Environment (ONE) is used to evaluate the performance of the NPLP algorithm in terms of delivery ratio, network overhead and endtoend delay. In addition, we employ the mathematical tool $MATLAB$ to implement the process of Markov chain construction and simultaneously realize the community optimization strategy. The setting of experimental parameters in Opportunistic Network Environment (ONE) could be determined based on the obtained results from $MATLAB$. Moreover, to comprehensively evaluate the improvement and enhancement from the NPLP algorithm, it will be compared with other four routing methods in opportunistic networks—Spray and wait [32], Epidemic [3], ICMT (Information cache management and data transmission algorithm) [24], and FCNS (a fuzzy routingforwarding algorithm exploiting comprehensive node similarity) [17], where Spray and wait and Epidemic are two traditional and typical algorithms and ICMT and FCNS are the latest routing strategies in opportunistic networks.
4.1. Setting of Experimental Parameters
In our experiment, we construct the Table 1 to describe the four real data sets Infocom 5, Infocom 6, Cambridge and Intel utilized in this experiment, which could be downloaded from CRAWDAD. Besides, to enable the NPLP algorithm to present the relatively excellent experimental performance in Opportunistic Network Environment (ONE), we carefully construct the Table 2 that exhibits the general settings of parameters in this simulation.
Specifically, due to the applicability and extensibility in the research field of community division and routing algorithm, the four real data sets Infocom 5, Infocom 6, Cambridge and Intel could be adopted in our simulation environment. Additionally, the communication area is set to 300 × 3000 m${}^{2}$ and the total simulation time is 10–20 h for each experimental process. Furthermore, the movement speed and the total energy for a node in the networks are initialed to 1–15 m/s and 200 J, respectively. Message carriers or the source node may consume 0.5 J energy after each successful data transmission between them. The time to live for a message in the networks is set to 1, 1, 20 and 10 h in the data sets Infocom 5, Infocom 6, Cambridge and Intel, respectively. Moreover, the number of mobile nodes N in the communication area is set as 50 (initial value), 100, 150 and 200, while the cache space of a node in the networks is set as 10 (initial value), 15, 20, 25, 30, 35 and 40 MB.
Next, according to the obtained data set Infocom 5, Infocom 6, Cambridge and Intel, we randomly define 6 different social attribute values for each node class in the Opportunistic Network Environment (ONE), which provides a dependable basis for community detection and optimization in the data transmission process. After several adjustments manual of weight parameter in Equation (12), the NPLP algorithm is able to present the best performance in the Opportunistic Network Environment (ONE) when ${w}_{1}=0.25$, ${w}_{2}=0.05$, ${w}_{3}=0.1$, ${w}_{4}=0.1$, ${w}_{5}=0.15$ and ${w}_{6}=0.35$. To sum up, the process of community division and weight adjustment could be basically realized in $MATLAB$ and the testing and training results from the $MATLAB$ will be imported into the Opportunistic Network Environment (ONE). Ultimately, Markov state prediction model could be implemented in the simulator, which calculates the probability of the node moving to the next location state and implements the data transmission process.
4.2. Experimental Evaluation Metrics
In this experiment, the simulation results are derived from the average of the testing results of each algorithm in the four real data sets Infocom 5, Infocom 6, Cambridge and Intel, and we will comprehensively assess the performance of the NPLP algorithm in terms of the following evaluation metrics:
(1) Average delivery ratio (DR): this parameter denotes the probability of message carriers or the source node sending messages to their neighbors successfully. It could be expressed as $D{R}_{node}=D{R}_{rec}/D{R}_{sen}$, in which $D{R}_{Rec}$ represents the number of messages acquired from the neighbors in the communication area and ${D}_{sen}$ represents the number of messages forwarded by message carriers or the source node.
(2) Average endtoend delay (AD): this metric denotes the average delay of the data transmission process from sources to destinations. It could be computed by $A{D}_{node}=A{D}_{sum}/m$, where $A{D}_{sum}$ represents the total delay in the networks and m denotes the number of successful data transmission from the source node to destination.
(3) Average network overhead (NO): this parameter reflects the average overhead of a successful message routing or forwarding between a pair of mobile nodes in the communication area, which is also defined as the average value of the time delays, energy consumption and storage overhead in a successful data transmission process.
4.3. Analysis of Experimental Results
In the simulation, the experimental results mainly focus on the influence of the cache spaces of a node and the number of nodes on the performance of the five routing algorithms in opportunistic networks. Consequently, we constantly change these two variables to observe the average fluctuation of delivery ratio, endtoend delay and network overhead from the five algorithms tested in the four real data sets.
Firstly, we compare the delivery ratio of each routing algorithm with various number of nodes and various cache spaces of a node. As demonstrated in Figure 4, the NPLP and Epidemic methods show a delivery ratio infinitely superior to those from the other three algorithms FCNS, ICMT and Spray and wait. Furthermore, the delivery ratio from ICMT is always in the middle level among these methods, while those from FCNS and Spray and wait are always been at a relatively low horizontal. Specifically, when the number of mobile nodes $N=200$ and the cache spaces of a node $C=40$ Mb (Figure 4d), the delivery ratio from NPLP almost reaches $0.88$; when $N=100$ and $C=10$ Mb (Figure 4b), the delivery ratio from NPLP is at the minimum of $0.64$. Overall, the average delivery ratio from NPLP is about $0.75$, which increases by nearly $50\%$ as compared with that from Spray and wait.
As far as the delivery ratio is concerned, NPLP and Epidemic are the two best algorithms among these five proposals. This is because the traditional Spray and wait routing algorithm employs flooding mode to broadcast message duplicates widely in the networks, hence its delivery ratio will be relatively high. Additionally, through the reasonable detection and division of node community and the location prediction of node mobility, the NPLP algorithm is able to effectively enhance the probability of relay nodes encountering the destination in the communication area. Moreover, ICMT and FCNS employ cache management and fuzzy inference mechanism to effectively evaluate the social relationship between relay nodes and destinations, thereby improving the efficiency of message routing and forwarding. However, relay nodes may take a long time to wait for the destination in the second phase of Spray and wait, which definitely causes a relatively low delivery ratio in the networks.
Figure 5 demonstrates the fluctuation of the average endtoend delay from each routing algorithm with various number of nodes and various cache spaces of the node. In general, with the increasing of the cache spaces and number of nodes, the average endtoend delay of each algorithm goes up continuously and slowly. It is worth noting that the average endtoend delay from Epidemic is always the highest among those from the five algorithms and those from ICMT and Spray and wait are at the middle level all the time, while the average endtoend delay from NPLP and FCNS are both inferior to those from the other three algorithms. Specifically, when $N=50$ and $C=10$ Mb (Figure 5a), the average endtoend delay from NPLP presents the minimum value of approximately 65, while it reaches the maximum value of 450 when $N=200$ and $C=40$ Mb (Figure 5d). Besides, when $N=100$ and $C=20$ or 25 Mb (Figure 5b), the average endtoend delay from NPLP surpasses that from FCNS twice. Furthermore, the total average endtoend delay from Epidemic is as high as about 320, which is almost $2.5$ times that from NPLP (about 120). Additionally, the total average endtoend delay from Spray and wait, ICMT and FCNS is approximately 162, 150 and 135, respectively.
In the light of the assessment on each algorithm’s characteristics, Epidemic and Spray and wait are used to broadcast a large number of message duplicates to the networks and the buffer memory space and processing capacity of the node are very limited, hence the flooding mode adopted in the two algorithms often leads to a relatively high average endtoend delay in the network environment. Besides, with the application of the mechanisms of node cooperation and cache management, the ICMT algorithm is able to maximally and rationally utilize the buffer memory space of each node and, more importantly, tremendously improving the efficiency of the data dissemination and simultaneously decreasing the average endtoend delay. FCNS is a traditional fuzzy inference algorithm that makes a reasonable data transmission decision by comparing the social and mobile similarities between nodes, enhancing the success rate of messages routing and forwarding. Furthermore, NPLP could predict the probability of relay node reaching the community to which the destination node belongs at the next moment, evaluates the mobility relationship between relay nodes and destinations and decreases the hop number of messages routing in the networks, thereby reducing the average endtoend delay significantly.
Ultimately, a comprehensive comparison of the network overhead between the five algorithms with various number of mobile nodes and various cache spaces of the node is demonstrated in Figure 6. In general, when the number of nodes ranges from 50 to 200 and the cache space of a node increases from 10 to 40Mb, NPLP always exhibits the lowest network overhead among those from these algorithms, with the lowest and average values of 50 and 150 respectively. While the network overhead from Spray and wait is the largest among those from these algorithms all the time, indicating that the highest and average values reach nearly 680 and 450 respectively. Besides, the network overhead from epidemic, ICMT and FCNS are in the middle grade among those from the five algorithms. As we can see from Figure 6d, the fluctuating range of the network overhead from ICMT is the smallest (from 100 to 400), meaning that this strategy is relatively stable and reliable. The Spray and wait method shows the largest fluctuation range (from 250 to 680) among these five algorithms.
This is because ICMT is committed to store data information and delivery messages through cache cooperation between multiple nodes, which significantly saves the cache space of nodes and reduces their energy consumption. A mass of message duplicates in Epidemic and Spray and wait may take up the cache spaces of the node unduly, therefore the nodes carrying excessive data are more likely to consume more energy in the process of random movement, which may lead to a relatively high network overhead when the number of nodes increases from 50 to 200. Moreover, NPLP is able to effectively control the number of message duplicates in the networks through community optimization and the prediction of node mobility. It also effectively decreases the number of message hops from sources to destinations in the networks, thereby reducing the energy consumption of nodes and simultaneously saving their memory space.
5. Conclusions
In this study, with the aim of establishing an efficient and reliable data transmission connectivity between sources and destinations, we proposed an improved routingforwarding algorithm utilizing node profile and location prediction for opportunistic networks, which mainly consists of three phases: the phase of information collecting and updating, community detection and optimization and the prediction of the node’s next state. Each mobile node of the networks will obtain a network routing matrix after the process of information collecting and updating. After that, community optimization and location prediction strategy is regarded as an important basis for message routing and forwarding in the data dissemination process. Overall, the NPLP method creatively employs the scheme of information exchange between mobile nodes to obtain the global routing state of the network and innovatively combines community division with location prediction to make a reasonably decision on data dissemination. Ultimately, experiments show that as compared with the other four algorithms, the proposed algorithm is able to improve the delivery ratio slightly and reduce the network overhead and endtoend delay substantially.
In future work, we are committed to considering the issues of privacy protection and information security in the process of information exchange and data dissemination, and strive to develop a secure routing protocol or defense framework for the proposed algorithm.
Author Contributions
B.C. and L.C. conceived the idea of the paper. B.C. and L.C. designed and performed the experiments; B.C. and L.C. analyzed the data; B.C. contributed reagents/materials/analysis tools; B.C. wrote and revised the paper.
Funding
This research received no external funding.
Conflicts of Interest
The authors declare that they have no competing interests.
References
 Zheng, H.; Wu, J. UpandDown Routing Through Nested CorePeriphery Hierarchy in Mobile Opportunistic Social Networks. IEEE Trans. Veh. Technol. 2017, 66, 4300–4314. [Google Scholar] [CrossRef]
 Dede, J.; Förster, A.; HernándezOrallo, E.; HerreraTapia, J.; Kuladinithi, K.; Kuppusamy, V.; Manzoni, P.; bin Muslim, A.; Udugama, A.; Vatandas, Z. Simulating Opportunistic Networks: Survey and Future Directions. IEEE Commun. Surv. Tutor. 2017, 20, 1547–1573. [Google Scholar] [CrossRef]
 Halikul, L.; Mohamad, A. EpSoc: SocialBased EpidemicBased Routing Protocol in Opportunistic Mobile Social Network. Mob. Inf. Syst. 2018, 1–8. [Google Scholar]
 Trifunovic, S.; Kouyoumdjieva, S.T.; Distl, B.; Pajevic, L.; Karlsson, G.; Plattner, B. A Decade of Research in Opportunistic Networks: Challenges, Relevance, and Future Directions. IEEE Commun. Mag. 2017, 55, 168–173. [Google Scholar] [CrossRef]
 Saha, B.K.; Misra, S.; Pal, S. SeeR: Simulated Annealingbased Routing in Opportunistic Mobile Networks. IEEE Trans. Mob. Comput. 2017, 16, 2876–2888. [Google Scholar] [CrossRef]
 Hu, G.; Xu, K.; Xu, Y. DeadlineAware Opportunistic Network Coding for MultiRelayAided SingleSource SingleDestination Network. IEEE Commun. Lett. 2017, 21, 2282–2285. [Google Scholar] [CrossRef]
 Chen, W.; Lea, C.T.; He, S.; XuanYuan, Z. Opportunistic Routing and Scheduling for Wireless Networks. IEEE Trans. Wirel. Commun. 2017, 16, 320–331. [Google Scholar] [CrossRef]
 Liu, K.; Chen, Z.; Wu, J.; Xiao, Y.; Zhang, H. Predict and Forward: An Efficient RoutingDelivery Scheme Based on Node Profile in Opportunistic Networks. Future Internet 2018, 10, 74. [Google Scholar] [CrossRef]
 Zhou, H.; Leung, V.C.; Zhu, C.; Xu, S.; Fan, J. Predicting Temporal Social Contact Patterns for Data Forwarding in Opportunistic Mobile Networks. IEEE Trans. Veh. Technol. 2017, 66, 10372–10383. [Google Scholar] [CrossRef]
 Cuka, M.; Elmazi, D.; Bylykbashi, K.; Spaho, E.; Ikeda, M.; Barolli, L. A FuzzyBased System for Selection of IoT Devices in Opportunistic Networks Considering IoT Device Storage, Waiting Time and Node Centrality Parameters. In Proceedings of the 2018 IEEE 32nd International Conference on Emerging Internetworking, Data & Web Technologies, Tirana, Albania, 15–17 March 2018. [Google Scholar]
 Hare, J.Z.; Gupta, S.; Wettergren, T.A. POSE: PredictionBased Opportunistic Sensing for Energy Efficiency in Sensor Networks Using Distributed Supervisors. IEEE Trans. Cybern. 2018, 48, 2114–2127. [Google Scholar] [CrossRef]
 Arastouie, N.; Sabaei, M. Selfadaptive riskaware routing in opportunistic network. J. Supercomput. 2018, 74, 2385–2411. [Google Scholar] [CrossRef]
 Marin, R.C.; Ciobanu, R.I.; Dobre, C. Improving Opportunistic Networks by Leveraging DevicetoDevice Communication. IEEE Commun. Mag. 2017, 55, 86–91. [Google Scholar] [CrossRef]
 Thakur, A.; Sathiyanarayanan, R.; Hota, C. STEEP: Speed and timebased energy efficient neighbor discovery in opportunistic networks. Wirel. Netw. 2018, 25, 3275–3296. [Google Scholar] [CrossRef]
 Loreti, P.; Bracciale, L. Optimized Neighbor Discovery for Opportunistic Networks of Energy Constrained IoT Devices. IEEE Trans. Mob. Comput. 2019. [Google Scholar] [CrossRef]
 Li, H.; Ota, K.; Dong, M.; Guo, M. Mobile Crowdsensing in Software Defined Opportunistic Networks. IEEE Commun. Mag. 2017, 55, 140–145. [Google Scholar] [CrossRef]
 Liu, K.; Chen, Z.; Wu, J.; Wang, L. FCNS: A fuzzy routingforwarding algorithm exploiting comprehensive node similarity in opportunistic social networks. Symmetry 2018, 10, 338. [Google Scholar] [CrossRef]
 Shin, W.Y.; Mai, V.V.; Jung, B.C.; Yang, H.J. Opportunistic Network Decoupling with Virtual FullDuplex Operation in MultiSource Interfering Relay Networks. IEEE Trans. Mob. Comput. 2017, 16, 2321–2333. [Google Scholar] [CrossRef]
 MartíNCampillo, A.; Crowcroft, J.; Yoneki, E.; Martí, R. Evaluating opportunistic networks in disaster scenarios. J. Netw. Comput. Appl. 2013, 36, 870–880. [Google Scholar] [CrossRef]
 Li, J.; Xia, X.Y.; Wang, X.W.; Yan, Z. A socialaware node mobile trajectory prediction algorithm in opportunistic cognitive networks. J. Northeastern Univ. 2014, 35, 1701–1705. [Google Scholar]
 Xiao, M.; Wu, J.; Huang, L. CommunityAware Opportunistic Routing in Mobile Social Networks. IEEE Trans. Comput. 2014, 63, 1682–1695. [Google Scholar] [CrossRef]
 Yoneki, E.; Hui, P.; Crowcroft, J. Visualizing community detection in opportunistic networks. In Proceedings of the Workshop on Challenged Networks, Montreal, QC, Canada, 14 September 2007. [Google Scholar]
 Sharma, D.K.; Dhurandher, S.K.; Woungang, I.; Bansal, A.; Gupta, A. GDCAR: A Genetic Algorithm Based Dynamic Context Aware Routing Protocol for Opportunistic Networks. In Proceedings of the International Conference on NetworkBased Information Systems, Toronto, ON, Canada, 24–26 August 2018. [Google Scholar]
 Wu, J.; Chen, Z.; Zhao, M. Information cache management and data transmission algorithm in opportunistic social networks. Wirel. Netw. 2018, 25, 2977–2988. [Google Scholar] [CrossRef]
 Wang, X.; Lin, Y.; Zhang, S.; Cai, Z. A social activity and physical contactbased routing algorithm in mobile opportunistic networks for emergency response to sudden disasters. Enterpr. Inf. Syst. 2015, 11, 597–626. [Google Scholar] [CrossRef]
 Liu, K.; Chen, Z.; Wu, J.; Tan, Y.; Wang, L.; Yan, Y.; Zhang, H.; Long, L. Big Medical Data DecisionMaking Intelligent System Exploiting Fuzzy Inference Logic for Prostate Cancer in Developing Countries. IEEE Access 2019, 7, 2348–2363. [Google Scholar] [CrossRef]
 Lin, S.; Li, Y.; Chen, P.S. Research on Improved Floyd Routing Algorithm in Opportunistic Networks. Appl. Mech. Mater. 2014, 519, 227–230. [Google Scholar] [CrossRef]
 Nunes, I.O.; Celes, C.; Nunes, I.; de Melo, P.O.V.; Loureiro, A.A. Combining Spatial and Social Awareness in D2D Opportunistic Routing. IEEE Commun. Mag. 2018, 56, 128–135. [Google Scholar] [CrossRef]
 Szott, S.; Kuhlmorgen, S.; Tervo, V.; Adigun, O.; Natkaniec, M.; KosekSzott, K. Impact of Lossy Forwarding on MAC and Routing Design in Wireless Ad Hoc Networks. IEEE Netw. 2018, 33, 152–160. [Google Scholar] [CrossRef]
 Mishel, G.; Saber, J.; Francesco, B. Markov Chains with Maximum Entropy for Robotic Surveillance. IEEE Trans. Autom. Control 2018, 64, 1566–1580. [Google Scholar]
 Abdelaziz, F.B.; Saadaoui, R.; Masmoudi, M. Single criterion vs. multicriteria optimal stopping methods for portfolio management. J. Oper. Res. Soc. 2018, 69, 1557–1567. [Google Scholar] [CrossRef]
 AlHinai, A.; Zhang, H.; Chen, Y.; Li, Y. TBSnW: Trustbased SprayandWait routing for delaytolerant networks. J. Supercomput. 2014, 69, 593–609. [Google Scholar] [CrossRef]
Figure 4.
Performance comparison of delivery ratio between five algorithms with various cache spaces and various number of nodes.
Figure 5.
Performance comparison of average endtoend delay between five algorithms with various cache spaces and various number of nodes.
Dataset  Infocom5  Infocom6  Cambridge  Intel 

Device  iMote  iMote  iMote  iMote 
Duration(days)  3.5  4  11.5  4 
Time to live (h)  1  1  20  10 
Number of internal contacts iMote  22,459  170,601  10,873  1364 
Simulation Environment  Description 

Simulator  Opportunistic Network Environment (ONE) 
Mobility model  Infocom 5, Infocom 6, Cambridge, Intel 
Communication area (m${}^{2}$)  3000 × 3000 
Total simulation time (h)  10–20 
Number of nodes N  50 (initial value), 100, 150, 200 
Cache space of a node C (Mb)  10 (initial value), 15, 20, 25, 30, 35, 40 
Speech of a node (m/s)  1–15 
Initial energy for a node (J)  200 
Consumption of each data transmission (J)  0.5 
Number of social attributes  6 
The parameter value of different weights  0.25, 0.05, 0.1, 0.1, 0.15, 0.35 
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).