SlideShare a Scribd company logo
1 of 23
SenSocial: A Middleware for Integrating 
Online Social Networks and Mobile Sensing 
Data Streams 
Abhinav Mehrotra, Veljko Pejovic, Mirco Musolesi 
School of Computer Science 
University of Birmingham
Context-aware Systems 
Physical Context Mobile Sensors 
Emotional Context 
Social Context 
Online Social Networks 
2
Context-aware Systems 
Richer 
Contextual 
Information 
App 1 
Real Time 
Integration 
How to integrate? 
Integration 
App 2 
3
Application Scenarios 
Sensor Data 
Social Links 
Sensor Data 
Notification 
Online Social 
Network 
Internet 
Server 
Notification 
Notice of 
friend’s arrival 
to Paris 
Sensor Data 
4
Application Scenarios 
Facebook’s emotional contagion 
experiment, Kramer et al. (2014) 
EmotionSense, Rachuri et al. 
(2010) 
5 
How these can be improved ?
SenSocial 
Richer 
Contextual 
Information 
6
SenSocial Design 
7
Key Abstractions 
Application 
onDataSensed() 
Subscribe Context Data 
SenSocial 
subscribe() 
8 
Publish-Subscribe 
Interaction Paradigm 
Streams Stream Filters 
Stream Aggregators 
Multicast 
Multicast Streams
Publish-Subscribe 
Interaction Paradigm 
Subscription Types 
- Topic-based (e.g., get user’s 
location). 
- Content-based (e.g., get 
user’s location when the user 
posts about football on his/her 
Facebook wall). 
Application 
onDataSensed() 
Subscribe 
subscribe() 
Context 
Data 
SenSocial 
9
Streams 
Types of Stream 
• Continuous (e.g., get user’s location when the user is not 
moving). 
• Social event-based (e.g., get user’s location when the user 
performs an action on Facebook). 
10
Stream Filters 
Data Streams 
Conditions 
A condition comprises of a modality, a comparison operator, and a 
value. 
Example: get location only when a user is not moving. 
Condition c = new Condition(ModalityType.physical_activity, 
Operator.equals, ModalityValue.still); 
Refined Information 
11
Stream Aggregator 
• It wraps multiple streams received by the server into a single 
aggregated stream. 
• Data from individual streams is multiplexed to the same join stream. 
• It works similarly to a normal stream. 
12
Multicast Stream 
Multicast 
• It creates duplicate streams on multiple clients. 
• Clients are selected based on the OSN connectivity and geographic 
location of the users. 
OSN Connectivity Geographic Location 13
Other Features 
Remote Stream Management 
Streams can be created, modified, or destroyed remotely on the 
mobile clients. 
Privacy Control 
By specifying the allowed data type (context modality) and the level 
of granularity (raw or classified). 
14
Evaluation 
15 
Energy Management
Evaluation 
CPU consumption with varying number streams 
Average battery consumption with varying number of OSN actions 
OSN actions 1 2 3 4 5 6 7 
Charge consumed [μAH] 51.7 97.1 142.5 187.8 233.2 278.5 324.3 
Note: the above OSN actions occurred within 20 minute time period and 
each triggered remote sampling of all five supported sensor modalities. 
16
Prototype Applications 
Facebook Sensor Map ConWeb 
17
Facebook Sensor Map 
18
Facebook Sensor Map: Code Snippet 
/*----------- Create streams----------------*/ 
SenSocialManager manager = SenSocialManager.getSenSocialManager(getApplicationContext()); 
String uid = manager.getUserId(); 
User user = manager.getUser(uid); 
Stream s1 = user.getDevice().getStream(SensorUtils.Sensor_Type_Accelerometer, "classified"); 
Stream s2 = user.getDevice().getStream(SensorUtils.Sensor_Type_Microphone, "classified"); 
Stream s3 = user.getDevice().getStream(SensorUtils.Sensor_Type_Location, "raw"); 
/*----------- Create list of filter condition(s) ----------------*/ 
ArrayList<Condition> conditions = new ArrayList<Condition>(); 
Condition c = new Condition(ModalityType.facebook_activity, Operator.equals, ModalityValue.active); 
conditions.add(c); 
/*----------- Add condition list to the filter -----------*/ 
Filter filter = new Filter(conditions); 
/*----------- Set filter to the streams -----------*/ 
s1 = s1.setFilter(filter); 
s2 = s2.setFilter(filter); 
s3 = s3.setFilter(filter); 
/*----------- Register streams -----------*/ 
manager.registerListener(this, stream1.getId()); 
manager.registerListener(this, stream2.getId()); 
manager.registerListener(this, stream3.getId()); 
/*----------- Start streams -----------*/ 
stream1.start(); 
stream2.start(); 
stream3.start(); 19
Programming Effort Evaluation 
Facebook Sensor Map : lines of code reduced by nine times (from 3423 
to 316). 
ConWeb : lines of code reduced by twenty four times (from 3223 to 130). 
Application Name Number of files Lines of code 
Facebook Sensor Map (M) (with SenSocial) 8 103 
Facebook Sensor Map (S) (with SenSocial) 2 213 
Facebook Sensor Map (M) (without SenSocial) 68 2419 
Facebook Sensor Map (S) (without SenSocial) 42 1004 
ConWeb (M) (with SenSocial) 3 23 
ConWeb (S) (with SenSocial) 1 107 
ConWeb (M) (without SenSocial) 61 2278 
ConWeb (S) (without SenSocial) 38 945 
20
Summary 
• We argue that the integration of OSNs and mobile sensor data 
streams can benefit in obtaining richer contextual information. 
• We propose SenSocial to simplify the implementation of such 
ubiquitous computing applications. 
• SenSocial is released as an open-source project. 
Available at: https://github.com/AbhinavMehrotra/SenSocial-Library 
21
http://www.cs.bham.ac.uk/~axm514/sensocial/ 
22
Thank You! 
Questions? 
Abhinav Mehrotra 
Email: a.mehrotra@cs.bham.ac.uk 
GitHub: https://github.com/AbhinavMehrotra/SenSocial-Library 
SenSocial: http://www.cs.bham.ac.uk/~axm514/sensocial/ 
23

More Related Content

Viewers also liked

II-SDV 2014 Design and development of a novel Patent Alerting Service (Bayer ...
II-SDV 2014 Design and development of a novel Patent Alerting Service (Bayer ...II-SDV 2014 Design and development of a novel Patent Alerting Service (Bayer ...
II-SDV 2014 Design and development of a novel Patent Alerting Service (Bayer ...Dr. Haxel Consult
 
ISCRAM 2013: Smartphones as an Alerting, Command and Control System for the P...
ISCRAM 2013: Smartphones as an Alerting, Command and Control System for the P...ISCRAM 2013: Smartphones as an Alerting, Command and Control System for the P...
ISCRAM 2013: Smartphones as an Alerting, Command and Control System for the P...ISCRAM Events
 
A Context and User Aware Smart Notification System
A Context and User Aware Smart Notification SystemA Context and User Aware Smart Notification System
A Context and User Aware Smart Notification SystemTeodoro Montanaro
 
Location-based Services - Introduction
Location-based Services - IntroductionLocation-based Services - Introduction
Location-based Services - Introductionaxelkuepper
 
Mobile learning and application-final presentation
Mobile learning and application-final presentationMobile learning and application-final presentation
Mobile learning and application-final presentationVasumathy Vardarajan
 
Sensing mobile phones
Sensing mobile phonesSensing mobile phones
Sensing mobile phonesArpan Pal
 
"Integration of wireless sensor technology, Internet tools y computational me...
"Integration of wireless sensor technology, Internet tools y computational me..."Integration of wireless sensor technology, Internet tools y computational me...
"Integration of wireless sensor technology, Internet tools y computational me...3JornadasRFID
 
63104996 ppt-on-bubble-sensing
63104996 ppt-on-bubble-sensing63104996 ppt-on-bubble-sensing
63104996 ppt-on-bubble-sensingSam Ram
 
Alerting in Grafana, Grafanacon 2015
Alerting in Grafana, Grafanacon 2015Alerting in Grafana, Grafanacon 2015
Alerting in Grafana, Grafanacon 2015Dieter Plaetinck
 
Specifying the behaviour of building automation systems
Specifying the behaviour of building automation systemsSpecifying the behaviour of building automation systems
Specifying the behaviour of building automation systemsJoão Aguiam
 
Node.js and The Internet of Things
Node.js and The Internet of ThingsNode.js and The Internet of Things
Node.js and The Internet of ThingsLosant
 
Internet of Things (IOT) - Technology and Applications
Internet of Things (IOT) - Technology and ApplicationsInternet of Things (IOT) - Technology and Applications
Internet of Things (IOT) - Technology and ApplicationsDr. Mazlan Abbas
 
Squeezing Deep Learning Into Mobile Phones
Squeezing Deep Learning Into Mobile PhonesSqueezing Deep Learning Into Mobile Phones
Squeezing Deep Learning Into Mobile PhonesAnirudh Koul
 

Viewers also liked (17)

II-SDV 2014 Design and development of a novel Patent Alerting Service (Bayer ...
II-SDV 2014 Design and development of a novel Patent Alerting Service (Bayer ...II-SDV 2014 Design and development of a novel Patent Alerting Service (Bayer ...
II-SDV 2014 Design and development of a novel Patent Alerting Service (Bayer ...
 
I Cafe Ordering Process
I Cafe Ordering ProcessI Cafe Ordering Process
I Cafe Ordering Process
 
ISCRAM 2013: Smartphones as an Alerting, Command and Control System for the P...
ISCRAM 2013: Smartphones as an Alerting, Command and Control System for the P...ISCRAM 2013: Smartphones as an Alerting, Command and Control System for the P...
ISCRAM 2013: Smartphones as an Alerting, Command and Control System for the P...
 
New
NewNew
New
 
A Context and User Aware Smart Notification System
A Context and User Aware Smart Notification SystemA Context and User Aware Smart Notification System
A Context and User Aware Smart Notification System
 
Location-based Services - Introduction
Location-based Services - IntroductionLocation-based Services - Introduction
Location-based Services - Introduction
 
Mobile learning and application-final presentation
Mobile learning and application-final presentationMobile learning and application-final presentation
Mobile learning and application-final presentation
 
Sensing mobile phones
Sensing mobile phonesSensing mobile phones
Sensing mobile phones
 
"Integration of wireless sensor technology, Internet tools y computational me...
"Integration of wireless sensor technology, Internet tools y computational me..."Integration of wireless sensor technology, Internet tools y computational me...
"Integration of wireless sensor technology, Internet tools y computational me...
 
Ns2
Ns2Ns2
Ns2
 
63104996 ppt-on-bubble-sensing
63104996 ppt-on-bubble-sensing63104996 ppt-on-bubble-sensing
63104996 ppt-on-bubble-sensing
 
Alerting in Grafana, Grafanacon 2015
Alerting in Grafana, Grafanacon 2015Alerting in Grafana, Grafanacon 2015
Alerting in Grafana, Grafanacon 2015
 
Specifying the behaviour of building automation systems
Specifying the behaviour of building automation systemsSpecifying the behaviour of building automation systems
Specifying the behaviour of building automation systems
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Node.js and The Internet of Things
Node.js and The Internet of ThingsNode.js and The Internet of Things
Node.js and The Internet of Things
 
Internet of Things (IOT) - Technology and Applications
Internet of Things (IOT) - Technology and ApplicationsInternet of Things (IOT) - Technology and Applications
Internet of Things (IOT) - Technology and Applications
 
Squeezing Deep Learning Into Mobile Phones
Squeezing Deep Learning Into Mobile PhonesSqueezing Deep Learning Into Mobile Phones
Squeezing Deep Learning Into Mobile Phones
 

Similar to SenSocial Middleware Integrates Social & Sensor Data

Stream Processing Environmental Applications in Jordan Valley
Stream Processing Environmental Applications in Jordan ValleyStream Processing Environmental Applications in Jordan Valley
Stream Processing Environmental Applications in Jordan ValleyCSCJournals
 
Heterogeneous Networks of Remote Monitoring with High Availability and Resili...
Heterogeneous Networks of Remote Monitoring with High Availability and Resili...Heterogeneous Networks of Remote Monitoring with High Availability and Resili...
Heterogeneous Networks of Remote Monitoring with High Availability and Resili...IJCSIS Research Publications
 
Mobile context data management framework
Mobile context data management frameworkMobile context data management framework
Mobile context data management frameworkdamarcant
 
Second review presentation
Second review presentationSecond review presentation
Second review presentationArvind Krishnaa
 
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...InfluxData
 
Towards a distributed framework to analyze multimodal data.pdf
Towards a distributed framework to analyze multimodal data.pdfTowards a distributed framework to analyze multimodal data.pdf
Towards a distributed framework to analyze multimodal data.pdfCarlosRodrigues517978
 
Air pollution monitoring system
Air pollution monitoring systemAir pollution monitoring system
Air pollution monitoring systemSuraksha Sanghavi
 
Introduction to Struts 1.3
Introduction to Struts 1.3Introduction to Struts 1.3
Introduction to Struts 1.3Ilio Catallo
 
Architecture for monitoring applications in Cloud
Architecture for monitoring applications in CloudArchitecture for monitoring applications in Cloud
Architecture for monitoring applications in CloudOnkar Kadam
 
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...Martin Etmajer
 
A Portal For Visualizing Grid Usage
A Portal For Visualizing Grid UsageA Portal For Visualizing Grid Usage
A Portal For Visualizing Grid UsageKristen Carter
 
Android application development
Android application developmentAndroid application development
Android application developmentMd. Mujahid Islam
 
Sr Presentation 2
Sr Presentation 2Sr Presentation 2
Sr Presentation 2guestd2364f
 
SR Presentation 2.ppt
SR Presentation 2.pptSR Presentation 2.ppt
SR Presentation 2.ppttranlamson
 
AGU_Iguassu_Brazil_AUG
AGU_Iguassu_Brazil_AUGAGU_Iguassu_Brazil_AUG
AGU_Iguassu_Brazil_AUGJordan Alpert
 

Similar to SenSocial Middleware Integrates Social & Sensor Data (20)

Sensor Cloud
Sensor CloudSensor Cloud
Sensor Cloud
 
Stream Processing Environmental Applications in Jordan Valley
Stream Processing Environmental Applications in Jordan ValleyStream Processing Environmental Applications in Jordan Valley
Stream Processing Environmental Applications in Jordan Valley
 
Heterogeneous Networks of Remote Monitoring with High Availability and Resili...
Heterogeneous Networks of Remote Monitoring with High Availability and Resili...Heterogeneous Networks of Remote Monitoring with High Availability and Resili...
Heterogeneous Networks of Remote Monitoring with High Availability and Resili...
 
Mobile context data management framework
Mobile context data management frameworkMobile context data management framework
Mobile context data management framework
 
Second review presentation
Second review presentationSecond review presentation
Second review presentation
 
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...
 
Towards a distributed framework to analyze multimodal data.pdf
Towards a distributed framework to analyze multimodal data.pdfTowards a distributed framework to analyze multimodal data.pdf
Towards a distributed framework to analyze multimodal data.pdf
 
Air pollution monitoring system
Air pollution monitoring systemAir pollution monitoring system
Air pollution monitoring system
 
Introduction to Struts 1.3
Introduction to Struts 1.3Introduction to Struts 1.3
Introduction to Struts 1.3
 
Architecture for monitoring applications in Cloud
Architecture for monitoring applications in CloudArchitecture for monitoring applications in Cloud
Architecture for monitoring applications in Cloud
 
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
 
A Portal For Visualizing Grid Usage
A Portal For Visualizing Grid UsageA Portal For Visualizing Grid Usage
A Portal For Visualizing Grid Usage
 
Jk3416991702
Jk3416991702Jk3416991702
Jk3416991702
 
national
nationalnational
national
 
SCE 2
SCE 2SCE 2
SCE 2
 
Android application development
Android application developmentAndroid application development
Android application development
 
Sr Presentation 2
Sr Presentation 2Sr Presentation 2
Sr Presentation 2
 
SR Presentation 2.ppt
SR Presentation 2.pptSR Presentation 2.ppt
SR Presentation 2.ppt
 
AGU_Iguassu_Brazil_AUG
AGU_Iguassu_Brazil_AUGAGU_Iguassu_Brazil_AUG
AGU_Iguassu_Brazil_AUG
 
chapter 4.pdf
chapter 4.pdfchapter 4.pdf
chapter 4.pdf
 

Recently uploaded

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

SenSocial Middleware Integrates Social & Sensor Data

  • 1. SenSocial: A Middleware for Integrating Online Social Networks and Mobile Sensing Data Streams Abhinav Mehrotra, Veljko Pejovic, Mirco Musolesi School of Computer Science University of Birmingham
  • 2. Context-aware Systems Physical Context Mobile Sensors Emotional Context Social Context Online Social Networks 2
  • 3. Context-aware Systems Richer Contextual Information App 1 Real Time Integration How to integrate? Integration App 2 3
  • 4. Application Scenarios Sensor Data Social Links Sensor Data Notification Online Social Network Internet Server Notification Notice of friend’s arrival to Paris Sensor Data 4
  • 5. Application Scenarios Facebook’s emotional contagion experiment, Kramer et al. (2014) EmotionSense, Rachuri et al. (2010) 5 How these can be improved ?
  • 8. Key Abstractions Application onDataSensed() Subscribe Context Data SenSocial subscribe() 8 Publish-Subscribe Interaction Paradigm Streams Stream Filters Stream Aggregators Multicast Multicast Streams
  • 9. Publish-Subscribe Interaction Paradigm Subscription Types - Topic-based (e.g., get user’s location). - Content-based (e.g., get user’s location when the user posts about football on his/her Facebook wall). Application onDataSensed() Subscribe subscribe() Context Data SenSocial 9
  • 10. Streams Types of Stream • Continuous (e.g., get user’s location when the user is not moving). • Social event-based (e.g., get user’s location when the user performs an action on Facebook). 10
  • 11. Stream Filters Data Streams Conditions A condition comprises of a modality, a comparison operator, and a value. Example: get location only when a user is not moving. Condition c = new Condition(ModalityType.physical_activity, Operator.equals, ModalityValue.still); Refined Information 11
  • 12. Stream Aggregator • It wraps multiple streams received by the server into a single aggregated stream. • Data from individual streams is multiplexed to the same join stream. • It works similarly to a normal stream. 12
  • 13. Multicast Stream Multicast • It creates duplicate streams on multiple clients. • Clients are selected based on the OSN connectivity and geographic location of the users. OSN Connectivity Geographic Location 13
  • 14. Other Features Remote Stream Management Streams can be created, modified, or destroyed remotely on the mobile clients. Privacy Control By specifying the allowed data type (context modality) and the level of granularity (raw or classified). 14
  • 15. Evaluation 15 Energy Management
  • 16. Evaluation CPU consumption with varying number streams Average battery consumption with varying number of OSN actions OSN actions 1 2 3 4 5 6 7 Charge consumed [μAH] 51.7 97.1 142.5 187.8 233.2 278.5 324.3 Note: the above OSN actions occurred within 20 minute time period and each triggered remote sampling of all five supported sensor modalities. 16
  • 17. Prototype Applications Facebook Sensor Map ConWeb 17
  • 19. Facebook Sensor Map: Code Snippet /*----------- Create streams----------------*/ SenSocialManager manager = SenSocialManager.getSenSocialManager(getApplicationContext()); String uid = manager.getUserId(); User user = manager.getUser(uid); Stream s1 = user.getDevice().getStream(SensorUtils.Sensor_Type_Accelerometer, "classified"); Stream s2 = user.getDevice().getStream(SensorUtils.Sensor_Type_Microphone, "classified"); Stream s3 = user.getDevice().getStream(SensorUtils.Sensor_Type_Location, "raw"); /*----------- Create list of filter condition(s) ----------------*/ ArrayList<Condition> conditions = new ArrayList<Condition>(); Condition c = new Condition(ModalityType.facebook_activity, Operator.equals, ModalityValue.active); conditions.add(c); /*----------- Add condition list to the filter -----------*/ Filter filter = new Filter(conditions); /*----------- Set filter to the streams -----------*/ s1 = s1.setFilter(filter); s2 = s2.setFilter(filter); s3 = s3.setFilter(filter); /*----------- Register streams -----------*/ manager.registerListener(this, stream1.getId()); manager.registerListener(this, stream2.getId()); manager.registerListener(this, stream3.getId()); /*----------- Start streams -----------*/ stream1.start(); stream2.start(); stream3.start(); 19
  • 20. Programming Effort Evaluation Facebook Sensor Map : lines of code reduced by nine times (from 3423 to 316). ConWeb : lines of code reduced by twenty four times (from 3223 to 130). Application Name Number of files Lines of code Facebook Sensor Map (M) (with SenSocial) 8 103 Facebook Sensor Map (S) (with SenSocial) 2 213 Facebook Sensor Map (M) (without SenSocial) 68 2419 Facebook Sensor Map (S) (without SenSocial) 42 1004 ConWeb (M) (with SenSocial) 3 23 ConWeb (S) (with SenSocial) 1 107 ConWeb (M) (without SenSocial) 61 2278 ConWeb (S) (without SenSocial) 38 945 20
  • 21. Summary • We argue that the integration of OSNs and mobile sensor data streams can benefit in obtaining richer contextual information. • We propose SenSocial to simplify the implementation of such ubiquitous computing applications. • SenSocial is released as an open-source project. Available at: https://github.com/AbhinavMehrotra/SenSocial-Library 21
  • 23. Thank You! Questions? Abhinav Mehrotra Email: a.mehrotra@cs.bham.ac.uk GitHub: https://github.com/AbhinavMehrotra/SenSocial-Library SenSocial: http://www.cs.bham.ac.uk/~axm514/sensocial/ 23