4
Proceedings of IEEE CCIS2011 TOWARDS A RAMEWORK FOR AUTOMATED SERVICE NEGOTIATION IN CLOUD COMPUTING Li Pan School of Computer Science and Technology, Shandong University, Jinan, China [email protected] Abstract The on-demand service provision model in cloud computing necessitates the use of well-established service level agreements (SLA). A SLA is a part of a service contract between the consumer and provider that formally defines the level of service. In cloud computing, SLAs are necessary to control the use of computing resources. Therefore, a main issue for cloud computing is to build a new layer to support a negotiation phase between service providers and consumers to establish SLAs between them. In this paper, we propose a software agent based automated service negotiation framework for on-demand cloud service provision. In this framework, autonomous agents act on half of service providers and consumers to participate in negotiations in automated and efficient way. We also propose a bilateral multi-step monotonic concession negotiation protocol for service negotiation in cloud computing environments. Keywords: cloud computing; software agent SLA; negotiation 1 Introduction Cloud computing [1] has been providing a new promising paradigm in which consumers can use on-demand cloud services in a pervasive, transparent and pay-per-use way. And Service Oriented Architecture and Web Services technologies [2] are more and more becoming de- facto implementations for clouds. In service oriented cloud computing environments, providers encapsulate their various kinds of resource such as hardware, software, data center, and etc as services. Thus consumers can use the provided resource services in a standard and interoperable way. Clouds are in fact marketplaces where service providers can publish their services and consumers can look up the services they needed to accomplish their tasks. It is widely recognized that the ultimate success of cloud computing environments relies on the possibility of selling and buying services in the same way as goods and services are bought and sold in the real world economy [3]. Different service consumers may have diverse user preferences on qualities of services (QoS) provided. Thus, in order to make service more acceptable to consumers and more competitive in the global cloud marketplaces, cloud service providers need to configure their services with customized qualities to fulfill the need of consumers. The customized qualities of services can be described by Service Level Agreement (SLA) in service contracts established between cloud service providers and consumers [4]. A Service level agreement is in fact a document that includes a description of the agreed service functions, service level parameters which mainly includes descriptions of qualities of services, guarantees, billings information which includes service charges and payment methods, and compensations for all cases of violations. Service providers and consumers join and leave the cloud marketplaces constantly. In such dynamic and open cloud environments, service level agreements are needed to be established between service providers and consumers with no prior knowledge of each other. And cloud service providers and consumers usually have conflicting interests with each other. For example, a service provider has a desire for a higher price for delivering a service while the consumer desires a lower one. And it is difficult to have a central market broker to impose a service level agreement to service providers and consumers. Thus, negotiation [5] becomes a natural and promising approach for establishing service level agreements between providers and consumers. Entities can reach an agreement by exchanging proposals and counter-proposals during a negotiation process. In this paper, we propose a framework for achieving automated service negotiation between providers and consumers for service provision in cloud environments. Software agents are proposed to conduct bilateral negotiations and make decisions on behalf of service providers and consumers for cloud service provisions. The rest of this paper is organized as follows: Section 2 introduces an agent based negotiation ___________________________________ 978-1-61284-204-2/11/$26.00 ©2011 IEEE

[IEEE 2011 IEEE International Conference on Cloud Computing and Intelligence Systems (CCIS) - Beijing, China (2011.09.15-2011.09.17)] 2011 IEEE International Conference on Cloud Computing

  • Upload
    li

  • View
    213

  • Download
    1

Embed Size (px)

Citation preview

Page 1: [IEEE 2011 IEEE International Conference on Cloud Computing and Intelligence Systems (CCIS) - Beijing, China (2011.09.15-2011.09.17)] 2011 IEEE International Conference on Cloud Computing

Proceedings of IEEE CCIS2011 TOWARDS A RAMEWORK FOR AUTOMATED

SERVICE NEGOTIATION IN CLOUD COMPUTING Li Pan

School of Computer Science and Technology, Shandong University, Jinan, China [email protected]

Abstract The on-demand service provision model in cloud computing necessitates the use of well-established service level agreements (SLA). A SLA is a part of a service contract between the consumer and provider that formally defines the level of service.In cloud computing, SLAs are necessary to control the use of computing resources. Therefore, a main issue for cloud computing is to build a new layer to support a negotiation phase between service providers and consumers to establish SLAs between them. In this paper, we propose a software agent based automated service negotiation framework for on-demand cloud service provision. In this framework, autonomous agents act on half of service providers and consumers to participate in negotiations in automated and efficient way. We also propose a bilateral multi-step monotonic concession negotiation protocol for service negotiation in cloud computing environments. Keywords: cloud computing; software agent SLA; negotiation

1 Introduction Cloud computing [1] has been providing a new promising paradigm in which consumers can use on-demand cloud services in a pervasive, transparent and pay-per-use way. And Service Oriented Architecture and Web Services technologies [2] are more and more becoming de-facto implementations for clouds. In service oriented cloud computing environments, providers encapsulate their various kinds of resource such as hardware, software, data center, and etc as services. Thus consumers can use the provided resource services in a standard and interoperable way. Clouds are in fact marketplaces where service providers can publish their services and consumers can look up the services they needed to accomplish their tasks. It is widely recognized that the ultimate success of cloud computing environments relies on the possibility of selling and buying services in the same way as goods and services are bought and sold in the real world economy [3]. Different

service consumers may have diverse user preferences on qualities of services (QoS) provided. Thus, in order to make service more acceptable to consumers and more competitive in the global cloud marketplaces, cloud service providers need to configure their services with customized qualities to fulfill the need of consumers. The customized qualities of services can be described by Service Level Agreement (SLA) in service contracts established between cloud service providers and consumers [4]. A Service level agreement is in fact a document that includes a description of the agreed service functions, service level parameters which mainly includes descriptions of qualities of services, guarantees, billings information which includes service charges and payment methods, and compensations for all cases of violations. Service providers and consumers join and leave the cloud marketplaces constantly. In such dynamic and open cloud environments, service level agreements are needed to be established between service providers and consumers with no prior knowledge of each other. And cloud service providers and consumers usually have conflicting interests with each other. For example, a service provider has a desire for a higher price for delivering a service while the consumer desires a lower one. And it is difficult to have a central market broker to impose a service level agreement to service providers and consumers. Thus, negotiation [5] becomes a natural and promising approach for establishing service level agreements between providers and consumers. Entities can reach an agreement by exchanging proposals and counter-proposals during a negotiation process. In this paper, we propose a framework for achieving automated service negotiation between providers and consumers for service provision in cloud environments. Software agents are proposed to conduct bilateral negotiations and make decisions on behalf of service providers and consumers for cloud service provisions. The rest of this paper is organized as follows: Section 2 introduces an agent based negotiation

___________________________________ 978-1-61284-204-2/11/$26.00 ©2011 IEEE

Page 2: [IEEE 2011 IEEE International Conference on Cloud Computing and Intelligence Systems (CCIS) - Beijing, China (2011.09.15-2011.09.17)] 2011 IEEE International Conference on Cloud Computing

framework and core concepts of negotiation decision models and utility values. Section 3 first discusses the relationship of negotiation protocols and strategies and then proposes a bilateral multi-step monotonic concession negotiation protocol. Section 4 gives the final conclusion of this paper.

2 Software agents for autonomous negotiation

In this section, we are going to discuss why and how software agents are used for service negotiation in cloud computing environments.

2.1 Software agents for cloud computing environment

Software agents [6] are autonomous and active problem solving entities which are situated in an environment and able to reach their own objectives set by their human counter parts. And they are equipped with flexible decision making capabilities and thus can respond to the uncertainty of the environment they operate in. The above characteristics make software agents a useful computational paradigm to model the participating entities in cloud service provision activities, i.e., respectively providers that offer services and consumers that require services. Negotiation is “a process by which a group of agents communicate with one another to try and come to a mutually agreement on some matter” [7]. Autonomous agents could do negotiating task better on behalf of their human counterparts at many aspects. They can do it faster than human being. They can negotiate with hundreds, even thousands of participants at the same time while they need not to be co-located in space and time. Furthermore, they can perform like professional negotiators ever for ordinary users. Thus, software agents are a natural way to represent service providers and consumers and their defining characteristics are essential to realize the full potential of cloud computing environments. Service provider agents and consumer agents can negotiate with others according to specified protocols and interfaces and establish their own conditions to provide or consume services. During the negotiation process, they can adopt different decision making mechanisms to accommodate to the dynamic and changing nature of the open cloud environment in which they are situated. Our agent based service negotiation framework is shown in Figure 1. Cloud service providers publish their services in the cloud marketplace by registering them into the service registries maintained by the matchmaker. A cloud service is

described by a set of metadata, which include its functional and non-functional properties. Its non-functional properties are identified by a multidimensional QoS model which captures nonfunctional properties that are inherent to cloud services in general, e.g., availability, response time and reputation. This model defines a number of QoS properties and methods for attaching values for these properties in the context of cloud services. A service consumer agent can interact with the service matchmaker to look up a service it needs to accomplish its task. After successfully discovers a potential service, the service consumer agent will start a negotiation process by sending a call for proposal message to the service provider agent. If the negotiation succeeds and the provider and consumer agents come to a final agreement, they then will enter into the service provision phase.

Figure 1 The agent based cloud service negotiation and provision framework

2.2 Negotiation decision model and utility value

Negotiation can be viewed as a bargaining process by which a joint decision is made by two parties, i.e., service provider agent and service consumer agent in the context of cloud computing environment. The negotiating agents bargain with each other and move towards a final agreement. During such a negotiation process, the decision making model plays a critical role. It is employed by all the parties in negotiation to act autonomously in accordance with the negotiation protocol in order to decide how they move. A utility value represents the satisfaction degree of an entity on a received proposal. The design of the decision making model in this research is based on the utility values. Agents are equipped utility function models which can help them to determine the utility values, i.e., their satisfaction degrees, on proposals. By applying this model, the negotiating agent can derive a utility value on a received proposal, evaluate it, and then determine if this proposal can be accepted. If yes, a final agreement has been achieved. Otherwise, if a final agreement has not been achieved, this model is also used to generate counter proposals in order to make the negotiation proceed.

Page 3: [IEEE 2011 IEEE International Conference on Cloud Computing and Intelligence Systems (CCIS) - Beijing, China (2011.09.15-2011.09.17)] 2011 IEEE International Conference on Cloud Computing

3 The bilateral negotiation process In this section, we will first recall the basic concepts of negotiation protocols and strategies. Then we will present our bilateral multi-step monotonic concession negotiation protocol for service negotiation in cloud computing.

3.1 Negotiation protocols, strategies and decision models

Here we recall the basic conception of negotiation protocols and strategies in the literature Negotiation protocols are the set of rules that govern the interaction and specify the valid actions available to each agent at any stage of a negotiation process, while an agent’s negotiation strategy is a function from the negotiation history to a follow-up move respecting the protocol. Negotiation protocols are public and shared by negotiation participants, while negotiation strategies are usually private to agents. Based on its own negotiation strategy, an agent decides how to bargain with its opponent, i.e., decides which offers should be made and whether or not it accepts its opponents’ offers at a certain time during the negotiation process. A majority of the protocols put forth in the literature are multi-step interactions. Nevertheless there are still a few one-step or one-shot protocols. Multi-step protocols are usually supposed to allow more efficient outcomes but take more time to complete. The one-shot negotiation protocols offer an advantage in this respect. In the rest of this section, we present a concession model which supports a multi-step monotonic concession protocol which specifies how service provider and consumer agents negotiate with their opponents round by round to establish service level agreements.

3.2 A bilateral multi-step monotonic concession negotiation protocol

Here we present our multi-step monotonic concession protocol and discuss how a service provider agent p and a service consumer agent c negotiate governed by it. Let rua denote the reservation utility to a negotiating agent a, where . A reservation utility value is a degree by which an agent will never give up during a negotiation process. That means, agent a will quit the negotiation process when its own utility value on the received proposal from its opponent is lower than its utility value rua. Each agent a has a negotiation deadline Ta until when it will quit the negotiation. In our research, we use a maximum negotiation round to indicate the negotiation deadline. We let a- denotes agent a’s opponent agent. The agents a and a- simultaneously propose

offers at times T={0, 1, . . . ,min{Ta, Ta− }}, where Ta is the negotiation deadline for a and Ta− is the negotiation deadline for a-. Let Ot,c p denote the offer over multidimensional QoS parameters proposed by service consumer agent c to provider agent p at time t. When agent p receives an offer from agent c at time t (i.e., Ot,c p), it rates the offer using its utility function and gets a utility value up(Ot,c p). If up (Ot,c p) is greater than or equal to the value of the current proposal of agent p, i.e (up (Ot,c p) > up (Ot,p c)), then agent p accepts the offer at time t and the negotiation ends successfully with an agreement. The agent c will do a similar evaluation on agent p’s offer. Either agent a can make a decision to accept its opponent’s offer and such that an agreement is reached. If both agents accept their opponent’s offer, they can take either offer as the agreement randomly. If neither agent accepts the opponent’s offer, they will either come to next time round t+1 and proposes a new offer to each other or quits if the negotiation deadline is reached. Since an agent can always get profit from an agreement on which its utility is above its reservation utility, it prefers to reach an agreement rather than fail and not reach any agreement under such conditions. Thus, when coming to the last time round of agent a, agent a will check whether the opponent’s offer is greater than its reservation utility rua. If it is, agent a will accept the offer, and the negotiation ends successfully with this offer (i.e., at the final agreement). Otherwise, the negotiation process ends with a failure. In order to maximize its own profit, an agent can make an initial offer, denoted as Oa,0, which guarantees it has the greatest utility and then in the following round negotiating it make concessions according its own strategy. In fact, this is typical for monotonic concession protocols [8]. If an agent a decide to proceed into the next subsequent round, it will make a concession from current offer and make a new offer to propose to its opponent in next round. In order to prepare a new offer, an agent can use a set of tactics [9] to generate new values for each negotiated quality attribute. Among of them, time dependent tactics has been adopted in many current negotiation models. In our bilateral multi-step monotonic concession negotiation protocol, we don’t set constraints on negotiation tactics and concession models based on various kinds of tactics can be used here in a flexible way.

4 Conclusions This paper presents a framework for automated service negotiation in cloud computing environments. The core of the methodology is to have software agents negotiate with each other on

Page 4: [IEEE 2011 IEEE International Conference on Cloud Computing and Intelligence Systems (CCIS) - Beijing, China (2011.09.15-2011.09.17)] 2011 IEEE International Conference on Cloud Computing

behalf of cloud service providers and consumers. We have discussed why and how software agents can be used in the cloud service negotiation area. We also propose a bilateral multi-step monotonic concession negotiation protocol, which guides the negotiation agents’ behavior during the negotiation process. During the negotiation process, service provider and consumer agents interact with each other and make decisions according this negotiation protocol and their own decision making models.

References [1] Armbrust, M., et al. Above the clouds: A

Berkeley view of cloud computing. EECS Department, University of California, Berkeley, Tech. Rep. UCB/EECS-2009-28, 2009

[2] Papazoglou, M.P., Georgakopoulos, D. Service–oriented computing. Communications of the ACM 46(10), 24–28 (2003)

[3] Nassif, L.N., Nogueira, J.M., de Andrade, F.V. Distributed resource selection in grid using decision theory. In: Seventh IEEE International Symposium on Cluster Computing and the Grid (CCGrid 2007), pp. 327–334 (2007).

[4] Keller, A. and H. Ludwig. The WSLA framework: Specifying and monitoring service level agreements for web services. Journal of Network and Systems Management, 11(1), 57-81 (2003)

[5] N.R. Jennings, P. Faratin, A.R. Lomuscio, S. Parsons, M.J. Wooldridge, C. Sierra. Automated negotiation: Prospects, methods and challenges, Group Decision and Negotiation 10 (2),199–215 (2001).

[6] N.R. Jennings. An agent–based approach for building complex software systems. Communication of the ACM 44(4), 35–41 (2001).

[7] J., Peasall. The New Oxford English Dictionary. Oxford University Press. (2001)

[8] Endriss, U. Monotonic concession protocols for multilateral negotiation. In Proceedings of the Fifth International Joint Conference on Autonomous Agents and Multiagent Systems, 392–399 (2006)

[9] P. Faratin, C. Sierra, and N.R. Jennings, “Negotiation Decision Functions for Autonomous Agents,” Int’l J. Robotics and Autonomous Systems, vol. 24, nos. 3-4 (1998)