Ben Rim

Messaoud

Yacine Ghamri-Doudane

QoI and Energy-aware Mobile Sensing Scheme: A Tabu-Search approach

Mobile phones equipped with a rich set of embedded sensors enhance participatory sensing to collect data for different applications. However, many challenges arise when selecting participants to perform sensing tasks. Among these challenges, we can cite energy consumption, users' mobility impact and the quality of retrieved data, recently defined as Quality of Information (QoI). In this work, we study the QoI and Energy-aware Mobile Sensing (QEMSS) problem. Hence, for a given set of users, a sensing area and data quality requirements, the objective of QEMSS is to find the subset of users that maximizes QoI in terms of spatial and temporal metrics while minimizing the overall energy consumption and reducing the redundancy during the sensing process. We propose a meta-heuristic algorithm based on Tabu-Search to provide a sub-optimal solution. Simulation results, for both deterministic and unknown participants' trajectories, are compared to other state-of-the-art methods. This allows showing that our approach outperforms both the greedy-based and the random selection strategies. Particularly, the achieved data quality by our scheme is significantly higher in challenging scenarios such as low dense areas or scarce users' energy resources.

I. INTRODUCTION

Mobile devices nowadays are equipped with numerous embedded sensors such as accelerometer, GPS, gyroscope, camera and microphone [START_REF] Lane | A survey of mobile phone sensing[END_REF] to cite a few, besides their communication, processing and storage capacities. This enhances their role in collecting and sharing data by the crowd (people), a trend called Crowdsensing. Participatory sensing, or Crowdsensing, was first introduced by authors in [START_REF] Burke | Participatory sensing[END_REF]. Recently, various applications are enabled by this new paradigm of mobile sensing. For example, by leveraging the sensors in users' handsets, location data can be collected to estimate the personalized environmental impact [START_REF] Mun | PEIR, the personal environmental impact report, as a platform for participatory sensing systems research[END_REF]. Other promising applications have been developed in different fields: health care, tourism and transportation [START_REF] Mohan | Nericell: Rich monitoring of road and traffic conditions using mobile smartphones[END_REF].

However, these systems raise new challenges compared to traditional WSNs. Authors in [START_REF] Cornelius | AnonySense: Privacy-aware people-centric sensing[END_REF] pointed out the security issue and built a framework, called Anonysense, to protect the privacy of participants in large scale mobile sensing applications. Another major focus was the fact that smart devices are energy-constrained which requires specific selection schemes to reduce the dedicated energy for sensing tasks. In [START_REF] Sheng | Energy-efficient collaborative sensing with mobile phones[END_REF], authors proposed various selection algorithms to show potential energy savings by sensing in a collaborative way. To this purpose, only a subset of participants is selected to cover the area targeting the minimization of the overall energy consumption. Furthermore, authors in [START_REF] Weinschrott | Streamshaper: Coordination algorithms for participatory mobile urban sensing[END_REF] proposed collecting "readings" cooperatively and periodically by mobile phones to be mapped into virtual stationary sensors and used later by applications tiers which limits energy consumption during sensing tasks.

In spite of the benefits that may be brought by such a new paradigm, participants may be reluctant to contribute their resources during the sensing procedure. Motivation mechanisms, denoted as "incentives", were introduced to stimulate users to dedicate a percentage of their devices' energy. The MCARD algorithm illustrated in [START_REF] Lu | Minimum cost collaborative sensing network with mobile phones[END_REF] targets selecting participants to get all the required data such that the total cost on paying them is minimized.

One element that hadn't been well addressed in previous works is the quality of collected data, which should be a major requirement for sensing applications. Quality of Information (QoI) was first studied by Bisdikan et al. for WSNs [START_REF] Bisdikian | A letter soup for the quality of information in sensor networks[END_REF] and it has been recently investigated for Crowdsensing. Authors in [START_REF] Song | QoI-aware multitaskoriented dynamic participant selection with budget constraints[END_REF] studied the QoI issue while providing incentives for selected participants. The aforementioned scheme proposed a multi-task oriented mobile users selection strategy (DPS) to maximize a QoI-satisfaction metric per sensing task subject to a budget constraint, yet, energy efficiency was handled very partially.

With all this in mind, we propose a QoI and Energy-aware Mobile Sensing Scheme, (QEMSS), for large scale participatory sensing. The objective is to maximize the overall achieved quality of data while ensuring no-redundancy and respecting energy-constraints towards registered participants. We formally model the corresponding optimization problem and propose a Tabu-Search based algorithm to reach a sub-optimal solution. The effectiveness of our strategy was extensively evaluated in terms of Maximum Achieved QoI and Spatial and Temporal Accuracy. Eventhough results for high density sensing areas are comparable to other selection schemes in the literature, the importance of our work is demonstrated for low density sensing regions and its limited requirements in terms of users' resources.

The rest of the paper is organized as follows. We start by explaining the techniques used in this work: i.e. the Tabu-Search meta-heurstic, in section II. Next, we detail the system model and define necessary elements to model the corresponding optimization problem in section III. In section IV, we describe in details the use of Tabu-Search for designing our solution QEMSS. Section V illustrates our simulation results while comparing QEMSS to the two concurrent methods: DPS and Random Selection algorithms. Finally, conclusions and future perspectives are drawn in section VI.

II. BACKGROUND: TABU-SEARCH

Tabu search is a meta-heuristic that guides a local heuristic search procedure to explore the solution space beyond local optimality [START_REF] Kamal | A tabu search DSA algorithm for reward maximization in cellular networks[END_REF]. It was first introduced by Glover in [START_REF] Glover | Tabu search-Part I[END_REF]. The basic idea is to forbid a move that would return to recently visited solutions called tabus. Given S, the set of possible solutions to a problem, for each solution s ∈ S it exists a subset of S called neighborhood of s, N (s). The neighborhood contains feasible solutions, each is obtained by making a simple move from the solution s. A move m can be defined as adding/deleting an element to/from the current solution. Besides, the Tabu Search (TS) algorithm uses a memory structure called Tabu List (TL) to avoid cycles. A solution among N (s) is selected only if it does not exist in the TL. At each iteration, the TS updates the TL by adding attributes of the selected solution. Attributes usually do not contain the complete solution to facilitate handling the TL. The TL size is called Tabu Tenure (TT). It is crucial to define an adequate TT, because if it is too small, there is a high chance to have cycles and hence TS cannot go beyond the local optimal solution. However, if TT is very large, very few options will be left for the neighborhood formation.

To start TS, an Initialization phase is set. This is to generate an initial feasible solution s init . Note that the further is this solution from the optimal one, the greater is the overall time of execution of the method. Therefore, it would be more efficient not to start with a totally random solution. The use of this search in designing our solution, QEMSS, is presented in details in section IV.

III. SYSTEM MODEL AND PROBLEM FORMULATION

A. System Model

We consider a system of N mobile users and a central server as shown in Figure 1. Each user carries his mobile equipped with embedded sensors and is considered as a candidate participant for the sensing task. Users are moving arbitrarily in a 2D area representing a city. Nevertheless, they do not move in a totally random way but rather they follow paths. The trajectory of each user can be then formally defined as a set of possible visited areas ("locations"). In this case, we subdivide the sensing region into multiple sub-regions of one or many locations.

First, the server initiates the sensing tasks with a set of QoI requirements: q i ∈ {q 1 , . . . , q L }, such as quantity of collected data, sensing region and time of measurements. The server regularly gathers information from registered mobile phones users regarding their mobility. Moreover, each participant is assumed to update his device remaining energy. In our scenario, we assume that the unit energy consumption of a sensor on different type of devices is almost identical as assumed by the authors in [START_REF] Koenig | Energy consumption of the sensors of smartphones[END_REF] and we denote it by e c . It is worth mentioning that we consider also a threshold level on energy e θ . Whenever a device's energy level reaches this value, the user in question is eliminated from the candidate list of participants during future sensing periods. This guarantees to participants the necessary energy for normal use of their mobiles. The server selects then the subset of participants that maximizes the QoI of overall collected data while taking into account energy and redundancy. To do so, we limit the number of required measurements to one measurement per area for a particular sensing period. Finally, a sensing schedule is generated to determine when and where to sense for each participant.

B. Problem Formulation 1) QoI attributes and metrics: In the following, we use the notation from TABLE I. Suppose that X is the subset of the selected users among all participants. We compute, for each user, the possible provided data quality. To this point, we selected three attributes: "Completeness", "Timeliness" and "Affordability". The first term measures if the collected data provides all facts. In this work, the spatial completeness is considered as the area potentially covered by a participant. Timeliness is, as the term indicates, collecting and uploading information within a limited time interval which is the sensing period. The last criterion highlights the fact that a user with a low battery level cannot "afford" to participate in next sensing tasks. We quantify the aforementioned attributes using the utility function introduced in [START_REF] Nguyen-Vuong | On utility models for access network selection in wireless heterogeneous networks[END_REF] as a metric. This normalized function was proposed in economy to quantify the level of usefulness that a user derives from a given product. In our scenario, we set different functions to measure the utility perceived by the system of each QoI attribute .

According to [START_REF] Nguyen-Vuong | On utility models for access network selection in wireless heterogeneous networks[END_REF], the "completeness" metric is an upward criterion, as the more a user covers an area, the more he collects samples of data. Given a variation range of the coverage x, x α ≤ x ≤ x β and a middle point of the utility x m , an adequate utility function for x is:

U c (x) =                    0 x < x α (1a) ( x-xα xm-xα ) ζ 1 + ( x-xα xm-xα ) ζ x α ≤ x ≤ x m (1b) 1 - ( x β -x x β -xm ) γ 1 + ( x β -x x β -xm ) γ x m < x ≤ x β (1c) 1 x > x β , (1d)
where

ζ ≥ max{ 2(x m -x α ) x β -x m , 2}. (2)
and

γ = ζ(x β -x m ) x m -x α . (3)
ζ and γ are the tuned steepness parameters.

As per the "Timeliness" metric, it must be a centered function, because the sensing period is a time interval with the required instant of measurement as the median. This ensures that as the time of measurement gets further from the required moment, its utility lowers. Given a variation range of the instant x, x α ≤ x ≤ x β and the required instant of measurement x r as a middle point of the utility, we formulate the utility function described in Equation ( 4).

U t (x) =                                          0 x < x α , x > x β (4a) ( x-xα xm1-xα ) ζ 1 + ( x-xα xm1-xα ) ζ x α ≤ x ≤ x m1 (4b) 1 - ( xr-x xr-xm1 ) γ 1 + ( xr-x xr-xm1 ) γ
x m1 < x < x r (4c)

1 x = x r (4d) 1 - ( x-xr xm2-xr ) ζ 1 + ( x-xr xm2-xr ) ζ x r < x ≤ x m2 (4e) ( x β -x x β -xm2 ) γ 1 + ( x β -x x β -xm2 ) γ x m2 < x ≤ x β (4f)
where x m1 and x m2 are respectively the middle points of the time intervals [x α , x r ] and [x r , x β ].

Finally, the total utility of data is the product of all its QoIattributes utilities presented by Equation ( 5). This formulation makes the collected information "utile" only if it satisfies all quality metrics. Hence, in case one quantity is null, the overall data-utility provided by the corresponding mobile user in a specific area is null which forbids, for example, collecting data out of the sensing time interval.

U QoI = U c (x) × U t (x). (5)
Equation ( 5) illustrates the objective function to be maximized in our scheme: i.e. we target to maximize the "timeliness" and "completeness" of collected data during sensing tasks. For the "affordability" attribute, its corresponding metric will be introduced as a constraint in our problem rather than an objective since it is a limiting condition. Besides, the "affordability" is a downward criterion; when a user's mobile remaining energy gets low, the utility of its measurements lowers as well. Hence, we quantify the "affordability", i.e. the capability of a mobile to sense, by the decreasing function of Equation [START_REF] Sheng | Energy-efficient collaborative sensing with mobile phones[END_REF].

U e (x) = 1 -U c (x). (6)
Note that the percentage of energy x varies in [e θ , 100%] where U e (e θ ) = 0.

2) Known/Unknown users' trajectories: It is worth noting that we consider both deterministic and unknown users' trajectories. The first approach assumes that the server knows in advance each user's trip. This helps to define a benchmark for the unknown case: i.e. the realistic scenario where users announce only their initial locations obtained via the GPS service to the server at the beginning of each sensing period.

p rs = |T i /(n r , n s ) ∈ T i | |T i /n r ∈ T i | , (7)
where n r is the last two visited positions vector, n s is the possible future sub-area to be visited and T i is the trajectory of the user i.

3) Optimization Problem: The final goal of QEMSS is to maximize the overall achieved value of data quality collected by X selected participants while minimizing the consumed resources to achieve that. Hence, an optimization problem can be formulated as:

maximize x N i=1 M j=1 x ij × U QoI (QoI ij ) subject to U e (e i -e c M j=1 x ij ) ≥ 0 ∀i ∈ 1 . . . N and N i=1 x ij ≤ 1 ∀j ∈ 1 . . . M (8)
where X is a users × areas sized-matrix with elements in {0, 1}. If x ij is 1, user i is selected to sense on area j. The first constraint ensures to each mobile the necessary amount of energy for the common activities while the second one forbids data redundancy by selecting at most one user per area.

In the formulation in (8), we look for a "combination" of users that satisfies both constraints and maximizes the objective function. However, combinatorial optimization problems are challenging to solve whenever a large number of entities is involved. In this paper, we are working on a large scale Crowdsensing scenario which makes looking for the optimal solution a non polynomial-time process [START_REF] Song | QoI-aware multitaskoriented dynamic participant selection with budget constraints[END_REF]. Therefore, it would be more efficient to search a sub-optimal solution using heuristic methods such as Tabu-Search (TS).

IV. QOI AND ENERGY-AWARE MOBILE SENSING SCHEME

In the following, we present in details the use of Tabu-Search for designing our solution QEMSS. First, we start with defining the different components of TS:

• A possible solution X is a users × areas sized boolean matrix: i.e. x ij in {0, 1}. This solution must answer the constraints of the problem in Equation [START_REF] Lu | Minimum cost collaborative sensing network with mobile phones[END_REF].

That means, for each user (u i : row of X) the remaining energy of his mobile device, e i -e c M j=1 x ij , needs to be above the defined threshold e θ . Besides, to have at most a user per sub-area, the sum of each column a j of the feasible solution must be less than or equal to 1 to avoid redundancy.

X =   a 1 . . . a M u 1 x 11 . . . x 1M . . . . . . x ij . . . u N x N 1 . . . x N M   ,
• A move m ∈ M (X) is a modification applied to an initial solution X init to generate other possible solutions. In our work, we consider swapping the assignment of users to a same area. Thus, a move m can be a matrix of the same size as X with all elements equals to zeros except those of the old and the new assignment positions, which are set to 1.

• To generate the neighborhood of a solution X, we apply the defined move m. Each element in N (X) is the result of a simple XOR operation: X = X ⊕ m.

• For each solution X ∈ S, we compute the maximum achieved QoI value as its attribute.

• In each iteration, we update the TL by adding the attributes of the best achieved solution X best in terms of the maximum achieved QoI.

We add the best achieved QoI-value among all visited solutions to the TL as an attribute of X such as done in [START_REF] Kamal | A tabu search DSA algorithm for reward maximization in cellular networks[END_REF]. This will not only forbid recycling to already visited solutions but also to not visit solutions with same U QoI . Consequently, we reduce both the time of computation and the required memory for TL.

Our TS-based selection scheme is presented in Algorithm 1.

Algorithm 1 TS for maximizing the overall QoI of collected data 1: Initialization: Generate an initial solution X init from the space of feasible solutions and compute its data utility U .

2: X ← X init 3: X opt ← X init 4: U opt ← U init 5: while iter < M ax iter do 6:
Neighborhood Formation: Generate all neighbors of the current solution X by applying moves m ∈ M (X) except those in the Tabu List TL.

7:

Neighborhood Selection: Select the neighbor solution X ∈ N (X) with the far best data utility U best to be considered as the initial solution for the next iteration. Update TL: Add the attributes of the selected solution to TL.

13:

X ← X best 14: end while 15: Return X opt Initialization: To generate an initial solution, we need to satisfy all constraints of the optimization problem [START_REF] Lu | Minimum cost collaborative sensing network with mobile phones[END_REF]. A first trivial solution may be the identity matrix which answers the second constraint: at most one user per area. However, note that we can not assign a user to an area which does not belong to his trajectory. To this end, we propose a simple heuristic to find an initial feasible solution. It is a "greedybased procedure" presented in Algorithm 2. First, we select a random sub-region among the set of all sensing sub-regions. Then, we search for the participant with the maximum value of QoI and a residual mobile energy above the defined threshold. We repeat this procedure till we cover all the required area or no more candidates are available.

Algorithm 2 Greedy Method to generate an initial solution

Require: Set of sensing sub-regions R , Users N , Utility matrix U . Ensure: Set of selected users X 1: while R is not empty do 2:

Select a random area R i ∈ R 3:

while select = 0 do 4:
Select the user with the maximum collected data utility in the area R i :

(M ax U , argmax) ← max(U Ri ) 5:
Verify the energy constraint :

6:

if U e (argmax) > 0 then 7:

X(argmax, R i ) ← 1 8: select ← 1 9: else 10: U (argmax, R i ) ← 0 11: select ← 0 12: end if 13:
end while

14:
R ← R -R i 15: end while 16: Return X Neighborhood Formation: Starting from a solution X we can generate the neighborhood N (X) by applying one move. We swap a selected user to sense on a specific area in X with another user in the same area. Our swap is based on a generated reference matrix X ref , where x ref (i, j) = 1 only if the user i stopped by the area j during his trip. All moves are chosen among the 1-elements of the current region (column of the matrix). By this way, we obtain a "Reduced Neighborhood" which facilitates the search among feasible solutions. As for the initial solution, we check that each neighbor X ∈ N (X) conforms with the energy constraint.

Note that Algorithm 1 is the search strategy for both deterministic and unknown trajectories approaches. Simulations are described in detail in the next section and results are compared to existing concurrent participatory sensing schemes from the literature.

V. PERFORMANCE EVALUATION

We consider as a simulation area, a city of 4000m×6000m scale which includes 20 horizontal "roads" and 20 vertical ones. We first subdivide this area into sub-areas of "roads". The topology of the area is similar to the well known Manhattancity model. Therefore, we use mobility traces of the Manhattan mobility model generated by the mobility scenario generation tool, Bonnmotion [START_REF] Aschenbruck | Bonnmotion: a mobility scenario generation and analysis tool[END_REF]. Each user enters a road with a random speed picked from [START_REF] Lane | A survey of mobile phone sensing[END_REF][START_REF] Mun | PEIR, the personal environmental impact report, as a platform for participatory sensing systems research[END_REF], moves straight with a probability of 0.5, turns left or right with respective probabilities of 0.25 each. The number of users is varied from 100 to 1000. Users' initial energy is randomly generated as a uniformlydistributed random variable ranging from e θ to 100%. We carried out simulations for 16-hours sensing period. Besides, we conducted two predictions per hour for the unknown trajectories scenario.

To evaluate the performance of our algorithm, we introduce three metrics: Maximum Achieved QoI, Spatial Accuracy and Temporal Accuracy. QEMSS was compared to two methods, a modified version of the Dynamic Participant Selection Scheme (DPS) algorithm in [START_REF] Song | QoI-aware multitaskoriented dynamic participant selection with budget constraints[END_REF] and a Random selection scheme. Results are detailed in Figures 2 and3.

A. Maximum Achieved QoI

In Figure 2, we plot the achieved data quality percentage achieved by the three considered selection schemes. The average value of the different 16-hours measured QoI percentage varying the number of users is shown in Figure 2(a). Obviously, the reached QoI value increases in function of the number of users available in the sensing area. For high density areas (500-1000 users), QEMSS performs as efficient as others schemes. However, for low density (100-400 users), our scheme outperforms both DPS and RS. This is observed for both deterministic and prediction algorithms. The maximum achieved QoI value, in the case of unknown trajectories, gets lower for all algorithms due to the prediction resulted errors. Nevertheless, QEMSS still performs better than the two other evaluated schemes.

In Figure 2(b), we observe that for a specific number of users (400) the performance of our scheme is comparable to the DPS algorithm in the beginning of the period. Nevertheless, the gap between QEMSS and DPS widened in the end of the sensing period up to 27%. This is due to the selection strategy; the TS-based algorithm used by QEMSS conducts extensive search at each sensing interval to diversify the selected users which makes their devices' batteries last more. However, using the DPS greedy-based search, the same users are frequently selected to sense which limits their resources. The Random Selection has clearly the lower performance in terms of achieved QoI.

B. Spatial and Temporal Accuracy

To measure the spatial accuracy, we used the Manhattandistance function as presented by Equation [START_REF] Bisdikian | A letter soup for the quality of information in sensor networks[END_REF]. We compute the distance between the spatial coordinates of the required sensing area and the collected data. Note that the server answers applications' requests by available data, i.e, if no measurement is collected on the required area, it looks for the spatially and temporally closest measurement. That is, the larger is the Manhattan-distance dist(area req , data coll ), the lower is its spatial accuracy.

s a = 1 - n i=1 |X i -Y i |, (9)
As shown in Figure 3(a) and 3(b), the DPS-scheme is getting less accurate when getting closer to the end of the sensing period. This corresponds to the fact of not achieving good data quality. QEMSS and Random Search reached comparable spatial accuracy since they both cover most of the required regions. However, for the timeliness criterion quantified by the utility function U t (x), we observe in Figures 3(c) and 3(d) that the RS-scheme is the less accurate selection strategy. That means, selected users by RS covered most of the area but collected samples in random instants that are far from the required time of measurement. Eventhough DPS is as accurate as QEMSS for the first half of the sensing period, the error rate is leveled up to 62% by the end of the sensing period. This is due to the limited energy resources of available users at the end of the sensing period when using DPS.

VI. CONCLUSIONS

In this paper, a QoI Energy-aware Selection Scheme for participatory sensing systems is presented. We investigated first how to quantify different QoI attributes by introducing an adequate "utility function" to each criterion. In order to select an optimal set of users that maximizes data quality, a Tabu-Search based algorithm was illustrated. Simulation results show that our system has achieved competitive performance in high density areas compared to other benchmark schemes. However, QEMSS obtained a significant gain in the achieved QoI and spatial and temporal accuracy of data in challenging situations such as low density sensing areas and/or low battery equipped participants at the end of a sensing period. Hence, QEMSS outperformed the two state-of-the-art participatory selection schemes.

Besides, QEMSS diversified the selection of users in each iteration by using the Tabu-search. This resulted on a first level of fairness among participants. A future work will study in detail the fairness issue in order to reduce the individual energy consumption by minimizing the number of sensing times for each participant.

Fig. 1 .

 1 Fig. 1. Mobile Phone Sensing scenario: the server selects a subset of users that answers the maximum QoI while considering an energy constraint and broadcasts the scheduling. Selected participants collect and upload the data. The server answers requests generated by application tiers by retrieving the adequate information.

Fig. 2 .

 2 Fig. 2. Achieved QoI by different selection schemes in case of known/unknown trajectories while (a) varying the number of users in the sensing area and (b) considering the energy evolution for 400 users during a 16-hour sensing period.

  Fig. 3. Data Accuracy in spatial (a), (b) and temporal (c), (d) terms for different sensing region density (200-400) users

TABLE I

 I

		.	LIST OF NOTATIONS
	Notations		Description
	N		Set of candidate participants
	M		Sensing sub-regions
	L		Number of QoI requirements
	ei		Initial Energy level for user i
	ec		Energy cost for sensing
	e θ		Energy level Threshold
	qi		A QoI requirement
	Pinit		Initial participant position
	U QoI	Total QoI-Utility achieved by a user
	X		Subset of selected users
	To predict next possible visited areas, we use the Markov
	model for mobility prediction. Particularly, we choose the
	second-order Markov model, that is to predict the next position
	based on the two last visited ones. To this end, we define the
	probability of visiting a future area as introduced in [15] by:


Ben Rim

Messaoud

Zeineb Rejiba
email: zeineb.rejiba@gmail.com

Yacine Ghamri-Doudane

An Energy-aware End-to-End Crowdsensing Platform: Sensarena

Nowadays, smart-devices come with a rich set of built-in sensors besides being full-fledged processing and communicating handsets. This empowers the crowd to collect and share sensed data about various city-related phenomena, a new paradigm denoted as Crowdsensing. In this context, we introduce Sensarena; an end-to-end general-use crowdsensing platform which consists of three main entities: two types of android-based mobile applications and a central server. The first application is destined to the participants to conduct sensing campaigns while the second is for requestors to submit their sensing requests. Besides, the server side is designed to host energy-aware sensing tasks assignment mechanisms and storage of different types of data. The developed platform has been exhaustively tested for different scenarios and proved a competitive performance while responding to both participants and requestors requirements.

I. INTRODUCTION

The proliferation of smart devices with embedded multiuse sensors enhances the role of the general public (Crowd) in data collection and sharing. Crowdsensing has attracted a lot of attention from both academia and industry thanks to its potential applications such as traffic monitoring [START_REF] Mohan | Nericell: Rich monitoring of road and traffic conditions using mobile smartphones[END_REF], environment monitoring [START_REF] Mun | PEIR, the personal environmental impact report, as a platform for participatory sensing systems research[END_REF] and health care to name a few.

Among the various crowdsensing systems introduced in the literature, only few were general-use ones. For instance, Funf Open Sensing Framework 1 , is a generic tool for scientists to configure their search criteria to be built into a ready-to-use application destined to participants. Yet, the provided sensing apps are considered to be very basic which limits their fields of application. Another platform introduced by researchers is APISense 2 . This Software as a Service (SaaS) solution models the requested sensing tasks as scripts which allows code portability across different mobile platforms. Additionally, a PRIVAPI model was added to the APISense platform to respond to participants' concerns about privacy. Nevertheless, for both aforementioned platforms, efficient task allocation schemes were not investigated which may result in a nonefficient sensing process in terms of dedicated resources.

Sensarena is then a crowdsensing platform that we introduce in this paper to tackle the different challenges of sensing deployment. Hence, we designed a tasks assignment process running on the server side to allocate sensing tasks according to the participants' preferences and requestors' demands. Besides, two types of android-based mobile applications were developed to allow users to receive and perform sensing requests as participants or submit sensing tasks as requestors.

In the remainder of this paper, we provide an overview of the Sensarena architecture and features in section II and we detail the demo description in section III before concluding.

II. THE PROPOSED CROWDSENSING PLATFORM: SENSARENA

A. Architecture

The Sensarena tiered architecture, detailed in Figure 1, describes the main elements of a crowdsensing system. The presentation tier on the left represents the mobile devices and involves two types of user classes; the participants equipped with an android-based application, SensarenaP, that leverages the different built-in sensors in their handsets to collect data and the requestors provided with the SensarenaR application which enables them to look for sensor information. On the right, the business logic tier and the data tier are illustrated by a Node.js central server and a NoSQL database (MongoDB) respectively. The latter is organized into three main collections in order to store separately all user-related information, the sensing task details and the collected data.

B. Sensarena Features

Hereafter, we describe the different features of our energyaware general-use crowdsensing platform, Sensarena, while focusing on the proposed task assignment scheme and measures taken to address the energy constraint.

First, users need to subscribe to the platform. That is, they must provide their credentials via the Registration screen of the SensarenaP app. Once registered, users are automatically redirected to the Authentication screen to log in and start their crowdsensing experience. Note that a Preferences editing feature is provided here in order to ensure participants' commitment during the sensing process by allowing them to select which sensors' data to contribute.

Based on received users' coordinates and preferences, the central server launches the Task assignment process. This is performed periodically to look for newly submitted sensing tasks by requestors. A first selection considers all the participants registered within the area of interest, i.e., the users whose cities contain the corresponding sensing region. However, the final set of candidates of a specific task must include only users whose preferences conform with its requirements. Therefore, only adequate users will be notified about the available sensing requests while precising the location and the deadline. This avoids the overhead that may be generated when communicating the different entities of the Sensarena platform besides lowering the burden placed on participants.

After receiving notifications of the first assignment, users can accept or reject to participate to the announced sensing campaigns. By accepting, users report their actual positions and their handsets' battery level to the platform core. Next, the server conducts the Participants selection process. This feature partly inherits proposals from the QoI and Energyaware Mobile Selection Scheme, introduced by authors in [START_REF] Messaoud | QoI and energy-aware mobile sensing scheme: A tabu-search approach[END_REF], to include two main criteria. First, users' handsets must satisfy an energy constraint defined by a threshold, below which participation in sensing tasks is not allowed. This ensures to participants the necessary energetic resources for the common use of their mobile devices. The second criterion enhances the accuracy of the collected data samples by allocating the task in question to the closer participant(s) to the point of measurement. Thus, the final set of participants is selected among the best ranked users, based on the aforementioned criteria, and notified to start performing the sensing.

The Sensing execution and Data upload is launched by activating/deactivating the necessary sensors automatically and uploading the collected data to the server to be stored into the database for future use. This highly decreases the overall energy cost of the task execution and limits the participant's involvement during the sensing process. Later, the uploaded data can be retrieved by requestors via the Search sensed data feature built in their SensarenaR mobile application. The latter enables both search and submission of sensing tasks.

III. DEMO DESCRIPTION

The capabilities of the Sensarena platform are demonstrated by two use cases depending on the type of involved sensors:

Built-in mobile devices' sensors: As a first step, we exhibit the traditional use case of a requestor searching data about a phenomenon measured by sensors embedded in smart devices such as; barometer, accelerometer, microphone. If found, the measurement will be displayed on a map-screen of the SensarenaR android-based application. Else, the requestor needs to submit a new sensing task to the central server via the same application. The server launches accordingly its periodic assignment to find the adequate subset of users who may perform this task as detailed in section II. After conducting the necessary selection process and allocating tasks to participants, the server receives the required data and delivers it back to the requestor. Hence, Demo visitors would be able to define different sensing tasks with different sensed phenomena, periods and number of required samples, using the SensarenaR mobile application.

External sensors: The second step is to retrieve data from external sensors. In our work, we communicate the SensarenaP android-based application to an external device denoted as Sensortag 3 which allows measuring different environmental aspects such as pressure and temperature. Thus, users may conduct periodic measurements of such sensors data and upload it to the Sensarena platform. Consequently, when receiving a demand of a temperature measurement via the SensarenaR app, the server looks for already collected samples in its database and responds while taking into account the corresponding submitted search criteria.

IV. CONCLUSIONS

In this paper, we presented Sensarena our energy-aware endto-end generic-use crowdsensing solution. The various features of the platform offered to both requestors and participants were identified. Besides, we introduced the two-step task allocation scheme to ensure a quality-aware and energy-efficient sensing process. Tests of different use cases proved a promising performance that is likely to allow a future large-scale adoption.

Fig. 1 .

 1 Fig. 1. Architecture and core features of the crowdsensing platform: Sensarena.