Title: Design and Implementation of a Middleware for Sentient Spaces
1Design and Implementation of a Middleware for
Sentient Spaces
- Bijit Hore, Hojjat Jafarpour, Ramesh Jain,
Shengyue Ji, Daniel Massaguer - Sharad Mehrotra, Nalini Venkatasubramanian,Utz
Westermann - School of Information and Computer Science
- University of California, Irvine
2Outline
- Rescue project Responsphere
- Multimodal sensor data processing
- SATware architecture
- Stream model
- SATRuntime Stream processing runtime
- SATLite Stream query and transformation language
- SATDeployer Operator deployment
- Privacy
- SATware Demo
- Related work
3Rescue project and Responsphere
- Exploiting IT for effective response to
unexpected events - Responsphere a unique infrastructure for
situation monitoring and awareness in the context
of emergency response - Includes more than 200 sensors of 10 different
types deployed over the geographical space that
covers about half of the UCI campus.
4Multimodal sensor data processing Application
- SATware applications
- Surveillance and monitoring
- Emergency response
- Situation awareness
- Drills
5Surveillance Application
- A building is equipped with multimodal sensors
- Video cameras. RFID readers, Motes,..
- Specific event should be detected and
notifications should be generated
6Multimodal sensor data processing Challenges
- Abstraction
- Entities and spaces
- Virtual sensor concept
- Multimodal stream processing
- Heterogeneous stream sources e.g., video cam,
RFID, mote, .. - Scalability
- Extensibility
- Mobility
- Privacy
7SATware
- A distributed middleware for capturing
semantically meaningful events - Provides higher level of semantic abstraction
compared to sensor middleware - Two level stream processing
- Semantic event stream processing
- Sensor data stream processing
8SATware stream processing model
9SATware architecture Stream model
- Data model
- A stream is a flow of records ltt , C ,
Confidencegt - t time stamp
- C content
- Confidence probability of the correctness of
tuple content - lt 121025 , PersonID 7 , 0.9 gt
- lt 113231 , RoomOccupancy 4 , 0.75 gt
10SATware architecture Stream model
- Processing model
- Operators
- Input, output buffer
- Operator types
- Image processing operators
- Join operators
- Synchronization operators
- Filtering operators
Oi
11SATware architecture Stream model
Sample image processing operator
lt ti , Door Status gt
lt ti , Jpeg image gt
Oi
Sample synchronizer operator
lt ti , PersonID gt
lt ti , PersonID , Door Statusgt
Oi
lt ti, Door Statusgt
Sample join operator
lt ti , PersonID gt
lt ti , PersonEntery gt
Oi
lt ti, Door Statusgt
12SATware architecture
13SATware architecture SATRuntime
- Main components
- Set of processing nodes
- SATRuntime component
- One SATRuntime on each processing node
- Interface for operators (running, accepting,
migrating, connecting,) - Operators as mobile agents
- Input stream, output stream buffers
- Operator connection interface
- Operator migration
14SATware architecture SATRuntime
- SATRuntime infrastructure directory
- Available streams
- Sensor and Operator repository
- Sensor management
- public boolean addSensorInstance(SensorInstance
sensorInstance) - Sensor.setLocation( Location l )
- Operator management
- public boolean addOperatorInstance(OperatorInstanc
e operatorInstance) - Deployment status
- Operator graph
- Operator location
15SATware architecture SATLite
- SATLite Defines the query plan
- Set of interconnected operators fed by sensors
- SATLite provides a query plan by translating the
query into a graph - Select t , PersonID from DoorStatus and PersonID
where Person.t DoorStatus.t and
DoorStatusOPEN
lt ti , PersonID , Door Statusgt
lt ti , PersonID gt
Oj
Oi
lt ti , PersonID gt
lt ti, Door Statusgt
16SATware architecture SATDeployer
- Translating a query plan into a deployment plan
- Mapping query plan nodes into processing nodes
- Minimizing query processing cost
- Network cost
- Computing cost
- Query evaluation time
- Optimizations
- Operator reuse
- Load balancing
17SATware architecture Privacy
- Hiding individuals identity
- Revealing individuals identity when a predefined
policy is violated - Sensors are trusted components
- Adversary is an inquisitive but non-interfering
(passive) entity that can observe all stored data
and intercept all communication between two
components of the system.
18Sentient building demo
- A pervasive space equipped with sensors
- Video cams, RFID readers, Motes, Mobile sensing
platforms, - SATRecorder a building surveillance application
- Recording video feed based on timed schedule or
event detection - Coffee room scenario
- Sensors 2 video cams, RFID reader
- Sample policy if pot is empty and burner is on
record video
19Sentient building demo
20Sentient building demo
21Sentient building demo coffee room
- Event definition
- Select PersonID from KitchenEvent where
CoffeeLevel EMPTY and PotInPlace TRUE and
BurnerStatue ON - Network model and query plan
22Sentient building demo coffee room
23Related work
- Data stream processing
- Aurora, STREAM, TelegraphCQ
- Sensor networks
- Multimedia stream processing
- IBM S3, MedsMan, IrisNet, Smart Camera Network
24Conclusion
- We proposed
- Challenges in sensor stream processing
- SATware A middleware for sentient spaces
- A surveillance application based on SATware
- Future plan
- Expanding sensor deployment
- Sophisticated event detection
- Improving SATLite and SATDeployer
- Integrating more sophisticated privacy preserving
techniques