Message Protocols for Provisioning and Usage of Computing Services Nikolay Borissov,1 Simon Caton,2 Omer Rana,2 and Aharon Levine3 1
Institute f¨ ur Informationswirtschaft und Management (IISM), Universit¨ at Karlsruhe
[email protected] 2 School of Computer Science, Cardiff University, UK {s.j.caton,o.f.rana}@cs.cf.ac.uk 3 Correlation Systems, Isreal
[email protected]
Abstract. The commercial availability of computational resources enable consumers to scale their applications on-demand. However, it is necessary for both consumers and providers of computational resources to express their technical and economic preferences using common language protocols. Ultimately, this requires clear, flexible and pragmatic communication protocols and policies for the expression of bids and resulting generation of service level agreements (SLAs). Further standardization efforts in such description languages will foster the specification of common interfaces and matching rules for establishing SLAs. Grid middleware are not compatible with market-orientated resource provisioning. We aim to reduce this gap by defining extensions to a standardized specification such as JSDL. Furthermore, we present a methodology for matchmaking consumer bids and provider offers and map the additional economic attributes into a SLA. We demonstrate the usage of the message protocols in an application scenario. Keywords: Message protocols, Expressing Economic Preferences, SLA
1
Introduction
Allocation of jobs in current Grid systems utilizes schedulers based on properties of provider resources and consumer technical preferences, but not economic metrics. Current SLA specifications also do not have adequate scope for the definition of economic attributes [1]. Although there has been some work in supporting negotiation scenarios, many of these have limited benefit for supporting market mechanisms in general. In a market scenario, computing services can be acquired by a consumer willing to pay for the provided resource within a target market. Here, allocations and prices are determined by a market mechanism, which are intrinsically linked to the supply and demand of the specified resource(s). To participate in a market, autonomous bidding agents may act on behalf of market consumers and providers. They transparently generate bids and interact with the market mechanisms by applying well-defined message protocols that enable the automation of the market-based allocation processes. In this paper we specify a
term language for expressing economic preferences, which extend available specifications that express only technical preferences. In a market-based scenario, the result of the matchmaking process will be a SLA between a provider and consumer, which contains well-defined service level objectives. The structure of this paper is as follows. In Section 2 we present a scenario of market-based message exchange and derive requirements for the message protocols and service level objectives. In Section 3 we discuss related work, outlining existing description languages and their limitations. In Section 4 we present a term language for specifying economic preferences. Section 5 contains an outline of the generation process of a SLA from a match. In Section 6 we analyse our approach and its use in an implemented system for market-based scheduling.
2
Scenario and Challenges
The general motivation for this work stems from the emergence of industrial and academic work in the area of Cloud Computing. Here, (commercial) providers like Amazon, Google, IBM and Sun already offer computational services such as storage, processing capability and also hosting environments. Currently, consumers can compare and make a binding decision among the offered provider services, their prices and quality of service levels with respect to their own technical and economic preferences. The decision is binding, thus the consumer has to prepare their application and use only the services of the selected provider. Market mechanisms for allocating computing services demand the expression of demand and supply (in technical and economic preferences) using standardized communication protocols and service interfaces. In such a market-oriented allocation scenario, providers are incentivized to offer computing services with service qualities that reflect the demand of the consumers. Moreover, the result of the market matchmaking process, a SLA, will establish and enforce the conditions of the provisioning and usage processes, thus reduce risks for consumers and providers. 2.1
Basic Scenario
In the context of the SORMA1 project, we aim to provide methodologies and tools for market-based provisioning and usage of computing services. In this context, consumers and providers need to report their technical and economic preferences in the form of bids to the market (implemented through a Trading Manager component). The Trading Manager performs technical and economic matchmaking resulting in SLAs between consumers and providers that set the conditions under which a consumer utilizes resources of an external provider. The general SORMA information flow consists of processes shown in Fig. 1. (1) Providers and consumers describe and submit their technical and economic preferences to the BidGenerator framework [2]. Here, preferences can be esti1
Self-Organizing ICT Resource Management, www.sorma-project.eu
Fig. 1. Components and message protocols for market-based scheduling
mated by using evolutionary techniques such as Conjoint Analysis and Analytical Hierarchy Process [3]. (2) Based on the specified preferences, bids (see Section 4) are generated and submitted to the target market mechanism (e.g. Continuous Double Auction), running at the Trading Management (TM) component [4]. (3) TM performs technical and economic matchmaking of all submitted bids. When a match is identified, it submits a message (see Section 4) to Contract Management. (4) Based on the received message, Contract Management generates and returns a binding SLA, which is used to establish and enforce the agreed conditions of the match. (5) The consumer submits their job to the matched provider. (6) & (7) The SLA is enforced for violation-aware billing. In this paper we aim to define message protocols for exchanging economic and technical preferences, and establishment of SLAs, i.e. steps (1) – (4). 2.2
Research Challenges
In an auction-based scenario, SLAs are established based on the submission of bids and offers (signaling technical and economic preferences) to the target auction mechanism – if a suitable match exists. The implication of this approach is that if a match is identified, both parties are obliged to enter into a SLA, which may be legally binding, and a monetary transaction will ensue. This is comparable to the use of auctions in on-line e-commerce systems such as eBay. Hence, the establishment of SLAs between market participants requires consideration of the following challenges: •R1: Expression of economic and technical preferences of both consumers and providers [5]. However, it is often the case, that neither consumers nor providers know their exact preferences, although they may have beliefs of baseline estimations, which can be iteratively improved using selected methodologies of preference elicitation [3].
•R2: Definition of interaction protocols for exchanging private, public and marketbased data, where the latter is utilized in the generation of a SLA. •R3: Incentives for participants to use and offer high-quality computing services that reflect supply and demand in terms of service level guarantees and penalty functions [6, 7]. In this paper we aim to primarily address challenges R1 and R2 in the Sections 4 and 5. Although R3 will be partially addressed here, this constitutes part of our further research.
3
Related Work
A market-oriented allocation scenario demands common communication protocols that enable the expression of technical and economic preferences by consumers and providers. Current communication protocols lack techniques for specifying economic preferences suitable for interactions in a market-oriented scheduling scenario. The Job Submission Description Language (JSDL), Resource Specification Language and Job Definition Language are applied in various Grid middleware as quasi-standard languages for technical resource and job description [8–10]. The Common Information Model (CIM ) [11] has a global and detailed coverage of a computing system’s attributes, but is more suitable as a frame of reference than as an exchange format. There are also many approaches for the definition of SLAs. The Contract Net Protocol [12] is one of the first protocol for negotiating electronic service contracts. Additional languages for specifying SLAs include WSLA, SLAng, WS-Agreement and RBSLA [13, 14]. WS-Agreement is the most widely utilized and has been applied in various contexts and EU projects. However, these approaches are not sufficient in a market-oriented scheduling scenario and lack the ability to express economic preferences [1]. It is also necessary for each used term to be associated with a concept definition [15] – encoded within an ontology. Such a link between an economic term and an ontology concept definition can be established with the SAWSDL2 protocol [16]. In the next Section we specify and present economic extensions for general market-based scheduling, which are extensions to widely used specifications such as JSDL and WS-Agreement.
4
Economic Extensions for Market-based Scheduling
Our term language consists of three types of messages, for private data (PrivateBidData), for (public) bid data (BidData) and for describing a match (MarketData) which is subsequently submitted to ContractManagement (see Section 5). Furthermore, a matchmaking strategy is used comparing consumer and a provider bids. 2
www.w3.org/TR/sawsdl
4.1
Economic Extensions for Bids
BidData is the economic part of a consumer or provider bid document that contains public data submitted from BidGenerator to the target market mechanism (step 2 in Fig. 1): •bidId - The unique identifier of the bid. •requestType - The type of the document, which can be bid, offer or match. •participant - The unique identifier of a consumer or provider. •bidPrice - The generated bid (in base units), based on the selected bidding strategy. •timeToLive - The unit of time (in milliseconds) that a bid is valid for in the target auction’s order book. •duration - A measurable quantity that relates a temporal object to the length of time, in milliseconds, during which it existed, has taken place, or has been obtained. In our use case, the duration is an upper-bound estimation for a job duration or the duration for which a resource is offered. •serviceType - The type of the requested service – a command line batch job (batch) or a Web application (webservice). •paymentType - Indicates if payment occurs before or after job execution. •currency - The currency to be used in transactions e.g. EUR, USD, or some arbitrary currency unit. •end point reference - the location of the provider’s portal for the submission of jobs and services. •penalty - The penalty function, which will determine the final price of the match, based upon adherence to the terms specified. •endpointReference - the location of the provider’s web service interface for the deployment and execution of applications (jobs). 4.2
Economic Extensions for Private Data
PrivateBidData is the economic part of a consumer or provider document, which contains private economic data exchanged between a participant (consumer or provider) and BidGenerator (step 1 in Fig. 1). In addition to the information in BidData, it transfers the following economic attributes: •valuation - The valuation is the monetary utility return of a good or a service. It is a subjective term that has value to one party, and may have no value to another. The valuation is the result of events in which an estimation of the amount that would be paid for a certain artifact either (a) if it were sold: a reservation price, or (b) if a service should be bought: the maximum likely price to be received. •strategy - A bidding strategy is a complete plan of actions for whatever situation may arise; this fully determines an agent’s behavior. A bidding strategy will determine the action the agent will take at any stage of the bid generation and market-based scheduling process, considering the available history and market information. Bidding strategies are implemented using well-defined interfaces. The values of this attribute is the name of the preferred strategy implementation (class-name).
4.3
Economic Extensions for Market Data
MarketData comprises economic data from the market mechanism – submitted to related parties e.g. ContractManagement: •clearingPrice - The monetary value assigned to an artifact on market clearing i.e. match identification. In an auction-based scenario, the price is determined by the auction, based on the bids and offers of the respective consumers and providers interested in trading that artifact. •contractId - The unique identifier of the established contract; a contract is a collection of agreements. Each instance is a legal document in which two or more agreeing agents promise to do (or not do) something. There are legal consequences to breaking the promises made in a contract. •participants - The unique identifiers of the consumer and provider and the IDs of their bids. •penalty & endpointReference - see definitions in Section 4.1. 4.4
Matchmaking of bids
In the case of market-based scheduling of jobs, the matchmaking process of consumer bids to provider offers is executed by the market (auction) mechanism in two steps – utilizing technical and economic (price-based) matchmaking. In step one, the technical matchmaking assures that a provider offer is “technically compatible” to the consumer bid. In step two, the economic matchmaking is executed by the auction mechanism (e.g. Continuous Double Auction). The result of the matchmaking process is the generation of a market data document (Section 4.3) with well-defined attribute values (ranges). The process by which a consumer bid and a provider offer are compared is a precursory stage to the definition of a SLA (Section 5). This market-based matchmaking process occurs as follows: •Step 1 – Technical Matchmaking: As a consumer bid or provider offer arrives in the auction’s order book, the technical description (e.g. JSDL as part of the bid message) is passed to the SORMA technical matchmaking component, which identifies the resulting set of “technically compatible” offers and bids. A bid bi is compatible to an offer if there exists an intersection over the specified consumer and provider technical attributes: ∀abid , aof f er , abid ∈ Abid , aof f er ∈ Aof f er , abid ∩ aof f er 6= ∅. For example, if the technical attribute is CPU with certain frequency rating a =′ CP U Speed′ , the consumer technical preference is abid = {2GHz, 3GHz}, the provider offers resources with aof f er = {1GHz, 2GHz}, the intersection will be {2GHz} 6= ∅. •Step 2 – Economic Matchmaking: The economic matching is performed by the auction mechanism itself, using a price-based matchmaking of bids and offers. The result of the economic matching is the clearing price (Section 4.3). The calculated clearing price is based on the pricing scheme used by the market mechanism, e.g. k-pricing [17]. •Step 3 – Constructing the Service-Level-Agreement: The SLA document (Section 5), a result of the match, contains technical attributes with values taken from step 1 and economic data as defined in Section 4.3, taken from step 2.
The following Section describes the generation process of a SLA and the mapping of the economic extensions as a term language within WS-Agreement.
5
Generation of the SLA
In our system, a single SLA is generated, where the agreement scope covers both the consumer and the provider of a service in one document. The generation process inserts market data into WS-Agreement, using the economic attributes defined in previous sections. Fig. 2 illustrates the mapping of one or more market data documents to a SLA, which is encoded using WS-Agreement. There are four basic steps involved in this process, which are described below.
Fig. 2. The dissemination of one or more EJSDLMarket (see Section 6) matches in order to map the technical and economic data into a SLA specified with WS-Agreement.
First, a globally unique SLA ID is generated. Second, the SLA context, identifying roles (consumer/provider) and validity period of the SLA, is composed. Here, the consumer and provider identifiers and their associated bid/offer identifers are used to create the agreement initiator and responder respectively. If the bid offer contains reservation data, this is also used to construct the validity period of the SLA. Third, the SLA service description (what is being provided) is composed, and an identifier unique to the SLA is created for each service. The main body of the JSDL description, without the JSDL Resources definition, is extracted to create the service description. The endpoint reference of the provider’s submission portal is also added as a service reference for use by the consumer and SLAEnforcement to interact with the provider. The Guarantee Terms are then generated using the JSDL Resource definition as a Key Performance Indicator (KPI), and currently assigned an equal weight (denoted as importance) of 1. Each term relates to one resource element, to either quantify the quality of service offered, or define other requirements specified by the consumer. Approaches such as SWAPS [18] can provide a foundational basis to provide different weightings for Guarantee Terms. Disseminated market data is also added here as entries in the business values of the Guarantee Term. Namely,
paymentType, currency, penalty, and a portion of the clearingPrice. The service properties are then defined as a summary of the Guarantee Terms to summarise the metrics needed to enforce the SLA. There are some inconsistencies in the mapping of a market document to WSAgreement, due to differences in the conceptual models of the two specifications. The bidding framework considers only a single reward (payment) and penalty for all terms in the match. WS-Agreement, however, enables all Guarantee Terms to specify these stipulations at an individual level. This difference translates to repeated information in the SLA document. However, specifying the Guarantee Terms in this way enables a more intuitive representation of adherence during an enforcement stage. For instance, if only one resource attribute is violated this can be captured at the individual term level, rather than the global level, which is more representative of the violation.
6
Technical Analysis and Application
The proposed economic language terms (Section 4) are implemented as extensions to JSDL, – referred to as EJSDL.3 Here, JSDL forms a core part in each message protocol and is extended with message formats for PrivateData, BidData and MarketData, i.e. EJSDLPrivate, EJSDLBid and EJSDLMarket respectively. The example4 shows the application of EJSDL in respect to the messages in steps 1, 2 and 3 of Fig. 1 by a provider request. Moreover, the introduced economic extensions are linked using SAWSDL [16] and defined within a market ontology.5 The definitions of some of the concepts are linked to OpenCyc [19] in order to bind our proposed ontology concepts to existing ones, based on a well-defined and widely maintained upper-ontology. The specified message protocols have been used in the ViSAGE (Video Stream Analysis in a Grid Environment) application, a collection of motion detection and object recognition services, implemented in Java and deployable on common Java web servers. Fig. 3 shows the final step (application deployment and job execution) of the market-based allocation processes using SORMA. Here, the VISAGE client invokes the deployed VISAGE service (on the target provider machine) by submitting video stream data for analysis. As a result, the ViSAGE client receives images of detected motion, objects and related meta data. To do this, ViSAGE clients invoke the BidGenerator by submitting technical and economic preferences utilizing the provided message protocols. The technical preferences of the VISAGE application are specified as JSDL templates. The economic preferences such as a bidding strategy, valuation (results from Budgeting Strategy) as well as bid and clearing prices of the jobs (video data 3 4
5
www.rz.uni-karlsruhe.de/~ri116/sorma/marketProtocol/ejsdl.xsd www.rz.uni-karlsruhe.de/~ri116/sorma/marketProtocol/EJSDLXMLExamples. pdf www.rz.uni-karlsruhe.de/~ri116/sorma/marketProtocol/owl/marketProtocol. owl
Fig. 3. ViSAGE client invoking deployed ViSAGE service, which endpoint reference is a part of the returned WS-Agreement document as a result of the negotiation process
streams) are displayed on the VISAGE client as a result of the bidding and market allocation processes in SORMA. Upon receiving an allocation, in the form of a WS-Agreement document, the ViSAGE client can start with the invocation and streaming of the video data. Using the SORMA market, a consumer can utilize provider machines on-demand, and thus scale automatically by adjusting the quality of video streams.
7
Conclusions
We describe a general term language extending an existing specification such as JSDL, for expressing economic preferences of both consumers and providers (R1 ). The economic attributes are structured into message protocols that support a market-based allocation process by exchanging private, public and market data (R2 ). Furthermore, we described the generation process of a SLA and the mapping of technical and economic attributes into the WS-Agreement specification. Finally, we demonstrated the use of the defined message protocols in a real application context. We believe that further research has to be performed on the description of service level objectives and their related utility and penalty functions, thus these elements can be a powerful instrument for providing incentives to consumers to
use such a service, and for providers to offer high quality services by reducing consumer risks. This stems from the observation that consumers and providers will indirectly represent their utility and penalty functions through the specification and weighting of their technical and economic preferences in the bid.
References 1. Kar¨ anke, P., Kirn, S.: Service level agreements: An evaluation from a business application perspective. In: Proceedings of eChallenges. (2007) 2. Borissov, N., Wirstr¨ om, N.: Q-Strategy: A bidding strategy for market-based allocation of Grid services. In: OTM Conferences (1). (2008) 744–761 3. Stoesser, J., Neumann, D.: A model of preference elicitation for distributed marketbased resource allocation. 17th European Conference on Information Systems (ECIS-2009) (2009) 4. Nimis, J., et al.: D2.2a: Final specification and design documentation of the sorma components revised version. Technical report, http://www.im.uni-karlsruhe. de/sorma/fileadmin/SORMA_Deliverables/D2.2a_final.pdf (2009) 5. Chevaleyre, Y., Dunne, P., Endriss, U., Lang, J., Lemaˆıtre, M., Maudet, N., Padget, J., Phelps, S., Rodriguez-Aguilar, J., Sousa, P.: Issues in multiagent resource allocation. (2005) 6. Becker, M., Borissov, N., Deora, V., Rana, O., Neumann, D.: Using k-Pricing for Penalty Calculation in Grid Market. (2008) 97–97 7. Wilkes, J.: Utility functions, prices, and negotiation. Technical report, HP Laboratories (2008) 8. Anjomshoaa, et al.: Job Submission Description Language (JSDL) Specification, Version 1.0. (2005) 9. Laure, E., Fisher, S., Frohner, A., Grandi, C., Kunszt, P., Krenek, A., Mulmo, O., Pacini, F., Prelz, F., White, J., et al.: Programming the Grid with gLite. Computational Methods in Science and Technology 12(1) (2006) 33–45 10. Feller, M., Foster, I., Martin, S.: GT4 GRAM: A functionality and performance study. TeraGrid Conference (2007) 11. DMTF: Common Information Model (CIM) v2.19.1. Distributed Management Task Force (DMTF). (2008) 12. Paurobally, S., Tamma, V., Wooldridge, M.: A framework for web service negotiation. ACM Transactions on Autonomous and Adaptive Systems 2(4) (2007) 13. Paschke, A., Dietrich, J., Kuhla, K.: A logic based sla management framework. In: Semantic Web and Policy Workshop (SWPW) at ISWC 2005. (2005) 14. Andrieux, A., et al.: Web services agreement specification (WS-Agreement) (2007) 15. Tamma, V., Phelps, S., Dickinson, I., Wooldridge, M.: Ontologies for supporting negotiation in e-commerce. Engineering applications of artificial intelligence 18(2) (2005) 223–236 16. Kopecky, J., Vitvar, T., Bournez, C., Farrell, J.: Sawsdl: Semantic annotations for wsdl and xml schema. IEEE Internet Computing 11(6) (2007) 60–67 17. Satterthwaite, M., Williams, S.: Bilateral trade with the sealed bid k-double auction: Existence and efficiency. Journal of Economic Theory 48(1) (1989) 107–133 18. Oldham, N., Verma, K., Sheth, A., Hakimpour, F.: Semantic ws-agreement partner selection. In: 15th international conference on World Wide Web. (2006) 19. Mascardi, V., Cord`ı, V., Rosso, P.: A comparison of upper ontologies. Agenti e industria: Applicazioni tecnologiche degli agenti software, WOA07 (2007) 24–25