Congestion Control Mechanism for Intermittently Connected Wireless Network

,


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.

Mobile Information Systems
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.

Related Works
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.

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  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  interval can be obtained where  first and  last 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 1/.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, where ENM  ( | ) 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 size(), and the occupied buffer UsedBuffer(), we can determine the congestion threshold.
where size() and () can be obtained as follows: where size(  ) denotes the length of packet   and  denotes the number of packets in the buffer.

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 Consequently, the total indirect time interval    ( | ) for node  which encounters with node  after meeting with node  can be obtained as where () = min{ :  , ≥  , }.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.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  ,first and  ,last 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  1 ,  2 , . . .,   are the ID of encountered nodes and   1 ,   2 , . . .,    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,   (  ) > 0, ( = 1, 2, . . ., ).Taking into account all the divisions of historical encounter event, the delivery probability of packets can be evaluated as where  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.

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 [16][17][18].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 [19][20][21][22].
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,  1 ,  2 , . . .,   , 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  min 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.

Replacing part
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 [23][24][25][26].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 [27][28][29][30].
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 ( 2 ) 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 ( 2 ) 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.

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) [31][32][33][34].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  overhead represents the overhead ratio,   is the total times of packet forwarding,   is the number of successfully transmitted packets [35][36][37][38].
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 (1) node  encounter node j;// (2) while(connection is up)// (3) { (4) switch summaryvector( i, j);// (5) updatenodeserviceability list;// (6) updatedatariskrank list;// (7) count thre and dividingcacheregion;// (8) if( node i is the destination node of new data)// (9) while( freebuffersize < newdata.size ) (10) {remove the data that  is maximum in repacing cache region };// 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.

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 5-7.
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 Mobile Information Systems 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.

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.

Figure 2 :Figure 3 :
Figure 2: Effects of buffer size on load ratio.

Figure 4 :Figure 5 :
Figure 4: Effects of buffer size on average delay.

Figure 6 :Figure 7 :
Figure 6: Effects of message interval on delivery.
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 Assume that the meeting time between node  and nodes  and  is recoded as   and   .
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 .