Auction-Based Cloud Service Pricing and Penalty with Availability on Demand

Availability is one of the main concerns of cloud users, and cloud providers always try to provide higher availability to improve user satisfaction. However, higher availability results in higher provider costs and lower social welfare. In this paper, taking into account both the users’ valuation and desired availability, we design resource allocation, pricing and penalty mechanisms with availability on demand. Considering two scenarios: public availability in which the desired availabilities of all users are public information, and private availability in which the desired availabilities are private information of users, and, analyzing the possible behaviours of users, we design a truthful deterministic mechanism with 2-approximation in public availability scenario and a universal truthful mechanism with 1 1+γ approximation in private availability scenario, where γ is the backup ratio of resources with the highest availability. The experiment results show that our mechanisms significantly improve the social welfare compared to the mechanism without considering availability demand of users.


Introduction
Quality of service is a significant factor affecting the service selection of cloud users, which has attracted the attention of many researchers [1][2][3].As a crucial metric for quality of service, availability is the most discussed attribute, which is included in almost all cloud service level agreements (SLAs).According to Pan et al. [4], above about 70 percent of user/provider SLA included availability concerns.Thus, many research works focused on improving the availability by various optimization approaches [5][6][7][8].To improve the user satisfaction, the infrastructure as a service (IaaS) cloud provider provides higher and higher availability for their users, and provides a penalty when the SLA is violated.Figure 1 shows the penalty named service credit in different clouds [9][10][11], which is a percentage of the corresponding price.
However, in terms of the types of applications, users might have different availability demands.For instance, a non-critical web hosting service always has a lower availability demand than a mission-critical banking service.According to the discussion in literature [12], all high availability techniques increase administrative costs and resource needs.Therefore, existing solutions in the cloud center, which try to provide higher and higher availability without considering different availability demand, will result in higher provider costs and consume more resources.Especially in the scenario of insufficient resources, it will make more users lose service.Thus, the social welfare, which is the sum of users' valuation, will decrease.Figure 2a shows the resource allocation for the service requests with fixed availability and price.To overcome the shortcomings above, some researchers have noticed the importance of resources allocation according to users' demands on availability.Shen et al. [13] proposed a mechanism named availability on demand (AoD), which allows data center users to specify dynamically availability requirements, and dynamically manages computing resources using an availability-aware scheduler based on user-specified requirements.Shahrad et al. [14] proposed the Availability Knob (AK), which provides user-defined availability in IaaS clouds, allowing the IaaS cloud user to express their desire for availability to the cloud provider.This approach can reduce provider costs, increase provider profit, and improve user satisfaction when compared to that without considering different availability demands.In the system of user-selected availability, the penalty mechanism is another important ingredient that affects the users' service selection.The negotiations on availability generally include the penalty, which should be paid by the cloud provider if the cloud cannot meet the requested availability.Yuan et al. [15] proposed a competitive penalty model and a corresponding penalty based profit maximization algorithm for cloud providers.In [14], considering service credit as a penalty to the user when her requested availability cannot be met, the authors proposed the pricing strategy based on game theory.However, the studies above did not consider the valuation of services to users, resulting in low social welfare.Taking the service valuation to users into account, auctions have been applied widely [16][17][18][19][20][21].Mashayekhy et al. [16] proposed mechanisms consisting of a winner determination algorithm that selects the users, and provisions the virtual machines (VMs) to physical machines; Zhang et al. [21] considered a flexible pricing model for instance reservation.However, most of those works investigate the allocation of resources without worrying about the availability demands of users.
In this paper, taking both the users' valuation and desired availability into account, we investigate resource allocation, pricing and penalty mechanism to maximize the social welfare based on the works in [13,14,16].Figure 2b shows a cloud scheduler that allocates resources according to different availability demands and valuation of users with different prices.We allow each user to request the desired availability and report the valuation that she is willing to pay for the service with requested availability.As shown in Figure 2, user 1 would like to pay $5 to the service with 99.9% availability.In our work, we consider two scenarios: (1) the desired availabilities of all users are public information of users (public availability); and (2) the desired availabilities are private information of users (private availability).Then, by analyzing the possible behaviours of users, we design a truthful deterministic mechanism in a public availability scenario and a universal truthful mechanism in a private availability scenario for resource allocation, pricing and penalty.
The rest of the paper is organized as follows.Section 2 introduces the problem model.In Section 3, we design a truthful deterministic mechanism in a public availability scenario and a universal truthful mechanism in a private availability scenario.In Section 4, we compare the proposed mechanisms to optimal resource allocation and an allocation mechanism without considering the availability demand.Finally, Section 5 concludes our work in this paper.

Availability on Demand and Service Credit
Availability of an application can be measured as the fraction of its uptime in a specified period of time, which can be expressed by Availability = service uptime service uptime + service downtime , where service uptime is the duration during which the system delivers the given service, while service downtime is the period during which the service is not delivered [22].Providers always adopt different fault tolerance schemes to realize different availabilities of a given application.In [23], it shows that most of the cloud providers use redundancy models with 1-active and 1-standby, 1-active and X-standby, and X-active assignments.We denote the set of all availability options by A, A = {A 1 , A 2 , ..., A L }, where A 1 is the lowest option, and A L is the highest availability.Each Availability option A l corresponds to a backup ratio of virtual machine On the other side, SLA templates are always provided by cloud providers in most clouds.When a user agrees to purchase a service, it also implies that she has signed the service level agreement with the provider.When the cloud services cannot meet availability commitment of the SLA, providers would pay back service credits to make up for their violation, which is also included in the SLA.Service credit is calculated in different manners.Figure 1 shows the service credit functions of Amazon EC2, Google GCE, and Microsoft Azure.Of course, cloud providers can use other penalty schemes such as linear function, arbitrary function, etc.These penalty mechanism only applies to the scenarios with fixed availability provisioning.
In our work, we assume that the provider only provisions one type of virtual machine.The resource (virtual machine) number needed by the user i is n i .To simplify, we call it resource demand n i .Each user can select an availability from set A according to the service demand.We assume that the total resource number occupied by each user i denoted by n i (1 + ϕ(a i )) is no more than total capacity of the cloud.The definition of desired availability is as follows: Definition 1 (Desired Availability).Given the resource demand n i , a i is desired availability of user i if ∀a < a i , V i (n i , a) = 0 and ∀a ≥ a i , V i (n i , a) = v i , where V i (•) is the valuation function of user i, v i is a constant.
Our resource allocation for service requests with desired availability is named as Allocation with Availability on Demand.Then, we denote SC k A i (A j ) as the absolute service credit for service k, where A i , A j are the requested availability and delivered availability, respectively.It implies that, when the requested availability is A i , the provider needs to pay back service credit

Description of the Problem
Let N denote a set of cloud users who want to request services.The type of user i can be expressed by (n i , a i , v i ), where a i ∈ A is the desired availability, n i is the resource demand and v i is the service valuation to user i.In our work, we assume that all the bidders are single-minded,the definition of which is as follows: Definition 2 (Single-minded).A valuation function V is called single-minded if there exists a number of items n * , an availability a * and a value v * ∈ R + such that V(n, a) = v * for all n ≥ n * and a ≥ a * and V(n, a) = 0 for all other (n, a).A single-minded bid is the pair (n * , a * , v * ).
In this paper, we design resource auction mechanisms for the cloud center, and the objective is to maximize the sum of users' valuation, which is the social welfare.The formalization problem can be expressed as follows: where C is the total capacity in cloud, x i is the allocation outcome for user i. x i = 1 if user i is allocated; otherwise, x i = 0. Now, the critical work is to obtain a mechanism including resource allocation, pricing and penalty.To achieve the objective in problem (1), the mechanism should be truthful so that it can incentivize all users to bid their true type.
Let b i be the true type of user i, b −i the true type of other users.Let bid bi be the report type of user i, b−i the report type of other users.The utility function of i is denoted by u i (•).The definition of truthfulness of an auction mechanism is as follows: Definition 3 (Truthful).An auction mechanism is truthful if bidding true type maximizes the utility of any user i irrespective of the bid of other users.Formally, ∀ bi , b−i , Intuitively, it means that user i whose type is b i would prefer "telling the truth" b i to the mechanism rather than any possible "lie" bi , since this gives her higher utility.
In the next section, we will design truthful mechanisms under two scenarios: public availability in which the desired availabilities of all users are public information, and private availability in which the desired availabilities are private information of users.

Public Availability
In this subsection, we consider the setting that the desired availability of each user is public information to the auctioneer, and the valuation function is single-minded.Then, b i = (n i , v i ), it becomes a two parameter mechanism design problem.The problem is very similar to the knapsack problem.Our auction mechanism for public availability is presented in Algorithm 1.
10 end 11 Let i 1 , i 2 , ...i k be the users selected to S 2 according to their entry order; Algorithm 1 begins by computing two candidate allocation set.The first candidate allocation set denoted by S 1 is the singleton set that only consists of the user i 1 who has the highest valuation among all the users, and V 1 denotes the valuation of S 1 .The computing process of first candidate allocation set and corresponding valuation is shown in Lines 2-4 of Algorithm 1.The second candidate allocation set S 2 is computed as following steps.First, we select all users whose requested capacity is less than C/2 to set U in Line 5. Let value density of user i be v i n i (1+ϕ(a i )) .Then, we select the cloud users from set U to S 2 based on a greedy approach with respect to the value density of users in Lines 6-10.Lastly, we calculate the total valuation V 2 about the second allocation in Line 12.It is worth noting that V 2 is not the overall valuation from set S 2 , but the maximal sum of valuation allocated in exactly half of the capacity.After computing two candidate allocation sets, in Lines 13-17, we choose an optimal one as a final allocation.According to the maximal valuation between V 1 and V 2 , we select either the user in S 1 or all users in S 2 .In Line 19, according to the Myerson payment rule, we calculate the payment p i for each winner i: where, x i ((n i , a i , u), b −i ) presents the allocation of user i in Algorithm 1 when the bid of user i is (n i , a i , u), and the bid of others is b −i .
To prove the truthfulness of our mechanism in Algorithm 1, firstly we introduce a truthfulness Theorem [24].Proof of Theorem 2. First, we use w i instead of n i (1 + ϕ(a i )) in Algorithm 1, and the bid changes to (w i , v i ).According to the results in [25], the changed algorithm is loser-independent and monotonic with respect to the bid (w i , v i ) of every user.Since w i is monotonic in n i , a i , and a i is public information, Algorithm 1 is also monotonic in n i , v i .The payment du is the minimum value, which can make user i obtain allocation.
According to the Theorem 1, Algorithm 1 is truthful.
Theorem 3. The auction mechanism in Algorithm 1 is 2-approximation.
Proof of Theorem 3. Assume that V opt is the optimal valuation, and S * is the set of allocated users.
Recall that V 1 is the highest bid valuation among all users and V 2 the maximum sum of valuation allocated in half of capacity.Case 1: If S * includes a user i * whose required total capacity Case 2: If all the users in S * require the resource capacity less than half of whole capacity, it follows that max{V 1 , In Algorithm 1, we obtain a truthful 2-approximation mechanism if each desired availability a i is a public information.However, in many scenarios, cloud providers cannot obtain the desired availability of users.It needs the users to tell their availabilities to the mechanism.In that case, a user might make some other strategies to improve her utility.
Studies [26][27][28] have shown, and one of the root causes of failure is software in computer systems.Such possible software failures can affect the availability of the VM, and it is difficult to distinguish software-induced failures from failures caused by hardware [14].Therefore, if the user is unhealthy, to obtain service credit, she can adopt some strategy to reduce the availability of herself.Shahrad et al. [14] consider that a user can either run defective software that reduces the availability from âi to desired availability a i , resulting in some service credit return, or instead run healthy, reliable software and originally request the true desired availability a i .The former users we name unhealthy users, and the latter are healthy users.
In Algorithm 1, when the users are unhealthy, for any nonzero service credit approach, it cannot make each user truthfully report the desired availability a i in any case if a i is private information.For example, in Algorithm 1, if V 1 > V 2 and i * ∈ S 1 , we can obtain a critical payment of i * denoted by p c i * .Obviously, if i * reports its availability âi * > a i * , she still can obtain allocation.Therefore, when there is a service credit, i * will request higher availability and then reduce it to the desired availability by running defective software to get both the service credit and valuation of the service.
To address the above problem, in the next subsection, we will design another pricing and penalty mechanism that can avoid unhealthy users to misreport their desired availability.

Private Availability
In this section, we deal with the setting that users' availabilities are private information.Firstly, the penalty in practice is no more than the payment, which will be followed in our work.In terms of that, we can deduce that each user hopes to obtain the service with the availability not lower than her desired availability.This is because the user obtains the zero valuation if the delivered availability is lower than the desired availability according to the definition of desired availability, and the penalty cannot be larger than the payment.Therefore, if the delivered availability is lower than the desired availability, the user cannot obtain positive utility.
However, since there is a service credit if the availability cannot be satisfied, an unhealthy user might adopt some strategies to improve her utility.As described in [14], an unhealthy user can reduce the availability from requested availability âi ( âi > a i ) to desired availability a i to get service credit SC âi (a i ).Although a cloud provider can use measures to investigate the cause of a downtime incident, it might not be accurate and can increase the work of the cloud.Price and penalty mechanisms can be effective tools to solve the above problem, which make all users truthfully report their true type including resource demand n i , desired availability a i and valuations v i , and run healthy, reliable software.
Let p i (•) be the payment function of user i, and the bid of user i b i = (n i , a i , v i ).First, we can obtain the following theorem.Theorem 4. When a mechanism M is truthful without service credit, it is still truthful with service credit if it satisfies the service credit SC âi (a i ) of each winner being less than p Proof of Theorem 4. Since a mechanism M is truthful without service credit, we can have that: where the utility u i (•) is the difference of the valuation V i (•) and the payment p i (•).Next, we discuss two cases: the user is healthy, and the user is unhealthy.Recall that all users hope to obtain efficient service and cloud providers do their best to meet the availability demand for required service.Therefore, in this paper, we do not consider the cases that the cloud provider cannot meet the requested availability because of her own reasons.
First, if the user is healthy who runs healthy, reliable, software, and the cloud provider provisions the service with requested availability; in this case, there is no violation.Since u(b i , b−i ) ≥ u( bi , b−i ), the mechanism is truthful.
Second, if the user is unhealthy who runs defective software, the requested availability âi will be reduced to desired availability a i even if the cloud provider provisions the service with requested availability âi > a i .Then, the unhealthy user will obtain a service credit SC âi (a i ).The utility of the user is: For any ni , vi and the bid of others b−i , if the service credit SC âi (a i ) is less than p i (( ni , âi , vi ), b−i ) − p i (( ni , a i , vi ), b−i ), for any âi > a i , we have that: utility of user i if she asks for truthful availability and runs healthy, reliable software.It means that the unhealthy users cannot improve the utility by adopting improper strategy for any resource demand ni , valuation vi and the bid of the others b −i .
The theorem is proved.
Our auction is presented in Algorithm 2. Basically, it is a combination of the following two basic auctions:

•
With the probability µ, we run Auction A: Agent i 1 with highest value of v i 1+ϕ(a i ) gets the allocation and needs to pay , where i 2 is the user with second highest value of v i /(1 + ϕ(a i )).Obviously, p i is not higher than the valuation v i 1 .The service credit for i 1 is 1+ϕ(a i 2 ) (ϕ(a i 1 ) − ϕ(A j )), β ≤ 1 if the delivered availability A j is lower than the desired availability a i 1 .

•
With the probability 1 − µ, we run Auction B: according to the value density , we allocate the VMs to the users based on a greedy approach with respect to the value density of users until there is no sufficient capacity, and the payment of each i is is the highest value density with which the user loses the allocation in Auction B. The service credit for user i is SC i a i (A j ) = βρn i (ϕ(a i ) − ϕ(A j )), β ≤ 1 if the delivered availability A j is lower than the desired availability a i .
In this mechanism, β is a penalty coefficient selected by cloud provider.Generally, increasing β can attract more users, but it will raise the penalty cost.How to choose β is another important problem, but it is not involved in our work.To prove the truthfulness of the auction mechanism in Algorithm 2, we first obtain the following two lemmas.

Lemma 1. Auction A is truthful.
Proof of Lemma 1. First, we consider the case without service credit.According to the allocation algorithm of Auction A, given bids of the other users, the user with type (n i , a i , v i ) can win allocation for any n i ≤ n i , a i ≤ a i and v i > v i , if she wins allocation with type (n i , a i , v i ).Let o i = (n i , a i ).Define a partial-order on o i : It satisfies the monotonicity shown in Theorem 1.
Let i 1 be the bidder with the highest value of v i 1+ϕ(a i ) , and i 2 the second highest one.The critical value for winner i 1 is ).According to Theorem 1, it is truthful without service credit.Next, we prove that Auction A satisfies the service credit SC âi (a i ) being less than Assume that the winner i, whose requested availability âi is larger than a i has run defective software that reduced the delivered availability to her desired availability a i .In Line 7 of Algorithm 2, the service credit SC âi (a i ) = According to Theorem 4, Auction A is truthful.
Algorithm 2: Auction for private availability: RandomGreedy.input : User bids: b output : Allocation:X; Payment:P Proof of Lemma 2. First, we still consider the case without service credit.The analysis of monotonicity is similar to that of Auction A. According to the allocation algorithm of Auction B, given bids of the other users, the user with type (n i , a i , v i ) can win allocation for any n i ≤ n i , a i ≤ a i and v i > v i , if she wins allocation with type (n i , a i , v i ).Thus, it satisfies monotonicity.
The payment p i = ρn i (1 + ϕ(a i )) is the critical value which makes i win allocation, where ρ = v k n k (1+ϕ(a k )) is the highest value density among losers.Thus, Auction B is a truthful mechanism if all users are healthy.
Next, we discuss the possible utility of an unhealthy winner.As discussed above, assume that a winner i has reduced the availability from requested availability âi to her desired availability a i ( âi > a i ).
In Line 22 of Algorithm 2, the service credit in such case is , which implies that the price of unit resource when the user requests higher availability âi is not less than that of when she requests her desired availability a i .Then, we have that According to Theorem 4, Auction B is truthful.
Theorem 5.The mechanism in Algorithm 2 is universally truthful.
Proof of Theorem 5.The auction is a probabilistic combination of two auctions.According to Lemmas 1 and 2, since both the auctions are truthful, we can draw the conclusion.
Proof of Theorem 6.In Algorithm 2, i 1 is the user with highest value of v i 1+ϕ(a i ) .Thus, for any i = i 1 , it satisfies γ .In addition, the valuation obtained by Auction B in Algorithm 2 is more than (1 − α) • V opt .The total expected social welfare is at least Substituting µ with γ 1+γ and simplifying, the above expression is We can have that the approximation ratio is at most 1 1+γ .

Experiment Results
In this section, we evaluate the performance including social welfare and service credits of our proposed mechanisms for availability on demand.We compare four mechanisms: (1) Half Greedy Auction with availability on demand; (2) Random Greedy auction with availability on demand; (3) Half Greedy Auction with highest availability; and (4) Optimal allocation with availability on demand.

•
Half Greedy Auction with availability on demand (HalfGreedy AoD) is our proposed deterministic mechanism, which is a truthful mechanism if the availability is public information or all users are healthy.

•
Random Greedy Auction with availability on demand (RandomGreedy AoD) is our proposed nondeterministic mechanism, which is truthful mechanism even if users might be unhealthy.

•
Similar to the mechanism proposed by [16], Half Greedy Auction with highest availability (HalfGreedy HA) is the benchmark allocation without considering user-selection availability.Different from HalfGreedy AoD, this allocation provisions the highest availability for all users.

•
Optimal allocation with availability on demand (OptimalAllocation AoD) is the benchmark allocation mechanism without considering the strategies of users.Since the optimization problem is a well-known NP-hard problem in this scenario, we obtain a relaxed optimal solution by allowing fraction allocation and using a greedy algorithm.
To evaluate the performance in various scenarios, we generate test data with different distributions as shown in Table 1.In Data settings DS1 and DS2, the resource demand n i follows uniform distribution in [1, C/k], and the valuation for unit resource follows uniform distribution in [0,1] in DS1 and Gaussian distribution with expectation µ = 0.5, standard deviation σ = 0.5 in DS2.In Data settings DS3 and DS4, the resource demand n i follows exponential distribution with parameter λ = k • 100/C, and the valuation for unit resource follows uniform distribution in [0,1] in DS3 and Gaussian distribution with expectation µ = 0.5, standard deviation σ = 0.5 in DS4.In the experiments, we select C = 1000, and change the parameter k from 1 to 20.
Assume that each user has a job to be processed in the cloud, and each job consists of multiple tasks.Similar to the description in [13], in our experiments, the users' options of availability can be as follows:

•
No Backup: This option does not use any high availability techniques.

•
Random-k Backup: Under this option, the cloud provider will use the Active/Active (AA) technique to improve the availability of the jobs: for each task, it will have a k% (i.e., 30) probability to add an AA backup task that runs for the entire duration of the job (each task corresponds to a virtual machine).

•
Active/Active Backup : Under this option, the cloud provider will use the Active/Active (AA) backup for the tasks.
Since the objective of our work is to maximize the social welfare (the sum of users' valuation), firstly we compare the social welfare obtained by four approaches under different data settings.The experiment results are shown in Figure 3.The value of the y-axis is the sum of the users' valuation, and the value of the x-axis is the parameter k that changes the distribution of requested number n i shown in Table 1.Each point in the Figure 3  This shows that our proposed mechanisms with availability on demand always obtain higher total valuation than the mechanism with highest availability.Comparing HalfGreedy AoD to RandomGreedy AoD, we can see that the social welfare of the former is better than that of the latter when the k is small.It is worth noting that the maximal resource demand of a single user rises if k rises.With the rising of k, the difference of performances between HalfGreedy AoD and RandomGreedy AoD mechanisms decreases.It implies that RandomGreedy AoD also has a higher social welfare and even exceeds HalfGreedy AoD when there is some user with a larger number of requested resources.
Next, we will compare the possible service credits and increased payment brought by an unhealthy strategy in RandomGreedy AoD.The unhealthy strategy is that user i requests the availability âi and runs defective software to reduce the availability from requested availability âi to desired availability a i ( âi > a i ), resulting in service credit.Firstly, we randomly choose one user who can be served when she truthfully reports the desired availability and valuation.Then, keeping the bids of others unchanged, we raise the requested availability of the user, and calculate the new payment and service credit if she adopts an unhealthy strategy, until she cannot be served.The experiment is respectively repeated 20 times in four data settings.All of the experiment results show that each user cannot improve utility by adopting an unhealthy strategy.
Table 2 shows one of the experiment results.The backup ratio corresponding to the true availability in the experiment is 0.1.Then, the user raises her requested availability to obtain both the valuation and service credit by adopting an unhealthy strategy.We choose penalty coefficient β = 1, which is the maximal service credit in our mechanism.However, on the other hand, requesting higher availability also results in higher payment in our mechanism.Table 2 compares the increased payment and service credit when the user adopts that strategy.In the table, "Backup ratio" corresponds to requested availability, and the higher the requested availability is, the higher the backup ratio is; "Served or not" presents whether the user can be served if the requested availability increases; "Increased payment" presents the difference of payment with requested availability and desired availability; "Service credit" is the penalty brought by the unhealthy strategy.In Table 2, we can see that the user will lose the allocation if she increases her requested availability and makes the backup ratio be larger than 0.6.It is because the value density of the user decreases when she raises the requested availability.Furthermore, for each backup ratio in which the user can be served, the service credit is always no more than the increased payment, which implies that the user cannot improve utility by adopting unhealthy strategies.Thus, in our mechanism, each user will truthfully request the desired availability even if the availability is private information for users.

Conclusions
To reduce providers' costs and improve the sum of users' valuation (social welfare), we proposed resource pricing and penalty mechanisms based on auctions.In our mechanisms, we allow users to request their desired availability, and allocate resources with availability on demand.Considering intelligent and rational users, we designed two mechanisms: a deterministic HalfGreedy AoD mechanism for a public availability scenario and a nondeterministic RandomGreedy AoD mechanism for a private availability scenario.The experiment results showed that our mechanisms have higher social welfare than the HalfGreedy with highest availability.
However, this is only an initial work in exploring resource allocation, pricing and penalty mechanism design in the user-selected availability scenario, and there are also some problems that need to be solved.Since, in our work, the desired availability of each user is fixed and it only deals with single time resource allocation.In the future work, we will focus on resource pricing and penalty in the online and dynamic user-selected availability environment.

Figure 1 .
Figure 1.Comparison of three service credit functions in availability.

Figure 2 .
Figure 2. Illustration of two resource allocation approaches: (a) allocation with fixed availability and price; (b) allocation according to different availability demands and valuation of users with different price.Different colors represent different availability, and different sizes of grey blocks represent a different backup ratio.

Figure 3 .
Figure 3. Social welfare comparison for four mechanisms in four data settings.The proposed mechanisms with availability on demand (HalfGreedy AoD and RandomGreedy AoD) always obtain higher social welfare than the mechanism with highest availability (HalfGreedy HA).The RandomGreedy AoD has higher social welfare when parameter k rises.(a) comparison in DS1; (b) comparison in DS2; (c) comparison in DS3; (d) comparison in DS4.
1.A mechanism for single-minded bidders in which losers pay 0 is truthfulness if and only if it satisfies the following two conditions: (i) Monotonicity: A bidder who wins with bid (o * i , v * i ) keeps winning for any v i > v * i and for any o o * (for any fixed settings of the other bids).(ii) Critical Payment: A bidder who wins pays the minimum value needed for winning: the minimum of all values v i such that (o * i , v * i ) still wins.Theorem 2. The auction mechanism in Algorithm 1 is truthful.

Table 1 .
Parameter distribution in data settings.

Table 2 .
The comparison of increased payment and service credit caused by misreporting availability.