Jun 13, 2007 - On Automated Generation of Web. Service Level Agreement. Cinzia Cappiello, Marco Comuzzi, Pierluigi Plebani. Dipartimento di Elettronica ...
June, 13th, 2007
On Automated Generation of Web Service Level Agreement Cinzia Cappiello, Marco Comuzzi, Pierluigi Plebani Dipartimento di Elettronica ed Informazione Politecnico di Milano [cappiello, comuzzi, plebani]@elet.polimi.it
So far
2
• Web services adoption is increasing in several environments: Customer applications Business applications B2B applications …
• Most of the interest is focused on the functionalities What the Web service does
• We need more attention on quality of Web services How well the Web service works
On Automated Generation of Web SLA
Web Service Level Agreement (SLA)
3
• Before invoking a Web service service providers must be sure that it will get paid by their users service user must be sure that the invocation will go well
• They need a Service Level Agreements (SLA) we call Web SLA Defining the quality Defining the price
• Web SLA is a part of the contract which also includes Responsibilities Penalties …
• Web service could establish short-term partnerships, so the Web SLA definition should be done automatically should take as less time as possible
On Automated Generation of Web SLA
Goals of the work
4
• Quality of service model able to express Capabilities (provider perspective) Requirements (user perspective)
• Negotiation model able to automatically generate Web SLA where the quality Can be supported by the provider Satisfies the user requirements Maximizes both user and provider expectations
On Automated Generation of Web SLA
Web SLA Generation
5
User
Provider
defines
Requirements + budget
defines
Matching
Negotiation
Web SLA On Automated Generation of Web SLA
Capabilities
Web SLA Generation
6
User
Provider
defines
Requirements + budget
defines
Matching
Negotiation
Web SLA On Automated Generation of Web SLA
Capabilities
Quality dimension
7
• Quality dimension is the building block for defining both requirements and capabilities qdi= < availability, [0..1], sigmoid, {[0..0.3),[0.3..0.5), [0.5..0.6)[0.6..0.7)[0.7,1]} >
eavailability 1 0.8 0.6 0.4 0.2
0
On Automated Generation of Web SLA
0.3 0.5 0.6 0.7
1
Community
8
• Quality of Web service is defined by quality dimensions, but: Quality is subjective: relevant dimensions for providers should be not the same for the users Comparison requires an objective definition: we can compare capabilities and requirements expressed in the same way
• We need a model for expressing quality of Web service mediating between: subjectiveness of quality required for definition objectiveness of quality required for comparison
• We introduce the community as a sort of implicit (sometimes explicit) mediator
On Automated Generation of Web SLA
Quality model User classes
9
create
Community
select
defines read
User defines
Require_ ments
On Automated Generation of Web SLA
Quality dimensions
read
Provider defines
Capabilities
Running example
10
• Traffic Monitoring Web service • It provides up-to-date information about local traffic across US • Two kinds of quality dimensions: Technical: availability, response time, encryption Domain dependent: covered area, routes set, detail level
On Automated Generation of Web SLA
Traffic Monitoring quality dimensions
11
eavailability 1 0.8 0.6 0.4 0.2
0
0.3 0.5 0.6 0.7
1
edata_encryption
ecovered_area 1
1
0.66 0.33
AES-128 AES-192 AES-256
On Automated Generation of Web SLA
NE
NW
SE
SW
Expressing capabilities
12
qd
offering
price
Availability
[0.5..1.0]
30$+(availability*5$)
Data Encryption
[AES-128; AES-192;AES-256]
500$
Response time
[1..2]
3$*(5$/responsetime)
Covered area
[NE; NW]
5$-NE;3$-NW
Route set
[interstate;local]
5$-interstate;10$-local
Detail level
[detours]
10$
On Automated Generation of Web SLA
Expressing requirements qd
request
13
w
Availability
[0.5..1.0]
0.4
Data Encryption
[AES-192; AES-256]
0.025
Response time
[0.5,1]
0.3
Covered area
[SE; NE]
0.1
Route set
[highways;local]
0.15
Detail level
[jams;detours]
0.025
On Automated Generation of Web SLA
• Weights express the importance of a dimension for a user • Weights are usually defined by the community and are included in the user class definition • Weight assignment is driven by AHP
Web SLA Generation
14
User
Provider
defines
Requirements + budget
defines
Matching
Negotiation
Web SLA On Automated Generation of Web SLA
Capabilities
Matching requirements and capabilities
15
edata_encryption
eavailability
1
1 0.8
0.66
0.6 0.4
0.33
0.2
0
0.3 0.5 0.6 0.7
1
ISec=[0.5,1.0]
AES-128 AES-192 AES-256
ISec=[AES-192;AES-256]
• Considering, for each quality dimension, a primitive classes we can define several service levels availability(0.5,0.6), data_encryption(AES-192) availability(0.5,0.6), data_encryption(AES-256) … On Automated Generation of Web SLA
Web SLA Generation
16
User
Provider
defines
Requirements + budget
defines
Matching
Negotiation
Web SLA On Automated Generation of Web SLA
Capabilities
Negotiation model 1/2
17
• Negotiation process aims at identifying the maximum quality level admissible with respect to the user budget • Negotiation will occur at run-time and automatically • User perspective: Goal: obtaining the maximum quality with a fixed amount of money Role: figuring out which is the best service level
• Provider perspective: Goal: guaranteeing the quality level chosen by the user Role: expressing the offer configuration
On Automated Generation of Web SLA
Negotiation model 2/2
18
• Automatic negotiation is defined by three elements: • Negotiation protocol Offer configuration: the requestor asks the provider to improve the quality of the service
• Participants decision model. Two approaches: Vertical strategy Horizontal strategy
• Negotiation objects Negotiation can be done on quality dimensions where the evaluation function defines an order between values
On Automated Generation of Web SLA
Negotiation protocol
19
• Defining the Basic Service Level (SLbase) The service level obtaining selecting the primitive classes with lowest quality e.g., availability(0.5,0.6), data_encr(AES-192), …
• Calculating the price P(SLbase) = price(availability(0.5,0.6) + data_encr(AES-192))
• Adding the price for non-negotiable quality dimensions Pnn= price(covered_area)
• Verifies the sustainability calculating the Extra Budget EB = B - [ P(SLbase) + Pnn ]
• EB < 0 user cannot afford the Web service • EB = 0 SLbase is the Web SLA! • EB > 0 user can try to find something better On Automated Generation of Web SLA
Participants decision model
20
• In case of EB > 0 we need to try with a SL with higher quality • Vertical strategy: Improves the quality of the most important dimension as long as is possible with respect to the budget Once the maximum quality is reached and part of budget remains then we consider the second highest important dimension
• Horizontal strategy Slightly improves the quality of the most important dimension considering the next primitive class If part of budget remains than we slightly improve the second highest important dimension Objective: splitting EB proportionally to priorities On Automated Generation of Web SLA
Web SLA
21
• Continuously iterating the either vertical or horizontal strategy as long as EB > 0 we improve the SL • At the end, the SLA will be the SL which maximize the exploitation of EB, so: • Web SLA will be defined by Set of quality dimensions For each negotiable dimension the range of values which must be valid during the invocation obtained after the negotiation For each non-negotiable dimension the range of values which must be valid during the invocation obtained after the matching The total price
On Automated Generation of Web SLA
Related work
22
• QML, WSOL have inspired our framework for expressing quality of service • WS-Policy can be adopted as an XML language for expressing our documents (dimensions, capabilities, requirements) • WS-Agreement is quite close to our approach but the negotiation is not considered
On Automated Generation of Web SLA
Conclusions & future work
23
• We have proposed a framework for on-the-fly generation of SLA based on • In detail, we have introduced: Quality model Negotiation model
• We are going to extend The quality model considering dependencies among quality dimensions The negotiation model considering a multi-party negotiation
On Automated Generation of Web SLA