You are on page 1of 31

Center for Research and Telecommunication Experimentation for Networked Communities(CREATE-NET) Networking & security solutions for pervasive

computing systems (iNSPIRE)

Internship Report

Implementation of a Mobile Crowd Sensing System


by

Emmanuel Robert Ssebaggala


Msc Telecommunication Engineering

Supervisors: Iacopo Carreras,PhD Pervasive and Secure Computing Environment Mobile Computing Technical Group Leader Nicola Conci, PhD Ass. Prof, University of Trento

Trento, 2012

To ...

Contents

Contents 1 Introduction 1.1 CREATE-NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Literature Review 2.1 Mobile Crowd Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Tools used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . System Development 3.1 Problem formulation . . . . . . . . . . . . . 3.2 Sampling Algorithm . . . . . . . . . . . . . 3.3 Energy Efcient Context Sampling . . . . . . 3.3.1 The adaptive sampling algorithm . . . 3.3.2 Simulation Study . . . . . . . . . . . 3.4 System Implementation and Experimentation 3.4.1 Prototype Implementation . . . . . . 3.5 Experimentation . . . . . . . . . . . . . . . . 3.6 Conclusions . . . . . . . . . . . . . . . . . .

i 3 3 4 5 5 6 6 9 9 11 11 11 13 15 15 17 20 21 23 24 25

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

Bibliography List of Symbols and Abbreviations List of Figures Index

Acknowledgements

I want to express my sincere appreciation to CREATE-NET for hosting me as an intern for a period of three months. I want to thank Dr. Iacopo Carrerras for his vast reserve of patience and knowledge that was very helpful in carrying out the tasks assigned. His ideas and practical guidance in researching were an invaluable lesson. I want to thank Dr. Andrei Tamilin whose help, stimulating suggestions, knowledge, and experience were very helpful in implementing most of the tasks assigned. Also, very special thanks to my Multimedia Networking course lecturers, Ass. Prof. Nicola Conci and Danielle Miorandi,PhD, whose lecture sessions sparked my interest in multimedia networks.

Chapter 1

Introduction

This report gives an account of the internship activities carried out during the period of 11th July to 11th October within CREATE-NETs iNSPIRE research group. During this period, the author contributed to the implementation of a mobile crowd sensing system; specically, the development of an Android mobile application.

1.1

CREATE-NET

The Center for Research And Telecommunication Experimentation for Networked communities (CREATE-NET) is an non-prot organization created to achieve excellence in research, promote technology transfer toward the industry through the engineering of technologies and solutions, promote innovation , and focus on key application areas and services with an impact on quality of life.[2]. Within CREATE-NET, the author worked in the iNSPIRE research team which pursues a multidisciplinary approach to devise innovative networking and security solutions for pervasive computing systems. The group activities are inspired by a hybrid approach, whereby research is deeply intertwined with experimentations, leading to solutions able to turn novel scientic paradigms into working prototypes. The group works in tight collaboration with the ENGINE Team for the realization of prototypes and proof-of-concept implementation of innovative solutions. Key aspects of the group research agenda include: the focus on data as the basic brick of pervasive communication systems, the introduction of security considerations as constituent properties of the system, the design of distributed, autonomic and green algorithms/protocols, the development of methods for evaluating performance, the focus on robustness and resilience as key performance. The iNSPIRE team pursues research on pervasive computing and communications environments [2]. 3

CHAPTER 1. INTRODUCTION

1.2

Project

The internship activities were focused on the mobile crowd sensing. Crowd sensing involves the allocation of tasks to the crowd(people), or some other way of engaging the crowd in task execution. Mobile crowd sensing uses smart phones as a medium for engaging the crowd to respond or participate in tasks. The internship activities were centered around the development of a mobile crowd sourcing system code named Matador. The system was composed of a server sub-system and a client application which was an Android mobile application. The author focused on the development of the Android application. The reminder of this report is broken down into three major chapters. The literature review section which gives a detailed background on mobile crowd sourcing, notable work already done, and present endeavors in the area. In the same section, the tools used are presented and the motivation behind their choice over other alternatives is explained. Chapter three covers the actual work done. It introduces the system with a full description of the architecture and its design. It discusses the algorithm implemented for sampling and the prototype developed for testing. Lastly, a concluding chapter stating the key highlights of the internship and reiterating the benets and promise this research area holds.

Chapter 2

Literature Review

2.1

Mobile Crowd Sensing

The ubiquitous availability of internet-connected, media-equipped and sensor-equipped portable devices is enabling a new class of applications which are exploiting the power of crowds to perform sensing of real world tasks. Such a paradigm is typically referred to as crowd-sensing [3], and lies at the intersection of crowd-sourcing and participatory sensing [1]. Crowd-sourcing allows the issuing of tasks to users requiring human intervention, while participatory sensing exploits smart phone sensing capabilities to record, analyze, and discover patterns that are of importance in peoples lives.Crowd-sensing allows issuing sensing tasks to users without necessarily requiring direct human intervention by exploiting the inherent sensing capabilities of their mobile devices. Crowd-sensing has a wide range of potential applications, including direct involvement of citizens in public decision making, such as urban planning and quality assessment campaigns of public services. In this case, it provides a means to inquire directly from citizens (or indirectly from citizen-created information sources) about their opinions, emotional tonalities regarding certain arguments, and problems, as well as to seamlessly involve citizens in decision making. This differs from a pure bottom-up interaction, which involves citizens-to-administration communication, resulting in a participatory civic reporting system where citizens with mobile phones can eventually submit thematic multimedia reports on civic issues observed in their neighborhoods. Conversely, the top-down interaction modality enables administration-to-citizens communication, resulting in a mobile civic crowd-sensing system, in which the administration can launch surveys or, more generally, post queries directly inquiring from citizens. This internship focused on the development of a crowd-sensing framework which combines the power of crowd-sourcing with the instantaneity and situation-awareness of mobile technologies. With respect to state of the art solutions [9, 8, 6], the system allows to specify the context in which a given sensing task should be executed by the 5

CHAPTER 2. LITERATURE REVIEW

user or by the users device. The resulting system is able to deliver the right tasks to the right people in the right circumstances. The notion of context-awareness in the delivery and execution of tasks characterizes our approach and allows to (i) maximize conditions for user participation by presenting only tasks relevant to the user, with minimal user intervention (ii) minimize the consumption of mobile device resources, specically the battery, thus preserving normal operation.

2.2

Related work

Participatory sensing is increasingly becoming a sensing paradigm to include people-inthe-loop for performing data gathering tasks. In a typical scenario, people are motivated by their personal pay-off to participate in collective data gathering, and the assurance to anonymously share the data they provide. As an example, PEIR [6] provides a way for users to measure their personal exposure to pollution, while contributing to the creation of a ne-grained map of the air quality in an urban setting. Similarly, NoiseMap [10] tackles the problem of noise pollution through a participatory approach. In a similar fashion, crowd-sourcing exploits the wisdom of the crowds in order to perform specic tasks. This has been widely explored in the web, Amazon Mechanical Turk being the most prominent example. At the intersection of Participatory sensing and Crowd-sourcing lies mobile crowdsensing [3], which is a mobile sensing paradigm different from participatory sensing in that user involvement is minimal and sensing occurs autonomously. In such a setting, tasks are typically delivered to users and the results aggregated and processed on a server [9, 8]. In the area of mobile sensing, several works addressed the issue of energy-aware localization over smart-phones. In [4] , authors propose an energy-aware localization method, which trades off localization accuracy for energy, depending on the specic context. Our approach extends the state-of-the art by specically focusing on crowd-sensing application scenarios and by designing a framework to dynamically adapt the sensing of the context to the specic tasks to be performed by users. Further, in order to preserve the battery of the mobile device, the proposed algorithm combines both how the sensing is performed, and when it is performed.

2.3

Tools used

The Android platform was used for the development of the mobile application. The choice to develop for the Android platform was due to the fact that it is open source and

2.3. TOOLS USED

its development can be done on virtually any operating system which has the Java Runtime(JRE) and Java Development Kit(JDK) Installed. Practically, every OS has support for the Java language;this makes the development platform independent. Android comes with an SDK and along with other helper tools and utilities to facilitate the development process. However, keeping in mind the need to port the application in the future to other mobile platforms, such as iOS and Windows Phone, Appcelerator Titaniums cross platform development studio was used. Appcelerator Titanium is a platform for developing mobile, tablet and desktop applications using web technologies. It allows developers to use the familiar JavaScript syntax which is easy to learn, and then deploy the application for any of the currently support mobile platforms. Testing and debugging of the application was done using the Android emulator that comes with the Android SDK. Also, two Nexus S phones with Android 2.3.7(Gingerbread) and a Samsung Galaxy Tab 10.1 with Android 4.0.4(Ice Cream Sandwich) were used for testing and running eld tests.

Chapter 3

System Development

This is a description of how the application works. When the Matador application is installed, it runs in the background and periodically updates the list of tasks from those on the server. Each task is associated with an action depending on the parameters. A task can require the user to take a photo our his/her surrounding, record a video or sound clip, or participate in a survey by lling out a questionnaire. In addition to the actions, a tasks is characterized by its context ; this species the conditions that should be satised for it to be triggered to the user. The context is dened along geography, time, user prole(age and gender), and user activity(movement or stationary). A task can require explicit intervention by the user , or it can be implicitly handled by the phone.

3.1

Problem formulation

A mobile crowd-sourcing task t is a a tuple t = ct , at , where ct is a task context scoping its applicability, and at is an action the task consists of. For the sake of clarity, the simplest structure of a task context is considered. The task context is dened by a geographical dimension that is circular and temporal dimension. ct = latt , lont , radt , [startt , endt ] (3.1)

where latt , lont are latitude and longitude coordinates of the circle center, radt is its radius, and startt , endt are start and end timestamps. A system typically consists of multiple tasks represented by a tasks list t = {tj } of t n tasks tj , where tj = ct j , aj , 0 j n. A user context is an essential element of the mobile crowdsourcing system; it determines if the user is in conditions relevant to some tasks. Similarly to tasks, a user context can be structured along multiple dimensions, which can be determined by sensing capacities of the user device. Hereafter, we assume the simplest structure of a user 9

10

CHAPTER 3. SYSTEM DEVELOPMENT

context cu dened by a geographical dimension, represented by the current estimate of users location, and a temporal dimension, represented by the current time: cu = latu , lonu , accu , tsu (3.2)

where latu , lonu are latitude and longitude coordinates of the user location, accu is the accuracy, with which the location has been obtained, and tsu is the timestamp. The list of chronologically ordered user context instances is a user context history u c = {cu i } i 0 . We dene the distance du,t between a user context cu and a task context ct as a function: du,t = fdist (cu , ct ) (3.3) which depends on the dimensions constituting the contexts. Given a user with the context cu , the task t is said to be detected by the user if distance du,t , where is a threshold depending on a specic application scenario. A user context sampling is the process of obtaining a user context by the mobile device. This process can be controlled by the following two parameters: sampling accuracy : this parameter adjusts the required distance accuracy for the context sampling. The higher its value, the more precise the sampled context is.This parameter is particularly relevant for estimation of user location, because the application of different localization sensors gives different estimation accuracies (e.g., GPS vs. Cell Towers); sampling rate : this parameter dynamically adjusts the time between any two consecutive context samplings. The higher its value, the more frequent the context is sampled. In practice, the sampling rate can be directly manipulated in the mobile device, although there are no practical ways of explicitly controlling the sampling accuracy, e.g., location cannot be forced to be acquired with a given accuracy. A work around for controlling the accuracy is selecting the sensing method with an a priori known error rate;the resulting accuracy values are dependent on the method used, e.g., localization using cell towers is known to be roughly in hundreds of meters to kilometers. However, the estimated accuracy in the current position is known only after localization has occurred. For simplicity of the notation, hereafter we will interchangeably use for sampling method and the sampling accuracy value. A user context sampling is a function that, given a user context history and a list of tasks, estimates the appropriate conditions for the next user context sampling: , = fsampling (c, t) (3.4)

Clearly, the variation of the aforementioned parameters of the user context sampling process is an indication of that the amount of resources consumed by the mobile device,

3.2. SAMPLING ALGORITHM

11

in particular the energy consumed by sensors involved in the sampling. In order to quantitatively describe the consumption of resources in the proposed crowd-sensing system, we adopt the following energy model: each of the sampling methods supported by the mobile device is associated with a resource cost required for its invocation for context sampling and is determined by the following function: = fcost ( ) (3.5)

In the present work we consider the simplest resource cost function determining the amount of energy consumed by the mobile device. A total cost of the crowd-sensing system functioning is determined by costs of the individual user context samplings and is represented as the sum of their individual costs: =
0i|cu |

(3.6)

Given a task list t, the goal of the mobile crowd-sensing system is to dene the function fsampling that maximizes the number of tasks properly detected and presented to the user, and minimizes the total cost of consumed resources.

3.2 3.3

Sampling Algorithm Energy Efcient Context Sampling

One of the key challenges in implementing the sampling function fsampling (cu , t) lies in the minimization of the battery consumption in order to preserve the normal operation of the users mobile device. In this work, we focus on the energy consumption due to the user localization, which is considered to be critical. In fact, when obtaining the user location, battery consumption is a trade off for the accuracy of the location estimation, depending on the type of sensor applied for the localization [4], and the frequency at which a given sensor is sampled. We consider the two most common smart-phone localization methods: GPS-based and cellular network-based. The typical GPS antenna of a modern phone gives an accurate location estimation, with an error value in the range of a few meters (or in the worst case a couple of dozen meters). At the same time, GPS is also known to be energy intensive and leads to signicant battery drains [7, 11, 4]. Conversely, the cellular networks method estimates the location with a high error of hundreds of meters (or in the worst case several kilometers), but with negligible battery consumption [5, 4].

3.3.1

The adaptive sampling algorithm

The intuitive idea behind the adaptive energy-efcient user context sampling is to dynamically adapt (i) the way the context is sampled, choosing between GPS and network localization and (ii) the time between two consecutive context samples. As illustrated in

12

CHAPTER 3. SYSTEM DEVELOPMENT

Fig. 3.1, the aim is to utilize the cellular network localization method when approaching the closest task. In this case, the energy consumption should be quite limited. When the uncertainty on the user location due to the coarse accuracy of the network localization overlaps with the spatial validity of the closest task, we should switch to GPS localization. In this latter case, the sampling should adapted over time on the basis on the approaching rate of the user to the closest task.
*($+,-.)/,'%/"0%1,&) 234)/,'%/"0%1,&)

5%#.)

!"#$%&'()

Figure 3.1: Adaptive user context sampling concept. In order to capture this overlap we dene a distance function (3.3) as follows: fdist = hvrs (cu , ct ) accu radt if tsu [startt , endt ] otherwise

where hvrs is the haversine formula for calculating the spatial distance between the latitude-longitude coordinates of the user and task location. The sampling function fsampling is implemented by the algorithm Alg. 1 and is graphically illustrated in Fig. 3.2. When the context distance du,t , computed by fdist , becomes less than twice the user location accuracy the mobile application localization switches to GPS, instead of network localization. With such an approach network localization is utilized as a rough probe for checking if there are tasks in range, while the precise probing of near tasks is performed using GPS. In order to generate the next sampling time (tsu i+1 ) the algorithm computes the average speed of approach to the closest task based on the context history and sets the value to the time anticipating the overlapping between user context and task context. It is worth noting that differs from the user velocity in that it measures how fast the user is getting close to the nearest task, taking into account also his direction. As an example, if the user is moving around a certain task, although his velocity will never be null, the approach speed will be 0. The sampling interval is parameterized in such a way so that it varies between a minimum value of 10s and a maximum regular interval of 120s. These bounds have been experimentaly proved to produce optimum sensitivity to the change in user direction and speed. The

3.3. ENERGY EFFICIENT CONTEXT SAMPLING

13

Algorithm 1 User context sampling function fsampling 1: function N EXT C ONTEXT S AMPLING( cu , t) u 2: cu i getCurrentU serContext(c ); u 3: ci1 getP receedingU serContext(cu ); 4: tj getClosestT ask (cu Find the closest task tj the user is heading to i , t);
5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
t u t hvrs (cu i ,cj )hvrs (ci1 ,cj ) ; tsi tsi1 j =i3 v i i j =3 t du,t fdist (cu i , cj );

Approach rate to closest task tj Averate speed over 3 samples

=1.5km; tmin = 10s; to = 120s; if (du,t ) then i+1 GPS; else i+1 NETWORK; end if u,t t d ; tmax = to (t)2 = 1 0

Minimum sampling interval Maximum regular sampling Use GPS next Use Network next Next sampling interval

if tmin < t < tmax otherwise


(1sgn(ttmin )) 2

19:

t t + (1 )
(1+sgn(ttmax )) 2 u u tsi+1 tsi + t; return i+1 , tsu i+1

tmin + (1 ) Next sampling time (sec.)

tmax ; ;

20: 21: 22:

end function

Tasks with negative du,t correspond to the case when the user context and the task context match. In this case, the tasks are marked as active, and will trigger the execution of the associated action.

3.3.2

Simulation Study

In order to give a quantitative characterization of the energy-efciency of the presented adaptive sampling function, we conducted a series of programmed experiments to simulate the functioning of a mobile crowd-sensing system. The implemented simulation environment allows to (i) specify the route to be followed by the user, (ii) congure random variation of the user speed when moving along a route, (iii) place a set of tasks along the users route for detection. Similarly to a real world scenario, two sampling methods are considered, GPS and cellular network, with three additional simplifying assumptions: (1) a sampling method can be activated immediately without delays (in practice, depending on the environment conditions, getting a x on GPS requires some

14

CHAPTER 3. SYSTEM DEVELOPMENT

Figure 3.2: Adaptive user context sampling illustration.

time), (2) the accuracy value of a sampling method is constant through the simulation (we used GP S = 20 meters and N ET W ORK = 1000 meters), (3) average cost, in terms of battery consumption, for invoking a sampling is constant through the simulation (we used GP S =??? and N ET W ORK =???).

+,-.$!#)!&)/%'(!0!%

$&!'()*#%

!"##$%
'"#$%# &"#$%#

!"#$%#

$&!'()*#%
Figure 3.3: Variable speed experiment.

3.4. SYSTEM IMPLEMENTATION AND EXPERIMENTATION

15

!"

Figure 3.4: Variable speed experiment.

Figure 3.5: Variable speed experiment.

3.4
3.4.1

System Implementation and Experimentation


Prototype Implementation

The Matador context-aware mobile crowd-sensing system has been fully implemented into a working prototype consisting of a server-side web application and a mobile application for smartphones. The server-side part has been realized as a web application providing an interface to to create tasks and monitor the process of their execution. For each task, it is possible to congure: (i) its context, which in the current prototype implementation consists of the spatio/temporal region in which the the task should be triggered to users; (ii) the action requested to be performed by users. Currently, an action can be implicit or explicit. In the former case, no user intervention is required for triggering the action, a part for having the mobile application running in the background. In this case, the smartphone starts to collect data autonomously, and sends it back to the server for later processing. Examples of such data includes accelerometer data, anonymous GPS logging. Conversely, in the latter case, a direct human intervention is required in order to complete the task. In the current implementation, explicit tasks consists of a combination of questionnaires, multimedia reports. The server component receives users responses for each task, computes response statistics and provides a dashboard for visualizing the analytics of each task. Fig. 3.6 depicts the user interface of the server-side component.

16

CHAPTER 3. SYSTEM DEVELOPMENT

Figure 3.6: The Matador server-side user interface.

In addition to the user interface, a RESTful API has been implemented on the server to communicate with mobile clients in order to (i) synchronize tasks and (ii) receive task responses. A specic ontology has been created in order to dene a common language between the server and mobile clients, and to properly represent and interpret tasks and tasks responses. Each task is modeled as in the following XML sample:
< t a s k i d = t a s k I D > < t i t l e >Task a t V i l l a z z a n o< / t i t l e > < d e s c r i p t i o n> Take p h o t o o f t h e b u s s t o p i n V i l l a z z a n o < / d e s c r i p t i o n> < c o n t e x t> < s p a c e> < c i r c l e> < c e n t e r > 4 6 . 0 4 5 5 2 1 1 . 1 3 8 5 2< / c e n t e r > < r a d i u s u n i t s =m>50< / r a d i u s > < / c i r c l e> < / s p a c e> < t i m e> < v a l i d i t y f o r m a t =DD.MM.YYYY> <from> 0 1 . 0 7 . 2 0 1 2< / from> < t o > 3 1 . 0 7 . 2 0 1 2< / t o > < / v a l i d i t y> < p a t t e r n> <weekdays>Mo Tu We Th F r< / weekdays> < h o u r s f o r m a t =HH HH>09 17< / h o u r s> < / p a t t e r n> < / t i m e>

3.5. EXPERIMENTATION

17

< / c o n t e x t> < a c t i o n> < r e q u e s t i d = r e q u e s t I D t y p e = p h o t o > P l e a s e t a k e a photo of t h e bus s t o p . < / r e q u e s t> < / a c t i o n> < / t a s k>

Listing 3.1: XML representation of a crowd-sensing task The mobile application has been implemented for Android-based smart-phones using Titanium Appcelerator , a framework for mobile applications development. The application downloads tasks from the server, schedules energy-efcient acquisition of the phones context and noties the user of relevant tasks around him - inviting him/her to participate. The context acquisition component uses the GPS-based and networkbased localization capabilities of Android smart-phones. The implemented multimedia capture component accesses the microphone and camera of the smart-phone allowing the execution of multimedia actions assigned to tasks, e.g., taking a photo, recording a video, or recording a sound clip. Responses to tasks and acquired multimedia content are communicated to the server for elaboration. Fig. 3.7 presents the user interface of the implemented mobile application.

3.5

Experimentation

In order to validate the proposed system we have considered two different user trajectories, one to be covered by car and one to be covered by foot. The rst one consisted of a 20 Km path over a sub-urban road, featuring two roundabouts, a 10 Km high speed segment and various accelerations/decelerations. 10 tasks were randomly distributed along such path. Each task was characterized by its spatio-temporal contextual validity. In particular,each task had a circular geographical validity, with radius 150 m and the center along the path. The latter case, was a 1 Km path in the Trento city center. Also in this case, 10 tasks were randomly placed along such path, with a radius of 25 m. and center along the path. Since the primary aim of the experimental validation was to evaluate the adaptive sampling mechanisms, we did not assume any specic constraint on the temporal context of tasks. Which means tasks were always active, independently from the specic time. In order to evaluate the performance of the system, we considered the tradeoff between the consumed energy, measured as a function of the context samples performed by the users smart-phone, and the accuracy, measured as the number properly detected tasks, over the total number of tasks present over the path covered by the user. We have compared such results with the case of a GPS logging mechanism, and compared the results in terms of energy savings.

http://www.appcelerator.com

18

CHAPTER 3. SYSTEM DEVELOPMENT

(a) Tasks list.

(b) Map of the closest tasks.

Figure 3.7: The Matador mobile application user interface.

In order to give a quantitative characterization of the energy-efciency of the presented adaptive sampling function, we conducted a series of programmed experiments to simulate the functioning of a mobile crowd-sensing system. The implemented simulation environment allows to (i) specify the route to be followed by the user, (ii) congure random variation of the user speed when moving along a route, (iii) place a set of tasks along the users route for detection. Three simplifying assumptions are made: (1) a sampling method can be activated immediately without delays (in practice, depending on the environment conditions, getting a x on GPS requires some time), (2) the accuracy value of a sampling method is constant through the simulation (we used GP S = 20 meters and N ET W ORK = 1000 meters), (3) average cost, in terms of battery consumption, for invoking a sampling is constant through the simulation. We compared the proposed context-aware sampling algorithm, with the case of a constant rate GPS sampling. In both cases, we measured the detection rate, and we compared the associated energy costs. Fig. 3.8 shows the results in the case of a user moving along a 30 Km route at a speed of 50 Km/h. It is possible to observe how the detection rate varies when the sampling rate is increased, and therefore the associated trade-off with the energy consumption. In particular, it is evident that the performance deterio-

3.5. EXPERIMENTATION

19

rate rapidly for a sampling rate greater than 30 sec.. Setting the task detection rate to 80% leads to a required sampling rate of approximately 60s, and a total number of 36 GPS samples over a 30 km route. Under the same setting, the M atador context-aware sampling algorithm provides similar performance at the cost of 12 GPS samples and 7 network samples. This leads to a signicant saving in terms of energy consumption. In particular, neglecting the energy cost of Network samples [4], the proposed adaptive context sampling mechanism can lead to approximately a 60% savings in terms of battery consumption.

Figure 3.8: Task detection rate in the case of a constant GPS sampling, user moving along a path at a speed of 50 Km/h. Fig. 3.9 provides a visual comparison of the constant GPS sampling with the Matadador context-aware sampling. When the user is far away from the closest task, only Network localization is used, with a considerable saving in terms of energy consumption. Instead, when approaching the task, GPS is used, but with a sampling rate which depends on the distance from the task.

Figure 3.9: Visual comparison of the constant GPS sampling and the Matadador contextaware sampling.

Clearly, this simulation study represents an ideal case, but, at the same time, provides an indication on the potential savings that is possible to obtain by adapting the context sampling function to the specic crowd-sensing campaign being supported. In Sec. 3.4, we will provide the results of a small-scale pilot.

20

CHAPTER 3. SYSTEM DEVELOPMENT

3.6

Conclusions

At the end of this internship, Matador a mobile context-aware crowd-sensing system which exploits user context in order to optimally deliver tasks to users, while preserving mobile device resources. The system design was presented, together with the framework we used to model and evaluate the developed algorithmic solutions. The initial evaluation supports the proposed approach. More work is needed to extend the dimensions utilized for characterizing the context, and also to implement and evaluate large-scale experimentation involving a larger user base.

Bibliography

[1] [2] [3] [4] [5]

J. Burke, D. Estrin, M. Hansen, A. Parker, N. Ramanathan, S. Reddy, and M. B. Srivastava. Participatory sensing. In Proc. of WSW, pages 117134, 2006. [cited at p. 5] create net.org. [cited at p. 3] R.K. Ganti, Fan Ye, and Hui Lei. Mobile crowdsensing: current state and future challenges. IEEE Communications Magazine, 49(11):32 39, Nov 2011. [cited at p. 5, 6] Kaisen Lin, Aman Kansal, Dimitrios Lymberopoulos, and Feng Zhao. Energy-accuracy aware localization for mobile devices. In Proc. of ACM Mobisys, 2010. [cited at p. 6, 11, 19] Kaisen Lin, Aman Kansal, Dimitrios Lymberopoulos, and Feng Zhao. Energy-accuracy trade-off for continuous mobile device location. In Proc. of ACM MobiSys, Jun. 2010.
[cited at p. 11]

[6]

M. Mun, S. Reddy, K. Shilton, N. Yau, J. Burke, D. Estrin, M. Hansen, E. Howard, R. West, and P. Boda. Peir, the personal environmental impact report, as a platform for participatory sensing systems research. In Proc. of ACM Mobisys, 2009. [cited at p. 5, 6] Jeongyeup Paek, Joongheon Kim, and Ramesh Govindan. Energy-efcient rate-adaptive gps-based positioning for smartphones. In Proc. of ACM MobiSys, Jun. 2010. [cited at p. 11] Moo-Ryong Ra, Bin Liu, Tom La Porta, and Ramesh Govindan. Medusa: A Programming Framework for Crowd-Sensing Applications. In Proc. of ACM MobiSys, June 2012.
[cited at p. 5, 6]

[7] [8]

[9]

L. S. Ravindranath, A. Thiagarajan, H. Balakrishnan, and S. Madden. Code in the air: Simplifying sensing and coordination tasks on smartphones. In Proc. of HotMobile, 2012.
[cited at p. 5, 6]

[10] I. Schweizer, R. Bartl, A. Schulz, F. Probst, and M. Muhlhauser. Noisemap - real-time participatory noise maps. In Proc. of Phonesense, Nov. 2011. [cited at p. 6] [11] Chao-Lin Wu, Yu-Te Huang, Cheng-Lung Wu, Hao hua Chu, Polly Huang, and LingJyh Chen. An adaptive duty-cycle scheme for gps scheduling in mobile location sensing applications. In Proc. of PhoneSense, Nov. 2011. [cited at p. 11]

21

List of Symbols and Abbreviations

Abbreviation CREATE-NET iNSPIRE ENGINE JRE JDK SDK

Description Center for Research And Telecommunication Experimentation for Networked communities Networking & security solutions for pervasive computing systems Engineering and fast prototyping Research Team Java Runtime Java Development Kit Software Development Kit

Denition page 3 page 3 page 3 page 7 page 7 page 7

23

List of Figures

3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9

Adaptive user context sampling concept. . . . . . . . . . . . . . . . . . . . Adaptive user context sampling illustration. . . . . . . . . . . . . . . . . . Variable speed experiment. . . . . . . . . . . . . . . . . . . . . . . . . . . Variable speed experiment. . . . . . . . . . . . . . . . . . . . . . . . . . . Variable speed experiment. . . . . . . . . . . . . . . . . . . . . . . . . . . The Matador server-side user interface. . . . . . . . . . . . . . . . . . . . The Matador mobile application user interface. . . . . . . . . . . . . . . . Task detection rate in the case of a constant GPS sampling, user moving along a path at a speed of 50 Km/h. . . . . . . . . . . . . . . . . . . . . . . Visual comparison of the constant GPS sampling and the Matadador contextaware sampling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12 14 14 15 15 16 18 19 19

24

Index
Appcelerator Titanium, 7 context, 9 crowdsourcing, 9 energy-efciency, 18 Gingerbread, 7 Ice Cream Sandwich, 7 iNSPIRE, 3 mobile-application, 17 RESTful API, 16

25

You might also like