Cloud computing service negotiation: A systematic review

Cloud computing service negotiation: A systematic review

Accepted Manuscript Cloud Computing Service Negotiation: A Systematic Review Bahador Shojaiemehr , Amir Masoud Rahmani , Nooruldeen Nasih Qader PII: ...

943KB Sizes 31 Downloads 213 Views

Accepted Manuscript

Cloud Computing Service Negotiation: A Systematic Review Bahador Shojaiemehr , Amir Masoud Rahmani , Nooruldeen Nasih Qader PII: DOI: Reference:

S0920-5489(17)30067-3 10.1016/j.csi.2017.08.006 CSI 3233

To appear in:

Computer Standards & Interfaces

Received date: Revised date: Accepted date:

25 February 2017 12 June 2017 13 August 2017

Please cite this article as: Bahador Shojaiemehr , Amir Masoud Rahmani , Nooruldeen Nasih Qader , Cloud Computing Service Negotiation: A Systematic Review, Computer Standards & Interfaces (2017), doi: 10.1016/j.csi.2017.08.006

This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

ACCEPTED MANUSCRIPT

Highlights  

AC

CE

PT

ED

M

AN US

CR IP T



The consumers of cloud compete to attain a service with desired functional and nonfunctional requirements. There is also a competition space among the cloud providers to sell their services to the consumers. We surveyed Cloud Computing Service Negotiation (CCSN) models, frameworks, techniques, protocols, and strategies proposed by the CCSN researches. Evaluation results of the CCSN studies reveal that researchers need to design a negotiation strategy for cloud service negotiation problem which efficiently matched with requirements of the consumers and the providers.

1

ACCEPTED MANUSCRIPT

Cloud Computing Service Negotiation: A Systematic Review Bahador Shojaiemehr1, Amir Masoud Rahmani2,, Nooruldeen Nasih Qader3 1,2

CR IP T

Department of Computer Engineering, Science and Research Branch, Islamic Azad University, Tehran, Iran. 3 Computer Science, University of Human Development, Sulaimanyah, Iraq. 1 [email protected], [email protected] Tel: +98(912)1784956, [email protected]

ED

M

AN US

Abstract—Features of cloud computing services have created a significant trend of organizations opting for these services. In this situation, many consumers, who want a certain service, and many providers, who supply those services, form a competitive market. Consumers compete with each other to get a service with the desired functional and nonfunctional requirements. There is also a competition space among the providers to sell their services to the consumers. Since there is a dynamic competitive market and conflicting requirements of consumers and providers, it is essential that automated negotiation mechanisms be proposed to reach agreements and provide the maximum utility for both trading parties. To the best of our knowledge, no comprehensive study and review of cloud computing service negotiation (CCSN) exist as of now. In this article, we study the CCSN models. We investigate frameworks, techniques, protocols, and strategies proposed by the CCSN researches. Some questions will be proposed, and answers to the questions may help researchers design more efficient models in future works. Valuable innovations are explained and evaluated to find the answers to the questions. Statistics can specify some defects that must be addressed in future researches. The contributions can be summarized as follows: (1) reviewing CCSN works to understand open issues and challenges in providing negotiation systems in the cloud environments, (2) identifying the characteristics of an efficient CCSN that can provide the maximum utility for the trading parties, and (3) pointing out the defects of the current works to help researchers improve the CCSN systems in future researches. Keywords—Cloud computing; Automated negotiation; Participant's proposal; Negotiation strategy; Negotiation agent; Cloud services.

PT

1. Introduction

AC

CE

Enterprises always need reliable, secure, and affordable information technology infrastructures. Cloud computing can provide solutions that fulfill these requirements. A cloud is a large group of interconnected computers that extends beyond a single company or enterprise [1, 2]. Resources and applications are provided by cloud service providers via public or private networks. Cloud service consumers and providers have different requirements and objectives, which are usually opposed to one another. Since agents assigned to consumers and providers have conflicting goals, negotiations can provide a solution to establish a service-level agreement (SLA) between them. Negotiation is a process by which a group of agents communicates with one another to try to come to a mutually acceptable agreement on some matter [2]. Researches designed different e-negotiation systems to address this problem. E-negotiation systems play a very important role in helping agents with conflicting goals reach an agreement. In order to design and implement an e-negotiation system, the negotiation protocol and negotiation strategy must be clearly specified. A negotiation protocol shows how a negotiator can interact with others. It also specifies the structure and context of messages circulated among the agents. A negotiation strategy determines the decision-making functions of the agents. Agents can accept, reject, or 

Corresponding author 2

ACCEPTED MANUSCRIPT

CE

PT

ED

M

AN US

CR IP T

generate counter offers after receiving and analyzing an offer. Initially, e-negotiation systems were applied to buying/selling goods in the e-commerce segment. Chavez and Maes [3] proposed an agent marketplace called KASBAH. The KASBAH provides e-negotiation for the created agents of the buyer/seller to buy and sell items. KASBAH provides benefits to the participants through interaction and competition among agents in the marketplace. However, the marketplace was not apply intelligent techniques to maximize utilities for the participants. E-commerce researchers had applied different intelligent techniques to provide the maximum utility for the participants in the years before the advent of cloud computing. Chan et al. [4], Nassiri-Mofakham et al. [5], Wang and Dai [6], Castro-Schez et al. [7], and Chen and Huang [8] proposed negotiation schemes for e-commerce by using the fuzzy logic theory. Dong and Li [9], Papaioannou et al. [10], and Carbonneau et al. [11] proposed negotiation schemes for e-commerce by using neural networks. Li et al. [12], Shen et al. [13], and Song and Zhang [14] used genetic algorithm to create negotiation systems in e-commerce. Automated negotiation has been proposed as an ideal approach to procure cloud services. The CCSN is an e-negotiation system that allows cloud consumers and providers to automatically negotiate on important buying/selling issues. The CCSN aims to provide the maximum utility for both trading parties in the possible shortest time. Studies on the CCSN have increased rapidly due to the importance of the SLA establishment between cloud consumers and providers. The CCSN models were first introduced in 2010 [15, 16]. Sim [2] proposed a many-to-many negotiation model among consumer agents and broker agents. Brokers can negotiate in multiple the types of cloud resource markets with multiple groups of cloud resource providers, based on consumer requirements. One of the first attempts to propose an architecture for cloud service management was presented by Brandic et al. [16]. Their work evolved novel concepts for an automatic bootstrapping between different protocols to increase the number of services a consumer may negotiate with, but no negotiation strategy was defined. Afterward, researches proposed novel ideas to consider participants' satisfaction and negotiation speed. These researches will be studied in Section 3.3. This paper provides a systematic review of frameworks, approaches, and techniques in addressing CCSN. We will study all of the strong and valuable works in this scope. The advantages and defects of each work will be enumerated. Then, we will investigate tendencies of the researchers to design a new strategy or select existing strategies. We will also classify the CCSN works based on different important parameters involved in negotiation process. After proposing the questions, current the CCSN approaches will be studied. Strengths and weaknesses of each work will be mentioned. Descriptions of the works in Section 3.3 will show how they improved the CCSN models from 2010 until 2016. The remainder of this paper is organized as: Section 2 describes research objectives and proposes some questions. Section 3 gives a general view of the CCSN and studies related works. Section 4 evaluates the studied works and the answers to the questions proposed in Section 2. Section 4 also express open issues that must be addressed by more research in future.

AC

2. Research objectives

This paper will help researchers to propose efficient CCSN models in future. This section places some questions that will be addressed after studying and analyzing the current CCSN approaches. Next, the studied and evaluated researches in this paper will be described. The studied researches can be divided into three categories based on the service type. The first category of the researches proposes that the CCSN provide software as a service (SaaS). The SaaS delivers software remotely accessed via public or private communication links. The second category of the researches proposes platform as a service (PaaS). The PaaS supplies cloud developers with runtime environments and APIs to develop cloud applications. The third category of the researches proposes the CCSN provide infrastructure as a service (IaaS). The IaaS provides computational recourses. We discuss negotiation requirements in the different service types in Section 3.2. 3

ACCEPTED MANUSCRIPT

2.1. Research questions Answer the research questions give researchers a comprehensive view of earlier researches. Researchers will understand how the CCSN works were changed to enhance participants' satisfaction and negotiation speed. This paper will address the questions by investigating the characteristics and facilities of the earlier works. Studied works provide required information about the CCSN problem. We will categorize attained information from different aspects in Section 4.1 in order to answer some of research questions. The research questions are mentioned below:

PT

ED

M

AN US

CR IP T

Q1. What strategies are proposed by the CCSN works? This question will be answered in Section 3.3. Q2. What innovations and new ideas are proposed by each work? How can each idea improve the CCSN? This question will be answered in Section 3.4. Q3. Which of the strategies is best to address participants’ satisfaction and negotiation process time? This question will be answered in Section 4.1. Q4. What are the negotiation issues for each type of cloud service? For example, which issues are important for SaaS provisioning? This question will be answered in Section 3.1, and Section 4.1. Q5. What are the effective factors to generate proposals and counterproposals? What effect does each factor have on the decision-making of the negotiators? This question will be answered in Section 4.1. Q6. What are the weaknesses of the current approaches and open issues that have not been addressed so far? Weaknesses of the current approaches will be explained in Section 3.3; the open issues will be explained in Section 4.2. Q7. What are the metrics to evaluate CCSN performance? Which metrics are more important for performance evaluation? This question will be answered in Section 4.3. Q8. What are the factors that affect the CCSN performance? This question will be answered in Section 4.4.

AC

CE

2.2. Studied works First attempts to design the CCSN began in 2010. This paper aims at a comprehensive study encompassing all of the innovative researches that were published from 2010 until 2016. Some works related to other computing environments were also considered by this research. The main ideas of these studies can be used in the CCSN works. The studied works were selected from creditable journals and conferences. The process of choosing the articles was conducted in two stages: search based on keywords; selection based on abstract, and quality of research. We considered 25 papers, each of which provides novel and valuable ideas. These references provide the required information about the CCSN problem. We categorized the obtained information according to various aspects in order to answer the research questions. 3. CCSN system description 3.1. CCSN definition This section provides a general definition of the CCSN. Consumers express functional and nonfunctional requirements, which they wish to be met. On the other hand, providers want to maximize his/her utility by 4

ACCEPTED MANUSCRIPT

AN US

CR IP T

selling service in accordance with his/her favorite requirements. QoS issues play the main role in the acceptance or rejection of a cloud service by a consumer. For example, consumers want a cloud service with the minimum response time, maximum availability, and maximum reliability. The CCSN defines an automated negotiation system as one that allows an interaction between a cloud consumer and provider to reach an agreement on the negotiable issues such as QoS parameters. It is necessary to select services that fulfill a consumer's functional needs before the negotiation can be started to satisfy both trading parties. Several works such as those by Zheng et al. [17], Sundareswaran et al. [18], Quinton et al. [19], Chang et al. [20], and Parhi et al. [21] focused on cloud service selection. The CCSN, in highest level of abstraction, includes a consumer negotiator agent (CNA) and provider negotiator agent (PNA). These agents are assigned to the consumer and the provider and negotiate together over the important negotiable issues. Figure 1 shows an interaction process between the CNA and the PNA. As shown in the figure, the negotiator agent consists of three components: proposal generator, proposal evaluator, and decision-maker. The proposal generator is responsible for generating the proposal by using the negotiation strategy of the agent. The participant’s proposal includes single value for each negotiation issue. Different negotiation strategies used by the CCSN works are studied in Section 3.3. The proposal evaluator evaluates the opponent’s proposal with respect to the issue of the owner’s satisfaction. The decision-maker decides to accept/reject the opponent’s proposal or continue the negotiation process based on evaluation results of the opponent’s proposal. The decision-maker accepts the opponent’s proposal when it is found to be good enough to meet the participant’s requirements. The following steps, which specify the one-to-one bilateral negotiation activities, are shown in Figure 1.

AC

CE

PT

ED

M

1. The CNA sends a call-for-proposal (CFP) message to the PNA by the proposal generator component. 2. The PNA generates a single or multiple proposals (P) based on its provider's requirements and sends them to the CNA. 3. The proposal evaluator of the CNA evaluates the opponent’s proposal with respect to the owner’s satisfaction. The evaluation results (ER) are then sent to the decision-maker. 4. The decision-maker decides to reject/accept the opponent’s proposal or continue the negotiation process. 5. If the decision-maker decides to continue the process (DC), then the proposal generator generates a counterproposal (CP) based on the owner's requirements. The CP is sent to the opponent. 6. Steps 2 to 5 are iteratively followed until the occurrence of an event that terminates the negotiation between the two agents. 1.CFP

Proposal Generator

2.P

Proposal Generator

4.DC

7.DC

Decision Maker

Decision Maker

3.ER

6.ER

Proposal Evaluator

Proposal Evaluator 5.CP PNA

CNA

Figure 1. Interaction process for one-to-one negotiation 5

ACCEPTED MANUSCRIPT

The negotiation process is terminated when one of the following events occurs: 1. The decision-maker decides to accept or reject the opponent's proposal, based on the owner’s satisfaction evaluated by the proposal evaluator. 2. The negotiation deadline is reached. In this case, the number of rounds over which proposals and counterproposals are exchanged is equal to the deadline.

PT

ED

M

AN US

CR IP T

3.2. Negotiation in different cloud service types This section individually describes the negotiation problems pertaining to the IaaS, PaaS, and SaaS. We do not investigate all of the negotiation issues for each cloud service type. Instead, we give an idea of the differences in the negotiations for each cloud service types. Important issues in buying/selling cloud services could be divided into two categories: negotiable and non-negotiable. If a consumer needs a certain amount and does not accept other amounts, the issue is non-negotiable because the service provider must supply the consumer’s required amount. For example, if IaaS consumer needs 4GB for memory size and does not accept any other amount size, the memory size is, then, a non-negotiable issue. Some negotiation issues such as price, availability, and response time are common to all types of cloud services. Some of these issues are considered by repeatedly studying references, while other issues, which may belong to one or more cloud types, are not considered by any references. They are mentioned in this section. There is a need for future CCSNs to consider these issues. The number of times they appear in references gives an indication of the importance of the issues. This aspect is discussed in Section 4.1. Security is considered an important issue for providing cloud services. The negotiation of security requirements was intended by Liccardo et al. [22]. They proposed a semantic matchmaking mechanism using ontologies that evaluate the matching level of the consumer’s requirements and providers’ capabilities. A mediator is responsible for delivering a list of capabilities with the highest matching level to the consumer. The consumer can either accept/reject it or continue the negotiation by submitting a new proposal. Their work introduces a security ontology to formally define the security terms. However, it is not able to provide automated negotiation in which the consumer and the provider can negotiate the delivery of secure services automatically. Agents are assigned to the participants in an automated negotiation system. They get their users’ requirements and negotiate on important issues without interfering with the users in reaching an agreement.

AC

CE

3.2.1. Negotiation in IaaS IaaS consumers need computational resources at certain times. Functional requirements are resources such as the CPU capacity and memory size, which should be reserved. Price and QoS aspects are negotiable. IaaS consumers seek high quality services at the minimum price. Consumers and providers negotiate on some QoS issues that are important for both trading parties. One of the important issues in the IaaS is time slots in which resources are reserved. The consumer specifies resource reservation time slot. Time slot could be a negotiable issue. The consumer could specify multiple time slots based on his/her preferences. In this case, the CCSN defines utility functions for both the consumer and the provider. Son and Sim [23] proposed a negotiation mechanism for resource reservation in the cloud. They defined a partial function to compute consumers' time slot utility using their preferences. They also defined another time slot utility function for the providers based on their preferences. Elasticity is another important issue in the IaaS. According to Herbst et al. [24] elasticity is the degree of a system’s adaptability to workload changes caused by the provisioning and deprovisioning of resources. Elastic service is able to scale up and scale down capacity based on consumer workload. Therefore, elasticity provides optimal resource consumption for the provider and high QoS for the consumer. If the consumer and the provider use the same method to measure 6

ACCEPTED MANUSCRIPT

and evaluate service elasticity, they can negotiate how much elasticity the service must provide. In this case, the provider needs to monitor elasticity during time slots for which resources are reserved in order to avoid SLA violation. Garcia et al. [25], Moldovan et al. [26], Copil et al. [27], Hu et al. [28] proposed frameworks and models to evaluate the elasticity of IaaS cloud, but there are not any references to elasticity being considered a negotiable issue.

AN US

CR IP T

3.2.2. Negotiation in PaaS PaaS represents a platform to develop cloud-based applications. PaaS provides middleware and development tools, which help developers build application components into the platform. PaaS providers need resources that enable them to establish platforms for consumers. Hence, they may want to negotiate with IaaS providers to reach an agreement for resource reservation. On the other hand, consumers want PaaS, which can satisfy their requirements. They want to negotiate on contract issues, but some aspects may be non-negotiable. For example, consumers may need an exact number of developers who can access to the platform and certain operating system of the platform. Like IaaS, PaaS consumers can negotiate with providers to get services with better quality. Furthermore, it is possible that there are negotiable issues specifically for PaaS, such as the time to redeploy applications.

PT

ED

M

3.2.3. Negotiation in SaaS SaaS providers may need to rent virtual machines (VMs) from IaaS providers. They also may need specific platforms for hosting their applications. Hence, they want to negotiate with IaaS/PaaS providers to get resources/platforms of their preference. On the other hand, SaaS consumers need software services that can fulfill their business requirements. Negotiations can be started between consumers and SaaS providers on important issues from both the point of view of the consumer and the provider. Consumers and providers can measure and monitor some negotiable issues such as response time and page load time, but there may be other issues that cannot be measured directly such as usability. Participants need common methods to measure these issues. For software services, a measure of the time it takes from receiving task execution request to the completion of the task execution is a critical issue. This measure does not consider communication delay time because another provider may be responsible for the communication service meant to deliver SaaS. Efficient CCSNs should consider it as a negotiable issue because the business of the requester, in which the software service is invoked, may need to receive an on-time response.

AC

CE

3.3. Negotiation strategy approaches Each of the CCSNs may apply different techniques such as fuzzy systems, genetic algorithms, and ontologies to design the negotiation strategy. We categorized all of them into three categories by considering the way the negotiator agent offers a more favorable proposal to the opponent during negotiation. The agent could apply one of the three approaches: concession, tradeoff, or mixed. First, the attempts of the CCSN were designed by concession strategies. In these works, a party has to concede in order to make a proposal for each round. With a concession strategy, the party gradually reduces its utility until reaching an agreement on the negotiation issues. Indeed, the party that adopts a concession strategy can move toward the preferences of its counterpart, even when the information is incomplete. If there is no miscalculation, its proposal has a greater higher chance of being accepted [29]. When there is a preference gap between the consumer and the provider, tradeoff strategies can be applied to achieve a better joint satisfaction in the negotiation [30]. In tradeoff approaches the participating agent concedes undesired issues but gets better value for important ones such that generated proposal has the same utility as the proposal of the previous round. The next attempts applied concession and tradeoff approaches together. The use of tradeoff is in order to 7

ACCEPTED MANUSCRIPT

enhance the opponent’s satisfaction, whereas the owner’s satisfaction remains the same as in the previous round. Concession is needed when the tradeoff among the negotiation issues cannot sufficiently satisfy the opponent. Mixed approaches apply both concession and tradeoff algorithms to generate P/CP. Section 3.3.1 investigates looks at studies dealing with the concession approach. Tradeoff approaches will be studied in Section 3.3.2. Mixed approaches will be studied in Section 3.3.3. Other related works will be studied in Section 3.3.4. This section provides answer the Q1.

AC

CE

PT

ED

M

AN US

CR IP T

3.3.1. Concession approaches In these approaches, the negotiator agent concedes in each round so that the generated proposal gets closer to the opponent's requirement than the proposal generated in the previous round. The negotiator agent must determine the amount of concession for each round. There are several factors that play a role in determining the amount of concession. These factors were considered by the CCSN works. The current utility for the negotiator and the opponent, the remaining negotiation time, and market competitive conditions are some of these factors. On the other hand, the concession strategy may consider the opponent's behavior to determine the amount of concession. It is impossible to construct an integrated framework in which all factors are simultaneously optimized [15]. We will discuss how the factors affect the concession strategy in Section 4.1. An et al. [15] presented a negotiation mechanism in which agents make contracts for cloud resource leases. The agents are able to decommit from a contract by paying a penalty to the other party. The consumer agent decides the request offer price. The agent must specify a set of required resources and quantities, the earliest starting time of resource provision, consuming duration time, and the latest time for providing resources. Their model considers the pressure of the deadline. The consumer makes more concessions when the deadline approaches. The model also considers the demand/supply ratio of resource. The higher the ratio, the greater is the price for the resource. Important features of their negotiation model can be summarized as follows: (1) many buyer-seller pairs can negotiate simultaneously. (2) The negotiation protocol introduces a pair of actions "Confirm" and "Cancel" to initiate a decommitment process. This process is required when the participant negotiates with multiple opponents such that more than one opponent accept the offer. (3) The negotiation strategy tries to make two sets of agreements. If one of the agreements is decommited, another agreement can satisfy the requirements. (4) The work developed a set of heuristics to approximate an agent's decision-making. The heuristic algorithms consider changing the negotiation status, while also considering time constraints, resource competition, and resource cost per unit to generate a proposal. The bilateral negotiation model mentioned above allows the consumer agent to negotiate with multiple providers simultaneously over a single resource market. The negotiation model can allow negotiation with multiple providers over multiple cloud resource markets simultaneously. Sim [31] proposed a CCSN that allows concurrent negotiation over multiple cloud resource markets. Their multilateral negotiation model can provide a dynamically composed cloud service using multiple types of cloud resources. The cloud negotiation mechanism was designed to support two kinds of negotiation activities: The first activity was negotiation among consumers and third party brokers to make contracts to provide services to consumers. The second activity was concurrent one-to-many negotiation among the brokers and resource providers to establish contracts with multiple providers to obtain a set of recourses to compose a service. His work uses relaxed-criteria negotiation protocol (RCNP) in which the consumer and the broker agents relax the negotiation issues under intense pressure to enhance their chance of reaching an agreement. The model uses a fuzzy decision controller and a set of relaxation criteria to determine the extent of relaxation. The concession strategy considers the deadline time, market competition, and utility differences between two negotiating parties as effective factors to determine the amount of concession. In recent years, consumers have been seeking more complex software services that cannot be fulfilled by a single provider. In such cases, service composition is required for fulfilling consumers' requirements. Service 8

ACCEPTED MANUSCRIPT

M

AN US

CR IP T

composition schemes provide the capability to present value added services, which can be matched with consumers' requirements. Liu et al. [32], Zhou and Mao [33], Kofler et al. [34], and Gutierrez-Garcia and Sim [35] did studies on the selection of services that are semantically matched with formal descriptions of atomic tasks into a composite service. Jula et al. [36], and Vakili and Navimipour [37] provided systematic literature reviews for cloud computing service composition problems. Some works proposed a composite service negotiation system. Siebenhaar et al. [38] proposed a cloud negotiation support system that could be employed on every service tier, including software, platform, and recourse tiers. The work can also be applied to service composition in cloud computing, when multiple services from different service tiers can be combined to form a complex service. Their model introduced a novel negotiation protocol to support concurrent negotiation over multiple types of cloud services. The model also provides for concurrent negotiation over multiple atomic software services to compose a complex service, but a challenge remains in the composite software service negotiation that is not addressed by the work. Composite service consumers express their requirements for the entire service. The SLA for composite service provisioning needs to ensure end-to-end consumer requirements. Therefore, the CCSN, designed for provisioning composite services, must provide a mechanism to satisfy these requirements. Chhetri et al. [39] proposed an agent-based SLA negotiation system which addresses this challenge for the composite web service provisioning. Their model considered two aspects for the SLA negotiation. One aspect is the concurrent one-to-many negotiations among CNAs and many PNAs over atomic services within the composition. Another aspect is the coordination of these negotiations such that end-to-end consumer requirements can be fulfilled. The work did not discuss the negotiation strategy at the single service level and the coordination level. Dastjerdi and Buyya [40] offered a CCSN such that a negotiator can determine the reliability of the opponent's proposal. They used the theory of statistics (Beta density function) to infer reliability from recorded data obtained from monitoring services. Their proposed strategy considers utilization of recourses, when it generates new offer during negotiations and concedes more on the price of less utilized recourses.

AC

CE

PT

ED

3.3.2. Tradeoff approaches As mentioned earlier, in the presence of a preference gap between the negotiating parties, the negotiator agent can use a tradeoff strategy to generate a new proposal that enhances the opponent’s utility without reducing the owner’s utility. Therefore, the joint utility of two parties is increased. Zheng et al. [30] considered a tradeoff approach instead of concession strategies. Their work adopted an alternating-offer protocol for service negotiation. This protocol was introduced by Rubinstein [41]. The protocol is a one-to-one negotiation in which an agent makes an offer and sends it to the opponent. The opponent can accept/reject the offer or continue the negotiation process. The negotiation is continued until the deadline is reached or the two parties reach an agreement. They compared their tradeoff algorithm with that of the concession. The tradeoff algorithm proposed by them considers two negotiation issues. The utility of an issue of less importance from opponent's perspective is decreased by where k denotes the number of rounds over which the negotiation lasted, λ denotes degree of tradeoff and denotes utility of the negotiator in the current round of negotiation. Utility of a high importance issue is increased by the same amount. Their experimental results show that the tradeoff approach produces more joint utility than concessional ones. The model offered a valuable idea about the tradeoff strategy. However, it fails when the importance of the issues from a participant's perspective is approximately close to that of its opponents. Mixed approaches can address this problem. 3.3.3. Mixed approaches Before proposing the CCSN, SLA negotiation for service provisioning was considered for e-commerce applications as mentioned earlier. Sim and Shi [42], and Adabi et al. [43] proposed frameworks for grid recourse negotiation. QoS negotiation for web services was also investigated by the researchers. Yan et al. [44] 9

ACCEPTED MANUSCRIPT

AC

CE

PT

ED

M

AN US

CR IP T

is one of the important works in this area, the main idea of which was applied to mixed strategy CCSN works. Their work proposed a QoS negotiation system for web service composition to ensure end-to-end QoS in the composite service. The model proposed an architecture that aimed at two essential tasks: (1) negotiation with atomic service providers to reach SLA; and (2) coordinating among the SLAs to ensure end-to-end QoS, according to the consumer's requirements. Their work introduced two algorithms for the negotiation strategy. The negotiator agent generated a new P/CP by using the concession and/or tradeoff algorithms. The mixed approach was occurred when the negotiator generated a P/CP by using concession and tradeoff algorithms sequentially. They selected the iterated contract net interaction protocol (ICNP) to exchange messages among the agents. The ICNP allows multi-round iterative bidding. The protocol develops contract net protocol (CNP) introduced by Smith [45]. It is suitable for multi-round, one-to-many negotiation systems. In the CNP, the manager is an agent, which wants to execute a task. There are some agents, which are able to execute the task. The manager negotiates with these agents iteratively to reach an agreement with one of them to execute the task. Son and Sim [23] presented a price and time-slot negotiation scheme that uses a novel mixed approach strategy. The model allows the consumers to input multiple sets of acceptable time-slot preferences. To create possibilities of negotiation over the time-slot issue, they proposed a novel time-slot utility function, which evaluates a participant’s satisfaction for different time-slots. Their work adopts a new negotiation strategy in which the proposals are generated in a burst mode. In the burst mode, agents are allowed to make multiple proposals for each round of negotiation, with each proposal consisting of different pairs of price and time-slot that generate the same aggregated utility. A time-dependent concession making algorithm was applied to determine amount of concession for each round. Despite strong architecture and novelties of the work, it has two weaknesses: The first is that the amount of concession only depends on the remaining time to the deadline. Other factors such as market competition, opponent's behavior, and the importance of the issues are ignored. The second is that the work does not consider QoS issues in the negotiation system framework. Son and Sim addressed the second weakness in their next work [46]. They introduced another tradeoff algorithm, called the "adaptive burst mode", to increase negotiation speed, enhance joint utility, and reduce computational load for evaluating proposals. Their work considered adaptive selection of the number of proposals in the concurrent set. The concession-making algorithm was based only on the time-dependent strategy. Najjar et al. [47] proposed a CCSN that considered multiple effective factors for concession-making during each negotiation round. They developed a negotiation strategy which adopted the burst mode tradeoff algorithm introduced by Son and Sim [23]. The concession algorithm proposed by the model applies price-based concession tactics. This allows the negotiator to determine the price of service on the basis of market conditions. In this way, SaaS providers that use cloud resources can determine the price of software services based on the resource reservation price calculated by considering the market conditions. Tit-for-tat concession tactics were also applied. The Tit-for-tat tactics were introduced by Faratin et al. [48] for autonomous agent negotiations. These tactics exploit the amount of concession made by the opponent in the last negotiation round to take into account the opponent’s behavior factor. The overall concession was computed from the weighted sum of two concession tactics. Zheng et al. [29] proposed a mixed approach for the CCSN which is based on ―game of chicken‖ to balance utility. A party selects a concession strategy with a certain probability and a tradeoff strategy with a different probability. These probabilities are randomly generated. Therefore, the negotiator agent is not able to determine which strategy is more effective by considering the conditions under which the negotiations are held. The effective factors to generate the P/CP are the degree of tradeoff/concession statically specified before the beginning of the negotiation, and the number of rounds the negotiation is held. Other factors such as the opponent’s behavior and market conditions have been ignored by the work.

10

ACCEPTED MANUSCRIPT

CE

PT

ED

M

AN US

CR IP T

3.3.4. Other related works Some researchers proposed negotiation frameworks to specify the tasks involved in the negotiation process and the SLA establishment. These works did not mention the details of the negotiation strategies. Brandic et al. [16] addressed the gap between existing QoS methods and cloud services by proposing a cloud service management architecture. They introduced the novel meta-negotiation and SLA mapping for this goal. Their proposed meta-negotiation infrastructure is able to provide publishing, lookup, matching, and negotiation for the cloud services. There are some works that consider a single-round negotiation process. Shojaiemehr and Rafsanjani [49] designed a multilateral negotiation model for trading goods/services in the e-marketplace. In their model, requirements and preferences of the participants are received by a mediator agent. The mediator determines an optimal proposal that can satisfy both parties. Since the buyer and supplier agents do not negotiate directly and the mediator recommends a proposal to the parties during one-step interaction, the agents were designed without tradeoff or concession strategies. In IaaS and PaaS types of the cloud it is essential to estimate the resources assigned to the consumers so that they satisfy their QoS requirements. Capacity planning is a provider-side problem, which determines how available resources should be assigned to the consumers to reach the maximum utility for the provider. Since capacity planning allows finding the optimal recourse allocation for unreserved time-slots, it has an important effect on the provider’s negotiation strategy. Optimal resource allocation denotes an allocation that minimizes cost and allows the satisfaction of a set of issues mentioned in the SLA. Ranaldo and Zimeo [50] proposed a CCSN for web hosting as a PaaS that considers capacity planning. The work deals with the dynamic capacity allocation of a data center to a hosted application on the basis of the workload demand such that maximum utility is achieved for the provider. They illustrated a heuristic, aiming to find an approximation of the utility function and of related acceptable regions of values for the allocations. The heuristic was introduced by an optimization problem, which found the optimal allocations for all SLAs that maximize utility. The problem was constrained by taking into account the available capacity and maintaining it at the minimum the cost. They proposed a novel heuristic to dynamically define acceptable regions on the basis of available capacity. However, the model has some constraints, which a strong CCSN should address. Negotiable issues considered by the model are the price and the response time. Other QoS issues and reserved time-slots are not negotiable. The effective parameter on the participant’s utility was the price only. Other issues mentioned in SLAs were not considered. Once the consumer sends the service requirements, the provider finds the optimal resources allocation that meets the requirements. Then, the provider agent calculates its utility. If the provider is not satisfied, the provider agent uses a resources reallocation mechanism. Interaction between the consumer and the provider during negotiation is a one-step process in which the response of the provider is to only reject/accept the consumer’s request. A single-round negotiation system needs a mechanism to calculate an optimal proposal that satisfies both parties based on their requirements and preferences.

AC

3.4. Novelties and innovations of the studied works To answer Q2, we describe the most important innovations applied by the works from our view of point. We introduce the main ideas, and the innovative techniques of these works. These innovations were either used/developed by some works repeatedly or can be used/developed by future works to improve the CCSN. The innovations are described below: 1

Coordinated architecture to fulfill composite service negotiation: Chhetri et al. [39] introduced a two-layered architecture that allows composite web service negotiation. A negotiator agent interacts with the opponent to negotiate over atomic service in the lower layer. A coordinator agent interacts with the negotiators to ensure end-to-end requirements in the upper layer. The main idea is to provide a composite service for other distributed computing environments.

11

ACCEPTED MANUSCRIPT

7

CR IP T

AC

8

AN US

6

M

5

ED

4

PT

3

Mixed negotiation strategy: Yan et al. [44] presented two algorithms to generate P/CP. One of them is to seek a point with a determined concession amount within the acceptance range. Another algorithm is to seek a point that has the same utility with the current proposal and provides greater utility for the opponent. The negotiator uses the concession algorithm or both the concession and tradeoff algorithms to generate new P/CP. The idea was designed for web services originally. Afterward, the CCSN works developed the idea to improve negotiation strategy. Concurrent negotiations in multiple types of cloud recourse markets: Sim [31] proposed a many-to-many negotiation model that allows concurrent negotiation over different resource markets. Consumers who need multiple recourse types can be satisfied by a one-time negotiation. The idea can be used to provide multiple software services concurrently. The idea can also be developed to provide composite services. Two-phase protocol to negotiate with multiple providers across multiple tiers: Siebenhaar et al. [38] introduced an architecture and a protocol called ―modified extended contract-net protocol‖ that supports all of the negotiation activities within SaaS provisioning. End-users interact with brokers. Brokers negotiate with service tier providers to fulfill end-user requirements. Finally, service tier providers negotiate with resource tier providers to supply the required recourses. The protocol can be used by future studies, which may want to propose a comprehensive CCSN for cloud software services. Designing and simulating a tradeoff strategy to produce more utility than concession strategies in certain conditions: Zheng et al. [30] designed a tradeoff algorithm to negotiate over two issues. They compared the tradeoff strategy with concession strategy and observed that the tradeoff algorithm produced more utility under certain conditions. Their work demonstrates the importance of tradeoff to generate P/CP. Time-slot utility function to model consumers’ preferences for different time-slots: The timeslot issue denotes the period for which the resources are allocated to the consumer. Consumers may have requirements for using the resources for certain periods. In these cases, they should be able to determine their required time periods before the negotiation begins. Son and Sim [51] designed two nonlinear and discrete time-slot utility functions. One of them was used for calculating a consumer’s utility and another for the provider. The model allows consumers to express multiple preferences for different time-slots. Burst mode proposal to enhance both negotiation speed and joint utility: In the burst mode, agents generate multiple proposals and send them to the opponent in a single negotiation round. Hence, the burst mode provides more options for the opponent than a single mode. Therefore, the negotiation speed can be enhanced by burst mode strategies. Son and Sim [51] adopted a burst mode proposal, which uses a tradeoff algorithm to generate multiple proposals packaged into a burst proposal. Experimental results of the work show that the burst mode strategy achieves higher average joint utility than the other tradeoff schemes. Offer modification within a single-step process to enhance negotiation speed: Shojaiemehr and Rafsanjani [49] proposed a multilateral negotiation system with a single-round process. Once proposals of the customers and the providers are received by the mediator agent, it begins a modification process to generate offers that can satisfy both the customers and the providers. For this, the mediator receives two inputs from the participants: weight of the issues and a list of acceptable values for each issue. The values are sorted based on the participant’s requirements. A single-step process, without multiple interactions between the negotiators, can address the timeconsuming process of multi-round negotiations.

CE

2

12

ACCEPTED MANUSCRIPT

9

Utility evaluation based on capacity planning: Different resource allocations provide different utilities for the IaaS/PaaS providers. Ranaldo and Zimeo [50] introduced an optimization problem to find an optimal resource allocation plan. An optimal plan can address the following requirements: (1) maximize utility, (2) minimize cost, (3) take into account available capacity, and (4) prevent any wastage of resources.

4. Discussion

CR IP T

In this section, we classify the studied works based on multiple aspects to answer the questions mentioned in Section 2.1. The studied works are 25 papers selected from authentic and creditable journals, international conferences, and book chapters. Table 1 contains the following information for each studied work: (1) the negotiation strategy approach; (2) the negotiation protocol; (3) the service types supported by the negotiation mechanism; (4) the issues the negotiators can negotiate; (5) the factors applied by the negotiation strategy for the decision-making process. This section also indicates the trend of researchers from 2010 to 2016.

We mentioned three strategy approaches: concession, tradeoff, and mixed. Some works have negotiation processes without the need for a strategy. A strategy is not required since there is a single-round of interaction between two negotiators in bilateral models or between the negotiator and mediator in multilateral models. Figure 2 shows the number of papers that belong to each of strategy approach in different years. As shown in Figure 2, in recent years, researchers have shown a desire to introduce the CCSN without a strategy or have the CCSN with new mixed approaches. Experimental results of the works with mixed approaches reveal that they provide more joint utility than other approaches. Mixed approaches can also be applied with some techniques such as the "burst mode proposal" to address the time complexity of the negotiation process. These descriptions provide answer to Q3. Trends of providing the CCSN that support SaaS and PaaS have been increased in recent years. Figure 3 denotes the number of works related to different cloud service types for each year. To answer Q4, negotiation issues applied by the works were investigated. Most issues were common to both IaaS and SaaS. Price, response time, and availability were most common issues used by the works. However, there are issues that are specifically related to IaaS or the SaaS. For example, elasticity is an IaaS issue and usability is a SaaS issue. But there are no references, which consider these issues. Figure 4 shows the number of repeated issues extracted from Table 1. Some works are limited in their dealing of negotiation issues, whereas other issues are unlimited. In other words, some works have a design limitation that does not allow the acceptance of other issues to negotiate on. This feature is specified in Table 1 for each work.

AC



CE



PT

ED

M



AN US

4.1. Classification of the studied works To answer the questions proposed in Section 2.1, it is essential to categorize the studied works according to different aspects. Table 1 shows the classification of the works and other information about the negotiation issues and the effective factors to generate P/CP. References include all valuable researches for the CCSN. Furthermore, several researches in e-commerce and web service provisioning are investigated. The main ideas of these works can be used for the CCSN. Information shown in Table 1 reveals some important notes:



13

ACCEPTED MANUSCRIPT

Table 1. Classification of studied works and other information Protocol Service Type Negotiation Issues Decision Making Factors

Reference

Strategy Approach

Chhetri et al. [39]

Not specified ICNP

Yan et al. [44]

Mix

Brandic et al. [16]

Not specified

Not specified [Agreed]

Composite web Not mentioned service Composite web Not mentioned service Cloud service Not mentioned

Song and Zhang [14]

Concession

IaaS

Price only

Cost per resource unit, Time, Market competition

Sim [31]

Concession

Extended alternating offer RCNP

IaaS

Price only

Sim [2]

Concession

RCNP

IaaS

Price only

ICNP

IaaS

Price, Availabilty/ Unlimited

Son and Sim [23] Alsrheed et al. [52] Zheng et al. [53] Wu et al. [54] Najjar et al. [47] Shojaiemehr and Rafsanjani [55]

Modified IaaS/SaaS extended CNP Tradeoff Alternating Not specified offer Mix Alternating IaaS offer Concession Alternating IaaS offer Tradeoff Alternating Not specified offer Mix [Introduced by SaaS the work] Mix Alternating SaaS offer Not required CNP E-commerce

Not specified CSNP

Yaqub et al. [57]

Concession

Zheng et al. [29]

Mix

PT

Messina et al. [56]

CE

Alternating offer Alternating offer

Concession

Alternating offer Parhi et al. [21] Not specified Not mentioned Ishikawa and Fukuta [59] Not required CNP

AC

Chen et al. [58]

Cost per resource unit, Time, Market competition, Utilities of the two negotiation parties Cost per resource unit, Time, Market competition, Utilities of the two negotiation parties Time , Resource capacity

Price, Response time, Availabilty/ Time Unlimited Price, Reliability/ Limited Time, Degree of tradeoff specified statically Price, Time slot/ Limited Time Price, Service location, Iaas config Not specified / Unlimited Price, Reliability/ Limited Time, Degree of tradeoff specified statically Price, Refresh time, Process time, Basic costs, Cost for satisfying issues, Availability/Unlimited Time, Market competition Not mentioned Market competition, Opponent's behavior

M

Zheng et al. [30]

Concession

ED

Siebenhaar et al. [38]

Not specified

CR IP T

Dastjerdi and Buyya [40] Concession

Not specified

AN US

ICNP

Price, Important buying/ selling issues/ Unlimited

Cloud service Not mentioned

Weights of issues for the two negotiation parties, Opponent rank Not specified

PaaS

Availability, Performance, Backup/ Time, Opponent's behavior Unlimited IaaS Availability, Reliability, Response Time, Degree of concession/tradeoff time, Security, Elasticity/ specified statically Unlimited IaaS Price, Availability, Reliability Not specified Responsiveness/ Unlimited IaaS/PaaS/SaaSPrice, Availability/ Unlimited Not specified IaaS

Price, Iaas config/ Unlimited

Not specified

Omezzine et al. [60]

Not specified [Agreed]

IaaS/PaaS/SaaSNot mentioned

Not specified

Son and Sim [46]

Mix

IaaS

Shojaiemehr and Rafsanjani [49]

Not required CNP

Time, Utilities of the two negotiation parties Weights of issues for the two negotiation parties, Utilities of the two negotiation parties Cost per resource unit, Market competition

RCNP

Ranaldo and Zimeo [50] Not required CNP

E-commerce

PaaS

Price, Time slot, Availability, Performance, Reliability/ Limited Price, Important buying/ selling issues/ Unlimited Price only

14

ACCEPTED MANUSCRIPT

3

2

Concession Tradeoff Mixed

1

0 2010

2012

2013

2014

2015

2016

CR IP T

Not required

AN US

Figure 2. Number of papers in each strategy approach 5 4 3

Saas/ Paas

M

2

Iaas

ED

1 0

2010

2012

2013

2014

2015

2016

PT

Figure 3. Number of papers in each service type category

CE

Security

AC

Location

Time slot

Reliability Response time Availability Price 0

2

4

6

8

10

12

14

Figure 4. Number of repetitions of negotiation issues 15

16

ACCEPTED MANUSCRIPT



There are the same factors to the decision-making process for different cloud service types. The price of service provisioning is one of these factors. However, the price of service in the IaaS is not calculated in the same way as SaaS. For the IaaS, it is calculated by the sum of the costs of the allocated recourse units. Price of service in the SaaS depends on the basic cost of providing software services such as development, deployment, and maintenance. The following descriptions show the effect of other factors on negotiators’ decision-making and provide an answer to Q5.

CE

PT

ED

M

AN US

CR IP T

Time: Time-dependent strategies determine the amount of concession on the basis of the remaining negotiation time. Time-dependent concession strategies can be classified into: (1) conservative (maintaining the initial price until an agent’s deadline is almost reached), (2) conciliatory (conceding rapidly to the reserve price), and (3) linear (conceding linearly) [31, 61]. The reserve price is determined by the owner of the negotiator agent and specifies a threshold for acceptable prices. If an agent has a time deadline by which an agreement must be in place, it is likely to concede more rapidly as the deadline approaches [48]. Hence, conservative strategies are more common in a multi-round CCSN. Market competition: Market competition strategies determine the amount of concession by considering the number of service requesters and number of service suppliers. Each trading party may have one or more competitors, who compete with each other to buy/sale a service. The trading party may also have one or more options to choose from. If there are more options to choose from and fewer competitors, the negotiator can decide to give fewer concession. Opponent's behavior: This family of strategies computes the next offer, based on the recent concession made by the negotiation opponent. The amount of concession offered by the opponent can indicate the importance of the issue from opponent's perspective. If the amount of the concession is low, the importance of the issue from the opponent's perspective is high. In this case, if the offer concedes more for the issue, it has a greater chance of acceptance. Importance of the issues: Importance of each issue is an effective factor to determine the amount of concession for the issue. If the issue is important, the amount of concession may be low because a high concession for the issue causes considerable total utility reduction. Utility of the issues: Utility attained from the opponent’s offer for each issue can play a role to determine the amount of concession for the issue. If the attained utility is high, the amount of concession can be determined to be higher than when the opponent’s offer is close to the threshold of the acceptable region. Shojaiemehr and Rafsanjani [49] designed a strategy based on fuzzy inference systems, which uses the importance and utility of the issues to determine the amount of concession for each issue.

AC

4.2. CCSN open issues The answer to Q6 specifies the open issues that must be addressed by future works. The weaknesses of the current approaches are studied in Section 3.3. Studies indicate that the SaaS negotiation system needs more research to design a negotiation strategy that efficiently applies all the factors mentioned in Section 4.1 to generate P/CP. As mentioned earlier, the interval between receiving the task execution request to the completion of the execution must be considered as negotiable issues by future SaaS negotiation systems. On the other hand, there are some issues, such as usability, which are ignored by the SaaS negotiation works. These issues cannot be measured directly. Hence, the negotiators need to agree on the methods to evaluate and measure them.

16

ACCEPTED MANUSCRIPT

CR IP T

As mentioned earlier, elasticity is an important issue in the IaaS since it provides utility to both the consumer and the provider. There are some works which propose the CCSN to allocate resources in the IaaS. However, there are no works that consider elasticity as a negotiable issue. Future works on IaaS negotiation can use existing cloud elasticity evaluation methods to address elasticity negotiation problems. These methods are mentioned in Section 3.2.1. Another problem that must be considered in future CCSNs is the cloud service composition. The service composition is an approach to provide value-added services to the consumers. Simple services can coordinate together to satisfy consumer requirements. Coordination among simple services makes a composite service. The selection of appropriate and optimal simple services and combining them to provide composite complex services is one of the most important problems in service composition [36]. Hence, service composition demands a CCSN that can begin a negotiation with simple service providers to select the best services for each task involved in the composition. The CCSN must fulfill consumer requirements for the composite service. For this purpose, it needs an aggregation mechanism to compute the capabilities of composite services using the best proposal of the simple service providers for each task in the composition.

M

AN US

4.3. Significance of the negotiation performance metrics The aim of this section is to understand how researchers can determine a successful measure of the CCSN works by evaluating their performance. The studied works used some metrics to evaluate the performance of their proposed CCSN. This section analyzes the importance of the performance metrics based on the metrics used by the works to answer Q7. In order to determine which studied works can help analyze the importance of the performance metrics, we introduced simulation objectives of the negotiation systems. The simulation objectives of the researches are introduced as follows:

ED

1- Demonstration of the negotiation process (OBJ1). 2- Comparison of the proposed approach with other related approaches, based on performance metrics (OBJ2). 3- Evaluation of the impact of different factors on the performance of the proposed approach (OBJ3).

AC

CE

PT

There are several studies that simulate their proposed CCSN to demonstrate how the negotiators follow the negotiation process. They aim for the OBJ1. Evidently, the works that only aim for the OBJ1 do not mention any performance metrics. The works which aim for OBJ2 and/or OBJ3 use different metrics to evaluate the performance of their proposed CCSN. Therefore, these works are considered to be ones that analyze the importance of performance metrics. Table 2 describes the performance metrics extracted from the works. Table 3 shows applied simulation tools and simulation objectives for each studied work. Performance metrics used by the works are mentioned in Table 3. Figure 5 illustrates the significance of the metrics based on information of contained in Table 3. As shown in the figure, the most important metrics are the average utility of consumers/buyers/users, average joint utility, success rate, average utility of providers, and negotiation speed. These metrics are used to evaluate the CCSN performance. In general, expectations of high performance CCSN involve the matching of the evaluation results with the high utility for the consumer and the provider, high success rate, and high negotiation speed.

17

ACCEPTED MANUSCRIPT

Table 2. Negotiation performance metrics Metric

Description

Average utility of consumers Average utility of providers Average joint utility

Consumers who reach an agreement are considered. Providers who reach an agreement are considered.

Computational load Average equality

Ratio of number of reserved time-slots for the consumers over the number of total time-slots. Amount of fairness of the agreement for the trading parties.

Price of service Pareto-optimal bids

Agreed price of service that the consumer must pay the provider. Distance between generated offer and highest payoff offer.

CR IP T

Negotiation speed Success rate

Joint utility is calculated utility from view of both the consumer and the provider. Negotiations in which two parties reach an agreement are considered. Negotiation speed specifies how much time is consumed by the negotiation process. Ratio of number of successful negotiations over the number of all negotiations.

Table 3. Simulation tools, simulation objectives and performance metrics of the studied works Simulation tools OBJ1 OBJ2 OBJ3 Performance metrics

Yan et al. [44] Brandic et al. [16] Song and Zhang [14] Sim [31] Sim [2]

JADE framework & WS2JADE toolkit JADE framework & WS2JADE toolkit Not simulated/implemented Not mentioned Not simulated/implemented JADE framework

Dastjerdi and Buyya [40] CloudSim toolkit Siebenhaar et al. [38] Not mentioned



-

-

-

AN US

Chhetri et al. [39]



-

-

-

-

 

 

-

 

 

Average joint utilities, Success rate Average joint utilities, Negotiation speed, Success rate Average consumer profit, Average provider profit Average utility of consumers, Average utility of providers, Success rate Average utility of consumers, Average utility of providers, Average joint utilities, Success rate Average joint utilities, Negotiation speed, Success rate Average joint utilities Average utility of consumers, Average utility of providers, Average joint utilities, Success rate Average consumer satisfaction levels, Average provider profit, Negotiation speed, Success rate Average utility of users, Total cost paid to rent resources Average utility of buyers, Negotiation speed

M

Reference

NetBeans IDE 6.9.1 & JDK 6u21

-



-

Son and Sim [23]

JADE framework

-



-

Alsrheed et al. [52] Zheng et al. [53]

Not mentioned Not mentioned

-

 

-

Wu et al. [54]

Not mentioned

-





Najjar et al. [47]

GENIUS platform

-



-

Shojaiemehr and Rafsanjani [55] Messina et al. [56] Yaqub et al. [57]

Not mentioned







Not simulated/implemented Repast simulation tool

-





Zheng et al. [29]

NetBeans IDE 7.2.1 & JDK 7u13

-



-

Chen et al. [58]

Not mentioned



-



JADE framework, Jena SemWeb library, Protégé ontology editor Ishikawa and Fukuta [59] Not mentioned Omezzine et al. [60] Not simulated/implemented Son and Sim [46] JADE framework



-

-

 -





Shojaiemehr and MATLAB software Rafsanjani [49] Ranaldo and Zimeo [50] Not mentioned



-



Average joint utilities, Negotiation speed, Computational load Average utility of buyers, Average of equality

-





Average utility of consumers, Price of services

AC

CE

PT

ED

Zheng et al. [30]

Parhi et al. [21]

18

Average utility of consumers, Average utility of providers, Average joint utilities, Pareto-optimal bids Average joint utilities, Negotiation speed, Success rate Average joint utilities, Average utility of consumers, Average utility of providers -

ACCEPTED MANUSCRIPT

Pareto-optimal bids Average of equality Computational load Price of services Negotiation speed

Success rate Average joint utility Average utility of consumers/buyers/users 0

2

4

CR IP T

Average utility of providers

6

8

10

12

AN US

Figure 5. Number of repetitions of performance metrics

ED

M

4.4. Factors affecting the CCSN performance The motivation for this section arises from an attempt to understand that factors that could affect the CCSN performance. We review these factors to answer Q8. The factors help the researchers to evaluate their CCSN performance in different states. The researchers can compare the attained performance level with the expected performance in these states. For example, they can investigate the extent to which the attained performance matches the expected performance, when the market competition among competitors to buy/sell services is high. In order to extract the factors, we investigated the studied works that aimed at OBJ3. Table 4 describes the factors and specifies the references that apply to each of them to evaluate their model performance in different conditions. Table 4. Factors that affect the CCSN performance References

Description

Average number of assigned resources Deadline

Number of resources of the provider which are assigned to theSong and Zhang [14], Ranaldo and Zimeo [50] consumers. Maximum of time that the negotiation can continue. Shojaiemehr and Rafsanjani [49], Song and Zhang [14], Wu et al. [54], Siebenhaar et al. [38], Yaqub et al. [57] Number of service requests per second. Dastjerdi and Buyya [40], Ranaldo and Zimeo [50] Intersection of the acceptable values of the parties for all of theShojaiemehr and Rafsanjani [55], Shojaiemehr and issues. Rafsanjani [49] Service demand/supply ratio. Sim [2], Dastjerdi and Buyya [40], Song and Zhang [14], Wu et al. [54] Level of service that the provider can fulfill for one of theChen et al. [58] issues.

Market competition

AC

Level of service

CE

Workload Negotiation space degree

PT

Factor

5. Conclusion and future works This paper reviews algorithms, mechanisms, and frameworks about cloud computing service negotiation and some e-negotiation works related to other computing environments so that their main ideas can be applied to cloud computing. We described the novelties and innovations of the valuable works. Future studies can develop these ideas to improve the current CCSN works. We also investigated the strengths and weaknesses of each work. So, we classified the works, based on strategy, protocol, and service type. An evaluation of this 19

ACCEPTED MANUSCRIPT

CR IP T

information shows research trends and open issues that must be addressed in future works. Recently, CCSN with a single round and CCSN with mixed approaches have drawn more attention than concession and tradeoff approaches for providing greater performance. Owing to a reliance on earlier researches, the negotiation requirements for the SaaS have not been addressed very well. Some researches proposed CCSN to provide SaaS in recent years. However, SaaS negotiation needs more efficient works to satisfy consumers’ real-time requirements and consider specific SaaS issues such as usability. Hence, it is essential that researchers will consider designing and simulating an efficient CCSN for the SaaS such that it covers all the weaknesses mentioned in this paper. References

AC

CE

PT

ED

M

AN US

[1] I. Foster, Y. Zhao, I. Raicu, S. Lu, Cloud computing and grid computing 360-degree compared, 2008 Grid Computing Environments Workshop, IEEE, 2008, pp. 1-10. [2] K.M. Sim, Agent-based cloud computing, IEEE Transactions on Services Computing, 5 (2012) 564-577. [3] A. Chavez, P. Maes, Kasbah: An agent marketplace for buying and selling goods, Proceedings of the first international conference on the practical application of intelligent agents and multi-agent technology, London, UK, 1996, pp. 75-90. [4] C.-C.H. Chan, C.-B. Cheng, C.-H. Hsu, Bargaining strategy formulation with CRM for an e-commerce agent, Electronic Commerce Research and Applications, 6 (2008) 490-498. [5] F. Nassiri-Mofakham, M.A. Nematbakhsh, N. Ghasem-Aghaee, A. Baraani-Dastjerdi, A heuristic personality-based bilateral multi-issue bargaining model in electronic commerce, International Journal of Human-Computer Studies, 67 (2009) 1-35. [6] J. Wang, C.-H. Dai, A fuzzy constraint satisfaction approach for electronic shopping assistance, Expert Systems with Applications, 27 (2004) 593-607. [7] J.J. Castro-Schez, R. Miguel, D. Vallejo, L.M. López-López, A highly adaptive recommender system based on fuzzy logic for B2C e-commerce portals, Expert Systems with Applications, 38 (2011) 2441-2454. [8] Y.M. Chen, P.-N. Huang, Agent-based bilateral multi-issue negotiation scheme for e-market transactions, Applied Soft Computing, 9 (2009) 1057-1067. [9] S. Dong, A. Li, Negotiation Model Based on Artificial Intelligence in the E-Commerce, IEEE International Symposium on Information Science and Engineering (ISISE), 2010, pp. 193-196. [10] I.V. Papaioannou, I.G. Roussaki, M.E. Anagnostou, Towards successful automated negotiations based on Neural Networks, 5th IEEE/ACIS International Conference on Computer and Information Science and 1st IEEE/ACIS International Workshop on Component-Based Software Engineering, Software Architecture and Reuse (ICIS-COMSAR'06), 2006, pp. 464-472. [11] R. Carbonneau, G.E. Kersten, R. Vahidov, Predicting opponent’s moves in electronic negotiations using neural networks, Expert Systems with Applications, 34 (2008) 1266-1273. [12] J. Li, L.-C. Wang, B. Jing, An agent bilateral multi-issue simultaneous bidding negotiation protocol based on genetic algorithm and its application in e-commerce, Congress on Image and Signal Processing, 2008, pp. 395-398. [13] J.-h. Shen, X.-j. Yu, S.-z. Li, J. Li, A bilateral multi-issue negotiation protocol based on adaptive genetic algorithm, International Conference on Management and Service Science, 2009, pp. 1-4. [14] Q. Song, H. Zhang, Research on multi-lateral multi-issue negotiation based on hybrid genetic algorithm in e-commerce, 2nd IEEE International Conference on Information and Financial Engineering (ICIFE), 2010, pp. 706-709. [15] B. An, V. Lesser, D. Irwin, M. Zink, Automated negotiation with decommitment for dynamic resource allocation in cloud computing, Proceedings of the 9th International Conference on Autonomous Agents and Multiagent Systems: volume 1, International Foundation for Autonomous Agents and Multiagent Systems, 2010, pp. 981-988. [16] I. Brandic, D. Music, S. Dustdar, Service Mediation and Negotiation Bootstrapping as First Achievements Towards Selfadaptable Cloud Services, Grids and Service-Oriented Architectures for Service Level Agreements, Springer 2010, pp. 119-132. [17] Z. Zheng, X. Wu, Y. Zhang, M.R. Lyu, J. Wang, QoS ranking prediction for cloud services, IEEE Transactions on Parallel and Distributed Systems, 24 (2013) 1213-1222. [18] S. Sundareswaran, A. Squicciarini, D. Lin, A brokerage-based approach for cloud service selection, 5th IEEE International Conference on Cloud Computing (CLOUD), 2012, pp. 558-565. [19] C. Quinton, D. Romero, L. Duchien, Automated selection and configuration of cloud environments using software product lines principles, 7th IEEE International Conference on Cloud Computing, 2014, pp. 144-151. [20] C.-W. Chang, P. Liu, J.-J. Wu, Probability-based cloud storage providers selection algorithms with maximum availability, 41st International Conference on Parallel Processing, 2012, pp. 199-208.

20

ACCEPTED MANUSCRIPT

AC

CE

PT

ED

M

AN US

CR IP T

[21] M. Parhi, B.K. Pattanayak, M.R. Patra, An Automated Semantically Enabled Fuzzy Based SLA in Cloud Computing Environment Using Multi-agent System, International Conference on Swarm, Evolutionary, and Memetic Computing, Springer, 2014, pp. 432-444. [22] L. Liccardo, M. Rak, G. Di Modica, O. Tomarchio, Ontology-based Negotiation of security requirements in cloud, Fourth International Conference on Computational Aspects of Social Networks (CASoN), 2012, pp. 192-197. [23] S. Son, K.M. Sim, A price-and-time-slot-negotiation mechanism for cloud service reservations, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 42 (2012) 713-728. [24] N.R. Herbst, S. Kounev, R.H. Reussner, Elasticity in Cloud Computing: What It Is, and What It Is Not, ICAC, 2013, pp. 23-27. [25] A. Garcia, C. Laneve, M. Lienhardt, Static analysis of cloud elasticity, Science of Computer Programming, (2017). [26] D. Moldovan, G. Copil, H.-L. Truong, S. Dustdar, On analyzing elasticity relationships of cloud services, 6th IEEE International Conference on Cloud Computing Technology and Science (CloudCom), 2014, pp. 447-454. [27] G. Copil, D. Trihinas, H.-L. Truong, D. Moldovan, G. Pallis, S. Dustdar, M. Dikaiakos, Advise–a framework for evaluating cloud service elasticity behavior, International Conference on Service-Oriented Computing, Springer, 2014, pp. 275-290. [28] Y. Hu, B. Deng, Y. Yang, D. Wang, Elasticity Evaluation of IaaS Cloud Based on Mixed Workloads, 15th International Symposium on Parallel and Distributed Computing (ISPDC), 2016, pp. 157-164. [29] X. Zheng, P. Martin, K. Brohman, L. Da Xu, Cloud service negotiation in internet of things environment: A mixed approach, IEEE Transactions on Industrial Informatics, 10 (2014) 1506-1515. [30] X. Zheng, P. Martin, K. Brohman, Cloud service negotiation: Concession vs. tradeoff approaches, Proceedings of the 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012), IEEE Computer Society, 2012, pp. 515522. [31] K.M. Sim, Towards complex negotiation for cloud economy, International Conference on Grid and Pervasive Computing, Springer, 2010, pp. 395-406. [32] S. Liu, G. Xiong, H. Zhao, X. Dong, J. Yao, Service composition execution optimization based on state transition matrix for cloud computing, 10th IEEE World Congress on Intelligent Control and Automation (WCICA), 2012, pp. 4126-4131. [33] X. Zhou, F. Mao, A semantics web service composition approach based on cloud computing, Fourth International Conference on Computational and Information Sciences (ICCIS), 2012, pp. 807-810. [34] K. Kofler, I. ul Haq, E. Schikuta, User-centric, heuristic optimization of service composition in clouds, European Conference on Parallel Processing, Springer, 2010, pp. 405-417. [35] J.O. Gutierrez-Garcia, K.M. Sim, Agent-based cloud service composition, Applied intelligence, 38 (2013) 436-464. [36] A. Jula, E. Sundararajan, Z. Othman, Cloud computing service composition: A systematic literature review, Expert Systems with Applications, 41 (2014) 3809-3824. [37] A. Vakili, N.J. Navimipour, Comprehensive and systematic review of the service composition mechanisms in the cloud environments, Journal of Network and Computer Applications, 81 (2017) 24-36. [38] M. Siebenhaar, U. Lampe, D. Schuller, R. Steinmetz, Concurrent negotiations in cloud-based systems, International Workshop on Grid Economics and Business Models, Springer, 2011, pp. 17-31. [39] M.B. Chhetri, J. Lin, S. Goh, J. Yan, J.Y. Zhang, R. Kowalczyk, A coordinated architecture for the agent-based service level agreement negotiation of web service composition, Australian Software Engineering Conference (ASWEC'06), 2006, pp. 10 pp. [40] A.V. Dastjerdi, R. Buyya, An autonomous reliability-aware negotiation strategy for cloud computing environments, 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), 2012, pp. 284-291. [41] A. Rubinstein, Perfect equilibrium in a bargaining model, Econometrica: Journal of the Econometric Society, (1982) 97-109. [42] K.M. Sim, B. Shi, Concurrent negotiation and coordination for grid resource coallocation, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 40 (2010) 753-766. [43] S. Adabi, A. Movaghar, A.M. Rahmani, H. Beigy, H. Dastmalchy-Tabrizi, A new fuzzy negotiation protocol for grid resource allocation, Journal of Network and Computer Applications, 37 (2014) 89-126. [44] J. Yan, R. Kowalczyk, J. Lin, M.B. Chhetri, S.K. Goh, J. Zhang, Autonomous service level agreement negotiation for service composition provision, Future Generation Computer Systems, 23 (2007) 748-759. [45] R. Smith, The contract net protocol: Highlevel communication and control in a distributed problem solver, 1980, IEEE Trans. on Computers, C, 29 12. [46] S. Son, K.M. Sim, Adaptive and similarity-based tradeoff algorithms in a price-timeslot-QoS negotiation system to establish cloud SLAs, Information Systems Frontiers, 17 (2015) 565-589. [47] A. Najjar, X. Serpaggi, C. Gravier, O. Boissier, Multi-agent negotiation for user-centric elasticity management in the cloud, Proceedings of the 6th IEEE/ACM International Conference on Utility and Cloud Computing, IEEE Computer Society, 2013, pp. 357-362. [48] P. Faratin, C. Sierra, N.R. Jennings, Negotiation decision functions for autonomous agents, Robotics and Autonomous Systems, 24 (1998) 159-182.

21

ACCEPTED MANUSCRIPT

AC

CE

PT

ED

M

AN US

CR IP T

[49] B. Shojaiemehr, M.K. Rafsanjani, A supplier offer modification approach based on fuzzy systems for automated negotiation in ecommerce, Information Systems Frontiers, (2016) 1-18. [50] N. Ranaldo, E. Zimeo, Capacity-driven utility model for service level agreement negotiation of cloud services, Future Generation Computer Systems, 55 (2016) 186-199. [51] S. Son, K.M. Sim, A price- and-time-slot-negotiation mechanism for Cloud service reservations, IEEE Trans Syst Man Cybern B Cybern, 42 (2012) 713-728. [52] F. Alsrheed, A. El Rhalibi, M. Randles, M. Merabti, Rubinstein’s alternating offers protocol for automated cloud computing negotiation, Proceedings of the 14th Annual PG Symposium on the Convergence of Telecommunications, Networking, and Broadcasting, 2013. [53] X. Zheng, P. Martin, K. Brohman, Cloud service negotiation: A research roadmap, IEEE International Conference on Services Computing (SCC), 2013, pp. 627-634. [54] L. Wu, S.K. Garg, R. Buyya, C. Chen, S. Versteeg, Automated SLA negotiation framework for cloud computing, 13th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), 2013, pp. 235-244. [55] B. Shojaiemehr, M.K. Rafsanjani, A fuzzy system approach to multilateral automated negotiation in B2C e-commerce, Neural Computing and Applications, 25 (2014) 367-377. [56] F. Messina, G. Pappalardo, C. Santoro, D. Rosaci, G.M. Sarné, An agent based negotiation protocol for cloud service level agreements, 23rd IEEE International Workshops on Enabling Technologies: Infrastructures for Collaborative Enterprises (WET ICE), 2014, pp. 161-166. [57] E. Yaqub, R. Yahyapour, P. Wieder, C. Kotsokalis, K. Lu, A.I. Jehangiri, Optimal negotiation of service level agreements for cloud-based services through autonomous agents, IEEE International Conference on Services Computing (SCC), 2014, pp. 59-66. [58] J.-H. Chen, F. Abedin, K.-M. Chao, N. Godwin, Y. Li, C.-F. Tsai, A hybrid model for cloud providers and consumers to agree on QoS of cloud services, Future Generation Computer Systems, 50 (2015) 38-48. [59] T. Ishikawa, N. Fukuta, Federated Cloud-Based Resource Allocation by Automated Negotiations Using Strategy Changes, Next Frontier in Agent-based Complex Automated Negotiation, Springer 2015, pp. 111-125. [60] A. Omezzine, S. Tazi, N. Bellamine, B. Saoud, K. Drira, G. Cooperman, Towards a dynamic multi-level negotiation framework in cloud computing, International Conference on Cloud Technologies and Applications (CloudTech), 2015, pp. 1-8. [61] K.M. Sim, Equilibria, prudent Compromises, and the" Waiting" game, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 35 (2005) 712-724.

22