1 / 19

Deluge TinyOS Network Programming The real way to program your motes

Deluge TinyOS Network Programming The real way to program your motes. Jonathan Hui jwhui@cs.berkeley.edu Computer Science Division University of California, Berkeley. Network Programming is Essential. Retasking is essential

moshe
Télécharger la présentation

Deluge TinyOS Network Programming The real way to program your motes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DelugeTinyOS Network ProgrammingThe real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer Science Division University of California, Berkeley TinyOS Technology Exchange

  2. 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 Exchange

  3. 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 Exchange

  4. How Does Deluge Work?(Glossing over many details) • Nodes periodically advertise I only have version 1. Version 2here. I only have version 1. TinyOS Technology Exchange

  5. How Does Deluge Work?(Glossing over many details) • Neighboring nodes request data Send mepage 1! Send me page 1! TinyOS Technology Exchange

  6. How Does Deluge Work?(Glossing over many details) • Requested data is sent Packet 12 of page 1! TinyOS Technology Exchange

  7. How Does Deluge Work?(Glossing over many details) • Dropped packets are NACKed Repeat packet 4of page 1! Repeat packet 32of page 1! TinyOS Technology Exchange

  8. How Does Deluge Work?(Glossing over many details) • Dropped packets are sent again Packet 4 of page 1! TinyOS Technology Exchange

  9. How Does Deluge Work?(Glossing over many details) • Advertise for propagation to next hop Version 2here. I only have version 1. TinyOS Technology Exchange

  10. Epidemic Propagation • Epidemic propagation from one source TinyOS Technology Exchange

  11. Epidemic Propagation • Epidemic propagation from one source or many TinyOS Technology Exchange

  12. 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 Exchange

  13. 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 Exchange

  14. How to Use It • Deluge 1.0 since TinyOS 1.1.8. • 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 Exchange

  15. 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 Exchange

  16. 0 Head Hash Sign 1 Head Data Hash 2 Head Data Hash n-1 Head Data Hash n Head Data Nonce ROSEBUDS: Secure Dissemination • Implementation • Components: Nodes, (Owner’s) 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 TinyOS Technology Exchange

  17. Thanks • Demonstration today (of Deluge 2.0)! • http://www.tinyos.net/deluge/ • tinyos-1.x/doc/deluge-manual.pdf • “The Dynamic Behavior of a Data Dissemination Protocol for Network Programming at Scale,” SenSys 2004. • Please provide feedback! TinyOS Technology Exchange

  18. Backup Slides TinyOS Technology Exchange

  19. Methods for Retasking • Deluge addresses retasking via a new binary image. TinyOS Technology Exchange

More Related