LinkedIn emplea cookies para mejorar la funcionalidad y el rendimiento de nuestro sitio web, así como para ofrecer publicidad relevante. Si continúas navegando por ese sitio web, aceptas el uso de cookies. Consulta nuestras Condiciones de uso y nuestra Política de privacidad para más información.
LinkedIn emplea cookies para mejorar la funcionalidad y el rendimiento de nuestro sitio web, así como para ofrecer publicidad relevante. Si continúas navegando por ese sitio web, aceptas el uso de cookies. Consulta nuestra Política de privacidad y nuestras Condiciones de uso para más información.
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Based Fragment Substitution
S-Cube Learning Package Service Level Agreements: Preventing SLA Violations in ServiceCompositions Using Aspect-Based Fragment Substitution TU Wien (TUW), University of Stuttgart (USTUTT) Branimir Wetzstein, USTUTT www.s-cube-network.eu
Learning Package Categorization S-Cube Adaptable Coordinated Service Compositions Adaptable and QoS-aware Service Compositions Preventing SLA Violations in Service Compositions Using Aspect-Based Fragment Substitution
Let’s Consider a Scenario (4) After an SLO violation is predicted for a process instance, the goal is to adapt the process instance in order to prevent the violation Different types of adaptation actions: Data Manipulation, Service Rebinding (in composition) Environmental (adapt hosting environment) Structural adaptation (change structure of composition) Idea: The provider can pre-model a set of alternative process fragments (process variants) with different QoS characteristics The best possible alternative(s) is then selected and executed at runtime based on SLO prediction
Approach: SLA Violation Prevention viaFragment Substitution1. Define Checkpoints in the service composition2. Use Machine Learning techniques to generate predictions for service level objectives (SLOs) at a check point3. Adapt service composition by substituting alternative fragments which likely can prevent the predicted SLO violation
Background:Related Approaches in S-Cube This S-Cube approach uses the techniques presented in the following S-Cube Learning Package Runtime Prediction of SLA Violations Based on Service Event Logs See also: Leitner, Wetzstein, Rosenberg, Michlmayr, Dustdar, and Leymann. Runtime Prediction of Service Level Agreement Violations for Composite Services. In Proceedings of the 2009 International conference on Service-Oriented Computing (ICSOC/ServiceWave09), Springer-Verlag, Berlin, Heidelberg, 176-186. Leitner, Michlmayr, Rosenberg, and Dustdar. Monitoring, Prediction and Prevention of SLA Violations in Composite Services. In Proceedings of the 2010 IEEE International Conference on Web Services (ICWS 10). IEEE Computer Society, Washington, DC, USA, 369-376.
Background:Runtime Prediction of SLA Violations Goal: predict the value of a process metric (which is the basis of an SLO) while the process instance is still running The prediction model is created using machine learning regression techniques (artificial neural networks) based on historical process instances Order Product Supplier In SLO … ID Type Delivery Stock Value Art. Neural Network 1 Bike TourX 28 h No … 96 h Machine Monitoring Learning Database 2 Bike RX - Yes … 48 h … … … … … At predefined checkpoints, both measured and estimated facts are used as input to the prediction model (which provides a predicted numerical value as output) Art. Neural Check Order Product Supplier In Predicted … Network point ID Type Delivery Stock SLO 7101 Book 28 h No … 72 h
Aspect-based Fragment Substitution (2) Aspect-Oriented Programming (AOP) terminology – Cross-cutting concerns are implemented using loosely-coupled program fragments (advices) – During weaving, advices are inserted directly into the program code of target applications at well-defined join points – Decision of whether to insert a given advice: pointcut At design time: – A set of fragments (= advices) is created which can be used as alternative implementations of parts of business logic in the target composition – Fragments are standalone (typically “incomplete”) compositions focusing on a certain part of business logic and are linked into the original composition via join points – A fragment definition also contains an impact model which defines how this fragment affects composition performance metrics At runtime: A predicted SLA violation at a check point triggers the adaptation A set of adaptation alternatives is identified based on impact models; the selected alternative is weaved into the target composition
Linking of Fragments and Weaving (1) Design Time: Linking of fragments into the target composition Defines the join points in the execution where control flow changes from the target composition to the fragment or vice versa Join Points: START, END, TRANSPARENT (virtual activities)
Linking of Fragments and Weaving (2) Runtime: Selection and Weaving of fragments into the target composition After SLO Prediction… selection of one or more fragments based on their impact models Dynamic weaving of new fragment logic into the running composition instance
Generic Fragments Generic Fragments: Fragments consisting only of virtual activities Instantiated via linking Used for recurring domain-independent adaptation actions such as removal, reordering, or parallelizing of activities
Selection of Fragments How do we determine which fragments will likely prevent the predicted violation? Main idea: impact models – Describe the impact that every fragment has on the metrics that are used to generate predictions of violations – Can be created using e.g., SLAs, data mining, QoS aggregation, … – repeat prediction as if adaptation has taken place Order Product Supplier In … Predicted ID Type Delivery Stock SLO 7101 Book 48 h No … 72 h Artificial Neural Network Impact Clauses Adaptation Impact Order Product Supplier In Order Product Supplier In … Predicted ID Order Type Product Delivery Supplier Stock In … Predicted ID Type Delivery Stock … SLO after Predicted ID Type Delivery Stock SLO after adaptation SLO after 7101 Book 32 h No … adaptation 7101 Book 32 h No … adaptation 7101 Book 32 h No … 56 h 56 h 56 h
Architectural Overview (2)1. Define SLAs (SLA DB) and a set of alternative fragments (Advice DB)2. Train a Prediction Model for each Checkpoint and use it at runtime for prediction at a check point (Violation Predictor)3. Select an optimal set of fragments based on their impact models and the SLO prediction (Advice Selector)4. Weave the selection into the composition instance and resume process execution (Advice Weaver)
Overall Performance Impact on ProcessExecution Time (1)
Overall Performance Impact on ProcessExecution Time (1) Online weaved compositions exhibit very little overhead as compared to statically defined compositions Overhead consists of time necessary to… – select the fragments – implement the actual weaving (largest impact) – to suspend and unsuspend the composition
Weaving Time (2) Weaving time is relatively constant in [45 : 80] ms, even for large fragments (more than 80 activities) This should be fast enough for most applications As expected… –Concrete activities are faster to weave than transparent activities –Offline weaving is faster than online weaving
Discussion - Advantages Runtime Fragment Substitution based on SLA Predictions has a number of clear advantages … – Coverage of many adaptation patterns – insertion, deleting, moving, replacement of fragments, parallelizing of activities, etc. – Flexibility – the set of available alternative fragments can be altered (i.e., new fragments can be created or existing ones removed) after the process has been deployed during process runtime – Efficiency – even though training of the machine learning models takes some time, generating predictions and the adaptation are very fast
Discussion - Disadvantages … but of course the approach also has some disadvantages. – Bootstrapping problem – the approach assumes that some recorded historical event logs are available for training of the prediction model – Necessary monitoring – in order to know later which fragments have been executed for a process instance – Necessary domain knowledge – in order to define checkpoints and the fragments and their impact models some domain knowledge is necessary
Summary Machine learning based techniques can be used to predict SLA Violations in service compositions at runtime Based on these predictions, runtime fragment substitution can be used for preventing the SLA violation Steps: 1. Define a checkpoint in the composition and train a machine learning model from historical event log 2. Whenever a composition instance passes the checkpoint, use the monitored data of the instance as input for the machine learning based prediction 3. Based on the available fragment alternatives, select and substitute one or more fragments which likely can prevent the predicted violation
Further S-Cube ReadingLeitner, Philipp; Wetzstein, Branimir; Karastoyanova, Dimka; Hummer, Waldemar; Dustdar, Schahram;Leymann, Frank: Preventing SLA Violations in Service Compositions Using Aspect-Based FragmentSubstitution. In: Proceedings of the 8th International Conference on Service Oriented Computing (ICSOC2010).Leitner, Michlmayr, Rosenberg, and Dustdar. Monitoring, Prediction and Prevention of SLA Violations inComposite Services. In Proceedings of the 2010 IEEE International Conference on Web Services (ICWS 10).IEEE Computer Society, Washington, DC, USA, 369-376.Leitner, Wetzstein, Rosenberg, Michlmayr, Dustdar, and Leymann. Runtime Prediction of Service LevelAgreement Violations for Composite Services. In Proceedings of the 2009 International conference onService-Oriented Computing (ICSOC/ServiceWave09), Springer-Verlag, Berlin, Heidelberg, 176-186.Wetzstein, Leitner, Rosenberg, Brandic, Dustdar, and Leymann. Monitoring and Analyzing Influential Factorsof Business Process Performance. In Proceedings of the 13th IEEE international conference on EnterpriseDistributed Object Computing (EDOC09). IEEE Press, Piscataway, NJ, USA, 118-127.