A Comprehensive Survey on Auction Mechanism Design for Cloud/Edge Resource Management and Pricing

Driven by the vision of cloud and edge computing as the 5th utility, a major challenge is the efficient resource management and pricing taking into account incentives and preferences of cloud/edge providers, users, and the system. In recent years, auction mechanism design has gained wide attention as a tool for addressing this challenge. Here existing surveys lack detailed studies in this area, hence this work presents a comprehensive survey on the state-of-the-art auction-based mechanisms in the field of cloud/edge computing. First, the problem statements and background are presented for cloud/edge computing and auction theory. This is followed by a collaboration model on the benefits of auction mechanism designs to cloud/edge computing. Next, various auction mechanisms in cloud computing are reviewed based upon the following aspects: (1) direction of bids—forward, reverse, and two-sided auctions, (2) the heterogeneity of resources—combinatorial auctions, (3) the number and types of adopted attributes in winner determination—multi-attribute auctions, (4) the setting of auction—offline, online, or sequential auctions, and (5) the interoperability among cloud providers—inter-clouds. For each aspect, existing studies are summarized along with their saliencies and drawbacks. Moreover, existing auction mechanisms in the context of edge computing are also presented. Our comprehensive survey shows that although significant progress has been achieved in this field, there still exist key challenges that need to be investigated, as discussed here to provide future research directions.


I. INTRODUCTION
In the past decade, cloud computing has created a new provisioning paradigm for network operators, organizations, and users by shifting from on-premise hardware towards shared, accessible computing resource pools. However, cloud services are usually accompanied by long propagation delays making them inappropriate for time-sensitive applications. This has consequently given rise to the concept of edge computing which aims to bring computing resources to the edge of the network, i.e., enabling time-sensitive internet of things (IoT) applications.
Cloud/edge infrastructures usually incur high maintenance and operational costs [1]- [6], which requires efficient resource management mechanisms that are deployed in two The associate editor coordinating the review of this manuscript and approving it for publication was Asad Waqar Malik .
tiers. Physical resources such as CPU, RAM, storage, and bandwidth are efficiently provisioned in the form of different Virtual Machines (VMs) in the first tier. Meanwhile, the provisioned VMs are proficiently allocated to users in the second tier.
Tackling the cloud/edge resource management problem is very challenging due to several reasons such as the large scale of the market, the heterogeneity of the resources, the hierarchy of providers, the interdependency between users' requests, the dynamicity and unpredictability of user demands, the interoperability between providers, the wide range of preferences and incentives of users and providers, etc.
Another significant challenge that is highly affiliated with resource management and often addressed concurrently is resource pricing. In a conventional cloud/edge environment, the providers require satisfactory monetary rewards to share their resources. Meanwhile, the users may have different budget preferences regarding their requirements. Therefore, a trade exists between the users requesting computing resources with budget limitations and the providers offering computing resources with monetization goals. In this respect, the cloud/edge resource management and pricing problems need to be addressed jointly in order to improve system efficiency and incentivize price-driven self-interested users and providers to use the system. This problem has subsequently attracted a lot of attention both in academia and in industry. Multiple efforts in literature proposed centralized, or semi-centralized solutions for the problem of resource provisioning and VM allocation and placement in cloud/edge computing [7]- [10]. These solutions mostly leverage optimization techniques which require global knowledge of the market, while assuming providers and users as non-decision makers. However in real world, cloud/edge providers and users are actually rational, self-interested entities, exercising their partial or complete autonomy to achieve their objectives [11].
In order to avoid the aforementioned limitations and to model the strategic behavior of providers and users, another venue of literature have been dedicated to developing gametheoretic solutions [12]- [16]. Although, game theory provides a suitable tool for analyzing the strategies, behaviors, and interactions of players in a multi-agent environment [17], it is not capable of enforcing any desired structures to the system. Hence, auction mechanism design [18] has gained wide attention in order to develop variant solutions which are able to employ the incentives of rational agents to induce the desired behavior. Furthermore, they are capable of providing an efficient framework for the allocation and pricing of commodities via a process called bidding [19]. Finally, they only require a limited global knowledge as they are decentralized in nature.
All the aforementioned advantages have resulted in proposing various auction-based solutions in the recent years to address the problem of cloud/edge resource management and pricing. Especially that the cloud/edge environments can be simply modeled as auction markets, where providers and users can be assumed as the sellers and buyers in the market respectively, and the cloud/edge services can be assumed as the commodities of the market. Therefore, the possible interactions between the providers and the users can be modeled in the auction mechanisms properly.
In this survey, we aim to provide a comprehensive review of the state-of-the-art auction-based solutions in the literature for the problem of cloud/edge resource management and pricing. Furthermore, we provide a concrete discussion on the open challenges of the field. We highlight our contributions in more details in the following section.
There are also several other surveys which have discussed auction mechanisms in cloud and edge computing including [41], [47]- [49]. In [47], auction-based cloud resource allocation mechanisms have been surveyed and classified into four categories including one-sided, double-sided, combinatorial, and other types of auction-based mechanisms. However, compared to our work, their study covers a much smaller body of existing literature. They do not address other types of auction mechanisms such as online auctions, sequential auctions, and multi-attribute auctions. Also, they do not discuss the proposed auction mechanisms in the context of inter-clouds and edge computing. In [48] a very concise literature review in the context of cloud computing has been provided, lacking many of the previous studies. Also, the authors do not make any conclusions over existing studies, nor provide any guidelines for future researches. In [41] only the proposed double auction mechanisms in the context of cloud computing have been reviewed and thus the survey does not include other types of auctions or edge computing environments. Finally, the survey on auction mechanisms for edge computing in [49] lacks some key models in cloud computing. However, we believe that due to the many similarities that the problem of resource management and pricing in cloud and edge computing share, having a comprehensive knowledge on existing studies in the area of cloud computing can act as a building block for what can be done for edge computing in the future. So, in contrast to their work, we have also surveyed the existing proposed auction models for cloud computing to provide a comprehensive overview of what is done previously, and what can be done in the future in this field. Moreover, the authors provide different comparison and classification models than our work. Therefore, to the best of our knowledge, there is no comprehensive survey in the literature discussing different proposed auction mechanisms to deal with resource management and pricing in cloud/edge computing. This motivates us to fill this gap with a comprehensive literature review over statof-the-art auction-based mechanisms for cloud/edge resource management and pricing. Overall, the main contributions of our work are as follows: • We discuss why the auction-based mechanisms are considered as promising solutions for cloud/edge resource management and pricing.
• We provide a comprehensive survey of auction-based mechanism for cloud resource management and pricing, presenting a novel categorization over them based on the direction of bids (single-sided and two-sided auctions), the number and types of attributes used in winner determination (multi-attribute auctions), the setting of auction (online, offline, or sequential auctions), the heterogeneity of cloud resources (combinatorial VOLUME 9, 2021 auctions), and the interoperability among clouds (interclouds).
• In the course of each of the above aspects, we discuss the advantages and disadvantages of existing proposed models.
• We review the existing studies in auction mechanism design for edge computing and discuss their pros and cons.
• We discuss remaining issues in the field of cloud/edge resource management and pricing which can be addressed using auction mechanism design, and we provide directions for future works.

B. THE STRUCTURE OF THE PAPER
The rest of the paper is organized as following. In Sections II and III, we present some fundamental concepts about cloud and edge computing respectively. In Section IV we first provide the basic concepts of auction mechanism design and then discuss how designing efficient auction mechanisms can lead towards market-oriented cloud/edge computing. Through Sections V to VIII, we review different proposed auction models for cloud markets, including single-sided and two-sided auctions, combinatorial auctions, multi-attribute auctions, and sequential and online auctions respectively. Then, we review the proposed auction models for inter-clouds in Section IX. In Section X, we review the proposed auction models for edge resource management and pricing. Finally, we present remaining challenges in the field, and provide directions for future works in section XI, and conclude our survey in Section XII.

II. CLOUD COMPUTING
Cloud computing is defined by National Institute of Standards and Technology (NIST) as a model for enabling ubiquitous, convenient, on-demand network access (usually via Internet) to a shared pool of configurable computing resources [50]. Cloud computing can be categorized based on its service model or deployment model. The service model typically categorizes cloud computing into three types of cloud services offered at three levels [50]. Software as a Service (SaaS) is provided at the highest level offering varieties of software applications to cloud users. Platform as a Service (PaaS) is provided at the middle level provisioning a computing platform to users, where they can develop and run their applications. Infrastructure as a Service (IaaS) is provided at the lowest level provisioning different fundamental computing resources such as processing, storage, and bandwidth to users. Figure 1a illustrates different cloud computing services offered at different levels. However, over the years, many functions have been transformed into new services (e.g., ML as a service) and are represented by Anything as a Service (XaaS).
On the other hand, the deployment model categorizes cloud computing into four sub-models based on its computing infrastructure [50]. A public cloud is owned by an organization selling cloud services to the general public over a public network (usually via Internet). A private cloud gives an exclusive access to an organization or cloud users for using infrastructure and computational resources. A community cloud serves a group of cloud users who share similar concerns such as mission objectives, security, privacy, and compliance policy. A hybrid cloud employs a combination of two or more distinct clouds (private or public). Figure 1b shows different cloud deployments models.
Another important concept in the context of cloud computing is called Quality of Service (QoS) which is used as a measurement to denote the levels of performance, reliability, and availability offered by cloud services [51], [52]. Obviously, cloud users always prefer to receive higher QoS, but clearly this comes at the expense of higher operational costs for providers. Hence, from the providers' perspective, it is not always economical to satisfy all user expectations. In this respect, an agreement needs to be achieved between cloud users and providers on the different aspects of delivered services which is referred as service level agreement (SLA). An SLA will then serve as the foundation for the expected level of service between the user and the provider [53].

III. EDGE COMPUTING
It is projected that the exponential growth in the number of smart connected (IoT) devices such as smart phones, wearable devices, autonomous vehicles/drones, etc, will reach 75 billion by 2025 [54]. However, due to the limited computational and energy resources of IoT devices, and the data-intensiveness and energy-hungriness of the developed applications, the core services and processing are usually performed on cloud severs. Although leveraging services of distant cloud servers improves the computational capabilities of IoT devices, it results in high latency and mobility-related issues [3,4]. In fact, for many time-sensitive applications such as online gaming, speech recognition, virtual reality, and real-time traffic monitoring that require fast processing and quick response time, offloading computations to a far centralized cloud data center is considered infeasible.
In this respect, edge computing have been presented in order to address the aforementioned challenges by bringing computing resources to the vicinity of IoT devices. This way, instead of transmitting a large amount of raw data to a distant cloud, the data is processed in micro data centers, placed at the edge of the network to ensure real-time ultra-low-latency processing. These small-sized data centers which are usually referred as ''Cloudlets'', can thereby mitigate the overload of IoT devices by accepting their offloaded computational tasks.
Other computing paradigms similar to edge computing have also been proposed in the literature, such as Cloudlets, fog computing, and mobile edge computing (MEC) [55]. The concept of MEC was firstly proposed by the European Telecommunications Standard Institute (ETSI) in 2014, where mobile users can utilize the computing services within the Radio Access Network (RAN) [56]. The concept of Fog Computing has been proposed by Cisco, which extends the cloud computing paradigm to the edge of the network,  thus allowing data computation, storage, and networking services at reduced latencies [55], [57], [58]. Further, Fog Computing has also been identified as a suitable platform for network function virtualization (VNF) for delay-sensitive applications [59]- [61]. Finally the concept of Cloudlets has been introduced by Satyanarayanan et al. [62] which aim at providing computing resources available within the local network.
However, all the three areas are overlapping as they are all characterized by high bandwidth, ultra-low latency, and real-time access to computing services which is achieved by a decentralized model for server distribution. Therefore, the proposed technologies in each case are often applicable to the other two cases [55]. Figure 2 shows the basic architecture of edge computing.

IV. AUCTION MECHANISM DESIGN
In algorithmic game theory, mechanism design provides a suitable platform to attain a social choice in the presence of selfish agents within a competitive environment [63], satisfying desired properties such as high revenue [64]. An auction mechanism on the other hand provides a suitable scheme for allocation and pricing of commodities through a process known as bidding [19]. In this section, we discuss some of the fundamental concepts about auction mechanism design. Furthermore, we argue why auction mechanisms can be considered as promising solution for market-oriented cloud/edge computing.

A. TERMINOLOGIES AND CLASSIFICATION OF AUCTION MECHANISMS
Here, we provide the common terminologies and classification of auction mechanisms. Foremost the commonly used terminologies in auction literature are described as follows: • Bidder is the one who submits a request or ask in the auction to acquire or sell commodities, respectively.
• Auctioneer is in charge of managing and directing the auction process.
• Commodity is the object being traded in the auction.
• Valuation is used for evaluating the commodities in the market.
Auctions may be characterized in different ways theoretically and practically [65], but they are commonly classified based on the following features: • single-sided vs two-sided auctions: In a single-sided (forward and reverse) auction, only one side (buyers or sellers) can place bids. However, in a two-sided auction both parties can place their bids.
• uni-attribute vs multi-attribute: In a uni-attribute auction, the allocations are determined only based on one attribute (e.g., bid price). However, in a multi-attribute auction, other attributes (e.g., QoS) are considered as well.

• open-cry vs sealed-bid:
In an open-cry auction each bidder calls out her bid, while in a sealed-bid auction each bid is submitted confidentially. VOLUME 9, 2021 • single-item vs multi-item (combinatorial): In a single-item auction only one type of item is traded in the market, while in a combinatorial auction multiple types of items are traded.
• single-unit vs multi-unit: In a single-unit auction only one unit of each item can be traded, whereas in a multi-unit auction multiple units can be traded. An auction mechanism can be further classified based on the time intervals that the market is cleared: • Offline auction: The market is cleared once all the bids are collected.
• Sequential auction: The buyers can submit their bids multiple times and the auctioneer clears the market periodically on specified time frames.
• Online auction: The buyers come and go on the fly without any prior notification, and the auctioneer clears the market in an online fashion as soon as a new request is submitted or a new resource becomes available.

B. DESIRED PROPERTIES IN AUCTION MECHANISM DESIGN
The main goal of the auction mechanism design is to construct the rules of an auction such that in the equilibrium of selfish agents' behavior, a desired objective is obtained [66], [67]. Therefore, in an efficiently designed auction mechanism, the desired objectives of an auction will be simply achieved while selfish agents follow their own incentives and preferences. In the following, we describe some of the desired properties in auction mechanism design:

• Incentive Compatibility (IC)/ Truthfulness (T)/ Strategy Proofness (SP):
Ensures that truthfulness would be within the best interests of participants, and thus they cannot benefit from lying [63].
• Individual Rationality (IR): Ensures that each participant can increase his/her utility by using the mechanism [63].
• Budget Balance (BB): Implies that the market neither accumulates surplus, nor runs in deficit [63].
• Allocative Efficiency (AE): Implies a socially efficient distribution of the resources, as the utility across all participants (social welfare) is maximized [63]. Moreover, if the welfare loss converges to zero as the maximum social welfare approaches infinity, then the mechanism would be called Asymptotically Efficient (AsE) [68].
• Computational Tractability (CT): Implies that the auction mechanism clears the market by finding allocation and pricing of commodities within a tractable computation time. In many cases, some desired properties (e.g., AE) need to be relaxed in order to achieve more preferable ones (e.g., IC). This is because of the impossibility of attaining all properties of IC, IR, BB, and AE by an auction mechanism at the same time [69]. For example, the celebrated Vickrey-Clarke-Groves (VCG) mechanism [70]- [72] is a type of sealed-bid auction in which the items are assigned in a socially optimal manner. This mechanism satisfies IC, IR, and AE, but it is not BB. However, when the classic VCG mechanism is directly extended to other auction variations, such as online auctions, it may loose some of its desirable properties like truthfulness [18]. Therefore, auction mechanisms should be carefully engineered based on the existing challenges in each domain to satisfy required properties. It is worth noting that mechanism designers can seek to optimize several other desirable properties such as following: • Revenue Maximization (RM): Implies to the selfish perspective of the mechanism designer which is to maximize the obtained revenue. This goal turns out to be quite different from the goal pursued by AE [63].
• Fairness (F): Implies that the outcome of the mechanism would be fair to all participants. Providing the exact definition of fairness is somehow tricky, but in many cases it is defined as the case where the fairest outcome for a mechanism is the one that makes the least-happy agent the happiest [63].

C. AUCTIONS FOR MARKET-ORIENTED CLOUD/EDGE COMPUTING
Currently, the problems of resource management and pricing are two major challenges in the field of cloud/edge computing. These two problems are assumed tightly coupled as they can directly affect the outcome of each other. For example, the over-charging/under-charging of the resources can result in the under-utilization/over-utilization of the resources and subsequently cause profit loss. As another example, inefficient pricing of the resources does not allow for a suitable distribution of workload over time in order to achieve load balancing. Therefore, the problem of cloud/edge resource management needs to be addressed in conjunction with the pricing problem, which is referred as market-oriented cloud/edge computing [73], [74]. However, the joint problem of cloud/edge resource management and pricing is considered very challenging due to the large scale of cloud market, the heterogeneity of resources, the interdependencies between the requests of the users, the variability and unpredictability of the demands, the possibility of interoperability between the providers, and the vast range of the preferences and incentives of the users and providers. These challenges have given rise to the variety of proposed solutions.
The proposed conventional solutions for the aforementioned challenges are mostly centralized and require global and complete knowledge of the environment. Moreover, they often assume providers and users as non-strategic actors having no interactions with each other. In other words, they do not consider the impacts of the user and provider behaviors on the obtained results for resource allocation and pricing. However, in a real cloud/edge environment, the users and providers act as selfish agents with conflicting goals. For example, on one hand the providers need enough motivations in the form of monetary rewards in order to share their resources. On the other hand, the users need efficient mechanisms that can guarantee providing their required resources with least price and best QoS. Hence, they will always seek for the best strategies that can optimize their own utilities, e.g. through lying about their true preferences. This way, they can indirectly manipulate the system and impact the overall resource allocation and pricing. Therefore, methods such as machine learning based techniques [75], [76] alone cannot be sufficient and new solutions are needed to be devised in order to address the selfish behaviors of the users and providers and their impact on the cloud/edge resource allocation and pricing [77], [78].
In this regard, mechanism design as a subfield of economics and game theory has attracted a great deal of attention in the recent years, which mainly revolves around studying how to employ the incentives of rational agents to induce the desired behavior for the system. In other words, a welldesigned mechanism can give enough incentives to rational agents to act truthfully in order to achieve the desired goals for the system. Furthermore, auction mechanisms have been extensively used in the literature attributed to their decentralized nature, suitability for distributed systems, and their minimal need for global knowledge. This is while a cloud/edge market can be simply modeled as an auction market, where providers and users are considered as the sellers and buyers of the market, respectively. Note here that cloud/edge services can also be assumed as the commodities being traded in the market. Therefore, an auction-based mechanism can be considered as a promising solution to provide a market-driven cloud/edge system. Figure 3 illustrates some of the advantages of using auction mechanism design for cloud/edge resource management and pricing. Moreover, Table 1 summarizes the mapping of a cloud/edge system to an auction market.
However, there exists several challenges in developing a well-designed auction mechanism for cloud/edge computing. This includes following: • The auction mechanism should be IC in order to be resistant to the strategic behavior of users and providers so that it can prevent any manipulation of the market.
• The auction mechanism should be IR to incentivize users and providers participation in the auction.
• The auction mechanism should be BB in order to prevent any loss for the broker.
• The auction mechanism should be AE in order to maximize the social welfare.
• The auction mechanism should be multi-attribute in order to consider other important attributes such as QoS metrics beside the pricing of resources.
• The auction mechanism should be combinatorial to offer various resources.
• The auction mechanism should be online so that it can provide real-time responses to service requirements.
• The auction mechanism should be able to model different types of interactions among cloud/edge actors, such as the interoperability between providers in the form of inter-clouds.
• The auction mechanism should be fair in order to increase satisfaction among the users and the providers.
In this regard, multiple studies have been performed developing different auction-based solutions, each addressing a subset of the above challenges. In this survey, we aim to provide a comprehensive survey of these studies. In this regard, since the number of existing literature in cloud computing is much larger than edge computing, we first review the auction-based solutions in cloud computing from different perspectives. We then go over the proposed auction-based approaches in edge computing. We finally summarize the remaining open challenges in the field.

V. SINGLE-SIDED AND TWO-SIDED CLOUD AUCTIONS
Depending on the direction of offers, auctions can be categorized into two types: single-sided auctions, which are further categorized into forward and reverse auctions, and two-sided auctions, which are also referred as double auctions. In a forward auction, the competition is on the user side, where multiple users can bid for their required resources offered by a single cloud provider (Figure 4a). In a reverse auction, the competition is on the cloud side, where multiple providers can submit asking prices for leasing their resources (Figure 4b). Finally, in a double auction, the competition is on both sides as both users and cloud providers can submit their bid and ask prices, respectively ( Figure 4c).
Forward auction models are considered as the most common auction types. For instance, Amazon EC2's Spot market is the best known forward auction based model in real world in which users with bid prices higher than the spot price can acquire their requested resources [79]. However, Amazon spot market has several deficiencies; First, requests can be submitted only in the form of individual VM instances and not a set of different VM types. Second, all winning users are charged equally, under-exploiting the payment potential of users. Third, dishonest users in Amazon may abuse the system by bidding high prices while being charged at lower spot prices [80], resulting in the dissatisfaction of honest users. Finally, according to [81], Amazon's spot price is not likely to be market driven, rather it seems to be generated randomly within a narrow interval close to the hidden reserve price. However, due to the efficiency and simplicity of forward auction based models, they have also been broadly employed in the literature. Some of the major contributions in this field are as following.
Wang et al. [80] formulate the cloud service pricing problem as a multi-unit combinatorial auction problem and then propose a suite of computationally efficient and truthful auction mechanisms to solve it. In their proposed solutions, they resort to greedy allocation mechanisms to find an efficient allocation of resources and then employ a critical-value based payment scheme to ensure truthfulness. One of the main contributions of their work is to address the case of  collusive bidders by proposing a collusion-resistant cloud resource auction mechanism which can effectively defend against small-sized collusion. They show that the proposed algorithms can increase the revenue of providers, especially when allocating relatively limited resources to a potentially large number of users.
In [82] false-name bids cheating pattern is addressed by proposing a new false-name-proof auction mechanism (FAITH) for VM instance allocation. FAITH not only resists the false-name bid cheating, it also provides truthfulness and polynomial execution time. It first computes the payments for each bidder and then determines the auction winners. Moreover, it supports diverse request formats by users and allows the auctioneer to configure the quantity of cloud resources for auction to maximize the revenue. FAITH can achieve high auction efficiency in terms of social welfare and revenue.
Huu and Tham [83] propose three truthful combinatorial auction mechanisms, namely exhaustive search algorithm (ESA), linear relaxation based randomized algorithm (LRRA) and green greedy algorithm (GGA). The two first algorithms aim to maximize the total bid values of users minus their energy cost, while the third one is based on the energy consumption of users' resource bundles. They also present a payment scheme corresponding to each algorithm. According to their obtained results, GGA can significantly reduce energy consumption while increasing the revenue for providers. Table 2 at the end of this section includes the main features and the pros and cons of the aforementioned works.
As mentioned before, another type of single-sided auctions are reverse auctions (also called procurement auctions [84]). Reverse auctions are a widely used model for procuring resources as they can reduce procurement costs, improve market efficiency [85], and avoid undesirable consequences like nepotism and political ties [86]. Smeltzer and Carr et al. [87] also outline several other advantages of using reverse auctions, as well as several required conditions for the efficiency of reverse auction based market. In a reverse auction based cloud market, the cloud user is the one who creates a call for proposal, and thus, the competition is undergoing among providers. We review some of the major studies in this area in the following.
Bonacquisto et al. [88] propose a procurement auction mechanism to allocate providers' spare computing resources. They also devise an adaptive bidding strategy to guide providers in the choice of the right actions through the auction. Finally, they employ an overbooking mechanism to overcome the problem of resource under-utilization.
Tanaka and Murakami [89] propose a dynamic programming based algorithm for service selection and VCG payment calculation. They also provide an extended model to reduce computation complexity by recording iterative calculations in the service selection process. This way, they avoid doing similar calculations repetitively which can increase the overall execution time of algorithm.
Prasad and Rao [86] propose three reverse auction based mechanisms namely cloud-dominant strategy incentive compatible (C-DSIC), cloud-Bayesian incentive compatible (C-BIC), and cloud optimal (C-OPT). C-DSIC is a low-bid Vickrey auction and in the case that all providers use the same probability distribution of price and QoS, C-DSIC is preferred over the other two mechanisms. In C-BIC, each provider contributes a participation fee which is used to pay other providers. This way, C-BIC ensures to be budget balanced. C-BIC is suitable for government-sponsored procurement auctions as it leads to less procurement cost for users in comparison with C-DSIC. In both C-DSIC and C-BIC mechanisms, the provider with the lowest cost per unit QoS is declared the winner. C-OPT employs different winner determination and payment rules from C-DSIC and C-BIC. In C-OPT, the cloud vendor with the least virtual cost is declared the winner. Virtual cost is defined as a function of cost and QoS. Then, the payment is computed based on the quoted cost and the expectation of the allocation. All the three proposed mechanisms reduce the resource procurement cost with the increase in number of providers. Table 2 illustrates the major features, advantages, and disadvantages of the above works.
Single-sided auctions are only well-suited for markets with a limited number of buyers or sellers, and thus they loose their efficiency as the market size grows [68]. As a result, two-sided auctions have drawn attention among researchers in order to establish a healthier and more efficient cloud market [90]. This is while the nature of cloud market also reveals a two-way trading model. On one side the cloud users compete to obtain their required resources at optimal cost, and on the other side cloud providers compete to serve more users in order to increase their revenue. Moreover, a two-sided auction can prevent monopolies and provide an unbiased, fair cloud market, by considering the preferences of both sides in the outcome of the auction. In this respect, various double auction mechanisms have been proposed to address the problem of cloud resource management and pricing. We review some of the major studies in this area.
Kumar et al. [41] propose a double auction model for resource allocation and pricing in cloud computing which is truthful for both user and provider sides. The proposed resource allocation method performs partial allocation similar to cloud spot market. Also, their proposed model does not consider the case of offering different types of VMs in the auction, i.e. combinatorial auctions.
Wang et al. [91] propose a fitness-enabled resource allocation model based on the continuous double auction, which guarantees the fitness of allocated cloud resources to cloud services. They also propose a dynamic asking/bidding strategy so that providers and users can autonomously achieve trade-offs between prices, profits, and the QoS. They show that the idea of fitness improves economic efficiency and system performance.
Wang et al. [92] propose a combinatorial double auction which enables task partitioning among multiple providers. They also propose a price formation mechanism using a back propagation neural network based price prediction algorithm and a price matching algorithm. A reputation system is also employed to exclude dishonest participants from the market. They use the improved paddy field algorithm to solve the winner determination problem. Although their simulations show that the proposed mechanism can encourage participants to behave truthfully, it has not been theoretically proved.
Kumar et al. [93] propose a truthful combinatorial double auction mechanism using linear programming based padded method. For payment, truthful and novel schemes are designed for both customers and providers. The user payments are calculated using critical value schemes, whereas the provider payments are calculated using marginal values of resources offered by various providers.
Lu et al. [94] claim that in practice users rarely know the exact number of VMs that meet their task requirements. Hence, they propose a truthful double auction mechanism, including a matching process as well as a VM allocation and pricing scheme. In the matching process, a cost-aware resource algorithm based on Lyapunov optimization techniques is designed to find the number of VMs that meets users' task requirements. For the VM allocation and pricing, the idea of second-price auction is applied to determine the final price and the number of provisioned VMs in the auction.  Cheng et al. [95] propose a secure double Auction framework which can guarantee both bid privacy and trade fairness. In this respect, they propose secure 3-party computation based protocols that support secure comparison and secure sorting. As for fairness, they present a fair and efficient trading scheme based on smart contracts to incentivize each auction participant to follow the auction protocols. Table 2 includes the major studies in this area, highlighting their advantages and disadvantages.
Summary and Discussion. This section discusses different auction models based on the direction of bids in the cloud auction market, i.e. forward, reverse, and two-sided auctions. Currently, forward auctions are the most common approach in the literature, which have been adopted in the industry such as in Amazon Spot Market [79] as well. In contrast, reverse auctions are not used very often. This is maybe because in the cloud environments the number of users is very larger compared to the number of clouds. Therefore, holding a distinct auction for each individual user does not seem as an effective approach. In this respect, two-sided auctions show a great potential for future cloud markets as they consider the incentives and preferences of both sides, creating a healthier cloud market as a result. However, most of the existing two-sided auctions demonstrate a centralized architecture which can be considered as a potential risk for single point of failure. Because, if that one existing broker fails for any reason, the whole system will become unavailable. Hence, this issue needs to be further investigated in the literature.

VI. COMBINATORIAL CLOUD AUCTIONS
Given the inherent heterogeneity in real world computing tasks, cloud users often demand for bundles of heterogeneous VM instances to satisfy their requirements. For instance, a social game application consisting of a front-end web server layer, a load balancing layer, and a back-end data storage layer, is better served by a bundle of different VMs intended for communication-intensive, computationintensive, and storage-intensive tasks, respectively [96]. Furthermore, in many scenarios, the value that a user derives from a cloud service highly depends on what other services she can obtain. Therefore, the capability of users to bid on combinations of cloud services in such scenarios can increase the efficiency of the market. As a result, combinatorial auctions reveal more consistency with real world scenarios as they can enable expressive bids for requesting bundles of different VM types. They can be considered as a drastic departure from existing homogeneous auction designs which assume VMs as type-oblivious commodities, i.e., VMs that are essentially of the same type, or interchangeable up to a multiplicative factor.
Obviously, bringing the combinatorial nature of cloud into auction design adds to the complexity of winner and payment determination problem due to the higher dimensions of the problem. In such setting, the celebrated VCG mechanism is also inapplicable due to computational complexity [70]. As a result, many new combinatorial auction based approaches have been proposed in the recent years which provide computational efficiency, as well as satisfying other desirable properties such as truthfulness.
Chichin et al. [97] propose a combinatorial greedy allocation mechanism based on the sorted order of allocation candidates to solve the winner determination problem in a two-sided market. They further employ critical-value scheme to compute user prices, and a mixed surplus-distribution rule that relies on direct and proportional-value payment to derive provider payments. They assume that each requested VM bundle must be fulfilled by a single provider. This however can result in an inefficient resource management in some cases. Because, even though a single provider may be able to serve the user request, the user's task requirements may be fulfilled more efficiently through task partitioning between multiple providers. Also, there may be cases that no single provider is capable of providing required resources all by itself. Thus, in these cases there would be no choice other than task partitioning between several providers.
Yang et al. [98] propose a combinatorial auction mechanism in a single provider scenario. aiming to maximize the cloud providers' revenue, and achieve envy-freeness and truthfulness. The proposed mechanism combines two general ideas of consensus estimate and RevenueExtraction to respectively achieve an approximate optimal target revenue without market manipulation, and to determine the winners and equally share the generated target revenue among them.
Tafsiri and Yousefi [99] formulate the combinatorial double auction-based market for the cloud VM allocation to users as an integer linear programming, aiming to maximize the total profit of users and providers. Then, they employ a heuristic resource allocation algorithm to overcome the time complexity of their proposed model. Singhal and Singhal [100] propose a feedback-based combinatorial double auction mechanism in which genuine providers with good feedback are prioritized over in-genuine providers with bad feedback from users. The proposed model also penalizes market spoilers who aim to overcome the market by manipulating prices so that their competitors loose their interest in the market.
However, beside the efficient solutions for VM allocation similar to above studies, cloud providers also need to devise efficient approaches for the provisioning of different computing resources, such as CPU, RAM and Disk, into various VM types. Currently, most of the studies employ Static Resource Provisioning (SRP) approaches in which VMs are assembled before the auction starts. They usually employ simple heuristics or historical demand patterns as a guide for an efficient provisioning of resources (Figure 5a). However, estimation approaches are often prone to errors, even when implemented at their best cases. Thereby, a more efficient approach is Dynamic Resource Provisioning (DRP), which assembles the VM instances dynamically during the auction, tailored to the real-time user demands (Figure 5b). As a result, DRP approaches can improve the resource utilization, the revenue of providers, and the social welfare of the entire VOLUME 9, 2021  cloud system. There are several studies in the literature that have adopted DRP approaches.
Mashayekhy et al. [101] propose a strategy-proof polynomial time approximation scheme (PTAS) mechanism to solve the VM provisioning and allocation problem in the presence of a single cloud provider. They show that the proposed approximation mechanism is by far the strongest approximation result that can be achieved for this problem, unless P = NP.
Nejad et al. [102] propose a family of truthful greedy mechanisms for VM provisioning and allocation such that the cloud provider provisions VMs based on the requests of the winning users and determines their payments.
Mashayekhy et al. [103] consider the physical machine (PM) resource management problem in the presence of multiple PMs and multiple types of resources in an auction-based setting. They propose a strategy-proof greedy mechanism called G-PMRM. In order to guarantee strategy-proofness of G-PMRM, the winner determination algorithm is designed such that it determines loser-independent allocations on each PM. This can make the mechanism robust against users who tried to manipulate the system by changing the allocations of other users.
Zhang et al. [104] first propose a cooperative primal dual approximation algorithm and then employ it as a building block to design a randomized combinatorial auction for dynamic resource provisioning. The proposed mechanism is computationally efficient, truthful in expectation, and achieves the same approximation ratio in social welfare as the cooperative algorithm does.
Li et al. [105] considers time-varying user demands and propose a truthful online auction mechanism for maximizing the profit of the cloud provider. The proposed mechanism consists of a price-based allocation rule and a payment rule. The allocation rule determines the number of VMs of each type that should be allocated to each user. The payment rule determines how much the cloud provider should charge each user based on a marginal price function for each type of VMs.
Although the aforementioned studies have taken major steps towards efficient resource management, effective solutions are also required for defining VM types at the lowest level. In this regard, two different approaches are usually adopted. In the first approach, similar to the above studies, the computing resources are assembled into predefined VM types (Figure 6a). This approach which we refer as Static Resource Assembling (SRA), is a very common technique both in the industry and academia. However, it enforces users to choose their required resources from a limited list of predefined VM types with specified configurations. These VM types are actually defined by the providers beforehand. In contrast, in the second approach, the VM types are defined based on user demands (Figure 6b). In other words, this approach which we call Dynamic Resource Assembling (DRA), assembles VMs based on the computing requirements of users. Currently, a few cloud companies employ DRA strategies in order to create VM instances based on userspecified demands, such as [106]. The research community has also proposed several combinatorial auctions based on DRA such as the following.
Zhang et al. [78] propose an efficient randomized auction mechanism based on a novel application of smoothed analysis and randomized reduction for the provisioning and pricing of customized VM instances in a geo-distributed cloud.
In [107] a more realistic case of online VM auction design is considered, where cloud users can bid for customized VMs with desired duration of occupation. Furthermore, truthful and polynomial time auctions are proposed to achieve social welfare and/or the provider's profit maximization with acceptable competitive ratios.
Zhang et al.s [108] propose an online auction mechanism, where they consider both user evaluation and cost in their model. In the proposed mechanism, users can submit multiple requirements at any time, but only one requirement is satisfied. Table 3 illustrates the major proposed combinatorial auctions, including those ones that have employed DRP and DRA strategies.
Summary and Discussion. This section discusses proposed combinatorial auction models in cloud computing which allows for offering and requesting a variety of cloud resources. It also discusses different resource provisioning techniques, i.e. Static Resource Provisioning (SRP) and Dynamic Resource Provisioning (DRP), and explains how DRP strategies improve resource utilization, the revenue of providers, and the total social welfare compared to SRP techniques. Moreover, another line of research in combinatorial auctions is the dynamic assembling of resources into different VM types based on users' requirements. This approach can highly improve user satisfaction, as the VMs are exactly assembled based on the user requirements. However, the number of existing studies in this area is quite rare and thereby more research is needed in this venue.

VII. MULTI-ATTRIBUTE CLOUD AUCTIONS
As the ever-growing cloud market approaches perfect competition, it enables cloud users to choose their required services from a variety of cloud providers. As a result, the perceived QoS is becoming an important differentiator, other than price, between cloud service providers [109], [110]. Therefore, if a cloud provider compromises its offered QoS substantially or does not commit to the quoted QoS, the unsatisfied cloud users may refuse to accept the service and decide to choose another cloud provider. In contrast, meeting or exceeding QoS expectations of users will improve the cloud provider's reputation, and will subsequently enhance its resource utilization and obtained revenue.
However, designing multi-attribute auction mechanisms pursuing other desired properties such as truthfulness, individual rationality, and so on, is very challenging due to the dependence of winner selection on many attributes. Moreover, a good understanding of the types of attributes and their measuring and comparison approaches is required. For example, QoS attributes can be divided into two categories of quantitative and qualitative attributes. Qualitative attributes are those metrics which cannot be quantified and are mostly inferred by user experiences. Whereas, quantitative attributes are those which can be measured using software and hardware monitoring tools and can be declared in numeric values [111]. For instance, provider's ethicality and security are qualitative attributes, whereas service response time, availability, and reliability are quantitative attributes.
Hence, qualitative attributes are first required to be converted to a numeric value in order to be measurable and comparable. The Analytic Hierarchy Process (AHP) [112] is a common technique for quantifying QoS attributes which has been also used by [86] and [113]. Moreover, inspired from [114], [115], the authors in [86] and [113] have employed the Simple Additive Weighting (SAW) approach for scaling and normalizing of QoS attributes, and then for comparison of them. However, the SAW method only supports quantitative QoS attributes and thus all attributes need to be first quantified, similar to what has been done in [86] and [113].
In general, two different approaches have been adopted towards integrating QoS attributes into the field of auction mechanism design in cloud computing. In the first approach, it is assumed that selfishness is limited to the pricing aspect, and thereby the cloud providers act truthfully in technical matters. Conversely, in the second approach, it is assumed that the providers may misreport their QoS in order to achieve more benefit.
In [86] and [113], the rationality of providers is limited to pricing aspects. In [86], three different reverse auction based mechanisms are proposed, each satisfying different properties. All the three proposed mechanisms can reduce the resource procurement cost as the number of providers grows. The authors extend their work in [113] by considering different types of resources. They propose combinatorial auctions branch on bids focusing on time complexity rather than incentive compatibility.
However, as we mentioned, there are a few other studies that have considered the strategic behavior of providers towards their QoS commitments. Therefore, in order to prevent any manipulations of the market by malicious providers, they have designed reputation-, priority-, and penalty-based mechanisms to decrease untruthful behaviors by cloud providers in terms of QoS. This way, a more healthy competition is encouraged among the providers.
In this respect, Baranwal and Vidyarthi [116] propose a multi-attribute combinatorial double auction for winner determination considering price and non non-price attributes for winner determination. In the proposed mechanism, a penalty is imposed on the providers which do not offer the agreed upon services. Although this approach can decrease the utility of dishonest providers, it is not guaranteed that the imposed penalty could be sufficient in order to prevent any untruthful behavior. In other words, the proposed solution only decreases the probability of untruthful behavior, but it does not provide any guarantees. Another advantage of the proposed work is that it offers compensation to the user who cannot receive the agreed upon QoS. The authors also employ a similar strategy to prevent QoS commitment violation by providers in [117], where their proposed mechanism is based on a reverse auction model. The first work does not ensure IC and IR properties, whereas the latter one does. Table 4 illustrates major proposed multi-attribute auctions in the literature.
Summary and Discussion. This section discusses multi-attribute auctions for the problem of cloud resource management and pricing. In these auctions, other attributes in addition to price, such as QoS attributes, are considered in the winner determination function. The multi-attribute auctions may limit the strategic behavior of cloud providers to the pricing aspect or generalize it to a more realistic case, where providers may also violate their QoS commitments in order to gain more profit. In this respect, some studies have designed reputation-, priority-, and penalty-based mechanisms to prevent market manipulations by those providers which may lie about their QoS guarantees. However, these proposed approaches do not ensure truthfulness completely. In other words, the aforementioned methods mainly focus on reducing the probability of untruthful behaviors by cloud providers in terms of the QoS commitments. Hence, more studies are required to design multi-attribute auction mechanisms which can guarantee truthfulness in all attribute dimensions.

VIII. ONLINE AND SEQUENTIAL CLOUD AUCTIONS
Auctions may vary depending on how winners and payments are determined over time. Here an auction can be designed in either offline (single-round auctions), sequential, or online setting.
In an offline auction mechanism, it is assumed that all users submit their bids and then a one-time decision is made to clear the market (Figure 7a). So far, different offline auction mechanisms have been proposed in the literature, such as [80], [101], [102], [104], [118]- [120], to address the problem of cloud resource management and pricing. However, in a real world cloud market, the cloud servers constantly fluctuate between busy and idle states while the users come and go on the fly. Moreover, many users may lose their interest in obtaining their required resources over time, whereas an offline auction ignores such temporal correlation in decision making [104]. Such deficiencies in offline auction mechanisms have thereby motivated researches to propose different sequential and online auction mechanisms.
In a sequential auction, users submit their bids multiple times over time in the auction. If a user does not win in the current round of the auction, then the user can submit another bid in the subsequent round (Figure 7b). One simple approach to design sequential auctions is to hold a series of single-round auctions over time. However, single-round auctions usually lose their truthfulness when extended to sequential auctions [18]. This problem resulted in the development of multiple approximation methods.
Wang et al. [121] propose dynamic auctions where a sequence of auctions are periodically carried out to accommodate demands. Also, a near optimal capacity allocation scheme is presented to determine the number of instances that are auctioned off in each period.
Zaman and Grosu [122] propose an auction mechanism for dynamic VM provisioning and allocation, where the provider runs an auction periodically (e.g., once an hour) to provision and allocate the VM instances such that its profit is maximized. The users bid for obtaining their requested bundles for one unit of time and if they require a bundle for more than that, they have to bid again in the next round. Thus, this mechanism is not appropriate for uninterruptible jobs as users may not be able o acquire the required bundle in the next round.
Inspired by the group-buying websites, Sun et al. [123] propose a combinatorial double auction in which the allocation and payment schemes are designed with respect to groupbuying idea. In this respect, cloud providers are allowed to submit group-buying rules along with their bids. In the proposed mechanism, the central auctioneer is responsible to form buying groups such that the total utility is maximized. Similar to the above works, the proposed auction mechanism takes an iterative manner, i.e. the auction is run in sequential rounds. Table 5 includes the major sequential auctions which are proposed for the problem of cloud resource management and pricing. However, sequential auctions also suffer from two main shortcomings. First, they do not provide real-time allocation and payment outcomes. Second, they are not suitable for user applications which require uninterruptible computing resources. Because in the case that users need their requested bundles for more than one unit of time, they may have to bid on each round. However, there is no guarantee that they can win in the upcoming rounds as well. Therefore, possible interruptions seem irresistible using some type of sequential auctions.
As a result, various online auction mechanisms have been proposed to address the above shortcomings, in which the allocation and payment decisions are made in real-time without any prior knowledge about the future. Indeed, each transaction takes place as soon as a new user request arrives or some cloud resources become available. Figure 7c shows that in an online auction users can submit their bids any time they want. Therefore, online auctions can better capture the existing dynamism in the cloud market compared to offline and sequential auction mechanisms. Because, firstly they reflect the fluctuation of supply-demand in real-time. Secondly, they allow cloud users to ask for resources whenever they need them, while their requests are processed immediately. Thirdly, they do not need to have any information or make any predictions about future.
However, the lack of future information in an online auction mechanism design brings a key challenge in pursuing truthfulness. For example, the direct extension of the classic VCG mechanism to an online auction breaks its truthfulness property [18]. Since, even in the presence of unlimited computational resources, the optimal allocation for the future cannot be calculated. As a result, various online auction mechanisms have been proposed in the recent years to overcome the above challenges.
Mashayekhy et al. [124] propose an online mechanism for VM provisioning, allocation, and pricing in clouds, considering several types of resources. The auction is invoked as soon as a user places a request or some of the allocated resources become available. Once a user wins in the auction, the mechanism allocates his required VM instances to him for the entire requested period.
Shi et al. [125] propose an online combinatorial auction which also models dynamic provisioning of heterogeneous VM types. In the proposed mechanism, first, a primal-dual algorithm is designed to decompose the online social welfare optimization problem into a series of one-round optimizations. Then, a randomized subframework is adopted that applies primal-dual optimization to translate a centralized cooperative social welfare approximation algorithm into an auction mechanism. Finally, a greedy primal-dual algorithm is applied that approximates the one-round social welfare optimization.
In [126], an online auction mechanism in a cloud spot market is proposed considering multi-unit of a single VM type. The mechanism is envy-free and has a high probability of being truthful. Along with the proposed auction, a new scheme is adopted for dynamically calculating reserve prices based on data center power usage effectiveness and electricity costs.
Zhang et al. [127] first design a novel bidding language to express users' heterogeneous requirement on their desired allocation time, application type, and valuation. Then, they propose a truthful online auction mechanism on top of the designed bidding language. Their proposed mechanism consists of two components. First, a payment-function-based payment rule which is uniquely determined by the allocation result and the request submission time. Second, an allocation rule that aims to maximize bidders' utility. Patel et al. [128] propose an online double auction for balancing the multi-objective trade-offs between energy, revenue, and performance in IaaS clouds. In this respect, they employ a weighted bipartite matching based algorithm for winner determination, and a VCG driven algorithm for payment determination. Table 5 consists of the major features, and pros and cons of the above studies.
Summary and Discussion. This section discusses different proposed auction models in cloud computing based on market clearance intervals, which are offline, online, and sequential auctions. Offline auctions are simpler to design, but they make a one-time decision assuming that all the information is available beforehand which is unrealistic. Sequential auctions clear the market periodically at specific time intervals, yet, similarly they are not capable of making real-time decisions. Moreover, some of the proposed sequential auctions allocate the resources to winning users only for one interval of time, and thus do not consider the time preferences of users. This clearly makes sequential auctions inappropriate for uninterruptible user applications. As a result, online auctions are preferred over offline and sequential auctions in general. Because, online auctions are in more consistency with real cloud markets in which the users can come and go on the fly over time. Moreover, they are able to respond user requests instantaneously. They also allocate VM instances to users as long as they require them. In other words, they avoid undesirable service interruption, unless the users ask for VM termination.

IX. AUCTION-BASED APPROACHES FOR INTER-CLOUDS
With the rapid growth in the amount and variety of computing resources required by data-intensive applications, it is expected that in the near future the cloud providers will not be able to fulfill many user demands individually anymore. However, rejecting the user requests due to the insufficiency of available resources clearly leads to both profit and reputation loss for the provider. Moreover, using a single cloud as the only service provider may lead to issues such as vendor lock-in and single point of failure [129].
Such emerging challenges have thereby arisen the idea of reshaping the business structure of cloud providers from single clouds to a network of interconnected clouds, termed as inter-clouds [130]. In other words, the expected future for the cloud market is more likely to be a market where cloud services are provided by several clouds, and standardization and interoperability between providers are widespread [34], [131].
In a typical inter-cloud, the disparate cloud providers will be thereby able to dynamically partner with each other to create a seemingly infinite pool of computing resources. Moreover, an inter-cloud can democratize the supply side of market through allowing small and medium-sized cloud providers to enter a fair competition. Beside to the all aforementioned advantages, the interoperability between clouds in an inter-cloud brings many other advantages such as, optimizing market profits, load balancing, preventing legal issues, avoiding vendor lock-in, improving availability, enabling disaster recovery, lowering access latency, decreasing operational costs, handling a burst of incoming jobs, enabling better application resilience, providing better SLA, and partitioning extra-large tasks between multiple providers which cannot be accommodated by a single provider [34], [132].
So far, different types of inter-clouds have been introduced in the literature including federated clouds, hybrid clouds, cloud-of-clouds, sky computing, aggregated clouds, multitier clouds, etc [133]. Although, the taxonomy is not well defined yet, there is a general agreement that there are generally two types of delivery models in inter-clouds: federated clouds and multi-clouds [133]; where the main difference is defined by the degree of collaborations between the involved Clouds. In particular, a cloud federation is formed as a result of cooperation among cloud providers to increase their own VOLUME 9, 2021 profit and the satisfaction of cloud users [134], [135]. In other words, in a cloud federation the cloud providers voluntarily choose to interconnect with each other to share resources. However, the existing collaboration is not realized by any user as each user will interact with only a single cloud and will have a transparent access to cloud resources. In contrast, in a typical Multi-Cloud, no volunteer interconnection or sharing of resources exist between clouds. Thus, the user or a trusted third-party would be responsible to acquire required resources from several independent clouds [133]. It should be mentioned that a very common type of multi-cloud is called hybrid cloud, which is often used in the case of cloud bursting. Figure 8 illustrates inter-clouds including a cloud federation, a multi-cloud, and a hybrid cloud. It also demonstrates how users can access different cloud environments.
Although the interoperability among cloud providers brings many advantages, managing such interactions are believed to be complex as the resources in inter-clouds are distributed and controlled by different clouds [136]. In this respect, auction mechanisms have been employed in the literature for the problem of cloud resource management and pricing in inter-clouds due to their simplicity, versatility, and economic efficiency. In the following, we review some of the major studies in the literature.
Lee et al. [137] propose a real-time group auction system based on a combinatorial double auction in the cloud instance market. In the proposed mechanism, multiple users are allowed to form user coalition in order to achieve discounted prices, while multiple providers can form a coalition in order to improve resource utilization by attracting more users. The proposed mechanism guides participants' through their cooperation decisions, i.e., when to or not to cooperate.
Li et al. [138] address the problem of VM trading and scheduling in a cloud federation. In this respect, they propose a double auction mechanism combined with a dynamic VM trading and scheduling algorithm. The dynamic algorithm is responsible for determining the best VM valuation in the auction, optimally scheduling stochastic job arrivals with different resource requirements and SLAs onto different data centers, and judiciously turning on and off servers based on the current operational costs. However, they do not address the undergoing competition on the user side.
Mihailescu and Teo [139] propose a reverse auction-based mechanism considering a centralized auctioneer. Hence, the auction is prone to single point of failure. Unfortunately, the steps of the proposed auction mechanism are not very well defined, and its properties such as IC and IR are not theoretically proved.
Hosseinalipour and Dai [140] study both the interactions between the customers and cloud managers, and the interactions between the cloud managers and the cloud providers. For the interactions between customers and cloud managers, the options-based sequential auctions is adopted. For the interactions between cloud managers and providers, a novel model for resource gathering is proposed which consists of two parallel markets: flat-price market and auction-based market. Table 6 summarizes the above studies, highlighting their main characteristics and pros and cons.
Summary and Discussion. According to what have been discussed in this section, the future cloud market is more likely to be a network of interconnected clouds to provide a seemingly infinite pool of computing resources. The network of interconnected clouds is usually referred as inter-clouds which can be further categorized into federated clouds and multi-clouds. However, inter-clouds research is still in its early stages and requires investigation in different aspects, such as resource management and pricing, security, privacy, collusion, energy efficiency, etc. Moreover, the effect of undergoing competition between users on the inter-cloud VM trading and the relation between front-end charging strategies and inter-cloud trading strategies require further studies.

X. AUCTION-BASED EDGE RESOURCE MANAGEMENT AND PRICING
As mentioned earlier in Section III, we are facing an exponential growth in the number of different IoT devices in the recent years. Nonetheless, the energy and resource constraints of such devices limit their capability to support many powerhungry, resource-intensive, and time-sensitive applications. Moreover, offloading such applications to conventional cloud infrastructures is not usually applicable due to existing long distances between the cloud data centers and the end users, imposing long communication latencies.
Along these lines, the concept of Edge Computing (EC) has recently emerged as a key technology that processes data generated from IoT devices at the edge of network [141], [142]. The geographically distributed computing resources at the edge of the network are usually referred as Cloudlets [62], which are actually trusted, resource-rich, Internet-connected computer or a cluster of computers, accessible via a highspeed WLAN. The close physical proximity of Cloudlets can thus be exploited to enable smoother interactions with the low one-hop communication latency. This is while sufficient number of Cloudlets should be deployed at the edge in order to satisfy the resource requirements of the users and preserve their quality of experience. In this regard, single or multiple Cloudlets may be assigned to each user depending on her requirements [77], [143]. Beside to the edge resource management issues, resource pricing should also be addressed in parallel. In fact, pricing strategies need to be tailored in conjunction with edge resource management, with respect to the preferences of users and Cloudlets. Because, in a real edge environment, IoT devices often have different valuations toward Cloudlets according to their spatial locations, or offered resources and QoS. On the other hand, the Cloudlets need to be rewarded which can work as a motivation to share their resources. Hence, there exists a trade between the mobile users requesting the services on one hand, and the Cloudlets providing the services on the other hand.
However, most existing works only focus on task offloading strategies ignoring the motivations of edge Cloudlets to offer services. This is while we deal with resource-poor computing facilities in EC, and not big data centers. Therefore, a main challenge in EC is the resource poverty at the edge which intensifies the undergoing competition among users for acquiring their required resources within their proximity. Therefore, similar to cloud computing, edge resource allocation and economics must be addressed jointly in order to improve system efficiency and motivate price-driven selfinterested users and Cloudlets.
Unfortunately, the existing auction based resource management and pricing mechanisms designed for cloud systems are not directly applicable to the edge computing systems.
It is because most of the proposed auction-based solutions for the cloud computing do not consider many features that are specific to edge computing such as resource-poverty and geographical distribution. Moreover, most of them do not consider the QoS requirements of the users which are of very high importance in edge computing.
In this respect, novel auction based mechanisms have been proposed in the recent years to address the problem of edge resource management and pricing. These studies have approached the aforementioned problem from different perspectives. We will review these studies and discuss their advantages and disadvantages in this section. As discussed earlier in Section III, different models of edge computing have been introduced in the literature including Cloudlets, fog computing, and MEC [55]. Here the proposed auction mechanism for any model can be simply extended for the other ones, i.e., attributed to the major similarities that exist between them.
In this respect, we reviewed the existing studies in this area based on the hierarchy levels of the deployed edge infrastructure and categorized them into two major groups. The first group of studies consider a flat infrastructure where computing resources are distributed at the very edge of the network. However, the second group includes those works which have assumed that computing resources are distributed at different levels of the network. We first review the studies which have considered a flat architecture, including our previous studies.
In [77], [144] we propose two-sided auction mechanisms to match edge resources to IoT devices regarding the QoS requirements of the users and the QoS guarantees of the providers. In [144], we assume that one type of VM is offered by the providers and present two QoS-aware double auction based solutions namely QMECS and M-QMECS. Our proposed auctions not only provide efficient resource allocation solutions to maximize obtained social welfare, they also ensure that the matching providers will be able to provide the required QoS by users. M-QMECS is the modified version of QMECS which can augment social welfare and avoid zero budget surplus compared to QMECS. We then extend our work in [77] considering multiple types of VMs, while preserving all the desired properties such as IC, IR, BB, and AsE. We also improve the computational efficiency of the proposed mechanism by grouping the users with similar QoS requirements in the matching process.
Kayal and Liebeherr [143] address distributed service placement in fog computing by employing an iterative combinatorial auction approach. They aim to find an efficient placement such that the energy consumption at fog nodes as well as communication costs of applications are reduced.
Zavodovski et al. [145] proposes a decentralized double auction mechanism which is inspired by a distributed trust model that smart contracts can offer. Along this, they can provide a secure distributed sealed bids auction framework without relying on a centralized auctioneer.
Abdulsalam and Hossain [146] propose a multi-attribute auction mechanism that considers QoS attributes as well as pricing. The proposed mechanism consists of two stages. In the first stage, the mechanism uses the bids to qualify providers based on the broker's reservation quality and determines the cost value of different attributes. In the second stage, the maximum score is shared by the broker in order to allow the providers to increase their bids.
Luong et al. [147] propose a forward auction mechanism based on deep learning for the problem of resource allocation in fog computing which is specifically developed to support blockchain applications. They assume a single provider and multiple miners in their setting, where the provider deploys fog nodes across the blockchain network to provide nearby computing resources to the miners.
Sun et al. [148] model the two-sided interaction between MEC servers and industrial IoT (IIoT) mobile devices (MDs) under the constraints of limited computing resource of edge servers and locality between edge servers and IIoT MDs. In this respect, they propose two double auction mechanisms, namely a breakeven-based double auction (BDA) and a more efficient dynamic pricing based double auction (DPDA). DPDA can achieve more system efficiency when the behavior of edge servers can be regulated by the provider; otherwise, BDA is preferred in order to maintain a healthier market.
Zhang et al. [149] propose a multi-round-sealed sequential combinatorial auction mechanism in a MEC environment with multiple providers and users. However, the proposed mechanism is not robust as it does not ensure truthfulness.
Zhang et al. [150] consider an ad-hoc Cloudlet and assume there are multiple MDs and IoT devices, and a dispatcher in the system. The dispatcher and MDs play the roles of the auctioneer and bidders, respectively. In this regard, they propose an online rewards-optimal auction to optimize the longterm sum-of-rewards for processing offloaded tasks, which is based on Lyapunov optimization and VCG auction.
Jin et al. [151] propose a two-sided auction mechanism to coordinate resource allocation and pricing between users and Cloudlets. They further extend their proposed auction mechanism to achieve higher system efficiency at the expense of losing truthfulness for the user side.
Wang et al. [152] propose a profit maximization multiround auction considering a trusted third party as an auctioneer. In their proposed model, first the users submit their resource requirement to the auctioneer and then the providers submit their bids accordingly to it. Next, the auctioneer performs winner determination and pricing based on the proposed auction mechanism.
Mashhadia et al. [153] propose an auction mechanism based on deep neural networks in order to maximize the profit of the edge servers, while satisfying the task processing delay and energy consumption constraints of MDs. In his respect, they design new penalty functions for the task computing delay and energy consumption constraints to guide the neural networks though feasible solutions.
Peng et al. [154] consider the case of vehicular fog computing and propose a multi-attribute based double auction to make vehicles/fog nodes willing to buy/sell resources. The proposed auction mechanism satisfies computational efficiency, individual rationality, budget balance, and truthfulness. However, the proposed auction mechanism is offline and thus does not allow client vehicles and vehicular fog nodes to dynamically join the auction in real-time. Table 7 summarizes the main features of the above studies. However, as we mentioned earlier in this section, another group of the proposed auction mechanisms in edge computing have assumed a hierarchical architecture of computing resources at the edge. In the following, we review this group of studies.
Kiani and Ansari [155] present the Cloudlet tier with three hierarchical levels by introducing the concept of field, shallow, and deep Cloudlets based on the principle of LTE-Advanced backhaul network. They consider a two time scale mechanism for the allocation of computing and communication resources as they argue that the traffic loads of the users change much faster than the economics of computing resources. In particular, computing resources are offered in an auction-based profit maximization manner in longer time frames, while the communication resources are allocated in shorter time slots such that the experienced delay by the users are minimized.
Gao et al. [156] consider a set of geo-distributed edge cloud nodes and a centralized cloud in their proposed model.  Then, they present an auction mechanism to solve the problem of VM resource allocation to mobile users with deadlinesensitive tasks. Their proposed mechanism consists of a greedy winning bid selection algorithm and a critical payment based pricing algorithm.
Bahreini et al. [157] consider a two-level edge computing system in which servers with different capacities are located in the cloud or at the edge of the network. Then, they propose an auction mechanism edge/cloud resource allocation and pricing. Their proposed mechanism combines features from both position and combinatorial auctions.
Tasiopoulos et al. [158] address the problem of provisioning heavily stateful Low Latency Applications (LLAs) over the fog infrastructure. They assume that computation resources are available at the edge and middle-tier of the network in the form of Cloudlets, and also at distant clouds. In this respect, they propose FogSpot, which is a pricing mechanism for on-path on-request LLA provisioning. In this mechanism, as LLA requests pass the Cloudlets towards the cloud, if the price of a market is less than the estimated QoS gain a LLA has, an available VM is allocated to it by the corresponding Cloudlet; otherwise, the request is rejected and continues its journey towards the cloud.
Finally, Aggarwal et al. [159] propose a multi-attribute combinatorial reverse auction, assuming local Fog, remote Fog, and Cloud in the system. In their proposed mechanism, response time, data source mobility requirements, and Fog resource limitations are considered together for resource allocation. Another novelty of their work is that instead of allocating all resources of the bundle, only the required resources are allocated to the customer with the bundle discount. Table 8 summarizes the aforementioned studies. Summary and Discussion. This section discusses the necessity of edge resource management and pricing. It also argues why proposed auction mechanisms for cloud computing cannot be directly applied in the context of edge computing as they do not consider many features specific to those of edge computing environments. It then provides a comprehensive review over the proposed auction mechanisms, categorizing them into two groups based on their adopted architecture, i.e., flat and hierarchical architectures.
One of the major drawbacks of the existing studies is that most of them do not consider the mobility of users in their model. This is however in contrast to real world situations in which the majority of edge users include mobile devices that can move arbitrarily in the environment. Therefore, more studies are required in order to address the mobility of users in edge computing environments and its effect on the quality of experience of users.

XI. OPEN CHALLENGES
As discussed in Section IV-C, auction mechanism design is a promising solution for market-based cloud/edge computing. Along this, auction based market is adopted by pioneers in the cloud industry, such as Amazon EC2's Spot market [79].
However, existing employed auction mechanisms still suffer from various drawbacks. For example, in the case of Amazon's Spot market, firstly it does not allow users to request different VM types at the same time. Secondly, it charges winning users at equal prices and thus under-exploits the payment potential of users. Thirdly, it is vulnerable to untruthful behavior by users [80]. Finally, Amazon's spot price is not likely to be market driven [81].
As we discussed throughout the paper, different auction based mechanisms have been proposed in the literature to address the problem of cloud/edge resource management and pricing from different perspectives to make them applicable in real world situations. For example, two-sided auction mechanisms are able to model the undergoing competition on both sides which is more in line with real world scenarios. Because, on one hand the users compete to obtain cheapest computing resources with highest QoS, and on the other hand the providers compete to gain more profit by attracting more users. Moreover, combinatorial auction methods allow users to demand multiple types of resources, which arise due to the variation in the real world applications that require different resource types as well. Further, online auction methods enable real-time solutions that are vital for edge computing, i.e., to provide low-latency computing services. Another mechanism is the multi-attribute auction that features additional attributes besides pricing, which allows it to provide an enhanced efficiency in the resource allocation process. Finally, different auction mechanisms based upon flat and hierarchical architectures have been proposed for edge computing environments, taking into account the various features associated with edge computing.
However, despite the significant advances in the literature, there are still multiple challenges that need to be addressed. Hence this section highlights some of these key challenges that require further investigation regarding the real world scenarios.

A. DYNAMICITY
An interesting venue of research for designing auction-based resource management and pricing mechanisms in cloud/edge computing is considering the dyanamicity in the requirements of the users and the availability of resources. Since, in a real world scenario most of the users demonstrate a dynamic model of requirement for the computing resources. In other words, the computing requirements of users are usually subject to change over time with regard to their computing tasks. Meanwhile, their QoS requirements or pricing desires may also change over different periods of time.
Cloud/edge providers show a very similar behavior as well. Indeed, the availability of their resources, QoS guarantees, and pricing preferences may vary over time. Hence, novel auction mechanisms need to be designed allowing the dynamicity in the preferences of the users and providers.

B. FALSE-NAME BIDDING
Many of the proposed auction mechanisms in the literature have considered incentive compatibility as a critical requirement in their work. However, just a few works have addressed false-name bidding which is another cheating pattern that can appear in the system.
False-name bidding happens when a bidder can increase her utility by submitting multiple bids under multiple fictitious names, which can lead to untruthful bidding and unfair scarcity [160]. It has previously emerged in various auctions running on Internet such as [161], [162]. Therefore, the same cheating behavior is inherent to breed in cloud/edge auctions. Hence, false-name-proof mechanisms should be designed to avoid false-name manipulations in cloud/edge environments under different scenarios.
In a false-name-proof mechanism, bidders are encouraged to bid truthfully under a single identifier, as the profit gain via false-name bidding is impossible. In other words, a falsename-proof auction guarantees that the price of obtaining a bundle of VM instances in a cloud auction would be smaller than or equal to the sum of prices of obtaining these instances separately by bidding under multiple fictitious names.

C. COMMUNICATION-COST AWARE AUCTION MECHANISMS
Multiple studies in the literature have considered the case of delivering the required resources of a single user by several providers. However, they do not account for the extra communication costs which can arise due to the placement of different VMs of a single requested bundle over distinct physical machines. This problem becomes apparent when different physical machines are located at very distant geographical locations from each other or the VMs placed on different physical machines exchange high amounts of data with each other. Also, there may be cases that the physical machines are close but the communication links are unable to transmit large amount of data for some reason such as data congestion. Hence, the deployed VMs on these servers will experience communication delay despite physical proximity. Therefore, more studies are required to design new auction mechanisms considering the communication costs in the proposed allocation model.

D. ENERGY-AWARE AUCTION MECHANISMS
One of the major issues in cloud/edge industry is to reduce energy consumption. Since, cloud data centers generally consume enormous amount of electrical energy, contributing to high operational costs and carbon footprints to the environment.
Although energy consumption is a major dimension being considered by the cloud providers while setting their prices, efficient approaches are also needed to be devised during resource allocation process to reduce energy consumption and its imposed extra costs. For example, a very important factor in reducing energy consumption is to provide load balancing. Thereby, clearly addressing the efficient placement of VMs over different servers during auction mechanism design can lead to load balancing and subsequently provide energy efficiency.
Unfortunately, existing auction mechanisms have rarely considered energy efficiency in their proposed models. Therefore, an interesting venue for future researches can be designing of energy-aware auction mechanisms.

E. COLLUSION
In a typical cloud/edge environment, efficient mechanisms are needed to be designed to manage the interactions between different users and providers. Such mechanisms should also be able to prevent any misbehaviour by the rational users and providers who may intentionally collaborate to manipulate the system towards their own interests. In other words, different cloud/edge users and providers may collude with each other in order to increase their benefit. For example, consider the case of VCG-based pricing in which multiple users may collude so that the winning user acquires his required resources with a lower price. Hence, collusionresistant mechanisms need to be designed to avoid such misbehavior.

F. SECURITY
Multiple security issues are likely to occur in an auctionbased cloud/edge market, e.g. bid packet loss or broker exposure to a DoS attack. Such problems can thereby lead to user dissatisfaction due to the service unavailability.
Some aspects of security can be considered as one of QoS dimensions offered by the providers and thus implemented by means of multi-attribute auctions as discussed in Section VII. However, other solutions need to be devised for problems like DoS attack to a broker in order to avoid the failure of whole system or auction process. Hence, each security issue needs to be addressed properly in order to provide user satisfaction.
Unfortunately, existing auction mechanisms lack such security considerations in their proposed models and thereby there exist a research gap in this area. In this respect, efficient auction mechanisms need to be designed considering different security aspects to fill this gap.

G. DECENTRALIZED AUCTIONS
Different auction mechanisms may face scalability issues as the number of user requests or the variety of resource types increases. Moreover, auction mechanisms which are run by a single broker are exposed to the single point of failure. In this respect, decentralized auctions can overcome such problems by making allocation and payment decisions in a distributed manner.
In particular, the decentralized nature of edge computing infrastructure suggests even a much more suitable platform for developing distributed solutions compared to the centralized structure of classical cloud computing. Clearly, this will be accompanied by other challenges such as data sharing, privacy issues, etc. Hence, much more studies are required in this venue.

H. VARIETY IN THE SERVICES
Cloud/edge providers can provide a variety of different services such as IaaS, PaaS, SaaS, and lately XaaS. However, most of the previous studies have only considered the case of IaaS. Therefore, there is a need for new auction mechanisms which can allow for offering a variety of services by the providers.

XII. CONCLUSION
This paper has presented a comprehensive survey on auction based mechanisms for cloud/edge resource management and pricing. First, we have provided a review on fundamental concepts of cloud computing, edge computing and auction mechanism design. Then we have clarified how auction mechanism design can be used as a promising solution for cloud/edge resource management and pricing. Afterwards, we have provided detailed reviews, comparisons and discussions of the proposed auction mechanisms. Different twosided, online, multi-attribute, and combinatorial auctions have been proposed in the literature to address different real world demands. Also, various auction mechanisms have been presented specifically for inter-clouds and edge computing environments. However, despite the achieved advances that have also led to the adoption of auction based mechanisms in the cloud industry, several challenges are still remaining which require further investigation. We have finalized our paper by presenting these open challenges in order to shed lights for future works.
NAFISEH SHARGHIVAND received the B.Sc., M.Sc., and Ph.D. degrees in computer engineering from the University of Tabriz, Tabriz, Iran. She is currently a Lecturer with the Department of Computer Engineering, University of Tabriz. Her research interests include cloud and edge computing, the Internet of Things, game theory, mechanism design, machine learning, and multiagent systems. NAZLI SIASI (Member, IEEE) received the M.S. and Ph.D. degrees in electrical engineering from the University of South Florida, FL, USA. She is currently an Assistant Professor with Christopher Newport University, Newport News, VA, USA. Her research interests include virtualization, and cloud and edge computing. VOLUME 9, 2021