310 likes | 394 Views
GS3: Scalable Self-configuration and Self-healing in Wireless Networks. BY Hongwei Zhang and Anish Arora. GS3 , a distributed, scalable, self-sonfiguration and self-healing algorithm for multi-hop wireless networks.
E N D
GS3: Scalable Self-configuration andSelf-healing in Wireless Networks BY Hongwei Zhang and Anish Arora
GS3 , a distributed, scalable, self-sonfiguration and self-healing algorithm for multi-hop wireless networks. • Enables network nodes to configure themselves into Cellular hexagonal structure. • Structure self healing under various perturbations.
Scalability in Large scale multi-hop wireless networks achieved by divide and conquer strategy. • Clustering can be used for this purpose. • In this model, the clustering criteria, Geographic radius , is taken into consideration which many previous works didn’t. (If not many factors will be implicitly neglected, like energy dissipated, efficiency of local coordination functions,quality of communications and so on)
Contributions of the Paper. Present the GS3 algorithm. Each cell has a radius which is tightly bounded with respect to a given value R(ideal cluster radius), and no overlapping with other cells. Each cell has a head(a node in the cell). All the heads form a Head graph, whose root is the big node which is one of the heads of the cell. Algorithm makes a self healing system.(ie. Stable in presence of various perturbations).
What is Self healing? • Masking of unanticipated node leaves within a cell. • In case of a number of deaths at the same time, a shift • of the cell helps in maintaining relative locations. • When big node moves a distance d, only a part of graph • within sqrt(3)*d/2 radius ?? from the root needs to be • changed. • GS3 also scalable in 3 respects. • 1.Local knowledge. • 2.Local self healing • 3.Local coordinations.
Local Knowledge allows node to keep minimum information about its neighbours. • Local self healing guarantees that all perturbations are dealt with in a tightly bounded region around the perturbed area. • Only local coordinations is needed in both the self configuration and self healing processes.
SYSTEM MODEL • -- System nodes -- Perturbations. System nodes:- The set of nodes which form the cellular hexagonal structure. (Each has a certain wireless range). Node Distribution assumption is that there are multiple nodes in each circular area of radius Rt (radius tolerance) Wireless Transmission assumption Nodes adjust the transmission range .
PERTURBATIONS • 2 types , Dynamic and mobile. • Dynamic consists of leaves, joins, deaths and state corruptions?? • Mobile consists of node movements. Probability Frequency Assumption: Joins, leaves and death are unanticipated while node death is predictable. The probability that a node moves distance d is proportional to 1/d The 3 types of networks that exists are static, dynamic and Mobile
Self configuration and self healing: • Each cell has a unique head and rest associates. • All the heads in the structure form the head graph. • The associates communicate to nodes in other cells Only through the big node. The self healing configuration problem is to partition the system so that max distance b/w nodes in a partition are bounded.
An algorithm which forms the ideal Cellular Hexagonal Structure. Given a radius R (ideal cell radius) , the hexagonal structure and the head graph should be made which takes care of all the perturbations we talked about.
Requirements for the construction of the cells and the head graph • Each cell is of radius R+c/R-c where c is a small bounded value with respect to R, and is a function of Rt • Each node is at most one cell. • A node is in a cell if and only if it is connected to the big node • The set of cells and the head graph are self-healing in the presence of dynamic as well as mobile nodes. By self-healing, a system can recover from a perturbed tate to its stable state by itself.
STATIC NETWORKS • The nodes are neither dynamic nor mobile and so we don’t have to consider perturbations. • Only the plane has to be divided into cellular hexagonal structure which meet the requirements a,b and c. • The geometric center of the the cell is called the Ideal Location (IL) • The concept of Rt (radius tolerance) is introduced. It is required to to select a head for a cell , when we don’t find a node in the exact IL of the cell. • Every associates are allowed to select their own heads. (Essentially it should be the best head)
Cell bands. We designate cell with the big node as the central cell. • Each set of cells of equal minimum distance from the central cells , is called a cell band..
GS-3 S Algorithm. Always the Big node starts the computation. It selects the child heads and they continue it. The search area for the big node is 0..360° and that of the child nodes is -60º-€ to 60 +€ where € is sin-1 Rt/sqrt(3) R. A node j which is not a head becomes an associate and it selects its best head. Algorithm Modules: There are 2 programs, for Big node and for small nodes. Underlying these are programs for head organisation
HEAD_ORG – to organise heads • HEAD_ORG _RESPOND AND ASSOCIATE_ORG_RESPOND to respond to head_org • Head_org :: A head I gets the states of the nodes in the search region, selects the heads and sends the sets of heads to cells with in sqrt(3) R + 2Rt. • In Head_Org_Resp a head sends its state to another head which is at most sqrt(3) R + 2Rt. The associates in response to a Head_Org at a head at most sqrt(3) R + 2Rt away.
Analysis: • Analysis of GS-3 S done by discussing invariant, fix point and self-stabilisation. Invariant:- Used for checking the corectness of the algorithm Invariant, a state predicate which is always true in every system computation. In this case the invariants are I1, I2 and I3 I1 which is connectivity, is I1.1 and I1.2 Which states that all heads which are connected to the Gh are also connected to the Gp. Also Gh is rooted at the big node H0
I2 which is hexagonal structure, is I2.1, I2.2, I2.3 and I2.4. They state that each inner cell has exactly 6 neighbours and each boundary cell has less than 6 neighbouring cells. The distance of heads of the boundary cells is bounded by [sqrt(3) R –2 Rt, sqrt(3) R –2 Rt] ????? I2.3 says that the big node has 6 children if it is a inner cell and 5 children if it is boundary cell. I2.4 ??? Says that each cell is of a radius R + Rrandom where |R random| is at most 2 Rt/sqrt(3)
I3 which is Cell Optimality says that each associate in an inner cell belongs to only one cell and chooses the best head as its head. • FIXPOINTS: • States that either no actions is enabled or the enables actions does not change any systems we are interested in . SF = F1, F2, F3 and F4. • F1 and F2 same as that of invariant. • F3 is almost same as Invariants except that I3 is for just inner cells where F3 is for all the cells. • F4 is coverage , set of heads and cells cover all the visible nodes in a system.
Self stabilisation: 2 Theorems are used … which states that , from any states , every computation of GS3-S reaches a state where SI holds with in a constant amount of time. Scalability : GS-3 S is scalable in that it requires local coordination among nodes with in sqrt(3) R + 2Rt distance from one another. ???
DYNAMIC NETWORKS…. • Perturbations takes place in Dynamic Networks.. • Also there may be the presence of Rt- gaps ?? in dynamic networks. • 3 mechanisms for node leave and death.. i.Head shift, ii.cell shift and iii.Cell abandonment.. • The other perturbations are taken care by self stabilization.
Head Shift: • Dynamic networks associates divided into candidates and non candidates. Candidates , the nodes which are within Rt distance from the IL(for heads), the rest non candidates.. If a head leave occurs a new head is found from the candidates list.. • If all the candidates leaves then cell shift takes care of the problem. Cell Shift: Takes place when all the candidates in the list gets exhausted. IL changed to IL1 so that a new candidate list can be got
Also the head graph as well as the head level structure slide as a whole Cell Abandonment: Incase of highly perturbed situation, when IL is changed to IL1 then may be the distance b/w the heads of the neighbouring cells will be more than the standard. In this case the cells is abandoned and cells join another cell.
GS-3 D Algorithm: • Head selection almost same as GS-3 S.. But the possibility of Rt Gap is there. • In presence of Rt Gap no head for that cell is selected. • All nodes become associates for the neighbouring nodes. If later a node comes in Rt region?? It is selected as the head .(periodic checking) • ---------------------------------------------- • When node join takes place, it tries to find the best head for its head with in sqrt(3) R+2Rt ???… If not it tries to find the best associate as its surrogate head??.. • If fails then waits and tries after some time.. • If a head is executing Head_Org , it responds with Associate_Org_Respond..
Node leave and death dealt with with intra cell and inter cell maintenance. • When head leaves then the highest ranked candidate becomes the head. (intra cell maintenance) • In inter cell maintenance, the parent head monitors the child heads. When intra cell maintenance fails parents tries to recover it… • It the parent fails then the children finds other parents … Node state corruption dealt by sanity checking.. (Periodic) The hexagonal relation is checked with the neighbouring heads. If violated then if the neighbours are OK then it is corrupted and becomes an associate..
Algorithm Modules: • Modified head organization modules \ • New modules for node join • For intra and inter cell maintenance • For Sanity checking Head Organisation Module: While Head Org, not only data of children head, kept, also of candidates set and neighbouring sets. No Head selected if there is a Rt Gap. A node selected a new head, if the new head which is executing the Head_Org, is better than the first head. Node Join: Small_Node_Bootup, Head_Join_Resp and Asociative_Join_Resp. Small_Node_Bootup used by a bootup node ??? , to find a nearyby head or associate.
Head_Join_Resp and Associate_Join_Resp executed by head or associate in response to the Bootup call. Intra Cell Maintanence: Head_Intra_Cell, Candidate_Intra_Cell, Associate_Intra_Cell and Big_Slide: Head_Intra_Cell executed by a Head , exchanges heartbeats?? with the associates of its cell. Head becomes a Associate if resource scarce. Candidate_Intra_Cell : Heartbeats executed between the head and if head fails , then a new candidate is selected. If head transits to bootup?? Then candidate also does.
Associate_Intra_Cell: When Head fails then the associate changes to bootup… BIG_SLIDE: Executed by Big node. Keeps the head in its original coverage, and resume head role when OIL becomes the IL. Inter-cell maintenance: Implemented by module Head_Inter_Cell: Basically used to find the parent of the head so that the path to H0 is closer.
Sanity_Checking: Implemented as in Static networks. Analysis: Invariant: Same as that of GS3-S , except that the concept of Tuple <ICC,ICP>comes into picture, the max number of child heads of nodes other that Big nodes become 5 and radius of an inner cell depend upon the tuple <ICC,ICP>. Fixpoint: Same as GS3-S except that F1.2 is strengthened and F2.4 is relaxed.
F1.2 In F1.2, Gh is a minimum distance spanning tree of Ghn rooted at H0. F2.4 , in F2.4 Rrandom is 2R/sqrt(3) + Dp, where Dp is diameter of gap perturbed area adjoining the boundary cell. Self-Stabilization: Every computation reaches a state where DI holds with in time O(Dc), where Dc is diameter of state corrupted area. From every state where DI holds, every computation reaches a state where DF holds with in time O(max{(Dd/c1),Td}) c1=avg speed of message diffusion Td= max difference b/w lifetime of two neighbouring candidates
MOBILE DYNAMIC NETWORKS: Mobility can be considered as a correlated node join and leave. Inspite of big node movement, the path between H0 and other heads should be minimum. They use a proxy head. Also the impact of the movement affects only sqrt(3)d/2, d is the distance where H0 moves. Algorithm: If H0 moves away from the IL then , the proxy node comes in to picture and it retreats from the position of the Head node. When H0 moves with in IL of any other cell later, it replaces the existing head and then becomes H0 again?????
Algo modules: New big_move, modified big node, intra cell and inter cell maintenance. Analysis: The same invariant and Fixedpoint as GS3-D except for a new predicate F5which state that the big node H0 chooses the best neighboring node as it’s proxy.