IrisNet: A Planetary-Scale Architecture for Multimedia Sensors

Download Report

Transcript IrisNet: A Planetary-Scale Architecture for Multimedia Sensors

IrisNet:
A Planetary-Scale Architecture
for Multimedia Sensors
Phillip B. Gibbons
Intel Research Pittsburgh
January 19, 2007
IrisNet
Slides are © Phillip B. Gibbons
What is a Sensor Network?
• Tiny sensor nodes with very limited processing power,
memory, battery. Scalar sensors (e.g., temperature)
• Closely co-located, communicating via an ad hoc
low-bandwidth wireless network
• Singly tasked
Microservers?
not so tiny, PDA-class processor
wide-area, not ad hoc
Fault-line monitoring?
Broadband?
not low-bandwidth
Webcams?
not scalar, can be multi-tasked
Tanker/Fab monitoring?
© Phillip B. Gibbons
IrisNet
powered, wired
2
Sensor Networks is a Rich Space
• Characteristics of sensor network depend on
• Requirements of the application
• Restrictions on the deployment
• Characteristics of sensed data
• Sampling the real world
• Tied to particular place and time
UCLA CENS NIMS
James Reserve
• Often write-dominated:
Data Sampled far more than Data Queried
© Phillip B. Gibbons
IrisNet
3
Multimedia Sensor Systems
• Rich collection of (cheap) sensors
• Cameras, Microphones, RFID readers, vibration
sensors, etc
• Internet-connected. Potentially Internet-scale
• Tens to millions of sensor feeds over wide-area
• Pervasive broadband (wired & wireless)
• Goal: Unified system for accessing, filtering,
processing, querying, and reacting to sensed data
• Programmed to provide useful sensing services
© Phillip B. Gibbons
IrisNet
4
Example Multimedia Sensing Services
Consumer services:
• Parking Space Finder
• Lost & Found / Lost pet
• Watch-my-child / Watch-my-parent
• Congestion avoidance
© Phillip B. Gibbons
IrisNet
5
Example Multimedia Sensing Services
Health, Security, Commerce, and Science services:
• Epidemic Early Warning System
• Homeland Security
• Low Atmosphere Climate Monitoring
• Asset/Supply Chain Tracking
• Internet-scale Sensor Observatories
© Phillip B. Gibbons
IrisNet
Our prototype
6
Sensor Network Challenges?
• Resource-constrained sensor networks present many
unique challenges
• Battery limitations => limiting communication,
duty cycles, etc
• Limited processing power & memory =>
new OS, languages, algorithms, etc
• On the other hand, in multimedia sensor systems
• Nodes are powerful,
well-connected
Where’s the Challenge?
© Phillip B. Gibbons
IrisNet
7
Data & Query Scaling Challenges
• Data scaling
• Millions of sensors
• Globally-dispersed
• High volume feeds
• Historical data
• Query scaling
NetRad: 100Mb/s
• May want sophisticated data processing on all
sensor feeds
• May aggregate over large quantities of data, use
historical data, run continuously
• Want latest data, NOW
© Phillip B. Gibbons
IrisNet
8
Further Challenges
IrisNet
addresses some of these challenges
• System
Scaling
• How to manage a million node system?
Many open problems remain…
• How to write services for a million node system?
• System Heterogeneity
• Sensor types, Nodes, Networks, Admin. Domains
• Shared Resource
• Privacy & Security
• Competing actuation
© Phillip B. Gibbons
IrisNet
9
Outline
• Multimedia Sensor Systems: Opportunities &
Challenges
• IrisNet overview
• IrisNet key features
• Conclusions
© Phillip B. Gibbons
IrisNet
10
IrisNet: Internet-scale Resourceintensive Sensor Network services
• General-purpose architecture for wide-area sensor
systems
• A worldwide sensor web
www.intel-iris.net
• Key Goal: Ease of service authorship
• Provides important functionality for all services
• Intel Research Pittsburgh + many CMU collaborators
• First prototype in late 2002, in use
• In ACM Multimedia, BaseNets, CVPR, DCOSS, DSC, FAST,
NSDI(2), Pervasive Computing, PODC, SenSys, Sigmod(2)
© Phillip B. Gibbons
IrisNet
11
Data & Query Scaling in IrisNet
• Store sensor feeds locally
• Too much data to collect centrally
• Push data processing & filtering to sensor nodes
• Reduce the raw data to derived info, in parallel
near source
• Push queries to sensor nodes
• Data sampled >> Data queried
• Tied to particular place: Queries often local
• Exploit logical hierarchy of sensor data
• Compute answers in-network
© Phillip B. Gibbons
IrisNet
12
Ease of Service Authorship
• What is a minimal service specification?
• Application-specific functionality needed
• Program sensor system as a whole
• Provide a simple, centralized view of the system
• Data as a single queriable unit
• Declarative (database-centric) approach
• Be the Google/Ask Jeeves for live content
IrisNet uses XML: Self-describing tags, Hierarchy
© Phillip B. Gibbons
IrisNet
13
Data Organized as Logical Hierarchy
<State id=“Pennysylvinia”>
<County id=“Allegheny”>
Example XML Hierarchy
<City id=“Pittsburgh”>
<Neighborhood id=“Oakland”>
<total-spaces>200</total-spaces>
<Block id=“1”>
<GPS>…</GPS>
<pSpace id=“1”>
<in-use>no</in-use>
<metered>yes</metered>
</pSpace>
<pSpace id=“2”>
…
</pSpace>
Hierarchy is automatically
</Block>
partitioned among the OAs
</Neighborhood>
<Neighborhood id=“Shadyside”>
…
© Phillip B. Gibbons
IrisNet
14
…
…
…
IrisNet’s Two-Tier Architecture
Two components:
SAs: sensor feed processing
OAs: distributed database
Query
User
Web Server
for the url
...
OA
XML database
OA
XML database
...
SA
SA
senselet
senselet
senselet
senselet
Sensornet
© Phillip B. Gibbons
Sensor
OA
XML database
...
Sensor
SA
senselet
senselet
Sensor
IrisNet
15
SAs and Senselets: Further Details
• Each SA runs a C module that provides a
common runtime environment for senselets
• Senselets are arbitrary Linux binaries
SA
senselet
senselet
Sensor
• Can leverage OpenCV image processing library
• Example senselet: images to parking availability
• Send updates to OAs
• Multiple senselets can share the same sensor feed
• Senselets are uploaded to running SAs
Deployment costs greatly reduced:
Services share same sensors and infrastructure
© Phillip B. Gibbons
IrisNet
16
Creating a New IrisNet Service
Only 500 lines ofFFFFEFF
new code Send to OA
Updates DB
for Parking Space Finder
Image processing steps
Extended code
Senselet
Hierarchy (application-specific
(program to
aggregation)
filter sensor data) (XML schema)
SA
© Phillip B. Gibbons
OAs
IrisNet
Front-end
Query with standard
DB language
SA
17
Outline
• Multimedia Sensor Systems: Opportunities &
Challenges
• IrisNet overview
• IrisNet key features
• Conclusions
© Phillip B. Gibbons
IrisNet
18
IrisNet Key Features
• Distributed data collection and storage
• Support for XML queries for distributed DB
• Transparently routing queries to data
• Automatic data partitioning
• Multi-camera calibration & Image stitching
• Efficient and protected sharing of sensor nodes
• Privacy features
• Triggering and actuation
• Novel fault tolerance schemes
© Phillip B. Gibbons
IrisNet
19
Blind Men and Elephant Problem
• OA’s local DB contains some fragment of the overall
service DB
• Not a federation – A single XML document
• Quickly determining which part of an (XPATH) query
answer can be answered from an XML fragment is a
challenging task, not previously studied
• E.g., can this predicate be correctly evaluated?
• Is the result returned from local DB complete?
• Where can the missing parts be gathered?
© Phillip B. Gibbons
IrisNet
20
Query Evaluate Gather (QEG)
/NE/PA/Allegheny/Pittsburgh/(Oakland | Shadyside) / rest of query
Q
Pittsburgh OA
1. Queries its XML DB
2. Evaluate the result
Discovers Shadyside data
is cached, but not Oakland
Does DNS lookup to find
IP addr for Oakland
3. Gathers the missing data
by sending Q’ to Oakland OA
Combines results & returns
Q’
Oakland OA
QEG
Q’: /NE/PA/Allegheny/Pittsburgh/Oakland/ rest of query
© Phillip B. Gibbons
IrisNet
21
Helping the Blind Men
[Sigmod’03]
• Tag the data
• IrisNet tags the nodes in its fragment with status
info, indicating various degrees of completeness
• Maintains partitioning/tagging invariants
• E.g., when gather data, generalize subquery to
fetch partitionable units
• For each missing part, construct global name from its
id chain & do DNS lookup as before
• Specialize subquery to avoid duplications & ensure
progress
© Phillip B. Gibbons
IrisNet
22
IrisNet’s Query Processing (cont)
• XPATH query converted to an XSLT program that
walks the local XML document & handles the various
tags appropriately
• Conversion done without accessing the DB
IrisNet supports all of XPATH 1.0
Supports (distribution transparent) continuous queries
& application-specific aggregates, predicates, states
(Technically, the unordered projection of XPATH)
© Phillip B. Gibbons
IrisNet
23
IrisNet Key Features
• Distributed data collection and storage
• Support for XML queries for distributed DB
• Transparently routing queries to data
• Automatic data partitioning
• Multi-camera calibration & Image stitching
• Efficient and protected sharing of sensor nodes
• Privacy features
• Triggering and actuation
• Novel fault tolerance schemes
© Phillip B. Gibbons
IrisNet
24
Adaptive Data Partitioning & Placement
Distributed Query Processing
(Internet)
Distributed Storage
Storage
Distributed
Partitioning
Replication
Placement
…
For robustness and performance
Goal: Automate these data-management tasks
© Phillip B. Gibbons
IrisNet
25
Desired Behavior
1. Partitioning +
Placement
2. Replication +
Placement
© Phillip B. Gibbons
IrisNet
26
Problem Statement
Given
Determine
Hierarchical databases
Data
partitioning
Cluster
based on
access locality
Optimize
© Phillip B. Gibbons
Machine capacities
Replication
factor
Data
placement
Write-heavy
Near data
data => few
and
replicas
query sources
Query
latency
Query
traffic
IrisNet
Update
traffic
27
IrisNet Data Placement algorithm
[FAST’05]
• Distributed Algorithm using locally collected stats
• E.g., link use frequency (hierarchy), read/write
ratio, GNP coordinates of readers & writers
• Balances desire to cluster vs. placing near sources
• Replica selection probability ≈ inversely
proportional to recent response time
• Fast response to flash-crowds
• Reacts quickly
• Accounts for delay between off-load decision &
corresponding load decrease
• Approximates globally optimal solution
© Phillip B. Gibbons
IrisNet
28
IDP Adapting to Flash Crowds
IrisNet with IDP
IrisNet without IDP
Response time (sec)
8
6
Flash-crowd
4
2
0
10
20
30
40
50
60
70
80
Time (Minute)
Live PlanetLab deployment with real workload
© Phillip B. Gibbons
IrisNet
29
IrisNet Key Features
• Distributed data collection and storage
• Support for XML queries for distributed DB
• Transparently routing queries to data
• Automatic data partitioning
• Multi-camera calibration & Image stitching
• Efficient and protected sharing of sensor nodes
• Privacy features
• Triggering and actuation
• Novel fault tolerance schemes
© Phillip B. Gibbons
IrisNet
30
Auto-Calibrating Cameras
• Automatic extrinsic calibration
• Many, unattended cameras
• External forces => out-of-band
camera movement
• Goal: Determine physical positions
& orientations of cameras wrt the
scene
• Keypoint algorithm finds
correspondences between cameras
• Key points: rotation & scaling
invariant, plentiful, distinctive
• Calculate homographies & combine images
© Phillip B. Gibbons
IrisNet
31
Improved Key Point Algorithm
SIFT (4/10)
PCA-SIFT (9/10)
[CVPR’04]
White solid – correct matches
Black dotted – incorrect matches
© Phillip B. Gibbons
IrisNet
32
PCA-SIFT In Action
© Phillip B. Gibbons
IrisNet
33
IrisNet Key Features
• Distributed data collection and storage
• Support for XML queries for distributed DB
• Transparently routing queries to data
• Automatic data partitioning
• Multi-camera calibration & Image stitching
• Efficient and protected sharing of sensor nodes
• Privacy features
• Triggering and actuation
• Novel fault tolerance schemes
© Phillip B. Gibbons
IrisNet
34
Network Monitoring using IrisNet
We have deployed IrisNet on the PlanetLab network
• 450+ nodes, 5 continents
• “Sensor” feeds are CPU, memory & network
measurements at each node
Demonstrates wide-area scaling, robustness features
© Phillip B. Gibbons
IrisNet
35
IrisNet’s Deployment on PlanetLab:
Lessons Learned
• Robustness, robustness, robustness
• Platform heterogeneity => VM-based?
• Load balancing
• Processes die; connectivity flaky (on re-connect
incorporate into running aggregate query)
• Correlated failures:
• replication scheme matters: used Signed Quorum
Systems (SQS)
• subtleties arise (can predict 99% of failure
patterns and still not improve availability)
• Importance of relative object assignment
© Phillip B. Gibbons
IrisNet
36
IrisNet’s Availability on PlanetLab
Fraction of available data objects in IrisStore
1
0.9
0.8
Fraction of
available
PlanetLab
nodes
0.7
- 60 - 50 - 40 - 30 - 20
-10
0
Hours before SOSP’05 deadline
• 7 replicas/object with SQS quorum size = 2
© Phillip B. Gibbons
IrisNet
[NSDI’06]
37
Outline
• Multimedia Sensor Systems: Opportunities &
Challenges
• IrisNet overview
• IrisNet key features
• Conclusions
© Phillip B. Gibbons
IrisNet
38
Pervasive Sensing is Emerging
• Planetary-Scale Multimedia Sensor Systems
• Beyond motes: wide-area, broadband, multimedia,
multi-tasked
• Many opportunities for new services
• Many Challenges
• Data & Query Scaling
• System scaling (authoring, robustness)
• System heterogeneity
• Shared resource
© Phillip B. Gibbons
IrisNet
39
A Distributed Systems Nightmare
Planetary-scale Multimedia Sensor Systems are:
Must hide this complexity
• Write-intensive,
time-critical,
high volume, mobile,
from application
developers
heterogeneous, shared, subject to harsh conditions,
include both sensing & actuation
• Continuous/Global/aggregating queries (macroscope)
• Programmed by many developers for many
applications
• …dynamically changing mix
• …sensors shared by many applications
© Phillip B. Gibbons
IrisNet
40
IrisNet: Architecture & Prototype
Two components:
SAs: sensor feed processing
OAs: distributed database
Query
User
Web Server
for the url
...
www.intel-iris.net
open source code,
papers
OA
XML database
OA
XML database
...
SA
SA
senselet
senselet
senselet
senselet
Sensornet
© Phillip B. Gibbons
Sensor
OA
XML database
...
Sensor
SA
senselet
senselet
Sensor
IrisNet
41
IrisNet Team
• Phil Gibbons [project leader, databases, Feb02- ]
• Rahul Sukthankar [computer vision, robotics, Jan03- ]
• Babu Pillai [real-time systems, Sep03- ]
• Jason Campbell [robotics, Oct03- ]
Intel Research
Pittsburgh
• Haifeng Yu [distributed systems, Dec03- ]
• Brad Karp [networking, Nov02-Nov03]
+ many valuable suggestions from M.Satyanarayanan
• Srini Seshan [networking, systems, Mar02- ]
• Suman Nath [grad student, May02-Aug05 ]
• Yan Ke [grad student, Sep02-Apr04 ]
Carnegie Mellon
University
Summer interns: Amol Deshpande [Berkeley], Shimin Chen
[CMU], Dilip Sundarraj [Portland St], Amit Manjhi [CMU],…
© Phillip B. Gibbons
IrisNet
42
Backup Slides
© Phillip B. Gibbons
IrisNet
43
Coastal Imaging using IrisNet
• Working with oceanographers at Oregon State
• Process coastline video to detect & analyze sandbar
formation and riptides, etc
Images from IrisNet prototype
© Phillip B. Gibbons
IrisNet
44
Query-based Image Stitching
• Stitch images from multiple cameras
• What does the LA-region coast look like today?
• How is “this” rip current going to progress
in the next 24 hours?
Use “Key Points” to automatically find
how images fit together (planar scene)
+
© Phillip B. Gibbons
+
IrisNet
=
45
Disconnection-Tolerant Query Processing
• Intermittent sensor disconnections
• Wireless link failures
• Internet delays to remote sites
• Power-saving duty cycles
• Mobile nodes out-of-range
• Why is this important ?
• Disconnected sensors still collecting data
• Data resides only on that node: can’t replicate yet
• Weakest availability link in system
• Query responses based on stale data can be
problematic
© Phillip B. Gibbons
IrisNet
46
Advantage of Disconnection-Tolerant QP
Real World Trace ( 2 sec Delay Jitter Tolerance)
500
Number of Queries
450
432
415
397
400
350
Complete
318
315
100%
300
95-100%
250
200
150
165
127
88
100
50
12 3
81
2 2
90-95%
< 90 %
67
2 1
1 0
14 3
0
30
60
90
120
conventional
Time (in secs)
© Phillip B. Gibbons
IrisNet
47
Relative Object Assignment
ABCD
EFGH
ABCD
ABCD
GHAB
EFGH
CDEF
EFGH
• Do they give us the same availability?
• How large is the difference?
© Phillip B. Gibbons
IrisNet
NO,
Left better
Over 2 nines
for TPC-H
48
Synopsis of Related Work
• Sensor Networks
• Specialized local sensor networks , e.g., home security
• Satellite-based data collection
• Mote-based: local network of sensors with small CPUs
• Large-Scale Distributed Databases
• E.g., PIER (P2P DB), SQL transactions, XML collections
• Multi-Camera Systems & Algorithms
• E.g., VSAM – study detecting & tracking objects
• E.g., Lee at al [PAMI], Stauffer & Tieu [CVPR] – calibration
© Phillip B. Gibbons
IrisNet
49
Logging & Replay of Queries
• Leaf OA detects loss of connection to SA
• Queries and partial results are logged locally
• Partial results sent based on user preference
• Query is replayed only along disconnected branches
SA-1
SA-1
Leaf
Leaf OA
OA
SA-2
SA-2
Replay
Query
Query log
log
Partial
Partial results
results
Disconnected
Reconnected Mode
Mode
© Phillip B. Gibbons
IrisNet
50
Temporal Repair
Temporally Consistent Complete Result
QUERY:
Stitch latest
complete set
of images
(arrives at ‘t’)
1
2
3
Latest complete
set of images at
‘t-x’
4
5
Image at ‘t’
unavailable
At ‘t-x’
Most recent
© Phillip B. Gibbons
At
At ‘t-x’
‘t’
AtAt‘t-x’
‘t’
More recent data
available at ‘t’
IrisNet
51
Actuation Challenges
• Competing actuation: shared resource
• Economic models
• Multiple cameras, set of requests, fidelity based
on resolution & angle
• Real-time control
• Control Theory
• Planning/Coordinating the actuation
• Multiple ways to accomplish the same goal
• Declarative API
• Query-actuated data collection
© Phillip B. Gibbons
IrisNet
52