Top Banner
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
19

Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui [email protected] Computer.

Mar 27, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

Feb. 11, 2005 TinyOS Technology Exchange 1

DelugeTinyOS Network ProgrammingThe real way to program your motes

Jonathan [email protected] Science DivisionUniversity of California, Berkeley

Page 2: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

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.

Page 3: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

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

Page 4: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

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.

Page 5: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

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!

Page 6: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

TinyOS Technology Exchange 6Feb. 11, 2005

How Does Deluge Work?(Glossing over many details)

Requested data is sent

Packet 12of page 1!

Page 7: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

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!

Page 8: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

TinyOS Technology Exchange 8Feb. 11, 2005

How Does Deluge Work?(Glossing over many details)

Dropped packets are sent again

Packet 4 of page 1!

Page 9: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

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.

Page 10: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

TinyOS Technology Exchange 10Feb. 11, 2005

Epidemic Propagation

Epidemic propagation from one source

Page 11: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

TinyOS Technology Exchange 11Feb. 11, 2005

Epidemic Propagation

Epidemic propagation from one source or many

Page 12: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

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

Page 13: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

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

Page 14: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

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

Page 15: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

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

Page 16: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

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

Page 17: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

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!

Page 18: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

TinyOS Technology Exchange 18Feb. 11, 2005

Backup Slides

Page 19: Feb. 11, 2005TinyOS Technology Exchange 1 Deluge TinyOS Network Programming The real way to program your motes Jonathan Hui jwhui@cs.berkeley.edu Computer.

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