Crowd&sensing,made,easy!
ADAM,project&teamUniversité,Lille,1,–,LIFLInria,Lille,–,Nord,Europe
Christophe*Ribeiro
1
Why$do$we$collect$data?
Better$understanding$of$crowd$behavior$andits$environment
E.g.,$optimizing$public$transport$services
•
–
2Paths&of&Chigago&TwitteresRoad&map&of&Chicago
www.apisense.fr
Mobile|Phone+Sensing
Revolution+driven+by+smart+devices+to+collectof+crowd+activity+traces
•
34
Increasing*popularityApp*distribution*channels
GPSWIFI/3G/4G
AccelerometerCompas
CameraMicrophone
Rich*suites*of*sensors
www.apisense.fr
Crowd&sensing
Capability2of2lifting2a2(large)2diffuse2group2ofparticipants2to2delegate2the2task2of2retrievingtrustable2data2from2the2field
•
4
GPSWIFI/3G/4G
AccelerometerCompas
CameraMicrophone
Crowd&&+&&Sensing
www.apisense.fr
Challenges)summary
5
Taskdescription
Taskexecution
Workerrecruitment
Taskdeployment
Data)uploadWorkerrewarding
Crosscuttingchallenges Privacy Energy
Softwarechallenges Scalability SecurityFlexibility
Hot:topics Motivation Incentives
www.apisense.fr
Multi&Cloud*Platform
6www.apisense.fr
Central(Node
A(trustable(central(serverIntermediary(between(collector(node(&(workersGuarantees(workers(anonymity((generated(ids)Checks(the(task(scripts(and(rewards(workers
Cloud?oriented(data(storage
•–––
•
7
Scalability
Privacy
www.apisense.fr
Crowdsensing+Agent
Mobile+applicationDownloads+&+executes+scripts+(sandbox)Uploads+datasets+when+pluggedControls+sensor+privileges+&+privacy+filters
•–––
8Time+filter Sensors+privileges Location+filter
Energy
Privacy
GSM$Signal$Open$Map
9
trace.setHeader(’gsm_operator’, gsm.operator());location.onLocationChanged({ period: ’5min’, distance: ’10m’}, function (loc) { return trace.add({ time: loc.timestamp, lat: loc.latitude, lon: loc.longitude, wifi: { network_id: wifi.bssid(), signal_strength: wifi.rssi() }, gsm: { cell_id: gsm.cellId(), signal_strength: gsm.dbm() } });});
Groundtruth
Openmap
Collecting*exceptions*in*the*wild
10
logcat.onLog {filter: ’*:E’}, (log) -> if log.message contains ’Exception’ trace.save message: log.message, time: log.timestamp, application: apps.process(log.pid).applicationName, topTask: apps.topTask().applicationName
www.apisense.fr
Inria&Lille
Bistro
70#%
30#%
100#%
100#%
Mobility#model
11
Home
Work
???
Parvis'Saint+Maurice
avenue'Halley
'2'Place'de'Béthune
www.apisense.fr