Download presentation
Presentation is loading. Please wait.
Published byEsther Bryant Modified over 9 years ago
1
1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong
2
2 Overview Background and motivations for Deluge Deluge Design Evaluation Limitation of Deluge Conclusion and sources
3
3 Worst Case Scenario 10,000 nodes are deployed in the mushy field with 10 meters apart Start the network. NO data is coming !!!! ;( A graduate student finds out that a small bug in the code that only shows up when a network scales up? The demonstration shall start in two hours. Option one: A quick calculation reveals that it taks 2.7 hours to just collect motes with 10 students. Plan B??? Avon Park, FL, Deployment Site
4
4 Network Tasking is Essential Why network tasking is needed? Application requirement would change A necessity in debugging and testing cycle Code would be upgraded to a better & newer version. Retasking over wireless is crucial Embedded nature of sensor networks Network scales reaching thousands of nodes Inaccessibility of hostile environments
5
5 Discussion: Techniques for Retasking
6
6 Techniques for ReTasking (1) 1. Parameter reconfiguration 2. Wired Reprogramming: Uisp 3. Single-hop Network Reprogramming : XNP 4. Multi-hop network Reprogramming : Deluge, MOAP 5. Incremental network programming: Reijers / Kapur 6. Virtual machine programming: Maté / Trickle
7
7 Techniques for Reprogramming (2) In System Programming Most Common. Programming time is in proportion to # nodes. Network Programming Sending whole code over radio still takes time. Either single hop or multiples hopes Host Machine Program Code Sensor node Serial or parallel port In system programming Network programming Host Machine Program Code Radio Channel Sensor nodes …
8
8 Techniques for Reprogramming (3) IEEE SECON 2004 “Incremental Network Programming for Wireless Sensors” Program source code is changed in small amounts. Reduce programming time by sending the difference. Incremental Network programming Host Machine Program Code Version 1 Radio Channel Sensor nodes … Program Code Version 2 + Difference
9
9 Techniques for Reprogramming (4) Stack based architecture Single shared variable gets/sets Three events: Clock timer Message reception Message send Hides asynchrony Simplifies programming Less prone to bugs
10
10 Comparison CostFlexibilityEnergySpeed Reconfiguraton Single Hop Multi-Hop Incremental VM The need for a high flexible and generic solution
11
11 Comparison CostFlexibilityEnergySpeed Reconfiguraton Low Fast Single Hop High High- Median Multi-Hop High High+ Slow Incremental HighMedian + LowFast VM MedianMedian - Median The need for a high flexible and generic solution
12
12 What is Deluge? A reliable data dissemination protocol for large data objects over a multi-hop network. Combined with a bootloader (TOSBoot) Network Programming “Your nodes can communicate wirelessly, so why don't you? “ ---- Jonathan Hui
13
13 Design Issues for the Deluge Protocol Discussion
14
14 Deluge Overview Maintain Request Transmit Epidemic State-machine strictly local rules Nodes advertise, request data, and broadcast Considers many subtle issues Density-awareness Robust to asymmetric links Dynamic adjustment of advertisements Minimize set of concurrent data broadcasts Spatial multiplexing
15
15 How Does Deluge Work? (Glossing over many details) Nodes periodically advertise Version 2 here. I only have version 1.
16
16 How Does Deluge Work? (Glossing over many details) Neighboring nodes request data Send me page 1! suppressed
17
17 How Does Deluge Work? (Glossing over many details) Requested data is sent Packet 12 of page 1! unicast overhear
18
18 How Does Deluge Work? (Glossing over many details) Dropped packets are NACKed Repeat packet 4 of page 1! Repeat packet 32 of page 1!
19
19 How Does Deluge Work? (Glossing over many details) Dropped packets are sent again Packet 4 of page 1!
20
20 How Does Deluge Work? (Glossing over many details) Advertise for propagation to next hop Version 2 here. I only have version 1.
21
21 Each version has a unique version number Program image divided into contiguous pages, each consisting of N packets. Page structure advantages Reduced RAM requirements for maintaining state of which packets are needed Allows for spatial multiplexing Data Representation Program Image Packets 1234N
22
22 Data Representations 1.Serialized version numbers: V 2.Aging Schedules: a= Calculating the version when a page last changed: (V-a i ) A nibble (4 bits) is used to store the age of each page. 3.Object profiles: (V, a) Example: (V, a) = (23, ) First page version is 22 = 23-1 Fourth page version is 23 Six page version is 18 8 Pages program Version 23
23
23 An Example 1.Node A: (23, ) 2.Node B: (23, ) 3.Node C: (23, ) 4.Node D: (22, ) 5.Node E: (20, ) 6.Node F: ( 6, ) 7.Node G: (23, ) Question: Which node has the latest version?
24
24 An Example 1.Node A: (23, ) 2.Node B: (23, ) 3.Node C: (23, ) 4.Node D: (22, ) 5.Node E: (20, ) 6.Node F: ( 6, ) 7.Node G: (23, )
25
25 Something About Trickle 1.Trickle is a self-regulating, epidemic maintenance, polite gossip protocol. 2.The algorithm controls the send rate so that each node hears only a small trickle of packets, just enough to stay up to date. 3.Nodes periodically broadcast a code summary to neighbors but stay quiet if they have recently heard a summary identical to theirs. 4.When a node hears a summary older than its own, it broadcasts an update.
26
26 Maintain Request Transmit Maintain Advertise Contains version and fraction of image complete Nodes request pages in sequential order Use Trickle Duplicate suppression Dynamically adjust advertisement rate Transition to: Transmit on receiving a request Request on receiving an advertisement with newer data (i.e. from a node with a larger fraction of the complete image) Unless a request or data packet was recently overheard
27
27 Request Maintain Transmit Request Transmit a request Using a random backoff Suppress if any similar requests are overheard during backoff period Not receiving a data packet for some time Minimize senders by unicasting requests to the node that advertised Transition to Maintain After receiving all packets of a page After k requests to protect against asymmetric links
28
28 Transmit Transmit all requested packets May receive requests when transmitting Round Robin schedule to provide fairness Transition to Maintain when all requested packets are transmitted Maintain Request Transmit
29
29 Other Details Page level CRCs Redundant data integrity checks at packet and page level Multiple image support Not limited to the dissemination of a single object Allows multiple programs to exist in the network Great for debugging! O 1 External Flash
30
30 Methodology Simulation (TOSSIM) Up to 400 nodes Empirically derived loss rates Very pessimistic in interference model Highly sensitive to simulation parameters, but helps in guiding development Real world deployment in office building (mica2dots) Up to 77 nodes Limited in scale Not able to see effects shown in simulation
31
31 Simulation Analysis Pipelining improves performance Linear with size Time increases with density Time To completion Network Size Object Size Node Density
32
32 Hidden Terminal Problem
33
33 Hidden Terminal Problem Node(2,2) Node(5,5) Edge Center
34
34 Slow Down Propagation Slowing down traffic reduces contention But also slows down overall! Original Quarter Request Rate Half Request Rate Slowing down traffic reduces contention But also slows down overall!
35
35 Discussion: Issues with Deluge
36
36 Weaknesses in the Deluge Design High Cost No selective dissemination The entire network must remain powered on to get the full benefit of spatial multiplexing. It takes a long time to converge into a network-wide stable state. Especially when a node has weak connectivity Advertise messages are needed even all nodes have latest version Slower propagation in central areas of a network because of hidden terminal collisions. CSMA cannot prevent all of these.
37
37 Conclusion Deluge = polite gossip with ear dropping Deluge is very flexible but has a very high cost (compared with reconfiguration etc) Deluge involves many design choice trade-offs, e.g. CRC v. FEC, nibble sized age cells, suppression values and rules and the use of CSMA Breaking objects into pages has benefits such as spatial multiplexing.
38
38 Sources and Websites A. Chlipala et al., “Deluge: Data Dissemination for Network Programming at Scale” J. Hui et al., “Data Dissemination with Geometric Structure” J. Hui et al., “The Dynamic Behavior of a Data Dissemination Protocol for Network Programming at Scale” P. Levis, et al., “Trickle: A Self-Regulating Algorithm for Code Propagation and Maintenance in Wireless Sensor Networks” www.cs.berkeley.edu/~jwhui/research/deluge
39
39 Q&A and Discussion
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.