Rapid Development and Flexible Deployment of Adaptive Wireless Sensor Network Applications Chien-Liang Fok, Gruia-Catalin Roman, Chenyang Lu Mobile Computing Laboratory Distributed Object Computing Laboratory Department of Computer Science and Engineering
MURI Motivation Software development for sensor networks is hard Limited resources Difficult to debug Large & highly dynamic network Existing software lacks flexibility Entire network runs just one application Cannot adapt to changes in the environment user requirements
MURI Motivating Example Three applications: 1) Environmental Monitoring, 2) Fire Detection, 3) Fire Tracking
MURI Agilla: A Flexible Middleware for Sensor Networks Env. monitoring agent Fire detection agent Fire tracking agent Sensor network as a shared computing resource Flexible application deployment
MURI Agilla’s System Architecture TinyOS (1,1) Tuplespace Agilla Middleware Agents TinyOS (2,1) Tuplespace Agilla Middleware Agents migrate remote access Neighbor List Middleware Services
MURI Agilla’s Computational Model Clone or Migrate Code Stack Heap Condition Codes PC Two variants of each: 1) Strong (code + state) 2) Weak (code only)
MURI Location-Base Addressing Nodes are addressed by location (3,1)(3,2) (3,3) (2,2) (1,1) (1,3) clone to (3,3) clone to (3,1) Fire Detection Agent
MURI Tuple Space-Based Coordination Content-addressable shared memory Tuple – A set of data fields Template – A pattern that matches particular tuples Provides spatiotemporal decoupling “out” “rout” “in” Tuplespace “in”
MURI Implementation on TinyOS Agilla 1.x is available for Mica2 and MicaZ motes 4 agents/node Agent Injector Written in Java Remote Injection via RMI Key Challenges: Memory: ROM: 54.7KB of 128KB RAM: 3.5KB of 4KB Message loss
MURI Agilla 1.x Test Bed 6x9 Mica2 Mote Test Bed Multi-hop Grid One base station Base Station
MURI Performance Evaluation: migration vs. remote tuple space access Migration instructions are more reliable because of hop-by-hop acknowledgements… …but remote tuplespace operations have less overhead
MURI Agilla Instruction Execution Times Local Operations Remote Operations
MURI Application Experiences Fire Detection & Tracking Presented at MURI 3-Year Review and IPSN 2005 Efficient Network Exploration In collaboration with UCI Presented at MURI 3-Year Review Intruder Detection and Tracking Yuling Liang’s CS 521S Class Project Cargo Tracking In collaboration with Robot Navigation Around Fires In collaboration with the Media Machines Lab
MURI Intruder Detection and Tracking Base Station Tracker sends back a heartbeat. Base station re-deploys tracker if heartbeat goes away.
MURI Cargo Tracking 7 million containers arrive annually into the US Impossible to check every container Existing container security devices are limited: Requires line-of-sight with satellite Low-bandwidth (six 9B msgs/day) $500/device, $34.95/mo
MURI AgiTrack: Cargo Tracking using Agilla base station base station Internet Manifest Security Flags Find Cargo Load Manifest Find Intrusions
MURI Dynamic Context Discovery & Multi- Hop Network Formation Ship Dock base station base station PDA
MURI Agilla 2.0 Supports multiple base stations Allows nodes to move (physical mobility) Integrates wireless sensor networks with IP networks Agilla Network Agilla Network Agilla Tuple Space Limone Tuple Space Limone Network (IP) Limone Service Registry Limone agent encapsulates Agilla agent
MURI Systematic Network Traversal
MURI Robot Navigation Mobile agents guide robot safely around the fires
MURI Robot Navigation Videos Without sensor network dataWith sensor network data
MURI System Challenges Multi-Hop Routing No geographic routing implementation available for Mica 2 Not enough memory on Mica2 motes for Agilla & Mint Indoor localization Cricket motes use a different radio packet and don’t have enough memory to run Agilla Use Cricket & Mica 2 platforms Outdoor localization Least Squares Scaling (LSS) UIUC
MURI Conclusions Mobile agent middleware simplifies application deployment & increases network flexibility Empirical results show that deploying sensor network applications via mobile agents is reliable and efficient There are many applications for mobile agents in wireless sensor networks Fire detection Intruder detection Cargo tracking Robot navigation
MURI Agilla URL: Source Code Documentation Tutorials Experience Reports Thank you!