<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Ensuring Cost-Optimal SLA Conformance for Composite Service Providers</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Philipp Leitner</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Distributed Systems Group Vienna University of Technology Argentinierstrasse 8/184-1 A-1040</institution>
          ,
          <addr-line>Vienna</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>For providers of composite services, service level agreements (SLAs) provide a means to guarantee a certain service quality to prospective customers. Usually, violating SLAs is associated with costs. However, the means necessary to ensure SLA conformance also generate costs. Oftentimes, it is therefore optimal from a business perspective to violate certain SLAs sometimes, instead of trying for the high (and expensive) road of always satisfying each one. In this paper we will sketch a framework for the prediction of SLA violations and for determining whether an adaptation of the process makes sense economically. If this is the case adaptation actions are triggered, which adapt the composition on either on instance, structural or environmental level. The ultimate goal is to implement a closed-loop system, which self-optimizes the costs resulting from SLA violations.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Service-oriented architectures are at their core about the integration of systems.
This new paradigm is used by Software-as-a-Service providers, which deliver
basic IT functionality such as customer relations management or business
intelligence as composite services. One important notion for the seamless integration
of such outsourced IT services are agreements about the quality that these
services need to provide (QoS), typically de ned within legally binding Service
Level Agreements (SLAs). SLAs contain Service Level Objectives (SLOs),
concrete numerical QoS objectives which the service needs to ful ll. If SLOs are
violated, agreed upon consequences (usually taking the form of penalty
payments) go into e ect. However, ful lling SLAs can also lead to costs for the
service provider (e.g., because the composite service provider needs to use more
expensive services itself, or because of the costs inherent to optimizing its service
composition). It is therefore not trivial for the provider to decide to what extend
the service's SLAs should be ful lled, or which SLAs should (temporarily) be
violated for economical reasons. Even more, these decisions should optimally be
automated, to allow for fast reactions to changes in the business environment.</p>
      <p>
        In this overview paper we will present a high-level framework for
optimizing adaptations of service compositions with regards to SLA violations. We use
techniques from the area of machine learning [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] to construct models allowing
the system to predict SLA violations at runtime and decide which adaptation
actions may be used to improve overall performance. Adaptation can happen
on instance level (for one instance only), on structural level (for all future
instances), or on environmental level (e.g., migrating the composition engine to
a machine with better hardware). An optimizer component decides if applying
these changes makes sense economically (i.e., whether the costs of violating the
SLAs are bigger than the adaptation costs). If this is the case the respective
actions are applied in an automated way. At its core, this system is a
closedloop self-optimizing system [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], with the target of minimizing the total costs of
adaptations and SLA violations for the service provider.
      </p>
      <p>
        The work described in this paper is currently ongoing. However, some
important fundamental work has already been published. In [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] earlier work regarding
the monitoring of QoS of Web services is presented. Our work on VRESCo [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
forms the basis for the proposal presented here, providing core services such as
support for dynamic rebinding. Finally, in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] we have presented rst results
regarding the identi cation of factors in uence of business process performance,
which is related to the generation of prediction models. The remaining PhD
research will be led by two key research questions: (1) How can the factors that
in uence the performance of a composition be identi ed, modeled and analyzed,
in order to enable prediction of SLA violations at runtime, and trigger
adaptations to prevent these violations? (2) How can the tradeo between preventing
violations and the costs of doing so be best formalized, especially considering
that many adaptation actions may be interleaved and combined? Even though
rst steps exist (see Section 3), to the best of our knowledge, these questions
have not been answered su ciently in literature so far. We plan to validate the
outcomes of the thesis using a case study, by showcasing how self-optimization
can prevent SLA violations both short- and long-term, and comparing the total
costs for the service provider with and without the proposed system. We will
consider our work successful if using our system leads to signi cant nancial
bene ts for the provider, while at the same time reducing SLA violations (even
if not all violations are prevented).
      </p>
      <p>The remainder of the paper will be structured as follows. Section 2 contains
the main contribution of the paper, a description of a system for cost-optimal
adaptation of composite services. In Section 3 we give a brief overview over
relevant related work. Finally, Section 4 will conclude the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Approach Overview</title>
      <p>
        A high-level overview of our approach is depicted in Figure 1. The system
implements an optimization cycle in the Autonomic Computing [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] sense, i.e., it follows
the basic steps Monitor (monitoring the service composition, i.e., measuring QoS
values and process instance data), Analyze (generating prediction models), Plan
(evaluating based on the generated models, the available adaptation actions and
the current SLAs of the provider if there are possible optimizations for the
composition), and Execute (applying these optimizations). The managed element is
the Service Composition, while four other components (Composition Monitor,
Composition Analyzer, Cost-Based Optimizer and Adaptation Executor )
implement the autonomic manager.
      </p>
      <p>Service
Composition</p>
      <p>Adaptation
Actions</p>
      <p>Database
Adaptation
Executor</p>
      <p>4.</p>
      <p>Execute</p>
      <p>1.</p>
      <p>Monitor
Composition</p>
      <p>Monitor
SLA
Database</p>
      <p>Cost-Based
Optimizer
3.</p>
      <p>Plan</p>
      <p>2.</p>
      <p>Analyze
Composition</p>
      <p>Analyzer
Metrics
Database
3x + 4y - 2z
Our approach is based on the following assumptions: (1) service providers
have explicit SLA(s) with their customers, including concrete numerical target
values for SLOs and penalty payments for SLA violations; these payments can be
staged, i.e., more severe SLA violations can lead to more severe penalties, and (2)
there is a database of possible adaptations available, including the costs of these
adaptations; costs can be both one-time costs (such as a downtime) or continually
(such as increased costs for using more expensive services). The implementation
of this database of possible adaptation actions needs to be supported by strong
tools, which allow for the generation of the most important actions in a
semiautomated way. Costs of adaptation actions can be derived using simulation or
analysis of historical data. In the following, we are assuming an autonomous
system, however, in some situations the role of the optimizer or executor can
also be adopted by a human.</p>
      <p>
        Composition Monitor: The foundation of all work presented here is the ability
to gather accurate runtime data. This includes: (1) QoS metrics such as response
time or availability of the services used, (2) runtime payload data, such as
customer identi ers or ordered items, and (3) technical parameters of the execution
environment, such as the availability of the composition engine, or the CPU load
of the machine running the composition. The Composition Monitor component
is used to collect this monitoring data from various sources (e.g., an external
QoS monitor [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] or technologies such as Windows Performance Counters1),
consolidate it and store it to a metrics database.
      </p>
      <p>
        Composition Analyzer: The data collected by the Composition Monitor is then
used to generate prediction models for SLA violations. Prediction models are
used to estimate at runtime if a given running instance is going to violate one or
more of its SLAs. They are associated with checkpoints in the composition model,
at which the prediction is done. Simply put, a prediction model is a function
which uses all execution data which is already available at the checkpoint and, if
possible, estimations for all missing data, and produces a numerical estimation
for every target value in the provider's SLAs as output. In earlier work we have
used simple decision trees to implement such models [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], however for future work
we investigate the usage of multi-layer perceptrons instead to improve accuracy
of predictions.
      </p>
      <p>Cost-Based Optimizer: The Cost-Based Optimizer can be seen as the core of the
system. This component needs access to all SLAs, as well as a database of
possible adaptation actions. The optimizer has to ful ll two important tasks in the
system. Firstly, it uses the prediction models generated before to predict
concrete QoS values for every running instance and compares the predicted values
with the respective SLOs. If SLA violations would occur it checks the
Adaptation Actions database for any possible action to prevent the violation, and
applies them if it is cost-e cient to do so. This involves solving an optimization
problem to decide which combination of actions both prevents most SLA
violations and is cheapest to implement. Secondly, if more than a certain threshold
of SLA violations (in a given time frame) have been monitored, the component
tries to improve the composition itself, i.e., it tries to optimize the composition
for every future instance. The main di erence is that on composition level more
possible adaptation actions exist (mainly because adaptation on this level is less
time-critical, so that adaptations which involve e.g., a system downtime are also
feasible).</p>
      <p>Adaptation Executor: The Adaptation Executor is responsible for applying the
adaptation actions as planned by the Cost-Based Optimizer. Generally, we
consider the classes of adaptation actions (action classes) depicted in Figure 2.
As discussed before, adaptation can happen either on instance (level 1, i.e.,
adaptations which a ect only a single instance) or structural level (level 2, i.e.,
adaptations which a ect all future instances), and can consist of rebinding base
services (R*, i.e., switching from one used service to another), restructuring the
composition (S*, e.g., parallelizing some parts of the composition) or adapting
the execution environment (E, e.g., upgrading the virtual machine running
service composition). Generally, actions of type E always a ect all future instances,
and are therefore only applicable on level 2.
1 http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx
Instance</p>
      <p>Level
Composition</p>
      <p>Level</p>
      <p>R1
instance-level
rebinding</p>
      <p>S1
instance-level
structural change
comrpeobsRinit2idoinn-glevel csotrmucptousrSaitl2iocnh-alenvgeel enecvxiheroacEnnutgmioeennt</p>
      <p>
        Obviously, the concrete execution of adaptation actions depends greatly on
the action class. For applying adaptations of type R* we can use the means
provided by the execution environment (such as dynamic rebinding as discussed in
earlier work [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]). For S* more complex means are necessary, for instance
adaptation techniques such as AO4BPEL [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], or the more recent BPEL'n'Aspects [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
approach. Currently, changes of class E are mostly executed manually. However,
for some changes of this class automation has been made possible by the recent
rise of Cloud Computing. If, for instance, the execution environment is hosted
in the Amazon Elastic Compute Cloud2 it is possible to automatically adapt
(some) parameters of the hosting environment via the Amazon S2 API.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Related Work</title>
      <p>
        We will now brie y discuss some key related work. QoS monitoring of atomic
services is discussed in [
        <xref ref-type="bibr" rid="ref3 ref8">3, 8</xref>
        ]. Our Composition Monitor will partially be based
on these results. Monitoring of composition instance data has been discussed
in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. However, these works do not explicitly cover SLA monitoring, which is
the scope of [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. The authors use an event-based approach to monitor QoS,
which is in line with the ideas we have used in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. This work also pioneers the
idea of SLA impact analysis, which is related to the tasks that our Composition
Analyzer has to ful ll. Another basic building block of this component is the
work presented in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], which discusses the prediction of QoS (again using an
event-based model). Self-adaptation of compositions, another core topic in our
work, is discussed in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. The MASC system presented there adapts itself in
order to recover from failures and improve reliability, however, this system does
not try to predict problems and prevent them proactively. Optimizing service
compositions with regards to overall QoS is an often-discussed topic, with some
seminal work dating back to 2004 [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. In contrast to this approaches, in our
system optimization is done with regard to speci c SLOs, which are currently
violated, and taking into account the tradeo between the costs of SLA violations
and the costs of adaptation.
2 http://aws.amazon.com/ec2/
      </p>
    </sec>
    <sec id="sec-4">
      <title>Conclusions</title>
      <p>In this paper we have sketched the architecture of a closed-loop system, which
autonomously optimizes service compositions with regard to SLA violations,
taking into account the costs caused by the adaptation. Our next steps will be the
implementation of an rst end-to-end system, which includes prototypes for all
four main components of the system. Furthermore, we will de ne a preliminary
model for capturing the costs of adaptation actions.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Witten</surname>
            ,
            <given-names>I.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Frank</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <source>Data Mining: Practical Machine Learning Tools and Techniques</source>
          .
          <volume>2</volume>
          <fpage>edn</fpage>
          . Morgan Kaufmann (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Kephart</surname>
            ,
            <given-names>J.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chess</surname>
            ,
            <given-names>D.M.:</given-names>
          </string-name>
          <article-title>The Vision of Autonomic Computing</article-title>
          .
          <source>IEEE Computer 36(1)</source>
          (
          <year>2003</year>
          )
          <volume>41</volume>
          {
          <fpage>50</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Rosenberg</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Platzer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dustdar</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>Bootstrapping Performance and Dependability Attributes of Web Services</article-title>
          .
          <source>In: ICWS '06: Proceedings of the IEEE International Conference on Web Services</source>
          . (
          <year>2006</year>
          )
          <volume>205</volume>
          {
          <fpage>212</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Michlmayr</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosenberg</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leitner</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dustdar</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>End-to-End Support for QoS-Aware Service Selection, Invocation and Mediation in VRESCo</article-title>
          .
          <source>Technical report, TUV-1841-2009-03</source>
          , Vienna University of Technology (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Wetzstein</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leitner</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosenberg</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brandic</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dustdar</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Monitoring and Analyzing In uential Factors of Business Process Performance</article-title>
          .
          <source>In: EDOC'09: Proceedings of the 13th IEEE International Enterprise Distributed Object Computing Conference</source>
          . (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Char</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mezini</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>AO4BPEL: An Aspect-Oriented Extension to BPEL</article-title>
          .
          <source>World Wide Web</source>
          <volume>10</volume>
          (
          <issue>3</issue>
          ) (
          <year>2007</year>
          )
          <volume>309</volume>
          {
          <fpage>344</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Karastoyanova</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>BPEL'n'Aspects: Adapting Service Orchestration Logic</article-title>
          .
          <source>In: ICWS 2009: Proceedings of 7th International Conference on Web Services</source>
          . (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Moser</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosenberg</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dustdar</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Non-Intrusive Monitoring and Service Adaptation for WS-BPEL</article-title>
          .
          <source>In: Proceedings of the 17th International Conference on World Wide Web (WWW'08)</source>
          . (
          <year>2008</year>
          )
          <volume>815</volume>
          {
          <fpage>824</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Wetzstein</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Strauch</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Measuring Performance Metrics of WSBPEL Service Compositions</article-title>
          .
          <source>In: ICNS'09: Proceedings of the Fifth International Conference on Networking and Services</source>
          , IEEE Computer Society (April
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Bodensta</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wombacher</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reichert</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jaeger</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          :
          <article-title>Monitoring Dependencies for SLAs: The MoDe4SLA Approach</article-title>
          . In: SCC '08
          <source>: Proceedings of the 2008 IEEE International Conference on Services Computing</source>
          . (
          <year>2008</year>
          )
          <volume>21</volume>
          {
          <fpage>29</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Zeng</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lingenfelder</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lei</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chang</surname>
          </string-name>
          , H.:
          <article-title>Event-Driven Quality of Service Prediction</article-title>
          .
          <source>In: ICSOC '08: Proceedings of the 6th International Conference on Service-Oriented Computing</source>
          . (
          <year>2008</year>
          )
          <volume>147</volume>
          {
          <fpage>161</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Erradi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maheshwari</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tosic</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Policy-Driven Middleware for SelfAdaptation of Web Services Compositions</article-title>
          . In: Middleware'06: Proceedings of the ACM/IFIP/USENIX 2006 International Conference on Middleware. (
          <year>2006</year>
          )
          <volume>62</volume>
          {
          <fpage>80</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Zeng</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benatallah</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>H.H.</given-names>
            <surname>Ngu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Dumas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Kalagnanam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Chang</surname>
          </string-name>
          , H.:
          <article-title>QoS-Aware Middleware for Web Services Composition</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          <volume>30</volume>
          (
          <issue>5</issue>
          ) (
          <year>2004</year>
          )
          <volume>311</volume>
          {
          <fpage>327</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>