1. Introduction
The wide usage of mobile devices (e.g., smartphones and tablets) and the evolution of highspeed shortdistance wireless communication (e.g., Bluetooth 4.0 and WIFI Direct) in the recent years has stimulated lots of research in mobile social networks. Currently, we simply use centralized cellular networks (e.g., GSM and 3G) to transmit two types of data: immediate data (e.g., voice and video chat), and delaytolerant data, (e.g., email and software update). With the increased amount of the data traffic, the cellular networks will not satisfy the increasing traffic demand, especially during peak times in the densely populated part area [
1]. Therefore, Mobile Social Networks (MSNs) as complementary network communication technologies to cellular networks are suitable for delaytolerant data for a local community in which the participants have frequent interactions, (e.g., people working in the same building, students studying in the same school). In MSNs, data are buffered for extended intervals of time until an appropriate forwarding opportunity is recognized in hopes that it will eventually reach its destination (
i.e., storecarryforward) [
2]. As a result, MSNs extend communications between mobile devices from the restrictions of cellular infrastructure, mitigate the congestion for traditional centralized communication methods, and reduce the communication cost simultaneously.
Since the MSN is an autonomous network, a proper incentive scheme is imperative to stimulate nodal cooperation and to attract more participants. Without the centralized communication scheme, to apply incentive mechanism in MSNs, a common method is to collect the acknowledgment from the destination [
3,
4,
5,
6]. That is, the relays can inject information into the message. After the data reaches the destination node, the destination node will send the forwarding list, as an acknowledgment, back to the source. That is, there exist two types of messages in the network. In real scenarios, the buffer of the node is usually limited [
7]. Therefore, how to utilize the limited buffer space to maximize the message delivery is the motivation of this paper. Ideally, we have two objectives: the data should be disseminated to the destination quickly, and acknowledgment should be sent back quickly. It might not be possible to achieve these two objectives at the same time. Then two challenges arise naturally: (1) How can a node compare the benefits of keeping the message and the benefits of exchanging it with others? (2) How can the benefit gain for each buffer exchange be quantified? The benefit can be regarded as the smaller delivery delay, or higher delivery ratio, and so on. An illustration of the two abovementioned challenges is shown in
Figure 1, where nodes
a,
b have larger contact probabilities with node
s and
d, respectively. Thus, the acknowledgment for node
s should be forwarded to node
a, and the data and acknowledgment for node
d should be forwarded to node
b. However, sometimes, it is not easy to evaluate the nodes’ contact frequency with a special destination. In
Figure 1, it is hard to compare the delay from nodes
a to
c and the delay from nodes
b to
c. Therefore, whether node
b should keep the data for
c is nontrivial. Furthermore, if we assume each node can only carry two messages at most, if the node
b keeps the acknowledgment for
c, the two messages for node
d in node
a cannot be forwarded to node
b, due to the limited buffer space.
For the first question, most existing methods try many different methods to estimate the contact probability between the encounter node and the destination of the message, and forward the message to the node with a higher contact probability. It is called the strongly connected relationship with destination in this paper. However, if we only consider this type of strongly connected relationship with the destination, we will miss lots of useful information. The node’s relationship with other nodes (excluding the destination) is called weakly connected relationship with destination in this paper, and it does matter for relay selection. In this paper, two types of criteria, social status, the centrality of a node in the network, and contact probability, the probability of a node to meet destination, are used as the weakly connected relationship with destination and the strongly connected relationship with destination, respectively. They are used together to estimate the ability that a node can act as a relay to send a message to the destination. By introducing the concept of social status, we combine the direct probability, twohop indirect probability, and the influence of the other weaklyconnected relationship with the destination, and estimate the probability more accurately.
As for the second question, we should set the priority of the message according to the possible beneficial gain. Two criteria are used in this paper: (1) Usefulness: If we forward it, it is highly likely to reach the destination before the deadline so that the work can pay off; (2) Urgency: The data which is close to the deadline should have a higher priority. A proposed priority setting leverages the two above criteria. The relative priority between data and acknowledgment is further proposed in different scenarios. In this paper, we focus on two scenarios (i.e., the datafirst and acknowledgmentfirst). The idea for the datafirst scenario is that nodes would like to send data to destinations as soon as possible, such as weather forecast updates and news feeds; otherwise, the data will expire. However, in the acknowledgmentfirst scenario, the acknowledgment is more important. The possible application scenarios are the mobile trade or sourceincentive mechanisms. It is because the relays would like to get the reward as soon as possible, so that they try to send the acknowledgments back quickly. Otherwise, once the acknowledgment is expired, they cannot get any reward. Our proposed method is a generic routing scheme, which can be used in the abovementioned message dissemination.
The contribution of this paper is organized as follows: (1) We propose a generic routing scheme to accelerate the data and acknowledgment dissemination simultaneously, with time and buffer constraints; (2) We combine two types of criteria, the strongly connected relationship and the weakly connected relationship with the destination, together to estimate a node’s ability to act as a relay. Thus, the estimated contact probability is more accurate; (3) We propose an adaptive priority scheme for each type of message, so that message which contributes to performance most will be sent first.
The remainder of the paper is organized as follows. We review the related work in
Section 2. The network model is introduced in
Section 3. The proposed prioritybased comparesplit algorithm is presented in
Section 4. After that, an analysis is provided in
Section 5. The evaluation setting and the simulation results are shown in
Section 6. We conclude the paper in
Section 7.
2. Related Works
Routing in MSNs has attracted the attention of many people in the last few years [
3,
8,
9,
10,
11,
12,
13,
14,
15,
16]; how to achieve good performance with little system consumption is a major concern. The current research is mainly focused on the utility estimation of the relay node and the performance feedback by using the acknowledgment.
Relay utility estimation: For the relay node’s utility estimation, it initially begins from the direct contact probability and generally extends to criteria in multidimension. In [
14], the author proposes the twohop transitivity property. In [
8,
15], the weighted degree of nodes is also considered as a criterion for buffer exchange, so the routing decision is based on several criteria. In [
10], the author first points out the intrinsic characteristics of MSNs, that is, the carrier of the smartphones (nodes) are people, so that MSNs share the social characters. They use two utilities called centrality and community locally and globally to make routing decisions more precisely. After that, a lot of the research about the social metric of MSNs were conducted [
17,
18]. Reference [
19] proposed the centrality like PageRank, which is widely used in Internet searching. The idea is that your importance is decided by the importance of your neighbor. In [
11], the author proposed a routing algorithm which considers the selfish characters of MSNs. It adjusts the utility by a factor called willingness. In this way, even though two nodes contact each other frequently, it might not be a good relay if its willingness is low. In [
20], the author argues that most existing algorithms try to assign a majority of the workload on a few popular nodes, which is not fair and the resource of these nodes will soon be drawn up. A utility called assortativity is proposed to limit the system resource usage. However, all the aforementioned schemes only consider the direction contact probability between the node to the destination as the only forwarding criterion.
Acknowledgment in trust mechanism: A challenging problem is whether we should trust the information from the node in such an unsupervised environment. There might exist some selfish and malicious nodes in the network. In [
21], the authors study the robustness of MSNs routing in the absence of authentication. The authors identify conditions for an attack to be effective and present an attack based on a combination of targeted flooding and acknowledgment counterfeiting that is highly effective, even with only a small number of attackers. Thus, a mechanism used to detect the attack is meaningful in MSNs. The results in [
22] show that each node should forward the message which is most similar to its common interest, given an encounter between friends, or it should forward the message which is furthest to its common interest, given an encounter between the strangers. In [
23], they propose a 2ACK scheme. The basic idea is that, when a node forwards a data packet successfully over the next hop, the destination node of the nexthop link will send back a special twohop acknowledgment called 2ACK to indicate that the data packet has been received successfully.
Acknowledgment in incentive mechanism: Most existing methods introduce a creditbased scheme. That is, nodes get paid for providing services to other nodes. When they request other nodes to help them for packet forwarding, they use the same payment system to pay for such services. In [
24], nodes keep acknowledgment of the received/forwarded messages. When they have a fast connection to a credit clearance service, they report all of these acknowledgments. The credit clearance service then decides the charge and credit for the reporting nodes. In [
3], the authors introduce the trading mechanism to the receipt, that is, nodes would like to exchange their messages and receipts on the condition that both of them can increase their expected probability to successfully cash the receipt after exchanging the receipt.
In the above research, in the data dissemination problem, the acknowledgment is usually ignored. On the other hand, in the trust/incentive mechanism, the data dissemination is not considered. However, according to the research of [
25], in a real data dissemination problem, there exist lots of data and acknowledgments. Due to the node’s buffer being limited, how to disseminate data with mixed data and acknowledgments is a fundamental problem. To the best of our knowledge, we are the first to jointly consider the data and acknowledgment exchange in MSNs with buffer constraint.
4. PriorityBased CompareSplit Scheme
In this section, we propose a prioritybased comparesplit scheme to maximize the achievable benefit during each exchange. Before that, we first introduce the relay selection criteria used in this paper. Then, we will present the two steps of the proposed scheme, and illustrate them by an example. The first step is comparesplit, which collects the necessary information for routing. The second step is prioritybased exchange, which decides how to exchange messages in order to maximize the achievable beneficial gain.
4.1. Relay Selection Criteria
In this paper, we not only estimate the node’s direct contact frequency with the destination node, called the strongly connected relationship with destination in this paper, as most existing schemes did, but also define the social status to distinguish a node’s weakly connected relationship with the destination. Then, we make a routing decision based on these two criteria. By combining the relationship of nodes with the destination and the other nodes together, we can estimate the ability of a node to act as relay more accurately.
Social status: a priori estimation of the node’s centrality in the network in a given period. It can be written in the following function:
where
$N\left(a\right)$ represents the nodes which encounter node
a in a time interval. Along with time, nodes frequently contacting other nodes will have high value, and other nodes will keep a small value for social status.
Contact probability: a priori estimation of the contact with a destination in the network in a given period, which can be derived from the contact frequency to estimate the relationship between the relay and destination. The contact probability decays with time. The Exponentially Weighted Moving Average (EWMA) method is usually used to update the contact probability. The contact probability of node
a with node
d can be written in the following format:
where
β is an empirical value that we can get a proper value from extensive experiments. In this paper, the
β is set as
$\frac{1}{2}$ during the experiments.
Let us take
Figure 3 as an illustration. Consider nodes
a and
b, whose probabilities of reaching destination
d is
$0.4$ and
$0.6$ respectively. Though the contact probability between node
b and destination node
d is larger than that of node
a, node
a should not forward the message to node
b for the following two reasons: (1) Node
a has a high indirect contact probability with node
d. The probability that node
a sends a message to
d from node
c is
${p}_{a}\left(c\right)\xb7{p}_{c}\left(d\right)\ge {p}_{b}\left(d\right)$. (2) Node
a has a high probability of meeting other nodes, and has a high probability of reaching the destination. The probability of node
a meeting at least one of node
e and
f is
$1(1{p}_{a}\left(e\right))\xb7(1{p}_{e}\left(f\right))$. The probability of sending a message from node
e or
f is also
$0.6$. From this example, the observation is that the weakly connected relationship with the destination has an influence on the routing decision. That is, if a node is popular, even this node does not have a high contact probability with the destination, this node can still meet other nodes, which have quite a good relationship with the destination. If the current node always forwards the message to the encounter node based on the contact probability, without considering the weakly connected relationship with the destination, it might not be a good strategy. In the following, we use the contact probability and the social status to represent the strong and weak relationship with the destination.
4.2. Step 1: CompareSplit
Upon the contact between nodes a and b, they exchange their probability vectors to corresponding destinations of messages they carry. Then, each node knows the combined destination set for messages buffered in them and the corresponding probability vector. Let’s denote the combined destination set D, $D=\{{d}_{1},{d}_{2},\dots ,{d}_{m}\}$, where m is the number of destinations. The probability vectors of node a and node b to destination set D as $\{{p}_{a}\left({d}_{1}\right),{p}_{a}\left({d}_{2}\right),\dots ,{p}_{a}\left({d}_{m}\right)\}$, and $\{{p}_{b}\left({d}_{1}\right),{p}_{b}\left({d}_{2}\right),\dots ,{p}_{b}\left({d}_{m}\right)\}$ respectively. The social statuses of nodes are also changed during this step. Note that there exist two rounds of exchanges. One round is to exchange the destination of the messages in their buffer, and another round is to exchange their probability vectors.
Definition 1. The forwarding difference vector of node a and node b for node a is the forwarding difference to the destination set of the messages they carried. Suppose the destination set is $\{{d}_{1},{d}_{2},\dots ,{d}_{m}\}$, and the forwarding difference vector is $\{{\mathrm{\Delta}}_{1}$, ${\mathrm{\Delta}}_{2}$, ..., ${\mathrm{\Delta}}_{m}\}$, where ${\mathrm{\Delta}}_{i}=S\left(a\right)\xb7{p}_{a}\left({d}_{i}\right)S\left(b\right)\xb7{p}_{b}\left({d}_{i}\right)$.
The destination set splitting is based on the ratio of two encounter nodes’ forwarding difference vector.s That is, each node keeps the destination set that has better forwarding ability.
The following is the ratiobased split process, and it is shown in
Figure 4.
Both a and b generate the forwarding difference vector $({\mathrm{\Delta}}_{1},{\mathrm{\Delta}}_{2},\dots ,{\mathrm{\Delta}}_{m})$.
Node a keeps messages for destinations that have higher values than, or equal to the 0, the size as k. When two forwarding probability differences are equal, the node’s ID/ available buffer space is used to break the tie, i.e., node with higher ID number/ larger available buffer space will keep messages for that destination.
Node b keeps messages for the remaining $mk$ destinations that have lower values than, or values equal to, the ${k}^{th}$ largest element.
Note that in the comparesplit scheme, even the current node has a larger contact probability for a special destination, this destination might be split to the other node, due to the current node’s low social status. The reason has been explained in
Section 4.1.
Let us take
Figure 5 as an example to illustrate the comparesplit scheme. From the top of the figure, you can get the contact probability and social status of nodes
a and
b. During the contact, node
a and node
b first exchange the corresponding probability vectors. Node
a sends probability vectors
$\{{p}_{a}\left({d}_{1}\right)$,
${p}_{a}\left({d}_{2}\right)$,
${p}_{a}\left({d}_{3}\right)$,
${p}_{a}\left({d}_{4}\right)$,
${p}_{a}\left({d}_{5}\right)\}$ to node
b, and node
b sends probability vectors,
$\{{p}_{b}\left({d}_{1}\right)$,
${p}_{b}\left({d}_{2}\right)$,
${p}_{b}({d}_{3}$),
${p}_{b}\left({d}_{4}\right)$,
${p}_{b}\left({d}_{5}\right)\}$ to node
a. Then, both nodes form a destination set
D,
$\{{d}_{1},{d}_{2},{d}_{3},{d}_{4},{d}_{5}\}$. In this example, we choose node
a’s view to calculate the forwarding difference vector,
$({\mathrm{\Delta}}_{1},{\mathrm{\Delta}}_{2},{\mathrm{\Delta}}_{3},{\mathrm{\Delta}}_{4},{\mathrm{\Delta}}_{5})$ is
$\{1,9,1,3,2\}$, and the remaining number of destinations are
$k=2$. Then, we will split messages of node
a and node
b. That is, node
a should keep the messages for destination
$\{{d}_{1},{d}_{3}\},$ and node
b should keep the messages for destination
$\{{d}_{2},{d}_{4},{d}_{5}\}$ to maximize the combined probability.
There are two major advantages for the proposed comparesplit scheme.
It balances the influence of the contact probability and the social status. Therefore, it overcomes the situation in which the weakly connected relationship with the destination is ignored.
The comparesplit scheme is symmetric for the encountered two nodes. As a result, from each node’s viewpoint, they can get the same result. No further synchronization is needed.
4.3. Step 2: PriorityBased Exchange
Due to the limited buffer constraint and contact opportunity, different messages have different priorities. Intuitively, we hope that the message can be delivered to the destination in time, and the message which is close to its TTL should be transmitted first. In addition, the expected delivery delay should be considered during the priority setting. Here, the social status and the contact probability for the destination are jointly considered to estimate the expected delay.
Note that, in this setting, the social status of a node rescales the expected delay.
As for the priority setting, we should not only consider the remaining time before the message expires but also consider the time that is expected to arrive at the destination. Thus, we define the priority as follows:
where the
${\tau}_{a}$ is the TTL of message
a. The idea is that
${\tau}_{a}t$ is the remaining time for message
a, and thus we should set a lower priority for messages which have a long remaining time. However, the expected delay
${E}_{a}\left(b\right)$ has an influence on the priority. For example, though the remaining time of message
a is smaller than message
b, the expected delay of message
a is much smaller than that of message
b. In this case, message
a should have a lower priority since it can reach the destination before the deadline in a high probability. Thus,
$\frac{{E}_{a}\left(d\right)}{{\tau}_{a}t}$ leverages the expected delay and the remaining time to represent the priority of the message. If the remaining time is smaller than the expected delay, we should set the priority of the message as 0, since it is highly possible that this message cannot reach its destination before the deadline, so that we do not waste the precious contact opportunity.
According to the different application scenarios in message dissemination, such as mobile advertising or public information dissemination, we should assign different priorities to data and acknowledgments. We define $P\left(a\right)$ as the priority of a data, and $P\left(b\right)$ as the priority of an acknowledgment. Furthermore, a relatively important factor α is defined in the priority setting, and the size of different types of messages are also embedded into this factor. In the datafirst scenario, especially, $\alpha P\left(a\right)>P\left(b\right)$, and in the acknowledgmentfirst scenario, $\alpha P\left(a\right)<P\left(b\right)$.
We can illustrate the prioritybased comparesplit scheme in
Figure 6. It continues the aforementioned example in
Figure 5. The leftbottom table in
Figure 6 shows the buffer information of nodes
a and
b before the split, where the value represents how much data or how many acknowledgments are destined to the corresponding destination. We consider the buffer constraint to get the number of messages that can be exchanged in each message. Then, we calculate the priority of the data and acknowledgment by Equation (
4), and get a total dissemination order of the data and acknowledgment for nodes
a and
b. We further assume the size of the data is the same with the size of acknowledgment in this example for explanation simplicity, and each node can carry 4 messages at most. According to the comparesplit step, node
a has three messages to exchange, and node
b has 2 messages to exchange. Due to the buffer constraint, only the two messages with the highest priority of each node have an opportunity to exchange in this encounter. For node
a, that means the data to destination 2 and acknowledgment to destination 4. As for node
b, that means the data to destination 3 and the acknowledgment to destination 3.
Two types of TTL exist: one is for data, and one is for acknowledgments. We should distinguish these two types of TTL, since they might have different values in different scenarios. For example, in the datafirst scenario, we might set the TTL of data longer to increase the opportunity for successful delivery, and vice versa in the acknowledgmentfirst scenario.
4.4. Discussion and Future Work
Our proposed scheme is used in the singlecopy unicast scenario. However, it can be extended into the multiplecopy scenario. In this case, one node can encounter different nodes which buffer the same data more than one time. For example, source node s generates data i for node d. Then, node s encounters node a and node b, and relays data i to them (in order). Another node c later encounters node a and b buffered with data i in sequence and did buffer exchange. Node c should not assign the same priority of data i during these two buffer exchanges. A naive idea is that the priority of the data should decrease as the encountering times increase. That is, the priority of data i is determined by a tuple $\langle times,P\left(i\right)\rangle $. As for the acknowledgment generation, the destination will only send back an acknowledgment when it receives data for the first time. In an incentive scenario, this situation is hard to handle. Should the source pay some credit for the relays which send the data to the destination late? If so, how can the source know their work, and how much credit should the source assign for them? Clearly, from the perspective of the source, this late delivery is meaningless. However, if it does not pay for the later relays, this type of incentive mechanism might not work. This is because the relays will very possibly get nothing to help the source. In addition, in multicast scenarios, there exist multiple acknowledgments for one piece of data from different destinations. Thus, there exists four types of relative priorities: different data, the same data, acknowledgments for different data, and acknowledgments for the same data. We should assign the four above relative priorities carefully, or the network can jam with a limited buffer.
Algorithm 1: Prioritybased comparesplit routing 
Input: Destination set D = $\{{d}_{1}$, ${d}_{2}$, …, ${d}_{m}\}$, $\{{p}_{a}\left({d}_{1}\right)$, …, ${p}_{a}\left({d}_{m}\right)\}$, $\{{p}_{b}\left({d}_{1}\right)$, …, ${p}_{b}\left({d}_{m}\right)\}$. social status of $S\left(a\right)$ and $S\left(b\right)$ and relative priority α Output: The data exchange result of two nodes.  1:
Calculate the forwarding difference vector between two nodes, $({\mathrm{\Delta}}_{1}$, ${\mathrm{\Delta}}_{2}$, ..., ${\mathrm{\Delta}}_{m})$.  2:
Split the destination set based on the forwarding difference vector.  3:
Calculate the priority of each message.  4:
Exchange messages based on the order of the priority.

6. Experiments
In this section, we will demonstrate that the proposed scheme is an efficient mechanism to accelerate message dissemination in MSNs. Two performance metrics are used: (1) Delivery ratio: the number of messages which arrive at corresponding destinations before TTL out of all the generated messages in a certain interval; (2) Latency: the average duration between a message’s generation and the arrival time at the destination. Efficient means that the message with a high priority can be transmitted to the destination in a low delay, and high delivery ratio.
6.1. Experiment Methods and Setting
During the experiment, we use not only synthetic mobility models, but also real traces, to verify the efficiency of the proposed scheme. We will compare the delivery ratio and latency in each trace.
(1) Uniform mobility: In synthetic mobility models, we set up a network with 20 nodes. Among them, five nodes are set as source nodes and five nodes are set as the destination nodes. The social status of nodes follows the uniform distribution model. The contact probability is generated based on the social status to satisfy Equation (
1). We set a 10,000 s contact history in our simulation, and, every one second, new data generates in the network randomly within the source nodes. The contact event is randomly generated, and the contact number is proportional to the contact probability of nodes.
(2) The real trace: We use the real trace
Infocom 2006 [
30] in our simulation, which has been widely used in MSN routing simulations. This dataset consists of contact traces between shortrange Bluetooth wearable devices (iMotes) carried by individuals. Groups of participants are asked to carry small devices (iMotes) for four days during the INFOCOM 2006 conference. The contact information of the 78 participants are recorded in the iMotes. Furthermore, 20 stationary (long range) iMotes are placed in the experiment. There are 223,657 contacts between these nodes during the 342,915 s. Every 50 s, new data is randomly generated in our simulation. In addition, among them, 10 nodes are set as the source nodes and 10 nodes are set as the destination nodes.
By using these synthetic mobility models and the real trace, we further set the buffer constraint. We do not consider the bandwidth constraint in this paper, which is reasonable since the current wireless communication speed is fast [
31], e.g., more than 100 Mbps, compared with the size of the messages, typically less than 50 MB. To simplify the simulation, we assume that the size of data and acknowledgment is the same.
6.2. Compared Algorithms
For the contact probability estimation, we compare our algorithm with the direct probability estimations, which forwards messages based on the contact probability between nodes [
14]. As for the priority, we can set the remaining time of messages as a criterion [
32] and our proposed priority setting. The combination of the above probability estimation and priority setting is four algorithms. Furthermore, we use the epidemic algorithm [
33] as the baseline, which copies the message once a relay encounters another relay. In the remainder of this paper, we will use comparepriority, comparedeadline, directpriority, directdeadline, and epidemic to represent these five algorithms, respectively. They are denoted as CP, CD, DP, DD, and EP algorithms in the following, respectively.
6.3. Simulation Results
The results can be seen from the
Figure 7,
Figure 8,
Figure 9 and
Figure 10. Since we set the same data generation ratio, the message delivery number can be used to represent the delivery ratio in our simulation.
We try to find the influence of the TTL for the delivery ratio, so we increase the TTL of the messages. Both the delivery number of data and the acknowledgment increase with an increase in data’s TTL. It is because that, along with the increasing of data’s TTL, data has a larger opportunity to be delivered before their deadline. At the same time, more acknowledgments are also generated. As a result, more acknowledgments are sent back to their sources. It is a nearlinear increase in the Infocom2006 trace with the increase of the TTL. For the synthetic trace, the delivery number increases very quickly before convergence. Then, all the messages are sent to the destination when TTL is large. Any further increase of TTL is meaningless but consumes more buffer resources. Among the five algorithms, the CP algorithm always has the best performance. It is followed by the CD, DP, DD, and EP algorithms. The proposed method delivers 33% data and 22% more acknowledgments than the DD algorithms do. The EP algorithm achieves the worst performance; since lots of message are generated, the old message is soon dropped.
We try to find the impact of the relative priority in the message delivery ratio. The results show that, along with the increasing of α, the amount of delivered data decreases, and the number of delivered acknowledgments increase at the same time. This margin decreasing phenomenon appears clearly in the synthetic trace. For the Infocom2006 trace, this phenomenon just shows in the proposed CP and CD algorithms. The reason is that, with the increasing priority of acknowledgments, the messages cannot be exchanged for the better relays in the limit contact opportunity. Thus, more and more messages are buffered into the intermediate nodes until time is out, and thus the generation ratio of the data decreases.
In addition, we slice the time into small slots and want to find out how much data has been successfully delivered in each slot. The simulation shows that the dissemination delay also follows the same order as above—that is, CP, CD, DP, DD, and EP. This means that our proposed algorithm not only delivers more data, but also does so at a low delay. In the Infocom2006 trace, we notice that different contact estimations have a big influence on the number of messages that can be transmitted via the priority setting. However, the priority setting does not have such a big influence on the message delivery amount. There also exists a big performance gap between the CP, and the CD with the remaining three algorithms, which also show the importance of the weakly connected relationship with the destination. The CP algorithm delivers more than two times the data and three times the acknowledgment of the DD algorithms. In the synthetic trace, the difference between the five algorithms is not so significant; the reason might be the uniform setting of the encounter. Therefore, the influence of relay selection is not so important.
From the above experiments, we can clearly find that our proposed algorithm does the data dissemination in a low delay. At the same time, since data is transmitted faster, more data is transmitted into their destinations respectively, which, on the other hand, increases the delivery ratio of acknowledgment in the network. The results demonstrate the importance of the indirect relationship with the destination.