1
play

1 Agillas System Architecture Agillas Computational Model Node @ - PDF document

Wireless Sensor Networks (WSNs) Middleware for Sensor Networks: Integration of entire system into a tiny Agilla, Agimone and Servilla package (CPU, RAM, wireless NIC, sensors) Battery Powered Weak radio (IEEE 802.15.4) Chien


  1. Wireless Sensor Networks (WSNs) Middleware for Sensor Networks: Integration of entire system into a tiny  Agilla, Agimone and Servilla package (CPU, RAM, wireless NIC, sensors) Battery Powered   Weak radio (IEEE 802.15.4) Chien Chien-Liang Fok -Liang Fok, Gruia-Catalin Roman, and Mica2 & Mica2dot Low power consumption  Chenyang Lu Ad hoc mesh network  CSE 467S Spring 2009 Intel iMote Tmote Sky Wireless Sensor Network Research Group Department of Computer Science and Engineering Tyndall 25mm cube Smart Dust 2 Applications Problem Definition  Software development for sensor networks is hard Limited resources  Difficult to debug  Structure Monitoring Large & dynamic network Habitat Monitoring Micro-Climate Research   Existing software lacks flexibility Cannot adapt to changes in  • the environment • user requirements Industrial Container Medical Care Military Monitoring Monitoring 3 4 Agilla: A Flexible Middleware for Motivating Example Sensor Networks  Three applications: 1) Environmental Monitoring, 
  Sensor network as a shared computing resource 2) Fire Detection, 3) Fire Tracking Flexible application deployment  Env. monitoring agent Fire detection agent Fire tracking agent 5 6 1

  2. Agilla’s System Architecture Agilla’s Computational Model Node @ (2,1) Node @ (1,1) Agents Agents PC Clone migrate or Stack Migrate Code Condition Codes remote Neighbor Neighbor access Tuplespace Tuplespace List List Heap Two variants: Middleware Services Middleware Services 1) Strong (code + state) Agilla Middleware Agilla Middleware 2) Weak (code only) TinyOS TinyOS 7 8 Location-Base Addressing Tuple Space Coordination: Decoupling  Capture spatial aspect of WSNs out {[string:”job”], [string:”sense”]} in {[string:”job”], [type: string]} 1 (3,3) (3,1) (3,2) 2 boss Tuplespace worker (2,2) clone to (3,3) clone to (3,1) Fire Detection (1,3) (1,1) Agent bosses workers 9 10 Lime: Federated Tuple Space Agilla: Distributed Tuple Spaces  Unreliable wireless network out {[string:”job”], [string:”sense”]} in {[string:”job”], [type: string]} Distributed transactions are too costly Distributed transactions are too costly   Create a unique tuple space to each node 1 But enable remote access  2 “rout” boss Tuplespace worker “in” “in” “out” Tuplespace Tuplespace bosses workers 11 12 2

  3. Agilla Tuple Space API Neighbor Discovery  Remotely accessible localized tuple spaces  Beacon-based out in Contains own location + location of known base station  Stores context information   Each node maintains a list of known neighbors  Facilitates inter-agent coordination Tuplespace Access via: getnbr , numnbrs , cisnbr , randnbr  Local Agent @ (x,y): weak clone to first neighbor if one exists Remote out : insert BEGIN pushc 0 // push 0 onto stack rout : insert in : remove getnbr // get 1st neighbor in list rd : read rinp : probing remove rjumpc GOTNBR // jump if neighbor exists inp : probing remove rrdp : probing read halt GOTNBR wclone // weak clone to neighbor rrdpg : probing group read (1-hop) 
 rdp : probing read pushc 1 routg : group out (1-hop) regrxn : register reaction putled // turn on red LED deregrxn : deregister halt reaction 13 14 Engineering Challenges (1 of 3) Implementation on TinyOS 1.x  Unreliable communication  Agilla is available for Mica2 and MicaZ motes divide agent into small (< 41 bytes) packets 4 agents/node   use link-level ARQs   Agent Injector perform hop-by-hop migration  Written in Java  Remote Injection via RMI  clone(4,1  Key Challenges: ) Memory:  • ROM: 54.7KB of 128KB • RAM: 3.5KB of 4KB Message loss  (1,1) (2,1) (3,1) (4,1) 15 16 Engineering Challenges (2 of 3) Engineering Challenge (3 of 3)  Low bandwidth communication  Limited memory (MICA2 motes have 4KB RAM) Remote tuplespace operations do not utilize hop-by-  Delicate memory allocation:  hop acknowledgements Agent code: 264 bytes  Minimize overhead  Tuple Space: 100 bytes  Tuple: 25 bytes max  Reaction Manager: 10 reactions, 360 bytes  rrdp(…) Neighbor list: 8 neighbors, 32 bytes  Agent op stack: 150 bytes  Max number of agents per node: 3   Memory usage: 3.5KB RAM  (1,1) (2,1) (3,1) (4,1) 54.7KB ROM  17 18 3

  4. Compact Code: An Example (1 of 2) Compact Code: An Example (2 of 2) The fire tracking agent: Agent @ (x,y): Take a reading & send result to base station, loop 1 BEGIN pushn fir BEGIN pushc TEMPERATURE 2 pusht LOCATION sense // sense the temperature 3 pushc 2 // push template onto stack pushc 1 // indicate 1 field in tuple 4 pushc FIRE // push callback address pushloc 1 1 // push location (1,1) onto stack 5 regrxn // register reaction rout // remote out 6 wait // wait for reaction to fire pushc 1 sleep // sleep for 1/8 second 7 FIRE pop rjump BEGIN // jump back to BEGIN 8 sclone // clone to node detecting fire Agent @ (1,1): Block for reading tuple & forward it to laptop, loop … // fire tracking code BEGIN pusht READING // push type=reading 1. Registers a reaction sensitive to fire alert tuples pushc 1 // indicate 1 field in tuple in // blocking in operation 2. Clones itself onto a node that detects fire pushloc uart_x uart_y // push UART address onto stack rout // remote out rjump BEGIN // jump back to BEGIN 19 20 Alternative Agent Using Reactions Agilla 1.x Test Bed  6x9 Mica2 Mote 
 Agent @ (1,1): Register reaction for reading tuples & forwards them to the laptop Test Bed  Multi-hop Grid BEGIN pusht READING // push type=reading pushc 1 // indicate 1 field in tuple  One base station pushc FIRE // push address of FIRE_RXN regrxn // register a reaction … // do other tasks FIRE pushloc uart_x uart_y // push UART address onto stack rout // remote out jumps // jump back to orig. location Base Station 21 22 Performance Evaluation: Agilla Instruction Execution Times migration vs. remote tuple space access Local Migration instructions are more Operations reliable because of hop-by-hop acknowledgements… Remote …but remote tuplespace operations Operations have less overhead 23 24 4

  5. Comparison with Alternate Systems Difficulty to Compare Agilla  What are the alternative systems?  Agilla is not intended to be used as a code- propagator Maté  Deluge   Alternative systems only epidemically propagates code  Agilla propagates agents at application level application level with slight optimization Use tuples to prevent duplicate agents  25 26 Experimental Setup Comparison Results  Washington University Wireless Sensor Network Testbed 31 TelosB nodes, 5 th floor of Jolley Hall  27 28 More Application Experiences Fire Detection and Tracking  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  29 30 5

  6. The Static Fire Agent The Fire Detector Agent 31 32 The Fire Tracker Agent Static Fire Mapping  Entire agent is 58 lines of code  Fire doesn’t move, how fast do tracker agents form perimeter? 33 34 Results of Static Fire Mapping Dynamic Fire Tracking 35 Video available at: http://mobilab.wustl.edu/projects/agilla 36 6

  7. Results of Dynamic Fire Tracker Efficient Network Exploration • Goal: Explore the whole network  Slow: Fire clones every 7 seconds • Off-line genetic algorithm  Fast: Fire clones every 5 seconds determines number of agents and tentative paths • On-line route adaptation strategy. Percent Network explored v. Time 37 38 Intruder Detection and Tracking Cargo Tracking  7 million containers arrive annually into the US Impossible to check every container   Existing container security devices are limited: Base • Requires line-of-sight with satellite Station • Low-bandwidth (six 9B msgs/day) • $500/device, $34.95/mo Tracker sends back a heartbeat. Base station re-deploys tracker if heartbeat goes away. 39 40 Dynamic Context Discovery & Multi- AgiTrack: Cargo Tracking using Agilla Hop Network Formation • Find Cargo • Load Manifest • Find Intrusions Internet base station base Dock station base PDA station base • Manifest station • Security Flags Ship 41 42 7

Recommend


More recommend