Keywords

1 Introduction

With the rapid development of technology nowadays, small-sized portable mobile devices are prevailing and this enables mobile users to conduct complex tasks with the embedded powerful mobile sensors. These tasks may include air quality [4] and urban noise [11] measurement, traffic [6] and road surface [13] monitoring, etc. Since the computational capability and sensing ability of a single mobile user may not be enough to carry out a large project which consists of many relatively small and independent tasks, it is necessary to seek the help of other users and distribute these tasks among them in order to complete the whole project as efficiently as possible. This forms the idea of mobile crowdsourcing.

Most mobile crowdsourcing activities are carried out in a large mobile crowdsourcing system. This kind of crowdsourcing systems usually requires quite a lot of human and material resources for management and maintenance. If a requester just wants to distribute the crowdsourcing tasks through his social relationships (including families, friends, colleagues, acquaintances, etc.), the requester may conduct his own crowdsourcing activities by taking the advantage of the existing mobile social networks (MSNs) to avoid unnecessary overheads and thus save the budget. This idea seems more appealing than the traditional crowdsourcing paradigm to those requesters with limited budgets.

In this paper, we mainly focus on the task scheduling problems for MSN-based mobile crowdsourcing systems. Unlike traditional task scheduling problems in mobile crowdsourcing, we require the requester and the crowd workers to actually make person-to-person contacts, which are some probabilistic events in the mobile social networks, so that crowdsourcing tasks can be sent by the requester and their feedbacks can be delivered by the crowd workers. Each crowdsourcing task requires one contact between the requester and the crowd worker when it is being distributed and another when its feedback is being delivered. Our objectives are strongly related to the completion time of each task, which consists of the time for its distribution, processing, and feedback delivery.

Suppose there is an operating cost related to task \(s_i\) when it is being scheduled and processed in the mobile crowdsourcing system, and the cost is proportional to the completion time of \(s_i\). Then, the cost of \(s_i\) can be denoted as \(w_iC_i\), where \(w_i\) is the proportion of the cost to the task completion time, and \(C_i\) is the actual completion time of \(s_i\). Our min-WCT problem aims to minimize the total weighted completion time of all the crowdsourcing tasks, so that the total cost of conducting the crowdsourcing campaign can be minimized. Meanwhile, in some scenarios, the crowdsourcing tasks of a requester may be part of a larger project, and all of them should be completed as soon as possible. Hence, we introduce the min-MCT problem to minimize the maximum completion time of all the crowdsourcing tasks (i.e., \(\max {C_i}\)) in order to accelerate the progress of the following stages in the project.

More specifically, the main contributions of this paper include:

  1. 1.

    We introduce two task scheduling problems for crowdsourcing in mobile social networks and formulate them as the min-WCT problem and the min-MCT problem respectively.

  2. 2.

    For the min-WCT problem, we propose an optimal offline algorithm named LWF and give the proof of its optimality. Based on LWF, we design an online algorithm named CosMOS to deal with min-WCT under online settings and give the analysis of its competitive ratio.

  3. 3.

    For the min-MCT problem, we propose an offline approximation name LRSTF and give the analysis of its approximation ratio. Based on LRSTF, we also design another online algorithm named TiMOS to deal with min-MCT under online settings and give the analysis of its competitive ratio.

  4. 4.

    We conduct extensive numerical experiments on synthetic datasets to compare our algorithms with some traditional scheduling algorithms. Both the theoretical analysis and the experimental results validate the effectiveness and efficiency of our designs.

The rest of this paper is organized as follows. Section 2 discusses some related works. Section 3 describes the MSN-based mobile crowdsourcing system model. In Sect. 4, we formulate the min-WCT problem, and propose an optimal offline solution named LWF and an online solution named CosMOS. In Sect. 5, we formulate the min-MCT problem, and introduce an offline approximation named LRSTF and an online solution named TiMOS. In Sect. 6, we conduct numerical experiments to evaluate the performance of our designs. Section 7 is the final conclusion.

2 Related Work

Mobile crowdsourcing is getting more and more research interests in the recent years. Some of the literatures focus on the framework and application design [9, 18], while others pay more attention to the specific stages in the process of mobile crowdsourcing, such as task scheduling [16], incentive mechanisms [5], quality control [17], and security and privacy issues [15]. Generally, there are three components or participants in a typical mobile crowdsourcing system (MCS): requesters or crowdsourcers, crowd workers, and crowdsourcing platform [14]. Specifically, to crowdsource a task, a requester submits the task to a crowdsourcing platform, and optionally, after receiving the solutions provided by crowd workers, rates their qualities. Crowd workers choose to work on those tasks and attempt to submit their solutions as feedback. An intermediation platform (i.e., crowdsourcing platform) builds a link between the requesters and workers, which serves as a crowdsourcing enabler and has some rules for the whole lifecycle of crowdsourcing, such as the skill-set, certification level, due date, expected outcomes, and payments for the crowd workers.

With the growing popularity of mobile smart devices, the concept of the mobile social networks (MSNs) gradually comes into our view. As an application scenario, MSN is widely adopted in all kinds of problems including communication [19], social community detection [10], etc. Besides, researchers are also interested in exploring inner features and characteristics regarding MSN itself. In this paper, we focus on the task scheduling problems in MSN-based mobile crowdsourcing systems. There have been plenty of previous literatures concerning the topic of task scheduling problems [1,2,3]. Our problems may be similar to the traditional scheduling problems on parallel machines, but our system model includes a probabilistic event which is the person-to-person contact between the requester and the crowd workers. In order to solve the problems, we have to make online task scheduling decisions, and this makes our designs more realistic and applicable under the scenario of crowdsourcing in mobile social networks.

3 System Model

In this section, we introduce the participants in the mobile social network (MSN) and how they interact with each other under the paradigm of crowdsourcing.

Here, the mobile social network model in [16] is adopted. Consider a crowd of mobile users in the network, denoted as \(U=\{u_0, u_1, \dots , u_m\}\). Each of these mobile users carries a mobile device which supports wireless communication and possesses certain processing capability to carry out some crowdsourcing tasks. Two mobile users can communicate with each other only if they get close enough for Bluetooth to work, or enter the communication range of some access points respectively to interact indirectly via WiFi. Assume that the connection duration and bandwidth are enough to satisfy our needs to communicate for the purpose of crowdsourcing. We further adopt the mobility model in [7], where the pairwise inter-contact time is exponentially distributed. This means that the inter-meeting time between any pair of mobile users \(u_i\) and \(u_j\) (\(i \ne j\)) follows the exponential distribution with parameter \(\lambda _{ij}\). This parameter can be estimated from historical communication records between \(u_i\) and \(u_j\).

Under the paradigm of crowdsourcing, there is a user in the MSN that hopes to recruit other mobile users to help complete some crowdsourcing tasks. The user with this kind of need is called the requester, and those who have the potential to carry out these tasks are called crowd workers. Without loss of generality, we assume \(u_0\) is a requester and the other m users \(\{u_1, u_2, \dots , u_m\}\) in the MSN are crowd workers that are encouraged to participate in the crowdsourcing campaign by some incentive mechanisms. Since crowd workers are not supposed to communicate with each other, we denote \(\lambda _{0j}\) as \(\lambda _j\) for simplicity.

Suppose that the requester \(u_0\) has n indivisible crowdsourcing tasks, denoted as \(S=\{s_1, s_2, \cdots , s_n\}\). The workload of task \(s_i \in S\) is represented by its Required Service Time (RST), denoted as \(\tau _i\). Each crowdsourcing task should be assigned to only one crowd worker by the requester. The distribution, as well as the feedback, of each task requires one contact between the designated crowd worker and the requester. In practice, it is more efficient for the requester to send a batch of crowdsourcing tasks to a crowd worker at their first contact and receive the feedbacks whenever they are ready at the time of their following contacts. We use \(\varLambda =\{S_1, S_2, \dots , S_m\}\) to denote an scheduling decision of the n crowdsourcing tasks to the m crowd workers, where \(\bigcup _{S_j \in \varLambda } S_j = S\) and \(S_{j_1} \cap S_{j_2} = \phi (j_1 \ne j_2)\).

A crowd worker will process the tasks assigned to him one by one until there is none left. Thus, the Completion Time (CT) of task \(s_i\) includes three parts: (a) the time for the requester \(u_0\) and the crowd worker \(u_j\), to whom we assign the task \(s_i\) (i.e., \(s_i \in S_j\)), to meet for the first time and complete the task distribution process (this includes the distribution of all the tasks in \(S_j\)), (b) the time for \(u_j\) to process all the tasks prior to \(s_i\) in \(S_j\) and task \(s_i\) itself, and (c) the time for \(u_0\) and \(u_j\) to meet again after the feedback of \(s_i\) becomes available.

Since we cannot foresee the exact time when the requester and the crowd workers meet, we define the Expected Meeting Time (EMT), which is \(\frac{1}{\lambda _j}\) under the assumption of the exponentially distributed inter-meeting time between \(u_0\) and \(u_j\), to represent the time in part (a) and part (c). Therefore, the completion time of task \(s_i\), which is denoted as \(C_i\), consists of two expected meeting time intervals and the time for the crowd worker \(u_j\) to process all the tasks prior to \(s_i\) in \(S_j\) and task \(s_i\) itself.

4 Cost Minimized Scheduling

In this section, we first formulate the cost-related min-WCT problem for crowdsourcing task scheduling. Then, we propose an optimal algorithm LWF to solve the problem under offline settings, followed by the proof of its optimality. Finally, we give an online algorithm CosMOS based on LWF to solve the problem under online settings together with the analysis of its competitive ratio.

4.1 Problem Formulation

Consider the system model described in the previous section (Sect. 3). Assume that all the tasks have the same required service time, i.e., \(\tau _1 = \tau _2 = \dots = \tau _n\). Suppose there is an operating cost related to task \(s_i\) when it is being scheduled and processed in the crowdsourcing system, and the cost is proportional to the completion time of task \(s_i\). Our goal is to minimize the total operating cost of carrying out all the tasks in S. This is equivalent to the following definition of the min-WCT problem.

Definition 1

(Minimizing the Weighted Completion Time (min-WCT)). Given tasks \(S=\{s_1, s_2, \dots , s_n\}\) with the same required service time (i.e., \(\tau _1 = \tau _2 = \dots = \tau _n\)) and their corresponding weights \(W=\{w_1, w_2, \dots , w_n\}\), min-WCT aims to find an scheduling decision \(\varLambda =\{S_1, S_2, \dots , S_m\}\) among crowd workers \(U=\{u_1, u_2, \dots , u_m\}\) such that the total weighted completion time of all the tasks \(\sum _{i=1}^{n}w_iC_i\) is minimized.

Denote \(\sum _{i=1}^{n}w_iC_i\) as WCT in this section for simplicity.

4.2 Offline Task Scheduling

First, we would like to consider the min-WCT problem under offline settings. In this scenario, the requester is supposed to make the scheduling decision before any contacts with the potential crowd workers and stick to this decision throughout the entire crowdsourcing campaign.

Intuitively, we wish to reduce the completion time for tasks with large weights so that we can reduce the total weighted completion time significantly. Following this idea, we design the Largest Weight First (LWF) algorithm (Algorithm 1) to solve the min-WCT problem under offline settings. The concept of a crowd worker’s Expected Workload (EW) is defined as follows.

Definition 2

(Expected Workload (EW)). The expected workload \(EW_j\) of a crowd worker \(u_j\) consists of three parts: (a) the expected meeting time for \(u_j\) and the requester \(u_0\) to meet for the first time and complete the task distribution process, (b) the total required service time of all the tasks assigned to \(u_j\), i.e., the tasks in \(S_j\), and (c) the expected meeting time for \(u_j\) and \(u_0\) to meet again and deliver the feedback of the tasks. Furthermore, we define \(EW_j=\frac{2}{\lambda _j}\) if no task is assigned to \(u_j\) and \(S_j\) is empty.

figure a

The Optimality. We briefly describe the proof of its optimality as follows. Assume \(\varLambda _{\text {opt}}=\{S_1^*, S_2^*, \dots , S_m^*\}\) is the optimal scheduling decision for the min-WCT problem under offline settings.

Lemma 1

For any \(S_j^* \in \varLambda _{\text {opt}}\), a task \(s_{j_p} \in S_j^*\) with a larger weight \(w_{j_p}\) is processed prior to the processing of another task \(s_{j_q} \in S_j^*\backslash \{s_{j_p}\}\) with a smaller weight \(w_{j_q}\) (ties may be broken arbitrarily).

According to Lemma 1, we can conclude that in order to achieve the optimal solution, tasks assigned to the same crowd worker must be processed in a non-increasing order according to their weights by this worker.

Lemma 2

Suppose that we have somehow determined an scheduling decision for \(\{s_1, s_2, \dots , s_{i-1}\}\) and this partial scheduling shall not be further changed, which means all the other tasks must be scheduled behind them, the optimal solution to the min-WCT problem under this condition must assign task \(s_i\) to the crowd worker with the currently smallest expected workload, denoted as \(u_j\).

Then, we are ready to prove the optimality of the LWF algorithm as follows.

Theorem 1

As for the min-WCT problem, the LWF algorithm achieves the optimal solution by assigning the task with the largest weight to the crowd worker with the currently smallest expected workload in each round until all tasks in S have been assigned.

Proof

We prove this theorem by induction. The base case where no task has been assigned is trivial. For the inductive step, assume we can obtain the optimal scheduling decision for tasks in \(\{s_1, s_2, \dots , s_{k-1}\} (1 \le k \le n)\) by the LWF algorithm. Then, according to Lemmas 1 and 2, we can also obtain the optimal scheduling decision for tasks in \(\{s_1, s_2, \dots , s_k\}\) through another round of scheduling by the LWF algorithm. Finally, we can obtain the optimal scheduling decision for all the tasks in \(S=\{s_1, s_2, \dots , s_n\}\) from the output of the LWF algorithm. This finishes the proof of Theorem 1.

4.3 Online Task Scheduling

Next, we would like to consider the min-WCT problem under online settings. In this scenario, the requester does not need to make the final scheduling decision at first. Instead, he can adjust his decision with the progress of the crowdsourcing campaign. Since the requester gets a better knowledge of the crowd whenever he meets a crowd worker, he can make the scheduling decision regarding this crowd worker at the time of their first contact to improve the final result.

We build the Cost Minimized Online Scheduing (CosMOS) algorithm (Algorithm 2) based on our previous design. In the CosMOS algorithm, we make the scheduling decision regarding each crowd worker at the time of his first contact with the requester. When \(u_0\) meets \(u_j\), we determine a partial scheduling decision of \(S_j=\{s_{j_1}, s_{j_2}, \dots , s_{j_k}\}\) and make it final. We denote the process of determining \(S_j\) as decision step \(DS_j\) in the CosMOS algorithm.

figure b

Performance Analysis. Without loss of generality, we assume that the requester \(u_0\) meets the crowd workers in the order of \(u_1, u_2, \dots , u_m\). Assume that after decision step \(DS_j\), the total weighted completion time is \(WCT_j\). Obviously, \(WCT_{\text {CosMOS}} = WCT_m\). Furthermore, let \(WCT_0 = WCT_{\text {LWF}}\).

Theorem 2

\(WCT_{\text {LWF}} = WCT_0 \ge WCT_1 \ge \dots \ge WCT_m = WCT_{\text {CosMOS}}\).

Proof

In any decision step \(DS_j (1 \le j \le m)\), we will not change the scheduling of any of the tasks in \(\bigcup _{1 \le i \le j-1}S_i\), and the total weighted completion time of these tasks remains unchanged before and after the decision step. As for the remaining tasks, we can prove that the modified LWF algorithm achieves the optimal solution under the condition that \(u_0\) has met \(u_j\) by duplicating the proof of the optimality of our LWF algorithm. Therefore, we have \(WCT_{j-1} \ge WCT_j\), and this finishes the proof of Theorem 2.

Now, we give the competitive ratio of the CosMOS algorithm as follows.

Theorem 3

Assume someone can foresee the mobilities of all the crowd workers, so that he knows exactly at what time each meeting between the requester and the crowd workers will happen. Based on this knowledge, he can give an optimal online task scheduling decision, denoted as \(\varLambda _{\text {OPT}}=\{S_1^*, S_2^*, \dots , S_m^*\}\). Then, we have

$$\begin{aligned} \frac{WCT_{\text {CosMOS}}}{WCT_{\text {OPT}}} \le 1 + \frac{w_{max}\sum _{j=1}^{m}\frac{2}{\lambda _j}}{w_{min}\tau _{min}}. \end{aligned}$$

Proof

First, we can give \(WCT_{\text {OPT}}\) as follows.

$$\begin{aligned} WCT_{\text {OPT}} = \sum _{j=1}^{m}\sum _{s_{j_k} \in S_j^*}w_{j_k}(t_j + t'_j + \mathcal {T}_{j_k} + \tau _{j_k}). \end{aligned}$$

If we adopt the scheduling decision of \(\varLambda _{\text {OPT}}\) in the offline version of min-WCT and denote it as \(\varLambda '\), then we have

$$\begin{aligned} WCT'&= \sum _{j=1}^{m}\sum _{s_{j_k} \in S_j^*}w_{j_k}(\frac{2}{\lambda _j} + \mathcal {T}_{j_k} + \tau _{j_k}) \\&= WCT_{\text {OPT}} + \sum _{j=1}^{m}\sum _{s_{j_k} \in S_j^*}w_{j_k}(\frac{2}{\lambda _j} - t_j - t'_j) \\&\le WCT_{\text {OPT}} + \sum _{j=1}^{m}\sum _{s_{j_k} \in S_j^*}w_{j_k} \cdot \frac{2}{\lambda _j}. \end{aligned}$$

Since \(\varLambda _{\text {LWF}}\) is the optimal scheduling for the offline version of min-WCT, then we have \(WCT_{\text {LWF}} \le WCT'\). Combined with Theorem 2, we can get

$$\begin{aligned} WCT_{\text {CosMOS}} \le WCT_{\text {LWF}} \le WCT' \le WCT_{\text {OPT}} + \sum _{j=1}^{m}\sum _{s_{j_k} \in S_j^*}w_{j_k} \cdot \frac{2}{\lambda _j}. \end{aligned}$$

The lower bound of \(WCT_{\text {OPT}}\) should be \(n \cdot w_{min} \cdot \tau _{min}\), and this gives us

$$\begin{aligned} \frac{WCT_{\text {CosMOS}}}{WCT_{\text {OPT}}}&\le 1 + \frac{\sum _{j=1}^{m}\sum _{s_{j_k} \in S_j^*}w_{j_k} \cdot \frac{2}{\lambda _j}}{WCT_{\text {OPT}}} \\&\le 1 + \frac{w_{max}\sum _{j=1}^{m}\frac{2}{\lambda _j}}{w_{min}\tau _{min}}. \end{aligned}$$

Thus, Theorem 3 holds.

5 Time Minimized Scheduing

In this section, we first formulate the time-related min-MCT problem for task scheduling in mobile crowdsourcing systems. Then, we propose an approximation algorithm LRSTF to solve the problem under offline settings, followed by the performance analysis regarding its approximation ratio. Finally, we give an online algorithm TiMOS based on LRSTF to solve the problem under online settings together with the analysis of its competitive ratio.

5.1 Problem Formulation

In some cases, the crowdsourcing tasks of a requester may be part of a larger project, and all of them should be completed as soon as possible. Hence, we introduce the min-MCT problem to minimize the maximum completion time of all these tasks in order to accelerate the progress of the following stages in the project. In this problem, crowdsourcing tasks now have different values of the required service time and there is no weight related to any of these tasks. Our goal is equivalent to minimizing the completion time of the latest completed task. The problem is formally defined as follows.

Definition 3

(Minimizing the Maximum Completion Time (min-MCT)). Given tasks \(S=\{s_1, s_2, \dots , s_n\}\) with required service time \(\tau _i\) related to task \(s_i\), min-MCT aims to find an scheduling decision \(\varLambda =\{S_1, S_2, \dots , S_m\}\) among crowd workers \(U=\{u_1, u_2, \dots , u_m\}\) such that the maximum completion time of all the tasks \(\max \limits _{1\le i\le n}C_i\) is minimized.

Denote \(\max \limits _{1\le i\le n}C_i\) as MCT in this section for simplicity.

The NP-Hardness. Consider a special case of the min-MCT problem, in which there may exist one requester and two crowd workers in the mobile crowdsourcing system. The expected inter-meeting time between the requester and any one of the crowd workers is assumed to be zero. In this case, the min-MCT problem is equivalent to the PARTITION problem, which is traditionally considered to be NP-hard according to [8]. Therefore, the general case of the min-MCT problem is also NP-hard.

5.2 Offline Task Scheduling

The observation we have on the min-MCT problem is that we should leave the tasks with relatively short required service time to the end of our scheduling process so that the expected workloads of all the workers can be balanced and the maximum completion time of all the tasks can be reduced. Unfortunately, this idea only leads to an approximation rather than an optimal solution, which we denote as the Longest Required Service Time First (LRSTF) algorithm (Algorithm 3). We claim that its approximation ratio is \((\frac{3}{2}-\frac{1}{2m})\) and omit its detailed proof due to limited space.

figure c

5.3 Online Task Scheduling

Similar to our design of the CosMOS algorithm, we build the Time Minimized Online Scheduing (TiMOS) algorithm (Algorithm 4) based on the LRSTF algorithm. In the TiMOS algorithm, we make the scheduling decision regarding each crowd worker at the time of his first contact with the requester. When \(u_0\) meets \(u_j\), we determine a partial scheduling decision of \(S_j=\{s_{j_1}, s_{j_2}, \dots , s_{j_k}\}\) and make it final. We also denote the process of determining \(S_j\) as decision step \(DS_j\) in the TiMOS algorithm.

figure d

Performance Analysis. Without loss of generality, we assume that the requester \(u_0\) meets the crowd workers in the order of \(u_1, u_2, \dots , u_m\). First, we need to calculate the difference between the solution given by LRSTF and the optimal offline solution in each decision step. Assume that \(\varLambda _{\text {opt}}^{(j)}\) is the optimal offline solution in decision step \(DS_j\), and \(\varLambda _{\text {LRSTF}}^{(j)}\) is the solution given by the LRSTF algorithm. Obviously, \(\varLambda _{\text {TiMOS}}\) is \(\varLambda _{\text {LRSTF}}^{(m)}\), and we define \(\varLambda _{\text {LRSTF}}^{(0)}\) to be \(\varLambda _{\text {LRSTF}}\). Then we have the following theorem.

Theorem 4

\(MCT_{\text {opt}}^{(j)} \le MCT_{\text {LRSTF}}^{(j)} \le MCT_{\text {opt}}^{(j)} + \tau _{max}\).

Proof

First, since \(\varLambda _{\text {opt}}^{(j)}\) is the optimal offline solution in decision step \(DS_j\), we have \(MCT_{\text {opt}}^{(j)} \le MCT_{\text {LRSTF}}^{(j)}\). Combining the two inequalities below,

$$\begin{aligned} MCT_{\text {LRSTF}}^{(j)} \le \tau _n(1-\frac{1}{m})+\frac{\sum _{i=1}^{n}\tau _i + \sum _{j=1}^{m}\frac{2}{\lambda _j}}{m} \end{aligned}$$
$$\begin{aligned} MCT_{\text {opt}}^{(j)} \ge \frac{\sum _{i=1}^{n}\tau _i + \sum _{j=1}^{m}\frac{2}{\lambda _j}}{m} \end{aligned}$$

we can get that

$$\begin{aligned} MCT_{\text {LRSTF}}^{(j)} \le MCT_{\text {opt}}^{(j)} + \tau _n(1-\frac{1}{m}) \le MCT_{\text {opt}}^{(j)} + \tau _{max}. \end{aligned}$$

This finishes the proof of this theorem.

Similar to Theorem 2, we directly give the following theorem regarding \(\varLambda _{\text {opt}}^{(j)}\).

Theorem 5

\(MCT_{\text {opt}}^{(0)} \ge MCT_{\text {opt}}^{(1)} \ge \dots \ge MCT_{\text {opt}}^{(m)}\).

Now, we can compute the competitive ratio of the TiMOS algorithm.

Theorem 6

Assume someone can foresee the mobilities of all the crowd workers, so that he knows exactly at what time each meeting between the requester and the crowd workers will happen. Based on this knowledge, he can give an optimal online task scheduling decision, denoted as \(\varLambda _{\text {OPT}}=\{S_1^*, S_2^*, \dots , S_m^*\}\). Then, we have

$$\begin{aligned} \frac{MCT_{\text {TiMOS}}}{MCT_{\text {OPT}}} \le 2 + \frac{2}{\lambda _{min}\tau _{max}}. \end{aligned}$$

Proof

First, we can give \(MCT_{\text {OPT}}\) as follows.

$$\begin{aligned} MCT_{\text {OPT}} = \max \limits _{S_j^* \in \varLambda _{\text {OPT}}}\left\{ t_j + t'_j + \sum _{s_{j_k} \in S_j^*}\tau _{j_k}\right\} . \end{aligned}$$

If we adopt the scheduling decision of \(\varLambda _{\text {OPT}}\) in the offline version of min-MCT and denote it as \(\varLambda '\), then we have

$$\begin{aligned} MCT'&= \max \limits _{S_j^* \in \varLambda '}\left\{ \frac{2}{\lambda _j} + \sum _{s_{j_k} \in S_j^*}\tau _{j_k}\right\} \\&\le MCT_{\text {OPT}} + \max \left\{ \frac{2}{\lambda _j} - t_j - t'_j\right\} \\&\le MCT_{\text {OPT}} + \frac{2}{\lambda _{min}}. \end{aligned}$$

Since \(\varLambda _{\text {OPT}}^{(0)}\) is the optimal scheduling for the offline version of min-MCT, we have \(MCT_{\text {OPT}}^{(0)} \le MCT'\). Combined with Theorems 4 and 5, we can get

$$\begin{aligned} MCT_{\text {TiMOS}} = MCT_{\text {LRSTF}}^{(m)} \le MCT_{\text {opt}}^{(m)} + \tau _{max} \le MCT_{\text {opt}}^{(0)} + \tau _{max} \le MCT' + \tau _{max}. \end{aligned}$$

Therefore, we have

$$\begin{aligned} MCT_{\text {TiMOS}} \le MCT_{\text {OPT}} + \frac{2}{\lambda _{min}} + \tau _{max}, \end{aligned}$$

and further considering the fact that \(MCT_{\text {OPT}} \ge \tau _{max}\), we have

$$\begin{aligned} \frac{MCT_{\text {TiMOS}}}{MCT_{\text {OPT}}} \le 1 + \frac{\frac{2}{\lambda _{min}} + \tau _{max}}{\tau _{max}} = 2 + \frac{2}{\lambda _{min}\tau _{max}}. \end{aligned}$$

Thus, Theorem 6 holds.

6 Evaluation

In this section, we carry out extensive numerical experiments to evaluate the performances of the proposed algorithms.

6.1 Algorithms in Comparison

The first scheduling algorithm we would like to compare with is the Water Filling (WF) algorithm described in [12] in the context of mobile computing. More specifically, the WF algorithm assigns tasks to the earliest idle worker in their initial order, which is also called the natural order or the list order.

For the min-WCT problem, we also implement the Smallest Weight First (SWF) algorithm to assign tasks in a reverse order of the LWF algorithm. For the min-MCT problem, we compare our design with another algorithm called the Shortest Required Service Time First (SRSTF) algorithm to assign tasks in a reverse order of the LRSTF algorithm. The SRSTF algorithm is the optimal algorithm when we consider the problem of reducing the average completion time of all the tasks, and its optimality is proved in [16].

6.2 Simulation Results

Figure 1 shows the simulation results when we change the number of crowd workers, the average inter-meeting time between the requester and crowd workers, the number of tasks and the average workload of tasks respectively. Given the same conditions, LWF can always deliver a better result than WF or SWF. Meanwhile, SWF performs even worse than WF.

Fig. 1.
figure 1

Performance comparisons for min-WCT on synthetic datasets

Fig. 2.
figure 2

Performance comparisons for min-MCT on synthetic datasets

Figure 2 shows the simulation result when we change the number of crowd workers, the average inter-meeting time between the requester and crowd workers, the number of tasks and the average workload of tasks respectively. Given the same conditions, LRSTF can always deliver a better result than WF or SRSTF. Meanwhile, SRSTF performs almost as badly as WF.

7 Conclusion

In this paper, we discuss two problems regarding task scheduling for crowdsourcing in mobile social networks. The first one is the min-WCT problem, which aims to minimize the total weighted completion time of some crowdsourcing tasks. We propose an optimal algorithm named LWF to solve this problem under offline settings and give the proof of its optimality. Based on this optimal offline algorithm, we further design an online algorithm named CosMOS to deal with the min-WCT problem under online settings. By computing the competitive ratio, we find that CosMOS can achieve near-optimal performance under certain circumstances. The other problem in discussion is the min-MCT problem, which focuses on minimizing the maximum completion time among the tasks belonging to the same project. Since the offline version of this problem is proved to be NP-hard, we propose an approximation algorithm named LRSTF to solve it and the approximation ratio is analyzed. Similarly, we design another online algorithm named TiMOS to deal with the online version of the min-MCT problem and its difference with the optimal solution is bounded by a fixed value. At last, we conduct extensive simulations on synthetic datasets to demonstrate the performance of our algorithms. Both the theoretical analysis and the simulation results validate the effectiveness and efficiency of our designs.