Keywords

1 Introduction

The aggregation of several Cloud services provided by different vendors, in order to achieve a specified goal is known as Clouds federation. The notion of federation of Clouds is not commonly adopted by Cloud vendors yet, although it is variably present in confined environments; such us governments and enterprises where distributed data centers are expected to collaborate and integrate. Nevertheless, at any federated environment, it is essential for consumers to receive guarantees on service delivery from Cloud providers. Such guarantees are provided through Service Level Agreements (SLAs). SLAs govern, and control service provisioning between consumers and Cloud providers. SLA negotiation takes place prior to federation establishment. It is a mutual decision making process for the purpose of resolving providers and consumers conflicting objectives [1]. Many recent research efforts in SLA negotiation in Clouds have invested in the adoption of SLA negotiation approaches of Grid computing, Web services, and SOA. Some others opted for intelligent software agent, and game theory. The SLA negotiation model we are proposing employs the principals of game theory in order to achieve efficient SLA negotiation. Game theory began with the work of Neumann and Morgenstren [2]. It supports understanding, and resolving situations; where two or more individuals make decisions that will affect one another’s welfare, through general mathematical techniques.

To feature our SLA negotiation model we use a federated Cloud network named CloudLend. Which we described in a previous work that was formerly known as The Sky [3]. CloudLend is a social-based Clouds federation network. It provides several functions including Cloud services provisioning, QoS specification, and monitoring. It enables Cloud services discovery, interaction, and collaboration. Connections among services within CloudLend are bounded by SLAs. As services are supposed to extend their social ties, multi-level SLAs are required to manage, and maintain these relationships. We have previously introduced an SLA management model for federated Cloud environments in [4]. We studied the life cycle of SLA in our CloudLend network as an example of a federated Cloud environment. This encompasses; SLA specifications, and monitoring schemes. In this work we extend the SLA management model to cover SLA negotiation phase. This paper is organized as follows: the next section describes the problem, and introduces the motivation of this work. Section 3 summarizes research efforts on the adoption of game theory for SLA negotiation in service computing. Section 4 introduces our automated SLA negotiation model based on the Fair Division Game, while Sect. 5 provides a formal description of the proposed SLA negotiation model. Section 6 highlights the results of our model’s evaluation. Finally, Sect. 7 concludes the paper and points out planned future work.

2 Problem and Motivation

Typically in Cloud computing, Cloud providers define their SLAs, and publish them for consumers in a take-it-or-leave-it manner. Consumers are not privileged with an adequate SLA negotiation opportunity that enables them to impose their QoS requirements on Cloud providers. Besides, the problem of enabling Cloud federation through portable APIs, in order to provide value-added services is considered a dynamic and complex problem. Selecting the most appropriate Cloud service, considering a set of properties to participate in a federation is multi-criteria, and a multi-decision complex problem. A federation is required to match consumer’s requirements, through an aggregated selection of Cloud services from different providers, having different interests. Thus in a federated environment, such as CloudLend; SLA negotiation requires specific considerations because of specific characteristics exhibited by the network. Namely, Cloud services interconnect with other services in order to fulfill QoS-aware consumers’ requests. Such interconnections can extend to reach further services in order to carry out minor subtasks. Additionally, a Cloud service can maintain connections with one or more other Cloud services at the same time. This results in a chain of interconnected services that are bounded by multi-level SLAs.

Henceforth, there exist a need for an automated negotiation model that fairly enables federated Cloud services to review SLAs, respond to SLA offers, and eventually sign an SLA contract. A negotiation model is required to facilitate the negotiation process while considering the complexity of services interconnections within the CloudLend network. Assuring that negotiation on multiple levels does not burden the federated network, and does not impede resources utilization of Cloud providers, nor overlooks consumers’ QoS requirements. There upon, motivated by the lack of automated SLA negotiation models in federated Clouds, we aim to achieve the following research objectives:

  1. (1)

    Propose a game theory-based automated SLA negotiation model in CloudLend network, which is capable of:

    1. (a)

      Balancing the trade-offs among consumers’ various QoS requirements, as well as providers’ resources utilization.

    2. (b)

      Prioritizing SLA terms, which are more important to both Cloud consumer, and provider.

    3. (c)

      Supporting both consumers, and providers in negotiating SLA terms, and guiding them towards signing a contract.

    4. (d)

      Assisting consumers in service selection, by enabling evaluation of different service alternatives based on a computed utility gain.

  2. (2)

    Evaluate the efficiency of the proposed SLA negotiation model in a federated Cloud environment, CloudLend.

3 Related Work

Game theory is intended to optimize negotiation outcome using various initiation conditions [5]. Researches on this area are not concerned with the characteristics of the negotiation process itself, nor with the interaction between involved parties. Conversely, the emphasis is mainly on the outcome of the negotiation process. Hence, game theory outcomes are utilized to evaluate the satisfaction level of different notions of an optimal solution, to any given negotiation game. This section reviews research efforts on the adoption of game theory for SLA negotiation in service computing.

A bargaining game approach in [6] describes an automated one-to-one web services SLA negotiation mechanism. While [7] applies another bargaining game for an automated SLA negotiation in Cloud computing. Both approaches consider a game of only two players, and assume that players have complete information on the possible strategies, in addition to corresponding outcomes of their opponents. In reality, such assumption is not always true. [8] introduces a mathematical negotiation model for high-performance computing (HPC). Their approach is based on signaling game in two rounds. Unlike our strictly competitive Fair division approach, signaling is either competitive or cooperative. [9] addresses the problem of resource allocation in competitive grids. Their negotiation strategy can achieve a fair resource allocation. Nevertheless, SLA negotiation in grid, and HPC is not the same as SLA negotiation in Clouds. Its is less complicated, as it involves specific users interested in some resource. Whereas in Cloud environments, complexity of negotiation is driven by market competition. [10] describes a generic SLA negotiation platform for the SLA@SOI [11], a framework for service-oriented environments. Yet, they address enabling SLA negotiation protocols. In this work we focus on SLA negotiation strategies.

To the best of our knowledge, there is no automated SLA negotiation model that assures fairness and efficiency of SLA negotiation in a federated Cloud services environment. Our approach is based on the Fair Division game [12], which is a sequential game, that allows multiple players, and assumes perfect information of all previous events that have occurred prior to a player’s decision. The properties of this game makes it very appropriate to be implemented in a dynamic, and complex environment such as CloudLend.

4 Automated SLA Negotiation Model Based on Game Theory

In this section we describe, and illustrate the game of SLA negotiation in CloudLend.

4.1 Model Description

In CloudLend, Cloud services participate in the SLA negotiation game not to ultimately win the game. Conversely, they aim to reach the best collection of SLA terms, that would satisfy all players’ requirements. The outcome of the game is basically a measure of the value; a Cloud service gains by establishing a relationship with other players. In game theory, this outcome is known as utility. Players negotiate SLAs to evaluate the expected utility from the anticipated relationships, which is used then to make the decision of relationship establishment. We introduce an SLA negotiation model that considers the SLA contract as a whole entity that consists of several SLA terms. Therefore, during negotiation, players bargain over the value of SLA terms, that make up the utility gain of the whole SLA contract. Every player values each individual SLA term differently. Eventually, both players need to decide on the impact every SLA term has on the total value of the SLA contract.

We look at the SLA negotiation problem in CloudLend as a Fair Division game [12]. Such games involve players in a sequential game, where they need to decide on how to divide an item. Every player value the item to be shared among them differently. An example of a Fair Division game is called Fair Cake-cutting [12]. A cake with different toppings must be divided among many players, who have different preferences over different parts of the cake. The division needs to be fair to every player. In this case, each player receives a slice that he believes to be a fair share. In our case, the SLA contract is a resource that is compiled of several different SLA terms. During negotiation, players will evaluate every SLA term differently. Each player knows the value of a single SLA term to him. Eventually, players need to reach a consensus on how much of a value is assigned to every single SLA term, out of the overall value of the SLA contract. In such situation, where a set of items is to be divided among players, yet these items themselves need to be kept as a whole; a proportional and envy-free division procedure is used [12]. The Adjusted Winner procedure (AW) [13] is one of the proportional and envy-free division procedures. Once played out, the outcome is proven to exhibit three important properties:

  1. (1)

    Pareto optimal: any alternative allocation of items that improves one player’s outcome will worsen the others.

  2. (2)

    Envy-free: each player is allocated a share of items that is at least as large, or at least as desirable as that received by any other player.

  3. (3)

    Equitable: every player believes that his allocation is valued the same as the other player’s (based on their declared ratings).

The AW procedure describes a fair division of a set of n items that can be shared between two players. Each player examines the n items, and assigns a rate for each individual item, out of a total of 100 points among them all. These points are a relative preference of the players for the various rated items. We adopt the Adjusted Winner procedure as the most appropriate model of SLA negotiation in CloudLend. A list of essential elements of such SLA negotiation game is described as follows:

  1. (1)

    Players: are the decision makers. Each has a goal to maximize its utility by choice of actions. In CloudLend players are: Cloud consumers, and Cloud providers.

  2. (2)

    Actions: are choices available for players to make. In CloudLend players’ possible set of actions includes: place an SLA offer, accept an SLA offer, reject an SLA offer, place an SLA counter-offer, and end an SLA negotiation.

  3. (3)

    Strategy: of a player is a rule that tells him which action to choose at each instant of the game, given his information set about the game and other players. In CloudLend a player’s strategy is represented by: ratings of SLA terms.

  4. (4)

    Outcome: the result of a player deciding to settle on a particular strategy, measured numerically. In CloudLend the outcome of the negotiation game is: allocation of SLA terms.

4.2 Illustrative Example of SLA Negotiation using Fair Division Game

The following example explains how the AW procedure works when implemented in the SLA negotiation process within CloudLend. Let two Cloud services S 1, and S 2 be negotiating an SLA contract. The contract specifies 6 different SLA terms T SLA = {t 1 , t 2 , t 3 , t 4 , t 5 , t 6 }. The game goes as follows:

  1. (1)

    Both services S 1, and S 2 rate every term in T SLA out of 100 score among them all. As described in Table 1.

    Table 1. Services’ ratings of SLA terms
  2. (2)

    Let T 1 be the set of all SLA terms that S 1 rated more than S 2. T 1 = {t3, t6}. Sum up all of S 1 scores for all SLA terms \( \in\,T_{1} \). Total S 1 score is 50.

  3. (3)

    Let T 2 be the set of all SLA terms that S 2 rated more than S 1. T 2 = {t 1 , t 2 , t 4 , t 5 }. Sum up all of S 2 scores for all SLA terms \( \in \) T 2. Total S 2 score is 82.

  4. (4)

    S 2 is assigned all SLA terms \( \in \) T 2. And S 1 is assigned all SLA terms \( \in \) T 1. Order SLA terms assigned to the S 2 as follows:

    • Create a ratio for each SLA term i, of S 2’s score to S 1’s score. Calculated ratios are listed in Table 2 .

      Table 2. \( \frac{{S_{ 2} }}{{S_{ 1} }} \) Ratio for all SLA terms
    • Since S 2 has a greater total score. T 2 is rearranged so that SLA terms with the smallest ratio are first, followed by the one with the second smallest ratio, and so on. T 2 = {t 2 , t 5 , t 1 , t 4 }.

  5. (5)

    To make the assignment more equitable, transfer SLA terms from S 2 to S 1; starting with terms with the smallest ratio.

  6. (6)

    We reassign t 2 to S 1. and recalculate totals of S 2 and

    S 2 as follows:

    T 1 = {t 2 , t 3 , t 6 }. Total S 1 score is 62.

    T 2 = {t 5 , t 1 , t 4 }. Total S 2 score is 67.

  7. (7)

    We might need to transfer a fraction of an SLA term. An appropriate fraction is the one that brings both player’s total score to the same level. We must transfer part of t 5 to T 1. Let x be the portion of t 5 that will be transferred to T 1. We must solve the following equation for x: \( 6 7- 9x = 6 2+ 7x \) x = 0.31

    Thus we transfer 31 % of t 5 from T 2 to T 1

    T 1 calculated rating for t 5 is: \( 7\times \tfrac{ 3 1}{ 100} = 2. 1 9 \)

    T 2 calculated rating for t 5 is: \( 9- \left( { 9\times \tfrac{ 3 1}{1000}} \right) = 6. 1 9 \)

    Total score assigned to each player is: 64.19

  8. (8)

    The final division:

    S 1: wins all of SLA terms t 2 , t 3 , t 6 all the time, and is allocated t 5 for 31 % of the time of the contract.

    S 2: wins all of SLA terms t 1 , t 4 all the time, and is allocated t 5 for 69 % of the time of the contract.

    The final allocation of terms is the outcome of the SLA negotiation game. This outcome is satisfactory for both players; since it is proven to be Pareto optimal.

5 SLA Negotiation Model Formulation

This section provides a formal representation of the SLA negotiation game in CloudLend. The CloudLend network is composed of a set of federations \( F_{i} (i = 1, 2, \ldots ,I) \). Each federation F i is composed of a set of Cloud providers \( P_{ij} (j = 1, 2, \ldots , \, J_{i} ) \). Each Cloud provider P ij can offer a subset of services \( S_{ij} \subset S \) where \( S = \{ s_{ 1} ,s_{ 2} , \ldots ,s_{N} \} \) is the set of all service types that can be offered within CloudLend. A service consumer \( C_{i} \left( {i = 1, 2, \ldots ,I} \right) \), can be a Cloud customer, or another Cloud provider. The CloudLend network can be seen as a global network of networks in which each node S ijm represents the m th service offered by \( P_{ij} \left( { 1\le m \le M_{ij} } \right) \), where M ij is the number of service types offered by P ij . Each link between two cloud services \( \left( {s_{ijm} , \, s_{{i^{'} j^{'} m^{'} }} } \right) \) describes a relationship r, where \( s_{ijm} = s_{n} ,s_{{i^{'} j^{'} m^{'} }} = s_{n} l \) with \( n \neq n^{l} \) A relationship r can be established only if both services involved in the relationship are available. Each relationship \( r\left( {s_{ijm} , \, s_{{i^{'} j^{'} m^{'} }} } \right) \) between two services is bounded by an SLA contract. Which describes one or more QoS properties, and their attributes. \( q^{{ijm,\,i^{'} j^{'} m^{'} }} \) represent a single SLA term of the SLA contract, concerned with a single QoS property of service \( s_{{i^{'} j^{'} m^{'} }} \).

SLA negotiation in CloudLend is regarded as an exchange of bids between the Cloud service provider, and the consumer up to the final agreement on the provided SLA terms. Both parties involved in the negotiation process exchange their bids during negotiation rounds. A negotiation round is the period of time, through which one party offers a bid, while the other reviews that bid to either accept or place a counter offer. Hence, starting another negotiation round. In CloudLend negotiation usually occurs on the following cases: (1) Between a consumer C, and a Cloud provider P;(onetoone). (2) Between a Cloud provider Px, and another Cloud provider(s) \( P_{y} , \ldots P_{z} \) when forming a federation; (onetomany). (3) Between service Sx, and other services \( S_{y} , \ldots S_{z} \) within a Clouds federation; (onetomany).

For each class of consumer requests with the same root service, the objective of the service provider is to maximize his profit with the minimum possible number of SLA negotiation rounds N r . Where \( N_{min} \le N_{r} \le N_{max} \cdot N_{min} \) and, N max are the minimum, and the maximum number of SLA negotiation rounds set by the network. While the objective of a service consumer is to maximize his satisfaction of the service’s QoS. At any given negotiation round, P ij aims at having minimum changes made to the offered ratings of SLA terms. While C i aims at winning SLA terms that are of high importance to him. The level of Ci’s and P ij ’s satisfaction is measured by the utility gained of the Fair Division game played at every negotiation round. This gained utility represents the payoff a CloudLend member gains by establishing a link with another member. CloudLend members negotiate SLAs to evaluate the expected utility from the anticipated relationships. Utility is used then to make the decision of relationship establishment.

6 SLA Negotiation Model Evaluation

The evaluation of our proposed SLA negotiation model aims to measure its fairness, and efficiency. Which is indicted by the satisfaction level of both Cloud providers, and consumers; when the model is applied to various SLA negotiation situations within CloudLend. To achieve this objective we ran the AW procedure with several number of SLA terms, and different SLA terms’ ratings. Figure 1 illustrates our evaluation process for the proposed SLA negotiation model. To begin with, we run k-means algorithm to find a player’s expected SLA terms allocations using Weka [14]. k-means is a widely used clustering algorithm that enables prior set of clusters number. Which works well for our small data set. We set the number of clusters to two; indicating important and unimportant SLA terms. At the same time we find the actual SLA terms allocation after running the AW procedure, using an AW tool [15]. Comparing both; the expected, and actual SLA terms’ allocations yields satisfaction level for both players, Cloud provider, and consumer (1).

Fig. 1.
figure 1

SLA negotiation model evaluation process

$$ {\text{Satisfaction}}\,\,{\text{level}}\,{\text{for}}\,{\text{Player}}_{i} = \frac{{{\text{No}} .\,{\text{of}}\,{\text{allocated}}\,{\text{SLA}}\,{\text{terms}}}}{{{\text{No}} .\,{\text{of}}\,{\text{expected}}\,{\text{SLA}}\,{\text{terms}}}} \times \,100 $$
(1)

6.1 Test Scenarios

Assuming a single negotiation round is initiated between a Cloud provider, and a consumer. There is a number of SLA terms to be included in the SLA contract. In this test we apply the AW procedure, considering various number of SLA terms; 5, 10 and 20 terms. The SLA terms ratings provided by the two players; provider, and consumer shall be experimented as follow: Scenario 1: Each player provides different and independent ratings of all SLA terms. Scenario 2: Both players provide identical ratings for all SLA terms. Scenario 3: Each player favors a single different SLA term and neglect the others. Scenario 4: Players provide disparate ratings for every SLA term.

6.2 Results and Discussion

Figure 2 illustrates the satisfaction level when players provide different and independent ratings. The negotiation model provides %92–%93 satisfaction level for both consumer, and provider when the number of SLA terms = 5. When the number of SLA terms = 10; the model’s satisfaction level drops to %87–%85 for both consumer, and provider. The satisfaction level for both consumer, and provider is also %87–%86, when the number of SLA terms = 20. Figure 3 illustrates the satisfaction level when players provide identical ratings. The negotiation model provides %100 satisfaction level for both consumer, and provider when the number of SLA terms = 5.

Fig. 2.
figure 2

Satisfaction level for Scenario 1

Fig. 3.
figure 3

Satisfaction level for Scenario 2

However, the model’s satisfaction level drops as the number of SLA terms increases. Figure 4 illustrates the satisfaction level when players independently favor a single term, and neglect the rest of the SLA terms.

Fig. 4.
figure 4

Satisfaction level for Scenario 3

While Fig. 5 illustrates the satisfaction level when players show conflicting interests, and provide disparate ratings for all SLA terms. When running the two scenarios; the negotiation model provides %100 satisfaction level for both consumer, and provider regardless of the number of SLA terms.

Fig. 5.
figure 5

Satisfaction level for Scenario 4

As a result, we can see that the AW procedure provides a fair an efficient SLA allocations, when submitted ratings are disparate. Since the AW procedure will obviously identify the most important terms for every player. And the more the rating of terms differ, the more points each player will gain. Additionally, the model provides an accepted efficiency when submitted ratings are different and independent. This is related to the fact that; the more the terms, the less the points available for ratings out of the total of 100 points. Which reduces the proximity between submitted ratings, and increases the error rate when calculating the expected terms allocation.

However, the model is not well defined when the submitted ratings are identical. This is owing to the tie-breaking method used by the AW procedure; it starts by allocating all terms to one player, then starts transferring terms of lower ratings to the other player, until equality attained. Consequently, as the number of SLA terms increases, chances are one player is assigned more important terms, and the other is assigned more unimportant terms. Hence decreasing the satisfaction level.

7 Conclusion

In this paper, we proposed an automated SLA negotiation model for federated Cloud services, based on Game theory. The model applies a Fair Division game for SLA terms allocations between Cloud services within a network of federated Cloud services called CloudLend. We illustrated the Adjusted Winner procedure, and described how it performs within CloudLend. Finally, we executed several experiments that evaluated our SLA negotiation model, and demonstrated its ability to allocate SLA terms fairly, and efficiently in most test cases. We aim to further improve our SLA negotiation model to show enhanced results in situations where both a consumer, and a provider equally strive for the same SLA terms. As well as when the number of negotiated SLA terms increases.