Top Banner
www.s-cube-network.eu © City University London Khaled Mahbub and George Spanoudakis City University London
21

S-CUBE LP: Proactive SLA Negotiation

Nov 19, 2014

Download

Business

virtual-campus

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

Khaled Mahbub and George Spanoudakis City University London

Page 2: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

SLA and SLA Negotiation

Service Level Agreement (SLA)

 A Service Level Agreement (SLA) is an explicit formal contract between the provider and the clients of a service determining guarantees on service quality properties and penalties in case of defaults

SLA Negotiation

 SLA negotiation is the process where service providers and clients reach an agreement on desired levels of service that satisfy each partner involved in the negotiation process.

 SLA negotiation typically involves the resolution of differences between the initial positions of the two parties regarding the desired levels of service provision

 Two types of negotiation •  Reactive: after decisions on binding with a service have been made and/or

once SLA violations has occurred •  Proactive: prior to service binding and/or SLA violation

Page 3: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

Proactive SLA Negotiation – Triggering Scenarios (SLA Violation Scenarios)

  Following forecasts for a higher level of client demand that can put agreed SLA terms at risk.

  Following forecasts that the constituent services of a system will fail or violate their own SLAs (this applies to both software and infrastructure services).

  If it becomes known that competitors provide or are going to provide better service offerings

Page 4: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

Handling of SLA Violations

  Traditional Approaches

–  application of penalties depending on the importance of the service level objectives [1,2]

–  runtime negotiation (re-negotiation) of SLA [3,4,5,6,7]: -  To accept a service from the existing provider with reduced service levels -  To terminate the existing SLA and negotiate new SLA with a new provider

  At runtime, these approaches have limitations as they

–  May affect the quality of the delivered service, or

–  fail to guarantee uninterrupted service

  Proactive SLA negotiation with alternative service providers is a means for addressing such limitations

  Proactive SLA negotiation needs to be driven and integrated with service discovery

Page 5: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

Two Phase Proactive SLA Negotiation

  Identification of potential service providers (aka SLA negotiators): service discovery, search in published SLA templates (i.e., service levels advertised by providers)

  Pre-agreement: Process of agreeing SLA terms without putting the SLA into force; it may establish a time frame within which the pre-agreement can be automatically brought into force without further negotiation

  Final agreement: Confirmation that an SLA comes into force

  The two phases are required for proactive SLA negotiation but may also be useful in reactive negotiation.

Page 6: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

Architecture for Proactive (& Reactive) SLA Negotiation

  The service discovery query may be specified in order to identify candidate replacement services that a composite service (S) uses currently.

  The runtime service discovery tool identifies potential alternative services.

  The negotiation broker manages the negotiation process on behalf of a service consumer/provider.

–  Jess rule engine is used as the negotiation engine

–  Negotiation rules are expressed in XML and translated into Jess rules by negotiation rule translator.

Page 7: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

Negotiation Rule (1)

Page 8: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

Negotiation Rule (2)

  if the consumer of a service has made an offer (or counter-offer) where the response time of the service must be less than 10 milliseconds (ms) and the price to be paid per service use is 0.5 pounds, the offered values will be accepted.

<tnsr:NegotiationRule name="rule1"> <tnsr:If> <tnsr:LogicalExpression> <slac:Condition relation="LESS-THAN"> <slac:Arg1><slac:QualityAttribute name="RESPONSE_TIME"party="CONSUMER"/></slac:Arg1> <slac:Arg2><slac:Constant type="NUMERICAL" unit=”ms”>10</slac:Constant></slac:Arg2> </slac:Condition> <slac:LogicalOperator>AND</slac:LogicalOperator> <slac:Condition relation="EQUAL-TO"> <slac:Arg1><slac:QualityAttribute name="PRICE"party="CONSUMER"unit=”GBP”/></slac:Arg1> <slac:Arg2><slac:Constant type="NUMERICAL">0.5</slac:Constant></slac:Arg2> </slac:Condition> </tnsr:LogicalExpression> </tnsr:If> <tnsr:Then> <tnsr:Action> <tnsr:Accept> <tnsr:QualityAttribute name="PRICE“ party="CONSUMER" /> <tnsr:QualityAttribute name="RESPONSE_TIME" party="CONSUMER"/> </tnsr:Accept> </tnsr:Action> </tnsr:Then> </tnsr:NegotiationRule>

Page 9: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

Negotiation Rule (3)

  A rule in Jess has the form (defrule rule-name(logical-operator (cond-1 …cond-n)) ⇒action)

  XML negotiation rules are transformed into Jess rule by applying a set of translation patterns:

Negotiation Rule Element Jess Representation <slac:Arg><slac:QualityAttribute name="A” party="P"/></slac:Arg>

A-P

<slac:Arg><slac:Constanttype="NUMERICAL">C </slac:Constant></slac:Arg>

C

<slac:Condition relation="REL"> <slac:Arg1>...</slac:Arg1> <slac:Arg2>...</slac:Arg2> </slac:Condition>

{Jess-Rep(Arg1) REL Jess-Rep(Arg2)}

<tnsr:Action><tnsr:Set> <tnsr:LogicalExpression> <slac:Condition relation="EQUAL-TO"> <slac:Arg1>...</slac:Arg1> <slac:Arg2>...</slac:Arg2> </slac:Condition></tnsr:LogicalExpression> </tnsr:Set></tnsr:Action>

(modify 0 (Jess-Rep(Arg1) (fact-slot-value 0 Jess-Rep(Arg2))))

Page 10: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

SLA Negotiation Process (1)

  potential candidate services (RS) are identified.

  Services in RS are ranked based on their distances to the query.

  RS is updated regularly.

  An SLA is negotiated and a pre-agreed SLA is established for each service in RS.

Page 11: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

SLA Negotiation Process (2)

  Time validity period is set for each pre-agreed SLA.

  pre-agreed SLA is proactively re-negotiated if the service is unused and the validity period is about to expire.

  A service in SBA is replaced by the best available service in RS if it is needed.

  If a service in RS is selected for dynamic binding, its pre-agreed SLA is automatically enforced.

Page 12: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

Proactive SLA Negotiation – Evaluation (1)

  Case study and evaluation set up:

–  A service based client application, called Route Planner, implemented by a BPEL service orchestration process.

–  Route Planner uses several services, including Global Positioning Service (GPS) and electronic map service (eMapS).

–  A service discovery query is specified in order to identify candidate replacement services for GPS of Route Planner. The discovery query expresses the structural discovery criteria as WSDL of GPS service.

–  An SLA template with four QoS terms (price, availability, response time and mean number of service request per hour) for negotiation is used.

Page 13: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

Proactive SLA Negotiation – Evaluation (2)

  Setup

–  A set of 15 service consumer negotiation rules (CNR set) is sued.

–  20 different sets of provider negotiation rules sets (PNR set) are used, where each set contains between 5 and 20 rules. During experiment, negotiation broker randomly selects one PNR to simulate the different behaviour that different service provider might have.

–  Three different service sets (registries), containing 100, 300 and 500 services, are used. Service sets are populated by geographic location related services taken from SEEKDA.

–  All experiments were carried out using a Pentium 2.33GHz with 3.23GB RAM machine.

Page 14: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

Proactive SLA Negotiation – Evaluation (3)

  Measurements of the time needed to

a)  Build the initial candidate service set (RS) by runtime service discovery (SD)

b)  Maintain the RS at runtime due to arrival of new service or change in the description of an existing service in the registry

c)  Select a new service for replacing a service in the service based system

Times required for (a), (b) and (c) were measured for executions of service discovery process

•  Without SLA negotiation (SD Only)

•  With proactive SLA Negotiation (SD with Proactive SLA)

•  With reactive SLA negotiation (SD with Reactive SLA)

Page 15: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

Proactive SLA Negotiation – Evaluation (4)

  Results (time measurements)

SD Only SD with Proactive SLA SD with Reactive SLA

100 300 500 100 300 500 100 300 500

Replacement Service Set (RS) Building (Time in Sec.)

160.62 408.05 686.697 157.399 435.985 715.685 159.804 408.03 688.23

Replacement Service Set (RS) Maintenance. avg(trsm-*) (Time in milli-sec)

690.5 698.3 673.5 837.2 881.2 892 637.4 668.5 677.6

Selection of Replacement Service from RS. avg(trep-*) (Time in milli-sec)

22 28 21.8 53.2 45.8 50.2 453 459.4 443.8

Page 16: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

Proactive SLA Negotiation – Evaluation (5)

  Results (time measurements)

–  service discovery with proactive SLA negotiation is slightly larger than the time required to identify a replacement without any SLA negotiation.

–  time required to select and bind a replacement service at runtime in the case of SD with reactive SLA negotiation is significantly larger than the service selection and binding time in the case of SD with proactive SLA negotiation

Page 17: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

Proactive SLA Negotiation – Evaluation (6)

  Results (effectiveness)

Service Registry

Agpro = avg(trep-sd-rea-sla) - avg(trep-sd-pro-sla)

RGpro=avg(trep-sd-rea-sla) / avg(trep-sd-pro-sla)

BEpro= (∑trsm-sd-pro-sla – ∑trsm-

sd-rea-sla)/(∑trep-sd-pro-sla – ∑trep-sd-

rea-sla)

100 187 8.51 0.999

300 230.4 10.03 1.028

500 192.8 8.84 1.089

Page 18: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

Proactive SLA Negotiation – Evaluation (7)

  Results (effectiveness) –  possibility of inefficient resource utilization. –  the efficiency of resource utilization with proactive SLA discovery/

negotiation over a period of time T can be defined as,

•  SRRR: the service replacement request rate; •  SRUS: service registry update rate; •  tmatch : average time required to match a query with a service •  tSLA-Neg : average time required to negotiate an SLA with a service •  tinit-RS : the time needed to build the initial copy of RS

–  to have efficient resource utilization, there must be that SRRR ≥ SRUR + Rinit/T i.e. SRRR ≥ SRUR

Page 19: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

Conclusion & Future Works

  Although preliminary, our experiments have shown that proactive SLA negotiation leads to significant reduction of the time required to perform service replacement at runtime.

  This approach has opened new possible lines for future investigation,

–  Support for proactive negotiation for hierarchical SLA.

–  Heuristics for tuning the triggering of proactive SLA negotiation process so as to reduce the number of cases where pre-agreed SLAs never get used

–  Support for dynamic adaptation of negotiation rules.

Page 20: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

S-Cube Publications

  Check the following S-Cube papers for a detail description of Proactive SLA Negotiation framework.

  Khaled Mahbub and George Spanoudakis, "A Framework for Proactive SLA Negotiation", 5th International Conference on Software and Data Technologies (ICSOFT 2010), 22 - 24 July, Athens, Greece.

  Khaled Mahbub and George Spanoudakis, "Proactive SLA Negotiation for Service Based Systems", Proceedings of the 2010 IEEE World Congress on Services (SERVICES 2010), 5-10 July 2010, Miami, Florida, USA.

  Khaled Mahbub and George Spanoudakis "Proactive SLA Negotiation for Service Based Systems: Initial Implementation and Evaluation Experience", 8th IEEE International Conference on Services Computing, July 4 - 9, 2011, Washington DC, USA.

Page 21: S-CUBE LP: Proactive SLA Negotiation

www.s-cube-network.eu © City University London

References

1.  Service Level Agreements”, the Proceedings of the Usage of Service Level Agreements in Grids Workshop, 2007

2.  Q. He, J. Yan, R. Kowalczyk, H. Jin, Y. Yang, "Lifetime Service Level Agreement Management with Autonomous Agents for Services Provision". Information Sciences, Elsevier, 2009

3.  “SLAM – Service Level Agreement Management”, Whitepaper, Whitestein Technology, August 2005.

4.  Dominic Greenwood, Giosue Vitaglione, Lukas Keller and Monique Calisti, “Service Level Agreement Management with Adaptive Coordination”, International Conference on Networking and Services (ICNS’06), July 19-21, 2006, Silicon valley, USA.

5.  Di Modica G.,Tomarhio O. and Lorenzo V., "A framework for the management of dynamic SLAs in composite service scenarios", Service-Oriented Computing - ICSOC 2007 Workshops: ICSOC 2007, International Workshops, Vienna, Austria, September 17, 2007

6.  Michael Parkin, Peer Hasselmeyer, Bastian Koller, Philipp Wieder: An SLA Re-negotiation Protocol. In proceedings of the 2nd Workshop on Non Functional Properties and Service Level Agreements in Service Oriented Computing at ECOWS 2008. Dublin, Ireland. 12 November 2008.

7.  Rizos Sakellariou and Viktor Yarmolenko, "On the Flexibility of WS-Agreement for Job Submission", Proceedings of the 3rd International Workshop on Middleware for Grid Computing MGC '05, vol. 117, 1-6 (Nov. 2005)