CRI Group Shu Chen| Dr. Yan Huang| The University of North Texas.

Slides:



Advertisements
Similar presentations
Part IV: Memory Management
Advertisements

CCNA3: Switching Basics and Intermediate Routing v3.0 CISCO NETWORKING ACADEMY PROGRAM Switching Concepts Introduction to Ethernet/802.3 LANs Introduction.
Directed Diffusion for Wireless Sensor Networking
NETWORK LAYER (1) T.Najah AlSubaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Chabot College Chapter 2 Review Questions Semester IIIELEC Semester III ELEC
3. Loaders & Linkers1 Chapter III: Loaders and Linkers Chapter goal: r To realize how a source program be loaded into memory m Loading m Relocation m Linking.
MANETs Routing Dr. Raad S. Al-Qassas Department of Computer Science PSUT
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Leveraging IP for Sensor Network Deployment Simon Duquennoy, Niklas Wirstrom, Nicolas Tsiftes, Adam Dunkels Swedish Institute of Computer Science Presenter.
Incremental Network Programming for Wireless Sensors NEST Retreat June 3 rd, 2004 Jaein Jeong UC Berkeley, EECS Introduction Background – Mechanisms of.
Node-level Representation and System Support for Network Programming Jaein Jeong.
Multihop Over the Air Programming Thanos Stathopoulos LECS Lab, UCLA.
Incremental Network Programming for Wireless Sensors IEEE SECON 2004 Jaein Jeong and David Culler UC Berkeley, EECS.
Oct 21, 2004CS573: Network Protocols and Standards1 IP: Addressing, ARP, Routing Network Protocols and Standards Autumn
Network Reprogramming Jaein Jeong, Sukun Kim Nest Meeting July 30, 2003.
CS335 Networking & Network Administration Tuesday, May 11, 2010.
A Survey of Wireless Sensor Network Data Collection Schemes by Brett Wilson.
1 Deluge: Data Dissemination for Network Programming at Scale Jonathan Hui UC Berkeley NEST Retreat June 3, 2004.
1 Network Reprogramming at Scale NEST Retreat January, 2004 Jonathan Hui Jaein Jeong Gilman Tolle.
1 Ultra-Low Duty Cycle MAC with Scheduled Channel Polling Wei Ye Fabio Silva John Heidemann Presented by: Ronak Bhuta Date: 4 th December 2007.
Delivery, Forwarding, and Routing
CS252/Patterson Lec /28/01 CS 213 Lecture 10: Multiprocessor 3: Directory Organization.
Empirical Analysis of Transmission Power Control Algorithms for Wireless Sensor Networks CENTS Retreat – May 26, 2005 Jaein Jeong (1), David Culler (1),
Gursharan Singh Tatla Transport Layer 16-May
Process-to-Process Delivery:
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
Chapter 4: Managing LAN Traffic
New Protocols for Remote File Synchronization Based on Erasure Codes Utku Irmak Svilen Mihaylov Torsten Suel Polytechnic University.
ISO Layer Model Lecture 9 October 16, The Need for Protocols Multiple hardware platforms need to have the ability to communicate. Writing communications.
Page 19/13/2015 Chapter 8 Some conditions that must be met for host to host communication over an internetwork: a default gateway must be properly configured.
A Distributed Scheduling Algorithm for Real-time (D-SAR) Industrial Wireless Sensor and Actuator Networks By Kiana Karimpour.
Chapter 2 – X.25, Frame Relay & ATM. Switched Network Stations are not connected together necessarily by a single link Stations are typically far apart.
Chapter 5 Transport layer With special emphasis on Transmission Control Protocol (TCP)
© 2002, Cisco Systems, Inc. All rights reserved..
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 4 Switching Concepts.
Wireless Sensor Networks MOTE-KITS TinyOS Crossbow UC Berkeley.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
TELE202 Lecture 5 Packet switching in WAN 1 Lecturer Dr Z. Huang Overview ¥Last Lectures »C programming »Source: ¥This Lecture »Packet switching in Wide.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 4 Switching Concepts.
A Remote Code Update Mechanism for Wireless Sensor Networks Thanos Stathopoulos, John Heidemann and Deborah Estrin CEG 790 Presentation By: Trevor Smith.
Cisco 3 - Switching Perrine. J Page 16/4/2016 Chapter 4 Switches The performance of shared-medium Ethernet is affected by several factors: data frame broadcast.
CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001.
Xiong Junjie Node-level debugging based on finite state machine in wireless sensor networks.
An Energy-Efficient MAC Protocol for Wireless Sensor Networks Speaker: hsiwei Wei Ye, John Heidemann and Deborah Estrin. IEEE INFOCOM 2002 Page
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
1 Lecture 19: Scalable Protocols & Synch Topics: coherence protocols for distributed shared-memory multiprocessors and synchronization (Sections )
CCNA3 Module 4 Brierley Module 4. CCNA3 Module 4 Brierley Topics LAN congestion and its effect on network performance Advantages of LAN segmentation in.
Ad Hoc On-Demand Distance Vector Routing (AODV) ietf
1 Kyung Hee University Chapter 11 User Datagram Protocol.
Building Wireless Efficient Sensor Networks with Low-Level Naming J. Heihmann, F.Silva, C. Intanagonwiwat, R.Govindan, D. Estrin, D. Ganesan Presentation.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 2 v3.1 Module 8 TCP/IP Suite Error and Control Messages.
Behrouz A. Forouzan TCP/IP Protocol Suite, 3rd Ed.
IP: Addressing, ARP, Routing
Memory Management.
Scaling the Network: The Internet Protocol
Packet Switching Datagram Approach Virtual Circuit Approach
Understand the OSI Model Part 2
Web Caching? Web Caching:.
Chapter 6: Network Layer
Wireless Sensor Networks
Transport Layer Unit 5.
Vidur Nayyar Xueting Wang Weicong Zhao
Process-to-Process Delivery:
Scaling the Network: The Internet Protocol
Computer Networks Protocols
Lecture 18: Coherence and Synchronization
Presentation transcript:

CRI Group Shu Chen| Dr. Yan Huang| The University of North Texas

OVERVIEW XNP MOAP Deluge

INTRODUCTION –PROGRAMMING WIRELESS SENSORS In-System Programming (ISP) – A sensor node is plugged to the serial / parallel port. – But, it can program only one sensor node at a time. Network Programming – Delivers the program code to multiple nodes over the air with a single transmission. – Saves the efforts of programming each individual node.

INTRODUCTION –PROGRAMMING WIRELESS SENSORS Some basic concepts: In UC Berkeley sensor platform, the souce code is written in nesC programming language. The source code is compiled to the binary code (main.exe) after several intermediate steps. This file is further converted to Motorola SREC format (main.srec) which is an ASCII representation of binary code to make the postprocessing easier. UISP is used as a host programming tool. UISP starts ISP by setting RESET to 0, which makes Atmega128 microcontroller in MICA2 or MICA2DOT sensor node go to the programming mode. Then, UISP reads each record of the SREC file and sends it to the microcontroller.

INTRODUCTION – NETWORK PROGRAMMING FOR TINYOS Network programming for TinyOS (XNP) – Has been available since release 1.1 – Originally made by Crossbow and modified by UCB. – Provides basic network programming capability. – Has some limitations. No support of multi-hop delivery. No support of incremental update. Goal: – Fast code delivery by incremental update – Multi-hop delivery (Deluge (UCB), MOAP(UCLA))

BACKGROUND – MECHANISMS OF XNP (1)Host: sends program code as download msgs. (2)Sensor node: stores the msgs in the external flash. (3)Sensor node: calls the boot loader. The boot loader copies the program code to the program memory. User app SREC file External Flash Network Programming Host Program Boot loader User Application Section Program Memory Boot loader Section Network Programming Module Radio Packets Host MachineSensor Node (2) (3) (1)

FIRST APPROACH – FIXED BLOCK COMPARISON (DIFFERENCE GENERATION) The host program – Generates the difference of the two program versions. – Compares the corresponding blocks of the two program images. – Sends “copy” for the matching blocks, “download” for the unmatched ones.

FIRST APPROACH – FIXED BLOCK COMPARISON (STORAGE ORGANIZATION AND CODE REBUILD) The sensor node – Keeps new and previous sections in the external flash. – For “copy”, copies the records from the prev section to new section. – For “download”, stores the code bytes in the new section.

EXPERIMENT SETUP Test Applications – Wrote simple network programmable applications, XnpBlink and XnpCount. – XnpBlink and XnpCount are modifications of TinyOS applications Blink and CntToLedsAndRfm for network programming. Test Scenarios – Case 1: Changing a constant ( XnpBlink ) – Case 2: Modifying implementation file ( XnpCount ) – Case 3: Major change ( XnpBlink  XnpCount ) – Case 4 and 5: Modifying configuration file ( XnpCount )

EXPERIMENT SETUP – TEST SCENARIOS Case 1: Changing a constant ( XnpBlink ) Case 2: Modifying implementation file ( XnpCount )

EXPERIMENT SETUP – TEST SCENARIOS Case 3: Major change ( XnpBlink  XnpCount ) Case 4: Modifying configuration file ( XnpCount )  Commented out IntToLeds component. Case 5: Modifying configuration file ( XnpCount )  Commented out IntToRfm component.

CODE COMPARISON Compared the two program images in different block sizes. – The level of sharing in bytes is much higher than that in blocks. – However, using smaller block size means more copy messages – increasing xmit time. Block Size Case 1Case 2Case 3 Flash page 256 Bytes 97.2 % ( = )21.9 % ( = )2.7 % ( = ) SREC record 16 Bytes 98.3 % ( = )40.8 % ( = )12.0 % ( = ) byte 1 Byte % ( = )98.3 % ( = )90.5 % ( = )

RESULTS – FIXED BLOCK COMPARISON The transmission time (T) with the non-incremental delivery time (T xnp ). There is almost no speed up except when modifying the co nstant in the source code (case 1) Case 1Case 2Case 3Case 4Case5 Speed up Estimated Speed Up (Fixed) Measured Speed Up (Fixed)

RESULTS – FIXED BLOCK COMPARISON In most cases (other than case 1), much of program code is sent as download messages rather than copy and this contributes the not-so- good performance.

OPTIMIZING DIFFERENCE GENERATION USING RSYNC ALGORITHM Needs an algorithm that can capture the shared data even when the program is shifted. Use Rsync algorithm to compare the two program images at an arbitrary byte position. Rsync was originally made to transfer the incremental update of arbitrary binary file over a low bandwidth Internet connection.

DIFFERENCE GENERATION USING RSYNC ALGORITHM (DIFF GENERATION) (1)Build the hash table for the previous image. Calculate the checksum pair (checksum, hash) for each block. The checksum is for the fast match. The hash is for more accurate match.

DIFFERENCE GENERATION USING RSYNC ALGORITHM (DIFF GENERATION) (2) Scan the current image and find the matching block. Calculate the checksum for the block at each byte. Calculate the hash only if the checksum matches. Moves to the next byte and recalculates the checksum if the block doesn’t match.

DIFFERENCE GENERATION USING RSYNC (REBUILDING THE CODE IMAGE) Storage Organization – Two sections (current & previous) in the external flash memory. Building the program image using the difference – Download: data bytes are written to the current program section. – Copy: lines of the prev section are copied to the current section. – Copy blocks are set as multiple of SREC lines to avoid additional flash memory read/write due to partial SREC lines.

RESULTS – USING RSYNC The performance got better than Fixed Block Comparison. Speed up of 2 to 2.5 for a small change. – 2.5 for adding a few lines in implementation file (case 2). – 2.0 for commenting out IntToLeds in the configuration file (case 4). Still limited speed up for big changes. – Major change (case 3). Commenting out IntToRfm (case 5) Case 1Case 2Case 3Case 4Case5 Speed up Estimated Speed Up (Fixed) Measured Speed Up (Fixed) Estimated Speed Up (Rsync) Measured Speed Up (Rsync)

PROBLEMS – USING RSYNC Sends a number of copy messages even though the two program images are very close. – The maximum block size of a copy message is limited. – This is to bound the running time of a copy message. Inefficient handling of missing packets.  The script commands are not stored.  Checks the rebuilt program image for verification.  In case a copy message is lost, it requests the retransmission of each missing record rather than the copy message itself.

OPTIMIZING DIFFERENCE DELIVERY (1) The network programming module stores the difference script first.

OPTIMIZING DIFFERENCE DELIVERY (2) And then, it starts building the program image only after the host program sends decode message.

RESULTS – USING RSYNC WITH DECODE The performance of using Rsync algorithm with decode command is similar to just using Rsync. But, the performance for changing a constant has improved (speed up of 9.0) Case 1Case 2Case 3Case 4Case5 Speedup Fixed Block Comparison Rsync Rsync + decode

FUTURE WORK Combine Incremental Program Update with multihop delivery. – Deluge or MOAP Study on nesC compiler support to further increase the level of sharing.

MOAP- MULTHOP OVER THE AIR PROGRAMMING What MOAP is MOAP (Multhop Over the Air Programming) is a set of components and tools whose purpose is to allow motes to be reprogrammed 'over the air'. This means that the radio, instead of the parallel, or serial port, is used as a means to transfer the code. In addition, MOAP works for multiple hops (hence MOAP).

RELATED WORK- CODE DISTRIBUTION IN SENSOR NETWORKS TinyOS has included In-Network Programming support for the Mica-2 motes since its 1.0 release. The mechanism is single-hop only: the basestation (source) transmits code capsules to all nodes within a broadcast domain. After the entire image has been transmitted, the basestation polls each node for missing capsules. Nodes scan the contents of EEPROM to find gaps and then reply with NACKs if necessary.The basestation unicasts missing capsules as required.

RELATED WORK- CODE DISTRIBUTION IN SENSOR NETWORKS Difference-based mechanism--only the differences between the new and old code are sent LOBcast--a node first requests content (and repairs) from its immediate neighborhood but moves toward the source Bombilla--a stack-based Virtual Machine consist of capsules, special instructions that can forward capsules, Nodes will install a capsule that has a newer version number than the one currently used.

RELATED WORK- RELIABILITY IN SENSOR NETWORKS PSFQ--uses broadcast repair requests and suppression mechanisms to reduce the number of duplicates. RMST--missing fragments requests are unicast from the sink to the source and Caches in intermediate nodes allow for fast recovery. ESRT—a congestion control protocol that tries to meet reliability requirements set by the application, while conserving energy.

RESOURCE PRIORITIZATION OF MOAP Energy Memory usage Latency

DISSEMINATION PROTOCOL OF MOAP Ripple IDEA: transfer the data in a neighborhood-by-neighborhood, when the receivers have the entire image they can become sources for their own neighborhoods. Sources publish their newer version of the code image and all interested nodes subscribe. If a source has no subscribers it will be silent. Advantage: guarantees the source is only one hop away when transmission Disadvantage: slower

RELIABILITY MECHANISM OF MOAP NACK-based approach and Unicast retransmission policy IDEA: assume that given enough time, the missing packet will be only one hop away. Advantage: significant reduction in control traffic Disadvantage: time cost

SEGMENT MANAGEMENT OF MOAP Sliding Window At any point, the receiver knows it has successfully received packets up to the beginning of the window(base). It can then receive and successfully store and retrieve up to the size of the window(offset).

PROCESS First, the programmer builds the new code, using the standard TinyOS tools. The binary image is then passed to a packetizer that divides the Motorola SREC-format binary into actual segments.A segment has a 2-byte address field indicating its address in program memory and a 16-byte data field.In the current version of MOAP, each packet contains one segment.One mote attached to the PC becomes the original source (a basestation). It sends PUBLISH messages,advertising the new version of the code. Nodes check their version number and send SUBSCRIBE messages if it is smaller than the advertised versions. Nodes also use a link statistics mechanism so as to not subscribe to sources that have very lossy, intermittent, or otherwise unreliable links. Once the original source receives a subscribe message, it waits for a small amount of time to allow other nodes to send in their subscriptions as well and then starts the data transfer.

RESULT 1 Emulation in EmStar on a 32-bit platform with dynamic memory support

RESULT 2 Implementation of MOAP in order to evaluate it in its target platform. The setup consisted of 15 Mica 2 motes.

RESULT 3 Interesting findings 1. latency was evaluated against a choice of energy consumptions. 2. Networks with more nodes per hop should perform significantly better using this choice of ripple propagation.

RESULT 4 Mean and standard deviation with data points of time (in seconds) versus number of hops reprogrammed.

FUTURE WORK Sending differences between versions Support for selective node updates

REFERENCES 1.Crossbow Technology, "Mote In Network Programming User Reference," TinyOS document, 2.N. Reijers and K. Langendoen, "Efficient Code Distribution in Wireless Sensor Networks," WSNA, T. Stathopoulos, J. Heidemann, and D. Estrin, A Remote Code Update Mechanism for Wireless Sensor Networks, CENS Technical Report, #30, 3.A. Chlipala, J. Hui, and G. Tolle, Deluge: Data Dissemination in Multi-Hop Sensor Networks, UC Berkeley CS294-1 Project Report, December 2003, 4.T. Yeh, H. Yamamoto, and T. Stathopolous, Over-the-air Reprogramming of Wireless Sensor Nodes, UCLA EE202A Project Report, December 2003,