Presentation on theme: "Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui Computer."— Presentation transcript:
Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui Computer Science Division University of California, Berkeley
TinyOS Technology Exchange2 Feb. 11, 2005 Network Programming is Essential Retasking is essential Often learn the about the environment after deployment (sensing data, network characteristics, etc.) Retasking over the network is crucial Embedded nature of sensor networks Network scales reaching thousands of nodes A necessity in debugging and testing cycle Deluge addresses retasking via a new binary image.
TinyOS Technology Exchange3 Feb. 11, 2005 What is Deluge? A reliable data dissemination protocol for large data objects over a multihop network. Combined with a bootloader (TOSBoot) Network Programming
TinyOS Technology Exchange4 Feb. 11, 2005 How Does Deluge Work? (Glossing over many details) Nodes periodically advertise Version 2 here. I only have version 1.
TinyOS Technology Exchange5 Feb. 11, 2005 How Does Deluge Work? (Glossing over many details) Neighboring nodes request data Send me page 1!
TinyOS Technology Exchange6 Feb. 11, 2005 How Does Deluge Work? (Glossing over many details) Requested data is sent Packet 12 of page 1!
TinyOS Technology Exchange7 Feb. 11, 2005 How Does Deluge Work? (Glossing over many details) Dropped packets are NACKed Repeat packet 4 of page 1! Repeat packet 32 of page 1!
TinyOS Technology Exchange8 Feb. 11, 2005 How Does Deluge Work? (Glossing over many details) Dropped packets are sent again Packet 4 of page 1!
TinyOS Technology Exchange9 Feb. 11, 2005 How Does Deluge Work? (Glossing over many details) Advertise for propagation to next hop Version 2 here. I only have version 1.
TinyOS Technology Exchange10 Feb. 11, 2005 Epidemic Propagation Epidemic propagation from one source
TinyOS Technology Exchange11 Feb. 11, 2005 Epidemic Propagation Epidemic propagation from one source or many
TinyOS Technology Exchange12 Feb. 11, 2005 Epidemic Propagation Epidemic propagation from one source or many Continuous propagation effort by all nodes Reaches nodes with intermittent connectivity Will find a path if it exists
TinyOS Technology Exchange13 Feb. 11, 2005 Deluge Features Robustness Epidemic propagation from one source or many Redundant data integrity checks Golden image Rollback gesture Isolated bootloader (TOSBoot) Convenience Wireless, multihop reprogramming Store multiple program images Low Overhead Less than 150 bytes of RAM
TinyOS Technology Exchange14 Feb. 11, 2005 How to Use It Deluge 1.0 since TinyOS Mica2, Mica2-dot, MicaZ, and Telos. For many apps, just wire StdControl components DelugeC; Main.StdControl -> DelugeC; Integrated (by others) with many apps Blink, Surge, TinyDB, etc. eXtreme Scale Demo: 983 Nodes
TinyOS Technology Exchange15 Feb. 11, 2005 Deluge 2.0 (in beta) Robustness Hardware write protect on external flash chip. Data-structures integrity protected by PC generated CRCs Deluge version number information included in Deluge packets Usability Ping reply includes app name, compile time, user, host, size. Auto-resume incomplete images and detection of identical images. Auto-detection of identical images. User confirmation to continue execution. Auto-detection of Deluge vs. TOSBase. In Sourceforge: tinyos-1.x/beta/Deluge
TinyOS Technology Exchange16 Feb. 11, 2005 ROSEBUDS: Secure Dissemination Implementation Components: Nodes, (Owners) Server, Factory Factory assigns node id (IEEE OUI + serial #) Node generates ECC keys, gives pub key to Server Factory signs [id, ECC pub key] at mfg time Node preloaded w/ id, cert, Server RSA pub key Server queries network for object version Creates new package with version + 1 Performs Object Transmission Security Overhead: ~ 14% more octets, larger packets Crypto Suite SHA-1 for hash (upper 64-bits) : ~ 13 ms/hash RSA-1024 for signatures: ~ 1.5 s/check ECCDH for node pair-wise key-exchange: ~ 1-2 min/key exchange Status: prototype implementation of security but not yet integrated with dissemination service HashDataHead HashDataHead HashDataHead NonceDataHead SignHashHead n-1 n
TinyOS Technology Exchange17 Feb. 11, 2005 Thanks Demonstration today (of Deluge 2.0)! tinyos-1.x/doc/deluge-manual.pdf The Dynamic Behavior of a Data Dissemination Protocol for Network Programming at Scale, SenSys Please provide feedback!
TinyOS Technology Exchange19 Feb. 11, 2005 Methods for Retasking Deluge addresses retasking via a new binary image. MethodFlexibilityCostFrequency Configuration Parameters Low High Scripts/ ByteCode Med New BinaryVery High Very Low