550 likes | 563 Views
Explore the architecture, algorithms, and applications of self-configurable systems in sensor networks. Learn about data discovery, data dissemination, power efficiency, and fault tolerance.
E N D
Architecture for Building Self-Configurable Systems Presented By: Raquel S. Whittlesey-Harris
Contents • Background • Sensor Network Applications • Architecture • A Self-Organizing Algorithm • References
Background • Sensor Networks with various applications • E.g., Ad-hoc distributed processing networks providing information about the physical world • Autonomous with a central node of control • Require low power consumption and communicate at a rate measured in kilobits per second
Background • Policy decisions and Assumptions for architecture • Heterogeneous nodes • Architecture should provide a common framework • Data Discovery vs. Data Dissemination • Two orthogonal components • Nodes that do data discovery • Nodes that do data dissemination
Background • Memory and Power Constraints • All nodes have memory and power constraints • Attempt to reduce state stored at every node • Employ energy aware routing • Application Specific Infrastructure Requirements • Infrastructure components is dependent on application • Provide a wide variety of features to allow the application to make use of what is required
Background • Mobility/Immobility of notes • Data discovery nodes are mobile • Data dissemination nodes are stationary • Other Architectures • Multi-functional nodes • Cost more to implement • routing in highly specialized nodes wasting energy • Storage of mass information • Data-Centric • Critical nodes need to keep large amounts of state information • Cut nodes can cause the data to be lost
Background • Self-Configurable systems require one or more of, • Naming/Addressing System • Routing • Broadcasting • Multicasting
Background • Berkley argues it is necessary to build a routing and/or broadcasting infrastructure for sensor applications that are self-configurable • Routing • Required to pass information to sensors with specific functionality • Unique addresses required • Broadcast • Required to pass information to every sensor in a network
Background • Scalability • Every node has a O(log n) bit unique identifier • Reduction of State and Localized Operations: • Maintain O(log n) + O(|N(v)|) state information at each node • N - # of nodes • V – current node • |N(v)| - # of neighboring nodes of v in network
Background • Power Efficiency and Reliable Paths • Keeps track of the power requirements at every node to compute reliable and power efficient paths • Hierarchical Routing Architecture • Nodes reorder themselves in a hierarchical structure • Size of routing table is reduced to O(log n) at every node
Background • Fault-Tolerant Broadcast Trees • Local Markov Loops (LML) technique is used to achieve fault tolerance • Reduce Frequency of Updates • Define discrete power levels to reduce the number of dynamic cost updates that need to be performed in the network
Background • Terms • Sensor Motes • Sensor node that performs data discovery • Sink Node • Node with high processing capabilities and high capacity for data storage • Specialized Sensor • Sensor that performs a data discovery operation • Router Sensor • Router sensor – collects and transmits to neighbors
Background • High-End System • Sink node • 2-Connected Graph • Topology in which there are two edge disjoint paths from every node to every other node • Broadcast Graph • Subset of edges in the network used for broadcasting data • Directed Acyclic Graph (DAG) • Graph with directed edges and no cycles
Sensor Network Applications • Classifying sensor network applications • Important Factors • Size of the system & number of sensors used • Determine effort needed to configure the system • Maximum distance of the sensors to the wired infrastructure • Determines the amount of intelligence required at a sensor for routing to specific high processing nodes • Distribution of the sensor nodes • Deterministic – administrator controls placement of sensor nodes and user performs remedial operations in case of faults • Non-deterministic – fault-tolerance level depends on number of sensors deployed
Sensor Network Applications • Three classifications of sensor network applications • Non-propagating systems • Sensor nodes are one hop to wired infrastructure • Wired infrastructure is the main connecting component • Nodes connected to the wired infrastructure route information to the end system
Sensor Network Applications • Deterministic routing systems • Sensor nodes route through a few hops to reach a wired infrastructure • Routes to the wired infrastructure are deterministic • Number of nodes in this system may be restricted
Sensor Network Applications • Self-configurable systems • Sensor nodes need to self-organize into a network • Many are non-deterministic (smaller) • Deterministic e.g. Security and Parking Lot networks • Fault tolerance achieved through re-configuring the system in the presence of node and link failures
Sensor Network Applications • Classification of sensor network applications • Aggregating • Data aggregating and passed on • E.g. weather applications • Self-configuring Sensor networks should include the functionality of performing aggregation • Non-Aggregating • Independent data • E.g. parking-lot systems
Architecture • Components • Sensors • Specialized • Identifies itself with a class • Can communicate with other sensors either of its own class or with some other class • Can be Mobile
Architecture • Routing • Form the backbone of the sensor network • Immobile • Performs data-dissemination • Advantages • Separation of dissemination and discovery • Shorter network hops – reduces power consumption • Cost decreased – routing sensors are not specialized and may cost less • Large amounts of routers can increase the fault tolerance of the system
Architecture • Ratio of routers to specialized nodes (R/S) is assumed to be 1 • Other components • Sink Nodes • Can connect to WAN • Can activate specific actuators (through messaging) and broadcast important messages into the sensor net. • Aggregator Nodes • Can be introduced in router nodes or specialized nodes • Assume in all router nodes
Architecture • Infrastructure Components • Unique address for all nodes • Routing information between two nodes • Fault-Tolerant broadcasting infrastructure • Broadcasting information within a certain radius • Multicasting information to specialized nodes • Self-reorganization in the face of node failures and network partitions
Architecture • Scenarios • Security Sensors • Unique Addresses to pass critical information to that sensor • Routing Architecture to send messages to sink nodes • Multicasting infrastructure to coordinate actions of specialized sensors of a particular class • Broadcast infrastructure to alert all nodes within a radius to prepare to perform important actions
Architecture • Parking-Lot Networks • Unique Addressing to isolate a particular node controlling a particular spot • Routing Infrastructure for routing messages • Broadcast Infrastructure not generally required buy may be utilized
Architecture • Addressing Infrastructure • Non-addressable nodes • In Self-configurable systems this is an aggregating system • Local Unique Addressing • IP not appropriate – global unique addressing • MAC Layer • An alternative solution • Benefit not yet established
Architecture • Routing Infrastructure • Specialized nodes must be adjacent to a router • Transmits all messages to adjacent router with a message header • Indicates which node(s) to transmit the message to • Router acts as the proxy for the specialized node(s)
Architecture • Broadcast and Multicasting Infrastructure • Sensor networks are more data centric • Require broadcasting and multicasting of data to all or groups of sensor nodes • Fault Tolerant Broadcast tree is created • Changes developing Local Markov Loops (LML) • Directed Acyclic Graphs (DAG) are used to support fault tolerance in paths
Algorithm • Participants • Router sensors self-configure • Specialized sensors keep track of the nearest router sensors • Phases • Discovery Phase • Organization Phase • Maintenance Phase • Self-Reorganization Phase
Algorithm • Discovery Phase • Each node discovers its set of neighbors and fixes its maximum radius of data transmission • Considerations • Nodes should not have too many neighbors • Specialized nodes n(x) =1 • Router nodes, n(x) > 1 • Where n(x) is the number of neighbors for node x • Maximum bound on transmission radius
Algorithm • Discovery Phase Steps • Each node x picks a small radius r and broadcasts a Hello message around r indicating router or special node • Every node within r replies back with a I am Here message and their coordinates (GPS) • If # of replies < minimum threshold n(x), x broadcasts Hello over radius kr, for k > 1 • Repeat until # of nodes N that replies satisfies n(x) N N(x) where n(x) and N(x) denote the min and max number of neighbors that can be admitted by x • Note that special nodes are only connected to routers
Algorithm – Discovery Hello 1 2 3 4 5
Algorithm – Disc. Hello Relay 2 1,2 1 3 5 3,4 4 5
Algorithm • Organization Phase • Network is organized • Nodes are aggregated into groups • Groups are aggregated into larger groups to form a hierarchy of groups which is height balanced • Each node is allocated an address based on its position in the hierarchy • A routing table of O(log n) is computed for each node • A broadcast tree and graph spanning all nodes is constructed • Graph is converted into a DAG based on the source node in the network
Algorithm • Organization Phase Steps • Form hierarchy with help of group formation • Routers form small basic groups with neighbors found • Group size is restricted to 8 • Each node belongs to one basic group • Each node maintains the distance and the next hop for reaching every other node in the group • If a node is unable to join a group • It joins a one member group with address 000 • A boundary node is a node that connects to a node in another group • is set to the height of the basic group (3)
Algorithm • Steps to form hierarchy • Each Group G receives an advertisement from adjacent groups through it’s boundary nodes • Broadcast throughout the group • Contains size of group (# of address bits) • Each node conclude on an adjacent group G’ • If G’ decides to join G, the groups merge • Otherwise G selects the next best group H • Continue until all groups merge into one • At any point, If a group is heavily imbalanced, then the group is reorganized with an increased value of new = old + 1 • Theorem 1: Height of the hierarchy of the network will be O(log n) when n is the number of nodes in the graph
Algorithm • Perform group reorganization if necessary • If height is unbalanced at multiple levels, reorganize • Group is broken into sub-groups • Regroup without affecting the state of the rest of the network • Some routing tales of nearby nodes will have to change addresses of neighbors • Generate addresses for all nodes • Each node in group is allocated a 3-bit address
Algorithm • Generate routing table at every node • (X1,…Xm) is the m-bit address of a router node x • X maintains the least cost and next hop in the shortest path to the following destinations x’1, (x1, x’2),…,(x1,…,xm-1,x’m) • E.G., Let m = 4, x address = 0011 • Groups 1, 01, 000, and 0010 are maintained in the routing table for x • O(m) routing table at each node
Algorithm • Generate broadcast trees and graphs within group • Merge whenever groups are aggregated • G1 and G2 have addresses of size m and n respectively • Assume m n, > 0 • If m-n , G1 G2 G, all nodes in G1 add 0 in front of their addresses, and all nodes in G2 add 1 in front of their addresses • If m-n > , • Select a border node x with address (x1,…xm) • Subgroup Hi is formed from the set of all nodes in G1,with the first i bits = (x1, x2, …, xi) for i m-n –1 • If Hm-n-1 has enough free address space for accommodating G2 within its subgroup (Hm-n-1 has a sub-branch in its hierarchy which G2 can be added without affecting the height of Hm-n-1 G2)
Algorithm • If Hm-n-1 G2 is not possible, • Try the same merge with Hi where I is m-n-2 to 1 • If not possible, then merge G1 and G2 and mark as height imbalanced • Broadcast Trees and Graphs • Broadcast graphs are intended to provide multiple paths from the source • Adding fault tolerance to the system • Converted to DAG from the source to remove any loops • Links are indicated as primary and secondary • Broadcasts are sent directly across broadcast links • Secondary links follow a 3-way handshake mechanism
Algorithm • Broadcast Tree and Graph formation is accomplished by, • After basic group formation, a broadcast tree and graph are constructed • Primary nodes form the broadcast tree • After group merge (G H), two low cost edges (e1, e2) are selected that connect G and H • Let B(G), B(H), T(G), T(H) be broadcast graphs and trees of G and H • Let cost(e1) < cost(e2) • Let P = (G H) • B(P) = B(G) B(H) U (e1, e2) • T(P) = T(G) t(H) U (e1)
Algorithm • Theorem 2: The power consumed for broadcasting messages using this approach is (n-1)E + nE’/2 where E is the mean power consumed for sending a request/ACK short message along one hop and n is the number of nodes in the network • The SPIN protocol consumes (n-1)E + 2eE’, where e is the number of edges in the graph • (n-1)E is the lower bound for broadcasting
Algorithm • E.g., Sensors separated by 10 meters • It takes 150nJ per bit transmitted • 170nJ per bit received • 1 request/ACK requiring 8 bytes • E’ = 20480nJ, in a network of 1000 nodes with average connectivity of 12 • Berkley’s algorithm requires an extra 10mJ • SPIN requires an extra 240mJ
Algorithm • Maintenance Phase • Active monitoring • Each node keeps track of its stored energy and constantly sends I Am Alive message to neighbors every 30 seconds • If a node does not receive a reply in 6 consecutive intervals • Sets the link as dead and reorganizes • Passive monitoring • A node sends an activate message to its neighbors only on demand • Used to save energy • Are you Alive? • Alive nodes respond with a ACK
Algorithm • Each node updates its routing table with information on the next hop in the least power consuming path and shortest delay path to the groups as dictated by the algorithm • Routing Metrics • Delay is not considered important in sensor networks • Perhaps not true in cases of security and maybe even weather patterns
Algorithm • Goal: Keep network alive for a maximum amount of time • Two Greedy metrics suggested • Always route along the path that has the minimum energy consumption per bit of information transmitted • Always transmit along the path that has the maximum capacity measured in terms of bits that can be transmitted • Capacity of the link between nodes A and B is given by, min(E(A)/E’,E(B)/E”), where E(A) and E(B) are the energies at A and B respectively and E’ and E” are the energy consumed by A and B transmitting from A to B.
Algorithm • Maintaining Routing Tables • Nodes inform their neighbors of their routing tables and their energy levels to their neighboring nodes (cost metric) • Count to infinity problem can be avoided by not using the next hop entry for updating the routing table entry for a particular destination group • Maintaining Broadcast Infrastructure • Must detect node failures in advance by monitoring power requirements of a node • Only failures detected are those do to power failure
Algorithm • Fault tolerant broadcast trees and graphs are maintained using LML • Node that is going to fail is a leaf node • Therefore, does not have any nodes to broadcast to • If node u is going to fail • Consider all edges (u,v) • Construct a LML by selecting a random edge (w,x) s.t. the edge (u,v) is part of a local loop formed by adding the edge (w,x) to the tree • Remove (u,v) from the tree • New tree with degree of u reduced by 1 • Continue until u becomes the leaf node