Implementation of Gradient Routing in WSNs Thomas Watteyne, Kris Pister, Dominique Barthel, Mischa Dohler, Isabelle Auge-Blum BSAC, UC Berkeley, USA Orange Labs, Meylan, France CTTC, Castelldefels, Barcelona, Spain INRIA A4RES, CITI Lab, Lyon, France GLOBECOM 2009, December 1 st, Honolulu, Hawaii
2 We re (finally) getting there layer name Current status Latest version Exp. finalized Application OpenADR Draft standard 2009-04-01 Q2 2010 routing RPL 6LoWPAN Working group document RFC, working group document 2009-10-26 Q2 2010 2007-04-04 Q2 2010 MAC ures??? IEEE 802.15.4e draft standard 2009-09-13 Q2 2010 PHY IEEE 802.15.4-2006 standard 2006-09-08 final
3 It s always about gradients Gradient \Gra"di*ent\, n. : a graded change in the magnitude of some physical quantity or dimension. The Internet On the road on the phone on the web.
4 Gradients in WSNs [1/2] Small number of destinations Little overhead In RAM: one height value for each neighbor In ROM: simple additions and multiplications of heights Height calculated as any combination of link quality, hop count, energy consumption, etc. See IETF ROLL s Routing Metrics used for Path Calculation in Low Power and Lossy Networks, 2009-10-26 Supports multiple destinations
5 Gradients in WSNs [2/2] Gradient setup GBR (2005) shows that this needs only one message transmission per node Height calculation CTP (2009) justifies the use of Estimated Transmission Count (ETX) Gradient maintenance CTP (2009) and RPL (2009) use a Trickle timer Forwarding GRAB (2005) uses a credit field in the packet to tune message redundancy Standardization Routing fundamentals in 2009-02 RPL in 2009-09
6 Goal What is the overhead? ez430-rf2500 (simple hop-based) Gradient Routing Low-Power Listening MAC protocol Robustness against link dynamics? Neighbor discovery?
7 Hardware USB programmer: Power Debug (JTAG) Interface (serial) MSP430 1kB RAM 32kB ROM pushbutton 2 LEDs CC2500 2.4GHz non-802.15.4 Cheapest platform available Smallest uc extension ports 26MHz crystal for radio chip antenna
8 Preamble Sampling MAC [1/2] A S B counter destination data size C S DATA A B C wakeup discovery data
9 Preamble Sampling MAC [2/2] A @8 B @9 S counter data size C @7 S DATA A B C
10 Packet Formats
11 Implementation Preamble Sampling Some radios can perform Preamble Sampling in Hardware e.g. CC1100, CC1101, CC2500 HW solution frees uc SW solution requires the uc to keep two timers One slow timer to start listening (fires every 103ms) One fast timer to stop listening (fires after 3ms) From an energy perspective, solution are almost identical (2% difference)
12 Implementation Results [1/2]
13 Implementation Results [2/2] 571 lines of C code: 200 lines for MAC 30 lines for routing 7440bytes of ROM, 850 bytes of RAM Open source: cnx.org/content/col10684/latest/ Importance of MAC protocol Single channel poorly combats external interference and multipath fading Links disappear and topology changes Stress on the routing protocol lowers the PDR
14 Conclusion Gradient based routing is particularly suitable for WSNs, also from a practical perspective: (very) low memory footprint Different metrics for different goal Self-healing, multiple sinks, IETF ROLL s RPL IEEE802.15.4e Single Channel Preamble Sampling is not suited Single channel suffers from with external interference and multipath-fading Preambles of 100ms considerably reduce the achievable throughput Multichannel TDMA MAC is needed
15 OpenWSN Project Open-source implementation of protocol stacks to advance the Internet of Things Building Automation Smart Grid Applications Industrial Automation
16 Complete Protocol Stack Application routing MAC OpenADR RPL 6LoWPAN ures IEEE 802.15.4e PHY IEEE 802.15.4-2006
17 We need your help TinyOS Contiki uc-osii from scratch Atmel TI Jennic Freescale National ST
18 OpenWSN http://wsn.eecs.berkeley.edu/ projects/openwsn/ Source code repository: Subversion w. public check out Documentation: wiki Project management: Timeline & Roadmap Bug reporting: ticketing system
19
20 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 5MHz 2.405GHz 2.480GHz
21 48kB Memory Usage 30788 B 21960 B RPL ures TSCH 10kB 8828 B TinyOS ROM 2920B RAM 1352 B 1568 B
22 Complete Debugging Environment
23 Demo: video transmission visible light sensor IR light sensor humidity sensor antenna TelosB mote TinyOS operating system 25ms time slots 19kB ROM / 3kB RAM CC2420 radio 30kbps multi-hop link MSP430 microcontroller 1 2 3 4
24 Parameters