280 likes | 351 Views
Dynamic Deployment of Sensing Experiments in the Wild U sing Smartphones. Nicolas Haderer , Christophe Ribeiro , Romain Rouvoy , Lionel Seintuier University Lille 1 – LIFL, Inria Lille – Nord Europe. Agenda. CrowdSensing Problematic & Limitation The APISENSE platform
E N D
Dynamic Deployment of Sensing Experiments in the Wild Using Smartphones Nicolas Haderer, Christophe Ribeiro, Romain Rouvoy, Lionel SeintuierUniversity Lille 1 – LIFL, Inria Lille – Nord Europe
Agenda • CrowdSensing • Problematic & Limitation • The APISENSE platform • Preliminary results • Demo
Why do we collect data? • Better understanding of crowd behavior and its environment • E.g., optimizing public transport services Road mapof Chicago Paths of ChigagoTwitteres
Mobile|Phone Sensing App distribution channels • Revolutiondriven by smart devicesto collectof crowdactivitytraces Increasingpopularity Rich suites of sensors Microphone Camera Compas WIFI/3G/4G Accelerometer GPS 4
CrowdSensing • Capability of lifting a (large) diffuse group of participants to delegate the task of retrieving trustable data from the field CrowdSensing Camera Microphone WIFI/3G/4G Compas GPS Accelerometer
CrowdSensing • Data collection can take different forms • Participatory sensinginvolves the user in the sensing task (eg. surveys) • Opportunistic sensinguses mobile sensors carried by the user (eg. smartphones) • And canbe effective across multiple scales Group Community Individual
CrowdSensing: opportunities • A lot of researchinterests • Building Noise MapUrban area • Obtain human crowd density • Earthquakes Monitoring • …
Agenda • CrowdSensing • Problematic & Limitation • The APISENSE platform • Preliminary results • Demo
Problematic • Real world deployment is labor-intensive process Crosscutting challenges Privacy Energy Task deployment Task description Worker recruitment Task execution Data upload Workerrewarding
Existing tools • Funf in a box
Existing tools • Pogo : Middleware for Mobile Phone Sensing
Limitation of the SotA • Multi-tenant architectures are limited • Constrained infrastructures (database, resources) • Tenants side effects (availability) • Legal issues (data ownership) • Security leaks (data isolation) • Application-specific solutions • Lack of flexibility to be reused in another context
Limitation of the SotA • Communitysensingproblem Data redundancy High energyconsumption
Challenges summary Developmentcost Softwarechallenges Flexibility Scalability Security Crosscutting challenges Privacy Energy Task deployment Task description Worker recruitment Task execution Data upload Workerrewarding
Agenda • CrowdSensing • Problematic & Limitation • The APISENSE platform • Preliminary results • Demo
APISENSE® • Open crowd-sensing platform • Flexible and customizable architecture • Supporting various research communities • Leveraging the deployment of CrowdSensing tasks
APISENSE® – The platform http://www.apisense.fr
Central Node • A trustable central server • Intermediary between collector node & workers • Guarantees workers anonymity (generated ids) • Checks the task scripts and rewards workers • Deploy and generate sensing node
Sensing Node • Acloud-oriented storage • Support for data authentication + encryption • Configurable infrastructure (SPL + components) • XML | NoSQL database, processing services, visualization
APISENSE Mobile Application • Mobile application • Downloads & executes scripts (sandbox) • Uploads datasets when plugged • Controls sensor privileges & privacy filters Sensorsprivileges Time filter Location filter
Agenda • CrowdSensing • Problematic & Limitation • The APISENSE platform • Preliminary results • Demo
Application Example • Collecting exceptions in the wild (CoffeeScript) logcat.onLog {filter: [’*:W’,’*:E’]}, (log) -> trace.add message: log.message, time: log.timestamp, application: apps.process(log.pid).applicationName, topTask: apps.topTask().applicationName Warning log Taxonomy Error log Taxonomy
Application Example • Assessing Machine Learning Models • User context recognition implementation : ~ 30 lines … accelerometer.onChange(function(acc) { buffer.push(acc) }); // Learning phase dialog.display({ message: "Select movement", spinner: classes },function(pattern){ accelerometer.onChange(function(acc) { buffer.push(acc) }); sleep(‘5s’) model.record(attributes(buffer), pattern); buffer = new Array(); return; }); … // Exploitation phase time.schedule({ period: '5s' }, function() { trace.add({ position: model.evaluate(attributes(buffer)), stats: model.statistics() }); buffer = new Array(); } } }); Representative Confusion Matrix
Agenda • CrowdSensing • Problematic & Limitation • The APISENSE platform • Preliminary results • Demo
Questions ? • NicolasHaderer • Christophe Ribeiro • RomainRouvoy • LionelSeinturier http://apisense.fr