weave: an architecture for tailoring urban sensing applications across multiple sensor fabrics v....
Post on 31-Dec-2015
217 Views
Preview:
TRANSCRIPT
Weave: An architecture for tailoring urban sensing applications across multiple sensor fabrics
V. Kulathumani, M. Sridharan, R. Ramnath, A. Arora
Dept. of Computer Science and EngineeringThe Ohio State University
Motivating scenario: campus surveillance
Track suspicious persons across campus – outdoors and indoors
Outdoor surveillance by building mounted camera network
Monitors suspicious activity such as stopped car
Indoor surveillance by motion triggered camera network Should only monitor suspicious persons Should be cued to operate by outdoor network
Motivating scenario: locality queries
Variety of networks deployed to monitor local environment
PeopleNet – Cellphones + Psi-motesProvides user interaction mediumCan localize cooperative objects
Room occupancy networkElevator status network
Users ask locality specific queries; Where is Anish? Where is elevator?
Developing applications on already existing networks Example: programming detector for “stopped car near entrances” Users who write applications may be different from network
designers
Composing applications across independent, varied networks Example: indoor network cued by outdoor network
Rapid prototyping despite retrieving semantically different data ‘Events’ of interest not known a priori or change quickly Numerous networks, each sensing “different” data Need unified way to retrieve
Challenges
Contributions
Architecture for urban sensing systems (Weave) Individual networks viewed as programmable fabrics Fabrics are independently managed Fabrics need not share data Fabrics conform to APIs
Generic (Standard across fabrics) Domain specific
Domain specific API for class of Search applications
Illustrating use of Weave in composing Campus surveillance application Locality query applications
System components
Sensing Fabric
Fabric ManagerIndependent decoupled networksSense, communicate physical phenomenaNeed not share state with other fabrics
APIs Communicate via standardized APIs
Client
Applications that access fabrics via servicesGranted access via access manager
Access Manager
Directory
Maintain directory of services offered Grants access rights for fabric
Communication Network
APIs
Sensing Fabric
Fabric Manager
System components Specific to Search applications
Object types Defined by predicates on physical phenomenon Cooperative / non-cooperative Attributes such as location and velocity
Objects Instances of object types
Detector Associated with each object type Implemented by
Fabric designer Client
Generic APIs in Weave
Register
FabricSession Register(Fabric F, Client C)
Handles authentication
FabricSession used in future references
Contains expiration
Generic APIs in Weave
Instantiate
Boolean Instantiate(FabricSession, Detector, Shareable)
Program client’s detector on fabric
User should be aware of internal fabric APIs
Made available to other Clients using Shareable
Security
o Run in isolation
o Restrict hardware APIs
Vertical APIs for Search class
Search
SearchSession Search (FabricSession, ObjectType, Object, Locations, Parameters, Persistence, Duration, Periodicity, SearchListener)
Operates in following modes
o Find if object exists
o Search temporally
o Search spatially
SearchListener is call back provided by Client
Locality specific querying
Register with fabrics: CSE peopleNet and RPAC PeopleNet
Where is Anish?
Search CSE PeopleNet fabric and Recreation Center fabric
FabricSession_cse Register(CSE_peopleNet, Client)
FabricSession_rec Register(REC_peopleNet, Client)
Locality-specific querying
Search PeopleNet CSE for Anish
Result_cse Search (FabricSession_cse, ADVERTISED, ANISH, LOCATION_ALL, Parameters, ONCE, NOW, NULL, SearchListener)
CSE building PeopleNet tracking
Campus surveillance scenario
Register with fabrics: Outdoor camera, Indoor motion triggered camera
FabricSession_m Register(OutdoorFabric, Client)
FabricSession_ca Register(IndoorCamera, Client)
Instantiate detector for stopped car near entrance on outdoor fabric
Result_m Instantiate(FabricSession_m, stoppedCar, YES)
Campus surveillance scenario
Search for StoppedCar object type
Result_m Search (FabricSession_m, StoppedCar, NULL, LOCATIONALL, Parameters, PERSISTENT, 0, FOREVER, SearchListener)
Calls SearchListener whenever new object is detected
Stopped car detected
This will cue indoor fabric
Campus surveillance scenario
Outdoor fabric cues indoor camera using time and location
LOCATIONS set to near entrance of building; ObjectType is ANY
Duration - next 120 seconds; Periodicity - return results at 1 second interval
Result_ca Search (FabricSession_ca, ANY, NULL, LOCATIONS, Parameters, PERSISTENT, 120, 1, SearchListener)
Indoor camera takes picture
Related work
Simplifying application design across heterogeneous networks Senserweb
Push based model
GENI All services in or architecture compatible with GENI user services We do not force isolation
Viewing network as database of queryable object TinyDB
Queries on raw data We operate on semantic values exposed by fabric Focus on optimizing querying in a single network
Current work
Implement low level services necessary for fabric model Power management Secure scheduling services
Security Jamming detection Restricted set of hardware APIs accessible to client
top related