22 Pages

sensor

Course: SIS 3955, Fall 2009
School: Pittsburgh
Rating:
 
 
 
 
 

Word Count: 12607

Document Preview

Networks Computer 43 (2003) 459480 www.elsevier.com/locate/comnet GS3: scalable self-conguration and self-healing in wireless sensor networks q Hongwei Zhang *, Anish Arora Department of Computer and Information Science, The Ohio State University, 2015 Neil Avenue, Dreese Lab 395, Columbus, OH 43210, USA Abstract We present GS3 , a distributed algorithm for scalable self-conguration and self-healing in multi-hop...

Register Now

Unformatted Document Excerpt

Coursehero >> Pennsylvania >> Pittsburgh >> SIS 3955

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
Networks Computer 43 (2003) 459480 www.elsevier.com/locate/comnet GS3: scalable self-conguration and self-healing in wireless sensor networks q Hongwei Zhang *, Anish Arora Department of Computer and Information Science, The Ohio State University, 2015 Neil Avenue, Dreese Lab 395, Columbus, OH 43210, USA Abstract We present GS3 , a distributed algorithm for scalable self-conguration and self-healing in multi-hop wireless sensor networks. The algorithm enables network nodes in a 2D plane to congure themselves into a cellular hexagonal structure where cells have tightly bounded geographic radius and the overlap between neighboring cells is low. The structure is self-healing under various perturbations, such as node joins, leaves, deaths, movements, and state corruptions. For instance, the structure slides as a whole if nodes in many cells die at the same rate. Moreover, its conguration and healing are scalable in three respects: rst, local knowledge enables each node to maintain only limited information with respect to a constant number of nearby nodes; second, local self-healing guarantees that all perturbations are contained within a tightly bounded region with respect to the perturbed area and dealt with in the time taken to diuse a message across the region; third, only local coordination is needed in both conguration and selfhealing. 2003 Elsevier B.V. All rights reserved. Keywords: Multi-hop wireless sensor network; Geography-aware self-conguration; Local self-healing; Locality; Cellular hexagon 1. Introduction As increasingly small network nodes become available, many sense-compute-actuate net- q An extended abstract containing some preliminary results of this paper appeared in 21st ACM Symposium on Principles of Distributed Computing (PODC 2002). This work was partially sponsored by DARPA grant OSU-RF-01-C-1901, NSF grant CCR-9972368, and an Ohio State University Fellowship. * Corresponding author. Tel.: +1-614-292-1932/1836; fax: +1-614-292-2911. E-mail addresses: zhangho@cis.ohio-state.edu (H. Zhang), anish@cis.ohio-state.edu (A. Arora). works are being realized. Several of these networks use unattended wireless sensor nodes [7,11,12], which communicate with one another via intermediate node relays due to limited transmission range or in order to save energy [15,20]. The number of nodes is potentially large (thousands and millions of nodes are considered in earthquake relief and unmanned space vehicle scenarios, for instance) [7]. Thus, scalability is a key issue for large-scale multi-hop wireless sensor networks. One way to achieve scalability is by divide and conquer, or hierarchical control. Network nodes are rst grouped into a set of clusters by some clustering criterion. A leader is elected in each cluster to represent the cluster at higher levels. The 1389-1286/$ - see front matter 2003 Elsevier B.V. All rights reserved. doi:10.1016/S1389-1286(03)00354-2 460 H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 same clustering scheme may be iteratively applied to the cluster leaders to form a hierarchy. In this hierarchy, local control is applied at each level to achieve certain global objectives. Most existing work on clustering in wireless networks [3,18] treats a network as a geographyunaware graph. The clustering criteria adopted are, for instance, the number of nodes in a cluster and the logicalas opposed to geographic diameter (in the number of hops) of clusters. However, geography-unaware clustering can be such that the communication links between a cluster leader and other nodes in its cluster are long, the geographic overlap between neighboring clusters is large, and routing trac load is unbalanced across dierent clusters [8]. Therefore, more energy is consumed when a non-leader node communicates with its cluster leader by the only long link between them, simultaneous transmissions at neighboring clusters collide frequently, and energy dissipation is not balanced among clusters. Consequently, the lifetime of a network and the communication quality as well as eciency in the network are reduced. Therefore, in order to save energy and improve communication quality as well as eciency, the geographic radius of clusters should be taken into account in clustering algorithms. Other reasons for considering the geographic radius of clusters (which we simply call radius, henceforth) in wireless sensor networks, especially large-scale, resource constrained multi-hop ones, include: Many multi-hop wireless sensor network applications, such as environment monitoring and temperature sensing, are inherently geographyaware, and so reecting geography in the underlying network structure enables optimization of system performance. Cluster radius aects the eciency of such local coordination as data aggregation and load balancing. Cluster radius aects the potential degree of frequency reuse in networks. The smaller the cluster radius, the more the frequency reuse. Cluster radius aects the scalability as well as availability of networks, since it aects the num- ber of clusters and the number of nodes in each cluster (the more nodes in a cluster, the more available the cluster is). Given that nodes are approximately uniformly distributed and such delity control mechanisms as that in [4] adapt the number of active nodes in each area of a network, guaranteed radius of a cluster also guarantee the number of nodes in the cluster. Challenges and opportunities. While accounting for geography in clustering, it is desirable that the radius of clusters be bounded from above as well as from below. The tightness of the bound impacts load balancing as well as the uniformity of energy dissipation in a network (and hence the lifetime of the network). It is also intuitively desirable that the tightness of the bound reect such intrinsic network properties as node distribution density. Given that multi-hop wireless sensor networks are expected to be untethered and of large scale, they demand automatic management [5]. Therefore, self-conguration is required in these networks, and it needs to be scalable to large network sizes. Moreover, self-healing is required in wireless sensor networks, because such complex perturbations as node join, node leave, node movement, node crash, and state corruption are expected to occur in these networks. Since even node crash and message loss perturbation can drive a network protocol into arbitrary states [13], self-healing of a network from arbitrary states is desirable. Furthermore, given that wireless sensor networks are of large scale, self-healing that is local is essential for the stability, availability, and scalability of a network [2]. By local self-healing, perturbations are dealt with and their impact contained in the locality near where the perturbations have occurred. The demand of geography-aware clustering and local self-healing are not readily achievable in general large-scale systems. However, wireless sensor networks oer some distinguishing properties such as node distribution is dense, location information of nodes is eectively available, the degree of node mobility is low, and there exist some gateways between a sensor network and external networks such as the Internet [21,22]. These H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 461 properties oer opportunities to solve the problem in ecient ways, and we exploit them in the paper. Contributions of the paper. In this paper, we design a distributed algorithm (GS3 ) for conguring a wireless planar network into clusters (which we henceforth call cells due to their geographic nature). More specically, the network nodes congure themselves into a cellular hexagonal structure, in which the network nodes are partitioned into hexagonal cells each with a radius that is tightly bounded with respect to a given value R (an ideal cluster radius) and zero overlap between neighboring cells. One node in each cell is distinguished, as the head of the cell, to represent this cell in the network. All heads in a network form a directed graph, called the head graph, which is rooted at a big node that is the interface between the wireless sensor network and external networks such as the Internet. Our algorithm yields a local self-healing system. The head graph and cellular hexagonal structure are self-healing in the presence of various perturbations, such as one or more node joins, leaves, dies, moves, and state corruptions. The self-healing capability and the modular design of GS3 enable dierent modules to be integrated so as to cater to dierent network models, in static as well as dynamic networks, in immobile as well as mobile networks, and in networks with one big node as well as multiple big nodes. Moreover, the selfhealing is local such that the head graph and the cellular hexagonal structure remain stable upon perturbations in the following ways: (1) unanticipated node leaves within a cell are masked by the cell; (2) in case multiple cells experience node deaths at about the same time (due to energy exhaustion), independent shift of each cell enables the head graph as well as the cellular hexagonal structure to slide as a whole yet maintain consistent relative location among cells and heads; (3) in case the root of the head graph moves d away from its previous location,ponly the part of the head graph that is within 3d=2 radius from the root needs to change accordingly. Thus, a stable communication infrastructure for other services, such as routing, is congured in a dynamic or mobile network. Our algorithm achieves scalability in three respects: (1) local knowledge enables each node to maintain the identities of only a constant number of nearby nodes; (2) local self-healing guarantees that all perturbations are dealt within and their impact is conned to a tightly bounded region around the perturbed area; the cellular hexagonal structure self-stabilizes within the time to diuse a one-way message across the perturbed area; (3) only local coordination is needed in both the selfconguration and self-healing processes. (The complexity and convergence properties of GS3 are summarized in Appendix A.1.) The rest of the paper is organized as follows. In Section 2, we present the system model and problem statement. We then develop algorithms for static networks, dynamic networks, and mobile dynamic networks in Sections 35 respectively. We discuss related work in Section 6. Section 7 concludes the paper and makes further comments on the system model. For reasons of simplicity, we relegate the detailed description of algorithm modules to the Appendix. 2. System model and problem statement 2.1. System model The system model consists of two parts: models for system nodes and perturbations. System nodes: A system consists of a set of nodes in a 2D plane, each having a certain wireless transmission range. Node distribution: There exists Rt (called radius tolerance) such that, with high probability, there are multiple nodes in each circular area of radius Rt in the plane. 1 There are two kinds of nodes: big and small. Intuitively, the big node acts as the initiator as well 1 More specically, nodes are distributed uniformly in the plane and the number of nodes in a circular area of certain radius is a Poisson random variable. We discuss this in detail in Section 4.3.4. 462 H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 as the access point for small nodes. 2 That is, the big node initiates operations (such as clustering) at small nodes, and acts as the interface between small nodes and external systems such as the Internet. For convenience, we assume that the system has one big node, and all the other nodes are small (in Section 7, we discuss the case of multiple big nodes). Wireless transmission: Nodes can adjust transmission range, and detect relative location with respect to other nodes. Destination-aware message transmission is reliable, but destination-unaware message transmission (such as broadcast) may be unreliable. 3 Perturbations: We consider two types of perturbations: dynamic and mobile. The former consists of node joins, leaves, deaths, and state corruptions, and the latter consists of node movements. Perturbation frequency: Node joins, leaves, and state corruptions are unanticipated and thus rare. Node death is predictable (e.g., as a function of its rate of energy dissipation). The probability for a node to move distance d decreases as d increases. For pedagogical reasons, we classify networks into three: in a static network, there are neither dynamic nor mobile nodes; in a dynamic network, there can be dynamic nodes, but no mobile nodes; in a mobile dynamic network, both mobile nodes and dynamic nodes can exist. 2.2. Problem of self-conguration and self-healing Informally, the self-healing conguration problem is to partition a system such that the maximum distance between nodes within a partition is bounded, each partition, called cell, has a unique distinguished node, called head, and the heads are organized into a head graph that is self-healing under perturbations. Nodes other than the head in a cell are called associates, and they communicate with nodes beyond their cell only through the cell head. We dene: Head graph: a tree that is rooted at the big node and consists of all cell heads. Cell radius: the maximum geographic distance between the head of a cell and its associates. Formally, the problem is to design an algorithm that given R (ideal cell radius) where R P Rt , constructs and maintains a set of cells and head graph that meet the following requirements: (a) Each cell is of radius R c, where c is a small value with respect to R, and is a function of node distribution density characterized by Rt . 4 (b) Each node is in at most one cell. 5 (c) A node is in a cell if and only if the node is connected to the big node (i.e., there is a path between the node and the big node, and every two neighboring nodes in the path are within transmission range of each other). 6 Many wireless sensor networks have some central points that control system-wide operations. For example, in a eld of disaster recovery, there is usually a commander for a group of rescue workers that is the central point. Sensor networks are also used to sample environment for sensory information (e.g., temperature) and propagate it to some central points [8]. 3 A network node can detect the strength of a received signal, and calculate its distance from the communicating peer [19]. Thus nodes can calculate relative location among themselves just by local information exchange in a dense network, even without GPS support. Moreover, when a node sends a message to some known node(s), the message transmission can be made reliable through such mechanisms as acknowledgement and retransmission. 2 The primary goal of geography-aware self-conguration is to organize nodes into cells with certain ideal radius R that depends on application scenarios (e.g., data aggregation ratio and node distribution). In practice, a system may not be able to organize itself into cells of exactly the ideal radius R due to discrete node distribution, but the deviation of the actual radius from R still needs to be small enough, and be a function of node distribution density. Since the density of node distribution is characterized by Rt , the deviation should be a function of Rt . 5 By guaranteeing that each node belongs to only one cell, energy can be saved, and the number of cells as well as control complexity is reduced. 6 If a node is able (unable) to communicate with the big node before conguration, it should still be able (unable) to do so after conguration. 4 H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 463 (d) The number of children for each node in the head graph is bounded. 7 (e) The set of cells and the head graph are selfhealing in the presence of dynamic as well as mobile nodes. By self-healing, a system can recover from a perturbed state to its stable state by itself. 8 R 3R IL Fig. 1. Cellular hexagonal structure. 3. Static network 3.1. Concepts Recall that in static networks, nodes are neither dynamic nor mobile. So we solve the problem without considering perturbations (i.e., requirement (e) is ignored). Moreover, we assume there is no Rt -gap in static networks, where an Rt -gap is a circular area of radius Rt with no node inside. Rt gaps are dealt with as a rare perturbation in dynamic networks in Section 4. Let us rst consider an ideal case of the problem: given a plane with a continuous distribution of nodes, we may divide it into cells of equal radius R with minimum overlap between neighboring cells to obtain a cellular hexagonal structure as shown in Fig. 1. In this structure, each cell is a hexagon with the maximum distance between its geometric center and any point in it being R. Let the geometric center of a cell be the head of all points in the cell. 9 Then the distance between the p heads of any two neighboring cells is 3R. And 7 Since network trac ows from children to parents along the head graph until reaching the big node, in order to guarantee load balancing and uniform rate of energy dissipation, the number of children for each node in the head graph should be bounded. 8 In large-scale wireless sensor networks, complex perturbations can drive a network protocol into an arbitrary state, and the network cannot be managed manually. Therefore, selfhealing of a network from arbitrary states is required. This goal is achieved by the technique of self-stabilization [1]. 9 The advantage of a cell head being at the center of the cell is that communication as well as energy eciency is improved, since most communication within a cell is between the cell head and non-head nodes and the distance between the cell head and non-head nodes is minimized if the cell head is at the center of the cell. each cell that is not on the boundary of the plane is surrounded by 6 neighboring cells. Of course, node distribution is not continuous in reality. Thus there may be no node at the geometric center of some cell and it may be impossible to divide the network into exact hexagons as in Fig. 1. But in scenarios where there are multiple nodes in any circular area of radius Rt , we can still approximate this structure by letting some node within Rt distance from the geometric center of a cell be a head, as is allowed in cellular networks [16]. Our solution is achieved in three steps. First, we cover a system with a hexagonal virtual structure as in Fig. 1 such that the big node is located at the geometric center of some cell. Second, for each cell C in the virtual structure, we choose a node k closest to the geometric center of C as a head, and the geometric center of C is called the ideal location (simply denoted as IL hereafter) of k, IL(k); Third, every non-head small node j covered by a cell C becomes an associate and chooses the best (e.g., the closest in a clockwise sense) head as its head, H j. A head together with its associates form a cell, and the IL of the head is also called the IL of the cell. We designate the cell where the big node is as the central cell, and each set of cells of equal minimum distance from the central cell in terms of the number of cells in between as a cell band. If cells in a band are of d-cell distance from the central cell, this band is called a d-band, and the central cell alone forms the 0-band. Next, we discuss a scalable distributed algorithm that implements the above concepts. 3.2. Algorithm Overview. Generally speaking, there are two kinds of clustering methods: bottomup and 464 H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 topdown. In the wireless sensor network literature, only bottomup clustering has been considered. But it cannot guarantee the exact placement and tight radius of clusters [10,12], therefore it does not solve the self-conguration problem as described in this paper. In contrast, the existence of big nodes in wireless sensor networks enables the topdown clustering approach, and our algorithm explores this approach with distributed control. The self-conguration algorithm consists of a one-way diusing computation across the network. The big node H0 initiates the computation by acting as the head for the 0-band cell (i.e., the cell whose IL is at H0 ), and selecting the heads of its neighboring cells in its search region. Then each newly selected head selects the heads of its neighboring cells in its search region, and so on until no new head is selected. Every node that has participated in the computation but not been selected as head becomes an associate and chooses the best head in the system as its head. In the diusing computation, the actual location of selected cell heads may deviate from the IL of the cell due to discrete node distribution. In order to prevent the accumulation of such deviation as the diusing computation propagates far away from the big node, and to guarantee the exact placement as well as tight radius of cells, a ! unique Global Reference GR direction 10 is diffused across the network along with the diusing computation. Moreover, when a head selects its neighboring cell heads, it uses the IL of its cell instead of the actual location of itself (see Fig. 3 for detail). If head i is selected by head j, we say that j is the parent of i, P i, and i is a child of j, CH(j). P H0 is H0 . Then the search region of a head i is p dened as the area that is within 3R 2Rt distance from ILi and between the two directions: L direction (LD) and R direction (RD) with respect to ! direction ILP i; ILi (see Fig. 3). In order to guarantee that every node connected to H0 is covered by the diusing computation, hLD; RDi is chosen as h0; 360i and h60 a; 60 ai for H0 and the p other heads respectively, where a sin1 Rt = 3R. In most cases, a d 1-band cell head is selected by a d-band head (d P 0). But in the case where the speed of the diusing computation differs at dierent directions with respect to H0 , it is also possible that a d 1-band head is selected by a d 2-band head (d P 1). But this does not aect the correctness of GS3 -S, and it is dealt implicitly in the algorithm in Section 4. For simplicity, we do not discuss this any further here. Algorithm modules. The algorithm (GS3 -S) consists of two programs 11 (described in Fig. 2): Big_node for the big node and Small_node for small nodes. Underlying these two programs are modules used for head organization: HEAD_ORG, used to organize heads, and HEAD_ORG_RESP as well as ASSOCIATE_ORG_RESP, used to respond to HEAD_ORG. In HEAD_ORG, a head i (including the big node) organizes neighboring heads in its search region. It rst gets the state (e.g., geographic location) of all the nodes in its search region by local information exchange; then it selects the neighboring heads using the low-level module HEAD_ SELECT; last, it broadcasts the selected set of p heads to nodes within 3R 2Rt distance. In HEAD_SELECT (described in Fig. 3), head i rst calculates the ILs for the neighboring cells in its search region; then for each IL that is not the IL of an existing head, i selects the best node less than Rt away from the IL as a head. In HEAD_ORG_RESP, a head sends its state in response to HEAD_ORG at another head at most p 3R 2Rt away. In ASSOCIATE_ORG_RESP, which is executed by a small node iin response to p HEAD_ORG at a head j at most 3R 2Rt away, if i already has a head, i sets j as its head only when j is better than its current head; if i does not have a head, it sends its state to j, and waits for js decision of whether i is selected as a head, and sets its status accordingly. ! The global reference direction GR can be any one, even though it needs to be consistent across the network. 10 11 We use the notation of Guarded Command [9] to write algorithms. H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 465 Fig. 2. Self-conguration algorithm for static networks (GS3 -S). Fig. 3. Module HEAD_SELECT used in HEAD_ORG. 466 H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 A more detailed description of the individual modules of GS3 -S is given in Appendix A.2. 3.3. Analysis In this subsection, we discuss the invariant, xpoint, self-stabilization, and other properties of algorithm GS3 -S. Notation Physical network: Gp Vp ; Ep , where Vp fj : j is a node in the systemg and Ep fi; j : i 2 Vp ^ j 2 Vp ^ (i and j are within transmission range of each other)}. Head Graph: Gh Vh ; Eh , where Vh fi : i 2 Vp ^ i is a cell headg and Eh fi; j : i 2 Vh ; j 2 CH ig. Head level structure: the set of heads in a system and the geographic relation (such as relative direction and distance) among them. Geographic coverage: the geographic coverage of a node is the circular area on a plane that is centered at the node and has a radius equal to the current transmission range of the node. The geographic coverage of a system is the union of the geographic coverage of all the nodes in a system. Boundary cell: a cell that is on the boundary of the geographic coverage of a system or is a neighbor of an Rt -gap perturbed cell (Section 4). Inner cell: a cell that is not a boundary cell. 3.3.1. Invariant We show the correctness of algorithm GS3 -S using an invariant, i.e., a state predicate that is always true in every system computation. Note that an invariant depends on the granularity of actions. Here we consider each algorithm module (e.g., HEAD_ORG) as an atomic action. The invariant SI for GS3 -S is I1 ^ I2 ^ I3 , where Ij j 1; 2; 3 is individually closed under algorithm actions. The predicates are as follows: I1 Connectivity I1:1 ^ I1:2 , where I1:1 : Every pair of heads that is connected in the head graph Gh is connected in the physical network Gp , and vice versa. I1:2 : The head graph Gh is a tree rooted at the big node H0 . I2 Hexagonal structure I2:1 ^ I2:2 ^ I2:3 ^ I2:4 , where I2:1 : Each inner cell head i has exactly 6 neighboring heads that form a cellular hexagon cenp tered at i and of edge length 3R, with vertices0 location deviation at most Rt . That is, the distance p between neighboring heads is p bounded by 3R 2Rt ; 3R 2Rt . I2:2 : Each boundary cell head has less than 6 neighboring heads, and the distance between p neighboring heads is bounded by 3R p 2Rt ; 3R 2Rt . I2:3 : Each head, except for the big node H0 , has at most 3 children heads. H0 has 6 children heads if it is an inner cell head and at most 5 children heads otherwise. I2:4 : Each cell is of radius (R Rrandom ), where p p Rrandom is bounded by 2Rt = 3; 2Rt = 3. Each associate is no more than (R Rrandom ) away from its head. I3 (Inner cell optimality): Each associate in an inner cell belongs to only one cell and chooses the best (e.g., closest) head as its head. Theorem 1. SI is an invariant of algorithm GS3 -S, where SI I1 ^ I2 ^ I3 . Theorem 1 and I2 imply Corollary 1. The distance between p p neighboring cell heads is bounded by 3R 2Rt ; 3R 2Rt . Corollary 2. The heads and their cells form a cellular hexagonal structure (shown in Fig. 4) with bounded head location deviation Rt . 3.3.2. Fixpoint A xpoint is a set of system states where either no action is enabled or any enabled action does not change any system state we are interested in (e.g., Gh ). It therefore characterizes the result of the self-conguration process. The xpoint SF for GS3 -S is F1 ^ F2 ^ F3 ^ F4 as follows: H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 467 H15 H14 H0 H16 GAP H21 H31 H13 H11 H12 H23 H22 H33 H32 H41 H42 H43 H34 Theorem 4. Starting at an arbitrary state in SI, every computation of GS3 -S reaches a state in SF within time hDb , where Db is the maximum Cartesian distance between the big node and any small node in the system. Theorems 3 and 4 imply Corollary 4. Starting at an arbitrary state, every computation of GS3 -S reaches a state in SF within time hDb . Termination of the diusing computation follows from Corollary 4. 3.3.4. Scalability The self-conguration algorithm GS3 -S is scalable in that it onlyprequires local coordination among nodes within 3R 2Rt distance from one another, and each node maintains the identities (e.g., MAC address) of only a constant number of nodes, 1 for associates and at most 6 for heads, irrespective of network size. Fig. 4. Self-congured cellular hexagonal structure. F1 (Connectivity) and F2 (Hexagonal structure) are the same as I1 and I2 respectively. F3 (Cell optimality): Each associate belongs to only one cell and chooses the best (e.g., closest) head as its head. F4 (Coverage): The set of heads and cells covers all the nodes that are connected with the big node in the physical network Gp . Theorem 2. SF is a fixpoint of algorithm GS3 -S, where SF F1 ^ F2 ^ F3 ^ F4 . Requirements (a), (b), and (d) in the problem statement are satised by Theorems 1 and 2. Theorem 2, F1 and F4 imply Corollary 3. At a state in SF, a node is in a cell if and only if it is connected to the big node in the physical network Gp , and vice versa. Requirement (c) in the problem statement is satised by Corollary 3. 3.3.3. Self-stabilization Theorem 3. Starting at an arbitrary state, every computation of GS3 -S reaches a state in SI within a constant amount of time. 4. Dynamic network 4.1. Concepts Recall that, in dynamic networks, nodes can join, leave (e.g., fail-stop), die, and node state can be corrupted. Excluding node death, which is predictable, the other perturbations are unanticipated and therefore rare. There may also be Rt gaps in node distribution. In this section, we extend GS3 -S to GS3 -D to deal with these perturbations. We propose three mechanisms to deal with node leave and death: head shift, cell shift, and cell abandonment. Self-stabilization easily handles the remaining perturbations, i.e., node joins and state corruptions. Head shift: In dynamic networks, the associates in a cell are divided into two categories: candidate and non-candidate. Associates within Rt distance from the IL of the cell are head candidates, with the rest being non-candidates. In the case where only unanticipated head leaves occur, a new head 468 H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 can be found with high probability from the set of candidates, due to the low probability of all candidates in a cell leaving at the same time. Moreover, the extreme case where all candidates leave can be dealt with by cell shift. Cell shift: In case node death occurs, it is possible that the set of candidates of a cell becomes empty due to energy exhaustion after a long enough period of system operation. In this case, the IL of the cell is changed to another point IL0 within the geographic coverage of the cell such that the corresponding candidate set is non-empty, which is enabled by the fact that energy usually dissipates faster at a head than at an associate. In many envisioned large-scale wireless sensor networks, the trac load across a network is statistically uniform due to in-network processing such as data aggregation [24], which means statistically uniform energy dissipation across the network. Given the fact that statistically there are multiple nodes in any circular area of radius Rt at the beginning of the self-conguration, the lifetime of any two sets of candidates at dierent cells is statistically the same with low deviation, especially for cells close by. Therefore, if the ILs at dierent cells change independently but in the same deterministic manner in terms of the relative position between IL and IL0 , the head graph as well as head level structure will slide as a whole but maintain consistent relative location among cells and heads. Cell abandonment: It is possible albeit rare that a cell is so heavily perturbed that nodes in an area of radius larger than Rt die at the same time. Even though cell shift may be able to change the IL of the cell to IL0 , the distance between IL0 and the ILs of all neighboringp may deviate beyond the cells p range 3R 2Rt ; 3R 2Rt . In this case, we let the cell to be abandoned in the sense that every node in it becomes an associate of one of the neighboring cells. (Note that, because of the sliding of the head level structure resulted from cell shift, a new head can be selected within the abandoned cell later.) 4.2. Algorithm Overview. In GS3 -D, when a head i tries to select the heads for its neighboring cells in its search region, it is possible that there is an Rt -gap at the IL of a neighboring cell C (in this case, C is called an Rt -gap perturbed cell). Given the low probability of this case, i does not select head for cell C, and every node in C becomes an associate of a neighboring cell of C (this is similar to cell abandonment). Due to node join and the sliding of head-level structure, new nodes may show up in the area of C or the IL for C is changed such that there is a node within Rt distance to the IL of C later. By periodically checking this, head i will select the head for C whenever it shows up later. When a node j joins an existing system, it tries to nd the best existing head as its head if there is p any within 3R 2Rt distance. Otherwise, j tries to nd the best associate as its surrogate head if there is any associate within its radio transmission range. If both trials fail, j gives up and retries the above process after a certain amount of time. In p the above process, if a head k within 3R 2Rt distance is executing HEAD_ORG, j responds with ASSOCIATE_ORG_RESP and becomes either a child head or an associate of k. Node leave or deat h is dealt with by intra-cell and inter-cell maintenance. In intra-cell maintenance, head shift enables the highest ranked candidate to become the new head of a cell when the head of the cell fails or proactively becomes an associate when it is resource scarce or a candidate better serves as head; when the candidate set is weak (e.g., empty), cell shift enables the cell head to strengthen the candidate set by selecting a better IL for this cell if any such IL exists (described in Fig. 5); cell abandonment enables nodes within a heavily perturbed cell to become an associate in one of its neighboring cells. In inter-cell maintenance, a parent head and its children heads monitor one another. If a head h leaves and the intra-cell maintenance in its cell fails, the parent of h, P h, tries to recover it rst. If P h fails too, each child of h tries to nd a new parent by themselves; also, a head chooses the neighboring head closest to the big node as its parent; an optional action is for a cell to synchronize its IL with that of its neighboring cells, which aects the tightness of cell radius with respect to R locally within its one-hop neighborhood. H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 469 Fig. 5. Method to change the IL of a cell. Node state corruption is dealt with by sanity checking. Periodically (with low frequency) each head h checks the hexagonal relation with its neighboring heads, according to the system invariant. If the invariant is violated, h asks its neighboring heads to check their state. If all its neighboring heads are valid, the state of h must be corrupted, and h becomes an associate; if some of its neighboring heads are invalid, h cannot decide whether it is valid at this moment, and will check this next time. Algorithm modules. Compared with GS3 -S, GS3 -D (described in Fig. 6) has modied modules for head organization, new modules for node-join, intra-cell maintenance, inter-cell maintenance, and sanity checking. Modified modules for head organization are as follows. In HEAD_ORG, executed by a head i, i maintains not only its children heads set, but also its neighboring heads set and candidates set. In HEAD_SELECT executed by a head i, i does not select head for a cell in its search region if there is an Rt -gap at the IL of the cell. In HEAD_ ORG_RESP, executed by a head i in response to the HEAD_ORG at a head j, i sets j as its parent if j is better (e.g., closer to the big node) than its current parent. Node-join consists of three modules: SMALL_ NODE_BOOT_UP used by a bootup node trying to nd a nearby head or associate; HEAD_ JOIN_RESP and ASSOCIATE_JOIN_RESP used by a head or an associate respectively in response to the SMALL_NODE_BOOT_UP at a nearby bootup node, where it sends its state to the bootup node and listens to its decision to join or not. Intra-cell maintenance consists of four modules: HEAD_INTRA_CELL, CANDIDATE_INTRA_ CELL, ASSOCIATE_INTRA_CELL, and BIG_ SLIDE. In HEAD_INTRA_CELL, executed by a head i, it exchanges heartbeats with associates in its cell. 12 Head i becomes an associate when it is resource scarce, a candidate better serves as head, or the big node is in its cell and resumes its role as head. When the candidate set is weak, i strengthens it using the low-level module STRENGTHEN_CELL that implements the concept of cell shift. If its cell is heavily perturbed such that the hexagonal property its within neighborhood has deviated too much, i abandons its cell and transits to status bootup. In CANDIDATE_INTRA_CELL, executed by a candidate i, i exchanges heartbeats with its head. When its head fails or becomes an associate, i coordinates with other candidates in its cell to elect a new head. When its head transits to status bootup, i transits to status bootup too. When a The frequency of heartbeat exchanges can be tuned to minimize the control overhead and to adapt to such network states as trac and degree of dynamics in a network. 12 470 H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 Fig. 6. Self-conguration algorithm for dynamic networks (GS3 -D). head j that is better than its current head shows up, i sets j as its new head. ASSOCIATE_INTRA_CELL executed by a non-candidate i is almost the same as CANDIDATE_INTRA_CELL except that i transits to status bootup when its head fails. In BIG_SLIDE executed by the big node H0 , H0 keeps the head in the coverage of its original cell as head, and resumes head role when the OIL of its cell becomes the current IL. Inter-cell maintenance is implemented by the module HEAD_INTER_CELL. In HEAD_INTER_CELL, executed by a head i, i exchanges heartbeats with its neighboring cell heads. If a neighboring head j is closer to H0 than its current parent, i sets j as its new parent. If a child j fails H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 471 and the intra-cell maintenance at its cell fails too, i tries to deal with it using HEAD_ORG in the direction of j. If the parent of i (i.e., P i) fails, and the failure is not recovered by the intra-cell maintenance at P is cell or by P is parent, i tries to nd a new parent using low-level module PARENT_SEEK. If i is a boundary cell head, it periodically checks, using HEAD_ORG, whether new nodes show up in the direction where it does not have a child. When a neighboring head, a child, or its parent changes IL, i optionally synchronizes its IL using low-level module SYN_CELL. Sanity checking is implemented by the module SANITY_CHECK whose time complexity is hDc , where Dc is the diameter of a contiguous state-corrupted area. A more detailed description of the individual modules of GS3 -D is given in Appendix A.2. 4.3. Analysis New notation Head neighboring graph: Ghn Vhn ; Ehn , where Vhn Vh of the head graph Gh , and Ehn fi; j: i and j are neighboring heads}. 4.3.1. Invariant The invariant of GS3 -D is the same as that of GS3 -S except for the following (formal descriptions are given in Appendix A.3): In I2:1 and I2:2 , if the hICC; ICP i value (see Fig. 5) of a head i is dierent from that of a neighboring head j, the distance between them is bounded by d 2Rt ; d 2Rt , where d is the distance between ILi and ILj, and is p bounded by 0; 2 3R. In I2:3 , the number of children heads of a head other than the big node is at most 5. In I2:4 , the radius of an inner cell is bounded by 0; 2R Rt if its hICC; ICP i value is dierent from that of any of its neighboring cell; and p jRrandom j is at most 3 1R 2Rt dp for boundary cells, with dp being the diameter of the Rt -gap perturbed area adjoining the boundary cell (dp is 0 if there is no Rt -gap perturbed area). Theorem 5. Let DI be SI (invariant of GS3 -S) with I2 relaxed as above, then DI is an invariant of algorithm GS3 -D. 4.3.2. Fixpoint The xpoint of GS3 -D is the same as that of GS3 -S except for the following: F1:2 is strengthened as: the head graph Gh is a minimum-distance (with respect to the big node H0 ) spanning tree of the head neighboring graph Ghn rooted at H0 , i.e., the path between H0 and a head i in Gh is a shortest path between H0 and i in Ghn . F2:4 is relaxed as: (F2:4 of GS3 -S)^(jRrandom j is at p most 2Rt = 3 dp for boundary cells). Theorem 6. Let DF be SF (fixpoint of GS3 -S) with F1:2 and F2:4 updated as above, then DF is a fixpoint of algorithm GS3 -D. F1 , F2 , F3 , and F4 imply Corollary 5. At a state in DF, Corollaries 1, 2 and 3 hold in dynamic networks. 4.3.3. Self-stabilization Theorem 7. Starting at an arbitrary state, every computation of GS3 -D reaches a state in DI within time ODc , where Dc is the diameter of a contiguous state-corrupted area. Theorem 8. Starting at an arbitrary state in DI, every computation of GS3 -D reaches a state in DF within time OmaxfDd =c1 ; Td g, where Dd is the geographic diameter of the network, c1 is the average speed of message diffusing, and Td is the maximum difference between the lifetime of the candidate sets of two neighboring cells. Theorems 7 and 8 imply Corollary 6. Starting at an arbitrary state, every computation of GS3 -D reaches a state in DF within time OmaxfDd =c1 ; Td g. 472 H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 Requirement (e) in the problem statement is satised by Theorems 7 and 8. 4.3.4. Statistically low deviation from ideal hexagonal structure Of course, Rt -gaps may always exist in networks, and this implies the potential existence of non-ideal cells that are not hexagonal. If the IL of a cell C in the ideal virtual structure (as shown in Fig. 1) lies in an Rt -gap, then every node in the geographic coverage of C joins some neighboring cell C 0 of C in the self-congured cell structure, which makes C 0 assume a shape other than the ideal hexagon. Moreover, due to the existence of Rt -gaps, the radius of such non-ideal cells as C 0 depends on the diameter of the Rt -gap perturbed region (i.e., the set of contiguous Rt -gap perturbed cells such as C) adjoining it. However, as shown below, the number of non-ideal cells and the diameter of Rt -gap perturbed regions are small due to dense node distribution in wireless sensor networks. We assume that nodes are uniformly distributed such that the average number of nodes within any circular area of radius 1 is k. Let m0 be the number of nodes within any circular area of radius 1, then m0 is a Poisson random variable with probability distribution function Pm0 k; k ek kk ; k! and the expected ratio of non-ideal cells in the system is Ge =n which is a. Moreover, the expected diameter of an Rt -gap perturbed region is 2R 1 X k0 k ak 2a 1 a2 R: For example, in a system of radius 1000, if R 100 and k 10, the expected ratio of non-ideal cells as a function of Rt =R is shown in Fig. 7. The ratio is small and converges to 0 quickly as Rt =R increases. The expected diameter of an Rt -gap perturbed region is shown in Fig. 8. The expected diameter is also small and converges to 0 quickly as Rt =R increases. From Figs. 7 and 8, we see that both the expected ratio of non-ideal cells and the expected diameter of an Rt -gap perturbed region are proximately 0 once Rt =R is greater than or equal to 0.02. 4.3.5. Stability and scalability 4.3.5.1. Stable cell structure. In the presence of dynamic nodes, the cell structure is stable in the following senses: (1) In case of node join, the cell structure remains unchanged except for the possibility that the head of some cell is replaced by a new node if the new node better serves as head; (2) Node leave within a cell is masked within the cell by head shift such that the rest of the structure where Pm0 k; k is the probability that m0 k. Then the number of nodes mt in any circular area of radius Rt is a Poisson random variable with probability distribution function Pmt k; k; Rt eRt k 2 R2 kk t ; k! where Pmt k; k; Rt is the probability that mt k. Thus, the probability a that there exists no node in 2 an area of radius Rt is eRt k . Therefore, if there are n cells in the ideal virtual structure, the expected number of non-ideal cells Ge after conguration is n X n k ak 1 ank na k k0 Fig. 7. The expected ratio of non-ideal cells, when k 10. H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 473 5. Mobile dynamic network 5.1. Concepts Recall that, in mobile dynamic networks, not only can nodes be dynamic, they can also move. The probability of movement is inversely related to the distance of movement. In this section, we extend GS3 -D to GS3 -M to deal with node mobility. Conceptually, node mobility is modeled as a correlated node join (at the new location) and leave (from the old location). GS3 -D is easily adapted to deal with the mobility of small nodes (more detailed description is given in Appendix A.2). Thus, we focus on how to deal with big node movements. In mobile dynamic networks, the head graph needs to be maintained such that, in spite of the movement of the big node H0 , it is connected and the path between H0 and every head is of minimum distance. To achieve this, the closest head to H0 in the network acts as the proxy for H0 during the time when H0 is not a head, and the distance from the proxy to H0 is set as 0. Then, just by algorithm GS3 -D, the head graph can be maintained as a minimum distance tree to the proxy, and thus every head is of minimum hops to H0 . Moreover, the impact of the movement of H0 on the head graph is contained within a local range of radius p 3d=2, where d is the distance that H0 moves. 5.2. Algorithm Overview. In mobile dynamic networks, if the big node H0 moves more than Rt away from the IL of its cell, it retreats from the head role, and transits to status big_move where it moves around and maintains a proxy-relationship to its proxy. Whenever H0 moves within Rt distance to the IL of a cell later, it replaces the existing head of the cell to act as head. Algorithm modules. Compared with GS3 -D, GS3 -M (described in Fig. 9) has a new module BIG_MOVE, modied modules for big node, intra-cell maintenance, and inter-cell maintenance. (A more detailed description is given in Appendix A.2.) Fig. 8. The expected diameter of an Rt -gap perturbed region, when k 10. remains unchanged; (3) In case of node death such that candidate sets of many cells die, independent cell shift at each cell enables the head level structure to slide as a whole but maintain consistent relative location among cells and heads, which lengthens the lifetime of the structure by a factor of Xnc , where nc is the number of nodes in a cell; (4) In case intra-cell maintenance fails, inter-cell maintenance enables a system to stabilize to its stable state within a one-way message diusing time across the perturbed area; (5) In case of state corruption, sanity checking ensures that the erroneous state is corrected by checking the hexagonal properties among heads. 4.3.5.2. Scalable self-healing. The self-healing of the head graph and hexagonal structure is scalable in three senses: (1) local self-healing enables the system to stabilize from a perturbed state to its stable state in a one-way message diusing time across the perturbed area through local coordip nation among nodes within 3R 2Rt distance from one another; (2) local knowledge enables each node to maintain the identities of only a constant p number of nodes within 3R 2Rt distance, irrespective of network size; (3) the head graph and hexagonal structure can tolerate multiple simultaneous perturbations due to the locality property of GS3 -D. 474 H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 Fig. 9. Self-conguration algorithm for dynamic mobile networks (GS3 -M). 5.3. Analysis 5.3.1. Invariant and xpoint The invariant as well as xpoint of GS3 -D is preserved in GS3 -M, except for one more xpoint predicate F5 for GS3 -M as follows: F5 (Proxy optimality): The big node chooses the closest neighboring head as its proxy. Theorem 9. Let MI be DI (invariant of GS3 -D), then MI is an invariant of algorithm GS3 -M. Theorem 10. Let MF be DF (fixpoint of GS3 D)^F5 , then MF is a fixpoint of algorithm GS3 -M. 5.3.2. Self-stabilization Theorem 11. When the big node moves from point A to B on a plane, its impact on the head graph Gh is contained within circular area centered at point C pa and of radius 3d=2, where C is the midpoint of segment AB and d is the cartesian distance between A and B. Theorem 12. Starting at an arbitrary state, every computation of GS3 -M reaches a state in MI within time ODc , where Dc is the diameter of a contiguous state-corrupted area. Theorem 13. Starting at an arbitrary state in MI, every computation of GS3 -M reaches a state in MF within time OmaxfDd =c1 g; Td g, where Dd is the diameter of the network, c1 is the average speed of message diffusing, and Td is the maximum difference between the lifetime of the candidate sets of two neighboring cells. Theorems 12 and 13 imply Corollary 7. Starting at an arbitrary state, every computation of GS3 -M reaches a state in MF within time OmaxfDd =c1 ; Td g. 5.3.3. System stability In mobile dynamic networks, node mobility is dealt as a special kind of node dynamics. So the stability property of the head level structure and head graph in dynamic networks is preserved in mobile dynamic networks. The invariant and xpoint of GS3 -M only depend on local coordination, which enables them to tolerate a high degree of node mobility because local coordination converges fast. 6. Related work In [10], a distributed algorithm LEACH is proposed for clustering in wireless sensor networks. But, as mentioned by its authors, LEACH guarantees neither the placement nor the number of clusters in a system, and perturbations are dealt with by globally repeating the clustering operation, which is not scalable. In [3], another algorithm for clustering is designed, but it only considers logical radius of clusters instead of their geographic radius, which can reduce wireless transmission eciency because of large geographical overlap between clusters [8]. The radius dif- H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 475 ference among clusters can be large too. Moreover, its healing procedure is not local, because the healing there depends on multiple rounds of message diusing across the whole system, instead of a one-way diusing just within perturbed areas as in our algorithm. And, given a certain density of node distribution, the geographic radius ensured by our algorithm implicitly guarantees a bound on the logical radius of clusters, but not vice versa. In [12], an access-based clustering algorithm is presented that focuses on the stability of clusters, but the algorithm does not consider the size of clusters and it requires GPS at every node. In [16], a cellular hexagonal structure is described for cellular networks, but it is pre-congured and there is no ability of self-healing. In [6,18], dierent algorithms for topology control in networks are developed, but they are either centralized or semi-centralized, and thus are not scalable. In [15,17,20], algorithms for topology control in wireless sensor networks for energy saving are developed. In [22], adaptive delity control and routing algorithms are developed for wireless sensor networks. Our self-conguration algorithm provides a stable network infrastructure for tasks such as routing or power control, and thus is orthogonal to these works. In [14], self-stabilizing algorithms are proposed that mend faults locally in time, but they are not local in space. [1] proposes self-stabilizing algorithms for tree maintenance that is local in space but not local in time. The self-stabilization in GS3 is local both in time and in space. 7. Conclusion In this paper, we have presented an algorithm (GS3 ) for self-conguring a network into cells of tightly bounded geographic radius and low overlap between cells. GS3 enables network nodes to organize themselves into a cellular hexagonal structure with a set of proved properties. The structure congured by GS3 is self-healing, thus GS3 is applicable to both static networks and networks with dynamic as well as mobile nodes. Moreover, the self-healing is local, which makes GS3 applicable to networks with a high degree of dynamics and mobility. GS3 is also scalable due to its properties of local knowledge, local self-healing, and local coordination. GS3 yields a stable structure even in the presence of dynamic and mobile nodes, which enables a more stable as well as available infrastructure for other network services such as routing, power control, and QoS. GS3 is readily extended to the following cases: (1) in a mobile dynamic network where there are multiple big nodes, GS3 enables each small node to choose the best (e.g., closest) big node to communicate, by letting each small node maintain the current big node it chooses. (2) Due to its locality property, GS3 is also applicable to the case where nodes are not deployed on an exact 2D plane, but nodes within each neighborhood (e.g., a circular area of radius R) are locally planar. (3) GS3 is also applicable to the case where the ideal cell radius R is larger than the maximum transmission range of small nodes, because R does not aect the correctness of the algorithm. In the paper, we have discussed local self-healing in GS3 , but we have not studied in detail how to deal with dierent degrees of node dynamics and mobility. This is a subject of future work. Moreover, the tightness of the bound on cluster radius in GS3 reects the density of node distribution in a network, and we plan to study how to incorporate other properties such as network trac characteristics in the bound. GS3 takes advantage of such model properties of wireless sensor networks as dense node distribution, relative location information among nodes, and the existence of big nodes to solve the problem of scalable self-conguration and selfhealing. We believe these model properties can be exploited in a richer class of problems in wireless sensor networks and deserve further exploration. Appendix A In the appendix, we present the complexity and convergence properties of GS3 , detailed description of modules in GS3 -S, GS3 -D and GS3 -M, and the invariant as well as xpoint of GS3 -D. 476 H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 A.1. Complexity and convergence properties of GS3 Information maintained at each node Factor of lengthened lifetime of head level structure by intra-cell & inter-cell maintenance Convergence time under perturbations Convergence time to the stable state in static networks Convergence time from an arbitrary state to the stable state in dynamic/ mobile networks hlog n Xnc ODp hDb ODd n, the number of nodes in a system; nc , the number of nodes in a cell; Dp , the diameter of a contiguous perturbed area; Db , maxfdistH0 ; i: i is a small node, and distH0 ; i is the cartesian distance between the big node H0 and i}; Dd , the diameter of the system, i.e., maxfdisti; j: i and j are small nodes, and disti; j is the cartesian distance between i and j}. A.2. Description of modules in GS3 -S, GS3 -D and GS3 -M In this subsection, we give more detailed description of some algorithm modules in GS3 -S, GS3 -D and GS3 -M as follows. The complete program is presented in [23]. A.2.1. Algorithm GS3 -S (a) HEAD_ORG LD; RD; R; Rt : There are four arguments to HEAD_ORG: (1) L direction (LD) and R direction (RD) with respect to direction ! P i; i (see Fig. 3). LD and RD determine the search region of a head in the process of organizing its neighboring cell heads. (2) ideal radius R and radius tolerance Rt . The function of HEAD_ORG executed by a head i is for head i to organize the neighboring cell heads in its search region. HEAD_ORG executed by head i works as follows: rst, head i reserves wirelessp channel and broadcasts message org within 3R 2Rt distance; second, head i listens to replies (message org_reply or head_org_reply) p from nodes no more than 3R 2Rt away and within (LD, RD) search region for certain amount of time and calculates the set of small nodes and head nodes (SmallNodes and ExistingHeads respectively) in the search region; Third, using the low level module HEAD_SELECT (see Fig. 3), head i selects neighboring cell heads HeadSet; fourth, head pbroadcasts message hHeadSeti to i nodes within 3R 2Rt distance, revokes channel reservation, and transits to status work. In HEAD_SELECT executed by head i, head i needs to select neighboring cell heads in its search region. It achieves this in two steps: rst, it calculates the ideal locations for those possible neighboring cell heads; second, for each possible neighboring cell, if there is any small node that is in the Rt -radius circular area centered by the ideal location of the cell, select the highest ranked such node as the cell head. The algorithm is described in Fig. 3 and its time complexity is hjSmallNodesj. (b) HEAD_ORG_RESP: When a head node i (at status head or work, and not including the big node) receives a message org from a head j, it replies with a message head_org_reply, and waits until head js HEAD_ORG process nishes (by overhearing its message hHeadSeti). No status transition in this module. (c) ASSOCIATE_ORG_RESP: When a small node i is at status bootup or associate, it will execute ASSOCIATE_ORG_RESP process upon receiving a message org from a head j. If node i is at status bootup or status associate but head j is better (such as closer, with higher remaining energy) than its current head H i, node i replies a message org_reply to head j. Then waits for head js message hHeadSeti If node i is selected as a cell head, it sets head j as its parent head, and transits to status head; otherwise, node i sets head j as its head, and transits to status associate. On the other hand, if node i fails to hear the message hHeadSeti from head j after a certain amount of time, it transits back to its status at the beginning of the process (i.e., bootup or associate). A.2.2. Algorithm GS3 -D A.2.2.1. Intra-cell maintenance (a) HEAD_INTRA_CELL: In HEAD_INTRA_CELL executed by a head i, head i executes the following actions: ii(i) It periodically broadcasts message head_intra_ alive within its cell, and updates its candidate H. Zhang, A. Arora / Computer Networks 43 (2003) 459480 477 i(ii) (iii) (iv) i(v) (vi) as well as associate set according to replies from the associates in its cell. If head i receives a message associate_alive or associate_retreat from an associate, it needs to update candidate as well as associate set properly. If i is resource scarce or a candidate better serves as head, i broadcast a message head_ret...

Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

CSU Fullerton - WIN - 133
Student #Test 1 /5002234701743.502064001719035155019404218301202792901729.506064501746.5031424013904258301344.505527101943.506063701403128399704055501304019001943024144016240546250170134630130207669862004270901445
UT Arlington - OPMA - 4302
CHAPTER 4LOGISTICS/SUPPLY CHAIN CUSTOMER SERVICE 6 (a) This company is fortunate to be able to estimate the sales level that can be achieved at various levels of distribution service. Because of this, the company should seek to maximize the differen
UT Arlington - EE - 5347
The Wilkinson Power DividerReference: E. J. Wilkinson, An N-Way Hybrid Power Divider, IRE Trans. on Microwave Theory and Techniques, Vol. MTT-8, pp. 116 - 118, Jan. 1960. The divider must isolate the output lines and be matched. Isolation is shown b
UT Arlington - L - 5342
Sm e iconductor De Mode vice ling &C haracte rization Le cture27Profe Ronald L. Carte ssor r ronc@ du uta.e S pring 2001L27 April 24 1MOS FET De vice S tructreFig. 4-1, M& A*L27 April 242n-channe e l nh. circuit m l odeRG C gs RB C bsG
UC Davis - LOG - 0708
28538F4B Huge News To Impact CYTV China YouTV Corp. Symbol: CYTV We have already seen CYTV's market impact before climbing to over $2.00 with news. Press Release: China YouTV's CnBoo Web Site Ranks No.1 on Microsoft Live Search Engine CnBoo Traffic I
Virginia Tech - ETD - 06042004
Appendix HTable H.13. Tracer study calculations used to determine HRTmean values. HRTmean Calculations: 1. Determine the conductivity: = S* Kwhere = conductivity (mMhos/cm) S = conductance (mMhos) K = cell constant (mMhos/cm) = 1.0 therefore c
Virginia Tech - AOE - 3034
AOE 3034 Final Exam Review GuideThis list supplements the Review Guides for the two earlier exams.Block Diagrams Elementary blocks, summing points, branch points Transfer function as an operator on its input signal Classical negative feedback s
Virginia Tech - CS - 5714
FORMATIVE EVALUATION OF USER INTERACTION: DURING EVALUATION SESSIONChapter 10 (c)TOPICS: Generating and collecting data Quantitative techniques Qualitative techniques Observational data collection techniquesCopyright 2001 H. Rex Hartson and
UT Arlington - MATH - 3330
Matrices and Linear AlgebraSolutions to Exam 1Must show your work! No work no credit even with correct answers! Problem 1. (15 pts) Determine which of the following matrices below are in the reduced row-echelon form, and perform necessary eliminati
Michigan - PHYSICS - 151
Physics 151 November 1, 2002 Exam #2 Instructions:Name_ Lab Section Number_There are 20 short answer questions (worth 1 point each), and 3 work problems (worth a total of 30 points). You must answer all questions to receive full credit. You must
Maryland - BMGT - 834
BMGT 834, HW9: due Nov. 1, 2007 For each of the following problems, (a) model the system as a CTMC by defining the state of the system and providing the transition rate diagram, (b) determine when the system is stable, (c) give the stationary distrib
Michigan - IOE - 424
Reminders for the next IOE 424 class session: 1. We will meet in the usual room (1680 IOE). Please be on time (or let me know well in advance if you will be late) 2. Your assignment is to have a team presentation ready; this will be a short, informal
Maryland - ENEE - 313
ENEE 313, Spr. 09 Midterm I Preparation1. Be able to solve the quizzes and homework problems. 2. From the book, read: (a) Chapter 1, Sect. 1.1 and 1.2 (b) Chapter 2, all sections (c) Chapter 3, all sections except 3.1.5, 3.4.5 (d) Chapter 4, section
UC Davis - ECS - 271
CSU Fullerton - IPC - 144
/* file2.c */FILE I/O example of file I/O use EOF#include <stdio.h> #include <conio.h> main() { FILE int char double #1 define the variables of type pointer that will hold the addresses on disk of the files you are using. #2 through the function f
Maryland - PLSC - 400
THE CELL Part 1: Structural Aspects (Chapter 1 and selections from 15) Organization of molecules into structures The cell is basic unit of organization of life: Robert Hooke and cork cells, 1665 Cells organized into basic plant structures (e.g. tissu
Oregon State - CH - 121
Chemistry 121 Worksheet 4 1. Name: (a) (e) (i) (m) Ca(NO3)2 (NH4)2S KBr CuCl (b) (f) (j) (n) AlN Na2S MgSO4 (k) CuCl2Oregon State University Dr. Richard L Nafshun (c) Al2O3 (g) NH4OH NiCl2 (l) (o) Fe2O3 (c) (f) (i) (l) (d) (h) PbS2 (p) NaCN CaO FeO
Maryland - BSOS - 3443
GEOGRAPHYCollege of Behavioral and Social SciencesBSOS Expectations of StudentsAs a University of Maryland student, you are an informed and active participant in your education. Therefore, the College of Behavioral and Social Sciences expects that
Maryland - MEDIA - 3443
GEOGRAPHYCollege of Behavioral and Social SciencesBSOS Expectations of StudentsAs a University of Maryland student, you are an informed and active participant in your education. Therefore, the College of Behavioral and Social Sciences expects that
UT Arlington - EE - 5350
IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS-II: ANALOG AND DIGITAL SIGNAL PROCESSING, VOL. 50, NO. 9, SEPTEMBER 2003497On The Eigenfilter Design Method and Its Applications: A TutorialAndre Tkacenko, Student Member, IEEE, P. P. Vaidyanathan, Fello
St. Olaf - WINTERSPOR - 200809
2008-09 St. Olaf College Men and Womens Swimming and Diving ScheduleDATE Sat., Oct. 4 Sat.,Nov. 1 Sat., Nov. 8 Fri., Nov. 14 Sat., Nov. 15 Fri.-Sat., Dec. 5-6 Sat., Dec. 6 Event/Opponent Intraquad & ALUMNI Northfield Relays Northfield Colleges Quad
Toledo - PHYS - 2130
Chapter 12 Equilibrium & ElasticityIf there is a net force, an object will experience a linear acceleration. (period, end of story!) If there is a net torque, an object will experience an angular acceleration. (period, end of story!) How can we keep
Toledo - ECO - 328
Maryland - CMSC - 426
Motion -II Structure from Motion Review of Motion Review of camera models Optical FlowStructure-from-Motion Determining the 3-D structure of the world, and/or the motion of a camera using a sequence of images taken by a moving camera. Equiv
Pittsburgh - CS - 2710
CS 2710 Foundations of AI Lecture 20Decision making in the presence of uncertaintyMilos Hauskrecht milos@cs.pitt.edu 5329 Sennott SquareCS 2710 Foundations of AIDecision-making in the presence of uncertainty Many real-world problems require t
Pittsburgh - ECON - 1200
Economics 1200Fall 2008Homework # 2Write your answers to the following questions on separate sheets of paper. Your answers are due in class on Thursday, October 2. Late homeworks are not accepted. 1. Consider the two-round home bargaining game d
Virginia Tech - MATH - 1224
1 QUIZ IProblem 1.Problem 2.2 QUIZ IProblem 3.Problem 4.3 QUIZ IProblem 5.Problem 6.4 QUIZ IProblem 7.Problem 8.5 QUIZ IProblem 9.
Toledo - CET - 1000
UNIVERSITY OF TOLEDO COLLEGE OF ENGINEERING ENGINEERING TECHNOLOGY DEPT.CET-1000 Introduction to CET Balsa Bridge Final Project RulesREQUIREMENTSProject teams of 2 or 3 students will be formed in order to build a bridge out of only balsa wood an
Toledo - CET - 2030
UNIVERSITY OF TOLEDO THE COLLEGE OF ENGINEERING ENGINEERING TECHNOLOGY DEPT.CET-2030 Construction GraphicsCo/Prerequisites: Credit: Instructor: CET-1210 Surveying CET-1100 Architectural Graphics 3 Credit Hours N.V. Kissoff, P.E., Ph.D. 530-3165 FA
Toledo - GEPL - 4110
Los Angeles County Central American Population Census 2000Francisco Arz UP 206 Winter 06 2/14/06
East Los Angeles College - SC - 204
Bank runsNorthern Rock Countrywide Lehman BrothersGermany's 'dumbest' bank criticized for Lehman deal .Macro crisis: Great Depression, Russia 1996, Turkey 2001.Model (Diamond and Dybvig (1983)There are N depositors. We can normalize the size
Toledo - CMHS - 5130
The University of Toledo College of Health and Human Services Department of Counseling and Mental Health Services CMHS 5/7130 Group Counseling Tuesdays & Thursdays 6:20 10:30 P.M. HH 3318 Instructor Contact Information Kathleen Salyers, Ph.D. Phone:
Pittsburgh - MATH - 083
d YdQjef@fuauaQctEci} rsur0smg | d z grgicbjgqyciIyv aQQrffu gircbu UgqQyu tciihi bf b u d g d gu d l b f d hj d l u um u m u r)kEr@rknl | z 0 r0UQ} kl yjf rCnl yfQ u t u ` u | u m z ut u kEl | du l sE)rt | dum l u IrE)k | u
Pittsburgh - MATH - 118033
Linear Algebra 1 Quiz 8 7/17/3Name: Show your work. Signature:Question 1Let A, B, C and D be the following vectors in R3 : A = [1, 3, -2], B = [2, 5, -7], C = [4, 9, -17], D = [-1, -1, 8].Let V = Span(A, B, C, D). Find a basis for V. What is th
SUNY Albany - DR - 372754
A Strategic Assessment of Cuba7510 HISTORICAL BACKGROUND10.1 SOCIAL HISTORYCuba is a multiracial society with a population of mainly Spanish and African origins. The largest organized religion is the Roman Catholic Church. Santeria, a blend o
Virginia Tech - AOE - 3104
HW Set 2 Solutions2 February 20001a) Since the altimeter is calibrated for the standard atmosphere we know the static pressure supplied to the instrument is that at 7,000 m in a standard atmosphere. Using the atmosphere.m procedure from HW Set 1,
Concordia Chicago - TIE - 547
EVALUATE A WEB SITE CHECKLISTNational- Louis University; Professor Craig A. CunninghamURL of site:_Type of Site: _AUTHORSH IP/SPONSORSHI P 1. Is author /manager clearly stated? 2. Is information source in site? 3. Is feedback to author /manager
Pittsburgh - ENGR - 1201
ECE 1201, Fall 2008 Quiz #6 Closed book/notes 20 minutes. Total 10 points+ 2 bonus points November 10, 2008Name _ 1. The circuit drawn below (Figure 1) has been used in Experiment #9 to study the BJT at common emitter configuration. Assume at this
Concordia Chicago - AST - 305
Set 5: Classical E&M and Plasma ProcessesMaxwell Equations Classical E&M defined by the Maxwell Equations (fields sourced by matter) and the Lorentz force (matter moved by fields) In cgs (gaussian) units D = 4, B = 0,1 D 4 1 B , H= + j. E=- c
Allan Hancock College - CHEM - 1109
CHEM19092003-N-7November 2003 4 Trichloroacetic acid, CCl3COOH, a corrosive acid used to precipitate proteins, has a Ka of 0.16 M. What is the pH of a 0.050 M solution of trichloroacetic acid? Hint: If ax2 + bx + c = 0, then x =b b2 4ac 2a
Concordia Chicago - AST - 242
Astro 242The Physics of Galaxies and the Universe: Lecture Notes Wayne HuSyllabus Text: An Introduction to Modern Astrophysics 2nd Ed., Carroll and Ostlie First class Wed Jan 9. Reading period Mar 13-14 Jan 7: Milky Way Galaxy Jan 14: Nature o
Oregon State - SR - 1049
2002 Annual ReportTable 1. Annual precipitation at Klamath Falls, OR, recorded by the U.S. Weather Bureau (1884-1948), National Weather Service (NOAA) (1949-2002), and Klamath Experiment Station (KES) (1984-2002). Precipitation Year in Year in Year
Oregon State - SR - 1056
Table 1. Annual precipitation at Klamath Falls, OR, recorded by the U.S. Weather Bureau (1884-1948), National Weather Service (NOAA) (1949-1996), and Klamath Experiment Station (KES) (1984-2003). Precipitation Year in Year in Year in NOAA 11.94 15.19
Maryland - CMSC - 250
eSTbT # 6p % f ' H C C( C B B o( 0 u u 3 s 3 6iQve( 1o A gQ wGz% 6v2 # # # s 4"j 1Vs 4"j p % f ' H u C C B o o( 0 s( 3 g{QUe( 1o A 1Q lvvTz% u A 5 ' g8)' F "% f ' H uC C s(
Maryland - CMSC - 250
g Tf ' H % uQ jC o( o B C o 3 m C lgE 3 VeDEB 11i(j S ( 4 Q 6Q k 2 Q 1 h2 xC A Q 4 j o( 0 n n3 jC C sUu k 2 0 1A sT"2 l3 E 3 sd1Q i~ 12 4Q k 2 0 1A "sT2 l3 E 3 VgDE"1( p | B p C( Q jC ( h o( 3 C p | B p C( Q jC
Concordia Chicago - V - 003
T HEORY OF C OMPUTING, Volume 3 (2007), pp. 159177 http:/theoryofcomputing.orgRemoving Degeneracy May Require a Large Dimension IncreaseJi Matouek ri s Petr Skovro nReceived: March 12, 2007; published: September 26, 2007.Abstract: Many geometr
Concordia Chicago - V - 002
T HEORY OF C OMPUTING, Volume 2 (2006), pp. 121135 http:/theoryofcomputing.orgSeparation of Multilinear Circuit and Formula SizeRan RazReceived: September 30, 2005; revised: March 4, 2006; published: May 2, 2006.Abstract: An arithmetic circuit
Concordia Chicago - V - 002
T HEORY OF C OMPUTING, Volume 2 (2006), pp. 249266 http:/theoryofcomputing.orgCorrelation Clustering with a Fixed Number of ClustersIoannis Giotis Venkatesan GuruswamiReceived: October 18, 2005; published: October 22, 2006.Abstract: We continue
Concordia Chicago - V - 001
T HEORY OF C OMPUTING, Volume 1 (2005), pp. 119148 http:/theoryofcomputing.orgQuery Efficient PCPs with Perfect CompletenessJohan H stad a Subhash KhotReceived: October 21, 2004; revised: August 23, 2005; published: September 28, 2005.Abstract:
Concordia Chicago - V - 002
T HEORY OF C OMPUTING, Volume 2 (2006), pp. 5364 http:/theoryofcomputing.orgAn Improved Approximation Ratio for the Covering Steiner ProblemAnupam Gupta Aravind SrinivasanReceived: August 4, 2005; published: February 17, 2006.Abstract: In the C
Concordia Chicago - V - 003
T HEORY OF C OMPUTING, Volume 3 (2007), pp. 179195 http:/theoryofcomputing.orgApproximation Algorithms and Online Mechanisms for Item PricingMaria-Florina Balcan Avrim BlumReceived: March 29, 2007; published: October 3, 2007.Abstract: We presen
Concordia Chicago - STAT - 200
MAKING COMPARISONS Suppose some study turns out this way:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Toledo - CS - 228
| R% { } R | R I! @%{ @%{ @%{ %{ @%{ @%{ R%{ ~ $%Y { D% ~ e XDW# ~ $%XYY$YwX ~ ~ 4%XV$iY ~ 0%e YY6$%8k%YYY% ~ Y%XYD%D XW$Y $0
Toledo - CS - 148
| } )@F' C"Q Q| (8XA` ! 6 ) ! 1 ) } 1) D) ! | X Q(F' w F8@"C~ C( 1 ) ) ! ) 6 ) ) } ! | Q| A99F0' w u5@c90@(X"T5@E 6 6 ! 1 ' 1' ' ) 6 ) ! } 9$F090@"GQ9 TQCw6 1
Toledo - CS - 148
|h a vg }t)Ajvd h wvp t i |h p v ipw g tv `xvd x`D`h tRxlsyADx)hp hw |h { hwv h A`3h X3p3xRg` b vv h wvvp h {g w | xRuk #%xAsA!UAAhnh b e e h w h v v h w v rpv r p | h f ew g vw v v h #DzxAuk%x`s`5}vD3A3xA% Xh b vv h v
Oregon State - CH - 130
Chemistry 130 Worksheet 3bOregon State University Dr. Richard NafshunBelow (Figure 1) is the structure of cortisone, a synthetic steroid hormone that is rapidly converted to hydrocortisone in the body. Hydrocortisone affects the metabolism of car
Toledo - CSC - 310
d E u b f ii T f u R H b d br b h P T R m9 wSc"xh SGSjX%(qpSv IGc1i k d v R T b d f V RX b h u d b f P R R f X h y h U4YouGGInoHgG!YYou%GtGYY1R P d X h k d P b d d f h H dX b h d hX V hX R 5wBYmSk %5f xWS g"S5f xYqi YY`SH hi X Rz u
Allan Hancock College - CS - 3204
Comp3204Software Engineering ProjectProject application form (comp3204_form1) Due 2 Aug 2002 Friday 3pm Group Name: _ (4-6 alphabetic characters) Coordinator for the group: _ Contact email address: _ Contact phone number: _ Project Preference Ord
Allan Hancock College - NETS - 2150
TransportProtocolsLesson12 NETS2150/2850http:/www.ug.cs.usyd.edu.au/~nets2150/School of Information Technologies1LessonOutcomeunderstandprinciplesbehindtransportlayer services: multiplexing/demultiplexing reliabledatatransfer flowcontr
Toledo - PHY - 315
PHY315S Radiation in Planetary Atmospheres Lecture 17 - Web Notes Clouds How Clouds are Formed How Cloud Drops Grow Why We Care About Clouds Clouds and Pollution Cloud TypesLecture 17, Page 1PHY315S - Radiation in Planetary AtmospheresThe p
North-West Uni. - MDO - 738
Inequality and Growth: Why Differential Fertility MattersDavid de la Croix FNRS, IRES & CORE September 2002 Matthias Doepke UCLAAbstract We develop a new theoretical link between inequality and growth. In our model, fertility and education decisio