Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri...

24
Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004

Transcript of Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri...

Page 1: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Reliable Multi-hop Firmware Upload Protocol for mica2 motes.

CSE 534 Advanced Networks

Dmitri Lusnikov

Fall 2004

Page 2: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Motivation

Current situation: Sensor network are application specific Nodes are hard-wired to perform a specific task

Problem: Many details only become obvious after the

deployment. Changes in the environment and the application. Scalability, expansion of the network. Testing and debugging cycle

Page 3: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Goal

Flexible sensor node hardware suitable for most sensor network applications.

Capability for re-tasking on location. In network reprogramming. No need for redeployment.

Page 4: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Hardware

MICA2 Hardware resources: Atmel ATmega128L microcontroller: Internal flash: 128KB External flash: 512KB Configuration EEPROM: 4KB SRAM: 4KB

Possibility to program the internal flash memory with data from external flash.

Page 5: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Current Approaches

XNP Application Simple java program from TinyOS distribution.

Deluge Protocol Software package designed specifically for in-

network re-tasking of mica motes. Will be released as part of TinyOS 1.1.8

PSFQ Protocol Research effort to develop an efficient data

dissemination protocol for sensor networks.

Page 6: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

XNP Application

Very basic functionality: No multi-hop. No error correction, reliability of

transmission techniques. No image validation (CRC).

Page 7: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Deluge protocol

Integrated Solution Multi-hop routing “Epidemic Propagation” Reliability through ARQ, CRC Golden Image

Transport protocol influenced by PSFQ

Page 8: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Pump Slowly, Fetch Quickly Protocol (PSFQ)

Data dissemination protocol. Good for multicast.

Pump Slowly: Data is injected at base station at regular time

intervals. Allow time for propagation, packet loss recovery.

Fetch Quickly: In case of packet loss, data is fetched from

neighboring nodes.

Page 9: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Problem

ARQ schemes are inefficient for large data dissemination in sensor networks.

Noisy communication channels: Big increase in communication overhead with

high packet loss rates. Multi-hop communication:

Big latency, low throughput on lengthy slow communication channels.

Multicast: High traffic incident at the source node.

Page 10: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Proposed Solution

Rateless Forward Error Correction. Low overhead in case of packet loss. Unidirectional communication. Great for multicast.

Page 11: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Background: Fountain Codes

Idea: Imagine filling a cup of water form a fountain.

You do not care what exact drops of water get inside the cup, it is only important that a cup gets full.

Two Properties:1) A source can generate a potentially infinite

supply of encoding packets from the original data.

2) A receiver can reconstruct a message of k packets in size, once any k encoding packets have been received.

Page 12: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Background: LT Codes

First practical realization of rateless codes. (published in 2002).

Encoding:1) Choose a degree d for the encoding symbol,

according to a predetermined distribution.

2) Choose d distinct message symbols uniformly at random.

3) XOR all chosen symbols to produce the encoding symbol.

Page 13: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

LT Codes (Continued)

Main factor of decoding performance is the degree distribution.

Example: p(1) = 1 k * ln(k) packets needed.

Soliton distribution k + ε packets needed. O(k * ln(k)) decoding time.

Page 14: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

LT Codes (Continued)

Problems: Degree is not constant.

Decoding time for a single encoded packet is not known.

Buffer size is not known. Can be up to the size of entire message. Does not fit into mica2 RAM.

Decoding time is O(k * ln(k)) Hard to decode packets on the fly.

Page 15: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Background: Raptor Codes

Extend the idea of LT codes. Pre-code the message by encoding it

with a fixed erasure code. (e.g. Tornado codes)

Now, no need to recover all packets, just a constant fraction of packets.

Consequence: Degree can be bound by a constant. Decoding time is linear.

Page 16: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Design: Base Station

Components: TOSBase SerialForwarder Control program in Java.

No strict limitations for computational resources and energy consumption. Favor asymmetric protocols that offload

processing from the motes.

Page 17: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Design: Sensor Nodes

Transport protocol: Delivers program image. Interacts with network protocol stack. Verifies data integrity.

Control program: Integrates into primary application. Application layer of protocol stack. Handles control messages. Puts mote into reprogramming mode. Saves/restores TinyOS state.

Boot time reprogramming routine: Internal OS component. Programs microcontroller flash memory. Can choose between several boot images (e.g. Golden Image)

Page 18: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Network Protocol Stack

Link Layer ActiveMessage protocol.

Routing TinyOS multi-hop routing component. Controlled flood. Single node addressing by 16 bit mote ID. Multicast using 8 bit group ID.

Transport Custom implementation using rateless FEC.

addr 16bit type 8bit group 8bit length 8bit data 232bit crc 16bit

Page 19: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Implementation

Development using TOSSIM. Problems with LT codes

implementation. “All-At-Once distribution”: p(1) = 1 Packet format:

16 bit fragment number. 27 bytes data.

ACK when entire image is received.

Page 20: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Results

Current implementation: Requires average of k*ln(k) packets. Efficient for single hop communication.

Transmit: 81mW Receive/Idle: 30mW

Slower than Deluge.

Page 21: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Future Work

Implement transport protocol using Raptor codes.

Compare performance with Deluge, PSFQ, XPN.

Page 22: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Conclusion

Implementing rateless FEC in sensor nodes is hard, but not impossible.

Great solution for multi-hop multicast and large data transfers.

In-network reprogramming is awesome.

Page 23: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

References

Deluge: Dissemination Protocols for Network Programming at ScaleAdam Chlipala, Jonathan W. Hui, and Gilman Tolle. Fall 2003.Advisor: Prof. David E. Culler, University of California, Berkeley.

PSFQ: A Reliable Transport Protocol For Wireless Sensor NetworksC. Y. Wan, A. T. Campbell, and L. Krishnamurthy. Proceedings of the First ACM International Workshop on Wireless Sensor Networks and Applications (WSNA 2002).

LT codes.Michael Luby. In The 43rd Annual IEEE Symposium on Foundations of Computer Science, 2002.

Raptor codesA. Shokrollahi. Preprint 2002. Available online athttp://algo.epfl.ch/index.php?p=output_pubs_XX&db=pubs/pubs_fountain.txt

Page 24: Reliable Multi-hop Firmware Upload Protocol for mica2 motes. CSE 534 Advanced Networks Dmitri Lusnikov Fall 2004.

Questions ?