Documente Academic
Documente Profesional
Documente Cultură
VOL. 2,
NO. 3,
JULY-SEPTEMBER 2014
251
INTRODUCTION
The authors are with the Department of Electrical & Computer Engineering,
National University of Singapore, Block E4, Level 6, Room 12, Engineering
Drive 3, Singapore 117583. E-mail: {eletht, eletck}@nus.edu.sg.
Manuscript received 8 Oct. 2013; revised 8 Apr. 2014; accepted 11 Apr. 2014.
Date of publication 6 May 2014; date of current version 29 Oct. 2014.
Recommended for acceptance by R. Thulasiram.
For information on obtaining reprints of this article, please send e-mail to:
reprints@ieee.org, and reference the Digital Object Identifier below.
Digital Object Identifier no. 10.1109/TCC.2014.2322355
2168-7161 2014 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
252
RELATED WORK
VOL. 2, NO. 3,
JULY-SEPTEMBER 2014
TRUONG-HUU AND THAM: A NOVEL MODEL FOR COMPETITION AND COOPERATION AMONG CLOUD PROVIDERS
253
TABLE 1
Mathematical Notations
SYSTEM FORMULATION
3.1 Assumptions
In this paper, we consider providers which offer infrastructure as a service (IaaS) from which users can request a number of cloud resource instances and deploy their own
platform for executing their applications. Table 1 presents
all the notations used throughout this paper.
There are a total of N providers on the cloud market.
These providers offer a number of resource types denoted
by M, e.g., Amazon EC2 offers four types of resources called
VM instances: small, medium, large and extra large.1
Depending on the capacity of each resource type, providers
define a per unit price to charge users for resource usage.
We denote vector pi pi1 ; pi2 ; . . . ; piM as the price vector
of provider i where pij with j 2 1; . . . ; M is the per unit
price of resource type j (US$/hour). For each resource type
of each provider, we additionally define the per unit benefit
ij , i.e., per unit benefit of resource type j offered by provider i, to reflect the relative capacity of the resource in satisfying the users computational needs. A higher benefit
resource may be more expensive than a lower benefit one.
3.2 Users Resource Requests
We assume that, in total, K users distribute their resource
requests among N providers. User k places a request for a
bundle of resources rather than for individual items which
is the usual case in the cloud environment. Therefore, the
resource request of user k is represented by a vector
rk rk1 ; rk2 ; . . . ; rkM where rkj with j 2 1; . . . ; M is the
required number of instances of resource type j. For user k,
we additionally define bk as his budgetary constraint. Given
1. Amazon EC2 Instances: http://aws.amazon.com/ec2/pricing.
the price policies of all providers, the cost that user k needs
to pay for
Pusing resources offered by provider i is defined
as cki M
j1 rkj pij , subject to cki 4 bk ; 8i 2 1; . . . ; N, and
8k 2 1; . . . ; K.
254
M co a1log2 i
X
ij ij
j1
1 log2 i
(2)
M co c a 1log2 i
X
ij
ij
ij
1 log2 i
j1
(3)
coij
M co a1log2 i
X
ij ij
j1
1 log2 i
M co c a 1log2 i
X
ij
ij
ij
:
1 log2 i
j1
(4)
K
X
k1
bik cki
K
X
k1
bik
M
X
j1
!
rkj pij :
(5)
VOL. 2, NO. 3,
JULY-SEPTEMBER 2014
M co a1log2 i
X
ij ij
j1
1 log2 i
K
X
k1
bik cki
M co c a 1log2 i
X
ij
ij
ij
:
1 log2 i
j1
(6)
1
X
t0
^1 ; . . . ; p
^N ; v0 v ;
g t E Rti j p
(7)
TRUONG-HUU AND THAM: A NOVEL MODEL FOR COMPETITION AND COOPERATION AMONG CLOUD PROVIDERS
(9)
6 i:
Probhki0 < hki vki vki0 ; 8i0
Based on the density function and the cumulative distribution, some algebraic manipulation of Eq. (9) results in a
succinct, closed-form expression:
255
evki
Pki P v 0 ;
ki
i0 e
(10)
(11)
bi jb
b0i
s i b
PK
b0ik 2
exp k1 bik
is a weighting
where
factor that is small when the sum of squared distance
between state bi and b 0i is large. The weighted probability of
the market to transit from state v to state v0 is
qv
v0 j v ; p1 ; . . . ; pN
N
Y
qi b 0i j b i ; pi ;
(12)
i1
v; i and b 0i dv
v0 ; i. We now have the norwhere b i dv
malized state transition probability:
qv
v0 j v; p1 ; . . . ; pN
:
u j v ; p1 ; . . . ; pN
u 2V qu
P v
v0 j v; p1 ; . . . ; pN P
(13)
^
5.1 Algorithm for Finding Optimal Price Policies p
Since the game modelled as an MDP satisfies Bellmans
Principle of Optimality which indicates that an optimal
policy has the property that whatever the initial state and
initial action are, the remaining actions must constitute an
optimal policy with regard to the state resulting from the
first action, it can be solved via dynamic programming.
The algorithm is based on the Bellman equation which is
derived by summarizing the rewards of the current period
and that of all future periods associated with a discount factor [30]. At the end of period t 1, when the market is at
state v , the corresponding Bellman equation is
v max Ri dv
v; i; pi gEv0 V^i v
v0 j v ; pi ; pi ;
V^i v
pi 2RM
(14)
256
(15)
By making explicit the expectation operator in (14) and
(15), we can derive a new formula for the expected revenue
in (16) and the optimal price policy in (17):
v max
V^i v
pi 2RM
JULY-SEPTEMBER 2014
Ri dv
v; i; pi
VOL. 2, NO. 3,
v 0 2V
P v
v0 j v ; pi ; pi V^i v
v0 ;
(16)
^ i v
p
v arg max Ri dv
v; i; pi
pi 2RM
v 0 2V
V^it v
v max
pi 2RM
(17)
Rti dv
v; i; pti
v 0 2V
^ti v
p
v
0
^
P v
v j v ; pi ; pi Vi v
v ;
0
0
^t1 v
P v
v0 j v; pti ; pt1
V
v
;
i
i
(18)
v 0 2V
P v
v
^t1 v
j v ; pti ; pt1
v0
i Vi
(19)
Each provider has its own version of Eqs. (16) and (17).
This implies that for each provider and for each initial state,
maximization is performed with respect to a non-linear
equation with M variables pij , with 8i 1; . . . ; N and
8j 1; . . . ; M. In total, there are N jVj N N K N K1
non-linear equations, where N is the number of providers,
K is the number of users and N K is the size of state space.
The best response of these non-linear equations must satisfy
the users budgetary constraints, i.e., cki 4 bk ; 8i 2 1; . . . ;
N, and 8k 2 1; . . . ; K.
Two well-known algorithms to solve the maximization
of systems of non-linear equations are Gauss-Jacobi and
Gauss-Seidel [31], [32] which are both iterative-based
methods. The main difference between them is the way to
update the value and price policy in each iteration. We
refer the reader to [33] for a more detailed discussion on
both methods. In this paper, we advocate the Gauss-Seidel
method as it has the advantage that information is used as
soon as it becomes available. The full algorithm is shown
in Algorithm 1. It is noted that, during the execution of
v and
the while loop (lines 4-12) whenever new values V^it v
v are available, they are immediately used to replace
pti v
TRUONG-HUU AND THAM: A NOVEL MODEL FOR COMPETITION AND COOPERATION AMONG CLOUD PROVIDERS
In this section, we first present an overview on a Cloud-ofClouds system. Then, we describe the cooperation method
among providers based on the mathematical formulations
of the operation cost and revenue. Finally, we present the
algorithm for making cooperation decisions.
257
258
6.3
K
X
k1
bik cki
M co a1log2 i
X
ij ij
j1
1 log2 i
M co c a 1log2 i
X
ij
ij
ij
j1
1 log2 i
M co a1log2 i0
X
i0 j ij
(20)
M co a1log2 i0
X
i0 j ij
1 log2 i0
1 log2 i0
j1
o
1log
2 i0
M c co a
X
i0 j
i0 j ij
;
1 log2 i0
j1
j1
(21)
K
X
bik cki
M co c1log2 i
X
ij ij
1 log2 i
j1
o
M c co a1log2 i0
X
i0 j
i0 j ij
;
1
log2 i0
j1
k1
JULY-SEPTEMBER 2014
outsourcing requests from other providers, can be formulated by combining Eqs. (4), (5), and (21). In detail, Let Li0
denote the set of all providers which outsource their users
resource requests to provider i0 . We extend Eq. (4) to formulate the operation cost of provider i0 :
Ci0 b
bi0 ; Li0
1log2 i0
P
M co a 0
X
l2L 0 alj
i0 j i j
i
1 log2 i0
1log2 i0
P
M co c 0 a 0
X
ij
ij
l2L 0 alj
i0 j
j1
j1
1 log2 i0
:
(23)
X
l2Li0
Clioutsource
b
bl ; i0
0
bi0 ; Li0 ;
Ci0 b
VOL. 2, NO. 3,
(22)
(24)
where the first term is defined in (5), the second term is
defined in (21) and the third term is defined in (23).
Provider i outsources its users resource requests to provider i0 if the final revenue of provider i when outsourcing
is greater than that when satisfying all users resource
b
bi ; pi ; i0 > Rlocal
b
bi ; pi . Prorequests locally, i.e., Routsource
i
ii0
0
vider i accepts outsourcing requests from other providers if
it does not have a higher gain when outsourcing its own
users resource requests.
values
are
used later
defined in (22). These Routsource
i
i
ii0
on in the algorithm to determine the best provider i0 for provider i to outsource to, and also to compare with the sum of
revenues when hosting local users resource requests, i.e.,
staying local, and when hosting users resource requests
b
bi0 ; pi0 ; Li0 defined in
from other providers users, Rhosting
i0
(24). This procedure is presented in lines 2-8.
The critical part of the algorithm is in the while loop, lines
10-38, where it has to make the decision for a provider who
wants to outsource its users resource requests, but may
also have outsourcing requests from other providers, or its
best provider to outsource to has not decided to become a
hosting provider yet. The while loop stops when there is no
more provider which can be a hosting provider, i.e., it has
outsourcing requests from other providers. The stop flag is
used to exit the while loop. In each iteration, a provider will
be removed from P, the set of all providers. This provider
may be put into P1 , the set of all hosting providers, or P2 ,
the set of all outsourcing providers.
TRUONG-HUU AND THAM: A NOVEL MODEL FOR COMPETITION AND COOPERATION AMONG CLOUD PROVIDERS
259
6
i
holds.
For
example,
Provider 1
Routsource
i
i
ii00
can outsource its users resource requests to Provider 2 or
Provider 3 if the revenues when outsourcing to Provider 2
or 3 are higher than that when staying local, i.e.,
b
b1 ; p1 ; 2 > Rlocal
b
b1 ; p1 and Routsource
b
b1 ; p1 ; 3 >
Routsource
12
1
13
local
b1 ; p1 . Depending on the values of Routsource
b
b1 ;
R1 b
12
b
b1 ; p1 ; 3, Provider 1 will belong to the
p1 ; 2 and Routsource
13
b
b1 ; p1 ; 2 > Routsource
b
b1 ; p1 ; 3,
set L2 or L3 . If Routsource
12
13
then Provider 1 belongs to set L2 since Provider 1 gains
better revenue when outsourcing its users resource
requests to Provider 2 rather than Provider 3. Otherwise,
b
bi ; pi 5Routsource
b
bi ;
Provider 1 belongs to set L3 . If Rlocal
i
ii0
0
0
pi ; i ; 8i , provider i will not belong to any Li0 . Set Li0 is
updated in each iteration of the while loop as the best provider i0 for provider i to outsource to may decide to
become an outsourcing provider rather than a hosting
provider. In this case, provider i will choose the next
b
bi ; pi ; i0 .
highest provider i0 by re-evaluating Routsource
ii0
Lines 18-30 determine the next provider who will make
a decision. For provider i0 which has not yet decided and
which may have several outsourcing requests from providers in Li0 , the algorithm computes its total revenue
when staying local and accepting all outsourcing requests
b
bi0 ; pi0 ; Li0 , defined in
from all providers in Li0 , Rhosting
i0
(24). The algorithm also determines the best provider i00
to which provider i0 can outsource its own users resource
. Let Rdiff
denote the difrequests by evaluating Routsource
i0 i00
i0
ference in the revenue of provider i0 between staying local
and accepting outsourcing requests from other providers
in Li0 , versus outsourcing its own users resource requests
hosting
Routsource
. If proto its best provider i00 , Rdiff
i0 Ri0
i0 i00
0
vider i gains the highest revenue when staying local
even without hosting outsourcing requests, i.e., there is
is set
no provider i00 for provider i0 to outsource to, Rdiff
i0
.
The
provider
which
has
the
highest
value
of
to Rhosting
0
i
and its best hosting provider are marked by i and
Rdiff
i0 0
i , respectively.
Provider i is selected to make the final decision by executing lines 31-37. If maxval (i.e., Rdiff
i ) is greater than or
equal to 0, i.e., provider i gains a higher revenue when
accepting outsourcing requests from other providers than
that when it outsources its own users resource requests to
0
provider i , the final decision of provider i is to stay local
and to accept outsourcing requests. Provider i is put into
set P1 as a hosting provider. If maxval is negative, provider
i prefers to outsource its users resource requests to its best
0
provider i . The final decision of provider i depends on
0
the decision of provider i . Two cases can happen. First, if
0
provider i is a hosting provider, the decision of provider i
0
is to outsource its users resource requests to provider i .
When that happens, provider i is put into set P2 . Second, if
0
provider i has not made its decision yet, then provider i
must stay local and satisfy its users resource requests using
local resources. This is the final decision of provider i since
0
provider i later on will also become an outsourcing
260
provider as Rdiff
< Rdiff
0
i < 0. When that happens, provider
i
i is put into set P1 .
After exiting the while loop, all providers which can be a
hosting provider have been processed. For the remaining
providers in set P, which have not yet made a decision, each
will become either an outsourcing provider if its best provider to outsource to is a hosting provider (i.e., in set P1 ),
this provider enters set P2 . Or, it will stay local to satisfy
only its own users resource requests, this provider enters
set P1 (lines 39-48).
It is noted that during the execution of the while loop, it
can happen that provider i wants to outsource to provider i0
and provider i0 also wants to outsource to provider i (i.e.,
cyclic cooperation). By choosing the provider which has
the maximum value of Rdiff
i , we give the privilege to the provider, who best improves the final revenue, to make the
cooperation decision first and thereby solve the cyclic cooperation problem.
It is also worth noting that once providers are placed in
set P1 or P2 , they will not change the decision anymore.
Indeed, if providers are in set P1 , their final revenues
when being a hosting provider and accepting outsourcing
requests is higher than that when outsourcing its own
users resource requests. Hence, they will not change to
become an outsourcing provider. Furthermore, if there is
any outsourcing request from the others, the providers in
set P1 will accept and gain even higher revenue according
to the second assumption presented in Section 6.2. Similarly, a provider in set P2 does not have any outsourcing
request from other providers and the revenue when outsourcing its own users resource requests is higher than
that when staying local. The matching process of provider
i outsourcing its users resource requests to its best hosting provider i0 is done when provider i is put into set P2
(lines 35 and 43).
VOL. 2, NO. 3,
JULY-SEPTEMBER 2014
TRUONG-HUU AND THAM: A NOVEL MODEL FOR COMPETITION AND COOPERATION AMONG CLOUD PROVIDERS
TABLE 2
Price Policies and Total Revenue of Providers when Market
is a Monopoly and Oligopoly
261
TABLE 3
Users Resource Requests, Budgetary Constraints and Their
Preferences to Cloud Providers
7.2
262
VOL. 2, NO. 3,
JULY-SEPTEMBER 2014
Fig. 4. Convergence of price policies and discounted sum of future revenues of all providers.
TABLE 4
Simulation Input Data for Illustrating the Cooperation Decision Algorithm: Infrastructure Size and Operation Cost of the First Active
and Idle Instance of Each Resource Type Offered by Each Provider: The Index Is that of Providers
TRUONG-HUU AND THAM: A NOVEL MODEL FOR COMPETITION AND COOPERATION AMONG CLOUD PROVIDERS
263
TABLE 6
Outsourcing Revenue of Each Provider to Other Providers in the Market: The Index Is that of Providers
264
CONCLUSION
In the current fiercely competitive cloud market, many providers are facing two major challenges: finding the optimal
prices for resources to attract a common pool of potential
users while maximizing their revenue in the presence of
other competitors, and deciding whether to cooperate with
their competitors to gain higher revenue after receiving
their own users resource requests. We presented a gametheoretic approach to address the former challenge. We integrated the discrete choice model, which describes the users
choice behavior based on the users utility, to allow providers to derive the probability of being chosen by a user.
By modelling the stochastic game as an MDP, the numerical
results prove the existence of an MPE from which providers
cannot unilaterally deviate to improve their revenues. Our
algorithm, which computes the equilibrium prices, is shown
to converge quickly. We also introduced a novel approach
for the cooperation among providers. The cooperation algorithm results in a win-win situation where both cooperating
partners can improve their final revenues. The cooperation
structure found by the algorithm is the optimal one for each
provider. Thus, no provider has any incentive to unilaterally deviate to gain more revenue. The simulation results
show that our approach is scalable and can be adopted by
actual cloud providers.
REFERENCES
[1]
H. Xu and B. Li, Dynamic cloud pricing for revenue maximization, IEEE Trans. Cloud Comput., vol. 1, no. 2, pp. 158171,
Jul.Dec. 2013.
[2] K. E. Train, Discrete choice methods with simulation, Identity,
vol. 18, no. 3, pp. 273383, 2003.
[3] M. J. Osborne, An Introduction to Game Theory. London, U.K.:
Oxford Univ. Press, 2004.
[4] R. Bellman, A markovian decision process, Indiana Univ. Math.
J., vol. 6, no. 4, pp. 679684, 1957.
[5] A. N. Toosi, R. K. Thulasiram, and R. Buyya, Financial option
market model for federated cloud environments, in Proc. IEEE
5th Int. Conf Utility Cloud Comput., Dec. 2012, pp. 312.
[6] A. Gera and C. H. Xia, Learning curves and stochastic models for
pricing and provisioning cloud computing services, Service Sci.,
vol. 3, no. 1, pp. 99109, Mar. 2011.
[7] B. Javadi, R. K. Thulasiram, and R. Buyya, Characterizing spot
price dynamics in public cloud environments, Future Generation
Comput. Syst., vol. 29, no. 4, pp. 988999, Jun. 2013.
[8] B. Sharma, R. K. Thulasiram, P. Thulasiraman, S. K. Garg, and R.
Buyya, Pricing cloud compute commodities: A novel financial
economic model, in Proc. IEEE/ACM 12th Int. Symp. Cluster, Cloud
Grid Comput., Ottawa, ON, Canada, May 2012 , pp. 451457.
[9] D. Niu, C. Feng, and B. Li, Pricing cloud bandwidth reservations
under demand uncertainty, in Proc. 12th ACM SIGMETRICS/Performance Joint Int. Conf. Measurement Model. Comput. Syst., London,
U.K., Jun. 2012, pp. 151162.
[10] H. Xu and B. Li, Maximizing revenue with dynamic cloud pricing: The infinite horizon case, in Proc. IEEE Int. Conf. Commun.,
Ottawa, ON, Canada, Jun. 2012, pp. 29292933.
[11] F. Teng and F. Magoules, Resource pricing and equilibrium allocation policy in cloud computing, in Proc. 10th IEEE Int. Conf.
Comput. Inform. Technol., Bradford, U.K., Jun. 2010, pp. 195202.
[12] M. Mihailescu and Y. M. Teo, On economic and computationalefficient resource pricing in large distributed systems, in Proc.
IEEE/ACM 10th Int. Conf. Cluster, Cloud Grid Comput., Melbourne,
Australia, May 2010, pp. 838843.
VOL. 2, NO. 3,
JULY-SEPTEMBER 2014
TRUONG-HUU AND THAM: A NOVEL MODEL FOR COMPETITION AND COOPERATION AMONG CLOUD PROVIDERS
265