Dynamic Deployment of Sensing Experiments in the Wild Using Smartphones Nicolas Haderer, Christophe Ribeiro, Romain Rouvoy, Lionel Seintuier University Lille 1 – LIFL, Inria Lille – Nord Europe 1 Agenda • • • • • CrowdSensing Problematic & Limitation The APISENSE platform Preliminary results Demo 2 Why do we collect data? • Better understanding of crowd behavior and its environment – E.g., optimizing public transport services Road map of Chicago Paths of Chigago Twitteres 3 Mobile|Phone Sensing • Revolution driven by smart devices to collect of crowd activity traces Richdistribution suitespopularity of sensors Increasing App channels Microphone Compas Accelerometer Camera WIFI/3G/4G GPS 4 CrowdSensing • Capability of lifting a (large) diffuse group of participants to delegate the task of retrieving trustable data from the field Crowd Sensing Microphone Camera WIFI/3G/4G Compas Accelerometer GPS 5 CrowdSensing Data collection can take different forms Participatory sensing involves the user in the sensing task (eg. surveys) Opportunistic sensing uses mobile sensors carried by the user (eg. smartphones) And can be effective across multiple scales Individual Group Community 6 CrowdSensing : opportunities • A lot of research interests – Building Noise Map Urban area – Obtain human crowd density – Earthquakes Monitoring –… 7 Agenda • • • • • CrowdSensing Problematic & Limitation The APISENSE platform Preliminary results Demo 8 Problematic • Real world deployment is labor-intensive process Crosscutting challenges Privacy Energy Task description Worker recruitment Task deployment Worker rewarding Data upload Task execution 9 Existing tools • Funf in a box 10 Existing tools • Pogo : Middleware for Mobile Phone Sensing 11 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 12 Limitation of the SotA • Community sensing problem Data redundancy High energy consumption 13 Challenges summary Development cost Software challenges Crosscutting challenges Scalability Flexibility Privacy Security Energy Task description Worker recruitment Task deployment Worker rewarding Data upload Task execution 14 Agenda • • • • • CrowdSensing Problematic & Limitation The APISENSE platform Preliminary results Demo 15 APISENSE® • Open crowd-sensing platform – Flexible and customizable architecture – Supporting various research communities – Leveraging the deployment of CrowdSensing tasks 16 APISENSE® – The platform http://www.apisense.fr 17 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 18 Sensing Node • A cloud-oriented storage • Support for data authentication + encryption • Configurable infrastructure (SPL + components) • XML | NoSQL database, processing services, visualization 19 APISENSE Mobile Application • Mobile application – Downloads & executes scripts (sandbox) – Uploads datasets when plugged – Controls sensor privileges & privacy filters Time filter Sensors privileges Location filter 20 CrowdSensing Javascript API 21 CrowdSensing Javascript API 22 APISENSE® 23 Agenda • • • • • CrowdSensing Problematic & Limitation The APISENSE platform Preliminary results Demo 24 Application Example • Collecting exceptions in the wild (CoffeeScript) logcat.onLog {filter: [’*:W’,’*:E’]}, (log) -> trace.add message: log.message, time: log.timestamp, Warning log Taxonomy application: apps.process(log.pid).applicationName, topTask: apps.topTask().applicationName Error log Taxonomy 25 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() }); Representative Confusion Matrix buffer = new Array(); } } }); 26 Agenda • • • • • CrowdSensing Problematic & Limitation The APISENSE platform Preliminary results Demo 27 Questions ? Nicolas H ADERER C HRISTOPHE R IBEIRO Romain R OUVOY http://apisense.fr 28