1. Introduction
Over the past few decades, cloud computing has emerged as a new technology in the information technology industry [
1]. This technology provides users with many resources and services based on user demand [
2]. Cloud Computing (CC) services are offered in three categories: infrastructure as a service, platform as a service (PaaS), and software as a service (SaaS). Google Docs, Google App Engine, and Amazon Elastic Compute Cloud (Amazon Ec2) are examples of the most popular cloud computing services [
3]. The complete list of abbreviations is provided in Abbreviations at the back matter. The concept of CC has become increasingly popular among users due to its remarkable features, such as its exceptional computing power, its affordability advantages, and its remarkable adaptability. Users have the ability to utilize cloud computing resources without the need to invest in costly hardware and software. Instead, they can simply pay for rental services based on the terms outlined in the Service Level Agreement (SLA) provided by the cloud service providers [
4]. The SLA is formulated as a formal commitment between the user and the provider to compensate the users if the provider fails to provide the expected level of service [
5].
Despite the advancements in cloud computing technology over the years, there remain numerous challenges that must be confronted. The services provided by the cloud providers are not free, and customers have to pay a fee based on the amount of resources and the length of time they are used. The cloud pricing plan has a significant impact on the system’s economic benefits. Pricing policies in the cloud are in two fixed and dynamic types. Fixed pricing is a tactic wherein a price is set and upheld for services throughout a particular timeframe. This price can be determined based on hours of resource usage, gigabytes of data storage, etc. Usage-based and subscription-based are examples of fixed pricing strategies [
2]. In the context of dynamic pricing, individuals are charged for the services they receive in accordance with the specific features of the service, the characteristics of the user, and the interplay between the supply and demand within the market. Although a dynamic pricing strategy imposes more computational overhead, it also has more economic benefits [
6].
Resource allocation and pricing have consistently posed significant challenges for researchers in the cloud, owing to its intricate, extensive, and fiercely competitive landscape. Cloud providers aim to enhance their resource utilization while ensuring customer satisfaction and loyalty in order to maximize their revenue.
The aim of this study is to introduce a just pricing approach derived from game theory. The suggested approach determines the price by considering the users’ resource usage and the expenses incurred by the providers, such as the costs of purchasing and maintaining resources. Additionally, the proposed pricing method takes into account some novel factors that significantly influence the operational costs in cloud computing. These factors include the amount of power consumed for each user’s request, the likelihood of successful job execution, and the interactions between virtual machines when they are allocated on the same resource. The game-based pricing method also considers the market supply and demand to provide a more precise and fairer price.
Game theory offers a structured framework for mathematically representing and articulating decision problems involving multiple agents. This theory provides a platform to examine different strategies of decision-making agents and determine their optimal decisions [
7]. Various formats have been proposed to model a decision problem in this theory, two of the most widely used being static and dynamic games. A game is defined as a trio of decision-making factors, their set of possible strategies, and the profit functions of each one. In games that are static, the decision-makers lack knowledge of each other’s decisions. In simpler terms, their decisions can be presumed to occur simultaneously. However, in dynamic games, the agents’ decisions have an order, and the decision-maker in each stage of the game is aware of the decisions of other agents in the previous stages.
Dynamic games are commonly depicted using a decision tree, wherein each node defines a decision state and each edge signifies a potential action in that state for a player. The optimal decision for each player is determined by finding a situation where no player is willing to change his decision if the other players’ decisions are stable. This situation is called the Nash equilibrium point [
7]. To tackle dynamic games, we begin by addressing the sub-games at the lowest level in the tree. Through solving these sub-games, we eventually reach the tree’s root. This way of solving a tree is called backward induction.
Therefore, the main contributions of this research can be stated as follows:
Providing a comprehensive model for cloud pricing based on dynamic games in game theory.
Taking into account a broader range of factors that impact the price, including energy usage, the likelihood of a job being successfully completed, and the influence of one job on the execution of others. For instance, if a CPU-intensive task is run during a time when the cloud is experiencing a high computational load, it can result in higher costs for the service provider. This aspect should be taken into consideration when determining the pricing.
A comprehensive comparison of the proposed method compared to related tasks with different scenarios.
The remaining part of the paper is structured in the following manner:
Section 2 presents a thorough examination of the most recent literature on pricing methods.
Section 3 provides a detailed description of the proposed game-based pricing method and the preliminaries required. The experimental results and performance evaluation of the proposed method are discussed in
Section 4. The performance of the proposed method is evaluated in comparison with other recent pricing methods based on the simulation study. Finally,
Section 5 concludes the paper with a summary.
2. Related Work
In this section, a review of related works about pricing models in cloud computing environments is presented. Previous studies, including [
4,
8], have presented and contrasted various pricing techniques within the domain of cloud computing. Auction-based pricing, also known as dynamic pricing, is a widely used pricing mechanism for cloud services [
9,
10,
11,
12].
In [
13], the authors proposed the online extended consensus revenue estimate mechanism for conducting a recurrent, multiunit, and single-price auction in the Infrastructure as a Service (IaaS) cloud resource setting. This mechanism is both envy-free and truthful, and it is capable of generating profits that are close to optimal. It incorporates a system for dynamically determining reserve prices based on the Power Usage Effectiveness (PUE) of the data center and the costs of electricity. Through the use of simulation-based assessment, its efficacy has been proven across a range of market conditions, surpassing the conventional uniform price auction. The authors also investigated the importance of prior knowledge in maximizing profit by considering the execution time of virtual machines. A small-scale experimental study involving ten users has confirmed the truthfulness of this mechanism in a real-world testing environment.
In [
9], a double-auction pricing model named Combinatorial Double Auction Resource Allocation (CDARA) was proposed to balance profit between user and provider. In [
10], the CDARA model has been improved. In order to achieve a higher level of fairness, this model takes into account not only the price but also other parameters related to the quality of service during the resource allocation process. If the provider does not meet the required service quality, it imposes penalties on providers and diminishes their reputation. In [
11], the resource allocation problem was formulated as a linear programming model to maximize the total profit of users and providers using a combinatorial double auction-based pricing mechanism. In [
12], a QoS-based auction method was proposed, which attempts to dynamically determine the price based on the quality of service parameters (such as availability) to increase the provider’s profit.
Performance-based pricing is another approach in which cloud providers are paid based on the actual consumption of their resources. For example, Lucani et al. proposed a pricing model according to the CPU capacity consumed by the user application [
14]. They considered the number of CPU cores and the selected CPU frequency in the pricing model. Similarly, another study conducted by Aldossary et al. put forth a pricing policy that takes into account the quantity of energy consumed as well as the real usage of resources per unit, including memory, network, and disk. For this purpose, a mathematical approach has been used to calculate energy consumption and resource usage [
15].
The distinction between customers and using incentive mechanisms has always been the focus of pricing methods. For example, Chi et al. proposed a fairness-aware pricing model to increase the profitability of cloud infrastructure providers [
16]. They offered lower prices to the customers whose requested resources could be allocated efficiently to encourage them to use cloud services more. Using algorithms from financial option theory, Sharma et al. proposed a pricing architecture for cloud services. A commonly used equation, known as the compound–Moore’s law, was put forward to calculate the cost using factors like the properties of resources, the rate of inflation, and the decline in value. They also used a genetic algorithm and fuzzy logic-based approach to measure the potential loss of cloud providers [
17].
The law of supply and demand in marketing is another basis for determining cloud service prices. Cong et al. proposed a dynamic model that determines the price for cloud services according to the real supply-and-demand relationship. They employed closed-loop control mechanisms to dynamically modify the price for cloud services. They also considered penalties for SLA violations by the provider and rewards for users who are not sensitive to delay [
5]. Similarly, in [
18], the authors also proposed a value-based pricing solution that uses a hedonic regression model to estimate how much a customer is willing to pay for the cloud service.
The amount of energy consumed is another important factor that has been considered recently in pricing methods for achieving a fairer price and making computation greener [
15,
19]. For instance, Qiu et al. have introduced a pricing solution based on greediness in order to decrease energy usage in cloud computing and transition towards environmentally friendly cloud computing [
19]. They showed that the price of resources should be proportional to their energy consumption.
Several dynamic pricing models have been conducted based on game theory [
20,
21,
22,
23,
24,
25]. In [
20], the authors suggested a framework for the cloud computing market to make the market uniform and competitive, whereby users can purchase resources from different companies and flexibly exchange their idle resources. Then, a static game-based pricing method is proposed to mathematically model the pricing problem and develop an optimal strategy for the user and cloud provider.
In a study of price competition in a diverse cloud market, the authors examined the rivalry between cloud service providers (CSPs) and cloud users [
21]. They devised a two-stage non-cooperative game, where CSPs established prices to maximize their revenue in the first stage. By using an iterative algorithm, they obtained Nash equilibrium prices and analyzed the convergence properties. In the second stage, cloud users opted for services based on performance and price, employing an evolutionary game approach. The result demonstrated that the rate of arrival or resource capacity had a more substantial impact on the CSP side, influencing equilibrium prices and utilities, as opposed to the cloud user side, which affected user cost and arrival rates.
In [
26], a framework was introduced that acts as an intermediary between multiple cloud platforms to facilitate the processing of large-scale data streams. This framework offers cloud services for streaming big data processing to users. The process includes renting computer resources from various cloud services and providing users with different service interfaces. To increase income and reduce potential harm, a strategy called Pricing–Repurchasing is created. This strategy involves forming long-term rental agreements with customers. The Pricing–Repurchasing problem was mathematically formulated as a two-stage leader–follower game (Stackelberg), and the equilibrium was thoroughly analyzed. The simulations were conducted to evaluate the effectiveness of the pricing strategy, demonstrating that it generates more revenue for the intermediary than other approaches.
The authors in [
22] formulated the problem of setting prices for cloud web services with a collaborative game theory approach. They concluded that cloud platforms can co-exist if they adopt the same pricing strategy.
In [
27], the authors explored the issue of maximizing revenue in the context of SaaS and IaaS providers. They depicted this issue by viewing it as a Stackelberg game and examining the presence and uniqueness of the game equilibrium. Furthermore, examining the influence of resource prices on the users’ desire to utilize the service was conducted, and a dynamic pricing strategy was proposed to maximize the revenue for both SaaS and IaaS providers. By performing simulations, the results demonstrate that the proposed strategy surpasses fixed pricing and auction-based pricing mechanisms in terms of revenue maximization and resource utilization.
Ref [
28] roposed a pricing strategy that aims to achieve fairness for cloudlet resources. The goal is to find a middle ground that satisfies the needs and desires of both Cloudlet Infrastructure Providers (CIPs) and maximizes overall profits [
28]. They introduced a model based on game theory that considers the initial quotes, idle resource rates of CIPs, and the overall profit of the Cloudlet Federation (CLF). The strategy for adjusting prices takes into consideration demand-side psychology and the rate at which the game process converges. The research demonstrates the existence of a solution that achieves Nash equilibrium and introduces an algorithm, known as the game pricing approach based on selection times, to solve the model. The results indicate significant improvements in total profit (more than 20%) and resource utilization (over 50%) than existing methods.
A study in cloud manufacturing examined three resource-sharing strategies: independence, alliance, and co-operation with a cloud platform operator [
29]. The research examined how these strategies affected meeting client needs. The findings, represented as a two-stage Stackelberg game, showed that when suppliers formed an alliance, the system profit decreased compared to when they shared independently. This contrasted with the platform operator’s preferences. The analysis also highlighted the complexities involved in task and profit allocation when multiple suppliers were involved. Suppliers with lower prices had the advantage in tasks and profits based on varying marginal prices. These findings guide suppliers in choosing appropriate resource-sharing strategies in cloud manufacturing.
In [
30], a hybrid approach was used to optimize fair prices of resources through a stock market-based technical analysis and maximize resource utilization using Stackelberg output volume in a cloud service provider pool. The experiment incorporates three price rebalancing methods: exponential moving average, pivot point analysis, and relative strength index. The proposed approach ensures higher revenues and improved utilization rates for service providers while subscribers benefit from fair prices and enhanced resource availability. Overall, this solution offers advantages to both service providers and subscribers as it optimizes revenue, enhances resource utilization, and guarantees equitable pricing and resource availability.
As mentioned above, cloud pricing policies can be categorized as fixed and dynamic. In selected methods, the price cannot be well adapted based on the supply and demand of the cloud market. Therefore, lower economic profit and customer satisfaction are expected for fixed pricing strategies compared to dynamic ones.
Therefore, the purpose of this paper is to introduce a pricing method based on dynamic game theory. This method aims to enhance the fairness of the estimated price and simultaneously maximize the profit of the provider and the satisfaction of the customer. The proposed method is modeled using a dynamic game framework. The game is defined between the provider and the user. The effect of other cloud providers and market conditions is seen as the relation of supply and demand in the proposed method. The proposed approach takes into account a wide range of factors that affect the price, including energy consumption, the quantity and duration of resource usage, depreciation, and maintenance expenses, in order to achieve a price that is as fair as possible. Furthermore, virtual machines’ performance interference effects and failure probability of cloud resources are incorporated into the proposed pricing method as two new influencing factors.
5. Experimental Results: Performance Evaluation of the Proposed Method
The performance of the suggested pricing model has been assessed by comparing it to the approaches presented by Chi et al. [
16] and Dabbagh et al. [
39]. These two past works have been chosen as competitors due to their proximity in assumptions and goals. The proposed method in [
16] seeks to increase the efficiency of cloud resources to guarantee the profit of the cloud provider in this way. At the same time, by reducing the price for customers whose requests for the cloud can easily be met, it also seeks to satisfy the user. In the method that has been suggested, users whose requests are not easily met will experience an increase in price. In this work, the relationship between supply and demand in the market has been considered. However, the impact of energy consumption on the price has not been taken into account in comparison to the suggested approach. The method presented in [
39] seeks to increase the profit of the cloud provider by increasing resource efficiency and reducing energy consumption. In this work, energy consumption has been considered an important factor in the current costs of the cloud. The method presented in this article only considers the problem from the point of view of the cloud provider and does not take into account user satisfaction, the relationship between supply and demand, and the effect of price on it, as well as the chance of success in executing a request.
The proposed model was implemented using the NetBeans integrated development environment and the CloudSim 4.0 simulator [
40]. In the simulation, the cloud provider has several physical machines with various hardware characteristics. One hundred user requests have been considered to be submitted to the system through the simulation period. The implementation parameters are considered the same as shown in
Table 1.
Each physical machine is a powerful server that consists of several computing elements. Therefore, multiple virtual machines can be assigned to one physical machine simultaneously. Physical machines are seen as diverse and therefore possess varying resource attributes, as illustrated in
Table 1. The resource broker, which is in charge of constructing the game tree and resolving it, possesses comprehensive knowledge regarding the physical machines and their attributes. Furthermore, the broker maintains a continuously updated inventory of the resources accessible on each physical machine. Having such information helps the broker determine all the candidate virtual machines. An example of a user’s request is shown in
Table 2. During the simulation period, it is important to mention that none of the 100 user requests under consideration should be submitted to the system. A number of the requests that are submitted to the system follow a simple linear supply-and-demand model.
5.1. Evaluation of the Proposed Method in Terms of Users’ Profit
Users’ profits are defined as the amount of money left over from their budget after their request is met by the system. In order to ensure a more equitable assessment, the mean quantity is presented in
Figure 4. Since the number of users who submit their requests to the system can be different based on the supply-and-demand model and the pricing method applied, the average amount of profit per user would be a better comparison criterion. It is calculated based on the following equation:
where
indicates the total number of requests submitted to the system and fulfilled during the simulation time. The other parameters are described in the previous sections.
As can be seen, the average amount of profits users gain by the proposed approach, and the method proposed by [
16] are the same. However, with this difference based on the supply-and-demand model employed, the total number of requests submitted to the system during the simulation period is 94, 98, and 85 for the proposed method, and the approaches proposed by [
16] and [
39], respectively. It should also be noted that 93, 86, and 85 requests from the submitted ones have been fulfilled during the simulation period, respectively.
The method proposed by [
16] has primarily focused on enhancing the users’ profitability, which has led to noteworthy advancements in this aspect, as depicted in
Figure 4. Their method usually offers the lowest price per time unit for the virtual machines; however, considering the conflicts between virtual machines and heterogeneity in resources by the proposed method results in better mapping of the jobs and thus usually a lower execution time. This is why the final cost for users is reduced in the proposed method and the users experience almost the same profit in the proposed method and the one proposed by [
16].
5.2. Evaluation of the Proposed Method in Terms of Provider’s Profit
Considering conflicts between virtual machines, heterogeneity in resources, and energy consumption costs helps the broker reduce the operational costs of the cloud provider and increase the success rate in performing users’ requests. As mentioned in the earlier section, the broker considers these parameters while creating the game tree and determining the players’ utility for every potential action. By carefully considering different factors while allocating users’ requests to virtual machines and setting a price for those virtual machines, the cloud provider can not only increase its revenue but also its profit. The total revenue of the provider is calculated using the following formula:
where
indicates the total number of requests submitted to the system and fulfilled during the simulation time. The cloud provider’s utility (
) is calculated based on Equation (1) and
represents the financial penalty paid by the cloud for the
request if it fails to perform successfully. It is assumed that in the case of violating SLA, the provider must refund the total funds received to the user. Since the operating costs of the system can be changed with different policies for mapping and executing requests, the provider’s profit is also calculated by reducing the expenses from revenue (Equation (12)).
The parameter “
” denotes the expenses that correspond to the energy consumption required for executing the request. These expenses are calculated using Equation (7). The performance of the proposed approach, in comparison to other methods, is displayed in
Figure 5 and
Figure 6. These figures showcase the provider’s total revenue and profit from different perspectives.
As shown in
Figure 6, the proposed method is more successful in performing users’ requests with lower energy consumption. This conclusion is based on the fact that the results shown in
Figure 6 are obtained according to Equation (12) by deducting the costs related to energy consumption from the cloud revenue (i.e., the results shown in
Figure 5). The mapping obtained from the Nash equilibrium point results in reduced energy consumption and sometimes a reduced response time to user requests. This leads to more profit for the cloud provider.
5.3. Comparing the Number of Submitted and Unanswered Requests
The proposed method has offered a higher price to the users than the method presented in [
16] and a lower price than the method presented in [
39]. As a result, the number of requests submitted to the system during the simulation period must be a number between the input loads for the other two methods (you can see this issue in the results presented for the number of submitted requests in
Section 5.1). The reason for this higher price could be the inclusion of operational costs in the utility functions of the players. On the other hand, considering the heterogeneity of hardware resources and conflicts between virtual machines in constructing the game tree leads to better job mappings and thus resource utilization. The strategy of Nash equilibrium assists the cloud provider in making the most advantageous decision when selecting a suitable virtual machine for the user’s request and offering it to the user at a fair price. Assigning efficient virtual machines to user requests has resulted in more requests being submitted to the system and answered within the simulation interval.
Figure 7 shows the total number of submitted and responded-to requests during the simulation interval. As can be seen, the proposed method has the highest number of answered requests than the other competitive methods. Offering a higher price by the method presented in [
39] ended up reducing the number of submitted requests. Therefore, the system was able to answer all the requests. In contrast, the price reduction in the method presented in [
19] has led to an increase in the number of requests, and due to the lack of proper allocation of requests to virtual machines, we see a higher number and rate of unanswered requests compared to other methods.
5.4. Comparison under Different System Loads
A good pricing algorithm should perform well in different system loads. The algorithm must respond appropriately to the decreases and increases in demand. During the simulation period, the consideration of different system loads leads to a variation in the number of requests that should be submitted in each simulation run.
Figure 8 and
Figure 9 depict the mean profit of users as well as the overall profit of the cloud provider when faced with varying system loads, respectively.
As can be seen, the performance of the proposed method is better than the two other methods in terms of both average user profit and total provider profit for different loads. The superiority of the proposed method in lighter loads compared to other competitors is also more evident. The reason for this behavior is that in a light workload, the options ahead to allocate the appropriate resource to a request are more, and the maneuverability of the proposed method is higher. Since the proposed method has a more comprehensive view of the factors influencing the finding of a good resource and its appropriate price, compared to the other two methods, increasing the number of options ahead will naturally lead to better performance as expected. The method presented in [
16] increases the profit of users due to offering a lower price so that at the highest system load, it has the best performance in this regard among different methods; still, on the other hand, it results in the lowest profit for the cloud provider. On the other hand, the proposed method, considering more parameters that are effective on cloud operating costs and resource efficiency, while providing a fairer price, has also followed a more appropriate mapping of tasks. Therefore, in all cases, both the profit of the user and the profit of the cloud provider have increased.
The experiments that were conducted demonstrate that taking into account a wide range of factors in the pricing model for cloud services can contribute to creating more equitable and lucrative prices for both users and cloud providers. Acceptance of a task with a high chance of failure due to the penalties it can bring to the provider should be considered in the pricing model. It should be acknowledged that the factors taken into account in this study (specifically, the likelihood of achievement, the level of energy utilized, and the potential disruption among tasks) might not be readily and promptly accessible. As mentioned, many researchers have investigated and predicted these factors, but usually, determining the amount of their effects is associated with computational overhead and inaccuracy.
6. Conclusions
Since the advent of clouds, choosing the right price for the services offered by this large-scale computing system has been a challenge. Considering all the various factors such as supply and demand, operating costs such as electricity bills, the possibility of a resource failure and the resulting financial and operational losses, and heterogeneity of resources in terms of the ability to execute different programs in a comprehensive pricing model is an issue that is less common in the past related work.
In this paper, we propose an approach based on game theory that offers a formal framework for examining various factors that are effective in resolving resource allocation and pricing issues. The proposed approach models these problems as a dynamic game between cloud user and provider. Since it is ultimately the user who decides whether or not to rent a resource from the cloud, we consider the user to be the leader of the game and the player who has priority in the decision. Various factors have been considered in the players’ profit functions to help bring the model closer to the real situation. The resource broker, who is responsible for resource allocation and management processes, constructs and solves the game tree. The simulation results demonstrate that the proposed method is superior in reducing the operating costs for the cloud provider, even though it offers a reasonable price for renting resources to users compared to previous related methods. Paying attention to a more comprehensive set of factors affecting the execution costs of running a job by a cloud has helped the proposed method perform better than related works. However, a more precise assessment of the impact of these factors can enhance the effectiveness of the proposed approach. Extensive research has been conducted to ascertain the level of mutual influence between jobs in their execution, anticipate the energy consumption of the jobs, and assess the likelihood of successful execution. Nevertheless, further investigation in this area is still necessary.