AN ad hoc network is a collection of mobile nodes

Size: px
Start display at page:

Download "AN ad hoc network is a collection of mobile nodes"

Transcription

1 96 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 19, NO. 7, JULY 008 A Sel-Stabilizing Leader Election Algorithm in Highly Dynamic Ad Hoc Mobile Networks Abdelouahid Derhab and Nadjib Badache Abstract The classical deinition o a sel-stabilizing algorithm assumes generally that there are no aults in the system long enough or the algorithm to stabilize. Such an assumption cannot be applied to ad hoc mobile networks characterized by their highly dynamic topology. In this paper, we propose a sel-stabilizing leader election algorithm that can tolerate multiple concurrent topological changes. By introducing the time-interval-based computation concept, the algorithm ensures that a network partition can within a inite time converge to a legitimate state even i topological changes occur during the convergence time. Our simulation results show that our algorithm can ensure that each node has a leader over 99 percent o the time. We also give an upper bound on the requency at which network components merge to guarantee the convergence. Index Terms Mobile ad hoc networks, sel-stabilizing, leader election, concurrent and disjoint computations. Ç 1 INTRODUCTION AN ad hoc network is a collection o mobile nodes orming a temporary network without any orm o centralized administration or predeined inrastructure. In such a network, each node participating in the network acts as both a host and a router. Two nodes can communicate i they are within the transmission range o each other. Due to node mobility, link breakages and link ormations might occur requently. The ailure o some links considered as critical can split up the network into several disjoint network components. In addition, multiple components can also merge into a single connected component. Leader election is a undamental problem in distributed systems and is a useul building, especially in ad hoc networks where ailures are considered the norm and not the exception. Leader election is required in many applications, or example, when a mutual exclusion application is blocked because o the ailure o a token holding node. It is also required in a group communication service [18], key distribution and management [4], [10], and routing coordination [3], [5], [7], [8], [13], [17]. The classical property o the leader election problem in distributed systems with a ixed number o nodes states that eventually there is a unique leader [11]. However, due to ad hoc network characteristics this property cannot be guaranteed. First, the mobility o nodes may lead to requent network partitioning. Second, we cannot guarantee a unique leader in each network component at all times. When a network partitioning occurs, the network component will be without a leader until a partitioning is detected and the leader election. A. Derhab is with the Department o Computer Engineering, CEntre de Recherche sur l Inormation Scientiique et Technique (CERIST), Algiers 16030, Algeria. aderhab@mail.cerist.dz, d.ouahid@gmail.com.. N. Badache is with the Computer Science Department, University o Sciences and Technology Houari Boumediene (USTHB), Algiers 16111, Algeria. badache@mail.cerist.dz. Manuscript received 7 Aug. 006; revised 19 Apr. 007; accepted 3 Oct. 007; published online Oct Recommended or acceptance by J. Hou. For inormation on obtaining reprints o this article, please send to: tpds@computer.org, and reerence IEEECS Log Number TPDS Digital Object Identiier no /TPDS process terminates. In the same way, when two network components merge, there will temporarily be two leaders in the resulting network component. Thus, the leader election problem deinition should slightly be modiied to be the ollowing: every connected component will eventually have a unique leader. The problem o the leader election in mobile ad hoc networks is challenging and has received interest in recent years, but ew solutions have been proposed. The aim o these solutions is to bring a network aected by topological changes to a state satisying the ollowing predicate P : or every connected component, there is a unique leader, and each node o the component is aware o this leader. Malpani et al. [1] have adapted the Temporally Ordered Routing Algorithm (TORA) [15] to elect a unique leader in each network component. Every component creates a leaderoriented directed acyclic graph (DAG). They have presented two DAG-based leader election algorithms, the irst one is or one topological change and the second one is or concurrent topology changes. One topological change means that a new topology change occurs only ater the algorithm has terminated its execution triggered by a previous topology change, whereas concurrent topology changes mean that changes can occur at any time. In the algorithms, a node that detects that its current leader is no longer reachable elects itsel as leader and propagates this inormation throughout the component. It ceases to be a leader when it detects the existence o another leader o higher priority in its component. The irst algorithm is proved to stabilize to a state satisying P i the network topology stabilizes or a suiciently long time. The second algorithm is designed to tolerate concurrent topological changes. However, it has been provided with no proo o correctness. In [1], the authors have proposed a leader election algorithm based on the diusing computation concept [6]. The leader sends periodic heartbeat messages to other nodes. The absence o these messages at a node or some predeined time out indicates a departure rom the leader and triggers a diusing computation at that node to elect a new leader. The diusing computation consists o constructing a spanning tree with the node that started o the diusing computation as the root. The root then inorms all the reachable nodes about the identity o the elected leader /08/$5.00 ß 008 IEEE Published by the IEEE Computer Society

2 DERHAB AND BADACHE: A SELF-STABILIZING LEADER ELECTION ALGORITHM IN HIGHLY DYNAMIC AD HOC MOBILE NETWORKS 97 (or example, node with the highest identity). Dierent diusing computations can be executed concurrently. A total order on these diusions is deined to determine the diusing computation o the highest priority. A node participates in only one diusing computation at a time. It stops its participation in diusing computations o lower priorities in avor o the highest one. The algorithm is guaranteed to reach a state satisying P i diusing computations stop in the network. This algorithm has also some disadvantages. First, leader messages need to be periodically broadcast to all nodes in the network to detect partition. Second, i the leader migrates away, then multiple simultaneous computations are triggered in all other nodes in the component. Third, there is also an extra overhead in terms o the extra Probe-Reply required to handle ailure during leader election. In this paper, we propose a sel-stabilizing leader election algorithm that can work in a highly dynamic and asynchronous ad hoc network. The algorithm uses the DAG-based approach or designing a leader election algorithm. This approach has the advantage o detecting partitions automatically using the TORA mechanism. It has ewer message overheads as compared to the algorithm in [1]. It is localized since the knowledge o each node is limited to one hop. Nodes have synchronized clocks, either through a global positioning system (GPS) [9] or through an appropriate algorithm [14], [19], [0]. The paper addresses an open issue that has been tackled by a ew works. The issue is how to guarantee that a selstabilizing algorithm converges to a legitimate state despite requently changing ad hoc networks. In the literature, an algorithm is sel-stabilizing i it can converge to a legitimate state in a inite time regardless o the initial state, and the system remains in a legitimate state until another topological change occurs. However, the convergence is guaranteed only when the network experiences no topological changes during the convergence time. The solutions presented earlier cannot work in highly dynamic environments like ad hoc networks, because they assume that topological changes stop rom some point onward in order or the algorithms to stabilize. When the system experiences a new topological change beore completing the convergence, the algorithms restart convergence to its legitimate state rom scratch. In this case, the algorithms might never converge to the legitimate state. Our original contribution is designing a leader election algorithm that can converge to the legitimate state even i topological changes occur during the convergence time. This is achieved as ollows: In Malpani s algorithm, all the computations, which have been triggered in response to link ailures, have the same goal (that is, checking i the component is separated rom the current leader). Thereore, we propose to stop newer computations in avor o the oldest one. In addition, the merge o components triggers a computation in the component whose leader has a lower priority. We consider that an older leader has always a higher priority than a newer one. When concurrent merge computations meet, we propose to stop computations associated with newer leaders in avor o the oldest one. We also estimate the upper bound requency at which the merge o network components can occur to guarantee the convergence o the algorithm to a legitimate state. The rest o the paper is organized as ollows: In Section, we present a review o Malpani s algorithm and its behavior in the presence o concurrent topological changes. Section 3 deines the notion o time-interval-based computation. In Section 4, we describe our sel-stabilizing leader election algorithm. Section 5 shows simulation results. The correctness proo o the algorithm is given in Section 6. Finally, Section 7 concludes the paper. OVERVIEW OF MALPANI S ALGORITHM In [1], the network is arranged as a DAG with the leader node as the sink. A 6-tuple H i ¼ðlid i ; i ; oid i ;r i ; i ;iþ is associated with each node. It represents the height o node i in the DAG. The heights are compared lexicographically (where 0 < 1 <..., and A<B<C...). Links are ordered rom higher to lower heights. For each j i s neighbors ðn i Þ, the link ði; jþ is marked outgoing i H i is higher than H j. Otherwise, it is marked incoming. lid i denotes the identiier o leader in node i s component. The triple ð i ; oid i ;r i Þ denotes the reerence level. i and i induce the directions on the links among all the nodes with the same reerence level. Fig. 1a depicts a DAG constructed or the leader node L. Initially, node L sets its height to (L, 1, 1, 1, 0, L). It then propagates an Update in the network. When a node i receives such a message rom its neighbor j, it sets its height to (lid j,0,0,0, j þ 1, i). When a node i loses its last outgoing link (that is, becomes a local minimum) as a result o link ailure, the node selects a new height such that it becomes the global maximum by deining a new reerence level. i is set to the time o the ailure, oid i is set to i, the originator o this reerence level, and r i is set to zero. Then, it sends an Update message containing its new height to its neighbors. When a new reerence level is deined, it is higher than any previously deined reerence levels since it is based on the current time. This action results in link reversals that may cause other nodes to lose their last outgoing link. In this manner, the new reerence level is propagated outward rom the point o the original ailure (redirecting links in order to reestablish routes to the leader). This propagation will only extend through nodes, which, as a result o the initial link ailure, have lost all routes to the leader. Fig. 1b shows the state o the network ater the ailure o link ðl; AÞ, and Figs. 1c, 1d, and 1e show the sequence o link reversals perormed by nodes A, B, C, D, and E ollowing the ailure o ðl; AÞ. A node i changes its height under the ollowing ive dierent cases:. Case 1 (propagate). The node has no more outgoing links due to a link reversal ollowing the receipt o an Update packet, and the reerence levels o its neighbors are not equal (or example, nodes B and D in Fig. 1c). It sets its reerence level to largest among all its neighbors and sets i to a value that is lower ( 1) than the o all its neighbors with the maximum level. Formally ð i ; oid i ;r i Þ¼max ð j ; oid j ;r j Þjj N i ; ð i ;iþ¼ min j jj N i =ð j ; oid j ;r j Þ ¼ maxð i ; oid i ;r i Þgg 1;iÞ:

3 98 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 19, NO. 7, JULY 008 Fig. 1. An execution o Malpani s algorithm. (a) t ¼ 0. (b) t ¼ 1. (c) t ¼. (d) t ¼ 3. (e) t ¼ 4. () t ¼ 8. (g) t ¼ 11. (h) t ¼ 13. (i) t ¼ 14. (j) t ¼ 18. (k) t ¼.. Case (relect). The node has lost its outgoing links due to a link reversal ollowing the receipt o an Update packet, and the reerence levels o the neighbors are equal, with r equal to zero (or example, node C in Fig. 1c). The node then relects back the reerence level by setting r i to one and i to zero. The new reerence level, which is reerred to as the relected reerence level, is propagated back toward the node that originally deined the reerence level.. Case 3 (detect). The node has lost its outgoing links due to a link reversal ollowing the receipt o an Update packet, and all o i s neighbors have the same relected reerence level with oid ¼ i. Then, node i has detected a partition. In this case, node i elects itsel as the leader and starts a DAG propagation to inorm other nodes in the new component about the new leader.. Case 4 (generate). The node has lost its last outgoing link due to a link reversal ollowing the receipt o an Update packet, and all o i s neighbors have the same relected reerence level with oid 6¼ i. Because the node did not deine the new reerence level itsel, this is not necessarily an indication o a partitioning o the component. Thereore, the node starts a new reerence level. It sets its reerence level to ðt; i; 0Þ and i to zero, where t is the current time.. Case 5 (merge). The node receives an Update packet rom j such that lid j < lid i. Then, H i ¼ðlid j ; j ; oid i ;r i ; j þ 1;iÞ: Fig. 1 shows an example o executing Malpani s algorithm with time increasing rom Figs. 1a, 1b, 1c, 1d, 1e, 1, 1g, 1h, 1i, 1j, and 1k. In this igure, thick arrows indicate the direction o update messages, and thin arrows represent the constructed DAG. Because o node mobility, node L becomes disconnected rom the rest o the nodes, and the graph in Fig. 1a changes to that shown in Fig. 1b. Node A detects at time t 1 ¼ 1 that it has lost its last outgoing link toward its leader node L; it then deines a new reerence level (that is, re 1 ¼ðt 1 ;A;0Þ) and broadcasts an Update packet to its neighbors. Fig. 1c shows the state o the graph ater nodes B, C, and D have received the Update message sent by A. The reerence level o A, re 1, is now higher than that o its neighbors, so the update message has as eect the reversal o the links to B, C, and D. Nodes B and D execute case 1, and node C executes case. At time t ¼, node F loses its last outgoing link. Thereore, it deines a new reerence level (that is, re ¼ðt ;F;0Þ) and sends an Update message to node G. Fig. 1d depicts the state o the graph at a later time ater E has received re 1 rom nodes B and C and ater G has received re rom node F. In the igure, node E changes its height according to case 1 and sends re 1 to node G, whereas node G takes no action since it still has an outgoing link. In Fig. 1e, node G loses its last outgoing link ollowing the reception o re 1. Thereore, it executes case 1 and sets its reerence level to the largest among all its neighbors (that is, re ).

4 DERHAB AND BADACHE: A SELF-STABILIZING LEADER ELECTION ALGORITHM IN HIGHLY DYNAMIC AD HOC MOBILE NETWORKS 99 Fig.. Time diagram o Malpani s algorithm execution. Fig. 1 shows the state o the graph ater re has been propagated rom node G to node C. Node E, D, B, and A have executed case, and node C has executed case. At time t 3 ¼ 8, node D loses its last outgoing link ðd; AÞ. Thereore, it deines a new reerence level (that is, re 3 ¼ðt 3 ;D;0Þ) and sends an Update message to its neighbor E. The update message has as eect the reversal o the ðd; EÞ link, as shown in Fig. 1g. Fig. 1g shows the state o the graph ater the relected reerence level re has been propagated rom node A to node E. Upon reception o re, node E loses its last outgoing link. As t 3 >t, E sets its reerence level to re 3. In Fig. 1h, re 3 is propagated until it reaches node F and node A. Node F executes case and sets its reerence level to ðt 3 ;D;1Þ. In Fig. 1i, node C executes case and sets its reerence level to ðt 3 ;D;1Þin response to re 3 propagation. Node F propagates the relected reerence level o re 3 toward node D. Fig. 1j shows the state o the graph ater the relected reerence level o re 3 has been propagated back rom nodes F and C toward node D. At time t ¼ 18, node D inds that all its neighbors have the same relected reerence level with oid ¼ D, so it has detected the partition. Then, it executes case 3, elects itsel as leader, and propagates its height in the new component, which results in the creation o D-DAG, as shown in Fig. 1k. To detect network partitioning, a reerence level must pass through all nodes o the component in two phases: 1) orward phase, in which nodes propagate the reerence level with r ¼ 0, and ) backward phase, in which nodes propagate the relected reerence level with r ¼ 1. This leads to a time complexity o OðdÞ, where d is the diameter o the network component. Fig. shows the execution o the example presented in Fig. 1 on a time axis. Solid lines represent the time intervals during which the reerence levels are propagated. Dotted lines represent the remaining time required or the algorithm to complete its execution i no urther link ailures occur. The reerence level re 1 was started at time t 1 ¼ 1 (see Fig. 1b), and it was stopped by node G at time t ¼ 4 (see Fig. 1e) due to the existence o re that was started at time t ¼. Ire has not occurred, the algorithm would detect the partitioning at time t ¼ 7, since the diameter o the component at time t ¼ 1 was d ¼ 3. In the same way, the re propagation that was supposed to terminate at time t ¼ 13 was stopped by re 3 at time t ¼ 11 (Fig. 1g). The re 3 propagation was terminated at time t ¼ 18. Node D, which detected network partitioning, created a new DAG that took 4 units o time to terminate. From the example, we can conclude that each new reerence level spoils all the eorts a leader election made beore detecting network partitioning. The algorithm will never terminate i reerence level generations do not stop. Thereore, the execution o the partition detection algorithm is not bounded, and nodes can be without a leader or undetermined time. 3 THE SELF-STABILIZING LEADER ELECTION ALGORITHM 3.1 Deinitions and Assumptions The network is modeled as a graph G ¼ðU;VÞ, where U represents the set o mobile nodes, and V represents the set o edges. The set o connected nodes is called a network component. The network component to which a node i belongs is denoted by C i. We make the ollowing assumptions about the nodes and the network: 1. Communication links are bidirectional and FIFO. However, we can use the method presented in [16] that allows protocols primarily designed or bidirectional networks to work with unidirectional links.. Each node has a suiciently large receive buer to avoid buer overlow. 3. There is no assumption about the number o nodes, as well as the diameter o the network. The state o a node is deined by the values o its local variables. A coniguration o a distributed system G ¼ðU;V Þ is an instance o the states o its nodes. The set o conigurations o G is denoted as C. A computation o a system G is an ininite sequence o conigurations. Node actions change the global system coniguration. Moreover, several node actions may occur at the same time. The actions o each node i are o the orm: <guard i >!< command i >. The guard < guard i > o each action is a Boolean expression on the state o i and its neighborhood.< command i > representsalistoassignment statements and primitives such as broadcast messages. We assume that the guarded action can be atomically executed: the evaluation o the guard and the execution o the statement are executed in one atomic action. Deinition 1. Legitimate coniguration o leader election. Coniguration is a legitimate coniguration o the leader election problem or a network component C i and only i (i) 8i C9l : lid i ¼ l and C is a DAG with every node i in C except or the leader l has a directed path to l. In this case, the component is said to be in a stable state. Otherwise, it is in an unstable state. Deinition. Sel-stabilizing leader election algorithm. An algorithm is a sel-stabilizing leader election algorithm i any execution starting rom an arbitrary coniguration eventually reaches a legitimate coniguration. Deinition 3. A node in a DAG is said to be uncertain i it loses all its outgoing links due to either link ailures or link reversals, because that node still does not know i a new route toward the leader is ound. Otherwise, it is said to be certain. Deinition 4. The subgraph induced by a set o connected certain nodes is called the certain subgraph. Otherwise, it is called the uncertain subgraph. Deinition 5. A node in an uncertain subgraph that is adjacent to any node in a certain subgraph is called a rontier node, and a node in a certain subgraph that is adjacent to a rontier node is called a border node. 3. Basic Idea As shown in Section, Malpani s algorithm does not stabilize i the generation o reerence levels does not stop. Let us consider the situation where multiple reerence levels are propagating during the same time period. In case 1, the

5 930 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 19, NO. 7, JULY 008 most recent one has always a higher priority than the others. In addition, case 4 chooses to generate a new reerence level because it does not know i the component is partitioned or not. Each new reerence level spoils all the eort made beore to converge to a legitimate state and recover rom earlier link ailures. Moreover, case 5 does not deine a timebased order on the dierent DAG propagations that occur in a component. These situations raise the question o how the algorithm could stabilize in the presence o nonstop concurrent topology changes or how the eect o topological changes that occur during the convergence time could be discarded. As all the reerence level propagations, which have been triggered in response to link ailures, have the same goal (that is, checking i the component is separated rom the current leader), we can intuitively propose to change the criterion used to order reerence levels and consider the oldest reerence level as the highest priority instead o the most recent one. A reerence level re j is higher than another re i i j < i. Roughly speaking, a reerence level will be stopped when it collides with an older one. The less-resh propagation criterion incurs less message overhead, and it is closer to completion than the criterion adopted by Malpani s algorithm. However, this approach is ineicient because we cannot distinguish between concurrent computations and disjoint ones, and hence, we can make alse decisions about network partitioning. Thereore, it is not suicient to only know the time at which the reerence level is generated, because we cannot determine i two reerence levels are still propagating or one o which has been already terminated. Thereore, we propose that each node records its knowledge about the age o the reerence level it meets, that is, the time when the reerence level is started and the time when the node receives this reerence level or the last time. Hence, each node can decide i two reerence levels are disjoint or concurrent. We change case 1 as ollows: I reerence levels are disjoint, the node stops propagating the older reerence levels. Otherwise, it stops propagating the newer reerence levels in avor o the oldest one. In case o merge o components, we also propose to stop the DAG propagation associated with newer leaders in avor o the oldest one. 3.3 Time-Interval-Based Computations In distributed systems, computations have durations. They can be speciied by the instants at which they begin and end. In temporal logic, interval-based temporal logics are more expressive than instant-based ones since they are capable o describing events that occur in the system in time intervals. We could deine an interval as an ordered pair ½t; uš o instants, where t < u. I I ¼½t; uš, we write BeginðIÞ ¼t and EndðIÞ ¼u. This notation allows us to reer to the instants marking the beginning and the end to any interval we reer to. A single time instant t can also be written as an interval ½t; tš. Allen [1] has deined 13 basic binary relations between time intervals, six o which are inverses o the other six: beore and ater, overlaps and overlapped-by, starts and started-by, inishes and inished-by, during and contains, meets and met-by, and equals (see Fig. 3). Two time intervals A and B meet (or B met-by A) i A precedes B, yet there is no period between A and B, and A and B do not overlap []. Let MeetsðA; BÞ be a predicate that evaluates to true i A meets B. The predicate Fig. 3. Possible relationship between intervals and instants. (a) A beore B. (b) A meets B. (c) A overlaps B. (d) A equal B. (e) A starts B. () A inishes B. (g) A during B. BeoreðA; BÞ (or AterðB; AÞ) holds true i there exists another period that spans the time between them. Two time intervals A and B are disjoint i they do not overlap in any way. The predicate OverlapsðA; BÞ (or overlapped-byðb; AÞ) holds true i A starts beore B, and B ends ater A. The predicate EqualsðA; BÞ holds true i A and B both starts and ends at the same time. The predicate DuringðA; BÞ or ContainsðB; AÞ holds true i A has a later starting point and an earlier ending point than B. The predicate StartsðA; BÞ (or Started-byðB; AÞ) holds true i A has the same starting point as B, but it is contained in B. The predicate FinishesðA; BÞ (or F inished-byðb; AÞ) holds true i A has the same ending point as B, but it is contained in B. Ater presenting the relation between intervals, we need now to deine the relations that exist between an instant t and an interval I. Fig. 3h shows the ive possible relations. The predicate Precedesðt; IÞ and Followsðt; IÞ hold true i t < BeginðIÞ and t > EndðIÞ, respectively. The predicate Dividesðt; IÞ holds true i BeginðIÞ <t<endðiþ. Limitðt; IÞ holds true i either t ¼ BeginðIÞ or t ¼ EndðIÞ. In Fig. 3h, we have BeginðAÞ ¼B and EndðAÞ ¼B 4, and the predicates P recedesðb 1 ;AÞ, F ollowsðb 5 ;AÞ, and DividesðB 3 ;AÞ hold true. 4 ALGORITHM DESCRIPTION Each node i maintains two variables: the partition index and the height. The partition index (denoted by PI i )isa 3-tuple (Certain i, Tc i, lid i ). lid i is the identiier o the node considered to be the leader o node i. Certain i, a Boolean variable, whose value is one i node i is in a certain state and zero otherwise. Tc i denotes the time at which the node lid i has started the creation o its DAG. A new partition index is started by node i when it detects a network partitioning. The height H i ¼ðERL i ; i ;id i Þ, where ERL i is the extended reerence level. This latter is a 3-tuple (½Tb i ;Te i Š, oid i, r i ). We call the triple (Tb i, oid i, r i ) a reerence level, and it is denoted by RL i. The variable ½Tb i ;Te i Š is called the reerence level interval o i (denoted by RLI i ) and is the knowledge o node i about the time period during which the reerence level is propagating. The deinitions o oid i, r i, i, and id i are still unchanged.

6 DERHAB AND BADACHE: A SELF-STABILIZING LEADER ELECTION ALGORITHM IN HIGHLY DYNAMIC AD HOC MOBILE NETWORKS 931 Fig. 4. An example o executing the sel-stabilizing leader election algorithm. (a) t ¼ 1. (b) t ¼. (c) t ¼ 3. (d) t ¼ 4. (e) t ¼ 5. () t ¼ 8. (g) t ¼ 9. (h) t ¼ 10. (i) t ¼ Ordering o Time Intervals and Link Orientation Deinition 6. Two time intervals I and J intersect i I \ J 6¼ ;. Deinition 7. Two time intervals I and J-intersect, and we write I T J i there exists a chain o l intersections such that the ollowing statement holds true: ði \ I 1 Þ^ðI 1 \ I Þ^^ðI l \ I l 1 Þ^ðI l 1 \ JÞ: It is easy to show that the binary relation T on a set S o time intervals is an equivalence relation. Deinition 8. For the equivalence relation T, the set o elements o S that are related to a time interval, say, a, os is called the equivalence class o a, and it is denoted by S a such that S a ¼x S : x ¼ a _ a T xg. The set o equivalence classes o the equivalence relation T on a set S orm a partition o S. Deinition 9. S I1 ;S I ; ;S In g is a partition o S i 1. S Ii 6¼;; 1 i n.. S Ii \ S Ij ¼;i S Ii 6¼ S Ij, 1 i, j n. 3. S n S Ii ¼ S. i¼1 Deinition 10. An equivalence class S a is said to be more recent than S b i 8I S a, 8J S b : EndðJÞ < BeginðIÞ. Deinition 11. Let us consider two time intervals I and J, both belonging to the same equivalence class. I is said to be older than J i the ollowing holds: ðmeetsði;jþ_overlapsði;jþ_finished byði;jþ _ ContainsðI;JÞ_ LimitðJ;IÞ_ DividesðJ;IÞÞ: In DAG, a link ði; jþ is oriented rom i to j according to the ollowing conditions: 1. I nodes i and j are both certain and i > j (that is, ðd; AÞ in Fig. 4a).. I both nodes are uncertain, we check their respective RLIs:. I S RLIi is more recent than S RLIj, that is, AterðRLI i ; RLI j Þ holds true (or example, ðb; EÞ in Fig. 4c).. I RLI i and RLI j belong to the same equivalence class and RLI i is older than RLI j (or example, ðg; FÞ in Fig. 4e).

7 93 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 19, NO. 7, JULY 008. I RLI i and RLI j are not related to the same reerence level and Started-by ðrli i ; RLI j Þ holds true.. I RLI i and RLI j are related to the same reerence level and ðr i ¼ 1 ^ r j ¼ 0Þ (or example, ðe; BÞ in Fig. 4).. I RLI i and RLI j are related to the same reerence level and ðr i ¼ r j Þ and StartðRLI i ; RLI j Þ hold true (or example, ðb; EÞ in Fig. 4d and ðf;gþ in Fig. 4).. I EqualsðRLI i ; RLI j Þ holds true and ðoid i ;r i ; i ;id i Þ > ðoid j ;r j ; j ;id j Þ. 3. I node i is uncertain and node j is certain (or example, ða; DÞ in Fig. 4b). 4. Initialization Initially, each node i whose height is null (that is, H i ¼ ð½ ; Š; ; ; ;iþ) can start the construction o a DAG. It sets PI i to ð1;t;iþ and H i to ([0, 0], 0, 0, 0, i), where t is the current local time. Then, it broadcasts a CreateDagðPI i ;H i Þ message to its neighbors. Upon receiving such a message, each node j whose height is null sets PI j to PI i and H j to ð½0; 0Š; oid i ;r i ; i þ 1;jÞ. Multiple DAG constructions can be triggered at the same time. DAG construction is depicted in Algorithm 1. Algorithm 1. DAG construction Action 1: (i wants to be a leader ^H i ¼ null)! 1: PI i :¼ð1;t;iÞ; : H i :¼ð½0; 0Š; 0; 0; 0;iÞ; 3: broadcast CreateDagðPI i ;H i Þ; Action : ði receives CreationðPI j ;H j Þ^H i ¼ nullþ! 1: PI i ¼ PI j ; : H i :¼ð½0; 0Š; oid j ;r j ; j þ 1;iÞ; 3: broadcast CreateDagðPI i ;H i Þ; 4.3 Concurrent Reerence Level Propagation Algorithm consists o two actions. Action 3 shows the reaction o a certain and an uncertain node to link ailures, and Action 4 shows the instructions perormed by a node in response to link reversals. Contrary to Malpani s algorithm, we start a new reerence level only i a certain node loses all its outgoing links. When an uncertain node loses all its outgoing link, it does not need to generate a new reerence level that traverses uncertain subgraphs, which probably have no paths to the leader and have been traversed by previous reerence levels. Instead, it selects one o the existing reerence levels to resume its propagation. This choice avoids incurring more eort in terms o message overhead and time. It helps to quickly detect network partitioning i it has occurred. When a certain node i loses its last outgoing link, it creates a new reerence level. It sets Certain i to zero and ERL i to ð½t; tš;i;0þ. Then, it broadcasts FailureðPI i ;H i Þ to its neighbors. When an uncertain node i loses its last outgoing link, it invokes the HandleUncertainReverse procedure. The procedure distinguishes our conditions. First, i i s neighbors do not all have the same reerence level, it sets RL i to the maximum reerence level among its neighbors. It calculates using the unction max the reerence level interval ðrliþ with the highest priority. This unction determines the most recent equivalence class S, and then, it returns the reerence level with the oldest RLI among the intervals belonging to S. Second, i all neighbors have the same reerence level with r ¼ 0, it relects this reerence level by setting r i to one, it means that the link rom which it is supposed to receive a relected reerence level has been broken. Third, i all neighbors have the same relected reerence level with an originator other than i (that is, no route between i and the originator o the reerence level is available; this situation is likely to happen when a network partitioning occurs in the network component where the relected reerence level is propagating) the node elects itsel as leader and propagates a CreateWeakDagðPI i ;H i ; oldðlid i Þ; oldðtc i ÞÞ message. This propagation constructs what we call a weak DAG. The weak DAG will be explained later in this paper. Fourth, i all neighbors have the same relected reerence level with i as an originator, it detects network partitioning and starts the creation o a new DAG. In Action 4, when node i receives the Failure message rom its neighbor j (that is, a reerence level is propagating), it checks i it still has outgoing links. I so, this reerence level will be stopped. Otherwise, it invokes the HandleUncertainReverse procedure. Fig. 4 shows an example o executing the proposed selstabilizing leader election algorithm on the network in Fig. 1. In Fig. 4a, node A loses at time t ¼ 1 its last outgoing link toward its leader L. Thereore, it deines a new reerence level re 1 ¼ðt 1 ;A;0Þ and broadcasts its height to its neighbors. Fig. 4b shows the state o the graph ater nodes B, C, and D have received the Update message sent by A. Nodes B and D execute condition 1, and node C executes condition. At time t ¼, node F loses its last outgoing link. Thereore, it deines a new reerence level (that is, re ¼ðt ;F;0Þ) and sends an Update message to node G. Fig. 4c depicts the state o the graph ater re 1 has been sent rom nodes B and C to node E. Node E changes its height according to condition 1 and sends its height to G. In Fig. 4d, node G loses its last outgoing link ollowing the reception o re 1 rom node E. Thereore, it executes condition 1 and sets its reerence level to the one with the highest priority among all its neighbors, that is, re 1. In Fig. 4e, node F executes condition and sets its reerence level to ðt 1 ;A;1Þ. Fig. 4 shows the state o the graph ater the relected reerence level re 1 has been propagated rom node F and received by node B. At time t 3 ¼ 8, the uncertain node D loses its last outgoing link ðd; AÞ. Node D executes condition 3, elects itsel as a leader, and creates a weak DAG. In Fig. 4g, node A inds that all its neighbors have the same relected reerence level with oid ¼ A, so it has detected the partition. Then, it executes condition 4 and elects itsel as a leader and propagates its height in the new component, which results in the creation o A-DAG consisting o nodes A, B, and C, as shown in Fig. 4h. Algorithm. Reerence level propagation Action 3: (i loses all its outgoing links)! 1: i ðn i ¼ Þ then : PI i :¼ð1;t;iÞ; 3: H i :¼ð½0; 0Š; 0; 0; 0;iÞ; 4: broadcast CreateDagðPI i ;H i Þ; {i constructs a new DAG} 5: else

8 DERHAB AND BADACHE: A SELF-STABILIZING LEADER ELECTION ALGORITHM IN HIGHLY DYNAMIC AD HOC MOBILE NETWORKS 933 6: i Certain i ¼ 1 then 7: Certain i :¼ 0; 8: ERL i :¼ð½t; tš;i;0þ; 9: i :¼ 0; 10: broadcast FailureðPI i ;H i Þ; 11: else 1: HandleUncertainReverse(); 13: end i 14: end i Action 4: (node i has no outgoing links due to link reversal ollowing reception o F ailureðpi j ;H j ÞÞ! 1: Certain i ¼ 0; : HandleUncertainReverse(); Procedure HandleUncertainReverse() 1: i neighbors do not have the same reerence level {Condition 1} then : RL i :¼RL k jrli k ¼ max RLI j jj N i ; RLI i gg 3: Te i :¼ t; 4: i :¼ min j jj N i and RL j ¼ RL i g 1; 5: broadcast FailureðPI i ;H i Þ; 6: else i all neighbors have the same reerence level with r ¼ 0 {Condition } then 7: ERL i :¼ð½Tb j ;tš; oid j ; 1Þ; 8: i ¼ 0; 9: broadcast FailureðPI i ;H i Þ; 10: else i all neighbors have the same reerence level with r ¼ 1 and oid i 6¼ i {Condition 3} then 11: oldðlid i Þ :¼ lid i ; oldðtc i Þ :¼ Tc i 1: PI i :¼ð1;t;iÞ; 13: H i :¼ð½0; 0Š; 0; 0; 0;iÞ; 14: broadcast CreateWeakDagðPI i ;H i ; oldðlid i Þ; oldðtc i ÞÞ; {i constructs a weak DAG} 15: else i all neighbors have the same reerence level with r ¼ 1 and oid i ¼ i {Condition 4} then 16: PI i ¼ð1;t;iÞ; 17: H i ¼ð½0; 0Š; 0; 0; 0;iÞ; 18: broadcast CreateDagðPI i ;H i Þ; {i constructs a new DAG} 19: end i Algorithm 3. Merging o two network partitions Action 5: ððnode i detects a new neighbor j _ receives CreateDagðPI j ;H j ÞÞ ^ ðlid j 6¼ lid i ÞÞ! 1: i PI j PI i then : PI i :¼ PI j ; 3: H i :¼ð½Tb j ;Te j Š; oid j ;r j ; j þ 1;iÞ; 4: broadcast CreateDagðPI i ;H i Þ; 5: else 6: Stop j-dag propagation 7: end i Action 6: ððnode i receives CreateWeakDagðPI j ;H j ;oldðlid j Þ; oldðtc j ÞÞÞ ^ ðlid j 6¼ lid i ÞÞ! 1: i ððoldðlid j Þ¼lid i ^ oldðtc j Þ¼Tc i Þ^ðcertain j ¼ v1 _ ðcertain i ¼ 0 ^ r i ¼ 0ÞÞÞ then : broadcast FakeLeaderðlid j ;Tc j Þ; 3: else i ðpi j PI i Þ then 4: PI i :¼ PI j ; 5: H i :¼ð½Tb j ;Te j Š; oid j ;r j ; j þ 1;iÞ; 6: broadcast CreateWeakDagðPI i ;H i ; oldðlid j Þ; oldðtc j ÞÞ; 7: else 8: broadcast CreateDagðPI i ;H i Þ; 9: end i Action 7: ðnode i receives FakeLeaderðlid k ;Tc k Þ rom node jþ! 1: i ðlid i ¼ lid k ^ Tc i ¼ Tc k Þ then : PI i :¼ PI j ; 3: H i :¼ð½Tb j ;Te j Š; oid j ;r j ; j þ 1;iÞ; 4: Broadcast FakeLeaderðlid k ;Tc k Þ; 5: end i 4.4 Merging o Multiple Network Partitions Algorithm 3 consists o actions dealing with the propagation o a new leader throughout a network partition. As explained in Section 4.3, the node detecting network partitioning propagates a CreateDag message i it is the originator o the reerence level or a CreateWeakDag message otherwise. In Action 5, when a node i detects the existence o a new network partition or receives a CreateDag message rom node j such that lid i 6¼ lid j, it will adopt lid j as a leader i the partition index o j has a higher priority than that o i, and we write PI j PI i. Deinition 1. PI j PI i ððcertain j > Certain i Þ_ ððcertain j ¼ Certain i Þ^ððTc j ; lid j ÞðTc i ; lid i ÞÞÞÞ, and ðtc j ;lid j ÞðTc i ;lid i ÞðTc j <Tc i Þ_ððTc j ¼Tc i Þ^ðlid j >lid i ÞÞ: By Deinition 1, a node irst checks the value o the Certain variable. It selects the node that is sure to have a directed path toward its leader node, and it is not involved in link reversal actions. Then, it checks the DAG generation time and the leader identiier. The condition PI j >PI i incurs three cases: 1. Node j is certain, and i is uncertain.. Nodes i and j both have the same value o certain, and j s partition is created at a time older than that o i. 3. Nodes i and j both have the same value o certain and the same value o DAG creation time, and lid j > lid i. In Fig. 4g, node A, which detects network partitioning, sets PI A to (1, 9, A). Then, it propagates the CreateDag message. Upon receiving such a message, nodes o the disconnected partition, which are uncertain nodes (or example, nodes B and C in Fig. 4h), adopt A as their leader. I the condition presented in (HandleUncertainReverse: line 10) holds true, node i declares itsel a leader. As i is not the originator o the reerence level, it may happen that this declaration is alse because both node i and the originator o the reerence level are still part o the same network partition. In this case, it creates a weak DAG by generating a CreateWeakDag message that contains, besides its partition index and its height, also the identiier o its previous leader and its previous Tc(or example, node D in Fig. 4g). The weak DAG diers rom the known DAG in the act that its propagation can be stopped by an uncertain node. In Action 6, when an uncertain node receives the CreateWeakDag message rom node j, it irst checks i the condition

9 934 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 19, NO. 7, JULY 008 Fig. 5. Time diagram o the execution o the proposed algorithm. ðððoldðlid j Þ¼lid i ^ oldðtc j Þ¼Tc i Þ^ ðcertain i ¼1 _ðcertain i ¼0 ^ r i ¼ 0ÞÞÞÞ holds true. The irst part o the condition means that nodes lid i and lid j were part o the same DAG, and the second part means that either node i still has a path toward lid i or i has not yet relected its reerence level (that is, the reerence level is in the orward phase). This indicates that network partitioning has not occurred and, hence, the decision o creating a new DAG by lid j was not correct. Node lid j is called in this case a ake leader. Node i then broadcasts a FakeLeader(lid j ;Tc j ) message. I lid j is not a ake leader, node i will adopt lid j as a leader provided that PI j PI i.asd-dag is older than A-DAG, D will be the unique leader o the component as shown in Fig. 4i. In Action 7, each node that inds out that its leader is ake ollowing the reception o a FakeLeader message rom its neighbor j adopts lid j as a leader and broadcasts in turn the FakeLeader message. In this manner, a corrective action will be propagated resulting in deleting the ake leader rom all the nodes. 4.5 Time Diagram o the Execution o the Sel-Stabilizing Leader Election Algorithm Fig. 5 shows a time diagram o the sel-stabilizing leader election algorithm execution related to the example in Fig. 4. The topology change scenario o this example is the same as the one presented in Fig. 1. The reerence level re 1 that starts at time t 1 ¼ 1 blocks the newer reerence level re generated at time t ¼, since their reerence level intervals belong to the same equivalence class. A weak DAG is generated by node D at time t ¼ 8; the network partitioning is detected by node A at time t ¼ 9. The new DAG construction is terminated at time t ¼ 1. A-DAG is deleted when it detects the existence o D-DAG with Tc D ¼ 8. The policy that selects the DAG with the oldest value o time creation helps to block the propagation o any newer DAG created in the same network component. In Malpani s algorithm, the same scenario needs 1 units o time to recover rom three link ailures, detect network partitioning, and construct a leader-oriented DAG, whereas our algorithm needs only 11 units o time. In comparison with Malpani s algorithm, it is obvious that the proposed sel-stabilizing leader election algorithm shows better perormance in terms o convergence time and message overhead. 5 SIMULATION RESULTS In this section, we discuss the perormance o our selstabilizing leader election algorithm compared to Malpani s algorithm by using the GloMoSim simulator []. In our experimental results, each plotted point represents the average o ive executions. We plot the 95 percent conidence interval on the graphs. Our simulation environment is characterized by an area o 1,000 m 1,000 m, with random initial nodes location, a random waypoint mobility model, in which each mobile node randomly selects a location with a random speed uniormly distributed between zero and a certain maximum speed V max and then stays stationary during a pause time o 1 second beore moving to a new random location. The transmission power is set to 1 dbm, which is equivalent to a transmission range o 34 m. We evaluate the perormance o the algorithms using the ollowing three metrics: 1. Fraction o stabilization time. This is the raction o time that a node i has at least a directed path to its leader lid i, and lid i is the leader o the network component, that is, the network component C i is in a stable state.. Convergence time. This is deined as the mean time elapsed between the instant at which the irst topology change occurs in C i and the instant at which C i is again in a stable state. 3. Message overhead. This is deined as the number o messages generated during algorithm execution. Every 1 ms, we monitor the status o the node (that is, stable or unstable). Thus, i the algorithm can converge to a legitimate state within a time t<1ms, the change o the status is not recorded. Figs. 6, 7, and 8 show the three metrics as a unction o V max and or three levels o network densities: low (0 nodes), medium (30 nodes), and high (40 nodes). Fig. 6. Fraction o stabilization time. (a) Malpani s algorithm. (b) Our algorithm.

10 DERHAB AND BADACHE: A SELF-STABILIZING LEADER ELECTION ALGORITHM IN HIGHLY DYNAMIC AD HOC MOBILE NETWORKS 935 Fig. 7. Convergence time. (a) Malpani s algorithm. (b) Our algorithm. Fig. 8. Message overhead. (a) Malpani s algorithm. (b) Our algorithm. We observe in Fig. 6a that Malpani s algorithm shows disastrous results in terms o the raction o stabilization time. As V max increases, the raction o stabilization time decreases. This is due to the act that the number o reerence levels that are triggered during the same time period and the number o merge events also increase, and hence, the algorithm takes more time to converge to a stable state. We also remark that the stabilization time o Malpani s algorithm increases as density increases. The reason or this is that the size o the network component increases, and hence, more nodes may trigger their reerence levels during the same time period. In this case, the algorithm needs more time to recover rom all the ailures that occurred in the component. In Fig. 7a, Malpani s algorithm takes a long time to converge to a stable state than the sel-stabilizing leader election algorithm or the same reasons discussed in reerence to Fig. 6a. The irst observation we draw rom Figs. 6b and 7b is that our sel-stabilizing leader election algorithm outperorms Malpani s algorithm in terms o the raction o stabilization time and convergence time. Each node can have a path to a correct leader over 99 percent o the time, and the convergence time is less than 7 seconds. This is due to the act that reerence levels that are propagated as a result o new link ailures are stopped by the oldest one. In addition, when multiple components concurrently merge, the oldest DAG propagation encompasses new ones. We can conclude that although the network topology changes at high speed and the number o nodes that trigger reerence level propagation and DAG-propagation is high, our algorithm is slightly aected by the variation o mobility and node density. We observe in Figs. 6b and 7b that or high and medium density, the raction o stabilization time and convergence time are one and zero, respectively, when V max is less than 15 m/s. In this case, the size o network components is large, and those components remain connected or longer durations. The occurrence o concurrent topological events is unlikely to happen since node speed is low. The second observation rom the two igures is that or N ¼ 0 and V max < 15, the stabilization time is dierent rom one, and the convergence time is dierent rom zero. This is due to the act that the number o components with a ew nodes is high, and hence, more merge operations occur, which decreases the stabilization time and increases the convergence time. We also observe that or V max > 5, the algorithm under low density shows better results in terms o stabilization time and convergence time than it does under medium density. This can be explained as ollows: when N ¼ 30, large components split up in many components with a ew nodes, and hence, the number o components in the network increases, which leads to more merge operations occurring. On the other hand, or N ¼ 0, the number o components under low or high speed is not much aected. For N ¼ 40, the stabilization time and the convergence time are slightly aected by the variation o mobility because the node density becomes very high, and most o the nodes belong to a large connected component. High node density means that components remain connected or longer durations. Although nodes get disconnected rom their leaders, at high speeds, they are disconnected only or very short durations. We observe in Fig. 8 that our sel-stabilizing algorithm outperorms Malpani s algorithm in terms o message overhead. In Malpani s algorithm, the message overhead increases with N and V max since more topological changes are expected to occur, whereas the sel-stabilizing algorithm discards the eect o new topological changes.

11 936 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 19, NO. 7, JULY PROOF OF CORRECTNESS Beore proving the correctness o the sel-stabilizing leader election algorithm, we will ormally state the deinitions o predicates employed by the proo:. bcast i ðmþ (resp., recv ij ðmþ) is a predicate that is true at the instant when node i broadcasts the message m (resp. i receives a message m). It is alsiied once i terminates, executing the atomic action in which the broadcast is executed.. DeleteDAGðt; idþ is a predicate that is true when the DAG propagation generated by node id at time t is stopped, and then, it is deleted.. I i ðpi i ¼ null ^ H i ¼ nullþ.. P ð8i C i : L i )ð8j C i ;i6¼ j : :L j ÞÞ such that C i is a connected component to which i belongs. P is called the legitimate state.. L i ðlid i ¼ i ^ð8j C i ;j6¼ i : lid j ¼ i ^ j has a directed path toward iþþ. An illegitimate state is deined to be either 1. a set o nodes that do not have a path to any leader or. a set o nodes that have at least a path to a leader node but do not have the correct id in their lid variable. Assuming that each message transmission takes one time unit and each node i starts execution in a state satisying predicate I i, we prove the ollowing theorem: Theorem 1. Ater the occurrence o a topological change, the network component can within a inite time converge to a state satisying predicate P even i urther topological changes occur during the convergence time. The proo or a single topological change can be ound in [1]. In this paper, we analyze the sel-stabilizing leader election or concurrent topology changes as ollows: or each component C i, we start observing the algorithm execution when the irst topology changes occur in C i ðt s Þ. C i ðtþ denotes the component to which i belongs at time t. The observation ends when the algorithm terminates (that is, none o the actions are enabled at any node in C i ðt e Þ at time t e ) and reaches a state satisying the predicate P.Itis obvious that C i changes as time progresses. We consider the ollowing six cases o concurrent topology changes:. concurrent DAG propagations in a network component,. concurrent reerence level propagations that do not partition the network component in which they occur,. concurrent reerence level propagations that partition the network component in which they occur,. concurrent merging o network components,. concurrent merging o network components with concurrent DAG propagations in the components, and. concurrent merging o network components with concurrent reerence level propagations that partition the components. Deinition 13. level i ðkþ in a network component C i is the length o the longest path between nodes k and i, and dist i ðkþ is the shortest path distance rom i to k. Deinition 14. The set o nodes that are l-hop away rom i (denoted by A l i ) is deined as ollows: Al i ¼jjdist iðjþ ¼lg. Deinition 15. The set o nodes that are within l-hop away rom i (denoted by Ui l) is deined as ollows: Ul i ¼jjdist iðjþ lg. Case 1. Let us consider a set o nodes 1 ; ; m, each o which initiates a DAG construction at T 1 ; ;T m, respectively, such that ðt 1 ; 1 ÞðT m ; m Þ. Lemma 1. Concurrent DAG propagations in a network component will collapse in a inite time into a inal one that deines a leader-oriented DAG. Proo. A node i starts DAG propagation by perorming Action 1 or HandleUncertainReverse(line 10, 15). It sets PI i and H i to (1, t i, i) and [0, 0], 0, 0, 0, i), respectively. Then, it broadcasts a CreateDag message. Multiple DAG propagations in a network component implies that ð9j; k C i : lid j 6¼ lid k Þ. Let n be the number o time units ater node 1 has started a DAG creation. We will show by induction on n that P n ðlid i ¼ 1 ^ð8j Ui n 1 g : lid j ¼ 1 ^ j has a directed path toward 1 ÞÞ Basic case: r ¼ 0. Using the deinition o Ui l, U0 1 ¼ 1 g, and lid 1 ¼ 1. Thus, P 0 holds true. Inductive hypothesis. Let us assume that P n holds true or all l<d such that d is the diameter o C i. We will now prove that P nþ1 ðlid i ¼ 1 ^ð8j U nþ1 1 1 g : lid j ¼ 1 ^ j has a directed path toward 1 ÞÞ P n ) 8i8j : j A n 1 ^ i A nþ1 1 \ N j ð1þ ^ bcast j ðcreatedagþ ) recv ij ðcreatedagþ: Statement (1) means that when node j joins 1 -DAG, it broadcasts a CreateDag message; all nodes i that have a connection with j will receive the message ater a unit o time. From (1), it ollows that 8i8j : j A n 1 ^ i A nþ1 1 \ N j ^ ðþ recv ij ðcreatedagþ^h i ¼ null )ðlid i ¼ lid i Þ; 8i8j : j A n 1 ^ i A nþ1 1 \ N j ð3þ ^ recv ij ðcreatedagþ^pi j PI i ) lid i ¼ lid j ^ DeleteDagðTc i ; lid i Þ : By statements () and (3), when the PI j -DAG propagation arrives at node i that is not assigned to any leader, i will be annexed to PI j -DAG. IPI j PI i, PI j will continue its propagation. Otherwise, the DAG propagation o PI j will be stopped. Nodes i and j are certain, lid i ¼ lid j ¼ 1, and H i >H j. Thus, node i has an outgoing link toward j. As node j has a directed path toward i, P nþ1 holds true. Thereore, at time t 1 þ maxdist 1 ðxþjx G 1 g, all nodes will have the correct leader and a path oriented toward 1 and, thus, P holds true. tu Case. Let 1 ; ; k be a set o nodes belonging to l-dag that lose their last outgoing links at t 1 ; ;t k, respectively, and the network component in which these ailures occur remains connected.

12 DERHAB AND BADACHE: A SELF-STABILIZING LEADER ELECTION ALGORITHM IN HIGHLY DYNAMIC AD HOC MOBILE NETWORKS 937 Lemma. All reerence levels that do not partition the component in which they occur will eventually be stopped. Proo. It is easy to show that i the network component is not partitioned ater the generation o concurrent reerence levels, it means that there exists at least one border node that has a direct path to the leader, and hence, all the reerence levels will eventually be stopped. tu Lemma 3. Eventually, within a inite time, network partitioning will be detected, and the disconnected component will deine a new leader-oriented DAG. Proo. A network that is partitioned means that there is no border nodes, and the reerence level must pass through the nodes o the component in two phases. We assume that there exists a set o nodes p ; ; k such that ðp >1 ^ k>pþ, and their respective RLIs belong to the same equivalence class. We can remark that RLI p has the highest priority in this set. We will now consider two cases: Case 3a. I l-dag is partitioned at time t p, p generates a reerence level. As RLI p is the highest priority, it will terminate any new reerence level generated at time t x >t p. Thereore, the network partitioning will be detected at time ðt p þ dþ. Case 3b. l-dag was not partitioned at time t p, but the partitioning occurred at a later time t q. I the propagation o RL p is not stopped during its orward phase, the partition detection algorithm will take OðdÞ time units. By Action 4, any new reerence level RL x generated at time t x >t p will be stopped and deleted by RL p. Otherwise, the propagation o RL p is stopped by a border node m at time t p þ level p ðmþ. At time t q ½tp; tp þ level p ðmþš, a node q loses its last outgoing link, which results in network partitioning. Thereore, it generates a new reerence level. The reerence level RL q will terminate any reerence level belonging to an older equivalence class or generated ater t q. When RL q arrives at node m ater at most ðd level p ðmþþ time units, node m compares RLI p and RLI q. As OverlapsðRLI p ; RLI q Þ holds true, node m stops RL q and resumes the propagation o RL p. RL p needs ðd level p ðmþþ time units to complete the orward phase and another d time units or the backward phase. During this period, any urther ailures will be stopped by RL p. The network partitioning will be detected at ðt q þ 3d level p ðmþþ. Thereore, the partition detection time is upper bounded by Oð3dÞ. By Action 3 and Action 4, it may happen that during partition detection algorithm execution, other nodes that are not the originator o the reerence level detect partitioning and create a weak DAG. The originator in turn creates its DAG. The node with the highest PI will become the unique leader o the disconnected component. tu Case 4. We consider an ininite merging o components C 1 ;C ; with the component C i. We assume that is the requency at which new components merge with C i. X is the average time to send a message over a wireless link, and D is the average diameter o a network component. Lemma 4. I C i has the highest PI, the necessary condition so that the algorithm stabilizes is X< 1. D Proo. When C i merges with a component C x with diameter D x ðx>0þ, acreatedag message is propagated throughout C x. Initially, the component C i is in a stable state. When C 1 merges with C i at time t 1, it terminates the stable period and initiates a new unstable period. At t 1, the average remaining time required so that the CreateDag message traverses the C 1 component is ðx D 1 Þ, since it would take this period o time i no urther merging occurred beyond this instant. As time progresses rom t 1 and the CreateDag message is propagating, the average remaining time required to cover C 1 is reduced at the rate X sec=sec. At time t ½t 1 ;t 1 þ X D 1 Š, a new component C merges with the component C i ðt 1 Þ;C 1 g and orces the convergence time to increase by D. The remaining time continues to decrease until it reaches the instant t m, at which it has traversed the whole network component C i ðt m Þ. This terminates the unstable period and initiates a new stable period. The stable period is terminated at time t mþ1 when C mþ1 merges with C i ðt m Þ. The algorithm is sel-stabilizing i 9m such that the CreateDag message can traverse the component C i ðt m Þ P beore the arrival o C mþ1. Formally, m j¼1 ðd jxþ < t mþ1 t 1. The time between two mergings is 1. X ð P m j¼1 D jþ < m ) mx D<m ) X< 1. The average D convergence time in this case is upper boundedby m. tu Lemma 5. Given a set o components C 1 ;C ; ;C k 1 ;C k ;C i ; C iþ1 ; such that PI 1 PI PI k 1 PI k PI i PI iþ1. The concurrent merging o C i with some or all o these components will terminate within a inite period o time. Proo. When a network component C p merges with C q and PI p >PI q, a CreateDag message will be propagated throughout C p. To calculate the worst case o the convergence time, we assume that C i merges with the components in the ollowing order C k ;C k 1 ; ;C 1. When C i merges with C k at time t k,acreatedag message will be propagated throughout C i, and each node in C i will set its PI i to PI k. Beore this propagation is terminated, the component C k 1 merges at time t k 1 with the component C i ðt k Þ. I no urther merging occurs, the component C i will stabilize within X D i time units. The propagation o PI k 1 will take no more than XðD i þ D k Þ beore the arrival o C k and so on. As the time interval ½Tc 1 ;Tc k Š is inite, the number o network components that have a higher priority than C i is also inite. Assume that C i merges with components that have higher partition indices than its own. The time needed or a node belonging to C i ðt k Þ (that is, a node that does not leave its component) to have the highest partition index is upper bounded by Xðk D i þðk 1Þ D k þðk ÞD k 1 þþd Þ¼XDðkþðk 1Þþþ1Þ, which equals to ð kðkþ1þ X DÞ. Ater this time interval, the component C i will have the highest partition index. By Lemma 4, in the presence o ininite merging, the component C i that has now the highest partition index

13 938 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 19, NO. 7, JULY 008 will stabilize i X< 1, and it will take in the worst case D additional ð m Þ time units. Thus, the average convergence time is upper bounded by ð m þ kðkþ1þ X DÞ. tu Lemma 6. Given a set o components C 1 ;C ; ;C k 1 ;C k ;C i ; C iþ1 ; such that PI 1 PI PI k 1 PI k PI i PI iþ1 and the merging o two components occurs when a new link is ormed between their uncertain nodes. Then, the concurrent merging o C i with some or all o these components will terminate within a inite period o time. Proo. A network component C x may consist o multiple uncertain subgraphs denoted by U x and a unique certain subgraph denoted by S x. We consider that the diameter o an uncertain subgraph U x is denoted by x, and the merging o two components C x and C y occurs when a new link is ormed between their respective uncertain subgraphs U x and U y. Let us assume the execution o the ollowing scenario: When the subgraph U x merges with U y at time t x and PI y >PI x,acreatedag message will be propagated in U x. Ater traversing x hops, the CreateDag message is stopped by a certain node p C x. Node p propagates in turn a CreateDag message that traverses U x and U y until it reaches a certain node q C y. I PI q >PI p, node q triggers a lid q -DAG propagation through U y and C i. From this scenario, the maximum time needed to complete the merge o two components U i and U k is ðð i þ k ÞþD i Þ. Let denote the average diameter o uncertain subgraphs. By Lemma 5, a component C i gets the highest priority index ater the merging with k components. Thereore, it needs ðð4k þ kðkþ1þ DÞXÞ time units. By Lemma 4, ater C i has obtained the PI with the highest priority and in the presence o ininite merging, the algorithm will stabilize i X< 1, and it will take in the worst case an additional D ð m Þ time units. Thus, the average convergence time is upper bounded by ð m kðkþ1þ þð4kþ DÞXÞ. tu Case 5. Let us consider a set o nodes 1 ; ; m belonging to C i, each o which initiates a DAG construction at T 1 ; ;T m, respectively, such that ðt 1 ; 1 Þ ðt m ; m Þ. During DAG propagation, ininite components C 1 ;C ; merge with C i. Lemma 7. I C i has the highest priority index, the algorithm will stabilize i X< 1. Otherwise, it will take ðkðkþ1þ D D XÞ additional time units. Proo. By Lemma 1, the DAG propagation with the highest partition index (that is, ð1;t 1, 1 Þ) stops all other ongoing DAG propagations. The proo o ininite mergings is similar to that presented in Lemma 4. We assume that during 1 -DAG propagation, an ininite sequence o components merges with C i. The algorithm is selstabilizing i 9m such that the CreateDag message can cover the component C i ðt m Þ beore the arrival o C mþ1. Formally, ðd i þ P m j¼1 ðd j XÞ <t mþ1 T 1 Þ,ðD i þ X ð P m j¼1 D jþ < mþ1 Þ)ðmþ1ÞXD <mþ1 ) X< 1. D The average convergence time in this case is upper bounded by mþ1. By Lemma 5, the algorithm needs additional ð kðkþ1þ DXÞ units o time to stabilize i C i merges with components o higher PI. In this case, the average convergence time is upper bounded by ð mþ1 þ kðkþ1þ XDÞ. tu Case 6. We consider the case where concurrent link ailures occurring at nodes 1 ; ; k at t 1 ; ;t k, respectively, leads to the disconnection o a component C i rom l-dag. During reerence level propagations, ininite components C 1 ;C ; merge with C i. Lemma 8. I the disconnected component C i merges only with components o lower partition index, the algorithm will stabilize in worst cases ater an average time o ð mþ1 Þð þ þ 1 Þ. Otherwise, it will take 1 DX ð1 DXÞ ð ðkþðkþ1þ D XÞ additional time units. Proo. Case 6a. C i merges only with components o lower partition index. By Lemma 3, a reerence level RL q that is propagating in C i needs to traverse D i hops to complete the orward phase. I during the orward phase, components o lower priority merge with the disconnected component C i, then the new resulting components will adopt lid i ¼ l as a leader, which is now unreachable. By Lemma 5, a reerence level propagation in a component that has the highest PI while ininite mergings are occurring needs at most ðmþ1þ units o time to cover C i beore the occurrence o the ðm þ 1Þth merging. The backward phase o RL q in Lemma 3 will take at most units o time beore colliding with RL p. At this ðmþ1þ time, RL q will be stopped, and RL p resumes its orward propagation phase. During this phase, components with low priority continue to merge with C i. The average time required to cover C i is calculated as ollows: The diameter o component C i is increased at the rate o D hops/sec. At the end o RL q s backward phase, the diameter o C i is upper bounded by D 0 ¼ð ðmþ1þ DÞ. Thereore, RL p s orward phase needs T 0 ¼ D 0 X time units to traversethis new diameter. During T 0, C i is increased by DT 0 hops, which means that additional T 1 ¼ DXT 0 units o time are needed so that RL p completes its orward phase. In the same way, during T 1, C i s diameter is increased by DT 1 hops and so on. Formally, X 1 T n ¼ m þ 1 X 1 ðdxþ: n¼0 n¼0 Provided that DX < 1, P 1 n¼0 ðdxþ ¼ 1 < 1. Thus, 1 DX the orward phase duration o RL p is P 1 n¼0 T n ¼ð mþ1 Þ. 1 DX The backward phase o RL p will take the same time as the orward one. The time period to detect network partitioning is upper bounded by ð ðmþ1þ ð þ ÞÞ. At the end o 1 DX RL p s backward phase, the diameter o C i becomes D new 0 ¼ D P 1 n¼0 ðt nþ. Thereore, the p -DAG propagation needs T0 new ¼ D new 0 X time units to traverse D new 0 hops.

14 DERHAB AND BADACHE: A SELF-STABILIZING LEADER ELECTION ALGORITHM IN HIGHLY DYNAMIC AD HOC MOBILE NETWORKS 939 During T0 new, C i increases by DT0 new. Using the same method as in the RL p orward phase, the p -DAG propagation in the C i component will terminate ater P 1 n¼0 T n new ¼ ðmþ1 Þ. Thereore, the average convergence ð1 DXÞ time is upper bounded by ð mþ1 Þð þ þ 1 Þ time 1 DX ð1 DXÞ units. Case 6b. C i merges with k components o higher partition index. By Lemma 5, the algorithm needs an additional ð kðkþ1þ DXÞ units o time to stabilize. In this case, the average convergence time is upper bounded by! m þ 1 1 DX þ 1 kðk þ 1Þ ð1 DXÞ þ DX : The previous eight lemmas prove Theorem 1. 7 CONCLUSION In this paper, we have proposed a sel-stabilizing leader election algorithm that can converge to a legitimate state even in the presence o topological changes during convergence time. By deining concurrent and disjoint computations and their corresponding intervals, an older reerence level encompasses any new one belonging to its equivalence class. In the same way, an older DAG propagation encompasses new ones. Simulation results show that the proposed selstabilizing leader election algorithm experiences very optimal results in terms o the raction o stabilization time, convergence time, and message overhead compared to Malpani s algorithm. We have provided a novel observation about sel-stabilization by deining the unstable period by the time period that begins when a component C that contains a node i enters an illegitimate state and terminates when this particular component is again in a legitimate state. By determining the requency at which merging can occur, we have shown that the unstable period is bounded. REFERENCES [1] J.F. Allen, Maintaining Knowledge about Temporal Intervals, Comm. ACM, vol. 6, no. 11, pp , [] J.F. Allen and G. Ferguson, Actions and Events in Interval Temporal Logic, Technical Report TR51, Univ. o Rochester, [3] A.D. Amis, R. Prakash, T.H.P. Vuong, and D.T. Huynh, Maxmin D-Cluster Formation in Wireless Ad Hoc Networks, Proc. IEEE INFOCOM 00, pp. 3-41, 000. [4] N. Asokan and P. Ginzboorg, Key Agreement in Ad Hoc Networks, Computer Comm., vol. 3, no. 17, pp , 000. [5] D.J. Baker and A. Ephremides, The Architectural Organization o a Mobile Radio Network via a Distributed Algorithm, IEEE Trans. Comm., vol. 9, no. 11, pp , [6] E.W. Dijkstra and C.S. Scholten, Termination Detection or Diusing Computations, Inormation Processing Letters, vol. 11, no. 1, pp. 1-4, Aug [7] M. Gerla and J.T.-C. Tsai, Multicluster, Mobile, Multimedia Radio Network, ACM/Baltzer Wireless Networks, vol. 1, no. 3, pp , [8] T.-C. Hou and T.-J. Tsai, An Access-Based Clustering Protocol or Multihop Wireless Ad Hoc Networks, IEEE J. Selected Areas in Comm., vol. 19, no. 7, July 001. [9] E. Kaplan, Understanding GPS. Artech House, tu [10] B. Lehane, L. Dolye, and D. O Mahony, Ad Hoc Key Management Inrastructure, Proc. Int l Con. Inormation Technology: Coding and Computing (ITCC 05), vol., pp , 005. [11] N. Lynch, Distributed Algorithms. Morgan Kaumann, [1] N. Malpani, J.L. Welch, and N. Vaidya, Leader Election Algorithms or Mobile Ad Hoc Networks, Proc. Fourth Int l Workshop Discrete Algorithms and Methods or Mobile Computing and Comm., pp , 000. [13] A.B. McDonald and T.F. Znati, A Mobility-Based Framework or Adaptive Clustering in Wireless Ad Hoc Networks, IEEE J. Selected Areas in Comm., vol. 17, no. 8, pp , Aug [14] D. Mills, Network Time Protocol, Speciication, Implementation and Analysis, Internet drat 1119, RFC, Sept [15] V.D. Park and M.S. Corson, A Highly Adaptive Distributed Routing Algorithm or Mobile Wireless Networks, Proc. IEEE INFOCOM 97, pp , Apr [16] V. Ramasubramanian, R. Chandra, and D. Mosse, Providing a Bidirectional Abstraction or Unidirectional Ad Hoc Networks, Proc. IEEE INFOCOM, 00. [17] C.L. Richard and M. Gerla, Adaptive Clustering or Mobile Wireless Networks, IEEE J. Selected Areas in Comm., vol. 15, no. 7, pp , Sept [18] G.-C. Roman, Q. Huang, and A. Hazemi, Consistent Group Membership in Ad Hoc Networks, Proc. 3rd Int l Con. Sotware Eng. (ICSE 01), pp , 001. [19] K. Römer, Time Synchronization in Ad Hoc Networks, Proc. ACM MobiHoc 01, pp , 001. [0] J. So and N. Vaidya, MTSF: A Timing Synchronization Protocol to Support Synchronous Operations in Multihop Wireless Networks, technical report, Univ. o Illinois, Urbana-Champaign, Oct [1] S. Vasudevan, J. Kurose, and D. Towsley, Design and Analysis o a Leader Election Algorithm or Mobile Ad Hoc Networks, Proc. 1th IEEE Int l Con. Network Protocols (ICNP 04), pp , Oct [] X. Zeng, R. Bagrodia, and M. Gerla, GloMoSim: A Library or Parallel Simulation o Large-Scale Wireless Networks, Proc. 1th Workshop Parallel and Distributed Simulation (PADS 98), pp , Abdelouahid Derhab received the engineer, master s, and PhD degrees in computer science rom the University o Sciences and Technology Houari Boumediene (USTHB), Algiers, Algeria, in 001, 003, and 007, respectively. He is currently an associate researcher in the Department o Computer Engineering, CEntre de Recherche sur l Inormation Scientiique et Technique (CERIST), Algiers. His interest research areas are distributed algorithms in mobile systems, data management, and ad hoc networks. Nadjib Badache received the engineer degree in computer science rom the University o Constantine, Algeria, in 1978 and the master s and PhD degrees rom the University o Sciences and Technology Houari Boummediene (USTHB), Algiers, Algeria, in 198 and 1998, respectively. In 1995, he joined The ADP research group at IRISA, France, where he prepared a PhD thesis on the causal ordering and ault tolerance in a mobile environment. He is currently a proessor in the Computer Science Department, USTHB, where he is also the head o LSI. He is the author o many papers, and he supervised many thesis and research projects. His research interests are distributed mobile systems, mobile ad hoc networks, and security.. For more inormation on this or any other computing topic, please visit our Digital Library at

Method estimating reflection coefficients of adaptive lattice filter and its application to system identification

Method estimating reflection coefficients of adaptive lattice filter and its application to system identification Acoust. Sci. & Tech. 28, 2 (27) PAPER #27 The Acoustical Society o Japan Method estimating relection coeicients o adaptive lattice ilter and its application to system identiication Kensaku Fujii 1;, Masaaki

More information

Measuring the Vulnerability of Interconnection. Networks in Embedded Systems. University of Massachusetts, Amherst, MA 01003

Measuring the Vulnerability of Interconnection. Networks in Embedded Systems. University of Massachusetts, Amherst, MA 01003 Measuring the Vulnerability o Interconnection Networks in Embedded Systems V. Lakamraju, Z. Koren, I. Koren, and C. M. Krishna Department o Electrical and Computer Engineering University o Massachusetts,

More information

IN a mobile ad hoc network, nodes move arbitrarily.

IN a mobile ad hoc network, nodes move arbitrarily. IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 5, NO. 6, JUNE 2006 609 Distributed Cache Updating for the Dynamic Source Routing Protocol Xin Yu Abstract On-demand routing protocols use route caches to make

More information

MATRIX ALGORITHM OF SOLVING GRAPH CUTTING PROBLEM

MATRIX ALGORITHM OF SOLVING GRAPH CUTTING PROBLEM UDC 681.3.06 MATRIX ALGORITHM OF SOLVING GRAPH CUTTING PROBLEM V.K. Pogrebnoy TPU Institute «Cybernetic centre» E-mail: vk@ad.cctpu.edu.ru Matrix algorithm o solving graph cutting problem has been suggested.

More information

Computationally Light Multi-Speed Atomic Memory

Computationally Light Multi-Speed Atomic Memory Computationally Light Multi-Speed Atomic Memory Antonio Fernández Anta 1, Theophanis Hadjistasi 2, and Nicolas Nicolaou 1 1 IMDEA Networks Institute Madrid, Spain antonio.ernandez@imdea.org, nicolas.nicolaou@imdea.org

More information

Rough Connected Topologized. Approximation Spaces

Rough Connected Topologized. Approximation Spaces International Journal o Mathematical Analysis Vol. 8 04 no. 53 69-68 HIARI Ltd www.m-hikari.com http://dx.doi.org/0.988/ijma.04.4038 Rough Connected Topologized Approximation Spaces M. J. Iqelan Department

More information

Distributed Computing over Communication Networks: Leader Election

Distributed Computing over Communication Networks: Leader Election Distributed Computing over Communication Networks: Leader Election Motivation Reasons for electing a leader? Reasons for not electing a leader? Motivation Reasons for electing a leader? Once elected, coordination

More information

Larger K-maps. So far we have only discussed 2 and 3-variable K-maps. We can now create a 4-variable map in the

Larger K-maps. So far we have only discussed 2 and 3-variable K-maps. We can now create a 4-variable map in the EET 3 Chapter 3 7/3/2 PAGE - 23 Larger K-maps The -variable K-map So ar we have only discussed 2 and 3-variable K-maps. We can now create a -variable map in the same way that we created the 3-variable

More information

WHEN DO THREE LONGEST PATHS HAVE A COMMON VERTEX?

WHEN DO THREE LONGEST PATHS HAVE A COMMON VERTEX? WHEN DO THREE LONGEST PATHS HAVE A COMMON VERTEX? MARIA AXENOVICH Abstract. It is well known that any two longest paths in a connected graph share a vertex. It is also known that there are connected graphs

More information

Scheduling in Multihop Wireless Networks without Back-pressure

Scheduling in Multihop Wireless Networks without Back-pressure Forty-Eighth Annual Allerton Conerence Allerton House, UIUC, Illinois, USA September 29 - October 1, 2010 Scheduling in Multihop Wireless Networks without Back-pressure Shihuan Liu, Eylem Ekici, and Lei

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

A Mutual Exclusion Algorithm for Ad Hoc Mobile Networks

A Mutual Exclusion Algorithm for Ad Hoc Mobile Networks Wireless Networks 7, 585 600, 2001 2001 Kluwer Academic Publishers. Manufactured in The Netherlands. A Mutual Exclusion Algorithm for Ad Hoc Mobile Networks JENNIFER E. WALTER, JENNIFER L. WELCH and NITIN

More information

9.8 Graphing Rational Functions

9.8 Graphing Rational Functions 9. Graphing Rational Functions Lets begin with a deinition. Deinition: Rational Function A rational unction is a unction o the orm P where P and Q are polynomials. Q An eample o a simple rational unction

More information

A COMPARISON OF REACTIVE ROUTING PROTOCOLS DSR, AODV AND TORA IN MANET

A COMPARISON OF REACTIVE ROUTING PROTOCOLS DSR, AODV AND TORA IN MANET ISSN: 2278 1323 All Rights Reserved 2016 IJARCET 296 A COMPARISON OF REACTIVE ROUTING PROTOCOLS DSR, AODV AND TORA IN MANET Dr. R. Shanmugavadivu 1, B. Chitra 2 1 Assistant Professor, Department of Computer

More information

A Proposed Approach for Solving Rough Bi-Level. Programming Problems by Genetic Algorithm

A Proposed Approach for Solving Rough Bi-Level. Programming Problems by Genetic Algorithm Int J Contemp Math Sciences, Vol 6, 0, no 0, 45 465 A Proposed Approach or Solving Rough Bi-Level Programming Problems by Genetic Algorithm M S Osman Department o Basic Science, Higher Technological Institute

More information

A Requirement Specification Language for Configuration Dynamics of Multiagent Systems

A Requirement Specification Language for Configuration Dynamics of Multiagent Systems A Requirement Speciication Language or Coniguration Dynamics o Multiagent Systems Mehdi Dastani, Catholijn M. Jonker, Jan Treur* Vrije Universiteit Amsterdam, Department o Artiicial Intelligence, De Boelelaan

More information

Generell Topologi. Richard Williamson. May 6, 2013

Generell Topologi. Richard Williamson. May 6, 2013 Generell Topologi Richard Williamson May 6, Thursday 7th January. Basis o a topological space generating a topology with a speciied basis standard topology on R examples Deinition.. Let (, O) be a topological

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

1. [1 pt] What is the solution to the recurrence T(n) = 2T(n-1) + 1, T(1) = 1

1. [1 pt] What is the solution to the recurrence T(n) = 2T(n-1) + 1, T(1) = 1 Asymptotics, Recurrence and Basic Algorithms 1. [1 pt] What is the solution to the recurrence T(n) = 2T(n-1) + 1, T(1) = 1 1. O(logn) 2. O(n) 3. O(nlogn) 4. O(n 2 ) 5. O(2 n ) 2. [1 pt] What is the solution

More information

Evaluating the Performance of Mobile Agent-Based Message Communication among Mobile Hosts in Large Ad Hoc Wireless Network

Evaluating the Performance of Mobile Agent-Based Message Communication among Mobile Hosts in Large Ad Hoc Wireless Network Evaluating the Performance of Mobile Agent-Based Communication among Mobile Hosts in Large Ad Hoc Wireless Network S. Bandyopadhyay Krishna Paul PricewaterhouseCoopers Limited Techna Digital Systems Sector

More information

CS 161: Design and Analysis of Algorithms

CS 161: Design and Analysis of Algorithms CS 161: Design and Analysis o Algorithms Announcements Homework 3, problem 3 removed Greedy Algorithms 4: Human Encoding/Set Cover Human Encoding Set Cover Alphabets and Strings Alphabet = inite set o

More information

Scalable Link-State Internet Routing

Scalable Link-State Internet Routing Scalable Link-State Internet Routing J. J. Garcia-Luna-Aceves and Marcelo Spohn Computer Engineering Department School o Engineering University o Caliornia Santa Cruz, CA 95, USA jj, spohn@cse.ucsc.edu

More information

Self Stabilization. CS553 Distributed Algorithms Prof. Ajay Kshemkalyani. by Islam Ismailov & Mohamed M. Ali

Self Stabilization. CS553 Distributed Algorithms Prof. Ajay Kshemkalyani. by Islam Ismailov & Mohamed M. Ali Self Stabilization CS553 Distributed Algorithms Prof. Ajay Kshemkalyani by Islam Ismailov & Mohamed M. Ali Introduction There is a possibility for a distributed system to go into an illegitimate state,

More information

3. Evaluation of Selected Tree and Mesh based Routing Protocols

3. Evaluation of Selected Tree and Mesh based Routing Protocols 33 3. Evaluation of Selected Tree and Mesh based Routing Protocols 3.1 Introduction Construction of best possible multicast trees and maintaining the group connections in sequence is challenging even in

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

21. Distributed Algorithms

21. Distributed Algorithms 21. Distributed Algorithms We dene a distributed system as a collection of individual computing devices that can communicate with each other [2]. This denition is very broad, it includes anything, from

More information

Practice exercises on Ethernet switching

Practice exercises on Ethernet switching Practice exercises on Ethernet switching Problem. Hosts HA through HA0 LAN A b 4 photon 3 b LAN D LAN G LAN B 3 duke b utopia 3 LAN C catt LAN F LAN E A network o Ethernet bridges (switches) and hubbed

More information

primitives. Ad Hoc Network (a) User Applications Distributed Primitives Routing Protocol Ad Hoc Network (b)

primitives. Ad Hoc Network (a) User Applications Distributed Primitives Routing Protocol Ad Hoc Network (b) Wireless Networks ()?? A Mutual Exclusion Algorithm for Ad Hoc Mobile Networks Jennifer E. Walter Λ Jennifer L. Welch ΛΛ Nitin H. Vaidya ΛΛΛ Department of Computer Science, Texas A&M University, College

More information

ACONCURRENT system may be viewed as a collection of

ACONCURRENT system may be viewed as a collection of 252 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 10, NO. 3, MARCH 1999 Constructing a Reliable Test&Set Bit Frank Stomp and Gadi Taubenfeld AbstractÐThe problem of computing with faulty

More information

Arvind Krishnamurthy Fall 2003

Arvind Krishnamurthy Fall 2003 Ad-hoc Routing Arvind Krishnamurthy Fall 2003 Ad Hoc Routing Create multi-hop connectivity among set of wireless, possibly moving, nodes Mobile, wireless hosts act as forwarding nodes as well as end systems

More information

Global Constraints. Combinatorial Problem Solving (CPS) Enric Rodríguez-Carbonell (based on materials by Javier Larrosa) February 22, 2019

Global Constraints. Combinatorial Problem Solving (CPS) Enric Rodríguez-Carbonell (based on materials by Javier Larrosa) February 22, 2019 Global Constraints Combinatorial Problem Solving (CPS) Enric Rodríguez-Carbonell (based on materials by Javier Larrosa) February 22, 2019 Global Constraints Global constraints are classes o constraints

More information

The Performance of MANET Routing Protocols for Scalable Video Communication

The Performance of MANET Routing Protocols for Scalable Video Communication Communications and Network, 23, 5, 9-25 http://dx.doi.org/.4236/cn.23.522 Published Online May 23 (http://www.scirp.org/journal/cn) The Performance of MANET Routing Protocols for Scalable Video Communication

More information

2. Design Planning with the Quartus II Software

2. Design Planning with the Quartus II Software November 2013 QII51016-13.1.0 2. Design Planning with the Quartus II Sotware QII51016-13.1.0 This chapter discusses key FPGA design planning considerations, provides recommendations, and describes various

More information

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 The Encoding Complexity of Network Coding Michael Langberg, Member, IEEE, Alexander Sprintson, Member, IEEE, and Jehoshua Bruck,

More information

Table of Contents Chapter 1 MSTP Configuration

Table of Contents Chapter 1 MSTP Configuration Table of Contents Table of Contents... 1-1 1.1 MSTP Overview... 1-1 1.1.1 MSTP Protocol Data Unit... 1-1 1.1.2 Basic MSTP Terminologies... 1-2 1.1.3 Implementation of MSTP... 1-6 1.1.4 MSTP Implementation

More information

Research Article Synthesis of Test Scenarios Using UML Sequence Diagrams

Research Article Synthesis of Test Scenarios Using UML Sequence Diagrams International Scholarly Research Network ISRN Sotware Engineering Volume 2012, Article ID 324054, 22 pages doi:10.5402/2012/324054 Research Article Synthesis o Test Scenarios Using UML Sequence Diagrams

More information

Some Inequalities Involving Fuzzy Complex Numbers

Some Inequalities Involving Fuzzy Complex Numbers Theory Applications o Mathematics & Computer Science 4 1 014 106 113 Some Inequalities Involving Fuzzy Complex Numbers Sanjib Kumar Datta a,, Tanmay Biswas b, Samten Tamang a a Department o Mathematics,

More information

THIN LENSES: BASICS. There are at least three commonly used symbols for object and image distances:

THIN LENSES: BASICS. There are at least three commonly used symbols for object and image distances: THN LENSES: BASCS BJECTVE: To study and veriy some o the laws o optics applicable to thin lenses by determining the ocal lengths o three such lenses ( two convex, one concave) by several methods. THERY:

More information

Ad Hoc Routing. Ad-hoc Routing. Problems Using DV or LS. DSR Concepts. DSR Components. Proposed Protocols

Ad Hoc Routing. Ad-hoc Routing. Problems Using DV or LS. DSR Concepts. DSR Components. Proposed Protocols d oc Routing d-hoc Routing rvind Krishnamurthy all 2003 Create multi-hop connectivity among set of wireless, possibly moving, nodes Mobile, wireless hosts act as forwarding nodes as well as end systems

More information

Data Replication for Improving Data Accessibility in Ad Hoc Networks

Data Replication for Improving Data Accessibility in Ad Hoc Networks Missouri University of Science and Technology Scholars' Mine Computer Science Faculty Research & Creative Works Computer Science 1-1-2006 Data Replication for Improving Data Accessibility in Ad Hoc Networks

More information

Coordination 1. To do. Mutual exclusion Election algorithms Next time: Global state. q q q

Coordination 1. To do. Mutual exclusion Election algorithms Next time: Global state. q q q Coordination 1 To do q q q Mutual exclusion Election algorithms Next time: Global state Coordination and agreement in US Congress 1798-2015 Process coordination How can processes coordinate their action?

More information

Ad-hoc Workflow: Problems and Solutions

Ad-hoc Workflow: Problems and Solutions Ad-hoc Worklow: Problems and Solutions M. Voorhoeve and W. van der Aalst Dept. o Mathematics and Computing Science Eindhoven University o Technology Eindhoven, The Netherlands, 5600MB Abstract The paper

More information

Algorithm 23 works. Instead of a spanning tree, one can use routing.

Algorithm 23 works. Instead of a spanning tree, one can use routing. Chapter 5 Shared Objects 5.1 Introduction Assume that there is a common resource (e.g. a common variable or data structure), which different nodes in a network need to access from time to time. If the

More information

MESH-CONNECTED networks have been widely used in

MESH-CONNECTED networks have been widely used in 620 IEEE TRANSACTIONS ON COMPUTERS, VOL. 58, NO. 5, MAY 2009 Practical Deadlock-Free Fault-Tolerant Routing in Meshes Based on the Planar Network Fault Model Dong Xiang, Senior Member, IEEE, Yueli Zhang,

More information

Unsupervised Learning of Probabilistic Models for Robot Navigation

Unsupervised Learning of Probabilistic Models for Robot Navigation Unsupervised Learning o Probabilistic Models or Robot Navigation Sven Koenig Reid G. Simmons School o Computer Science, Carnegie Mellon University Pittsburgh, PA 15213-3891 Abstract Navigation methods

More information

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department CS473-Algorithms I Lecture 3-A Graphs Graphs A directed graph (or digraph) G is a pair (V, E), where V is a finite set, and E is a binary relation on V The set V: Vertex set of G The set E: Edge set of

More information

Distributed Algorithms 6.046J, Spring, 2015 Part 2. Nancy Lynch

Distributed Algorithms 6.046J, Spring, 2015 Part 2. Nancy Lynch Distributed Algorithms 6.046J, Spring, 2015 Part 2 Nancy Lynch 1 This Week Synchronous distributed algorithms: Leader Election Maximal Independent Set Breadth-First Spanning Trees Shortest Paths Trees

More information

Lecture 20 : Trees DRAFT

Lecture 20 : Trees DRAFT CS/Math 240: Introduction to Discrete Mathematics 4/12/2011 Lecture 20 : Trees Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last time we discussed graphs. Today we continue this discussion,

More information

ITU - Telecommunication Standardization Sector. G.fast: Far-end crosstalk in twisted pair cabling; measurements and modelling ABSTRACT

ITU - Telecommunication Standardization Sector. G.fast: Far-end crosstalk in twisted pair cabling; measurements and modelling ABSTRACT ITU - Telecommunication Standardization Sector STUDY GROUP 15 Temporary Document 11RV-22 Original: English Richmond, VA. - 3-1 Nov. 211 Question: 4/15 SOURCE 1 : TNO TITLE: G.ast: Far-end crosstalk in

More information

2. Recommended Design Flow

2. Recommended Design Flow 2. Recommended Design Flow This chapter describes the Altera-recommended design low or successully implementing external memory interaces in Altera devices. Altera recommends that you create an example

More information

Data & Knowledge Engineering

Data & Knowledge Engineering Data & Knowledge Engineering 73 (2012) 1 22 Contents lists available at SciVerse ScienceDirect Data & Knowledge Engineering journal homepage: www.elsevier.com/locate/datak OCL-Lite: Finite reasoning on

More information

Reducing the Bandwidth of a Sparse Matrix with Tabu Search

Reducing the Bandwidth of a Sparse Matrix with Tabu Search Reducing the Bandwidth o a Sparse Matrix with Tabu Search Raael Martí a, Manuel Laguna b, Fred Glover b and Vicente Campos a a b Dpto. de Estadística e Investigación Operativa, Facultad de Matemáticas,

More information

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition. 18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have

More information

Piecewise polynomial interpolation

Piecewise polynomial interpolation Chapter 2 Piecewise polynomial interpolation In ection.6., and in Lab, we learned that it is not a good idea to interpolate unctions by a highorder polynomials at equally spaced points. However, it transpires

More information

7.3 Spanning trees Spanning trees [ ] 61

7.3 Spanning trees Spanning trees [ ] 61 7.3. Spanning trees [161211-1348 ] 61 7.3 Spanning trees We know that trees are connected graphs with the minimal number of edges. Hence trees become very useful in applications where our goal is to connect

More information

AN 608: HST Jitter and BER Estimator Tool for Stratix IV GX and GT Devices

AN 608: HST Jitter and BER Estimator Tool for Stratix IV GX and GT Devices AN 608: HST Jitter and BER Estimator Tool or Stratix IV GX and GT Devices July 2010 AN-608-1.0 The high-speed communication link design toolkit (HST) jitter and bit error rate (BER) estimator tool is a

More information

THE FINANCIAL CALCULATOR

THE FINANCIAL CALCULATOR Starter Kit CHAPTER 3 Stalla Seminars THE FINANCIAL CALCULATOR In accordance with the AIMR calculator policy in eect at the time o this writing, CFA candidates are permitted to use one o two approved calculators

More information

MAPI Computer Vision. Multiple View Geometry

MAPI Computer Vision. Multiple View Geometry MAPI Computer Vision Multiple View Geometry Geometry o Multiple Views 2- and 3- view geometry p p Kpˆ [ K R t]p Geometry o Multiple Views 2- and 3- view geometry Epipolar Geometry The epipolar geometry

More information

A Synchronous Self-Stabilizing Minimal Domination Protocol in an Arbitrary Network Graph

A Synchronous Self-Stabilizing Minimal Domination Protocol in an Arbitrary Network Graph A Synchronous Self-Stabilizing Minimal Domination Protocol in an Arbitrary Network Graph Z. Xu, S. T. Hedetniemi, W. Goddard, and P. K. Srimani Department of Computer Science Clemson University Clemson,

More information

Reflection and Refraction

Reflection and Refraction Relection and Reraction Object To determine ocal lengths o lenses and mirrors and to determine the index o reraction o glass. Apparatus Lenses, optical bench, mirrors, light source, screen, plastic or

More information

Joint Congestion Control and Scheduling in Wireless Networks with Network Coding

Joint Congestion Control and Scheduling in Wireless Networks with Network Coding Title Joint Congestion Control and Scheduling in Wireless Networks with Network Coding Authors Hou, R; Wong Lui, KS; Li, J Citation IEEE Transactions on Vehicular Technology, 2014, v. 63 n. 7, p. 3304-3317

More information

A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols. Broch et al Presented by Brian Card

A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols. Broch et al Presented by Brian Card A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols Broch et al Presented by Brian Card 1 Outline Introduction NS enhancements Protocols: DSDV TORA DRS AODV Evaluation Conclusions

More information

On the Page Number of Upward Planar Directed Acyclic Graphs

On the Page Number of Upward Planar Directed Acyclic Graphs Journal of Graph Algorithms and Applications http://jgaa.info/ vol. 17, no. 3, pp. 221 244 (2013) DOI: 10.7155/jgaa.00292 On the Page Number of Upward Planar Directed Acyclic Graphs Fabrizio Frati 1 Radoslav

More information

Counting Interface Automata and their Application in Static Analysis of Actor Models

Counting Interface Automata and their Application in Static Analysis of Actor Models Counting Interace Automata and their Application in Static Analysis o Actor Models Ernesto Wandeler Jörn W. Janneck Edward A. Lee Lothar Thiele Abstract We present an interace theory based approach to

More information

NEW STABILITY RESULTS FOR ADVERSARIAL QUEUING

NEW STABILITY RESULTS FOR ADVERSARIAL QUEUING NEW STABILITY RESULTS FOR ADVERSARIAL QUEUING ZVI LOTKER, BOAZ PATT-SHAMIR, AND ADI ROSÉN Abstract. We consider the model of adversarial queuing theory for packet networks introduced by Borodin et al.

More information

Automated Planning for Feature Model Configuration based on Functional and Non-Functional Requirements

Automated Planning for Feature Model Configuration based on Functional and Non-Functional Requirements Automated Planning or Feature Model Coniguration based on Functional and Non-Functional Requirements Samaneh Soltani 1, Mohsen Asadi 1, Dragan Gašević 2, Marek Hatala 1, Ebrahim Bagheri 2 1 Simon Fraser

More information

2. Time and Global States Page 1. University of Freiburg, Germany Department of Computer Science. Distributed Systems

2. Time and Global States Page 1. University of Freiburg, Germany Department of Computer Science. Distributed Systems 2. Time and Global States Page 1 University of Freiburg, Germany Department of Computer Science Distributed Systems Chapter 3 Time and Global States Christian Schindelhauer 12. May 2014 2. Time and Global

More information

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) January 11, 2018 Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 In this lecture

More information

Understanding Multiple-tree-based Overlay Multicast

Understanding Multiple-tree-based Overlay Multicast Understanding Multiple-tree-based Overlay Multicast György Dán and Viktória Fodor Laboratory or Communication Networks School o Electrical Engineering KTH, Rotal Institute o Technology Stockholm, Sweden

More information

FOUR EDGE-INDEPENDENT SPANNING TREES 1

FOUR EDGE-INDEPENDENT SPANNING TREES 1 FOUR EDGE-INDEPENDENT SPANNING TREES 1 Alexander Hoyer and Robin Thomas School of Mathematics Georgia Institute of Technology Atlanta, Georgia 30332-0160, USA ABSTRACT We prove an ear-decomposition theorem

More information

The multiple spanning-tree (MST) implementation is based on the IEEE 802.1s standard.

The multiple spanning-tree (MST) implementation is based on the IEEE 802.1s standard. CHAPTER 18 This chapter describes how to configure the Cisco implementation of the IEEE 802.1s Multiple STP (MSTP) on the IE 3010 switch. Note The multiple spanning-tree (MST) implementation is based on

More information

Fault-Tolerant Wormhole Routing Algorithms in Meshes in the Presence of Concave Faults

Fault-Tolerant Wormhole Routing Algorithms in Meshes in the Presence of Concave Faults Fault-Tolerant Wormhole Routing Algorithms in Meshes in the Presence of Concave Faults Seungjin Park Jong-Hoon Youn Bella Bose Dept. of Computer Science Dept. of Computer Science Dept. of Computer Science

More information

Configuring Rapid PVST+

Configuring Rapid PVST+ This chapter contains the following sections: Information About Rapid PVST+, page 1, page 16 Verifying the Rapid PVST+ Configuration, page 24 Information About Rapid PVST+ The Rapid PVST+ protocol is the

More information

Chapter 8 Fault Tolerance

Chapter 8 Fault Tolerance DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 8 Fault Tolerance 1 Fault Tolerance Basic Concepts Being fault tolerant is strongly related to

More information

Acyclic orientations do not lead to optimal deadlock-free packet routing algorithms

Acyclic orientations do not lead to optimal deadlock-free packet routing algorithms Acyclic orientations do not lead to optimal deadloc-ree pacet routing algorithms Daniel Šteanovič 1 Department o Computer Science, Comenius University, Bratislava, Slovaia Abstract In this paper e consider

More information

Structured Parallel Programming with Deterministic Patterns

Structured Parallel Programming with Deterministic Patterns Structured Parallel Programming with Deterministic Patterns May 14, 2010 USENIX HotPar 2010, Berkeley, Caliornia Michael McCool, Sotware Architect, Ct Technology Sotware and Services Group, Intel Corporation

More information

10. SOPC Builder Component Development Walkthrough

10. SOPC Builder Component Development Walkthrough 10. SOPC Builder Component Development Walkthrough QII54007-9.0.0 Introduction This chapter describes the parts o a custom SOPC Builder component and guides you through the process o creating an example

More information

Routing Protocols in MANETs

Routing Protocols in MANETs Chapter 4 Routing Protocols in MANETs 4.1 Introduction The main aim of any Ad Hoc network routing protocol is to meet the challenges of the dynamically changing topology and establish a correct and an

More information

Copyright 2000, Kevin Wayne 1

Copyright 2000, Kevin Wayne 1 Linear Time: O(n) CS 580: Algorithm Design and Analysis 2.4 A Survey of Common Running Times Merge. Combine two sorted lists A = a 1,a 2,,a n with B = b 1,b 2,,b n into sorted whole. Jeremiah Blocki Purdue

More information

Consistency Management Strategies for Data Replication in Mobile Ad Hoc Networks

Consistency Management Strategies for Data Replication in Mobile Ad Hoc Networks Missouri University of Science and Technology Scholars' Mine Computer Science Faculty Research & Creative Works Computer Science 7-1-2009 Consistency Management Strategies for Data Replication in Mobile

More information

ADHOC SYSTEMSS ABSTRACT. the system. The diagnosis strategy. is an initiator of. can in the hierarchy. paper include. this. than.

ADHOC SYSTEMSS ABSTRACT. the system. The diagnosis strategy. is an initiator of. can in the hierarchy. paper include. this. than. Journal of Theoretical and Applied Information Technology 2005-2007 JATIT. All rights reserved. www.jatit.org A HIERARCHICAL APPROACH TO FAULT DIAGNOSIS IN LARGE S CALE SELF-DIAGNOSABLE WIRELESS ADHOC

More information

An Efficient Configuration Methodology for Time-Division Multiplexed Single Resources

An Efficient Configuration Methodology for Time-Division Multiplexed Single Resources An Eicient Coniguration Methodology or Time-Division Multiplexed Single Resources Benny Akesson 1, Anna Minaeva 1, Přemysl Šůcha 1, Andrew Nelson 2 and Zdeněk Hanzálek 1 1 Czech Technical University in

More information

Basic Graph Theory with Applications to Economics

Basic Graph Theory with Applications to Economics Basic Graph Theory with Applications to Economics Debasis Mishra February, 0 What is a Graph? Let N = {,..., n} be a finite set. Let E be a collection of ordered or unordered pairs of distinct elements

More information

Efficient load balancing and QoS-based location aware service discovery protocol for vehicular ad hoc networks

Efficient load balancing and QoS-based location aware service discovery protocol for vehicular ad hoc networks RESEARCH Open Access Efficient load balancing and QoS-based location aware service discovery protocol for vehicular ad hoc networks Kaouther Abrougui 1,2*, Azzedine Boukerche 1,2 and Hussam Ramadan 3 Abstract

More information

Skill Sets Chapter 5 Functions

Skill Sets Chapter 5 Functions Skill Sets Chapter 5 Functions No. Skills Examples o questions involving the skills. Sketch the graph o the (Lecture Notes Example (b)) unction according to the g : x x x, domain. x, x - Students tend

More information

Clock Synchronization. Synchronization. Clock Synchronization Algorithms. Physical Clock Synchronization. Tanenbaum Chapter 6 plus additional papers

Clock Synchronization. Synchronization. Clock Synchronization Algorithms. Physical Clock Synchronization. Tanenbaum Chapter 6 plus additional papers Clock Synchronization Synchronization Tanenbaum Chapter 6 plus additional papers Fig 6-1. In a distributed system, each machine has its own clock. When this is the case, an event that occurred after another

More information

CHAPTER 5 PROPAGATION DELAY

CHAPTER 5 PROPAGATION DELAY 98 CHAPTER 5 PROPAGATION DELAY Underwater wireless sensor networks deployed of sensor nodes with sensing, forwarding and processing abilities that operate in underwater. In this environment brought challenges,

More information

Configuring STP and RSTP

Configuring STP and RSTP 7 CHAPTER Configuring STP and RSTP This chapter describes the IEEE 802.1D Spanning Tree Protocol (STP) and the ML-Series implementation of the IEEE 802.1W Rapid Spanning Tree Protocol (RSTP). It also explains

More information

Binary Decision Diagrams

Binary Decision Diagrams Logic and roof Hilary 2016 James Worrell Binary Decision Diagrams A propositional formula is determined up to logical equivalence by its truth table. If the formula has n variables then its truth table

More information

GATEWAY MULTIPOINT RELAYS AN MPR-BASED BROADCAST ALGORITHM FOR AD HOC NETWORKS. Ou Liang, Y. Ahmet Şekercioğlu, Nallasamy Mani

GATEWAY MULTIPOINT RELAYS AN MPR-BASED BROADCAST ALGORITHM FOR AD HOC NETWORKS. Ou Liang, Y. Ahmet Şekercioğlu, Nallasamy Mani GATEWAY MULTIPOINT RELAYS AN MPR-BASED BROADCAST ALGORITHM FOR AD HOC NETWORKS Ou Liang, Y. Ahmet Şekercioğlu, Nallasamy Mani Centre for Telecommunication and Information Engineering Monash University,

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

Analysis of Link Reversal Routing Algorithms for Mobile Ad Hoc Networks

Analysis of Link Reversal Routing Algorithms for Mobile Ad Hoc Networks Analysis of Link Reversal Routing Algorithms for Mobile Ad Hoc Networks Seminar of Distributed Computing WS 04/05 ETH Zurich, 1.2.2005 Nicolas Born nborn@student.ethz.ch Paper Analysis of Link Reversal

More information

Certificate Translation for Optimizing Compilers

Certificate Translation for Optimizing Compilers Certiicate Translation or Optimizing Compilers Gilles Barthe IMDEA Sotware and Benjamin Grégoire and César Kunz and Tamara Rezk INRIA Sophia Antipolis - Méditerranée Proo Carrying Code provides trust in

More information

An algorithm for Performance Analysis of Single-Source Acyclic graphs

An algorithm for Performance Analysis of Single-Source Acyclic graphs An algorithm for Performance Analysis of Single-Source Acyclic graphs Gabriele Mencagli September 26, 2011 In this document we face with the problem of exploiting the performance analysis of acyclic graphs

More information

An Efficient Routing Approach and Improvement Of AODV Protocol In Mobile Ad-Hoc Networks

An Efficient Routing Approach and Improvement Of AODV Protocol In Mobile Ad-Hoc Networks An Efficient Routing Approach and Improvement Of AODV Protocol In Mobile Ad-Hoc Networks Tejomayee Nath #1 & Suneeta Mohanty *2 # School of Computer Engineering, KIIT University Bhubaneswar,, India Abstract

More information

THE falling cost of both communication and mobile

THE falling cost of both communication and mobile IEEE TANSACTIONS ON KNOWLEDGE AND DATA ENGINEEING, VOL. 15, NO. 5, SEPTEMBE/OCTOBE 2003 1251 A Scalable Low-Latency Cache Invalidation Strategy for Mobile Environments Guohong Cao, Member, IEEE Abstract

More information

Fairness Example: high priority for nearby stations Optimality Efficiency overhead

Fairness Example: high priority for nearby stations Optimality Efficiency overhead Routing Requirements: Correctness Simplicity Robustness Under localized failures and overloads Stability React too slow or too fast Fairness Example: high priority for nearby stations Optimality Efficiency

More information

MOST attention in the literature of network codes has

MOST attention in the literature of network codes has 3862 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 56, NO. 8, AUGUST 2010 Efficient Network Code Design for Cyclic Networks Elona Erez, Member, IEEE, and Meir Feder, Fellow, IEEE Abstract This paper introduces

More information

arxiv: v5 [cs.dm] 9 May 2016

arxiv: v5 [cs.dm] 9 May 2016 Tree spanners of bounded degree graphs Ioannis Papoutsakis Kastelli Pediados, Heraklion, Crete, reece, 700 06 October 21, 2018 arxiv:1503.06822v5 [cs.dm] 9 May 2016 Abstract A tree t-spanner of a graph

More information

Broadcast: Befo re 1

Broadcast: Befo re 1 Broadcast: Before 1 After 2 Spanning Tree ffl assume fixed spanning tree ffl asynchronous model 3 Processor State parent terminated children 4 Broadcast: Step One parent terminated children 5 Broadcast:Step

More information