A Distributed and Deterministic TDMA Algorithm for Write-All-With-Collision Model
Several self-stabilizing time division multiple access (TDMA) algorithms are proposed for sensor networks. In addition to providing a collision-free communication service, such algorithms enable the transformation of programs written in abstract mode…
Authors: ** Mahesh Arumugam (Cisco Systems, Inc.) **
A Distribu ted and Deterministic TDMA Algorith m for W rite-All- With-Col lision Mo d el ∗ Mahesh Arum ugam Cisco System s, Inc., San Jose, CA 95134 Email: maarumug@ci sco.com Abstract Several self-stabilizing time division m ultiple access (TDMA) a lgorithms ar e prop osed for sensor net works. In addition to pro viding a collision-free comm unication service, such algorithms enable the transforma tion of prog rams written in abstract models considere d in distributed computing literature in to a mo del co nsistent with sensor netw orks, i.e., wr ite all with collis io n (W A C) mo del. Existing TDMA s lot assig nmen t algor ithms hav e one or mor e o f the following prop erties: (i) co mpute slots using a ra ndomized algor ithm, (ii) a s sume that the top o logy is known upf ro n t, and/or (iii) assign slots se q uen tially . If these algorithms are used to trans fo rm abstract progra ms int o prog rams in W AC mo del then the tra nsformed pr o grams ar e pro ba bilis- tically cor rect, do not allow the addition of new no des , and/or conv erge in a sequential fashion. In this pap e r , we prop os e a self-stabilizing deterministic TDMA alg o rithm where a sensor is aw are of only its neighbo rs. W e show that the slots a re assig ned to the sensors in a concur- rent fa s hion and starting fro m arbitra ry initial sta tes , the algo rithm conv erges to states where collision-free co mm unication among the senso rs is restored. More over, this algorithm facilitates the transformation of abstract prog rams into pr ograms in W AC model that a re deterministica lly correct. Keyw ords: time division multiple access (TDMA), distance 2 coloring, self- stabilizatio n, p rogram transformation, write all with collision (W AC) mo del, sensor net w orks ∗ Con tact In formation: Address: 170 W. T asman Dr, San Jose, CA 95134 Phone: +1-408-853-3547 F ax: +1-408-527-9537 URL: http://aumahesh.googlepages. com/ 1 1 In tro duction One of the imp ortant concerns in p rogramming d istributed computing platforms is the mo del of computation used to sp ecify programs. Programs written for distribu ted computing platforms su ch as sen s or n et works and emb edded sy s tems often hav e to deal w ith sev er al low leve l c hallenges of the platform. In sen sor net wo rks, esp ecially , one has to write programs that deal with iss u es suc h as comm unication, message collision and race conditions among different pr o cesses. Th erefore, to simplify the programming, it is imp ortan t to abstract suc h lo w lev el issues. In other words, the abilit y to sp ecify programs in an abstract m o del and later tr ansform them into a concrete mo del that is app ropriate to the p latform is cru cial. The problem of transformation of p r ograms in an abstr act mo del to programs in other mo dels of computation has b een stud ied extensiv ely (e.g., [1–6]). These transformations cann ot b e applied to obtain concrete programs for s en sor net w orks as th e mo d el of computation in sensor n et works is write al l with c ol lision (W A C ) mo del. In W A C mo del, comm unication is lo c al br o adc ast in nature. As a result, whenev er a sensor executes an action , it w r ites th e state of al l its neighb ors in one atomic step. Ho wev er, if t w o neigh b ors j and k of a sensor (sa y i ) try to execute their write actio ns at the same time then, d ue to collision, state of i will remain unc hanged. The actions of j and k ma y up date the s tate of their other neighbors su ccessfully . Existing t ra nsformations f or W A C mo del. Recen tly , sev eral app roac h es ha ve b een prop osed to transform p rograms w ritten in abstract mo dels considered in distributed computing literature in to programs in W A C mo del [7–10]. Suc h transformation algorithms can be classified into tw o catego ries: (a) randomized [7, 8] and (b) deterministic [9, 10]. In [7], the auth ors prop ose a c ache d sensornet tr ansform (CST) th at al lo ws one to co rrectly sim ulate an abstract program in sensor netw orks. This tr an s formation uses carrier sensor m ultiple access (CSMA) based MAC proto col to br oadcast the state of a sensor and , hence, the transformed program is randomized. And, the a lgorithm in [9] uses t ime division multiple a ccess (TDMA) to ensure that co llisions d o not occur du ring write actions. Sp ecifically , in W A C mo d el, eac h sensor executes the enable d a ctions in the T DMA slots assigned to that sens or. And, the sensor writes the state of a ll its neigh b ors in its TDMA slots. If the TDMA a lgorithm in [11], a self- stabilizing and d eterministic algorithm designed for grid -based top ologies, is u sed with [9] then the transformed program in W A C mo del is self-stabilizing and deterministically correct for grid -b ased top ologies. And, if ran d omized TDMA algorithms p rop osed in [8, 12 ] are u sed with [9] then th e transformed program is pr obabilistically correct. Finally , the algorithm in [10], a self-stabilizing and deterministic TDMA algorithm for arbitrary top ologies, allo w s one to transform abstract programs in to programs in W A C mo del that are deterministically correct for arbitrary top ologies. In this pap er, we a re intereste d in stabilizat ion preserving deterministic transf orm ation for W A C mo del. As men tioned ab ov e, a s elf-stabilizing deterministic TDMA algorithm enables suc h a transformation. One of the dra wbac ks of existing self-stabilizing deterministic TDMA algorithms (e.g., [10]) is that th e reco v ery is sequ en tial. Sp ecifically , in [10], wheneve r the net wo rk is p erturb ed to states wher e th e TDMA slots are not collision-free, a distinguished sensor (e.g., base station) initiates a reco v ery pr o cess and eac h sensor recomputes its slots one by one. Ho we ve r, it is d esirable that the netw ork self-stabilizes fr om suc h arb itrary states in a distribu ted and concurr en t mann er (without the assistance of distinguished sensors). Con tributions of the pap er. T o r edress this deficiency , in t his p ap er, w e p rop ose a self- stabilizing deterministic TDMA algorithm that pro vides concurrent reco very . In this algorithm, whenev er a sensor observ es that the slots assigned to its neighbors are not collision-free, it initiates a reco v ery . As a r esult, its n eigh b ors reco v er to legitimat e sta tes (i.e., the slots are collision-free) and the netw ork as a whole self-stabilizes concurrentl y . W e sh o w that the algorithm supp orts addition or remo v al of sensors in the n et work. While a remo v al of a sensor do es not affec t t he normal op eratio n of th e netw ork, our algorithm ensu res that the slots assigned to remo ve d sensor 1 are reused. And, our algorithm sup p orts c ontr ol le d addition of new s en sors in the net work. In addition, we pr op ose an extension to our algorithm that improv es the b andwidth allo cation of the sensors. Organization of the pap er. The rest of th e pap er is organized as f ollo ws. In Section 2 , we in tro duce th e mo dels of computation considered in d istributed computing platforms. W e formally state the p roblem defin ition of TDMA and iden tify the assumptions made in this pap er. In Section 3, w e pr esen t our d istributed TDMA slot assignment algorithm for W A C mod el. W e sh o w that the algorithm is self-stabilizing. Also, we discuss extensions that allo w dynamic addition/remo v al of sensors, impro v e bandwidth allo cation, and syn c hronize time. Th en, in Section 4, we compare our algorithm with related work. Finally , in Section 5, w e summ arize our wo rk and ident ify futur e researc h directions. 2 Preliminaries In this section, w e defi ne the mo d els of computation, formally state th e p roblem, and discuss the assumptions made in this p ap er. 2.1 Mo dels of Computation A computation mo d el limits the v ariables that a p r ogram can read and wr ite. Program actions are split in to a set of pro cesses (i.e., sensors). Eac h action is asso ciated w ith one of the pro cesses in the program. W e no w defin e shared memory mo d el and W A C mo del. Shared memory mo del. In this mo del, in one atomic step, a sensor can read its s tate as w ell as the state of all its neighbors and wr ite its o wn state. W rite all w ith collision (W AC) mo de l. In this m o del, eac h sensor consists of write actions (to b e precise, write-al l actio ns). In o ne atomic step, a sensor can up date its o wn sta te and the state of all its neighbors. Ho we ve r, if t wo or more sens ors sim ultaneously try to up d ate the state of a sensor, sa y , k , then the state of k remains unc hanged. Th us, W AC mo del captures the fact that a message sent by a sensor is broadcast. But, if multiple messages are sent to a sensor sim ultaneously then, d ue to collision, it r eceiv es none. 2.2 Problem Statemen t Distributed TDMA s lot assignmen t. TDMA is the problem of assigning comm unication time slots to eac h sensor. T wo sens ors j and k cannot tr an s mit in the same s lot if their comm uni- cation in terferes with eac h other. In other words, j and k cannot transmit in the same slot if the comm unication distance b et ween them is less than or equal to 2. T o mo del this requir emen t, we consider the sensor net wo rk as a graph G = ( V , E ) w here V is the s et of all sensors and E is the comm unication top ology of the net w ork. More p r ecisely , if sensors u ∈ V an d v ∈ V can comm u ni- cate with eac h other then the edge ( u, v ) ∈ E . Finally , distanc e G ( u, v ) iden tifies th e communicat ion distance b et wee n u and v in G . Th e communicat ion distance is the num b er of links in the shortest path b et we en the tw o sen s ors. Thus, the problem statemen t of TDMA is sh o wn in Figure 1. Problem Statement: Distributed TDMA Slo t Assignme n t Consider the communicatio n g raph G = ( V , E ) ; Given a sensor j ∈ V , assi g n ti m e slots to j such that the following condition is satis fi ed: k ∈ V ∧ k 6 = j ∧ distance G ( j, k ) ≤ 2 = ⇒ slot .j ∩ slo t .k = ∅ where slot .i identifies the sl o ts assig ned to sensor i . Figure 1: Problem statemen t of d istributed TDMA slot assignmen t 2 Definition 2.1 (TDMA fr ame) In TDMA, time is p artitione d i nto fixe d size d fr ames. Each TDMA f r ame is divide d into fixe d size d slots. In this p ap er, we ensur e unif orm b andwidth al lo c ation among sensors. Ther efor e, e ach sensor is assigne d one slot i n every TDMA fr ame. A sensor is al lowe d to tr ansmit in the slots assigne d to it. Definition 2.2 (TDMA p erio d) The length of the TDMA fr ame is c al le d the TDMA p erio d. Mor e sp e cific al ly, it is the interval b etwe en the slots assigne d to a se nsor in c onse cutive fr ames. Distance 2 coloring. The pr oblem statemen t of TDMA is similar to the problem of distance 2 coloring. Distance 2 coloring algorithm assigns colors to all the sensors in the net work suc h that the colors assigned to distance 2 neigh b orh o o d of a sensor are uniqu e. Th e color assigned to a sensor iden tifies the initia l TDMA slot of that sensor. Th e s ensor can compute its subsequen t TDMA slots using TDMA p erio d. I deally , T DMA p erio d P = ( d 2 + 1), wh ere d is the maximum d egree of the netw ork. (W e refer the reader to [10] for a pro of that th e num b er of colors requ ir ed to obtain distance 2 coloring is at most d 2 + 1.) T h us, Figure 2 states the p roblem definition of d istance 2 coloring. Problem Statement: Distance 2 Colori ng Consider the communicatio n g raph G = ( V , E ) ; Given a sensor j ∈ V , assi g n a color to j such that the following condition is satis fi ed: k ∈ V ∧ k 6 = j ∧ distance G ( j, k ) ≤ 2 = ⇒ color .j 6 = co lor .k where color .i identifi e s the color assigned to se n sor i . Figure 2: Problem statemen t of d istance 2 coloring Self-stabilization. A n algorithm is self-stabilizing iff starting fr om an arb itrary state, it: (a) reco vers to legitima te state and (b) up on reco v ery con tinues to b e in legitimat e states forev er [13, 14]. Extending this definition, we hav e the problem statemen t of a self-stabilizing TDMA slot assignment algorithm as sho wn in Figure 3. Problem Statement: Sel f-Stabilizing TDMA Slot As signment Consider the co mmunication graph G = ( V , E ) ; A TDMA slot assignme n t algorithm is self-stabilizin g iff starting from arbitra ry i nitial states, the alg orithm recovers to the following state: j ∈ V ∧ k ∈ V ∧ k 6 = j ∧ distance G ( j, k ) ≤ 2 = ⇒ slot .j ∩ slo t .k = ∅ and continues to remain i n this state fo rever. Figure 3: Problem statemen t of s elf-stabilizing T DMA slot assignment 2.3 Assumptions In this pap er, w e do not assu me the p resence of a base station. In our algorithm, the sens ors col- lab orate among themselve s to obtain distance 2 coloring and TDMA slot assignmen ts. W e assume that eac h s ensor kno ws the IDs of the sens ors that it can communicate with. This assum p tion is reasonable since the sensors collaborate among their neighbors when an ev ent o ccurs. W e assume that the maxim um degree of the graph do es not exce ed a certain thresh old, s a y d . T his can be ensured b y ha ving the deplo ymen t follo w a certain geometric distrib u tion or u sing a predetermined top ology . Finall y , w e assume that the clo c ks of the sensors are sync hronized. Later, in Section 3.5, w e discuss ho w sens ors can synchronize their clo c ks. 3 3 TDMA Slot Assignmen t Algorithm In this section, w e present our distribu ted and deterministic TDMA algorithm. First, in S ection 3.1, w e giv e th e outline of the algorithm. T hen, in Section 3.2, we present the algorithm in d etail. Sp ecifically , w e discuss h o w the net wo rk self-stabilizes starting from arb itrary initial states to s tates where the slots are assigned as id entified in Fi gure 3 . Subsequ ently , in Sect ion 3.3, w e illustrate our algorithm with an example. And, in Secti on 3.4, we discuss the con verge nce and sca labilit y prop erties of the algorithm. Finally , in Section 3.5, w e discuss extensions to this algorithm. 3.1 Outline of the A lgorithm Initially , the colors assigned to the sensors m a y b e arbitrary . As a result, the comm unication among the sensors ma y n ot b e collision-free. T o ac h ieve collision-free comm un ication among the sensors, in this algorithm, we adopt distribute d r eset (e.g., [15]) approac h. More sp ecifically , whenev er collisions are observed for a particular slot (i.e., color) for a threshold num b er of consecutive TDMA frames (sa y , at j ), t he algorithm resets the co lors of app ropriate sensor(s) in the n eigh b orho o d of j . In other w ords, a reset computation is u sed to u p date the colors assigned to the sensors suc h that the sensors in distance 2 neigh b orhoo d of j ha v e uniqu e colors and, thus, ensure that slots assigned to them are collision-free at j . T ow ards this end, j schedules a reset computation in its current TDMA slots. It sc hedules the reset su ch that the follo wing requirements are satisfied: ( i) reset computations of others sens ors in the d istance 2 neigh b orh o o d of j d o not in terfere with eac h other and (ii) wh en j initiates r eset, the sensors in the distance 3 neigh b orho od of j ha v e stopp ed transmitting. The first requiremen t ensures that only one reset computation is activ e in a giv en n eigh b orho o d at an y ins tant. O th erwise, sim ultaneous resets in a d istance 2 neighborh o o d may result in collisions and/or sensors c ho osing conflicting colors. Th e second requir emen t ensures that the r eset messages and u p date messages are comm unicated in a collision-free mann er. Whenev er a sensor, sa y k , receiv es th e reset messa ge from j , fir st, it up dates the color in f ormation it mainta ins ab ou t its distance 1 and distance 2 neigh b ors. Next, it c hec ks if it h as to change the color in resp onse to the reset. If k needs to up date its colo r, it c ho oses a non-conflicting color among the sensors in its distance 2 neig hb orh o o d. And, subsequen tly , k b roadcasts change colo r message in its newly compu ted slots. No w , whenev er a sensor, sa y l , receiv es the change colo r message from k , first, it cancels an y sc heduled reset computations. Su bsequent ly , l up dates the color inf ormation it m ain tains ab out its distance 1 and d istance 2 neigh b ors. When j r eceiv es change colo r message , it send s resta rt message to signal its distance 3 n eigh b orho o d to restart application comm unication. Thus, the algorithm resets the n eigh b orho o d of j to deal with a collision at j . Ho w ev er, note that one reset computation ma y not b e s ufficien t to restore the state of the netw ork. 3.2 Reset Computation and Sl ot/Color Assignmen t In this section, we discuss the algorithm in detail. This is a 5-step algorithm: (1 ) observe collision and schedule reset computation, (2) send r eset message, (3) u p date color, (4) notify color, an d (5) restart communicat ion. Now, w e d iscuss eac h of these 5 steps. These steps may b e rep eated unt il the net wo rk self-stabilizes to legitimate states. Step 1: Observe c ollision and sc hedule reset computation. If a sensor, s ay j , observes collision at s lot c x (i.e., color c x ) for a th reshold n umb er of consecutiv e frames then it schedules a reset computation. T o wa rds this e nd , first, j a pp ends c x to c ol lisions .j , the list of collisio n slots it has observ ed so far. Also, it adds ( f c .j, c x ) to timestam p .j , where f c .j i s the frame in whic h 4 j o bserved the collision at slot c x . If j observ ed a collisio n for the fi rst time then j dete rmin es the slot in whic h it can send a reset me ssage . Sensor j sc hedu les a r eset computation suc h that requirement s identi fied in S ection 3.1 are met. R e quir ement 1: Ensur e only one active r eset in the nei g hb orho o d. T o satisfy this requ iremen t, j sc hedules the reset computation in TDMA f rame f r eset .j = f c .j + ID .j + D 3 time out , wh er e ID .j is th e ID of sen s or j and D 3 time out is d efined b elo w. This ensures that if t w o sensors observ e a collision simultaneo usly , then th eir resets are scheduled in unique fr ames. On the other hand, if the s en sors observe a collision in d ifferen t frames, it is p ossible that their resets are sc heduled in the same f r ame. Ho wev er, b efore a sensor initiates a reset, requirement 2 ensures that the d istance 3 neigh b orhoo d h as stopp ed. As a result, the sensor that ob s erv ed a collision earlier will b e able to p ro ceed w ith the reset without any collision. R e quir ement 2: Ensur e distanc e 3 neighb orho o d has stopp e d. Sup p ose j has sc hedu led r eset in f r eset .j . Before j in itiates reset, it has to w ait u ntil its d istance 3 n eigh b orho o d stops transmitting messages. T o wa rds this end , j stops transmitting for at le ast D 3 time out frames b efore it fi res the reset. D 3 time out is the num b er of TDMA frames requ ir ed for distance 3 neighborh o o d of j to stop transmitting messages. S p ecifically , when j stops, its neigh b ors will n otice th at j h as stopp ed. As a resu lt, distance 1 neigh b ors of j stop. Likewise, distance 2 and distance 3 neigh b ors of j stop. T o p rev en t false p ositiv es, neighbor, say l ∈ N .j , stops only after it detects that j has stopp ed for a threshold n umb er of consecutiv e frames, stop time out . Therefore, in order to ensur e that distance 3 neigh b orh o od of a s ensor h as stopp ed, D 3 time out ≥ 3 stop time out . Step 2: Send reset message. Eac h sensor, sa y j , main tains the state of its dista nce 2 neigh b orho od: nbrClr .j (con tains the state of distance 1 neigh b ors of j ) and dist2Clr .j (conta ins the state of d istance 2 neigh b ors of j ). Eac h en try in nbrClr .j co ntai ns color assignment and the last frame in w h ic h j or its neigh b ors receiv ed a message from the corresp onding sensor. Like wise, eac h en try in dist2Clr .j con tains color assignment and the last frame in w h ic h one of the neigh b ors of j r eceiv ed a message fr om the corresp onding sensor. Initially , nbrClr .j co nta ins arbitrary color assignmen ts that may not reflect the accurate state of all its distance 1 neigh b ors. And, dist2Clr .j ma y not reflect the actual distance 2 neighbors and their state. Notation. W e denote an entry in nbrClr .j as ( k , c k , f k ); this ind icates that j last receiv ed a message fr om k in frame f k and in s lot (i.e., color) c k . En tries in dist2Clr .j a re denoted sim ilarly . Additionally , we u se “-” to wildcard or ignor e a field in an en try . F or example, ( − , c x , − ) ind icates that w e are inte rested in entries that ha v e the color c x . Additionally , w e denote the cur r en t f rame at j as f curr ent .j . Sensor j initiates a reset in f rame f r eset .j only if it h as n ot stopp ed tr an s mitting in r esp onse to another reset. F rom Step 1, w e note that j sends the reset message to its d istance 1 neighbors in a collision-free manner. The reset message format is shown in Figure 4. The message in cludes the state of distance 1 n eigh b ors that j kn ows cur ren tly , list of collisions and their timestamps, the sensor that should up d ate its color in resp onse to this r eset, and the in itiator of the r eset (in this case, j ). S ensor j selects th e sensor that should u p date its color based on IDs of the neighbors that j did not h ear for a thresh old num b er of consecutiv e frames. rm j . neighb orState neighb or c olor lastR e c eive d j col or .j f curr en t .j nbrClr .j rm j . c ol lisionInfo c ol lisions .j rm j . r esetTimestamp timestamp .j rm j . sensorT oCha nge l , where l ∈ N .j is the sensor with lowest ID for which j did not hear any thing for a threshold n umber of frames rm j . initiator j Figure 4: Reset message of j , r m j 5 Theorem 3.1 R eset c omputation initiate d by any sensor exe cutes in a c ol lision-fr e e manner. Pro of. S upp ose tw o reset computations execute sim ultaneously in a distance 2 neighborh o o d. Let k and l b e t w o unique sensors that hav e in itiated the reset such that distanc e G ( k , l ) ≤ 2. Both k and l sh ould hav e observ ed a collision in the same frame and sc hedu led resets to start at th e same frame. Otherwise, either one of them would h a v e obs er ved that th at the neigh b ors ha v e stopp ed in r esp onse to a reset of the other an d , hence, it would ha ve stopp ed as we ll. Therefore, we ha v e, f r eset .k = f r eset .l . In other w ords, f c .k + ID .k + D 3 time out = f c .l + ID .l + D 3 time out . Without loss of generalit y , assum e th at ID .k < ID .l . No w, we ha ve f c .k > f c .l . More sp ecifically , l observe d the collision b efore k did. Th is is a cont radiction. Step 3: Up date color, if necessary . Whenev er a sen sor, say k , r eceiv es the reset message r m j , first, it cancels any sc heduled reset. Next, it up dates its n eigh b or state usin g th e information in r m j . Sp ecifically , it up d ates nbrClr .k with the color information of th e initiator of the r eset j . And, it up dates nbrClr .k and dist2Clr .k using the information in r m j ab out distance 1 neigh b ors of j . T o wa rds this end, we pro ceed as sh o wn in Figure 5. (No te that k up dates an ent ry in nbrClr .k or dist2Clr .k only if the initiator j had recei ve d a message from the corresp onding sensor most recen tly than that of k .) if ( j = r m j . initiator ∧ ( j, c j , − ) ∈ r m j . neighb orState ) nbrClr .k = { nbrClr .k − ( j, − , − ) } ∪ ( j, c j , f curr en t .k ) if ( p ∈ N .j ∧ ( p, c p , f 1 ) ∈ rm j . neighb orState ∧ ( p, − , f 2 ) ∈ nbrClr .k ∧ f 2 < f 1 ) nbrClr .k = { nbrClr .k − ( p, − , − ) } ∪ ( p, c p , f 1 ) else if ( p 6∈ N .k ∧ ( p, c p , f 1 ) ∈ rm j . neighb orState ∧ ( p, − , f 2 ) ∈ dist2Clr .k ∧ f 2 < f 1 ) dist2Clr .k = { dist2Clr .k − ( p, − , − ) } ∪ ( p, c p , f 1 ) Figure 5: Up d ating nbrClr .k and dist2Clr .k of sensor k Sensor k then chec ks if it h as to u p date its color. If k = r m j . sensorT oChange then j requires k to up d ate its color. Sensor k up d ates its color as sho wn in Figure 6. S p ecifically , if c olor .k is in r m j . c ol lisionInfo , k c ho oses a color c from K (i.e., the set of all a v ailable colors) suc h that there is no collision in slot c at j and is un ique among its d istance 2 neigh b orho o d. if ( k = rm j . sensorT oCha nge ∧ c olor .k ∈ r m j . c ol lisionInfo ) { p otentialColors = { c | c ∈ K ∧ c 6∈ r m j . c ol lisionInfo ∧ ( − , c, − ) 6∈ n brClr .k ∧ ( − , c, − ) 6∈ dist2Clr .k } c olor .k = min ( p otentialColors ) } Figure 6: Up d ating color assignmen t of sens or k Step 4: Notify color. If k = r m j . sensorT oChange , it send s change c olor message cm k to all its neigh b ors as sh o wn in Figure 7 (regardless of wh ether it changed its color or n ot). Sp ecifically , k sends its color inf ormation, nbrClr .k , and the initiator of the reset. Wheneve r a sensor receiv es change color message , first, it cancels an y sc hedu led resets. Next, it up dates its nbrClr and dist2Clr similar to the d iscussion sho wn in Figure 5. Sp ecifically , if l receiv es cm k , it up dates nbrClr .l with ( k , c k , f curr ent .l ), where ( k , c k , − ) ∈ cm k . neighb orState . Similarly , l up d ates nbrClr .l and dist2Clr .l based on n eigh b or state information in cm k . cm k . neighb orState neighb or c olor lastRe c eive d k col or .k f curr en t .k nbrClr .k cm k . initiator j Figure 7: Change color message of k , cm k 6 Theorem 3.2 If a sensor up dates its c olor in r esp onse to a r eset then the cha nge c olor message of that se nsor is c ommunic ate d in a c ol lision-fr e e manner. Pro of. L et j b e the initiato r of the reset. And, l ∈ N .j up dates its co lor in r esp onse to the reset of j . When j initiates the reset ( r m j ), distance 3 neighbors of j ha ve stopp ed tr an s mitting. Therefore, when l sends change colo r messa ge cm l , neigh b ors of l will receiv e it successfully . He nce, all n eigh b ors of l will get th e latest color assigned to l . Step 5: Restart comm unication. Whenever j initiates a reset, it exp ects to receiv e a change colo r message from r m j . sensorT oChange b efore its next allot ted slot in f curr ent .j + 1 frame. If j receiv es t he change colo r message f rom the sensor that c hanged the color in resp onse to reset of j , j cleans c ol lisions .j and timestamp .j . Then, it sig nals its neighb ors to restart application comm unication. Sp ecifically , it send s resta rt message , s m j ; th e format of sm j is the same as change colo r message as sho wn in Figure 7. On ce a sensor recei ve s sm j , it up dates nbrClr a nd dist2Clr and starts application comm un ication in its slots. Con tinuing in this fashion, the distance 3 neighborh o od of j restart their communicat ion. Note that the restart op eration up dates the color assignmen t of l = r m j . sensorT oChange at distance 2 neighb orh o o d of l , p oten tially causing collisions at some distance 2 neigh b ors of l . When a sensor hears a r estart message or collision, it restarts application comm unication. On the other hand, if l = r m j . sensorT oChange did not send change co lo r message (p ossibly , due to failure of l ) then j marks l as p otential ly faile d . And, it cleans c ol lisions .j and timestamp .j . Also, it send s the restart message as mentioned ab o v e. In future resets at j , j will not set l in r m j . sensorT oChange . If l has indeed failed, th e extension prop osed in Section 3.5.1 w ill r eclaim the slots assigned to l . Otherwise, sen s or j will r emov e l from th e list of p oten tially f ailed s ensors when j h ears a message f rom l . Theorem 3.3 If a sensor changes its c olor in r esp onse to a r eset, eventual ly, the distanc e 2 neigh- b orho o d of that sensor le arn the state of the sensor. Pro of. S upp ose k ∈ N .j up d ates its color in r esp onse to a reset initiated b y j . Distance 3 neigh b orho od o f j h a v e stopp ed tran s mitting in resp onse to the reset of j . Th erefore, w e can conclude that sensors in d istance 2 neighborh o o d of k ha ve s topp ed transmitting. No w, when k sends change colo r message cm k , distance 1 neighbors of k receiv e it successfully . When j sends resta rt m essage , some d istance 2 neighbors of k are up dated ab out the state of k . How ev er, it is p ossible that w h en distance 1 neigh b ors of k forw ard this r estart, collisions ma y pr ev en t some distance 2 neighbors of k to not receiv e th e up d ate. On the other hand, k will also witness th is collision, and, as a result, sc hedules a r eset computation in futur e frames. Hence, ev en tually , state of k will b e u p dated at all the sen s ors in its d istance 2 n eigh b orho o d . W e note that in this algorithm at most one neigh b or is reco v ered in an y reset. Therefore, if t wo or more sensors are inv olved in a collision at j then j still observ es collisions after r eset. Subsequen t resets at j or at other sens ors will ev en tually restore collision-free communicatio n at j . Thus, we ha v e Theorem 3.4 Eventual ly, the network self-stabilizes to the states wher e c ol lision-fr e e c ommunic a- tion among the sensors is r estor e d. 3.3 Illustration In this section, w e illustrate the TDMA slot assignmen t algorithm with an example. W e consider the top ology sho wn in Figure 8(a). The color assignmen ts of eac h sens or is sp ecified along with the 7 ID of the no de. F or example, 2(1) d enotes that s en sor 2 is assigned color 1. Initially , w e assume that f curr ent = 0 at all sensors. Based on initial color assignments, we can note th at every sens or observ es a collision. S ensors sh own as filled circles d enote that they hav e observ ed a collision. Figure 8: Illustration of the TDMA slot assignment algorithm Assuming that th e sen sors ha ve observed the collision for a t hr eshold num b er of times, they sc hedule reset computation. Sp ecifically , eac h sensor determines the frame in whic h it can sen d a reset message. Eac h sensor, say j , determines the frame for reset as follo ws: f r eset .j = f curr ent + ID .j + f t , wh ere f t = D 3 time out . Figure 8 (b) sho ws the fr ames in whic h the sensors hav e s cheduled the reset compu tation. In t his illustratio n, as sh o wn in Figure 8(c), sensor 0 sets r m 0 . sensorT oChange = 1. As a result, sensor 1 c hanges its color to 2. Th en, it sends a change colo r message , cm 1 (cf. Figure 8(d)). Once sensor 0 receiv es cm 1 , it up d ates its state and sends restart messa ge , sm 0 (cf. Figure 8(e)). Once sensors 1 and 2 receiv e sm 0 , they restart their comm un ication. Con tin uing in this f ash ion, distance 3 neigh b orho o d of se nsor 0 restart comm un ication. Ho wev er, as w e can observe from Figure 8(f ), message co mmunicatio n is still n ot collision free. Sensors then sc hedule subsequent reset computations and, finally , as sho wn in Figure 8(g), collision-free comm unication is restored. The con v ergence time f or th e net w ork sh o wn in Figure 8(a) is 4 f t + 18 frames. If we had used the approac h pr op osed in [10], where a base station in itiates slot rev alidation then the whole netw ork is stopp ed (in r esp onse to missin g tok en circulation). By con trast, in our algorithm, only the sensors in the distance 3 n eigh b orho o d of the initiator are stopp ed. 8 3.4 Con v ergence and Scalabilit y As discus sed in Section 3.2, at m ost one sensor is reco v ered at the initiator in any reset computation. Assuming no failure of sens ors , if a s en sor observes x collisions then, in the worst case, it tak es x resets to reco ver its neigh b ors . Add itionally , w e also note that reset computations are sc hedu led based on the IDs of the sensors in order to av oid interference among them. If t wo sensors that are not in the distance 3 neigh b orho o d of eac h other initiate a reset then it is p ossible that r esets are sc heduled far apart ev en though there is no inte rference among them. T o impro v e the con ve rgence and scalabilit y of th e algorithm, w e can u se the neighb orho o d unique na ming sc heme prop osed in [8] that assigns unique IDs for sensors within any distance 3 neigh b orho od. Th is reduces th e ID sp ace of the n etw ork. Hence , tw o sensors not in the distance 3 neigh b orho od of eac h other can sc hedu le their reset computations close to eac h other. As a r esult, the con v ergence time of the algorithm is impr o v ed. Regarding scalabilit y , fi rst, we n ote that unlike [10], con v ergence can tak es place in p arallel if the initiators of r esets are not in the distance 3 neighborh o o d of eac h other. And, since we adopt neigh b orho od unique n aming sc heme, the ID space of th e net work i s small. Thus, in tegrating neigh b orho od unique naming sc heme from [8] impro v es the conv ergence time and scalabilit y of our algorithm. 3.5 Extensions In this secti on, w e discuss some extensions to our TDMA algorithm. First, in Section 3.5 .1, w e pro vide an extension that allo ws the sensors to deal w ith failure of their neigh b ors. Then, in Section 3.5.2, w e present an approac h to d eal with addition of new sensors in the net w ork. Subsequently , in S ection 3.5.3, w e pr esen t an optimiza tion that that impro v es the bandwidth allo cation of the sensors. Finally , in Section 3.5.4, we discuss ho w time syn c hronization can b e achiev ed. 3.5.1 Dealing with F ailure of N e ighbors In our algorithm, whenever a s en sor (sa y j ) hears a collision, it schedules a reset compu tation to restore collision-free comm unication. On the other h and, if j do es not h ear a message or observ e a collision in a giv en slot, it could b e b ecause of the one of the follo wing factors: (i) su pp ose k ∈ N .j is the neighbor that is assigned the corresp onding color; k ma y b e failed, (iii) k ma y ha ve stopp ed in resp onse to a reset, or (iii) k do es n ot h a v e any data to sen d . If a sensor fails, the TDMA slots assigned to other sensors are s till collision-free and, hence, norm al op eration of the n et w ork is not affected. Ho wev er, the slots assigned to the failed sens ors are wasted. In this section, we discuss an app roac h to reclaim slots assigned to failed sensors. First, w e in tro d uce control messa ge . Eac h sensor transm its a control message once in every T c ontr ol frames. This message includes the color assignment of the sens or and its nbrClr . An d, T c ontr ol is determined wh en the net w ork is dep loy ed and is c hosen b ased on ho w f requen tly t he net w ork c hanges. If top ology changes are common, a smaller T c ontr ol lets the sensors to quickly learn the state of their neighb ors . On the other hand, a larger T c ontr ol is more app r opriate f or a net w ork that change s only o ccasionally . T o reclaim the slots assigned to failed sensors, we pro ceed as follo ws . Sensor j concludes that k ∈ N .j has failed if f curr ent .j − lastR e c eive d k > T c ontr ol , where ( k , − , last R e c eive d k ) ∈ nbrClr .j . Sp ecifically , if j sees that it did not receiv e an y message fr om k for more than T c ontr ol frames, it concludes that k has failed. When j concludes k has failed, it sets ( k , − , faile d ) in nbrClr .j . A nd , send s co ntrol message , c ontr ol j . Wheneve r a sensor r eceiv es c ontr ol j suc h that ( k , − , f aile d ) ∈ c ontr ol j . neighb orState , it marks k as failed. The activ e neigh b ors of j remo v e ( k , − , − ) fr om nbrClr or dist2Clr . This allo ws 9 the s en sors to reuse the color assigned to k to other sensors (in case of dynamic addition of new sensors or dur ing reset computations). Ho wev er, if k has not failed, it announces its presences in its current TDMA slots by s ending c ontr ol k . When neigh b ors of k receiv e this message they up date their nbrClr . Su bsequent ly , distance 2 neigh b ors of k also restore the state of k . 3.5.2 Dealing with Addition of Sensors In this section, we discus s an approac h to dynamically add new sensors in the net w ork. This approac h is similar to [10]. Supp ose a sensor (sa y p ) is ad d ed to the net wo rk such that the m axim um degree of the n et work is not c hanged. Before p starts transmitting application messages, it listens to the message comm unication of its n eigh b ors. T o le t p lea rn the colors used in its distance 2 neigh b orho od, w e extend our algorithm as follo ws. Sensor p w aits for T c ontr ol frames b efore it participates in the net wo rk. This allo ws p to learn distance 1 and distance 2 neigh b ors and their color assignments (from control messages of its neigh b ors). After T c ontr ol , p c h o oses a color. Next, p ann ounces its p resence to its neigh b ors by sending a c ontrol message in its newly computed slot. When a sensor receiv es a control me ssage from p , it add s p to its n eigh b or list and up dates nbrClr . S ubsequently , distance 2 neigh b ors of p also learn its presence and up d ate their dist2Clr . Th us, this app r oac h allo w s the addition of new sensors in a neigh b orho o d s uc h that it do es not violate the maximum degree assumption. Ho wev er, if tw o or more sensors are add ed sim ultaneously , it is p ossible that they ma y c ho ose the same color and , a s a resu lt, cause co llisions. Since our algorithm is self-stabilizing, the net wo rk will ev ent ually self-stabilize to states where the color assignmen ts are collision-free. 3.5.3 Impro ving the Bandwidth Allo cation In this section, w e d iscuss an app roac h to impr o ve the bandw idth allo cation of the sensors. This approac h allo ws the sensors to reduce the TDMA p erio d and, hence, g et b etter bandwid th allo- cation. T he basic int uition beh in d this ext ension is t hat if c x is the maxim um c olor u sed in the net w ork, the ideal TDMA p eriod should b e c x + 1. In this approac h, eac h sensor (sa y j ) mainta ins maxCo lor .j that denotes the maximum color used in its distance 2 neigh b orh o o d. It also main tains c ontr olMax .j that denote s the m axim um color used in the net work. Note that j ma y not y et h a ve t he accurate information about the maxim um color used in the net wo rk. T o imp ro v e the bandwid th allocation of th e sensors, w e extend the control message (discussed in Section 3.5.2) as sho wn in Figure 9 . Any sensor in the netw ork ma y decide to impr o v e band width allocation in the net wo rk. Let j decides to impro ve band width allo cation. It sends a control mes- sage , c ontr ol j that includes c ontr ol j . maxColo rInfo =max( c ontr olMax.j , maxColor .j ). Sensor j also indicates when the sensors can switc h to new TDMA p erio d, i.e., c ontr ol j . switchOn = f switchOn .j , where f switchOn .j ≥ f curr ent .j + 2 T c ontr ol . (W e discuss why this is necessary later.) c ontr ol j . maxColorInfo c = max ( c ontr olMax .j, maxColor .j ), where maxColor .j is the maximum in { c x | ( − , c x , − ) ∈ n brClr .j ∨ ( − , c x , − ) ∈ dist2Clr .j ∨ c x = c olor .j } c ontr ol j . switchOn f switchOn .j Figure 9: Extending control message for impr o ving bandwid th allocation Whenev er k receiv es c ontr ol j with max ColorInfo , k sets c ontr olMax .k = max( c ontr olMax .k , c ontr ol j . maxColo rInfo ). It also n otes down the frame in whic h it can switc h to the new T DMA p erio d, i.e., f switchOn .k = max ( f switchOn .k , c ontr ol j . switchOn ). Thus, con tin uing in this fashion, 10 eac h sensor will even tually le arn the maxim um color used in the net w ork, i.e ., c ontr olMax . And, eac h sensor also kno ws the ideal TDMA p eriod (i.e., c ontr olMax + 1). Once the sensors h a v e learned the maximum color used in the netw ork, th ey can up d ate their TDMA p eriod . H o wev er, this op eration s h ould o ccur syn c hronously . In other wo rds, all the sensors should up date their TDMA p erio d at the same time. Otherwise, collisions ma y o ccur. T o add r ess this issue, first, w e note the fol lo wing. If the TDMA s lots assigned t o t he sens ors are consisten t then all the sensors lea rn the maxim um colo r used in the netw ork in at most 2 T c ontr ol frames, where T c ontr ol is the p erio d b et we en t wo successive control messages (cf. Section 3.5.2). Since the initiator of this op eration includes the f rame in which new T DMA p eriod is effectiv e, eac h sensor kno ws exactly when to switc h. Th u s, th e TDMA p eriod can b e up dated to reflect the id eal v alue. Additionally , a s en sor can request for unused bandwid th in its distance 2 n eighb orh o o d using the approac h prop osed in [10] th at n egotia tes with the neighbors to le ase u n used slots. 3.5.4 Time Sync hronization In our algorithm, w e assume that the sens ors ha v e iden tical clo c ks. In this section, w e show h o w our algorithm can b e extended to syn c hronize time across the net wo rk. Again, in this extension, we use control message to synchronize time. Sp ecifically , whenev er a sensor (sa y j ) transmits control message , c ontr ol j , it includes the information sho wn in Figure 10. c ontr ol j . timesynchInfo real time current frame wal lClo ck .j f curr en t .j Figure 10: Extend ing control message for time syn c hronization Sp ecifically , the control m essage includ es the real clo c k v alue at j and current frame at j . Based on this information and the colo r assigned to j , a sensor determines start of the frame in wal l-clo c k time. Whenev er a neighbor (sa y k ∈ N .j ) r eceiv es the con trol message, it up dates wal lClo ck .k with c ontr ol j . timesynchInfo , if r equired. And, k determines the start of the fr ame and up dates it frame n umb er and slot num b er accordingly . Con tin uing in this fashion, time synchronizatio n is ac hiev ed in the n et w ork. In addition, in the case wh ere the TDMA slots are consisten t, w e can inte grate synchronizatio n algorithms pr op osed in the literature for sensor net wo rks. F or example, time synchronizatio n s ervices suc h as [16–18] could be in tegrated with our algorithm. These services sync hr onize the sensors to within a few microseconds. W e also exp ect that p erform an ce of the time syn c hronization service will imp ro v e as TDMA pro vides a collision-free comm unication m edium. 4 Related W ork Related w ork that deals with self-stabilizing deterministic slot assignment algorithms include [10, 11, 19, 20]. In [11], Kulk arni and Arumugam prop osed self-stabilizing TDMA (SS -TDMA). In this algorithm, the top ology of the net w ork is known upfr on t and remains s tatic. Also, a b ase station is resp onsible for p erio dic diffusing compu tations that assign/rev alidate the slots of the sensors. Unlik e [11], in the pr op osed algorithm, th e sensors are aw are of only their neighbors and there is no d esignated sen sor that is resp onsible for th e slot assignment. In [10], Aru mugam and Kulk arni pr op osed self-stabilizing deterministic TDMA algorithm. Again, this algorithm assumes the presence of the base station that is resp onsib le for token circu- lation. And, the slots are assigned in sequen tial fashion. By contrast, th e algorithm prop osed in this p ap er assigns slots in a concur ren t fashion and no tok en circulation is required . In [19], Dan turi et al p rop osed a self-stabilizing solution to din ing p h ilosophers pr oblem wh ere 11 a pro cess cannot sh are the cr itical section (CS) with n on-neigh b oring pro cesses also. This problem has application in distance-k coloring, where k is the d istance up to wh ic h a pro cess cannot share CS. This algo rithm requires eac h pro cess p to mainta in a tree ro oted at itself th at spans the pro cesses with whom p cannot share C S using algo rithms in the literature. Ho wev er, the algorithm is written i n shared memory mod el. On the other hand, the prop osed algorithm can b e used in sensor net w orks d irectly and also allo ws one to transf orm abstract programs into pr ograms in W A C mo del. In [20], B itMA C is prop osed for collision-free comm un ication i n sensor net wo rks. On e of the imp ortant assumptions in this p ap er is that wh en t w o messages collide the result is an OR op eration b et we en them. This algorithm is not self-stabilizing. Unlik e [20], our algorithm is written for W A C mo del and is self-stabilizing. Related work that deals with randomized algorithms for TDMA slot assignment includ e [8, 12]. In [8], Herman and Tixeuil prop osed a probabilistic fast clustering tec hnique for TDMA slot assignmen t. In this algorithm, fi rst, a maximal in dep endent set that identifies the leaders is computed. These leaders are then resp onsible for d istance 2 coloring. In [12], Busc h et al prop osed a randomized algorithm f or slot assignment. The algorithm op erates in tw o ph ases: (1) to compute the slots and (2) to determine the ideal TDMA p eriod . Both these p hases are self-stabilizing and can b e interlea v ed. Unlike [8, 12], our algorithm is deterministic. Sev eral other TDMA algorithms are prop osed in the literature (e.g., [21–24]). Ho wev er, most of these algorithms are not self-stabilizing and/or mak e assump tions that are n ot r elev an t to W A C mo del or sensor net wo rks. 5 Conclusion In t his pap er, w e presen ted a self-stabilizing deterministic T DMA slot assignmen t alg orithm for write all with collision (W A C) mo del. W e sho w ed that the algorithm allo ws sensors to concurr en tly reco ver and s elf-stabilize starting f rom arbitrary states. T o w ards this end, we used distribu ted r eset to restore the state of the n et w ork quic kly . Mo re sp ecifica lly , whenever a sensor observ es a collision for a threshold n umber of consecutiv e TDMA frames, it sc hedules a reset computation to reco v er its distance 2 neigh b orh o o d. W e sho w ed that at most one r eset op eration executes in a distance 3 neigh b orho od at any in stan t. And , w e sho we d h o w the sens ors r eco ve r in r esp onse to resets and reac h legitimate states that satisfy the problem statemen t of TDMA. Additionally , as discussed in [9], our algorithm is applicable in transformin g existing programs in shared memory mo del in to programs in W A C mo d el. This allo ws one to reuse existing solutions in distributed computing for prob lems such as routing, data dissemination, synchronizatio n, and leader election in th e con text of sensor net w orks. Thus, the algorithm prop osed in this p ap er al- lo w s one to transf orm su c h solutions and ev aluate th em in sensor n et works. As a result, w e ca n rapidly protot yp e sensor netw ork app licatio ns. (W e refer the reader to [25] f or examples of suc h transformations.) Moreo ver, this algorithm demonstrates the feasibilit y of a deterministic transfor- mation of a p rogram in sh ared memory mo del in to a pr ogram in W A C mo del wh ile preservin g the self-stabilizati on pr op ert y of the original program. There are s everal possib le fu ture directions. While this algo rithm demonstrates co ncurr en t reco very of TDMA slots and the reco v ery time is exp ected to b e reasonable for t ypical deplo yment s, one futu re direction is to extend this algorithm to pro vide faster conv ergence. Additionally , while our exp erience in transf orm ation of abstract programs to W A C mo del (cf. [25]) suggests that the efficiency of the program obtained by transformation is close to that of man ually designed p rograms, another future direction is to quanti fy the efficiency of the transformed pr ograms. 12 References [1] G. Ant onoiu and P . K. Srim ani. Mutual exclusion b etw een neigh b oring no des in an arbitrary system graph tree that stabilizes using read/write atomicity . In Eur o-p ar’99 Par al lel Pr o c e ssing, Springer- V erlag , LNCS:1685:824–830, 1999. [2] M . Gouda and F. Haddix. The linear alternator. In Pr o c e ed ings of the Thir d Workshop on Self-stabilizing Systems , pages 31–47, 1997. [3] M . Gouda and F. Haddix. The alternator. In Pr o c e e dings of the F ourth Workshop on Self-stabilizing Systems , pages 48–53, 1999. [4] K. Ioannidou. T ransformations of self-stabilizing algorithms. In Pr o c ee dings of the 16th International Confer enc e on Distribute d Computing (DISC), Springer-V erlag , LNCS: 2508:103–1 17, Octob er 2002. [5] H. K akuga wa and M. Y amashita. Self -stabilizing local mutual exclusion on net works in which pro cess iden tifiers are not distinct. In Pr o c e e dings of the 21st Symp osium on R eliable Dist ribute d Systems (SRDS) , pages 202–211, 2002. [6] M . Neste renko and A. Arora. Stabilization-preserving atomicit y r efinemen t. Journa l of Par al lel and D istribute d Computing , 62(5):766– 791, 2002. [7] T. H erman. Mo dels of self- stabilization and s ensor net works. Workshop on Distrib ute d Computing , 2003. [8] T. Her man and S. T i xeuil. A dis tr i buted TDM A sl ot assignmen t algorithm f or wi reless sensor netw orks. In Pr o c e e dings of the Workshop on Algorithmic A sp e cts of Wireless Sensor Networks (AlgoSensors), Springer , LNCS:3121:45–58, 2004. [9] S. S. Kulk arni and M. Arumugam. T ransformations for write-all- with-collision mo del. Computer Communic ations , 2006. [10] M. Arumugam and S. S. Kulk arni. Self-stabilizing deterministic time division multiple access for sensor netw or ks. AIAA Journal of A e r osp ac e Computing, Information, and Communic ation (JACIC) , 3:403–419, August 2006. [11] S. S. Kulk arni and M. Arumugam. SS-TDMA: A self-stabili zing mac for sensor net works. In Sensor N etwork O p er ations . Wiley-IEEE Press, 2006. [12] C. Busc h, M. M-Ismail, F. Sivrik ay a, and B. Y ener. Conten tion-fr ee M AC protocols for wir eless sensor net works. In Pr o c e e dings of the 18th Annual Confer enc e on Dist ribute d Computing (DISC) , 2004. [13] E. W. Dijkstra. Self-stabili zing systems in spite of distri buted con trol. Communic ations of the ACM , 17(11) , 1974. [14] S. Dolev. Self-Stabilization . The MIT Press, 2000. [15] A. A r ora and M. Gouda. Dis tr i buted r eset. IEEE T r ansactions on Computers , 43(9):1026–1038, 1994. [16] S. Ganeriwal, R. Kumar, and M. Sriv astav a. Timi ng sync protocol f or sensor net works. In Pr o c e e dings of the International Confer ence on Emb e dde d Networke d Sensor Systems (SenSys) , Nov ember 2003. [17] T. Herman. NestArc h: Protot yp e time sync hronization service. N EST Challenge Architect ure. Av ai lable at: http://w ww.ai.mit.edu /people/sombrero/nestwiki/index/C omponentTimeSync , Jan uary 2003. [18] J. v an Greunen and J. Rabaey . Li gh tw eight time synchronizat ion f or sensor netw orks. In Pr o c e e dings of the Workshop on Wir eless Sensor N etworks and Applic ations (WSNA) , Septem b er 2003. [19] P . Danturi, M. Nesterenko, and S. Tixeuil. Self -stabilizing philosophers with generic conflicts. In Pr o c e ed ings of t he Eighth International Symp osium on Stabilization, Safety, and Se curity of Distribut e d Sy stems , Nov ember 2006. [20] M. Ri ngw ald and K. R ¨ omer. Bi tMAC: A deterministic, coll ision-free, and robust MAC proto col f or sensor net works. In Pr o c e e dings of the Eur op e an Workshop on Sensor Networks (EWSN) , 2005. [21] V. Claesson, H. L¨ onn, and N. Suri. Efficient TDMA sync hronization for distributed embedded systems. In Pr o c e e dings of the 20th IEEE Symp osium on R eliable Distributed Systems (SRDS) , pages 198–201, O ctober 2001. [22] W. B. Heinzelman, A. P . Chandrak asan, and H. Bal akr i shnan. An application-sp ecific proto col ar c hitecture f or wireless microsensor net works. IEEE T r ansactions on Wireless Communic ations , 1(4):660–670, Octob er 2002. [23] K. Sohrabi and G. J. Po ttie. Pe rfor m ance of a nov el self- organization protocol for wi reless ad-ho c sensor net works. In Pr o c e e dings of the IEEE V e hicular T e c hnolo gy Confer enc e , pages 1222–1226, 1999. [24] K. Ar isha, M. Y oussef, and M. Y ounis. Energy-aw are TDMA -based M AC for sensor net works. In Pr o ce e dings of the IEEE Workshop on Inte gr ate d Management of Power A war e Communic ations, Computing and Networking (IMP ACCT) , May 2002. [25] Mahesh Arumugam. R apid pr ototyping and quick deployment of sensor net works . PhD thesis, Michigan State University , 2006. Av ailable at: http://w ww.cse.msu.e du/ ~ arumugam /dissertation .pdf . 13
Original Paper
Loading high-quality paper...
Comments & Academic Discussion
Loading comments...
Leave a Comment