210 likes | 332 Views
Lecture 3-2: Networking Architecture, Routing Protocols and Algorithms. Novel Broadcast/Multicast Protocols for Dynamic Sensor Networks. W. Chen*, A.K.M.M. Islam**, M. Malkani*, A. Shirkhodaie*, K. Wada**, M. Zein-Sabatto* * Tennessee State University, USA
E N D
Lecture 3-2: Networking Architecture, Routing Protocols and Algorithms Novel Broadcast/Multicast Protocols for Dynamic Sensor Networks W. Chen*, A.K.M.M. Islam**, M. Malkani*, A. Shirkhodaie*, K. Wada**, M. Zein-Sabatto* * Tennessee State University, USA ** Nagoya Institute of Technology, Japan International Parallel and Distributed Processing Symposium, 2007
CONTNETS • Basics in Wireless Sensor Networks (WSNs) • Review of Broadcast/Multicast Protocols • Proposed Broadcast/Multicast Protocols on Dynamic WSNs • Network Reconfiguration • Latency/Energy Analysis and Simulation • Summary and Future Work
Autonomous tracking in Sensor Network Basics in A Wireless Sensor Network • A WSN consists a large number of sensor nodes which are deployed in a large area. • Inexpensive sensor nodes have limited capabilities in power supply, communication and processing, and they experience failures frequently. • Communication is in ad-hoc manner. • Network is dense: overlap and collision in control and communication • Communication patterns are specific: one-to-many (broadcast/multicast), many-to-one (data gathering) • Network topology is dynamic: topology self-reconfiguration is necessary • Tasks need to be self-organized without global centralized control for scalability.
Problem Statement Develop time and energy efficient protocols and algorithms for broadcast, Multicast, and Data-gathering on a dynamic sensor network. Objectives: • Maximize the network throughput in Broadcast/multicast and data gathering • Minimize the energy consumption for extending network life time • Enable network self-reconfiguration for dynamic topology changes
Model of A Flat (unstructured) Sensor Network • All nodes use a single radio channel • Each node has a distinct ID number and it has no any network knowledge • Each node repeats transmission or reception and performs its local computation in a fixed interval, called round. In each round, a node acts as either a transmitter or a receiver. • Nodes have no collision detection
A sensor network On Hierarchical Networks • O(n) to for clustering and construction of cluster-based network • rounds when there are p clusters using depth-first order on backbone (J. Uchida and others, 2006) • Extra cost for structure maintenance r r gateway gateway head member member Cluster-based network There are Trade-offs between communication and network reconfiguration Review of Broadcast/Multicast Protocols On Unstructured Networks • Without network knowledge: • With whole network knowledge:
Results of This paper • Time and energy efficient broadcast and multicast protocols based on collision-free flooding on a cluster-based sensor network • Self-reconfiguration algorithm for a cluster-based network • Theoretical analysis and simulation • Generalization of the proposed protocols to data gathering.
A sensor network gateway gateway head member member Cluster-based network Broadcast Using Flooding: Good or Bad? Broadcast using flooding causes broadcast storm problem ! source • Broadcast Based on Depth-First Order • (J. Uchida and others, 2006) • Broadcast completes in 4p-2 rounds • Each node is awake until its children finish broadcast. • Broadcast stops if node/link failure happens.
z z x x 2 1 2 2 1 2 z x y v v Broadcast Using Flooding: Good or Bad? - Contine • Broadcast Based on Collision-Free Flooding • Using TDM to avoid collision • Each node needs to be awake in a short time • Broadcast is more robust: even node/link failure happens, broadcast will still continue. TDM: Every node v can receive the broadcast message from at least one node.
1 2 1 1 2 3 1 2 1 2 3 2 1 • AlgorithmCollisionFreeFlooding(CNet(G), ,m) • Root r :transmits package (m, r.time-slot, ,0) at its time-slot r.time-slot, • Other node v:Assume that v’s depth is i+1. • If v is a backbone node received package (m, t, , i), v wait rounds, and then transmits (m, v.time-slot, ,i+1) at its time-slot v.time-slot. • If v is a leaf, it receives m and do nothing. • Time and Energy Consumption: By using CNet(G) and TDM time-slots, • A broadcast can be completed in rounds, h is the height of CNet(G), and • In the broadcast, each node needs to be awake in rounds. Broadcast Algorithm Using Collision-Free Flooding CNet(G): Spanning tree of G consisting of clusters and the backbone, where m: broadcast message v.time-slot: time-slot assigned to node v :largest time-slot assigned in CNet(G)
1 2 1 1 2 3 1 2 1 2 3 2 1 • Time and Energy Consumption: By using CNet(G) and TDM time-slots, • A broadcast can be completedin rounds, where h is the height of CNet(G), and • In the broadcast, each node needs to be awake in rounds. • Time and Energy Consumption with k-channels: By using CNet(G) and TDM time-slots, if k channels are available, • A broadcast can be completed in G in rounds, where h is the height of CNet(G), and • In the broadcast, each node needs to be awake in rounds. Broadcast Algorithm Using Collision-Free Flooding -- Improvement Observation: Backbone is relative sparse –the TDM time-slots needed for the broadcast on backbone will be much smaller. Therefore, algorithm can be changed to Step 1: Broadcast the source message on the backbone using b-time-slot . Step 2: Heads transmit the source message to its members using l-time-slot .
From Broadcast Protocol to Multicast Protocol Structure of MCNet(G): At each backbone node, there are two lists: (group-list) and [relay-list] (1,2) (1,2) [1,2] [1,2] (1,2) (1,2) [1,2] [1,2] (2) (2) [1,2] [1,2] (1,2) (1) (1,2) (2) (1,2) (1) (1,2) (2) (1,2) (1,2) (1,2) (1,2) (1,2) (1,2) (2) (2) u u (1) (1) v v • Multicast on group p • Broadcast source massage using Collision-Free Flooding. • A node will stop relay if the group ID is not included in its group-list. [1,2] [1,2] [1] [1] [1] [1] [2] [2] (1) (1) (1) (1) [1] [1] [1] [1] (1,2) (1,2) (1) (2) (1) (1) (2) (2) (2) (1) (2) (1) (1) (2) (2) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1)
r r gateway gateway head member member Cluster-based network Network Initialization and Reconfiguration • Operations used for network initialization and reconfiguration • Node-joining • Node-leaving • Each node’s knowledge • (1) 1-hop information: • Node’s status: head, member, gateway • If the node is a member, it knows its head. • If the node is a head, it has a member-list. • If the node is the node on the backbone, it has a backbone-neighbor-list. • TDM time-slots: b-time-slot and l-time-slot. • (2) Root knows the largest b-time-slot
Change to gateway head Node-Joining Operation • Update 1-hop information in expected O(log d) rounds: • update status • update member-list • update backbone-neighbor-list r head Gateway new head member
w new u w new Node-Joining Operation–Continue • Update TDM time-slots Case 1:new’s parentw is an internal node of CNet(G). w will have a new leaf of new, w has to update its l-time-slot. Case 2:new’s parentw is a leaf of CNet(G).w will have a new leaf new,w will change to an internal node, and w’s parent u will have a newinternal node w. w has toupdate its l-time-slot, and u has to update its b-time-slot and l-time-slots.
Calculate y’s b-time-slot in rounds Node-Joining Operation–Continue • Update TDM time-slots Calculate-b-time-slot (l-time-slot) (CNet(G), y) (1) Node y sends a request to ask the nodes of C(y) sending their b-time-slots back in turn. (2) When node v in C(y) receives the message, it checks the b-time-slots at the nodes of P(v). If v can find two distinct b-time-slots which are different from those of the others in P(v), v sends back nothing. Otherwise, v packs all different b-time-slots at the nodes of P(v) and send them back to y at v’s turn. (3) When y receives the b-time-slots from the nodes of C(y), y selects the minimum positive integer which is different from all received b-time-slots and set it to be y’s b-time-slot. (4) y sends its b-time-slot back to the root. P(v) y C(y): cnnected with y from next level v
Time and Energy Consumption in Broadcast: By using CNet(G) and TDM time-slots, • A broadcast can be completedin rounds, where h is the height of CNet(G), and • In the broadcast, each node needs to be awake in rounds. Node-Joining Operation–Continue • Worst Case Analysis • In node-joining operation, TDM time-slots: d-time-slot and l-time-slot can be updated in rounds. • , where • d is the largest degree of backbone nodes, and D is largest degree of member nodes. • is the largest b-time-slots, and is the largest l-time-slots Simulation shows that the worst cast seldomly happen!
100 200 300 400 500 Simulation • Simulation Model • a cluster-based WSN with the scales of 8×8 units, 10×10 units and 12×12 units, where each unit is 100 meters. • Communication range of a node is 50 meters. • Number of nodes used for testing varies from 64 to 720. • Comparison of the largest degree and largest TDM time-slot
(3) Energy consumption of the broadcast based on depth-first-order and collision-free-flooding rounds by CFF Broadcast Rounds to be awake for CFF rounds by DFO Broadcast Rounds to be awake for DFO 600 600 500 500 400 400 number of rounds rounds to be awake 300 300 200 200 100 100 0 0 100 200 300 400 500 100 200 300 400 500 1 2 3 4 5 100 200 300 400 500 1 2 3 4 5 number of nodes number of nodes Simulation - Continue (2) Latency of the broadcast based on depth-first-order (DFO) and collision-free-flooding (CFF)
Broadcast 2 1 2 2 1 2 Data gathering 1 2 3 1 3 2 4 Summary and Future Work Summary • Time and energy efficient broadcast and multicast protocols using collision-free flooding • Algorithms for reconfiguration of a cluster-based network • Theoretical analysis and simulation Future Work • Revise the broadcast/multicast protocols for Data gathering (Assign TDM time-slot in opposite direction) • Relax synchronization • Add more functionalities for network reconfiguration: -- Network split and network merge
Homework & Assignment • Revise the broadcast/multicast protocols for Data gathering (Assign TDM time-slot in opposite direction). How to solve the problem that more and more data need to be relayed back? • Relax synchronization. • Add more functionalities for network reconfiguration: -- Network split and network merge