QUAD: A Quality Aware Multi-Unit Double Auction Framework for IoT-Based Mobile Crowdsensing in Strategic Setting

Crowdsourcing with the intelligent agents carrying smart devices is becoming increasingly popular in recent years. It has opened up meeting an extensive list of real life applications such as measuring air pollution level, road traffic information, and so on. In literature this is known as mobile crowdsourcing or mobile crowdsensing. In this paper, the discussed set-up consists of multiple task requesters (or task providers) and multiple IoT devices (as task executors), where each of the task providers is having multiple homogeneous sensing tasks. Each of the task requesters report bid along with the number of homogeneous sensing tasks to the platform. On the other side, we have multiple IoT devices that reports the ask (charge for imparting its services) and the number of sensing tasks that it can execute. The valuations of task requesters and IoT devices are private information, and both might act strategically. One assumption that is made in this paper is that the bids and asks of the agents (task providers and IoT devices) follow decreasing marginal returns criteria. In this paper, a truthful mechanism is proposed for allocating the IoT devices to the sensing tasks carried by task requesters, that also keeps into account the quality of IoT devices. The mechanism is truthful, budget balance, individual rational, computationally efficient, and prior-free. The simulations are carried out to measure the performance of the proposed mechanism against the benchmark mechanisms. The code and the synthetic data are available at \textbf{https://github.com/Samhitha-Jasti/QUAD-Implementation}.


Introduction
Over the past decades, there has been an unprecented growth of the mobile users with smartphones (mobile phones with embedded-sensors).As per the Ericsson mobility report of 2017Heuveldop (2017) ) the number of worldwide mobile subscriptions is growing at around 4% every year, reaching to 9.1 billion in 2022.As the mobile users (or crowd workers) are equipped with sensing devices, so the researchers thought of utilizing these mobile users for sensing and collecting data for several real world applications and then distributing it to the community or organization.For example, measuring the air pollution level across the cities Pan et al. (2017); Samulowska et al. (2021); Li et al. (2019), giving information about the road traffic Staniek (2021); Aubry et al. (2014), noise pollution assessment Pődör and Szabó (2021); Rana et al. (2010), information about the potholes Enigo et al. (2016); Wu et al. (2020), and many more Nagatani et al. (2013); Poblet et al. (2014).The process of completion of task(s) by the crowd workers or group of common people equipped with sensing devices in the form of an open call give rise to a new paragmatic field of study termed as mobile crowdsensing (a.k.a.mobile crowdsourcing or crowdsensing) Hou et al. (2019); Ang et al. (2022); Peng et al. (2015); Phuttharak and Loke (2019); Dasari et al. (2020).The general framework of the mobile crowdsensing consists of three entities: (1) task requester(s) or task provider(s), ( 2) platform (or third party), and (3) task executors (crowd workers with smart devices).First the task provider(s) provide the sensing tasks to the platform.Once the platform receives the sensing tasks, it is supplied to the task executor(s) that are present on the other side of the crowdsensing market for execution purpose.The task executors equipped with sensing devices completes the tasks and submits the completed tasks to the platform.The platform gives back the completed tasks to the task provider(s).The task executors receives the incentive in return of their services.In mobile crowdsensing market Singh et al. (2020b); Dasari et al. (2020); Abualsaud et al. (2019), the two challenges that are of major concern in strategic setting1 are: 1. Which set of task executors should be selected for task execution purpose?
2. What incentives is to be given to the task executors in exchange of their services?Most of the works in mobile crowdsensing is carried out answering the questions raised above in points 1 and 2 Mukhopadhyay et al. (2022); Singh et al. (2020a,b); Tan and Jiang (2019), in strategic setting.Apart from the challenges mentioned above, another challenge that persists in mobile crowdsourcing system is to have a large group of crowd workers in crowdsensing market.But, the question is: how to drag more number of crowd workers to the mobile crowdsensing market?One of the plausible solutions is to provide incentives to the crowd workers in exchange of their services.In past, several works have been carried out that design the schemes such that the task executors receive incentives in some terms (may be money Mukhopadhyay et al. (2022); Singh et al. (2020a); Phuttharak and Loke (2019); Singh et al. (2020b), or some social recognition Singh and Mishra (2022)).Another challenging aspect in crowdsensing environment is to get the quality data from the task executors Singh et al. (2020a); Liu and Chen (2016); Yin and Chen (2015).For this purpose, in past, the mechanisms are proposed that along with truthfulness keeps track of quality task executors Singh et al. (2020b); Mukhopadhyay et al. (2022); Singh et al. (2020a); Yin and Chen (2015).In Singh et al. (2020a) a truthful mechanism is proposed for the crowdsourcing set-up in combinatorial environment that also ensure that the task requesters receive quality data.In Mukhopadhyay et al. (2022), a budget feasible truthful mechanism is proposed for the set-up with single task requester and multiple IoT devices (as task executors) in strategic  Here, the task requesters have limited budget along with the constraint that the overall budget is not available apriori but arrive in the system on incremental basis in several rounds.The set-up with multiple task requesters and multiple IoT devices with each of the task requesters is having a single task along with the budget, is discussed in Singh et al. (2020b).For this, a truthful mechanism is proposed that also take into account the quality of IoT devices along with satisfying the constraint that the total payment made to the IoT devices is within the budget of the respective task requesters.
Motivated from the above discussed scenarios, in this paper, one of the scenarios of IoT-based mobile crowdsensing is investigated using double auction framework.The detailed overview of the proposed framework is shown in Figure 1.In this, there are multiple task requesters and multiple IoT devices.Each of the task requesters is having multiple homogeneous tasks and each IoT device is capable of performing subset of homogeneous tasks 2 .Based on the type of tasks floated by the task requesters and the type of tasks the IoT devices are capable of performing, the task requesters and IoT devices are categorized into multiple different categories.In each category, the task requesters submit the tasks along with the bids to the platform.On the other side, there are multiple task executors that reveals the number of tasks that they can perform along with the cost (or ask ) for executing the tasks.The bids and asks of the agents are termed as valuations.The valuation of the agents are private information.As there are multiple task requesters and multiple task executors, so the problem can be modeled using double auction.It is to be noted that the proposed framework is a two-phase process.In the first phase, the set of quality IoT devices is determined.For this purpose, the platform gives the part of the available tasks to the IoT devices for execution purpose.Each of the IoT devices execute the tasks and submits the completed tasks back to the platform.Once the platform receives the completed tasks, it distributes the completed tasks to other IoT devices for grading (or ranking) purpose.The IoT devices provide the ranking over the completed tasks and submit the ranks of the tasks to the platform.Based on the ranking received, the set of quality IoT devices is selected among the available IoT devices by the platform.The output of the first phase is a set of quality IoT devices.In the second phase, the platform allocate the tasks to the quality IoT devices for execution purpose.The quality IoT devices execute the tasks and submit it back to the platform.The platform gives the completed tasks to the respective task requesters and the IoT devices get paid in return of their services.The bid and ask values reported by the task requesters and IoT devices respectively are private information.
In this paper, for the problem under consideration a two-fold mechanism namely quality aware multi-unit double auction mechanism (QUAD) is proposed.In the first fold, the set of quality IoT devices is determined using the subroutine IoT-devices quality determination mechanism motivated by Nisan et al. (2007); Roughgarden (2016).After that in the second fold from among the set of quality IoT devices, the subset of IoT devices are selected as winners and payment are made using allocation and pricing rule motivated by Segal-Halevi et al. (2018b); Roughgarden (2014).In the upcoming subsection the contributions made in this paper are listed.

Contributions
In the presence of strategic agents, the objective is to design a truthful mechanism that will do the following: (1) determine the quality IoT devices, (2) which IoT devices will execute the tasks?, and (3) what price will be paid to the winning IoT devices?In particular, our contributions are: • One of the scenarios of crowdsensing is investigated in strategic setting.The set-up consists of multiple task requesters and multiple IoT devices with each of the task requesters have multiple sensing tasks that are to be executed.The objective is to assign the floated sensing tasks to the quality IoT devices and to incetivize the IoT devices in return of their services.
• A two-fold truthful mechanism is proposed namely QUAD for allocating tasks to the IoT devices.In first fold, a very small part of the tasks from the available tasks is given to the IoT devices for execution purpose for estimating the quality of the IoT devices.It is required as it will help us to assure that the quality sensing data is provided by the IoT devices to the task providers.In second fold, the set of quality IoT devices is considered as winners and the payment is decided by utilizing the concept of mechanism design.
• Theoretical analysis is carried out in Section 5 to show that the proposed mechanism is computationally efficient (Lemma 5.1), correct (Lemma 5.2), prior free (Lemma 5.3) truthful (Lemma 5.4), individual rational (Lemma 5.5), and budget balance (Lemma 5.6).Further probabilistic analysis is carried out to have an estimate on the number of tasks that will be executed by the quality IoT devices for any task provider (Lemma 5.7 and Lemma 5.8).
• In the simulation results it is shown that QUAD is not vulnerable to manipulation and is compared with the benchmark mechanism namely posted price mechanism (PPM) Roughgarden (2014) and McAfee double auction (DA) McAfee (1992); Bredin and Parkes (2005).
QUAD is compared with PPM on the ground of truthfulness and budget balance.Further, QUAD is compared with McAfee DA on the basis of satisfaction level of the agents.

Paper Organization
The remainder of the paper is structured as follows.In Section 2 related works in the fields of double auction, mobile crowdsourcing, and IoT is discussed.Section 3 describes our proposed model and discuss about the game theoretic properties.The proposed mechanism, namely, QUAD is illustrated in section 4. In section 5 the theoretical and probabilistic analysis of QUAD is carried out.The simulation results are depicted in section 6.The paper is concluded with the possible future directions in section 7.

Related Prior Works
In this section, the related works in the areas of double auction, mobile crowdsensing, and Internet of Things (IoT) are discussed one by one in the given order.

Double Auction
The double auction mechanism is a subroutine in QUAD; therefore, the related works in double auction is discussed in this section.In a double auction, there are multiple sellers who are ready to sell their items, multiple buyers who are ready to buy the available items, and an auctioneer (or third-party).The double auction gives the flexibility to the two parties (buyers and sellers) to reveal their privately held type simultaneously and can act strategically McAfee (1992); Nisan et al. (2007); Myerson and Satterthwaite (1983).A double auction is a mechanism that provide the platform for deciding that who will buy a particular item and at what price?It is applicable to several application domains such as spectrum market Zhou and Zheng (2009); Li et al. (2016); Leyton-Brown et al. (2017), Internet advertisement Feldman and Gonen (2016), emission trading market Sun and Li (2020), etc.For two-sided market, the impossibility result by Myerson and Satterthwaite (1983) states that any mechanism that is incentive compatible (IC), budget balance (BB), and individual rational (IR) cannot maximize Gain-from-trade3 (or efficiency).In past, several works have been carried out in double auction Plott and Gray (1990); McAfee (1992); Deshmukh et al. (2002).In McAfee (1992) the set-up is, there are multiple sellers and multiple buyers.Each seller wants to sell a single unit of good and each buyer wants to buy a single unit of good.A truthful mechanism is proposed for matching buyers to sellers.In addition to truthfulness, McAfee's mechanism is individual rational, budget balance, and prior-free.By prior-free, it is meant that the mechanism does not make any assumption on the type of valuations the agents reveal.Some double auction mechanism makes assumption on the valuation of the agents such as agent's valuation as decreasing marginal returns (DMR) Blumrosen and Dobzinski (2014); Segal-Halevi et al. (2018b), additive valuation Hirai and Sato (2021); Goel et al. (2016); Feldman and Gonen (2016), gross substitute Segal-Halevi et al. (2018a) or their valuation is represented by single parameter Gonen and Egri (2017); Gonen et al. (2007).In Blumrosen and Dobzinski (2014) a mechanism is proposed for multi parametric agents with DMR valuation but is not asymptotically efficient.The competitive ratio achieved is 1 48 .In Segal-Halevi et al. (2018b) a truthful double auction mechanism is proposed that allows trading of multiple units of item per agent but with the constraint that the agents have decreasing marginal return valuation.Theoretical analysis shows that the competitive ratio of the proposed mechanism is at least 1 − O(M ln mk mk ).In Segal-Halevi et al. (2018a) a truthful mechanism is designed for the set-up with multiple sellers and multiple buyers.Each of the sellers have multiple distinct goods and each buyer have infinite amount of money.A double auction based truthful mechanism is proposed that allow trading of multiple units of distinct goods per agents but with the constraint that the agents have gross substitute valuation.
In this paper, we have utilized the idea presented in Segal-Halevi et al. (2018b) for allocating the tasks to the IoT devices and deciding their payment, once the quality IoT devices are determined.

Mobile Crowdsensing
In order to get an overview on the current trend in mobile crowdsensing the readers can follow Liu et al. (2018); Abualsaud et al. (2019); Dasari et al. (2020); Kong et al. (2019); Hou et al. (2019).As discussed above, one of the major challenges in mobile crowdsensing is how to motivate the group of workers carrying smartphones towards the crowdsourcing market?
For this purpose, several incentive based schemes are proposed for incentivizing the crowd workers Mukhopadhyay et al. (2022); Feng et al. (2014); Yang et al. (2012); Tan and Jiang (2019); Wang et al. (2018).In Mukhopadhyay et al. (2022) the set-up with single task requester and multiple task executors in mobile crowdsourcing is investigated in strategic setting.Here, the task requester has single task and the limited budget associated with that task.However, the constraint that is preserved in the discussed set-up is that the overall budget is not available apriori but comes in incremental manner in the system in several rounds.Given the above discussed set-up a truthful mechanism is designed that ensures that the total payment made to the task executors is within the avaialble budget.In Feng et al. (2014) the set-up is such that the platform float the sensing tasks alongwith its location information, and on the other side of the MCS market the smartphone users provide the bids for the sensing tasks falling within their coverage area.The bids of the smartphone users are private information.For this purpose, a reverse auction based mechanism is proposed namely TRAC.TRAC is a two-phase mechanism.In the first phase, a near-optimal approximation algorithm is developed for determining the winners with low computation complexity.The second phase determines the payment of the winners.Wang et al. (2018) proposed a truthful mechanism that selects the quality crowd workers for completing the tasks.One of the contraint that is preserved in the set-up is that the quality of the crowd workers is changing frequently.In Tan and Jiang (2019) auction is coupled with the experience model to have a fair competition among the crowd workers.In Yang et al. (2012) the two separate incentive mechanisms are proposed for user-centric model and platform-centric model respectively.In case of platform-centric model, only one sensing task is floated and the total reward will be shared among the winning mobile phone users.For designing an incentive mechanism Stackelberg game is used, where the utility of the platform is maximized by calculating the unique Stackelberg equilibrium.For the user-centric model an auction-based incentive mechanism is proposed where the mobile phone users can select multiple tasks and can report their bid price to the platform.Based on the reported bid prices, the platform will decide the winners.
Also, in some cases the payment made to the task executors depend on the quality of the work performed by Yin and Chen (2015); Liu and Chen (2016).In Yin and Chen (2015) the prime focus is to provide the bonuses to the task executors for their exceptional work, so as to improve the overall utility of a task requester.In order to have the information about the impact of bonuses on the quality of work supplied by the task executors, the hidden Markov model is used.In Liu and Chen (2016), the output agreement mechanisms are used to have the true answers from the group of task executors.In Huang et al. (2017) the set-up consists of multiple task consumers and multiple smartphone users, where each of the task consumers have multiple tasks to complete.The objective is to assign the sensing tasks to the smartphone users for execution purpose.For the above discussed set-up a truthful mechanism is proposed that achieves max-min fairness.In Wei et al. (2015) the focus is on two-sided mobile crowdsourcing market that consists of multiple service users, platform, and multiple service providers.Here, each of the service users can request for single service and each of the service providers can provide single service.The above discussed set-up is modeled using the double auction framework and a truthful mechanism is proposed that also satisfies individual rationality, and budget balance.In Hamrouni et al. (2021) the focus is on collaborative mobile crowdsourcing, where the tasks are acomplished by the group of IoT devices that communicate among themselves and share their operational activities.
From the above discussed literature reviews it can be seen that the set-up discussed in this paper in IoT-based mobile crowdsensing in strategic setting is not considered.In this paper, for the discussed set-up a truthful mechanism is proposed that allocates the tasks provided by the task requesters to the quality IoT devices for execution purpose.

Internet of Things (IoT)
For detailed overview in IoT the readers can refer the following research works Liu et al. (2018); Atzori et al. (2010); Ray (2018); Ray et al. (2018); Al-Fuqaha et al. (2015); Ang et al. (2022).The term 'Internet of Things' first came into picture in the year 1998 Ashton (1999).Later on the International Telecommunication Union (ITU) formally gave the concept of IoT in the year 2005.It is estimated by the large number of companies and the research professionals that the IoT will contribute 4%-11% of global GDP in the year 2025 Index (2015).Huawei predicts that by 2025 there will be approximatley 100 billion IoT connections Manyika et al. (2015).Internet and the advancement of recent technologies have been the catalyst for the research in IoT.The IoT have many application areas but not limited to healthcare Alavi et al. (2018), agriculture Qiu et al. (2013), environment Talavera et al. (2017) etc. Table 2 depicts the various application areas of IoT.
In the upcoming section the problem of mobile crowdsensing is formulated using double auction framework and is discussed in detailed manner.

Preliminaries
First the model and notations are discussed.After that game theoretic properties are discussed.

Model and Notation
In this section, the problem is formulated by utilizing the concept of double auction.There are m task requesters and n IoT devices, such that m < n.In this model it is considered that task requesters and IoT devices are heterogenous by nature.By heterogeneity it is meant that the task requesters may float different types of tasks (such as measuring air pollution, road condition, and so on) and IoT devices may vary in terms of type of tasks they are capable to perform.However, a particular task requester will be endowed with similar type of tasks and particular IoT device will be capable of performing one type of task.Based on the type of tasks the task requesters are floating and the type of tasks the IoT devices can perform, the task requesters and IoT devices are categorized into different categories.Let us say, we have k different categories and is given as w = {w 1 , w 2 , . . ., w k }, where w i represents i th category.
In any w i category, say, we have m i task requesters and n i IoT devices.The set of task requesters is given as r i = {r i 1 , r i 2 , . . ., r i m i }, where r i j represents j th task requester in w i category.The set of IoT devices is given as , where I i k represents k th IoT device in i th category.The set of task requesters and IoT devices in all the k categories is given as r = {r 1 , r 2 , . . ., r k } and I = {I 1 , I 2 , . . ., I k } respectively.The task requesters are endowed with multiple similar tasks and the bids (maximum price he is ready to pay).Let us say that any k th task requester is endowed with at most Q i k number of similar tasks.On the other side of MCS market, the IoT devices report the number of tasks that they can execute along with the asks (charge for imparting its services).Any j th IoT device can execute at most Q i j number of similar tasks.In our case, the task requesters and IoT devices taken together will be termed as agents and both may behave strategically.The bids and asks of the agents will be termed as valuation as and when required.
In our set-up the discussed problem is studied as a two-phase process.In the first phase, among the available IoT devices, the set of quality IoT devices is determined for executing the tasks.For this purpose, firstly, a part of available tasks is given to the IoT devices by the platform for execution.On receiving the tasks the IoT devices execute the tasks and submits the completed tasks back to the platform.Now, each of the completed tasks is given to the peers (other IoT devices) for the review purpose.In any category w i , if j th IoT device prefers k th IoT device over l th IoT device then it is represented as For all the IoT devices in i th category the rank profile is represented as For all the k categories, the rank profile is given as = { 1 , 2 , . . ., k }.After reviewing the completed tasks, the review report is submitted to the platform and the quality IoT devices are determined.Once the quality IoT devices are determined, next, the below mentioned challenges are handled: • Which quality IoT devices should be selected for tasks execution purpose?
• What will be the payment made to the selected quality IoT devices?
In the second fold, the above two issues are resolved.In any category w i , each agent k has a valuation function ν i k that returns, for every integer f (0 < f ≤ Q i k − 1), the agent's value for owing f units.It is to be noted that the valuation for owing zero unit is 0. In our discussed setup, all the agents posses DMR valuation function.For any agent j in i th category, by DMR valuation function ν i j we mean that ν It means that, marginal utility for an agent from having one more task is weakely-decreasing in his current number of tasks.The reason behind restricting the valuation function to DMR is that, in our discussed set-up the equilibrium price vector4 exists only when we have a DMR valuation.In any category w i , if any agent k have Q i k homogeneous tasks, then it is represented as Q i k single unit virtual agents.The value of virtual-agent f of agent k is the agent's marginal value for having the f th unit and is given as The ties between the marginal values of the virtual agents are broken randomly.In any category w i , given an equilibrium price p for each task, the utility of task requester k resulted by buying f units of completed task is: Similarly, the utility of IoT device j by supplying sensed data for f tasks is: In any category w i , the demand of any task requester k at an equilibrium price p is the set of tasks that maximizes the value u i k (f, p) and is given as: Here, if the valuation of any k th task requester is following DMR, then d i k (p) is just the number of virtual task requesters whose bid value is greater than equilibrium price p i.e. ν i k,f > p.The total demand at an equilibrium price p is the sum of the demands of all the task requesters and is given as Similarly, the supply from any j th IoT device at an equilibrium price p is the set of tasks that maximizes the value z i j (f, p) and is given as Here, if the valuation of any j th IoT device is following DMR, then s i j (p) is just the number of virtual IoT devices whose ask value is less than equilibrium price p i.e. ν i j,f < p.The total supply at an equilibrium price p is the sum of the supply from all the IoT devices and is given as Let us try to understand DMR valuation with the help of an example given below.
Example 1.In any category w i , the bid value reported by any agent k for 3 units of a task is 10.For 1 st unit the value is say 5 i.e. ν i 1,1 = 5.Similarly, for 2 nd unit and 3 rd unit the value is given as ν i 1,2 = 4 and ν i 1,3 = 1 respectively.Here, the valuation function ν i k of agent k is DMR, if the equilibrium price is set as 3 then the demand of k will be 2 units, as ν i 1,1 and ν i 1,2 values are above equilibrium price.However, if the bid value configuration is such that ν i 1,1 = 2, ν i 1,2 = 5, and ν 1,3 = 3 then the demand will be 0 even if the marginal values reported by the virtual agents are above the equilibrium price.The reason is that the valuation function here is not following DMR criteria.Similar argument can be given for IoT devices.

Game Theoretic Properties
In this section, the five game theoretic properties that will be utilized in this paper are discussed.
Definition 1 (Prior-free).A mechanism is prior-free, if it does not use any statistical information on the valuation of the agents.
Definition 2 (Truthful or Dominant Strategy Incentive Compatible (DSIC)).A mechanism is truthful, if no matter how other agents are bidding, no agent j can improve his utility by mis-reporting his valuation i.e. ûi j (f, p) ≤ u i j (f, p) in case of task requester and ẑi j (f, p) ≤ z i j (f, p) in case of task executor.
Definition 3 (Individual Rationality (IR)).A mechanism is IR, if no winning task executor is paid less than his ask value and no winning task provider pays more than his bid value.It means that the utility of the agents should be at least 0.
Definition 4 (Strongly Budget-Balanced (SBB) ).A mechanism is SBB, if the total payment of the agents is exactly 0. It means that the mechanism neither incurs surplus nor incurs deficit.
Definition 5 (Weakly Budget-Balanced (WBB)).A mechanism is WBB, if the total payment of the participating agents is positive.It means that the mechanism incurs a surplus.

Proposed DSIC Mechanism
In this section, a truthful mechanism namely QUAD motivated by Nisan et al. (2007); Roughgarden (2016Roughgarden ( , 2014)); Segal-Halevi et al. ( 2018b) is presented and discussed.QUAD determines the quality of the IoT devices along with deciding which of the quality IoT devices will be hired for task execution?and what will be their payment?The QUAD consists of three components: • k-category procedure − The reason for developing k-category procedure is to process all the k different categories of the task requesters and IoT devices present in MCS.
The allocation and pricing rule consists of three subroutine, namely 1. Splitting and equilibrium price determination, 2. Demand and supply calculation, and

Winner determination and payment
In the upcoming subsections, the components of the proposed mechanism are discussed.

k-category Procedure
In k-category procedure, for each category, in lines 2-5: (a) call to subroutine IoT-QDBC is made − for selecting the quality IoT devices from the available ones, (b) call to split and equilibrium price determination subroutine is made − to distribute the agents into two different MCS arenas and determine the equilibrium price in both the arenas, (c) call to demand and supply calculation is made − to determine the demand and supply of the agents in the respective MCS arenas by using the equilibrium prices of the opposite MCS arena, and (d) call to winner determination and payment is made − to decide the winning agents and their payment.For each category w i , in line 6, the winning IoT devices and winning task requesters are captured in I w(i) and r w(i) respectively.In line 7 the equilibrium price of right mobile crowdsourcing arena is stored in p f and after that p R is reset to φ.Similarly, the equilibrium price of left crowdsourcing arena can also be calculated and stored.In line 9, the list of winning task requesters i.e. r w and list of winning IoT devices i.e.I w for all the categories are returned.
ALGORITHM 1: k-category procedure (I, r, , w) // Call to IoT-QDBC subroutine is made and the quality IoT devices are held in Qi .
Winner determination and payment subroutine is made.

IoT-devices Quality Determination Mechanism
In this, for hiring the quality IoT devices among the available IoT devices, a subroutine namely IoTdevices quality determination using borda count (IoT-QDBC) motivated by Nisan et al. (2007); Roughgarden (2016) is proposed.

Outline of IoT-QDBC
In this section, the main idea of the IoT-QDBC is illustrated below.
IoT-QDBC Fix a category w i : 1.Each time γ IoT devices are picked up randomly that provide full rank list over the β other IoT devices that are chosen randomly from the (n − γ) IoT devices.
2. Now, based on the rank lists of the IoT devices, each IoT device I i j gets β points for each first preference, β − 1 points for each second preference, and so on, with 1 point for each last preference.
3. The process iterates until all the IoT devices are not ranked.

Detailing of IoT-QDBC
The detailing of IoT-QDBC is depicted in below listing.In line 1 of Alg. 2, the lists g and s are initialized to φ.In line 2, the copies of the set of IoT devices in i th category are maintained in Z and J .The while loop in line 3-16 determines the quality IoT devices.In line 4, γ IoT devices are picked up randomly from the list of IoT devices Z using Rselect method and held in g. s holds randomly selected β IoT devices from the list of IoT devices remaining after picking γ IoT devices in line 4.In line 6, each of the IoT devices in g provides the full rank list over the IoT devices in s.Lines 7-13 determines the total point obtained by each of the IoT devices I i k ∈ s and held in c.In line 14, for each iteration of while loop the IoT device having the maximum point is kept in Q i .The set of IoT devices that are ranked in the current iteration are removed from J in line 15.The process iterates until J becomes empty.Line 17 returns the set of quality IoT devices obtained in w i category.
2 Z = J = I i // Set of IoT devices in i th category are held in Z and J .
// γ IoT devices are picked up from Z and held in g.Example 2. Let us understand IoT-QDBC algorithm with the help of an example for w 2 category.
In our running example, there are 3 task requesters and 9 IoT devices.Here, β and γ values are taken as 3. Following line 4 of Alg. 2, 3 IoT devices are picked up randomly for providing the ranking.Next, the remaining 3 IoT devices are chosen that are to be ranked.The full rank lists of the IoT devices for the first iteration are depicted in Figure 3a.Now, following line 7-13 of Alg. 2 the points gained by each of the IoT devices will be calculated.As IoT device I 2 3 is ranked first by two of the IoT devices (I 2 2 and I 2 6 ), and ranked second by one of the IoT device (I 2 4 ), due to this reason it receives 3 points for each first rank and 2 points for second rank.So, IoT device I 2 gains a total of 7 points each depicted in Figure 2d.So, from the first iteration I 2 3 is placed in the list of quality IoT devices.
In the next iteration, again 3 IoT devices will be picked up randomly for providing the ranking over the other 3 IoT devices as shown in Figure 2b.As the IoT device I 2 2 is ranked first by two IoT devices (I 2 1 and I 2 8 ), and ranked second by one IoT device (I 2 7 ) due to this it receives 3 points for each first rank and 2 points for a second rank.So, IoT device I 2 2 also gains a total point of 8 as shown in Figure 2e.In the similar fashion, the IoT devices I 2 4 and I 2 6 gains a total point of 6 and 4 respectively.So, in the second iteration I 2 2 is placed in the list of quality IoT devices.In the last iteration, again 3 IoT devices are picked up randomly and rankings are provided.In this iteration, IoT device I 2 8 is ranked first by one IoT device (I 2 5 ), ranked second by one IoT device (I 2 2 ), and ranked third by the IoT device I 2 3 .Due to this it receives 3 points for a first rank, 2 points for a second rank, and 1 point for a third rank.So, IoT device I 2 8 gains a total points of 6.In the similar fashion, the IoT devices I 2 7 and I 2 9 gains a total points of 6 each.So, in the this iteration, we can select any of the IoT devices as the quality IoT device, say, I 2 8 is considered in the list of quality IoT devices.Alg. 2 returns I 2 3 , I 2 2 , and I 2 8 as the list of quality IoT devices for the running example.

Allocation and Pricing Rule
Once the quality IoT devices are determined in the first phase of the proposed framework, now the goal is to tackle the issues raised in points 1 and 3 in Section 1.For this purpose, a subroutine of QUAD namely allocation and pricing rule motivated by Segal-Halevi et al. (2018b); Roughgarden (2014) is proposed.The allocation and pricing rule consists of three subroutines: • Splitting and equilibrium price determination, • Demand and supply calculation, and

• Winner determination and payment
In the upcoming subsections, each of the subroutines is discussed in a detailed manner one-by-one.

Splitting and Equilibrium Price Determination
Using line 1 of Algorithm 3 the set of task requesters and the IoT devices are divided into two arenas called left mobile crowdsourcing arena (LMCA) and right mobile crowdsourcing arena (RMCA)./* Equilibrium price determination in RMCA */ // The variables are initialized to 0 and ∞.
Determines the maximum demand of task requester r i j at price p and hold the demand in d i j (p).Each time a task requester or an IoT device is placed to LMCA/RMCA with probability 1/2, independent of others, as depicted in line 2. Here, for determining the equilibrium price we are considering RMCA.However, in the similar fashion one can determine the equilibrium price of LMCA.In line 3, initially, the equilibrium price p and supply s R is initialized to 0, and the demand d R at price p = 0 is set to ∞.The while loop in line 4−14 takes care about determining the demand and supply of each agent and terminates once the total demand becomes equal to total supply.For each iteration of while loop the price p is incremented by .(some small constant value)Line 6-8 calculates the demand of each task requester present in RMCA at price p. r i R captures the set of task requesters present in RMCA.Line 9-11 calculates the supply of each IoT device present in RMCA at price p.I i R captures the set of IoT devices present in RMCA.Line 12 and 13 holds the total demand and total supply of agents in d R and s R respectively.In line 15, the equilibrium price p is held in p R .Line 16 returns the list of IoT devices and list of task requesters in LMCA, and equilibrium price p R of RMCA.

Demand and Supply Calculation
In this section, the demand and supply of task requesters and IoT devices respectively are determined in LMCA by using the equilibrium price of RMCA (determined using Algorithm 3).In line 1 − 7, for each task requester r i j ∈ r i L , the demand is calculated and the task requesters whose demands are positive at price p R is held in ri L .In line 5, the total demand in LMCA is calculated and stored in d L .In line 8 − 14, for each IoT device I i k ∈ I i L , the supply is calculated and the IoT devices whose supply are positive at price p R is held in Ĩi L .In line 12, the total supply in LMCA is calculated and stored in s L .Line 15 returns total supply and total demand in LMCA at p R .
ALGORITHM 4: Demand and supply calculation ( // Calculating the demand of r i j at equilibrium price pR.
L holds the task requester ri j if criteria in line 3 is satisfied.
// Calculating the supply of I i j at equilibrium price pR.

Winner Determination and Payment
In this, the winners and their payment are determined in LMCA.Similarly, we can determine the set of winners and their payment in RMCA by doing notational modifications in Algorithm 5. On determining the demand and supply of the task requesters and task executors respectively in LMCA based on p R , the three cases may arise: (1) In line 1-12, the case with d L = s L is tackled and the set of winning task requesters r w(i) , winning IoT devices I w(i) , and their payment are determined.
ALGORITHM 5: Winner determination and payment (d i) holds the winning virtual task requesters (v.r's).i) holds the winning v.r's in i th category.// Picks v.I's from sorted ordering of virtual IoT devices.i) holds the winning v.I's in i th category.i) holds the winning v.r's in i th category.
39 end 40 end 41 return r w(i) , I w(i) , p R Line 4 of Algorithm 3 is satisfied and p value is increased by 3. Now, at price p = 3 the demand from the task requesters i.e. d L is 6 and the supply of the IoT devices i.e. s L is 0. Again the condition in line 4 of the Algorithm 3 is satisfied, so p value is increased by 3 again and now p is 6.At p = 6, the d L of task requesters is 6 and s L of IoT devices is 1, so demand is not equal to supply still.Again, the price value is increased by 3 and now at p = 9, the d L of task requesters is 5 and s L of the IoT devices is 1.Similarly, we keep on increasing the price and at p = 15 the s L becomes equal to d L .So the equilibrium price in the LMCA is 15.In Figure 3b, at p = 15, the set of selected task requesters and IoT devices are shown in square box.
• RMCA: In RMCA, we have 2 task requesters and 3 IoT devices as shown in Figure 4a.Let us first determine the equilibrium price p in RMCA.So, let us say the initial price p is set to 0. At this price, all the task requesters wants that their tasks get executed (i.e.d R is 4) and on the other hand no IoT device wants to execute the tasks (i.e.s R is 0).Line 4 of Algorithm 3 is satisfied and p value is increased by 3. Now, at price p = 3 the demand from the task requesters i.e. d R is 4 and the supply of the IoT devices i.e. s R is 0. Again the condition in line 4 of the Algorithm 3 is satisfied, so p value is increased by 3 again and now p is 6.At p = 6, the d R of task requesters is 4 and s R of IoT devices is 1, so demand is not equal to supply still.Again, the price value is increased by 3 and now at p = 9, the d R of task requesters is 4 and s R of the IoT devices is 2. Similarly, keep on increasing the price and at p = 12 the s R = 3 becomes equal to d R = 3.So the equilibrium price in the RMCA is 12.In Figure 4b, at p = 12, the set of selected task requesters and IoT devices are shown in square box.
be activated, as d L > s L .Following line 14, the virtual task requesters are sorted in decreasing order of their valuation.After that using line 15-22 the winning virtual task requesters are decided and following line 23-25 winning virtual IoT devices are decided as shown in Figure 3b.The price at which the trading took place is p R = 12.For RMCA, line 27-40 of Algorithm 5 will be activated, as d R < s R .Following line 28, the virtual task requesters are sorted in increasing order of their valuation.After that using line 29-36 the winning virtual IoT devices are decided and following line 37-39 winning virtual task requesters are decided as shown in Figure 4c.The price at which the trading took place is p L = 15.

Analysis of QUAD
In this section, the analysis of QUAD is carried out.In Lemma 5.1 it is shown that the QUAD runs in polynomial time.In Lemma 5.2 it is proved that QUAD is correct.In order to prove that QUAD is correct, it is shown that each of the subroutines of QUAD is correct.In Lemma 5.3 it is proved that QUAD is prior-free.It means that QUAD is not using any statistical information on the valuations of the agents.is shown in Lemma 5.4 that QUAD is truthful, it means that in QUAD, the agents cannot gain by misreporting their true valuation.In Lemma 5.5 it is shown that QUAD is IR.The reason behind proving that QUAD is IR to show that all the participating agents have non-negative utility.Lemma 5.6 proves that QUAD is weakly budget balanced.The reason behind proving QUAD as WBB is to show that the agents pay some amount to the platform.
Proof.The running time of QUAD is the sum of the time of Algorithm 1, Algorithm 2, Algorithm 3, Algorithm 4, and Algorithm 5.As Algorithm 1 will iterate for k times, so let us first determine the time taken by each of the subroutines for single iteration of Algorithm 1.After that the running time for k different categories will be decided.
In Algorithm 2 lines 1 and 2 will take O(1) time.The while loop in line 3-16 will terminate only when all the IoT devices are ranked.So, say the while loop iterates for n i β .For each iteration of while loop, line 4 and line 5 will take O(γ) and O(β) respectively.Line 6 is bounded above by O(γβ).Line 7-13 will take O(γβ).In line 14, the IoT device with maximum point is selected and will take O(β) time.So, line 3-16 is bounded above by n i β • O(γβ) = n i γ.So, the time taken by Algorithm 2 is O(n i γ).If γ is a function of n i , then it will be O(n 2 i ).In Algorithm 3, line 1 and 2 will take O(m i + n i ) time.Line 3 will take constant time.The execution of Lines 5-13 depends on the condition in line 4.For each iteration of while loop, line 5 will take O(1).Line 6 − 8 is bounded above by O(m i Q i j ) and line 9 − 11 is bounded above by O(n i Q i k ).In the worst case, line 12 will sum the demands of all the m i task requesters at equilibrium price p and will take O(m i ) time.Similarly, line 13 will take O(n i ) time.So, for each iteration of while loop, line 5 − 13 is bounded above by O(1) , and m i is a function of n i .If the number of iteration of while loop in line 4-14 is a function of n i , then line 4-14 is bounded above by O(n 3 i ).Line 15 does assignment so it will take constant time.The return statement in line 16 will take O(1).So, Algorithm 3 takes O(n 3 i ).
In Algorithm 4 for each iteration of for loop in line 1-7, line 2 will take O(Q i j ).Line 3-6 will take O(1).Now, if the for loop iterates for the number of times that is a function of m i , then line 1-7 of Algorithm 4 is bounded above by O(m 2 i ), if Q i j is a function of m i .Similar argument can 20 be given for line 8-14 and is bounded above by O(n 2 i ).The return statement in line 15 will take constant time.So, Algorithm 4 takes O(m 2 i ) + O(n 2 i ) time.Now, let us determine the time taken by Algorithm 5 for each iteration of Algorithm 1. From the construction of Algorithm 5 it can be seen that at a time either line 1 − 11 will be executed or line 12 − 24 will be executed or line 26 − 38 will be executed.Let us say line 1 − 12 gets executed.Line 1 will take constant time.Line 2−6 takes O(m 2 i ) in worst case.Similarly, line 7−11 can take O(n 2 i ) in worst case.So line 1−12 of Algorithm 5 is bounded above by O(n 2 i ) + O(m 2 i ).Line 12−24 executes when the demand of the task requesters is more than the supply from the IoT devices.In line 13 sorting takes place and will take O(m i lg m i ), where lg m i stands for log 10 m i .Line 14 − 21 will take O(m 3 i ) in worst case.Line 22-24 will take O(n i ).Similarly, line 25 − 38 executes when the demand of the task requesters is less than the supply from the IoT devices.In line 26 sorting takes place and will take O(n i lg n i ).Line 27 − 34 will take O(n 3 i ) in worst case.Line 35-37 will take O(m i ).So the running time of Algorithm 5 is So, for k different categories the QUAD will be bounded above by Lemma 5.2.QUAD works correctly.
Proof.We prove the correctness of QUAD using loop invariant technique Cormen et al. (2009).In order to prove that QUAD is correct, it is to be shown that each of the algorithms acting as subroutine are also correct.Below the correctness of each of the subroutines is discussed one-by-one: Proof of correctness of Algorithm 2 (IoT-QDBC): In order to prove that IoT-QDBC is correct, the following loop invariant is considered: Loop invariant: In each iteration of while loop of lines 3-16, a quality IoT device in i th category is added into the output array Q i .
• Initialization: We can start by showing that loop invariant hold before the first iteration of while loop, when Q i = φ.The output array Q i have no quality IoT devices before the first iteration.So, loop invariant holds.
• Maintenance: For the loop invariant to be true, it is to be shown that before any k th iteration of the while loop and after k th iteration of the while loop the loop invariant holds.Before k th iteration, i.e. till (k − 1) th iteration there will be (k − 1) quality IoT devices in an array Q i .After k th iteration, the number of quality IoT devices will be • Termination: From the construction of IoT-QDBC, it is clear that the while loop will terminate only when there exists no IoT devices whose executed tasks are to be ranked.It means that once while loop terminates Q i contains all the quality IoT devices.
Proof of correctness of Algorithm 3 (Splitting and Equilibrium Price Determination): In order to prove that Algorithm 3 is correct, we use the following loop invariant: Loop invariant: At the start of while loop in lines 4-14, the price p is increased by .So, with the increase in price p the demand d R of the task requesters will be decreasing or remains same and supply s R of the IoT devices will be increasing or remains same.
• Initialization: Before the 1 st iteration of while loop, the price p is zero.In this case, the demand d R of the task requesters will be very high (say ∞) and supply s R of the IoT devices will be very low (say 0).So, it trivially satisfies the loop invariant.
• Maintenance: In the k th iteration of while loop, the price p will be some non-zero value.Depending on the price value at k th iteration, the demand of task requester may remain same or may decrease and the supply of IoT devices may remain same or may increase.After k th iteration the price p will be greater than it was before k th iteration.Now, with the increase in price the demand may decrease or remains same and supply may increase or remains same.So, the loop invariant may hold.
• Termination: From the construction of Algorithm 3, at termination, the demand of task requesters and supply by the IoT devices becomes equal at the equilibrium price.So, the algorithm provide the equilibrium price on termination.
Proof of correctness of Algorithm 4 (Demand and Supply Calculation): Loop invariant: In each iteration of for loops in line 1-7 and in line 8-14 the d L and s L respectively will be either zero or positive.
• Initialization: Before the 1 st iteration of for loops in line 1-7 and line 8-14, the d L and s L values respectively are 0. So, it trivially satisfies the loop invariant.
• Maintenance: Before any k th iteration of for loops, in line 1-7 and line 8-14, the d L and s L values respectively will be either zero or some positive value.After the k th iteration of for loops, in line 1-7 and line 8-14 also, the d L and s L values respectively will be either zero or some positive value.So, the loop invariant may hold.
• Termination: From the construction of Algorithm 3, at termination the demand of task requesters and supply by the IoT devices will be non-negative.So, on termination also the loop invariant holds for Algorithm 4.
Proof of correctness of Algorithm 5 (Winner Determination and Payment): The case with d L = s L is trivial.In order to prove correctness of Algorithm 5, the non-trivial cases are considered i.e. d L > s L or d L < s L .Let us d L > s L case, similarly d L < s L can be handled.

Loop invariant:
In each iteration of while loop in line 14-21 the task requesters are added in the winning set r w(i) .
• Initialization: We can start by showing that loop invariant holds prior to first iteration of while loop in line 14-21, when r w(i) = φ.The winners list r w(i) have no task requesters.So, loop invariant holds.
• Maintenance: For the loop invariant to be true, it is to be shown that before any k th iteration of the while loop in line 14-21 and after any k th iteration of the while loop in line 14-21 the loop invariant holds.Before k th iteration, i.e. till (k − 1) th iteration there will be (k − 1) winning task requesters in r w(i) .After k th iteration, one more task requester will be added to r w(i) leads to k task requesters.So, loop invariant holds.
• Termination: From the construction of Algorithm 5, it is clear that the while loop in line 14-21 will terminate only when r w(i) becomes equal to s L .It means that once while loop terminates r w(i) contains all the possible winning task requesters at equilibrium price.On termination the loop invariant holds for Algorithm 5.
As Algorithm 2, Algorithm 3, Algorithm 4, and Algorithm 5 are correct for any category w i and so as the QUAD.So, QUAD will be correct for all the k categories in the system.Hence QUAD is correct.
Proof.From the construction of QUAD it can be seen that it is not using any statistical information on valuations of the agents.So, QUAD is prior-free.
Observation 1. QUAD mechanism consists of two components: IoT-QDBC mechanism, and allocation and pricing rule.Here, IoT-QDBC mechanism is independent of the bid values of the IoT devices and will not influence the truthfulness of QUAD.
Proof.Fix category w i and task requester r i j .To prove that QUAD is truthful, the two cases are considered: (1) early exit, and (2) late exit.In the first case, it may happen that task requester r i j bids less than his true valuation and can come out of the market early, even if he can participate in further iterations.In late exit, it may happen that the task requester r i j can bid more than his true valuation and can stay for longer time in the market.The proof is carried out considering the task requesters.However, in the similar fashion the truthfulness of the QUAD can be proved for the IoT devices.Let us discuss the two cases one-by-one.
-Early exit: Let us suppose that a task requester r i j misreports his bid value for buying t units of completed tasks such that νi j (t) < ν i j (t).Now, in this situation the two scenarios can happen.One scenario could be that the i th iteration is the last iteration of the mechanism i.e. demand and supply becomes equal and the mechanism terminates.In this case, the task requester r i j wins and his utility will be same as his utility when he would have reported truthfully i.e. ûi j (t, p) = ν i j (t) − p • t = u i j (t, p).Another scenario could be the mechanism can go further for (i + 1) th iteration and many more.Now, in this scenario as the task requester has misreported (lowered his bid value) and exited from the market, so he is a loser and his utility will be 0.
-Late exit: Let us suppose that a task requester r i j misreports his bid value for buying t units of completed tasks such that νi j (t) > ν i j (t).Now, in this situation the two scenarios can happen.One scenario could be that the i th iteration is the last iteration of the mechanism and after that the mechanism terminates.In this case, the task requester r i j wins and his utility will be same as his utility when he would have reported truthfully i.e. ûi j (t, p) = ν i j (t) − p • t = u i j (t, p).Another scenario could be the mechanism can go further for (i + 1) th iteration and many more.Now, in this scenario again the two cases can happen.The task requester r i j can participate in further iterations by misreporting his bid value i.e. νi j (t) > ν i j (t) and he wins.In this case, his utility will be ûi j (t, p) = ν i j (t) − p • t < u i j (t, p).Another case could be with the increase in his bid value the task requester r i j made his presence for some additional round but dropped from the market in the later rounds.In this case he loses and his utility will be 0. So, from above discussion it can be concluded that the task requester cannot gain by misreporting his bid value.In the similar line it can be shown that the IoT devices cannot gain by misreporting its bid value.Hence, QUAD is truthful for w i category and so is for all the k categories.
Proof.Fix a category w i .In QUAD each time a price p is set and then it is asked from the agents that whether you are ready to trade at price p or not?Now, if for any task requester r i j the bid value is more than or equal to the current price then his answer will be YES, otherwise his answer will be NO.It is obvious that the task requester r i j will reply YES only when ν i j (t) > p.In such case r i j has to pay less than his valuation and achieves positive utility.Else if ν i j (t) < p then r i j will drop from the crowdsensing market and in that case his utility will be zero.So, the task requester will be having a non negative utility.Similar argument can be given for the IoT devices.As the utility of the participating agents are non negative, so from the definition of individual rationality (see Definition 3) it can be said that QUAD is individually rational for w i category.Hence, QUAD is individually rational for all the k categories.
Lemma 5.6.The allocation resulted by QUAD is weakly budget balanced.
Proof.Fix a category w i .Let us say some virtual task requesters of r i j is present in the winning set.Now, from the construction of QUAD the trading fee paid by any task requester r i j is the utility that would have been achieved by the virtual task requesters that are not in the winning set because of the presence of virtual task requesters of task requester r i j in the winning set.In Lemma 5.5 it is already shown that the agents in the winning set is having a non-zero utility, so it can be said that the trading fees paid by any task requester r i j will be a non-zero value.So, the platform will always receive non zero fees from the task requesters.Similar argument can be given for the IoT devices.QUAD is weakly budget balanced for w i category.Hence, QUAD is weakly budget balance for all the k different categories.

Probabilistic Analysis of QUAD
In this section, the probabilistic analysis of QUAD is carried out.Lemma 5.7 provide an estimate that, on an average how many tasks are executed for any task requester?It is shown that for any task requester r i j the expected number of his endowed tasks will be executed by the quality IoT devices will be Λ Here, Λ i is the total number of tasks carried by any task requester r i j .Further in Lemma 5.8, it is estimated that at least 0.9 lg Λ i tasks of any task requester r i j will be considered out of Λ i tasks is at most 10 9 lg Λ i .Lemma 5.7.In category w i , for any task requester r i j the expected number of his endowed tasks executed by the quality IoT devices out of Λ i is given as: where, Λ i is the number of tasks held by task requester r i j .Z is the indicator random variable measuring the number of tasks executed by the quality IoT devices out of Λ i tasks.
Proof.Fix category w i and the task requester r i j .In this lemma, we are trying to show that, in expectation, how many tasks of the task requester r i j gets executed by the quality IoT devices out of Λ i ?It is represented as E[Z].Before moving forward, it is important to decide the sample space associated with the task requester r i j and is given as: S = {i th task of r i j gets executed, i th task of r i j does not get executed} Now, let us determine the probability that i th task of r i j gets executed and is given as q.So, the probability that i th task of r i j do not get executed is given as 1 − q.Let us define an indicator random variable Z i , associated with i th task of r i j gets executed, which is the event R. The variable Z i captures that the i th task of r i j gets executed or not.If it gets executed then Z i is 1 otherwise 0. We write The expected value of the random variable Z i gives us the expected value that the i th task of r i j gets executed.Taking expectation both side of equation 5, we get Now, let Z be the random variable denoting the total number of tasks executed by the quality IoT devices out of Λ i tasks.It is formulated as As our aim is to compute the expected number of tasks executed by the quality IoT devices out of Λ i tasks and can be obtained by taking expectation both side of the equation 6.So, we get By linearity of expectation and then substituting the value of E[Z i ], we get Now, if the probability that i th task of r i j task requester will get executed is taken as 1 lg Λ i then the value E[Z] boils down to Λ i • 1 lg Λ i .It can be written as: Observation 2. If we consider the value of Λ i as 100 then E[Z] = Λ i lg Λ i = 100 lg 100 = 100 2 = 50.It means that, for task requester r i j on an average 50 of his tasks will be executed by the IoT devices out of his 100 sensing tasks.
Lemma 5.8.The probability that at least 0.9Λ i tasks of any task requester r i j will be executed out of Λ i by the quality IoT devices is less than or equals to 10 9 lg Λ i .More formally, we can write Proof.Fix a category w i and a task requester r i j .Here, we are trying to prove that at least 0.9Λ i tasks of task requester r i j will be executed out of Λ i tasks is bounded above by 10 9 lg Λ i quantity.
For this purpose we will take the help of the random variable Z defined in Lemma 5.7.Following Lemma 5.7, we can write Now, considering the case we are interested in from the above case representation form i.e.Z ≥ 0.9Λ i .We can rewrite it as Z 0.9Λ i ≥ 1.From equation 10, I is same as 1, so we get Taking expectation both side in equation 11, we get or return.In our case, the experiment is executed for all the 5 categories for 100 times and the required values are plotted by taking the average over these 100 times.In order to strengthen our claim the simulation is carried out for two different probability distributions, namely random distribution (RanD) and normal distribution (NanD).For comparing the QUAD and PPM on the ground of truthfulness, it is considered that 50% of the agents misreport their true bid values in case of PPM and is represented as PPM-D in the simulation results.By misreporting the bid value it is meant that the agents will report the increased bid price so as to stay for longer duration of time in the MCS market.

Results and Comparison
In this section, the discussion will mainly circumvent around the evaluation metrics depicted above.Figure 5 compares the two mechanisms namely QUAD and PPM on the ground of truthfulness of the agents for RanD and NanD cases.From the construction of QUAD and PPM, the utility of the participating agents in case of QUAD can be more or less than the utility of the agents in case of PPM as depicted in Figure 5a and 5b.However, in case of PPM, when 50% of the agents misreport their true bid values then the utility of the agents is more as compared to the case when all the agents reports truthfully.It is natural as PPM is vulnerable to manipulation, so the participating agents gain by misreporting their true bid values.In Figure 5, in some cases it can be seen that the utility of the agents in case of PPM with 50% deviation is even more than the utility of the agents in case of QUAD.On the other hand, as QUAD works on the principle of Vickery auction W. Vickery (1961) and so is not vulnerable to manipulation.It means that the participating agents can maximize their utility by only reporting truthfully in case of QUAD and is seen in Figure 5a and 5b.
Considering the second evaluation metric i.e. utility of platform.In Figure 6a and 6b it can be seen that the utility of platform in case of QUAD could be more or less as compared to the utility of platform in case of PPM.However, for both the mechanisms i.e.QUAD and PPM the utility of the platform will be non-negative irrespective of the type of distribution followed by the bid values of the agents.In such case it can be inferred from Figure 6a and Figure 6b that the two mechanisms is weakly budget balanced (see Definition 5).From the above discussion it can be inferred that the QUAD is truthful and both the mechanism satisfies one of the economic properties called budget balance.As it is obvious because in case of posted price ascending auctions the selling price is generally high as compared to the sealed bid auction and so the IoT devices are paid high.Due to this reason the satisfaction level of winning IoT devices in case QUAD will be more than the satisfaction level of the winning task requesters in case of McAfee DA.So, if it is seen from the perspective of IoT devices then QUAD will be more viable mechanism as compared to McAfee DA.The simulation results in Figure 8a and 8b shows that in case of QUAD the average number of tasks executed by the quality IoT devices is almost half the total number of available tasks.The x-axis of the graphs shown in Figure 8a and 8b represents the task requesters and y-axis represents the number of tasks.For all the 5 task requesters the number of tasks that got executed is almost half the number of tasks endowed by the respective task requesters irrespective of the distribution of data.The similar results we obtained from the probabilistic analysis carried out in Lemma 5.7.

Conclusion and Future Directions
In this paper, for the discussed scenario in IoT-based mobile crowdsensing, a truthful mechanism is proposed that along with satisfying other economic properties such as individual rationality, and budget balance keeps into account the quality of IoT devices.By analysis it is shown that QUAD is computationally efficient, truthful, individual rational, and prior free.Further the probabilistic analysis is carried out to have an estimate on the number of tasks of any task requester got executed by the quality IoT devices among the available ones.The simulation results compares QUAD with the benchmark mechanisms on the ground of truthfulness, budget balance, and satisfaction level of the IoT devices.
In future, one of the challenges could be to design a truthful mechanism for the set-up discussed in this paper for general valuation (not DMR).Another direction could be, considering the set-up with multiple task providers and multiple IoT devices, where the task providers will provide the heterogeneous tasks.Here, the challenge will be to design a truthful mechanism for the cases when the participating agents have DMR valuation or general valuation.

Figure 1 :
Figure 1: A Multi-unit Double Auction Framework for IoT-based Mobile Crowdsensing L , r i L , p R )← Splitting and equilibrium price determination ( Qi , r) // Call to Splitting and equilibrium price determination subroutine is made.4 (d L , s L ) ← Demand and supply calculation (I i L , r i L , p R ) // Call to Demand and supply calculation subroutine is made. 5

5s←
Rselect(J \ g, β)// β IoT devices are picked up from J \ g and held in s.6EachI i k ∈ g provide a full rank list i.e. i k over all the IoT devices in s. k holds the point of each IoT device and is initialized to 0. 9 foreach I i j ∈ g do 10 c k ← c k + (β − ) // where = 0 for first preference, = 1 for second preference, likewise = (β − 1) for last preference.11 end 12 c ← c ∪ {c k } // c holds the point received by each IoT device in s. 13 end 14

ALGORITHM 3 :1
Splitting and equilibrium price determination (I i , r i ) /* Split mobile crowdsensing arena */ Divide the mobile crowdsensing arena into two sub-arenas namely left mobile crowdsensing arena (LMCA) and right mobile crowdsensing arena (RMCA). 2 With probability 1/2 place the task requesters and IoT devices into LMCA and RMCA independently.The task requesters and IoT devices in LMCA are held in r i L and I i L respectively.For RMCA, r i R and I i R used to hold task requesters and IoT devices respectively.
i) ← I w(i) ∪ {I i k,v } // I w(i) holds the winning v.I's in i th category.v.I's in increasing order of marginal valuation.29 while |I w(i) | = d L do 30 I * ← Pick ( Ĩi L )

Figure 5 :
Figure 5: Comparison of Utility of Agents for RanD and NanD cases Figure 6: Comparison of Utility of Platform for RanD and NanD cases

Figure 8 :
Figure 8: Comparison of #Tasks Executed by IoT Devices for RanD and NanD cases

Table 1 :
Several research directions in IoT

Table 2 :
Notations used w w = {w 1 , w 2 , . . ., w k }: Set of k different categories m i Number of task requesters in w i category n i Number of IoT devices in w i category I I = {I 1 , I 2 , . . ., I k }: Set of IoT devices in all the k categories Total supply in LMCA is calculated and held in d L .
L , s L // Returns, total demand and supply from LMCA.
// Sort v.r's in decreasing order of marginal valuation.15while|r w(i) | = s L do 16 r * ← Pick (r i L )// Picks v.r's from sorted ordering of virtual task requesters.17 foreach r i j,l ∈ r * do 18 while ν i j,l < p R and |r w

Table 3 :
Data set utilized for Simulation