Skip to main content

Advances, Systems and Applications

A real-world inspired multi-strategy based negotiating system for cloud service market

Abstract

Designing negotiator agents who adopt real-world inspired negotiation strategies in front of different types of negotiation scenario increases the chance of having better utility and success rate in negotiation-based cloud resource allocation. To realize real-world inspired multi-strategy based negotiating system for cloud marketplace, three following issues are focused in this paper: 1) Designing a new negotiation_strategy_basket with the aim of approaching the strategies of the real-world negotiation markets, 2) Modeling the critical condition of the cloud trading market, and 3) Adopting a new fuzzy decision system (i.e., Fuzzy Negotiation Strategy Selection System (FNSSDS)) for conducting negotiator agents of type resource providers and resource customers in how to select a suitable negotiation strategy from negotiation_strategy_basket according to the critical condition of the cloud trading market. We perform extensive simulation experiments to compare the performance of the proposed negotiator agents with the well known negotiator agents in name MDA (Market Driven Agent). The results show that the proposed negotiation agents outperform the MDAs.

Introduction

Cloud computing is a new paradigm that provides on-demand services over the Internet [1]. One of the major challenges in cloud computing is an efficient resource (virtual machine: VM) allocation. This paper uses resource and virtual machine (VM) interchangeably. Also, it is assumed that, each VM type provides a specific amount of each of the three physical resource types: <CPU, Memory, Storage>. Cloud Resource Brokers (CRBs), who act on behalf of the resource customers and make the best matches between the demands of customers and the characteristics of the provided cloud resources, pay Cloud Resource Providers (CRPs) for resource utilization. In the cloud environment, CRBs will favor the CRP offering the best QoS (Quality of Service) with the lowest price. Also, a CRB with the highest proposed price is preferred by the CRP. Therefore, applying a fair pricing model (which is beneficial to both CRPs and CRBs) will attract more CRBs and will make higher revenue for CRPs.

In an electronic trading (e-trading), buyers and sellers conduct their business activities in a virtual marketplace and through electronic media instead of direct physical contact. Negotiation, as a fundamental component of e-trading [2, 3], is one of the most well known market based resource allocation mechanism in which providers and customers discuss with each other in order to reach a beneficial outcome over the negotiation criteria (as an example price issue). In other words, negotiation is a process where the parties attempt to narrow the spread in (counter) offers between (or among) negotiators through following negotiation strategies those guided a negotiator in how to make proposal [4]. The negotiation strategy is an action that is taken by the negotiator in front of its trading opponent to achieve specific goal(s). A set of negotiation strategies can be determined before starting the negotiation process and changed or extended during the negotiation process. Also, the counter-offer is the proposal which is made by a negotiator in response to the received proposal from its trading opponent during negotiation process. The multi-agent based negotiation, which has good abilities of distribution and autonomy, is also suitable for the trade under the circumstance of cloud computing [2].

In a real-world negotiation-based market, the negotiator tries to come close to the agreement by applying suitable negotiation strategy (amongst all feasible strategies) according to the evaluated critical condition of a trading market. That is, in a real-world negotiation-based market, instead of applying a single negotiation strategy during the negotiation process, a basket of negotiation strategies (i.e., negotiation_strategy_basket) is defined. This will increase the flexibility of the negotiator agents in the market environment to better respond to varying market conditions. Then, by considering the factors constituting the critical condition of a trading market as inputs, the negotiator agent decides to select the most suitable negotiation strategy from negotiation_strategy_basket as an output. It should be highlighted that in the negotiation_strategy_basket of the real-world negotiators the strategies such as: Normal movement, Reverse movement, and Relaxing movement can be found. These three early mentioned strategies are inspired from [5,6,7,8].

In the Normal movement strategy a negotiator makes concession by applying a pre-defined formula that considers factors such as market-dependent and time-dependent factors. By applying this formula in making concession, a resource provider starts from the highest price that brings him the maximum utility (i.e., IP: initial price) and lowers the price until the minimum amount of money that a resource provider can receive for renting out the resources is reached (i.e., RP: reserve price)). Also, by applying a pre-defined formula that considers factors such as market-dependent and time-dependent factors in making concession, a resource customer starts from the lowest price that brings him the maximum utility (i.e., IP: initial price) and raises the price until the maximum amount of money that a resource customer can pay for hiring the resources is reached (i.e., RP: reserve price)).

In the Reverse movement strategy a negotiator lowers the counter-price instead of raises the counter-price (and vice verse). That is, a resource customer (and respectively, resource provider) lowers the price (and respectively, raises the price) instead of normal action of raising the price (and respectively, lowering the price)).

Finally, in the Relaxing movement strategy a negotiator makes relaxation activities like applying some price discount in front of its trading opponents.

Most of the previous works in designing negotiator agents for cloud resource allocation ignore the fact that getting away from applying real-world inspired negotiation strategies in front of all types of negotiation scenario (i.e., varying market conditions) may lead to low success rate and/or utility. For the benefit of readers following two examples are discussed: Example 1- consider a market situation where negotiator agent A of type CRP experiences very low critical condition in trading its resources, however, instead of putting more pressure on negotiator B of type CRB (i.e., repeating its previous counter-price or selecting reverse movement and proposes higher counter-price in comparison to its previous counter-price) and benefits from such a desirable trading situation, he makes (insignificant/very insignificant) concession based on its normal negotiation strategy (i.e., lowering the price). Example 2- consider a market situation where negotiator agent A of type CRP experiences very high critical condition in trading its resources, however, instead of relaxing the negotiation criteria in front of negotiator B of type CRB (i.e., considering some price-discount in the new made counter-price) and overcomes such an undesirable trading situation, he makes concession by applying normal negotiation strategy in which although he follows the strategy of lowering the price but the amount of the made concession cannot properly narrow the spread in counter-offers of the negotiators and increases the chance of making agreement.

As we believe that extending the single-strategy based negotiation to the multi-strategy based negotiation (where the strategies are inspired from negotiation strategies of the real-world markets) and changing negotiation strategy according to the critical condition of a trading market will affect on the success rate and utility, in this paper the real-world inspired multi-strategy based negotiating system for cloud marketplace is proposed. Thus, three following issues should be considered in designing such a system for conducting the trading process between CRPs and CRBs: a) Modeling the critical condition of the cloud trading market. Recall that, it is essential for both CRBs and CRPs to adjust their counter-price proposals (which are made in response to the received proposals from trading opponents) according to the critical condition of trading market aiming at maximizing the market outcomes; b) Approaching to the negotiation strategies of the real-world markets by designing negotiation_strategy_basket which contains three real-world inspired negotiation strategies: Relaxing strategy, Normal concession strategy, and Pressuring strategy, and c) Developing a new fuzzy decision controller in name Fuzzy Negotiation Strategy Selection Decision System (FNSSDS) to guide the negotiator agents in how to dynamically adjust their counter-price proposals (i.e., selection of a suitable negotiation strategy from negotiation_strategy_basket) according to the critical condition of trading market.

The structure of this paper is as follows: the previous works in market-based resource allocation are reviewed in “Related works” section. “Agents and entities of the market-based system” section and “The proposed negotiation model” section address the agents and entities of the market-based system and the proposed negotiation model which covers all three early mentioned issues. Comparative performance evaluation of the proposed approach, which is performed by software simulation, is presented in “Performance evaluation” section. Finally, in “Conclusions and future works” section the research summary and future directions are discussed.

Related works

Following, the numbers of state-of-the-art market-based resource allocation mechanisms (those mainly focus on distributed systems such as cloud and grid) are reviewed.

One of the first negotiation models is that of Kasbah [9] creating an environment that enables users to generate electronic agents for selling and purchasing goods. Users can, to some extent, control agent’s negotiation strategy in this environment. That is, the negotiators can control the rate of adjusting offers by adopting different time-dependent strategies (i.e., negotiation strategies with respect to remaining trading time). These agents not only do not dynamically react to changing market conditions but also they do not adopt other well-known real-world inspired negotiation strategies like pressuring and relaxing strategies.

In [9], negotiation strategies with respect to the remaining time are adopted. In [10, 11] issues such as time constraints, resource and negotiators’ behaviors are considered in designing a negotiation model defining a range of negotiation decision functions (NDF) to generate offers (or counter-offers). In this model, fuzzy similarity to compute tradeoffs among multiple attributes during bilateral negotiations and in the face of inherent uncertainty in negotiation process is employed. Although, designing the negotiation strategies are the main challenge in these papers but the well-known real-world inspired negotiation strategies like pressuring and relaxing strategies are ignored. Also, there is no method in how to select the best negotiation strategy in response to varying market situations.

In ([12, 13], by considering the necessity to design negotiator agents for both sides of the market, market driven negotiation agents in name MDA who react to various patterns of supply-and-demand are designed. Three functions are considered to define the negotiation strategy (which are used by the MDAs during the negotiation-based grid resource allocation): 1) opportunity degree, 2) competition degree, and 3) time remaining to the deadline. The concession amount in each round of negotiation market is determined based on multiplying the values of the three mentioned functions. The negotiation strategies of these agents are not inspired from the real-world negotiation markets, that is pressuring and relaxing strategies are not considered. Sim and Wang [14] work on designing Enhanced Market Driven Agents (i.e., EMDAs). The EMDA uses a fuzzy decision controller to slightly relax its bargaining criteria under (intense) GMP (Grid Market Pressure). This work uses (a) degree of competition and (b) eagerness as criteria for determining the amount of concession. Although these agents are considered more realistic negotiation strategies but one of the most well-known negotiation strategy in name pressuring strategy (which is applied in extremely favorable markets) is ignored. As EMDAs are not designed to raise their expectations in extremely favorable market conditions, [4] complements [14] by equipping the EMDAs with two additional fuzzy decision controllers. While the negotiator agents in [4] relax and raise their expectations in response to market dynamics by adopting two fuzzy decision controllers (one for relaxing decision and another for raising decision), the input factors which influence the EMDAs decision are limited (especially most of the market and behavior driven factors are ignored in making such decisions). Considering these factors can affect on making more accurate decisions in response to varying negotiation situations. Also, different tactics in front of trading opponents (like repeating previous counter-price) are ignored (more details can be found in “The proposed negotiation model” section).

In addition, designing a new fuzzy inference system that guides negotiator agents of type customer to relax their decision based on the two following inputs: a) recent statistics in failing/succeeding in acquiring resources, and b) demand for computing resources, and also, designing another fuzzy inference system that guides negotiator agents of type provider to relax their decision based on the two following inputs: 1) utilization level, and 2) request factor, are focused in [15]. Then, Sim [16] designs another fuzzy system to capable of both negotiator types of the market (i.e., customer and provider) in relaxing their decision based on three following criteria: 1) degree of competition, 2) time pressure and 3) the relative distances from trading partners’ proposals. Following, Sim evolves the fuzzy rule set of [16] by applying an evolutionary algorithm in name genetic algorithm (GA). Thus, the negotiator agents of [16] are more adaptive. Similar to our explanations about EMDAs [4], neither of the mentioned negotiator agents consider most of the market and behavior driven factors those have great affect on making more accurate decisions in response to varying negotiation situations. Also, in designing these agents other well-known real-world inspired negotiation strategies like pressuring strategy and a method to select the most suitable strategy in the face of different market situations are ignored.

In [17], genetic algorithm (GA) is used to implement strategies for automatic negotiation in e_commerce systems. The population in GA is strategies and tactics. Each individual in the population is considered as a negotiator agent. Negotiation parameters are encoded as a gene. According to [17]: “The objective of each negotiator (both sellers and buyers) is to find a solution to maximize its utility to satisfy constraints in an acceptable manner for the trading opponent”. While this work focuses on negotiation strategies, but real-world inspired negotiation strategies and a method to select the most suitable one in the face of different market situations are ignored.

Athirai et al. [18] focus on the environments where the resource provider’s trustworthiness is unknown and proposes an approach for seller selection by inquiring other buyers who are called consultants. This work does not focus on making a basket of negotiation strategies and providing a method in how to select a suitable strategy (from the basket of negotiation strategies) in response to varying market conditions.

In [19], a dynamic pricing mechanism with respect to the historical information about trading behaviors of the opponents is designed. In this article four mutual behavior classes are considered and each opponent who has a more suitable trading behavior enjoys receiving better price bid. The behavior of an opponent B is defined based on 1) the number of successful negotiations in which the negotiator B is made, and 2) the ratio of average negotiation time between A (who analyzes the behavior of B) and B. Although, the main focus of [19] is on designing behavior-based dynamic pricing mechanism, but well-known real-world inspired negotiation strategies like pressuring and relaxing strategies are ignored. Then, in [20] the market- and behavior- driven parameters those affect on making more suitable amount of concession during the negotiation process are extended. The flexibility in relaxing and raising negotiators’ decisions is ignored in designing MBDNAs. Also, in [21], a new fuzzy inference system (FIS) is designed to evaluate market pressure. Two FISs are developed, one for customer side of the negotiation market and another for provider side of the negotiation market. These FISs are applied by negotiator agents to relax their decisions. The designed negotiator agents of [21] are named as EMBDNA (Enhanced Market and Behavior-driven Negotiation Agent). In addition, Se. Adabi and Sa. Adabi [22] focus on designing negotiator agents who are capable of evolving relaxed-criteria fuzzy rule sets which are defined in [21] by invoking a Biogeography-based optimization (BBO) algorithm. This leads to improving the chance of successfully acquiring/leasing out resources. The negotiator agents of [21, 22] do not properly respond to the varying market situations especially by ignoring the well-known real-world inspired negotiation strategy in name pressuring strategy. Also, other factors should be considered in this paper for accurate modeling of the critical condition in the trading market (more details in “Modeling critical condition of the cloud trading market” section).

In Sim [23] it is shown that negotiator agents in name MDA which are designed in [12, 13] have acceptable performance for negotiation-based pricing of cloud resources. Thus, the results of [23] show that MDA supports negotiation activities in market of cloud resource allocation. Also, Sim [24] proposes an agent-based cloud resource allocation. The negotiation activities of customers and providers are modeled by using many-to-many negotiation model. To do this, many customers can submit their demands to many brokers and a broker can accept demands from more than one customer. By submitting the requests from customers’ side of the market, customer agents and broker agents start the negotiation process to establish SLAs for satisfying the customers’ demands. It should be mentioned that, a broker agent starts concurrent negotiations with multiple providers to establish SLAs aim at combining a set of services from multiple cloud providers. These agents do not dynamically react to changing market conditions. Also, other well-known real-world inspired negotiation strategies like pressuring and relaxing strategies are ignored.

A negotiation model considering competition degree in the market, remaining negotiation time, and background of negotiating opponents is proposed in [2]. Another characteristic of this model is dynamicity of the negotiation process. Also, a new negotiation-based cloud framework is proposed in this paper. Similar to our early discussions, in this work the well-known real-world inspired negotiation strategies like pressuring and relaxing strategies are ignored.

A novel model in name Combinatorial Double Auction Resource Allocation (CDARA) is proposed in [25]. This work focuses on solving the following challenge: “what is the most suitable VM for executing the customer’s task in a way that the requirements of both sides (i.e., provider side and customer side) are satisfied?”. To do this, and instead of using the normal auction, CDARA model in which double-sided competition and bidding on an unrestricted number of items are allowed is introduced in [25]. Also, in the proposed model of [25] the market participants are encouraged to reveal their true valuation during bidding. Modeling the critical condition of the cloud trading market and selecting suitable strategy according to different critical conditions of the cloud trading market are ignored in this paper.

Al-Jaljouli et al. [26] present a framework based on safe mobile agent of e_commerce negotiation. This model provides the answer to the question of how to control the risk of losing offers with the highest utility and maximize a customer’s utility respecting different time constraints. In this paper, pressuring and relaxing strategies in response to varying negotiation market situations are ignored.

Obviously, selecting a single strategy in various types of negotiation scenario may cause undesirable outcomes such as low utility or low success rate. Thus, Kumar Awasthi et al. [27] propose a new multi-strategy based negotiating system. This system supports the negotiators by making the possibility of dynamically selecting the suitable strategy at any point of the negotiation process. This paper does not focus on making price discount in front of the negotiators. Also, how to mathematically model the critical condition of the cloud trading market is not discussed in this paper.

The main focus of [28] is on creating an automated cloud marketplace to support each cloud user in making decision about how to select a suitable cloud resource provider who proposes an economical resource. Also, maximizing the revenue of resource providers is another issue that is focused in this paper. Thus, the cloud market system of [28] which is named as Cloud Market Maker System supports both customer side and provider side of the trading market. Making suitable respond to varying market conditions is ignored in [28].

In [29], a new negotiation strategy which is named as ConTask is proposed for grid resource allocation. According to [29]:“The ConTask allows a client to concede beyond the last best proposal of the grid resource allocator or its own proposal in order to start the subsequent interruption period under favorable conditions for negotiation (i.e., closer to the maximum of resource availability)”. By introducing this new negotiation strategy not only the length of interruption periods is reduced but also the length of execution periods is increased. Also, the ConTask tries to not sacrifice the utilities of the clients (but not improve them). This paper focuses on only the client side of the market and applying encouraging strategy by the grid resource allocator in unfavorable conditions is ignored.

In summary, most of the previous works in market-based cloud resource allocation consider static (or single) negotiation strategy and do not pay attention to extend the negotiation strategies of the cloud negotiator agents with respect to the negotiation strategies of the real-world markets’ negotiators. In addition designing the autonomous negotiator agents who dynamically adopt the suitable negotiation strategy with respect to the varying negotiation market conditions is another issue that is ignored in the previous works. These issues motivate the authors to design a new real-world inspired multi-strategy based negotiating system for automatic cloud resource allocation.

Agents and entities of the market-based system

Trading activities in the cloud market are conducted based on negotiation mechanism. Moreover, software agents are designed to make complex decisions for managing supply and demand in such a negotiation market. Therefore, the market system follows a multi-agent architecture. In such a market system, autonomous agents are designed to realize automated marketplace. In this automated market place three following categories of agents are defined: a) agents who work for resource provider (seller), b) agents who work for resource customers (buyers), and c) agents who are responsible for creating and managing cloud marketplace. Cloud Resource Provider Agent (CRPA) and Fuzzy Negotiation Strategy Selection Agent_Cloud Resource Provider (FNSSA_CRP) are the agents who are defined in the provider side of the market environment. Also, Cloud Resource Broker Agent (CRBA) and Fuzzy Negotiation Strategy Selection Agent_Cloud Resource Broker (FNSSA_CRB) are the agents who are defined in the customer side of the market environment. Finally, Negotiation Market Coordinator Agent (NegMarCoordinatorA), Market Billboard Agent (MarBillboardA), and Consulting Agent (ConA) are the agents who are designed to create and manage market environment. The responsibilities of the proposed seven agents are discussed in details in “Trading scenario in the proposed negotiation market” section.

Following seven entities are also designed in the proposed cloud marketplace: 1) Market, 2) Billboard, 3) PA’s resource supply file (SupplyFile), 4) CA’s resource demand file (DemandFile), 5) Database for keeping all characteristics of the supplied VMs (SupplyDirectory), 6) Database for keeping all characteristics of the requested VMs (DemandDirectory), and 7) Local database which is assigned to each customer (and respectively, provider) and contains behavior backgrounds of the resource providers (and respectively, resource customers) on how to sell (and respectively, how to buy) the resources (BehaviorDB).

Following, the detailed descriptions of the seven entities of the proposed cloud market system are presented. The connection between the proposed agents and entities and also, the connection between the proposed agents are shown in Fig. 1a and b, respectively.

  • Market: This entity allows customers and providers of services (in our paper cloud services) to interact to facilitate transactions [30]. In other words, this entity supports market-based mechanism for trading cloud resources. The proposed marketplace makes a platform for negotiation-based resource allocation in the cloud. In such a marketplace, seven classes of the agents are designed to conduct the negotiating process. In this marketplace, instances of multiple VM types can be traded simultaneously. Thus, for trading the instances of P types of VM, the negotiation marketplace is divided into P sub-markets and for each sub-market k a billboard, which is shown by Billboardk symbol (where k{1,.., P}), is considered. As an example, the customers who demand for instances of VM type t will participate to the sub-market t and the information related to that sub-market is made available to these customers through Billboardt.

  • Billboard: This entity realizes agent blackboard communication architecture. In this architecture and in order to avoid direct communications of agents with each other, the information is made available to all agents in a system through a common information space. Reducing the complexity and overhead of message exchange between agents besides saving the time spent to achieve the required information in the market are the benefits of using billboard. The billboard has eight entries: 1) Market number, 2) Identifiers of cloud resource provider agents (CRPA.IDs), 3) Market round, 4) Identifiers of cloud resource broker (customer) agents (CRBA.IDs), 5) Resource item IDs registered by each CRPA, 6) Number of CRPAs in the marketplace, 7) Maximum number of requests submitted by the negotiator agent of type CRB in the negotiation market until current negotiation round t, and 8) Number of CRBAs in the marketplace.

  • SupplyFile: This file includes: 1) characteristics of the supplied resource type (i.e., VM). Cloud resource providers package their resources as various virtual machine types to be allocated to the cloud resource customers. A cloud resource provider proposes P virtual machine types: VM1, …, VMP. The maximum number of virtual machine k instances of a cloud resource provider that can be hosted simultaneously by that provider in a specific time period is denoted by Ck. Recall that, any type of virtual machine in the proposed solution includes<CPU, Memory, Storage>. Based on the customer’s demand, bundles of instances of various virtual machine types can be requested by that customer, 2) resource supply conditions (such as the negotiation deadline to reach an agreement in the market), and 3) the intended utility functions and negotiation strategies, which are registered by the resource supplier through user interface (UI). Some parts of the SupplyFile file are private and some parts are not. For example, although the characteristics of the supplied VM type are not private, negotiation strategy, and the negotiation deadline to reach an agreement are private.

  • DemandFile: This file includes: 1) characteristics of each demand which are defined based on the tuple <CPU, Memory, Storage>, 2) demand conditions (such as the predefined deadline for making an agreement in the market and non-functional characteristics of a customer’s demand), and 3) the intended utility functions and negotiation strategies, which are registered by the customer through user interface (UI). Some parts of the DemandFile file are private and some parts are not. For example, although the characteristics of the requested VM are not private, utility functions, negotiation strategy, and the negotiation deadline to reach an agreement are private.

  • SupplyDirectory: First part of the SupplyFiles of all active resource providers (i.e., characteristics of each supplied VM) are kept in this storage so as to make it possible to find providers who are able to serve resource customers’ demands.

  • DemandDirectory: First part of the DemandFiles of all active resource customers (i.e., characteristics of each demanded VM) are kept in this storage.

  • BehaviorDB: Each resource provider agent (and respectively, customer agent) has its own local database to keep buying behavior background of any customer agent (and respectively, selling behavior background of any provider agent) who has faced him in the previous marketplaces. Each record in BehaviorDB includes: a) Identifier of trading opponent (ID), b) Number of confrontations with that trading opponent, c) Number of successful negotiations with that trading opponent, d) Average consensus time in the successful negotiations with that trading opponent, and e) Mutual behavior class of that trading opponent. Details of how to determine the mutual behavior class of the trading opponent are explained in “Modeling critical condition of the cloud trading market from FNSSA_CRB’s point of view” section.

Fig. 1
figure 1

a The connection between the proposed agents and entities, b The connection between the proposed agents

Trading scenario in the proposed negotiation market

The trading scenario of the negotiation-based cloud resource allocation is shown in Fig. 2 and it contains following five major steps: 1) Registering supply, 2) Submitting demand, 3) Preparation of negotiation market, 4) Starting and performing negotiation, and 5) Finalizing the negotiation results obtained from the negotiation process.

  1. i)

    Step.1: The characteristics of the supplied VM type together with resource provider’s supply conditions, utility functions and negotiation strategies to be used during negotiation process is registered by a resource provider in the cloud marketplace in the form of resource supply file (i.e., SupplyFile) through UI (User Interface). As the resource registration is occurred, cloud resource provider agent (CRPA) corresponding to the physical resource provider is created in the cloud market. Then, the first part of the SupplyFile of the resource provider (i.e., characteristics of each supplied VM) is registered by CRPA in the SupplyDirectory and registration process is completed. For the benefit of readers details related to this step are shown in Algorithm (1): Supply Registration.

  2. ii)

    Step.2: The characteristics of the requested VM type together with its demand conditions, utility functions and negotiation strategies to be used during negotiation process is submitted by a resource customer in the cloud marketplace in the form of resource demand file (i.e., DemandFile) through UI. Once the customer’s resource demand is submitted, cloud resource broker agent (CRBA) corresponding to the physical resource customer is created in the cloud market. Then, the first part of the DemandFile of the resource customer (i.e., characteristics of each demanded VM) is submitted by CRBA in the DemandDirectory and submission process is completed. For the benefit of readers details related to this step are shown in Algorithm (2): Demand Submission.

  3. iii)

    Step.3: By submitting demands and registering supplies in the marketplace, negotiation market coordinator agent (i.e., NegMarCoordinatorA) retrieves each record of DemandDirectory and then searches SuppyDirectory in order to find resource provider(s) who can serve that record. If the result of SuppyDirectory search is null, no deal action is done (as the presence of at least one provider is essential to start negotiation) otherwise, NegMarCoordinatorA sends CRBA and discovered CRPA(s) the FNSSA_CRB creation message corresponds to that CRBA and FNSSA_CRP creation messages correspond to the discovered CRPA(s), respectively. For any CRPA who still exists in the marketplace due to the submitted resource demands in the previous market rounds, the FNSSA_CRP creation message is ignored. It is worth to mention that, different types of VM can be demanded and supplied by the customers and providers in the marketplace, respectively. But, considering all types of VM in providing discussions about this step leads to huge complexity in reading and writing. Also, in our proposed marketplace multiple customers can negotiate with multiple providers (i.e., our marketplace supports many-to-many negotiation). But, considering this issue can also lead to huge complexity in reading and writing. Thus, and only to simplify writing and reading the details of this step, following assumptions are made: 1) one sub-market where the instances of VM type k are traded is considered, and 2) only one customer agent and multiple provider agents participate in the marketplace. It is highlighted again that, these assumptions are just for ease of writing and reading. Obviously, and according to the setting of the simulation (see “Performance evaluation” section), the trading scenario is applicable for a marketplace with multiple customer agents and multiple provider agents. Also, the trading scenario is applicable for marketplace that multiple VM types are supplied and demanded (as an example, we consider three types of VM for setting the simulation). By creating FNSSA_CRB and FNSSA_CRP(s), these agents receive negotiation protocol from NegMarCoordinatorA. Following, the NegMarCoordinatorA creates the negotiation thread between dealer agents. The term “negotiation thread” is used for a negotiation between a negotiator A and its trading opponent B. By creating negotiation thread and before starting the negotiation process, each FNSSA_CRP (and respectively, FNSSA_CRB) retrieves mutual_behavior_class of the CRBA (and respectively, mutual_behavior_class of each CRPA) who the negotiation thread is created between his and that CRPA (and respectively, CRBA) from the local BehaviorDB. If the CRPA (and respectively, CRBA) has not faced CRBA (and respectively, CRPA) in the previous negotiation markets no result (i.e., mutual_behavior_class) is returned. Under such a condition (and to have a fair view) the CRBA’s mutual_ behavior_class (and respectively, CRPA’s mutual_behavior_class) is considered to be equivalent to the negotiator agents who have half of the part of the good behavior and half of the part of the bad behavior. It means that the mutual_behavior_class of such a dealer agent is considered at neither pessimistically nor optimistically and the mean mutual_behavior_class is considered for him (more details are discussed in “Modeling critical condition of the cloud trading market from FNSSA_CRB’s point of view” section). In addition, if another active resource demand for kth type of VM is not found in the market (and therefore, no corresponding sub-market has been created), NegMarCoordinatorA creates MarBillboardA and sends the message of creating billboard to MarBillboardA, thus, the billboard related to the sub-market of kth type of VM is created. In case of billboard existence, the message of updating billboard is sent to MarBillboardA in order to update information contained in the billboard. At the end of this step, NegMarCoordinatorA coordinates and sets market rounds.Footnote 1 This means that to synchronize the receiving and transmitting bidding messages, the negotiators of the market can take actions only at certain market rounds. For the benefit of readers details related to this step are shown in Algorithm (3): Matching Supplies and Demands and Preparing Negotiation Sub-Marketk.

  4. iv)

    Step.4: In each round of market, each of the negotiator agents receives the required information to perform negotiation from MarBillboardA. As mentioned before, the negotiators can propose their bids only at certain times in the (finite) set T = {0,1, …, t}. Given that market is opened at round t = 0, FNSSA_CRPs (and respectively, FNSSA_CRBs) should propose their offers, which are made based on the negotiation model, to their trading opponent(s) in odd rounds of the market (and respectively, even rounds of the market). The agreement in negotiation is reached if both parties of the negotiation inform their agreements. At the beginning of each even round of the negotiation (in a way that t ≠ 0), each FNSSA_CRB evaluates the received offers from its trading opponents (i.e., FNSSA_CRPs) and based on the evaluation results, makes suitable counter-offers in response to the received offers. Similarly, at the beginning of each odd round of the negotiation (in a way that t ≠ 1), each FNSSA_CRP evaluates the received offers from its trading opponents (i.e., FNSSA_CRBs) and based on the evaluation results, makes suitable counter-offers in response to the received offers. Details of the negotiation model are discussed in “The proposed negotiation model” section. Moreover, each FNSSA_CRP (and respectively, FNSSA_CRB) consults with ConA in order to decide whether any changes in the determined counter-price offer (according to the critical condition of trading market) is required or not. Details regarding the calculation of coefficient of price changing (which is decided by ConA) and also making of a final counter-price offer with respect to the determined coefficient of price changing (which is done by negotiator agent of type FNSSA_CRB or FNSSA_CRP) are discussed in “Negotiation strategy” section. For the benefit of readers details related to this step are shown in Algorithm (4): Dealing in Negotiation Market.

  5. v)

    Step.5: By finalizing each negotiation thread, FNSSA_CRB (and respectively, FNSSA_CRP) of that negotiation thread informs NegMarCoordinatorA and that CRBA (and respectively, CRPA), who assigns him the negotiation responsibility, about the negotiation result. In addition, in the case of having successful negotiation thread, FNSSA_CRB (and respectively, FNSSA_CRP) updates the content of the local database BehaviorDB. Then, NegMarCoordinatorA deletes negotiation thread between the FNSSA_CRB and FNSSA_CRP and sends the updating message according to the negotiation thread deletion to MarBillboardA. Finally, the physical resource customer (and respectively, the physical resource provider) is informed about the negotiation result by CRBA (and respectively, CRPA) who conducts the negotiation process on behalf of him and the outcomes of successful negotiations will be executed by the cloud resource provider. For the benefit of readers details related to this step are shown in Algorithm (5): Finalizing Negotiation.

Fig. 2
figure 2

Five steps of the market-based cloud resource allocation scenario

figure a

The proposed negotiation model

Following, the three parts of the negotiation model (i.e., (1) the used utility models for the negotiating parties, (2) the negotiation strategy applied during the negotiation process, and (3) the negotiation protocol) of negotiator agents of type FNSSA_CRB and FNSSA_CRP are explained.

Negotiation utility

Utility function is used to model any kind of behavior of each negotiator. The outcome of the negotiation process is evaluated through a “utility function” by a negotiator agent. Since this paper does not aim at designing utility functions, the relative part of the paper bases upon utility function of [21]. For simplicity, the utility function is a linear one only constrained by time and cost. That is, resource providers (i.e., FNSSA_CRP) are willing to rent out their resources in the shortest time with the maximum income; also resource customers (i.e., FNSSA_CRB) are willing to hire its demanded resources in the shortest time with the lowest payment. If the negotiation ends in disagreement, both negotiation sides (e.g., FNSSA_CRBs and FNSSA_CRPs) receive the worst possible utility (e.g., zero). Details of the utility functions defined for the agents of type FNSSA_CRB and FNSSA_CRP are addressed in [21].

Negotiation protocol

The mechanism and rules those are used by the negotiator agents are called protocol. In this paper, the negotiation protocol in named EAlternating offer protocol [21] is applied as the reference protocol. In summary, the main negotiation rules (which are inspired from [19, 20] are as follow: i) market is opened at t = 0, ii) in the first round of the market FNSSA_CRB proposes his offer, iii) negotiators propose their offers in alternate market rounds in which negotiators of type CRB propose their offers in even market rounds and negotiators of type CRP propose their offers in odd market rounds, iv) At the first round in which its negotiatori’s turn to propose his bid, the negotiatori proposes IP (initial price) that brings him the maximum utility, v) Negotiator agents have incomplete information about each others, and vi) Several pairs of dealers can negotiate simultaneously. In addition, three following rules and assumptions (defined in this paper) are also considered in specifying the negotiation activities between negotiator agents:

vii. As a negotiation thread is created in the market, each negotiator agent of type FNSSA_CRP (and respectively, FNSSA_CRB) searches its trading opponent ID in the local database BehaviorDB to retrieve the mutual_behavior_class of its trading opponent. If, in previous trading markets, a negotiator agent of type FNSSA_CRP (and respectively, FNSSA_CRB) has not faced FNSSA_CRB (and respectively, FNSSA_CRP), no record is retrieved as a result of searching local database BehaviorDB.

viii. At the beginning of each negotiation round, the negotiator agent who turns to move investigates the received offer from its opponent agent to make an action in response to him. The action space of negotiator agent A in front of its trading opponent is AS = {Initial_Accept, Final_Accept, Reject, Price_Bid}. According to the received offer from the trading opponent different actions are made by the negotiator agent in response to him: a) if the type of received offer is Initial_Accept, final agreement is done in response to the best trading opponent whose initial accept generates the highest utility for the negotiator agent. Thus, any dealer agent who negotiates for one instance of the VM type can finalize only one Initial_Accept message (that brings him the maximum utility) amongst the received Initial_Accept messages from its trading opponents. As a result, each Initial_Accept should be confirmed by the trading opponent to finalize the successful negotiation, b) if the type of received offer is Reject the negotiation process unsuccessfully ends, c) obviously if the type of received offer is Final_Accept the negotiation process successfully ends and d) if the type of received offer is Price_Bid, first by applying the basic negotiation strategy (according to the MDA’s negotiation strategy [12]) the counter-price offer is made and then by consulting with ConA who is equipped with FNSSDS (Fuzzy Negotiation Strategy Selection Decision System) it is determined that whether any price changing (with respect to the critical condition of trading market) is required. Following, by applying the result of consulting in the counter-price offer (if it is needed), the revised counter-price offer is made. Finally, the utility of the last price bid received from that trading opponent is compared with the utility of the counter-price offer (which is now made by the negotiator agent). If the utility of the negotiator agent’s counter-price offer is not greater than the utility of the last price bid received from that trading opponent, the Initial_Accept action is made in response to that trading opponent, else the Price_Bid action (considering the counter-price which is made by the negotiator agent) is done in response to that trading opponent. It should be mentioned that, the Initial_Accept action is made in response to the proposal that brings the maximum utility for the dealer. Thus, only one Initial_Accept is allowed by a dealer who negotiates for one instance of the VM type in each market round. The state diagram of the negotiator agents of type CRB (and respectively, CRP) is illustrated in Fig. 3a (and respectively, Fig. 3b).

Fig. 3
figure 3

a State diagram of the negotiator agents of type CRB in the market environment, b State diagram of the negotiator agents of type CRP in the market environment

ix. By applying FNSSDS (Fuzzy Negotiation Strategy Selection Decision System) in different critical conditions of the cloud trading market, and inspired from real-world negotiation markets, one of the following strategies is selected from the negotiation_strategy_basket: 1) Normal concession strategy, 2) Relaxing strategy and 3) Pressuring strategy. The main idea is that, the strictness of accepting received counter-price offer should be relaxed in undesirable trading market situations to increase the chance of reaching an agreement even with a little less utility (i.e., Relaxing strategy). It means that, by relinquishing utility a little more in each negotiation round and covering the difference between counter-prices and received prices in such a high critical trading condition, the possibility of reaching a successful deal will be increased. Moreover, the strictness of accepting received offer should be increased in desirable trading market situations to improve the chance of reaching an agreement with the best utility (i.e., Pressuring strategy). It means that in such a low critical trading condition, the goal of increasing the gained utility is the most highlighted one among the other goals. For this purpose, a negotiator agent of type resource provider (and respectively, resource customer) whose turn is to make its counter-price offer repeats its previous offer or instead of declining the counter-price offer (and respectively, raising the counter-price offer) adopts the reverse direction in making counter-price offer. It is understandable that in normal trading market situations, the negotiator agent just adopts its basic negotiation strategy to make its counter-price offer in response to its trading opponent irrespective of applying any strictness or relaxation in the counter-price offer (i.e., Normal concession strategy). More details about the proposed negotiation_strategy_basket can be found in “The proposed negotiation_strategy_basket” section.

Negotiation strategy

Any choice of the negotiator agent at negotiation round t is called negotiation strategy. Our negotiator agents focus only on single-issue negotiation (e.g., price only). Therefore, the action that is taken by the negotiator of this paper at negotiation round t in front of its trading opponent is concession amount determination.

Having just one static negotiation strategy during a negotiation process limits the flexibility of a negotiator agent in different critical conditions of the trading market and may destroy the chance of making more numbers of successful agreements and making better incomes. Thus, inspired from real-world trading market, it is essential to have a basket of negotiation strategies which enables negotiator agents to select correct action in different critical conditions of the trading market. Thus, our major challenge in designing a basket of negotiation strategies is the proximity of such a basket to the negotiation strategies of negotiator agents in the real-world trading markets.

Modeling critical condition of the cloud trading market

Accordingly, in order to enable negotiation agents to have better functionalities in the negotiation market a negotiation_strategy_basket with three following negotiation strategies (which are inspired from the real-world markets) is introduced: 1) Relaxing strategy, 2) Pressuring strategy and 3) Normal concession strategy.

In the following, first of all, how to model the concept of critical condition of the cloud trading market is discussed. Then, the details of negotiation_strategy_basket and how to change the counter-price offer in different critical conditions of the cloud trading market by choosing a suitable negotiation strategy from the negotiation_strategy_basket (i.e., adopting the suitable negotiation strategy) are discussed. To do this, a new fuzzy decision making system which is named as Fuzzy Negotiation Strategy Selection Decision System (FNSSDS) is designed. So that, the parameters those applied in making the concept of critical condition of the cloud trading market are the inputs of FNSSDS and coefficient of price changing (i.e., α) is the output of FNSSDS.

Since there are two types of negotiator agents in names FNSSA_CRB and FNSSA_CRP in the negotiation market environment, modeling of critical condition of the cloud trading market should be investigated separately for each side of the market (i.e., customer side and provider side).

Table 1 summarizes the parameters that are used to model critical condition of the cloud trading market from FNSSA_CRB’s point of view and FNSSA_CRP’s point of view. Also, for the benefit of readers the mathematic calculation formulas and their brief descriptions are provided in Table 1.

Table 1 Parameters that are used to model critical condition of the cloud trading market from both FNSSA_CRP’s and FNSSA_CRB’s points of view and their calculation formulas

Following the details of the parameters are discussed.

Modeling critical condition of the cloud trading market from FNSSA_CRB’s point of view

A CRB who submits its demand(s) in a cloud market and spends time in this cloud market to satisfy its requirements has a deadline for making agreement(s). When the CRB’s deadline is expired and in the case of having no successful deal, the CRB’s business activities may be hurt due to losing the resource(s) and not executing its demanded task(s). Thus, to avoid such an undesirable business situation, any reason that makes role in decreasing the negotiation power of the CRB and thus, increasing the chance of making bad/unsuccessful deal(s) should be faced. Obviously, ignoring the unsuitable market situations may lead to experiencing market critical condition in a longer time or experiencing the higher amount of market critical condition in the near future. The word “market critical condition” refers to a trading situation in which there is not much hope on making agreements. It is worth to mention that, tuning the counter-offers with respect to the market criticality is a suitable solution to confront the undesirable market situations. In summary, critical condition of the market puts high pressure on the negotiators and increases the risk of having high numbers of unsuccessful deals.

First of all, the discussion about the available information to model the critical condition of the cloud trading market from FNSSA_CRB’s point of view is provided. Second, the details related to the parameters constituting the market criticality (see Table 1) are explained.

To extract the parameters those affect the bargaining position of the CRBs, three sources of market pressure are recognized as follow: 1) pressure from provider side of the market (i.e., trading opponents), 2) pressure from customer side of the market (i.e., competitors), and 3) pressure from local condition of the CRB.

Any estimation about the bargaining power of the trading opponents can be done by using public information of the market. From the market billboard, number of trading opponents is available. Also, by analyzing the local BehaviorDB a trading behavior of each trading opponent who has faced in the previous markets can be determined. Finally, in current market, the counter-offers of the trading opponents are visible for a negotiator who negotiates with those trading opponents. Thus, the negotiation power of the trading opponents can be determined by considering the early discussed information. When the bargaining power of negotiator agent i’s trading opponents tends to high, the bargaining power of negotiator agent i tends to low. Parameters (1–4) of Table 1 are used to determine the amount of pressure from the trading opponent side of the market and are calculated based on the early discussed available information.

Similarly, any estimation about the bargaining power of the competitors can be done by using public information of the market. From the market billboard, number of competitors is the only information which is available. Thus, the negotiation power of the competitors can be determined by considering the early discussed information. When the bargaining power of negotiator agent i’s competitors tends to high, the bargaining power of negotiator agent i tends to low. Parameters (5–6) of Table 1 are used to determine the amount of pressure from competitor side of the market and are calculated based on the early discussed available information.

Finally, the negotiation power of negotiator agent i is determined based on the private information of that negotiator. The eagerness of the negotiator i to achieve a resource through negotiation process and also remaining time to reach an agreement in the negotiation market are the two parameters those affect the bargaining power of negotiator agent i. Parameters (7–8) of Table 1 are used to determine the amount of pressure from local condition of negotiator agent i and are calculated based on the early discussed information.

Following, details related to the parameters (1–8) of Table 1 those are used to estimate the bargaining power of the negotiator agent i of type CRB are explained.

  1. i.

    \( {\boldsymbol{NTO}}_{\boldsymbol{t}}^{\boldsymbol{A}} \): This parameter represents opportunities to create successful deals. More opportunities indicate more chance for the negotiator agent A to come to a consensus with its trading opponents, hence suffering less pressure for conceding. The number of trading opponents of an agent A in tth market round which is A’s turn to make a suitable action in response to the received counter-offer is calculated as Eq. (1) [20]:

$$ {NTO}_t^A=\frac{no. trading\_{opponent}_t^{\boldsymbol{A}}}{no. trading\_{opponent}_t^{\boldsymbol{A}}+ no.{competitor}_t^{\boldsymbol{A}}} $$
(1)

where \( no. trading\_{opponent}_t^{\boldsymbol{A}} \) and \( no.{competitor}_t^{\boldsymbol{A}} \) represent number of trading opponents and number of competitors of A in tth round of negotiation, respectively. The negotiator agent A’s competitor is an agent of type A who competes with A for the same resource type. In addition, the negotiator agent A’s trading opponent is an agent which is not of type A who locates on the other side of the negotiation market and bargains with A for a specific resource type. The more \( {NTO}_t^A \), the less the negotiator agent A of type CRB is under pressure to concede for increasing the chance of making successful agreements.

  1. ii.

    \( \mathbf{AD}\_{\mathbf{MBCTO}}_{\boldsymbol{t}}^{\boldsymbol{A}}: \) This parameter represents the acceptance degree of mutual behavior class between an agent A and its trading opponents (i.e., {B1, B2, …, Bk} where k is the total number of A’s trading opponents) [20]. The following two parameters: 1) average negotiation time to make successful deals (i.e., speed of making successful negotiations) and 2) number of successful negotiations, are used to define \( {MBCTO}_A^{B_k} \) (i.e. mutual behavior class of negotiator agent A’s trading opponent Bk). The following parameters are required for determination of \( {\mathrm{MBCTO}}_{\mathrm{A}}^{{\mathrm{B}}_{\mathrm{k}}} \): 1) Bk − id: the identifier of kth trading opponent of an agent A, 2) \( \#{CRNM}_{B_k-A} \): numbers of cloud resource negotiation market (CRNM) that both agents A and Bk participate in, 3) \( \# Suc.{neg}_{B_k-A} \): numbers of successful deals between agents A and Bk in all CRNMs that both of them participate in, and 4) \( Avg. neg.{time}_A^{B_k} \): Average time to reach agreement between agents A and Bk in all CRNMs that both of them participate in. The parameters constituting \( {MBCTO}_A^{B_k} \) and also the determined \( {MBCTO}_A^{B_k} \) are stored in negotiator agent A’s local database BehaviorDB.

The four mutual behavior classes are as follow [20]: a) Hasty and Loyal (HL), b) Not Hasty but Loyal (NHL), c) Hasty but Not Loyal (HNL) and d) Not Hasty and Not Loyal (NHNL). Hastiness is defined according to the closeness of the average negotiation time to zero that is assumed as the opening time of the market (i.e., \( \frac{Avg. neg.{time}_A^{B_k}}{\sum \limits_{n=1}^{\mathrm{no}.\mathrm{TO}\_\mathrm{BehaviorDB}.{\mathrm{Records}}_A} Avg. neg.{time}_A^{B_k}}\Big) \). Thus when \( \frac{Avg. neg.{time}_A^{B_k}}{\sum \limits_{n=1}^{\mathrm{no}.\mathrm{TO}\_\mathrm{BehaviorDB}.{\mathrm{Records}}_A} Avg. neg.{time}_A^{B_k}} \) tends to lower than ε (i.e., a threshold which is experimentally set to 0.5 [20]), hastiness of a negotiator agent A will be increased. In addition, Loyalty is defined according to the ratio of the number of successful negotiations to the number of all negotiation threads (i.e., \( \frac{\#\boldsymbol{Suc}.{\boldsymbol{neg}}_{{\boldsymbol{B}}_{\boldsymbol{k}}-\boldsymbol{A}}}{\#{\boldsymbol{CRNM}}_{{\boldsymbol{B}}_{\boldsymbol{k}}-\boldsymbol{A}}}\Big) \). Thus when \( \frac{\#\boldsymbol{Suc}.{\boldsymbol{neg}}_{{\boldsymbol{B}}_{\boldsymbol{k}}-\boldsymbol{A}}}{\#{\boldsymbol{CRNM}}_{{\boldsymbol{B}}_{\boldsymbol{k}}-\boldsymbol{A}}} \) tends to lower than ε (i.e., a threshold which is experimentally set to 0.5 [20]), loyalty of a negotiator agent A will be decreased. Obviously, at the end of successful negotiation, \( {MBCTO}_A^{B_k} \) field of the local database BehaviorDB is determined or revised by the agent A.

Finally, \( AD\_{MBCTO}_t^A \) (i.e., acceptance degree of mutual behavior class of A’s trading opponents in tth negotiation round) is determined according to percentage of trading opponents with NLNH mutual behavior class and percentage of trading opponents with LH mutual behavior class (i.e., \( \frac{\left[\left({\mathrm{percentage}}_t^{\mathrm{NLNH}}-{\mathrm{percentage}}_t^{\mathrm{LH}}\right)\times 100\right]+100\kern0.5em }{200} \)). From A’s point of view, the trading opponents with LH (and respectively, NLNH) mutual behavior class make the best (and respectively, the worst) trading conditions for him as A has a higher (and respectively, lower) chance to make successful deals with them. As, trading opponents with NLH (and respectively, LNH) mutual behavior class have 50 % good behavior and 50 % bad behavior, they are not considered in the \( AD\_{MBCTO}_t^A \) determination. The less \( AD\_{MBCTO}_t^A \), the less the negotiator agent A of type CRB is under pressure to concede for increasing the chance of making successful agreements. That is, the business activity of the resource customer (which depends on acquiring the resource in negotiation-based cloud market) is less treated by possible unsuitable behavior of trading opponents. So, such a market situation is less critical from that customer’s perspective.

  1. iii.

    DATOPtA: This parameter represents the distance between negotiator agent A’s offer and average of counter-price offers of its trading opponents. More distance between average of counter-price offers which are proposed by trading opponents and the counter-price of the agent A indicates weaker chance for A to have successful deals with his trading opponents. It is known that, in the time of calculating DATOPtA parameter, the average of counter-price offers which are proposed by A’s trading opponents of type CRBA is higher than the counter-price which is made by A (if not, at least one trading opponent would come to a consensus). Therefore, by considering this issue, \( {DATOP}_t^A \) is calculated by Eq. (2):

$$ {\mathrm{DATOP}}_{\mathrm{t}}^{\mathrm{A}}=\frac{\sum_{\mathrm{k}=1}^{\mathrm{no}.\mathrm{trading}\_{\mathrm{opponent}}_{\mathrm{t}-1}^{\mathrm{A}}}{\mathrm{P}}_{\mathrm{t}-1}^{{\mathrm{B}}_{\mathrm{k}}}-{\mathrm{P}}_{\mathrm{t}-2}^{\mathrm{A}}}{\sum_{\mathrm{k}=1}^{\mathrm{no}.\mathrm{trading}\_{\mathrm{opponent}}_{\mathrm{t}-1}^{\mathrm{A}}}{\mathrm{P}}_{\mathrm{t}-1}^{{\mathrm{B}}_{\mathrm{k}}}} $$
(2)

where \( \sum \limits_{k=1}^{no. trading\_{opponent}_{t-1}^{\boldsymbol{A}}}{P}_{t-1}^{B_k} \) and \( {P}_{t-2}^A \) represents average of counter-price offers of A’s trading opponents which are made in negotiation round t-1 and the counter-price offer of A in negotiation round t-2, respectively. The less DATOPtA, the less the negotiator agent A of type CRB is under pressure to concede for increasing the chance of making successful agreements.

  1. iv.

    En_RTOtA: This parameter shows the number of fresh trading opponents who more likely have enough time to bargain with A. Hence, these trading opponents enhance negotiating power of A. In other words, with entrance of fresh trading opponents to the market, the risk of losing successful deals due to expiration of the deadlines of the trading opponents who already exist in the market (i.e., older trading opponents), will be decreased. The \( En\_{RTO}_t^A \) is calculated thus:

$$ En\_{RTO}_t^A=\frac{En\_{TO}_t^A-\mathit{\operatorname{Min}}\_ En\_{TO}_t^A}{\mathit{\operatorname{Max}}\_ En\_{TO}_t^A-\mathit{\operatorname{Min}}\_ En\_{TO}_t^A} $$
(3)

where \( \mathit{\operatorname{Max}}\_ En\_{TO}_t^A \) and \( \mathit{\operatorname{Min}}\_ En\_{TO}_t^A \) represent maximum and minimum number of trading opponents ever experienced by A up to negotiation round t, respectively. Moreover, \( En\_{TO}_t^A \) represents the number of A’s trading opponents in current market round t. The less En_RTOtA, the more the negotiator agent A of type CRB is under pressure to concede for increasing the chance of making successful agreements.

  1. v.

    NCtA: This parameter represents the degree of competition in the market. More competition in the market environment reduces the negotiator’s negotiation power which leads to decrease success rate in making deals. \( {NC}_t^A \) [20] is calculated as Eq. (4):

$$ {NC}_t^A=\frac{no.{competitor}_t^{\boldsymbol{A}}}{no. trading\_{opponent}_t^{\boldsymbol{A}}+ no.{competitor}_t^{\boldsymbol{A}}} $$
(4)

where \( no. trading\_{opponent}_t^{\boldsymbol{A}} \) and \( no.{competitor}_t^{\boldsymbol{A}} \) represent number of trading opponents and number of competitors of A in tth round of negotiation, respectively. The more \( {NC}_t^A \), the more the negotiator agent A of type CRB is under pressure to concede for increasing the chance of making successful agreements.

  1. vi.

    En_RCAt: The negotiator agent A’s chance to have successful deals in the market decreases with entrance of fresh competitors. Indeed, with entrance of A’s new competitors to the market, trading opponents of A face with more new deal opportunities and so they no more concern about losing deal opportunities (because of approaching to the negotiation deadline and increasing the probability of leaving negotiation environment) with already existing opponents (i.e., A’s old competitors). Thus, in such a market condition, giving up against pressure from opponents’ side for making deals according to their proposed prices is not prioritized by negotiator agent A’s trading opponents. Consequently, the entrance of A’s new competitors to the market increases the negotiating power of A’s trading opponents which leads to decrease in A’s negotiating power. The \( En\_{RC}_t^A \) is calculated thus:

$$ En\_{RC}_t^A=\frac{En\_{C}_t^A-\mathit{\operatorname{Min}}\_ En\_{C}_t^A}{\mathit{\operatorname{Max}}\_ En\_{C}_t^A-\mathit{\operatorname{Min}}\_ En\_{C}_t^A} $$
(5)

where \( \mathit{\operatorname{Max}}\_ En\_{C}_t^A \) and \( \mathit{\operatorname{Min}}\_ En\_{C}_t^A \) represent maximum and minimum number of competitors ever experienced by A up to negotiation round t, respectively. Moreover, \( En\_{C}_t^A \) represents the number of A’s competitors in current market round t. The more \( En\_{C}_t^A \), the more the negotiator agent A of type CRB is under pressure to concede for increasing the chance of making successful agreements.

  1. vii.

    NEtA: The eagerness of the negotiator agent A to purchase the VM type instances is represented by NEtA. More eagerness to purchase the VM type instances, more pressure for conceding to increase the chance of having successful deals. Eagerness of the negotiator agent A to purchase the VM type instances (i.e., NEtA) is defined as a linear combination of two parameters: a) average time spent in the negotiation market by negotiator agent A for hiring resources those serve his submitted requests (i.e., \( {ATS}_t^A \)), and b) the ratio of the number of submitted requests in the negotiation market by the negotiator agent A to the maximum number of submitted requests by a negotiator agent of type CRB in the negotiation market up to current round t (i.e., \( {RSRtMSR}_t^A \)). \( {NE}_t^A \) is calculated based on Eq. (6):

$$ {NE}_t^A=\frac{ATS_t^A+{RSRtMSR}_t^A}{2} $$
(6)

The \( {ATS}_t^A \) and \( {RSRtMSR}_t^A \) are calculated as Eqs. (7) and (8), respectively:

$$ {ATS}_t^A=\frac{\sum_{\boldsymbol{m}=1}^{Total\_ no.{SRequests}_t^A}\left(\frac{\boldsymbol{t}-{t}_{entrance}^{R_m,A}}{t_{exit}^A-{t}_{entrance}^{R_m,A}}\right)}{Total\_ no.{SRequests}_t^A} $$
(7)

where \( {t}_{entrance}^{R_m,A} \) is the negotiation market round in which mth request of agent A (i.e., Rm) is submitted. Negotiator agent A may submit other new requests in the time period between its entrance time and its deadline. Moreover,\( \kern0.50em Total\_ no.{SRequests}_t^A \) and \( {t}_{exit}^A \) are the total number of requests submitted by A up to current market round t and the exit time of A, respectively. \( {t}_{exit}^A \) is calculated based on the summation of \( {t}_{deadline}^A \) (i.e., negotiator A’s deadline to have negotiation result) and \( {t}_{entrance}^A \). The more \( {ATS}_t^A \), the more the negotiator agent A of type CRB is under pressure to concede for increasing the chance of making successful agreements.

$$ {RSRtMSR}_t^A=\frac{Total\_ no.{SRequests}_t^A}{MaxTotal\_{Requests}_t^A} $$
(8)

where \( MaxTotal\_{Requests}_t^A \) represents maximum number of requests submitted by the negotiator agent of type CRB in the negotiation market until current round t. The more \( {RSRtMSR}_t^A \), the more the negotiator agent A of type CRB is under pressure to concede for increasing the chance of making successful agreements.

  1. viii.

    RTtDeadlinetA: Inspired from real-world negotiation markets, a negotiator usually feels no necessity to purchase the required resources until half of his deadline is reached. However, since then the negotiator feels more stress to reach an agreement, so concedes more to speed up the negotiation process. The more the negotiator agent goes farther from the half of his deadline (and logically the more he approaches to his deadline), it suffers from more pressure to successfully finalize the negotiation. Under such a condition, he concedes more until his reserve price is reached. \( {\mathrm{RTtDeadline}}_t^A \) is calculated thus:

$$ {\mathrm{RTtDeadline}}_t^A=\left\{\begin{array}{c}1-\left[\frac{\mathrm{t}-\left({\mathrm{t}}_{\mathrm{entrance}}^{\mathrm{A}}+{{\mathrm{Half}}_{\mathrm{t}}}_{\mathrm{deadline}}^{\mathrm{A}}\right)}{\left({\mathrm{t}}_{\mathrm{entrance}}^{\mathrm{A}}+{\mathrm{t}}_{\mathrm{deadline}}^{\mathrm{A}}\right)-\left({\mathrm{t}}_{\mathrm{entrance}}^{\mathrm{A}}+{{\mathrm{Half}}_{\mathrm{t}}}_{\mathrm{deadline}}^{\mathrm{A}}\right)}\right]\kern0.5em \mathrm{IF}\ \mathrm{condition}\ \mathrm{A}\kern0.75em \\ {}1\kern20em \mathrm{IF}\ \mathrm{condition}\ \mathrm{B}\ \end{array}\right. $$
(9)

where \( Half\_{t}_{deadline}^A \) and t are the half of negotiator A’s deadline and the current round of negotiation, respectively. In addition, \( {t}_{entrance}^A \) is the time in which the negotiator agent A entrances to the negotiation market to purchase numbers of virtual machine types instances. When A’s deadline is reached, all (or most) of A’s required virtual machine types instances should be hired. From A’s entrance time until \( Half\_{t}_{deadline}^A \) is reached, A does not feel any time pressure, thus, \( {RTtDeadline}_t^A \) is considered to be one. The more \( {RTtDeadline}_t^A \), the less the negotiator agent A of type CRB is under pressure to concede for increasing the chance of making successful agreements.

Modeling critical condition of the cloud trading market from FNSSA_CRP’s point of view

A CRP who registers its supply/supplies in a cloud market and spends time in this cloud market to rent out its VM types instances has a deadline for making agreement(s). When the CRP’s deadline is expired and in the case of having no (or few) successful deal, the CRP’s economic profits may be decreased due to losing the deal opportunities(s). Recall that, a resource provider supplies a portion of its resources to the cloud market in the hope of making money. Thus, to avoid such an undesirable business situation, any reason that makes role in decreasing the negotiation power of the CRP and thus, increasing the chance of making unsuccessful deal(s) should be faced. As mentioned before, ignoring the unsuitable market situations may lead to experiencing market critical condition in a longer time or experiencing the higher amount of market critical condition in the near future. Also, and according to our previous discussion in “Modeling critical condition of the cloud trading market from FNSSA_CRB’s point of view” section, the word “market critical condition” refers to the trading situations in which there is not much hope on making agreements. Obviously, having suitable estimation about the amount of market criticality and tuning the counter-offers with respect to it can decrease the pressure on the negotiator and increase the chance of having high numbers of/better successful deals.

First of all, the discussion about the available information to model the critical condition of the cloud trading market from FNSSA_CRP’s point of view is provided. Second, the details related to the parameters constituting the market criticality (see Table 1) are explained.

Similar to our discussion in “Modeling critical condition of the cloud trading market from FNSSA_CRB’s point of view” section, to extract the parameters those affect the bargaining position of the CRPs, three sources of market pressure are recognized as follow: 1) pressure from provider side of the market (i.e., trading opponents), 2) pressure from customer side of the market (i.e., competitors), and 3) pressure from local condition of the CRP.

The public information which is available to estimate the bargaining power of the CRP’s trading opponents is as same as the public information which is available to estimate the bargaining power of the CRB’s trading opponents. Parameters (9–12) of Table 1 are used to determine the amount of pressure from the trading opponent side of the market and are calculated based on the early discussed available information.

Also, the public information which is available to estimate the bargaining power of the CRP’s competitors is as same as the public information which is available to estimate the bargaining power of the CRB’s competitors. Parameters (13–14) of Table 1 are used to determine the amount of pressure from the competitor side of the market and are calculated based on the early discussed available information.

Finally, the negotiation power of negotiator agent i is determined based on the private information of that negotiator. The utility level of the resources of negotiator i and also remaining time to reach an agreement in the negotiation market are the two parameters those affect the bargaining power of negotiator agent i. Parameters (14–15) of Table 1 are used to determine the amount of pressure from the local condition of the negotiator agent i and are calculated based on the early discussed information.

Following, details related to the parameters (9–16) of Table 1 those are used to estimate the bargaining power of the negotiator agent i of type CRP are explained.

  1. i.

    NTOtA: This parameter is calculated based on Eq. (1).

  2. ii.

    AD_MBCTOtA: The explanations of how to calculate this parameter is similar to the explanations of “Modeling critical condition of the cloud trading market from FNSSA_CRB’s point of view” section (ii).

  3. iii.

    DATOPtA: As explained in the “Modeling critical condition of the cloud trading market from FNSSA_CRB’s point of view” section (iii), this parameter represent the distance between negotiator agent A’s counter-offer and average of counter-price offers of its trading opponents. More distance between average of counter-price offers which are proposed by trading opponents and the counter-price of the agent A indicates weaker chance of A to have successful deals with its trading opponents. It is known that, in the time of calculating DATOPtA parameter, the average of counter-price offers which are proposed by A’s trading opponents of type CRPA is lower than the counter-price which is made by A (if not, at least one trading opponent would come to a consensus). Therefore, by considering this issue, DATOPtA is calculated by Eq. (10):

$$ {\mathrm{DATOP}}_{\mathrm{t}}^{\mathrm{A}}=\frac{{\mathrm{P}}_{\mathrm{t}-2}^{\mathrm{A}}-\sum \limits_{\mathrm{k}=1}^{\mathrm{no}.\mathrm{trading}\_{\mathrm{opponent}}_{\mathrm{t}-1}^{\mathrm{A}}}{\mathrm{P}}_{\mathrm{t}-1}^{{\mathrm{B}}_{\mathrm{k}}}}{{\mathrm{P}}_{\mathrm{t}-2}^{\mathrm{A}}} $$
(10)

where \( \sum \limits_{k=1}^{no. trading\_{opponent}_{t-1}^{\boldsymbol{A}}}{P}_{t-1}^{B_k} \) and \( {P}_{t-2}^A \) represents average of counter-price offers of A’s trading opponents in negotiation round t-1 and the counter-price offer of A in negotiation round t-2, respectively. The less DATOPtA, the less the negotiator agent A of type CRP is under pressure to concede for increasing the chance of making successful agreements.

  1. iv.

    En_RTOtA: This parameter is calculated based on Eq. (3).

  2. v.

    NCtA [20]: This parameter is calculated based on Eq. (4).

  3. vi.

    En_RCtA: This parameter is calculated based on Eq. (5).

  4. vii.

    ULtA: Consider a cloud provider with capacity Ck for a VM type k. That is, at a given time t’ up to Ck instances of the specific resource type can be hosted simultaneously by that cloud resource provider [31]. In a time period t’, negotiation market is held to sell this capacity. ULtA represents the ratio of rented resources of negotiator agent A up to negotiation round t (i.e., \( {RC}_t^A\Big) \) to the total of supplied resources by negotiator agent A in the period of holding negotiation market (i.e., \( {TC}_t^A\Big) \).

$$ {UL}_t^A=\frac{RC_t^A}{TC_t^A} $$
(11)

The more \( {UL}_t^A \), the less the negotiator agent A of type CRP is under pressure to concede for increasing the chance of making successful agreements.

  1. viii.

    RTtDeadlinetA: This parameter is calculated based on Eq. (9).

The proposed negotiation_strategy_basket

The proposed basket of negotiation strategies includes three following negotiation strategies: 1) Normal concession strategy, 2) Relaxing strategy, and 3) Pressuring strategy. The following sub-sections describe the details regarding each negotiation strategy. Also, Algorithm (4): Dealing in Negotiation Market Using Negotiation_Strategy_Basket shows how the proposed strategies are applied by negotiator agent A of types CRBA and CRPA.

Normal concession strategy

In this strategy, by having no dramatic increase or significant decrease in the critical condition of the cloud trading market, the negotiator does his normal performance irrespective of applying any strictness or relaxation in the counter-price offer. The normal performance of a negotiator agent in the negotiation market refers to apply the basic negotiation strategy in which each of the opponents is conceded based on the following details [12]:

The amount of concession in round t (i.e., t) is:

$$ {\varDelta}_t=\left(1-{IoST}_t^A\right)\ {k}_t $$
(12)

where ktis calculated based on Eq. (13):

$$ {\mathrm{k}}_t=\left|\left[{\mathrm{P}}_{\mathrm{t}-2}^{\mathrm{A}}\to \mathrm{B}\right]-\left[{\mathrm{P}}_{\mathrm{t}-1}^{\mathrm{B}}\to \mathrm{A}\right]\right| $$
(13)

where by having negotiator agent A and its trading partner B, the proposal of A to its trading partner B at round t-2 is \( {\mathrm{P}}_{\mathrm{t}-2}^{\mathrm{A}}\to \mathrm{B} \) and the proposal of B to A at round t-1 is \( {\mathrm{P}}_{\mathrm{t}-1\to}^{\mathrm{B}}\mathrm{A} \), respectively.

Also, \( {IoST}_t^A \) is a price-oriented strategy that is taken by A to determine the amount of concession at round t. \( {IoS}_t^A \) is obtained by linear combination of the following three functions: 1) competition (C), 2) opportunity (O), and 3) time (T) and is defined through Eq. (14):

$$ {IoST}_t^A=\left[\mathrm{O}\ \left({m}_t^A,<{U}_t^{\mathrm{A}}\left[{\mathrm{P}}_{\mathrm{t}-2}^{\mathrm{A}}\to {\mathrm{B}}_{\mathrm{j}}\right]>,<{U}_t^{\mathrm{A}}\left[{\mathrm{P}}_{\mathrm{t}-1}^{{\mathrm{B}}_{\mathrm{j}}}\to \mathrm{A}\right]>\right)\times \mathrm{C}\ \left({n}_t^A,{m}_t^A\right)\times \mathrm{T}\left(t,{t}_{deadline}^A,\lambda \right)\right] $$
(14)

The competition function (C) that is defined as the probability of A being considered the most preferred trading partner by B is calculated thus:

$$ \mathrm{C}\ \left({n}_t^A,{m}_t^A\right)=1-{\left[\left({n}_t^A-1\right)/{n}_t^A\right]}^{m_t^A} $$
(15)

where \( {n}_t^A \) is the number of competitors of agent A at time t and \( {m}_t^A \) is the number of the A’s trading partner at time t. The negotiator agent A’s competitor is an agent of type A who competes with A for the same resource type (e.g., two customers who attempt to achieve the same resource at the same time). In addition, the negotiator agent A’s trading partner is an agent which is not of type A (i.e., locates on the other side of the negotiation market) and negotiates with A for a specific resource type.

The opportunity function (O) is defined as the subjective probability that the agent A will obtain a certain expected utility with at least one of its trading opponents and is calculated thus:

$$ \mathrm{O}\left({m}_t^A,<{U}_t^{\mathrm{A}}\left[{\mathrm{P}}_{\mathrm{t}-2}^{\mathrm{A}}\to {\mathrm{B}}_{\mathrm{j}}\right]>,<{U}_t^{\mathrm{A}}\left[{\mathrm{P}}_{\mathrm{t}-1}^{{\mathrm{B}}_{\mathrm{j}}}\to \mathrm{A}\right]>\right)=1-{\prod}_{j=1}^{m_t^A}\frac{\left|\left[{\mathrm{P}}_{\mathrm{t}-2}^{\mathrm{A}}\to {\mathrm{B}}_{\mathrm{j}}\right]-\left[{\mathrm{P}}_{\mathrm{t}-1}^{{\mathrm{B}}_{\mathrm{j}}}\to \mathrm{A}\right]\right|}{\left[{\mathrm{P}}_{\mathrm{t}-2}^{\mathrm{A}}\to {\mathrm{B}}_{\mathrm{j}}\right]-{c}^A} $$
(16)

where the worst possible utility for negotiator agent A (i.e., if the negotiation ends in disagreement) is denoted by cA.

The effect of time discount factor in negotiator’s bargaining power can be modeled via time-dependent function (T). The present work focuses on time-dependent function that is given in [12]:

$$ \mathrm{T}=1-{\left(\frac{t}{t_{deadline}^A}\right)}^{\lambda } $$
(17)

where A’s time preference is denoted by λ, A’s deadline by \( {t}_{deadline}^A \) and current trading round by t. The three major classes of concession-making strategies with respect to the remaining trading time are: Conservative (1 < λ<∞), Linear (λ = 1) and Conciliatory (0 < λ < 1). Details are discussed in [12].

Finally, the negotiator agent A calculates its counter-price offer at negotiation round t (which its turns to move) as follow:

$$ {Price}_t^A=\left\{\begin{array}{c}{Price}_{t-2}^A+{\varDelta}_t\kern1.5em IF\ the\ type\ of\ A\ is\ FNSSA\_ CRB\\ {}{Price}_{t-2}^A-{\varDelta}_t\kern1.5em IF\ the\ type\ of\ A\ is\ FNSSA\_ CRP\end{array}\right. $$
(18)

Experimentally, by having - 0.6 < α < 0.6 (where α is the coefficient of price changing in negotiation round t and is calculated by ConA), the negotiator agent A selects normal concession strategy (see Algorithm (5) which is applied by customer agents and Algorithm (6) which is applied by provider agents). That is, from the negotiator agent A’s point of view, within the mentioned range of α, there is no need to increase or decrease the \( {Price}_t^A \) (which is calculated based on Eq. (18)). The details of how to infer the numerical value of α by applying Fuzzy Negotiation Strategy Selection Decision System (FNSSDS) are explained in “Fuzzy Negotiation Strategy Selection Decision System (FNSSDS)” section.

Relaxing strategy

When dramatic increase in the critical condition of the cloud trading market is experienced, relaxation of counter-price offer is made to overcome these undesirable conditions. By applying this strategy and relinquishing utility a little more (to cover the difference between received prices and counter-prices), the negotiator can take step to the convergence point in such an unfavorable market. Obviously, the main focus of the relaxing strategy is on speeding up the negotiation process in undesirable market conditions (instead of achieving the best utility). In summary, applying relaxing strategy is done when the bargaining power of a negotiator in comparison to the evaluated bargaining power of its trading opponent is too low and thus, that negotiator should take bigger step than its opponent to the convergence point. That is, he should narrow the spread in offers between negotiators through following relaxing strategy and relinquish utility a little more. By making \( {Price}_t^A \)(based on Eq. (18)), the negotiator agent receives coefficient of price changing (i.e., α) from ConA and investigates the suitable decision according to the value of α. If α ≥0.6, the negotiation agent concludes that the critical condition of the cloud trading market tends to high and therefore the relaxation of the \( {Price}_t^A \) according to the value of α should be done.

To do this and according to Algorithm (5), if the type of negotiator agent A is FNSSA_CRB, first of all, A calculates α×(RPA-\( {Price}_t^A \)). Recall that RPA is A’s reserve price and is greater than \( {Price}_t^A \), thus the value of α×(RPA-\( {Price}_t^A \)) is positive. Then, he makes his counter-price offer by summation of α×(RPA-\( {Price}_t^A \)) and \( {Price}_t^A \)(i.e., \( {Price}_t^A \)+α×(RPA-\( {Price}_t^A \))) to make more attractive price for the providers (as the providers have tendency to receive high counter-price offers from their customers) with the hope of increasing the chance of reaching successful deals. Also, according to Algorithm (6) and if the type of negotiator agent A is FNSSA_CRP, first of all, A calculates α×(\( {Price}_t^A \)-RPA). Recall that RPA is A’s reserve price and is smaller than \( {Price}_t^A \), thus the value of α×(\( {Price}_t^A \)-RPA) is positive. Then, he makes his counter-price offer by subtraction of α×(\( {Price}_t^A \)-RPA) and \( {Price}_t^A \) (i.e., \( {Price}_t^A \)-α(\( {Price}_t^A \)-RPA)) to make more attractive price for the customers (as the customers have tendency to receive low counter-price offers from their providers) with the hope of increasing the chance of reaching successful deals.

Pressuring strategy

When significant decrease in the critical condition of the cloud trading market is experienced, the negotiator agent A puts his trading opponents under pressure in order to stimulate them to concede more. By adopting such a negotiation strategy, the negotiator A can create opportunities to reach the best consensus (i.e., the best price which is exchanged in the market). This strategy can be adopted in circumstances when the negotiator agent does not worry about reaching agreements in the negotiation market (as he has experienced good deals in the previous markets and also has experienced favorable conditions) rather tries to improve the values of consensuses those can be reached from the potential deals.

In summary, applying pressuring strategy is done when the bargaining power of a negotiator in comparison to the evaluated bargaining power of its trading opponent is significantly high and thus he puts its trading opponent under pressure to stimulate him to concede more and narrow the spread in offers between negotiators. That is, and as an example from provider’s perspective, instead of giving a price concession the negotiator raises the price to benefit from its high bargaining power. As, with the high probability the market condition is not favorable for the negotiator’s trading opponent, by applying pressuring strategy the opponent’s worry about losing resources in such an unfavorable condition increases and thus he makes more attractive proposal (by relinquishing utility a little more). So, a negotiator’s trading opponent takes bigger step than the negotiator to the convergence point.

According to the numerical value of coefficient of price changing (i.e., α), which reflects the conditions of the trading market, two tactics can be applied in this strategy by negotiator agent A: 1) Repeating_Previous_Behavior- Negotiator agent A repeats his previous counter-price in the current round of negotiation that is A’s turn to move and 2) Reverse_Movement – Negotiator agent A of type CRB (and respectively, CRP) reduces (and respectively, increases) his counter-price offer. Recall that, generally, the logical negotiator agent of type CRB proposes his preferred lowest price at the beginning of the market and moves up until his reserved price (the highest price that can pay to hire the resource) is reached. Also, the logical negotiator agent of type CRP proposes his preferred highest price at the beginning of the market and moves down until its reserved price (the lowest price that can earn to rent the resource) is reached.

Repeating_Previous_Behavior tactic

If the numerical value of α is low (i.e., −0.9≤α≤−0.6), the negotiator agent A takes his previous counter-price (which was made in previous round of negotiation which is A’s turn to move) into account as the counter-price that should be proposed to the trading opponent in the current round of negotiation which is A’s turn to move. Such an action is the most affectionate pressure that can be applied to the trading opponent. See Algorithm (5) which is applied by customer agents and Algorithm (6) which is applied by provider agents.

Reverse_Movement tactic

If the numerical value of α is too low (i.e., α < −0.9) and thus the negotiator agent enjoys high negotiating power, unlike usual movement in conceding, the negotiator agent A of type FNSSA_CRB (and respectively, FNSSA_CRP) reduces (and respectively, increases) his proposed counter-price offer in a negotiation round which is A’s turn to move. That is, by making \( {Price}_t^A \)(based on Eq. (18)), the negotiator agent receives coefficient of price changing (i.e., α) from ConA and investigates the suitable decision according to the value of α. If α < −0.9, the negotiation agent concludes that the critical condition of the cloud trading market tends to low and therefore tuning of the \( {Price}_t^A \) according to the value of α should be done.

To do this and according to Algorithm (5), if the type of negotiator agent A is FNSSA_CRB, first of all, A calculates α×(\( {Price}_t^A \)-IPA). Recall that IPA is A’s initial price and is smaller than \( {Price}_t^A \), also α is negative, thus the value of α×(\( {Price}_t^A \)-IPA) is negative. Then, he makes his counter-price offer by summation of α×(\( {Price}_t^A \)-IPA), which is negative, and \( {Price}_t^A \) (i.e., \( {Price}_t^A \)+ α×(\( {Price}_t^A \)-IPA)) to put the providers under pressure (as the providers have not tendency to receive high counter-price offers from their customers) with the hope of increasing the chance of reaching successful deals with less payments. Also, according to Algorithm (6) and if the type of negotiator agent A is FNSSA_CRP, first of all, A calculates α×(IPA-\( {Price}_t^A \)). Recall that IPA is A’s initial price and is greater than \( {Price}_t^A \), also α is negative, thus the value of α×(IPA-\( {Price}_t^A \)) is negative. Then, he makes his counter-price offer by subtraction of α×(IPA-\( {Price}_t^A \)) and \( {Price}_t^A \)(i.e., \( {Price}_t^A \)-α (IPA-\( {Price}_t^A \))) to put the customers under pressure (as the customers have not tendency to receive high counter-price offers from their providers) with the hope of increasing the chance of reaching successful deals those make more revenue.

figure b

Fuzzy Negotiation Strategy Selection Decision System (FNSSDS)

The numerical value of coefficient of price changing (i.e., α) is described by means of building fuzzy models. As common source of information for building fuzzy models is the knowledge of expert (especially in the cloud market where cloud service providers are hesitated to reveal issues related to commerce in the cloud platform), this approach is used in designing a new Fuzzy Negotiation Strategy Selection Decision System (FNSSDS) to determine the amount of α (i.e., coefficient of price changing). A fuzzy decision controller, generally, is composed of four components: (1) Input and output variables, (2) Fuzzification Interface (FI), which is used to transform clear values of input variables to fuzzy sets, (3) Fuzzy rule base (RB), (4) Defuzzification interface (DFI) that translates the output of the fuzzy inference process, from fuzzy linguistic values to a clear real number by using a defuzzification method.

Following, the four parts of the FNSSDS are explained in details.

Output

The output of FNSSDS is the coefficient of price changing (i.e., α) which is deducted based on the critical condition of the cloud trading market.

figure c

Input set

It should be mentioned that, considering all eight parameters (those are introduced to model critical condition of the cloud trading market and are discussed in “Modeling critical condition of the cloud trading market from FNSSA_CRB’s point of view” section from CRB’s point of view (and respectively, in “Modeling critical condition of the cloud trading market from FNSSA_CRP’s point of view” section from CRP’s point of view)) as inputs of FNSSDS_CRB (and respectively, FNSSDS_CRP) increases the computational complexity of that fuzzy decision controller and also slows down the deduction speed of such a system. In addition, applying knowledge of experts in designing fuzzy rules will be difficult. Therefore, it is required to initially reduce the number of entries to fuzzy inference system in a way that the effectiveness of each input parameter in deduction is maintained. To do this, three following factors are designed for constructing numerical value of coefficient of price changing (i.e., α) from CRB’s point of view (and respectively, CRP’s point of view), where each factor is made based on linear combination of some of the parameters which are introduced in “Modeling critical condition of the cloud trading market from FNSSA_CRB’s point of view” section (and respectively, “Modeling critical condition of the cloud trading market from FNSSA_CRP’s point of view” section): 1) competitors’ side factor (\( \overline{ComSF_t^A} \)), 2) Trading opponents’ side factor (\( \overline{TOpSF_t^A} \)) and 3) Local Power in the trading market factor (\( \overline{LPowF_t^A} \)). The calculation methods of all three mentioned factors (by considering both CRB and CRP) are illustrated in Table 2. Also, Fig. 4 presents an abstract view of FNSSDS.

Table 2 Calculation methods, membership functions, linguistic values and graphical presentations of the membership functions of the inputs and output of FNSSDS from perspectives of both CRB and CRP
Fig. 4
figure 4

An abstract view of the FNSSDS

Fuzzy values of output variable

Three fuzzy sets are defined for this output variable: {PS (Pressuring strategy), NS (Normal concession strategy), RS (Relaxing strategy)}. Membership functions that are used for assigning the membership degree of each clear value of this variable are shown in Table 2.

Fuzzy values of each input variable

  • \( \overline{ComSF_t^A} \) input variable: Three fuzzy sets are defined for this input variable: {B (Bad) M (Moderate), G (Good)}. Membership functions that are used for assigning the membership degree of each clear value of this variable are shown in Table 2.

  • \( \overline{TOpSF_t^A} \) input variable: Three fuzzy sets are defined for this input variable: {B (Bad) M (Moderate), G (Good)}. Membership functions that are used for assigning the membership degree of each clear value of this variable are shown in Table 2.

  • \( \overline{LPowF_t^A} \) input variable: Three fuzzy sets are defined for this input variable: {B (Bad) M (Moderate), G (Good)}. Membership functions that are used for assigning the membership degree of each clear value of this variable are shown in Table 2.

Fuzzy rules base

The system of fuzzy “if-then” rules is consulted as a knowledge-base system where inference is made on the basis of 27 rules of inference (see Table 3). In the following, the interpretation of a sample rule of is presented:

Table 3 Fuzzy rules employed in designing FNSSDS (α is the output)

Rule 27: IF (\( \overline{ComSF_t^A} \) is Bad (B)) AND (\( \overline{TOpSF_t^A} \) is Bad (B)) AND (\( \overline{LPowF_t^A} \) is Bad (B)) THEN (coefficient of price changing α is Relaxing Strategy (RS))

Defuzzifier

To convert a fuzzified output into a single crisp value with respect to a fuzzy set the weighted average method [32] is adopted.

It is worth to mention that, the main part of our idea is FNSSA (Fuzzy Negotiation Strategy Selection System) that is designed to calculate α (i.e., coefficient of price changing). All the computations required for calculating the amount of α are done by ConA (Consulting Agent) which is designed in the cloud marketplace. The customers and providers who participate in the cloud marketplace are served by the amount of α (that is calculated by ConA). In addition, and according to our explanations in “Fuzzy Negotiation Strategy Selection Decision System (FNSSDS)” section, the computation complexity of FNSSA is low. This is because, the triangle membership functions are designed and also by introducing three inputs for fuzzy system in names: 1) competitors’ side factor (\( \overline{ComSF_t^A} \)), 2) Trading opponents’ side factor (\( \overline{TOpSF_t^A} \)), and 3) Local Power in the trading market factor (\( \overline{LPowF_t^A} \)) the curse of dimensionality is overcomed. As a result, there is not much computation overhead due to determination of α by adopting FNSSA in a cloud marketplace where benefits from high computing power.

Performance evaluation

In this paper, we emphasized on software simulation to bring the proof of concept and in future work, we will continue to implement the proposed negotiation model in a constrained experimental testbed, which will serve as the underlying technology for real-world implementation. It is worth to mention that, the proposed negotiation model considers some parameters (like reserve price and negotiation deadline) which are not provided openly in any of available cloud marketplaces. As a result, we extend the CloudSim [33] capabilities to analyze the proposed idea. In the evaluation process, we have inspired from the works of [34,35,36].

Also, in the simulation we compared our designed negotiator agents (i.e., FNSSAs) with the well-known negotiation agents in name MDAs [12, 23]. Utility function, negotiation protocol and many other rules and assumptions in negotiation model of the FNSSAs are similar to those are presented in MDAs [12, 23]. The main difference between negotiation models employed by the two mentioned types of agents is the modifications of negotiation strategy of FNSSAs (i.e., introducing a new basket of strategies instead of a strategy which is adopted by MDAs). Since the basic negotiation strategy is the same for both FNSSAs and MDAs, the role of the new basket of negotiation strategies (formed based on the basic negotiation strategy) may be well studied. Hence, respecting differences and similarities of FNSSAs and MDAs, MDA [12, 23] is considered as a suitable comparative base for performance evaluation of the proposed negotiation model.

As our main focus is on evaluating the performance of FNSSA_CRB (and respectively, FNSSA_CRP) against MDA_CRB (and respectively, MDA_CRP), the following two evaluation scenarios are suggested:

  1. (1)

    Resource providers are programmed as FNSSAs and in one experiment their trading opponents are programmed as MDAs [12, 23] and in another experiment their trading opponents are programmed as FNSSAs. By holding the type of provider agents constant (i.e., consider the same type), the performance of FNSSA_CRBs against those of MDA_CRBs [12, 23] can be measured without having any possible influence on the negotiation outcomes.

  2. (2)

    Resource customers are programmed as FNSSAs and in one experiment their trading opponents are programmed as MDAs [12, 23] and in another experiment their trading opponents are programmed as FNSSAs. By holding the type of customer agents constant (i.e., consider the same type), the performance of FNSSA_CRPs against those of MDA_CRPs [12, 23] can be measured without having any possible influence on the negotiation outcomes.

Experimental setting

Input parameters which are required to configure the simulation of the cloud market and their possible values are illustrated in Table 4. Every registered job involves several tasks. Each task has information on R types of physical machines requested by that task. Here, and for the sake of simplicity, three types of physical resources are considered: CPU, Memory and Storage. Each task of each job which is denoted by a VM bundle requests a VM in that bundle. Thus, each task is mapped to a specific VM. By supplying k types of virtual machine, the mth type provides a specific amount of each physical resource type rR = {1, …, R} [37]. The amount of each physical resource of type r which is provided by mth type of virtual machine is shown by Wmr such that CPU, Memory, and Storage are shown by r = 1, r = 2 and r = 3, respectively. Here, and according to the VM types offered by Amazon EC2 [38], three types of virtual machines are considered: VM1, VM2, and VM3 (see Table 4).

Table 4 Input parameters to configure the simulation environment and their relative values

Comparison metrics

Based on our investigation on previous negotiation models [12, 23], three following parameters are considered to evaluate the performance of the proposed negotiation agents: (1) success rate in negotiations, (2) average of utility and (3) average time spent in the market for making successful negotiations. In addition, a new metric in name U_NTE (i.e., Utility_NegotiationTimeEffectiveness) is defined which provides the overall view of the results obtained from the market according to both average of spent time for making successful negotiations and the average of utility which is gained from deals. From both resource customers’ and providers’ points of view, having high success rate in negotiations, high average utility and high U_NTE are desired. Also they prefer to spend less time in the market for making successful negotiations.

Following the details of the four evaluation metrics are discussed:

  • Success rate in negotiations: Success rate of the resource customers and resource providers are calculated as Eqs. (19) and (20), respectively:

$$ Success\ Rate(CRBA)=\frac{N_{Succ}^{CRBA}}{N_{Total}} $$
(19)

where \( {N}_{Succ}^{CRBA} \) and NTotal are the number of CRBAs who successfully made agreements and total number of negotiator threads (both successful and unsuccessful).

$$ Success\ Rate(CRPA)=\frac{N_{Succ}^{CRPA}}{N_{Total}} $$
(20)

where \( {N}_{Succ}^{CRPA} \) and NTotal are the number of CRPAs who successfully made agreements and total number of negotiator threads (both successful and unsuccessful).

  • Average of utility: Average utility of the resource customers and resource providers are calculated as Eqs. (21) and (22), respectively:

$$ U(CRBA)=\sum \limits_{i=1}^{N_{succ}^{CRBA}}\left[\left(1-{u}_{min}\right)\left(\frac{RP_{CRBA_i}-{P}_{cons}}{RP_{CRBA_i}-{IP}_{CRBA_i}}\right)+{u}_{min}\right]/{N}_{Total} $$
(21)
$$ U(CRPA)=\sum \limits_{i=1}^{N_{succ}^{CRPA}}\left[\left(1-{u}_{min}\right)\left(\frac{P_{cons}-{RP}_{CRPA_i}}{IP_{CRPA_i}-{RP}_{CRPA_i}}\right)+{u}_{min}\right]/{N}_{Total} $$
(22)

Recall that, RPA and IPA represent reserve price and initial price of negotiator agent A, respectively. Also, Pcons is the consensus price of the successful negotiation and umin is a parameter which is defined to distinguish the utility if negotiation fails and the utility which is obtained by having consensus on RPA.

  • Average time spent in the market for making successful negotiations: This parameter is calculated for the resource customers and resource providers according to Eqs. (23) and (24), respectively:

$$ R(time)=\left(\sum \limits_{i=1}^{N_{succ}^{CRBA}}\frac{t_{cons}^{CRBA_i}-{t}_{entrance}^{CRBA_i}}{t_{deadline}^{CRBA_i}-{t}_{entrance}^{CRBA_i}}\right)/{N}_{Total} $$
(23)

where \( {t}_{cons}^{CRBA_i} \), \( {t}_{entrance}^{CRBA_i} \) and \( {t}_{deadline}^{CRBA_i} \) are the consensus time of negotiator agent CRBAi (i.e., the market round in which the CRBAi’s deal thread is successfully finalized), entrance time of negotiator agent CRBAi and deadline of negotiator agent CRBAi, respectively.

$$ R(time)=\left(\sum \limits_{i=1}^{N_{succ}^{CRPA}}\frac{t_{cons}^{CRPA_i}-{t}_{entrance}^{CRPA_i}}{t_{deadline}^{CRPA_i}-{t}_{entrance}^{CRPA_i}}\right)/{N}_{Total} $$
(24)

where \( {t}_{cons}^{CRPA_i} \), \( {t}_{entrance}^{CRPA_i} \) and \( {t}_{deadline}^{CRPA_i} \) are the consensus time of negotiator agent CRPAi (i.e., the market round in which the CRPAi’s deal thread is successfully finalized), entrance time of negotiator agent CRPAi and deadline of negotiator agent CRPAi, respectively.

  • Utility_NegotiationTimeEffectiveness: U_NTE of the resource customers and resource providers are calculated as Eqs. (25) and (26), respectively:

$$ U\_ NTE(CRBA)=U(CRBA)/R(time) $$
(25)
$$ U\_ NTE(CRPA)=U(CRPA)/R(time) $$
(26)

Results and observations

The negotiation activities are simulated in a series of 300 consecutive e-markets. Even though an extensive amount of simulations was carried out for all the combinations of the input data, space limitation preclude all results from being included here. Furthermore, simulation results must be illustrated separately for provider agents and customer agents. Hence, this section only reports some of the obtained results from simulation. Figures 5, 6, 7, and 8 report the simulation results considering the first experimental scenario and Figs. 9, 10, and 11 report the simulation results considering the second experimental scenario. It should be mentioned that all figures are illustrated by setting λ to one.

Fig. 5
figure 5

Average utility of the CRBAs under a short deadline and sparse market, b short deadline and moderate market, c moderate deadline and sparse market, d moderate deadline and moderate market, e moderate deadline and dense market, and f long deadline and dense market. In all figures different market types are considered

Fig. 6
figure 6

Success rate of the CRBAs under a short deadline and sparse market, b short deadline and moderate market, c short deadline and dense market, d moderate deadline and sparse market, e moderate deadline and moderate market, f long deadline and sparse market, g long deadline and modearte market, and h long deadline and dense market. In all figures different market types are considered

Fig. 7
figure 7

Average negotiation time of the CRBAs under a short deadline and dense market, b moderate deadline and dense market, and c long deadline and dense market. In all figures different market types are considered

Fig. 8
figure 8

The U_NTE of the CRBAs under a short deadline and sparse market, b moderate deadline and sparse market, and c long deadline and sparse market. In all figures different market types are considered

Fig. 9
figure 9

Average utility of the CRPAs under a short deadline and sparse market, and b moderate deadline and dense market. In all figures different market types are considered

Fig. 10
figure 10

Fig. 10 Average negotiation time of the CRPAs under a short deadline and dense market, and b long deadline and dense market. In all figures different market types are considered

Fig. 11
figure 11

The U_NTE of the CRPAs under a short deadline and sparse market, b moderate deadline and sparse market, and c long deadline and sparse market. In all figures different market types are considered

Discussion about the obtained results from Fig. 5

Figure 5 illustrates the average utility of the proposed FNSSA_CRBs in comparison to MDA_CRBs with different values of negotiation deadline (i.e., Long, Moderate, Short), market density (i.e., Sparse, Moderate, Dense) and market type (i.e., CRBA_favorable, Balanced, CRPA_favorable).

From Fig. 5e and in comparison to Fig. 5f it can be observed that both FNSSA_CRBs and MDA_CRBs experience stronger bargaining position under long deadline than short deadline (due to have more time to trade), therefore, both of these agents are more likely to make less concession in negotiation market (and due to negotiation time prolongation) to obtain greater utility.

In addition, it can be observed that, both FNSSA_CRBs and MDA_CRBs are placed in a weaker bargaining position in CRPA_favorable market type (in comparison to the balanced and CRBA_favorable market types). CRPA_favorable market is a market in which CRBA_to_CRPA = {10:1, 5:1, 3:1} (see start points of the curves of all figures). Obviously, this is because of having a fewer numbers of situations to build agreements and thus increasing the likelihood of failure in such a competitive market environment. Therefore, the logical negotiator agents of type CRBA make more concessions to decrease the risk of missing the successful deals with CRPAs in this competitive cloud market (which leads to reduction of the expected utility). As a result, the ascending form of the curves of Fig. 5 is justified.

Recall that, unlike MDA_CRBs, FNSSA_CRBs are equipped with FNSSDS which guides these agents to select suitable negotiation strategy from negotiation_strategy_basket = {Relaxing, Normal concession, Pressuring} according to the critical condition of the cloud trading market. It can be understand that, in the markets with high density (i.e., Pgen = 1) and under CRPA_favorable market type where CRBA_to_CRPA = {10:1,5:1,3:1} (as an example see start points of the curves of Fig. 5f), the market pressure (i.e., critical condition of the cloud trading market) is high. This is because, in such a market condition the number of trading opponents is low, the number of competitors is high, entrance rate of new competitors is high (and respectively, entrance rate of new trading opponents is low).Footnote 2 Also, by analyzing the details of the reported results, and due to having customers with high \( {NE}_t^A \) and high \( {RTtDeadline}_t^A \), the value of \( \overline{LPowF_t^A} \) tends to M:Moderate). Thus, and according to FNSSDS, a FNSSA_CRB is more likely to adopt Relaxing negotiation strategy (by firing rule number 26 of Table 3 in most of the times). This adoption leads to attraction of more providers (i.e., increase their tendency to make successful negotiations) and hire more numbers of FNSSA_CRBs’ demands. Recall that, any disagreement generates the worst possible utility (e.g., zero). Thus, the average total utilities under CRPA_favorable market type in Fig. 5f is 5.64%. It should be mentioned that by having high volume of financial transactions, this percentage of improvement is considerable.

Also, by having long deadline (i.e., the fuzzy value of \( \overline{LPowF_t^A} \) tends to G:Good or M:Moderate) and especially when the market type tends to CRBA_favorable (i.e., the fuzzy value of \( \overline{TOpSF_t^A} \) tends to G:Good) the probability of firing rules 1–2, 4–5, and 7–8 of Table 3 tends to high (as an example see the end points of Fig. 5f). Consequently, by adopting Pressuring negotiation strategy in higher number of times, FNSSA_CRBs outperform MDA_CRBs and enjoy from the more suitable utility in such a favorable market condition. In other words, in such a favorable market, customers put provider under pressure to concede more. This leads to saving more money for customers.

On the other hand, generally it can be observed that, under CRBA_favorable market type (see end points of the all curves of Fig. 5), due to experiencing low market pressure (i.e., low critical condition of the cloud trading market) FNSSA_CRBs outperform MDA_CRBs. This is because, in such a market condition the number of trading opponents is high and also the number of competitors is low. In addition, it is worth to mention that, as an example, in setting the simulation of Fig. 5e we try to avoid the entrance of trading opponents who mostly have NLNH mutual behavior class. Thus, and according to our early discussion, the chance of firing the rules 1–2, and 4–5 of Table 3 in high numbers of times increases and FNSSA_CRBs is more likely to adopt Pressuring negotiation strategy (recall that in Fig. 5e the deadline of negotiators is moderate). By adopting such a negotiation strategy, instead of focusing on the time of coming to a consensus, the FNSSA_CRBs stimulate their trading opponents to concede more (this leads to experience better utility). This adoption leads to save more money in such a favorable market.

In the markets with low density (i.e., sparse) and especially under CRPA_favorable market type (see start points of the curves of Fig. 5a and c), due to low entrance rate of negotiator agents and also low chance to experience an agent of type provider in each entrance (if exists), the probability of adopting Relaxing or Normal concession negotiation strategies in high numbers of times increases (i.e., as the fuzzy value of \( \overline{ComSF_t^A} \) tends to B:Bad the probability of firing rules 7–9, 16–18, and 25–27 tends to high). Thus, in some points of these figures (like the three start points of Fig. 5a where CRBA_to_CRPA = {10:1, 5:1, 3:1}) due to adopting Relaxing negotiation strategy by FNSSA_CRBs, the MDA_CRBs outperform FNSSA_CRBs. Also, narrow distances between the start points of these figures can be justified due to adopting Normal concession negotiation strategy besides Relaxing negotiation strategy in some negotiation rounds of this market situation. Recall that, MDA_CRBs adopt just Normal concession negotiation strategy in conducting the negotiation process.

In addition, in CRBA_to_CRPA = {1:1} (i.e., balanced market type), where the critical condition of the cloud market is moderate, FNSSA_CRBs is more likely to adopt Normal concession negotiation strategy. Since MDA_CRBs also adopt a similar negotiation strategy in such circumstances, they naturally gain similar results.

Another reason for the ups and downs of curves of Fig. 5 and differences between the observed results of FNSSA_CRBs and MDA_CRBs is the distinguishing function of the FNSSA_CRBs in conceding to their trading opponents based on their behavioral backgrounds (as an example see our early justification about Fig. 5e where the density is high, market type tends to CRBA_favorable, and trading opponents who mostly have HL, NHL, and HNL mutual behavior classes are allowed to enter to the market.

For the benefit of readers, the analysis of the obtained results from Fig. 5 is summarized in Table 5.

Table 5 Analysis of the results obtained from Fig. 5a-f

Discussion about the obtained results from Fig. 6

Figure 6 illustrates the success rate of the proposed FNSSA_CRBs in comparison to MDA_CRBs with different values of negotiation deadline (i.e., Long, Moderate, Short), market density (i.e., Sparse, Moderate, Dense) and market type (i.e., CRBA_favorable, Balanced, CRPA_favorable).

From Fig. 6f-h it can be observed that both FNSSA_CRBs and MDA_CRBs experience stronger bargaining position under long deadline in comparison to short and moderate deadlines (due to have more time to trade), therefore, the success rate in hiring virtual machine type instances increases (due to negotiation time prolongation). As mentioned earlier, unlike MDA_CRBs, FNSSA_CRBs are equipped with FNSSDS which guides these agents to select suitable negotiation strategy from negotiation_strategy_basket = {Relaxing, Normal concession, Pressuring} according to the critical condition of the cloud trading market. The ups and downs of the FNSSA_CRBs’ curves in Fig. 6, especially in ending points of every curves indicate the fact that the FNSSA_CRBs adopted Relaxing and Pressuring negotiation strategies whenever they should (according to the amounts of undesirability and desirability of market situations). Another reason for the ups and downs of the curves of Fig. 6 and differences between the observed results of FNSSA_CRBs and MDA_CRBs is the distinguishing function of the FNSSA_CRBs in conceding to their trading opponents based on their behavioral backgrounds. As an example, in Fig. 6f where CRBA_to_CRPA = {1:10}, the fuzzy value of \( \overline{TOpSF_t^A} \) tends to B:Bad or M:Moderate.This is because, although the market tends to CRBA_favorable but in such a sparse market most of the providers who allowed to participant in the market have NHNL mutual behavior class and also their proposals are generally far from the proposals of the negotiators. On the other hand, the fuzzy value of \( \overline{ComSF_t^A} \) tends to G:Good. In addition, due to have long deadline a negotiator has better bargaining power. Thus, the fuzzy value of \( \overline{LPowF_t^A} \) tends to G:Good. The combination of the three early mentioned fuzzy values leads to fire rules 10 and 19 from Table 3 in higher number of times. As a result, and because of adopting both Normal concession and Pressuring negotiation strategies the FNSSA_CRBs little outperform than the MDA_CRBs. Also, it can be observed that, both FNSSA_CRBs and MDA_CRBs are placed in a stronger bargaining position in CRBA_favorable market type (in comparison to the balanced and CRPA_favorable market types). Therefore, the probability of making successful agreements increases in such a market type and, hence, upward curves in Fig. 6 are justified. Details are discussed in previous observation.

Similar to the explanations of Fig. 5, in the markets with low density (i.e., sparse) and under CRPA_favorable market type (see Fig. 6a, d and f), FNSSA_CRBs are willing to adopt Relaxing negotiation strategy (i.e., fuzzy value of \( \overline{TOpSF_t^A} \) tends to B:Bad thus the probability of firing rules 19–27 increases. These rules guide negotiators to adopt Normal concession or Relaxing negotiation strategies). This adoption leads to attraction of more providers and increases their tendency to make successful negotiations. Thus, FNSSA_CRBs experience more successful agreements. The average values of success rate under CRPA_favorable market type in Fig. 6a, d, and f are 43.2, 114.47 and 56.95%, respectively.

Finally, by having short deadline (see Fig. 6b and c) the fuzzy value of \( \overline{LPowF_t^A} \) tends to B:Bad. Thus, by considering various market situations, the probability of firing rules 3, 6, 9, 12, 15, 18, 21, 24, and 27 of Table 3 tends to high. By firing these rules a negotiator is guided to adopt Normal concession negotiation strategy in high number of times. Thus, in comparison to other market situations the curves of Fig. 6b (and respectively, the curves of Fig. 6c) are more close to each others. Thus, the average total improvements of FNSSA_CRBs in comparison to MDA_CRBs in Fig. 6b and c are 19.66 and 23.74%, respectively.

For the benefit of readers, the analysis of the obtained results from Fig. 6 is summarized in Table 6.

Table 6 Analysis of the results obtained from Fig. 6a-h

Discussion about the obtained results from Fig. 7

The average negotiation time of the proposed FNSSA_CRBs in comparison to MDA_CRBs with different values of negotiation deadline (i.e., Long, Moderate, Short), market density (i.e., Sparse, Moderate, Dense) and market type (i.e., CRBA_favorable, Balanced, CRPA_favorable) is illustrated in Fig. 7.

In undesirable market conditions (especially in CRPA_favorable market type), the negotiator agents of type FNSSA_CRB are more likely to adopt Relaxing negotiation strategy. Thus, in comparison to MDA_CRBs, and due to relinquishing utility a little more in each negotiation and covering the difference between counter-prices and received prices, FNSSA_CRBs spent less time in the market for making successful agreements. As an example and by considering Fig. 7a, the average values of making agreement time under CRPA_favorable market type are 8.5 and 11.17 for FNSSA_CRB and MDA_CRB, respectively. Consequently, the speed of making agreements by the agents of type FNSSA_CRB was 31.41% faster than those agents of type MDA_CRB. But, with reversed market conditions when market type tends to CRBA_favorable, the negotiator agents of type FNSSA_CRB are more likely to adopt Pressuring negotiation strategy and thus, more time is spent by FNSSA_CRBs (in comparison to MDA_CRBs) in the market for making successful agreements. As an example and by considering Fig. 7b, the average values of making agreement time under CRBA_favorable market type are 28 and 26 for FNSSA_CRB and MDA_CRB, respectively. Consequently, the speed of making agreements by the agents of type FNSSA_CRB was 7.69% slower than those agents of type MDA_CRB.

It is worth to mention that, the narrow difference between the curves of FNSSA_CRBs and MDA_CRBs in ending points of Fig. 7a-c shows just-in-time and suitable adoption of Pressuring negotiation strategy by FNSSA_CRBs.

For the benefit of readers, the analysis of the obtained results from Fig. 7 is summarized in Table 7.

Table 7 Analysis of the results obtained from Fig. 7a-c

Discussion about the obtained results from Fig. 8

The results of comparison of FNSSA_CRBs against MDA_CRBs considering U-NTE performance metric with different values of negotiation deadline (i.e., Long, Moderate, Short), market type (i.e., CRBA_favorable, Balanced, CRPA_favorable) and just one market density (i.e., Sparse) are depicted in Fig. 8.

It can be observed that by considering both average utility and average negotiation time performance metrics simultaneously, the performance of FNSSA_CRBs (in comparison to MDA_CRBs) improved considerably. For the benefit of readers, we provide detailed discussion about Fig. 8a. It can be observed that, generally in the sparse market and by having negotiator agents with short deadline, the distance between the reported results especially in CRPA_favorable market type (i.e., CRBA_to_CRPA = {10:1, 5:1, 3:1}) increases. This is because, in such a market condition and by experiencing CRPA_favorable market type, due to avoid losing successful negotiation in such a competitive market (and unlike MDA_CRBs), the negotiator agents of type FNSSA_CRB are more likely to adopt Relaxing negotiation strategy (i.e., the probability of firing rules 24, and 27 of Table 3 tends to high). Thus, FNSSA_CRBs spent less time in the market for making successful agreements. As a result, denominator of fraction which is shown by Eq. (24) tends to low. Thus, the value of U_NTE(CRBA) increases. Also, in the sparse market and by having negotiator agents with short deadline, the distance between the reported results especially in CRBA_favorable market type decreases. This is because, by having short deadline although the market type is CRBA_favorable, the probability of adopting Normal concession negotiation strategy will be high. Thus, the performance of two types of the agents (i.e., FNSSA_CRBs and MDA_CRBs) is approximately the same.

Discussion about the obtained results from Figs. 9, 10, and 11

Figures 9, 10 and 11 illustrate the average utility, the average negotiation time and U-NTE of the proposed FNSSA_CRPs in comparison to MDA_CRPs with different values of negotiation deadline (i.e., Long, Moderate, Short), market density (i.e., Sparse, Moderate, Dense) and market type (i.e., CRBA_favorable, Balanced, CRPA_favorable), respectively. Also, and for the benefit of readers the analysis of the obtained results from Figs. 9 and 10 are summarized in Tables 8 and 9, respectively.

Table 8 Analysis of the results obtained from Fig. 9a-b
Table 9 Analysis of the results obtained from Fig. 10a-b

The analysis of the results of Figs. 9, 10 and 11 are similar to the explanations provided in Figs. 5, 7 and 8, respectively. The only difference is that all mentioned reasons should be discussed from the CRPAs’ points of view. That is, the low market pressure (i.e., low critical condition of the cloud trading market) is translated to the conditions which are caused by high number of trading opponents, low number of competitors, low entrance rate of new competitors, high entrance rate of new trading opponents and high utility level of the negotiator agents of type CRP (because of having good experience in making successful deals in such a favorable market condition which directly affects on the speed of renting out FNSSA_CRPs’ resources). From Figs. 9, 10, and 11, it can be observed that FNSSA_CRPs try to improve the negotiation results (even low) by adopting suitable strategy in dramatic increase in the market pressure and also try to perfectly use the opportunities of having better agreements by adopting suitable strategy in significant decrease in the market pressure. It is denoted that, unlike Figs. 5, 6, 7, and 8 where the horizontal axis of the charts represent customer-to-provider ratio, the horizontal axis of Figs. 9, 10, and 11 represents provider-to-customer ratio.

For the benefit of readers the most important results are discussed here.

In Fig. 9a the market density is sparse. In such a sparse market and also by having CRPA_to_CRBA = {10:1, 5:1, 3:1}, although the market situation is so undesirable but our designed negotiators in name FNSSA_CRP make better opportunities (by applying Relaxing negotiation strategy) in such an undesirable market. It is worth to mention that, to provide a better evaluation about our designed negotiator agents we try to control market situation by tuning the value of Pmbc (which is defined to control the entrance of opponents with especial mutual behavior class). That is, in setting the above market condition, the opponents who are classified in NHNL mutual behavior class have higher chance to participate in the market. Thus the market situation is so undesirable. But, in such an undesirable situation the average total utilities of FNSSA_CRP and of MDA_CRP under CRBA_favorable market type in Fig. 9a are 46.67 and 41.33%, respectively. Recall that, in such an undesirable situation where there is a very low chance of making agreements, achieving 12.92% improvement is considerable.

In Fig. 10b the market is dense. Thus, in such a dense market and also by having CRPA_to_CRBA = {1:10, 1:5, 1:3}, while the negotiator agents of type FNSSA_CRP put their opponents under pressure by applying Pressuring negotiation strategy but the average differences between the curves of Fig. 10b is reported as 3.17%. This achievement indicates that although in some points of Fig. 10b when the market tends to CRPA_favorable market type (as an example, see the point in which the ratio of providers to customers is 1:10) FNSSA_CRPs experience lower speed (i.e., higher making agreement time) in making agreements than negotiator agents of type MDA_CRP, but the average difference between the curves is insignificant. This is a good evidence for making right decisions (i.e., making the correct choice among negotiation strategies) in undesirable market situations.

As achieving better market output especially in sparse market density, where there is a (very) little chance in making successful deals, is more valuable than other densities of the market (i.e., dense and moderate), we focus on reporting the results of the sparse market in Fig. 11. It is worth to mention that, better achievements are experienced in other market densities but due to space limitation these achievements are not reported here. In undesirable market conditions where the market type is CRBA_favorable (see reported results of Fig. 11 where CRPA_to_CRBA = {10:1, 5:1, 3:1}), the negotiator agents of type FNSSA_CRP are more likely to adopt Relaxing negotiation strategy. Thus, in comparison to MDA_CRPs, and due to relinquishing utility a little more in each negotiation and covering the difference between counter-prices and received prices, FNSSA_CRPs spent less time in the market for making successful agreements. Also, as market tends to more undesirable situation, the negotiator agent of type FNSSA_CRP reacts more to this undesirable condition by applying more price discounts and making more trading opportunities. Thus, by having short deadlines and also CRPA_to_CRBA = {10:1, 5:1, 3:1} the worst market situation is experienced and better reaction is observed from FNSSA_CRPs (see Fig. 11a). As an example and by considering Fig. 11a, the average values of U_NTE (CRPA) under CRBA_favorable (i.e., CRPA_to_CRBA = {10:1, 5:1, 3:1}) are 0.043 and 0.035 for FNSSA_CRP and MDA_CRP, respectively. Consequently, the agents of type FNSSA_CRP were 22.86% better than those agents of type MDA_CRP.

In addition, for the benefit of readers the results of Figs. 5, 6, 7, 9, and 10 are summarized in Table 10. Recall that, although the functionalities of FNSSAs in some market situations and with respect to one evaluation metric may lead to an undesirable experience, the functionalities of the same FNSSAs in the same market situations and with respect to another evaluation metric will lead to a desirable experience. Thus, we introduce another evaluation metric in name U_NTE and report the market outcomes by considering this metric.

Table 10 A summary of the obtained results from Figs. 5, 6, 7, 9, and 10

Statistical analysis

Following, the statistical analysis of the obtained results from some of the simulated marketplaces, where the distinguishing feature of FNSSAs in selecting the suitable negotiation strategy can be better observed, are reported and discussed. The role of Pressuring negotiation strategy in increasing the financial utility is more highlighted when the value of the critical condition of a marketplace is extremely low. Also, the role of Relaxing negotiation strategy in increasing the success rate and also decreasing negotiation time is more highlighted when the value of the critical condition of a marketplace is extremely high. Thus, to have a better observation about the two new negotiation strategies in names Relaxing and Pressuring we should simulate more marketplaces in which negotiators of a special type (e.g., GRB) experience extremely low critical conditions and also marketplaces in which negotiators of a special type (e.g., GRB) experience extremely high critical conditions. To do this, specific values/ranges of value of the input parameters to configure the marketplaces, where negotiation activities of dealers are simulated, should be considered. It is worth to mention that, due to the space limitation only the first evaluation scenario (see “Performance Evaluation” section) is considered. Therefore, and according to the first evaluation scenario, two combinations of the values of the market setting parameters (which are used to make marketplaces) are defined. The first combination which is named as Market_SS1 makes markets in which CRBs experience extremely low critical conditions and the second combination which is named as Market_SS2 makes markets in which CRBs experience extremely high critical conditions. Details are discussed in the following subsections.

  1. A.

    To have a better observation of how Pressuring negotiation strategy increases the financial utilities of the negotiators, marketplaces with extremely low critical conditions should be simulated. Thus, to have a better comparison of FNSSA_CRBs against MDA_CRBs with respect to financial utility metric we decide to simulate marketplaces where the pressure on FNSSA_CRBs is very low and instead the pressure on FNSSA_CRPs is high/very high (recall that, first evaluation scenario (see “Performance Evaluation” section) is considered). By having such marketplaces and according to the designed fuzzy rules set, FNSSA_CRBs switch to adopt Pressuring negotiation strategy (instead of Normal negotiation strategy) while MDA_CRBs continue to adopt Normal negotiation strategy. To make marketplaces with low/very low critical trading conditions from CRBs’ points of view, following market setting is considered: Market density: Dense (i.e., Pgen = 1), Market type: CRBA_favorable where CRBA_to_CRPA = {1:3, 1:5, 1:10, 1:15, 1:30}- in this evaluation two additional ratios of CRBA to CRPA are also considered (i.e., CRBA_to_CRPA = {1:30, 1:15}), no. Ireqmi [1,8], Number of maximum available instances of each VM type: a random number between 150 and 200, Negotiators’ deadlines of type CRB are long, Negotiators’ deadlines of type CRP are short, and with a high probability CRBs with LH mutual behavior class are allowed to participate in the marketplace (i.e., Pmbc = 0.25). From now, the combination of the values of early discussed market setting parameters (which are used to make marketplaces) is named as Market_SS1. The average utility of MDA_CRBs and FNSSA _CRBs in marketplaces which are made based on Market_SS1 (considering various ratios of CRBA_to_CRPA) are {0.60, 0.71, 0.79, 0.83, 0.94} and {0.87, 0.89, 0.93, 0.97, 0.99}, respectively. Considering financial utility metric, the agents of type FNSSA_CRB were 20.15% better than those agents of type MDA_CRB in marketplaces which are made based on Market_SS1. Also, we hypothesize that adopting Pressuring negotiation strategy (instead of Normal negotiation strategy) in low/very low market critical condition will results in an increase in the negotiators’ financial utilities. To determine that if the early discussed hypothesis should be rejected a statistical hypothesis test in name t-test (details related to t-test can be found in [39]) is used. According to the reported results in Table 11, the t-value and p-value are − 4.3844 and 0.011834, respectively. Since the p-value, 0.011834, is not greater than α = 0.05, the null hypothesis is rejected. This means that our first hypothesis is supported.

  1. B.

    To have a better observation of how Relaxing negotiation strategy increases the success rate of the negotiators, marketplaces with extremely high critical conditions should be simulated. Thus, to have a better comparison of FNSSA_CRBs against MDA_CRBs with respect to success rate metric we decide to simulate marketplaces where the pressure on FNSSA_CRBs is very high and instead the pressure on FNSSA_CRPs is low/very low (recall that, first evaluation scenario (see “Performance Evaluation” section) is considered). By having such marketplaces and according to the designed fuzzy rules set, FNSSA_CRBs switch to adopt Relaxing negotiation strategy (instead of Normal negotiation strategy) while MDA_CRBs continue to adopt Normal negotiation strategy. To make marketplaces with high/very high critical trading conditions from CRBs’ points of view, following market setting is considered: Market density: Dense (i.e., Pgen = 1), Market type: CRPA_favorable where CRPA_to_CRBA = {1:3, 1: 5, 1:10, 1:15, 1:30}- in this evaluation two additional ratios of CRPA to CRBA are also considered (i.e., CRPA_to_CRBA = {1:30, 1:15}), no. Ireqmi [15,20], Number of maximum available instances of each VM type: a random number between 20 and 50, Negotiators’ deadlines of type CRB are short, Negotiators’ deadlines of type CRP are long, and CRBs with NLNH mutual behavior class are allowed to participate in the marketplace (i.e., Pmbc = 1). From now, the combination of the values of early discussed market setting parameters (which are used to make marketplaces) is named as Market_SS2. The average success rate of MDA_CRBs and FNSSA_CRBs in marketplaces which are made based on Market_SS2 (considering various ratios of CRPA_to_CRBA) are {0.13, 0.09, 0.08, 0.07, 0.04} and {0.25, 0.23, 0.20, 0.17, 0.15}, respectively. Considering success rate metric, the agents of type FNSSA_CRB were 143% better than those agents of type MDA_CRB in marketplaces which are made based on Market_SS2. Also, we hypothesize that adopting Relaxing negotiation strategy (instead of Normal negotiation strategy) in high/very high market critical condition will results in an increase in the negotiators’ success rates. To determine that if the early discussed hypothesis should be rejected a statistical hypothesis test in name t-test (details related to t-test can be found in [39]) is used. According to the reported results in Table 12, the t-value and p-value are − 17.789 and 5.87E-05, respectively. Since the p-value, 5.87E-05, is not greater than α = 0.05, the null hypothesis is rejected. This means that second hypothesis is supported.

  1. C.

    To have a better observation of how Relaxing negotiation strategy decreases the negotiation time of the negotiators, marketplaces with extremely high critical conditions should be simulated. Thus, to have a better comparison of FNSSA_CRBs against MDA_CRBs with respect to negotiation time metric we decide to simulate marketplaces where the pressure on FNSSA_CRBs is very high and instead the pressure on FNSSA_CRPs is low/very low (recall that, first evaluation scenario (see “Performance Evaluation” section) is considered). By having such marketplaces and according to the designed fuzzy rules set, FNSSA_CRBs switch to adopt Relaxing negotiation strategy (instead of Normal negotiation strategy) while MDA_CRBs continue to adopt Normal negotiation strategy. To make marketplaces with high/very high critical trading conditions from CRBs’ points of view, Market_SS2 market setting is considered (details are discussed in section Statistical analysis (B)). The average negotiation time of MDA_CRBs and FNSSA_CRBs in marketplaces which are made based on Market_SS2 (considering various ratios of CRPA_to_CRBA) are {11, 11.80, 12.70, 13.80, 16.50} and {9, 8.50, 7, 6.10, 5.80}, respectively. Considering negotiation time metric, the agents of type FNSSA_CRB were 80.76% better than those agents of type MDA_CRB in marketplaces which are made based on Market_SS2. Also, we hypothesize that adopting Relaxing negotiation strategy (instead of Normal negotiation strategy) in high/very high market critical condition will results in a decrease in the negotiation time. To determine that if the early discussed hypothesis should be rejected a statistical hypothesis test in name t-test (details related to t-test can be found in [39]) is used. According to the reported results in Table 13, the t-value and p-value are 3.784188 and 0.019366, respectively. Since the p-value, 0.019366, is not greater than α = 0.05, the null hypothesis is rejected. This means that third hypothesis is supported.

Table 11 Significant results of t-test statistical method for financial utility metric in marketplaces which are made based on Market_SS1
Table 12 Significant results of t-test statistical method for success rate metric in marketplaces which are made based on Market_SS2
Table 13 Significant results of t-test statistical method for negotiation time metric in marketplaces which are made based on Market_SS2

Conclusions and future works

In this paper a new multi-strategy based negotiating system is proposed. The main distinguishing features of this negotiating system are: 1) designing a real-world inspired basket of negotiation strategies (i.e., negotiation_strategy_basket) which contains negotiation strategies in names Pressuring strategy, Relaxing strategy and Normal concession strategy, 2) introducing a new mathematical model to determine the critical condition of the cloud negotiation market and 3) designing flexible negotiator agents of types cloud resource broker (CRB) and cloud resource provider (CRP) who are equipped with a new Fuzzy Negotiation Strategy Selection Decision System (FNSSDS) which is used to determine the amount of α (i.e., coefficient of price changing based on the adopted strategy). α reflects the critical condition of the cloud negotiation market and is determined based on the factors in names competitors’ side factor (\( \overline{ComSF_t^A} \)), trading opponents’ side factor (\( \overline{TOpSF_t^A} \)) and local power of a negotiator in the trading market factor (\( \overline{LPowF_t^A} \)).

In our future works we will work on enhancing the market-aware negotiator agents in a way that both current and predicted near future trading market conditions are considered for modeling the critical condition of the cloud trading market. Thus, it is expected that selection of a suitable negotiation strategy from the proposed negotiation_strategy_basket will be more accurate. Also, in the future, we will further work on developing the proposed negotiator agents of type CRB and CRP with the learning capability in how to select the best negotiation strategy by reusing the previous information about the negotiation activities.

Notes

  1. Market round is defined based on the time duration between starting to make counter-proposals by the negotiators whose turn are to move (the counter-proposals are made in parallel) and receiving these counter-offers by all negotiators’ trading opponents. To do this, a counter is defined and once all counter-offers are received by the negotiators’ trading opponents it is added to one.

  2. That is, in such a high entrance to the market (i.e., Pgen = 1), the chance of the type of negotiator who enters to the market is CRBA is very high.

Abbreviations

BehaviorDB:

Local database which is assigned to each customer (and respectively provider) and contains behavior backgrounds of the resource providers (and respectively, resource customers) on how to sell (and respectively, how to buy) the resources

ConA:

Consulting Agent

CRB:

Cloud Resource Broker

CRBA:

Cloud Resource Broker Agent

CRP:

Cloud Resource Provider

CRPA:

Cloud Resource Provider Agent

DemandDirectory:

Database for keeping characteristics of each demand which are defined based on the tuple <CPU, Memory, Storage>

DemandFile:

Customer agent’s resource demand file

FNSSA_CRB:

Fuzzy Negotiation Strategy Selection Agent_Cloud Resource Broker

FNSSA_CRP:

Fuzzy Negotiation Strategy Selection Agent_Cloud Resource Provider

FNSSDS:

Fuzzy Negotiation Strategy Selection System

MarBillboardA:

Market Billboard Agent

MCBid:

Counter-price bid that is made by an agent A of type FNSSA_CRB

MCOffer:

Offer that is made by an agent A of type FNSSA_CRB

MDA:

Market Driven Agent

MPBid:

Counter-price bid that is made by an agent A of type FNSSA_CRP

MPOffer:

Offer that is made by an agent A of type FNSSA_CRP

NegMarCoordinatorA:

Negotiation Market Coordinator Agent

SupplyDirectory:

Database for keeping characteristics of all supplied resource types

SupplyFile:

Provider agent’s resource supply file

VM:

Virtual Machine

References

  1. Singh Gill S, Buyya R (2018) Resource provisioning based scheduling framework for execution of heterogeneous and clustered workloads in clouds: from fundamental to autonomic offering. J Grid Comput:1–33 https://doi.org/10.1007/s10723-017-9424-0

  2. Chen J, Han X, Jiang G (2014) A negotiation model based on multi-agent system under cloud computing, The ninth international multi-conference on computing in the global information technology (ICCGI 2014), pp 157–114

    Google Scholar 

  3. Sandholm T (2000) Agents in electronic commerce: component technologies for automated negotiation and coalition formation. Auton Agent Multi-Agent Syst 3(1):73–96

    Article  Google Scholar 

  4. Sim KM (2004) Negotiation agents that make prudent compromises and are slightly flexible in reaching consensus. Comput Intell 20(4):643–662

    Article  MathSciNet  Google Scholar 

  5. Carroll, C. A new pricing strategy for the pc industry-raise prices. 2011. Available at: https://www.vendavo.com/blog/pricing/a-new-pricing-strategy-for-the-pc-industry-raise-prices/. Accessed 12 June 2018

    Google Scholar 

  6. Hindriks K, Jonker CM, Tykhonov D (2007) Negotiation dynamics: analysis, concession tactics, and outcomes, Proceeding of IAT 2007, pp 427–433

    Google Scholar 

  7. McCormick, M. What are the most popular pricing strategies by industry sector. 2006. Available at: https://blog.blackcurve.com/what-are-the-most-popular-pricing-strategies-by-industry-sector. Accessed 12 June 2018

    Google Scholar 

  8. Sanders, B. 6 strategies for pricing in a competitive environment. 2015. Available at: https://www.bizjournals.com/bizjournals/how-to/growth-strategies/2015/03/6-strategies-for-pricing.html. Accessed 12 June 2018

    Google Scholar 

  9. Chavez A, Maes P (1996) 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, pp 159–178

    Google Scholar 

  10. Faratin P, Sierra C, Jennings NR (1998) Negotiation decision functions for autonomous agents. Robot Auton Syst 24:159–182

    Article  Google Scholar 

  11. Matos N, Sierra C, Jennings NR (1998) Determining successful negotiation strategies: an evolutionary approach, Proceedings 3rd international conference on multi-agent systems (ICMAS-98), Paris, France, pp 182–189

    Google Scholar 

  12. Sim KM (2006) Grid commerce, market-driven G-negotiation, and Grid resource management. IEEE Trans Syst Man Cybern B 36:1381–1394

    Article  Google Scholar 

  13. Sim KM (2005) Equilibria, prudent compromises, and the “waiting” game. IEEE Trans Syst Man Cybern B 35:712–724

    Article  Google Scholar 

  14. Sim KM, Wang SY (2004) Flexible negotiation agent with relaxed decision rules. IEEE Trans Syst Man Cybern B 34(3):1602–1608

    Article  Google Scholar 

  15. Sim KM, Ng KF (2007) Relaxed-criteria negotiation for grid resource allocation. Int Trans Syst Sci Appl 3(2):105–117

    Google Scholar 

  16. Sim KM (2008) Evolving fuzzy rules for relaxed-criteria negotiation. IEEE Trans Syst Man Cybern B Cybern 38(6):1486–1500

    Article  Google Scholar 

  17. Amal M, Naser A (2012) Genetic algorithm strategies and tactics model for agent negotiation in e-commerce systems. ABHATH AL-YARMOUK: Basic Sci Eng 21(1):51–58

    Google Scholar 

  18. Athirai AI, Jiang S, Zhang J (2013) A framework to choose trust models for different e-marketplace environments, Proceedings of the twenty-third international joint conference on artificial intelligence (IJCAI'13), pp 213–219

    Google Scholar 

  19. Adabi S, Movaghar A, Rahmani AM, Beigy H (2013a) Negotiation strategies considering market, time and behavior functions for resource allocation in computational grid. J Supercomput 66:1350–1389

    Article  Google Scholar 

  20. Adabi S, Movaghar A, Rahmani AM, Beigy H (2013b) Market_based grid resource allocation using new negotiation model. J Netw Comput Appl 36:543–565

    Article  Google Scholar 

  21. Adabi S, Movaghar A, Rahmani AM, Beigy H (2014) A new fuzzy negotiation protocol for grid resource allocation. J Netw Comput Appl 37:89–126

    Article  Google Scholar 

  22. Adabi S, Adabi S (2015) A BBO based procedure for evolving fuzzy rules of relaxed-criteria negotiation in grid resource allocation. IJCSI Int J Comput Sci 12(4):17–35

    Google Scholar 

  23. Sim KM (2013a) Towards a unifying multilateral cloud negotiation strategy, Proceedings of the international multi conference of engineers and computer scientists vol. I, IMECS, pp 13–15

    Google Scholar 

  24. Sim KM (2013b) Complex and concurrent negotiations for multiple interrelated e-markets. IEEE Trans Cybern 43(1):230–245

    Article  Google Scholar 

  25. Samimi P, Teimouri Y, Mukhtar M (2016) A combinatorial double auction resource allocation model in cloud computing. Inf Sci 357:201–216

    Article  Google Scholar 

  26. Al-Jaljouli R, Abawajy J, Hassan MM, Alelaiwi A (2016) Secure multi-attribute one-to-many bilateral negotiation framework for e-commerce, IEEE transactions on services computing, p 99

    Google Scholar 

  27. Kumar Awasthi S, Vij SR, Mukhopadhyay D, Agrawal AJ (2016) Multi-strategy based automated negotiation: BGP based architecture, International conference on computing, communication and automation (ICCCA), pp 588–593

    Google Scholar 

  28. Javed B, Bloodsworth P, Rasool RU, Munir K, Rana O (2016) Cloud market maker: an automated dynamic pricing marketplace for cloud users. Futur Gener Comput Syst 54:52–67

    Article  Google Scholar 

  29. Haberland V, Miles S, Luck M (2017) Negotiation strategy for continuous long-term tasks in a grid environment. Auton Agent Multi-Agent Syst 31(1):130–150

    Article  Google Scholar 

  30. Benhammada S, Amblard F, Chikhi S (2017) An asynchrone double auction market to study the formation of financial bubble and crashes. N Gener Comput 35(2):129–156

    Article  Google Scholar 

  31. Nadjaran Toosi A, Van Mechelen K, Buyya R (2014) An auction mechanism for a cloud spot market, pp 1–35

    Google Scholar 

  32. Ross TJ (1995) Fuzzy logic with engineering applications. McGraw-Hill, New York

    MATH  Google Scholar 

  33. Calheiros R, Ranjan R, Beloglazov A, De Rose CAF, Buyya R (2011) CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Softw Pract Exp 41(1):23–50

    Article  Google Scholar 

  34. Mach W (2017) A simulation environment for WS-agreement negotiation compliant strategies. In: iiWAS’17: The 19th international conference on information integration and web-based applications and services, December 4–6, Salzburg, Austria. ACM, New York, pp 462–471 https://doi.org/10.1145/3151759.3151766

    Google Scholar 

  35. Pittl B, Mach W, Schikuta E (2016) Bazaar-extension: a CloudSim extension for simulating negotiation based resource allocations, IEEE international conference on services computing, SCC 2016, San Francisco, CA, USA, June 27–July 2, pp 427–434

    Google Scholar 

  36. Pittl B, Mach W, Schikuta E (2016b) An implementation of the WS-agreement negotiation standard in CloudSim. In: 20th IEEE international enterprise distributed object computing workshop, EDOC workshops 2016, Vienna, Austria, September 5-9, pp 1–4

    Google Scholar 

  37. Nejad MM, Mashayekhy L, Grosu D (2013) A family of truthful greedy mechanisms for dynamic virtual machine provisioning and allocation in clouds, Proceedings IEEE sixth int’l conference cloud computing, pp 188–195

    Google Scholar 

  38. Zhang L, Li Z, Wu C (2014) Dynamic resource provisioning in cloud computing: a randomized auction approach. INFOCOM, Toronto, pp 433–441

    Google Scholar 

  39. Kim TK (2015) T test as a parametric statistic. Korean J Anesthesiol 68(6):540–546

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Contributions

All authors read and approved the final manuscript.

Corresponding author

Correspondence to Sepideh Adabi.

Ethics declarations

Authors’ information

Sepideh Adabi received the BS, MS, and PhD degrees in Software Engineering from Department of Computer Engineering, Islamic Azad University in 2006, 2008 and 2012 respectively. She is currently an assistant professor in the Department of Computer Engineering at Islamic Azad University in Tehran, Iran. She is the author/co-author of many publications in technical journals and conferences. Her research interests include Distributed Systems, Grid Computing, Cloud Computing, Multi-agent System, Electronic Commerce, and Resource Management.

Mozhgan Mosadeghi received the B. S and MS degrees in Software Engineering from Islamic Azad University. Her research interests include Cloud Computing, Electronic Commerce, and Resource Management.

Samaneh Yazdani received the Ph.D. degree from the Department of Computer Engineering, Science and Research branch, Islamic Azad University, Tehran, Iran, in 2014. Her research interests include evolutionary computation and data mining.

Competing interests

The authors declare that they have no competing interests.

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Adabi, S., Mosadeghi, M. & Yazdani, S. A real-world inspired multi-strategy based negotiating system for cloud service market. J Cloud Comp 7, 17 (2018). https://doi.org/10.1186/s13677-018-0116-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/s13677-018-0116-5

Keywords