Abstract
Mobile crowdsensing systems employ crowd smartphones to collect data using these device-embedded sensors. The increase in the number of users and the data volume has limited the possibility of using cellular networks. In this regard, collector users need to be able to send their data to the publishers with less delay using device-to-device (D2D) communication. This paper proposes an incentive mechanism for improving the transmission rate to multiple publishers in mobile crowdsensing networks based on device-to-device communication. Users exchange their data for delivering it to interested publishers in this mechanism. Users receive credits for their contributions to data delivery from collector users. Also, the cheque concept has been introduced to facilitate collector users’ payment of this credit. Communication between users is expressed as a cooperative two-player game. A heuristic approach finds the solution to this game. A cheque and credit exchange process is also planned as an online auction to increase credit circulation in the network. Finally, the performance of the proposed mechanism is evaluated using the simulator. The results show that this mechanism performs better than other methods in average delay and delivery rate and has a stable traffic overhead.
1. Introduction
Smartphones and mobile networks have created a mobile crowdsensing paradigm to collect and process data about a large-scale phenomenon [1]. Crowdsensing employs a large population of mobile device users to perform sensing tasks using sensors embedded in their devices. Recently, this paradigm has become an effective way to collect information due to the penetration of mobile devices in the daily life of people.
A mobile crowdsensing system often consists of some collector users and several competing task publishers [2]. Collector users collect data and send it to interested publishers [3]. Publishers collect and process this information. The general architecture of these connections is shown in Figure 1. Several publishers may be interested in receiving these networks’ sensed data. For example, several publishers may have assigned users to collect videos and pictures of an event. Considering that most of these publishers compete with each other, they do not share this information. Users want to send the obtained video and images to them independently. Users should be able to transmit this data to publishers interested in receiving it.

The number of devices involved in the sensing process, such as smartphones, wearable gadgets, smartwatches, and smart cars, is also increasing [4]. This problem causes a considerable increase in the volume of transmitted data in mobile crowdsensing networks. Most crowdsensing platforms use mobile cellular networks to transmit their data. However, this volume of data can quickly go beyond the scalability of mobile cellular networks [5]. In addition, this problem can lead to increased costs and energy consumption for users and reduces the willingness of users to perform sensing tasks.
Device-to-device communication is a new wireless communication paradigm in which devices can communicate with each other without using a base station or core network. The devices share their data opportunistically. This paradigm is included in the fifth generation of cellular networks [6]. Mobile crowdsensing systems can use this paradigm to reduce users’ costs and increase their willingness to participate [7, 8].
On the other hand, users’ participation in mobile crowdsensing networks is often voluntary due to using battery resources or exposure to threats such as privacy issues [9]. Therefore, one of the main challenges of mobile crowdsensing networks is encouraging users to participate [10]. Therefore, attracting users’ participation is a vital factor for the success of information transmission in this type of network [11]. Incentives can increase the participation of users by effectively designing opportunistic transmission mechanisms. Hence, this study presents a mechanism to encourage users to participate in data relaying according to the type of sensing data.
Recently, various studies have addressed the issue of incentives in similar situations. For instance, Zhan et al. [12, 13] have proposed an incentive mechanism for time-sensitive data in opportunistic networks. This method uses device-to-device communications to transfer the data to the destination by multihops. The selection of intermediate relay nodes is made using the Nash bargaining solution. Although this method provides a mechanism for transmission in opportunistic networks, the issue of the type of data expected by publishers in crowdsensing networks has not been considered. From this point of view, it is impossible to decide on directing data based on their type or to several destinations. In other words, data can only be directed to a specific destination.
To the best of our knowledge, this is the first study to investigate improving the information transmission rate to multiple publishers using device-to-device communications in mobile crowdsensing environments. This solution is based on providing incentives to users to increase user engagement [14].
In the proposed mechanism, users publish their sensed data among other users to reach publishers. Other users also use the same approach by posting data among others opportunistically and delivering it to publishers interested in the sensed data. In this protocol, game theory is used to specify an incentive for increasing users’ participation in disseminating information. In this regard, a two-player cooperative game decides data exchange between two users. In the case of data exchange, credit or incentive is considered for the user who transferred the data. Credit here can be through a user payment, points, or rewards. For example, the user can use his obtained points to increase his rank in mobile crowdsensing applications.
The most important contributions of this study are as follows: (1)A protocol for information transmission in a mobile crowdsensing network consisting of multiple publishers using device-to-device communications is proposed(2)An incentive mechanism is introduced for exchanging information between nodes using a two-player cooperative game(3)An online auction algorithm is provided to improve the cash flow and prevent starvation in the network(4)The simulation of the proposed mechanism is performed in the ONE simulator, and a performance evaluation of its data delivery rate is presented. The evaluation results are compared with other data transmission methods in mobile crowdsensing frameworks(5)The structure of the rest of the paper is as follows: Section 2 provides the literature review. Sections 3 and 4 present the required basic definitions and the proposed method. Section 5 presents the performance evaluation and its results. Finally, the sixth section is devoted to conclusions
2. Related Work
Mobile crowdsensing has motivated many studies in recent years. Using device-to-device communication to transmit information related to crowdsensing tasks has been of interest in recent studies. These studies can be considered from two points of view: opportunistic device-to-device communications and their incentive mechanisms.
2.1. Opportunistic Device-to-Device Communication
The movement of users in mobile crowdsensing leads to unstable connections. Therefore, the problem of transmitting sensed data is similar to data transmission in opportunistic mobile networks. But according to the specific conditions of crowdsensing data and the tasks specified by the publishers, some studies have investigated methods for routing information to the interested parties of sensed data in crowdsensing networks. For example, Wang et al. [15] have proposed a solution for crowdsensing data collection using D2D communications. They have considered a solution considering users’ temporal and spatial conditions. They form a route search problem by converting the user’s mobility traces into a weighted, directed graph. They have solved the problem with a recursive greedy optimization solution. But the presented solution considers only routing for one target. Choi et al. [16] proposed a feasibility study for a crowdsourced delivery network using existing opportunistic carrier paths for motorized and nonmotorized carriers. However, these solutions can not be extended to routing for multiple targets.
Yang et al. [17] considered optimal combining short-range opportunistic communications and mobile cellular network communications to reduce the cost of using the network and battery of the device. However, the proposed solution is focused on short-range communications such as Wi-Fi and Bluetooth. It cannot expand to long-range device-to-device communications with many users, which was the aim of this research. Zhao et al. [18] considered the poor network coverage in certain areas. They aimed to prepare a sensing map and presented the COUPON crowdsensing framework on opportunistic networks. They focus on merging data during transmission to reduce data redundancy and save energy. But according to the prepared map, priority is placed on short routes. In multihop communications, if the number of hops increases, the delivery delay in the network also increases. Wang et al. [19] aim to minimize the number of nodes involved in the data transmission path in opportunistic networks. They have addressed this issue in their research and presented a method to select the minimum number of relay nodes for data transmission.
Zhao et al. [20] present an integrated delay analysis framework for opportunistic data collection and aim at quality-of-service measurement. They integrate opportunistic sensing and opportunistic data transmission. They measure the delay caused by data transmission. Opportunistic networks are used along with cellular networks to route data transmission. Data transfer between users is done opportunistically, and data transfer to the cloud through Wi-Fi or cellular networks. But in the presented solution, the delay is assumed to be tolerable. Therefore, it is not suitable for transferring time-sensitive data.
Tuncay et al. [21] have addressed the problem of user recruitment and data collection in a unified way in crowdsensing and presented a new framework for distributed opportunistic sensing. They validate their framework with several data routing approaches of fault-tolerant networks and provide a comprehensive performance analysis with systematic comparative analysis. But again, it is assumed that the error is tolerable, so it will not work for time-sensitive data. Hou et al. [22] have used fog computing to empower crowdsensing. In this solution, fog nodes act as base stations and transfer data and tasks through device-to-device communications. They randomly analyze the area coverage metric in their proposed solution to achieve the sensing quality. They introduce a time allocation algorithm to achieve maximum coverage in crowdsensing applications with time constraints. However, data transmission in this solution is done using the epidemic routing protocol, and this increases data redundancy.
Wang et al. [23] have presented a solution for collecting crowdsensing data to identify and collect reliable data. They measure data reliability on the client side by formulating data collection as a probability problem. Users’ sensed data are transferred to neighbors to measure reliability through device-to-device communications, and the server collects high-reliability data based on the results received from neighbors. The amount of uploaded data is reduced by data filtering on the client side. But this solution cannot be developed on a large scale because the increase in the number of users makes the operation of data transmission to neighbors and reliability measurement time-consuming. Therefore, the data delivery rate decreases.
2.2. Incentive Mechanisms
Although the previously introduced mechanisms in this section can provide an alternative solution for data transmission to publishers, most of these solutions assume users’ cooperation in the opportunistic network. However, users’ participation in a crowdsensing network is voluntary, and this issue reduces the success of these solutions in the crowdsensing environment. For this reason, studies have considered providing incentive mechanisms for this purpose.
Some studies have incentivized single-hop communications outside the cellular network to reduce costs. In these methods, if the destination of the information directly meets the user, it can receive the data or use, at most, a fixed number of intermediate nodes. For example, Wang et al. [24] have used two price plans to encourage and employ users: one fixed and one user performance dependent. They engage users with the highest probability of meeting the destination by providing a semi-Markov model to reduce costs. But this model also directly transfers data to the destination or through only one intermediate node and has not considered the issue of device-to-device data transmission between users. Wang et al. [25] also similarly used these two price plans. But this time, the focus has been on the user’s movement pattern. Again, the issue of device-to-device data transmission to speed up the transfer of information has not been considered.
Xiao et al. [26] have addressed the problem of assigning time-sensitive tasks that users in a limited time must perform. They have considered two assumptions of users performing tasks individually or in groups. But the assumption of single-hop transmission still exists. But in this method, the probability of the nodes meeting in a wide area is low, and the delivery rate in this solution is low. Matsuda et al. [27] have proposed an incentive mechanism for data collection and transmission. Device-to-device communication is used to speed up data transfer. The goal is to receive data with the highest quality but lowest reward using an incentive mechanism. To achieve this goal, they introduce a reverse auction mechanism in which the user who requests the most insufficient reward from the publisher as a bidder will win the auction. However, in this method, data transmission is done as a single-hop, and as a result, the data delivery rate is low.
Other studies have been devoted to providing incentive mechanisms using multihop communications in which users deliver information to the destination by relaying information to each other. For example, Wang et al. [28] proposed a method to transfer the data directly or by relaying it between users. They have also considered an incentive mechanism for users to forward data. But they assume that the delay is tolerable. Accordingly, the transfer of time-sensitive data is not suitable with this method.
Mota et al. [29] have directly addressed the issue of data transmission through device-to-device communications. They have provided incentives for data relaying to reach the destination. But their focus has not been solely on these communications, and they have considered cellular networks and device-to-device communications simultaneously. They calculate the three characteristics of the number of neighboring nodes, battery life, and link quality for each user. Accordingly, they decide whether the user’s data will be transferred through the infrastructure network or device-to-device communications. But again, these studies are aimed at reducing users’ costs in sending data with device-to-device communications alongside cellular networks. However, increasing the data delivery rate with these communications has not been considered.
This article considers the incentive mechanism for transferring information using device-to-device communications to several publishers to improve the transfer rate and reduce the overhead in mobile crowdsensing environments.
3. Scenario
First, the information transmission process is described with a scenario. Figure 2 depicts this possible scenario. In this scenario, the steps are numbered for easy following. In step 1, user C collects data. It is assumed that this user has the necessary incentives from publishers to collect data. In steps 2 to 4, user T2 receives data from the user C at the first meeting and transfers the data to the interested publisher while moving in the area. In step 4, the publisher presents a cheque to user T1 for a reward from user C1. In step 5, user T1 exchanges the cheque with user T6 in exchange for receiving an amount. Finally, user T6 meets user C1. The user T6 presents the cheque and receives its payment in steps 6 and 7. In fact, during these steps, user C1 managed to transfer the data to the interested publisher through other users and paid the reward for this work. Further steps are performed simultaneously.

Before dealing with the details of the proposed method, some basic definitions and symbols are introduced. The list of symbols is shown in Table 1.
3.1. Data Type
The type of data that publishers are interested in collecting. For example, data related to accidents, traffic conditions, weather conditions, and other news can each be one type of data. The data type is displayed with .
3.2. Data Type Collector
A data type collector is a user who has generated data corresponding to a data type, for example, traffic. A user can collect various kinds of data. Other users can simultaneously manage the same type of data.
3.3. Publisher Interested in a Data Type
Publisher interested in collecting a data type. A publisher can be interested in several data types. Several publishers can be interested in the same data type.
3.4. Collector Reward for a Data Type Delivery
It is a reward that a data type collector pays to other users if they deliver his data to interested publishers.
3.5. Close Connection
The close connection of user with data type indicates how often user directly or indirectly connects with publishers interested in data type . The probability of a close connection of a user depends on the user’s mobility. This probability indicates how often the user delivers a data type to interested publishers. This probability is calculated based on the user’s direct and indirect close connections with other users or publishers in the network.
Direct connection for user and data type is how often user directly meets a publisher interested in data type . Similarly, indirect communication indicates how often user delivers data type indirectly to interested publishers through other users. An exponentially weighted moving average is used to calculate correlations. In this way, the closer the time of connection with interested publishers to the end of the period, the heavier weight this connection plays in calculating the average. In many works, this average has been used to estimate and update the connections of nodes [30].
determines the direct close connection probability of user for data type , which has an initial value of zero. This function is updated every time the user connects with the publisher. Here, it is assumed that this probability decreases linearly if the user does not correlate with any publisher in a time interval Δ specified by a timer. This function is shown in Equation (1), where is a constant between zero and one that maintains a comparative history of the user’s connection history.
determines the indirect connection of user for data type . This function is updated by Equation (2). is a constant used to maintain the history, and is the direct connection of user with publishers interested in data type that user connects with.
But the users can check the direct connections of other users and exchange their data with users who are likely to encounter interested publishers. In this case, indirect connections help to deliver data and get rewards. Therefore, some users do not have direct contact with publishers and can indirectly provide the data. Equation (3) calculates the probability of a close connection with a publisher using direct and indirect close connections. In this equation, represents the total connections of user for type , and and represent the direct and indirect connections of user for type , respectively.
4. Proposed Method
In this section, the proposed incentive mechanism to encourage users to cooperate with the data transmission model of the former section is described in more detail. In this data transmission model, the collector users are willing to get help from other users and pay them rewards to deliver their data to interested publishers. Therefore, the user who provides data to the publisher can receive a reward from the user who collects that data. On the one hand, the collectors can find out which user has contributed to the data delivery. On the other hand, how the collector pays the reward to the deliverer is another challenge that needs to be addressed.
In this mechanism, users collect their sensing data and send it to interested publishers. These users can cooperate or only consider their interests. If users cooperate, they transfer data voluntarily. But if users seek their interests, they transmit data arbitrarily to avoid wasting their resources for others. If all the users in the network are selfish, the efficiency of the network will decrease. In this mechanism, selfish and rational users are considered to transfer data considering their interests and only if they benefit from it. A credit-based incentive mechanism is proposed to encourage users to cooperate. In this mechanism, since users are constantly moving and cannot access each other permanently, credit is given only to the final deliverer. Usually, several publishers are interested in receiving the same type of data, so one data can be delivered to more than one publisher.
The collector user also creates a cheque for his collected data. The publishers sign these cheques after delivering the data. After that, users can exchange these signed cheques with each other and exchange data. But since users are all selfish, a user always seeks to maximize his benefits. Here, game theory and the Nash equilibrium point can be used to determine the best data and cheque for exchange. In the Nash equilibrium point, the users are at the best response to each other and maximize their interests. Therefore, they have no incentive to deviate from their strategy and choice. For example, when a user receives a copy of data from another user, it adds to his potential credit. But the user can create a competitor and reduce his potential profit by giving a copy of this data.
To prevent such a problem, users should exchange one of their data or cheques with another user when requesting data or a signed cheque from a user. Each user has conflicting interests when exchanging data, and the final agreement should benefit both users. This data exchange process is similar to a two-player cooperative game [31], and the performance of each user can be modeled from a game theory perspective. Therefore, we model user communication as a two-player cooperative game and derive the optimal solution using game theory.
4.1. Definitions
4.1.1. Value of Data
A cheque is also generated along with it for every collected data. This cheque is assigned a unique, unchangeable identifier and a value. The cheque value for data , denoted by , is the credit that the collector user of pays the final deliverer for delivering his data to the publishers. The price is determined by the user who collects the data. The higher the price, the stronger the incentive. As a result, faster data transfer is expected in the network. The publisher will sign a reward cheque when a copy of the data is transferred to him. Users can convert this cheque into a credit or receivable incentive only when the recipient publisher signs it.
4.1.2. Maximum Data Delivery
Maximum data delivery of data , represented by , determines the maximum number of publishers that are supposed to deliver data. In other words, the maximum data delivery indicates the number of publishers interested in receiving that data. shows how much credit the collector should consider for the data . is initialized by the user who collected the data and is equal to an estimate of the number of publishers interested in data that are available on the network. The data collector user can obtain and update this estimate using the counting algorithm [32].
4.1.3. Data and Cheque Assessment
When two users meet, each seeks to maximize their benefits by exchanging data or cheques. For this purpose, users must be able to estimate the value of data or cheques. The data value depends on two factors. The first factor is related to the probability of the user encountering interested publishers. The higher the probability, the more valuable the data. This factor depends on the user and differs for each user because each user moves on a different path. As a result, the probability of each user meeting a publisher differs from the probability of meeting other users. The second factor is related to maximum delivery. The larger this number is, the more likely it is to deliver the data to more interested publishers. In other words, the more likely it is to receive rewards. This factor depends on the data itself because the maximum delivery value is specified for the data. The user that currently owns the data makes no difference to the maximum delivery of that data. The value of a signed cheque is similarly assessed based on the likelihood that it will meet the collector and be credited.
Based on this, two parameters, the virtual data reward and the virtual cheque reward, are defined to estimate the data value or the cheque value.
(1) Virtual Data Reward. Due to the complexity of updating the maximum delivery of data, users create virtual data for all data up to to facilitate determining the value of data and exchanging it. All these virtual data are linked to the same data content, price, cheque, type, and time-to-live (TTL) as the data . But the maximum delivery value for each virtual data is set to one. For example, if virtual data , which is one of the virtual data of , is considered, then the value of is the same as the data value . Thus, , but the maximum delivery of is different from the maximum delivery of and is set to one. Thus, . Equation (4) represents the potential value of virtual data and the virtual data reward, denoted by , which specifies how much credit user can earn by exchanging virtual data .
In this equation, is the cheque value related to data , and represents the close connections of user with publishers interested in data type .
(2) Virtual Cheque Reward. The virtual cheque reward determines a cheque’s value. This reward or the value of signed cheque for user u, denoted by , is calculated by
In this equation, represents the data value related to cheque . also represents the close connections to the user. In other words, it shows the probability of user meeting with the generator of cheque . The method of calculating close connections to the user is similar to Equations (1)–(3) for calculating close connections to the publisher. But instead of considering the data type, the connections are calculated for each user separately.
The total value of all cheques of user is calculated as , where is the set of signed cheques of user .
4.1.4. Personal Profit
Suppose user meets another user and data is exchanged between them. and are the data set of user before and after the exchange, respectively. Similarly, and represent the set of cheques before and after the exchange, respectively. The personal benefit that user obtains from data exchange is denoted by and is calculated as follows.
It should be considered that a user is moving in the environment and frequently exchanging data with users. In this situation, a user’s data queue is likely full. In other words, since user seeks to obtain the highest amount of utility, receiving new data means replacing it with the data that has the lowest value. The loss of such data is considered in the benefit calculation; this data is not considered in the set of in Equation (6).
Similarly, the personal benefit of the user from the exchange of cheques that is represented by is calculated as follows.
4.1.5. Payoff Function
Due to the selfishness of users, each user intends to maximize their benefit in case of data exchange. In this regard, the following payoff function is used, where represents the payoff function of user to make the best decision regarding data exchange. and are a set of data before and after data exchange, respectively.
4.2. Incentive Mechanism
The proposed incentive scheme is described in 5 steps based on the proposed data transmission model. First, it is assumed that each data is sent with descriptive data. For example, data of user includes data type (), sequence number, value (), and maximum delivery (). List represents this set of descriptive data for data of user , and list represents close connections of user .
4.2.1. Step 1
In the first step, each user alternately performs neighbor discovery. For this purpose, when user meets the neighbor user or publisher who is close to him, user sends and lists to neighbor , and at the same time, neighbor also sends his and lists to user . First, user updates his close connections with publishers and also his close connections with other users according to list and Equations (1)–(3). Based on the lists obtained from neighbor , it updates its information about data in and cheques in . This action leads to the formation of a data exchange candidate list named where and a cheque exchange candidate list named where . These two lists represent data or cheques available in node but not in node . The list of and is sorted in descending order based on the virtual reward of data and the virtual reward of cheque, respectively. Similarly, neighbor updates its close connections and makes its exchange candidate lists of data and cheques. If more than two neighbors meet simultaneously, a neighbor not connected to another node is randomly selected to communicate.
4.2.2. Step 2
If is a publisher and is interested in some data type in the list , it requests data from its neighbor . After receiving it, publisher signs and delivers a copy of the cheque to user . User still keeps a copy of the data. As soon as user receives the signed cheque, it deducts from the maximum delivery of that data. In other words, .
4.2.3. Step 3
User checks the list of candidates for the exchange of cheques , and if there is a cheque with his name on this list, he must pay for it. For this purpose, he must increase the user ’s credit equal to that cheque’s data value. After receiving credit, user removes those cheques from .
4.2.4. Step 4
Users and select the data and cheques that should be exchanged and bargain over the selection. This step can be viewed as a two-player cooperative game. It uses a heuristic approach to find the optimal solution. This cooperative game model is described in the next section. But this approach leads to producing two final candidate lists for data exchange and two final candidate lists for cheque exchange. Suppose the data of user and the cheque of user are represented by , respectively. The amount of data in the two lists and for user and , respectively, which contain the descriptive data selected, is the same. In other words, . Similarly, the number of cheques from two users and is also the same.
4.2.5. Step 5
Finally, two users and exchange the selected data in and as well as the selected cheques in the two lists and .
In this proposed method, it is assumed that virtual data is exchanged separately. However, in an actual scenario, virtual data should be integrated into data. For example, user keeps data with a maximum delivery . The two-player cooperative game recommends transferring number of virtual data from user to user . In practice, user makes two copies of data . Then, it keeps one copy and updates its maximum delivery to and transfers the other copy to user with maximum delivery .
4.3. Game Theory Model
The interaction between two users can be modeled as a two-player cooperative game, assuming that users behave rationally. In this game, both people are selfish and act rationally. It means that every player seeks to maximize their profit and has the necessary resources and ability to make the right decisions. Selfish behavior causes each person to have different goals. Whether the cooperation benefits or harms the players, it can promote or hinder cooperation. In this study, the purpose of a selfish user is to maximize the payoff function given in Equation (8).
A user can improve his payoff function by obtaining new data. But this will increase data redundancy in the network. As a result, the payoff function of another user will decrease. The two-player cooperative game allows users to agree despite their conflicting interests. This issue contrasts with a noncooperative game, which prohibits forming agreements between players. In this game, the selfishness of the players ensures that an agreement is reached if it benefits both players. The optimal arrangement for the two-player cooperative game is given by maximizing the following product [31].
In Equation (9), means the points or elements in this function’s domain where the function’s value is maximum. The pair indicates the status quo point or reference point on the function, which is set to , and any change from that point is perceived as a loss or gain. and are the payoff benefits of users and , respectively, which must be a positive number to achieve a feasible solution. or is determined by the exchanged data set, as shown in Equation (8). The optimal solution eventually generates a collection of data to be exchanged by users and .
The optimal solution defined above is a general solution. But it should be kept in mind that in a crowdsensing network, each user may be carrying a large amount of data, and as a result, checking all possible combinations of data and achieving the maximum payoff for both nodes, i.e., and , among all possible solutions can take exponential time. A simple heuristic approach is used to solve this problem so that only one data pair is considered at each moment. For each couple of data, for example, and , the product corresponding to only that data pair is calculated under the assumption that the data and have been exchanged between users and . Finally, the data pair that leads to the maximum Nash product is selected for exchange. The time complexity will be equal to . This process is repeated until user and lose their connection to each other or when or is empty, or there is no optimal solution for Equation (9).
4.4. Distributed Online Auction Algorithm
4.4.1. Motivation
A cheque is not real credit and cannot be used directly to pay for delivered rewards. The deliverer must meet directly with the collector user to convert his signed cheque into credit. Also, although cheque exchange helps to convert it into credit faster, there is a possibility that some users will starve and not receive credit. In contrast, many credits are allocated to limited number of users who become wealthy. Suppose a starving user meets a wealthy user. In that case, the wealthy user can use his credit to buy cheques from the starving user, thereby improving the circulation of credit in the network. In addition, this process helps both users. First, the starving user seeks to gain credit to start transmitting his data or to reward other users for transferring his data.
For this reason, the starving user is willing to sell his cheques even at a lower price than the expected value to receive credit. On the other hand, the wealthy user tends to buy cheques because he may be able to convert the cheques into credit and make a profit if he meets the collector user. In this way, both users will benefit from exchanging cheques. Next, an auction model is used to maximize the buyer’s profit.
4.4.2. Basics
An online auction is a type of auction through computer networks in which the price of goods and services is specified to bidders at the end of a period. Bidders must bid at a price that cannot be canceled without knowing the final price, and the highest bid will be chosen as the winner. Robust tools for optimal stopping theory, especially the secretariat problem [33], can be used to analyze such an online scenario. In the secretary problem, applicants compete for only one secretarial position. The interviewer seeks to select and hire the best candidate among the applicants. The following assumptions exist for the main form of this problem: (1)Each applicant is given a random interview(2)Applicants are ranked from best to worst(3)Decision-making at each stage is based on the ranking of previously rejected applicants(4)Accepting or rejecting an application must be made immediately following the applicant’s interview
The best applicant should be chosen. The solution to this issue is to select the next applicant who is superior to the applicants who have already been interviewed after waiting until about 37% of the applicants have been questioned. The likelihood of correctly identifying the top applications is approximately 37%.
4.4.3. Algorithm
The online auction process is aimed at ensuring that both the bidder and the vendor are happy. In this case, one user as a bidder and one as a vendor enter the auction mechanism. The bidder calculates his profit based on the potential profit from the cheque purchase. He always bids less than his expected reward so that his profit is positive if he wins the auction. The vendor also takes the bidder’s offer and decides whether to accept or reject that offer.
The vendor meets with bidders one after the other and thus does not know about future offers from other bidders. For example, the vendor meets bidder at a time Bidder offers two credits for a cheque, and the vendor accepts this offer and sells the cheque for two credits. But at time , bidder may offer five credits for the same cheque. In this case, the vendor has been unable to find the best bidder for the cheque and has lost his chance to maximize his profit. Therefore, since deciding to choose a bidder and sell a cheque is irrevocable, selecting the best bidder for the cheque sale is necessary. As can be seen, the bidder selection problem corresponds to the secretary problem with an unspecified number of candidates. As a result, each cheque can be considered a secretary position and seeks to select the best cheque bidder among all bidders.
The online auction process is designed based on the mechanism introduced in [33], represented by Algorithm 1. This algorithm solves the secretarial problem by assuming an unknown number of applicants. The objective is to maximize the probability of selecting the best offer from all bidders. A bidder must be chosen from among the unknown number of rankable bidders during the time interval . The goal is to maximize the likelihood of choosing the best bidder, and assuming the probability of arriving bidders with different ranks is the same. All bidders are supposed to have an independent arrival time density on the interval . represents the corresponding arrival time distribution function in
If is considered as (corresponding to the secretary problem), based on this mechanism, the user waits until and observes all bidders. Then, if possible, the first candidate is selected. This candidate is better than all previous bidders after time . When the cheque is added to the queue of cheques, two variables highestPrice and lowestPrice are considered for it. These two variables show the vendor’s highest and lowest expected prices.
|
5. Performance Evaluation
This section presents the proposed incentive mechanism’s efficiency and the simulation results.
5.1. Simulation
The proposed incentive mechanism is implemented using the ONE v.1.5.1-RC2 simulator, which is used as one of the opportunistic network simulators. The simulation is run with 16 GB of memory and one processor with eight cores. The proposed incentive mechanism is evaluated via extensive simulations based on real traces named DieselNet [34].
The proposed incentive scheme is compared with pairwise tit-for-tat (TFT) [35] and the Plankton scheme [36]. Pairwise TFT is a mechanism by which a node forwards as much traffic to its neighbors as it forwards its neighbors. Plankton is a routing algorithm where existing nodes are selfish and do not participate in data transmission. Therefore, in this mechanism, users do not transfer the data at the network level to reach publishers. Users can only deliver their collected data to publishers if they directly meet the publishers interested in their data.
Table 2 shows the simulation parameters. Based on the analytical model, the number of publishers, types of interest, number of users, data queue size, data collection rate; the number of publisher’s interests; the coefficient of keeping the history of user’s direct communication (); and the coefficient of keeping the history of user communication with publishers (ß), initial credits per user, and cheque value are the modifiable parameters of the model that are investigated in the simulation. This issue shows the minimum conditions that must be met in the real world to benefit from the proposed model.
In addition, due to the small size of each cheque, it is assumed that users can keep an unlimited number of signed cheques. By default, the TTL is set to infinity for each data. In the online auction mechanism, upperPrice is set to the expected reward of the cheque, and lowerPrice is set to 80% of the expected reward. Each cheque’s suggested price is 70% of the bidder’s expected reward.
The objective is to send data to the publishers with minimal latency and traffic overhead. For this reason, in the performed simulation, metrics of data delivery rate across the network, average delivery delay, data transmission overhead, and credit distribution in the network have been considered. The data delivery rate is an average ratio of each publisher’s received data of interest to the total data collected by users. The average delivery delay determines how long data can reach an interested publisher. Data transmission overhead is a cost factor defined as the number of copies of data in the network. Less overhead means less transmission traffic on the network. Credit distribution in the network shows the degree of cooperation between users. The more credit a user has, the more cooperative they are.
5.2. Performance Comparison
Table 3 measures the overall performance of different methods relative to each other. According to the table, the data delivery rate of the proposed method is higher than that of the other method. This high rate is due to encouraging users to transfer data to others who can potentially deliver that data and receive rewards. This reward leads to more efficient data transfer in the network. In the Plankton scheme, users do not cooperate, resulting in a lower delivery rate. Adding the cheque auction to the proposed incentive mechanism has improved the data delivery rate. The auction process gives users more chances to cash their cheques and receive a credit to pay rewards for data delivery and transfer more data.
It can be seen that the proposed scheme has a more effective delivery rate than the other methods. The delivery rate improvement comes from looking at the data value to estimate the probability of data delivery and choose the best path for its transmission. As a result, the data is delivered in less time. The proposed method also has little traffic overhead because the collector user only makes copies of his data as many interested publishers and gives them to users.
As it turns out, the Plankton scheme has a longer average delay because the data is delivered directly from the collector to the publisher. Also, due to the direct data transfer in the Plankton method, there is only one copy of each data in the network. As a result, the overhead is always equal to 1.
At the beginning of users’ activity in the network, credit is provided to the users through which they can disseminate data in the network. The more credit a user has, the more data they can publish. The smoother distribution of credit and the receipt of cheques resulting from data delivery in the network leads to less likely starvation. Figure 3 shows the distribution of available credits at the end of the simulation for the proposed method. Most users have some data circulating in the network and have set aside some credit to pay the deliverers. The results show the users’ remaining credits after deducting this reserved credit. In this regard, the results show that, without using the auction process, nearly 20% of users face a credit of less than 10, which makes them unable to publish new data. In other words, they are probably starving.

Meanwhile, few users have more than 100 credits. On the other hand, the results show that the auction process has helped users to have a good balance in data collection and credit consumption. In other words, they can publish their data continuously.
Figure 4 shows the analysis of failed transfers due to lack of credit. The results show that the average number of failed transfers is less than 30. The auction process has reduced the average number of failed transfers to 7. It has helped more than 90% of users reduce their failed transfers. Also, about 10% of users have no failed transfers. These results show that the proposed two-player cooperative game creates a win-win situation for users and earns more profit for them. In other words, the proposed method avoids the one-sided benefit that causes starvation. The nonauction mechanism leads to a lack of credit for some users due to fewer opportunities for cooperation. As a result, unsuccessful transfers increase in some users.

The effect of cheque value on data delivery delay is shown in Figure 5. In this simulation, the cheque value of all users has been kept constant at 1 unit. Besides, one user’s cheque value has gradually increased from 1 to 7. As a result, the average data delivery delay decreases as the cheque value increases. A higher price means a user gets more rewards if successfully delivering that data. This reward makes users more encouraged to cooperate.

Figures 6–14 show performance trends by changing parameters such as TTL, traffic load, and queue size. As shown in Figure 6, as the queue size increases, the delivery rate of all mechanisms slightly increases because users can hold more data for a longer time with a long queue. But at the same time, Figure 7 shows that a longer queue increases the traffic overhead because more duplicate data is stored and transmitted. Besides, as shown in Figure 8, a longer queue causes some data to stay in the network longer than others to reach the publishers, which increases the average network delay. Users also carry data with a lower delivery probability; a longer queue increases the delivery probability. Figures 6–8 show that the effect of increasing the queue size on the two methods of incentive mechanism without auction and with the auction is partial. Because in the proposed incentive plan, traffic is carried out based on the personal benefit of each user and to maximize the reward.









The efficiency of the proposed methods was also evaluated under different traffic loads. For this purpose, the data collection rate started from one data every 30 minutes and increased to one every 5 minutes. The results are shown in Figure 9. The results show that with the increase in traffic load and more traffic entering the network, the delivery rate has decreased in all methods. This issue arises because the queue size of users is limited, and users are forced to drop their previous data when the queue is filled. The proposed method removes data with a lower value and delivery probability from the queue.
Interestingly, as seen in Figure 10, the average network delay decreases as more data is collected. There is a lower delay because users are encouraged to share data with others who might deliver it and receive rewards. Therefore, this reward makes the network’s data transfer more effective. According to Figure 11, the traffic overhead is reduced due to the arrival of new data into the users’ data queue. As a result, the older data is removed from the queue.
In the previous simulations, TTL was assumed to be infinite. The TTL is changed from 1 to 7 hours to evaluate the effect on the delivery rate, average delay, and transmission overhead. As shown in Figure 12, the proposed methods can transfer more data to publishers with increased TTL. Also, Figure 13 shows that the average delay becomes stable after raising the TTL to 4 hours in the proposed methods. While in the Plankton method, with the increase of TTL, the average delay continues to grow with a significant slope. This result means most data can be delivered within 4 hours in the proposed methods. However, the Plankton method must keep the data in the user queue longer. Figure 14 shows the traffic overhead. The overhead of these methods increases with the increase of TTL. This rise in TTL allows the data to stay longer in the network and have a better chance of being exchanged and replicated. This more prolonged presence also creates more overhead.
6. Conclusion
This research proposed an incentive mechanism to encourage users to cooperate in transmitting collected data in crowdsensing networks based on device-to-device communications. In this incentive mechanism, collector users exchange data with other users and transfer them to the network to deliver the data to interested publishers. The data exchange between users was modeled as a two-person cooperative game. The solution to this game was obtained with a heuristic approach. Collector users are willing to pay credits to users who have cooperated in transmitting their data. Each data was assigned a cheque for the collector users to pay credit to deliveries. An online auction algorithm for cheques was also introduced to accelerate the circulation of credits in the network. Finally, a simulation was done to evaluate and compare the proposed scheme’s performance. The results declare that the incentive mechanism improved the delivery rate and reduced the average delay. Also, the proposed plan has low and stable traffic overhead.
Data Availability
The data is available at CRAWDAD Dataset UMass/Diesel (v. 2008-09-14) (online) (available: https://ieee-dataport.org/open-access/crawdad-umassdiesel-v-2008-09-14).
Disclosure
This work was part of the master’s thesis [14] at Shiraz University of Technology.
Conflicts of Interest
The authors declare no conflict of interest.