framework for service level brokering where service vendors and consumers can ... An SLC is a contract where the service vendor ensures the Service Level.
Automatic Quality-Aware Service Discovery and Matching S. Bleul, K. Geihs Distributed System Group, University of Kassel Wilhelmsh¨oher Allee 73 34121 Kassel, Germany {bleul, geihs}@vs.uni-kassel.de Abstract Quality of Service (QoS) management provides a solid ground for integrating services in business processes. For example, reliability, fault tolerance and security are important factors to achieve a secure and fail safe execution of services. Therefore, quality of service is an essential factor for service discovery. Existing matching algorithms provide the service consumer a choice of services with the requested QoS followed by negotiation with the service vendor about a service level contract. We introduce a semantic model and framework for service level brokering where service vendors and consumers can specify their interests in service levels. Service level requests are matched against offers to discover the appropriate service. Service integration is done automatically by notifying service vendor and consumer about the integration. A semantic approach supports the system with matchmaking to improve the success of service discovery. Keywords QoS, SLA, SOA, Business Processes, Service Integration, Service Level Management
1. Introduction Service Oriented Architecture (SOA) is the emerging standard for implementing business processes and workflows in enterprises. Services are loosely coupled logic components which can be added, removed, connected and updated at runtime. Services are treated as software components and they can easily be used and reused in the application design. Examples of services are video or voice application streaming, document searching and credit card checking. Failsafe execution and security of coupled components are dependent on the quality of service. Otherwise overloaded or failing services or missing security may compromise the reliability, secrecy and execution of enterprise processes. Therefore, service consumers try to safeguard themselves by Sevice Level Contracts (SLC). An SLC is a contract where the service vendor ensures the Service Level Agreement (SLA) between him and the service consumer. SLAs represent the agreed quality of service between both parties that the service consumer needs in order to ensure undisturbed functionality of his applications and to achieve his service policies, e.g. internal security. WSLA [4], WS-A [2] and WS-Policy [8] are examples of existing quality of service description languages. Our goal is to achieve automatic quality of
service brokering, to create an SLC in quality-aware service discovery, and to enable automatic policy enforcement at service integration. We introduce the specification of Service Levels (SL). The vendor’s SL specification is a union of alternative purchaseable quality of service offers and upgrades on quality of service on one specific service. The consumer’s SL specification is the QoS requirement for a requested service. It consists of more than one SL if the requested SL is variable. It includes consumer preferences as the service consumer can specify rewards and penalties for the service vendor on requested guarantees on specific quality dimensions. Our discovery algorithm determines which offered alternatives fullfill the consumers QoS requirements. Matches are ranked with respect to the obtained rewards, penalties and resulting contract costs. This results in automatic QoS negotiation and SLC creation where service vendors and consumers are only notified of the service integration and contract terms. The paper is structured as follows. In section 2 we illustrate quality of service and service levels with an example scenario. The specification of service levels is presented in section 3. Afterwards, in section 4, we introduce our matching algorithm. The algorithm uses semantic matchmaking to improve the matching success. This is presented in section 5. Our framework is illustrated in section 6. A discussion of related work is given in section 7 and a brief conclusion in section 8.
2. Quality of Service and Service Levels The specification of a Service Level (SL) allows vendors and consumers to specify their interests in Quality of Service (QoS). A Service Level is a formal model for advertising and requesting of QoS for a specific service. QoS negotiation between both parties is replaced by a matching algorithm on the specified Service Levels. Automatic service discovery is not limited on functional properties as it also considers non-functional properties like QoS. Thus, a service customer can ensure the fail safe execution of its service-based applications and workflows. Therefore, we need to specify Service Levels. We distinguish between two types of Service Levels, one is the service vendor’s advertised Service Level Packages (SLP) and the other is the service consumer’s Service Level Requirements (SLR). The service vendor specifies each alternative QoS he can offer as an SLP together with its price. The service consumer specifies his requirements as an SLR. Our matching algorithm is able to match SLPs against SLRs, the result is one or more ranked Service Level Objectives (SLO). SLOs are the QoS the service vendor can ensure and which comply with the service consumer requirements. This is crucial for enterprise workflows. For example a trading company is interested in integrating a service for credit card checking. Multiple service vendors or credit institutes offer services with this functionality. However each service has different capabilities and the service consumer has his demands. The trading company has more than 1000 transactions per minute. Therefore, the service needs to handle a high throughput to ensure the reliability of the companies processes.
Service Offer Alpha Banking
Service Request Delta Trading Company
Available Service Level Packages Package A Quality-Dimensions
Conditions:
Response Time Throughput
> 1000 Inv/Min
Package B
Obligations:
Conditions:
Service Level Requirements
Obligations:
< 200 ms
< 100 ms
> 2000 Inv/Min
> 1000 Inv/Min
Obligations:
Conditions:
> 1000 Inv/Min
> 500 Inv/Min Penalty: 20 € > 1000 Inv/Min > 2000 Inv/Min Reward: 10 €
Contract Time Price
1 Year
1 Year 20 €
1 Year
1 Year 20 €