1 Introduction

Delay-tolerant networks (DTNs)[1] are wireless ad hoc networks with intermittent connections, limited power and radio range, long variable delays, etc. These networks have different applications such as interplanetary networks[2, 3], military networks[4], vehicular networks[5], wildlife tracking[6], etc.

Traditional mobile ad hoc network (MANET) routing protocols are not efficient in DTNs because of intermittency. DTN uses asynchronous connections for delivering messages. Store-carry-forward (SCF) is the approach used in delivering data. The node stores the packet in its buffer and carries it around until finding the next appropriate hop for forwarding messages[79].

Different approaches have been suggested, but there is still a need to find routing approaches which have better performance. Finding the appropriate number of copies is important in DTNs. The number of message copies should be selected such that, while reducing overhead, it keeps message delivery ratio in a good level. This paper tries to find the number of message copies using particle swarm optimization (PSO). The proposed method, which is called PSODTN, considers message delivery ratio and overhead to find the number of message copies. The rest of the paper is organized as follows. Section 2 discusses related works. The proposed method is stated in Section 3. PSODTN simulations are presented in Section 4. Section 5 concludes the paper.

2 Related works

Routing in DTN has great importance because of intermittency[1]. Different routing approaches have been proposed[10, 11] which are classified from different aspects. Based on the information DTN routing protocols use from the network, they can be categorized as forwarding based, history based, and flooding.

Forwarding-based approaches use a single copy of the message to forward. This helps to reduce overhead. On the other hand, message delivery delay will increase greatly. Minimum estimated expected delay (MEED)[12] is an example of this group. Six types of forwarding routing are presented in[13].

In history-based approaches, routing decisions are made based on the history of encounters between nodes. Probabilistic routing protocol using history of encounters and transitivity (PROPHET) is one of the well-known algorithms of this category[14]. PROPHET uses delivery predictability, a parameter showing the predictability of encountering a node to the destination based on its past encounters with other nodes. MaxProp[15] is another approach which considers encounters with other nodes but not necessarily the destination.

The FResher Encounter SearcH (FRESH)[16] is another prediction-based approach which considers time passed since the last encounter of every node with other nodes. Resource allocation protocol for intentional DTN (RAPID) is also another example of this approach[17].

Another effective usage of history-based approaches is social relations. These approaches consider social similarities. These methods consider social contacts in addition to predicting future movements. Label[18], SimBet[19], Bubble Rap[20], and SocialCast[21] are instances of these social predictive methods. Label algorithm was the first approach to use social characteristics in opportunistic networks. This algorithm uses labels to improve message delivery ratio. SimBet is used in networks which are clustered and in which nodes cannot meet the destination. Bubble Rap forwards messages using node centrality and community structure. SocialCast considers destination interests in addition to moving patterns and social connections.

Flooding algorithms, such as epidemic routing[22], are the most reliable methods in delivering messages. Each node, which has the message, gives a copy of the message to every node it encounters. These methods waste network resources such as energy, bandwidth, etc. They cause overhead in network and overflow in buffer.

Recently, there have been many researches done on DTN routing. Vasilakos et al. have studied delay-tolerant networks and their various protocols and applications in[23]. Spyropoulos et al.[24] have tried to investigate network characteristics that are relevant to routing processes. Regarding different applications of DTN, Sun et al.[25] considered performance of DTN protocols in space communication. Routing in vehicular delay-tolerant network (VDTN) as one of the DTN applications has also been studied by researchers. Zeng et al.[26] considered energy optimization in VDTN routing. In addition to DTN routing challenges, some features in wireless networks make routing conditions more difficult. Youssef et al.[27] have discussed routing metrics in cognitive radio networks. They have prepared challenging metrics in wireless networks such as spectrum availability, interruption time, etc. Channel assignment in wireless networks is another problem discussed in[28]. Cheng et al.[28] have used PSO for channel assignment in wireless mesh networks. Considering the researches done, there is still a need to optimize network resource usage.

Regarding limited network resources, the proposed method tries to reduce network overhead while keeping message delivery ratio in a good range. The next section discusses the proposed method.

3 Proposed method

As was mentioned before, DTNs are wireless ad hoc networks with intermittent connections, variable data rate transfer, long variable delay, etc. There is not often an end-to-end connection between the source and the destination. The DTN architecture is shown in Figure 1. The DTN architecture uses a bundle layer between the transport and the application layer. The bundle layer prepares the SCF mechanism and connects heterogeneous networks. Messages sent in DTNs have variable length and are called bundles.

Figure 1
figure 1

DTN architecture.

Node resources such as buffer, energy, etc. are limited. Due to these problems, routing in DTNs is challenging. When designing DTN protocols, different parameters should be considered. Various applications need different parameters to be tuned. In some cases, designers want to improve message delivery ratio while reducing overhead. Some others aim to reduce message delivery delay, etc. Increasing the number of message copies helps to improve message delivery ratio while increasing overhead and message drop. On the other hand, reducing the number of message copies helps to decrease overhead while increasing message delivery delay and reducing message delivery ratio. So, the number of message copies distributed in the network has high importance, which will be discussed in this paper.

In this paper, by means of controlling the number of message copies, we try to reduce overhead while maintaining message delivery ratio in a good range (delivery ratio >90%). Since in DTN, increasing the number of message copies delivered to the destination is important, increasing message delivery ratio as much as possible is essential for us. We use PSO to choose the appropriate number of message copies.

The proposed algorithm uses PSO. PSO is a successful method among evolutionary algorithms (EA) to solve optimizing problems. It was first developed by Kennedy and Eberhart[29] in 1995. At first, it was designed to simulate social systems such as bird flocks. In PSO, each possible solution, called particle, is assigned location and velocity. Each particle stores its location and fitness. Pbest is assigned to the best solution locally found. Gbest is given to the particle globally optimized. Using PSODTN, the number of message copies to distribute in the network is found.

In DTN, overhead gives an overview of used resources and is calculated by (1):

Number of relayed messages - Number of delivered messages Number of delivered messages
(1)

Message delivery ratio is defined as the ratio of delivered messages to the created ones.

In this approach, we use message delivery ratio as the fitness function. PSODTN tries to reduce overhead while maintaining message delivery ratio in a good stage (message delivery ratio >90%).

As was mentioned before, SCF is used in DTNs because intermittency in DTNs makes conventional MANET routing protocols inefficient. Choosing the appropriate number of message copies has great importance since large numbers cause great overhead in the network and few numbers of copies can lead to message drop. When there are few message copies in the network and message time to live (TTL) gets 0, the message will be dropped. PSODTN tries to select enough copies considering message delivery ratio while reducing message overhead.

If there are M nodes distributed in a square area of N2, and the node transmission range is r ≪ L, then the meeting probability between two nodes is found by (2)[30]:

p2ωrE V * / L 2
(2)

In (2), because of random waypoint (RWP) mobility used in our simulations, ω = 1.3683[30].

The average relative speed is found by (3)[31]:

E V * = ω π v 1 2 0 2 v 1 x 2 1 - 2 v 1 2 - x 2 2 v 1 2 2 dx
(3)

v1 shows the average speed of a node. As stated in[32], relative speed in RWP is found by (4):

v rwp 1.75
(4)

The expected meeting time between nodes is found by (5)[32]:

E M rwp = 1 p v ¯ rwp + 2 1 - p N 2 2 R L ¯ T ¯ + T ¯ pause
(5)

Tpause, which states the average pause after an epoch, belongs to [0,Tmax].

The average speed of a node in RWP is declared as (6)[33]:

V ¯ = v max - v min / ln v max / v min
(6)

Epoch duration is found by (7)[33]:

T ¯ = L ¯ / V ¯
(7)

L ¯ , the epoch length for a square area, is found by (8)[34]:

L ¯ =0.5214N
(8)

Expected delay in RWP is found by (9)[10]:

ED= H M - 1 M - 1 E M rwp
(9)

In calculating the delay of PSODTN, we have to consider PSO delay in addition to the delay caused by sparse networks.

In the proposed approach, expected delay is found as follows (10)[13]:

E D PSODTN =ED× D PSO D PSO > 1
(10)

DPSO shows the delay caused by PSO in finding the appropriate number of copies.

4 PSODTN simulation

Opportunistic network simulator environment (ONE)[35] is used to evaluate the proposed method. ONE is a Java-based software developed in the University of Helsinki in Finland[36]. Simulations have been repeated for 50 times and results are averaged.

In our simulations, c 1 = c 2 = 1. We have studied different swarm size population to choose the appropriate size.

Two scenarios were implemented to evaluate the proposed method.

In the first scenario, buffer size is varied from 10 to 100 M. The other settings are shown in Table 1.Considering overhead ratio (Figure 2), average hop count (Figure 3), and message delivery ratio (Figure 4), we try to find the population size for PSO. It should be selected such that, besides reducing network overhead and average hop, it keeps message delivery ratio in a good state (delivery ratio >90%).

Table 1 Parameters used in simulating scenario 1
Figure 2
figure 2

Overhead ratio comparison among PSO population sizes of 30, 50, and 100 regarding buffer size change.

In Figure 2, we change the PSO population size while varying the buffer size to investigate overhead ratio. Average hop count is considered in Figure 3 in which we changed the population size while alternating the buffer size.Figure 4 shows message delivery ratio changes when the buffer size varies. As it was observed in Figures 2,3, and4, when the population size is set to 100, on average, overhead increases to 117.556 while increasing average hop count to 3.59 and message delivery ratio to 99%. When the population size is set to 30 or 50, on average, the overhead is 5.13, average hop is 2.27, and message delivery ratio reaches 98.35%.

Figure 3
figure 3

Average hop count comparison among PSO population sizes of 30, 50, and 100 regarding buffer size change.

Figure 4
figure 4

Message delivery ratio comparison among PSO population sizes of 30, 50, and 100 regarding buffer size change.

As the population increases, message delivery ratio increases while increasing overhead. Average hop count will also increase. Regarding this study, we set the population size to 30.

In another investigation, to choose population size, we changed TTL from 300 to 3,600 s. The other settings are shown in Table 2.In this experiment, we also try to choose the appropriate population size regarding overhead (Figure 5), message delivery ratio (Figure 6), and average hop (Figure 7).

Table 2 Parameters used in simulating scenario 2
Figure 5
figure 5

Overhead comparison among PSO population with 30, 50, and 100 regarding TTL change.

Figure 5 shows overhead comparison among different PSO population while changing TTL. On average, when the population size is set to 30, overhead ratio reaches 5.1311. When the population size is set to 50, on average, overhead becomes 5.148892. If the population size is set 100, overhead gets 5.1511 on average.Figure 6 shows message delivery ratio comparison while changing TTL in different population sizes. As it can be seen, on average, in the population size of 30, message delivery ratio becomes 98.4717%; in the population size of 50, message delivery ratio reaches 98.2983%; and in the population size of 100, message delivery ratio becomes 98.4067%.Hop count comparison when changing the population size in different TTLs is illustrated in Figure 7. In the population size of 30, on average, hop count becomes 2.259242. On average, in the population size of 50, hop count reaches 2.270442 and in the population size of 100, hop count reaches 2.267642.

Figure 6
figure 6

Message delivery ratio comparison among PSO population with 30, 50, and 100 regarding TTL change.

Figure 7
figure 7

Average hop count comparison among PSO population with 30, 50, and 100 regarding TTL change.

Regarding our observations, we set the PSO population to 30. Now that we have found the appropriate population size, we study PSODTN performance in comparison to epidemic routing (ER) and PROPHET. In the first scenario, parameters are set as Table 1 and the buffer size varies from 10 to 100 M.Overhead ratio is shown in Figure 8. As shown in the picture, overhead ratio in PSODTN has decreased by 95.71% compared to that in ER and 95.7% less than that in PROPHET.Message delivery ratio is illustrated in Figure 9. As it can be seen, PSODTN message delivery ratio has not changed sensitively compared to ER and PROPHET. On average, PSODTN message delivery ratio is 98%.Hop count is shown in Figure 10. The average hop count in PSODTN is 55.56% fewer than that in ER and 37.85% less than that in PROPHET.Message delivery delay is illustrated in Figure 11. Using PSO causes increase in delay. Since the nature of DTN is delay tolerant, this delay is tolerable for us.

Figure 8
figure 8

Overhead ratio comparison among ER, PROPHET, and PSODTN regarding buffer size change.

Figure 9
figure 9

Message delivery ratio comparison among ER, PROPHET, and PSODTN regarding buffer size change.

Figure 10
figure 10

Average hop comparison among ER, PROPHET, and PSODTN regarding buffer size change.

Figure 11
figure 11

Message delivery delay comparison among ER, PROPHET, and PSODTN regarding buffer size change.

Considering the results of the first scenario, these simulations prove PSODTN success in comparison to ER and PROPHET.

The second scenario considers changing TTL from 300 to 3,600 s. Other settings are shown in Table 2.Overhead ratio is shown in Figure 12. As shown in the picture, overhead ratio in PSODTN has decreased by 98.11% compared to those in ER and PROPHET.Message delivery ratio is illustrated in Figure 13. As it can be seen, PSODTN message delivery ratio has not changed sensitively compared to ER and PROPHET. On average, PSODTN delivery ratio is 98%.Hop count is shown in Figure 14. The average hop count in PSODTN is 13% fewer than that in PROPHET and 27% less than that in ER.Message delivery delay is shown in Figure 15. PSO causes delay to increase compared to ER and PROPHET. But the delay is tolerable, and reducing overhead while maintaining message delivery ratio in a good state (delivery ratio >90%) is our main concern.

Figure 12
figure 12

Overhead ratio comparison among ER, PROPHET, and PSODTN regarding TTL change.

Figure 13
figure 13

Message delivery ratio comparison among ER, PROPHET, and PSODTN regarding TTL change.

Figure 14
figure 14

Average hop comparison among ER, PROPHET, and PSODTN regarding TTL change.

Figure 15
figure 15

Message delivery delay comparison among ER, PROPHET, and PSODTN regarding TTL change.

Considering both scenarios, overhead has reduced by an average of 95.6% compared to ER and PROPHET while we have a message delivery of 98%.

This trial also proves PSODTN success in reducing overhead while maintaining message delivery ratio in a good stage.

5 Conclusions

Delay-tolerant networks are sparse networks with intermittent connections. DTNs have different applications such as wildlife tracking, military battle field networks, etc. Conventional MANET routing protocols are not useful in these networks because of intermittency. SCF is used in these networks for transferring messages. Finding the appropriate number of copies distributed in the network is very important since fewer ones lead to message drop and large numbers cause huge overhead. In this paper, PSO is used to find the appropriate number of message copies. This helps to reduce network overhead while maintaining message delivery ratio in a good range. Two scenarios were tested to evaluate PSODTN. Considering both scenarios, overhead has reduced on average by 95.6% compared to ER and PROPHET. Message delivery ratio in PSODTN is on average 98%. Simulations prove PSODTN success in finding the appropriate number of message copies.

Future works should consider other optimization methods. Comparing different optimization methods in finding the appropriate number of copies helps to choose the method which has less overhead accompanied with more message delivery ratio. In addition to optimizing overhead, buffer usage and message delivery delay should also be considered for optimization in future works. Designing hybrid methods to solve these multi-objective optimization approaches should be evaluated in future works.