Novel Opportunistic Network Routing Based on Social Rank for Device-to-Device Communication

In recent years, there has been dramatic proliferation of research concerned with fifth-generation (5G) mobile communication networks, among which device-to-device (D2D) communication is one of the key technologies. Due to the intermittent connection of nodes, the D2D network topology may be disconnected frequently, which will lead to failure in transmission of large data files. In opportunistic networks, in case of encountering nodes which never meet before a flood message blindly to cause tremendous network overhead, a novel opportunistic network routing protocol based on social rank and intermeeting time (SRIT) is proposed in this paper. An improved utility approach applied in utility replication based on encounter durations and intermeeting time is put forward to enhance the routing efficiency. Meanwhile, in order to select better candidate nodes in the network, a social graph among people is established when they socially relate to each other in social rank replication. The results under the scenario show an advantage of the proposed opportunistic network routing based on social rank and intermeeting time (SRIT) over the compared algorithms in terms of delivery ratio, average delivery latency, and overhead ratio.


Introduction
Recent years have witnessed dramatic proliferation of research concerned with fifth-generation (5G) mobile communication networks [1,2].5G is a new generation of wireless mobile communication network.Device-to-device (D2D) communication is increasingly becoming a prominent technology within the 5G story [3][4][5].D2D communication has enabled direct communication between mobile devices, but without the data traffic being delivered through the cellular network, including base stations.D2D techniques can improve system performance, enhance user experience, reduce base station pressure, and improve spectrum utilization.In the meantime, smart mobile devices such as phones or pads are featured with high computational power, larger storage capacity, long lifetime, and accurate GPS location functions.Thus, these smart mobile devices with networking capabilities in D2D communication networks are intermittently connected in an ad hoc manner and the topology of the network is highly dynamic, which will lead to failure in the transmission of certain data files.With this in mind, opportunistic network routing protocols are utilized to overcome these difficulties.Opportunistic networks suffer from frequent disruption, sparse network density, and limited capability of devices.In order to communicate in an environment without a network infrastructure, social networks are widely used in opportunistic networks [6,7].Opportunistic networks suffer from frequent disruption, sparse network density, and limited capability of devices.Since routing is an inherently cooperative activity [8], system operation will be critically impaired unless cooperation is somehow incentivized.Routing in opportunistic networks aims to achieve a high delivery ratio and low overhead ratio relatively, which gets along with delivery latency due to the store-carry-forward (SCF) routing mechanism.As reviewed in [9], although forwarding a message with a single copy [10,11] ensures low redundancy and reduces the cost of the network, the routing performance suffers from low delivery ratio and high delay dramatically.On the contrary, generating multiple messages is more effective due to the increasing possibility that one of the copies would be delivered before the given message expiration deadline.Although the latter operation increases message delivery ratio, it suffers from replication redundancy inevitably and decreases the routing efficiency.
Considering how to balance the number of forwarding copies, there are two methods to solve this problem.On the one hand, these algorithms replicate messages to any better candidate node based on the utility metric [12][13][14].The utility metric can be defined in various ways based on the history encounter information.These algorithms do not limit the number of copies where a message can be replicated numerous times.On the other hand, these kinds of algorithms limit the number of replicated copies of a message up to  by selecting the candidate node according to the utility metric [15,16]. is evaluated according to the scenario.To compare these two branches, the latter branch is accustomed to a scenario where the nodes move fast.The former branch guarantees the delivery ratio but sacrifices replication redundancy according to the routing mechanism.Despite the existing algorithms' contributions, previous work does not adequately consider balancing the delivery ratio and overhead ratio by limiting the number of copies.
Meanwhile, since mobile device carriers are usually connected with certain social relationships, social network-based routing algorithms have been proposed recently.These nodes are divided into different groups [17][18][19] through community division.The routing mechanism chooses the nodes with high centrality or similarity.These methods are similar to utility routing except that they further consider social factors in delivery ability calculation.At present, these general social algorithms are based on graph theory and lack historical encounter information.We associate hybrid routing with historical encounter information and social attributes to balance the delivery ratio and overhead.
In this paper, we adopt the algorithms which limit the copy of messages, which are better than the algorithms which do not limit the copy.At the same time, we take the social relationship into consideration to rank the nodes.In addition, we propose a D2D communication model based on users' activity.The key contributions of our study are summarized as follows: (i) We at first put forward the basic D2D communication scenario, under which a D2D communication model based on user activity is proposed.In this model, "active users" who often transmit messages are defined to effectively improve the utilization of network resources.That is why we focus on this small part of the active users.(ii) Secondly, we put forward a three-phase architecture which is different from traditional two-phase algorithms.This is because we exploit a new phase named social rank replication to reduce the redundancy in the network.The utility replication controls replication redundancy by selecting the candidate node via the utility metric.The lifetime replication enhances the delivery ratio by relaying the copy via the lifetime remaining.The social rank replication considers the worst case; the historical encounter information in relation to destination is unavailable due to the fact that the message carrying node and destination node have never met before.Our routing mechanism is that the message carrier relays the message according to the rank.
(iii) Thirdly, the social rank and intermeeting time (SRIT) algorithm considers both history encounter information and social characteristic.Simulation results show its effects in delivery ratio and the overhead ratio.SRIT algorithm is fit for device-to-device communications under 5G scenarios.
The remainder of this article is structured as follows.Section 2 introduces a summary of related work.We then propose the encounter utility rank router in Section 3. Section 4 describes the simulation of the proposed SRIT algorithm.Its performance is evaluated and compared with other classic routing schemes.At last, conclusion is drawn in Section 5.

Related Work
Recently, scholars are keen to study opportunistic network routing based on utility metric, where this metric can be defined in various ways to qualify the encountered node.Reference [20] uses mean residual contact time that describes the contact period for a given pair of nodes.Seek-and-focus [15] adopts the recent encounter time as the utility metric in the focus phase for utility forwarding.Furthermore, there is a timer in the focus phase, which shifts the focus phase into seek phase to perform a random forwarding approach.Reference [21] introduces a branch of algorithms based on geographic utility.MOVE [22] utilizes the moving direction as the utility metric and the message is forwarded to the candidate node which moves towards the destination.Contextaware routing (CAR) [11] integrates the SCF behavior and traditional end-to-end approach and uses the Kalman filter to predict the encounter.The classic Dijkstra's approach can also be utilized.Initially, the link delay has been adopted for the algorithms proposed in [23].However, such approach is limited by the opportunistic scenario with unpredictable mobility.The algorithms based on congestion control forward messages by considering the available buffer space.The work in [24] adopts a push-pull mechanism to temporarily allocate the storage for the incoming message.Spray-and-wait (SAW) [15] is based on message replication strategy.It is divided into two phases: spray phase (for every message originating at a source node, message copies are initially spread and forwarded by the source and possibly other nodes receive a copy to  distinct relays) and wait phase (if the destination is not found in the spraying phase, each of the nodes carrying a message copy performs direct transmission).Recently, the back pressure-based algorithm [25] was borrowed into opportunistic networks to relay messages according to the queue differential.Encounter-based routing [26] is a quotabased routing protocol which limits the number of replicas of any message in the system to minimize network resource usage.
Opportunistic network routing based on social networks is also a research hotspot.The characteristic of opportunistic networks is robust to the selfish behavior in social networks.SimBet [27] adopts the betweenness and similarity for routing decision.Compared to other centrality calculation methods, betweenness is better to control the spread of the message.The drawback of SimBet is that it just considers the counts of encounters instead of their social relations between neighbors.SimBetAge [28] introduces the aging factor.It redefines the similarity and introduces flow betweenness, directed betweenness, and other metrics to deal with the dynamics of social networks and adjust social network metrics.The disadvantage of SimBetAge is that betweenness and similarity do not participate in forwarding decisions.BUBBLE [18] borrows the concept of distributed community to bubble message up to the target community of destination.Reference [28] introduces four social-aware date diffusion schemes according to the data similarity of the contacts social relationship.But BUBBLE may choose the next hop unreasonably due to centrality not reflecting the closeness of the relay node and the destination node.CROP [29] combines community structure with a new centrality metric called community relevance.LocalCom [30] is a community-based epidemic forwarding scheme.First, it detects the community structure of the network using the local information of nodes.Then, this information will be transmitted to each community via the gateway.The above algorithms are based on graph theory; in PeopleRank [31] algorithm, nodes are ranked by using tunable weighted social information.PeopleRank will give a higher weight to nodes if they are socially connected to other important nodes of the network.PeopleRank does not take the closeness between relay node and destination node into consideration.Furthermore, RIM [32] evaluates the performance of data forwarding based on the relative importance metric and proposes an online method to compute a node's relative importance.Encounter-based spraying routing (EBSR) [33] is based on limiting the number of message copies and proposes a spraybased routing scheme.But when the message's lifetime is insufficient, the message carrier still forwards the copy based on utility.This kind of routing decision cannot raise the delivery ratio effectively.However, calculating the rank based on the times of encounter is worse than calculating the rank based on encounter time interval.At present, these general social algorithms generally make use of graph theory and lack historical encounter information.

System Model and SRIT Protocols
Due to the high mobility of the nodes, the delay tolerant network leads to intermittent connection, which makes the message delivery rate lower.As mentioned in Section 1, D2D techniques can improve the spectrum station utilization to improve delivery rate.In this section, we propose a D2D communication model based on users' activity.Next, we will introduce the model in detail.

System Scenario of D2D Communication.
Data forwarding and data dissemination are highly related to the topic of opportunistic communication [34].They are all based on delay tolerant networks and improve the performance of the system by using short distance communication.However, in data forwarding, there exists no cellular infrastructure and the problem is how to efficiently deliver the data from the source to the destination via opportunistic forwarding.Assuming a generic communication network, the community center is equipped with a full antenna base station.When the person equipped with the equipment is walking in the district, the base station provides seamless coverage over the region.Network communication users include two categories: (1) traditional communication users (they communicate with the base station support) and (2) D2D users (they can directly establish a link with each other, or with the help of the base station, to forward messages).The above methods can be switched.The base stations of the cellular network are connected to the content servers on the Internet through wire-line links.As shown in Figure 1, when establishing the D2D link, the base station collects information from the cloud terminals or content severs.Thus, when users travel to the designated area, they can communicate with each other.In this kind of opportunistic communication relaying on limited contact duration, data transmission occurs among the node pairs in the sparse network.After the users receive the requested data, as usual, they will send acknowledgements to the content servers via the base station.Therefore, the content servers know which users have not received their requested data.After the deadline of delivering the mobile data, a content server can directly send the requested data to those users that have not received them yet.
In D2D communication model, two D2D users are defined as follows: "active users" refer to the users who often "talk" to others with longer communication time; for these users who only occasionally communicate with others, we call them "silent users."In this model, these users may need to go through multiple hops to be able to achieve communication, so the base station, according to the activity, selects these "active users" as the relay nodes to forward messages.We note that the base station can always deliver the data directly to the active users to meet their requests.However, this kind of user accounts for only a small fraction of the total number of users, so, in this study, our scheme is mainly concerned with the small part of "active users."For districts with frequent communications, we select the active user according to the ranking as a relay node, to establish D2D communication link and improve communication efficiency.Only when the distance between the communication users meets certain conditions is it possible to establish the D2D communication link, and the communication time is limited, so how to determine the "active users" is meaningful.In our proposed algorithm, we tackle the problem using the rank of social utility.

Flow of Social Rank and Intermeeting Time Algorithm.
Here, we will introduce the SRIT's routing flow.The most important thing is to introduce the basic notion of SRIT algorithm (Algorithm 1) such as encounter period utility and social rank, which are listed in the Notations.Then, we introduce the three stages of SRIT algorithm.Firstly, SRIT algorithm selects the candidate nodes with a short time interval as the next hop node according to the node historical encounter information utility.Then, SRIT algorithm calculates the priority of message transmission according to the lifetime, which can prevent the cache message from being unable to be transmitted normally.Finally, SRIT algorithm dynamically distributes the message replication task according to the social ranking of the candidate nodes, which is more effective to improve the delivery rate.The three phases are explained in detail below.

Utility Phase.
As reviewed in [26], a node with better quality of utility metric implies a higher message delivery potential.As is shown in the Notations, given the encounter factors between nodes   and   , where   ,   ∈ , encounter count  , , encounter duration  , , and encounter period time  , are addressed.We should consider ( , −  , ) rather than only considering  , .( , −  , ) is defined as encounter time interval  , .For  , is influenced by  , and  , at the same time,  , will have a low value when  , is low or  , is long.This means that   and   would have a short time to encounter each other, but with a long encounter duration for message transmission at the previous encounter opportunity.The number of encounters  , is decided by the average value of  , , so different combinations of encounter durations and intermeeting times may result in the same encounter gap.Thus, we define the utility  , as where  is the value of the current encounter count.For example, assuming Note that, given the 1st time counter, the encounter duration is 0 before pairwise nodes meet each other.Because the topology-based utility metric is unstable, particularly under the high dynamic scenario, this intention estimates the average value of  , to adapt to this situation.

History Intermeeting Time Phase.
The procedure of updating information between any pairwise encounter nodes is as follows: first of all,  , is always updated prior to  , , because only when the link between two nodes is disrupted will the valid encounter duration be calculated.Next,  , is updated with the change of  , , which implies that a new value of  , should be calculated for a new encounter. , is simply updated by the given  , when they encounter each other for the 1st time.Otherwise, it is updated according to (1). Figure 2 illustrates the flowchart of how to find the routing updating table based on history encounter and intermeeting time.When the message carrying node meets the candidate node, the connection state between the nodes is judged firstly.If they are connected, the time of the last encounter will be updated, and then the number of encounters between the nodes is updated as well as the encounter time.After that, the meeting time interval is calculated and the utility is updated if ( , ̸ = /) then (8) if (  >  , ) and ( > 1) then (9) update   towards  , (10) replicate   ×  , /( , +  , ) to   according to Utility (11) else if ((  >  , ) and ( = 1)) then (12) update   towards  , (13) forward  to   using single copy (14) else if (  >  sta  −    ) and ( > 1) then (15) if (( sta  −    )/ sta  > 1/10) then (16) replicate  to   according to Utility (17) keep the rest for  in   (18) else if (( sta  −    )/ sta  ≤ 1/10) then (19) replicate  to   anyway (20) keep the rest for  in   (21) end if (22) end if (23) else if  , = / and ( > 1) then (24) if eg () >  eg () then (25) replicate   ×  eg (  )/( eg (  ) +  eg (  )) to   based on  eg (26) keep the rest for  in   (27) end if (28) end if (29) end for (30) end for Algorithm 1: Routing strategy of the SRIT algorithm.by judging whether the number of encounters is greater than 1.If they are disconnected, the disconnection time and the encounter duration are updated, and, at that time, the utility information updating operation is completed.

Social Rank Phase.
In the copy forwarding phase, traditional algorithms blindly flood messages.In our algorithm, we introduce a method that uses a social rank to forward the copy.A social rank  eg is defined as where   ,   , . . .,   are the nodes (devices), (  ) is the set of neighbors that are linked to   , and  is the factor which is defined as the probability when the social relation between the nodes helps to improve the rank of these nodes.This means that the higher the value of  is, the more the algorithm accounts for the social relation between the nodes.As a result, the factor is useful for controlling the weight given to the social relations for forwarding decision.Since social graphs are built on different types of information, such mechanisms are very important.We can foresee that a "friendship" between two individuals defined a stronger social relation than one defined by one or multiple common interests.When using social rank for message forwarding, we set the value of damping factor to be close to one for strong social relations.This issue is addressed in more detail and the impact of the factor on the social rank performance is examined in the next section.Considering large file transmission such as multimedia content, the message size is set with 500 K-1 MB, 25 s-30 s generation interval.In order to completely test the delivery reliability, the link information of a real node occurs between 5500 s and 350000 s, which is recorded by the data (Infocom6) set.The message is set from 0 s to 350000 s.The message survival prefix is set to .The preheating time is set to 1000 s to ensure the results are accurate, which are more consistent with the actual results.

Performance Evaluation
The following should be done to use these encounter traces.The uncompressed files are copied to the ONE simulator directory, named traces.Meanwhile, the following important content should be attached, which is set in the default settings: the simulation connections' property is set to false, while the move model is set in the stationary movement.To import the data set, the following settings are required: the event type is used as the external events queue, and the path should be added to the imported data.In order to evaluate SRIT algorithm, we also implement two other classical algorithms for comparison.The two algorithms are spray-and-wait (SAW) algorithm and EBSR algorithm.The two algorithms and SRIT are based on replica replication strategy, but they seldom take into account the social performance of the node movement.SRIT in the two algorithms is based on further optimization, more fully tapping the social node, more in line with the actual communication process node characteristics.In addition, these three algorithms are restricted to the message copy, with similar attributes.Three kinds of metrics are used in simulation and compared.

Evaluation Metrics.
We used three metrics in the simulation to evaluate the performance of the three algorithms: message delivery rate (delivery ratio), network transmission delay (average delivery latency), and routing overhead (overhead ratio): (i) Delivery Ratio.Ratio between the number of delivered messages and the number of generated messages.
(ii) Overhead Ratio.Ratio between the number of message transmissions required for delivery and the total number of messages delivered.
(iii) Average Delivery Latency.The time duration between the messages' generation and their delivery.

Experimental Analysis.
We will evaluate the performance when the message lifetime varies.Compared with the traditional method, the message lifetime of the nodes can be set for a long time based on the real data set.As shown in Figures 3(a), 3(b), and 3(c), SRIT achieves the highest delivery ratio compared with other algorithms.Thanks to merely making a limited number of message copies in the network and spraying the copies according to the rank of encounter time interval, the routing overhead of the three algorithms is relatively close.The transmission delay of SRIT algorithm is significantly lower than the other two.SRIT achieves an observable performance improvement due to the routing mechanism considering the social metrics deeply.especially at low buffer space.With the augment of the buffer space, the delivery ratio of the three algorithms increased, while the routing overhead and transmission delay decreased.As the buffer size is relatively low, the buffer space is saturated easily in transmission, causing the overflow message to be discarded.Increasing the buffer space can raise the amount of transmitted information, which improves the performance of the algorithm.When the buffer space is more than 40 MB, the performance of the delivery ratio and transmission delay of SRIT algorithm is outstanding.The routing overhead of SAW algorithm is better than the others, but the advantage is not obvious.In comparison, SRIT algorithm has stronger adaptability and better performance in the simulation scene.
According to Figures 5(a), 5(b), and 5(c), the number of copies affects the routing performance significantly.When the message copy number is less than 8, the delivery ratio of all the three algorithms is low.Under the same conditions, the delivery ratio increases sharply as the number of copies grows.When the number of copies reaches 8, delivery ratio and overhead still grow slowly.When the number reaches 14, the delivery rate of the algorithm is steady, but the routing overhead is still increasing.This is because the three algorithms are based on the message copy replication strategy, so overhead of each round is sensitive to the number of copies.Because of certain restricted copy of the strategy, the cost of the increase is not very large.According to the  comparison of delivery ratio, overhead ratio, and delivery delay, SRIT algorithm shows its priority.

Conclusion
In this paper, we propose SRIT algorithm which considers both history encounter information and social characteristic.The algorithm aims to improve the delivery ratio and reduce the overhead ratio.Simulation results show that SRIT can improve the performance thanks to the introduction of the sociality between nodes.Also, the message lifetime and the number of copies have an obvious impact on the algorithm performance.In a word, SRIT algorithm is fit for D2D communication scenarios.

Figures 4 (
a), 4(b), and 4(c) depict the influence of buffer spaces.The effects on the three algorithms are more obvious
(6) initialize the value of  (2)for each encounter between   and   do (3) for each  carried by   do(4)directly deliver  if it is destined to  (5)update   if   has a copy of (6)update   if (( , <   ) and ( , ̸ The performance is in the opportunistic network environment (ONE).ONE is used in research on opportunistic network Simulation, which is based on Java environment with open source.ONE simulation platform supports a variety of mobile models, which has graphical user interfaces, rich report types, and so forth.The package is a simulation engine based on discrete event agent (DEA).ONE can be used to simulate the node movement, routing, and message processing modeling.The simulation results can be achieved by visual interfaces, reports, and other plugins.The simulation environment applies the map with 4500 × 3400 m 2 area in ONE based on the real data set Infocom6.The information of Infocom6 is collected by 80 participants carrying equipment in the venue.Thus, we configure 80 nodes accordingly.The scheme depends on its current location and moving speed.The communication technique is configured 4.1.Experimental Setup.
: Message carrying node with destination information   : Encountered node   : Destination of message : A message carried by    sta  : Standard message lifetime    : The past time since message generation  , : Encounter duration between   and    , : Encounter period time between   and    , : Encounter time interval between   and