Feb. 11, 2005 TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui [email protected] Computer Science Division University of California, Berkeley
Mar 27, 2015
Feb. 11, 2005 TinyOS Technology Exchange 1
DelugeTinyOS Network ProgrammingThe real way to program your motes
Jonathan [email protected] Science DivisionUniversity of California, Berkeley
TinyOS Technology Exchange 2Feb. 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 Exchange 3Feb. 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 Exchange 4Feb. 11, 2005
How Does Deluge Work?(Glossing over many details)
Nodes periodically advertise
Version 2 here.
I only have version 1.
I only have version 1.
TinyOS Technology Exchange 5Feb. 11, 2005
How Does Deluge Work?(Glossing over many details)
Neighboring nodes request data
Send me page 1!
Send me page 1!
TinyOS Technology Exchange 6Feb. 11, 2005
How Does Deluge Work?(Glossing over many details)
Requested data is sent
Packet 12of page 1!
TinyOS Technology Exchange 7Feb. 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 Exchange 8Feb. 11, 2005
How Does Deluge Work?(Glossing over many details)
Dropped packets are sent again
Packet 4 of page 1!
TinyOS Technology Exchange 9Feb. 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 Exchange 10Feb. 11, 2005
Epidemic Propagation
Epidemic propagation from one source
TinyOS Technology Exchange 11Feb. 11, 2005
Epidemic Propagation
Epidemic propagation from one source or many
TinyOS Technology Exchange 12Feb. 11, 2005
Epidemic Propagation
Epidemic propagation from one source or manyContinuous propagation effort by all nodesReaches nodes with intermittent connectivity
Will find a path if it exists
TinyOS Technology Exchange 13Feb. 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 Exchange 14Feb. 11, 2005
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 appsBlink, Surge, TinyDB, etc.eXtreme Scale Demo: 983 Nodes
TinyOS Technology Exchange 15Feb. 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 Exchange 16Feb. 11, 2005
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
HashDataHead
HashDataHead
HashDataHead
NonceDataHead
SignHashHead0
1
2
n-1
n
TinyOS Technology Exchange 17Feb. 11, 2005
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 18Feb. 11, 2005
Backup Slides
TinyOS Technology Exchange 19Feb. 11, 2005
Methods for Retasking
Deluge addresses retasking via a new binary image.
Method Flexibility Cost Frequency
Configuration Parameters
Low Low High
Scripts/ ByteCode
Med Med Med
New Binary Very High Very High Very Low