Agent-Based Cloud Computing
Summary (4 min read)
1.1 Cloud Computing
- A cloud is a large group of interconnected computers that extends beyond a single company or enterprise [1], [2].
- The applications and data served by the cloud are accessed via the Internet by a broad group of users across multiple enterprises and platforms.
- A cloud computing system consists of a collection of interconnected and virtualized computers dynamically provisioned as one or more unified computing resource(s) through negotiation of service-level agreements (SLAs) between providers and consumers [3].
- In cloud computing platforms, resources need to be dynamically (re)configured and aggregated via virtualization [3] and consumers’ requirements can potentially vary over time and amendments need to be accommodated.
1.2 Agent-Based Computing
- An agent is a computer system that is capable of autonomous actions, that is, deciding for itself and figuring out what needs to be done to satisfy its design objectives [5].
- A multiagent system consists of a number of agents, which interact with one another [5].
- To successfully interact, agents require the ability to cooperate, coordinate, and negotiate with each other.
- Cooperation is the process when several agents work together and draw on the broad collection of their knowledge and capabilities to achieve a common goal.
- Negotiation is a process by which a group of agents communicate with one another to try to come to a mutually acceptable agreement on some matter.
1.3 Agent-Based Cloud Computing
- Some of the essential characteristics of cloud computing include resource pooling and resource sharing.
- In clouds, computing resources are pooled to serve multiple consumers, and applications and data are available to and shared by a broad group of cross-enterprise and cross-platform users.
- The author is with the School of Computing, The University of Kent, Chatham Maritime, Kent, ME4 4AG, United Kingdom.
- Agent-based cloud computing is concerned with the design and development of software agents for bolstering cloud service discovery, service negotiation, and service composition [4], [6], [7], [8].
- In the service consumption phase, the service is delivered to the consumer.
1.4 Agent-Based Cloud Search Engine
- The challenge in the service discovery phase is to run a query against the cloud services registered in the search engine’s database by matching consumers’ functional, technical, and budgetary requirements.
- When building a general search engine (e.g., Google), one only needs to consider the issue of searching for webpages that contain concepts in a user’s query.
- The problem of building a search engine for cloud services is more complex because one needs to search for services that satisfy three types of requirements.
- The search engine in this work employs a service discovery agent (SDA) that consults a cloud ontology for determining the similarities between providers’ functional and technical specifications of services and consumers’ functional and technical requirements (Section 2).
1.6 Agent-Based Cloud Service Composition
- The challenge in cloud service composition is to dynamically put together a set of services provided by multiple service providers to form a single unified service to be delivered to a consumer.
- Various providers need to work together and draw upon each other’s service capabilities.
- To automate cloud service composition, this work adopts 1) a focused selection contract net protocol for dynamically selecting cloud services and 2) service capability tables (SCTs) to record the list of cloud agents and their services.
2 CLOUD SEARCH ENGINE AND CLOUD CRAWLERS
- Whereas preliminary ideas of Cloudle were reported in [23], [24], [25], this work presents a new architecture of Cloudle (Fig. 1) consisting of a service discovery agent, a cloud ontology, a database of cloud services, multiple cloud crawlers (Section 2.3), and a web interface.
- Consumers enter their queries for cloud services using Cloudle’s web interface (Appendices 2 and 3, available in the online supplemental material).
- The SDA has four submodules: 1. a query processor, 2. a service reasoning module, 3. a price and time slot matching module, and 4. a service rating module.
- A cloud ontology consists of a set of cloud computing concepts and the interrelationships among cloud concepts to facilitate the reasoning about cloud services.
2.1 Service Reasoning
- Given that Cloudle needs to satisfy three types of requirements: 1) functional, 2) technical, and 3) budgetary, sometimes, it may be difficult to find services that will exactly match these three types of requirements.
- There are several ways to define a function for determining the degree of similarity between x and y [27].
- Available in the online supplemental material.
- When jcx cyj is large (respectively, small), x and y are less (respectively, more) compatible.
2.2 Price and Time Slot Matching
- In matching price and time slot, the SDA attempts to search for providers with cloud services that have available time slots that match the specified time slots of consumers and with small price difference between the acceptable prices of the provider and consumer.
- A utility function U is used to evaluate the level of matching for each potential match.
- Mk between the respective prices and schedules of a consumer and a provider.
- P cons max since there will be little or no room for negotiation of price.
- It is assumed that T consS is greater than the actual time slot (end time start time) that a consumer will utilize a service.
3 CLOUD COMMERCE AND NEGOTIATION AGENTS
- In a cloud business model, consumers pay service providers for consumption of computing capabilities.
- It was noted in [3] that a market-oriented approach for managing cloud resources is necessary for regulating the supply and demand through flexible and dynamic pricing.
- Broker agents accept service requests from consumer agents, purchase resources from provider agents, dynamically compose a collection of resources to satisfy consumer agents’ requirements, then sublease the service to consumer agents.
- In a cloud service market, broker agents negotiate with consumer agents for mutually acceptable terms to establish SLAs for satisfying service requirements from consumers.
- Since each broker agent can accept requests from many consumer agents and each consumer agent can also submit its requirements and requests to many broker agents, it is envisioned that a many-to-many negotiationmodel be adopted for negotiation between consumer agents and broker agents.
3.1 Multilateral Service Negotiation
- For the many-to-many negotiation between consumer agents and broker agents, a market-driven negotiation strategy [16], [17], [18], [19], [20] and a bargaining-position-estimation strategy [13] are used to determine the amounts of concessions.
- Based on its time-dependent concession making function, the consumer agent’s price proposal at negotiation round t is given as follows: PCAðtÞ ¼ IPCA þ t CA CA ðRPCA IPCAÞ; where CA is the consumer agent’s deadline for acquiring a service, 0 < CA < 1 is the concession making strategy.
- In a cloud service market, whereas a consumer may have information about the number of brokers or providers providing the services it requires, it may not have knowledge of the number of consumers competing for the same type of service because consumers generally do not broadcast their requests to other consumers.
- Since each consumer agent has m 1 competitors, let m0 denotes m 1. 0, there will be fewer consumer agents competing for services and more broker agents providing services, which means that consumer agents will be in an increasingly more favorable market and broker agents will be in an increasingly more unfavorable market.
- 0, a consumer agent adopting MDA and a consumer agent adopting BPEwill make little or no concession.
3.2 Concurrent Cloud Resource Negotiation
- For concurrent negotiation of multiple SLAs, a concurrent negotiation protocol adapted from [10] is adopted.
- Fig. 8 shows a concurrent negotiation mechanism of a broker agent for establishing multiple SLAs for a collection of cloud resources.
- If the broker agent receives one or more confirmation of contracts then the broker agent accepts the contract that generates the highest expected utility else the broker agent revises its proposal by making concession.
- Decide whether to terminate or proceed with the concurrent negotiation based on the prediction of the change in utility in tþ 1 for each one-to-many negotiation.
4 AGENT-BASED CLOUD SERVICE COMPOSITION
- Service composition in cloud computing generally requires 1. coordination and interaction among cloud participants (consumers, brokers, and providers), 2. automation of service selection, 3. dynamic (re)configuration of distributed and paral- lel services, and 4. dealing with incomplete information about the existence and location of cloud providers and their services.
- Analyzing the number of messages exchanged among agents in FSCNP in the worst case and showing that FSCNP enhances the efficiency of classical contract net protocol (CNP) [21].
- In FSCNP, agents focus on selecting relevant cloud services by consulting SCTs, thereby reducing the number of messages exchanged among cloud agents.
4.1 Agent-Based Testbed
- An agent-based testbed for bolstering cloud service composition was implemented using Java and JADE framework.
- An SPA delegates some of the service requests it receives to RAs.
- Available in the online supplemental material.
- A computing service provider may need additional storage space for an unusually large amount of results derived from processing some tasks.
- A BA composes a set of resources from multiple SPAs, and provides a single virtualized service to CAs.
4.2 Acquaintance Network and Service Capability Table
- In [34], an agent’s acquaintance network (AN) is a matrix in which the columns record the list of acquaintances (i.e., the list of agents that an agent knows), and the rows represent the service capabilities of the acquaintances.
- A cloud agent can be in one of the following states: {“available,” “unreachable,” “failed,” “busy”}.
- Hence, a BA needs to maintain SCTs of both BAs and SPAs.
- Both SCTs record the locations of agents, their service capabilities, and their states.
- When delegating service requests to its RAs, an SPA consults its SCT of RAs.
4.3 SCTs and Focused Selection Contract Net Protocol
- All agents in the testbed (Fig. 10) adopt FSCNP which considerably augments and extends the classical CNP [21] for selecting and subcontracting cloud resources to satisfy consumers’ service requirements.
- In CNP, agents have two roles: manager or contractor .
- By only sending messages to selected agents with relevant service capabilities, the interactions among cloud agents in FSCNP are more efficient because 1) the number of messages exchanged among cloud agents are considerably reduced, and 2) cloud agents only focus on interacting with a subset of agents in the cloud system that provides the relevant cloud services.
- Figs. 11a and 11b show the number of successful compositions and the number of messages exchanged for agents adopting 1) weakly connected SCTs, 2) moderately connected SCTs, and 3) strongly connected SCTs under different failure probabilities of SCTs.
- When a CA submits a service request to the BA, the BA needs to subcontract the service requests to p SPAs, and p depends on the number of requirements submitted by the CA.
Did you find this useful? Give us your feedback
Citations
290 citations
Cites background from "Agent-Based Cloud Computing"
...A complete survey of MAS applications in the cloud can be found in [56]....
[...]
277 citations
264 citations
Cites background from "Agent-Based Cloud Computing"
...In computer science, an agent is a computer program block that performs tasks in a relationship of agency with other entities [82], [83]....
[...]
245 citations
Cites background from "Agent-Based Cloud Computing"
...been successfully applied in industrial products and commercial fields that take advantage of big data [13], [14]....
[...]
References
5,850 citations
"Agent-Based Cloud Computing" refers background in this paper
...It was noted in [3] that a market-oriented approach for managing cloud...
[...]
...In cloud computing platforms, resources need to be dynamically (re)configured and aggregated via virtualization [3] and consumers’ requirements can potentially vary over time and amendments need to be accommodated....
[...]
...To date, even though service providers have inflexible pricing for cloud resources, it is envisioned that a market infrastructure described in [3] will enable variable cloud service pricing based on market conditions....
[...]
...Supporting autonomous resource mapping and dealing with changing requests accentuate the need for cloud resource management systems that are capable of continuously managing the resource reservation process by monitoring current service requests, amending future service requests, and autonomously adjusting schedules and prices to accommodate dynamically changing resource demands [3]....
[...]
...A market model for trading cloud resources described in [3] consists of resource/service providers, consumers, and brokers....
[...]
5,139 citations
"Agent-Based Cloud Computing" refers background in this paper
...Adopting Rubinstein’s alternating offers protocol [29], a pair of consumer and broker agents negotiates by making proposals in alternate rounds....
[...]
3,612 citations
3,132 citations
3,093 citations
"Agent-Based Cloud Computing" refers methods in this paper
...Integrating results and dealing with failures....
[...]
...Software as a service (SaaS) which delivers special- purpose software, remotely accessed via the Internet (e.g., Salesforce’s CRM), 4....
[...]
...The applications and data served by the cloud are accessed via the Internet by a broad group of users across multiple enterprises and platforms....
[...]
Related Papers (5)
Frequently Asked Questions (11)
Q2. What are the future works mentioned in the paper "Agent-based cloud computing" ?
An analysis on the number of messages exchanged among agents in FSCNP was also carried out to study the worst case. Some of the future work and challenges are given as follows: 1. In its present form, the cloud negotiation mechanism reported in Section 3 only considers negotiation of resource pricing but does not consider negotiation of other issues such as QoS and time slot negotiation. 2. Given that cloud services can be dynamically removed or added, creating and maintaining the SCTs of cloud agents can be a difficult problem. 3. A more sophisticated service selection mechanism may be needed to deal with changing consumers ’ requirements.
Q3. What are the contributions of this work?
The contributions of this work are:1. introducing an agent-based paradigm for designing software tools and testbeds for managing cloud resources, 2. designing and developing Cloudle—an agentbased search engine for supporting cloud service discovery, 3. showing that negotiation protocols in multiagent systems can be effectively adopted for bolstering cloud service negotiation and cloud commerce, and 4.
Q4. What is the way to create and maintain the SCTs of cloud agents?
2. Given that cloud services can be dynamically removed or added, creating and maintaining the SCTs of cloud agents can be a difficult problem.
Q5. What are the reasons for allowing decommitments?
The reasons for allowing decommitments are as follows: 1) if a broker agent cannot acquire ALL its required resources before its deadline, it can release those resources acquired so that providers can assign them to other broker agents, and 2) it allows a broker agent that has already reached an intermediate contract for a resource to continue to search for better deals before the entire concurrent negotiation terminates.
Q6. What is the general idea in estimating the reneging probability of PAij?
The general idea in estimating the reneging probability of PAij is that if a broker agent reaches a tentative agreement with PAij at a price that is much lower (respectively, higher) than the average price of all provideragents, then there is a higher (respectively, lower) chance that PAij will renege on the contract.
Q7. What is the definition of a cloud ontology?
A cloud ontology consists of a set of cloud computing concepts and the interrelationships among cloud concepts to facilitate the reasoning about cloud services.
Q8. What is the probability that a consumer agent is in a favorable Bp?
If broker agents are making relatively larger (respectively, smaller) concessions, then it is likely that the consumer agent is in a relatively favorable (respectively, unfavorable) Bp. Similarly, the Bp of a broker agent can also be estimated by considering the concession patterns of each consumer agent.
Q9. What is the way to analyze the number of messages sent by a BA?
An example to analyze the number of messages sent by a BA is as follows (due to space limitation, the analyses of other agents, e.g., SPAs and RAs will not be given here).
Q10. What is the purpose of the experiments?
These experiments are designed to evaluate the agents’ abilities to interact among themselves for autonomous (re)configuration and reselection of cloud services in response to failure of the resources.
Q11. What is the way to regulate the supply and demand of cloud services?
In a cloud service market whereconsumers compete for computing services and brokerscompete to provide services, a market-oriented approachfor regulating the supply and demand of cloud services isappropriate.