la express park explainedlu/cse521s/slides/agilla.pdfproposal presentation ! 8 min per group! ......
TRANSCRIPT
Video of the Day
Ø LA Express Park Explained!
1
Proposal
Ø One proposal/team, 1 page!q Team members!q Concise description of project !q Responsibilities of each member!q Specific equipment needed!
Ø Written proposal due: 9/20th, 11:59pm!q Email to Mo!
2
Proposal Presentation
Ø 8 min per group!q Including 3 min for questions!
Ø Your elevator pitch!!
Ø Email Mo your slides by 11am on 9/20th !q All use Mo’s laptop à reduce context switches!
3
Agilla: Mobile Agent Middleware for Wireless Sensor Networks
Chenyang Lu!Computer Science and Engineering!
5
Motivation
Ø Adaptive applications in wireless sensor networks!Ø Adapt to changes in!
q the environment!q the network!q user requirements!
6
Example: Forrest
Ø Three applications: 1) Environmental Monitoring, 2) Fire Detection, 3) Fire Tracking!
7
Example: Forrest with Agilla
Env. monitoring agent Fire detection agent Fire tracking agent
Ø Sensor network as a shared computing resource!q Flexible application deployment!
8
Example: Cargo Tracking Ø Thousands of containers leave/join network per day!Ø Software need to be changed on the fly due to!
q Departure and arrival of containers!q Container’s country and company!q Change in security levels and policies!q Change in tracking technologies!
Ø Agilla: support adaptive applications in wireless sensor networks!
9
Agilla’s System Architecture
TinyOS
Node @ (1,1)
Tuplespace
Agilla Middleware
Agents
TinyOS
Node @ (2,1)
Tuplespace
Agilla Middleware
Agents migrate
remote access Neighbor
List Neighbor
List
Middleware Services Middleware Services
10
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)
11
Mobile Agent Model
Ø Mobile agent: unit of execution that can move across hosts!
Ø Multiple mobile agents may share a host!Ø Spatiotemporal decoupling => need shared data
space with uniform interfaces!
12
Tuple Space-Based Coordination Ø Content-addressable shared memory!
q Tuple – A set of data fields!q Template – A pattern that matches particular tuples!
Ø Provides spatiotemporal decoupling in unreliable networks!
“out”
“rout”
“in”
Tuplespace Tuplespace
“in”
13
Tuple Space Model Ø Tuple: collection of data!
q <15, “str”, false>!Ø Tuple space: shared data space containing tuples!Ø Template: patterns which match tuples!
q <15, *, false> matches <15, “str”, false>!
Ø Common tuple space operations:!q out(t): add tuple t to tuple space!q rd(T): copy tuple matching template T from tuple space!q in(T): remove tuple matching template T from tuple space!q regrxn(T, c): execute code segment C when tuple matching
template T is placed in tuple space!
14
Agilla Tuple Space API Ø Remotely accessible localized tuple spaces!Ø Stores context information!Ø Facilitates inter-agent communication!
out: ! !insert!in: ! ! !remove!rd: ! ! !read!inp: ! !probing remove!rdp: ! !probing read!regrxn: ! !register reaction!deregrxn: !deregister reaction!
rout: !insert!rinp: !probing remove!rrdp: !probing read!rrdpg: !probing group read (1-hop)!
Local Remote
Tuplespace
in out
15
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
16
Implementation on TinyOS 1.1.13 Ø Agilla is available for Mica2 and MicaZ motes!
q 4 agents/node!Ø Agent Injector!
q Written in Java !q Remote Injection via RMI!
Ø Key Challenges!q Network bandwidth!
• Compact instructions!q Memory!
• ROM: 54.7KB of 128KB !• RAM: 3.5KB of 4KB!
q Message loss!• Agent-level ARQ!
17
Experimental Set-up Ø 6x9 Mica2 Mote
Testbed!Ø Multi-hop Grid!Ø One base station!
18
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
19
Agilla Instruction Execution Times
Local Operations
Remote Operations
20
Experiences
Ø Fire Detection & Tracking!q Presented at IPSN 2005!
Ø Intruder Detection and Tracking!q Agents guard network perimeter and follow intruders!q Periodically report intruder location to base station!
Ø Cargo & Inventory Management !q In collaboration with Boeing!q Mobile agents load manifests from RFID, find items,
detect security breaches, and send alert to Internet gateways.!
q Demo at SenSys 2005!
21
Fire Tracking Video
Video available at: http://mobilab.wustl.edu/projects/agilla
22
Related Work
Ø Distributing inanimate code modules!q XNP [xbow’03], Deluge [sensys’04], MNP [icdcs’05],
SOS [mobisys’05]!q Maté/Bombilla [asplos’02]!
Ø Mobile Agent-Like Middleware!q Sensorware [mobisys’03]!
• Weak migration only!q Smart Messages [Kang‘04] !
• No remote interactions!• Single thread per node!
23
Agilla Summary
Ø Mobile agent middleware simplifies application deployment & increases network flexibility!
Ø Agilla middleware services!q Agent mobility!q Tuple space-based coordination !q Location-centric addressing!q Context discovery!
Ø Empirical results demonstrate Agilla is reliable and efficient!
24
C.-L. Fok, G.-C. Roman and C. Lu, Agilla: A Mobile Agent Middleware for Self-Adaptive Wireless Sensor Networks, ACM Transactions on Autonomous and Adaptive Systems, Special Issue on Self-Adaptive and Self-Organising Wireless Networking Systems, 4(3), Article 16, July 2009. Agilla: http://mobilab.wustl.edu/projects/agilla
• Source Code • Documentation • Tutorials • Experience Reports
References
Agimone: Middleware Integration of Sensor and IP Networks
!!!Chenyang Lu!Computer Science and Engineering!
26
Motivating Application: Cargo Tracking
Shipping Yard
Ship Train
Truck Customer, Shipper, DHS, CBP
SensorNetwork
SensorNetwork
SensorNetwork
SensorNetwork
IP Network
27
Problem Statement Ø Weak radio => low radio range => isolated
networks => reduced utility!
Ø Communication restrictions can be eased by connecting WSNs using a common IP network!
Ø Custom application-specific software is written to connect sensor and IP networks!q Sensor and IP networks have vastly different
characteristics and capabilities!q Not reusable, error prone, inflexible!
28
Background: Two Distinct Middlewares
TinyOS
Node (1,1)
Tuple SpaceNeighborsNeighbors
Agilla Middleware
MICA2 Mote
Agents
TinyOS
Node (2,1)
NeighborsNeighbors
MICA2 Mote
Agentsmigrate
remote access
Agilla Middleware
Tuple Space
Java VM
Mobile Host 1
Limone Server
Agents
Java VM
Mobile Host 2
Agentsmigrateremote access
TS
AQ
L
TS
AQ
L
TS
AQ
L
TS
AQ
L
TS
AQ
L
TS
AQ
L
TS
AQ
L
TS
AQ
L
Limone Server
Agilla: Sensor Network Middleware Limone: IP Network Middleware
• Mobile Agents • Host-level tuple spaces • Host-level neighbor list
• Mobile Agents • Agent-level tuple spaces • Agent-level neighbor list
Severe resource limitations Resource rich
29
Programming Models
Ø Agilla byte code!Ø Hosted on custom VM!Ø Handful of well-known
data types!
Ø Java !Ø Hosted on Java VM!Ø Rich data types!
Agilla Limone
30
Agimone
Network Architecture System Components
31
Agimone Services Ø Shared data space!
q AgimoneAgent has own Agilla TS!q Agilla agents access TS directly!q AgimoneAgent wraps Agilla TS in
Limone TS API!
Ø Sensor network discovery!q AgimoneAgent advertises self with
Limone Registry!q Limone Registry distributes ad to
other AgimoneAgents!q Ads stored in AgimoneAgent’s
Agilla tuple space!
32
Agimone Services Inter-network Migration
Ø Multi-step process!Ø Though internally
complex, appears simple to Agilla agent developer!
33
Cargo Tracking Revisited Ø Watchdog Agents!
q Monitors sensors!q Sends alert to base station!q Port authority’s Limone agent
reacts to it!q 17 lines of Agilla code, 11
lines of Java code!Ø Intrusion Search Agent!
q Searches multiple WSNs for alert tuples!• Autonomously crosses WSN
boundaries!q 23 lines of Agilla code, no
additional Java code!
34
Experimental Setup
100Mbps Ethernet IBM R40 Laptop • 1.5GHz Pentium M • 512MB RAM • Windows XP
Mica2 Mote on Gateway • 7.4MHz Atmel 128L • 4KB RAM • TinyOS
115kbps serial
35
Performance: Agimone Services
Ø TS operations between mote and PC take 10-11 ms, regardless of type or direction!
Ø Cross-WSN migration takes ~85 ms!Ø As size of agent increases, serial link becomes
bottleneck!
36
Performance: Middleware Overhead
Ø Native implementation done using simple message passing!q 27.39ms faster to move in and out of one WSN!q 78.39ms faster round-trip across two WSNs!
In-and-Out latency End-to-End Migration Latency
37
Other Integration Frameworks Ø Hourglass [J. Shneidman, et al. 04] and Stream-Based
Overlay Networks [P. Pietzuch, et al. 06]!q Routes data from WSN to Internet, but does not support
applications!Ø Tenet [R. Govindan, et al. 05]!
q PCs directly control sensors; no support for autonomous task migration!
Ø SERUN [J. Liu, et al. 05]!q Embedded microservers control sensors; tasks cannot migrate
across microservers!Ø IrisNet [P. Gibbons, et al. 03]!
q Applies database abstraction to desktop PCs with sensing peripherals (e.g., webcams)!
38
Conclusions
Ø Agimone middleware enables integration of sensor and IP networks.!
Ø Cargo tracking application demonstrates that Agimone simplifies development.!
Ø Enhance productivity at the cost of moderate performance overhead.!
!
39
G. Hackmann, C.-L. Fok, G.-C. Roman and C. Lu, Agimone: Middleware Support for Seamless Integration of Sensor and IP Networks, International Conference on Distributed Computing in Sensor Systems (DCOSS'06), June 2006. http://www.cs.wustl.edu/mobilab/projects/agimone/
• Source Code • Documentation • Tutorials • Experience Reports
References