Presentation is loading. Please wait.

Presentation is loading. Please wait.

TinyOS Network Protocol Working Group (net2) Progress Report Omprakash Gnawali Speaking on behalf of the WG TTX5 2/22/2008.

Similar presentations


Presentation on theme: "TinyOS Network Protocol Working Group (net2) Progress Report Omprakash Gnawali Speaking on behalf of the WG TTX5 2/22/2008."— Presentation transcript:

1 TinyOS Network Protocol Working Group (net2) Progress Report Omprakash Gnawali Speaking on behalf of the WG TTX5 2/22/2008

2 net2 Charter Define the interfaces to basic network protocols in t2, such as collection and dissemination Produce reference implementations of those protocols

3 net2 Protocols Released Beta Alpha CollectionDisseminationIETFOther CTP LQI Drip DIP 6lowpan TYMO ZigBee Deluge

4 Collection Tree Protocol (tos/lib/net/ctp) TEP 119, 123, 124

5 MultihopLqi (tos/lib/net/lqi) Alternative collection layer (1.x port) Same interfaces as CTP (TEP 119) Only works on CC2420-based platforms –micaz, telosa, telosb, imote2 Lightweight alternative –Smaller RAM (by ~ 1KB) –Smaller code footprint (by ~ 4.5 KB) –Not as efficient or robust as CTP

6 CTP

7 MultiHopLQI

8 Link Quality Estimation Unacked PRR LQI

9 Four bit link estimation (tos/lib/net/4bitle) WHITE Packets on this channel experience few errors ACK A packet transmission on this link was acknowledged PIN Keep this link in the table COMPARE Is this a useful link? For details, see HotNets ’07 paper

10 Using Collection Include LQI or CTP collectionC component “Send” interface to send pkts to the sink command error_t send(msg, len) A sink receives the CTP pkts using the “Receive” interface event message_t* receive(msg, payload, len)

11 Dissemination Delivers a shared variable to every node in a network –Eventual consistency with high scalability and efficiency Many uses –Reconfiguring a network –Injecting small queries –Substrate for more complex protocols (e.g., Deluge) TEP 118

12 Drip Implementation (tos/lib/net/drip) Variables exchange separate metadata Simple implementation –Small code size –Cost scales O(n) with number of items

13 DIP: Scalable Dissemination (tos/lib/net/dip) Scaling beyond a few items –Many configuration parameters in the system –Sometimes many variables change, sometimes only a few –Want fast detection and dissemination when things are new, but cheap maintenance with steady state Offers the same dissemination interface as Drip

14 DIP Implementation Use Trickle to suppress and control transmit window Use hashes to detect differences and quickly search through version information Use version vectors to precisely identify differences Use bloom filters to optimize detection

15 Using Dissemination Instantiate Drip or DIP DisseminatorC components new DisseminatorC(TestMsg, 0xDE00), To propagate a variable throughout the network command void DisseminationUpdate.change(newVal) To receives updates to a variable event DisseminationValue.changed() { /* call DisseminationValue.get() and process */ } Must fit in a pkt Unique key

16 Deluge (tos/lib/net/deluge) Re-programming motes over wireless Borrows a lot of code from tinyos-1.x. Uses Drip for dissemination PC-side tools Bulk dissemination, flash volume manager, and TOSBoot Supported on TelosB and MicaZ motes

17 How to use Deluge? Deluge Basestation mote – DELUGE_BASESTATION flag during compilation Motes – Include “DelugeC” component – tosboot image Python script to inject image through the base station tos-deluge /dev/ttyUSB0 telosb -i 1

18 6lowpan (tos/lib/net/6lowpan)

19 6lowpan Implementation IPv6 over 802.15.4 6lowpan stack for TinyOS 2.x Implemented features: –6lowpan fragmentation and fragment reassembly –IPv6/UDP –IPv6/ICMP echo –supports both compressed and uncompressed IPv6 and UDP headers Tested on MicaZ and TelosB

20 Using 6lowpan Idioms from socket programming Receive event void UDPClient.receive(addr, port, *buf, len ) { /* process the contents of buf */ } Send call UDPClient.sendTo(addr, port, *buf, len)

21 ZigBee (tos/lib/net/zigbee) Set of high level protocols for low power devices open-ZB IEEE 802.15.4/ZigBee protocol stack IEEE 802.15.4 Data Link Layer Beacon-enabled Support of Star and Cluster-Tree topologies ZigBee Network Layer Cluster-tree Address assignment Tree-routing Tested on TelosB motes

22 TYMO: DYMO on TinyOS (tos/lib/net/tymo) Dynamic MANET On-demand (DYMO) routing used for reactive unicast routing TYMO is a DYMO implementation in TinyOS TYMO different from DYMO –Unimplemented features: multiple interfaces,.. –Compact header format

23 Using TYMO Uses AM addresses Include DymoNetworkC component AMSend interface for sending pkts Call AMSend.send(destination, *pkt, len) Receive interface for receiving pkts event Receive.receive(msg, *payload, len)

24 WG members Jan Beutel (ETH), Andre Cunha (IPP), Rodrigo Fonseca (UCB), Omprakash Gnawali (USC), Matus Harvan (ETH), Jonathan Hui (Arch Rock), Kaisen Lin (UCSD), Kyle Jamieson (MIT), Sukun Kim, Philip Levis (Stanford), Geoffrey Mainland (Harvard), Joe Polastre, Arsalan Tavakoli (UCB), Romain Thouvenin (Amadeus), Gilman Tolle (Arch Rock), Martin Turon (Crossbow), Ning Xu, Kristin Wright


Download ppt "TinyOS Network Protocol Working Group (net2) Progress Report Omprakash Gnawali Speaking on behalf of the WG TTX5 2/22/2008."

Similar presentations


Ads by Google