Abstract

Based on the “storing-carrying-forwarding” transmission manner, the packets are forwarded flexibly in Intermittently Connected Wireless Network (ICWN). However, due to its limited resources, ICWN can easily become congested as a large number of packets entering into it. In such situation, the network performance is seriously deteriorated. To solve this problem, we propose a congestion control mechanism that is based on the network state dynamic perception. Specifically, through estimating the congestion risk when a node receives packets, ICWN can reduce the probability of becoming congested. Moreover, due to ICWN’s network dynamics, we determine the congestion risk threshold by jointly taking into account the average packet size, average forwarding risk, and available buffer resources. Further, we also evaluate the service ability of a node in a distributed manner by integrating the recommendation information from other intermediate nodes. Additionally, a node is selected as a relay node according to both the congestion risk and service ability. Simulation results show that the network performance can be greatly optimized by reducing the overhead of packet forwarding.

1. Introduction

Recently, Intermittently Connected Wireless Network (ICWN) has received wide attentions from academia and industry [1]. Due to the sparsity of the node distribution and random movements, a connection between two nodes is dynamic. As a result, the transmitted packets between two nodes can be easily lost, which will lead to the frequent route reestablishment and recovery in ICWN [2]. On the other hand, in practice, the node movement can improve the probability of establishing a connection and thus the network capacity can be improved [3, 4]. Taking advantage of such temporary connections, researchers propose ICWN and design the corresponding architecture [5], in which the nodes except the source and destination nodes can work as the relay. Instead of using the traditional packet forwarding manner (i.e., storing-forwarding), ICWN carries packets in a “storing-carrying-forwarding” way with the help of relay nodes and finally sends packets to reach their destinations.

To realize successful packet transmission and reduce delivery delay, multiple copies of the same packet are injected into ICWN. However, due to limited network resources in ICWN, the buffers of nodes can get saturated quickly. As a result, nodes getting full cannot accommodate more packets, which will result in network congestion. Thus, we have to investigate the network congestion control problem, so as to greatly improve the QoS (Quality of Service) and effectively enhance resource utilization [6].

To address the problem, we propose a dynamic network state perception based on network congestion control mechanism (DNSP-CCM) in this paper. Specifically, we evaluate a node’s congestion risk before it receives packets. Particularly, we evaluate the congestion risk in a distributed manner. We also set up the congestion risk threshold that will be adjusted dynamically according to the dynamic network condition. Moreover, we also evaluate a node’s service ability, (i.e., a node’s message forwarding capability). The service ability can be determined according to the direct encounter probability with other nodes and the indirect encounter probability with the same nodes. We select the node with higher service ability to carry and forward packets. As a result, packets can be transmitted to their destinations in a cost efficient manner so as to effectively alleviate the congestion.

The main contributions of this paper are summarized as follows.

First, we propose a congestion risk evaluation method. The congestion risk level is measured by considering the network status and the buffer size of a node. In particular, the congestion risk threshold is dynamic and changed according to the link condition.

Second, we evaluate a node’s service ability. The service ability is evaluated by jointly considering the direct and indirect encounter probability.

Third, we design an adaptive network congestion control strategy based on the congestion risk and service ability. Specifically, we propose an adaptive buffer separation method, (i.e., the forwarding buffer and replacing buffer). According to the transmission status and a link’s capacity of a local buffered packets, a node needs to determine the packets needed for forwarding or replacing to enhance the network performance.

The remainder of this paper is organized as follows. Section 2 surveys some research works related to the current congestion control methods. The proposed congestion risk evaluation method is described in Section 3. Section 4 examines an estimation method to measure a node’s service capability. Then, an adaptive congestion control mechanism is designed based on the evaluation results of the congestion risk and service capability in Section 5. We show the simulation results in Section 6. Finally, we conclude this paper in Section 7.

So far, researchers have made great efforts to solve the problem of the network congestion in ICWN. Lo and Lu [7] proposed a mechanism combining with node’s neighborhood buffers and node’s encounter probability. By obtaining neighborhood nodes’ buffer status, a node can dynamically adjust packets quota in order to avoid nodes congestion. This method can alleviate the possibility of changing to congestion status. However, once a node turns into the congestion status, this method only chooses packets to drop by hop counts, which is not reasonable. Besides, only considering the direct encounter probability is unable to well estimate the node’s packet forwarding ability.

To make full use of a node’s social attributes in ICWN, Daly and Haahr [8] proposed a mechanism which chooses relay nodes based on node relations. However, it ignores the fact that so many nodes are having some relations and thus too many redundant copies of a message occur. Thus, it is easy to cause the network congestion [9]. The node’s historical encounter information was utilized to estimate three basic parameters (i.e., the probabilities for head-of-line-blocking, reliability, and deletion in [10]). Nodes make their decisions by these parameters.

On the other hand, researchers considered to use the local congestion status as the network congestion in the area [11]. The forwarding priority is determined according to the degree of data diffusion at the local buffer. Moreover, redundant message copies can be deleted through the active response mechanism. However, the network status cannot be derived from a single node’s congestion status. To speed up the data transmission, [12] uses “interest return” and “opportunity consumption” to evaluate the influence on a node’s local congestion status and then decide whether to receive messages. This method can alleviate the network congestion and improve network performance to some extent. However, it adopts a fixed congestion threshold, and thus it cannot perceive the really current resource usage.

3. Congestion Risk Evaluation

According to the basic principle of packets forwarding in ICWN, after encountering between two nodes, they need to exchange the packets which are not in the buffer [13]. Obviously, for forwarding multicopy packets, network congestion risk brought by the received packets is directly related to the buffer space. If nodes get more packets, the capacity of continuing to receive packets from other nodes will decrease, resulting in more and more nodes’ residual buffer resource decreasing because of the limited buffer resource. If this situation goes on, some areas would generate congestion and then make the whole network congestion. What is more, if nodes have more buffer resources, they can carry more packets to forward, making the probability of dropping packets decrease. So packets can be carried by more nodes which lead to improve delivery ratio. In order to enable nodes to estimate the real-time network congestion level, nodes can achieve the congestion controlling. The risk of network congestion caused by the received packets has to be evaluated.

The packet transmission requires cooperation among multiple relay nodes. Meanwhile, in a given period, the more times a relay node encounters with other nodes, the more chance of diffusion of packets can be gained. Therefore, with the encounter interval between nodes, the larger amount of copies will be injected into the network, which possibly results in higher congestion probability. In addition, the larger Expected Node Meeting Time (ENM), which is defined as a mathematical expectation of nodes encounter interval, the more relay nodes used to carry the packets. Therefore, the forwarding risk level of the forwarding node is defined as follows: where is the probability of occurring the network congestion when packets are injected into ICWN. Moreover, the value of can be obtained where and denote the time of first encounter and the last encounter, respectively, between the two nodes, and denotes the total encounter counts.

As can be seen, in order to get the value of forwarding risk level, nodes need to know encounter time showing the number of times from current time to the next encounter time between two nodes. The law of nodes movement indicates that ENM of nodes in ICWN obeys the exponential distribution with parameter and the value of ENM is . It can be described as Generalized Stationary Random Process, whose autocorrelation is only related to time interval [14, 15]. Thus, the encounter time of the next future can be estimated by the node’s historical information.

Therefore, the expectation of encounter interval between two nodes can be obtained where denotes the expectation of encounter interval between node and node , denotes the duration from last encounter to current encounter, denotes the each interval between nodes encounter, and denotes the encounter times between nodes.

Using multicopy packet forwarding scheme, a relay node can continuously receive the copies of a packet. As a result, its buffer is getting crowded. If the residual buffer resource is very low, the node is unable to accept newly arriving packets. In this case, we say that this node comes into the congestion status. To evaluate the congestion level, we consider the packet length and available buffer resources. With the longer packet length, the temporary link will be occupied longer. On the other hand, the higher buffer utilization means that the network load is higher, which results in the higher increase in the forwarding risk and congestion risk. Combining both factors, we can obtain the congestion risk before receiving newly arrived packets.

Therefore, combining the average forwarding risk , the average packet length , and the occupied buffer , we can determine the congestion threshold. where and can be obtained as follows: where denotes the length of packet and denotes the number of packets in the buffer.

4. Service Ability Estimation

The node encounter probability and the number of successfully delivered packets are two important parameters used to describe the service capability. Moreover, as ICWN adopts the “storing-carrying-forwarding” method, packets are stored in multiple relay nodes and no direct path is between two nodes. Therefore, we evaluate the packet delivery status by jointly considering the direct and indirect encounter probabilities.

Obviously, the encounter probability can be obtained directly by the encounter times between two nodes. Thus, direct encounter probability of given node pair is shown as follows.

Definition 1. The direct encounter probability between node and is defined as the ratio of encounter times for node encountering and the total times node encountering all other nodes; that is, The indirect encounter probability is limited to indirect encounter time interval, average indirect encounter time interval, the total of indirect encounter time interval, and the number of indirect encounters. The indirect encounter time interval means a duration when a node meets another node, node , after node having met another node, node . For an example, an engineer, considered as node , goes to company. Before meeting his partner, considered as node , he may meet with security officer of his company, considered as node . So node can help node to forward packets to node . The indirect encounter time interval means that the duration node meets with node after its meeting with node . Within a given period of time, the more the number of encounters between nodes, the greater the probability of encounter. Therefore, we use indirect encounter time interval as the estimation parameter of indirect encounter probability. It can make the estimation result more accurate and is conducive to improve the network performance. The definition of indirect encounter probability is shown as follows.

Definition 2. Indirect encounter time interval denotes the duration from the node encountering with node after node having met with .
Assume that the meeting time between node and nodes and is recoded as and .Consequently, the total indirect time interval for node which encounters with node after meeting with node can be obtained aswhere . The average value of can also be obtained as follows: where is the indirect encounter times.

Obviously, the indirect encounter probability is determined by the indirect meeting interval. The lower average value, the higher encounter frequency. Therefore, we use its average value to evaluate the indirect encounter probability in this paper. The definition of indirect encounter probability is shown as follows.

Definition 3. Indirect encounter probability denotes the probability of node encountering with node and consequently encountering with node .where is the given period, denotes the indirect encounter time interval, denotes the total indirect encounter time interval, and is the average indirect encounter time interval.

If the encountered node is the destination of a packet, the indirect encounter probability is where is the average meeting interval of node and node and can be obtained as follows:where denotes the encounter times and and denote the first encounter time and last encounter time between node and node , respectively.

In ICWN, each node maintains an encounter information table, within which each item will be updated timely. We show the encounter information table in Table 1, where are the ID of encountered nodes and are the every historical encounter time.

Obviously, history information table meets the constraint of complete event group, and each encounter node can be viewed as the corresponding division. Therefore, , (). Taking into account all the divisions of historical encounter event, the delivery probability of packets can be evaluated aswhere denotes the number of encountered nodes by node . Further, the service ability of node for packet can be obtained.where is the number of successfully delivered packets. It can be seen that the higher delivery probability can lead to the higher service ability.

5. Adaptive Congestion Control

The congestion threshold should be determined before forwarding packets reasonably. To exploit the resources of a temporary link raised by node movement, the number of packets to be forwarded should be adjusted based on the current network state [1618]. In this paper, we design an adaptive buffer partition method to well utilize the limited buffer resources. Specifically, the buffer is separate into two parts, that is, forwarding part and replacing part. Moreover, we adjust the separation of the buffer adaptively, highly depending on the transmission status and the link condition [1922].

Based on the principle of the packet forwarding in ICWN, means the number of forwarding times which is related to the consumed network resources and has high impact on the congestion status. Thus, for the packets to be forwarded in the buffer, the first packets, , are injected into the forwarding buffer, while the remaining packets are sent to the replacing buffer. It can be seen that the two parts of the buffer are dynamically adjusted according to the current state. The dynamic threshold is set by the estimated node transmission capacity and the packets state in the buffer.where is the minimum length of the buffered packets by node and denotes the estimated transmission capacity for current temporary of node , which can be obtained as follows.where denotes node ’s transmission capacity of th connection, it can be obtained from the encounter information table, and is the total encountered times.

On the other hand, to forward the packets to their destinations with less forwarding times, the packets in forwarding part are sorted in a descending order of the service capability . As a result, the higher priorities are assigned for these packets. Additionally, the packets in the replacing part are sorted in ascending order according to their congestion risk . The basic principle of adaptive buffer partition is shown in Figure 1.

As can be seen, congestion control process mainly involves two aspects, that is, receiving packets and forwarding packets. For receiving packets, it is essential to determine whether to receive the packet while the residual buffer resources cannot accept newly arrived packet. When deciding to receive packets, the node replaces the packets from the local buffer resource in the region caused by the risk degree of network congestion The buffer operation can solve the problem of the priority of the internal packets forwarding in the buffer [2326]. According to the basic principle of the ICWN packets forwarding, after encountering two nodes, they need to exchange the congestion state and the packets saved in the buffer [2730].

The specific operation process of the proposed congestion control mechanism is as follows.

Step 1. When a new packet is generated, the node assigns it with a corresponding identity (Identity, ID) and calculates the forwarding risk .

Step 2. When nodes meet, they exchange their own historical encounter vectors and update their own historical encounter information.

Step 3. When packets are being transmitted between nodes, they are transferred from the head to the tail of the team one by one in the waiting area. Before receiving packet, it is necessary to verify whether the node is packet ’s destination. If being verified successfully, then it calculates the local residual buffer to check whether it is sufficient to accommodate the packets. If the buffer is enough, the node receives the packet directly; otherwise, based on the historical encounter information reserved locally, the node replaces the packet with the largest congestion risk until it is sufficient to accommodate the packet . On the other hand, if the local node is not the packet m’s destination, then it estimates the packet ’s receiving risk . If is less than the node’s local congestion risk threshold , the packet ’s forwarding risk level is reduced by one.

Step 4. If is more than the node’s local congestion risk threshold , node’s service ability should be calculated. If the local node’s service ability for is stronger than the case of the encounter node, the maintenance of the packet forwarding risk level cannot be changed and node would receive the packet.

Based on the above description, the time complexity is where means the total number of buffered packets in a node. Since node should exchange packets and calculate the and then nodes’ service ability, the result may be at the worst situation but can be at the best situation if all the transmitted packets’ destination is the received node and it has enough rooms for these packets.

Data forwarding process pseudocode is shown in Algorithm 1.

(1) node encounter node ;//
(2) while(connection is up)//
(3)
(4)  switch summaryvector( );//
(5)  updatenodeserviceability list;//
(6)  updatedatariskrank list;//
(7)  count thre and dividingcacheregion;//
(8)  if( node is the destination node of new data)//
(9)   while( freebuffersize < newdata.size )
(10)    remove the data that is maximum in repacing cache region ;//
(11)      nodei.messagebuffer.receive( new message );//
(12) else if( newdata.U > node i.buffer.U )//
(13)     If (nodei.D > nodej.D) //
(14)     newData.R++;
(15)     nodei.messagebuffer.receive( newmsg );
(16)     //
(17)     else nodei.buffer.refuse( newdata );//
(18)    
(19)     else newdata.R−−; nodei.messagebuffer.receive( newmsg ); //
(20)
(21) connectiondown;

6. Numerical Results

In order to evaluate different packet forwarding mechanisms, we use the Opportunistic Networks Environment (ONE) network emulator in this paper to verify our dynamic network state perception based network congestion control mechanism (DNSP-CCM) [3134]. Further, the performance of DNSP-CCM is compared with several classical mechanisms, First-In First-Drop (FIFD), Last-In First-Drop (LIFD), Drop Least Remaining Life (DLRL), and Drop Most Remaining Life (DMRL).

The performance factors include the delivery ratio, delay, overhead ratio, and load ratio, where the overhead ratio is defined as the proportion between redundant packets forwarding times and the number of successfully delivered represents the overhead ratio, is the total times of packet forwarding, is the number of successfully transmitted packets [3538].

Load ratio is defined as the ratio of the number of messages not successfully delivered and the number of successfully delivered copies, reflecting the network load and transmission overhead.

Besides, two kinds of evaluation methods are utilized, including map-based community model and Infocomm Data model. Map-based community model restricts the movements of nodes to actual streets in an imported map. In our simulation, we use a map of 800 m × 800 m section of Helsinki, Finland. Moreover, the node number is 126, and the transmission range is set to 10 m. Transmission speed for all the nodes is set to 250 KBps. We also assume that the packet length follows exponential distribution within the range of 200, 500 KB. The Infocom06 data model, which was collected at the 2006 Infocom Conference, contains opportunistic Bluetooth contacts between 98 iMotes, 78 of which are distributed to Infocom06 participants and 20 of which with external antennas (providing longer range) are deployed at several places at the conference venue to act as APs.

6.1. Network Performance under Different Buffer Size

The buffer size has definite influences on load ratio, delivery ratio, and average delay. Figure 2 shows the effects of different buffer sizes on load ratio of five routing mechanisms.

From Figure 2, the load ratio of the five routing mechanisms decreases with the increase of the buffer. The main reason is that, with the increase of the buffer, nodes can carry more messages to improve the probability of successful forwarding while reducing the probability of messages which will be discarded because of buffer overflow. Compared with other mechanisms, the load ratio of DNSP-CCM is the lowest, with 54.2% lower than the of FIFO, 49.9% lower than DLRL, 58.2% lower than LIFD, and 56.5% lower than DMRL. The main reason is that the DNSP-CCM is not only considered the risk of network congestion caused by the messages replacement. In addition, the direct encounter probability and the indirect probability between nodes make the delivery estimation more accurate, choosing the relay node more reasonable and improving the utilization of network resources.

As shown in Figure 3, the delivery ratio of these mechanisms increases with the increase of buffer size. The reason is that, with the increase in buffer capacity, the capacity of node carrying messages increases, and the probability of node congestion level becomes small while the probability of successful delivery is increased. The graph indicates that the delivery ratio of DNSP-CCM is 16.7 higher than that of DLRL, 10.6% higher than FIFO, 22.7% higher than LIFD, and 15.1% higher than DMRL. The results show that DNSP-CCM can select the relay nodes more accurately, reduce the generation of redundant copies, and avoid the part of copies in the forwarding.

As shows in Figure 4, the average delay of the five mechanisms gradually is increased with the increase in buffer size. The main reason is that, with increasing the buffer size, the more messages can be carried by nodes, and the copies can be replaced or discarded in a short time. Therefore, the possibility of the messages in a longer period of time is increased, and then overall average delay is increased. Compared with the other four mechanisms, the performance of DNSP-CCM is the best. This is because that DNSP-CCM can take advantage of direct encounter time interval and indirect encounter time interval between nodes to estimate the nodes direct encounter probability and indirect encounter probability. Thus, the service capability of the nodes is more accurate, and the copies can be successfully delivered in a shorter time.

6.2. Network Performance under Different Packets Generation Interval

The time interval of packets generation can directly reflect the network load. In the case of limited buffer, the shorter the time interval of packets generation, the more likely causing network congestion. The load rate, delivery ratio, and transmission delay of five mechanisms under different buffer sizes are compared from Figures 57.

From Figure 5, we can see that the load rate for the five mechanisms is rising with the increasing of the time interval of packets. The main reason is that, with the increase in the time interval of packets generation, the total amount of packets generated in the network is reduced. Thus, the number of forwarding packets and the number of successfully delivered packets are declining trend. However, due to the decline in the number of forwarding packets, the trend is smaller than the number of successfully delivered packets, which leads to the increase in the load rate with the increasing time interval of packets generation. Compared with other routing mechanisms, the load rate of DNSP-CCM is the lowest. The load rate of DNSP-CCM was 65.6% lower than that of FIFO, 57.7% lower than DLRL, 69.7% lower than LIFD, and 70.9% lower than DMRL. This is because DNSP-CCM can better use the risk value of the replacement and effectively measure the benefits and disadvantages of forwarding to replace the packets. Thus, making a more accurate decision, avoid the occurrence of network congestion reduces the unnecessary data forwarding and ensure the lower network load ratio.

Figure 6 shows that the delivery ratio of the five mechanisms increases with the increase of the time interval of packets generation. As mentioned above, the main reason is that, with the increase of the time interval of packets, the total amount of packets generated in the network is reduced, and the number of successful deliveries is less than the total amount of packets. Among them, the delivery rate of DNSP-CCM was higher than that of FIFD, 47.8% higher than DLRL, 34.7% higher than, 72.7% higher than LIFD, and 57.2% higher than DMRL. The results show that the DNSP-CCM can effectively use the packets to replace the risk value of network congestion and reasonably utilize the node’s direct encounter probability and the probability of indirect meeting to determine the node service capacity, so as to select the appropriate relay node, avoid the data forwarding process being replaced or discarded, and ensure the successful delivery of data.

Figure 7 demonstrates that the transmission delay of each mechanism decreases with the increase in the time interval of the packets. This is because of the short time in packets generation. Since the amount of packets generated in the network is large, it can easily lead to the overflow of the buffer and reduce the chance of data forwarding in the condition of limited buffer. With the increase in the time interval of the packets, the total amount of packets in the network is reduced, the chance of the packets is forwarded, and the availability of the node buffer resource is increased. Therefore, the network transmission delay is reduced. Among them, the performance of DNSP-CCM is the best, because DNSP-CCM can control network congestion, increase the opportunity of packets delivery, and use the service ability of the nodes to select the intermediate nodes. As a result, the packets can be successfully delivered in a short time.

7. Conclusion

In this paper, we proposed a network congestion control mechanism with the dynamic network state perception to improve the performance of the network. In order to reduce the network overhead and transmission delay, we jointly consider the risk of network congestion caused by node forwarding substitution and the service capability of nodes to accurately evaluate the network state. The proposed DNSP-CCM can improve the packets forwarding capability, control the unnecessary data flooding and network congestion, and then improve the network performance.

Competing Interests

The authors declare that they have no competing interests.

Acknowledgments

This work is supported in part by the National Natural Science Foundation of China (61371097) and Youth Talents Training Project of Chongqing Science & Technology Commission (CSTC2014KJRC-QNRC40001).