Abstract
This paper presents a game theory based cooperative resource cost negotiation scheme using agents, in a cloud computing environment. The scheme comprises of consumer agents, broker agents, and resource provider agents. The resource cost negotiation takes place between these agencies to expedite flexible pricing of cloud services, which adopts a many-to-many negotiation model for negotiating the cost of the resources between the consumers and providers. The scheme is simulated by using Java agent development environment (JADE) framework. The results obtained are compared with existing works on game theory and agent based models. It is observed that the consumers and brokers achieve lesser negotiation time and higher successful job offers at lesser cost, while IaaS cloud service providers (ICSPs) achieve higher resource utilization rate. Payoffs are also analyzed to test the effectiveness of the proposed scheme.
Introduction
Cloud computing technology is designed to fulfill a large-scale scalable computing infrastructure for implementing and selling service-oriented commercial solutions. Whereas much of the current effort on cloud computing is devoted to the production of cloud infrastructures and technologies for supporting virtualization and data centers, more attention needs to be accustomed to introduce innovative methods for consumers and providers to discover, request, assemble and use cloud computing resources, as presented in Grozev and Buyya [47] and Buyya et al. [48]. Popularity of infrastructure as a service (IaaS) cloud systems can be attributed to the on-demand availability of computing resources such as processor cores, memory, disks, etc., packaged as virtual machines (VMs) that are billed on usage, as given in Wooldridge [1]. Further, agent technology has given boost to design of software agents which combine distributed computing, artificial intelligence, information theory, systems theory and other disciplines of programming ideas and methods. Each software agent has the characteristics such as autonomy, cooperation, negotiation skills, adaptation and teamwork, as discussed in Birje et al. [3].
Although, cloud computing and software agents are potential terms among themselves, the two technologies can be combined to produce innovative techniques, as discussed in Rahimi and Venkatasubramanian [32, 33] and Rahimi et al. [34]. However, very few researchers have made use of these technologies. Agent-based cloud computing makes use of software agents to improve cloud service discovery, service negotiation, and service composition, presented in Mashayekhy and Tushar [4], Shyam and Manvi [5], Manvi et al. [30], Zhang et al. [36], and Shyam et al. [31, 41]. Agents are capable of making decisions when carrying out tasks on behalf of their users, however interaction with other agents through negotiation, cooperation, and coordination is still a challenge, which provides the motivation for adopting autonomous agents to allocate resources amid dynamically changing resource demands.
Among the prominent challenges faced by information technology (IT) companies, lack of experience in analyzing cloud services and negotiating contracts with cloud vendors are of utmost concern. Game-theoretic approaches to resource allocation in distributed systems are well known [12]. Game-theoretic resource allocation on the cloud follows a two-step mechanism. In the first step, each participant solves its optimization problem independently, without considering the multiplexing of resource assignments. In the second step, an evolutionary mechanism changing the multiplexed strategies of the initial optimal solutions (minimizing their efficiency losses) is designed.
Though we come across relevant works in negotiation based allocation, they do not take into account cooperative negotiation process that consider changing behaviour of several entity. Hence, the objective of this work is to present a cooperative resource cost negotiation scheme expediting flexible pricing of cloud services that adopts many-to-many negotiation model for negotiating resource cost between consumers and providers. The negotiation strategies employed are: Harsh-trigger, Deceive-and-exit, and Deceive-and-Joinback or Tit-for-tat. The scheme comprises of consumer agency, broker agency, and resource provider agency. Each entity comprises of an agency with set of agents and database. Allocation of resources for consumer’s job requires agents of each of these agencies to cooperate, as the resource requirements may not be within the capabilities of any single agency. Cooperation is modeled using game theory to arrive at optimal strategy depending on payoffs.
The contributions of the proposed work are as follows.
The interaction between a consumer agent and broker agent in heterogeneous cloud computing environment has been modeled using game theoretic tools, so as to motivate cooperation. In the contract net protocol (CNP) model by Smith [6], a contractor can only respond to bids sequentially. However, in a multi-agent system, several managers may concurrently call for bids and it is important to give each contractor the opportunity to concurrently negotiate with multiple managers and optimize its utility. In early CNP implementations, tasks were negotiated one at a time. To overcome this problem, we aim at improving cloud commerce by considering concurrent negotiations among users and brokers with reduced negotiation times. Agents employ negotiation strategies like Harsh-trigger, Deceive-and-exit, Deceive-and-Joinback or Tit-for-tat. The strategies are selected based on payoffs required by negotiating agents. We have shown that the profile of the repeated consumer-broker agent interaction game, where the consumer employs the harsh trigger strategy and the broker employs the well-known tit-for-tat strategy, generates higher payoffs than any other strategy combination for the players.
Some of the advantages of concurrent and cooperative resource cost negotiation scheme are as follows:
Helping consumer agent determine the best framework for each individual need based on a number of factors. This can include provisioning assistance and budget guidance, as well as identifying selection and integration of disparate services across multiple brokers. Cost-effective resources and infrastructure advantages, including the ability to negotiate. Time efficient resource cost analysis and negotiation for different combinations. Enhanced security, allowing organizations to develop a customized solution that balances the cost benefits with key security concerns. Assurance of upgrade, repair, and maintenance activities can be performed in a non-disruptive fashion. Cooperative negotiation leading to long term relations between consumers, brokers and service providers.
The rest of the paper is organized into the following sections. Related work is covered in Section 2. Section 3 focuses on the proposed work. Section 4 presents simulation and results. Finally, concluding remarks are given in Section 5.
Some of the closely related works on resource negotiation and allocation in cloud and related technologies are presented in this section. The distributed resource management scheme, introduced in [3], uses rational agents for managing the servers sharing reliable resources. The automated multiparty negotiation algorithm used by these agents are motivated by economic value (e.g., revenue) of the employed strategies. The concept of virtual organization in cloud is introduced in [9]. The agent-based service composition scheme in [38, 39] decentralizes decision making, limited knowledge, and considers rationality of agents for cooperation.
Authors in [32, 33, 34] introduces mobile application (MAP) cloud, a hybrid, and 2-tiered cloud architecture respectively, for local and public clouds and show how it can be leveraged to increase both performance and scalability of mobile applications. The mobile applications are modeled as a workflow of tasks to optimally decompose the set of tasks to execute on the mobile client and 2-tier cloud architecture considering multiple QoS factors such as power, price, and delay. However, the discussed approach did not address streaming mobile applications.
The work given in [43] present a simple game theory approach to propose cooperative resource management in cloud computing systems. It involves simple negotiation process, wherein service users and service providers negotiate to achieve Nash equilibrium. The work in [44] discusses the support for single composite service request considering a centralized approach. Coalition formation among agents has also been discussed. The coalitions solely emerge through interactions, but number of interactions are not defined. Message handling is complicated because of a lot of dependencies among the agents. The work given in [45] considers off-line, clairoyant scheduling with no preemption on time-sharing processors. Further, it presents the interest of collaboration between independent parties.
Research carried out in [36] presents the truthful online auction design in cloud computing where users with heterogeneous demands come and leave on the fly. The nature and dynamics of user’s demand in cloud markets necessiates designing online mechanisms, discussed in [37]. But, such online mechanisms make no discussion about future demands. To bolster many-to-many consumer-to-cloud negotiations, [38] devises an interaction protocol and a negotiation strategy that is characterized by adaptive concession rate and minimally sufficient concession.
Game theory has been applied to study different issues in cloud computing, discussed in [12, 13]. For example, in [12], a scheduling algorithm to guarantee QoS constraints in an open cloud computing framework is modeled as a game. The assignment of tasks to the available resources is obtained from Nash equilibrium. The agreement settlement among Internet service providers (ISP) is studied using cooperative game theory, given in [14]. The Shapley value is applied for the fair profit sharing which motivates any selfish ISP to apply the routing and connection management to achieve Nash equilibrium among all ISPs.
Market-oriented scheduling systems
Market-oriented scheduling systems
Pricing scheme strategy given in [15, 48] discusses resource allocation based on cooperative game theory, where agents share same desires and have complete information about the world. The limitation of the work is that the agents have private information where they do not reveal their strategies, constraints and preferences. Two-phase protocol in [17] discusses self-interested agents adopting heuristic strategies to exchange offers among themselves. The drawback is that the agents try to find joint gains while trying to maintain the utility outcome from the distributive negotiation phase. Rule based negotiation framework in [18] discusses set of rules that are used to maximize utilities and express policies for customer satisfaction, the limitation being that business reputation is priority at the cost of serving the customers. Adaptive scheme using agents in [21] provides scope for application to adapt to its run-time environment based on the resource availability and application demands. But, the work lacks discussion on improving the data availability for better access performance.
Agent based methodology in [9, 10, 11] discusses multiple homogeneous agents organised into federated groups, which have capabilities of service advertisement and discovery. Cloud broker component [26] discusses management and governance of cloud environment but is focussed mainly on business process management. Cloud broker with optimal strategy discussed in [27] minimizes the cost of VM placement algorithm but the work is limited to static scenarios hosting VMs in multiple service provider environment. Uncertainty based negotiation in [28] discusses Bilateral bargaining considering deadline and reserved price. Table 1 lists the market oriented significance of the referred techniques.
List of notations
Resource cost negotiation environment.
This research presents a cooperative resource cost negotiation scheme expediting flexible pricing of cloud services that adopts many-to-many negotiation model for negotiating resource cost between consumers and providers. In the paper, the terms “cost” and “price” are synonymously used in all the sections. Since a cloud service may be dynamically composed using multiple types of cloud resources, external resource brokers can help in bargaining multiple types of cloud resources with multiple groups of cloud providers offering several types of computational resources. The resource cost negotiation environment for this scheme is shown in Fig. 1. It consists of Resource Consumer Agency (RCAg), Resource Broker Agency (RBAg), Resource Provider Agency (RPAg) and IaaS cloud service provider (ICSP). RBAg interacts with RPAg to obtain information about resources in ICSP. RPAg is bounded to ICSP. RCAg submits job to RBAg, and a resource cost negotiation takes place between these agencies.
Agencies
The agencies of resource consumer, resource broker and resource provider have one or more static agents and database which are shown in Fig. 2. Table 2 lists set of notations used in description of the agencies framework.
RCAg
It involves agency database and two agents, namely, Consumer Agent (CA) and Consumer Negotiation Agent (CNA). RCAg functions are designed to act on behalf of resource consumers. The significance of agency database and agents are presented next.
Agency database: It provides detailed information about several brokers in the cloud market and maintains the interactions between consumer(s) and broker(s). The agents use the database to pass messages among themselves and to know the frequency of application(s) usage by the consumer(s). The database facilitates in deciding the price offered for resource cost negotiation and the payoffs. Further, consumer’s services are updated in the database at regular intervals.
Consumer Agent (CA): The functions of CA are: (i) receiving and mapping consumer requirements (workload) to available RBAg, (ii) selecting the best RBAg in terms of the quality and cost, and (iii) receiving and handling the virtualized service from RBAg to consumers.
The workload received by CA is a set of several jobs. Jobs can require VMs from several combinations, such as small, medium & large as shown in Table 3. A small VM consists of four virtual CPUs (vCPUs), 600 MB of memory, and 40 GB of storage. A medium VM consists of six vCPUs, 800 MB of memory, and 60 GB of storage. A large VM consists of eight vCPUs, 1 GB of memory, and 80 GB of storage.
Agencies framework.
Algorithm 1 illustrates concurrent analysis of user’s job resource requirements by RBAg from several RCAg(s). It proceeds in two phases, a distributed ‘map’ operation followed by a distributed ‘reduce’ operation. At each phase a configurable number of M ‘mapper’ processors and R ‘reducer’ processors are assigned to work on the problem, by CA and BA respectively. In the map phase, each mapper reads approximately 1/M of the input (in this case, combination of resources) from the consumers. Each mapper then performs a ‘map’ operation to compute the frequencies of resource requests. In other words, the map task consists of emitting a user-resource combinations pair for each RCAg, represented by (
Summary of the possible combinations,
S: Small VM, M: Medium VM, L: Large VM.
Consumer Negotiation Agent (CNA): It negotiates resource cost with BNA of RBAg. The strategy of CNA negotiation is discussed next.
Initially, CNA discovers the state of the set of resources that RBAg provides, which helps in applying appropriate negotiation strategies. For example, if a CNA identifies that the resource competition is low, it may lower its offer price. The offer price is decided based on the following considerations. Firstly, the deadline: the CNA lowers the offer price when the deadline approaches. Secondly, the cost of resource, intuitively, a CNA has to offer more for a resource with a higher cost. Thirdly, the demand to supply ratio of a resource, higher the ratio, higher will be the offered price.
RBAg
RBAg consists of an agency database, Query Agent, Broker Agent, Broker Negotiation Agent, Matchmaker Agent, and a Job Allocation Agent. Their responsibilities are explained next.
Agency database: It maintains the information about several RCAgs which use its services, and a history of consumer(s) and broker(s) interactions. The agents use this database to pass messages among themselves. The database aids in deciding the offered price for resource cost negotiation and the payoffs. The updates regarding broker’s services are added to the database at regular time intervals. Further, agency database of an RBAg contains information about availability of resources from multiple RPAgs, which facilitates in providing virtualized service(s) to RCAg.
Query Agent (QA): It responds to the queries of CA and the responses are updated in agency database instantly.
[!htb] Requested resource combinations count
Broker Agent (BA): It controls and coordinates the activities of an RBAg. This agent triggers JAA, MMA, and BNA. It manages the availability and usability of resources, runs on several machines, and decides whether to provision new VM from reserved resources or send request to ICSP for extra resources. It performs the following tasks: (i) predicting future incoming workloads based on the history of most/least frequent accessed applications from agency database, (ii) provisioning necessary VMs in advance from ICSP whenever required, (iii) allocating jobs to VMs, (iv) releasing idle VMs (which do not have jobs running on them), and (v) dynamically allocating VMs for un-allocated jobs through PA.
Broker Negotiation Agent (BNA): It performs resource cost negotiations. Initial payoffs are decided for consumers based on the adopted strategy. Successive payoffs are decided on the basis of cooperative/ non-cooperative nature of consumers involved.
Job Allocation Agent (JAA): It is assigned a job by BA, which is decomposed into parallelizable subjobs as presented by Trans and Beck [40]. JAA requests MMA to discover the required resources for job scheduling.
Match Maker Agent (MMA): It discovers and recommends resources for job scheduling as follows: (i) MMA interacts with BA to obtain the statistical status information of each available resource, (ii) resources are sorted in a descending order of their reliability, and (iii) MMA chooses resource with higher reliability value based on less failure history of VMs.
All virtual resources (reserved or dynamically allocated) are provisioned from ICSPs (via RPAg). This helps to pre-configure all the necessary VMs images to run consumer jobs. All the incoming jobs are enqueued. Algorithm 2 presents the resource proposals sent and received by CA. Algorithm 3 presents the role of BA in processing jobs. Owing to space constraints, the algorithms are made self explanatory.
List of acronyms in game model;
represents either CPU, memory or storage resource
List of acronyms in game model;
The BNA adopts a very simple negotiation strategy in which it accepts almost all CA offers (within its computational complexity) hoping that in future the profit may increase through cooperative strategies. All the offers are sorted by decreasing revenue and offers are greedily picked in the order, starting with the first offer, until no offers remain. It decides the schedule (the start time and end time of providing resources) specified in the offer before forwarding it to JAA.
RPAg
It comprises of agency database and a provider agent. Their responsibilities are discussed further.
Agency database: It provides information about the resource provisioning services of the ICSP to which it is connected. It stores information about broker(s) request and ICSPs response, and also whether the resources are reserved well in advance by the CA/BA or not. The agent uses this database to predict and allocate appropriate VMs for incoming workloads. The updates regarding ICSP’s services are added to the database regularly.
Provider Agent (PA): It can be seen as the owner of a virtual organization, wherein some RBAg are registered as members. PA offers and encapsulates cloud resources as well as decides the cost of the resources availabile from ICSPs. If the resources are reserved well in advance by BAs, it ensures seamless execution of consumer jobs. However, if the resource(s) are not reserved, it dynamically allocates VMs to incoming workloads of BAs.
The mathematical model of the operation of an RPAg based on the real case of Amazon EC2 (equally applicable for other set of cloud resource providers) is discussed. Table 4 lists the set of acronyms used in description of the game model. Consider an ICSP hosting a data center consisting of ‘n’ heterogeneous physical machines, represented as
Resource’s cost computation by RPAg
Each PA can flexibly allocate resources to the VMs for job execution. However, each VM has an upper bound on the number of resources it may receive, depending on budget of the CAs associated with it which equals
If
The overall cost (that is to be charged by BA) can be computed by summing up Eqs (1) and (2), i.e.,
The PA aims at maximizing the resource utilization with respect to CPU, memory and storage with the constraints that the resource utilization is less than or equal to resource availability. Mathematically, it can be represented by Eq. (6):
It accepts requests from PAs to fulfill a service and provides access to computing resource in a virtualized manner. Physically, a pool of hardware resource is pulled from a multitude of servers and networks usually distributed across numerous data centers, all maintained by ICSP.
Local scheduler of ICSP: It is located in every ICSP to schedule RPAg request by finding available resources. Once the highest similarities are achieved between the requested and available resources, it is notified to respective RPAs which sends to requesting RBAg. RBAg has option either to accept or reject it.
[!htb] Resource proposals by CA
[!htb] Job processing by BA
Cooperative resource cost negotiation game
We proceed to model the RCAg-RBAg resource cost negotiation as a cooperative game, based on the following assumptions.
Assumption 1: To motivate cooperative negotiation among CAs/BAs, payoffs are offered. Payoffs are monetary benefits offered to both party as an outcome of cooperative negotiation depending on the discount factor. The discount factor is taken into account while employing the player’s strategies in the game. This helps in achieving negotiable cost at faster rate. In other words, higher the discount factor in cooperative negotiation, more is the payoff earned, and lesser is the cost paid for acquiring the resource. In other words, the cost that needs to be charged by BA is inversely proportional to payoffs earned by the consumer. The players in the resource cost negotiation game are heterogeneous players, aiming at different payoffs. Assumption 2: We assume a game in which players know about the available actions and corresponding payoffs of other players but not their moves. Assumption 3: At any time the sum of the payoffs of both the players is a constant value, not equal to zero, i.e., a general sum game model; neither player wins in a zero-sum game. Assumption 4: Both the RCAg and RBAg have non-negative payoff functions (same reasoning as Assumption 3). Assumption 5: The criteria used to influence a broker agent’s decision are: (i) the utilization level of its resources, and (ii) recent requests from consumers for resources. If more resources are currently being used to execute tasks or are already leased to other consumers, then the broker is less likely to relax its negotiation terms. If there are fewer recent demands from consumers to lease its resources, a broker is more likely to slightly relax its negotiation criteria, since it is under more pressure to trade its idle resources. By slightly relaxing negotiation terms under intense negotiation pressure, both consumer and broker agents generally achieve higher success rates in negotiation (without sacrificing much of their average payoffs).
The consumer’s budget to amass resources is limited. Also, the resources vital for an application to run are limited in the data center of an ICSP acquired by RBAg. Hence cooperative resource cost negotiation between RCAg and RBAg is needed for achieving better payoffs. The RBAg offers services and receives compensation from the CA. The cooperative negotiation game considered consists of three factors: (i) set of players, i.e., CNA from RCAg and BNA from RBAg, (ii) strategies for each player, and (iii) payoff for each player.
Let CNA’s offer price for cooperating and deceiving be denoted by
The RCAg’s experience, on services received from RBAg, could be quantified in terms of satisfaction, where a service delivered on expected lines, i.e., of quality
The interactions between CNA and BNA could be recursive in resource cost negotiations. In such relationships, the players do not seek the immediate maximization of payoffs but instead the long-run optimal solution. Such situations are modeled in game theory by repeated game models. We consider the RCAg-RBAg interaction model as an infinite horizon repeated game, since the RCAg may keep requesting RBAg for the particular service, but the number of such requests are not known well in advance.
A repeated game makes it possible for the players to condition their negotiation moves on the complete previous history of the various stages, by employing strategies that define appropriate actions for each iterations. In our scheme, the harsh trigger strategy is used by the CNA, such that if the CNA is not satisfied in one of the stages, the CNA may punish BNA by leaving the relationship forever in the next stage, e.g., stop interacting with the specific RBAg for subsequent requests of the particular service. Given such a strategy, the BNA has stronger incentives to cooperate and provide the service promised, since it faces the threat of losing its consumers from RCAg. Another popular strategy used in this scheme is for a player to mimic the actions of his opponent, giving him the incentive to play cooperatively. This way the player will be rewarded with a similar replicating behaviour. We refer to this as a tit-for-tat strategy.
We employ the harsh strategy as a viable strategy for the CNA and the tit-for-tat strategy as a feasible strategy for the BNA. In addition, we define two more probable strategies for the CNA, and one more desirable strategy for the BNA. For the CNA we define: (a) the deceive-and-exit strategy, and (b) the deceive-and-joinback strategy. For the BNA, we define the deceive-and-join-back strategy. The deceive-and-exit strategy is defined so as to allow the CNA to employ non-cooperative behaviour. With this strategy, the CNA leaves after deceiving from cooperation, i.e., does not continue interaction with the particular BNA, in order to avoid any punishment for deceiving. The deceive-and-join-back strategy is defined to capture a case where the BNA deceives and joins back in the subsequent iterations. It is a cooperative strategy that provides the opportunity for the BNA to join back and cooperate with CNA, without penalising it heavily. The discount factor is taken into account while employing the strategies.
In order to compare different sequence of payoffs in repeated games, we utilize the idea of the present value of a payoff sequence, and refer to it as the current payoff value (CPV). CPV is the sum that a player is willing to accept currently instead of waiting for the future payoff, i.e., accept a smaller payoff currently that will be worth more in the future; similar to making an investment in the current iteration that will be increased by a rate
For an infinitely repeated game, CPV includes the discounted payoff of all subsequent iterations of the game. Let the payoff from the current iteration be equal to 1. Then, the additional payoff a player willing to accept in an iteration equals to
Next we present several strategies for payoff calculations.
CNA playing the harsh strategy. BNA could either play the tit-for-tat strategy, i.e., cooperate in the current iteration, or play the deceive-and-join-back strategy. If the BNA cooperates, then: CPV for BNA in case of cooperation must be greater than CPV in case of non-cooperation. Thus,
CNA playing the deceive-and-exit strategy. Considering BNAs possible strategies, it could either cooperate or deceive in the current iteration. If BNA cooperates then:
CNA playing the deceive-and-joinback strategy. Considering BNAs possible strategies, it could either cooperate or deceive in the current iteration. If BNA cooperates then:
BNA playing tit-for-tat strategy. If CNA cooperates then:
BNA playing the deceive-and-joinback strategy. Considering CNAs possible strategies, it could either cooperate or deceive in the current iteration. If CNA cooperates then:
Given a history of the game where both players have cooperated in the past, we seek the values of
If the BNA deceives, the CPV is sum of BNA’s payoff in the current iteration and the successive iterations and payoff in the rest of the game iterations. This is represented by Eq. (8).
In order for cooperation to be motivated, it must satisfy the condition,
If the CNA deceives, the CPV is a sum of current payoff, the discounted payoff in the next iteration, and the cooperation payoff discounted for the rest of the game, represented by Eq. (10).
In order for cooperation to be motivated,
The cooperation limits for each player (BNA and CNA), with several strategies used by an opponent, are summarized in Table 5.
Limits of cooperation by CNA and BNA
Interaction among agents.
The interaction of agents in game is shown in Fig. 3, where nodes represent agents, solid lines represent communication messages. Agents in RCAg, RBAg, and RPAg cooperatively work together to discover suitable VMs with optimal cost for service execution of jobs. The sequence of operations in the proposed scheme are as follows:
Consumer agent sends job execution request to Broker agent. Broker agent communicates to Job allocation agent about resource requirements. Job allocation agent informs Match maker agent to recommend specified number of suitable VMs, which fulfills the resource requirements. Match maker agent searches logs and discovers suitable VMs that meet job requirements (logs hold resource history containing details of each used VMs). Match maker agent sorts VMs in descending order of required resource. Match maker agent recommends expected number of VMs to Job allocation agent. Job allocation agent informs Broker agent to decide optimal cost of VMs. Broker agent triggers Broker negotiation agent to play a cooperative negotiation game with Consumer negotiation agent to negotiate resource cost. Consumer negotiation agent and Broker negotiation agent play cooperative resource cost negotiation game. Broker negotiation agent returns the cost of each VM (satisfiable to both negotiating agents) to Job allocation agent. Job allocation agent schedules jobs to Resource provider agency, and receives result from them after execution. Job allocation agent sends job results to Consumer agent.
In the steps 8 and 9, the cooperative negotiation strategies like Harsh-trigger, Deceive-and-exit, Deceive-and-Joinback, or Tit-for-tat are used (discussed in Sections 3.2 and 3.3). Strategies may be selected based on payoffs required by the negotiating agents.
A simple example is provided demonstrate the proposed scheme. Consider a single node each for RCAg (namely A), RBAg (namely B), RPAg (namely C), and ICSP (namely D). The resource availability at D is indicated as (x, y, z, t), where x, y, z and t denotes the VMs size, its quantity, cost of VM, and the time duration of its availability, respectively. Let the availability at D be (small, 1, $1.10, 60 sec.). Let us assume that several job requests arrive at node A, with each job requires a 60 sec. execution time. When this requirement is communicated to B, it computes the cost of fulfilling the resource requirements as (small, 20, $22, 60). But, A refuses to pay $22 for each job. This scenario encourages B to negotiate the resource cost. Following is the sequence of operations that takes place during the cooperative negotiation game.
A starts the resource negotiation game by stating the price, p, that it can pay ( B queries C regarding the updation of (x, y, z, t) for serving multiple consumer. Let the returned value be (small, 50, $50, 60). B queries A regarding the expected start time (est) of the job, and the number of jobs to be submitted (NJ). A responds as, est B initially negotiates with increasing price, i.e. p In the subsequent negotiations, B provides competitive offers to A, with lesser p and offers to supply more NJ. B warns A, to increase p, if NJ is decreased (as it may underutilize its resource). Following are the game strategies that A and B can make use of to achieve optimal values of their negotiations. The optimal value is such that it does not cause any loss to either A or B.
A decides to employ Harsh strategy for negotiation, and agree to B’s demand (i.e. p A or B decide to employ Tit-for-Tat strategy. In other words, A pays p A decides to deceive B (e.g., by not paying the promised cost), and exit after receiving services. Outcome: B may not accept to provide services to A in future, or it may do so after penalising it heavily, leading to non-cooperation for most of the time. It is not a optimal solution, for most of the negotiations. A decides to deceive B (e.g., by not paying the promised cost), exit, and join-back for the services from B. Outcome: B may accept to provide services to A in future, provided A clears all the penalty imposed during the previous negotiations, leading to cooperation for most of the time. It may result in an optimal solution, for most of the negotiations. A and B finally agree to Tit-for-Tat strategy, and lock the negotiation at (small, 18, $18.5, 60), with est
Without the agent approach, the flexibilty for cooperative and concurrent facilitation of negotiation activities between many-to-many consumer, broker, and different groups of provider agents shall not be possible, leading to non-optimal solutions.
The communication complexity is determined by the number of messages exchanged between agents. When a CA submits its requirement to a BA, it sends proposal messages to
Simulation and results
We have used JADE simulator to test the operational effectiveness of the work. This section describes the simulation model, performance parameters, simulation procedure and results.
Simulation model
The simulated cloud environment consists of RCAg, RBAg, RPAg and ICSPs. The behavior of ICSPs considered is similar to that of Amazon EC2, and Microsoft Azure, discussed in
Performance parameters
For comparison with existing works, we have considered waiting time, negotiation time, execution time, successful job offers, resource utilization rate and resource pricing, as these are important parameters in testing the efficiency of the proposed scheme. Additionally, payoffs are analyzed to check the effectiveness of the scheme, but owing to lack of rigorous available works, it is not compared with existing schemes.
The performance parameters are defined as follows.
Waiting, negotiation and execution time: Waiting time is the time taken to analyze the job/resource request, and searching the possible RBAg(s) which could fulfill the request of the RCAg(s). Negotiation time is the time taken by BNA and CNA to negotiate resource cost using cooperative game. Execution time is the time taken to process the consumers job requirements. Successful job offers: It is ratio of the total number of jobs executed to the total number of jobs submitted to the RBAg in any given time interval. Resource utilization rate: It is ratio of the job processing rate to job arrival rate. Payoffs: Payoffs indicate the profit of BNA and CNA obtained during the cooperative negotiation game. Resource pricing: It is the value of resource that reflects its economic value.
The simulation procedure is as follows.
Deploy RCAg, RBAg and RPAg in the cloud environment; Submit concurrent jobs from RCAg to RBAg for resource analysis; Employ MMA to find the eligible VMs and then recommend required number of VMs; Employ BNA to play concurrent negotiation game with CNAs for negotiating resource cost; Employ JAA to schedule user jobs to RPAg, collect results from RPAg and sendback to CAs; Compute the performance parameters.
Simulation parameters
Payoffs for different simulation sets
This section presents the results of the proposed scheme and the existing works, by using simulation. The following notations have been used in the discussion of results of the proposed and existing works. The proposed work is denoted as GTBNSMM (Game theory based negotiation in Many-to-Many). The existing works are denoted as GTBBOO (Game theory based bargaining in One-to-One) [43], CFSC (Coalition formation for Service Composition) [44], CMOS (Cooperation multi-organization scheduling) [45], GTBRA (Game theory based resource allocation) [35], ORAP (Online resource allocation and pricing) [37], ABC (Agent based cloud) [38].
Response time vs resource requirement, when VMs 
Response time vs resource requirement, when VMs 
To examine the effects of resource requirements on response time, we enlarge the workload’s resource requirement from 200 VMs to 400 VMs. The results are shown in Figs 4 and 5 respectively.
The results show that resource requirements affect not only the waiting time, negotiation time, but also the execution time. Waiting time of existing works tend to be more as the job processing is directly done through a centralized server of an ICSP. Owing to the servers/resources being busy in serving multiple consumers at the same time, waiting and execution times suffer. But for the proposed work, job submission is processed through RBAg(s), hence waiting time is reduced. Moreover, when the resource requirements is in low level (e.g. VMs
Percentage of successful job offers vs job submissions considered in different works.
With the increase of VMs requirement (e.g. VMs
Percentage of resource utilization vs ICSPs.
Comparing with auction model, Mashayekhy and Li [37] is effective in reducing communication-related costs. However, our simulation results indicate that, its negotiation time increases significantly when resource requirement increases to higher levels. By examining the logs, we found that re-negotiation occurs more frequently than before, that is, Mashayekhy and Li [37] can not efficiently finish the trading for all resource requirements.
Based on the above simulation results, we can say that the proposed work is effective in reducing the negotiation time. The job’s execution time is also reduced as the resources are reserved by RBAg(s) well in advance, and is made readily available to the users after cooperative resource cost negotiation between them.
Figure 6 depicts successful job execution against the number of jobs. For the proposed scheme, it is observed that job execution rate is on higher side even with an increase in the number of resource requirements for the jobs, unlike Wei and Athanasios [35], Mashayekhy and Li [37], and Sim [38]. This is achieved using the cooperative strategy that contributes in proper VMs scheduling for job execution.
Analysis of resource utilization (RU)
In the cloud computing scenario, constant job arrival rate is unpredictable. Hence, we have varied the job’s arrival rate from
It is worth noting that the ICSPs have higher resource utilization rate, but not at the cost of violating SLAs signed with RBAg. All the jobs are considered for execution, subject to availability of resources. When the resource request arrival rate exceeds the expectations, the buffered resources are used for serving high priority service requests or for handling deadlock situations. The newly arrived jobs, which are of lower priority are queued up in a pipeline. This is as per the SLA agreement signed between both the parties.
CNA payoffs (with different strategies of CNA) for BNA strategy “Tit-for-Tat” in iterations 1 to 6.
BNA payoffs (with different strategies of CNA) for BNA strategy “Deceive-and-JoinBack” in iterations 1 to 6.
Figures 8 and 9 illustrate payoff analysis for CNA and BNA respectively. The most profitable strategy for CNA and BNA is Tit-for-Tat strategy for all payoffs except for the payoff received from the combination with the CNA’s deceive-and-exit strategy. However, the difference between the payoffs received by the BNA from playing either the Tit-for-Tat strategy or the deceive-and-join-back strategy, in combination with the CNA deceive-and-exit strategy, is negligible. Also, the combination of the two most profitable strategies in the same game profile offers the highest cumulative payoffs to both players.
Resource cost vs policies with varying job arrival rates.
In the existing works, jobs compete to acquire the same resource, resulting in higher resource prices. In the proposed work, with the increase in arrival rate of jobs, the pricing of resource does not vary significantly. In the simulation, the deadline of the job execution is varied from 60 seconds/job to 600 seconds/job. We investigate the proposed work’s performance under constraints to costs. Because of the job’s deadline constraint, we can not compare with existing policies directly. Hence, we select four typical resource matching algorithms to integrate the existing pricing mechanisms, including Round-Robin (RR), Capability-based Random (CR), Optimal Miss Rate (OMR) and Hierarchical Gaming Selection (HGS). The simulation is conducted several times, each with different
As shown in Fig. 10, we observe that the performance of RR is the best if we only consider the resource costs. However, RR results in less successful job offers, when
By the gaming policy, we know that the pricing function in the proposed work is inversely proportional to the resource utilization. Because of this policy, the proposed scheme is capable of maintaining higher successful job offers, i.e. 69.80% with lesser price. As shown in the simulation results, when using the same pricing mechanism, CR and OMR perform very similar in terms of resource costs. However, their successful job offers are very different in the result logs. OMR is more effective in providing deadline guarantees than any other policies especially when
Conclusion
The existing works in the literature do not motivate the cooperative negotiation scheme from the game theoretic perspective in cloud computing environment as they do in non-cloud computing scenarios. Also, dynamic cooperation formation is ignored in multi-organization cloud computing environment. We proposed an agent based cooperative resource cost negotiation scheme. The scheme employs agencies namely, RCAg, RBAg, and RPAg. Each of these agencies consists of several agents and a database. In particular, the RBAg comprise of agents called BA, BNA and JAA. These three agents support resource negotiation process as follows: (i) BA discovers eligible VMs that meet the requirements of consumer job and recommends required number of VMs for allocation, (ii) NBA plays a cooperative negotiation game with CNAs to negotiate a resource cost. During negotiation process, players offer payoffs to converge the negotiation process as early as possible while maximizing their own profits. Payoffs offered by a player depend not only on a job’s deadline but also on previous offers of an opponent and market parameters like number of resource providers, resource demand, previous consumer interactions. (iii) JAA then maps user jobs to chosen reliable VMs in the first fit order. In case of VMs failure, JAA will reschedule the jobs to another VMs.
The validity of the proposed model is presented theoretically as well as through simulation results. These results indicate a significant improvement in the price negotiation efficiencies during cooperative and concurrent resource negotiations. This in turn reduces the application execution latency of conventional price negotiation mechanisms. Our model also outperforms other pricing mechanisms in terms of QoS requirements, such as resource cost and deadline guarantees, especially under a high workload condition.
We considered resource cost negotiation scheme between agents, such as CAs with homogeneous set of BAs. However, there may be other set of resources with high reliability value, if heterogeneous BAs are considered. The work can be extended to address such a scenario. Secondly, VMs migration is the basic requirement of a consumer in Cloud environment. In the proposed work, VMs reliability is modeled without considering migration among several BAs. Thus, it can be extended to model the reliability with migration. Further, enough research needs to be carried out to design mechanisms to create and maintain acquaintance networks of new and current Cloud participants, and create an agent’s decision-making process that consider complex proposals in the service selection mechanism.
Footnotes
Authors’ Bios
