P&P protocol: local coordination of mobile sensors for self-deployment
The use of mobile sensors is of great relevance for a number of strategic applications devoted to monitoring critical areas where sensors can not be deployed manually. In these networks, each sensor adapts its position on the basis of a local evaluat…
Authors: N. Bartolini, A. Massini, S. Silvestri
P&P protocol: local c oordination of mobile sensors for self-deplo yment TECHNICAL REPORT N. Bartolini, A. Massini, S. Silv estri Department of Computer Science Univ ersity of Rome ”Sapienza”, Italy { bartolin i, massini, simon e.silvestri } @di.unirom a1.it Abstract —The use of mobile sensors is of grea t rele va nce fo r a number of strategic appl ications dev oted to monitoring critical areas wh ere sensors can not be deployed manuall y . In these networks, each sensor adapts its positi on on the basis of a local evaluation of the cov erage efficiency , thus permitting an autonomous deployment. Seve ral algorithms ha v e been proposed to dep loy mobile sensors ov er t he area of interest. The applicabilit y o f these approaches lar gely depends on a proper formaliza tion of rigorous rules to coordinate sen sor mov ements, solve local conflicts and manage possible failures of communi cations and d evices. In this paper we in troduce P&P , a communication protocol that permits a correct and efficient coordination of sensor mov ements i n agreem ent with the PUSH&PUL L algorithm. W e deeply inv estigate and solve th e problems th at may occur when coordinating asynchronous local decisions in the presence of an unreliable transmission medium and possibl y faulty devices such as in th e typical working scenario of mobile sensor networks. Simulation results show the perf ormance of our protocol under a range of operativ e settin gs, includi ng conflict si tuations, irregularly sh aped target areas, and n ode failures. I . I N T R O D U C T I O N The research in the field o f mob ile wireless sensor n etworks is motiv ated b y the need to monito r cr itical scenarios such as wild fires, disaster ar eas, toxic regions or battlefields, where static senso r dep loyment canno t be perform ed man ually . In th ese typical working situation s, sensors may b e dro pped from an aircraft or sen t fro m a safe lo cation. In these cases th e initial d eployment over th e Ar ea of Inter est (Ao I) is ne ither complete nor unifo rm as would be ne cessary to enhan ce the sensing capabilities and extend the lifetime of the network . Mobile sensors can d ynamically adjust their p osition to im- prove coverage with re spect to their in itial dep loyment. Sensor movements sho uld ther efore be coordin ated accordin g to a distributed deploym ent a lgorithm. Out of the solutions prop osed in the literatur e so far for mobile sensor d eployment, those describ ed in [1], [2], [3], [4] are based on the virtua l force appr oach which mo dels the interactions among sensors as a combin ation of attractive and repulsive forc es. Oth er app roaches are inspired by the ph ysics of fluids and gases such as [5] and [6]. Ano ther m ethodolo gy is b ased o n th e construction o f V orono i diagram s [7], [8]. According to th is pr oposal, each sensor iteratively calculates its own V orono i polygon, determines the existence o f coverage holes and moves to a better position if necessary . The solutions propo sed in [9] and [10] p rovide instead density dr iv en actions to unifor mly distribute sensors accordin g to a regula r gr id pattern. The applicability of these d eployment algor ithms largely depend s on the proper f ormalization of rigoro us rules to coordin ate sensor movements, solve local conflicts an d manage possible failures of com municatio ns an d devices. Previous proposals only fo cus on the d esign of distributed algorithm s for the adap ti ve deploym ent o f mob ile sensors, aiming at covering the area of interest acco rding to given efficiency objectives, in particular coverage completeness and unifor mity and low energy consumptio n. Seldo m do p revious works enter th e d etails of the com munication protoco l neces- sary to enab le the application of the proposed algo rithms. The main contribution of this pap er is a co mmunicatio n protoco l th at defin es the ru les to de ploy mobile sen sors ac- cording to the P U S H & P U L L algor ithm pro posed in [10]. T his algorithm is based on the a utonom ic com puting paradigm. It completely d elegates to the single sensors ev ery decision regarding movements and action coord ination. This way self- organization emerges without the need of e xternal co ordina tion or huma n inter vention as the sensors adapt their po sition on the basis of their lo cal view of the sur round ing scenario. Giv en th e absence o f a centralized co ordinatio n unit, and the lack of synchr onization, sensor s h av e a primar y role in the realization o f the alg orithm actions. The refore, the design of the r elated coo rdination protocol is p articularly challen ging. Indeed , under the e xecution of the P U S H & P U L L alg orithm, se veral types of con flicts may occ ur as several sensors often compete to cover the same position. Sensors sho uld be capable to solve such conflicts by m eans o f o nly local intera ctions. W e deeply in vestigate and s olve the pr oblems that may o ccur when coordin ating a synchron ous lo cal decision s in the presenc e of an unr eliable transmission med ium and p ossibly faulty devices that characterizes the typical working scenar io of mo bile sensor n etworks. The prop osed pro tocol work s in r espect of the algo rithm goals, permitting the realization of a complete and unif orm stable coverage, with low ene rgy consu mption. Simu lation results show the perfo rmance of ou r pr otocol under a range of o perative setting s, includ ing conflict situations, irregularly shaped target ar eas, and node failures. I I . B R I E F D E S C R I P T I O N O F T H E P U S H & P U L L A L G O R I T H M P U S H & P U L L is a com pletely distributed algo rithm [10] for the realization of an au tonomo us deployment o f mobile sensors. Accord ing to this algorithm sensor s perf orm a co m- plete coverage of the Ao I by mean s of a hexago nal tiling. Initially , several tiling portio ns are created concurr ently an d ev ery sensor n ot y et inv olved in the cr eation of a tiling po rtion giv es start to a portio n of its own in an instant rand omly selected over a given tim e interval. In order to make the exposition clearer, we outline the algo rithm, bef ore giving details o n the implemen ting proto col. Let V be a set of equal sensors e ndowed with loc ation determinatio n, b oolean sensing an d isotro pic com munication capabilities. Senso rs are kept in activ e mode fo r all the deployment ph ase. The deployment con sists in r ealizing a hexagonal grid with side length equa l to the sensing radius R s . Th is setting guaran tees bo th coverage and con nectivity when R tx ≥ √ 3 R s . A sensor w hich is deployed at th e center of a hexago nal tile is called snap ped . H ex ( x ) is the h exagonal region whose center is covered by the snapp ed sensor x . All the other sensors lying in H ex ( x ) are called slave s of x and compose the set S ( x ) . All sensors th at are n either snap ped nor sla ves are called free . The set compo sed by the free sensors located in radio prox imity to p and by its sla ves is d enoted by L ( p ) . In th e following, s init denotes any o f the starter sensors. The fo ur main activities of th e algor ithm, S nap, Pu sh, Pull, Mer ge , are executed in an inter leav ed m anner as described in the following par agraphs. Snap activity . At the beginn ing, ea ch sen sor m ay act as starter of a snap a cti vity from its initial location at an instant random ly ch osen over a giv en time interval. Sensor s init elects its position as the ce nter of the first hexagon of its tiling portion a nd ch anges its status to snap ped. Any just snapped sensor p perf orms a neighbo r d iscovery , that allo ws it to gather in formatio n regarding the sensors belongin g to L ( p ) . Among these, p selects at most six sensors to make them snap to the cen ter of adjacent hexagons. A snapped sensor leads the snappin g of as many sla ves as possible. If all the hexagon s ad jacent to H ex ( p ) have b een covered, p stops any furth er snap ping. If, af ter the completion of the snap action, the snapped sensor has still some slav es in its hexagon , it gives start to the pu sh activity . Otherwise, if som e h exagons are lef t un covered beca use no more sensors in L ( p ) are av ailable, p starts the pull activity . Such deployed sen sors, in their tu rn, g iv e start to an analo - gous selection and sn ap activity , thus expanding th e bo undar y of the curren t p ortion. Th is process g oes on until no other snaps are possible, because either the whole AoI is covered, or all sensors lo cated at bound ary tiles do no t have any un- snapped sen sor to snap. Push activity . Snapped senso rs, af ter the completio n of their snapping activity , may still be sur round ed by un-snapp ed sen- sors loca ted inside their h exagon. In th is case, they proactively push such un-snap ped sensor s tow ards lower density a reas located w ithin their transmission range. Giv en two snappe d sensors p and q located in radio p rox- imity fr om eac h oth er , p m ay offer o ne o f its slaves to q an d push it inside the h exagon of q if | S ( p ) | ≥ | S ( q ) | + 1 . The push a cti vity is allo wed in the only dire ctions that verif y the Moving Con dition accordin g to which the movements of sensors from H ex ( p ) to H ex ( q ) are restricted to the only cases in which : {| S ( p ) | > | S ( q ) | + 1 } ∨ {| S ( p ) | = | S ( q ) | + 1 ∧ or d ( p ) > or d ( q ) } . where or d ( · ) is a function initially set to the un ique identity code of the sensor rad io device. In order to av oid inconsistencies the snap ped sensors in- volved in a p ush activity a lways advertise their ne ighbor hood of the chang es in the number of slaves as if the ongoin g movements wer e a lready con cluded. Pull activity . Snapped sensors may detect a c overage hole adjacent to their hexagon and no t have a vailable sensors to snap. In this ca se, they send h ole trigger messages, so reactively attracting un-snapp ed sensors and makin g them fill the ho le. Namely , let p be a sn apped no de detecting a h ole in an adjacent hexagon, with L ( p ) = ∅ . If p has not the possibility to receive any sla ves from its neig hbor hexago ns, i.e. the M oving Condition is n ot verified fo r any of them, then it activ a tes the following trigger mec hanism. Sensor p temporarily alter s the value of its ord function to 0 and notifies its neigh bors of th is chang e by means of a trigger n otification message . Th is could be sufficient to make the Movin g Condition true with at least a snap ped neig hbor, so p waits until eith er a new sla ve comes into its h exagon or a timeout exp ires. If a new sla ve enters in H ex ( p ) , p sets back its ord value and snaps the new sensor, filling the hole. If the timeou t expires a nd th e h ole has n ot be en covered yet, the trigger mechan ism is extended b y forwarding the trig ger message to the adjacen t hexagon s of p , wh ose snapp ed sensors set their or d value to 1. This mechanism is iterated by p over snapped sen sors a t larger an d larger distance in the tiling until an available sla ve is attracted an d the hole is covered. This way , e ach snapped senso r inv olved in the trigg er notification mechanism sets its or d value prop ortional to the d istance from p . All the timeouts r elated to e ach new forwarding are set prop ortionally to the distance r eached by the trigger mechanism. At the e xpiration of the trigger tim eout, each inv olved n ode sets back its ord to the orig inal value. Observe that, the detection of several holes may cause the same sensor to receive more than one trigger message that it stores in a pre -emptive prior ity queue, giving pre cedence to the message s related to the closest hole. Tiling merge activity . The possibility tha t many sensors act as starters may temporarily lead to the creation of s ev eral tiling portion s with d ifferent orientations. Algorithm P U S H & P U L L provides a m echanism to merge all these tiling p ortions into a unique regular and unifo rmly oriented tiling. When the bo undaries of two tiling por tions come in rad io prox imity with each o ther, the one wh ich was started first absorbs the oth er by mak ing its snapp ed sensors move in to mo re ap propr iate snap ping po sitions. The co mbination of the described ac ti vities expands the tiling and , at the same time, does its b est to un iformly distribute r edund ant sensors over the tiled area, a voiding oscillations. I I I . T H E S E N S O R C O O R D I N A T I O N P RO T O C O L P & P The implementation of the P U S H & P U L L algorith m re- quires th e d efinition of a p rotoco l f or the local coordin ation of th e sen sor activities. The coor dination protoco l p rovides the ru les to solve co n- tentions that may hap pen in several ca ses. For example, two or more sna pped sensors can d ecide to issue a snap command to different sensors tow ards the same hexagon tile or the sam e low density hexago n can b e selected b y sev eral snapped sensors a s candid ate for r eceiving redu ndant slaves. These co ntentions are solved b y pro perly schedulin g actio ns accordin g to message time-stamp s and by a dvertising r elated decisions as soon as they are made. The P&P protoc ol is designed to minimize energy consu mption entailing a sma ll number of message exchan ges, which is p ossible because the algorithm decisions are o nly based on a small amoun t of local in formation . Furthermor e, we assume that P&P works over a commu nication protocol stack which handles po ssible transmission errors and message losses b y means of timeou t and retr ansmission mechanisms. The refore the tr eatment of occasional message losses at th e u nderlyin g protoco l level im- plies th e occurrence of delays in th e cor respondin g messages at th e P&P level that are dealt by P&P with pro per tim eout mechanisms. Before we enter the details of the proto col we intro duce some definitions. Remember that sensors may be in one of the following state: snapp ed , fr ee or slave . The r eal cardinality of a snapped sensor p is the num ber of slav e sen sors actually located inside H ex ( p ) , that p can utilize to per form the snap, push and p ull actions. The virtual car dinality of p d iffers from t he previous one as it is calculated considerin g all the ongo ing snap , p ush, pull actions as if they were alread y co ncluded . Th e set VP ( p ) of vacant positions detected by sen sor p contain s the cen ters of h exagons ad jacent to H e x ( p ) that are not yet occup ied by any snapped sensor . T able I co ntains a sum mary o f the m essage typ es used by protoco l P&P . I V . P & P : S N A P AC T I V I T Y In orde r to describ e the sn ap activity , we need to d istinguish three cases, accord ing to the role of th e inv olved sensor . Indeed th e actio ns u ndertaken by the star ter sen sors, the already snappe d sensors and the sen sors be ing snapped, are substantially d ifferent. A. S tarter sensor behavio r At the b eginning, any sensor p may g iv e start to the creatio n of a tile portio n by sna pping itself to its presen t p osition in an instant of time t start ( p ) rando mly selected over a time interval of len gth R tx /v , where v is the sen sor movement speed . I f at the instant t start ( p ) , sensor p has not y et received any message, it elects its po sition as the cen ter o f the first hexago n and establish th e orientation of its tile portion. At this point p executes the snap action s und er th e role of snapped sensor, as d escribed in the f ollowing paragrap h. B. S nappe d sen sor b ehavior 1) Neighb or Discovery: A snapp ed sensor p bro adcasts a IAS (I Am Snapped ) message to per form a n eighbor discovery . Such message contain s t he ID of the sender snapped sensor , its g eograp hic coordin ates and the timestamp of the starter actio n. All sen sors loca ted in r adio pr oximity to p (with the exceptio n of those slav es loc ated in different hexago ns) reply to its IAS , with a message c ontaining ro le dep endent in- formation : the snapped sensors r eply with an InfoSnapped message, wh ile th e slave and the free sensors reply with an InfoSlave and an InfoF ree message resp ectiv ely . Th ese replies contain key information to per form the P U S H & P U L L algorithm , and in par ticular: all three types of rep lies con tain the I D and geograp hic coord inates of the reply ing sensor s, while the InfoSn apped a nd InfoSlave me ssages co n- tain addition al informatio n. In p articular, th e InfoSn apped message includes also the virtual cardina lity of the replyin g snapped sensor s while the InfoSla ve message in cludes the energy lev el of the re plying slave sensors. Thanks to the execution of the neigh bor discovery p hase, a snapped sen sor p is inf ormed r egarding the p resence of vacant positions, i.e. knows the composition o f VP ( p ) . 2) Sn ap into p osition: A snapped sensor p selec ts the closest sensor in L ( p ) to each uncovered position and sends it a SIP (Snap I nto Position) message. This me ssage c ontains the target position of th e correspo ndent snap a ction, and the ID of the selected sen sor . If a sensor r eceiv es a SIP , and is av a ilable to fill th e vacant position, it replies with an AckSIP message. This message contains the ID of the sensor that re ceiv ed th e SI P , necessary for p to discriminate among the se veral sensor s to which it sent SIP messages. If a sensor receives a SIP when it is no t av a ilable to fill the vacant position (e.g it h as alr eady bee n contacted by anoth er sensor), it doe s not reply to the SI P message of p and lets the Ac kSIP timeout expir e. This way p will be capable to select a new sen sor to snap in such still vacant p osition. After the transmission of the SIP messages a nd the recep - tion of the r elated AckSIP , p updates its local inform ation, i.e. th e numb er of free sensors located within its tran smission range and its virtual cardinality . Th is w ay it k eeps into account Message name Message fields IAS ID, coordinate s, s tarter timestamp InfoSnapped ID, coordinate s, virtual cardinali ty InfoSlave ID, coordinate s, energy le v el InfoFree ID, coordinate s SIP ID, recei ve r ID, targe t position coordinate s AckSIP ID, recei ve ID ClaimPosition ID, coordinate s, timestamp PositionTaken ID, coordinate s InfoStopped ID, coordinate s IAYS ID, recei ve r ID CardinalityInf o ID, virtual cardina lity Offer ID, recei ve r ID, virtual cardinali ty , transacti on ID AckOffer ID, recei ve r ID MoveTo ID, recei ve r ID, destinati on coordinates, destinat ion snapped sensor ID, transaction ID InfoArrived ID, recei ve r ID, transacti on ID, energy leve l HoleInfo ID, hop counter , order va lue, hole coordinate s, timeout Subst ID, recei ve r ID, energy le vel AckSubst ID, recei ve r ID SubstArrival ID, recei ve r ID ProfilePacket ID, recei ve r ID, order valu e, priority queue, neighborho od information MoveToSubst ID, recei ve r ID, order valu e, priority queue, neighborho od information Retirement ID, hole coordinat es T ABLE I S U M M A RY O F P & P M E S S A G E S the departu re of some sensors from either its transmission range or its hexagon. In ord er to update the inf ormation related to th e snapped neighbo rs, p waits for the recep tion o f the corr espondin g IAS messages, to be sure th at p osition con flicts are solved (see IV -C3). No messages a re in volved in this phase that con sists in a mer e calculatio n based on locally av ailable inform ation. Let p be the sensor that is perfor ming the snap action and let q b e the one to which p sent a SIP message for th e p osition x . Five cases may oc cur, describe d as f ollows. 1) Sen sor p receiv es both the AckSIP and the IA S message from q . T his means that the sna p action perf ormed by p was successful, therefore p ca n up date the lo cal info rmation regarding the sn apped n eighbor q . 2) Senso r p receives the AckSIP fr om q ac knowledging its av a ilability to fill position x , but a co nflict occu rs solved in fa vor o f ano ther sensor r , wh ich reach es position x bef ore sensor q . Hence p receives an Ac kSIP from q and a IAS from r for the same position x . T hus p can update th e local informa tion regarding the snap ped neig hbor r . 3) Senso r p receives the AckSIP fr om q ac knowledging its av a ilability to fill position x , but a failure occu rred and the IAS timeout expires. If p detects the av ailability of anoth er sensor in L ( p ) that can be snap ped to po sition x , it retries the snap actio n. If su ch sensor is n ot av ailable, p starts the pull action. 4) Sen sor p doe s n ot receive the AckSIP f rom q , but receives a IAS message for position x fr om ano ther sensor r , b efore the expiration o f the AckSIP timeout. Senso r p can update the local info rmation regarding the snapped ne ighbor r . 5) Sensor p does not rec eiv e th e AckSIP from q no r the IAS from any other sensor with in the AckSIP timeout. If p detec ts the av ailability of ano ther sensor in L ( p ) that can be snapped Fig. 1. Snapped sensor behav ior to po sition x , it r etries the snap action. If such sensor is n ot av a ilable, p starts the pull action. The behavior of a snapped sensor p can be sketched as in Figure 1. I t d wells in the snap phase until there are a vailable sensors in L ( p ) an d vacant position s in the adja cent h exagons. If there are vacant p ositions and n o sensors in L ( p ) , sensor p gives start to the p ull action to attract new sensors fr om overcrowded areas. If other wise there are av ailab le sensors in L ( p ) and no vacant positions, p starts the push action to unifor m th e r edund ant sensor distribution. C. Beha vior of the sensors being snapped 1) Sen sor localizatio n: A free sensor q which receives a IAS message, co ming from a sn apped sensor p , r eplies with either an InfoFree or an InfoSlave message dep ending on its position with respect to p . If q i s located ou tside the Fig. 2. A typica l scenario of snap position conflict between two sensors hexagon of p , it rem ains in the free state and replies to p with an InfoFr ee message . If instead q is located inside the hexago n of p , it switches its state to slav e and replies to p with an In foSlave message. In both cases q b ecomes p art of the set L ( p ) , that is th e set of sensors that p can snap to its adjac ent vacant po sitions. Notice th at if q is a slave, there is only one snapped sensor p such that q ∈ L ( p ) , thus slav es belongin g to already sn apped sensor s do n ot reply to the IAS message o f p . If in stead q is a f ree senso r , it may belong to se veral sets L ( · ) , fo r different snapped sensors lo cated in rad io proxim ity from q itself. 2) Snap into po sition: Sensor q , be it f ree or slave, at a certain time, may r eceive a SIP message coming from a snapped sensor . Slaves re ply only to SIP messag es coming from their related snappe d sensor, while free sensors only reply the first SIP m essage they receive and ignore subsequent ones. After sending the AckSIP reply , sensor q travels tow ards the snapp ing destination until it reaches a distance d from it. Distance d is set small eno ugh to guaran tee th e radio connectivity within the circular d isk of rad ius d and th e inclusion of such d isk in to the hexago nal tile. T herefor e d ≤ √ 3 R s / 2 . At this poin t sensor q stops and br oadcasts a ClaimPositio n message co ntaining a timestamp and waits for the expiration of a timeout to evaluate if other sensors are tr ying to snap in the same position and in case to resolve the related contentio n. At the tim eout expira tion, if no c onflicts occurr ed or if a con flict was solved in its fa v or , q switches its state to sn apped, send s a P ositionTaken message a nd pro ceeds tow ards th e destina tion. After being successfully sn apped, sen sor q starts its o wn snap activity . 3) Resolu tion of snap position contentio n: Th ree events may o ccur wh en on e or more sensors are eng aged in a conflict with sensor q du e to the contention fo r the same snap position: 1) sensor q receives a Claim Position or a PositionTake n bef ore r eaching distance d f rom the destination, 2) sen sor q receives a ClaimPosit ion after the arriv al at distance d fr om th e d estination a nd before the expiration of the related timeout, 3) sensor q recei ves a Posi tionTaken as a response to its ClaimPositi on . This case may happ en if q started tra velling toward the destination whe n it was too far to perceive the previous Cla imPosition and PositionTake n m essages. In the first case, q stops moving and s ends an InfoStopped m essage, to advertise its new p osition to th e neighbo rhoo d, and starts a timeout. Snap ped sensor s r eceiving the I nfoStopped message, verify if the sender is inside their hexag ons and in this case rep ly with a IAYS m essage ( I Am Y our Snap ped), contain ing the send er and the receiver ID. If the stopped sensor receives a IAYS rep ly within the timeout, it sets its status to slave. Other wise, if the timeou t expir es, it sets its status to f ree, n ot belo nging to any hexagon. In the second c ase, sensor q compares its timestamp with the one included in th e ClaimPositio n message. The senso r with lower timestamp wins the compe tition f or the d estination and procee ds its tra vel, sendin g a PositionTaken m essage, while the oth er sensor waits for the arrival o f the IAS message of th e n ew sna pped sensor to switch its status to slave. In th e third ca se, sensor q sets its state to slave of the newly snapped sensor . N otice that this timestamp based co nflict is designed to avoid redu ndant replies to Cla imPosition messages. Figure 2 shows a typical conflict resolu tion scenario, where two sensors r and q receive a SIP message fo r the same position x from two different snapped sensors. Both r and q start travelling tow ards the destination x . Sensor q reach es distance d from the destin ation before sensor r , and sends a ClaimPosit ion message, with its timestamp. Sensor r receives such message while tra velling, and consequ ently stop s because th e co ntention fo r po sition x was won by sensor q . Sensor r sends an InfoSto pped message to alert its neighbo rhoo d of its new position and starts a timeout. In the case depicted in Fig ure 2, r sto ps inside th e h exagon centered in position x . For this re ason, n o snap ped sensor replies to th e InfoStopped message, thus after the timeo ut exp iration, sensor r switches its status to free. Afte r the expiration of the contention timeout, sensor q broad casts a Positio nTaken message and switches to the snap status while definitely trav elling to position x . When q reaches position x , it starts a neighbo r discovery by sending a IAS message, in co nsequence of wh ich, r switches its status to sla ve. Fig. 3. A typical scenario of the push acti vity V . P & P : P U S H AC T I V I T Y T o describe the p ush a cti vity we distinguish the b ehavior of snapped an d sla ve sensors and illustrate th e r ole exchange mechanism intr oduced to unifo rm the energy consump tion. A. Be havior of snapp ed sensors 1) Push p r op osal: As s oon as a snapped sensor p ter minates the sn ap activity , it sends a CardinalityIn fo message to its n eighbo rhood . Such m essage contains its I D and its virtual cardinality . Neighb or snap ped sensors that receive this message update their inform ation regardin g sensor p and ev a luate the op portun ity to move slav e sensors to its hexagon. Even sensor p ev aluates the oppor tunity to move some o f its slav es to adjace nt hexagons to unifo rm th e distribution of redund ant sensors. T o this end, it uses its information re garding the neighbor snap ped sensors, collected in t he neighbor discov- ery phase. Sen sor p looks fo r n eighbo r snapped senso rs whose hexagons verify the Moving Cond ition an d ha ve min imal cardinality . Amo ng these, it selects the clo sest, to which it sends an Off er m essage contain ing its virtual cardinality , and a n iden tifier of the current transactio n, (transactio n ID). If no sensor verifies th e Moving Con dition with p , sensor p waits for f urther events. 2) Push agreement: The snapped sensor q that re ceiv es an Offer m essage f rom p , verifies th e validity o f the Moving Condition as it cou ld hav e more upda ted info rmation than p . This way the respon sibility o f the slave movement is held by the r eceiv er , thus ensuring that it only hap pens whe n the Moving Condition is actually valid. This is particularly importan t to g uarantee the algorith m termination . T wo cases m ay occur : 1) q accepts th e offer it received from p , or 2) q leaves the offer unrep lied. In the first case, q replies to p with an A ckOffer message, containing o nly th e re cipient and sender ID. Sen sor q upd ates its virtual cardin ality value, advertising th e n ew value to its snapped neighbor s, with a Cardinal ityInfo message. This way q can p articipate in further o peration s of distribution of redund ant sensors with upd ated inf ormation an d im pede other snap ped sensors to send unn ecessary offers. When q accepts an o ffer , it starts a timeou t identified by th e tran saction ID received in the Offer message. If q does not receive any message within the timeou t, containing th e related transaction ID, it decreases its virtu al cardin ality and advertises this change with a n ew C ardinalityI nfo m essage. Th is way the p rotocol is robust to possible node failur es durin g the pu sh activity . The secon d case occu rs if sensor q verifies that the Moving Condition is unsatisfied with respect to senso r p . For this reason it does not r eply to the offer , causing the expiration of the o ffer timeou t, after which sensor p will be av ailable to be engag ed in other pu sh actions. This situation may happ en when p sen ds an offer o n the basis o f an ou tdated value of the virtual cardinality of q . As an example , the virtu al car dinality can be outdated because in the meanwhile, q has been inv olved in the push activity with o ther sensors. 3) Selectio n of the sen sor to push: Sensor p selects a sla ve r to pu sh and sends it a Mo veTo me ssage con taining th e sender and receiver ID, the po sition and the ID of the destination snapped nod e (in this case sensor q ), and the tran saction ID. This selection is based on an energy saving criterio n. Sen sor p selects the slave sensor r that will remain with h igher en ergy after th e comp letion of the entire movement. B. Be havior of a slave sensor The slav e sensor r selected by sensor p rece i ves a Mo veTo message and starts moving towards the hexago n of sen sor q . As soo n as sensor r cro sses the boun dary o f the hexagon of q , it sen ds an InfoArriv ed message to q and stops moving. The InfoAr rived message contain s the sender and receiver ID, the transactio n ID, an d the energy level of the sender . C. Role exchange The P U S H & P U L L algo rithm provides that slaves an d snapped senso rs may occ asionally exchang e th eir roles in order to balance the energy co nsumption over the set of av a ilable senso rs. Any time a slave r has to make a m ovement across a hexagon a s a consequ ence of a push action, it sends a role exchange p ropo sal consisting in a Su bst message to the snapped sen sor p of the hexag on it is traversing, and star ts a su bstitution timeou t. Subst messages contain the ID of sender and receiver , th e energy lev el of the sender an d the destination co ordinate s. The snapped senso r p uses the energy level value of r to decide if a role exchange ma y be o f benefit in balancing th e overall energy co nsumptio n betwe en the two sensors. In this case, p replies with an AckSubst m essage. If sensor r recei ves an AckSubst message within the substitution timeout, it travels toward the snap p osition h eld by senso r p , while p waits for the arr i val of sensor r before starting to travel towards the destination initially targeted by r . Sen sor r advertise its arrival to sen sor p with a SubstArriva l message contain ing the same fields of the AckSubst message. Sensor p replies to r with a ProfileP acket m essage that is nece ssary to enable a complete role exchange and starts travelling tow ards th e destination. If sensor r does n ot receive an A ckSubst message within the substitution timeout, it continues its travel towards the destination. Sla ve and snapped sensor substitution s ma y also occur at the beginning of the slave travel. In this case the substitution is started by the snapped sensor itself which alread y has all the av ailable inform ation to ev aluate the oppo rtunity to perfor m th e ro le exchange. Und er these circumstances, the snapped sen sor p send s a MoveToSu bst message co ntaining the pr ofile information necessary to perf orm the substitution . As soo n as sensor r ar riv es in proximity to the snap position held b y p , it sends the Su bstArrival me ssage d escribed before, after wh ich p starts travelling towards the destination. D. An example Figure 3 depic ts a typical scenario of the p ush activity . The snapp ed sensor q broad casts its virtual car dinality with a Cardin alityInfo message. The snapped sensors p and z rece i ve this message and verif y th e Moving Condition with the u pdated inf ormation received fr om q . As both p and z satisfy the con dition, they send an Off er message to q . Notice that the Offer m essage always contains an updated value of the virtual cardinality of the sender . Since each node can o ffer at most one sensor at a tim e the virtual car dinality does n ot chan ge until the offer timeou t expires, or the r eceiv er replies with a n AckOffe r message. Sensor q receives the Offer message fro m p before the one sen t from sensor z . It verifies the validity o f the Moving Cond ition w ith th e updated virtual card inality of p , receiv ed in the Offer message. As the Moving Con dition is still satisfied, q re plies with an AckOffer message, incr ementing its virtual car dinality a nd broadc asting a Card inalityInfo message. When nod e q receives th e Offer message from z it verifies the Moving Co ndition again. Note that z sent this message o n the basis o f an old value of the virtual cardinality o f q . Thus q finds that, as a conseq uence of th e transactio n just concluded with sensor p , the Movin g Condition is unsatisfied wit h respect to sensor z , and consequently it d oes not r eply to the offerer . Sensor z waits u ntil the expiration of the offer timeo ut, after which it is able to be engaged in other push ac tions. Sensor p receives an AckOffer message from q , thus it selects r within its slaves, and sen d it a MoveT o message. Sensor r moves towards the h exagon o f q , an d sends an InfoArrived message as soon as it arrives. Sensor p sends a Cardinal ityInfo message containing the decreased value of its virtu al cardinality . V I . P & P : P U L L A C T I V I T Y In the present section we d istinguish th ree po ssible roles of sensors inv olved in th e pu ll activity . A first role is the one of the sensor detecting a coverage hole in a neighb or location . This is the starter of the pull activity , which alters its or d value to enable push ac tions from nearb y hexagons and sends re lated trig ger notification messages. The secon d role is the one of the neighb or snap ped sen sors which receive the trigge r notification messages while not hav- ing av ailable slaves to send. These sensors act a s forwarder o f the trigger messages in or der to reac h hexagons with redun dant sla ves that can be moved (push ed) to fill the coverage h oles. The th ird r ole is p erform ed by the snapp ed sensors which receive a trigger message wh en having av ailable slaves to push. Th ese sensors ar e info rmed of th e changed o r d value of the neigh bor snapped sensor s, and can contr ibute to fill the coverage holes b y pushin g the available sla ves in the prop er direction. Notice that mu ltiple trigger notification m essages may reach the same sensor wh ile perf orming any of the three listed roles. Such message s ar e qu eued and processed with a p riority in versely prop ortional to the d istance from the coverage hole . A. Be havior of sensors detectin g coverage h oles A sna pped sensor p , lo cated in proximity o f some vacant positions (i.e. VP ( p ) 6 = ∅ ), ter minates the snap activity wh en no m ore sensors are available in L ( p ) . T o giv e start to the pull activity , sensor p verifies if there is the possibility to attract sensors from its snapped neighbo rs. T o this pu rpose, sen sor p checks the validity of the Moving Conditio n with respe ct to all its snapped neighbor s. If p can n ot continue the snap acti vity nor recei ve any sensor from its snapped neigh bors, it starts the pu ll activity . T o th is purpo se sensor p sets its or d value to zero, and advertises this change b y br oadcasting a HoleInf o message containing its ID, a hop coun ter h , its update d o r d value, the vacant position coordin ates, and a timeout t out which depe nds o n th e value of h (notice that this in formatio n is redu ndant but is introduc ed to in crease the algor ithm efficiency). By mod ifying its ord value, sen sor p alters th e cu rrent situation with resp ect to the Moving Con dition, enabling a new push acti vity from n eighbo r hexagons. The hop cou nter h rep resents the fo rwarding hor izon o f the HoleInfo message, that is the distance to be tra versed by this message, expressed in nu mber of hexagons. Initially h is set to zero, thus the snap ped sensors receiving a HoleInf o message only update their in formatio n about the send er or d value an d do not forward this message. If no new sla ve reac hes H ex ( p ) with in the g iv en timeou t t out , sensor p incr eases h and b roadcasts a new HoleInfo message. The timeout t out is calculated on th e basis of the ho p counter h as the time necessary fo r a sen sor located ( h + 1) hops apart to reach H ex ( p ) , that is t out = ( h + 1 ) · 2 R s /v , where v is the sensor speed . Figure 4 illustrates th e p ull action per formed by sensor p as d escribed above. B. Be havior of trigger forwar der sen sors When a sensor p receives a HoleInfo message and h as not any slave to p ush tow ard the coverage ho le, it participates in the pull ac ti vity by forwarding this message when necessary . In p articular, it d iscards Hole Info me ssages r elated to h oles whose presenc e was already triggered by a snapped sensor q , Fig. 4. Behav ior of a sensor detecting a cov erage hole unless th ey contribute additiona l in formation . In deed sensor p ev a luates new messages regard ing a coverage hole p reviously advertised by sensor q only if they come fr om: 1) snap ped sensor s with or d value lower than ord ( p ) or 2) snapped sensors with the same or d as p and h op counter h which is hig her than th e forwarding horizon issued by sensor q . Case 1) happens when a new sn apped sensor r detects the same coverage hole advertised by q , but the d istance between p and r is lower than the distance betwee n p and q . Case 2) happen s when sensor q issues a new hole trigge r demand ing a f orwarding horiz on extension. When processing HoleInfo messages, sensor p alters its status infor mation, and in particu lar sets its ord er value equa l to the adjace nt sen der order value incre ased by 1. Sensor p then forward s the trigger to its adjacent snapped sensors on ly if h > 0 . Such f orwarded trigger message contains the upd ated status in formation of p and a hop counter d ecreased by 1. If sensor p receives sev eral HoleInfo messages con- currently , it inserts them in a pre -emptive priority queue, where eac h message is trea ted with a p riority that is inversely propo rtional to the distance from the coverage hole. Sensor p sets back its o rd to the original v alue as soo n as the timeout of the Ho leInfo message expir es. T his is necessary to stop the p ull ac tion after the coverage of the detected ho le. C. Behavior of sensors pu shing r edunda nt slav es When a sensor p rec eiv es a HoleInfo message a nd finds an av ailab le sla ve to push to wards the coverage h ole, it updates the local informatio n regard ing its neig hborh ood. Than ks to the seq uence of ord er value alteration , p finds a valid Moving Condition with respect to the directio n of th e coverage hole and p roperly starts a push activity . Fig. 5. A typica l scenario of the pull acti vity D. An example Figure 5 shows a typica l scenario of the pull ac ti vity . Th e snapped sensor p detects a coverage hole in an adjacen t position. Since p h as no slaves in its hexagon a nd the Movin g Condition with r espect to its neighb ors is unsatisfied, it starts the pu ll activity by setting its ord value to z ero and b roadcast- ing a Hol eInfo message with null ho p coun ter . Since sensor q d oes not have any slave to push toward p , at the expiratio n of the timeou t, sensor p br oadcasts ano ther HoleInfo message increasing the previous ho p counter . Sensor q ev aluates the hop counter of the HoleInf o message it received from p and sets its own or d value to 1. Sensor q then forwards the trigger by b roadcasting a HoleInfo message with decr eased hop counter . Once again the timeo ut set by p expires beca use not even sensor z has any slave to pu sh, thus the proced ure is re peated until the trig ger, rep resented by the HoleInfo message, reach es sensor r wh ich instead h as an available sla ve s to pu sh as it d oes acco rding to the sam e pr ocedur e described in section V. V I I . P & P : M E R G E AC T I V I T Y The fact that many sensors act as starters implies the generation of several ti ling por tions with different orientations. The aim of the P U S H & P U L L algorithm is to cover the AoI with a u nique regu lar tiling thus min imizing overlaps o f the sensing disks and enab ling a complete and uniform coverage. Hence, the algorithm provides a merge mechanism to be executed when ev er a sen sor p receives a n eighbor discovery message ( IAS ) fro m a snapped sensor q belo nging to another tiling po rtion. In this case, sensor p c hooses to jo in the oldest grid por tion (it discrimin ates this situatio n by e valuating the timestamp o f the starter action, attached to any IA S message). Notice that th e detection o f the so le neighbor d iscovery mes- sages is sufficient to ignite the tiling merge activity bec ause such messages a re sent afte r any tilin g expansion and, if two tiling po rtions come in radio p roximity to e ach oth er , at least one of them is in creasing its extension. In th e following, we call G old and G new the tiling por tions with lower an d hig her timestamp, respectiv ely . W e distinguish thr ee possible cases. 1) Sensor p belong s to G new and receives a IAS message from q belon ging to G old . If sensor p is a slave, it switches its state to free or to slave of the sensor q depend ing on their mutual distance. Sensor p proac ti vely comm unicates its new state to its neigh borho od by sen ding either an InfoF ree or an Info Slave message. From n ow on p ho nors on ly messages from G old and ig nores those from G new . This pro activ e comm unication of the new state of p is needed to advertise the p resence of G new when there is n o message activity within G new that is perceivable by th e sensors in G old . This way , th e snapp ed senso r which p belong ed to can p roperly u pdate its slave set. If p is in stead a snapped sensor , it can n ot im mediately switch to its new state because of its leading ro le in side G new (e.g. it lead s the slave sen sors in S ( p ) and perfo rms push an d pull ac ti vities). Hen ce p tempor arily assumes a hyb rid role: it advertises itself as free/slave to the n odes of G old with an Inf oFree / InfoSla ve message and , at the same time, keeps o n behaving a s snapped nod e in G new until it receives a movement command ( SIP or MoveTo message) comin g from G old . If p received a SIP or a MoveTo command, p moves to the new snap po sition elec ting one of its slave in G new as a substitute with a Mo veToSubst message. The selected slave should reply with a SubstArr ival upon arrival to the snap position, within a giv en time out. I f this time out expire s b efore the reception of such Subs tArrival message , p selects a new slav e to snap. The process goes on until no more slaves are av ailable. In this case p ceases its snapp ed role inside G new advertising its d epartur e to its n eighbo rs in G new , br oadcasting a Reti rement message. Upon recep tion of a Retirem ent message the snapp ed neig hbors that were located in positions adjacent to the on e that p just freed, keep into a ccount the new vacant p osition starting new snap activities. I f otherwise, p receives a SubstArr ival on time, it cea ses its snapp ed role in G new and hon ors the command s issued by the sna pped node in G old . 2) Sensor p belon gs to G old and rece i ves a IAS message fro m q belong ing to G new : if p is a slav e it ig nores all messages from G new . I f p is snapped , it p erform s a neig hbor d iscovery sending a IAS message, ignores all messages coming f rom G new , apar t f rom the neig hbor d iscovery replies, an d hono rs (a) (b) (c) (d) Fig. 6. Cov erage of an irregula r AoI (a) (b) (c) (d) Fig. 7. Deploy ment with random initia l distributi on only messages fr om G old . Observe that the neighbor disco very is n ecessary to ignite the merge mech anism and allows each snapped sensor in G old to collect com plete inf ormation on nearby sen sors that previously belonged to G new . 3) Sensor p is free: sensor p ho nors on ly messages from G old and ig nores those from G new . V I I I . S I M U L A T I O N R E S U LT S In o rder to e valuate the perform ance of the P&P p rotoco l we d ev eloped a simulator o n the basis of th e wireless mo dule of th e OPNE T mod eler software [1 1]. The exp erimental activity req uired the definition of some setup p arameters: R tx = 11 m, R s = 5 m and the sensor speed is 1 m/sec. W e show some examples of final de ployments pr ovided b y the pr oposed pro tocol. Figure 6 g i ves a syn thetic represen ta- tion of how the sen sor deploym ent ev olves unde r P&P when starting with an initial configuration whe re 1 50 sensors ar e sen t from a high density region. The A oI has a c omplex shap e in which a narr ows conn ects two squa re region s 40 m × 40 m . In the following we also show thr ee other deployment examples obtained with different initial sensor d eployments over th e same AoI, that is a square 8 0 m × 80 m. In the first example, the initial deployment evidences a random d istribution o f sen sors over the Ao I as dep icted in Figure 7 (a). With such initial co nfiguratio n the deployment obtained by P&P ev olves thr ough the intermediate stages (b) and ( c), ach ieving the final deploymen t shown in figure ( d). (a) (b) (c) (d) Fig. 8. Deplo yment with high density initial distributi on at the boundari es of the AoI (a) (b) (c) (d) Fig. 9. Deplo yment with high density init ial distrib ution at the center of the AoI In the second example the initial deploymen t consists of a high den sity region at the bo undaries of the Ao I as dep icted in Figur e 8(a). W ith such in itial configu ration P&P achieves the final d eployment d etailed in (d) evolving as in (b) and (c). In th e third example, the initial deploymen t consists of hig h density region a t the center of the AoI as depicted in Figure 9(a). W ith such initial configu ration, the deployment obtain ed by P&P ev olves thr ough th e configur ations shown in ( b) and (c), r eaching th e final deploymen t given in (d). 0 100 200 300 400 500 100 150 200 250 300 350 400 450 500 Time (sec) Number of sensors Coverage Time Termination Time Fig. 10. T erm. and cov erage time 0 10 20 30 40 50 60 70 100 150 200 250 300 350 400 450 500 Avg exchanged messages Number of sensors Fig. 11. Nr of message exchan ges 0 0.2 0.4 0.6 0.8 1 1.2 100 150 200 250 300 350 400 450 500 Avg. nr. of Snap conflicts Number of sensors Fig. 12. Snap conflicts 0 0.5 1 1.5 2 100 150 200 250 300 350 400 450 500 Avg. push conflicts Number of sensors Fig. 13. Push conflicts W e intro duce some experimen ts conducted starting fro m the configur ation dep icted in figure 9(a) , by varying the nu mber of sensors. Results are average values calculated over 30 simulation runs. Figur e 10 shows the coverage and termination time of th e pr otocol execution . By coordinatin g distributed decisions and solving local conflicts, th e P&P pro tocol guar- antees the term ination o f the P U S H & P U L L algorithm in moderate time. Notice th at after the coverage c ompletion , the P U S H & P U L L algorithm k eeps on regulating some m ovements to uniform the redu ndant senso r density . The term ination time evidences the capab ility of the P&P pro tocol to reach a final stable config uration, wher e neither movements n or message exchanges are perform ed. The a verage n umber of message exchan ges, shown in Figure 11, evidences a good scalability of the P&P p rotocol. I ndeed this n umber remain s stable ev en when the num ber of sensors increases sign ificantly . Figure 12 r epresents the nu mber o f co nflicting snap actio ns, described in section IV, av eraged over th e numb er o f snap positions. The async hrono us behavior of P&P gu arantees th e resolution of the f ew position conflicts that arise as a conse- quence o f the distributed execution of the algorithm P U S H & P U L L . Although growing with the number o f a v ailable sensors, the average number of sn ap con flicts remains significan tly smaller than 1, meaning that, in the co nsidered scenarios, no more than one conflict happens per snap p osition. A push con flict h appens when a push offer mad e b y one sensor beco mes obso lete in conseq uence to push actions perfor med by other s. Despite the distributed execution of the P&P protoco l, the average numb er of p ush conflicts per sla ve sensor is stable with a growing numb er of sensors, as shown in Figur e 13. I X . C O N C L U S I O N S In this paper we intro duce P&P , a comm unication protoco l that p ermits a correct and ef ficient c oordin ation of sensor movements in agr eement with the P U S H & P U L L algorithm . Unlike previous works which introdu ce d eployment algo- rithms without for malizing the related p rotocol, we add ress the rea listic app licability of this ap proach . Indeed we deep ly in vestigate and pro pose pr otocol solutions to the possible conflicts that may arise when asynch ronou s lo cal d ecisions are to be coordinated . Simulation results show the performance of our proto col un- der a ran ge of ope rativ e setting s, including c onflict situations, irregularly shaped target areas, and node failures. These results evidence the protocol cap abilities to fu lfill the algorith m requirem ents and in particular term ination, complete ness an d stability of the final coverage . R E F E R E N C E S [1] Y . Zou and K. Chakrab arty , “Sensor deplo yment and target loca lizat ion based on virtual forces, ” Proc . IEEE INFOCOM ’03 , 2003. [2] N. Heo and P . V arshne y , “Energy-e f ficient deploy ment of intell igent mobile sensor netw orks, ” IEEE T ra nsaction s on Systems, Man and Cybernet ics , vol. 35, 2005. [3] J. Chen, S. Li, and Y . Sun, “Nov el deplo yment schemes for m obile sensor networks, ” Sensors , vol. 7, 2007. [4] S. Poduri and G. S. S ukhatme, “Constraine d cov erage for mobile sensor netw orks, ” Proc. of IEE E Int’l Conf. on Robotics and Automation (ICRA ’04) , 2004. [5] M. R. Pac, A. M. Erkmen, and I. Erkmen, “Scalable self-depl oymen t of mobile sensor networks; a fluid dynamics approach, ” Proc . of IEEE /RSJ Int’l Conf. on Intellige nt Robots and Systems (IR OS ’06) , 2006. [6] W . Ke rr , D. Spears, W . Spears, and D . Thayer , “T wo formal fluid models for multi-age nt sweeping and obstacle av oida nce, ” Pr oc. of A AMAS , 2004. [7] G. W ang, G. Cao, and T . L. Porta, “Movemen t-assiste d sensor deplo y- ment, ” IEEE T ransa ction on Mobile Computing , vol. 6, 2006. [8] ——, “Proxy-based sensor deployment for mobile s ensor networks, ” IEEE International Confer ence on Mobil e Ad-hoc and Sensor Systems (MASS) , 2004. [9] N. Bartolini, T . Calamoneri, E. G. Fusco, A. Massini, and S. Silvestri , “Snap & s pread: a self-depl oyment algorith m for mobile sensor net- works, ” P r ocee dings of IE EE/ACM Interna tional Confer ence on Dis- tribu ted Computing in Sensor Systems (DCOSS) , vol. 3, 2008. [10] ——, “Push&pull: autonomous deployment of mobile sensors for a complete cover age, ” http:// arxiv .org/abs/0 804.2191 , 2008. [11] “Opnet technol ogies inc. ” http://www .opnet.com .
Original Paper
Loading high-quality paper...
Comments & Academic Discussion
Loading comments...
Leave a Comment