TinyOS Network Protocol Working Group net2 Progress Report Omprakash Gnawali Speaking on behalf of t - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

TinyOS Network Protocol Working Group net2 Progress Report Omprakash Gnawali Speaking on behalf of t

Description:

Alternative collection layer (1.x port) Same interfaces as CTP (TEP 119) ... Thouvenin (Amadeus), Gilman Tolle (Arch Rock), Martin Turon (Crossbow), Ning Xu, ... – PowerPoint PPT presentation

Number of Views:214
Avg rating:3.0/5.0
Slides: 25
Provided by: USC56
Category:

less

Transcript and Presenter's Notes

Title: TinyOS Network Protocol Working Group net2 Progress Report Omprakash Gnawali Speaking on behalf of t


1
TinyOS Network Protocol Working Group (net2)
Progress ReportOmprakash GnawaliSpeaking on
behalf of the WGTTX52/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
CTP LQI
Deluge
Drip
Released
DIP
Beta
6lowpanTYMO
ZigBee
Alpha
Collection
Dissemination
IETF
Other
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)
PINKeep this link in the table
COMPAREIs this a useful link?
ACKA packet transmission on this link was
acknowledged
WHITEPackets on this channel experience few
errors
  • 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 /

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 ltfilenamegt

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
  • Receiveevent void UDPClient.receive(addr, port,
    buf, len )          / process the contents
    of buf /   
  • Sendcall 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
Write a Comment
User Comments (0)
About PowerShow.com