Remote Programming Dissemination Collection Network Management Gilman Tolle (also speaking for Jonathan Hui)

Slides:



Advertisements
Similar presentations
Dynamic Source Routing (DSR) algorithm is simple and best suited for high mobility nodes in wireless ad hoc networks. Due to high mobility in ad-hoc network,
Advertisements

Deluge TinyOS Network Programming The real way to program your motes
Nucleus Network Management System Gilman Tolle UC Berkeley.
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Addressing the Network – IPv4 Network Fundamentals – Chapter 6.
1 Routing Techniques in Wireless Sensor networks: A Survey.
Courtesy: Nick McKeown, Stanford
Monday, June 01, 2015 ARRIVE: Algorithm for Robust Routing in Volatile Environments 1 NEST Retreat, Lake Tahoe, June
1 Improving the Performance of Distributed Applications Using Active Networks Mohamed M. Hefeeda 4/28/1999.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
June 2008 WEI short course - L9 trickle 1 Wireless Embedded InterNet working Foundations of Ubiquitous Sensor Networks - Trickle - Polite Reliable Responsive.
CCNA 2 v3.1 Module 6.
Marionette: Using RPC for Interactive Debugging of Wireless Embedded Networks Kamin Whitehouse, Gilman Tolle, Jay Taneja, Cory Sharp, Sukun Kim, Jaein.
1 Deluge: Data Dissemination for Network Programming at Scale Jonathan Hui UC Berkeley NEST Retreat June 3, 2004.
TinyOS Software Engineering Sensor Networks for the Masses.
A Routing Control Platform for Managing IP Networks Jennifer Rexford Princeton University
Adaptive Self-Configuring Sensor Network Topologies ns-2 simulation & performance analysis Zhenghua Fu Ben Greenstein Petros Zerfos.
Routing and Routing Protocols
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 06/04/2007.
Dynamic Clustering for Acoustic Target Tracking in Wireless Sensor Network Wei-Peng Chen, Jennifer C. Hou, Lui Sha Presented by Ray Lam Oct 23, 2004.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Troubleshooting Your Network Networking for Home and Small Businesses.
Introduction to Routing and Routing Protocols By Ashar Anwar.
CCNA – Cisco Certified Network Associates Routing and Static Routes By Roshan Chaudhary Lecturer Islington College.
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.
Unicast Routing Protocols  A routing protocol is a combination of rules and procedures that lets routers in the internet inform each other of changes.
1 Introducing Routing 1. Dynamic routing - information is learned from other routers, and routing protocols adjust routes automatically. 2. Static routing.
Section 4 : The OSI Network Layer CSIS 479R Fall 1999 “Network +” George D. Hickman, CNI, CNE.
Dynamic Clustering for Acoustic Target Tracking in Wireless Sensor Network Wei-Peng Chen, Jennifer C. Hou, Lui Sha.
Cisco – Chapter 11 Routers All You Ever Wanted To Know But Were Afraid to Ask.
TinyOS By Morgan Leider CS 411 with Mike Rowe with Mike Rowe.
Denial of Service (DoS) Attacks in Green Mobile Ad–hoc Networks Ashok M.Kanthe*, Dina Simunic**and Marijan Djurek*** MIPRO 2012, May 21-25,2012, Opatija,
 Network Segments  NICs  Repeaters  Hubs  Bridges  Switches  Routers and Brouters  Gateways 2.
1. 2 Anatomy of an IP Packet IP packets consist of the data from upper layers plus an IP header. The IP header consists of the following:
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
1 Next Few Classes Networking basics Protection & Security.
Network Applications and Layered Architectures Protocols OSI Reference Model.
Chapter 6 – Connectivity Devices
Switching breaks up large collision domains into smaller ones Collision domain is a network segment with two or more devices sharing the same Introduction.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
Network Protocols A network protocol defines the structure of messages sent over the network We will only talk about the Internet Network protocols need.
한국기술교육대학교 컴퓨터 공학 김홍연 Habitat Monitoring with Sensor Networks DKE.
Lan F.Akyildiz,Weilian Su, Erdal Cayirci,and Yogesh sankarasubramaniam IEEE Communications Magazine 2002 Speaker:earl A Survey on Sensor Networks.
A Remote Code Update Mechanism for Wireless Sensor Networks Thanos Stathopoulos, John Heidemann and Deborah Estrin CEG 790 Presentation By: Trevor Smith.
Communication Paradigm for Sensor Networks Sensor Networks Sensor Networks Directed Diffusion Directed Diffusion SPIN SPIN Ishan Banerjee
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
Data Collection and Dissemination. Learning Objectives Understand Trickle – an data dissemination protocol for WSNs Understand data collection protocols.
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 2 v3.1 Module 7 Distance Vector Routing Protocols.
Routing and Routing Protocols
Routing Networks and Protocols Prepared by: TGK First Prepared on: Last Modified on: Quality checked by: Copyright 2009 Asia Pacific Institute of Information.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connecting Devices CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL Department of Electronics and.
1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
Centroute, Tenet and EmStar: Development and Integration Karen Chandler Centre for Embedded Network Systems University of California, Los Angeles.
0.1 IT 601: Mobile Computing Wireless Sensor Network Prof. Anirudha Sahoo IIT Bombay.
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
1 Chapter 4: Internetworking (IP Routing) Dr. Rocky K. C. Chang 16 March 2004.
7/9/2007 AIIT Summer Course - D# 1 Wireless Embedded Systems and Networking Foundations of IP-based Ubiquitous Sensor Networks Self-Organized Multihop.
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
KAIS T Location-Aided Flooding: An Energy-Efficient Data Dissemination Protocol for Wireless Sensor Networks Harshavardhan Sabbineni and Krishnendu Chakrabarty.
Sensor network routing protocol for underground robot remote control Demonstration picture (IDF)
Routing and Routing Protocols CCNA 2 v3 – Module 6.
Chapter 6: Network Layer
CCNA 2 v3.1 Module 7 Distance Vector Routing Protocols
Trickle: Code Propagation and Maintenance
Intra-Domain Routing Jacob Strauss September 14, 2006.
Chapter 2: Static Routing
Vidur Nayyar Xueting Wang Weicong Zhao
Aayush Patidar Ashwin Ramakrishnan Manoj Juneja
Connectors, Repeaters, Hubs, Bridges, Switches, Routers, NIC’s
Presentation transcript:

Remote Programming Dissemination Collection Network Management Gilman Tolle (also speaking for Jonathan Hui)

A Sensor Network Link?

A Sensor Network Link!

Why Over-The-Air Reprogramming? Embedded nature of sensor networks – they’re small! Network scales reaching thousands of nodes – there’s a lot of them! A necessity in debugging and testing cycle – we can’t stop messing! Learn about the environment after deployment – things change!  sensing data, network characteristics, etc.

What is Deluge? A reliable data dissemination protocol for program images over a multihop network. Combined with a bootloader (TOSBoot)  Network Programming Program

Deluge Data Representation Program divided into pages, each consisting of N packets. Reduced RAM requirements Allows for spatial multiplexing Program Packets 1234N

How Does Deluge Work? Nodes periodically advertise  Suppress similar advertisements Version 2 here. I only have version 1.

How Does Deluge Work? Neighboring nodes request data  Suppress similar requests Send me page 1!

How Does Deluge Work? Requested data is broadcast Packet 12 of page 1!

How Does Deluge Work? Dropped packets are NACKed Repeat packet 4 of page 1! Repeat packet 32 of page 1!

How Does Deluge Work? Dropped packets are sent again Packet 4 of page 1!

How Does Deluge Work? Advertise for propagation to next hop Version 2 here. I only have version 1.

Spatial Multiplexing Propagate in “waves” Exploit limited radio range for concurrent broadcasts. Reduced completion time o(d + S obj ) vs. o(d * S obj ) Page 0Page 1

Epidemic Propagation Epidemic propagation from one source

Deluge Features Epidemic propagation from one source or many  Continuous propagation effort by all nodes  Turn on/off radios at will  Reach nodes with intermittent connectivity   Will find a path if it exists Aggressive message suppression  Scales with density  Ultra low quiescent traffic

Deluge Features Management  Multiple program images  Image metadata  User confirmation on expensive operations Minimize operator error Robustness  Redundant CRCs  Golden Image with write protect  Load Golden Image Watchdog trigger Golden gesture TOSBoot  TOSBoot as isolated code  Verify CRCs  Verify system voltage ProgAProgBProgC Program Name Compile Time UserID Hostname Platform CRASH! CRC

Deluge Lessons Advantages  Ease of reprogramming 100’s-1000’s of nodes  Does not erase node IDs  Golden Image is immensely useful  Quickly switch between images  More reliable than uisp or msp430-bsl  Deluge over more efficient that ! Disadvantages  Ease of reprogramming 100’s-1000’s of nodes :)

Routing Getting the packets through, across many hops  Every node is a router too Gateway-centric  Get data from the gateway to all the nodes – dissemination  Get data from all the nodes to the gateway – collection  Node-to-node? Message-based  Transferring single packets, datagram-style A layer, with clients above and services below  Attribute Queries and Changes  Event Reporting  RPC Command Layer IP is not the right solution  Any-to-any is not useful enough to justify the state and complexity

Drip Dissemination Layer Each sent message reaches all nodes in the network  Good for sending commands and queries A generic single-message communication layer  command send[type](message) on the host  event receive[type](message) on the node Lightweight header – type and sequence number  Higher layer can add destination addressing Uses Trickle epidemic algorithm (Phil Levis)  Dynamic forwarder selection  Periodic retransmissions  Neighborhood suppression Caches latest message on each channel GW Client

Drain Collection Layer Every node needs to send data to a gateway A generic single-message communication layer  command send[type](message) on the node  event receive[type](message) on the host Very well-studied problem (Too many authors to list)  Link estimation plus distributed execution of shortest-path algorithm Ours must support multiple gateways  Each gateway builds a tree -- each node selects the cheapest next-hop  Automatic subdivision of the network into pieces GW Client

Routing Goals No predefined geographic structure  Routing decisions based only on connectivity and link estimators  Makes it easier to deploy and move nodes  Minimal state – single next hop, update-in-place Robust to lossy networks  Drip periodically retransmits cached data with exponential backoff  Drain uses link-layer ACKs, retransmissions, and long retry window  Experiment with simple duty cycle: 1 second on, 1 second off  Looks just like a lossy network, but the protocols keep working Include rich metadata (source addresse, ttl, sequence numbers)  “How are those bad packets getting into the network?” Impossible to answer without metadata  Enables network management through packet sniffing Even without a specific “management” layer

Network Management Sensor networks fail  All networks fail sometimes! Management lets us detect and respond to problems  Just as important for our networks  Harder to do, thanks to highly dynamic networks! Passive Packet Sniffing Active Network-Layer Monitoring Management Queries Monitoring Policies and Statistics

The Unbearable Lightness of Sniffing Just sniffing packets reveals a wealth of information  Active nodes from routed Drain messages  Network topology from Drain beacon messages  Dissemination behavior from Drip messages  Reprogramming status from Deluge advertisement messages  Overall traffic rates and histograms by type Doesn’t make any extra demands on the network  “If you’re going to send the packet anyway…”  Passive management information gathering Works when the network isn’t running the management layer  Sometimes, you really need that extra few kB of code space GW

The Story About Ping Characterizing the performance of a dynamic network is HARD The first tool of network management: ping  Best with a few nodes that you don’t check very often The second tool of network management: the ping daemon  Can provide historical and current data on many nodes The third tool of network management: the ping visualizer  Scalable way to handle large complex networks  Most networks don’t have a natural spatial realization Our network is firmly embedded in space

The 10,000-Foot View

Management: The Gathering Sometimes, you need to know more than ping can tell you  How long has the node been running?  Has the node been dropping any packets? … and in our energy-constrained mote-land  What is the node’s power source?  Does the node have enough energy to run? Management can be seen as a database problem TinyOS application exports information  Named attributes, variables in RAM Attribute schema generated at compile time  Replace long names with short integers – save bandwidth  Store schema on mote using Deluge Supplement Nucleus component responds to queries  “Get attributes {2, 3, 6} and RAM variable at {0x1a8c} with length {2}” System & App Components Attribute Dispatcher Query Processor Drip/Drain

Nucleus Host Architecture GW Query Translator Monitoring Daemon Web Visualization Command-Line Tools GW Packet Forwarder Other Client Applications XML-RPC Binary Data XML-RPC Binary Data Pixels Characters Other Mgmt Tools