Topology Management in Ad hoc and Sensor Networks The need for Topology Management – Energy/Power consumption – Interference – Throughput – Connectivity Mobility-Adaptive Protocols for Managing Large Ad hoc Networks [Basagni+ 2001] Motivation for Backbone Architecture essential for management of large ad hoc networks helps generate the minimum possible overhead for construction and maintenance of the backbone network can provide efficient solution for mobility and node/link failures in very large ad hoc networks Mobility-Adaptive Protocols for Managing Large Ad hoc Networks Proposed B-Protocol Description B-Protocol • Also known as backbone protocols • Sets up and maintains a connected network (B-network) • B-network convey the time-sensitive network management information • from every node in the network with minor overhead and in a timely manner • Comprises two major tasks: (a) B-nodes selection (b) B-links establishment Nodes that are not selected as B-nodes are termed F- nodes that belong to the flat network Mobility-Adaptive Protocols for Managing Large Ad hoc Networks B-nodes Selection Executed at each node based on a node’s own weight Weight is computed based on what is most critical to that node for the specific network application The highest weight of a node is more suitable to be a B-node A node knows Its own identifier (ID) and weight Ids, weights and roles (B-node or F-node) of one-hop neighbors Once a node b determines its role as B-node, all its neighbors may become the F-nodes served under b unless they have decided to join another node B-nodes selection is adaptive to node mobility and changes in its local status Mobility-Adaptive Protocols for Managing Large Ad hoc Networks B-nodes Selection Illustrative Example: 6(1) 2(3) 4(9) 1(6) 5(8) 7(5) 3(2) 8(1) Numbers represent node IDs and numbers within parentheses represent the node weights Mobility-Adaptive Protocols for Managing Large Ad hoc Networks B-nodes Selection Illustrative Example: 6(1) 2(3) 4(9) B-node 1(6) 7(5) 3(2) 5(8) B-node 8(1) B-node Mobility-Adaptive Protocols for Managing Large Ad hoc Networks B-links Establishment Determines the inter-B-nodes links to be established in order for the network to be connected Two types of B-links: Physical – when a direct link between B-nodes at most three hops away can be established without involving intermediate F-nodes (via power control or directional antenna) Virtual – when a direct link between B-nodes at most three hops away cannot be established. In this case, virtual link is implemented among two B-nodes by a corresponding physical path with at most three links The rules stated follow the theorem proven in [Chlamtac ’96] Mobility-Adaptive Protocols for Managing Large Ad hoc Networks B-links Establishment Theorem 1 [Chlamtac ’96]: Given a set B of network nodes such that no two of them are neighbors and every other node has a link to a node in B, then a connected backbone is guaranteed to arise if each node in B establishes links to all other nodes in B that are at most three hops away. Moreover, these links are all needed for the deterministic guarantee in the worst case, in the sense that if any of them is left out then it is not true anymore that the arising backbone is connected for any underlying flat network. Mobility-Adaptive Protocols for Managing Large Ad hoc Networks Properties of B-protocol 1. Each node in flat network knows only its one-hop neighbors. This induces the minimum possible overhead 2. B-link establishment is run at each B-node only with no knowledge of the surrounding B-nodes. Again, this induces the minimum overhead 3. Every B-node serves a number of F-nodes each of which is at most three-hops away. B-node selection protocol guarantees that all the F- nodes are served by only one neighboring B-node 4. There are no two B-nodes that are neighbors in the flat network. This guarantees that B-nodes are evenly distributed in the network 5. B-node selection is based on the node’s current status (weight) Mobility-Adaptive Protocols for Managing Large Ad hoc Networks Properties of B-protocol 6. The B-network is always connected provided that the underlying flat network is connected 7. B-protocols takes into account different technologies and mechanisms that can be used to link the B-nodes in the network. Two types of Blinks are provided; namely physical and virtual links. Physical links are used when there is a direct link between B-nodes at most three hops away and virtual links are used when there is a direct link cannot be established Mobility-Adaptive Protocols for Managing Large Ad hoc Networks Simulation Environment A simulator used for an ad hoc network of nodes ranges 100 - 1000 Nodes can freely move around in a rectangular region (a grid) Node movements are discretized to grid units of 1 meter A node determines its direction randomly by choosing between its current direction (with 75% probability) and uniformly among all other directions (with 25% probability) When a node hits a grid boundary, it bounces back into the region with an angle determined by the incoming direction Fixed transmission range of each node (250 m) and the grid size have been chosen to obtain a good network connectivity Each packet contains the time-stamped, node identified weight of the sending node. All packets are sent for the one-hop neighbors only Mobility-Adaptive Protocols for Managing Large Ad hoc Networks Simulation Results k is the total number of Fnodes a B-node can serve at any point in time Three cases: k < n (where n is total number of nodes in network) k<4 k<8 Figure 1: Number of B-nodes (% w.r.t the number of the network nodes) Mobility-Adaptive Protocols for Managing Large Ad hoc Networks Simulation Results k is the total number of Fnodes a B-node can serve at any point in time Three cases: k < n (where n is total number of nodes in network) k<4 k<8 Figure 2: Number of B-links (%) when a physical link between any two B-nodes can be established directly. Mobility-Adaptive Protocols for Managing Large Ad hoc Networks Simulation Results k is the total number of Fnodes a B-node can serve at any point in time Three cases: k < n (where n is total number of nodes in network) k<4 k<8 Figure 3: Number of B-links (%) when a link between B-nodes is implemented by a physical path with at most three hops away SPAN: An Energy-Efficient Coordination Algorithm for Topology Maintenance in Ad hoc Wireless Networks [Chen+ 2002] – SPAN is a power saving technique for multi-hop ad hoc networks that reduces energy consumption with the consideration of maintaining the capacity or connectivity of the network – It is distributed and randomized algorithm in which the nodes make local decisions on whether to sleep or join to the backbone – Each node decides based on an estimate of how many neighbors will benefit from it being awake and the energy available to it – Improvement in the system lifetime increases along with the ratio of idle-to-sleep energy consumptions – Non-coordinators remain in power saving mode and periodically check to see if they should wake up and become coordinators SPAN – A good power saving technique for ad hoc networks should have the following: 1. Allow as many as nodes to turn their radios off most of the time 2. Forward packets between any source and destination with the minimum possible delay than if all nodes were awake 3. Distributed algorithm where having each node making local decisions 4. Backbone formed by the awake nodes should provide close to total capacity as the original networks such that congestion can be avoided 5. Do not make many assumptions about the link layer’s facilities for sleeping and work with any link layer that provides sleeping and periodic polling 6. Inter-operate correctly with any routing algorithm being used – SPAN fulfills all the above requirements – Each node makes periodic local decisions to sleep or stay awake as a coordinator and participate in the forwarding backbone topology SPAN – In order to keep the same level of capacity of the original network, a node may volunteer to become a coordinator if it figures out from the local information gathering that two of its neighbors cannot communicate directly or through one or two existing coordinators – In order to keep the number of coordinators low and rotate this role amongst all nodes, each node delays sending message about its desire to become a coordinator by a random time interval – The decision is based on two factors: 1. the remaining battery energy 2. the number of pairs of neighbors it can connect together – This allows SPAN to maintain capacity-preserving backbone at any time with the nodes consuming about the same level of energy – SPAN also scales well with the number of nodes SPAN SPAN Design – The goals of SPAN includes: 1. Ensures enough coordinators to be elected such that each node is in radio range of at least one coordinator 2. Rotates coordinators to ensure that all nodes provides equal support to achieve global connectivity 3. Increases the network lifetime, preserves the capacity with minimum latency by minimizing the number of elected coordinators 4. Coordinators are elected based on local available information – SPAN is proactive such that each node periodically broadcasts HELLO messages which contains the node’s status (coordinator or not), its current coordinators, and its current neighbors – From these HELLO messages, each node keeps tracks of a list of the node’s neighbors and coordinators, and for each neighbor, a list of its neighbors and coordinators SPAN Coordinator Announcement – Each non-coordinator node periodically determines whether it should become a coordinator or not – The coordinator eligibility rules ensures that the network is covered with sufficient number of coordinators Coordinator Eligibility Rule A non-coordinator node should become a coordinator if it figures out from the local information gathering that two of its neighbors cannot communicate directly or through one or two existing coordinators – If many nodes are willing to become coordinators, SPAN solves this contention by delaying coordinator announcement with a randomized backoff delay – Each node selects a delay value and delays sending HELLO message indicating the desire to become coordinator for that amount of time – At the end of the delay, the node reevaluates its eligibility based on the HELLO messages received from neighbors and if it is still eligible, it makes announcement SPAN Coordinator Announcement – At the end of the delay, the node reevaluates its eligibility based on the HELLO messages received from neighbors and if it is still eligible, it makes announcement – Consider a case where all the nodes have the same level of energy which means that only topology is considered in the decision of becoming a coordinator Eq. 1 – Consider a case where the nodes have unequal energy left Eq. 2 Er = energy remaining at node Em = maximum amount of energy Ci = number of new connections through node i Ni = number of neighbors for node i T = round-trip delay for packet R = random number in [0, 1] SPAN Coordinator Announcement – In Eq. 1, if nodes with high Ci become coordinators, total number of coordinators needed would be less to ensure that every node in the network is covered – Therefore, the nodes with a high Ci values should volunteer for coordinator position quicker than those with smaller Ci – In Eq. 2, the node with large value of (Er/Em) is expected to volunteer quicker to become a coordinator than the nodes with smaller ratio in order to assure the fairness SPAN Coordinator Withdrawal – Each node periodically checks whether it should withdraw as a coordinator – A node withdraws if all of its neighbors can reach each other directly or with one or more coordinators – For fairness, after some period of time, a coordinator withdraws and declares itself as a tentative coordinator if all neighbors can reach each other via other neighbors, even if these are not coordinators (allows neighbors to act as coordinators) – A tentative coordinator is still used to forward packets and described coordinator announcement algorithm treats tentative coordinators as non-coordinator nodes – A coordinator nodes gives its neighbors the opportunity to become coordinators by declaring itself as tentative coordinator – A coordinator maintains its position as tentative for WT time, where WT is the maximum value of Eq. 2 which is W T = 3 x Ni x T SPAN Coordinator Withdrawal – If the coordinator has not withdrawn within WT time period, it clears its tentative bit – In order to prevent node to drain its battery completely, the amount time a node acts as a coordinator before turning on its tentative bit is proportional to the amount of energy it has, indicated as (Er/Em) SPAN Simulation Results ASCENT: Adaptive Self-Configuring sEnsor Networks Topologies [Cerpa+ 2002] – In ASCENT, the nodes coordinate to exploit the redundancy provided by high density to extend the overall system lifetime – Nodes achieve self-configuration to establish a topology that provides communication and sensing coverage under energy constraints – Each node examines its connectivity and adapts its participation in the multi-hop network topology based on the operating region – The node Signals when it detects high message loss, requesting additional nodes to join the network to continue relaying messages Reduces its duty cycle if high messages losses are detected due to collisions Probes local communication environment and only joins to the multi-hop routing infrastructure if it is useful ASCENT – Sensor nodes do local processing to reduce communication and energy costs – Challenges arises from the increased level of dynamics (systems and environmental) – One of the most important challenge arises from energy constraints imposed by unattended systems These systems must be long-lived and operate without manual intervention They need to self-configure and adapt to environmental dynamics and some terrain conditions may result regions with non-uniform communication density These issues can be addressed by deploying redundant nodes and designing algorithms to use redundancy to extend the system lifetime Scaling challenges are associated with spatial coverage and robustness Central vs. Distributed – When energy is constraint and environment is dynamic, distributed approaches are preferable and practical ASCENT – Scalable wireless sensor networks require to avoid large amounts of data being transmitted over long distances – ASCENT applies well-known techniques from MAC layer protocols to the problem of distributed topology formation – Imagine a habitat monitoring sensor network that is deployed in remote forest – The deployed systems must confer with the following conditions – Ad-hoc deployment Energy constraints Unattended operation under dynamics If we use too few nodes initially: the distance between neighboring nodes will be too far packet loss rate may increase energy required to transmit over larger distances may be prohibitive ASCENT – If we use all deployed nodes simultaneously: system will expand unnecessary energy nodes interfere with each other by congesting the channel – ASCENT does not use localized distributed algorithm to find a single solution – Adaptive self-configuration using localized is suited to problem spaces which have a vast number of possible solutions (in this case, large solution spaces means dense node deployment) – ASCENT has the following two assumptions: Carrier Sense Multiple Access (CSMA) MAC protocol Possibilities for resource contention when too many neighboring nodes participate in the multi-hop network Reacts when links have high packet loss Does not detect or repair network partitions and assumes that there is enough node density to connect the entire region ASCENT – Two essential contributions of ASCENT design are: 1. Adaptive techniques that allow applications to configure the topology based on the needs while saving energy to extend network lifetime. The techniques do not assume a specific model or fairness, degree of connectivity, or capacity required 2. Self-configuring techniques that react to operating conditions are measured locally. It does not assume any specific radio propagation model, geographical distribution of nodes, or routing mechanisms used ASCENT Design – Adaptively elects active nodes from all the nodes – Active nodes stay awake always and participate in routing while the other nodes remain passive and periodically checks if they should become active – Initially, only some nodes are active while other are passively listening to packets but not transmitting ASCENT ASCENT Design – When source starts transmitting data packets towards the sink, the sink gets high message loss from the source due to limited radio range, called communication hole – The receiver gets high packet loss due to poor connectivity with the sender – Sink start sending help messages to neighbors that are in listen-only mode, called passive neighbors, to join the network Help Messages Data Message Passive Neighbor Source (a) Communication Hole Sink Active Neighbor ASCENT ASCENT Design – When a neighbor receive a help message, it decides to join the network or not – If the node joins, it becomes an active neighbor and signals the existence of a new active neighbor to other passive neighbors by sending a neighbor announcement message – It continues until the number of active nodes stabilizes on a certain value and the cycle stops – When the process is completed, the newly joined nodes participate in the data delivery process from source to sink more reliably – The process will be repeated in the case of network event (e.g., node failure) or environmental effect (e.g., new obstacle) causes message loss Neighbor Announcements Messages Data Message Sink Source Source Sink (b) Self-configuration transition (c) Final State ASCENT ASCENT State Transactions Test neighbors < NT and • loss > LT • loss < LT & help after Tt Active neighbors > NT (high ID for ties); or loss > loss T0 after Tp Passive after Ts NT: neighbor threshold LT: loss threshold T?: state timer values (p: passive, s: sleep, t: test) DL: Data loss rate Sleep ASCENT ASCENT State Transactions – Initially, a random timer turns on the nodes to avoid synchronization – Node initializes to test state: Sends data and routing control messages Sets up a timer, Tt and sends neighbor announcement messages Moves into passive state if the conditions are met before Tt expires When Tt expires, it enters to active state – The reasoning behind the test state is to probe the network to decide whether the addition of a new node would improve connectivity – On entering the passive state, node: Sets up a timer Tp and when Tp expires, it enters to sleep state If before Tp expires, it enters to test state only if the conditions are met Nodes in passive state can hear all packets transmitted, but no routing or data packets are forwarded in this state since this is listen-only state ASCENT ASCENT State Transactions – The reasoning behind the passive state is to gather information about the state of the network without causing interference with other nodes – Nodes in passive and test states update the number of active neighbors and data loss rates – In passive states, the nodes still consume energy since the radio is on – The nodes in sleep state turns the radio off, sets up timer Ts and goes to sleep – When Ts expires, the nodes moves into passive state – A node in the active state continuous to forward data and routing packets until it runs out of energy ASCENT ASCENT Parameters Tuning – ASCENT has many parameters and the choices are left to the applications such as a particular application may trade energy savings for greater sensing coverage Neighbor Threshold (NT): Determines the average connectivity if the network Tradeoff between energy consumed and/or level of interference (packet loss) vs. desired sensing coverage Loss Threshold (LT): Determines the maximum amount of data loss an application can tolerate before requesting help to improve network connectivity This value is highly application dependent Test timer (Tt), Passive timer (Tp), Sleep timer (Ts): Determines the maximum time a node remains in test, passive, sleep states Tradeoff between power consumption vs. decision quality References [Basagni+ 2001] S. Basagni, D. Turgut, and S.K. Das, Mobility-Adaptive Protocols for Managing Large Ad hoc Networks, Proceedings of IEEE International Conference on Communications (ICC), Helsinki, Finland, June 11-14, 2001, pp. 1539-1543. [Chen+ 2002] B. Chen, K. Jamieson, R. Morris, and H. Balakrishnan, SPAN: An Energy-Efficient Coordination Algorithm for Maintenance in Ad hoc Wireless Networks, To appear in ACM Wireless Networks Journal, Vol. 8, No. 5, September 2002. [Cerpa+ 2002] A. Cerpa and D. Estrin, ASCENT: Adaptive Self-Configuring Sensor Networks Topologies, Proceedings of the Twenty First International Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM 2002), New York, NY, USA, June 23-27 2002.