1. Introduction
Nowadays, new emerging embedded technology drives the rapid growth of mobile devices. With powerful processors, mobile devices such as smartphones, tablets, and watches can be used as portable computers to undertake heavy computational tasks. With the help of embedded sensors like Global Position System (GPS), accelerometers, and cameras, mobile devices can be used to sense and deliver information. On the other hand, the utilization of mobile devices is ubiquitous. Some works [
1,
2] show that almost 64% of adults own a smartphone and 42% of adults own a tablet in America as of October 2014. All of the above conditions, along with the mobility of users who carry these mobile devices and the convenient communication infrastructures enable mobile devices to connect to the Internet, stimulating the development of Mobile Crowdsourcing Systems (MCSs) [
3]. The MCS is a new system model used to outsource tasks. Generally speaking, two types of participants exist in a MCS. One is the crowdsourcing platform, which acts as the server to publish tasks, determine the set of mobile devices to work on the tasks, and collect the final results. The other participants consist of users with mobile devices. They can participate to finish the tasks published by the crowdsourcing platform and get payments as rewards. Lots of tasks can be done by a MCS, such as information collection, environmental monitoring, or customized survey. These tasks used to be performed by a specialist or an expert, but now through the MCS can be done by a group of undefined users with mobile devices.
A variety of MCS applications can be found in our daily life, among which applications focusing on the environment, infrastructure, and social activities are the three most popular categories. In the environmental MCS applications, such as Common Sense and Creek watch (introduced in [
4,
5], respectively), mobile devices can be used to monitor the environmental pollution levels. For example, microphones on mobile devices can monitor the noise information of a place and pictures can be taken by cameras to show the amount of trash in a park in Common Sense. Existing applications of the Infrastructure interested in the detection of traffic congestion, parking availability, and outages of public works. For example, mobile devices with CarTel [
6] installed on cars can detect the speed and location of cars, and send the detected information to a data center. ParkNet [
7] can help cars to find available parking places. Applications regarding social activities take advantage of users’ willingness to share sensed information with each other [
8,
9]. All MCS applications require the participation of hundreds or thousands of mobile devices without deploying any static sensors or machines.
The enormous utilization potential of MCSs attracts lots of attention from researchers [
10,
11]. One of the most popular topics in MCSs is how to determine the best set of mobile devices to allocate the tasks (such as computational or sensing tasks) published by a MCS platform so that a predefined objective can be achieved. A commonly used objective is to optimize the social efficiency, such as maximizing social welfare or minimizing social cost. The fundamental of a MCS is to have enough participants. However, working for MCS platforms will consume users’ resources, including execution capacity and battery. Joining a MCS will also put a threat on users’ privacy. For example, the results submitted to MCS platform may expose users’ locations. Considering the above-mentioned facts, some users may refuse to participate in the MCS. If the number of users with mobile devices is insufficient, the objective is impossible to be achieved. Thus, a MCS platform should provide enough reward for participants for incentive purposes.
In this paper, we focus on the design of an incentive mechanism for a MCS to minimize the social cost. The social cost represents the total cost of mobile devices when all tasks published by the MCS are finished. To achieve the objective in the MCS, we confront several challenges:
True cost revelation. The cost of each mobile device for finishing a task is private. It is difficult to encourage all participants to report their real costs.
Minimal cost optimization. Assume all users report their true costs to the MCS. Since mobile devices may vary in capacities and costs, it is hard to select the optimal set of users.
Incentive mechanism. As discussed, the MCS platform should reward each user who works for it as incentives. Within the budget, the reward should be greater than the cost of the user. Deciding a proper reward for each participant is still challenging.
These challenges lead us to investigate an auction mechanism that concentrates on the trade between the MCS platform and mobile users. This paper begins with the assumption that the MCS platform publishes only one task in one round and the task consists of pieces of sub-tasks. Each user with a mobile device can work for one or more sub-tasks. The auction mechanism in our paper aims to minimize the social cost of mobile users while guaranteeing the truthful cost of bidding from each participating user.
Depending on the requirements of a MCS platform, there are two different working patterns. The first one is the
continuous working pattern, which requires each participant to work on a set of continuous sub-tasks. We call another working pattern the
discontinuous working pattern, where a participant can work for any set of sub-tasks. The detailed definition of the two working patterns are discussed in
Section 4.
The main contributions of this paper are as follows:
The social cost minimization problem in a MCS has been discussed. We first present the working process of a MCS, and then build an auction market for the MCS where the MCS platform acts as an auctioneer and users with mobile devices act as bidders.
Depending on the different requirements of the MCS platform, we design a Vickrey-Clarke-Groves (VCG)-based auction mechanism for the continuous working pattern and a suboptimal auction mechanism for the discontinuous working pattern. Both of them can ensure that the bidding of users are processed in a truthful way and the utilities of users are maximized.
Experiments are conducted to verify performances of the proposed mechanisms. Results suggest that the two auction mechanisms achieve truthfulness and utility maximization. In addition, the VCG-based mechanism could guarantee the minimum social cost and the suboptimal mechanism is more computationally efficient.
The remainder of this paper is organized as follows: related works are shown in
Section 2. In
Section 3, we present the MCS model and analyze its working process. The auction problem is defined in
Section 4, followed by two truthful auction mechanisms presented in
Section 5. The experimental results and discussions are provided in
Section 6. Conclusions and future works are shown in the last section.
2. Related Works
Recently, many commercial MCS applications have been released. These applications can be installed on mobile devices carried by users. After installation, these mobile users are able to undertake computational or sensing tasks. Then, all the results or information generated by the applications will be transmitted to a service center for final process. For example, GigWalk [
12] can assist users in verifying the service quality and product placement. It can also provide reports about the graffiti at bus or train stations to the government. Additionally, GigWalk could work for real estate, consumer research, travel, advertising, and so on. Field Agent [
13] is an application used for businesses. It can work for two tasks—audit and research. The audit task mainly focuses on information collection, which allows manufacturers and retailers to attract customers and spread information [
14,
15,
16]. The research task is interested in gathering customers’ feedback on products or services, so the businessmen can have a better insight of the market. In [
4], the authors introduce a MCS application named Common Sense, which is used for pollution monitoring. Nericell [
17] can be used to determine the average speeds or traffic delays, and DietSense [
9] is proposed for health control. These applications suggest that the importance of MCS is growing in practical business fields.
Many studies have been done on task allocation in MCSs. Most of them target the maximization of system efficiency. In [
18], the authors design a fair energy-efficient allocation framework and propose two sensing task allocation algorithms: one is an offline allocation algorithm and the other is an online allocation algorithm. Ho and Vaughan [
19] formalize the online task assignment problem, which makes the allocation decision upon arrival of each worker. Then, a two-phase exploration–exploitation assignment algorithm is proposed. Authors of [
20] investigate the problem of task assignment and label inference for heterogeneous classification tasks. They derive a probably near-optimal adaptive assignment algorithm by applying online primal-dual techniques. An architectural model using the SLURM tool for efficient management in the MCS is outlined in [
21]. The authors propose a novel idea of adaptive task scheduling which is based on the feedback of customer satisfaction. However, they don’t consider the incentive mechanisms.
A handful of researchers put effort on the design of incentive mechanisms for the MCS. Yang
et al. [
22] consider two types of incentive mechanisms: platform-centric incentive mechanisms and user-centric incentive mechanisms. The first one is based on the Stackelberg game, in which the MCS platform has absolute control over the total budget to users, and users can only adjust their actions to meet the requirements of the platform. The roles of the platform and users are reversed in the user-centric incentive mechanisms. Each user reports the lowest price for selling a service to the MCS platform. In [
23], the authors design a reward-based collaboration mechanism. The client publishes a total reward to be shared among collaborators. The collaboration is successful when enough users are willing to collaborate. In order to attract more users to participate, [
24] designs a novel Reverse Auction-based Dynamic Price (RADP) incentive mechanism. In this mechanism, users can sell their sensing data to a service provider by their claimed bid prices. Singla and Krause [
25] exploit a link between procurement auctions and multi-armed bandits. Its mechanism design is budget feasible. In conclusion, most of the existing works concentrate on maximizing social efficiency and achieving fairness in MCSs.
3. System Model Overview
Figure 1 demonstrates an example of the Mobile Crowdsourcing System (MCS). The model includes two types of participants: a Crowdsourcing Platform (CP) and lots of Mobile Users with Devices (MUDs). The CP consists of several servers, which are deployed in the cloud and provide services for clients. A smartphone or a tablet carried by a user is regarded as a MUD. The CP communicates with MUDs via cellular networks or WiFi. The CP publishes a computational or a sensing task which contains a series of sub-tasks. Each sub-task only occupies a time slot. Any two time slots have no intersection. Each MUD is allowed to work on one or more time slots and provide computational or sensing services to the CP during these time slots. The concepts sub-task and time slot are used interchangeably in this paper. Working for computational or sensing tasks will bring battery consumption, computing capacity consumption, and privacy threats to MUDs. Thus, in order to stimulate MUDs’ participation, the CP rewards these users who have been selected to provide serves. For simplicity, we assume that the CP publishes one task in each round.
In general, as shown in
Figure 2, the interactive process between the CP and MUDs have three stages in each round, including the publishing stage, auction stage, and working stage:
Publishing stage. In this stage, the CP decides the task that it plans to finish in this round. It generates the description of the task according to predefined functions and then publishes it among all participated MUDs.
Auction stage. After receiving the task description and requirements, each MUD decides its working plan. That is the subset of sub-tasks of task k it can work for. If a MUD can work for task k, it will continue to evaluate its cost. The MUD calculates its base price and submits a bid to the CP. The bid of a MUD consists of its working plan and the base price. After receiving the bids from MUDs, the CP will choose the winner set of MUDs, make the work schedule, determine their rewards and then announce the auction results to all participated MUDs.
Working stage. For each task k, its working stage starts at the start time and ends at the end time . During this stage, the CP will activate the MUDs in the winner set one by one based on its working schedule. Once activated, a MUD begins to work according to the requirements and then submits the result to the CP. The reward is given to the MUD once it finishes its claimed sub-tasks.
Different from the auction stage, the other three stages in the MCS are beyond the scope of this paper. We focus on designing efficient and effective auction mechanisms.
Table 1 lists frequently used notations.
4. Problem Formulation in Auction Stage
The working process of a MCS can be divided into infinite rounds with time. For any two rounds, their tasks are independent and the available MUDs are independent as well. Thus, we focus our investigation on the discussion of one round in detail. Assume there is a dense set of MUDs, represented as
, where
. At the beginning of round
k (
k is an integer denoting the identifier of one round), the CP publishes the task description
, defined as:
where
and
are the start and end time of task
k, respectively.
represents the set of sub-tasks of task
k. Each time slot represents a sub-task of task
k.
M is the size of
(the number of sub-tasks in task
k). The CP requires MUDs to work for task
. As shown in
Figure 3, on the one hand, the durations of any two time slots
and
, where
, may vary from each other. On the other hand, all these time slots are distributed over the time line. The interval between two adjacent time slots could be larger than or equal to 0, but not smaller than 0, which means that no overlapping time interval exists between any two adjacent time slots.
indicates the hardware requirements of task
k on MUDs. Hardware requirements contain minimum computation speed, free storage capacities, and sensor types. It requires that only the MUDs satisfying the requirements can bid for the sub-tasks at this round.
indicates the requirement of task
k regarding MUDs’ working patterns. There are two kinds of working patterns: the continuous pattern (
) and the discontinuous pattern (
).
Continuous case (C):
, this working pattern requires the sub-tasks set
claimed by
are continuous (
represents the set of sub-tasks
can work for). That is,
is able to work continuously from the earliest sub-task to the last sub-task in
. For example, suppose five sub-tasks are included in task
k, as shown in
Figure 3.
is an example that
works in a continuous working pattern, while
is not.
Discontinuous case (): , in this case, can work for any subset of . For example, both and can be regarded as examples of discontinuous working patterns.
, after receiving a task description from the CP, if its hardware qualifies,
will decide the subset of sub-tasks, denoted as
according to the working patterns requirements of task
k. Then,
, the bid of
can be represented as,
where
is
’s asking price when it works on the sub-tasks in
for the CP, which is also the base price. Because auction mechanisms are expected to be truthful, so
. In practice, the value of
can be estimated by
.
and
are used interchangeably in this paper. For convenience, all MUDs’ costs are restricted to follow simple cost functions which makes all MUDs
single-minded MUDs.
Definition 1. A cost function is called single-minded if there exists a set of sub-tasks and a cost c, for all allocations and for all other . A MUD bids with S and c is single-minded.
Definition 1 shows that the base price of each will be same even though the set of sub-tasks allocated to is a subset of in its bid after the auction stage. One step further, the MUD wouldn’t accept any allocation , where .
In the auction stage, the CP can be regarded as an auctioneer who makes the decision for the sub-tasks allocation and payment. MUDs act as bidders to make bids. We are interested in minimizing the social cost from a macroscopic and social perspective in this paper. The social cost is defined as the cost brought by the trading within the MCS. Formally, the objective can be written as,
where
is the set of winner MUDs in this round.
is the price paid by the CP for using the computational or sensing services provided by
, which can be regarded as the cost of the CP.
is the payment winner
received from the CP when the assigned sub-tasks are done, and
is the cost of
. So, the social cost of winner
is
. For effectiveness, each sub-task
τ in
needs at least one MUD to work.
Based on the predefined model, we have
for each
. Hence, the objective above can be rewritten as
Within the auction stage, the auctioneer CP should design a proper auction mechanism with efficient sub-tasks allocation and rewards determination to minimize the social cost. Under the auction mechanism chosen by the CP, each participated MUD bids with a strategy which maximizes its utility. The utility of
(denoted by
) in one round can be defined as:
In order to achieve the objective in an efficient and effective way, the auction mechanisms used by the CP should have the following properties:
Individual Rationality. All MUDs are self-interested to benefit themselves. Thus, the utility of any MUD in each round should be non-negative: .
Truthfulness. The mechanisms are considered truthful when the four values (
) in the bid of each MUD are truthful. The utility of
will be maximized when it bids truthfully and
cannot improve its utility through any misreport,
where
represents the set of truthful bids of all MUDs excluding
.
is the truthful bid of
, and
. If an auction mechanism satisfies this property,
exists [
26]. Misreports of the first two values (hardware parameters and working pattern of a MUD) in a bid can be easily detected by the CP through the submitted results from MUDs. Thus, the truthfulness of the first two values is guaranteed. We focus on the truthfulness of the last two values in a bid: claimed set of sub-tasks and asking price.
Computational Efficiency. An auction mechanism is considered computationally efficient if the task allocation and payment decision can be made in polynomial time.
Only when the above three properties are satisfied at the same time can an auction mechanism be regarded as useful. Without individual rationality, a MUD may receive negative utility and refuse to participate in the MCS. Then, because the in bid is private to , the CP wouldn’t know it. If an auction mechanism is truthful, all MUDs only need to bid with their true costs: , which not only simplifies the strategies, but also avoids manipulation. Finally, computational efficiency will guarantee that the auction mechanism can be practically implemented.
5. Design of Incentive Auction Mechanisms
Formally, an auction mechanism contains two phases: winner MUDs set the selection and payment decision. Specifically, the most challenging and important part of the auction mechanism design is truthfulness. According to the characterization of truthful auction mechanism concluded in [
26], we have:
Theorem 2. For any fixed bids , an auction mechanism is truthful to MUD if and only if the winner MUDs set selection algorithm is monotone and the payment for each winner MUD is critical.
Definition 3. If the MUD is selected as a winner when it bids with and , and will still be selected for any (, ), where and any bid with . The process in the selection of winner MUDs set is monotone.
Definition 4. Critical payment. There exists a critical payment for each winner MUD , which is independent to the asking price in its bid. will win when it bids with any (, ), where . Otherwise, loses.
5.1. Mechanism with Optimal Social Cost
Based on
Section 4, we can tell that different tasks may have different working pattern requirements. If a task
k requires MUDs to work in the continuous pattern (
), the optimal solution to the minimization Problem (
2) can be achieved through dynamic programming. Thus, in this case, a well known VCG-based auction mechanism is a good choice. The detailed design is as follows:
Step 1, Given the bids of all candidate MUDs, use the dynamic programming method, shown in Algorithm 1, to compute the optimal winner set W. In Algorithm 1, Line (8) represents the optimal substructure, recording the minimal cost for sub-task τ in T if adding the to the winner set W. Notation is used to indicate that the winner MUD will work for the sub-task τ. This algorithm returns three results: the winner set W, the work schedule, and minimal social cost of MUDs in W.
The complexity of Algorithm 1 is , which indicates that the VCG-based auction is practical.
Step 2, Calculate the payment
of each
in the winner set
W. The payment for each winner
is defined as the increase in the total social cost brought by its contribution, as
where
is the obtained winner set without
’s participation.
The truthfulness and individual rationality of VCG-based mechanisms have been proven in [
26].
5.2. Mechanism with Suboptimal Social Cost
If the working pattern is discontinuous, the winner set determination Problem (
2) can be regarded as a classical set cover problem. Because the set cover problem has been proven to be NP-hard, it is impossible to obtain the optimal solution in a MCS with large scale. Without optimal winner selection, truthfulness cannot be guaranteed by VCG-based auction mechanism. Therefore, we propose another mechanism with suboptimal social cost, acceptable computational complexity, and truthfulness.
The detailed winner set determination algorithm is shown in Algorithm 2. It consists of two steps. First, sort all MUDs in ascending order, according to their average cost (as shown in line (2)). Then, MUDs will be added to winner set W one by one, according to the ascending order derived in the last step, until all sub-tasks in T are covered, as shown in lines (4–13). The payment of each winner is determined based on Algorithm 3. Specifically, it first reorders all MUDs, excluding , in ascending order based on their average cost (as shown in line (2)). Then find the least position j in the order that: may lose in the case of .
Algorithm 1 Optimal Winner MUDs Set Selection |
Input: |
Set of sub-tasks T, . |
(, ), ..., (, ), ..., (, ), |
Working pattern: continuous. |
Output: |
miniCost, Winner set W; |
Working schedule . |
1: | Initialization: |
2: | for each τ in T do |
3: | = MAX.VALUE; |
4: | end for |
5: | for each τ in T do |
6: | for each in V do |
7: | if τ is in then |
8: | )? ; |
9: | end if |
10: | if then |
11: | ; |
12: | ; |
13: | for each in do |
14: | ; |
15: | ; |
16: | end for |
17: | end if |
18: | end for |
19: | end for |
20: | for each τ in T do |
21: | Put into W; |
22: | end for |
23: | ; |
Lemma 5. The winner MUDs set selection provided in Algorithm 2 is monotonic.
Proof. Suppose is selected as a winner by bidding with and , its average cost is . Let , and remain unchanged, we should prove that would still win when bidding with and . The new average cost is . Since , will be selected earlier by Algorithm 2. It is easy to know that will continue to win with bidding with and , where . For the reason that the new average cost is smaller than . ☐
Lemma 6. The payment to each is equal to its critical cost .
Proof. Assume that critical cost of each MUD is equal to its payment, that is, . Based on Algorithm 3, , where . If bids with , then , indicating that the average cost of is larger than the average cost of , the position of in this new order is before . In this case, once the is in W, will have no chance to be selected as a winner. On the other hand, if bids with , it will still be a winner according to Lemma 5. Thus the assumption is verified. ☐
Theorem 7. The suboptimal cost mechanism is truthful.
Algorithm 2 Suboptimal Winner Set Selection |
Input: |
Set of sub-tasks T. |
(, ), ..., (, ), ..., (, ), |
Output: |
, Winner set W; |
Working schedule . |
1: | Initialization: |
2: | , sort ascendingly:
|
3: | , j=1; |
4: | while do |
5: | if then |
6: | put into W, , |
7: | ; |
8: | end if |
9: | for Each τ in do |
10: | ; |
11: | end for |
12: | j++; |
13: | end while |
Algorithm 3 Price Determination |
Input: |
Set of sub-tasks T, |
(, ), ..., (, ), ..., (, ), |
Winner set W; |
Output: |
Price ; |
1: | for each in W do |
2: | , sort ascendingly:
|
3: | Find the least index j that ; |
4: | The payment for MUD is:
|
5: | end for |
Proof. With Lemmas 5 and 6, this theorem can be proven based on Theorem 2. ☐
Theorem 8. The suboptimal cost mechanism is individual rational.
Proof. For , its payment is equal to its critical cost . If wins, there must be . Hence, . Or loses, its utility is 0. Individual rationality is guaranteed. ☐
Theorem 9. The suboptimal cost mechanism is computationally efficient.
Proof. The complexity of Algorithm 2 is . The complexity of Algorithm 3 is . The suboptimal social cost auction mechanism can be implemented with an acceptable time complexity. ☐