Using ant-based agents for congestion control in ad-hoc wireless sensor networks

13
Cluster Comput (2011) 14: 41–53 DOI 10.1007/s10586-009-0090-2 Using ant-based agents for congestion control in ad-hoc wireless sensor networks Sanjay K. Dhurandher · Sudip Misra · Harsh Mittal · Anubhav Agarwal · Isaac Woungang Received: 6 January 2009 / Accepted: 11 May 2009 / Published online: 29 May 2009 © Springer Science+Business Media, LLC 2009 Abstract Ad-hoc wireless sensor networks suffer from problems of congestion, which lead to packet loss and ex- cessive energy consumption. In this paper, we address the issue of congestion in these networks. We propose a new routing protocol for wireless sensor networks namely Ant- based Routing with Congestion Control (ARCC), which takes into account the congestion of the network at a given instant and proposes to reduce it and then finds the optimum paths between the source and the sink nodes. Simulation re- sults show that ARCC performs better with respect to the throughput, the number of packets lost and the priority per- formance. Keywords Ant-based agents · Congestion control · Ad hoc wireless sensor networks · Routing 1 Introduction A sensor network comprises of a group of sensor nodes dis- tributed in an area and connected to one another through S.K. Dhurandher ( ) · A. Agarwal CAITFS, Division of Information Technology, Netaji Subhas Institute of Technology, University of Delhi, New Delhi, India e-mail: [email protected] S. Misra School of Information Technology, Indian Institute of Technology, Kharagpur, West Bengal, India H. Mittal Division of Computer Engineering, Netaji Subhas Institute of Technology, University of Delhi, New Delhi, India I. Woungang Department of Computer Science, Ryerson University, Toronto, Ontario, Canada various communication links. These communication links may be wired or may even be wireless. In this paper, the sensors, also referred to as nodes with some kind of sens- ing capability, have been considered to be having connec- tions through wireless links. This architecture of a network is often referred to as a Wireless Sensor Network (WSN) [17]. Further, an ad hoc network consisting of these sensor nodes, where the nodes are moving with varying speeds in different directions are known as Sensor Ad-hoc Networks (SANETs). Unlike fixed wired networks, routing is a complex task in ad-hoc networks owing to the dynamic nature of network topology and the absence of fixed routers and access points. The assemblage of facts, hop counts and paths in an ad-hoc network can result in a great deal of energy and time con- sumption. Recently, with the advancement in technology, the WSNs have found applications in various areas, such as environ- mental monitoring, data acquisition and medical sciences. WSNs have also played a dominant role in the expansion of smart environments. The information for such environments is provided by a network of smart sensors which represent first level of data acquisition and processing. With the advent of ad hoc networks, a major shift has been on increasing the lifetime of sensors through power management, power con- servation and looking for efficient power generation alterna- tives. Since the sensor nodes operate on battery power, en- ergy consumption is found to create a major problem in the distributed sensor networks. Apart from this there are sev- eral other issues as well that are important from the point of view of a sensor network. One of these issues is congestion. In the recent past, a number of works on providing solution to the congestion problem in WSNs, some of which are re- ferred in [815], have also been carried out. Some of these works are discussed in detail in Sect. 2.

Transcript of Using ant-based agents for congestion control in ad-hoc wireless sensor networks

Cluster Comput (2011) 14: 41–53DOI 10.1007/s10586-009-0090-2

Using ant-based agents for congestion control in ad-hoc wirelesssensor networks

Sanjay K. Dhurandher · Sudip Misra · Harsh Mittal ·Anubhav Agarwal · Isaac Woungang

Received: 6 January 2009 / Accepted: 11 May 2009 / Published online: 29 May 2009© Springer Science+Business Media, LLC 2009

Abstract Ad-hoc wireless sensor networks suffer fromproblems of congestion, which lead to packet loss and ex-cessive energy consumption. In this paper, we address theissue of congestion in these networks. We propose a newrouting protocol for wireless sensor networks namely Ant-based Routing with Congestion Control (ARCC), whichtakes into account the congestion of the network at a giveninstant and proposes to reduce it and then finds the optimumpaths between the source and the sink nodes. Simulation re-sults show that ARCC performs better with respect to thethroughput, the number of packets lost and the priority per-formance.

Keywords Ant-based agents · Congestion control · Ad hocwireless sensor networks · Routing

1 Introduction

A sensor network comprises of a group of sensor nodes dis-tributed in an area and connected to one another through

S.K. Dhurandher (�) · A. AgarwalCAITFS, Division of Information Technology, Netaji SubhasInstitute of Technology, University of Delhi, New Delhi, Indiae-mail: [email protected]

S. MisraSchool of Information Technology, Indian Instituteof Technology, Kharagpur, West Bengal, India

H. MittalDivision of Computer Engineering, Netaji Subhas Instituteof Technology, University of Delhi, New Delhi, India

I. WoungangDepartment of Computer Science, Ryerson University, Toronto,Ontario, Canada

various communication links. These communication linksmay be wired or may even be wireless. In this paper, thesensors, also referred to as nodes with some kind of sens-ing capability, have been considered to be having connec-tions through wireless links. This architecture of a networkis often referred to as a Wireless Sensor Network (WSN)[1–7]. Further, an ad hoc network consisting of these sensornodes, where the nodes are moving with varying speeds indifferent directions are known as Sensor Ad-hoc Networks(SANETs).

Unlike fixed wired networks, routing is a complex taskin ad-hoc networks owing to the dynamic nature of networktopology and the absence of fixed routers and access points.The assemblage of facts, hop counts and paths in an ad-hocnetwork can result in a great deal of energy and time con-sumption.

Recently, with the advancement in technology, the WSNshave found applications in various areas, such as environ-mental monitoring, data acquisition and medical sciences.WSNs have also played a dominant role in the expansion ofsmart environments. The information for such environmentsis provided by a network of smart sensors which representfirst level of data acquisition and processing. With the adventof ad hoc networks, a major shift has been on increasing thelifetime of sensors through power management, power con-servation and looking for efficient power generation alterna-tives. Since the sensor nodes operate on battery power, en-ergy consumption is found to create a major problem in thedistributed sensor networks. Apart from this there are sev-eral other issues as well that are important from the point ofview of a sensor network. One of these issues is congestion.In the recent past, a number of works on providing solutionto the congestion problem in WSNs, some of which are re-ferred in [8–15], have also been carried out. Some of theseworks are discussed in detail in Sect. 2.

42 Cluster Comput (2011) 14: 41–53

Fig. 1 Node level and link levelcongestion

In WSNs, congestion can happen because of multiplesource nodes sensing physical phenomena trying to senddata to a sink node at the same time. A congested networkis fraught with issues of reduced throughput, reduced qual-ity service, frequent disruptions, slow rates of transfer, highbit error rate and much more. Thus, it is required to havean effective solution that can tackle the problem of networkcongestion at all levels of WSNs along with a bare minimumlevel of performance at all times of under, normal and overutilization.

Congestion in WSNs can be categorized into two types(refer to Fig. 1). Each sensor node is represented with a cir-cle and the sink node is marked with an ‘S’. The first type isthe congestion at the node level caused by an overflow in thenode—furthering packet loss and retransmission leading toadditional energy consumption. On the other hand, the shar-ing of same wireless channel by several nodes could lead to acollision termed as the link level congestion. This increasesthe packet service time and reduces the overall throughput.Congestion control demands energy efficiency to improveQuality of Service (QoS). In addition, as in any congestionmitigation scheme, we expect a weighted throughput and aweighted fairness to guarantee that sensor nodes fitted withdifferent sensors and hence having different priorities mayrequire weighted fairness.

QoS, being one of the important performance indicatorsin WSNs, should be ensured at all times to the maximum ex-tent. However, this requires analyzing and improving uponall the factors involved in network communication. Routing,as pointed out earlier, is a key factor that can very effec-tively enhance the network performance. The routing proto-col used in the network largely affects the performance ofnetwork in terms of better throughput and efficiency evenat reduced bandwidth. One of the tested and well applied

solution of Dorigo et al. [16], better known as Ant ColonyOptimization (ACO), can be used effectively and with greatease. ACO embodies in itself the components of scalabilityand flexibility, which also forms the core of various networkrelated issues. It is an adaptable solution marked by dynamicsolution evaluation and is used to find the most optimumpaths between an set of communicating nodes. Unlike fixednetwork protocols, ACO-based protocols this algorithm aimat solving an optimization problem in a constraint rich envi-ronment.

This paper investigates the problem of upstream con-gestion in wireless ad hoc sensor networks and proposes aprotocol to relieve it through an integration of ACO-basedrouting protocols and the recently proposed priority basedcongestion control protocol (PCCP) [10]. The proposedscheme, namely Ant-based Routing with Congestion Con-trol (ARCC), hopes to envisage a new paradigm in improv-ing QoS for varying network topologies at various points oftime, rather than a static proposition.

2 Related works

The basics of ACO stem from a real-life observation dis-played in the ingenuity of ants to find a path to their foodsource. A group of real ants on their hunt for food courtsstart form their nests in colonies and disperse thereafter inrandom directions. At every branch on the path, an ant hasto take a conscious decision of which path to take thereafter.This path decision in case of real ants is based on the lo-cal heuristics exhibited in the form of pheromone deposits.Actually, while traveling, every ant leaves behind a trail ofpheromone, indicating the usage of that particular route.With time, however, an arbitrary amount of pheromone

Cluster Comput (2011) 14: 41–53 43

Fig. 2 All ants follow theshortest path marked as sp

evaporates due to certain diffusion effects. This propertymakes the most important feature of ACO as it incorpo-rates the features of dynamism in the evaluation. Figure 2shows a scenario with two routes from the nest to the foodsource. At the intersection, the first ant randomly selects thenext branch. The ants taking the middle route will reach thedestination sooner than the ones taking the upper and thelower ones, as the middle router is the shortest. On theirway back to the nests, again they have to select a path. Withthe progress in the time, the shorter path will have an in-creased concentration of pheromone deposits. The increasedconcentration of pheromone on the shorter path helps iden-tify it and will eventually be used by all ants. This behaviorof real ants, thus, can be utilized to find the optimum path ina network.

Following the proposition of ACO algorithms, severalworks have been done in the field of discrete optimizationsin networks. Among them, the ABC [17] (Ant Based Con-trol) and the AntNet [18] protocols, have been widely usedand implemented for routing in connected and connection-less networks. Other works that use ACO to solve differ-ent problems in sensor networks include [19–23]. Routingis one of the most critical components of network control,and concerns the network-wide distributed activity of build-ing and using routing tables to direct data traffic. The routingtable of a generic node i is a data structure that guides datapackets entering node i as to what should be the next nodeto move to among the set Ni of neighbors of i.

The ABC algorithm uses only the pheromone values todefine the ant routing tables. The approach used is to selectany particular route from a given set of routes at any point oftime by choosing in a deterministic manner. The algorithm isnot satisfactory because it completely overlooks the impor-tance of local heuristics that, if used, can greatly enhance theefficiency of the process.

In AntNet, real trip times experienced by ants are usedto select the best path available. The ants accomplish theprocess of pheromone deposition only after the completepath has been built up. In addition, this scheme uses a localheuristic information to incorporate a measure of networktraffic at each instant of time. This scheme scores over ordi-nary ant-based optimization techniques, because it includes

an option for measuring source rate accumulation which ar-mors it to perform in cases of congestion.

There are other routing protocols also widely used suchas AODV and DSR and their other variants [24–32]. Theseprotocols have been optimized to include source rate accu-mulation features, which enable them to perform effectivelyin terms of routing overhead and delay in time or high loador congestion. The AODV outperforms DSR in a normal sit-uation, but in the congestion situations it is vice-versa. Nev-ertheless, none of these schemes employ a solid congestioncontrol and relieving algorithm to enhance the efficiency atthe behest of lower energy requirements.

Congestion Control and Fairness (CCF) [11] uses the pa-rameter of packet service time to report congestion and thisis then spread over each hop. Every intervening node usesa rate adjustment algorithm to relieve congestion based onits service rate and its child nodes. This, however, is a ma-jor drawback of the CCF algorithm as it may lead to underutilization of the network at times of low traffic. Thus, somemore parameter needs to be incorporated that can accountfor network utilization and ensure certain fairness in the net-work.

Another technique to mitigate congestion, named as Con-gestion Detection and Avoidance (CODA) [9], has been pro-posed in the past. It makes use of broadcast messages up-stream towards the source nodes from the node affected bycongestion. This allows the source nodes to reduce their datasending rates. Thus, congestion, which is taken by authorsas the combination of channel load and buffer occupancyof nodes, is reduced in the network. Another approach pro-posed to alleviate congestion especially for multiple sourcesmakes use of acknowledgments (ACK) by the source to ad-just the sending rates.

A mitigating stagnation-based ACO routing algorithmtakes a very pessimistic view and, thus, suggests changingthe path being followed, if congestion is detected at anytime on the way. This, however, is not a practical approachand has been dealt in ARCC, by waiting to see if resolvingcongestion first and then transmitting can be considered asan option or not. In [10], the congestion whenever detected,is reported through Congestion Notification (CN) bit in theheader of each outgoing packet. Thereafter, the neighboring

44 Cluster Comput (2011) 14: 41–53

nodes can overhear it and stop forwarding more packets tothe congested nodes. This is, however, not acceptable in thecontext of weighted fairness, because it provides no rate ad-justment techniques.

2.1 The priority-based congestion control protocol (PCCP)

This is recent protocol for the congestion problem, becauseit overcomes the two primary limitations in other congestioncontrol-protocols, viz., ensuring weighted fairness and net-work utilization. Although it can be used for both multi-pathand single path routing, here we are interested only in its sin-gle path routing features. Most of the work of the proposedARCC is attached to PCCP, with certain modifications.

PCCP is based on cross-layer optimization aiming at en-suring an element of prioritization in the network. Usuallynodes, because of their deployment and usage enjoy variedlevels of priority. The basic approach of PCCP is introducinga scheduler between the MAC and the network layer. Twotypes of traffic are dealt with in PCCP—namely, the sourcetraffic and transit traffic. The congestion information is com-puted using a weighted function of inter-packet arrival timeand inter-packet service time. This information is then trans-mitted in the network by taking advantage of the broadcastnature of wireless networks. The queue can be scheduled us-ing any of the popular scheduling algorithms such as FCFS,multilevel feedback queue scheduling.

The existing optimization techniques and the protocolshave certain limitations. First, although some of them talk oflocal meta-heuristics in ACO decision making, they do notconsider the prospects when corrective measures are takento resolve traffic on a given path. Second, the congestionprotocols rely on static paths and fail to incorporate the fea-tures of network dynamics.

3 The proposed protocol: ARCC

3.1 Motivation

ARCC has been proposed with the following motivations:

1. In WSNs, sensor nodes often have different prioritiesbased on their function or location. Hence, congestion acontrol protocol needs weighted fairness, so that the sinkcan get throughput from sensor nodes in a weighted fairmanner.

2. Since the number of nodes participating in data commu-nication at a given instant of time varies, the path pre-determined by ACO algorithms may not always be fit.The improvement brought about by congestion controlmay lead to a single path being declared as the most effi-cient one in both minimum traffic times, as well as peakhours.

3. ACO routing protocols need to support QoS in terms ofthroughput, latency, and energy efficiency.

4. The maintenance of routing tables requires a memoryoverhead for each node. Considering the limited energyof sensor nodes, this is an additional overhead of concern.ARCC proposes to mitigate this by running the ARCCalgorithm at every run time, thereby eliminating book-keeping of past records.

ARCC tries to make the existing works compatible for adhoc networks, where the nodes move randomly and, hence,a fixed path predetermined by any of the previous algorithmscan be declared invalid. ARCC proposes the usage of ACOalong with congestion control every time a request is gen-erated for transmission to the sink or its parent by any ofthe nodes in the network. Although similar works have beenproposed [33], they assume that every node will participateevery time during communication and, thus, suggests chang-ing the path being followed, if congestion is detected at anytime on the way. This, however, is not a practical approachand has been dealt in ARCC.

The protocol utilizes the normal pheromone-based ACOapproach to detect the minimum paths. The paths are opti-mal in terms of distance—and, hence, least energy will berequired for transmission through these paths. However, theproportional increase in the pheromone content of a pathover a period of time means more packets using the samepath, thereby leading to congestion.

ARCC detects congestion at a node based on packet (ant)inter-arrival time and inter-service time (time required tomove across a node from previous link to the next link), andif it exceeds a threshold, then the congestion information isset in the node itself, which shall be communicated to thechild nodes by the ants who are on their way back from thesink to the child node.

ARCC uses this congestion notification to avoid thetransmission of additional ants and, therefore, relieving con-gestion. In addition, this increases the probability of otherso called non-optimal paths to be chosen as the candidatesfor the minimum path. Taking advantage of the broadcastnature of the wireless network, this information can be pig-gybacked into the header of the data packets. This is referredto as implicit congestion notification (ICN) [10].

During the time the ant stays in the queue of congestednodes waiting to be serviced, its pheromone deposit is pro-portionally evaporated, signifying the time delay due towaiting because of congestion. In the meantime, the reliev-ing algorithm works to relieve the congestion. This algo-rithm uses a priority index attached to each node. Based onthis index, the intermediate scheduler between the MAC andnetwork layer decides on the rate of traffic to be forwardedand blocked. At the end of the execution of the algorithm thepheromone content of different paths are compared to detectthe most optimum paths for a given network configuration

Cluster Comput (2011) 14: 41–53 45

Fig. 3 Network configurationat time t

at a given instant of time. It is then through these paths thatthe actual transmission of data packets takes place. Thus, atransient routing table is prepared at each request. This doesaway with gigantic memory requirements of other conges-tion relieving protocols. In short, this takes an in-hand viewof the situation, gives equal chance to a congested (maybeshorter) and a non-congested (may be longer) path to com-pete for being the optimum path. Thus, ARCC is a new“merger” laid on the solid foundations of ACO [16] andPCCP [10]. However, it is an attempt to successfully cul-minate the better of the two works. Thus, ARCC should beviewed as a work combining the elementary ACO and con-gestion relieving PCCP, along with a new idea of using theadvantages of the two works.

3.2 Description

Before we proceed further, let us review some terms anddefinitions.

1. Priority—Each node in the network has some importanceor a priority value attached to it, based on local parame-ters and also on how much of information the target nodewishes to receive from that node. The source priority S(i)

stands for the priority of the traffic generated by node i.2. Intelligent Congestion Detection (ICD)—In order to

measure congestion at each level, we use ICD. Here, thepacket inter-arrival time(t i

a) (the time interval between 2sequential packets arriving from either source or transittraffic) and packet service time(t i

s) (time interval betweenwhen a packet arrives at the MAC layer and when its lastbit is successfully transmitted) are used. The degree ofcongestion at a node i is defined as the ratio of the aver-age packet service time over average packet inter-arrivaltime over a specified time interval.

d(i) = t is/t i

a (1)

Intuitively, when d(i) is larger than unity, the node ex-periences congestion. Thus, this congestion degree rep-resents an appropriate state of the network and can be

used to inform the child nodes to arrange their transmis-sion rates. As in PCCP [10], we also use ExponentialWeighted Moving Average (EWMA) [10], to estimatethe value of t i

a. Whenever N packets arrive to a node,the t i

a is updated as:

t ia = (1 − wa) ∗ t i

a + wa ∗ TN/N (2)

where 0 < wa < 1 is a constant, TN is the time intervalof measurement.

Similarly, t is is updated each time a packet is for-

warded as follows:

t is = (1 − ws) ∗ t i

s + ws ∗ T ′ (3)

where 0 < ws < 1 is a constant, T ′ is the service time ofthe packet just transmitted.

These basic terms, parameters and their correspondingupdation techniques and equations have been borrowed fromPCCP [10].

3.3 Algorithm

Throughout our discussion, we shall only consider singlepath routing and a network configuration as is presented inFig. 3. The Algorithm has been written and explained in amodular fashion. To begin with, we present the initializationfunction, which is the main part of the algorithm. It, in turn,invokes the other functions. It should be noted that this al-gorithm is heavily based on the basic ACO algorithm of allgeneral optimization problems, as suggested in [16]

(i) Initialization Segmentinitialize( )do

{findout ( T [max]);

for( t < sim-time){for every i in T [ i ]

46 Cluster Comput (2011) 14: 41–53

ACO ( T [ i ] );}

move ( T [ i ] , path [ i ] );}while (1);

The initialize function is used to form a random network forsimulation at a given instant of time depending on the areaused, number of nodes, priorities assigned to them and anyfeatures as desired.

findout function is used to find out which of the nodesof the complete network wish to send some data to the sinkat some particular time. The nodes so obtained are stored inthe array T [max], where T stands for transmitting.

(ii) ACO SegmentACO ( T [ i ] ){

while (termination is not demanded)schedule activitiesgenerate ants from nodes(T (i));generate ants from sink(sink);end scheduling activities

end whileend procedure

}

generate ants from nodes (T(i)){

while (resources not exhausted)schedule the creation of a new ant();new ant();end while

end procedure}

generate ants from sink(sink){

while (resources not exhausted)schedule the creation of a new ant();new ant();

If( congestion_bit = 1)Update_child(t s(T (i)), ta(T (i)), S(T (i)),O(T (i))),end while

end procedure}

new ant(){

initialize ant();M = update ant memory();

while (current state ! = final state)A = local ant-routing table();Simulate a finite state machine and decidethe next state based on present stateand probability indices.

if ( congestion_detected )set congestion_bit;end if

if( congestion_bit = 1)congestion_remove( T [ i ], t s(pi ) , ta(pi ), S(pi ),O(pi ) );evaporate pheremone( );end if

move to next state(next state);deposit pheromone on the visited arc();

update ant-routing table();M = update internal state();

end whileevaluate solution();die();end procedure

}

Explanation

As part of any routing algorithm, the procedure starts andcontinues till the termination criterion of execution prede-fined is not met. The activities, viz., the generation and themovement of ants from any node and the sink are scheduledsimultaneously. The procedure generate ants from any nodecreates a virtual ant in the network from a given node whichis passed to it as a parameter. This procedure uses anotherfunction new ant, which initiates by declaring an ant mem-ory in and flows in a loop until the final state, i.e., the sinkis achieved. A local ant-routing table A is created and alongwith certain constraints such as the number of nodes, andpriorities is used to compute the probability of the ant jump-ing to a new state. The results returned are then applied toaffect the next state. This is more or less like a state transi-tion phenomenon.

On the completion of a jump, a predecided amount ofpheromone is deposited on the path. However, before thatthe ants are required to check if the node they are leav-ing is congested or not. If it is, then the procedure conges-tion_remove is called, which has been explained further. Inthe meantime, while congestion is being removed, a suit-able amount of pheromone is regularly evaporated. This isfollowed by an updation in the ant-routing table and the in-ternal state of ant.

Finally, the solution is evaluated by comparing both con-gested and uncongested paths. Eventually, the procedure ter-minates and the ants die out.

The procedure generate ants from sink works a bit differ-ent in the sense that it is meant to be a notifier of congestion.As explained previously, the ants on the return path checkthe internal congestion bit of each node on their path. Onrecognizing congestion, the status of the child node is up-dated with the new arrival service times and priorities of theparent node being passed to it as parameters.

Cluster Comput (2011) 14: 41–53 47

(iii) Congestion Removal Segmentcongestion-remove (T [i], t s(pi), ta(pi),S(pi),O(pi))

{d ′(pi) = 1, O ′ (pi) = 0, rs(i) = r0;

get_sched_rate(t s(pi ), ta(pi ), S(pi), O(pi), rs(i),S(i));d(pi) = t s(pi)/ta(pi);total_rate = 1/t s(pi);

if(O(pi) < O ′(pi))

then rs(i) = rs(i)/d(pi);if(O(pi) > O ′(pi))

then rs(i) = total_rate*S(i)/S(pi);if(O(pi) = O ′(pi))

{if(d(pi) < d ′(pi ) )

then rs(i) = rs(i)/d(pi );if(d(pi) > d ′(pi))

rs(i) = total_rate*S(i)/S(pi);}

d ′(pi) = d(pi),O′(pi) = O(pi);

rs(i) = min(rs(i),1/t s(i));return(rs(i)*h);

}

The function, congestion_remove is a direct implemen-tation of the PCCP [10]. It has been modified suitably atstages depending on the requirements. We have five para-meters passed to it. Each node i has only one parent node(let it be called pi ). Node i obtains the congestion infor-mation (including t s(pi), ta(pi), S(pi), and O(pi)) aboutnode pi through the packets forwarded by pi . Node i thenupdates its local scheduling rate and its source rate, respec-tively, using the procedures of get_sched_rate(). The initialscheduling rate is set at a small initial value r0. O(i) denotesthe number of offspring nodes of any node i.

We consider four cases in get_sched_rate():

• First, when some offspring node becomes idle, packetinter-arrival time ta(pi) at node pi will increase and thecongestion degree d(pi) at the node pi will decrease, inthis case, node i could scale-up its scheduling rate accord-ing to d(pi) in order to improve link utilization.

• when new nodes become active, packet inter-arrival timesta(pi) will decrease and therefore congestion degreed(pi ) will increase. Node i may need to reduce itsscheduling rate in this case. Keeping in mind the fact thatall the offspring nodes of the node i are subset of off-spring nodes of the node pi because, node i is the childnode of the node pi , node i sets its scheduling rate to themaximum allowable rate in order to guarantee fairnessand high link utilization. The new scheduling rate is de-pendent of the priority index at both node i and its parentnode pi .

• when the number of offspring nodes O(pi) remains con-stant, but some nodes do not have enough traffic, con-gestion degree d(pi) will become smaller—and, there-fore, node pi can scale-up its scheduling rate accordingto d(pi) in order to improve link utilization.

• In the fourth case, O(pi) still remains the same, but somenodes with small traffic will produce more traffic. At thistime, congestion degree d(pi) will increase and possiblybe larger than 1, and node i resets its scheduling rate backto the allowable rate as in case 2 so that to mitigate con-gestion while maintaining high link utilization.

h is a parameter smaller than but close to unity, which isused to maintain a small queue length and high throughput.

3.4 Example

In the following discussion, we shall focus on two aspects ofour algorithm in the light of various network configurations.We present here 2 cases of discussion and, hence, discussthe enhanced performance of ARCC with respect to otherpre-existing works.

Case 1. Let us consider a network area bounded by thedotted boundary having a set of nine nodes. These nodes aredistributed and arranged in the fashion as shown in Fig. 3.

Let us consider that Node S wishes to communicate withthe Node D. The ACO simulation begins by generating antsat the node S and transmitting them to all closest nodes (here1, 2, 3 and 4), trying to trace a path to D by following theminimum spanning tree algorithm. As expected, this wouldresult in either of the paths S-1-5-D or S-2-5-D or S-3-5-Dbeing deemed as the most favorable. This is what occurs in aregular ad hoc networks. However, let us consider a slightlymodified in which say, Nodes 1, 2 and 3 also wish to com-municate with D. This would ultimately lead to congestionat Node 5, bringing down the QoS of the entire network.On the other hand, the path S-4-6-7-D may lead to fasterand smoother communication without severely crippling theQoS at the expense of an additional hop. This scenario canbe very well detected by ARCC, and thus here we appreci-ate the fact that the shortest path need not be the best one al-ways. This somewhat sounds like an optimization techniqueunder constraints. The ACO technique surprisingly shall fa-vor the less efficient path more emphatically than the short-est path algorithm. This is because communication requestat Nodes 1, 2 and 3 shall lead to a greater number of ants be-ing generated, thereby, implying greater pheromone depositon the less efficient path. Ironically, ARCC gathers the bestof ACO and PCCP and selects the best path only. It does thisby continuously trying to mitigate congestion at Node 5 andsimultaneously routing the ants through all possible paths.Finally, only the best path shall be selected. Hence, ARCCattempts to adjust the dynamism of the network and still ex-ploit its best paths.

48 Cluster Comput (2011) 14: 41–53

Fig. 4 Network configurationat time t + �t (position ofnode2 has changed now)

Case 2. In this case, let us consider a topology of networkat some other instant of time t + �t , as shown in Fig. 4.

In the previous case, the nodes S, 1 and 3 wish to commu-nicate with the Node D. The only change is Node 2, whichhas now moved between Nodes 6 and 7. For the time being,let us assume that Node 2 is not sending any traffic to D. Thealgorithm proposed in [33] detects congestion on Node 5and reroutes the data packets from uncongested path S-4-6-2-7-D. This is again like holding a very static of the networkand deciding thereafter. ARCC proposes to adds this by re-moving congestion at Node 5 simultaneously. It might be thecase that even after the congestion removal the time takenthrough the path S-1-5-D or S-3-5-D may be less than theother one which has greater number of hops. This suggeststhat an uncongested path may not always be the best.

ARCC, thus, does not follow any fixed rule book regard-ing the path to be followed while transmitting data. It is thisdynamism of ARCC that distinguishes from its contempo-raries.

4 Simulation results

This Section presents the simulation results for ARCC. Fourscenarios were studied. The simulations were carried outusing Global Mobile Information System Simulator (Glo-MoSim), which offers a scalable simulation environmentfor large wireless communication networks [34, 35]. Glo-MoSim uses a parallel discrete-event simulation capabilityprovided by Parsec. The important models/protocols used inthe various layers are summarized in Table 1.

The other parameters, such as transmission range, mo-bility, node placement (random or fixed) and speed of nodemotion, were suitably adjusted as per the requirements ofsimulation.

In simulations, we used the standard IEEE 802.11 MACprotocols, and the ant-hoc routing protocol well adjustedfor different scenarios at the network layer. In this case,only single-path routing was assumed. The simulations werecarried out under various situations and topologies to ex-periment various parameters of performance. We presenta brief description of some of the cases and results ob-tained. For simplicity, the algorithm proposed in [33] has

Table 1 Models/protocols used in various layers

Layer Model

Physical (Radio Propagation) Two-Ray Model

Data Link (MAC) IEEE 802.11

Network (Routing) ARCC, AntNet, ACO with path change

Transport UDP

Application CBR (Constant Bit Rate Generator)

been aliased as “ACO With Path Change”. Since the elemen-tary ant colony optimization procedure [16] forms the basiclayer of what a generic ACO routing technique is all about,it was also used for comparisons with the alias “ACO”.

4.1 Performance measure: packet loss

Packets lost due to buffer overflow pose major performanceretardation. The energy is wasted in retransmission and QoSsuffers badly.

For the purpose of simulation, a network topology, asshown in Fig. 3, was assumed with 9 sensor nodes. Simula-tion time used was 40 seconds. The various nodes remainedactive over varying periods and send data to various nodes.To represent conditions of congestion, the following config-uration was selected.

Node 1 remains active throughout and routes its packetsto Node 5 at an interval of 2 seconds. Node 2 remains activefor 4 to 16 seconds and sends packets to Node 5. Node 3,which is in work from 0.1 to 10 seconds sends data pack-ets to Node 5. All these were observed to cause heavy con-gestion at Node 5. However, Node 5 also further sends itspackets to Node D, but at a, much slower rate.

4.1.1 Variation with terrain dimensions

The area for simulation was considered to be a square zonewith side lengths, which were varied for various simulations.

Figure 5 shows the results of varying the terrain dimen-sions. It was observed that ARCC performs better than otherprotocols, especially when the dimensions shrink to smallersides. This becomes intuitive, because smaller sides reduce

Cluster Comput (2011) 14: 41–53 49

Fig. 5 Number of packets lostvs. terrain dimensions

Fig. 6 Number of packets lostvs. No. of nodes

Fig. 7 Throughput of variousnodes (each with differentpriority)

the path length between Nodes 1, 2, 3 and 5 and, thus, rout-ing more ants through these paths and, thus, additively in-creasing the congestion.

4.1.2 Variation with number of nodes

We changed the number of nodes over various runs of the al-gorithm. The results have been plotted in Fig. 6. It is clearlydiscernible that ARCC again outperforms the other schemesin terms of packet loss. The explanation can again be tracedback to the proximity factor.

4.2 Priority index

Only ARCC is one such algorithm that makes use of thepriority attached to various nodes. The rate adjustment issuch that the sink receives data packets from various nodesin proportion to their priorities.

All other algorithms under consideration ignore this im-portant aspect. An assessment of the results when Node 3 isassigned the highest priority is presented in Fig. 7. The basisfor assigning the priority was random and the queue lengthwas taken to be 8. All nodes were considered active for the

50 Cluster Comput (2011) 14: 41–53

Fig. 8 Number of controlpackets vs. No. of nodes

Fig. 9 Throughput vs. numberof nodes

entire simulation period. This property of ARCC makes itmore adaptable and suited for practical applications.

4.3 Performance measure: number of control packetstransmitted

A comparison of ARCC with the conventional ACO algo-rithm revealed significant improvement in the number ofcontrol packets transmitted from a node. However, therewere not many, changes in the number of packets transmit-ted from the congested node, probably because of the timelag and the process involved in congestion removal. A plotfor the simulation, when the number of nodes were variedfrom 9 to 14 in a stepwise fashion, has been reproduced inFig. 8.

The transmission of larger number of control packets inARCC bears a testimony to the fact that the protocol, indeed,involves a congestion mitigation aspect, thereby adding tothe utilization of the network.

4.4 Performance measure: network throughput (bytes persecond)

Since conditions of congestion ensue increased packet loss,as was expected, ARCC yielded high network throughput by

minimizing the number of packet losses. The weighted net-work throughput, when taken as a performance indicator, re-vealed the high performance of ARCC over other works. Forreasons of simplicity, the average throughput of all nodeshas been taken as the parameter (Fig. 9).

5 Conclusion

In this paper, we addressed the problem of congestion inad hoc sensor networks. A new protocol (ARCC) has beenproposed, implemented and compared with a few otherschemes. The results are encouraging and reflect the effec-tiveness of the protocol in dealing with upstream congestion.The idea utilizes the concept of ACO. Through simulations,it has been shown that the proposed protocol performs bet-ter with respect to the throughput, the number of packets lostand the priority performance.

ARCC has been simulated and verified for single pathrouting. It will be interesting to explore its avenues in thecase of multi-path routing. Further, the discovery of specificparameters that can govern the priority of the node at a giveninstant is welcome. It would also be interesting to study theapplication of ACO in other existing congestion control pro-tocols in WSN such as CODA and CCF.

Cluster Comput (2011) 14: 41–53 51

Acknowledgements The work of the second author was supportedin part by a grant from the Department of Science & Technology,Government of India, Grant No. SR/FTP/ETA-36/08, which the authorgratefully acknowledges.

A preliminary version of this work appears in the proceedings ofthe 7th ACS/IEEE International Conference on Computer Systems andApplications (AICCSA-09), 2009, Rabat, Morocco.

References

1. Mainwaring, A., Polastre, J., Szewczyk, R., Culler, D., Anderson,J.: Wireless sensor networks for habitat monitoring. In: Proc. ofthe ACM International Workshop on Wireless Sensor Networksand Applications, 2002

2. Min, R., Bhardwaj, M., Cho, S., Shih, E., Sinha, A., Wang, A.,Chandrakasan, A.: Low-power wireless sensor networks. In: Proc.of the 14th International Conference on VLSI Design, Bangalore,India, January 2001

3. Akyildiz, I., Su, W., Sankarasubramaniam, Y., Cayirci, E.: A sur-vey on wireless sensor networks. IEEE Commun. Mag. 40(8),102–114 (2002)

4. Raghunathan, V., Schurgers, C., Park, S., Srivastava, M.B.:Energy-aware wireless microsensor networks. IEEE SignalProcess. Mag. 19(2), 40 (2002) C50

5. Misra, S., Woungang, I., Misra, S.C. (eds): Guide to Wireless Sen-sor Networks. Computer Communications and Networks Series.Springer, London (2009), 809 p. ISBN-10: 1848822170, ISBN-13: 978-1848822177

6. Narula, P., Misra, S., Dhurandher, S.K.: Swarm intelligence ap-proach for ad-hoc networks. In: Rabucal, J.R., Dorado, J., Pa-zos, A. (eds.) Encyclopedia of Artificial Intelligence. InformationSciences Reference (formerly Idea Group Reference), pp. 1530–1536. Hershey, New York (2008)

7. Dhurandher, S.K., Misra, S., Dhawan, A., Tiwari, A.: Efficient so-lutions to various routing issues involved in mobile ad-hoc bio-sensor networks: applying appropriate motion trajectories. IETCommun. J. 3, 830–845 (2009)

8. Woo, A., Culler, D.C.: A transmission control scheme and mediaaccess in sensor network. In: Proceedings of ACM Mobicom’01,Rome, Italy, July 16–21, 2004

9. Wan, C.Y., Eisenman, S.B., Campbell, A.T.: CODA: congestiondetection and avoidance in sensor networks. In: Proceedings ofACM Sensys’03, Los Angeles, CA, Nov. 5–7, 2003, pp. 266–279

10. Wang, C., Li, B., Sohraby, K., Daneshmand, M., Hu, Y.: Upstreamcongestion control in wireless sensor networks through cross-layeroptimization. IEEE J. Sel. Areas Commun. 25, 786–795 (2007)

11. Ee, C.T., Bajecsy, R.: Congestion Control and Fairness (CCF) formany-to-one routing in sensor networks. In: Proc. ACM Sensys,Nov. 2004

12. Hull, B., Jamesion, K., Balakrishnan, H.: Mitigating congestionin wireless sensor networks. In: Proceedings of ACM Sensys’04,Baltimore, MD, Nov. 3–5, 2004, pp. 134–147

13. Levis, P., Patel, N., Culler, D., Shanker, S.: Trickle: a self regu-lating algorithm for zcode propagation and maintenance in wire-less sensor networks. In: Proceedings of 1st Symposium on Net-worked Systems Design and Implementation, San Francisco, CA,Mar. 29–31, 2004, p. 2

14. Wan, C.Y., Eisenman, S.B., Campbell, A.T., Crowcroft, J.: Siphon:overhead traffic management using multi radio virtual sinks in sen-sor networks. In: Proceedings of ACM Sensys’05, San Diego, CA,USA, Nov. 2–4, 2005, pp. 116–129

15. Misra, S., Tiwari, V., Obaidat, M.S.: LACAS: learning automata-based congestion avoidance scheme for healthcare wireless sensornetworks. IEEE J. Sel. Areas Commun. 27(4), 466–479 (2009)

16. Dorigo, M., Colorni, A., Maniezzo, V.: The ant system: optimiza-tion by a colony of cooperating agents. IEEE Trans. Syst. ManCybern. B 26(1), 1–13 (1996)

17. Dorigo, M., Caro, G.D., Gamberdella, L.M.: Ant algorithm fordiscrete optimization. Artif. Life 5(2) (1999)

18. Di Caro, G., Dorigo, M.: AntNet: distributed stigmergetic controlfor communications networks. J. Artif. Intell. Res. (JAIR) 9, 317–365 (1998)

19. Dhurandher, S.K., Misra, S., Obaidat, M.S., Gupta, N.: Anant colony optimization approach for reputation and quality-of-service-based security in wireless sensor networks. Secur. Com-mun. Netw. 2(2), 215–224 (2009)

20. Chandrasekar, R., Misra, S., Obaidat, M.S.: FORK: a novel two-pronged strategy for an agent-based intrusion detection scheme inad-hoc networks. Comput. Commun. 31(16), 3855–3869 (2008)

21. Chandrasekar, R., Misra, S., Obaidat, M.S.: A probabilistic zonalapproach for swarm-inspired wildfire detection using sensor net-works. Int. J. Commun. Syst. 21(10), 1047–1073 (2008)

22. Misra, S., Dhurandher, S.K., Obaidat, M.S., Verma, K., Gupta, P.:A low overhead fault-tolerant routing algorithm for mobile ad-hocnetworks based on ant swarm intelligence. In: Proceedings of theIEEE International Conference on Communications (IEEE ICC2009), Dresden, Germany, 2009

23. Dhurandher, S.K., Misra, S., Obaidat, M.S., Gupta, P., Verma, K.:An energy-aware routing protocol for ad-hoc networks based onthe foraging behavior in ant swarms. In: Proceedings of the IEEEInternational Conference on Communications (IEEE ICC 2009),Dresden, Germany, 2009

24. Gwalini, S., Belding-Royer, E., Perkins, C.: AODV-PA: AODVwith path accumulation. In: IEEE International Conference onCommunications (ICC), vol. 1, pp. 527–531 (2003)

25. Misra, R., Mandal, C.R.: AODV-DSR on-demand routing proto-cols for ad hoc networks in constraint situations. In: IEEE Confer-ence on Personal Wireless Communications (ICPWC), Jan. 2005,pp. 86–89

26. Perkins, C.E., Belding-Royer, E.M., Chakeres, I.: Ad hoc on de-mand distance vector (AODV) routing. IETF Internet draft (Oct.2003)

27. Perkins, C.E., Belding-Royer, E.M., Das, S.: Ad hoc on demanddistance vector (AODV) routing. IETF RFC 3561

28. Perkins, C.E., Royer, E.M., Das, S.: Ad hoc on demand distancevector (AODV) routing for IPv6. IETF Internet draft

29. Chakeres, I.D., Belding-Royer, E.M.: AODV routing protocol im-plementation design. In: Proceedings of the International Work-shop on Wireless Ad Hoc Networking (WWAN), Tokyo, Japan,March 2004

30. Royer, E.M., Perkins, C.E.: An implementation study of theAODV routing protocol. In: Proceedings of the IEEE WirelessCommunications and Networking Conference, Chicago, IL, Sep-tember 2000

31. Johnson, D.B., Maltz, D.A., Broch, J.: DSR: the dynamic sourcerouting protocol for multi-hop wireless ad hoc networks, Chap. 5,pp. 139–172 (2001)

32. Johnson, D.B., Maltz, D.A.: Dynamic source routing in ad hocwireless networks. In: Imielinski, T., Korth, H. (eds.) MobileComputing, Chap. 5, pp. 153–181. Kluwer Academic, Dordrecht(1996)

33. Li, Y., Ma, Z., Cao, Z.: A mitigating stagnation-based ant colonyoptimization routing algorithm. In: Proceeding of ISCIT 2005,vol. 1, pp. 36–39 (2005)

34. GloMoSim: Global Mobile Information Systems Simulation Li-brary. http://pcl.cs.ucla.edu/projects/glomosim/ (2009)

35. Zeng, X., Bagrodia, R., Gerla, M.: GloMoSim: a library for paral-lel simulation of large-scale wireless networks. In: Twelfth Work-shop on Parallel and Distributed Simulation, May 1998, pp. 154–161

52 Cluster Comput (2011) 14: 41–53

Sanjay K. Dhurandher receivedthe M. Tech. and Ph.D. Degrees inComputer Sciences from the Jawa-harlal Nehru University, New Delhi,India.He is currently an Assistant Profes-sor with the Division of InformationTechnology, NSIT, University ofDelhi, India. He is also the Head ofthe Advanced Centre CAITFS, Di-vision of Information Technology,NSIT, University of Delhi. Prior tothis, from 1995 to 2000 he workedas a Scientist/Engineer at the Insti-tute for Plasma Research, Gujarat,

India that is under the Department of Atomic Energy, India. His cur-rent research interests include wireless ad-hoc networks, sensor net-works, computer networks, network security and distributed systemsand computing.

Sudip Misra is an Assistant Pro-fessor in the School of InformationTechnology at the Indian Instituteof Technology Kharagpur, India.Prior to this he worked in CornellUniversity (USA), Yale University(USA), Nortel Networks (Canada)and the Government of Ontario(Canada). He received his Ph.D. de-gree in Computer Science from Car-leton University, in Ottawa, Canada,and the masters and bachelors de-grees respectively from the Univer-sity of New Brunswick, Fredericton,

Canada, and the Indian Institute of Technology, Kharagpur, India. Dr.Misra has several years of experience working in the academia, govern-ment, and the private sectors in research, teaching, consulting, projectmanagement, architecture, software design and product engineeringroles.His current research interests include algorithm design and engineeringfor telecommunication networks, software engineering for telecommu-nication applications, and computational intelligence and soft comput-ing applications in telecommunications.Dr. Misra is the author/editor of over 90 scholarly research papers andbooks. He has won five research paper awards in different conferences.He was also the recipient of several academic awards and fellowshipssuch as the (Canadian) Governor General’s Academic Gold Medalat Carleton University, the University Outstanding Graduate StudentAward in the Doctoral level at Carleton University. In 2008, he wasconferred The National Academy of Sciences, India—Swarna JayantiPuraskar (Golden Jubilee Award).He was also awarded the Canadian Government’s prestigious NSERCPost Doctoral Fellowship. His biography was also selected for inclu-sion in the 2006–2007 edition of Marquis Who’s Who in Science andEngineering, and the 25th Edition of the Marquis Who’s Who in theWorld, California, USA. A mention about him and his work has alsoappeared in the November 4, 2006 issue of the Ottawa Citizen news-paper.

Dr. Misra is the Editor-in-Chief of 2 journals—the International Jour-nal of Communication Networks and Distributed Systems (IJCNDS)and the International Journal of Information and Coding Theory (IJI-CoT), U.K. He is an Associate Editor of the Telecommunication Sys-tems Journal (Springer SBM), Security and Communication NetworksJournal (Wiley), International Journal of Communication Systems (Wi-ley), and the EURASIP Journal of Wireless Communications and Net-working. He is also an Editor/Editorial Board Member/Editorial Re-view Board Member of the IET Communications Journal, Computersand Electrical Engineering Journal (Elsevier), International Journal ofInternet Protocol Technology, the International Journal of Theoreticaland Applied Computer Science, the International Journal of Ad Hocand Ubiquitous Computing, Journal of Internet Technology, and theApplied Intelligence Journal (Springer).Dr. Misra is an editor of 6 books in the areas of wireless ad hoc net-works, wireless sensor networks, wireless mesh networks, communi-cation networks and distributed systems, network reliability and faulttolerance, and information and coding theory, published by reputedpublishers such as Springer and World Scientific.He was invited to chair several international conference/workshop pro-grams and sessions. He has been serving in the program committees ofover a dozen international conferences. Dr. Misra was also invited todeliver keynote lectures in around a dozen international conferences inUSA, Canada, Europe, Asia and Africa.

Harsh Mittal has completed hisBachelor of Engineering (B.E.) inComputer Engineering at NetajiSubhas Institute of Technology, Uni-versity of Delhi, New Delhi, India.He is currently employed at Yahoo!India Research & Development. Hisareas of interest are wireless sen-sor networks, QoS issues in wire-less networks and semantic searchengines.

Anubhav Agarwal did his Bache-lor of Engineering (B.E.) in Infor-mation Technology at Netaji SubhasInstitute of Technology, Universityof Delhi, New Delhi, India. He iscurrently employed at DE-SHAW&Co. His research interests includewireless sensor networks and net-work structure mining.

Cluster Comput (2011) 14: 41–53 53

Isaac Woungang received hisM.A.Sc. and Ph.D. degrees, all inApplied Mathematics from the Uni-versité du Sud, Toulon-Var, France,in 1990 and 1994 respectively. In1999, he received a M.A.Sc. fromINRS-Materials and Telecommu-nications, University of Quebec,Canada. From 1999 to 2002, heworked as a software engineer atNortel. Since 2002, he has been withRyerson University, where he is nowan assistant professor of computerscience. In 2004, he founded DAB-NEL (the Distributed Applications

and Broadband NEtworks Laboratory) R&D group. His research in-terests are Telecommunications network design, control and manage-ment, Network security, and Distributed Systems.