Review Article

A Survey on Smartphone-Based Crowdsensing Solutions

Table 3

Classification of the different technologies according to the proposed client architecture.

Publication⁢Client interface manager (CIM)⁢Client Data Manager (CDM)Client Sensor Manager (CSM)
InterfaceAdminOSTechnologyPlugins/external librariesData processingQueryLocal storeType of sensorVirtual sensorPreprocessing
CharacteristicReal timeSensing taskData analyticsBroker/pluginFilterAggregate

PRISM [24]XWindows mobileC# and C++PRISM’s sandboxSentPush-pullXXGeneric/multimedia
DAM4GSN [50]XXAndroid/IOSJavaXML-based/GSNStore and sendPush-pullBothXXXGeneric and externalXX
StressSense [14]XAndroidJava, C and C++GMMs and simulateSendPullPluginXExternal microphoneX
Usense [53]XXAndroidJava-BlueZenXML-based/spatiotemporalStore and sendPushPluginXXXXGeneric/multimediaX
REPSense [11]XAndroidScheme divide/mergeStore and sendXXXGPS, ambient light, air pressure, accelerometerX
PLUS [13]XAndroidMarkov Predictor ModelStore and sendXXXGPSX
MOSDEN [28]XXAndroidJavaXML-based/GSNStore and sendPush-pullXBothXXXGeneric and externalXX
SenseDroid [54]AndroidSpatiotemporalStore and sendBrokerXXXGeneric and externalXX
AlienvsMobile [39]XAndroidJavaArea coverageSendPullGPS, barometric pressureX
CUPUS [48]XAndroidCUPUS MIOsStore and sendPush-pullXXXGeneric and externalXX
BLISS [20]SimulatedSimulated/online learningSendXXXN/A simulated
SPREAD [56]SimulatedSimulated/area of interestSendXXGPS and simulated
MAP+ [57]XAndroidDBSCANStore and sendPullXXExternal GPSX
ADTS [65]SimulatedADTS algorithmSendXXGeneric
FlierMeet [70]XAndroidSTA groupingSendPullGPS, light sensor, accelerometer, magnetometerX
MDPPs [74]XAndroidSpatiotemporal coverage (MDPPs)Stored and sentPushXXXGeneric sensor
EasyHarvest [45]XXAndroidJava for AndroidSpatiotemporal coverageStore and sendBinary pushXXXXGeneric sensor
Sahyog [78]XAndroidJavaQuery formatStore and sendPush-pullXXGPS, accelerometer
WiFIScout [62]XXAndroidRead WiFiStore and sendPullXXGPS/WiFi
Ear-Phone [5]XSymbianJavaSpatiotemporal coverageSendPullXXXGPS microphoneX
Medusa [25]XAndroidJava SMS and MMSMedScript XMLSendPushXBrokerXXGPS, multimediaX
CrowITS [9]XXAndroid/IOSPlugin-basedStore and sendPush-pullPluginXGPS
CAROM [27]XXAndroidJava/GSNLiteXML-based/GSNSendPush-pullXPlugin (OMM)XXXGeneric and external sensorXX
SoundOfTheCity [7]XXAndroidJavaStore and sendPullXXGPS, microphoneX
MoPS [8]XXAndroidJavaBroker MiosPushXBrokerXXExternal pollutionX
Vita [15]XXAndroidJavaXML-basedSendPushBrokerXXXGeneric and multimediaX
Matador [52]XXAndroidXML-based spatiotemporalSendPullXXXGPSX
SenSocial [19]XAndroidJavaXML-based/plugin OSNSendPush-pullXBothXXXXGPS, accelerometer, microphone, social
MCSinSpace [21]XXAndroidSendPushXXXGPS signal analysisX
LineKing [22]XAndroid/IOSWait-time algorithmSendPullXXXXGPS, accelerometer
Ecosystem [47]XXAndroidAndroid appXML-basedSendPushXXXGeneric and external sensorX
TYT [17]XXAndroid/IOSAndroid and IOS appsSendPullXXHeart rate, blood pressure, oxygen saturation
PRESM [23]AndroidRSS mapMap generationStore and sendPushXXGPS locationsX
SmartRoad [71]XXAndroidJavaDetection and identification learning algorithmStore and sendPushPluginXGPS, power sensorXX