towards energy-efficient task scheduling on smartphones in

10
Computer Networks 115 (2017) 100–109 Contents lists available at ScienceDirect Computer Networks journal homepage: www.elsevier.com/locate/comnet Towards energy-efficient task scheduling on smartphones in mobile crowd sensing systems Jing Wang a , Jian Tang a , Guoliang Xue b,, Dejun Yang c a Department of Electrical Engineering and Computer Science, Syracuse University, Syracuse, NY 13244, United States b School of Computing, Informatics, and Decision Systems Engineering, Arizona State University, Tempe, Arizona 85287, United States c Department of Electrical Engineering and Computer Science Colorado School of Mines, Golden, CO 80401, United States a r t i c l e i n f o Article history: Received 8 July 2016 Revised 11 October 2016 Accepted 28 November 2016 Available online 12 December 2016 Keywords: Mobile crowd sensing Smartphones Task scheduling Energy efficiency a b s t r a c t In a mobile crowd sensing system, a smartphone undertakes many different sensing tasks that demand data from various sensors. In this paper, we consider the problem of scheduling different sensing tasks assigned to a smartphone with the objective of minimizing sensing energy consumption while ensuring Quality of SenSing (QoSS). First, we consider a simple case in which each sensing task only requests data from a single sensor. We formally define the corresponding problem as the Minimum Energy Single- sensor task Scheduling (MESS) problem and present a polynomial-time optimal algorithm to solve it. Furthermore, we address a more general case in which some sensing tasks request multiple sensors to report their measurements simultaneously. We present an Integer Linear Programming (ILP) formulation as well as two effective polynomial-time heuristic algorithms, for the corresponding Minimum Energy Multi-sensor task Scheduling (MEMS) problem. Extensive simulation results show that the proposed al- gorithms achieve significant energy savings, compared to a widely-used baseline approach; moreover, the proposed heuristic algorithms produce close-to-optimal solutions. © 2016 Published by Elsevier B.V. 1. Introduction Smartphones have become an essential part of people’s daily life. However, some mobile users haven’t realized that their smart- phones have powerful sensing capabilities. Most smartphones are equipped with various embedded sensors, including microphone, camera, GPS, accelerometer, gyroscope, WiFi/3G/4G interfaces, etc. Moreover, booming wearable devices (such as Google Glass, Smart Watches, Fitbit, Sensordrone [16], etc.) can be connected to smart- phones via network interfaces, such as Bluetooth, to extend their sensing capabilities. Embedded sensors and wearable devices can enable applications and services in various domains, such as en- vironmental monitoring, social networking, healthcare, transporta- tion and safety. In this paper, a general-purpose mobile crowd sensing system, such as PRISM [3] and Medusa [13], is considered. As illustrated in Fig. 1, in such a system, a sensing request is sent via a web portal by a service user; and it will be pushed to a set of smart- phones. After receiving the request, smartphones will collect data This is an enhanced and extended version of a paper [20] presented at IEEE Globecom’2015. Corresponding author. E-mail addresses: [email protected] (J. Wang), [email protected] (J. Tang), [email protected] (G. Xue), [email protected] (D. Yang). from one or multiple sensors and return the data back to the user via a server. Unlike those systems targeting at specific applications (such as Ear-phone [15] for environment monitoring and Sociable- Sense [14] for social networking), it is a multi-application multi- task system that supports a large variety of sensing applications. On one hand, a sensing task is dispatched to many smartphones to collect data; on the other hand, a smartphone undertakes many different sensing tasks generated for multiple applications. Generally speaking, it can be energy-consuming to collect data from smartphone sensors. If sensor activities are not carefully managed in an energy-efficient manner, the energy-limited bat- tery of a smartphone may be drained quickly. Specifically, it con- sumes energy to actively perform a scan to obtain a measurement for some sensors (such as WiFi interface); meanwhile, it also con- sumes energy to spawn a thread to obtain readings for some other sensors (such as accelerometer), even if they are always working. Moreover, it has been shown by [7,19,24] that some sensors, such as GPS, are power hungry. To minimize energy consumption, several related works [7,14,19,24] presented application-specific algorithms that deter- mine how to control sampling and energy usages of particular sen- sors (such as GPS) for particular applications. In addition, a few recent works studied how to engage and select a proper subset of smartphones to participate in sensing activities [4,22,23], and how to generate and assign sensing tasks to participating smart- http://dx.doi.org/10.1016/j.comnet.2016.11.020 1389-1286/© 2016 Published by Elsevier B.V.

Upload: others

Post on 04-Oct-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Towards energy-efficient task scheduling on smartphones in

Computer Networks 115 (2017) 100–109

Contents lists available at ScienceDirect

Computer Networks

journal homepage: www.elsevier.com/locate/comnet

Towards energy-efficient task scheduling on smartphones in mobile

crowd sensing systems

Jing Wang

a , Jian Tang

a , Guoliang Xue

b , ∗, Dejun Yang

c

a Department of Electrical Engineering and Computer Science, Syracuse University, Syracuse, NY 13244, United States b School of Computing, Informatics, and Decision Systems Engineering, Arizona State University, Tempe, Arizona 85287, United States c Department of Electrical Engineering and Computer Science Colorado School of Mines, Golden, CO 80401, United States

a r t i c l e i n f o

Article history:

Received 8 July 2016

Revised 11 October 2016

Accepted 28 November 2016

Available online 12 December 2016

Keywords:

Mobile crowd sensing

Smartphones

Task scheduling

Energy efficiency

a b s t r a c t

In a mobile crowd sensing system, a smartphone undertakes many different sensing tasks that demand

data from various sensors. In this paper, we consider the problem of scheduling different sensing tasks

assigned to a smartphone with the objective of minimizing sensing energy consumption while ensuring

Quality of SenSing (QoSS). First, we consider a simple case in which each sensing task only requests data

from a single sensor. We formally define the corresponding problem as the Minimum Energy Single-

sensor task Scheduling (MESS) problem and present a polynomial-time optimal algorithm to solve it.

Furthermore, we address a more general case in which some sensing tasks request multiple sensors to

report their measurements simultaneously. We present an Integer Linear Programming (ILP) formulation

as well as two effective polynomial-time heuristic algorithms, for the corresponding Minimum Energy

Multi-sensor task Scheduling (MEMS) problem. Extensive simulation results show that the proposed al-

gorithms achieve significant energy savings, compared to a widely-used baseline approach; moreover, the

proposed heuristic algorithms produce close-to-optimal solutions.

© 2016 Published by Elsevier B.V.

f

v

(

S

t

O

t

d

f

m

t

s

f

s

s

M

a

1. Introduction

Smartphones have become an essential part of people’s daily

life. However, some mobile users haven’t realized that their smart-

phones have powerful sensing capabilities. Most smartphones are

equipped with various embedded sensors, including microphone,

camera, GPS, accelerometer, gyroscope, WiFi/3G/4G interfaces, etc.

Moreover, booming wearable devices (such as Google Glass, Smart

Watches, Fitbit, Sensordrone [16] , etc.) can be connected to smart-

phones via network interfaces, such as Bluetooth, to extend their

sensing capabilities. Embedded sensors and wearable devices can

enable applications and services in various domains, such as en-

vironmental monitoring, social networking, healthcare, transporta-

tion and safety.

In this paper, a general-purpose mobile crowd sensing system,

such as PRISM [3] and Medusa [13] , is considered. As illustrated

in Fig. 1 , in such a system, a sensing request is sent via a web

portal by a service user; and it will be pushed to a set of smart-

phones. After receiving the request, smartphones will collect data

� This is an enhanced and extended version of a paper [20] presented at IEEE

Globecom’2015. ∗ Corresponding author.

E-mail addresses: [email protected] (J. Wang), [email protected] (J. Tang),

[email protected] (G. Xue), [email protected] (D. Yang).

[

m

s

r

o

h

http://dx.doi.org/10.1016/j.comnet.2016.11.020

1389-1286/© 2016 Published by Elsevier B.V.

rom one or multiple sensors and return the data back to the user

ia a server. Unlike those systems targeting at specific applications

such as Ear-phone [15] for environment monitoring and Sociable-

ense [14] for social networking), it is a multi-application multi-

ask system that supports a large variety of sensing applications.

n one hand, a sensing task is dispatched to many smartphones

o collect data; on the other hand, a smartphone undertakes many

ifferent sensing tasks generated for multiple applications.

Generally speaking, it can be energy-consuming to collect data

rom smartphone sensors. If sensor activities are not carefully

anaged in an energy-efficient manner, the energy-limited bat-

ery of a smartphone may be drained quickly. Specifically, it con-

umes energy to actively perform a scan to obtain a measurement

or some sensors (such as WiFi interface); meanwhile, it also con-

umes energy to spawn a thread to obtain readings for some other

ensors (such as accelerometer), even if they are always working.

oreover, it has been shown by [7,19,24] that some sensors, such

s GPS, are power hungry.

To minimize energy consumption, several related works

7,14,19,24] presented application-specific algorithms that deter-

ine how to control sampling and energy usages of particular sen-

ors (such as GPS) for particular applications. In addition, a few

ecent works studied how to engage and select a proper subset

f smartphones to participate in sensing activities [4,22,23] , and

ow to generate and assign sensing tasks to participating smart-

Page 2: Towards energy-efficient task scheduling on smartphones in

J. Wang et al. / Computer Networks 115 (2017) 100–109 101

Fig. 1. A mobile crowd sensing system.

p

e

s

s

i

s

c

h

f

v

s

o

a

t

g

a

t

t

I

t

t

o

t

l

c

r

e

c

r

a

p

a

s

Table 1

Notations.

Notation Explanation

i and N The index of time instants and N = | �| j and M The index of sensors and the total number of sensors (on a

smartphone)

J k The set of indices of sensors in multi-sensor task k

k and K The index of sensing tasks and the total number of tasks

p A ( · ) The sensing accuracy

q k The QoSS requirement of task k

S k Sensing task k

w j Energy usage of collecting a reading from sensor j

x ij The scheduling variable

� The sequence of time instants, at which sensor data can be

collected.

�k The sensing time sequence of task k

s

l

l

r

2

c

p

m

p

i

c

s

S

m

s

i

q

q

e

a

s

o

i

m

s

t

a

H

c

f

w

t

m

s

l

a

f

w

H

o

t

o

hones [9,18,21] in a general mobile crowd sensing system. How-

ver, scant attention has been paid to the problem of scheduling

ensing tasks on a smartphone with the objective of minimizing

ensing energy consumption while guaranteeing Quality of SenS-

ng (QoSS), which is the focus of our work. The algorithms pre-

ented here are complementary to those in related works, which

an lead to further energy savings. To tackle this problem, on one

and, we can strategically schedule sensor data collection activities

or a given set of tasks to minimize energy consumption without

iolating their QoSS constraints. On the other hand, since multiple

ensing tasks may request data from common sensors at the same

r similar time instants, we can share sensor data among them to

void redundant effort s.

In this paper, we first consider a simple case called single-sensor

asks . In this case, each sensing task only requests data from a sin-

le sensor. In a mobile crowd sensing system, single-sensor tasks

re quite common; for example, many location-dependent applica-

ions may just request smartphones to report their locations. Fur-

hermore, we address a more general case called multi-sensor tasks .

n this case, some sensing tasks request multiple sensors to report

heir measurements simultaneously. For example, some applica-

ions may request smartphones to report both locations and some

ther sensor readings (such as microphone and wireless signals)

o create certain maps, such as urban noise map [15] and wire-

ess signal strength map [17] . Moreover, some sophisticated appli-

ations may apply machine learning techniques to different sensor

eadings to infer non-trivial information from mobile users or their

nvironment, such as the mobile social networking application So-

iableSense [14] . The main contributions of our work are summa-

ized in the following:

• We formally define the problem of scheduling a set of

single-sensor tasks as the Minimum Energy Single-sensor task

Scheduling (MESS) problem and present a polynomial-time op-

timal algorithm for this problem.

• We present an Integer Linear Programming (ILP) formulation

for the Minimum Energy Multi-sensor task Scheduling (MEMS)

problem, and present two effective heuristic algorithms to solve

it in polynomial time.

• We present extensive simulation results based on real data on

sensor energy usages to show the proposed algorithms achieve

significant energy savings, compared to a widely-used baseline

approach, and moreover, the proposed heuristic algorithms pro-

duce close-to-optimal solutions.

To the best of our knowledge, we are the first to conduct

comprehensive study for sensing task scheduling on a smart-

hone in the context of a general mobile crowd sensing system

nd present provably-good and practically efficient solutions.

The rest of the paper is organized as follows: We present the

ystem model and problem formulation in Section 2 . The proposed

cheduling algorithms for the MESS problem and the MEMS prob-

em are presented in Section 3 and Section 4, respectively. Simu-

ation results are presented and analyzed in Section 5 . We discuss

elated works in Section 6 and conclude the paper in Section 7 .

. System model

In this section, we describe our system model, discuss the two

ases and formally formulate the corresponding task scheduling

roblems. First of all, we summarize major notations in Table 1 .

As mentioned above, we consider a general multi-application

ulti-task mobile crowd sensing system and focus on a partici-

ating smartphone that is requested to undertake a set of sens-

ng tasks involving various sensors. First, we consider a simple

ase in which each sensing task only involves a single sensor (i.e.,

ingle-sensor tasks). A single-sensor task is given by a 4-tuple

k = (k, j k , �k , q k ) , where k is the task ID (that may include infor-

ation about the user initiating the request); j k is the index of the

ensor (that is requested to take measurements); �k = { t 1 , . . . , t N k }s a sequence of time instants at which the sensor readings are re-

uested to be collected, which we call sensing time sequence ; and

k is the Quality of SenSing (QoSS) requirement (which will be

xplained later). Note that many applications may simply request

smartphone to collect sensor readings periodically, i.e., time in-

tants in �k are evenly distributed in the time domain. However,

ur sensing model and algorithms are not restricted to this case,

.e., t ∈ �k could be any arbitrary time.

For the sake of energy saving, we argue that a sensor measure-

ent may not need to be taken exactly at the requested time in-

tant because readings of some sensors (such as light, tempera-

ure, etc) may change slowly over time, i.e., they can be collected

t time instants that are slightly different from the requested ones.

owever, we need to make sure that QoSS is maintained at an ac-

eptable level. If a smartphone is requested to collect a reading

rom a sensor at time instant t , but it does so at t ′ instead, then

e say the accuracy of this sensing action is p A ( t, t ′ ) ∈ [0, 1]. Cer-

ainly, the closer t ′ is to t , the larger the value of p A ( t, t ′ ), i.e., the

ore accurate. Here, we aim to propose a general model for QoSS

o any method can be applied to estimate the sensing accuracy (as

ong as it has the property just mentioned above and it reflects re-

lity). Similar as in [7] , a possible solution is to use a bell-shaped

unction within a value range between 0 and 1:

p A (t , t ′ ) = e −(t −t ′ ) 2

2 σ2 , (1)

here different σ ′ s can be used to model different sensor readings.

ere, smaller σ corresponds to sensor readings that change quickly

ver time (such as GPS), while larger σ corresponds to those

hat change slowly over time (such as temperature and light). In

ur simulation, we used this function to model the accuracy. The

Page 3: Towards energy-efficient task scheduling on smartphones in

102 J. Wang et al. / Computer Networks 115 (2017) 100–109

i

m

f

c

t

m

Q

s

a

s

t

b

m

s

t

t

M

b

o

E

p

p

{

f

t

s

3

f

d

t

e

w

c

n

s

t

M

a

t

a

s

Q

i

p

l

t

i

t

i

a

S

t

m

model can even be extended by considering the impact of other

factors, such as the current motion state (walking, running, driv-

ing, etc) of the mobile user, on the value of σ .

Suppose that a sensing task S k = (k, j k , �k , q k ) requests a

smartphone to collect sensor readings according to a time se-

quence �k = { t 1 , . . . , t N k } . The phone does so according to a sens-

ing schedule � = { t ′ 1 , . . . , t ′

N k ′ } . If ∀ t ∈ �k , p A ( t, t ′ ) ≥ q k (where t ′

is the time instant in � that is closest to t , and q k is the QoSS

requirement of the sensing task), we say the sensing schedule �meets the QoSS requirement of the sensing task S k and denote it by

p A ( �k , �) ≥ q k . Note that since different applications may demand

different sensing accuracies, q k is defined to an application-specific

parameter that varies with sensing tasks.

With a higher QoSS requirement q k , the actual sensing time in-

stant t ′ needs to be closer to t. A special case is that when q k = 1 ,

the actual sensing time instant t ′ need to be exactly the same as t.

However, with a lower QoSS requirement, a relatively larger differ-

ence between t ′ and t is allowed. In other words, it will be more

flexible to schedule a time instant t ′ to collect a sensor reading. For

a smartphone in a mobile crowd sensing system, multiple sensing

tasks may request data from common sensors at the same or simi-

lar time instants. As a result, with a lower QoSS requirement, there

is a better chance that sensor data can be shared among multiple

sensing tasks to reduce energy consumption.

Without loss of generality, we discretize the time domain by

evenly dividing a given sensing scheduling period into intervals

(with equal durations) with a sequence of time instants � ={ t 1 , . . . , t i , . . . , t N } and assume that sensor readings can only be

taken at those instants. The finer the granularity, the better the

QoSS (i.e., accuracy), but the higher the computational complex-

ity. The scheduling problem then becomes the problem of finding

the “best” subset of such time instants. Now we are ready to de-

fine the scheduling problem for the single-sensor task case, which

is referred to as the Minimum Energy Single-sensor task Scheduling

(MESS) problem and is formally presented below:

Unknown decision variables:

• Scheduling variable x ij ∈ {0, 1}: x i j = 1 if it is scheduled to col-

lect a reading from sensor j at t i ; x i j = 0 , otherwise.

MESS:

min

X = 〈 x i j 〉

M ∑

j=1

w j

(

N ∑

i =1

x i j

)

. (2)

Subject to:

p A (�k , X ) ≥ q k , ∀ k ∈ { 1 , . . . , K} . (3)

In this formulation, a set of K sensing tasks S k are given as in-

put, the output is the scheduling matrix X = 〈 x i j 〉 , and w j is the

energy usage for taking a reading from sensor j . The objective

(2) is to minimize the total sensing energy consumption. Without

abusing notations, constrains (3) ensure that the sensing schedule

X = 〈 x i j 〉 meets the QoSS requirement of each sensing task.

Next, we address a more general case in which some sensing

tasks request a smartphone to collect readings from multiple sen-

sors simultaneously, i.e., multi-sensor tasks. In this case, we still

use a 4-tuple S k = (k, J k , �k , q k ) to denote a sensing task, where J kis the set of indices of sensors from which the task requests data.

Note that a unique constraint here is that if a multi-sensor task re-

quests data from multiple sensors then these sensor readings must

be collected at exactly the same time such that they can be used

to generate some meaningful results. Similar to its counterpart in a

single-sensor task, the sensing time sequence �k of a multi-sensor

task, is a sequence of time instants at which sensor readings are

requested to be collected. q k is again the QoSS requirement of a

multi-sensor task. Similarly, any functions or methods can be used

n this case to model QoSS as long as they have the properties

entioned above. A feasible solution could still be a bell-shaped

unction (1) , whose σ , however, needs to be properly chosen with

onsideration for multiple sensors. A conservative approach is to

ake the minimum one.

Note that data collected from a sensor j in a multi-sensor task

ay be used by a single-sensor task S k = (k, j k , �k , q k ) to fulfill its

oSS requirement if j = j k . However, usually data from a single-

ensor task are not sufficient to fulfill the QoSS requirement of

multi-sensor task unless multiple single-sensor tasks (with the

ame set of sensors as that of the multi-sensor task) are scheduled

o collect data simultaneously.

Suppose that we are given a multi-sensor task S k and a feasi-

le scheduling matrix X (to be feasible, it has to meet the unique

ulti-sensor scheduling constraint mentioned above). If we can

till use p A ( �k , X ) ≥ q k to denote that a sensing schedule satisfies

he QoSS requirement of task k (which could be a single-sensor

ask or a multi-sensor task) without abusing notations, then the

inimum Energy Multi-sensor task Scheduling (MEMS) problem can

e formally defined in the same way as the MESS problem. We

mit the formal definition due to similarity and space limitation.

ven though they can be presented in the same way, the MESS

roblem is a special case of the MEMS problem, and the MEMS

roblem is much harder since the constraints p A (�k , X ) ≥ q k , ∀ k ∈ 1 , . . . , K} imply that if k is a multi-sensor task, then readings

rom multiple requested sensors must be collected at the same

ime, and sensor data can be shared among multi-sensor tasks and

ingle-sensor tasks.

. Single-sensor task scheduling

In this section, we present a polynomial-time optimal algorithm

or the MESS problem defined above.

For the MESS problem, if two tasks request data from two

ifferent sensors, they obviously don’t interfere with each other;

herefore, they can be scheduled independently. The trouble mak-

rs are those tasks that request data from a common sensor,

hich need to be scheduled jointly. So we can apply a divide-and-

onquer technique here by dividing given tasks into a collection of

on-overlapping subsets of tasks on a sensor-by-sensor basis and

olve a simpler problem of scheduling a subset of sensing tasks

hat request data from a common sensor (which we call Simplified

ESS (SMESS) problem). Next, we show that we can pre-process

set of sensing tasks according to their QoSS requirements such

hat the SMESS problem can be formulated to an ILP problem with

nice property.

As mentioned above, the scheduling period is discretized to a

equence of time instants � = { t 1 , . . . , t i , . . . , t N } . According to the

oSS model, for a given sensing task S k = (k, j k , �k , q k ) and a time

nstant t ∈ �k , we can identify an interval within the scheduling

eriod (i.e., a subset of continuous time instants in �) such that at

east one sensor reading needs to be collected within the interval

o meet the QoSS requirement. Specifically, a time instant t i ∈ � is

n the interval as long as p A ( t, t i ) ≥ q k . We use l ( t, q k ) and u ( t, q k )

o denote the indices of starting and ending time instants of the

nterval, respectively. Note that usually t l(t,q k ) ∈ � and t u (t,q k )

∈ �re distributed on the two sides of t . Then we can formulate the

MESS problem to an ILP problem, which is formally presented in

he following.

Unknown decision variables:

• Scheduling variable x i ∈ {0, 1}: x i = 1 if it is scheduled to collect

a reading at t i ; x i = 0 , otherwise.

ILP–SMESS( �j ):

in

N ∑

i =1

x i . (4)

Page 4: Towards energy-efficient task scheduling on smartphones in

J. Wang et al. / Computer Networks 115 (2017) 100–109 103

S

i

f

b

t

a

[

t

a

c

r

t

u

i

w

d

d

g

F

D

m

A

s

D

p

p

L

T

P

i

(

A

c

x

t

i

G

w

t

v

t

t(F

t(I

s

w

w

p

T

t

A

I

O

P

o

S

f

b

s

O

p

(

T

l

a

H

t

4

l

l

i

s

s

q

s

q

i

f

s

a

i

n

i

a

a

p

ubject to:

u (t,q k ) ∑

= l(t,q k )

x i ≥ 1 , ∀ S k ∈ � j , ∀ t ∈ �k . (5)

In this formulation, the set �j of sensing tasks requesting data

rom sensor j is given as input and the output is the schedule given

y 〈 x i 〉 . The objective (4) is to minimize the total energy consump-

ion. Constraints (5) ensure that for each time instant requested by

task, t , the measurement is taken at least once during the period

t l(t,q k ) , t u (t,q k )

] , i.e., the QoSS requirement of each task is guaran-

eed to be satisfied. Now we are ready to present the proposed

lgorithm for the MESS problem.

The algorithm first divides the given set of sensing tasks into a

ollection of non-overlapping subsets �j according to the sensors

equested by them. Then these sensing task subsets will be fed

o the ILP–SMESS as input to calculate the sensor-specific sched-

les ( 〈 x ∗i 〉 ), which are then combined to form the final solution,

.e., scheduling matrix 〈 x ij 〉 . Note that instead of solving ILP–SMESS,

e solve its LP relaxation (denoted by LP–SMESS), which can be

one in polynomial time. We will show that doing so always pro-

uces integer optimal solutions to ILP–SMESS and the proposed al-

orithm solves the MESS problem optimally in polynomial time.

irst, we show that a nice property of ILP–SMESS.

efinition 1 (Totally Unimodular (TUM) [12] ) . A square, integer

atrix B is called UniModular (UM) if its determinant det(B ) = ±1 .

n integer matrix A is called Totally UniModular (TUM) if every

quare, nonsingular submatrix of A is UM.

efinition 2 (Consecutive-ones Property [10] ) . if A is (or can be

ermuted into) a 0 − 1 matrix in which for every row, the 1s ap-

ear consecutively, then A is TUM.

emma 1. The constraint matrix of LP–SMESS in its standard form is

UM.

roof: Let A N̄ ×N denote the constraint matrix given by (5) , which

s in the canonical form. N̄ is the total number of constraints in

5) . According to Definition 2 , A N̄ ×N is TUM since in each row of

N̄ ×N , 1s appear consecutively. However, LP–SMESS has additional

onstraints, which are given below:

i ≤ 1 , ∀ i ∈ { 1 , . . . , N} . (6)

By adding slack variables, we can transform the constraint ma-

rix of LP–SMESS given by both (5) and (6) from the canonical form

nto the standard form [12] , which is given as follows:

=

(A N̄ ×N −I N̄ ×N̄ 0

I N×N 0 I N×N

),

here I N × N and I N̄ ×N̄ are identity matrices. Next, we need to show

hat G is TUM.

Adding to a TUM matrix with a row or column that is a unit

ector will preserve the total unimodularity [1] . So, without losing

he total unimodularity, we can add rows with unit vectors itera-

ively to A N̄ ×N , yielding a TUM matrix:

A N̄ ×N

I N×N

).

urthermore, more columns with unit vectors will be added with

he total modularity preserved, resulting in:

A N̄ ×N I N̄ ×N̄ 0

I N×N 0 I N×N

).

n addition, total unimodularity will be preserved by multiplying

ome columns or rows in a TUM matrix with −1 [1] . Clearly, if

e multiply the columns in the middle part of the above matrix

ith −1 , we can obtain G , which is still TUM. This completes the

roof. �

heorem 1. Algorithm 1 is a polynomial-time optimal algorithm for

he MESS problem.

lgorithm 1 The optimal algorithm for MESS.

nput: K sensing tasks { S 1 , . . . , S K } utput: The scheduling matrix X = 〈 x i j 〉

1: � j := ∅ , ∀ j ∈ { 1 , . . . , M} ; 2: � j k

:= � j k + S k ; ∀ k ∈ { 1 , . . . , K} ;

3: x i j := 0 ; ∀ i ∈ { 1 , . . . , N} , ∀ j ∈ { 1 , . . . , M} ; 4: for ( j := 1 to M) do

5: if ( � j � = ∅ ) then

6: Solve the LP relaxation of ILP–SMSS( � j ) to obtain the

scheduling vector 〈 x ∗i 〉 ;

7: 〈 x i j 〉 := 〈 x ∗i 〉 , ∀ i ∈ { 1 , . . . , N} ;

8: end if

9: end for

10: return 〈 x i j 〉 ;

roof: According to Lemma 1 and [12] , solving the LP relaxation

f ILP–SMESS always produces integer optimal solutions to ILP–

MESS. Moreover, because any two sensing tasks requesting data

rom two different sensors can be scheduled independently, com-

ining solutions to a series of ILP–SMESS( �j ) can yield an optimal

olution to the MESS problem.

In addition, the pre-processing (lines 1–3) takes O (MN + K) = (N + K) time since M (i.e., the number of sensors on a smart-

hone) can be considered as a small constant. The LP solving

lines 4–9) takes O (MT ( LP–SMESS ) = O (T ( LP–SMESS ) time, where

( LP–SMESS ) is the time for solving the LP–SMESS (i.e., the LP re-

axation of ILP–SMESS). Since LP–SMESS includes N variables and

t most (K ̂

N max ) + N constraints (where ˆ N max = max 1 ≤k ≤K | �k | ).ence, Algorithm 1 is a polynomial-time algorithm. This completes

he proof. �

. Multi-sensor task scheduling

In this section, we first show the MEMS problem can be formu-

ated to an ILP problem, which can be used to provide optimal so-

utions. Then we present two effective heuristic algorithms to solve

t.

Multi-sensor task scheduling shares some similarities with

ingle-sensor task scheduling: for a given multi-sensor task S k =(k, J k , �k , q k ) and a time instant t ∈ �k , an interval within the

cheduling period can also be identified such that the QoSS re-

uirement can be met if readings are collected from all the sen-

ors in J k at least once within this interval. Again, l ( t, q k ) and u ( t,

k ) denote the indices of starting and ending time instants of the

nterval respectively. However, multi-sensor task scheduling differs

rom single-sensor task scheduling in the sense that for a multi-

ensor task, readings must be collected from all the sensors in J k t exactly the same time. Moreover, for multi-sensor task schedul-

ng, we cannot simply divide all sensing tasks into a collection of

on-overlapping subsets of tasks according to their sensors since

t is possible (not necessarily always) for two sensor tasks, say S k nd S k ′ , to share data if J k

J k ′ � = ∅ . We can easily come up with

Non-linear Integer Programming (NIP) formulation for the MEMS

roblem.

Page 5: Towards energy-efficient task scheduling on smartphones in

104 J. Wang et al. / Computer Networks 115 (2017) 100–109

Algorithm 2 LP rounding based algorithm for MEMS.

Input: K sensing tasks { S 1 , . . . , S K } Output: The scheduling matrix X = 〈 x i j 〉

1: Solve the LP relaxation of ILP–MEMS to obtain the scheduling

matrix 〈 x ∗i j 〉 ;

2: for ( i := 1 to N) do

3: for ( j := 1 to M) do

4: if ( x ∗i j

� = 0 and x ∗i j

� = 1 ) then

5: x i j := 1 ;

6: else

7: x i j := x ∗i j

;

8: end if

9: end for

10: end for

11: return 〈 x i j 〉 ;

w

T

r

l

w

s

w

o

4

i

p

L

s

T

t

(

s

g

A

I

O

i

t

c

NIP–MEMS:

min

X = 〈 x i j 〉

M ∑

j=1

w j

(

N ∑

i =1

x i j

)

.

Subject to:

u (t,q k ) ∑

i = l(t,q k )

( ∏

j∈ J k x i j

)

≥ 1 , ∀ k ∈ { 1 , . . . , K} , ∀ t ∈ �k . (7)

The objective is again to minimize the total energy consump-

tion. In constraints (7) , the non-linear term

j∈ J k x i j takes a value

of 1 if and only if x ij is 1, ∀ j ∈ J k (i.e., all the sensors in J k take mea-

surements simultaneously). Therefore constraints (7) ensure that

for each requested time instant t ∈ �k of a task k , readings are col-

lected from all the requested sensors together at least once during

the interval [ t l(t,q k ) , t u (t,q k )

] , in other words, both the unique multi-

sensor task scheduling constraints and the QoSS requirements are

met. Even though we have a mathematical programming formula-

tion for the MEMS problem, an NIP problem is notoriously hard to

solve. Next, we show we can transform NIP–MEMS to an equiva-

lent ILP problem.

4.1. ILP and LP rounding based algorithm

The transformation is not trivial. By introducing (u (t, q k ) −l(t, q k ) + 1) new binary variables for each time instant t ∈ �k ,

y kt i

=

j∈ J k x i j ∀ i ∈ { l(t, q k ) , . . . , u (t, q k ) } , the non-linear terms in

constraints (7) can be replaced by newly introduced variables. Fur-

thermore, since x ij takes binary values, we can establish the con-

nections between the new variables and the scheduling variables

by y kt i

= min j∈ J k x i j ; i.e., y kt i

≤ x i j , ∀ j ∈ J k . By doing so, we can en-

sure if y kt i

= 1 , then x i j = 1 , ∀ j ∈ J k . In this way, we linearize the

non-linear constraints (7) . Then we can transform NIP–MEMS to

an equivalent ILP problem, ILP–MEMS, which is presented in the

following:

ILP–MEMS:

min

X = 〈 x i j 〉

M ∑

j=1

w j

(

N ∑

i =1

x i j

)

,

Subject to:

u (t,q k ) ∑

i = l(t,q k )

y kt i ≥ 1 , ∀ k ∈ { 1 , . . . , K} , ∀ t ∈ �k ; (8)

y kt i ≤ x i j , ∀ k ∈ { 1 , . . . , K} , ∀ t ∈ �k ,

∀ j ∈ J k , ∀ i ∈ { l(t, q k ) , . . . , u (t, q k ) } . (9)

Even though it is easier to solve ILP–MEMS than NIP–MEMS,

it may still take exponentially long time for a large-size prob-

lem instance. Since we aim to solve the MEMS problem in an on-

line manner, we need to design fast polynomial-time algorithms.

First, we come up with a heuristic algorithm based on ILP–MEMS.

The basic idea is to solve the LP relaxation of ILP–MEMS (instead

of solving ILP–MEMS directly) and then round non-integer val-

ues to integers. Then the problem boils down to how to round.

After an extensive empirical study and theoretical analysis, we

found that the constraint matrix of the LP relaxation of ILP–MEMS

(denoted by LP–MEMS) is unfortunately not (but seems close to

be) TUM. However, an interesting finding is for most problem in-

stances, most of scheduling variables take integer values if solving

LP–MEMS. Therefore, we come up with a simple LP rounding based

algorithm, which is formally presented as Algorithm 2 .

In this algorithm, we first solve the LP relaxation of ILP–MEMS,

which can be done in polynomial time. However, we may end up

ith values that are not 0 or 1, but fractional between 0 and 1.

hose values will be simply rounded to 1. In this way, the QoSS

equirement of each task is guaranteed to be satisfied. So the so-

ution will certainly be feasible. This simple rounding algorithm

orks very well on average cases (since as mentioned above, most

cheduling variables take integer values after solving LP–MEMS),

hich will be shown by simulation results. The algorithm is obvi-

usly a polynomial-time algorithm.

.2. Greedy algorithm

Even though Algorithm 2 is a polynomial-time algorithm, solv-

ng an LP problem may take a long time in the worst case. So we

ropose a faster greedy heuristic algorithm that does not involve

P solving.

The scheduling problem is essentially to determine whether we

hould take a reading from sensor j at each time instant t i ∈ �.

he basic idea of the proposed greedy algorithm is to keep adding

he “best” (explained later) time-sensor pair ( i, j ) into the solution

i.e., scheduling sensor j to collect a reading at t i , in other words,

et x ij := 1) until all the QoSS requirements are met. The proposed

reedy algorithm is formally presented as Algorithm 3 .

lgorithm 3 Greedy algorithm for MEMS.

nput: K sensing tasks { S 1 , . . . , S K } , �utput: The scheduling matrix X = 〈 x i j 〉

1: x i j := 0 , ∀ i ∈ { 1 , . . . , N} , ∀ j ∈ { 1 , . . . , M} ; 2: f max := MAX;

3: while f max > 0 do

4: (i ∗, j ∗) := argmax (i, j) ∈ � f (i, j) ;

5: x i ∗ j ∗ := 1 ;

6: � := � − { (i ∗, j ∗) } ; 7: f max = max (i, j) ∈ � f (i, j) ;

8: end while

9: return 〈 x i j 〉 ;

In the algorithm, � is the set of all time-sensor pairs and MAX

s a large positive number. The key issue is to determine which

ime-sensor pair ( i, j ) to select in each iteration. Here, we need to

onsider two factors: the energy usage associated with scheduling

Page 6: Towards energy-efficient task scheduling on smartphones in

J. Wang et al. / Computer Networks 115 (2017) 100–109 105

Fig. 2. An example for justifying the profit function g ( ·).

s

s

p

p

s

p

l

w

m

i

s

b

f

k

b

a

c

i

r

s

g

w

h

i

a

s

s

o

i

j

f

F

<

s

f

c

n

s

s

s

2

a

r

w

Table 2

Sensor energy usages.

Sensor Energy (mAs)

Accelerometer 5

GPS 400

Gyroscope 7

Light sensor 2

WiFi 100

3G 240

u

g

t

t

c

p

s

s

5

t

s

i

f

l

i

o

m

a

a

o

m

u

g

t

4

o

(

m

f

h

i

o

w

r

s

t

t

r

{

g

m

t

t

ensor j at t i (i.e., cost), and the contribution of scheduling sen-

or j at t i to fulfilling the corresponding QoSS requirements (i.e.,

rofit). Usually it may not result in a good solution if adding the

air leading to the minimum cost or the maximum profit. We, in-

tead, select the time-sensor pair that can lead to the maximum

rofit-to-cost ratio in each iteration. Specifically, we use the fol-

owing metric for the time-sensor pair selection:

f (i, j) =

k

t∈ �k \ ̂ �k

g(i, j, k, t)

w j

, (10)

here ˆ �k is the set of time instants in �k whose QoSS require-

ents have been fully satisfied, which needs to be updated accord-

ngly; w j is the energy usage (cost) for collecting a reading from

ensor j; g ( i, j, k, t ) is the contribution (profit) that can be made

y selecting ( i, j ) (scheduling sensor j to collect a reading at t i ) to

ulfilling the QoSS requirement of time instant t ∈ �k \ ˆ �k in task

. Basically, f ( i, j ) returns the ratio between the total profit that can

e made by selecting ( i, j ) and its cost, and the algorithm greedily

dds the time-sensor pair that can lead to the maximum profit-to-

ost ratio in each iteration.

It is desirable to have a profit function, g ( · ), whose value range

s [0, 1], with 1 corresponds to the case the corresponding QoS

equirement is fully satisfied. There may be multiple options for

uch a function. We choose to use the following function:

(i, j, k, t) =

⎧ ⎨

w j +

j∈ J k x i j w j ∑

j∈ J k w j

, l(t, q k ) ≤ i ≤ u (t, q k ) ;

0 , otherwise ;(11)

here ∑

j∈ J k x i j w j gives the total energy usage of the sensors that

ave been scheduled to collect readings at t i ; and the denominator

s the total energy needed to fully satisfied the QoSS requirement

t t i . For a single-sensor task, it returns either 0 or 1. For a multi-

ensor task k , in an iteration, the QoSS requirement of a time in-

tant t ∈ �k may be partially satisfied because only part (not all)

f requested sensors have been scheduled to work at t i ( l ( t, q k ) ≤ ≤ u ( t, q k )). We use energy usages w j as weights for making ( i,

) selections, which will hopefully lead to less energy consumption

or future selections. This can be shown by a simple example in

ig. 2 . In this example, there are 3 sensors, their energy usages w 1

w 2 < w 3 , and the scheduling period is discretized to 9 time in-

tants. Suppose that a multi-sensor task k requests data collections

rom all three sensors at t 5 , and according to its QoSS requirement,

andidate time instants are identified and circled by a square. The

umber “1” indicates the corresponding time-sensor pair has been

elected. Consider two time-sensor pairs (that have not yet been

elected), (5, 2) and (6, 2) (marked by two circles), which have the

ame cost w 2 . According to our profit function, g (5, 2, k, t 5 ) < g (6,

, k, t 5 ), which means selecting (6, 2) is more favorable because

fter this selection, selecting (6, 1) with a cost of w 1 can fulfill the

equest, otherwise, we have to select (5, 3) with a cost of w 3 >

. However, if the following unwieghted profit function g ( · ) is

1 1

sed, g 1 (5 , 2 , k, t 5 ) = g 1 (6 , 2 , k, t 5 ) , which is not desirable.

1 (i, j, k, t) =

⎧ ⎨

1 +

j∈ J k x ∗i j

| J k | , l(t, q k ) ≤ i ≤ u (t, q k ) ;

0 , otherwise .

(12)

For each ( i, j ) pair, evaluating f ( i, j ) takes O (K ̂

N max ) time. The

otal number of ( i, j ) pairs is ( MN ), so we can find a ( i, j ) pair with

he maximum profit-to-cost ratio in O (MNK ̂

N max ) time. This pro-

ess will be repeated at most ( MN ) times. Hence the time com-

lexity of this greedy algorithm is O ((NM) 2 K ̂

N max ) = O (N

2 K ̂

N max )

ince M (i.e., the number of sensors on a smartphone) can be con-

idered as a small constant.

. Performance evaluation

In this section, we present and discuss simulation results to jus-

ify the effectiveness of the proposed algorithms.

We implemented a widely used baseline approach (labelled as

Baseline”) for performance comparisons. The baseline approach

chedules sensors to collect readings exactly at the requested time

nstants given by �k . For fair comparisons, data sharing is allowed

or the baseline too, i.e., if a common sensor is requested to col-

ect its reading at some time by multiple tasks, the baseline does

t only once for all the tasks. For the MESS problem, we compared

ur optimal algorithm (labelled as “Opt-MESS”) with the baseline

ethod. For the MEMS problem, the proposed LP Rounding based

lgorithm (labelled as “LP-based”) and greedy algorithm (labelled

s “Greedy”) were compared against the baseline approach and the

ptimal solutions provided by solving ILP–MEMS (“Opt-MEMS”).

In the simulation, energy consumption was used as the primary

etric for performance evaluation. We considered 6 frequently

sed embbed sensors, including GPS, light sensor, accelerometer,

yroscope, WiFi and 3G. We used real data on power usages of

hese sensors obtained from the power profile of a Google Nexus

[11] smartphone and multiplied them by estimated durations to

btain energy usages, which are summarized in the following table

Table 2 ). As mentioned above, we used a bell-shaped function to

odel QoSS. The values of σ were set to different values, ranging

rom 6 to 16 min.

The duration of the sensing scheduling period was set to 12

(say from 8AM to 8PM), which is evenly divided into 2 min

ntervals. As described in Section 2 , we obtained a sequence �f evenly-spaced time instants (within the scheduling period), at

hich sensor readings can be collected. The sensing tasks were

andomly generated. Specifically, �k in each task k was set to a

equence of evenly-spaced time instants. For a single-sensor task,

he sensor was selected randomly from 6 available sensors men-

ioned above. While for a multi-sensor task, the set of sensors were

andomly selected from the following combinations {GPS, WiFi},

GPS, 3G}, {GPS, light}, {GPS, WiFi, 3G} and {GPS, accelerometer,

yroscope}. The input of a MEMS problem instance included both

ulti-sensor tasks and single-sensor tasks.

We evaluated the performance of the proposed algorithms ex-

ensively by varying the number of tasks, the duration of tasks, and

he QoSS requirement of tasks in different simulation scenarios.

Page 7: Towards energy-efficient task scheduling on smartphones in

106 J. Wang et al. / Computer Networks 115 (2017) 100–109

Fig. 3. Performance of the MESS algorithms.

t

Q

a

t

L

a

o

a

g

a

4

m

t

t

t

b

e

l

t

a

i

o

a

o

i

h

o

4

c

l

Specifically, we came up with 8 scenarios in our simulation: the

first four for MESS and the other four for MEMS. In scenario 1, the

duration of each task was set to 2 h with starting time randomly

chosen from [1, 10] such that their ending times do not exceed 12

(the length of the scheduling period). The QoSS requirement was

fixed to 0.8. we changed the number of tasks from 5 to 30 with

a step size of 5. In scenario 2, the number of tasks and the QoSS

requirement were fixed to 15 and 0.8 respectively. We changed the

duration of each task from 1 to 7 h with a step size of 1 h. Similar

to scenario 1, the starting times were randomly generated in cer-

tain ranges accordingly such that their ending times do not exceed

12. In scenario 3, the starting times and durations of tasks were

generated in the same way as scenario 1. The number of tasks was

set to 15. We varied the QoSS requirement of each task from 0.5

to all the way to 1 with a step size of 0.1. In scenario 4, instead

of having a fixed value of 12 h, the sensing periods varied from

8 to 28 h with a step size of 4 h. The starting times were ran-

domly generated in certain ranges accordingly such that their end-

ing times do not exceed the corresponding sensing periods. The

number of tasks, the duration of tasks and the QoSS requirement

were fixed to 15, 2 h and 0.8 respectively. The settings of scenar-

ios 5, 6, 7 and 8 were the same as those in scenarios 1, 2, 3 and

4, respectively. But in these scenarios, we tested the algorithms for

the MEMS problem instead of the MESS problem.

The simulation results for MESS and MEMS are presented in

Fig. 3 and Fig. 4 , respectively. Note that every number in these fig-

ures is the average over 50 runs. From these simulation results, we

can make the following observations:

(1) From Fig. 3 , we can see that the optimal MESS algorithm

reduces the sensing energy consumption significantly by 76.6% on

average, compared to the baseline approach. Furthermore, energy

savings become more and more significant when the input size

(the number of tasks or the duration of tasks) become larger and

larger. This leads us to believe that in a mobile crowd sensing sys-

em, significant energy savings can be achieved without sacrificing

oSS too much by strategically scheduling sensor data collections

ccording to the requirements of tasks.

(2) Very similar observations can be made for the multi-sensor

ask case. Specifically, from Fig. 4 , we can see that both the

P rounding based heuristic algorithm and the greedy algorithm

chieve substantial energy savings of 77.6% and 75.5% respectively

n average, compared to the baseline. Moreover, the LP rounding

lgorithm almost always gives optimal solutions as expected. The

reedy algorithm also offers close-to-optimal solutions. The aver-

ge difference from optimal is only 13.2%.

(3) An interesting observation can be made from Figs. 3 (c) and

(c) about the tradeoff between energy consumption and QoSS: no

atter which algorithm is used (Opt-MESS, LP-based or Greedy),

he energy consumption grows with the QoSS requirement mono-

onically but very slowly. Increasing the QoSS requirement cer-

ainly increases energy consumption since more readings need to

e collected at more time instants to fulfill the requirements. How-

ver, it turns out it is good to set QoSS requirements to relatively

arge values, say 0.8 or 0.9, since doing so does not lead to substan-

ial increase on energy consumption. This finding provides a valu-

ble insight about how to operate a mobile crowd sensing system

n practice. When the QoSS requirement becomes 1 for all tasks,

ur algorithms perform exactly the same as the baseline approach.

(4) From Figs. 3 (a) and 4 (a), we can see that no matter which

lgorithm is used, the energy consumption grows with the number

f tasks monotonically. This is because more sensing tasks result

n more requested sensing time instants, which certainly lead to

igher energy consumption no matter how sensing activities are

ptimized. A similar observation can be made from Figs. 3 (b) and

(b) about how the duration of sensing tasks affects the energy

onsumption.

(5) We can see from Fig. 3 (d) that, compared to the base-

ine, the optimal MESS algorithm reduces the sensing energy

Page 8: Towards energy-efficient task scheduling on smartphones in

J. Wang et al. / Computer Networks 115 (2017) 100–109 107

Fig. 4. Performance of the MEMS algorithms.

Fig. 5. QoSS loss.

c

r

e

e

s

m

a

a

Q

(

s

t

w

p

a

a

Q

q

r

g

o

t

6

p

t

p

s

i

p

c

s

t

s

onsumption by 66.6% on average; and from Fig. 4 (d) that the LP

ounding based heuristic algorithm and the greedy algorithm save

nergy by 72.2% and 70.0% respectively on average. Furthermore,

nergy savings are more significant when the sensing period is

horter. This is because with a shorter sensing period, it becomes

ore likely for sensing tasks to request data from common sensors

t the same or similar time instants. Therefore, our algorithms can

chieve better energy savings.

(6) Since QoSS is an important performance metric, we define

oSS loss as (1 − p A (t , t ′ )) for a sensing action. In Figs. 5 (a) and

b), we show the average QoSS loss over all sensing actions in all

ensing tasks for MESS and MEMS. The simulation settings were

he same as those in scenarios 4 and 8, respectively.From Fig. 5 ,

e can observe that the QoSS loss is always 0 for the baseline ap-

roach because the baseline approach collects sensor readings ex-

ctly at the requested time instants. As expected, all the proposed

lgorithms introduce certain QoSS losses, which decrease with the

oSS requirement. Moreover, the sum of QoSS loss and QoSS re-

uirement should be no greater than 1, which is shown by the

esults in Fig. 5 . In addition, we can see from Fig. 5 (b) that the

reedy algorithm leads to smaller QoSS losses compared to the

ther two algorithms; while it offers quite similar performance in

erms of energy consumption.

. Related work

There have been quite a few mobile phone/crowd sensing

rojects in different domains [6] . Recently, effort s have been made

o develop general-purpose systems to support various mobile

hone/crowd sensing applications, including PRISM [3] , the bubble

ensing system [8] , AnonySense [2] and Micro-blog [5] .

Sensing task scheduling and optimization have been addressed

n the context of both application-specific and general mobile

hone/crowd sensing. In [19] , the authors presented an Energy Effi-

ient Mobile Sensing System (EEMSS), which uses hierarchical sen-

or management strategy to recognize user states as well as to de-

ect state transitions. They proposed to power only a minimum

et of sensors and use appropriate sensor duty cycles for energy

Page 9: Towards energy-efficient task scheduling on smartphones in

108 J. Wang et al. / Computer Networks 115 (2017) 100–109

b

t

A

1

t

t

R

[

[

savings. The paper [24] presented an adaptive location-sensing

framework that significantly improves the energy efficiency of

smartphones running location-based applications. The underlying

design principles of the proposed framework involve substitution,

suppression, piggybacking, and adaptation of applications location-

sensing requests to conserve energy. In [7] , Lin et al. studied

energy-accuracy trade-off for continuous mobile device location,

and designed and prototyped an adaptive location service for mo-

bile devices, a-Loc, which helps reduce this battery drain. In [14] ,

Rachuri et al. proposed SociableSense, a smart phone based plat-

form that captures user behaviors in office environments, while

providing the users with a quantitative measure of their sociabil-

ity and that of colleagues. The system provides an adaptive sam-

pling mechanism as well as models to decide whether to perform

computation of tasks, such as the execution of classification and

inference algorithms, locally or remotely. In [9] , the authors pre-

sented analytical results on the rate of information reporting by

uncontrolled mobile sensors needed to cover a given geographi-

cal area. In [21] , the authors introduced mechanisms for automated

mapping of urban areas, which provide a virtual sensor abstraction

to applications. They also proposed spatial and temporal coverage

metrics for measuring the quality of acquired data. In [18] , Sheng

et al. presented algorithms for energy-efficient sensing scheduling

and showed that significant power savings can be achieved by col-

laborative sensing via simulations.

Another line of related research is incentive mechanism design

for mobile crowd sensing/sourcing, which studies how to select

and reward participants. Representative works include [4,22,23] .

We summarize the differences between our work and these re-

lated works in the following: (1) Unlike research works targeting

at energy-efficient sensing scheduling or optimization for specific

applications, such as [7,14,19,24] , we aim to address task schedul-

ing in general mobile crowd sensing systems. (2) Most related

works on general mobile crowd sensing, such as [9,18,21] , essen-

tially studied the problem of determining how to assign tasks to

a group of participating smartphones. We, however, consider the

problem of scheduling different sensing tasks assigned to a smart-

phone, which is mathematically different from their problems. (3)

Task scheduling problems on a smartphone are also mathemati-

cally different from incentive mechanism design [4,22,23] .

7. Conclusions

In this paper, we considered the problem of scheduling sens-

ing tasks assigned to a smartphone with the objective of min-

imizing sensing energy consumption while ensuring QoSS. First,

we considered a simple case in which each sensing task only re-

quests data from a single sensor and formulated the MESS problem

correspondingly. We presented an polynomial-time optimal algo-

rithm for this problem. Furthermore, we addressed a more gen-

eral case in which some sensing tasks request multiple sensors

to report their measurements simultaneously, and formulated the

MEMS problem correspondingly. We presented an ILP formulation

and two effective heuristic algorithms to solve it. Extensive sim-

ulation results showed that (1) the proposed algorithms achieve

over 75% energy savings on average, compared to a widely-used

aseline approach, and (2) the proposed heuristic algorithms for

he MEMS problem produce close-to-optimal solutions.

cknowledgement

This research was supported in part by NSF grants 1217611,

218203, 1525920 14 4 4059, 1421685 and 1461886. The informa-

ion reported here does not reflect the position or the policy of

he federal government.

eferences

[1] M. Bazaraa , J. Jarvis , H. Sherali , Linear programming and network flows, JohnWiley & Sons, Hoboken, New Jersey, 2011 .

[2] C. Cornelius , et al. , AnonySense: privacy-aware people-centric sensing, in: Pro-ceedings of the ACM MobiSys’2008, 2008, pp. 211–224 .

[3] T. Das , et al. , PRISM: platform for remote sensing using smartphones, in: Pro-

ceedings of the ACM MobiSys’2010, 2010, pp. 63–76 . [4] L. Duan , et al. , Incentive mechanisms for smartphone collaboration in data ac-

quisition and distributed computing, in: Proceedings of the IEEE Infocom’2012,2012, pp. 1701–1709 .

[5] S. Gaonkar , et al. , Micro-blog: sharing and querying content through mobilephones and social participation, in: Proceedings of the ACM MobiSys’2008,

2008, pp. 174–186 .

[6] N.D. Lane , et al. , A survey of mobile phone sensing, IEEE Commun. Mag. 48 (9)(2010) 140–150 .

[7] K. Lin , A. Kansal , D. Lymberopoulos , F. Zhao , Energy-accuracy trade-off forcontinuous mobile device location, in: Proceedings of the ACM MobiSys’2010,

2010, pp. 285–297 . [8] H. Lu , N.D. Lane , S.B. Eisenman , A.T. Campbell , Bubble-sensing: binding sensing

tasks to the physical world, J. Pervasive Mob. Comput. 6 (1) (2010) 58–71 .

[9] S. Madhani , M. Tauil , T. Zhang , Collaborative sensing using uncontrolled mo-bile devices, in: Proceedings of the International Conference on Collaborative

Computing, Networking, Applications and Worksharing, 2005 . [10] G. Nemhauser , L. Wolsey , Integer and combinatorial optimization, John Wiley

& Sons, Chichester, UK, 1988 . [11] Google Nexus 4, http://www.google.com/nexus/4 .

[12] C. Papadimitriou , K. Steiglitz , Combinatorial optimization: Algorithms and

Complexity, Courier Dover Publications, Mineola, New York, 1998 . [13] M.-R. Ra , B. Liu , T.L. Porta , R. Govindan , Medusa: a programming framework for

crowd-sensing applications, in: Proceedings of the ACM MobiSys’2012, 2012,pp. 337–350 .

[14] K. Rachuri , et al. , SociableSense: exploring the trade-offs of adaptive samplingand computation offloading for social sensing, in: Proceedings of the ACM Mo-

biCom’2011, 2011, pp. 73–84 . [15] R. Rana , C. Chou , S. Kanhere , N. Bulusu , W. Hu , Ear-phone: an end-to-end

participatory urban noise mapping system, in: Proceedings of the ACM/IEEE

IPSN’10, 2010, pp. 105–116 . [16] Sensordrone, http://sensorcon.com/sensordrone/ .

[17] Sensorly, http://www.sensorly.com . [18] X. Sheng , J. Tang , W. Zhang , Energy-efficient collaborative sensing with mobile

phones, in: Proceedings of the IEEE Infocom’2012, 2012 . [19] Y. Wang , et al. , A framework of energy efficient mobile sensing for auto-

matic user state recognition, in: Proceedings of the ACM MobiSys’20 09, 20 09,

pp. 179–192 . [20] J. Wang , J. Tang , X. Sheng , G. Xue , D. Yang , Enabling green mobile crowd sens-

ing via optimized task scheduling on smartphones, in: Proceedings of the IEEEGlobecom’2015, 2015 .

[21] H. Weinschrott , F. Durr , K. Rothermel , StreamShaper: coordination algorithmsfor participatory mobile urban sensing, in: Proceedings of the IEEE MASS’2010,

2010, pp. 195–204 .

22] D. Yang , G. Xue , X. Fang , J. Tang , Crowdsourcing to smartphones: incentivemechanism design for mobile phone sensing, in: Proceedings of the ACM Mo-

biCom’2012, 2012, pp. 173–184 . 23] D. Zhao , X. Li , H. Ma , How to crowdsource tasks truthfully without sacrificing

utility: Online incentive mechanisms with budget constraint, in: Proceedingsof the IEEE Infocom’2014, 2014 .

[24] Z. Zhuang , K. Kim , J. Singh , Improving energy efficiency of location sensing on

smartphones, in: ACM MobiSys’2010, 2010, pp. 315–330 .

Page 10: Towards energy-efficient task scheduling on smartphones in

J. Wang et al. / Computer Networks 115 (2017) 100–109 109

epartment of Electrical Engineering and Computer Science, Syracuse University, Syracuse,

f Electronic Information Engineering at Beihang University, Beijing, China, in 2011. His e learning. He received a Best Paper Award from the 2015 IEEE Global Communications

t of Electrical Engineering and Computer Science at Syracuse University. He received his

iversity in 2006. His research interests lie in the areas of Wireless Networking, Cloud papers in premier journals and conferences. He received an NSF CAREER award in 2009,

ference on Communications (ICC) and the 2015 IEEE Global Communications Conference ransactions on Wireless Communications since 2016, for IEEE Transactions on Vehicular

rnal since 2013. He served as a TPC co-chair for the 2015 IEEE International Conference

Conference on Computing, Networking and Communications (ICNC).

ineering at Arizona State University (ASU). He earned a PhD degree in Computer Science

erests include resource allocation in computer networks, survivability and security issues tion algorithms for networking problems. He has published over 200 refereed papers in

ICC’2012 and IEEE MASS’2011, as well as a Best Paper Runner-up at IEEE ICNP’2010. He ns on Networking, IEEE Transactions on Wireless Communications, and IEEE Network. He

chair of the INFOCOM Standing Committee. He is a co-General Chair of IEEE CNS’2014 ker at IEEE LCN’2011. He is an IEEE Fellow. He was elected to VP-Conferences of the IEEE

omputer Science at Colorado School of Mines. He received his PhD degree in computer gree in computer science from Peking University, Beijing, China, in 2007. His research

o networks, crowdsourcing, smart grid, and security and privacy. He received Best Paper

1, 2012, and a Best Paper Award Runner-up at IEEE ICNP’2010. He also served as a TPC CC and GLOBECOM.

Jing Wang is currently pursuing the Ph.D. degree at the D

NY, USA. He received his B.E. degree from the School oresearch interests include mobile computing and machin

Conference (Globecom).

Dr. Jian Tang is an associate professor in the Departmen

Ph.D degree in Computer Science from Arizona State UnComputing and Big Data. Dr. Tang has published over 90

and Best Paper Awards in the 2014 IEEE International Con(Globecom) respectively. He has been an editor for IEEE T

Technology since 2010 and for IEEE Internet of Things Jou

on Internet of Things (iThings) and the 2016 International

Guoliang Xue is a Professor of Computer Science and Eng

in 1991 from the University of Minnesota. His research intin networks, quality of service provisioning, and optimiza

these areas. He is a recipient of Best Paper Award at IEEEhas served on the editorial boards of IEEE/ACM Transactio

was a TPC co-chair of IEEE INFOCOM’2010 and is the viceand a TPC member of ACM CCS’2014. He’s a Keynote Spea

Communications Society (January 2016-December 2017).

Dejun Yang is the Ben L. Fryrear Assistant Professor of Cscience from Arizona State University in 2013 and BS de

interests include economic and optimization approaches t

Awards at IEEE GLOBECOM’2015, IEEE MASS’2011, ICC’201member for many conferences including IEEE INFOCOM, I