60 International Journal of Advanced Network Monitoring and Controls Volume 02, No.2, 2017 Optimal Pricing Strategies for Resource Allocation in IaaS Cloud Zhengce Cai a, Xianwei Li*b,c a Department of Information Service, Anhui Business College, Hefei, China, 230000; b School of Information Engineering, Suzhou University, Suzhou, China, 234000; c Global Information and Telecommunication Institute, Waseda University, Tokyo, Japan Email: *lixianwei163@163.com Abstract. In cloud computing environment, pricing is an effective method for resource allocation and it provides efficient incentive for cloud providers to provide cloud services. In this paper, we investigate two pricing schemes for the allocation of cloud resources in a monopoly cloud market subject to constrained capacity of the cloud provider. There are two main pricing schemes, on-demand and reserved pricing mechanisms adopted by leading cloud providers, i.e., Amazon and Gogrid. We analyze how cloud users make their choice decisions to subscribe to cloud resources under different pricing schemes. Keywords: Cloud computing, pricing schemes, resource allocation, revenue, utility 1. Introduction Cloud computing has received a great deal of attention in both research and engineering fields, and the use of cloud services has become more and more wide. Fig .1 illustrates the application of cloud services [1]. The definition of cloud computing is an open topic and it can be defined by several ways, one popular recognized definition proposed by Buyya et al. [2] is: Computers that are dynamically provisioned and presented as one or more unified computing resources based on “a cloud is a type of parallel and distributed system consisting of a collection of interconnected and virtualized service-level agreements established through negotiation between the service provider and the consumers. Cloud services can be categorized into three main types [3][4], Infrastructure as a Service (IaaS), Software as a Service (SaaS) and Platform as a Service (PaaS), among which IaaS and SaaS are more commonly used, therefore, most of the current works focus on study resource allocation in IaaS and SaaS clouds. In IaaS cloud context, such as Amazon EC2, physical resources (memory, disk, and CPU et al) are virtualized into different types of virtual machines (VMs), and the computational resources are leased to cloud users in the form of VM instances, as shown in Fig .2. Table I shows some configurations of VM instances in Amazon EC2. In PaaS cloud context, such as Google App Engine, cloud users can develop and run their applications on a computing platform. In SaaS cloud context, cloud users can access the applications which are delivered over the Internet. Optimal Pricing Strategies for Resource Allocation in IaaS Cloud 61 The rest of the paper is organized as follows. In the second section, we study optimal pricing for revenue maximization by making use of game theory to investigate the relationship between cloud provider and users. We do simulations to verify our analysis in the third section. Conclusions and future works are given in the last section. Figure.1 The uses application of cloud services [1]. Figure.2 An illustration of IaaS cloud 2. Pricing for Revenue Maximiztion We study optimal pricing for revenue maximization in a monopoly cloud market in this section. First, we analyze how to make choice decision given different prices and pricing schemes of VM instances. Then, we will study how to set optimal prices in order to maximize the revenue of cloud providers while meeting cloud users’ satisfactions. 2.1 Cloud Users’ Choice with Different Pricing Schemes As illustrated in Table II and Table III, even for the same type of instance, cloud users have to make a decision about how to choose the suitable pricing schemes. In order to help cloud users make right decisions, we first analyze which pricing scheme cloud users should choose. Suppose that a cloud user wants to buy t hours to process his/her service requests. Take m1.small VM instance of Amazon EC2 as an example, the price that he/she has to pay is $0.048t, and the reservation price per month is $21.9. By setting 0.048t=21.9, we can get t ≈ 456hours. This means that if total time of the usage of the m1.small VM instance are less than 456hours in one month, it is better for this cloud user to adopt on- demand pricing scheme, otherwise, it is better for this cloud user to adopt reservation pricing scheme. If this cloud user choose to buy the similar type of VM instance in Gogrid, for example, X-Small, the 62 International Journal of Advanced Network Monitoring and Controls Volume 02, No.2, 2017 total money that he/she has to pay is 0.03t under on-demand pricing scheme, and the reservation price is $16.43 per month, by setting 0.03t=16.43, we get t ≈ 548 hours. This means that if total time of the usage of the X-Small VM instance are less than 548hours in one month, it is better for this cloud user to adopt on-demand pricing scheme, otherwise, it is better for this cloud user to adopt reservation pricing scheme. We summarize the above analysis results in Table IV. Fig .3 further illustrates the adoption option under on-demand and reservation pricing schemes. 2.2 Cloud Users’ Decision Choices We next study how how to set optimal prices in order to maximize the revenue of cloud providers while meeting cloud users’ satisfactions. Assume that there is a cloud provider with total capacity C selling cloud resources in the form of VM instances to a potential number of cloud users, and the price of per VM instance is charged with p $/h under on-demand pricing scheme. Each cloud user is denoted by θ, which is uniformly distributed in [0, 1]. Table 1 Configurations of Amazon EC2 VM Instances Table 2 Prices of some Amazon EC2 VM instances Instance Types CPU Storage (GB) Memory (GiB) m1.small 1 160 1.7 m1.large 2 2*420 7.5 m2.xlarge 2 420 17.1 m3.xlarge 1 4 3.75 c3.2xlarge 8 160 15 Instance Types On-demand pricing(Hourly) Reservation pricing(Monthly) m1.small $0.048/h $21.9/m m1.large $0.385/h $89.79/m m2.xlarge $0.27/h $89.06/m m3.xlarge $0.293/h $152.57/m c3.2xlarge $0.462/h $234.33/m Optimal Pricing Strategies for Resource Allocation in IaaS Cloud 63 Table 3 Choice decision for cloud users We model the interactions between cloud providers and users as a stakelberg game [10], which is illustrated in Fig 4. In the first stage, cloud provider makes their price decisions, and in the second stage, cloud users make their selection decision choices. We make use of the backward method and first analyze cloud users’ decision choices. Given the price of that VM instance p, a cloud user that requires xi VM instances will pay pxi, and his/her net benefit can be expressed as θu(xi) – pxi (1) where u(xi) is the utility that this cloud user gets. We model u(xi) by the following utility function which is widely used in the literature [11], u(xi)= xiα (2) where α is an elasticity parameter, which lies in (0,1). Fig. 5 illustrates how users’ utilities vary with different values of α. From this figure we can observe that α reflects the elastic demand of this cloud user, that is, the percentage change of demand to the percent change of price, and cloud user will get more utility if the value of the elastic parameter is higher. It is known that the elasticity of the above utility function is 1/(1-α). For the cloud users, they will choose to subscribe cloud resources if and only if their net benefits are nonnegative, which implies that, θxα – px ≥ 0, (3) from which we can obtain a critical value θ0, and the cloud users whose values are distributed in [0, θ0] will not to subscribe to the cloud resources, and the users whose values are distributed in [θ0, 1] will choose to use the cloud services. The cloud users’ problem can be expressed by ( ) –ax[ ]m u x pxθ (4) s.t. x ≥ 0 Instance Types Hourly Monthly m1.small Usage <456hours Usage 456hours X-Small Usage <548 hours Usage 548 hours Medium Usage <456hours Usage 456hours Large Usage <581hours Usage 581hours X-Large Usage <546hours Usage 546hours 64 International Journal of Advanced Network Monitoring and Controls Volume 02, No.2, 2017 Figure.3 Illustration the adoption option. Figure.4 Stakelberg game in the monopoly cloud market. 2.3 Cloud Provider’s Pricing Decision We will study how to set optimal prices in order to maximize the revenue of cloud providers while meeting cloud users’ satisfactions in this subsection. Pricing provides an economic incentive for cloud providers and it ensures the success of cloud computing. For the cloud provider, its objective is to maximize its revenues, which is the total pay from cloud users. The cloud provider’s problem can be formulated as follows, 1 max N i i p xπ = = ∑ (5) s.t. 1 N i i x C = ≤∑ ( ) –0i iu x pxθ ≥ xi ≥ 0 The first constraint of problem (5) ensures that the total number of VM instances should not be over the capacity of this cloud provider, and the second constraint is to make sure that cloud users’ net benefit is nonnegative. From the observation of the second constraint of problem (5), we can find that ( )i ipx u xθ= should be satisfied to be optimal. Otherwise, the cloud provider can increase the price of this type of VM instance. Therefore, we can transform the problem (5) into an equivalent problem, Optimal Pricing Strategies for Resource Allocation in IaaS Cloud 65 ( ) 1 max i N i u xθπ = = ∑ (6) s.t. 1 N i i x C = ≤∑ xi ≥ 0 Now we get the cloud provider’s revenue maximization problem, and we will do simulations to verify our analysis in the next section. 3. Simulation Results In this section, we will do simulations to verify our analysis in the previous section. We first analyze users’ decision choices, and then analyze cloud provider’s revenue problem. 3.1 Cloud Users’ Utilities We first analyze how cloud users are sensitive to the prices of cloud resources. Fig.6 illustrates how cloud users’ net benefits vary with different values of θ with x=2, p=0.2 and α=1/2. We can observe from Fig.6 that not all the cloud users can get net benefit, therefore, some cloud users may not choose to subscribe to the cloud resources. The parameter θ reflects cloud users’ willing to pay, which means that users with higher value of θ will be more willing to use cloud services. Fig.7 illustrates how cloud users’ net benefits vary with the price charged by cloud provider with θ and other parameters are set the same as in Fig.6. We can observe that with price increasing, the net benefit of this cloud user will get less net benefit, and this implies that in order to encourage cloud users to use cloud services, cloud providers should set prices of cloud resources properly, otherwise, higher prices will discourage cloud users to pay to use cloud services. 4. Conclusions and Future Works FWe studied resource allocation in a monopoly cloud market. We analyzed the choice decisions of cloud users in the Amazon EC2 and Gogrid clouds, and pointed out the right choice for cloud users when face on-demand and reservation pricing schemes. We not only analyzed how cloud users’ utilities and net benefits vary with different types of cloud users and different number of VM instances, but also analyzed how the revenue of cloud provider varies with different prices and different number of VM instances. Future works will include resource allocation in a duopoly or oligopoly cloud market where there are more than one cloud providers. Figure.5 How cloud users’ utilities vary with different values of α. 66 International Journal of Advanced Network Monitoring and Controls Volume 02, No.2, 2017 Figure.6 How cloud users’ net benefits vary with different values of θ. Figure.7 How cloud users’ net benefits vary with price of cloud resources p. 4.1 Cloud Provider’s Revenue Problem We next analyze how the cloud provider sets its prices in order to maximize its revenue. From Eqs. (5) and (6) we know that the revenue of cloud provider is affected by cloud users’ choices, and we transform the revenue function into a function associated with cloud users’ utilities. Fig.8 shows that the revenue of the cloud provider varies with different number of VM instances, and the revenue will be higher if the price is set higher with the same number of VM instances. Fig.9 shows that cloud users are more willing to subscribe cloud services if they have higher values for using cloud services, and if cloud users have more elastic demand for cloud services, cloud provider will get more revenue. The above analysis imply that cloud provider can set higher prices for these cloud users who are more willing to pay and who have higher elastic demands. Figure.8 The revenues of cloud provider vary with different number of VM instances. Optimal Pricing Strategies for Resource Allocation in IaaS Cloud 67 Figure.9 The revenues of cloud provider vary with different cloud users’ types. Acknowledgment This paper is supported by the following projects, Anhui Key research projects of Humanities and Social Sciences (SK2016A0207), and Suzhou Regional Collaborative Innovation Center (2016szxt05). References [1] J. Mei, K. Li, A. Ouyang et al. “A Profit Maximization Scheme with Guaranteed Quality of Service in Cloud Computing,” in press. [2] R. Buyya, C.S. Yeo, and S. Venugopal, “Market Oriented Cloud Computing: Vision, Hype, and Reality for Delivering it Services as Computing Utilities,” Proc. 10th IEEE Conference on High Performance Computing and Communications (HPCC 2008), Dalian, China, pp. 5-13, Sep. 2008. [3] M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwinski,G. Lee, D. Patterson, A. Rabkin, I. Stoica, and M. Zaharia. A view of cloud computing. Commun. ACM, 53(4):50–58, 2010. [4] S. K. Garg, S. Versteeg, and R. Buyya. A framework for ranking of cloud computing services. Future Gneration Computer Systems, 29:1012–1023, 2013. [5] Amazon EC2. http://aws.amazon.com/ec2/instance-types/.GoGrid Pricing. http://www.gogrid.com/pricing. [6] Q. Wang, K. Ren, and X. Meng. When cloud meets ebay: Towards effective pricing for cloud computing. In IEEE INFOCOM, 2012. [7] H. Xu and B. Li. Dynamic cloud pricing for revenue maximization. IEEE Transactions on Cloud Computing, 1(2):158–171, July 2013. [8] Y. Feng, B. Li, and B. Li. Price competition in an oligopoly market with multiple iaas cloud providers. IEEE Transactions on Computers, 63(1):59–73, Jan 2014. [9] D. Fudenberg and J. Tirole, Game Theory, MIT Press, Cambridge, USA, 1991. [10] S.Y. Yun, Y. YI, D. H. Cho, et al. The economic effects of sharing femtocells. IEEE Transactions on Selected Areas in Communications, 30(3): 595-606, April. 2012.